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.

2493 lines
86 KiB

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