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.

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