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.

2486 lines
82 KiB

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