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.

2803 lines
94 KiB

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
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
10 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
9 months ago
9 months ago
9 months ago
9 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
11 months ago
10 months ago
7 months ago
10 months ago
10 months ago
10 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
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
9 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
9 months ago
11 months ago
11 months ago
11 months ago
10 months ago
10 months ago
11 months ago
10 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
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
11 months ago
9 months ago
11 months ago
11 months ago
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 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
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 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
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
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 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
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
10 months ago
9 months ago
10 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
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
9 months ago
11 months ago
11 months ago
11 months ago
10 months ago
11 months ago
10 months ago
11 months ago
9 months ago
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
9 months ago
11 months ago
10 months ago
11 months ago
9 months ago
11 months ago
10 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
9 months ago
11 months ago
11 months ago
11 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
7 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
8 months ago
11 months ago
7 months ago
10 months ago
11 months ago
  1. <template>
  2. <div class="mod-config">
  3. <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
  4. <el-form-item :label="'BU:'">
  5. <el-select v-model="searchData.buNo" placeholder="请选择" >
  6. <el-option label="全部" value=""></el-option>
  7. <el-option
  8. v-for = "i in buList"
  9. :key = "i.buNo"
  10. :label = "i.buDesc"
  11. :value = "i.buNo">
  12. </el-option>
  13. </el-select>
  14. </el-form-item>
  15. <el-form-item :label="'发货通知单:'">
  16. <el-input v-model="searchData.delNo" style="width: 120px"></el-input>
  17. </el-form-item>
  18. <el-form-item :label="'CMC Invoice:'">
  19. <el-input v-model="searchData.cmcInvoice" style="width: 120px"></el-input>
  20. </el-form-item>
  21. <el-form-item :label="'通知单状态:'">
  22. <el-select filterable v-model="searchData.notifyStatus" style="width: 120px">
  23. <el-option label="全部" value=""></el-option>
  24. <el-option label="已下达" value="已下达"></el-option>
  25. <el-option label="仓库已确认" value="仓库已确认"></el-option>
  26. <el-option label="已报关" value="已报关"></el-option>
  27. </el-select>
  28. </el-form-item>
  29. <el-form-item :label="'ReadyDate'" >
  30. <el-date-picker
  31. style="width: 120px"
  32. v-model="searchData.startDate"
  33. type="date"
  34. format="yyyy-MM-dd"
  35. value-format="yyyy-MM-dd"
  36. placeholder="选择日期">
  37. </el-date-picker>
  38. </el-form-item>
  39. <el-form-item :label="'To'" >
  40. <el-date-picker
  41. style="width: 120px"
  42. v-model="searchData.endDate"
  43. type="date"
  44. format="yyyy-MM-dd"
  45. value-format="yyyy-MM-dd"
  46. placeholder="选择日期">
  47. </el-date-picker>
  48. </el-form-item>
  49. <el-form-item :label="'是否导出:'">
  50. <el-select v-model="searchData.exportFlag" style="width: 120px">
  51. <el-option label="全部" value=""></el-option>
  52. <el-option label="已导出" value="Y"></el-option>
  53. <el-option label="未导出" value="N"></el-option>
  54. </el-select>
  55. </el-form-item>
  56. <el-form-item label="改单">
  57. <el-checkbox v-model="searchData.modifyData" true-label="true" false-label="false" @change="searchTable()"></el-checkbox>
  58. </el-form-item>
  59. <el-form-item :label="' '" >
  60. <el-button @click="searchTable()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
  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 :cell-style="cellStyle"
  70. v-loading="dataListLoading"
  71. style="width: 100%;">
  72. <el-table-column
  73. header-align="center"
  74. align="center"
  75. width="100"
  76. fixed="left"
  77. label="操作">
  78. <template slot-scope="scope">
  79. <a type="text" size="small" v-if="scope.row.notifyStatus==='已报关'" @click="updateModelOpen(scope.row)">修改</a>
  80. <a type="text" size="small" v-if="scope.row.notifyStatus==='已下达'" @click="confirmModelOpen(scope.row)">仓库确认</a>
  81. <a type="text" size="small" v-if="scope.row.notifyStatus==='仓库已确认'" @click="cancerConfirm(scope.row)">取消确认</a>
  82. </template>
  83. </el-table-column>
  84. <el-table-column
  85. v-for="(item,index) in columnList1" :key="index"
  86. :sortable="item.columnSortable"
  87. :prop="item.columnProp"
  88. :header-align="item.headerAlign"
  89. :show-overflow-tooltip="item.showOverflowTooltip"
  90. :align="item.align"
  91. :fixed="item.fixed==''?false:item.fixed"
  92. :min-width="item.columnWidth"
  93. :label="item.columnLabel">
  94. <template slot-scope="scope">
  95. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  96. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  97. style="width: 100px; height: 80px"/></span>
  98. </template>
  99. </el-table-column>
  100. </el-table>
  101. <el-pagination
  102. @size-change="sizeChangeHandle"
  103. @current-change="currentChangeHandle"
  104. :current-page="pageIndex"
  105. :page-sizes="[20, 50, 100, 1000]"
  106. :page-size="pageSize"
  107. :total="totalPage"
  108. layout="total, sizes, prev, pager, next, jumper">
  109. </el-pagination>
  110. <el-tabs style="font-size: 12px;min-height: 200px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick" >
  111. <el-tab-pane label="明细" name="detail">
  112. <el-table
  113. :height="height"
  114. :data="dataList2"
  115. border :cell-style="cellStyleDetail"
  116. style="width: 100%;">
  117. <el-table-column
  118. v-for="(item,index) in columnList2" :key="index"
  119. :sortable="item.columnSortable"
  120. :prop="item.columnProp"
  121. :header-align="item.headerAlign"
  122. :show-overflow-tooltip="item.showOverflowTooltip"
  123. :align="item.align"
  124. :fixed="item.fixed==''?false:item.fixed"
  125. :min-width="item.columnWidth"
  126. :label="item.columnLabel">
  127. <template slot-scope="scope">
  128. <template v-if="item.columnProp === 'ttlAmount' || item.columnProp === 'sumPrice'">
  129. <span>{{!!scope.row[item.columnProp]?scope.row[item.columnProp].toFixed(2):''}}</span>
  130. </template>
  131. <template v-else>
  132. <span v-if="!item.columnHidden">{{ scope.row[item.columnProp] }}</span>
  133. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
  134. </template>
  135. </template>
  136. </el-table-column>
  137. <!-- <el-table-column-->
  138. <!-- fixed="left"-->
  139. <!-- header-align="center"-->
  140. <!-- align="center"-->
  141. <!-- width="100"-->
  142. <!-- label="操作">-->
  143. <!-- <template slot-scope="scope">-->
  144. <!-- <a v-if="currentRow.notifyStatus==='已计划'" type="text" size="small" @click="openUpdateDetailModel(scope.row)">修改</a>-->
  145. <!-- <a v-if="currentRow.notifyStatus==='已计划'" type="text" size="small" @click="deleteDelDetail(scope.row)">删除</a>-->
  146. <!-- </template>-->
  147. <!-- </el-table-column>-->
  148. </el-table>
  149. </el-tab-pane>
  150. <el-tab-pane label="手工装箱" name="box">
  151. <el-button @click="oneClickPacking()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'一键装箱'}}</el-button>
  152. <el-button @click="upLoadPallet()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入装箱单'}}</el-button>
  153. <el-button @click="palletMaintenance()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'栈板维护'}}</el-button>
  154. <!-- <el-button @click="newPalletModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'装箱'}}</el-button>-->
  155. <el-button @click="exportExcel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导出模版'}}</el-button>
  156. <el-table
  157. :data="dataList4"
  158. :height="height"
  159. border
  160. v-loading="dataListLoading"
  161. style="width: 100%; ">
  162. <el-table-column
  163. header-align="center"
  164. align="center"
  165. width="150"
  166. fixed="left"
  167. label="操作">
  168. <template slot-scope="scope">
  169. <!-- <a type="text" size="small" @click="boxDetailModel(scope.row)">箱明细</a>-->
  170. <a type="text" size="small" @click="updatePalletModel(scope.row)">修改</a>
  171. <a type="text" size="small" @click="deletePallet(scope.row)">删除</a>
  172. </template>
  173. </el-table-column>
  174. <el-table-column
  175. v-for="(item,index) in columnList4" :key="index"
  176. :sortable="item.columnSortable"
  177. :prop="item.columnProp"
  178. :header-align="item.headerAlign"
  179. :show-overflow-tooltip="item.showOverflowTooltip"
  180. :align="item.align"
  181. :fixed="item.fixed==''?false:item.fixed"
  182. :min-width="item.columnWidth"
  183. :label="item.columnLabel">
  184. <template slot-scope="scope">
  185. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  186. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  187. style="width: 100px; height: 80px"/></span>
  188. </template>
  189. </el-table-column>
  190. </el-table>
  191. </el-tab-pane>
  192. <el-tab-pane label="装箱明细" name="pallet">
  193. <el-table
  194. :data="dataList3"
  195. :height="height"
  196. border
  197. v-loading="dataListLoading"
  198. style="width: 100%; ">
  199. <el-table-column
  200. header-align="center"
  201. align="center"
  202. width="70"
  203. fixed="left"
  204. label="操作">
  205. <template slot-scope="scope">
  206. <a type="text" size="small" @click="updateBoxModel(scope.row,1)">修改</a>
  207. </template>
  208. </el-table-column>
  209. <el-table-column
  210. v-for="(item,index) in columnList3" :key="index"
  211. :sortable="item.columnSortable"
  212. :prop="item.columnProp"
  213. :header-align="item.headerAlign"
  214. :show-overflow-tooltip="item.showOverflowTooltip"
  215. :align="item.align"
  216. :fixed="item.fixed==''?false:item.fixed"
  217. :min-width="item.columnWidth"
  218. :label="item.columnLabel">
  219. <template slot-scope="scope">
  220. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  221. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  222. style="width: 100px; height: 80px"/></span>
  223. </template>
  224. </el-table-column>
  225. </el-table>
  226. </el-tab-pane>
  227. </el-tabs>
  228. <el-dialog title="栈板明细" :close-on-click-modal="false" v-drag :visible.sync="boxDetailModelFlag" width="600px">
  229. <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
  230. <el-row :gutter="20">
  231. <el-col :span="6">
  232. <el-form-item :label="'发货通知单号'" >
  233. <el-input v-model="boxDetailData.delNo" disabled ></el-input>
  234. </el-form-item>
  235. </el-col>
  236. <el-col :span="6">
  237. <el-form-item :label="'序号'" >
  238. <el-input v-model="boxDetailData.seqNo" disabled ></el-input>
  239. </el-form-item>
  240. </el-col>
  241. <el-col :span="6">
  242. <el-form-item :label="' '" >
  243. <el-button @click="newBoxModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增箱'}}</el-button>
  244. </el-form-item>
  245. </el-col>
  246. </el-row>
  247. </el-form>
  248. <el-table
  249. :data="dataList5"
  250. :height="height"
  251. border
  252. v-loading="dataListLoading"
  253. style="width: 100%; ">
  254. <el-table-column
  255. header-align="center"
  256. align="center"
  257. width="100"
  258. fixed="left"
  259. label="操作">
  260. <template slot-scope="scope">
  261. <a type="text" size="small" @click="updateBoxModel(scope.row,0)">修改</a>
  262. <a type="text" size="small" @click="deleteBox(scope.row)">删除</a>
  263. </template>
  264. </el-table-column>
  265. <el-table-column
  266. v-for="(item,index) in columnList5" :key="index"
  267. :sortable="item.columnSortable"
  268. :prop="item.columnProp"
  269. :header-align="item.headerAlign"
  270. :show-overflow-tooltip="item.showOverflowTooltip"
  271. :align="item.align"
  272. :fixed="item.fixed==''?false:item.fixed"
  273. :min-width="item.columnWidth"
  274. :label="item.columnLabel">
  275. <template slot-scope="scope">
  276. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  277. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  278. style="width: 100px; height: 80px"/></span>
  279. </template>
  280. </el-table-column>
  281. </el-table>
  282. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  283. <el-button type="primary" @click="boxDetailModelFlag=false">关闭</el-button>
  284. </el-footer>
  285. </el-dialog>
  286. <el-dialog title="仓库确认" :close-on-click-modal="false" v-drag :visible.sync="confirmModelFlag" width="400px">
  287. <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
  288. <el-row :gutter="20">
  289. <el-col :span="12">
  290. <el-form-item :label="'CMC Invoice'" >
  291. <el-input v-model="confirmModel.cmcInvoice" disabled ></el-input>
  292. </el-form-item>
  293. </el-col>
  294. <el-col :span="12">
  295. <el-form-item :label="'ReadyDate'" >
  296. <el-input v-model="confirmModel.readyDate" disabled ></el-input>
  297. </el-form-item>
  298. </el-col>
  299. <el-col :span="12">
  300. <el-form-item :label="'预计发货日期'" >
  301. <el-date-picker
  302. style="width: 100%"
  303. v-model="confirmModel.notifyDate"
  304. type="date"
  305. format="yyyy-MM-dd"
  306. value-format="yyyy-MM-dd"
  307. placeholder="选择日期">
  308. </el-date-picker>
  309. </el-form-item>
  310. </el-col>
  311. </el-row>
  312. </el-form>
  313. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  314. <el-button type="primary" @click="confirmDo()">保存</el-button>
  315. <el-button type="primary" @click="confirmModelFlag=false">关闭</el-button>
  316. </el-footer>
  317. </el-dialog>
  318. <el-dialog title="修改" :close-on-click-modal="false" v-drag :visible.sync="updateModelFlag" width="350px">
  319. <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
  320. <el-row :gutter="20">
  321. <el-col :span="12">
  322. <el-form-item :label="'ReadyDate'" >
  323. <el-date-picker
  324. style="width: 100%"
  325. v-model="confirmModel.readyDate"
  326. type="date"
  327. format="yyyy-MM-dd"
  328. value-format="yyyy-MM-dd"
  329. placeholder="选择日期">
  330. </el-date-picker>
  331. </el-form-item>
  332. </el-col>
  333. <el-col :span="12">
  334. <el-form-item :label="'预计发货日期'" >
  335. <el-date-picker
  336. style="width: 100%"
  337. v-model="confirmModel.notifyDate"
  338. type="date"
  339. format="yyyy-MM-dd"
  340. value-format="yyyy-MM-dd"
  341. placeholder="选择日期">
  342. </el-date-picker>
  343. </el-form-item>
  344. </el-col>
  345. </el-row>
  346. </el-form>
  347. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  348. <el-button type="primary" @click="updateDo()">保存</el-button>
  349. <el-button type="primary" @click="updateModelFlag=false">关闭</el-button>
  350. </el-footer>
  351. </el-dialog>
  352. <el-dialog title="装箱" :close-on-click-modal="false" v-drag :visible.sync="palletModelFlag" width="600px">
  353. <el-form label-position="top" style="margin-top: -5px;">
  354. <el-row :gutter="20">
  355. <el-col :span="12">
  356. <el-form-item :label="''" >
  357. <template #label>
  358. <span slot="label" style="" class="big-label">
  359. <a href="#" @click="palletFlag=true">栈板</a>
  360. </span>
  361. </template>
  362. <el-input v-model="palletModelData.pallet" disabled ></el-input>
  363. </el-form-item>
  364. </el-col>
  365. <el-col :span="12">
  366. <el-form-item :label="'栈板编号'" >
  367. <el-input v-model="palletModelData.palletRemark" ></el-input>
  368. </el-form-item>
  369. </el-col>
  370. <el-col :span="12">
  371. <el-form-item :label="'栈板高度(M)'" >
  372. <el-input v-model="palletModelData.height" type="number" ></el-input>
  373. </el-form-item>
  374. </el-col>
  375. <el-col :span="12">
  376. <el-form-item :label="'数量'" >
  377. <el-input v-model="palletModelData.palletQty" type="number" ></el-input>
  378. </el-form-item>
  379. </el-col>
  380. </el-row>
  381. </el-form>
  382. <br>
  383. <el-table v-show="palletModelData.addFlag===0"
  384. :height="240" class="zxClass"
  385. :data="dataList8"
  386. stripe ref="partTableRef"
  387. highlight-current-row
  388. border :row-style="{ height: '30px' }"
  389. style="width: 100%;" @selection-change="handleSelectionChange">
  390. <el-table-column
  391. v-if="currentRow.buNo==='03-RFID' && currentRow.walMartOrderFlag==='Y'"
  392. header-align="center"
  393. align="center"
  394. width="60"
  395. fixed="left"
  396. label="操作">
  397. <template slot-scope="scope">
  398. <a type="text" size="small" v-if="scope.row.newRow!==1" @click="copyColumn(scope.row)">复制</a>
  399. <a type="text" size="small" v-if="scope.row.newRow===1" @click="deleteColumn(scope.$index)">删除</a>
  400. </template>
  401. </el-table-column>
  402. <el-table-column
  403. type="selection"
  404. align="center"
  405. width="55">
  406. </el-table-column>
  407. <el-table-column
  408. prop="pn"
  409. header-align="center"
  410. align="center"
  411. label="PN">
  412. </el-table-column>
  413. <el-table-column
  414. prop="partDescription"
  415. header-align="center"
  416. align="center"
  417. label="Description">
  418. </el-table-column>
  419. <el-table-column
  420. prop="qty"
  421. header-align="center"
  422. align="center"
  423. label="数量">
  424. <template slot-scope="scope">
  425. <el-input v-if="currentRow.buNo==='03-RFID' && currentRow.walMartOrderFlag==='Y'" v-model="scope.row.qty" style="width: 100px;"></el-input>
  426. <span v-else>{{scope.row.qty}}</span>
  427. </template>
  428. </el-table-column>
  429. <el-table-column
  430. prop="nocartonsT"
  431. header-align="center"
  432. align="center"
  433. label="箱数">
  434. <template slot-scope="scope">
  435. <span v-if="currentRow.buNo==='03-RFID' && currentRow.walMartOrderFlag==='Y'">{{scope.row.nocartons}}</span>
  436. <el-input v-else v-model="scope.row.nocartons" style="width: 100px;"></el-input>
  437. </template>
  438. </el-table-column>
  439. </el-table>
  440. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  441. <el-button type="primary" @click="savePalletHeader()">保存</el-button>
  442. <el-button type="primary" @click="palletModelFlag=false">关闭</el-button>
  443. </el-footer>
  444. </el-dialog>
  445. <el-dialog title="维护箱" :close-on-click-modal="false" v-drag :visible.sync="boxModelFlag" width="500px">
  446. <el-form label-position="top" style="margin-left: 7px;margin-top: -5px;">
  447. <el-row :gutter="20">
  448. <el-col :span="12">
  449. <el-form-item :label="boxModelData.type===1?'物料编码':''">
  450. <span v-if="boxModelData.type===0" slot="label" @click="openPartDialog()"><a herf="#">物料编码</a></span>
  451. <el-input v-model="boxModelData.pn" :disabled="boxModelData.type===1" ></el-input>
  452. </el-form-item>
  453. </el-col>
  454. <el-col :span="12">
  455. <el-form-item :label="'数量'" >
  456. <el-input v-model="boxModelData.qty" type="number" ></el-input>
  457. </el-form-item>
  458. </el-col>
  459. <el-col :span="12" v-if="boxModelData.type===0">
  460. <el-form-item :label="'PO'" >
  461. <el-input v-model="boxModelData.poNo" ></el-input>
  462. </el-form-item>
  463. </el-col>
  464. <el-col :span="12">
  465. <el-form-item :label="'箱数'" >
  466. <el-input v-model="boxModelData.boxQty"></el-input>
  467. </el-form-item>
  468. </el-col>
  469. <el-col :span="12">
  470. <el-form-item :label="'ROLLS'" >
  471. <el-input v-model="boxModelData.rolls" ></el-input>
  472. </el-form-item>
  473. </el-col>
  474. <el-col :span="12">
  475. <el-form-item :label="'毛重'" >
  476. <el-input v-model="boxModelData.grossWeight"></el-input>
  477. </el-form-item>
  478. </el-col>
  479. <el-col :span="12">
  480. <el-form-item :label="'净重'" >
  481. <el-input v-model="boxModelData.netWeight" ></el-input>
  482. </el-form-item>
  483. </el-col>
  484. </el-row>
  485. </el-form>
  486. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  487. <el-button type="primary" @click="saveBoxHeader()">保存</el-button>
  488. <el-button type="primary" @click="boxModelFlag=false">关闭</el-button>
  489. </el-footer>
  490. </el-dialog>
  491. <el-dialog title="一键装箱" :close-on-click-modal="false" v-drag :visible.sync="oneClickPackingModelFlag" width="170px">
  492. <el-form label-position="top" style="margin-left: 7px;margin-top: 10px;">
  493. <el-row :gutter="20">
  494. <el-col :span="12">
  495. <el-form-item :label="''" >
  496. <el-checkbox style="font-weight: bold" v-model="oneClickPackingModelData.boxRemnant">是否显示零数箱</el-checkbox>
  497. </el-form-item>
  498. </el-col>
  499. </el-row>
  500. </el-form>
  501. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  502. <el-button type="primary" @click="saveOneClickPacking()">保存</el-button>
  503. <el-button type="primary" @click="oneClickPackingModelFlag=false">关闭</el-button>
  504. </el-footer>
  505. </el-dialog>
  506. <el-dialog title="栈板维护" :close-on-click-modal="false" v-drag :visible.sync="palletMaintenanceModelFlag" width="450px">
  507. <!-- 栈板记录列表 -->
  508. <div style="margin: 15px 0;">
  509. <div style="margin-bottom: 10px;">
  510. <span style="font-weight: bold; margin-right: 10px;">栈板记录:</span>
  511. <el-button type="primary" size="small" @click="addPalletMaintenanceRecord">添加行</el-button>
  512. </div>
  513. <el-table :data="palletMaintenanceRecords" border style="width: 100%; margin-bottom: 15px;" class="zxClass"
  514. max-height="200" v-if="palletMaintenanceRecords.length > 0">
  515. <el-table-column label="栈板" min-width="100">
  516. <template slot-scope="scope">
  517. <el-input v-model="scope.row.pallet" disabled style="width: 100%;">
  518. <template slot="append">
  519. <el-button @click="selectPalletMaintenance(scope.$index)" size="mini" type="primary">选择</el-button>
  520. </template>
  521. </el-input>
  522. </template>
  523. </el-table-column>
  524. <el-table-column label="栈板高度(M)" width="90">
  525. <template slot-scope="scope">
  526. <el-input v-model="scope.row.height" type="text" placeholder="请输入高度" style="width: 100%;"></el-input>
  527. </template>
  528. </el-table-column>
  529. <el-table-column label="托数" width="80">
  530. <template slot-scope="scope">
  531. <el-input v-model="scope.row.palletQty" type="text" placeholder="请输入托数" style="width: 100%;"></el-input>
  532. </template>
  533. </el-table-column>
  534. <el-table-column label="操作" width="40">
  535. <template slot-scope="scope">
  536. <a type="text" size="mini" @click="removePalletMaintenanceRecord(scope.$index)">删除</a>
  537. </template>
  538. </el-table-column>
  539. </el-table>
  540. <div v-if="palletMaintenanceRecords.length === 0" style="text-align: center; color: #999; padding: 20px; border: 1px dashed #ddd;">
  541. 暂无栈板记录请点击"添加行"按钮添加
  542. </div>
  543. </div>
  544. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  545. <el-button type="primary" @click="savePalletMaintenance()">确定</el-button>
  546. <el-button type="primary" @click="palletMaintenanceModelFlag=false">关闭</el-button>
  547. </el-footer>
  548. </el-dialog>
  549. <el-dialog title="物料信息" @close="closePartDialog" @open="openPartDialog" :visible.sync="partFlag" width="559px" v-drag>
  550. <el-form inline="inline" label-position="top" :model="partData" style="margin-left: 7px;margin-top: -5px;">
  551. </el-form>
  552. <el-table
  553. :height="height + 110"
  554. :data="partList"
  555. stripe
  556. highlight-current-row
  557. border
  558. @row-dblclick="partRowDblclick"
  559. style="width: 100%;">
  560. <el-table-column
  561. prop="pn"
  562. header-align="center"
  563. align="center"
  564. label="物料编码">
  565. </el-table-column>
  566. <el-table-column
  567. prop="part_desc"
  568. header-align="center"
  569. align="center"
  570. label="物料名称">
  571. </el-table-column>
  572. </el-table>
  573. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  574. <el-button @click="partFlag = false">关闭</el-button>
  575. </el-footer>
  576. </el-dialog>
  577. <el-dialog title="栈板" @close="closePalletDialog" @open="openPalletDialog" :visible.sync="palletFlag" width="559px" v-drag>
  578. <el-form inline="inline" label-position="top" :model="palletData" style="margin-left: 7px;margin-top: -5px;">
  579. <el-form-item label="栈板类型">
  580. <el-input v-model="palletData.palletType" clearable style="width: 110px"></el-input>
  581. </el-form-item>
  582. <el-form-item label=" ">
  583. <el-button type="primary" style="padding: 3px 12px" @click="searchPalletList()">查询</el-button>
  584. </el-form-item>
  585. </el-form>
  586. <el-table
  587. :height="height + 110"
  588. :data="palletList"
  589. stripe
  590. highlight-current-row
  591. border
  592. @row-dblclick="palletRowDblclick"
  593. style="width: 100%;">
  594. <el-table-column
  595. prop="palletNo"
  596. header-align="center"
  597. align="center"
  598. width="120"
  599. label="栈板编码">
  600. </el-table-column>
  601. <el-table-column
  602. prop="palletType"
  603. header-align="center"
  604. align="center"
  605. label="栈板类型">
  606. </el-table-column>
  607. <el-table-column
  608. prop="applicationArea"
  609. header-align="center"
  610. align="center"
  611. label="应用环境">
  612. </el-table-column>
  613. <el-table-column
  614. prop="length"
  615. header-align="center"
  616. align="center"
  617. label="长(M)">
  618. </el-table-column>
  619. <el-table-column
  620. prop="width"
  621. header-align="center"
  622. align="center"
  623. label="宽(M)">
  624. </el-table-column>
  625. <el-table-column
  626. prop="height"
  627. header-align="center"
  628. align="center"
  629. label="栈板高(M)">
  630. </el-table-column>
  631. </el-table>
  632. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  633. <el-button @click="palletFlag = false">关闭</el-button>
  634. </el-footer>
  635. </el-dialog>
  636. <!-- 导入 -->
  637. <pallet-upload-excel ref="palletUploadExcel" @refreshTable="searchPalletTable" v-drag></pallet-upload-excel>
  638. <!--列表的组件-->
  639. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  640. </div>
  641. </template>
  642. <script>
  643. import Chooselist from '@/views/modules/common/Chooselist_eam'
  644. import {} from "@/api/sysLanguage.js"
  645. import palletUploadExcel from "./pallet_upload_excel.vue";
  646. import {
  647. searchEcssCoDelNotifyHeaderForCK,
  648. searchEcssCoDelNotifyDetail,
  649. confirmEcssDel,
  650. updateEcssDel,
  651. cancerConfirmEcssDel,
  652. searchCoDelPalletData,
  653. searchCoDelPalletDataNew,
  654. searchEcssCoDelPalletHeaderData,
  655. searchEcssCoDelPalletDetailData,
  656. savePalletHeader,
  657. deletePalletHeader,
  658. savePalletDetail,
  659. deletePalletDetail,
  660. saveOneClickPacking,
  661. savePalletMaintenance,
  662. getNotifyPartDetail,
  663. searchPalletList,
  664. updateExportFlag
  665. }from "@/api/ecss/ecss.js"
  666. import {getBuList}from '@/api/factory/site.js'
  667. import excel from "@/utils/excel-util.js";
  668. import excelOpts from '@/utils/export-options.js'
  669. export default {
  670. name: "null",
  671. components:{
  672. palletUploadExcel,
  673. Chooselist,
  674. },
  675. data() {
  676. return {
  677. multipleSelection: [],
  678. oneOrAll:'1',
  679. palletFlag:false,
  680. palletList:[],
  681. palletData:{},
  682. partFlag:false,
  683. partData:{},
  684. partList:[],
  685. pageIndex: 1,
  686. pageSize: 100,
  687. totalPage: 0,
  688. height: 200,
  689. buList:[],
  690. dataList:[],
  691. dataList2:[],
  692. dataList3:[],
  693. dataList4:[],
  694. dataList5:[],
  695. dataList8:[],
  696. notifyDetailMap: new Map(),
  697. boxDetailData:{
  698. site:'',
  699. buNo:'',
  700. delNo:'',
  701. seqNo:'',
  702. },
  703. dataListLoading: false,
  704. boxDetailModelFlag: false,
  705. searchData: {
  706. page: 1,
  707. limit: 100,
  708. buNo:'',
  709. delNo:'',
  710. cmcInvoice:'',
  711. notifyStatus:'',
  712. startDate:'',
  713. endDate:'',
  714. exportFlag:'',
  715. username:this.$store.state.user.name,
  716. },
  717. oneClickPackingModelFlag:false,
  718. oneClickPackingModelData:{
  719. boxRemnant: false,
  720. },
  721. // 一键装箱栈板记录
  722. oneClickPalletRecords: [],
  723. currentOneClickPalletIndex: -1, // 当前选择栈板的行索引
  724. // 栈板维护相关
  725. palletMaintenanceModelFlag: false,
  726. palletMaintenanceRecords: [],
  727. currentPalletMaintenanceIndex: -1, // 当前选择栈板的行索引
  728. palletModelFlag:false,
  729. palletModelData:{
  730. addFlag:0,
  731. site:'',
  732. buNo:'',
  733. delNo:'',
  734. seqNo:'',
  735. palletNo:'',
  736. palletQty:'',
  737. length:'',
  738. width:'',
  739. height:'',
  740. volume:'',
  741. grossWeight:'',
  742. netWeight:'',
  743. palletRemark:'',
  744. },
  745. boxModelFlag:false,
  746. boxModelData:{
  747. addFlag:0,
  748. site:'',
  749. buNo:'',
  750. delNo:'',
  751. seqNo:'',
  752. itemNo:'',
  753. partNo:'',
  754. pn:'',
  755. qty:'',
  756. poNo:'',
  757. boxQty:'',
  758. rolls:'',
  759. },
  760. buttons:{
  761. search:'查询',
  762. },
  763. confirmModelFlag:false,
  764. updateModelFlag:false,
  765. confirmModel:{
  766. site:'',
  767. buDesc:'',
  768. cmcInvoice:'',
  769. delNo:'',
  770. readyDate:'',
  771. shippingMode:'',
  772. destination:'',
  773. notifyDate:'',
  774. remark:'',
  775. },
  776. activeName:'detail',
  777. columnList1: [
  778. {
  779. userId: this.$store.state.user.name,
  780. functionId: 801002,
  781. serialNumber: '801002Table1BuDesc',
  782. tableId: "801002Table1",
  783. tableName: "关务系统发货通知单",
  784. columnProp: "buDesc",
  785. headerAlign: "center",
  786. align: "left",
  787. columnLabel: "BU",
  788. columnHidden: false,
  789. columnImage: false,
  790. columnSortable: false,
  791. sortLv: 0,
  792. status: true,
  793. fixed: '',
  794. columnWidth: 60
  795. },
  796. {
  797. userId: this.$store.state.user.name,
  798. functionId: 801002,
  799. serialNumber: '801002Table1CmcInvoice',
  800. tableId: "801002Table1",
  801. tableName: "关务系统发货通知单",
  802. columnProp: "cmcInvoice",
  803. headerAlign: "center",
  804. align: "left",
  805. columnLabel: "CMC Invoice",
  806. columnHidden: false,
  807. columnImage: false,
  808. columnSortable: false,
  809. sortLv: 0,
  810. status: true,
  811. fixed: '',
  812. columnWidth: 100
  813. },
  814. {
  815. userId: this.$store.state.user.name,
  816. functionId: 801002,
  817. serialNumber: '801002Table1DelNo',
  818. tableId: "801002Table1",
  819. tableName: "关务系统发货通知单",
  820. columnProp: "delNo",
  821. headerAlign: "center",
  822. align: "center",
  823. columnLabel: "发货通知单号",
  824. columnHidden: false,
  825. columnImage: false,
  826. columnSortable: false,
  827. sortLv: 0,
  828. status: true,
  829. fixed: '',
  830. columnWidth: 110
  831. },
  832. {
  833. userId: this.$store.state.user.name,
  834. functionId: 801002,
  835. serialNumber: '801002Table1ReadyDate',
  836. tableId: "801002Table1",
  837. tableName: "关务系统发货通知单",
  838. columnProp: "readyDate",
  839. headerAlign: "center",
  840. align: "center",
  841. columnLabel: "ReadyDate",
  842. columnHidden: false,
  843. columnImage: false,
  844. columnSortable: false,
  845. sortLv: 0,
  846. status: true,
  847. fixed: '',
  848. columnWidth: 100
  849. },
  850. {
  851. userId: this.$store.state.user.name,
  852. functionId: 801002,
  853. serialNumber: '801002Table1CustomerName',
  854. tableId: "801002Table1",
  855. tableName: "关务系统发货通知单",
  856. columnProp: "customerName",
  857. headerAlign: "center",
  858. align: "left",
  859. columnLabel: "客户名称",
  860. columnHidden: false,
  861. columnImage: false,
  862. columnSortable: false,
  863. sortLv: 0,
  864. status: true,
  865. fixed: '',
  866. columnWidth: 220
  867. },
  868. {
  869. userId: this.$store.state.user.name,
  870. functionId: 801002,
  871. serialNumber: '801002Table1ShippingMode',
  872. tableId: "801002Table1",
  873. tableName: "关务系统发货通知单",
  874. columnProp: "shippingMode",
  875. headerAlign: "center",
  876. align: "left",
  877. columnLabel: "ShippingMode",
  878. columnHidden: false,
  879. columnImage: false,
  880. columnSortable: false,
  881. sortLv: 0,
  882. status: true,
  883. fixed: '',
  884. columnWidth: 100
  885. },
  886. {
  887. userId: this.$store.state.user.name,
  888. functionId: 801002,
  889. serialNumber: '801002Table1Destination',
  890. tableId: "801002Table1",
  891. tableName: "关务系统发货通知单",
  892. columnProp: "destination",
  893. headerAlign: "center",
  894. align: "left",
  895. columnLabel: "Destination",
  896. columnHidden: false,
  897. columnImage: false,
  898. columnSortable: false,
  899. sortLv: 0,
  900. status: true,
  901. fixed: '',
  902. columnWidth: 100
  903. },
  904. {
  905. userId: this.$store.state.user.name,
  906. functionId: 801002,
  907. serialNumber: '801002Table1NotifyStatus',
  908. tableId: "801002Table1",
  909. tableName: "关务系统发货通知单",
  910. columnProp: "notifyStatus",
  911. headerAlign: "center",
  912. align: "left",
  913. columnLabel: "通知单状态",
  914. columnHidden: false,
  915. columnImage: false,
  916. columnSortable: false,
  917. sortLv: 0,
  918. status: true,
  919. fixed: '',
  920. columnWidth: 100
  921. },
  922. {
  923. userId: this.$store.state.user.name,
  924. functionId: 801001,
  925. serialNumber: '801001Table1NotifyStatus',
  926. tableId: "801001Table1",
  927. tableName: "关务系统发货通知单",
  928. columnProp: "modifyLabel",
  929. headerAlign: "center",
  930. align: "left",
  931. columnLabel: "改单",
  932. columnHidden: false,
  933. columnImage: false,
  934. columnSortable: false,
  935. sortLv: 0,
  936. status: true,
  937. fixed: '',
  938. columnWidth: 50
  939. },
  940. {
  941. userId: this.$store.state.user.name,
  942. functionId: 801002,
  943. serialNumber: '801002Table1ExportFlag',
  944. tableId: "801002Table1",
  945. tableName: "关务系统发货通知单",
  946. columnProp: "exportFlag",
  947. headerAlign: "center",
  948. align: "center",
  949. columnLabel: "是否导出",
  950. columnHidden: false,
  951. columnImage: false,
  952. columnSortable: false,
  953. sortLv: 0,
  954. status: true,
  955. fixed: '',
  956. columnWidth: 80
  957. },
  958. {
  959. userId: this.$store.state.user.name,
  960. functionId: 801002,
  961. serialNumber: '801002Table1NotifyDate',
  962. tableId: "801002Table1",
  963. tableName: "关务系统发货通知单",
  964. columnProp: "notifyDate",
  965. headerAlign: "center",
  966. align: "center",
  967. columnLabel: "发货日期",
  968. columnHidden: false,
  969. columnImage: false,
  970. columnSortable: false,
  971. sortLv: 0,
  972. status: true,
  973. fixed: '',
  974. columnWidth: 120
  975. },
  976. {
  977. userId: this.$store.state.user.name,
  978. functionId: 801002,
  979. serialNumber: '801002Table1ErpDelNo',
  980. tableId: "801002Table1",
  981. tableName: "关务系统发货通知单",
  982. columnProp: "erpDelNo",
  983. headerAlign: "center",
  984. align: "left",
  985. columnLabel: "ERP发货单号",
  986. columnHidden: false,
  987. columnImage: false,
  988. columnSortable: false,
  989. sortLv: 0,
  990. status: true,
  991. fixed: '',
  992. columnWidth: 100
  993. },
  994. {
  995. userId: this.$store.state.user.name,
  996. functionId: 801002,
  997. serialNumber: '801002Table1CreateBy',
  998. tableId: "801002Table1",
  999. tableName: "关务系统发货通知单",
  1000. columnProp: "createBy",
  1001. headerAlign: "center",
  1002. align: "left",
  1003. columnLabel: "创建人",
  1004. columnHidden: false,
  1005. columnImage: false,
  1006. columnSortable: false,
  1007. sortLv: 0,
  1008. status: true,
  1009. fixed: '',
  1010. columnWidth: 80
  1011. },
  1012. {
  1013. userId: this.$store.state.user.name,
  1014. functionId: 801002,
  1015. serialNumber: '801002Table1CreateDate',
  1016. tableId: "801002Table1",
  1017. tableName: "关务系统发货通知单",
  1018. columnProp: "createDate",
  1019. headerAlign: "center",
  1020. align: "center",
  1021. columnLabel: "创建时间",
  1022. columnHidden: false,
  1023. columnImage: false,
  1024. columnSortable: false,
  1025. sortLv: 0,
  1026. status: true,
  1027. fixed: '',
  1028. columnWidth: 130
  1029. },
  1030. {
  1031. userId: this.$store.state.user.name,
  1032. functionId: 801002,
  1033. serialNumber: '801002Table1UpdateBy',
  1034. tableId: "801002Table1",
  1035. tableName: "关务系统发货通知单",
  1036. columnProp: "updateBy",
  1037. headerAlign: "center",
  1038. align: "left",
  1039. columnLabel: "修改人",
  1040. columnHidden: false,
  1041. columnImage: false,
  1042. columnSortable: false,
  1043. sortLv: 0,
  1044. status: true,
  1045. fixed: '',
  1046. columnWidth: 80
  1047. },
  1048. {
  1049. userId: this.$store.state.user.name,
  1050. functionId: 801002,
  1051. serialNumber: '801002Table1UpdateDate',
  1052. tableId: "801002Table1",
  1053. tableName: "关务系统发货通知单",
  1054. columnProp: "updateDate",
  1055. headerAlign: "center",
  1056. align: "center",
  1057. columnLabel: "修改时间",
  1058. columnHidden: false,
  1059. columnImage: false,
  1060. columnSortable: false,
  1061. sortLv: 0,
  1062. status: true,
  1063. fixed: '',
  1064. columnWidth: 130
  1065. },
  1066. {
  1067. userId: this.$store.state.user.name,
  1068. functionId: 801002,
  1069. serialNumber: '801002Table1Remark',
  1070. tableId: "801002Table1",
  1071. tableName: "关务系统发货通知单",
  1072. columnProp: "remark",
  1073. headerAlign: "center",
  1074. align: "left",
  1075. columnLabel: "Remark",
  1076. columnHidden: false,
  1077. columnImage: false,
  1078. columnSortable: false,
  1079. sortLv: 0,
  1080. status: true,
  1081. fixed: '',
  1082. columnWidth: 300
  1083. },
  1084. ],
  1085. columnList2: [
  1086. {
  1087. userId: this.$store.state.user.name,
  1088. functionId: 801002,
  1089. serialNumber: '801002Table2ItemNo',
  1090. tableId: "801002Table2",
  1091. tableName: "关务系统发货通知单明细",
  1092. columnProp: "itemNo",
  1093. headerAlign: "center",
  1094. align: "left",
  1095. columnLabel: "行号",
  1096. columnHidden: false,
  1097. columnImage: false,
  1098. columnSortable: false,
  1099. sortLv: 0,
  1100. status: true,
  1101. fixed: '',
  1102. columnWidth: 80
  1103. },
  1104. {
  1105. userId: this.$store.state.user.name,
  1106. functionId: 801002,
  1107. serialNumber: '801002Table2PartNo',
  1108. tableId: "801002Table2",
  1109. tableName: "关务系统发货通知单明细",
  1110. columnProp: "pn",
  1111. headerAlign: "center",
  1112. align: "left",
  1113. columnLabel: "PN",
  1114. columnHidden: false,
  1115. columnImage: false,
  1116. columnSortable: false,
  1117. sortLv: 0,
  1118. status: true,
  1119. fixed: '',
  1120. columnWidth: 100
  1121. },
  1122. {
  1123. userId: this.$store.state.user.name,
  1124. functionId: 801002,
  1125. serialNumber: '801002Table2PartDescription',
  1126. tableId: "801002Table2",
  1127. tableName: "关务系统发货通知单明细",
  1128. columnProp: "partDescription",
  1129. headerAlign: "center",
  1130. align: "left",
  1131. columnLabel: "Description",
  1132. columnHidden: false,
  1133. columnImage: false,
  1134. columnSortable: false,
  1135. sortLv: 0,
  1136. status: true,
  1137. fixed: '',
  1138. columnWidth: 300
  1139. },
  1140. {
  1141. userId: this.$store.state.user.name,
  1142. functionId: 801002,
  1143. serialNumber: '801002Table2Qty',
  1144. tableId: "801002Table2",
  1145. tableName: "关务系统发货通知单明细",
  1146. columnProp: "qty",
  1147. headerAlign: "center",
  1148. align: "right",
  1149. columnLabel: "Qty (pcs)",
  1150. columnHidden: false,
  1151. columnImage: false,
  1152. columnSortable: false,
  1153. sortLv: 0,
  1154. status: true,
  1155. fixed: '',
  1156. columnWidth: 100
  1157. },
  1158. {
  1159. userId: this.$store.state.user.name,
  1160. functionId: 801002,
  1161. serialNumber: '801002Table2SalesOrder',
  1162. tableId: "801002Table2",
  1163. tableName: "关务系统发货通知单明细",
  1164. columnProp: "salesOrder",
  1165. headerAlign: "center",
  1166. align: "left",
  1167. columnLabel: "销售订单号",
  1168. columnHidden: false,
  1169. columnImage: false,
  1170. columnSortable: false,
  1171. sortLv: 0,
  1172. status: true,
  1173. fixed: '',
  1174. columnWidth: 100
  1175. },
  1176. {
  1177. userId: this.$store.state.user.name,
  1178. functionId: 801002,
  1179. serialNumber: '801002Table2CustomerPO',
  1180. tableId: "801002Table2",
  1181. tableName: "关务系统发货通知单明细",
  1182. columnProp: "customerPO",
  1183. headerAlign: "center",
  1184. align: "left",
  1185. columnLabel: "客户采购单号",
  1186. columnHidden: false,
  1187. columnImage: false,
  1188. columnSortable: false,
  1189. sortLv: 0,
  1190. status: true,
  1191. fixed: '',
  1192. columnWidth: 100
  1193. },
  1194. {
  1195. userId: this.$store.state.user.name,
  1196. functionId: 801002,
  1197. serialNumber: '801002Table2Version',
  1198. tableId: "801002Table2",
  1199. tableName: "关务系统发货通知单明细",
  1200. columnProp: "version",
  1201. headerAlign: "center",
  1202. align: "left",
  1203. columnLabel: "Version",
  1204. columnHidden: false,
  1205. columnImage: false,
  1206. columnSortable: false,
  1207. sortLv: 0,
  1208. status: true,
  1209. fixed: '',
  1210. columnWidth: 100
  1211. },
  1212. {
  1213. userId: this.$store.state.user.name,
  1214. functionId: 801002,
  1215. serialNumber: '801002Table2Status',
  1216. tableId: "801002Table2",
  1217. tableName: "关务系统发货通知单明细",
  1218. columnProp: "status",
  1219. headerAlign: "center",
  1220. align: "left",
  1221. columnLabel: "Status",
  1222. columnHidden: false,
  1223. columnImage: false,
  1224. columnSortable: false,
  1225. sortLv: 0,
  1226. status: true,
  1227. fixed: '',
  1228. columnWidth: 100
  1229. },
  1230. {
  1231. userId: this.$store.state.user.name,
  1232. functionId: 801002,
  1233. serialNumber: '801002Table2Family',
  1234. tableId: "801002Table2",
  1235. tableName: "关务系统发货通知单明细",
  1236. columnProp: "family",
  1237. headerAlign: "center",
  1238. align: "left",
  1239. columnLabel: "Family",
  1240. columnHidden: false,
  1241. columnImage: false,
  1242. columnSortable: false,
  1243. sortLv: 0,
  1244. status: true,
  1245. fixed: '',
  1246. columnWidth: 100
  1247. },
  1248. {
  1249. userId: this.$store.state.user.name,
  1250. functionId: 801002,
  1251. serialNumber: '801002Table2Lt',
  1252. tableId: "801002Table2",
  1253. tableName: "关务系统发货通知单明细",
  1254. columnProp: "lt",
  1255. headerAlign: "center",
  1256. align: "right",
  1257. columnLabel: "LT (wks)",
  1258. columnHidden: false,
  1259. columnImage: false,
  1260. columnSortable: false,
  1261. sortLv: 0,
  1262. status: true,
  1263. fixed: '',
  1264. columnWidth: 100
  1265. },
  1266. {
  1267. userId: this.$store.state.user.name,
  1268. functionId: 801002,
  1269. serialNumber: '801002Table2CmcComment',
  1270. tableId: "801002Table2",
  1271. tableName: "关务系统发货通知单明细",
  1272. columnProp: "cmcComment",
  1273. headerAlign: "center",
  1274. align: "left",
  1275. columnLabel: "CMC Comment",
  1276. columnHidden: false,
  1277. columnImage: false,
  1278. columnSortable: false,
  1279. sortLv: 0,
  1280. status: true,
  1281. fixed: '',
  1282. columnWidth: 100
  1283. },
  1284. {
  1285. userId: this.$store.state.user.name,
  1286. functionId: 801002,
  1287. serialNumber: '801002Table2SaleType',
  1288. tableId: "801002Table2",
  1289. tableName: "关务系统发货通知单明细",
  1290. columnProp: "saleType",
  1291. headerAlign: "center",
  1292. align: "left",
  1293. columnLabel: "内外销方式",
  1294. columnHidden: false,
  1295. columnImage: false,
  1296. columnSortable: false,
  1297. sortLv: 0,
  1298. status: true,
  1299. fixed: '',
  1300. columnWidth: 100
  1301. },
  1302. {
  1303. userId: this.$store.state.user.name,
  1304. functionId: 801002,
  1305. serialNumber: '801002Table2AwbBl',
  1306. tableId: "801002Table2",
  1307. tableName: "关务系统发货通知单明细",
  1308. columnProp: "awbBl",
  1309. headerAlign: "center",
  1310. align: "left",
  1311. columnLabel: "AWB/ BL#",
  1312. columnHidden: false,
  1313. columnImage: false,
  1314. columnSortable: false,
  1315. sortLv: 0,
  1316. status: true,
  1317. fixed: '',
  1318. columnWidth: 100
  1319. },
  1320. {
  1321. userId: this.$store.state.user.name,
  1322. functionId: 801002,
  1323. serialNumber: '801002Table2ShippingNumber',
  1324. tableId: "801002Table2",
  1325. tableName: "关务系统发货通知单明细",
  1326. columnProp: "shippingNumber",
  1327. headerAlign: "center",
  1328. align: "left",
  1329. columnLabel: "ShippingNumber",
  1330. columnHidden: false,
  1331. columnImage: false,
  1332. columnSortable: false,
  1333. sortLv: 0,
  1334. status: true,
  1335. fixed: '',
  1336. columnWidth: 100
  1337. },
  1338. {
  1339. userId: this.$store.state.user.name,
  1340. functionId: 801002,
  1341. serialNumber: '801002Table2ForwarderInfo',
  1342. tableId: "801002Table2",
  1343. tableName: "关务系统发货通知单明细",
  1344. columnProp: "forwarderInfo",
  1345. headerAlign: "center",
  1346. align: "left",
  1347. columnLabel: "Forwarder Info",
  1348. columnHidden: false,
  1349. columnImage: false,
  1350. columnSortable: false,
  1351. sortLv: 0,
  1352. status: true,
  1353. fixed: '',
  1354. columnWidth: 100
  1355. },
  1356. {
  1357. userId: this.$store.state.user.name,
  1358. functionId: 801002,
  1359. serialNumber: '801002Table2Currency',
  1360. tableId: "801002Table2",
  1361. tableName: "关务系统发货通知单明细",
  1362. columnProp: "currency",
  1363. headerAlign: "center",
  1364. align: "left",
  1365. columnLabel: "Currency",
  1366. columnHidden: false,
  1367. columnImage: false,
  1368. columnSortable: false,
  1369. sortLv: 0,
  1370. status: true,
  1371. fixed: '',
  1372. columnWidth: 100
  1373. },
  1374. {
  1375. userId: this.$store.state.user.name,
  1376. functionId: 801002,
  1377. serialNumber: '801002Table2Tp',
  1378. tableId: "801002Table2",
  1379. tableName: "关务系统发货通知单明细",
  1380. columnProp: "tp",
  1381. headerAlign: "center",
  1382. align: "right",
  1383. columnLabel: "TP",
  1384. columnHidden: false,
  1385. columnImage: false,
  1386. columnSortable: false,
  1387. sortLv: 0,
  1388. status: true,
  1389. fixed: '',
  1390. columnWidth: 80
  1391. },
  1392. {
  1393. userId: this.$store.state.user.name,
  1394. functionId: 801002,
  1395. serialNumber: '801002Table2TtlAmount',
  1396. tableId: "801002Table2",
  1397. tableName: "关务系统发货通知单明细",
  1398. columnProp: "ttlAmount",
  1399. headerAlign: "center",
  1400. align: "right",
  1401. columnLabel: "TTL Amount",
  1402. columnHidden: false,
  1403. columnImage: false,
  1404. columnSortable: false,
  1405. sortLv: 0,
  1406. status: true,
  1407. fixed: '',
  1408. columnWidth: 80
  1409. },
  1410. {
  1411. userId: this.$store.state.user.name,
  1412. functionId: 801002,
  1413. serialNumber: '801002Table2SumPrice',
  1414. tableId: "801002Table2",
  1415. tableName: "关务系统发货通知单明细",
  1416. columnProp: "sumPrice",
  1417. headerAlign: "center",
  1418. align: "right",
  1419. columnLabel: "价税合计",
  1420. columnHidden: false,
  1421. columnImage: false,
  1422. columnSortable: false,
  1423. sortLv: 0,
  1424. status: true,
  1425. fixed: '',
  1426. columnWidth: 80
  1427. },
  1428. {
  1429. userId: this.$store.state.user.name,
  1430. functionId: 801002,
  1431. serialNumber: '801002Table2So',
  1432. tableId: "801002Table2",
  1433. tableName: "关务系统发货通知单明细",
  1434. columnProp: "so",
  1435. headerAlign: "center",
  1436. align: "left",
  1437. columnLabel: "SO",
  1438. columnHidden: false,
  1439. columnImage: false,
  1440. columnSortable: false,
  1441. sortLv: 0,
  1442. status: true,
  1443. fixed: '',
  1444. columnWidth: 100
  1445. },
  1446. {
  1447. userId: this.$store.state.user.name,
  1448. functionId: 801002,
  1449. serialNumber: '801002Table2Upc',
  1450. tableId: "801002Table2",
  1451. tableName: "关务系统发货通知单明细",
  1452. columnProp: "upc",
  1453. headerAlign: "center",
  1454. align: "left",
  1455. columnLabel: "UPC",
  1456. columnHidden: false,
  1457. columnImage: false,
  1458. columnSortable: false,
  1459. sortLv: 0,
  1460. status: true,
  1461. fixed: '',
  1462. columnWidth: 100
  1463. },
  1464. // {
  1465. // userId: this.$store.state.user.name,
  1466. // functionId: 801002,
  1467. // serialNumber: '801002Table2ErpDelItemNo',
  1468. // tableId: "801002Table2",
  1469. // tableName: "关务系统发货通知单明细",
  1470. // columnProp: "erpDelItemNo",
  1471. // headerAlign: "center",
  1472. // align: "right",
  1473. // columnLabel: "ERP发货单行号",
  1474. // columnHidden: false,
  1475. // columnImage: false,
  1476. // columnSortable: false,
  1477. // sortLv: 0,
  1478. // status: true,
  1479. // fixed: '',
  1480. // columnWidth: 60
  1481. // },
  1482. {
  1483. userId: this.$store.state.user.name,
  1484. functionId: 801002,
  1485. serialNumber: '801002Table2Remark',
  1486. tableId: "801002Table2",
  1487. tableName: "关务系统发货通知单明细",
  1488. columnProp: "remark",
  1489. headerAlign: "center",
  1490. align: "left",
  1491. columnLabel: "Remark",
  1492. columnHidden: false,
  1493. columnImage: false,
  1494. columnSortable: false,
  1495. sortLv: 0,
  1496. status: true,
  1497. fixed: '',
  1498. columnWidth: 300
  1499. },
  1500. ],
  1501. columnList3:[
  1502. {
  1503. userId: this.$store.state.user.name,
  1504. functionId: 801002,
  1505. serialNumber: '801002Table3ItemNo',
  1506. tableId: "801002Table3",
  1507. tableName: "装箱明细",
  1508. columnProp: "itemNo",
  1509. headerAlign: "center",
  1510. align: "right",
  1511. columnLabel: "序号",
  1512. columnHidden: false,
  1513. columnImage: false,
  1514. columnSortable: false,
  1515. sortLv: 0,
  1516. status: true,
  1517. fixed: '',
  1518. columnWidth: 40
  1519. },
  1520. {
  1521. userId: this.$store.state.user.name,
  1522. functionId: 801002,
  1523. serialNumber: '801002Table3PalletRemark',
  1524. tableId: "801002Table3",
  1525. tableName: "装箱明细",
  1526. columnProp: "palletRemark",
  1527. headerAlign: "center",
  1528. align: "left",
  1529. columnLabel: "栈板码",
  1530. columnHidden: false,
  1531. columnImage: false,
  1532. columnSortable: false,
  1533. sortLv: 0,
  1534. status: true,
  1535. fixed: '',
  1536. columnWidth: 60
  1537. },
  1538. {
  1539. userId: this.$store.state.user.name,
  1540. functionId: 801002,
  1541. serialNumber: '801002Table3PalletQty',
  1542. tableId: "801002Table3",
  1543. tableName: "装箱明细",
  1544. columnProp: "palletQty",
  1545. headerAlign: "center",
  1546. align: "right",
  1547. columnLabel: "托数",
  1548. columnHidden: false,
  1549. columnImage: false,
  1550. columnSortable: false,
  1551. sortLv: 0,
  1552. status: true,
  1553. fixed: '',
  1554. columnWidth: 40
  1555. },
  1556. {
  1557. userId: this.$store.state.user.name,
  1558. functionId: 801002,
  1559. serialNumber: '801002Table3PoNo',
  1560. tableId: "801002Table3",
  1561. tableName: "装箱明细",
  1562. columnProp: "poNo",
  1563. headerAlign: "center",
  1564. align: "left",
  1565. columnLabel: "PO",
  1566. columnHidden: false,
  1567. columnImage: false,
  1568. columnSortable: false,
  1569. sortLv: 0,
  1570. status: true,
  1571. fixed: '',
  1572. columnWidth: 100
  1573. },
  1574. {
  1575. userId: this.$store.state.user.name,
  1576. functionId: 801002,
  1577. serialNumber: '801002Table3PN',
  1578. tableId: "801002Table3",
  1579. tableName: "装箱明细",
  1580. columnProp: "pn",
  1581. headerAlign: "center",
  1582. align: "left",
  1583. columnLabel: "PN",
  1584. columnHidden: false,
  1585. columnImage: false,
  1586. columnSortable: false,
  1587. sortLv: 0,
  1588. status: true,
  1589. fixed: '',
  1590. columnWidth: 100
  1591. },
  1592. {
  1593. userId: this.$store.state.user.name,
  1594. functionId: 801002,
  1595. serialNumber: '801002Table3Qty',
  1596. tableId: "801002Table3",
  1597. tableName: "装箱明细",
  1598. columnProp: "qty",
  1599. headerAlign: "center",
  1600. align: "right",
  1601. columnLabel: "数量",
  1602. columnHidden: false,
  1603. columnImage: false,
  1604. columnSortable: false,
  1605. sortLv: 0,
  1606. status: true,
  1607. fixed: '',
  1608. columnWidth: 50
  1609. },
  1610. {
  1611. userId: this.$store.state.user.name,
  1612. functionId: 801002,
  1613. serialNumber: '801002Table3BoxQty',
  1614. tableId: "801002Table3",
  1615. tableName: "装箱明细",
  1616. columnProp: "boxQty",
  1617. headerAlign: "center",
  1618. align: "right",
  1619. columnLabel: "箱数",
  1620. columnHidden: false,
  1621. columnImage: false,
  1622. columnSortable: false,
  1623. sortLv: 0,
  1624. status: true,
  1625. fixed: '',
  1626. columnWidth: 50
  1627. },
  1628. {
  1629. userId: this.$store.state.user.name,
  1630. functionId: 801002,
  1631. serialNumber: '801002Table3Rolls',
  1632. tableId: "801002Table3",
  1633. tableName: "装箱明细",
  1634. columnProp: "rolls",
  1635. headerAlign: "center",
  1636. align: "right",
  1637. columnLabel: "Rolls",
  1638. columnHidden: false,
  1639. columnImage: false,
  1640. columnSortable: false,
  1641. sortLv: 0,
  1642. status: true,
  1643. fixed: '',
  1644. columnWidth: 50
  1645. },
  1646. {
  1647. userId: this.$store.state.user.name,
  1648. functionId: 801002,
  1649. serialNumber: '801002Table3Length',
  1650. tableId: "801002Table3",
  1651. tableName: "装箱明细",
  1652. columnProp: "length",
  1653. headerAlign: "center",
  1654. align: "right",
  1655. columnLabel: "长(M)",
  1656. columnHidden: false,
  1657. columnImage: false,
  1658. columnSortable: false,
  1659. sortLv: 0,
  1660. status: true,
  1661. fixed: '',
  1662. columnWidth: 50
  1663. },
  1664. {
  1665. userId: this.$store.state.user.name,
  1666. functionId: 801002,
  1667. serialNumber: '801002Table3Width',
  1668. tableId: "801002Table3",
  1669. tableName: "装箱明细",
  1670. columnProp: "width",
  1671. headerAlign: "center",
  1672. align: "right",
  1673. columnLabel: "宽(M)",
  1674. columnHidden: false,
  1675. columnImage: false,
  1676. columnSortable: false,
  1677. sortLv: 0,
  1678. status: true,
  1679. fixed: '',
  1680. columnWidth: 50
  1681. },
  1682. {
  1683. userId: this.$store.state.user.name,
  1684. functionId: 801002,
  1685. serialNumber: '801002Table3Height',
  1686. tableId: "801002Table3",
  1687. tableName: "装箱明细",
  1688. columnProp: "height",
  1689. headerAlign: "center",
  1690. align: "right",
  1691. columnLabel: "高(M)",
  1692. columnHidden: false,
  1693. columnImage: false,
  1694. columnSortable: false,
  1695. sortLv: 0,
  1696. status: true,
  1697. fixed: '',
  1698. columnWidth: 50
  1699. },
  1700. {
  1701. userId: this.$store.state.user.name,
  1702. functionId: 801002,
  1703. serialNumber: '801002Table3Volume',
  1704. tableId: "801002Table3",
  1705. tableName: "装箱明细",
  1706. columnProp: "volume",
  1707. headerAlign: "center",
  1708. align: "right",
  1709. columnLabel: "体积",
  1710. columnHidden: false,
  1711. columnImage: false,
  1712. columnSortable: false,
  1713. sortLv: 0,
  1714. status: true,
  1715. fixed: '',
  1716. columnWidth: 50
  1717. },
  1718. {
  1719. userId: this.$store.state.user.name,
  1720. functionId: 801002,
  1721. serialNumber: '801002TableGrossWeight',
  1722. tableId: "801002Table3",
  1723. tableName: "装箱明细",
  1724. columnProp: "grossWeight",
  1725. headerAlign: "center",
  1726. align: "right",
  1727. columnLabel: "毛重",
  1728. columnHidden: false,
  1729. columnImage: false,
  1730. columnSortable: false,
  1731. sortLv: 0,
  1732. status: true,
  1733. fixed: '',
  1734. columnWidth: 50
  1735. },
  1736. {
  1737. userId: this.$store.state.user.name,
  1738. functionId: 801002,
  1739. serialNumber: '801002TableNetWeight',
  1740. tableId: "801002Table3",
  1741. tableName: "装箱明细",
  1742. columnProp: "netWeight",
  1743. headerAlign: "center",
  1744. align: "right",
  1745. columnLabel: "净重",
  1746. columnHidden: false,
  1747. columnImage: false,
  1748. columnSortable: false,
  1749. sortLv: 0,
  1750. status: true,
  1751. fixed: '',
  1752. columnWidth: 50
  1753. },
  1754. ],
  1755. columnList4:[
  1756. {
  1757. userId: this.$store.state.user.name,
  1758. functionId: 801002,
  1759. serialNumber: '801002Table4SeqNo',
  1760. tableId: "801002Table4",
  1761. tableName: "装箱栈板主表",
  1762. columnProp: "seqNo",
  1763. headerAlign: "center",
  1764. align: "right",
  1765. columnLabel: "序号",
  1766. columnHidden: false,
  1767. columnImage: false,
  1768. columnSortable: false,
  1769. sortLv: 0,
  1770. status: true,
  1771. fixed: '',
  1772. columnWidth: 40
  1773. },
  1774. {
  1775. userId: this.$store.state.user.name,
  1776. functionId: 801002,
  1777. serialNumber: '801002Table4PalletRemark',
  1778. tableId: "801002Table4",
  1779. tableName: "装箱栈板主表",
  1780. columnProp: "palletRemark",
  1781. headerAlign: "center",
  1782. align: "left",
  1783. columnLabel: "栈板码",
  1784. columnHidden: false,
  1785. columnImage: false,
  1786. columnSortable: false,
  1787. sortLv: 0,
  1788. status: true,
  1789. fixed: '',
  1790. columnWidth: 60
  1791. },
  1792. {
  1793. userId: this.$store.state.user.name,
  1794. functionId: 801002,
  1795. serialNumber: '801002Table4PalletQty',
  1796. tableId: "801002Table4",
  1797. tableName: "装箱栈板主表",
  1798. columnProp: "palletQty",
  1799. headerAlign: "center",
  1800. align: "right",
  1801. columnLabel: "数量",
  1802. columnHidden: false,
  1803. columnImage: false,
  1804. columnSortable: false,
  1805. sortLv: 0,
  1806. status: true,
  1807. fixed: '',
  1808. columnWidth: 50
  1809. },
  1810. {
  1811. userId: this.$store.state.user.name,
  1812. functionId: 801002,
  1813. serialNumber: '801002Table4Length',
  1814. tableId: "801002Table4",
  1815. tableName: "装箱栈板主表",
  1816. columnProp: "length",
  1817. headerAlign: "center",
  1818. align: "right",
  1819. columnLabel: "长(M)",
  1820. columnHidden: false,
  1821. columnImage: false,
  1822. columnSortable: false,
  1823. sortLv: 0,
  1824. status: true,
  1825. fixed: '',
  1826. columnWidth: 50
  1827. },
  1828. {
  1829. userId: this.$store.state.user.name,
  1830. functionId: 801002,
  1831. serialNumber: '801002Table4Width',
  1832. tableId: "801002Table4",
  1833. tableName: "装箱栈板主表",
  1834. columnProp: "width",
  1835. headerAlign: "center",
  1836. align: "right",
  1837. columnLabel: "宽(M)",
  1838. columnHidden: false,
  1839. columnImage: false,
  1840. columnSortable: false,
  1841. sortLv: 0,
  1842. status: true,
  1843. fixed: '',
  1844. columnWidth: 50
  1845. },
  1846. {
  1847. userId: this.$store.state.user.name,
  1848. functionId: 801002,
  1849. serialNumber: '801002Table4Height',
  1850. tableId: "801002Table4",
  1851. tableName: "装箱栈板主表",
  1852. columnProp: "height",
  1853. headerAlign: "center",
  1854. align: "right",
  1855. columnLabel: "高(M)",
  1856. columnHidden: false,
  1857. columnImage: false,
  1858. columnSortable: false,
  1859. sortLv: 0,
  1860. status: true,
  1861. fixed: '',
  1862. columnWidth: 50
  1863. },
  1864. {
  1865. userId: this.$store.state.user.name,
  1866. functionId: 801002,
  1867. serialNumber: '801002Table4GrossWeight',
  1868. tableId: "801002Table4",
  1869. tableName: "装箱栈板主表",
  1870. columnProp: "grossWeight",
  1871. headerAlign: "center",
  1872. align: "right",
  1873. columnLabel: "毛重",
  1874. columnHidden: false,
  1875. columnImage: false,
  1876. columnSortable: false,
  1877. sortLv: 0,
  1878. status: true,
  1879. fixed: '',
  1880. columnWidth: 50
  1881. },
  1882. {
  1883. userId: this.$store.state.user.name,
  1884. functionId: 801002,
  1885. serialNumber: '801002Table4NetWeight',
  1886. tableId: "801002Table4",
  1887. tableName: "装箱栈板主表",
  1888. columnProp: "netWeight",
  1889. headerAlign: "center",
  1890. align: "right",
  1891. columnLabel: "净重",
  1892. columnHidden: false,
  1893. columnImage: false,
  1894. columnSortable: false,
  1895. sortLv: 0,
  1896. status: true,
  1897. fixed: '',
  1898. columnWidth: 50
  1899. },
  1900. ],
  1901. columnList5:[
  1902. {
  1903. userId: this.$store.state.user.name,
  1904. functionId: 801002,
  1905. serialNumber: '801002Table5PartNo',
  1906. tableId: "801002Table5",
  1907. tableName: "栈板装箱明细",
  1908. columnProp: "pn",
  1909. headerAlign: "center",
  1910. align: "left",
  1911. columnLabel: "物料编码",
  1912. columnHidden: false,
  1913. columnImage: false,
  1914. columnSortable: false,
  1915. sortLv: 0,
  1916. status: true,
  1917. fixed: '',
  1918. columnWidth: 70
  1919. },
  1920. {
  1921. userId: this.$store.state.user.name,
  1922. functionId: 801002,
  1923. serialNumber: '801002Table5Qty',
  1924. tableId: "801002Table5",
  1925. tableName: "栈板装箱明细",
  1926. columnProp: "qty",
  1927. headerAlign: "center",
  1928. align: "right",
  1929. columnLabel: "数量",
  1930. columnHidden: false,
  1931. columnImage: false,
  1932. columnSortable: false,
  1933. sortLv: 0,
  1934. status: true,
  1935. fixed: '',
  1936. columnWidth: 80
  1937. },
  1938. {
  1939. userId: this.$store.state.user.name,
  1940. functionId: 801002,
  1941. serialNumber: '801002Table5BoxQty',
  1942. tableId: "801002Table5",
  1943. tableName: "栈板装箱明细",
  1944. columnProp: "boxQty",
  1945. headerAlign: "center",
  1946. align: "right",
  1947. columnLabel: "箱数",
  1948. columnHidden: false,
  1949. columnImage: false,
  1950. columnSortable: false,
  1951. sortLv: 0,
  1952. status: true,
  1953. fixed: '',
  1954. columnWidth: 70
  1955. },
  1956. {
  1957. userId: this.$store.state.user.name,
  1958. functionId: 801002,
  1959. serialNumber: '801002Table5Rolls',
  1960. tableId: "801002Table5",
  1961. tableName: "栈板装箱明细",
  1962. columnProp: "rolls",
  1963. headerAlign: "center",
  1964. align: "right",
  1965. columnLabel: "Rolls",
  1966. columnHidden: false,
  1967. columnImage: false,
  1968. columnSortable: false,
  1969. sortLv: 0,
  1970. status: true,
  1971. fixed: '',
  1972. columnWidth: 70
  1973. },
  1974. ],
  1975. currentRow:{},
  1976. }
  1977. },
  1978. mounted() {
  1979. this.$nextTick(() => {
  1980. this.height = (window.innerHeight - 260)/2;
  1981. })
  1982. },
  1983. watch: {
  1984. dataList8: {
  1985. handler() {
  1986. this.$nextTick(() => {
  1987. if(this.currentRow.buNo==='03-RFID' && this.currentRow.walMartOrderFlag==='Y') {
  1988. this.toggleSelection(this.dataList8)
  1989. }
  1990. })
  1991. },
  1992. }
  1993. },
  1994. methods: {
  1995. openPartDialog () {
  1996. this.searchPartList();
  1997. this.partFlag = true
  1998. },
  1999. closePartDialog () {
  2000. this.partList = []
  2001. this.partFlag = false
  2002. },
  2003. searchPartList () {
  2004. this.partData.site = this.currentRow.site
  2005. this.partData.delNo = this.currentRow.delNo
  2006. getNotifyPartDetail(this.partData).then(({data}) => {
  2007. if (data && data.code === 0){
  2008. this.partList = data.rows;
  2009. }
  2010. })
  2011. },
  2012. partRowDblclick (row) {
  2013. this.boxModelData.partNo = row.partNo
  2014. this.boxModelData.pn = row.pn
  2015. this.partFlag = false
  2016. },
  2017. // 获取基础数据列表S
  2018. getBaseList(val, type) {
  2019. this.tagNo = val
  2020. this.$nextTick(() => {
  2021. let strVal = ''
  2022. if (val === 507) {
  2023. strVal = this.boxModelData.partNo
  2024. }
  2025. this.$refs.baseList.init(val, strVal)
  2026. })
  2027. },
  2028. /* 列表方法的回调 */
  2029. getBaseData(val) {
  2030. if (this.tagNo === 507) {
  2031. this.boxModelData.partNo = val.part_no
  2032. }
  2033. },
  2034. // 每页数
  2035. sizeChangeHandle (val) {
  2036. this.pageSize = val
  2037. this.pageIndex = 1
  2038. this.searchTable()
  2039. },
  2040. // 当前页
  2041. currentChangeHandle (val) {
  2042. this.pageIndex = val
  2043. this.searchTable()
  2044. },
  2045. searchTable(){
  2046. this.searchData.limit = this.pageSize
  2047. this.searchData.page = this.pageIndex
  2048. searchEcssCoDelNotifyHeaderForCK(this.searchData).then(({data}) => {
  2049. //区分请求成功和失败的状况
  2050. if (data && data.code == 0) {
  2051. this.dataList = data.page.list
  2052. this.pageIndex = data.page.currPage
  2053. this.pageSize = data.page.pageSize
  2054. this.totalPage = data.page.totalCount
  2055. if(this.dataList.length>0){
  2056. this.$refs.mainTable.setCurrentRow(this.dataList[0]);
  2057. this.changeData(this.dataList[0])
  2058. this.dataList.forEach(o => {
  2059. if (o.notifyStatus==='仓库已确认'&&!o.notifyDate) {
  2060. o.notifyDate='发货日期不确定'
  2061. }
  2062. this.dataList.forEach(o => {
  2063. o.modifyLabel = !!o.modifyFlag?'是':'';
  2064. });
  2065. });
  2066. }else {
  2067. this.changeData(null)
  2068. }
  2069. } else {
  2070. this.dataList = [];
  2071. }
  2072. });
  2073. },
  2074. cellStyle({row, column }) {
  2075. if (column.property === 'notifyDate' && row.notifyDate==='发货日期不确定') { // 根据列属性判断
  2076. return { color: '#ff5d03' };
  2077. }
  2078. if (column.property === 'modifyLabel' && row.modifyLabel==='是') { // 根据列属性判断
  2079. return { color: '#ff5d03' };
  2080. }
  2081. return {};
  2082. },
  2083. cellStyleDetail({row, column }) {
  2084. if ((column.property === 'pn' || column.property === 'qty') && row.modifyFlag===true) { // 根据列属性判断
  2085. return { color: '#ff5d03' };
  2086. }
  2087. return {};
  2088. },
  2089. changeData(row){
  2090. this.currentRow = JSON.parse(JSON.stringify(row));
  2091. if (this.currentRow.notifyDate==='发货日期不确定') {
  2092. this.currentRow.notifyDate=''
  2093. }
  2094. this.headerData=row;
  2095. this.refreshCurrentTabTable ();
  2096. },
  2097. refreshCurrentTabTable(){
  2098. if(this.currentRow===''||this.currentRow===null){
  2099. this.currentRow={site:'',delNo:'',notifyStatus:''}
  2100. }
  2101. if(this.activeName==='detail'){
  2102. searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => {
  2103. //区分请求成功和失败的状况
  2104. if (data && data.code == 0) {
  2105. this.dataList2 = data.rows
  2106. } else {
  2107. this.dataList2 = [];
  2108. }
  2109. });
  2110. }
  2111. if(this.activeName==='pallet'){
  2112. searchCoDelPalletDataNew(this.currentRow).then(({data}) => {
  2113. //区分请求成功和失败的状况
  2114. if (data && data.code == 0) {
  2115. this.dataList3 = data.rows
  2116. } else {
  2117. this.dataList3 = [];
  2118. }
  2119. });
  2120. }
  2121. if(this.activeName==='box'){
  2122. searchEcssCoDelPalletHeaderData(this.currentRow).then(({data}) => {
  2123. //区分请求成功和失败的状况
  2124. if (data && data.code == 0) {
  2125. this.dataList4 = data.rows
  2126. } else {
  2127. this.dataList4 = [];
  2128. }
  2129. });
  2130. }
  2131. },
  2132. tabClick (tab, event) {
  2133. // 刷新列表数据
  2134. this.refreshCurrentTabTable()
  2135. },
  2136. confirmDo(){
  2137. /* if (!this.confirmModel.notifyDate) {
  2138. this.$alert('请选择预计发货日期!', '错误', {
  2139. confirmButtonText: '确定'
  2140. })
  2141. return false
  2142. } */
  2143. confirmEcssDel(this.confirmModel).then(({data}) => {
  2144. if (data && data.code === 0) {
  2145. this.searchTable()
  2146. this.confirmModelFlag=false
  2147. this.$message({
  2148. message: '操作成功',
  2149. type: 'success',
  2150. duration: 1500,
  2151. onClose: () => {}
  2152. })
  2153. } else {
  2154. this.$alert(data.msg, '错误', {
  2155. confirmButtonText: '确定'
  2156. })
  2157. }
  2158. })
  2159. },
  2160. cancerConfirm(row){
  2161. let indata=JSON.parse(JSON.stringify(row));
  2162. if (row.notifyDate==='发货日期不确定') {
  2163. indata.notifyDate=''
  2164. }
  2165. this.$confirm('取消确认这条发货通知单?', '提示').then(() => {
  2166. cancerConfirmEcssDel(indata).then(({data}) => {
  2167. if (data && data.code === 0) {
  2168. this.searchTable()
  2169. this.$message({
  2170. message: '操作成功',
  2171. type: 'success',
  2172. duration: 1500,
  2173. onClose: () => {}
  2174. })
  2175. } else {
  2176. this.$alert(data.msg, '错误', {
  2177. confirmButtonText: '确定'
  2178. })
  2179. }
  2180. })
  2181. })
  2182. },
  2183. getBu () {
  2184. let tempData = {
  2185. username: this.$store.state.user.name,
  2186. }
  2187. getBuList(tempData).then(({data}) => {
  2188. if (data.code === 0) {
  2189. this.buList = data.row2
  2190. if (this.buList.length===1) {
  2191. this.searchData.buNo = this.buList[0].buNo;
  2192. }
  2193. }
  2194. })
  2195. },
  2196. confirmModelOpen(row){
  2197. this.confirmModel=JSON.parse(JSON.stringify(row));
  2198. this.confirmModelFlag=true
  2199. },
  2200. updateModelOpen(row){
  2201. this.confirmModel=JSON.parse(JSON.stringify(row));
  2202. if (this.confirmModel.notifyDate==='发货日期不确定') {
  2203. this.confirmModel.notifyDate=''
  2204. }
  2205. this.updateModelFlag=true
  2206. },
  2207. updateDo(){
  2208. if (!this.confirmModel.readyDate) {
  2209. this.$alert('请选择ReadyDate!', '错误', {
  2210. confirmButtonText: '确定'
  2211. })
  2212. return false
  2213. }
  2214. updateEcssDel(this.confirmModel).then(({data}) => {
  2215. if (data && data.code === 0) {
  2216. this.searchTable()
  2217. this.updateModelFlag=false
  2218. this.$message({
  2219. message: '操作成功',
  2220. type: 'success',
  2221. duration: 1500,
  2222. onClose: () => {}
  2223. })
  2224. } else {
  2225. this.$alert(data.msg, '错误', {
  2226. confirmButtonText: '确定'
  2227. })
  2228. }
  2229. })
  2230. },
  2231. upLoadPallet(){
  2232. /* if(this.dataList3.length>0){
  2233. this.$alert('已经有明细无法再次导入请去手工装箱全部删除!', '错误', {
  2234. confirmButtonText: '确定'
  2235. })
  2236. return false
  2237. } */
  2238. if(this.currentRow.site===''||this.currentRow.site==null){
  2239. this.$alert('请先选择发货通知单!', '错误', {
  2240. confirmButtonText: '确定'
  2241. })
  2242. return false
  2243. }
  2244. /*if(this.currentRow.walMartOrderFlag==='Y'){
  2245. this.$alert('沃尔玛订单暂时无法导入装箱清单!', '错误', {
  2246. confirmButtonText: '确定'
  2247. })
  2248. return false
  2249. }*/
  2250. let inData={
  2251. site:this.currentRow.site,
  2252. buNo:this.currentRow.buNo,
  2253. delNo:this.currentRow.delNo,
  2254. cmcInvoice:this.currentRow.cmcInvoice,
  2255. shippingMode: this.currentRow.shippingMode,
  2256. destination : this.currentRow.destination,
  2257. walMartOrderFlag:this.currentRow.walMartOrderFlag
  2258. }
  2259. this.$nextTick(() => {
  2260. this.$refs.palletUploadExcel.init(inData)
  2261. })
  2262. },
  2263. async exportExcel() {
  2264. let searchData={
  2265. site: this.currentRow.site,
  2266. buNo: this.currentRow.buNo,
  2267. delNo: this.currentRow.delNo,
  2268. cmcInvoice: this.currentRow.cmcInvoice,
  2269. shippingMode: this.currentRow.shippingMode,
  2270. destination : this.currentRow.destination,
  2271. createBy: this.$store.state.user.name,
  2272. }
  2273. try {
  2274. // 先导出Excel
  2275. await excel.exportTable({
  2276. url: "/ecss/coDel/searchCoDelPalletList",
  2277. columnMapping: excelOpts.PalletSku.columnMapping,//可以直接用table,不需要的列就剔除
  2278. mergeSetting: [],//需要合并的列
  2279. params: searchData,
  2280. fileName: "装箱数据导入模版.xlsx",
  2281. rowFetcher: res => res.data,
  2282. columnFormatter: [],
  2283. dropColumns: [],//需要剔除的列,例如dropColumns: ["netWeight"],即剔除净重列
  2284. });
  2285. // 导出成功后更新export_flag字段
  2286. let updateData = {
  2287. site: this.currentRow.site,
  2288. buNo: this.currentRow.buNo,
  2289. delNo: this.currentRow.delNo,
  2290. exportFlag: 'Y',
  2291. updateBy: this.$store.state.user.name
  2292. }
  2293. updateExportFlag(updateData).then(({data}) => {
  2294. if (data.code === 0) {
  2295. // 刷新当前行的导出状态
  2296. this.currentRow.exportFlag = 'Y';
  2297. // 刷新表格数据
  2298. this.searchTable();
  2299. } else {
  2300. this.$message.warning('导出成功,但更新导出状态失败:' + data.msg);
  2301. }
  2302. }).catch(error => {
  2303. this.$message.warning('导出成功,但更新导出状态失败');
  2304. console.error('更新导出状态失败:', error);
  2305. });
  2306. } catch (error) {
  2307. this.$message.error('导出失败');
  2308. console.error('导出失败:', error);
  2309. }
  2310. },
  2311. searchPalletTable(){
  2312. this.refreshCurrentTabTable();
  2313. },
  2314. boxDetailModel(row){
  2315. this.boxDetailData=row
  2316. searchEcssCoDelPalletDetailData(row).then(({data}) => {
  2317. if (data.code === 0) {
  2318. this.dataList5 = data.rows
  2319. }
  2320. })
  2321. this.boxDetailModelFlag=true
  2322. },
  2323. updatePalletModel(row){
  2324. this.palletModelData=JSON.parse(JSON.stringify(row))
  2325. this.palletModelData.palletRemark=row.palletRemark
  2326. this.palletModelData.addFlag=1
  2327. this.palletModelFlag=true
  2328. },
  2329. newPalletModel(){
  2330. this.oneOrAll=1;
  2331. if(this.currentRow.site===''||this.currentRow.site==null){
  2332. this.$alert('请先选择发货通知单!', '错误', {
  2333. confirmButtonText: '确定'
  2334. })
  2335. return false
  2336. }
  2337. this.palletModelData={
  2338. addFlag:0,
  2339. site:this.currentRow.site,
  2340. buNo:this.currentRow.buNo,
  2341. delNo:this.currentRow.delNo,
  2342. seqNo:'',
  2343. palletNo:'',
  2344. palletQty:'',
  2345. length:'',
  2346. width:'',
  2347. height:'',
  2348. volume:'',
  2349. grossWeight:'',
  2350. netWeight:'',
  2351. pallet:'',
  2352. palletRemark:'',
  2353. }
  2354. searchEcssCoDelNotifyDetail(this.currentRow).then(({data}) => {
  2355. if (data && data.code == 0) {
  2356. this.dataList8 = data.rows
  2357. this.dataList8.forEach(o => {
  2358. if (!o.nocartons) {
  2359. o.nativeNocartons = Math.ceil(o.qty/(o.rollqty*o.boxrolls));
  2360. o.nocartons = Math.ceil(o.qty/(o.rollqty*o.boxrolls));
  2361. } else {
  2362. o.nativeNocartons = o.nocartons;
  2363. }
  2364. if (this.notifyDetailMap.has(o.pn)) {
  2365. this.notifyDetailMap.get(o.pn).qty=parseInt(this.notifyDetailMap.get(o.pn).qty)+parseInt(o.qty);
  2366. } else {
  2367. this.notifyDetailMap.set(o.pn, JSON.parse(JSON.stringify(o)));
  2368. }
  2369. });
  2370. this.dataList8 = this.dataList8.filter(o => parseInt(o.nocartons)>0);
  2371. } else {
  2372. this.dataList8 = [];
  2373. }
  2374. });
  2375. this.palletModelFlag=true
  2376. },
  2377. handleSelectionChange(val) {
  2378. this.multipleSelection = val;
  2379. },
  2380. toggleSelection(rows) {
  2381. rows.forEach(row => {
  2382. this.$refs.partTableRef.toggleRowSelection(row,true);
  2383. });
  2384. },
  2385. // 装箱复制明细行
  2386. copyColumn(row){
  2387. let copyrow = JSON.parse(JSON.stringify(row));
  2388. copyrow.qty=0;
  2389. copyrow.nocartons=0;
  2390. copyrow.newRow=1;
  2391. this.dataList8.push(copyrow);
  2392. this.toggleSelection(this.dataList8)
  2393. },
  2394. deleteColumn(index){
  2395. this.dataList8.splice(index,1);
  2396. this.toggleSelection(this.dataList8)
  2397. },
  2398. savePalletHeader(){
  2399. if (this.palletModelData.addFlag===0 && this.multipleSelection.length===0) {
  2400. this.$alert('请选择装箱物料!', '错误', {
  2401. confirmButtonText: '确定'
  2402. })
  2403. return false
  2404. }
  2405. if(this.palletModelData.palletQty===''||this.palletModelData.palletQty==null){
  2406. this.$alert('请输入数量!', '错误', {
  2407. confirmButtonText: '确定'
  2408. })
  2409. return false
  2410. }
  2411. let qtyNoMatch = false;
  2412. let pn='';
  2413. if (this.currentRow.buNo==='03-RFID' && this.currentRow.walMartOrderFlag==='Y') {
  2414. let mulMap = new Map();
  2415. this.multipleSelection.forEach(o => {
  2416. o.nocartons = Math.ceil(o.qty/(o.rollqty*o.boxrolls));
  2417. if (mulMap.has(o.pn)) {
  2418. mulMap.get(o.pn).qty=parseInt(mulMap.get(o.pn).qty)+parseInt(o.qty);
  2419. } else {
  2420. mulMap.set(o.pn, JSON.parse(JSON.stringify(o)));
  2421. }
  2422. });
  2423. mulMap.forEach((value, key) => {
  2424. if (parseInt(this.notifyDetailMap.get(key).qty)!==parseInt(value.qty)) {
  2425. qtyNoMatch = true;
  2426. pn = pn+(pn?',':'')+value.pn;
  2427. }
  2428. })
  2429. } else {
  2430. this.multipleSelection.forEach(o => {
  2431. o.qty = o.nocartons*o.rollqty*o.boxrolls;
  2432. o.nocartons = o.nativeNocartons - o.nocartons;
  2433. });
  2434. }
  2435. if (qtyNoMatch) {
  2436. this.$alert('PN['+pn+']原始数量和输入总数不相等!', '错误', {
  2437. confirmButtonText: '确定'
  2438. })
  2439. return false
  2440. }
  2441. this.palletModelData.walMartOrderFlag = this.currentRow.walMartOrderFlag;
  2442. this.palletModelData.notifyDetailList = this.multipleSelection;
  2443. savePalletHeader(this.palletModelData).then(({data}) => {
  2444. if (data && data.code === 0) {
  2445. this.refreshCurrentTabTable()
  2446. this.palletModelFlag=false;
  2447. this.$message({
  2448. message: '操作成功',
  2449. type: 'success',
  2450. duration: 1500,
  2451. onClose: () => {}
  2452. })
  2453. } else {
  2454. this.$alert(data.msg, '错误', {
  2455. confirmButtonText: '确定'
  2456. })
  2457. }
  2458. })
  2459. },
  2460. deletePallet(row){
  2461. this.$confirm('确认删除此明细?', '提示').then(() => {
  2462. deletePalletHeader(row).then(({data}) => {
  2463. if (data && data.code === 0) {
  2464. this.refreshCurrentTabTable()
  2465. this.$message({
  2466. message: '操作成功',
  2467. type: 'success',
  2468. duration: 1500,
  2469. onClose: () => {}
  2470. })
  2471. } else {
  2472. this.$alert(data.msg, '错误', {
  2473. confirmButtonText: '确定'
  2474. })
  2475. }
  2476. })
  2477. })
  2478. },
  2479. updateBoxModel(row,type){
  2480. this.boxModelData=JSON.parse(JSON.stringify(row))
  2481. this.boxModelData.addFlag=1
  2482. this.boxModelData.type=type
  2483. this.boxModelFlag=true
  2484. },
  2485. newBoxModel(){
  2486. this.boxModelData={
  2487. addFlag:0,
  2488. site:this.boxDetailData.site,
  2489. buNo:this.boxDetailData.buNo,
  2490. delNo:this.boxDetailData.delNo,
  2491. seqNo:this.boxDetailData.seqNo,
  2492. itemNo:'',
  2493. partNo:'',
  2494. pn:'',
  2495. qty:'',
  2496. poNo:'',
  2497. boxQty:'',
  2498. rolls:'',
  2499. type:0
  2500. }
  2501. this.boxModelFlag=true
  2502. },
  2503. saveBoxHeader(){
  2504. if(this.boxModelData.partNo===''||this.boxModelData.partNo==null){
  2505. this.$alert('请输入物料!', '错误', {
  2506. confirmButtonText: '确定'
  2507. })
  2508. return false
  2509. }
  2510. if(this.boxModelData.qty<=0||this.boxModelData.qty==null){
  2511. this.$alert('请输入数量!', '错误', {
  2512. confirmButtonText: '确定'
  2513. })
  2514. return false
  2515. }
  2516. savePalletDetail(this.boxModelData).then(({data}) => {
  2517. if (data && data.code === 0) {
  2518. searchEcssCoDelPalletDetailData(this.boxDetailData).then(({data}) => {
  2519. if (data.code === 0) {
  2520. this.dataList5 = data.rows
  2521. }
  2522. })
  2523. searchCoDelPalletDataNew(this.currentRow).then(({data}) => {
  2524. if (data && data.code == 0) {
  2525. this.dataList3 = data.rows
  2526. } else {
  2527. this.dataList3 = [];
  2528. }
  2529. });
  2530. this.boxModelFlag=false;
  2531. this.$message({
  2532. message: '操作成功',
  2533. type: 'success',
  2534. duration: 1500,
  2535. onClose: () => {}
  2536. })
  2537. } else {
  2538. this.$alert(data.msg, '错误', {
  2539. confirmButtonText: '确定'
  2540. })
  2541. }
  2542. })
  2543. },
  2544. deleteBox(row){
  2545. this.$confirm('确认删除此明细?', '提示').then(() => {
  2546. deletePalletDetail(row).then(({data}) => {
  2547. if (data && data.code === 0) {
  2548. searchEcssCoDelPalletDetailData(this.boxDetailData).then(({data}) => {
  2549. if (data.code === 0) {
  2550. this.dataList5 = data.rows
  2551. }
  2552. })
  2553. this.$message({
  2554. message: '操作成功',
  2555. type: 'success',
  2556. duration: 1500,
  2557. onClose: () => {}
  2558. })
  2559. } else {
  2560. this.$alert(data.msg, '错误', {
  2561. confirmButtonText: '确定'
  2562. })
  2563. }
  2564. })
  2565. })
  2566. },
  2567. oneClickPacking(){
  2568. this.oneOrAll = 2;
  2569. if(this.currentRow.site===''||this.currentRow.site==null){
  2570. this.$alert('请先选择发货通知单!', '错误', {
  2571. confirmButtonText: '确定'
  2572. })
  2573. return false
  2574. }
  2575. /* if(this.dataList4.length>0){
  2576. this.$alert('已存在装箱数据,不可一键装箱!', '错误', {
  2577. confirmButtonText: '确定'
  2578. })
  2579. return false
  2580. } */
  2581. this.oneClickPackingModelData={
  2582. boxRemnant: false,
  2583. }
  2584. // 重置栈板记录并默认添加一行
  2585. this.oneClickPalletRecords = []
  2586. this.oneClickPalletRecords.push({
  2587. pallet: '',
  2588. palletQty: '',
  2589. height: ''
  2590. })
  2591. this.oneClickPackingModelFlag=true
  2592. },
  2593. saveOneClickPacking(){
  2594. let saveData = {
  2595. site: this.currentRow.site,
  2596. buNo: this.currentRow.buNo,
  2597. delNo: this.currentRow.delNo,
  2598. boxRemnant: this.oneClickPackingModelData.boxRemnant,
  2599. palletRecords: JSON.stringify(this.oneClickPalletRecords)
  2600. }
  2601. saveOneClickPacking(saveData).then(({data}) => {
  2602. if (data && data.code === 0) {
  2603. this.refreshCurrentTabTable()
  2604. this.oneClickPackingModelFlag=false;
  2605. this.$message({
  2606. message: '操作成功',
  2607. type: 'success',
  2608. duration: 1500,
  2609. onClose: () => {}
  2610. })
  2611. } else {
  2612. this.$alert(data.msg, '错误', {
  2613. confirmButtonText: '确定'
  2614. })
  2615. }
  2616. })
  2617. },
  2618. // 一键装箱栈板记录相关方法
  2619. addOneClickPalletRecord() {
  2620. this.oneClickPalletRecords.push({
  2621. pallet: '',
  2622. palletQty: '',
  2623. height: ''
  2624. })
  2625. },
  2626. removeOneClickPalletRecord(index) {
  2627. this.oneClickPalletRecords.splice(index, 1)
  2628. },
  2629. selectOneClickPallet(index) {
  2630. this.currentOneClickPalletIndex = index
  2631. this.palletFlag = true
  2632. },
  2633. openPalletDialog () {
  2634. //请求
  2635. this.searchPalletList();
  2636. },
  2637. closePalletDialog () {
  2638. this.palletList = []
  2639. this.palletFlag = false
  2640. },
  2641. searchPalletList () {
  2642. this.palletData.buNo = (this.oneOrAll===2 || this.oneOrAll===3)?this.currentRow.buNo:this.palletModelData.buNo
  2643. searchPalletList(this.palletData).then(({data}) => {
  2644. if (data && data.code === 0){
  2645. this.palletList = data.rows;
  2646. }
  2647. })
  2648. },
  2649. palletRowDblclick (row) {
  2650. if (this.oneOrAll===2) {
  2651. // 一键装箱栈板选择
  2652. if (this.currentOneClickPalletIndex >= 0) {
  2653. this.oneClickPalletRecords[this.currentOneClickPalletIndex].pallet = row.palletNo
  2654. }
  2655. } else if (this.oneOrAll===3) {
  2656. // 栈板维护栈板选择
  2657. if (this.currentPalletMaintenanceIndex >= 0) {
  2658. this.palletMaintenanceRecords[this.currentPalletMaintenanceIndex].pallet = row.palletNo
  2659. }
  2660. } else {
  2661. this.palletModelData.pallet = row.palletNo
  2662. }
  2663. this.palletFlag = false
  2664. },
  2665. // 栈板维护相关方法
  2666. palletMaintenance() {
  2667. this.oneOrAll = 3;
  2668. if(this.currentRow.site===''||this.currentRow.site==null){
  2669. this.$alert('请先选择发货通知单!', '错误', {
  2670. confirmButtonText: '确定'
  2671. })
  2672. return false
  2673. }
  2674. // 重置栈板记录并默认添加一行
  2675. this.palletMaintenanceRecords = []
  2676. this.palletMaintenanceRecords.push({
  2677. pallet: '',
  2678. palletQty: '',
  2679. height: ''
  2680. })
  2681. this.palletMaintenanceModelFlag = true
  2682. },
  2683. addPalletMaintenanceRecord() {
  2684. this.palletMaintenanceRecords.push({
  2685. pallet: '',
  2686. palletQty: '',
  2687. height: ''
  2688. })
  2689. },
  2690. removePalletMaintenanceRecord(index) {
  2691. this.palletMaintenanceRecords.splice(index, 1)
  2692. },
  2693. selectPalletMaintenance(index) {
  2694. this.currentPalletMaintenanceIndex = index
  2695. this.palletFlag = true
  2696. },
  2697. savePalletMaintenance() {
  2698. // 验证栈板记录
  2699. for (let i = 0; i < this.palletMaintenanceRecords.length; i++) {
  2700. const record = this.palletMaintenanceRecords[i]
  2701. if (!record.pallet) {
  2702. this.$alert(`${i + 1}行栈板不能为空!`, '错误', {
  2703. confirmButtonText: '确定'
  2704. })
  2705. return false
  2706. }
  2707. if (!record.palletQty || record.palletQty <= 0) {
  2708. this.$alert(`${i + 1}行托数必须大于0!`, '错误', {
  2709. confirmButtonText: '确定'
  2710. })
  2711. return false
  2712. }
  2713. if (!record.height || record.height <= 0) {
  2714. this.$alert(`${i + 1}行栈板高度必须大于0!`, '错误', {
  2715. confirmButtonText: '确定'
  2716. })
  2717. return false
  2718. }
  2719. }
  2720. // 这里只新增栈板记录,不做其他事情
  2721. let saveData = {
  2722. site: this.currentRow.site,
  2723. buNo: this.currentRow.buNo,
  2724. delNo: this.currentRow.delNo,
  2725. palletRecords: JSON.stringify(this.palletMaintenanceRecords),
  2726. }
  2727. // 使用相同的API,但传递maintenanceOnly标识
  2728. savePalletMaintenance(saveData).then(({data}) => {
  2729. if (data && data.code === 0) {
  2730. this.refreshCurrentTabTable()
  2731. this.palletMaintenanceModelFlag = false;
  2732. this.$message({
  2733. message: '栈板记录新增成功',
  2734. type: 'success',
  2735. duration: 1500,
  2736. onClose: () => {}
  2737. })
  2738. } else {
  2739. this.$alert(data.msg, '错误', {
  2740. confirmButtonText: '确定'
  2741. })
  2742. }
  2743. })
  2744. },
  2745. },
  2746. activated() {
  2747. this.searchTable()
  2748. },
  2749. created() {
  2750. this.getBu ()
  2751. }
  2752. }
  2753. </script>
  2754. <style scoped>
  2755. /deep/ .zxClass .cell {
  2756. line-height: 24px;
  2757. font-size: 12px;
  2758. height: 24px;
  2759. }
  2760. </style>