冷凝胶前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

966 lines
31 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div class="mod-config">
  3. <el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
  4. <el-form :inline="true" label-position="top" style="margin-top: 0px">
  5. <el-form-item :label="'生产订单'">
  6. <el-input v-model="searchData.orderRef1" style="width: 120px"></el-input>
  7. </el-form-item>
  8. <el-form-item :label="'发料单日期'">
  9. <el-date-picker
  10. style="width: 120px"
  11. v-model="searchData.startDate"
  12. type="date"
  13. value-format="yyyy-MM-dd"
  14. placeholder="选择日期">
  15. </el-date-picker>
  16. </el-form-item>
  17. <el-form-item style="margin-top: 23px;">
  18. <label style="margin-left: 0px;font-size: 19px">&#10142</label>
  19. </el-form-item>
  20. <el-form-item :label="' '">
  21. <el-date-picker
  22. style="width: 120px"
  23. v-model="searchData.endDate"
  24. type="date"
  25. value-format="yyyy-MM-dd"
  26. placeholder="选择日期">
  27. </el-date-picker>
  28. </el-form-item>
  29. <el-form-item :label="' '">
  30. <el-button type="primary" @click="searchTable()">查询</el-button>
  31. <el-button type="primary" @click="addModal()">新增</el-button>
  32. <download-excel
  33. :fields="fields()"
  34. :data="exportData"
  35. type="xls"
  36. :name="exportName"
  37. :header="exportHeader"
  38. :footer="exportFooter"
  39. :fetch="createExportData"
  40. :before-generate="startDownload"
  41. :before-finish="finishDownload"
  42. worksheet="导出信息"
  43. class="el-button el-button--primary el-button--medium">
  44. {{ '导出' }}
  45. </download-excel>
  46. </el-form-item>
  47. </el-form>
  48. </el-form>
  49. <el-table
  50. :data="dataList"
  51. @row-click="changeData"
  52. :height="height"
  53. border
  54. highlight-current-row
  55. ref="mainTable"
  56. v-loading="dataListLoading"
  57. style="width: 100%; ">
  58. <el-table-column
  59. v-for="(item,index) in columnList1" :key="index"
  60. :sortable="item.columnSortable"
  61. :prop="item.columnProp"
  62. :header-align="item.headerAlign"
  63. :show-overflow-tooltip="item.showOverflowTooltip"
  64. :align="item.align"
  65. :fixed="item.fixed==''?false:item.fixed"
  66. :min-width="item.columnWidth"
  67. :label="item.columnLabel">
  68. <template slot-scope="scope">
  69. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  70. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  71. style="width: 100px; height: 80px"/></span>
  72. </template>
  73. </el-table-column>
  74. <el-table-column
  75. header-align="center"
  76. align="center"
  77. width="150"
  78. fixed="left"
  79. label="操作">
  80. <template slot-scope="scope">
  81. <a type="text" size="small" @click="updateModel(scope.row)">编辑</a>
  82. <a type="text" size="small" @click="deleteData(scope.row)">删除</a>
  83. <a type="text" size="small" @click="scanRoll(scope.row)">扫描</a>
  84. </template>
  85. </el-table-column>
  86. </el-table>
  87. <el-pagination
  88. @size-change="sizeChangeHandle"
  89. @current-change="currentChangeHandle"
  90. :current-page="pageIndex"
  91. :page-sizes="[20, 50, 100, 1000]"
  92. :page-size="pageSize"
  93. :total="totalPage"
  94. layout="total, sizes, prev, pager, next, jumper">
  95. </el-pagination>
  96. <el-tabs style="font-size: 12px;min-height: 200px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick">
  97. <el-tab-pane label="明细" name="detail">
  98. <el-table
  99. :data="dataList2"
  100. :height="height"
  101. border
  102. v-loading="dataListLoading"
  103. style="width: 100%; ">
  104. <el-table-column
  105. v-for="(item,index) in columnList2" :key="index"
  106. :sortable="item.columnSortable"
  107. :prop="item.columnProp"
  108. :header-align="item.headerAlign"
  109. :show-overflow-tooltip="item.showOverflowTooltip"
  110. :align="item.align"
  111. :fixed="item.fixed==''?false:item.fixed"
  112. :min-width="item.columnWidth"
  113. :label="item.columnLabel">
  114. <template slot-scope="scope">
  115. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  116. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  117. style="width: 100px; height: 80px"/></span>
  118. </template>
  119. </el-table-column>
  120. </el-table>
  121. </el-tab-pane>
  122. <el-tab-pane label="卷明细" name="sub">
  123. <el-table
  124. :data="dataList3"
  125. :height="height"
  126. border
  127. v-loading="dataListLoading"
  128. style="width: 100%; ">
  129. <el-table-column
  130. header-align="center"
  131. align="center"
  132. width="80"
  133. fixed="left"
  134. label="操作">
  135. <template slot-scope="scope">
  136. <a type="text" size="small" @click="printLabel(scope.row)">打印标签</a>
  137. </template>
  138. </el-table-column>
  139. <el-table-column
  140. v-for="(item,index) in columnList3" :key="index"
  141. :sortable="item.columnSortable"
  142. :prop="item.columnProp"
  143. :header-align="item.headerAlign"
  144. :show-overflow-tooltip="item.showOverflowTooltip"
  145. :align="item.align"
  146. :fixed="item.fixed==''?false:item.fixed"
  147. :min-width="item.columnWidth"
  148. :label="item.columnLabel">
  149. <template slot-scope="scope">
  150. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  151. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  152. style="width: 100px; height: 80px"/></span>
  153. </template>
  154. </el-table-column>
  155. </el-table>
  156. </el-tab-pane>
  157. </el-tabs>
  158. <el-dialog title="生产发料-新增" :close-on-click-modal="false" v-drag :visible.sync="modelFlag" width="480px" >
  159. <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
  160. <el-form-item label="仓库">
  161. <el-select v-model="modelData.warehouseID" style="width: 150px;">
  162. <el-option :value="i.wareHouseId" :label="i.wareHouseName" v-for="i in wareHouseList" :key="i.menuId"></el-option>
  163. </el-select>
  164. </el-form-item>
  165. <el-form-item label="发料日期">
  166. <el-date-picker
  167. style="width: 150px"
  168. v-model="modelData.transDate"
  169. type="date"
  170. value-format="yyyy-MM-dd"
  171. placeholder="选择日期">
  172. </el-date-picker>
  173. </el-form-item>
  174. <el-form-item label=" " >
  175. <el-checkbox v-model="jumpFlag">保存后直接扫描</el-checkbox>
  176. </el-form-item>
  177. </el-form>
  178. <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
  179. <el-form-item label="经手人">
  180. <el-input v-model="modelData.receiver" style="width: 150px"></el-input>
  181. </el-form-item>
  182. <el-form-item label="生产订单">
  183. <el-input v-model="modelData.orderRef1" style="width: 150px"></el-input>
  184. </el-form-item>
  185. </el-form>
  186. <!-- <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">-->
  187. <!-- <el-form-item >-->
  188. <!-- <span slot="label" style="" @click="getBaseList(23,1)" ><a herf="#">供应商编码</a></span>-->
  189. <!-- <el-input v-model="modelData.supplierId" style="width: 204px"></el-input>-->
  190. <!-- </el-form-item>-->
  191. <!-- <el-form-item label="供应商名称">-->
  192. <!-- <el-input v-model="modelData.supplierName" disabled style="width: 200px"></el-input>-->
  193. <!-- </el-form-item>-->
  194. <!-- </el-form>-->
  195. <el-footer style="height:40px;margin-top: 20px;text-align:center">
  196. <el-button type="primary" @click="saveHeaderData()">保存</el-button>
  197. <el-button type="primary" @click="modelFlag = false">关闭</el-button>
  198. </el-footer>
  199. </el-dialog>
  200. <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="searchTable" v-drag></add-or-update>
  201. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  202. </div>
  203. </template>
  204. <script>
  205. import {
  206. searchTransHeader
  207. ,searchTransDetail
  208. ,searchTransDetailSub
  209. ,getWareHouseList
  210. ,saveTransHeaderData
  211. ,deleteTransHeaderData
  212. } from "@/api/material/issureSo.js"
  213. import {
  214. printIssureSoLabel,
  215. } from "@/views/modules/label/print_issureSo_label.js"
  216. import {
  217. getLocationListForSearch
  218. } from "@/api/base/normalSearch.js"
  219. import addOrUpdate from './com_issureSo_add_or_update'
  220. import Chooselist from '@/views/modules/common/Chooselist'
  221. export default {
  222. components: {
  223. Chooselist
  224. ,addOrUpdate
  225. },
  226. data() {
  227. return {
  228. height:200,
  229. modelFlag:false,
  230. activeName: 'detail',
  231. dataList: [],
  232. dataList2: [],
  233. dataList3: [],
  234. addOrUpdateVisible:false,
  235. searchData: {
  236. page: 1,
  237. limit: 100,
  238. site:this.$store.state.user.site,
  239. username: this.$store.state.user.name,
  240. orderRef1: '',
  241. startDate: '',
  242. endDate: '',
  243. transTypeDb:'SI',
  244. },
  245. wareHouseList:[],
  246. jumpFlag:true,
  247. modelData:{
  248. transNo:'',
  249. site:this.$store.state.user.site,
  250. transDate:new Date(),
  251. warehouseID:'',
  252. receiver:'',
  253. orderRef1:'',
  254. supplierId:'',
  255. supplierName:'',
  256. enterBy:'',
  257. },
  258. exportList:[],
  259. pageIndex: 1,
  260. pageSize: 100,
  261. totalPage: 0,
  262. dataListLoading: false,
  263. currentRow:'',
  264. headerData:'',
  265. columnList1:[
  266. {
  267. userId: this.$store.state.user.name,
  268. functionId: 200002,
  269. serialNumber: '200002Table1TransNo',
  270. tableId: "200002Table1",
  271. tableName: "生产发料主表",
  272. columnProp: "transNo",
  273. headerAlign: "center",
  274. align: "left",
  275. columnLabel: "发料单号",
  276. columnHidden: false,
  277. columnImage: false,
  278. columnSortable: false,
  279. sortLv: 0,
  280. status: true,
  281. fixed: '',
  282. columnWidth: 100
  283. },{
  284. userId: this.$store.state.user.name,
  285. functionId: 200002,
  286. serialNumber: '200002Table1TransType',
  287. tableId: "200002Table1",
  288. tableName: "生产发料主表",
  289. columnProp: "transType",
  290. headerAlign: "center",
  291. align: "left",
  292. columnLabel: "发料类型",
  293. columnHidden: false,
  294. columnImage: false,
  295. columnSortable: false,
  296. sortLv: 0,
  297. status: true,
  298. fixed: '',
  299. columnWidth: 80
  300. },{
  301. userId: this.$store.state.user.name,
  302. functionId: 200002,
  303. serialNumber: '200002Table1TransDate',
  304. tableId: "200002Table1",
  305. tableName: "生产发料主表",
  306. columnProp: "transDate",
  307. headerAlign: "center",
  308. align: "center",
  309. columnLabel: "发料日期",
  310. columnHidden: false,
  311. columnImage: false,
  312. columnSortable: false,
  313. sortLv: 0,
  314. status: true,
  315. fixed: '',
  316. columnWidth: 120
  317. },{
  318. userId: this.$store.state.user.name,
  319. functionId: 200002,
  320. serialNumber: '200002Table1WareHouseID',
  321. tableId: "200002Table1",
  322. tableName: "生产发料主表",
  323. columnProp: "warehouseID",
  324. headerAlign: "center",
  325. align: "left",
  326. columnLabel: "仓库编码",
  327. columnHidden: false,
  328. columnImage: false,
  329. columnSortable: false,
  330. sortLv: 0,
  331. status: true,
  332. fixed: '',
  333. columnWidth: 100
  334. },{
  335. userId: this.$store.state.user.name,
  336. functionId: 200002,
  337. serialNumber: '200002Table1OrderRef1',
  338. tableId: "200002Table1",
  339. tableName: "生产发料主表",
  340. columnProp: "orderRef1",
  341. headerAlign: "center",
  342. align: "left",
  343. columnLabel: "生产订单",
  344. columnHidden: false,
  345. columnImage: false,
  346. columnSortable: false,
  347. sortLv: 0,
  348. status: true,
  349. fixed: '',
  350. columnWidth: 120
  351. },{
  352. userId: this.$store.state.user.name,
  353. functionId: 200002,
  354. serialNumber: '200002Table1ReceiverName',
  355. tableId: "200002Table1",
  356. tableName: "生产发料主表",
  357. columnProp: "receiverName",
  358. headerAlign: "center",
  359. align: "left",
  360. columnLabel: "经手人",
  361. columnHidden: false,
  362. columnImage: false,
  363. columnSortable: false,
  364. sortLv: 0,
  365. status: true,
  366. fixed: '',
  367. columnWidth: 100
  368. },{
  369. userId: this.$store.state.user.name,
  370. functionId: 200002,
  371. serialNumber: '200002Table1EnterDate',
  372. tableId: "200002Table1",
  373. tableName: "生产发料主表",
  374. columnProp: "enterDate",
  375. headerAlign: "center",
  376. align: "left",
  377. columnLabel: "录入时间",
  378. columnHidden: false,
  379. columnImage: false,
  380. columnSortable: false,
  381. sortLv: 0,
  382. status: true,
  383. fixed: '',
  384. columnWidth: 120
  385. },{
  386. userId: this.$store.state.user.name,
  387. functionId: 200002,
  388. serialNumber: '200002Table1EnterName',
  389. tableId: "200002Table1",
  390. tableName: "生产发料主表",
  391. columnProp: "enterName",
  392. headerAlign: "center",
  393. align: "left",
  394. columnLabel: "录入人",
  395. columnHidden: false,
  396. columnImage: false,
  397. columnSortable: false,
  398. sortLv: 0,
  399. status: true,
  400. fixed: '',
  401. columnWidth: 100
  402. },
  403. ],
  404. columnList2:[
  405. {
  406. userId: this.$store.state.user.name,
  407. functionId: 200002,
  408. serialNumber: '200002Table2PartNo',
  409. tableId: "200002Table2",
  410. tableName: "生产发料明细",
  411. columnProp: "partNo",
  412. headerAlign: "center",
  413. align: "left",
  414. columnLabel: "料号",
  415. columnHidden: false,
  416. columnImage: false,
  417. columnSortable: false,
  418. sortLv: 0,
  419. status: true,
  420. fixed: '',
  421. columnWidth: 80
  422. },{
  423. userId: this.$store.state.user.name,
  424. functionId: 200002,
  425. serialNumber: '200002Table2PartDesc',
  426. tableId: "200002Table2",
  427. tableName: "生产发料明细",
  428. columnProp: "partDesc",
  429. headerAlign: "center",
  430. align: "left",
  431. columnLabel: "料号描述",
  432. columnHidden: false,
  433. columnImage: false,
  434. columnSortable: false,
  435. sortLv: 0,
  436. status: true,
  437. fixed: '',
  438. columnWidth: 150
  439. },{
  440. userId: this.$store.state.user.name,
  441. functionId: 200002,
  442. serialNumber: '200002Table2TransQty',
  443. tableId: "200002Table2",
  444. tableName: "生产发料明细",
  445. columnProp: "transQty",
  446. headerAlign: "center",
  447. align: "right",
  448. columnLabel: "发料数量",
  449. columnHidden: false,
  450. columnImage: false,
  451. columnSortable: false,
  452. sortLv: 0,
  453. status: true,
  454. fixed: '',
  455. columnWidth: 80
  456. },{
  457. userId: this.$store.state.user.name,
  458. functionId: 200002,
  459. serialNumber: '200002Table2BatchNo',
  460. tableId: "200002Table2",
  461. tableName: "生产发料明细",
  462. columnProp: "batchNo",
  463. headerAlign: "center",
  464. align: "left",
  465. columnLabel: "批号",
  466. columnHidden: false,
  467. columnImage: false,
  468. columnSortable: false,
  469. sortLv: 0,
  470. status: true,
  471. fixed: '',
  472. columnWidth: 120
  473. },{
  474. userId: this.$store.state.user.name,
  475. functionId: 200002,
  476. serialNumber: '200002Table2LocationID',
  477. tableId: "200002Table2",
  478. tableName: "生产发料明细",
  479. columnProp: "locationID",
  480. headerAlign: "center",
  481. align: "left",
  482. columnLabel: "库位",
  483. columnHidden: false,
  484. columnImage: false,
  485. columnSortable: false,
  486. sortLv: 0,
  487. status: true,
  488. fixed: '',
  489. columnWidth: 80
  490. // },{
  491. // userId: this.$store.state.user.name,
  492. // functionId: 200002,
  493. // serialNumber: '200002Table2WdrNo',
  494. // tableId: "200002Table2",
  495. // tableName: "生产发料明细",
  496. // columnProp: "wdrNo",
  497. // headerAlign: "center",
  498. // align: "left",
  499. // columnLabel: "W/D/R",
  500. // columnHidden: false,
  501. // columnImage: false,
  502. // columnSortable: false,
  503. // sortLv: 0,
  504. // status: true,
  505. // fixed: '',
  506. // columnWidth: 100
  507. },{
  508. userId: this.$store.state.user.name,
  509. functionId: 200002,
  510. serialNumber: '200002Table2ManufactureDate',
  511. tableId: "200002Table2",
  512. tableName: "生产发料明细",
  513. columnProp: "manufactureDate",
  514. headerAlign: "center",
  515. align: "center",
  516. columnLabel: "生产日期",
  517. columnHidden: false,
  518. columnImage: false,
  519. columnSortable: false,
  520. sortLv: 0,
  521. status: true,
  522. fixed: '',
  523. columnWidth: 100
  524. },{
  525. userId: this.$store.state.user.name,
  526. functionId: 200002,
  527. serialNumber: '200002Table2ExpiredDate',
  528. tableId: "200002Table2",
  529. tableName: "生产发料明细",
  530. columnProp: "expiredDate",
  531. headerAlign: "center",
  532. align: "center",
  533. columnLabel: "失效日期",
  534. columnHidden: false,
  535. columnImage: false,
  536. columnSortable: false,
  537. sortLv: 0,
  538. status: true,
  539. fixed: '',
  540. columnWidth: 100
  541. },{
  542. userId: this.$store.state.user.name,
  543. functionId: 200002,
  544. serialNumber: '200002Table2EnterDate',
  545. tableId: "200002Table2",
  546. tableName: "生产发料明细",
  547. columnProp: "enterDate",
  548. headerAlign: "center",
  549. align: "center",
  550. columnLabel: "录入日期",
  551. columnHidden: false,
  552. columnImage: false,
  553. columnSortable: false,
  554. sortLv: 0,
  555. status: true,
  556. fixed: '',
  557. columnWidth: 100
  558. },{
  559. userId: this.$store.state.user.name,
  560. functionId: 200002,
  561. serialNumber: '200002Table2EnterName',
  562. tableId: "200002Table2",
  563. tableName: "生产发料明细",
  564. columnProp: "enterName",
  565. headerAlign: "center",
  566. align: "left",
  567. columnLabel: "录入人",
  568. columnHidden: false,
  569. columnImage: false,
  570. columnSortable: false,
  571. sortLv: 0,
  572. status: true,
  573. fixed: '',
  574. columnWidth: 70
  575. },
  576. ],
  577. columnList3:[
  578. {
  579. userId: this.$store.state.user.name,
  580. functionId: 200002,
  581. serialNumber: '200002Table3RollNo',
  582. tableId: "200002Table3",
  583. tableName: "生产发料卷明细",
  584. columnProp: "rollNo",
  585. headerAlign: "center",
  586. align: "left",
  587. columnLabel: "卷号",
  588. columnHidden: false,
  589. columnImage: false,
  590. columnSortable: false,
  591. sortLv: 0,
  592. status: true,
  593. fixed: '',
  594. columnWidth: 120
  595. },{
  596. userId: this.$store.state.user.name,
  597. functionId: 200002,
  598. serialNumber: '200002Table3RollQty',
  599. tableId: "200002Table3",
  600. tableName: "生产发料卷明细",
  601. columnProp: "rollQty",
  602. headerAlign: "center",
  603. align: "right",
  604. columnLabel: "数量",
  605. columnHidden: false,
  606. columnImage: false,
  607. columnSortable: false,
  608. sortLv: 0,
  609. status: true,
  610. fixed: '',
  611. columnWidth: 80
  612. },{
  613. userId: this.$store.state.user.name,
  614. functionId: 200002,
  615. serialNumber: '200002Table3ManufactureDate',
  616. tableId: "200002Table3",
  617. tableName: "生产发料卷明细",
  618. columnProp: "manufactureDate",
  619. headerAlign: "center",
  620. align: "center",
  621. columnLabel: "生产日期",
  622. columnHidden: false,
  623. columnImage: false,
  624. columnSortable: false,
  625. sortLv: 0,
  626. status: true,
  627. fixed: '',
  628. columnWidth: 100
  629. },{
  630. userId: this.$store.state.user.name,
  631. functionId: 200002,
  632. serialNumber: '200002Table3ExpiredDate',
  633. tableId: "200002Table3",
  634. tableName: "生产发料卷明细",
  635. columnProp: "expiredDate",
  636. headerAlign: "center",
  637. align: "center",
  638. columnLabel: "失效日期",
  639. columnHidden: false,
  640. columnImage: false,
  641. columnSortable: false,
  642. sortLv: 0,
  643. status: true,
  644. fixed: '',
  645. columnWidth: 100
  646. },{
  647. userId: this.$store.state.user.name,
  648. functionId: 200002,
  649. serialNumber: '200002Table3EnterName',
  650. tableId: "200002Table3",
  651. tableName: "生产发料卷明细",
  652. columnProp: "enterName",
  653. headerAlign: "center",
  654. align: "left",
  655. columnLabel: "录入人",
  656. columnHidden: false,
  657. columnImage: false,
  658. columnSortable: false,
  659. sortLv: 0,
  660. status: true,
  661. fixed: '',
  662. columnWidth: 80
  663. },{
  664. userId: this.$store.state.user.name,
  665. functionId: 200002,
  666. serialNumber: '200002Table3EnterDate',
  667. tableId: "200002Table3",
  668. tableName: "生产发料卷明细",
  669. columnProp: "enterDate",
  670. headerAlign: "center",
  671. align: "center",
  672. columnLabel: "录入时间",
  673. columnHidden: false,
  674. columnImage: false,
  675. columnSortable: false,
  676. sortLv: 0,
  677. status: true,
  678. fixed: '',
  679. columnWidth: 100
  680. },
  681. ],
  682. dataRole: {
  683. partTypeDesc: [
  684. {
  685. required: true,
  686. message: ' ',
  687. trigger: 'change'
  688. }
  689. ],
  690. partName: [
  691. {
  692. required: true,
  693. message: ' ',
  694. trigger: 'change'
  695. }
  696. ],
  697. },
  698. // 导出 start
  699. exportData: [],
  700. exportName: '生产发料主表'+this.dayjs().format('YYYYMMDDHHmmss'),
  701. exportHeader: ["生产发料主表"],
  702. exportFooter: [],
  703. // 导出 end
  704. }
  705. },
  706. mounted () {
  707. this.$nextTick(() => {
  708. this.height = (window.innerHeight- 260) / 2
  709. })
  710. },
  711. methods: {
  712. // 获取基础数据列表S
  713. getBaseList (val, type) {
  714. this.tagNo = val
  715. this.tagNo1 = type
  716. this.$nextTick(() => {
  717. let strVal = ''
  718. if (val === 1013) {
  719. if(type==23) {
  720. strVal = this.modelData.supplierId
  721. }
  722. }
  723. this.$refs.baseList.init(val, strVal)
  724. })
  725. },
  726. /* 列表方法的回调 */
  727. getBaseData (val) {
  728. if (this.tagNo === 23) {
  729. if(this.tagNo1==1) {
  730. this.modelData.supplierId = val.SupplierID
  731. this.modelData.supplierName = val.SupplierName
  732. }
  733. }
  734. },
  735. // 每页数
  736. sizeChangeHandle (val) {
  737. this.pageSize = val
  738. this.pageIndex = 1
  739. this.searchTable()
  740. },
  741. // 当前页
  742. currentChangeHandle (val) {
  743. this.pageIndex = val
  744. this.searchTable()
  745. },
  746. tabClick (tab, event) {
  747. // 刷新列表数据
  748. this.refreshCurrentTabTable()
  749. },
  750. changeData(row){
  751. this.currentRow = JSON.parse(JSON.stringify(row));
  752. this.headerData=row;
  753. this.refreshCurrentTabTable ();
  754. },
  755. refreshCurrentTabTable(){
  756. if(this.currentRow===''||this.currentRow===null){
  757. this.currentRow={site:'',transNo:''}
  758. }
  759. if(this.activeName==='detail'){
  760. searchTransDetail(this.currentRow).then(({data}) => {
  761. //区分请求成功和失败的状况
  762. if (data && data.code == 0) {
  763. this.dataList2 = data.rows
  764. } else {
  765. this.dataList2 = [];
  766. }
  767. });
  768. }else {
  769. searchTransDetailSub(this.currentRow).then(({data}) => {
  770. //区分请求成功和失败的状况
  771. if (data && data.code == 0) {
  772. this.dataList3 = data.rows
  773. } else {
  774. this.dataList3 = [];
  775. }
  776. });
  777. }
  778. },
  779. searchTable(){
  780. this.searchData.limit = this.pageSize
  781. this.searchData.page = this.pageIndex
  782. searchTransHeader(this.searchData).then(({data}) => {
  783. //区分请求成功和失败的状况
  784. if (data && data.code == 0) {
  785. this.dataList = data.page.list
  786. this.pageIndex = data.page.currPage
  787. this.pageSize = data.page.pageSize
  788. this.totalPage = data.page.totalCount
  789. if(this.dataList.length>0){
  790. this.$refs.mainTable.setCurrentRow(this.dataList[0]);
  791. this.changeData(this.dataList[0])
  792. }else {
  793. this.changeData(null)
  794. }
  795. } else {
  796. this.dataList = [];
  797. }
  798. });
  799. },
  800. addModal(){
  801. this.getWareHouseList();
  802. setTimeout(() => {
  803. this.modelData={
  804. transNo:"0",
  805. site:this.$store.state.user.site,
  806. transDate:new Date(),
  807. warehouseID:this.wareHouseList.length>0?this.wareHouseList[0].wareHouseId:'',
  808. receiver:this.$store.state.user.name,
  809. orderRef1:'',
  810. supplierId:'',
  811. supplierName:'',
  812. enterBy:this.$store.state.user.name,
  813. };
  814. this.modelFlag=true;
  815. },200)
  816. },
  817. updateModel(row){
  818. this.getWareHouseList();
  819. this.modelData={
  820. transNo:row.transNo,
  821. site:row.site,
  822. transDate:row.transDate,
  823. warehouseID:row.warehouseID,
  824. receiver:row.receiver,
  825. orderRef1:row.orderRef1,
  826. supplierId:row.partnerID,
  827. supplierName:row.partnerName,
  828. enterBy:row.userName,
  829. }
  830. this.modelFlag=true;
  831. },
  832. deleteData(row){
  833. this.$confirm('确定要删除这条数据?', '提示', {
  834. confirmButtonText: '确定',
  835. cancelButtonText: '取消',
  836. type: 'warning'
  837. }).then(() => {
  838. deleteTransHeaderData(row).then(({data}) => {
  839. if (data && data.code === 0) {
  840. this.$message.success( '操作成功')
  841. this.searchTable();
  842. } else {
  843. this.$message.error(data.msg)
  844. }
  845. })
  846. }).catch(() => {
  847. })
  848. },
  849. saveHeaderData(){
  850. if(this.modelData.warehouseID===''){
  851. this.$alert('请选择仓库!', '错误', {
  852. confirmButtonText: '确定'
  853. })
  854. return false
  855. }
  856. if(this.modelData.receiver===''){
  857. this.$alert('请选择经手人!', '错误', {
  858. confirmButtonText: '确定'
  859. })
  860. return false
  861. }
  862. if(this.modelData.transDate===''){
  863. this.$alert('请选择发料日期!', '错误', {
  864. confirmButtonText: '确定'
  865. })
  866. return false
  867. }
  868. saveTransHeaderData(this.modelData).then(({data}) => {
  869. if (data && data.code === 0) {
  870. var transNo=data.transNo
  871. this.$message.success( '操作成功')
  872. this.modelFlag = false
  873. this.searchTable()
  874. if(this.jumpFlag){
  875. this.$nextTick(function () {
  876. setTimeout(() => {
  877. let data={
  878. site:this.$store.state.user.site,
  879. transNo:transNo,
  880. }
  881. this.addOrUpdateVisible = true
  882. this.$nextTick(() => {
  883. this.$refs.addOrUpdate.init(data)
  884. })
  885. },500)
  886. })
  887. }
  888. } else {
  889. this.$message.error(data.msg)
  890. }
  891. })
  892. },
  893. getWareHouseList(){
  894. getWareHouseList({site:this.$store.state.user.site}).then(({data}) => {
  895. if (data && data.code === 0) {
  896. this.wareHouseList=data.rows
  897. }
  898. })
  899. },
  900. scanRoll(row){
  901. let data={
  902. site:row.site,
  903. transNo:row.transNo,
  904. }
  905. this.addOrUpdateVisible = true
  906. this.$nextTick(() => {
  907. this.$refs.addOrUpdate.init(data)
  908. })
  909. },
  910. printLabel(row){
  911. let rows=[];
  912. rows.push(row)
  913. printIssureSoLabel(rows);
  914. },
  915. //导出excel
  916. //导出excel
  917. async createExportData() {
  918. this.searchData.limit = -1
  919. this.searchData.page = 1
  920. await searchTransHeader(this.searchData).then(({data}) => {
  921. this.exportList= data.page.list;
  922. })
  923. return this.exportList;
  924. },
  925. startDownload() {
  926. // this.exportData = this.dataList
  927. },
  928. finishDownload() {
  929. },
  930. fields() {
  931. let json = "{"
  932. this.columnList1.forEach((item, index) => {
  933. if (index == this.columnList1.length - 1) {
  934. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
  935. } else {
  936. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
  937. }
  938. })
  939. json += "}"
  940. let s = eval("(" + json + ")")
  941. return s
  942. },
  943. },
  944. }
  945. </script>
  946. <style scoped>
  947. </style>