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.

940 lines
30 KiB

11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
11 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
11 months ago
11 months ago
9 months ago
11 months ago
  1. <template>
  2. <div class="mod-config">
  3. <el-form :inline="true" label-position="top" :model="searchData">
  4. <el-form-item :label="'BU'">
  5. <el-select v-model="searchData.buNo" placeholder="请选择" clearable style="width: 130px">
  6. <el-option
  7. v-for = "i in buList"
  8. :key = "i.buNo"
  9. :label = "i.buDesc"
  10. :value = "i.buNo">
  11. </el-option>
  12. </el-select>
  13. </el-form-item>
  14. <el-form-item :label="'物料编码'">
  15. <el-input v-model="searchData.partNo" clearable style="width: 120px"></el-input>
  16. </el-form-item>
  17. <el-form-item :label="'ERP物料编码'">
  18. <el-input v-model="searchData.sku" clearable style="width: 120px"></el-input>
  19. </el-form-item>
  20. <el-form-item :label="'物料描述'">
  21. <el-input v-model="searchData.partDesc" clearable style="width: 210px"></el-input>
  22. </el-form-item>
  23. <el-form-item :label="'录入时间'">
  24. <el-date-picker
  25. style="width: 120px"
  26. v-model="searchData.startDate"
  27. type="date"
  28. value-format="yyyy-MM-dd"
  29. placeholder="选择日期">
  30. </el-date-picker>
  31. </el-form-item>
  32. <el-form-item style="margin-top: 23px;">
  33. <label style="margin-left: 0px;font-size: 19px">&#10142</label>
  34. </el-form-item>
  35. <el-form-item :label="'To '">
  36. <el-date-picker
  37. style="width: 120px"
  38. v-model="searchData.endDate"
  39. type="date"
  40. value-format="yyyy-MM-dd"
  41. placeholder="选择日期">
  42. </el-date-picker>
  43. </el-form-item>
  44. <el-form-item :label="' '">
  45. <el-button @click="searchTable">查询</el-button>
  46. <!-- <el-button type="primary" @click="delModal()">删除</el-button>-->
  47. <download-excel
  48. :fields="fields()"
  49. :data="exportData"
  50. type="xls"
  51. :name="exportName"
  52. :header="exportHeader"
  53. :footer="exportFooter"
  54. :fetch="createExportData"
  55. :before-generate="startDownload"
  56. :before-finish="finishDownload"
  57. worksheet="导出信息"
  58. class="el-button el-button--primary el-button--medium">
  59. {{ "导出" }}
  60. </download-excel>
  61. </el-form-item>
  62. </el-form>
  63. <el-table
  64. @row-click="changeData"
  65. highlight-current-row
  66. :height="height"
  67. :data="dataList"
  68. ref="mainTable"
  69. border
  70. v-loading="dataListLoading"
  71. style="width: 100%;">
  72. <el-table-column
  73. header-align="center"
  74. align="center"
  75. width="80"
  76. label="操作">
  77. <template slot-scope="scope">
  78. <a type="text" size="small" @click="hsCodeModel(scope.row)">维护</a>
  79. </template>
  80. </el-table-column>
  81. <el-table-column
  82. v-for="(item,index) in columnList" :key="index"
  83. :sortable="item.columnSortable"
  84. :prop="item.columnProp"
  85. :header-align="item.headerAlign"
  86. :show-overflow-tooltip="item.showOverflowTooltip"
  87. :align="item.align"
  88. :fixed="item.fixed==''?false:item.fixed"
  89. :min-width="item.columnWidth"
  90. :label="item.columnLabel">
  91. <template slot-scope="scope">
  92. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  93. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  94. style="width: 100px; height: 80px"/></span>
  95. </template>
  96. </el-table-column>
  97. </el-table>
  98. <el-pagination
  99. @size-change="sizeChangeHandle"
  100. @current-change="currentChangeHandle"
  101. :current-page="pageIndex"
  102. :page-sizes="[20, 50, 100, 1000]"
  103. :page-size="pageSize"
  104. :total="totalPage"
  105. layout="total, sizes, prev, pager, next, jumper">
  106. </el-pagination>
  107. <el-tabs style="font-size: 12px;min-height: 200px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick" >
  108. <el-tab-pane label="基本信息" name="attribute">
  109. <order-attribute ref="dialogAttribute" :site="currentRow.site" :buNo="currentRow.buNo" :order-no="currentRow.partNo" :code-no="'BG001'" :function-type="'ECSSPART'"></order-attribute>
  110. </el-tab-pane>
  111. </el-tabs>
  112. <el-dialog title="维护HS Code" :close-on-click-modal="false" v-drag :visible.sync="hsCodeModelFlag" width="500px">
  113. <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
  114. <el-row :gutter="20">
  115. <el-col :span="12">
  116. <el-form-item :label="'物料编码:'">
  117. <el-input v-model="hsCodeModelData.partNo" disabled ></el-input>
  118. </el-form-item>
  119. </el-col>
  120. <el-col :span="12">
  121. <el-form-item :label="'物料名称'" >
  122. <el-input v-model="hsCodeModelData.partDesc" disabled ></el-input>
  123. </el-form-item>
  124. </el-col>
  125. <el-col :span="12">
  126. <el-form-item >
  127. <template #label>
  128. <span slot="label" style="" class="big-label">
  129. <a href="#" @click="hsCodeFlag=true">品名</a>
  130. </span>
  131. </template>
  132. <el-input v-model="hsCodeModelData.hsCodeDesc" disabled ></el-input>
  133. </el-form-item>
  134. </el-col>
  135. <el-col :span="12">
  136. <el-form-item :label="'HS Code'" >
  137. <el-input v-model="hsCodeModelData.hsCode" disabled ></el-input>
  138. </el-form-item>
  139. </el-col>
  140. <!-- <el-col :span="12">
  141. <el-form-item >
  142. <template #label>
  143. <span slot="label" style="" class="big-label">
  144. <a href="#" @click="palletFlag=true">栈板</a>
  145. </span>
  146. </template>
  147. <el-input v-model="hsCodeModelData.palletType" disabled ></el-input>
  148. </el-form-item>
  149. </el-col>-->
  150. <el-col :span="12">
  151. <el-form-item>
  152. <template #label>
  153. <span slot="label" style="" class="big-label">
  154. <a href="#" @click="packageFlag=true">包装箱</a>
  155. </span>
  156. </template>
  157. <el-input v-model="hsCodeModelData.packageNo" disabled ></el-input>
  158. </el-form-item>
  159. </el-col>
  160. </el-row>
  161. </el-form>
  162. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  163. <el-button type="primary" @click="saveHSCode()">保存</el-button>
  164. <el-button type="primary" @click="hsCodeModelFlag=false">关闭</el-button>
  165. </el-footer>
  166. </el-dialog>
  167. <el-dialog title="品名" @close="closeHsCodeDialog" @open="openHsCodeDialog" :visible.sync="hsCodeFlag" width="559px" v-drag>
  168. <el-form inline="inline" label-position="top" :model="hsCodeData" style="margin-left: 7px;margin-top: -5px;">
  169. <el-form-item label="品名">
  170. <el-input v-model="hsCodeData.hsCode" clearable style="width: 110px"></el-input>
  171. </el-form-item>
  172. <el-form-item label=" ">
  173. <el-button type="primary" style="padding: 3px 12px" @click="searchHsCodeList()">查询</el-button>
  174. </el-form-item>
  175. </el-form>
  176. <el-table
  177. :height="height + 110"
  178. :data="hsCodeList"
  179. stripe
  180. highlight-current-row
  181. border
  182. @row-dblclick="hsCodeRowDblclick"
  183. style="width: 100%;">
  184. <el-table-column
  185. prop="BuNo"
  186. header-align="center"
  187. align="center"
  188. label="Bu">
  189. </el-table-column>
  190. <el-table-column
  191. prop="hsCodeDesc"
  192. header-align="center"
  193. align="center"
  194. label="品名">
  195. </el-table-column>
  196. <el-table-column
  197. prop="HsCode"
  198. header-align="center"
  199. align="center"
  200. label="HS Code">
  201. </el-table-column>
  202. </el-table>
  203. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  204. <el-button @click="hsCodeFlag = false">关闭</el-button>
  205. </el-footer>
  206. </el-dialog>
  207. <el-dialog title="栈板" @close="closePalletDialog" @open="openPalletDialog" :visible.sync="palletFlag" width="559px" v-drag>
  208. <el-form inline="inline" label-position="top" :model="palletData" style="margin-left: 7px;margin-top: -5px;">
  209. <el-form-item label="栈板类型">
  210. <el-input v-model="palletData.palletType" clearable style="width: 110px"></el-input>
  211. </el-form-item>
  212. <el-form-item label=" ">
  213. <el-button type="primary" style="padding: 3px 12px" @click="searchPalletList()">查询</el-button>
  214. </el-form-item>
  215. </el-form>
  216. <el-table
  217. :height="height + 110"
  218. :data="palletList"
  219. stripe
  220. highlight-current-row
  221. border
  222. @row-dblclick="palletRowDblclick"
  223. style="width: 100%;">
  224. <el-table-column
  225. prop="BuNo"
  226. header-align="center"
  227. align="center"
  228. label="BuNo">
  229. </el-table-column>
  230. <el-table-column
  231. prop="palletType"
  232. header-align="center"
  233. align="center"
  234. label="栈板类型">
  235. </el-table-column>
  236. </el-table>
  237. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  238. <el-button @click="palletFlag = false">关闭</el-button>
  239. </el-footer>
  240. </el-dialog>
  241. <el-dialog title="包装箱" @close="closePackageDialog" @open="openPackageDialog" :visible.sync="packageFlag" width="559px" v-drag>
  242. <el-form inline="inline" label-position="top" :model="packageData" style="margin-left: 7px;margin-top: -5px;">
  243. <el-form-item label="包装箱类型">
  244. <el-input v-model="packageData.packageType" clearable style="width: 110px"></el-input>
  245. </el-form-item>
  246. <el-form-item label=" ">
  247. <el-button type="primary" style="padding: 3px 12px" @click="searchPackageList()">查询</el-button>
  248. </el-form-item>
  249. </el-form>
  250. <el-table
  251. :height="height + 110"
  252. :data="packageList"
  253. stripe
  254. highlight-current-row
  255. border
  256. @row-dblclick="packageRowDblclick"
  257. style="width: 100%;">
  258. <el-table-column
  259. prop="BuNo"
  260. header-align="center"
  261. align="center"
  262. label="BuNo">
  263. </el-table-column>
  264. <el-table-column
  265. prop="packageType"
  266. header-align="center"
  267. align="center"
  268. label="包装箱类型">
  269. </el-table-column>
  270. <el-table-column
  271. prop="packageNo"
  272. header-align="center"
  273. align="center"
  274. width="140"
  275. label="包装箱编码">
  276. </el-table-column>
  277. <el-table-column
  278. prop="length"
  279. header-align="center"
  280. align="center"
  281. label="长(M)">
  282. </el-table-column>
  283. <el-table-column
  284. prop="width"
  285. header-align="center"
  286. align="center"
  287. label="宽(M)">
  288. </el-table-column>
  289. <el-table-column
  290. prop="height"
  291. header-align="center"
  292. align="center"
  293. label="高(M)">
  294. </el-table-column>
  295. </el-table>
  296. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  297. <el-button @click="packageFlag = false">关闭</el-button>
  298. </el-footer>
  299. </el-dialog>
  300. </div>
  301. </template>
  302. <script>
  303. import {
  304. partInformationHsCode,savePartHSCode,
  305. searchHsCodeList,searchPalletList,searchPackageList
  306. }from "@/api/ecss/ecss.js"
  307. import {} from "@/api/sysLanguage.js"
  308. import {getBuList}from '@/api/factory/site.js'
  309. import orderAttribute from "./orderProperties"
  310. export default {
  311. name: "null",
  312. components:{
  313. orderAttribute,
  314. },
  315. data() {
  316. return {
  317. activeName:'attribute',
  318. hsCodeFlag:false,
  319. palletFlag:false,
  320. packageFlag:false,
  321. hsCodeData:{},
  322. palletData:{},
  323. packageData:{},
  324. hsCodeList:[],
  325. palletList:[],
  326. packageList:[],
  327. buList:[],
  328. // 导出
  329. exportData: [],
  330. exportName: '物料HsCode' + this.dayjs().format('YYYYMMDDHHmmss'),
  331. exportHeader: ['物料HsCode'],
  332. exportFooter: [],
  333. pageIndex: 1,
  334. pageSize: 100,
  335. totalPage: 0,
  336. height: 200,
  337. dataList:[],
  338. dataListLoading: false,
  339. searchData: {
  340. site: '',
  341. userName: this.$store.state.user.name,
  342. buNo: '',
  343. partNo: '',
  344. startDate: '',
  345. endDate: '',
  346. partDesc: '',
  347. page: 1,
  348. limit: 10
  349. },
  350. buttons:{
  351. search:'查询',
  352. },
  353. columnList: [
  354. {
  355. userId: this.$store.state.user.name,
  356. functionId: 801005,
  357. serialNumber: '801005Table1Bu',
  358. tableId: '801005Table1',
  359. tableName: '物料信息表',
  360. columnProp: 'buDesc',
  361. headerAlign: 'center',
  362. align: 'center',
  363. columnLabel: 'BU',
  364. columnHidden: false,
  365. columnImage: false,
  366. columnSortable: false,
  367. sortLv: 0,
  368. status: true,
  369. fixed: '',
  370. columnWidth: 80
  371. },
  372. {
  373. userId: this.$store.state.user.name,
  374. functionId: 801005,
  375. serialNumber: '801005Table1PartNo',
  376. tableId: '801005Table1',
  377. tableName: '物料信息表',
  378. columnProp: 'partNo',
  379. headerAlign: 'center',
  380. align: 'left',
  381. columnLabel: '物料编码',
  382. columnHidden: false,
  383. columnImage: false,
  384. columnSortable: false,
  385. sortLv: 0,
  386. status: true,
  387. fixed: '',
  388. columnWidth: 120
  389. },
  390. {
  391. userId: this.$store.state.user.name,
  392. functionId: 801005,
  393. serialNumber: '801005Table1PartNo',
  394. tableId: '801005Table1',
  395. tableName: '物料信息表',
  396. columnProp: 'sku',
  397. headerAlign: 'center',
  398. align: 'left',
  399. columnLabel: 'ERP物料编码',
  400. columnHidden: false,
  401. columnImage: false,
  402. columnSortable: false,
  403. sortLv: 0,
  404. status: true,
  405. fixed: '',
  406. columnWidth: 120
  407. },
  408. {
  409. userId: this.$store.state.user.name,
  410. functionId: 801005,
  411. serialNumber: '801005Table1PartDesc',
  412. tableId: '801005Table1',
  413. tableName: '物料信息表',
  414. columnProp: 'partDesc',
  415. headerAlign: 'center',
  416. align: 'left',
  417. columnLabel: '物料描述',
  418. columnHidden: false,
  419. columnImage: false,
  420. columnSortable: false,
  421. sortLv: 0,
  422. status: true,
  423. fixed: '',
  424. columnWidth: 300
  425. },
  426. {
  427. userId: this.$store.state.user.name,
  428. functionId: 801005,
  429. serialNumber: '801005Table1HsCode',
  430. tableId: '801005Table1',
  431. tableName: '物料信息表',
  432. columnProp: 'hsCode',
  433. headerAlign: 'center',
  434. align: 'left',
  435. columnLabel: 'HS Code',
  436. columnHidden: false,
  437. columnImage: false,
  438. columnSortable: false,
  439. sortLv: 0,
  440. status: true,
  441. fixed: '',
  442. columnWidth: 80
  443. },
  444. {
  445. userId: this.$store.state.user.name,
  446. functionId: 801005,
  447. serialNumber: '801005Table1HsCodeDesc',
  448. tableId: '801005Table1',
  449. tableName: '物料信息表',
  450. columnProp: 'hsCodeDesc',
  451. headerAlign: 'center',
  452. align: 'left',
  453. columnLabel: '品名',
  454. columnHidden: false,
  455. columnImage: false,
  456. columnSortable: false,
  457. sortLv: 0,
  458. status: true,
  459. fixed: '',
  460. columnWidth: 200
  461. },
  462. {
  463. userId: this.$store.state.user.name,
  464. functionId: 801005,
  465. serialNumber: '801005Table1PartDesceEn',
  466. tableId: '801005Table1',
  467. tableName: '物料信息表',
  468. columnProp: 'partDesceEn',
  469. headerAlign: 'center',
  470. align: 'left',
  471. columnLabel: '物料描述(英文)',
  472. columnHidden: false,
  473. columnImage: false,
  474. columnSortable: false,
  475. sortLv: 0,
  476. status: true,
  477. fixed: '',
  478. columnWidth: 300
  479. },
  480. {
  481. userId: this.$store.state.user.name,
  482. functionId: 801005,
  483. serialNumber: '801005Table1Spec',
  484. tableId: '801005Table1',
  485. tableName: '物料信息表',
  486. columnProp: 'spec',
  487. headerAlign: 'center',
  488. align: 'left',
  489. columnLabel: '规格',
  490. columnHidden: false,
  491. columnImage: false,
  492. columnSortable: false,
  493. sortLv: 0,
  494. status: true,
  495. fixed: '',
  496. columnWidth: 300
  497. },
  498. {
  499. userId: this.$store.state.user.name,
  500. functionId: 801005,
  501. serialNumber: '801005Table1ActiveDesc',
  502. tableId: '801005Table1',
  503. tableName: '物料信息表',
  504. columnProp: 'activeDesc',
  505. headerAlign: 'center',
  506. align: 'center',
  507. columnLabel: '是否在用',
  508. columnHidden: false,
  509. columnImage: false,
  510. columnSortable: false,
  511. sortLv: 0,
  512. status: true,
  513. fixed: '',
  514. columnWidth: 80
  515. },
  516. {
  517. userId: this.$store.state.user.name,
  518. functionId: 801005,
  519. serialNumber: '801005Table1PartType2Desc',
  520. tableId: '801005Table1',
  521. tableName: '物料信息表',
  522. columnProp: 'partType2Desc',
  523. headerAlign: 'center',
  524. align: 'left',
  525. columnLabel: '零件类型',
  526. columnHidden: false,
  527. columnImage: false,
  528. columnSortable: false,
  529. sortLv: 0,
  530. status: true,
  531. fixed: '',
  532. columnWidth: 100
  533. },
  534. {
  535. userId: this.$store.state.user.name,
  536. functionId: 801005,
  537. serialNumber: '801005Table1UmId',
  538. tableId: '801005Table1',
  539. tableName: '物料信息表',
  540. columnProp: 'umId2',
  541. headerAlign: 'center',
  542. align: 'left',
  543. columnLabel: '计量单位编码',
  544. columnHidden: false,
  545. columnImage: false,
  546. columnSortable: false,
  547. sortLv: 0,
  548. status: true,
  549. fixed: '',
  550. columnWidth: 100
  551. },
  552. {
  553. userId: this.$store.state.user.name,
  554. functionId: 801005,
  555. serialNumber: '801005Table1UmName',
  556. tableId: '801005Table1',
  557. tableName: '物料信息表',
  558. columnProp: 'umName',
  559. headerAlign: 'center',
  560. align: 'left',
  561. columnLabel: '计量单位名称',
  562. columnHidden: false,
  563. columnImage: false,
  564. columnSortable: false,
  565. sortLv: 0,
  566. status: true,
  567. fixed: '',
  568. columnWidth: 150
  569. },
  570. {
  571. userId: this.$store.state.user.name,
  572. functionId: 801005,
  573. serialNumber: '801005Table1FamilyID',
  574. tableId: '801005Table1',
  575. tableName: '物料信息表',
  576. columnProp: 'familyID',
  577. headerAlign: 'center',
  578. align: 'left',
  579. columnLabel: '物料分类编码',
  580. columnHidden: false,
  581. columnImage: false,
  582. columnSortable: false,
  583. sortLv: 0,
  584. status: true,
  585. fixed: '',
  586. columnWidth: 100
  587. },
  588. {
  589. userId: this.$store.state.user.name,
  590. functionId: 801005,
  591. serialNumber: '801005Table1FamilyName',
  592. tableId: '801005Table1',
  593. tableName: '物料信息表',
  594. columnProp: 'familyName',
  595. headerAlign: 'center',
  596. align: 'left',
  597. columnLabel: '物料分类名称',
  598. columnHidden: false,
  599. columnImage: false,
  600. columnSortable: false,
  601. sortLv: 0,
  602. status: true,
  603. fixed: '',
  604. columnWidth: 150
  605. },
  606. {
  607. userId: this.$store.state.user.name,
  608. functionId: 801005,
  609. serialNumber: '801005Table1OtherGroup1',
  610. tableId: '801005Table1',
  611. tableName: '物料信息表',
  612. columnProp: 'productGroupId1',
  613. headerAlign: 'center',
  614. align: 'left',
  615. columnLabel: '商品组1编码',
  616. columnHidden: false,
  617. columnImage: false,
  618. columnSortable: false,
  619. sortLv: 0,
  620. status: true,
  621. fixed: '',
  622. columnWidth: 100
  623. },
  624. {
  625. userId: this.$store.state.user.name,
  626. functionId: 801005,
  627. serialNumber: '801005Table1OtherGroupName1',
  628. tableId: '801005Table1',
  629. tableName: '物料信息表',
  630. columnProp: 'productGroupName1',
  631. headerAlign: 'center',
  632. align: 'left',
  633. columnLabel: '商品组1名称',
  634. columnHidden: false,
  635. columnImage: false,
  636. columnSortable: false,
  637. sortLv: 0,
  638. status: true,
  639. fixed: '',
  640. columnWidth: 150
  641. },
  642. {
  643. userId: this.$store.state.user.name,
  644. functionId: 801005,
  645. serialNumber: '801005Table1OtherGroup2',
  646. tableId: '801005Table1',
  647. tableName: '物料信息表',
  648. columnProp: 'productGroupId2',
  649. headerAlign: 'center',
  650. align: 'left',
  651. columnLabel: '商品组2编码',
  652. columnHidden: false,
  653. columnImage: false,
  654. columnSortable: false,
  655. sortLv: 0,
  656. status: true,
  657. fixed: '',
  658. columnWidth: 100
  659. },
  660. {
  661. userId: this.$store.state.user.name,
  662. functionId: 801005,
  663. serialNumber: '801005Table1OtherGroupName2',
  664. tableId: '801005Table1',
  665. tableName: '物料信息表',
  666. columnProp: 'productGroupName2',
  667. headerAlign: 'center',
  668. align: 'left',
  669. columnLabel: '商品组2名称',
  670. columnHidden: false,
  671. columnImage: false,
  672. columnSortable: false,
  673. sortLv: 0,
  674. status: true,
  675. fixed: '',
  676. columnWidth: 150
  677. },
  678. {
  679. userId: this.$store.state.user.name,
  680. functionId: 801005,
  681. serialNumber: '801005Table1OtherGroup3',
  682. tableId: '801005Table1',
  683. tableName: '物料信息表',
  684. columnProp: 'productGroupId3',
  685. headerAlign: 'center',
  686. align: 'left',
  687. columnLabel: '商品组3编码',
  688. columnHidden: false,
  689. columnImage: false,
  690. columnSortable: false,
  691. sortLv: 0,
  692. status: true,
  693. fixed: '',
  694. columnWidth: 100
  695. },
  696. {
  697. userId: this.$store.state.user.name,
  698. functionId: 801005,
  699. serialNumber: '801005Table1OtherGroupName3',
  700. tableId: '801005Table1',
  701. tableName: '物料信息表',
  702. columnProp: 'productGroupName3',
  703. headerAlign: 'center',
  704. align: 'left',
  705. columnLabel: '商品组3名称',
  706. columnHidden: false,
  707. columnImage: false,
  708. columnSortable: false,
  709. sortLv: 0,
  710. status: true,
  711. fixed: '',
  712. columnWidth: 150
  713. },
  714. ],
  715. hsCodeModelFlag:false,
  716. hsCodeModelData:{
  717. site: '',
  718. buNo: '',
  719. buDesc: '',
  720. partNo: '',
  721. partDesc: '',
  722. hsCode:'',
  723. hsCodeDesc:'',
  724. packageNo:''
  725. },
  726. currentRow:{
  727. site:'',
  728. partNo:'',
  729. buNo:'',
  730. recordType:'',
  731. hsCodeNo:''
  732. }
  733. }
  734. },
  735. mounted() {
  736. this.$nextTick(() => {
  737. this.height = (window.innerHeight - 240)/2;
  738. })
  739. },
  740. methods: {
  741. openHsCodeDialog () {
  742. //请求
  743. this.searchHsCodeList();
  744. },
  745. closeHsCodeDialog () {
  746. this.hsCodeList = []
  747. this.hsCodeFlag = false
  748. },
  749. searchHsCodeList () {
  750. this.hsCodeData.buNo = this.hsCodeModelData.buNo
  751. searchHsCodeList(this.hsCodeData).then(({data}) => {
  752. if (data && data.code === 0){
  753. this.hsCodeList = data.rows;
  754. }
  755. })
  756. },
  757. hsCodeRowDblclick (row) {
  758. this.hsCodeModelData.hsCodeDesc = row.hsCodeDesc
  759. this.hsCodeModelData.hsCode = row.HsCode
  760. this.hsCodeFlag = false
  761. },
  762. openPalletDialog () {
  763. //请求
  764. this.searchPalletList();
  765. },
  766. closePalletDialog () {
  767. this.palletList = []
  768. this.palletFlag = false
  769. },
  770. searchPalletList () {
  771. this.palletData.buNo = this.hsCodeModelData.buNo
  772. searchPalletList(this.palletData).then(({data}) => {
  773. if (data && data.code === 0){
  774. this.palletList = data.rows;
  775. }
  776. })
  777. },
  778. palletRowDblclick (row) {
  779. this.hsCodeModelData.palletId = row.palletId
  780. this.hsCodeModelData.palletType = row.palletType
  781. this.palletFlag = false
  782. },
  783. openPackageDialog () {
  784. //请求
  785. this.searchPackageList();
  786. },
  787. closePackageDialog () {
  788. this.packageList = []
  789. this.packageFlag = false
  790. },
  791. searchPackageList () {
  792. this.packageData.buNo = this.hsCodeModelData.buNo
  793. searchPackageList(this.packageData).then(({data}) => {
  794. if (data && data.code === 0){
  795. this.packageList = data.rows;
  796. }
  797. })
  798. },
  799. packageRowDblclick (row) {
  800. this.hsCodeModelData.packageNo = row.packageNo
  801. this.packageFlag = false
  802. },
  803. // 每页数
  804. sizeChangeHandle (val) {
  805. this.pageSize = val
  806. this.pageIndex = 1
  807. this.searchTable()
  808. },
  809. // 当前页
  810. currentChangeHandle (val) {
  811. this.pageIndex = val
  812. this.searchTable()
  813. },
  814. tabClick (tab, event) {
  815. // 刷新列表数据
  816. this.refreshCurrentTabTable()
  817. },
  818. searchTable(){
  819. this.searchData.limit = this.pageSize
  820. this.searchData.page = this.pageIndex
  821. partInformationHsCode(this.searchData).then(({data}) => {
  822. //区分请求成功和失败的状况
  823. if (data && data.code == 0) {
  824. this.dataList = data.page.list
  825. this.pageIndex = data.page.currPage
  826. this.pageSize = data.page.pageSize
  827. this.totalPage = data.page.totalCount
  828. if(this.dataList.length>0){
  829. this.$refs.mainTable.setCurrentRow(this.dataList[0]);
  830. this.changeData(this.dataList[0])
  831. }else {
  832. this.changeData(null)
  833. }
  834. } else {
  835. this.dataList = [];
  836. }
  837. });
  838. },
  839. refreshCurrentTabTable(){
  840. if(this.currentRow===''||this.currentRow===null){
  841. this.currentRow={site:'',partNo:'',buNo:'',recordType:''}
  842. }
  843. },
  844. async createExportData () {
  845. this.searchData.limit = -1
  846. this.searchData.page = 1
  847. await partInformationHsCode(this.searchData).then(({data}) => {
  848. this.resultList = data.page.list
  849. })
  850. return this.resultList
  851. },
  852. startDownload () {},
  853. finishDownload () {},
  854. fields () {
  855. let json = '{'
  856. this.columnList.forEach((item, index) => {
  857. if (index == this.columnList.length - 1) {
  858. json += '"' + item.columnLabel + '"' + ':' + '"' + item.columnProp + '"'
  859. } else {
  860. json += '"' + item.columnLabel + '"' + ':' + '"' + item.columnProp + '"' + ','
  861. }
  862. })
  863. json += '}'
  864. let s = eval('(' + json + ')')
  865. return s
  866. },
  867. getBu () {
  868. let tempData = {
  869. username: this.$store.state.user.name,
  870. }
  871. getBuList(tempData).then(({data}) => {
  872. if (data.code === 0) {
  873. this.buList = data.row2
  874. }
  875. })
  876. },
  877. hsCodeModel(row){
  878. this.hsCodeModelData=JSON.parse(JSON.stringify(row))
  879. this.hsCodeModelFlag=true
  880. },
  881. changeData(row){
  882. this.currentRow = JSON.parse(JSON.stringify(row));
  883. this.refreshCurrentTabTable ();
  884. },
  885. saveHSCode(){
  886. if(this.hsCodeModelData.hsCode===''||this.hsCodeModelData.hsCode==null){
  887. this.$alert('请输入HS Code!', '错误', {
  888. confirmButtonText: '确定'
  889. })
  890. return false
  891. }
  892. if(this.hsCodeModelData.hsCodeDesc===''||this.hsCodeModelData.hsCodeDesc==null){
  893. this.$alert('请输入品名!', '错误', {
  894. confirmButtonText: '确定'
  895. })
  896. return false
  897. }
  898. savePartHSCode(this.hsCodeModelData).then(({data}) => {
  899. if (data && data.code === 0) {
  900. this.searchTable()
  901. this.hsCodeModelFlag=false
  902. this.$message({
  903. message: '操作成功',
  904. type: 'success',
  905. duration: 1500,
  906. onClose: () => {}
  907. })
  908. } else {
  909. this.$alert(data.msg, '错误', {
  910. confirmButtonText: '确定'
  911. })
  912. }
  913. })
  914. },
  915. },
  916. created() {
  917. this.getBu();
  918. }
  919. }
  920. </script>
  921. <style scoped>
  922. </style>