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.

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