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.

923 lines
33 KiB

7 months ago
5 months ago
3 months ago
3 months ago
8 months ago
8 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
8 months ago
5 months ago
5 months ago
8 months ago
5 months ago
5 months ago
5 months ago
8 months ago
5 months ago
8 months ago
8 months ago
5 months ago
8 months ago
5 months ago
8 months ago
7 months ago
5 months ago
7 months ago
7 months ago
3 months ago
8 months ago
3 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
7 months ago
8 months ago
5 months ago
7 months ago
7 months ago
7 months ago
8 months ago
3 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
8 months ago
3 months ago
8 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=='箱单'">
  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="'RFID Base Material'" :title="'是否需要显示'">
  194. <el-checkbox v-model="addModel.material"></el-checkbox>
  195. </el-form-item>
  196. </el-col>
  197. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  198. <el-form-item :label="'HS Code'" >
  199. <el-input :disabled="!addModel.material" v-model="addModel.hsCode"></el-input>
  200. </el-form-item>
  201. </el-col>
  202. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  203. <el-form-item :label="'Non-reusable plastic packaging'" :title="'是否需要显示'">
  204. <el-checkbox v-model="addModel.packaging"></el-checkbox>
  205. </el-form-item>
  206. </el-col>
  207. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  208. <el-form-item :label="'plastic packaging'" >
  209. <el-input :disabled="!addModel.packaging" v-model="addModel.kgs"></el-input>
  210. </el-form-item>
  211. </el-col>
  212. <el-col :span="12" v-show="addModel.type=='箱单' || addModel.type=='发票'">
  213. <el-form-item :label="'制造地'" >
  214. <el-input v-model="addModel.origin"></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-input v-model="addModel.salesMethod"></el-input>
  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.currency"></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.madeArea"></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.sendPort"></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.voyage"></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.deliveryGoodsDate"></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.shippingDate"></el-input>
  250. </el-form-item>
  251. </el-col>
  252. <el-col :span="24" v-show="addModel.type=='出口货物委托书'">
  253. <el-form-item :label="'发货人'" >
  254. <el-input type="textarea" :rows="4" v-model="addModel.shipper"></el-input>
  255. </el-form-item>
  256. </el-col>
  257. <el-col :span="24" v-show="addModel.type!=='出口货物委托书'" :style="addModel.type=='出口货物委托书'?'margin-top: 60px':''">
  258. <el-form-item :label="'备注'" :title="'导出后需要额外显示的信息可在备注里添加'">
  259. <el-input type="textarea" :rows="3" v-model="addModel.remark"></el-input>
  260. </el-form-item>
  261. </el-col>
  262. </el-row>
  263. </el-form>
  264. <el-footer :style="'height:40px;margin-top: 70px;text-align:center'">
  265. <el-button type="primary" @click="saveEcssTemplate()">保存</el-button>
  266. <el-button type="primary" @click="addModelFlag=false">关闭</el-button>
  267. </el-footer>
  268. </el-dialog>
  269. <!-- 复制模版对话框 -->
  270. <el-dialog title="复制模版" :close-on-click-modal="false" v-drag :visible.sync="copyModelFlag" width="400px">
  271. <el-form label-position="top" style="margin-left: 2px;margin-top: -5px;">
  272. <el-row :gutter="20">
  273. <el-col :span="24">
  274. <el-form-item label="原模版信息:">
  275. <el-input v-model="copySourceInfo" disabled></el-input>
  276. </el-form-item>
  277. </el-col>
  278. <el-col :span="24">
  279. <el-form-item label="选择目标BU:" required>
  280. <el-select v-model="copyModel.buNo" placeholder="请选择BU" style="width: 100%">
  281. <el-option
  282. v-for="i in buList"
  283. :key="i.buNo"
  284. :label="i.buDesc"
  285. :value="i.buNo">
  286. </el-option>
  287. </el-select>
  288. </el-form-item>
  289. </el-col>
  290. <el-col :span="24">
  291. <el-form-item label="新模版名称:" required>
  292. <el-input v-model="copyModel.name" placeholder="请输入新模版名称" clearable></el-input>
  293. </el-form-item>
  294. </el-col>
  295. </el-row>
  296. </el-form>
  297. <el-footer style="height:40px;margin-top: 20px;text-align:center">
  298. <el-button type="primary" @click="saveCopyTemplate()">确认复制</el-button>
  299. <el-button @click="copyModelFlag=false">取消</el-button>
  300. </el-footer>
  301. </el-dialog>
  302. <el-dialog title="客户" @close="closeCustomDialog" @open="openCustomDialog" :visible.sync="customFlag" width="559px" v-drag>
  303. <el-form inline="inline" label-position="top" :model="customData" style="margin-left: 7px;margin-top: -5px;">
  304. <el-form-item label="客户名称">
  305. <el-input v-model="customData.ccusname" clearable style="width: 200px"></el-input>
  306. </el-form-item>
  307. <el-form-item label=" ">
  308. <el-button type="primary" style="padding: 3px 12px" @click="searchCustomList()">查询</el-button>
  309. </el-form-item>
  310. </el-form>
  311. <el-table
  312. :height="400"
  313. :data="customList"
  314. stripe
  315. highlight-current-row
  316. border
  317. @row-dblclick="customRowDblclick"
  318. style="width: 100%;">
  319. <el-table-column
  320. prop="ccusname"
  321. header-align="left"
  322. align="left"
  323. label="客户名称">
  324. </el-table-column>
  325. </el-table>
  326. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  327. <el-button @click="customFlag = false">关闭</el-button>
  328. </el-footer>
  329. </el-dialog>
  330. <!--列表的组件-->
  331. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  332. </div>
  333. </template>
  334. <script>
  335. import Chooselist from '@/views/modules/common/Chooselist_eam'
  336. import {} from "@/api/sysLanguage.js"
  337. import {
  338. searchEcssTemplateData,
  339. saveEcssTemplateData,
  340. deleteEcssTemplate,
  341. copyEcssTemplate,
  342. searchCustomList
  343. }from "@/api/ecss/ecss.js"
  344. import {getBuList}from '@/api/factory/site.js'
  345. export default {
  346. name: "null",
  347. components:{
  348. Chooselist,
  349. },
  350. data() {
  351. return {
  352. types: [ '发票', '箱单', '出口货物委托书'],
  353. pageIndex: 1,
  354. pageSize: 100,
  355. totalPage: 0,
  356. height: 200,
  357. buList:[],
  358. dataList:[],
  359. dataList2:[],
  360. dataListLoading: false,
  361. searchData: {
  362. page: 1,
  363. limit: 100,
  364. buNo:'',
  365. type:'',
  366. name:'',
  367. username:this.$store.state.user.name,
  368. },
  369. buttons:{
  370. search:'查询',
  371. },
  372. addModelFlag:false,
  373. addModel:{
  374. addFlag:0,
  375. site:'',
  376. buNo:'',
  377. customName:'',
  378. name:'',
  379. type:'',
  380. upc:'',
  381. so:'',
  382. fscWeight:'',
  383. highPalletFlag:'',
  384. origin:'',
  385. packaging:'',
  386. kgs:'',
  387. shippingMark:'',
  388. hsCode:'',
  389. palletWeight:'',
  390. material:'',
  391. hsCodeDesc:'',
  392. contractFlag:'',
  393. hsCodeDescType:'',
  394. goodsLabel:'',
  395. hsCodeFlag:'',
  396. shippingMode:'',
  397. remark:'',
  398. boxChange:'',
  399. salesMethod :'EXW',
  400. currency:'USD',
  401. madeArea:'Shanghai, China',
  402. sendPort:'Shanghai, China',
  403. deliveryGoodsDate:'',
  404. voyage:'',
  405. shippingDate:'',
  406. shipper:'Checkpoint Commercial (Shanghai) Co., Ltd. 保点贸易(上海)有限公司\t\t\t\t\t\t\n' +
  407. 'Room 1411, No. 31, Lane 2419, Hunan Road, Pudong New Area, Shanghai\t\t\t\t\t\t\n' +
  408. '电话/Tel: (86-21)38112888 传真/Fax: (86-21)38112990\t\t\t\t\t\t\n' +
  409. '上海市浦东新区沪南路2419弄31号1411室\t\t\t\t\t\t\n',
  410. },
  411. addDisabledFlag:true,
  412. activeName:'attribute',
  413. columnList1: [
  414. {
  415. userId: this.$store.state.user.name,
  416. functionId: 801007,
  417. serialNumber: '801007Table1BuDesc',
  418. tableId: "801007Table1",
  419. tableName: "EcssTemplate基础信息",
  420. columnProp: "buDesc",
  421. headerAlign: "center",
  422. align: "center",
  423. columnLabel: "BU",
  424. columnHidden: false,
  425. columnImage: false,
  426. columnSortable: false,
  427. sortLv: 0,
  428. status: true,
  429. fixed: '',
  430. columnWidth: 80
  431. },
  432. {
  433. userId: this.$store.state.user.name,
  434. functionId: 801003,
  435. serialNumber: '801007Table1EcssTemplateNo',
  436. tableId: "801007Table1",
  437. tableName: "EcssTemplate基础信息",
  438. columnProp: "customName",
  439. headerAlign: "center",
  440. align: "left",
  441. columnLabel: "客户名称",
  442. columnHidden: false,
  443. columnImage: false,
  444. columnSortable: false,
  445. sortLv: 0,
  446. status: true,
  447. fixed: '',
  448. columnWidth: 240
  449. },
  450. {
  451. userId: this.$store.state.user.name,
  452. functionId: 801003,
  453. serialNumber: '801007Table1EcssTemplateNo',
  454. tableId: "801007Table1",
  455. tableName: "EcssTemplate基础信息",
  456. columnProp: "shippingMode",
  457. headerAlign: "center",
  458. align: "left",
  459. columnLabel: "运输方式",
  460. columnHidden: false,
  461. columnImage: false,
  462. columnSortable: false,
  463. sortLv: 0,
  464. status: true,
  465. fixed: '',
  466. columnWidth: 240
  467. },
  468. {
  469. userId: this.$store.state.user.name,
  470. functionId: 801003,
  471. serialNumber: '801007Table1EcssTemplateNo',
  472. tableId: "801007Table1",
  473. tableName: "EcssTemplate基础信息",
  474. columnProp: "name",
  475. headerAlign: "center",
  476. align: "left",
  477. columnLabel: "模版名称",
  478. columnHidden: false,
  479. columnImage: false,
  480. columnSortable: false,
  481. sortLv: 0,
  482. status: true,
  483. fixed: '',
  484. columnWidth: 200
  485. },
  486. {
  487. userId: this.$store.state.user.name,
  488. functionId: 801003,
  489. serialNumber: '801007Table1EcssTemplateType',
  490. tableId: "801007Table1",
  491. tableName: "EcssTemplate基础信息",
  492. columnProp: "type",
  493. headerAlign: "center",
  494. align: "center",
  495. columnLabel: "模版类型",
  496. columnHidden: false,
  497. columnImage: false,
  498. columnSortable: false,
  499. sortLv: 0,
  500. status: true,
  501. fixed: '',
  502. columnWidth: 100
  503. },
  504. {
  505. userId: this.$store.state.user.name,
  506. functionId: 801003,
  507. serialNumber: '801007Table1CreateBy',
  508. tableId: "801007Table1",
  509. tableName: "EcssTemplate基础信息",
  510. columnProp: "createBy",
  511. headerAlign: "center",
  512. align: "center",
  513. columnLabel: "创建人",
  514. columnHidden: false,
  515. columnImage: false,
  516. columnSortable: false,
  517. sortLv: 0,
  518. status: true,
  519. fixed: '',
  520. columnWidth: 100
  521. },
  522. {
  523. userId: this.$store.state.user.name,
  524. functionId: 801003,
  525. serialNumber: '801007Table1CreateDate',
  526. tableId: "801007Table1",
  527. tableName: "EcssTemplate基础信息",
  528. columnProp: "createDate",
  529. headerAlign: "center",
  530. align: "center",
  531. columnLabel: "创建日期",
  532. columnHidden: false,
  533. columnImage: false,
  534. columnSortable: false,
  535. sortLv: 0,
  536. status: true,
  537. fixed: '',
  538. columnWidth: 140
  539. },
  540. {
  541. userId: this.$store.state.user.name,
  542. functionId: 801003,
  543. serialNumber: '801007Table1UpdateBy',
  544. tableId: "801007Table1",
  545. tableName: "EcssTemplate基础信息",
  546. columnProp: "updateBy",
  547. headerAlign: "center",
  548. align: "left",
  549. columnLabel: "修改人",
  550. columnHidden: false,
  551. columnImage: false,
  552. columnSortable: false,
  553. sortLv: 0,
  554. status: true,
  555. fixed: '',
  556. columnWidth: 100
  557. },
  558. {
  559. userId: this.$store.state.user.name,
  560. functionId: 801003,
  561. serialNumber: '801007Table1UpdateDate',
  562. tableId: "801007Table1",
  563. tableName: "EcssTemplate基础信息",
  564. columnProp: "updateDate",
  565. headerAlign: "center",
  566. align: "center",
  567. columnLabel: "修改日期",
  568. columnHidden: false,
  569. columnImage: false,
  570. columnSortable: false,
  571. sortLv: 0,
  572. status: true,
  573. fixed: '',
  574. columnWidth: 100
  575. },
  576. {
  577. userId: this.$store.state.user.name,
  578. functionId: 801003,
  579. serialNumber: '801007Table1Remark',
  580. tableId: "801007Table1",
  581. tableName: "EcssTemplate基础信息",
  582. columnProp: "remark",
  583. headerAlign: "center",
  584. align: "left",
  585. columnLabel: "备注",
  586. columnHidden: false,
  587. columnImage: false,
  588. columnSortable: false,
  589. sortLv: 0,
  590. status: true,
  591. fixed: '',
  592. columnWidth: 200
  593. },
  594. ],
  595. currentRow:{},
  596. customFlag:false,
  597. customData:{},
  598. customList:[],
  599. copyModelFlag: false,
  600. copyModel: {
  601. buNo: '',
  602. name: ''
  603. },
  604. copySourceInfo: '',
  605. copySourceData: {},
  606. }
  607. },
  608. mounted() {
  609. this.$nextTick(() => {
  610. this.height = (window.innerHeight - 200);
  611. })
  612. },
  613. methods: {
  614. // 获取基础数据列表S
  615. getBaseList(val, type) {
  616. this.tagNo = val
  617. this.$nextTick(() => {
  618. let strVal = ''
  619. if (val === 33) {
  620. strVal = this.addModel.codeNo
  621. }
  622. this.$refs.baseList.init(val, strVal)
  623. })
  624. },
  625. /* 列表方法的回调 */
  626. getBaseData(val) {
  627. if (this.tagNo === 33) {
  628. this.addModel.codeNo = val.Code_No
  629. }
  630. },
  631. // 每页数
  632. sizeChangeHandle (val) {
  633. this.pageSize = val
  634. this.pageIndex = 1
  635. this.searchTable()
  636. },
  637. // 当前页
  638. currentChangeHandle (val) {
  639. this.pageIndex = val
  640. this.searchTable()
  641. },
  642. searchTable(){
  643. this.searchData.limit = this.pageSize
  644. this.searchData.page = this.pageIndex
  645. searchEcssTemplateData(this.searchData).then(({data}) => {
  646. //区分请求成功和失败的状况
  647. if (data && data.code == 0) {
  648. this.dataList = data.page.list
  649. this.pageIndex = data.page.currPage
  650. this.pageSize = data.page.pageSize
  651. this.totalPage = data.page.totalCount
  652. if(this.dataList.length>0){
  653. this.$refs.mainTable.setCurrentRow(this.dataList[0]);
  654. this.changeData(this.dataList[0])
  655. }else {
  656. this.changeData(null)
  657. }
  658. } else {
  659. this.dataList = [];
  660. }
  661. });
  662. },
  663. changeData(row){
  664. this.currentRow = JSON.parse(JSON.stringify(row));
  665. this.headerData=row;
  666. this.refreshCurrentTabTable ();
  667. },
  668. refreshCurrentTabTable(){
  669. if(this.currentRow===''||this.currentRow===null){
  670. this.currentRow={site:'',hsCode:'',buNo:'',recordType:'',codeNo:''}
  671. }
  672. },
  673. tabClick (tab, event) {
  674. // 刷新列表数据
  675. this.refreshCurrentTabTable()
  676. },
  677. getBu () {
  678. let tempData = {
  679. username: this.$store.state.user.name,
  680. }
  681. getBuList(tempData).then(({data}) => {
  682. if (data.code === 0) {
  683. this.buList = data.row2
  684. }
  685. })
  686. },
  687. addModelOpen(){
  688. this.addDisabledFlag=true
  689. this.addModel={
  690. addFlag:0,
  691. site:'',
  692. buNo:'',
  693. name:'',
  694. type:'',
  695. upc:'',
  696. so:'',
  697. origin:'',
  698. packaging:'',
  699. fscWeight:'',
  700. kgs:'',
  701. shippingMark:'',
  702. hsCode:'',
  703. palletWeight:'',
  704. material:'',
  705. hsCodeDesc:'',
  706. contractFlag:'',
  707. hsCodeDescType:'',
  708. goodsLabel:true,
  709. hsCodeFlag:false,
  710. shippingMode:'',
  711. remark:'',
  712. boxChange:'',
  713. salesMethod :'EXW',
  714. currency:'USD',
  715. madeArea:'Shanghai, China',
  716. sendPort:'Shanghai, China',
  717. deliveryGoodsDate:'',
  718. voyage:'',
  719. shippingDate:'',
  720. shipper:'Checkpoint Commercial (Shanghai) Co., Ltd. 保点贸易(上海)有限公司\t\t\t\t\t\t\n' +
  721. 'Room 1411, No. 31, Lane 2419, Hunan Road, Pudong New Area, Shanghai\t\t\t\t\t\t\n' +
  722. '电话/Tel: (86-21)38112888 传真/Fax: (86-21)38112990\t\t\t\t\t\t\n' +
  723. '上海市浦东新区沪南路2419弄31号1411室\t\t\t\t\t\t\n'
  724. }
  725. this.addModelFlag=true
  726. },
  727. updateModelOpen(row){
  728. this.addDisabledFlag=false
  729. this.addModel={
  730. addFlag:1,
  731. site:row.site,
  732. buNo:row.buNo,
  733. name:row.name,
  734. nameNative:row.name,
  735. type:row.type,
  736. upc:row.upc,
  737. so:row.so,
  738. origin:row.origin,
  739. packaging:row.packaging,
  740. itemNo:row.itemNo,
  741. fscWeight:row.fscWeight,
  742. kgs:row.kgs,
  743. shippingMark:row.shippingMark,
  744. hsCode:row.hsCode,
  745. palletWeight:row.palletWeight,
  746. material:row.material,
  747. hsCodeDesc:row.hsCodeDesc,
  748. contractFlag:row.contractFlag,
  749. hsCodeDescType:row.hsCodeDescType,
  750. goodsLabel:row.goodsLabel,
  751. hsCodeFlag:row.hsCodeFlag,
  752. shippingMode:row.shippingMode,
  753. remark:row.remark,
  754. boxChange:row.boxChange,
  755. customName: row.customName,
  756. salesMethod :row.salesMethod,
  757. currency:row.currency,
  758. madeArea:row.madeArea,
  759. sendPort:row.sendPort,
  760. deliveryGoodsDate:row.deliveryGoodsDate,
  761. voyage:row.voyage,
  762. shippingDate:row.shippingDate,
  763. shipper:row.shipper,
  764. highPalletFlag:row.highPalletFlag,
  765. }
  766. this.addModelFlag=true
  767. },
  768. deleteEcssTemplate(row){
  769. this.$confirm('确认删除?', '提示').then(() => {
  770. deleteEcssTemplate(row).then(({data}) => {
  771. if (data && data.code === 0) {
  772. this.searchTable()
  773. this.$message({
  774. message: '操作成功',
  775. type: 'success',
  776. duration: 1500,
  777. onClose: () => {}
  778. })
  779. } else {
  780. this.$alert(data.msg, '错误', {
  781. confirmButtonText: '确定'
  782. })
  783. }
  784. })
  785. })
  786. },
  787. saveEcssTemplate(){
  788. if(this.addModel.buNo==null||this.addModel.buNo===''){
  789. this.$alert('请选择BU!', '错误', {
  790. confirmButtonText: '确定'
  791. })
  792. return false
  793. }
  794. if(this.addModel.type==null||this.addModel.type===''){
  795. this.$alert('请选择模版类型!', '错误', {
  796. confirmButtonText: '确定'
  797. })
  798. return false
  799. }
  800. if(this.addModel.name==null||this.addModel.name===''){
  801. this.$alert('请输入模版名称!', '错误', {
  802. confirmButtonText: '确定'
  803. })
  804. return false
  805. }
  806. saveEcssTemplateData(this.addModel).then(({data}) => {
  807. if (data && data.code === 0) {
  808. this.searchTable()
  809. this.addModelFlag = false
  810. this.$message({
  811. message: '操作成功',
  812. type: 'success',
  813. duration: 1500,
  814. onClose: () => {}
  815. })
  816. } else {
  817. this.$alert(data.msg, '错误', {
  818. confirmButtonText: '确定'
  819. })
  820. }
  821. })
  822. },
  823. openCustom () {
  824. this.customFlag = true;
  825. },
  826. openCustomDialog () {
  827. //请求
  828. this.searchCustomList();
  829. },
  830. closeCustomDialog () {
  831. this.customList = []
  832. this.customFlag = false
  833. },
  834. searchCustomList () {
  835. searchCustomList(this.customData).then(({data}) => {
  836. if (data && data.code === 0){
  837. this.customList = data.rows;
  838. }
  839. })
  840. },
  841. customRowDblclick (row) {
  842. this.addModel.customName=row.ccusname
  843. this.customFlag = false
  844. },
  845. changeBu(){
  846. this.addModel.kgs=this.addModel.buNo==='03-RFID'?'4.5':this.addModel.buNo==='01-Label'?'2.5':''
  847. },
  848. // 打开复制模版对话框
  849. copyModelOpen(row) {
  850. this.copySourceData = JSON.parse(JSON.stringify(row));
  851. this.copySourceInfo = `${row.buDesc} - ${row.name} (${row.type})`;
  852. this.copyModel = {
  853. buNo: '',
  854. name: row.name
  855. };
  856. this.copyModelFlag = true;
  857. },
  858. // 保存复制的模版
  859. saveCopyTemplate() {
  860. if (!this.copyModel.buNo) {
  861. this.$alert('请选择目标BU!', '错误', {
  862. confirmButtonText: '确定'
  863. });
  864. return false;
  865. }
  866. if (!this.copyModel.name || this.copyModel.name.trim() === '') {
  867. this.$alert('请输入新模版名称!', '错误', {
  868. confirmButtonText: '确定'
  869. });
  870. return false;
  871. }
  872. // 构建复制请求数据
  873. const copyData = {
  874. buNo: this.copyModel.buNo, // 目标BU
  875. name: this.copyModel.name.trim(), // 新模版名称
  876. nameNative: this.copySourceData.name, // 原模版名称
  877. site: this.copySourceData.site // 原模版所在站点
  878. };
  879. copyEcssTemplate(copyData).then(({data}) => {
  880. if (data && data.code === 0) {
  881. this.searchTable();
  882. this.copyModelFlag = false;
  883. this.$message({
  884. message: '模版复制成功',
  885. type: 'success',
  886. duration: 1500,
  887. onClose: () => {}
  888. });
  889. } else {
  890. this.$alert(data.msg, '错误', {
  891. confirmButtonText: '确定'
  892. });
  893. }
  894. });
  895. }
  896. },
  897. activated() {
  898. this.searchTable()
  899. },
  900. created() {
  901. this.getBu ()
  902. }
  903. }
  904. </script>
  905. <style scoped>
  906. </style>