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.

931 lines
33 KiB

9 months ago
6 months ago
5 months ago
5 months ago
10 months ago
10 months ago
6 months ago
6 months ago
6 months ago
6 months ago
2 months ago
6 months ago
10 months ago
6 months ago
6 months ago
10 months ago
6 months ago
6 months ago
6 months ago
10 months ago
2 months ago
6 months ago
10 months ago
10 months ago
6 months ago
10 months ago
10 months ago
8 months ago
6 months ago
8 months ago
8 months ago
5 months ago
10 months ago
5 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
8 months ago
10 months ago
9 months ago
10 months ago
9 months ago
10 months ago
6 months ago
9 months ago
9 months ago
9 months ago
10 months ago
5 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
5 months ago
10 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.name" clearable></el-input>
  17. </el-form-item>
  18. <el-form-item :label="'客户名称:'">
  19. <el-input v-model="searchData.customName" clearable></el-input>
  20. </el-form-item>
  21. <el-form-item :label="'运输方式:'">
  22. <el-input v-model="searchData.shippingMode" clearable></el-input>
  23. </el-form-item>
  24. <el-form-item :label="'模版类型:'">
  25. <el-select filterable v-model="searchData.type" clearable style="width: 140px;">
  26. <el-option :label="item" :value="item" v-for="(item,index) in types "
  27. :key="index"></el-option>
  28. </el-select>
  29. </el-form-item>
  30. <el-form-item :label="' '" >
  31. <el-button @click="searchTable()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
  32. <el-button @click="addModelOpen()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增'}}</el-button>
  33. </el-form-item>
  34. </el-form>
  35. <el-table
  36. @row-click="changeData"
  37. highlight-current-row
  38. :height="height"
  39. :data="dataList"
  40. ref="mainTable"
  41. border
  42. v-loading="dataListLoading"
  43. style="width: 100%;">
  44. <el-table-column
  45. header-align="center"
  46. align="center"
  47. width="120"
  48. fixed="left"
  49. label="操作">
  50. <template slot-scope="scope">
  51. <a type="text" size="small" @click="updateModelOpen(scope.row)">编辑</a>
  52. <a type="text" size="small" @click="copyModelOpen(scope.row)">复制</a>
  53. <a type="text" size="small" @click="deleteEcssTemplate(scope.row)">删除</a>
  54. </template>
  55. </el-table-column>
  56. <el-table-column
  57. v-for="(item,index) in columnList1" :key="index"
  58. :sortable="item.columnSortable"
  59. :prop="item.columnProp"
  60. :header-align="item.headerAlign"
  61. :show-overflow-tooltip="item.showOverflowTooltip"
  62. :align="item.align"
  63. :fixed="item.fixed==''?false:item.fixed"
  64. :min-width="item.columnWidth"
  65. :label="item.columnLabel">
  66. <template slot-scope="scope">
  67. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  68. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  69. style="width: 100px; height: 80px"/></span>
  70. </template>
  71. </el-table-column>
  72. </el-table>
  73. <el-pagination
  74. @size-change="sizeChangeHandle"
  75. @current-change="currentChangeHandle"
  76. :current-page="pageIndex"
  77. :page-sizes="[20, 50, 100, 1000]"
  78. :page-size="pageSize"
  79. :total="totalPage"
  80. layout="total, sizes, prev, pager, next, jumper">
  81. </el-pagination>
  82. <el-dialog title="维护模版信息" :close-on-click-modal="false" v-drag :visible.sync="addModelFlag" width="500px">
  83. <el-form label-position="top" style="margin-left: 2px;margin-top: -5px;">
  84. <el-row :gutter="20">
  85. <el-col :span="12">
  86. <el-form-item :label="'BU:'">
  87. <el-select v-model="addModel.buNo" @change="changeBu" placeholder="请选择" :disabled="addModel.addFlag!==0" style="width: 100%">
  88. <el-option
  89. v-for = "i in buList"
  90. :key = "i.buNo"
  91. :label = "i.buDesc"
  92. :value = "i.buNo">
  93. </el-option>
  94. </el-select>
  95. </el-form-item>
  96. </el-col>
  97. <el-col :span="12">
  98. <el-form-item :label="''" >
  99. <template #label>
  100. <span slot="label" style="" class="big-label">
  101. <a href="#" @click="openCustom()">客户</a>
  102. </span>
  103. </template>
  104. <el-input v-model="addModel.customName" disabled ></el-input>
  105. </el-form-item>
  106. </el-col>
  107. <el-col :span="12">
  108. <el-form-item :label="'运输方式'" >
  109. <el-input v-model="addModel.shippingMode"></el-input>
  110. </el-form-item>
  111. </el-col>
  112. <el-col :span="12">
  113. <el-form-item :label="'模版类型'" >
  114. <el-select filterable v-model="addModel.type" placeholder="请选择" :disabled="addModel.addFlag!==0" style="width:100%;">
  115. <el-option :label="item" :value="item" v-for="(item,index) in types "
  116. :key="index"></el-option>
  117. </el-select>
  118. </el-form-item>
  119. </el-col>
  120. <el-col :span="24">
  121. <el-form-item :label="'模版名称'" >
  122. <el-input v-model="addModel.name"></el-input>
  123. </el-form-item>
  124. </el-col>
  125. <el-col :span="12" v-show="addModel.type=='发票'">
  126. <el-form-item :label="''" >
  127. <el-checkbox v-model="addModel.hsCodeDesc"><span :title="'物料Hscode是否需要显示品名'">品名</span></el-checkbox>
  128. </el-form-item>
  129. </el-col>
  130. <el-col :span="12" v-show="addModel.type=='发票'">
  131. <el-form-item :label="''" >
  132. <el-checkbox v-model="addModel.contractFlag"><span :title="'发票导出后抬头改成合同'">合同</span></el-checkbox>
  133. </el-form-item>
  134. </el-col>
  135. <el-col :span="12" v-show="addModel.type=='箱单'">
  136. <el-form-item :label="''" >
  137. <el-checkbox v-model="addModel.upc"><span :title="'是否需要显示UPC'">UPC</span></el-checkbox>
  138. </el-form-item>
  139. </el-col>
  140. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  141. <el-form-item :label="''" >
  142. <el-checkbox v-model="addModel.so"><span :title="'是否需要显示SO'">SO</span></el-checkbox>
  143. </el-form-item>
  144. </el-col>
  145. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  146. <el-form-item :label="''" >
  147. <el-checkbox v-model="addModel.goodsLabel"><span :title="'是否需要显示Name of goods等信息'">货物明细</span></el-checkbox>
  148. </el-form-item>
  149. </el-col>
  150. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  151. <el-form-item :label="''" >
  152. <el-checkbox v-model="addModel.hsCodeFlag"><span :title="'是否显示Hs Code'">Hs Code</span></el-checkbox>
  153. </el-form-item>
  154. </el-col>
  155. <el-col :span="12" v-show="addModel.type=='箱单'">
  156. <el-form-item :label="''" >
  157. <el-checkbox v-model="addModel.highPalletFlag"><span :title="'是否显示最高托盘尺寸'">是否显示最高托盘尺寸</span></el-checkbox>
  158. </el-form-item>
  159. </el-col>
  160. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  161. <el-form-item :label="''" >
  162. <el-checkbox v-model="addModel.fscWeight"><span :title="'是否需要显示'">是否维护纯FSC纸重量损耗</span></el-checkbox>
  163. </el-form-item>
  164. </el-col>
  165. <el-col :span="12" v-show="addModel.type=='发票' || (addModel.type=='箱单' && addModel.buNo==='04-MHM')">
  166. <el-form-item :label="'品名类型'" :title="'品名显示中文或英文'">
  167. <el-radio v-model="addModel.hsCodeDescType" label="Y">中文</el-radio>
  168. <el-radio v-model="addModel.hsCodeDescType" label="N">英文</el-radio>
  169. </el-form-item>
  170. </el-col>
  171. <el-col :span="12" v-show="addModel.type=='箱单'">
  172. <el-form-item :label="'序号类型'" :title="'天线箱单显示序号还是栈板号'">
  173. <el-radio v-model="addModel.itemNo" label="Y">序号</el-radio>
  174. <el-radio v-model="addModel.itemNo" label="N">栈板号</el-radio>
  175. </el-form-item>
  176. </el-col>
  177. <!-- <el-col :span="12" v-show="addModel.type=='箱单'">
  178. <el-form-item :label="''" >
  179. <el-checkbox v-model="addModel.boxChange">显示箱数零头</el-checkbox>
  180. </el-form-item>
  181. </el-col>-->
  182. <el-col :span="12" v-show="addModel.type=='箱单'">
  183. <el-form-item :label="'Shipping Mark'" >
  184. <el-input v-model="addModel.shippingMark"></el-input>
  185. </el-form-item>
  186. </el-col>
  187. <el-col :span="12" v-show="addModel.type=='箱单'">
  188. <el-form-item :label="'栈板重量参数'" >
  189. <el-input v-model="addModel.palletWeight"></el-input>
  190. </el-form-item>
  191. </el-col>
  192. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  193. <el-form-item :label="'制造地'" >
  194. <el-input v-model="addModel.origin"></el-input>
  195. </el-form-item>
  196. </el-col>
  197. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  198. <el-form-item :label="'RFID Base Material'" :title="'是否需要显示'">
  199. <el-checkbox v-model="addModel.material"></el-checkbox>
  200. </el-form-item>
  201. </el-col>
  202. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  203. <el-form-item :label="'HS Code'" >
  204. <el-input :disabled="!addModel.material" v-model="addModel.hsCode"></el-input>
  205. </el-form-item>
  206. </el-col>
  207. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  208. <el-form-item :label="'Non-reusable plastic packaging'" :title="'是否需要显示'">
  209. <el-checkbox v-model="addModel.packaging"></el-checkbox>
  210. </el-form-item>
  211. </el-col>
  212. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  213. <el-form-item :label="'plastic packaging'" >
  214. <el-input :disabled="!addModel.packaging" v-model="addModel.kgs"></el-input>
  215. </el-form-item>
  216. </el-col>
  217. <el-col :span="12" v-show="addModel.type=='发票'">
  218. <el-form-item :label="' '" >
  219. <el-checkbox v-model="addModel.showWeight">显示毛净重</el-checkbox>
  220. </el-form-item>
  221. </el-col>
  222. <el-col :span="12" v-show="addModel.type=='出口货物委托书'">
  223. <el-form-item :label="'贸易方式'" >
  224. <el-input v-model="addModel.salesMethod"></el-input>
  225. </el-form-item>
  226. </el-col>
  227. <el-col :span="12" v-show="addModel.type=='出口货物委托书'">
  228. <el-form-item :label="'币制'" >
  229. <el-input v-model="addModel.currency"></el-input>
  230. </el-form-item>
  231. </el-col>
  232. <el-col :span="12" v-show="addModel.type=='出口货物委托书'">
  233. <el-form-item :label="'货物产地'" >
  234. <el-input v-model="addModel.madeArea"></el-input>
  235. </el-form-item>
  236. </el-col>
  237. <el-col :span="12" v-show="addModel.type=='出口货物委托书'">
  238. <el-form-item :label="'发货港'" >
  239. <el-input v-model="addModel.sendPort"></el-input>
  240. </el-form-item>
  241. </el-col>
  242. <el-col :span="12" v-show="addModel.type=='出口货物委托书'">
  243. <el-form-item :label="'唛头'" >
  244. <el-input v-model="addModel.voyage"></el-input>
  245. </el-form-item>
  246. </el-col>
  247. <el-col :span="12" v-show="addModel.type=='出口货物委托书'">
  248. <el-form-item :label="'提/送货日期'" >
  249. <el-input v-model="addModel.deliveryGoodsDate"></el-input>
  250. </el-form-item>
  251. </el-col>
  252. <el-col :span="12" v-show="addModel.type=='出口货物委托书'">
  253. <el-form-item :label="'船期'" >
  254. <el-input v-model="addModel.shippingDate"></el-input>
  255. </el-form-item>
  256. </el-col>
  257. <el-col :span="24" v-show="addModel.type=='出口货物委托书'">
  258. <el-form-item :label="'发货人'" >
  259. <el-input type="textarea" :rows="4" v-model="addModel.shipper"></el-input>
  260. </el-form-item>
  261. </el-col>
  262. <el-col :span="24" v-show="addModel.type!=='出口货物委托书'" :style="addModel.type=='出口货物委托书'?'margin-top: 60px':''">
  263. <el-form-item :label="'备注'" :title="'导出后需要额外显示的信息可在备注里添加'">
  264. <el-input type="textarea" :rows="3" v-model="addModel.remark"></el-input>
  265. </el-form-item>
  266. </el-col>
  267. </el-row>
  268. </el-form>
  269. <el-footer :style="'height:40px;margin-top: 70px;text-align:center'">
  270. <el-button type="primary" @click="saveEcssTemplate()">保存</el-button>
  271. <el-button type="primary" @click="addModelFlag=false">关闭</el-button>
  272. </el-footer>
  273. </el-dialog>
  274. <!-- 复制模版对话框 -->
  275. <el-dialog title="复制模版" :close-on-click-modal="false" v-drag :visible.sync="copyModelFlag" width="400px">
  276. <el-form label-position="top" style="margin-left: 2px;margin-top: -5px;">
  277. <el-row :gutter="20">
  278. <el-col :span="24">
  279. <el-form-item label="原模版信息:">
  280. <el-input v-model="copySourceInfo" disabled></el-input>
  281. </el-form-item>
  282. </el-col>
  283. <el-col :span="24">
  284. <el-form-item label="选择目标BU:" required>
  285. <el-select v-model="copyModel.buNo" placeholder="请选择BU" style="width: 100%">
  286. <el-option
  287. v-for="i in buList"
  288. :key="i.buNo"
  289. :label="i.buDesc"
  290. :value="i.buNo">
  291. </el-option>
  292. </el-select>
  293. </el-form-item>
  294. </el-col>
  295. <el-col :span="24">
  296. <el-form-item label="新模版名称:" required>
  297. <el-input v-model="copyModel.name" placeholder="请输入新模版名称" clearable></el-input>
  298. </el-form-item>
  299. </el-col>
  300. </el-row>
  301. </el-form>
  302. <el-footer style="height:40px;margin-top: 20px;text-align:center">
  303. <el-button type="primary" @click="saveCopyTemplate()">确认复制</el-button>
  304. <el-button @click="copyModelFlag=false">取消</el-button>
  305. </el-footer>
  306. </el-dialog>
  307. <el-dialog title="客户" @close="closeCustomDialog" @open="openCustomDialog" :visible.sync="customFlag" width="559px" v-drag>
  308. <el-form inline="inline" label-position="top" :model="customData" style="margin-left: 7px;margin-top: -5px;">
  309. <el-form-item label="客户名称">
  310. <el-input v-model="customData.ccusname" clearable style="width: 200px"></el-input>
  311. </el-form-item>
  312. <el-form-item label=" ">
  313. <el-button type="primary" style="padding: 3px 12px" @click="searchCustomList()">查询</el-button>
  314. </el-form-item>
  315. </el-form>
  316. <el-table
  317. :height="400"
  318. :data="customList"
  319. stripe
  320. highlight-current-row
  321. border
  322. @row-dblclick="customRowDblclick"
  323. style="width: 100%;">
  324. <el-table-column
  325. prop="ccusname"
  326. header-align="left"
  327. align="left"
  328. label="客户名称">
  329. </el-table-column>
  330. </el-table>
  331. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  332. <el-button @click="customFlag = false">关闭</el-button>
  333. </el-footer>
  334. </el-dialog>
  335. <!--列表的组件-->
  336. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  337. </div>
  338. </template>
  339. <script>
  340. import Chooselist from '@/views/modules/common/Chooselist_eam'
  341. import {} from "@/api/sysLanguage.js"
  342. import {
  343. searchEcssTemplateData,
  344. saveEcssTemplateData,
  345. deleteEcssTemplate,
  346. copyEcssTemplate,
  347. searchCustomList
  348. }from "@/api/ecss/ecss.js"
  349. import {getBuList}from '@/api/factory/site.js'
  350. export default {
  351. name: "null",
  352. components:{
  353. Chooselist,
  354. },
  355. data() {
  356. return {
  357. types: [ '发票', '箱单', '出口货物委托书'],
  358. pageIndex: 1,
  359. pageSize: 100,
  360. totalPage: 0,
  361. height: 200,
  362. buList:[],
  363. dataList:[],
  364. dataList2:[],
  365. dataListLoading: false,
  366. searchData: {
  367. page: 1,
  368. limit: 100,
  369. buNo:'',
  370. type:'',
  371. name:'',
  372. username:this.$store.state.user.name,
  373. },
  374. buttons:{
  375. search:'查询',
  376. },
  377. addModelFlag:false,
  378. addModel:{
  379. addFlag:0,
  380. site:'',
  381. buNo:'',
  382. customName:'',
  383. name:'',
  384. type:'',
  385. upc:'',
  386. so:'',
  387. fscWeight:'',
  388. highPalletFlag:'',
  389. origin:'',
  390. packaging:'',
  391. kgs:'',
  392. shippingMark:'',
  393. hsCode:'',
  394. palletWeight:'',
  395. material:'',
  396. hsCodeDesc:'',
  397. contractFlag:'',
  398. hsCodeDescType:'',
  399. goodsLabel:'',
  400. hsCodeFlag:'',
  401. shippingMode:'',
  402. remark:'',
  403. boxChange:'',
  404. salesMethod :'EXW',
  405. showWeight:false,
  406. currency:'USD',
  407. madeArea:'Shanghai, China',
  408. sendPort:'Shanghai, China',
  409. deliveryGoodsDate:'',
  410. voyage:'',
  411. shippingDate:'',
  412. shipper:'Checkpoint Commercial (Shanghai) Co., Ltd. 保点贸易(上海)有限公司\t\t\t\t\t\t\n' +
  413. 'Room 1411, No. 31, Lane 2419, Hunan Road, Pudong New Area, Shanghai\t\t\t\t\t\t\n' +
  414. '电话/Tel: (86-21)38112888 传真/Fax: (86-21)38112990\t\t\t\t\t\t\n' +
  415. '上海市浦东新区沪南路2419弄31号1411室\t\t\t\t\t\t\n',
  416. },
  417. addDisabledFlag:true,
  418. activeName:'attribute',
  419. columnList1: [
  420. {
  421. userId: this.$store.state.user.name,
  422. functionId: 801007,
  423. serialNumber: '801007Table1BuDesc',
  424. tableId: "801007Table1",
  425. tableName: "EcssTemplate基础信息",
  426. columnProp: "buDesc",
  427. headerAlign: "center",
  428. align: "center",
  429. columnLabel: "BU",
  430. columnHidden: false,
  431. columnImage: false,
  432. columnSortable: false,
  433. sortLv: 0,
  434. status: true,
  435. fixed: '',
  436. columnWidth: 80
  437. },
  438. {
  439. userId: this.$store.state.user.name,
  440. functionId: 801003,
  441. serialNumber: '801007Table1EcssTemplateNo',
  442. tableId: "801007Table1",
  443. tableName: "EcssTemplate基础信息",
  444. columnProp: "customName",
  445. headerAlign: "center",
  446. align: "left",
  447. columnLabel: "客户名称",
  448. columnHidden: false,
  449. columnImage: false,
  450. columnSortable: false,
  451. sortLv: 0,
  452. status: true,
  453. fixed: '',
  454. columnWidth: 240
  455. },
  456. {
  457. userId: this.$store.state.user.name,
  458. functionId: 801003,
  459. serialNumber: '801007Table1EcssTemplateNo',
  460. tableId: "801007Table1",
  461. tableName: "EcssTemplate基础信息",
  462. columnProp: "shippingMode",
  463. headerAlign: "center",
  464. align: "left",
  465. columnLabel: "运输方式",
  466. columnHidden: false,
  467. columnImage: false,
  468. columnSortable: false,
  469. sortLv: 0,
  470. status: true,
  471. fixed: '',
  472. columnWidth: 240
  473. },
  474. {
  475. userId: this.$store.state.user.name,
  476. functionId: 801003,
  477. serialNumber: '801007Table1EcssTemplateNo',
  478. tableId: "801007Table1",
  479. tableName: "EcssTemplate基础信息",
  480. columnProp: "name",
  481. headerAlign: "center",
  482. align: "left",
  483. columnLabel: "模版名称",
  484. columnHidden: false,
  485. columnImage: false,
  486. columnSortable: false,
  487. sortLv: 0,
  488. status: true,
  489. fixed: '',
  490. columnWidth: 200
  491. },
  492. {
  493. userId: this.$store.state.user.name,
  494. functionId: 801003,
  495. serialNumber: '801007Table1EcssTemplateType',
  496. tableId: "801007Table1",
  497. tableName: "EcssTemplate基础信息",
  498. columnProp: "type",
  499. headerAlign: "center",
  500. align: "center",
  501. columnLabel: "模版类型",
  502. columnHidden: false,
  503. columnImage: false,
  504. columnSortable: false,
  505. sortLv: 0,
  506. status: true,
  507. fixed: '',
  508. columnWidth: 100
  509. },
  510. {
  511. userId: this.$store.state.user.name,
  512. functionId: 801003,
  513. serialNumber: '801007Table1CreateBy',
  514. tableId: "801007Table1",
  515. tableName: "EcssTemplate基础信息",
  516. columnProp: "createBy",
  517. headerAlign: "center",
  518. align: "center",
  519. columnLabel: "创建人",
  520. columnHidden: false,
  521. columnImage: false,
  522. columnSortable: false,
  523. sortLv: 0,
  524. status: true,
  525. fixed: '',
  526. columnWidth: 100
  527. },
  528. {
  529. userId: this.$store.state.user.name,
  530. functionId: 801003,
  531. serialNumber: '801007Table1CreateDate',
  532. tableId: "801007Table1",
  533. tableName: "EcssTemplate基础信息",
  534. columnProp: "createDate",
  535. headerAlign: "center",
  536. align: "center",
  537. columnLabel: "创建日期",
  538. columnHidden: false,
  539. columnImage: false,
  540. columnSortable: false,
  541. sortLv: 0,
  542. status: true,
  543. fixed: '',
  544. columnWidth: 140
  545. },
  546. {
  547. userId: this.$store.state.user.name,
  548. functionId: 801003,
  549. serialNumber: '801007Table1UpdateBy',
  550. tableId: "801007Table1",
  551. tableName: "EcssTemplate基础信息",
  552. columnProp: "updateBy",
  553. headerAlign: "center",
  554. align: "left",
  555. columnLabel: "修改人",
  556. columnHidden: false,
  557. columnImage: false,
  558. columnSortable: false,
  559. sortLv: 0,
  560. status: true,
  561. fixed: '',
  562. columnWidth: 100
  563. },
  564. {
  565. userId: this.$store.state.user.name,
  566. functionId: 801003,
  567. serialNumber: '801007Table1UpdateDate',
  568. tableId: "801007Table1",
  569. tableName: "EcssTemplate基础信息",
  570. columnProp: "updateDate",
  571. headerAlign: "center",
  572. align: "center",
  573. columnLabel: "修改日期",
  574. columnHidden: false,
  575. columnImage: false,
  576. columnSortable: false,
  577. sortLv: 0,
  578. status: true,
  579. fixed: '',
  580. columnWidth: 100
  581. },
  582. {
  583. userId: this.$store.state.user.name,
  584. functionId: 801003,
  585. serialNumber: '801007Table1Remark',
  586. tableId: "801007Table1",
  587. tableName: "EcssTemplate基础信息",
  588. columnProp: "remark",
  589. headerAlign: "center",
  590. align: "left",
  591. columnLabel: "备注",
  592. columnHidden: false,
  593. columnImage: false,
  594. columnSortable: false,
  595. sortLv: 0,
  596. status: true,
  597. fixed: '',
  598. columnWidth: 200
  599. },
  600. ],
  601. currentRow:{},
  602. customFlag:false,
  603. customData:{},
  604. customList:[],
  605. copyModelFlag: false,
  606. copyModel: {
  607. buNo: '',
  608. name: ''
  609. },
  610. copySourceInfo: '',
  611. copySourceData: {},
  612. }
  613. },
  614. mounted() {
  615. this.$nextTick(() => {
  616. this.height = (window.innerHeight - 200);
  617. })
  618. },
  619. methods: {
  620. // 获取基础数据列表S
  621. getBaseList(val, type) {
  622. this.tagNo = val
  623. this.$nextTick(() => {
  624. let strVal = ''
  625. if (val === 33) {
  626. strVal = this.addModel.codeNo
  627. }
  628. this.$refs.baseList.init(val, strVal)
  629. })
  630. },
  631. /* 列表方法的回调 */
  632. getBaseData(val) {
  633. if (this.tagNo === 33) {
  634. this.addModel.codeNo = val.Code_No
  635. }
  636. },
  637. // 每页数
  638. sizeChangeHandle (val) {
  639. this.pageSize = val
  640. this.pageIndex = 1
  641. this.searchTable()
  642. },
  643. // 当前页
  644. currentChangeHandle (val) {
  645. this.pageIndex = val
  646. this.searchTable()
  647. },
  648. searchTable(){
  649. this.searchData.limit = this.pageSize
  650. this.searchData.page = this.pageIndex
  651. searchEcssTemplateData(this.searchData).then(({data}) => {
  652. //区分请求成功和失败的状况
  653. if (data && data.code == 0) {
  654. this.dataList = data.page.list
  655. this.pageIndex = data.page.currPage
  656. this.pageSize = data.page.pageSize
  657. this.totalPage = data.page.totalCount
  658. if(this.dataList.length>0){
  659. this.$refs.mainTable.setCurrentRow(this.dataList[0]);
  660. this.changeData(this.dataList[0])
  661. }else {
  662. this.changeData(null)
  663. }
  664. } else {
  665. this.dataList = [];
  666. }
  667. });
  668. },
  669. changeData(row){
  670. this.currentRow = JSON.parse(JSON.stringify(row));
  671. this.headerData=row;
  672. this.refreshCurrentTabTable ();
  673. },
  674. refreshCurrentTabTable(){
  675. if(this.currentRow===''||this.currentRow===null){
  676. this.currentRow={site:'',hsCode:'',buNo:'',recordType:'',codeNo:''}
  677. }
  678. },
  679. tabClick (tab, event) {
  680. // 刷新列表数据
  681. this.refreshCurrentTabTable()
  682. },
  683. getBu () {
  684. let tempData = {
  685. username: this.$store.state.user.name,
  686. }
  687. getBuList(tempData).then(({data}) => {
  688. if (data.code === 0) {
  689. this.buList = data.row2
  690. }
  691. })
  692. },
  693. addModelOpen(){
  694. this.addDisabledFlag=true
  695. this.addModel={
  696. addFlag:0,
  697. site:'',
  698. buNo:'',
  699. name:'',
  700. type:'',
  701. upc:'',
  702. so:'',
  703. origin:'',
  704. packaging:'',
  705. fscWeight:'',
  706. kgs:'',
  707. shippingMark:'',
  708. hsCode:'',
  709. palletWeight:'',
  710. material:'',
  711. hsCodeDesc:'',
  712. contractFlag:'',
  713. hsCodeDescType:'',
  714. goodsLabel:true,
  715. hsCodeFlag:false,
  716. shippingMode:'',
  717. remark:'',
  718. boxChange:'',
  719. salesMethod :'EXW',
  720. currency:'USD',
  721. madeArea:'Shanghai, China',
  722. sendPort:'Shanghai, China',
  723. deliveryGoodsDate:'',
  724. voyage:'',
  725. shippingDate:'',
  726. shipper:'Checkpoint Commercial (Shanghai) Co., Ltd. 保点贸易(上海)有限公司\t\t\t\t\t\t\n' +
  727. 'Room 1411, No. 31, Lane 2419, Hunan Road, Pudong New Area, Shanghai\t\t\t\t\t\t\n' +
  728. '电话/Tel: (86-21)38112888 传真/Fax: (86-21)38112990\t\t\t\t\t\t\n' +
  729. '上海市浦东新区沪南路2419弄31号1411室\t\t\t\t\t\t\n',
  730. showWeight:false
  731. }
  732. this.addModelFlag=true
  733. },
  734. updateModelOpen(row){
  735. this.addDisabledFlag=false
  736. this.addModel={
  737. addFlag:1,
  738. site:row.site,
  739. buNo:row.buNo,
  740. name:row.name,
  741. nameNative:row.name,
  742. type:row.type,
  743. upc:row.upc,
  744. so:row.so,
  745. origin:row.origin,
  746. packaging:row.packaging,
  747. itemNo:row.itemNo,
  748. fscWeight:row.fscWeight,
  749. kgs:row.kgs,
  750. shippingMark:row.shippingMark,
  751. hsCode:row.hsCode,
  752. palletWeight:row.palletWeight,
  753. material:row.material,
  754. hsCodeDesc:row.hsCodeDesc,
  755. contractFlag:row.contractFlag,
  756. hsCodeDescType:row.hsCodeDescType,
  757. goodsLabel:row.goodsLabel,
  758. hsCodeFlag:row.hsCodeFlag,
  759. shippingMode:row.shippingMode,
  760. remark:row.remark,
  761. boxChange:row.boxChange,
  762. customName: row.customName,
  763. salesMethod :row.salesMethod,
  764. currency:row.currency,
  765. madeArea:row.madeArea,
  766. sendPort:row.sendPort,
  767. deliveryGoodsDate:row.deliveryGoodsDate,
  768. voyage:row.voyage,
  769. shippingDate:row.shippingDate,
  770. shipper:row.shipper,
  771. highPalletFlag:row.highPalletFlag,
  772. showWeight:row.showWeight,
  773. }
  774. this.addModelFlag=true
  775. },
  776. deleteEcssTemplate(row){
  777. this.$confirm('确认删除?', '提示').then(() => {
  778. deleteEcssTemplate(row).then(({data}) => {
  779. if (data && data.code === 0) {
  780. this.searchTable()
  781. this.$message({
  782. message: '操作成功',
  783. type: 'success',
  784. duration: 1500,
  785. onClose: () => {}
  786. })
  787. } else {
  788. this.$alert(data.msg, '错误', {
  789. confirmButtonText: '确定'
  790. })
  791. }
  792. })
  793. })
  794. },
  795. saveEcssTemplate(){
  796. if(this.addModel.buNo==null||this.addModel.buNo===''){
  797. this.$alert('请选择BU!', '错误', {
  798. confirmButtonText: '确定'
  799. })
  800. return false
  801. }
  802. if(this.addModel.type==null||this.addModel.type===''){
  803. this.$alert('请选择模版类型!', '错误', {
  804. confirmButtonText: '确定'
  805. })
  806. return false
  807. }
  808. if(this.addModel.name==null||this.addModel.name===''){
  809. this.$alert('请输入模版名称!', '错误', {
  810. confirmButtonText: '确定'
  811. })
  812. return false
  813. }
  814. saveEcssTemplateData(this.addModel).then(({data}) => {
  815. if (data && data.code === 0) {
  816. this.searchTable()
  817. this.addModelFlag = false
  818. this.$message({
  819. message: '操作成功',
  820. type: 'success',
  821. duration: 1500,
  822. onClose: () => {}
  823. })
  824. } else {
  825. this.$alert(data.msg, '错误', {
  826. confirmButtonText: '确定'
  827. })
  828. }
  829. })
  830. },
  831. openCustom () {
  832. this.customFlag = true;
  833. },
  834. openCustomDialog () {
  835. //请求
  836. this.searchCustomList();
  837. },
  838. closeCustomDialog () {
  839. this.customList = []
  840. this.customFlag = false
  841. },
  842. searchCustomList () {
  843. searchCustomList(this.customData).then(({data}) => {
  844. if (data && data.code === 0){
  845. this.customList = data.rows;
  846. }
  847. })
  848. },
  849. customRowDblclick (row) {
  850. this.addModel.customName=row.ccusname
  851. this.customFlag = false
  852. },
  853. changeBu(){
  854. this.addModel.kgs=this.addModel.buNo==='03-RFID'?'4.5':this.addModel.buNo==='01-Label'?'2.5':''
  855. },
  856. // 打开复制模版对话框
  857. copyModelOpen(row) {
  858. this.copySourceData = JSON.parse(JSON.stringify(row));
  859. this.copySourceInfo = `${row.buDesc} - ${row.name} (${row.type})`;
  860. this.copyModel = {
  861. buNo: '',
  862. name: row.name
  863. };
  864. this.copyModelFlag = true;
  865. },
  866. // 保存复制的模版
  867. saveCopyTemplate() {
  868. if (!this.copyModel.buNo) {
  869. this.$alert('请选择目标BU!', '错误', {
  870. confirmButtonText: '确定'
  871. });
  872. return false;
  873. }
  874. if (!this.copyModel.name || this.copyModel.name.trim() === '') {
  875. this.$alert('请输入新模版名称!', '错误', {
  876. confirmButtonText: '确定'
  877. });
  878. return false;
  879. }
  880. // 构建复制请求数据
  881. const copyData = {
  882. buNo: this.copyModel.buNo, // 目标BU
  883. name: this.copyModel.name.trim(), // 新模版名称
  884. nameNative: this.copySourceData.name, // 原模版名称
  885. site: this.copySourceData.site // 原模版所在站点
  886. };
  887. copyEcssTemplate(copyData).then(({data}) => {
  888. if (data && data.code === 0) {
  889. this.searchTable();
  890. this.copyModelFlag = false;
  891. this.$message({
  892. message: '模版复制成功',
  893. type: 'success',
  894. duration: 1500,
  895. onClose: () => {}
  896. });
  897. } else {
  898. this.$alert(data.msg, '错误', {
  899. confirmButtonText: '确定'
  900. });
  901. }
  902. });
  903. }
  904. },
  905. activated() {
  906. this.searchTable()
  907. },
  908. created() {
  909. this.getBu ()
  910. }
  911. }
  912. </script>
  913. <style scoped>
  914. </style>