item-list.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873
  1. <template>
  2. <div class="itemList">
  3. <!-- 数据表格 -->
  4. <item-search
  5. @search="reload"
  6. ref="refSeavch"
  7. @handledime="handledime"
  8. ></item-search>
  9. <ele-pro-table
  10. ref="table"
  11. :initLoad="false"
  12. :columns="columns"
  13. :datasource="datasource"
  14. height="calc(100vh - 355px)"
  15. full-height="calc(100vh - 116px)"
  16. tool-class="ele-toolbar-form"
  17. cache-key="systemOrgUserTable"
  18. >
  19. <!-- 表头工具栏 -->
  20. <template v-slot:toolbar> </template>
  21. <!-- 批次号 -->
  22. <template v-slot:batchNo="{ row }">
  23. <el-popover placement="right-start" width="800" trigger="hover">
  24. <el-table :data="row.outInBatchDetailsVOList">
  25. <el-table-column
  26. width="150"
  27. property="bizNo"
  28. label="入库单号"
  29. ></el-table-column>
  30. <el-table-column
  31. width="100"
  32. property="bizType"
  33. label="入库场景"
  34. ></el-table-column>
  35. <el-table-column
  36. width="120"
  37. property="count"
  38. label="入库数量"
  39. ></el-table-column>
  40. <el-table-column
  41. width="80"
  42. property="measuringUnit"
  43. label="计量单位"
  44. ></el-table-column>
  45. <el-table-column
  46. width="100"
  47. property="packageCount"
  48. label="包装数量"
  49. ></el-table-column>
  50. <el-table-column
  51. width="80"
  52. property="packingUnit"
  53. label="包装单位"
  54. ></el-table-column>
  55. <el-table-column
  56. width="330"
  57. property="position"
  58. label="库位"
  59. ></el-table-column>
  60. <el-table-column
  61. width="160"
  62. property="createTime"
  63. label="入库时间"
  64. ></el-table-column>
  65. </el-table>
  66. <span slot="reference"> {{ row.batchNo }}</span>
  67. </el-popover>
  68. </template>
  69. <!-- 最小包装单元 -->
  70. <template v-slot:minPackingCount="{ row }">
  71. <span v-if="row.minPackingCount">
  72. {{ row.minPackingCount }}
  73. {{ row.measuringUnit }}/{{ row.minUnit }}
  74. </span>
  75. </template>
  76. <!-- 库存保质期 -->
  77. <template v-slot:expirationDate="{ row }">
  78. <span v-if="row.expirationDate">
  79. {{ row.expirationDate ? row.expirationDate : '-' }}
  80. {{
  81. row.expirationDateUnit == 'year'
  82. ? '年'
  83. : row.expirationDateUnit == 'month'
  84. ? '月'
  85. : '日'
  86. }}
  87. </span>
  88. </template>
  89. <!-- 质检状态 -->
  90. <template v-slot:qualityStatus="{ row }">
  91. <span v-if="row.qualityResult == 0 || row.qualityResult == 1"
  92. >已检</span
  93. >
  94. <span v-else-if="row.qualityStatus == 1">已检</span>
  95. <span v-else-if="row.qualityStatus == 0">未检</span>
  96. <span v-else>-</span>
  97. </template>
  98. <!-- 质检结果 -->
  99. <template v-slot:qualityResult="{ row }">
  100. <span v-if="row.qualityResult == 0 || row.qualityResult == ''"
  101. >合格</span
  102. >
  103. <span v-else-if="row.qualityResult == 1">不合格</span>
  104. <span v-else-if="row.qualityResult == 3">让步接收</span>
  105. <span v-else>-</span>
  106. </template>
  107. <!-- 操作列 -->
  108. <template v-slot:action="{ row }">
  109. <el-link
  110. type="primary"
  111. :underline="false"
  112. icon="el-icon-edit"
  113. @click="details(row)"
  114. >
  115. 详情
  116. </el-link>
  117. </template>
  118. </ele-pro-table>
  119. </div>
  120. </template>
  121. <script>
  122. import ItemSearch from './item-search.vue';
  123. // import {
  124. // getUserPage,
  125. // removePersonnel,
  126. // unbindLoginName
  127. // } from '@/api/system/organization';
  128. import {
  129. pageeLedgerMain,
  130. removeItem,
  131. getWarehouseList
  132. } from '@/api/classifyManage/itemInformation';
  133. import ouint from '@/api/warehouseManagement/outin';
  134. import { getBatchDetails } from '@/api/classifyManage/index';
  135. export default {
  136. components: { ItemSearch },
  137. props: {
  138. // 机构id
  139. organizationId: [Number, String],
  140. // 全部机构
  141. organizationList: Array,
  142. current: {
  143. type: Object,
  144. default: () => ({})
  145. }
  146. },
  147. data() {
  148. return {
  149. searchForm: {
  150. dimension: '1'
  151. },
  152. selectedDime: '1'
  153. };
  154. },
  155. computed: {
  156. // 表格列配置
  157. columns() {
  158. // selectedDime 1物品维度 2批次维度 3包装维度 4物料维度
  159. switch (this.selectedDime) {
  160. // 物品维度
  161. case '1':
  162. return [
  163. {
  164. columnKey: 'index',
  165. type: 'index',
  166. width: 50,
  167. align: 'center',
  168. label: '序号',
  169. showOverflowTooltip: true,
  170. fixed: 'left'
  171. },
  172. {
  173. prop: 'code',
  174. label: '编码',
  175. showOverflowTooltip: true
  176. },
  177. {
  178. prop: 'name',
  179. label: '名称',
  180. showOverflowTooltip: true
  181. },
  182. {
  183. prop: 'brandNum',
  184. label: '牌号',
  185. showOverflowTooltip: true
  186. },
  187. {
  188. prop: 'modelType',
  189. label: '型号',
  190. showOverflowTooltip: true
  191. },
  192. {
  193. prop: 'specification',
  194. label: '规格',
  195. showOverflowTooltip: true
  196. },
  197. {
  198. prop: 'manualBatchNo',
  199. label: '批号',
  200. align: 'center'
  201. },
  202. {
  203. prop: 'availableCountBase',
  204. label: '计量库存数量',
  205. sortable: 'custom',
  206. showOverflowTooltip: true,
  207. width: 130,
  208. align: 'center'
  209. },
  210. {
  211. prop: 'measuringUnit',
  212. label: '计量单位',
  213. align: 'center'
  214. },
  215. {
  216. prop: 'weight',
  217. label: '重量',
  218. showOverflowTooltip: true
  219. },
  220. {
  221. prop: 'weightUnit',
  222. label: '重量单位',
  223. showOverflowTooltip: true
  224. },
  225. {
  226. prop: 'expirationDate',
  227. slot: 'expirationDate',
  228. label: '库存保质期',
  229. showOverflowTooltip: true,
  230. width: 100
  231. },
  232. {
  233. prop: 'expirationTime',
  234. label: '周期倒计时',
  235. showOverflowTooltip: true,
  236. width: 100
  237. },
  238. {
  239. prop: 'qualityResult',
  240. slot: 'qualityResult',
  241. label: '质检结果',
  242. showOverflowTooltip: true,
  243. width: 100
  244. },
  245. {
  246. prop: 'qualityStatus',
  247. slot: 'qualityStatus',
  248. label: '质检状态',
  249. showOverflowTooltip: true,
  250. width: 100
  251. },
  252. {
  253. prop: 'paths',
  254. width: 230,
  255. label: '仓库',
  256. showOverflowTooltip: true
  257. },
  258. {
  259. columnKey: 'action',
  260. label: '操作',
  261. width: 100,
  262. align: 'left',
  263. resizable: false,
  264. slot: 'action',
  265. fixed: 'right'
  266. }
  267. ];
  268. // 批次维度
  269. case '2':
  270. return [
  271. {
  272. columnKey: 'index',
  273. type: 'index',
  274. width: 50,
  275. align: 'center',
  276. label: '序号',
  277. showOverflowTooltip: true,
  278. fixed: 'left'
  279. },
  280. {
  281. slot: 'batchNo',
  282. prop: 'batchNo',
  283. label: '批次号',
  284. showOverflowTooltip: true
  285. },
  286. {
  287. prop: 'code',
  288. label: '编码',
  289. showOverflowTooltip: true
  290. },
  291. {
  292. prop: 'name',
  293. label: '名称',
  294. showOverflowTooltip: true
  295. },
  296. {
  297. prop: 'brandNum',
  298. label: '牌号',
  299. showOverflowTooltip: true
  300. },
  301. {
  302. prop: 'modelType',
  303. label: '型号',
  304. showOverflowTooltip: true
  305. },
  306. {
  307. prop: 'specification',
  308. label: '规格',
  309. showOverflowTooltip: true
  310. },
  311. {
  312. prop: 'manualBatchNo',
  313. label: '批号',
  314. align: 'center'
  315. },
  316. {
  317. prop: 'packingCountBase',
  318. label: '包装库存数量',
  319. sortable: 'custom',
  320. showOverflowTooltip: true,
  321. width: 130,
  322. align: 'center'
  323. },
  324. {
  325. prop: 'minUnit',
  326. label: '包装单位',
  327. showOverflowTooltip: true
  328. },
  329. {
  330. prop: 'minPackingCount',
  331. slot: 'minPackingCount',
  332. label: '最小包装单元',
  333. showOverflowTooltip: true,
  334. width: 120
  335. },
  336. {
  337. prop: 'availableCountBase',
  338. label: '计量库存数量',
  339. sortable: 'custom',
  340. showOverflowTooltip: true,
  341. width: 130,
  342. align: 'center'
  343. },
  344. {
  345. prop: 'measuringUnit',
  346. label: '计量单位',
  347. align: 'center'
  348. },
  349. {
  350. prop: 'weight',
  351. label: '重量',
  352. showOverflowTooltip: true
  353. },
  354. {
  355. prop: 'weightUnit',
  356. label: '重量单位',
  357. showOverflowTooltip: true
  358. },
  359. {
  360. prop: 'expirationDate',
  361. slot: 'expirationDate',
  362. label: '库存保质期',
  363. showOverflowTooltip: true,
  364. width: 100
  365. },
  366. {
  367. prop: 'expirationTime',
  368. label: '周期倒计时',
  369. showOverflowTooltip: true,
  370. width: 100
  371. },
  372. {
  373. prop: 'qualityResult',
  374. slot: 'qualityResult',
  375. label: '质检结果',
  376. showOverflowTooltip: true,
  377. width: 100
  378. },
  379. {
  380. prop: 'qualityStatus',
  381. slot: 'qualityStatus',
  382. label: '质检状态',
  383. showOverflowTooltip: true,
  384. width: 100
  385. },
  386. {
  387. columnKey: 'action',
  388. label: '操作',
  389. width: 100,
  390. align: 'left',
  391. resizable: false,
  392. slot: 'action',
  393. fixed: 'right'
  394. }
  395. ];
  396. // 包装维度
  397. case '3':
  398. return [
  399. {
  400. columnKey: 'index',
  401. type: 'index',
  402. width: 50,
  403. align: 'center',
  404. label: '序号',
  405. showOverflowTooltip: true,
  406. fixed: 'left'
  407. },
  408. {
  409. slot: 'batchNum',
  410. prop: 'batchNum',
  411. label: '批次号',
  412. showOverflowTooltip: true
  413. },
  414. {
  415. prop: 'packagingCode',
  416. label: '包装编码',
  417. showOverflowTooltip: true
  418. },
  419. // {
  420. // prop: 'packageNo',
  421. // label: '编号',
  422. // showOverflowTooltip: true
  423. // },
  424. {
  425. prop: 'name',
  426. label: '名称',
  427. showOverflowTooltip: true
  428. },
  429. {
  430. prop: 'brandNum',
  431. label: '牌号',
  432. showOverflowTooltip: true
  433. },
  434. {
  435. prop: 'modelType',
  436. label: '型号',
  437. showOverflowTooltip: true
  438. },
  439. {
  440. prop: 'specification',
  441. label: '规格',
  442. showOverflowTooltip: true
  443. },
  444. {
  445. prop: 'manualBatchNo',
  446. label: '批号',
  447. align: 'center'
  448. },
  449. {
  450. prop: 'barcodes',
  451. label: '发货条码',
  452. align: 'center'
  453. },
  454. {
  455. prop: 'packingCountBase',
  456. label: '包装库存数量',
  457. sortable: 'custom',
  458. showOverflowTooltip: true,
  459. width: 130,
  460. align: 'center'
  461. },
  462. {
  463. prop: 'minUnit',
  464. label: '包装单位',
  465. showOverflowTooltip: true
  466. },
  467. {
  468. prop: 'minPackingCount',
  469. slot: 'minPackingCount',
  470. label: '最小包装单元',
  471. showOverflowTooltip: true,
  472. width: 120
  473. },
  474. {
  475. prop: 'availableCountBase',
  476. label: '计量库存数量',
  477. sortable: 'custom',
  478. showOverflowTooltip: true,
  479. width: 130,
  480. align: 'center'
  481. },
  482. {
  483. prop: 'measuringUnit',
  484. label: '计量单位',
  485. align: 'center'
  486. },
  487. {
  488. prop: 'weight',
  489. label: '重量',
  490. showOverflowTooltip: true
  491. },
  492. {
  493. prop: 'weightUnit',
  494. label: '重量单位',
  495. showOverflowTooltip: true
  496. },
  497. {
  498. prop: 'expirationDate',
  499. slot: 'expirationDate',
  500. label: '库存保质期',
  501. showOverflowTooltip: true,
  502. width: 100
  503. },
  504. {
  505. prop: 'expirationTime',
  506. label: '周期倒计时',
  507. showOverflowTooltip: true,
  508. width: 100
  509. },
  510. {
  511. prop: 'qualityResult',
  512. slot: 'qualityResult',
  513. label: '质检结果',
  514. showOverflowTooltip: true,
  515. width: 100
  516. },
  517. {
  518. prop: 'qualityStatus',
  519. slot: 'qualityStatus',
  520. label: '质检状态',
  521. showOverflowTooltip: true,
  522. width: 100
  523. },
  524. {
  525. prop: 'paths',
  526. width: 230,
  527. label: '仓库',
  528. showOverflowTooltip: true
  529. },
  530. {
  531. columnKey: 'action',
  532. label: '操作',
  533. width: 100,
  534. align: 'left',
  535. resizable: false,
  536. slot: 'action',
  537. fixed: 'right'
  538. }
  539. ];
  540. // 物料维度
  541. default:
  542. return [
  543. {
  544. columnKey: 'index',
  545. type: 'index',
  546. width: 50,
  547. align: 'center',
  548. label: '序号',
  549. showOverflowTooltip: true,
  550. fixed: 'left'
  551. },
  552. {
  553. slot: 'batchNo',
  554. prop: 'batchNo',
  555. label: '批次号',
  556. showOverflowTooltip: true
  557. },
  558. {
  559. prop: 'no',
  560. label: '物料编码',
  561. showOverflowTooltip: true
  562. },
  563. {
  564. prop: 'assetCode',
  565. label: '编号',
  566. showOverflowTooltip: true
  567. },
  568. {
  569. prop: 'name',
  570. label: '名称',
  571. showOverflowTooltip: true
  572. },
  573. {
  574. prop: 'brandNum',
  575. label: '牌号',
  576. showOverflowTooltip: true
  577. },
  578. {
  579. prop: 'modelType',
  580. label: '型号',
  581. showOverflowTooltip: true
  582. },
  583. {
  584. prop: 'specification',
  585. label: '规格',
  586. showOverflowTooltip: true
  587. },
  588. {
  589. prop: 'manualBatchNo',
  590. label: '批号',
  591. align: 'center'
  592. },
  593. {
  594. prop: 'barcodes',
  595. label: '发货条码',
  596. align: 'center'
  597. },
  598. {
  599. prop: 'materielCode',
  600. label: '物料代号',
  601. showOverflowTooltip: true
  602. },
  603. {
  604. prop: 'clientCode',
  605. label: '客户代号',
  606. showOverflowTooltip: true
  607. },
  608. {
  609. prop: 'engrave',
  610. label: '刻码',
  611. showOverflowTooltip: true
  612. },
  613. {
  614. prop: 'availableCountBase',
  615. label: '计量库存数量',
  616. sortable: 'custom',
  617. showOverflowTooltip: true,
  618. width: 130,
  619. align: 'center'
  620. },
  621. {
  622. prop: 'measuringUnit',
  623. label: '计量单位',
  624. align: 'center'
  625. },
  626. {
  627. prop: 'weight',
  628. label: '重量',
  629. showOverflowTooltip: true
  630. },
  631. {
  632. prop: 'weightUnit',
  633. label: '重量单位',
  634. showOverflowTooltip: true
  635. },
  636. {
  637. prop: 'expirationDate',
  638. slot: 'expirationDate',
  639. label: '库存保质期',
  640. showOverflowTooltip: true,
  641. width: 100
  642. },
  643. {
  644. prop: 'expirationTime',
  645. label: '周期倒计时',
  646. showOverflowTooltip: true,
  647. width: 100
  648. },
  649. {
  650. prop: 'qualityResult',
  651. slot: 'qualityResult',
  652. label: '质检结果',
  653. showOverflowTooltip: true,
  654. width: 100
  655. },
  656. {
  657. prop: 'qualityStatus',
  658. slot: 'qualityStatus',
  659. label: '质检状态',
  660. showOverflowTooltip: true,
  661. width: 100
  662. },
  663. {
  664. prop: 'paths',
  665. width: 230,
  666. label: '仓库',
  667. showOverflowTooltip: true
  668. },
  669. {
  670. columnKey: 'action',
  671. label: '操作',
  672. width: 100,
  673. align: 'left',
  674. resizable: false,
  675. slot: 'action',
  676. fixed: 'right'
  677. }
  678. ];
  679. }
  680. }
  681. },
  682. methods: {
  683. handledime(val) {
  684. this.selectedDime = val;
  685. this.reload();
  686. },
  687. /* 表格数据源 */
  688. datasource({ page, limit, where, order }) {
  689. const dimension = this.$refs.refSeavch.dimension;
  690. const treeId = this.$parent.$parent.$parent.current.id;
  691. if (this.selectedDime == 1) {
  692. // 物品维度
  693. const data = ouint.getRealTimeInventory({
  694. ...where,
  695. ...order,
  696. pageNum: page,
  697. size: limit,
  698. dimension: dimension
  699. });
  700. const result = data.then((res) => {
  701. let item = res.list.map((item) => {
  702. return {
  703. ...item,
  704. paths: item.pathName.split(',')[0],
  705. qualityResult:
  706. typeof item.qualityResult != 'number'
  707. ? 3
  708. : item.qualityResult,
  709. qualityStatus:
  710. typeof item.qualityStatus != 'number' ? 3 : item.qualityStatus
  711. };
  712. });
  713. return { ...res, list: item };
  714. });
  715. return result;
  716. } else if (this.selectedDime == 2) {
  717. // 物品维度
  718. const params = {
  719. categoryLevelId: treeId,
  720. ...where,
  721. ...order,
  722. dimension: dimension
  723. };
  724. const data = getBatchDetails({
  725. ...params,
  726. pageNum: page,
  727. size: limit
  728. });
  729. const result = data.then((res) => {
  730. let item = res.list.map((item) => {
  731. return {
  732. ...item,
  733. minUnit: item.packingUnit,
  734. qualityResult:
  735. typeof item.qualityResult != 'number'
  736. ? 3
  737. : item.qualityResult,
  738. qualityStatus:
  739. typeof item.qualityStatus != 'number' ? 3 : item.qualityStatus
  740. };
  741. });
  742. return { ...res, list: item };
  743. });
  744. return result;
  745. } else if (this.selectedDime == 4) {
  746. // 物料维度
  747. const params = {
  748. categoryLevelId: treeId,
  749. ...where,
  750. ...order,
  751. dimension: dimension
  752. };
  753. const data = ouint.getMaterielDetails({
  754. ...params,
  755. pageNum: page,
  756. size: limit
  757. });
  758. const result = data.then((res) => {
  759. const data = res.list.map((item) => {
  760. return {
  761. ...item,
  762. minUnit: item.packingUnit,
  763. paths: item.pathName,
  764. availableCountBase:
  765. item.availableCountBase < 0 ? 0 : item.availableCountBase,
  766. packingCountBase:
  767. item.packingCountBase < 0 ? 0 : item.packingCountBase,
  768. materialCode: item.code,
  769. batchNum: item.batchNo,
  770. qualityResult:
  771. typeof item.qualityResult != 'number'
  772. ? 3
  773. : item.qualityResult,
  774. qualityStatus:
  775. typeof item.qualityStatus != 'number' ? 3 : item.qualityStatus
  776. };
  777. });
  778. console.log(data);
  779. return { ...res, list: data };
  780. });
  781. console.log(result);
  782. return result;
  783. } else {
  784. // 包装维度
  785. const params = {
  786. categoryLevelId: treeId,
  787. ...where,
  788. ...order,
  789. dimension: dimension
  790. };
  791. const data = ouint.getInventoryDetails({
  792. ...params,
  793. pageNum: page,
  794. size: limit
  795. });
  796. const result = data.then((res) => {
  797. const data = res.list.map((item) => {
  798. return {
  799. ...item,
  800. minUnit: item.packingUnit,
  801. paths: item.pathName.split(',')[0],
  802. availableCountBase:
  803. item.availableCountBase < 0 ? 0 : item.availableCountBase,
  804. packingCountBase:
  805. item.packingCountBase < 0 ? 0 : item.packingCountBase,
  806. packagingCode: item.code,
  807. qualityResult:
  808. typeof item.qualityResult != 'number'
  809. ? 3
  810. : item.qualityResult,
  811. qualityStatus:
  812. typeof item.qualityStatus != 'number' ? 3 : item.qualityStatus
  813. };
  814. });
  815. return { ...res, list: data };
  816. });
  817. return result;
  818. }
  819. },
  820. /* 刷新表格 */
  821. reload(where) {
  822. this.$nextTick(() => {
  823. this.$refs.table.reload({
  824. pageNum: 1,
  825. where: {
  826. ...where,
  827. categoryLevelId: this.current?.data?.id || this.current?.id
  828. }
  829. });
  830. });
  831. },
  832. details(row) {
  833. const key = Date.now();
  834. this.$store.commit('stockManagement/CLEAR_BASEINFO');
  835. this.$store.commit('stockManagement/CHANGE_BASEINFO', {
  836. key,
  837. value: row
  838. });
  839. const url =
  840. this.$refs.refSeavch.dimension == 1
  841. ? '/warehouseManagement/stockLedger/allBatchDetails'
  842. : '/warehouseManagement/stockLedger/batchDetails';
  843. this.$router.push({
  844. path: url,
  845. query: {
  846. key,
  847. dimension: this.$refs.refSeavch.dimension,
  848. id: this.$refs.refSeavch.dimension != 3 ? row.id : row.categoryId,
  849. assetId: row.assetId,
  850. batchNo: row.batchNo
  851. }
  852. });
  853. }
  854. },
  855. watch: {
  856. // 监听机构id变化
  857. current: {
  858. handler() {
  859. this.reload();
  860. }
  861. }
  862. }
  863. };
  864. </script>