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.

516 lines
16 KiB

  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="'SKU:'">
  5. <el-input v-model="searchData.sku" ></el-input>
  6. </el-form-item>
  7. <el-form-item :label="'SO:'">
  8. <el-input v-model="searchData.so" ></el-input>
  9. </el-form-item>
  10. <el-form-item :label="' '" >
  11. <el-button @click="searchTable()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'查询'}}</el-button>
  12. <el-button @click="importModel()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'导入'}}</el-button>
  13. <el-button @click="newModelOpen()" type="primary" style="margin-left: 2px;margin-top: 0px">{{'新增'}}</el-button>
  14. </el-form-item>
  15. </el-form>
  16. <el-table
  17. @row-click="changeData"
  18. highlight-current-row
  19. :height="height"
  20. :data="dataList"
  21. ref="mainTable"
  22. border
  23. v-loading="dataListLoading"
  24. style="width: 100%;">
  25. <el-table-column
  26. header-align="center"
  27. align="center"
  28. width="100"
  29. fixed="left"
  30. label="操作">
  31. <template slot-scope="scope">
  32. <a type="text" size="small" @click="updateModelOpen(scope.row)">编辑</a>
  33. <a type="text" size="small" @click="deleteWalMartOrder(scope.row)">删除</a>
  34. </template>
  35. </el-table-column>
  36. <el-table-column
  37. v-for="(item,index) in columnList1" :key="index"
  38. :sortable="item.columnSortable"
  39. :prop="item.columnProp"
  40. :header-align="item.headerAlign"
  41. :show-overflow-tooltip="item.showOverflowTooltip"
  42. :align="item.align"
  43. :fixed="item.fixed==''?false:item.fixed"
  44. :min-width="item.columnWidth"
  45. :label="item.columnLabel">
  46. <template slot-scope="scope">
  47. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  48. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  49. style="width: 100px; height: 80px"/></span>
  50. </template>
  51. </el-table-column>
  52. </el-table>
  53. <el-pagination
  54. @size-change="sizeChangeHandle"
  55. @current-change="currentChangeHandle"
  56. :current-page="pageIndex"
  57. :page-sizes="[20, 50, 100, 1000]"
  58. :page-size="pageSize"
  59. :total="totalPage"
  60. layout="total, sizes, prev, pager, next, jumper">
  61. </el-pagination>
  62. <el-dialog title="沃尔玛信息维护" :close-on-click-modal="false" v-drag :visible.sync="addModelFlag" width="500px">
  63. <el-form label-position="top" style="margin-left: 2px;margin-top: -5px;">
  64. <el-row :gutter="20">
  65. <el-col :span="12">
  66. <el-form-item :label="'SKU'" >
  67. <el-input v-model="addModel.sku"></el-input>
  68. </el-form-item>
  69. </el-col>
  70. <el-col :span="12">
  71. <el-form-item :label="'SO'" >
  72. <el-input v-model="addModel.so"></el-input>
  73. </el-form-item>
  74. </el-col>
  75. <el-col :span="12">
  76. <el-form-item :label="'数量'" >
  77. <el-input v-model="addModel.qty"></el-input>
  78. </el-form-item>
  79. </el-col>
  80. <el-col :span="12">
  81. <el-form-item :label="'卷数'" >
  82. <el-input v-model="addModel.rolls"></el-input>
  83. </el-form-item>
  84. </el-col>
  85. <el-col :span="12">
  86. <el-form-item :label="'重量'" >
  87. <el-input v-model="addModel.grossWeight"></el-input>
  88. </el-form-item>
  89. </el-col>
  90. <el-col :span="12">
  91. <el-form-item :label="'核销单号'" >
  92. <el-input v-model="addModel.verificationSheet"></el-input>
  93. </el-form-item>
  94. </el-col>
  95. </el-row>
  96. </el-form>
  97. <el-footer style="height:40px;margin-top: 10px;text-align:center">
  98. <el-button type="primary" @click="saveWalMartOrder()">保存</el-button>
  99. <el-button type="primary" @click="addModelFlag=false">关闭</el-button>
  100. </el-footer>
  101. </el-dialog>
  102. <!-- 导入 -->
  103. <wal-upload-excel ref="walUploadExcel" @refreshTable="searchTable" v-drag></wal-upload-excel>
  104. <!--列表的组件-->
  105. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  106. </div>
  107. </template>
  108. <script>
  109. import walUploadExcel from "./walmart_upload_excel.vue";
  110. import Chooselist from '@/views/modules/common/Chooselist_eam'
  111. import {} from "@/api/sysLanguage.js"
  112. import {
  113. searchWalMartOrderData,
  114. saveWalMartOrderData,
  115. deleteWalMartOrder,
  116. }from "@/api/ecss/ecss.js"
  117. export default {
  118. name: "null",
  119. components:{
  120. walUploadExcel,
  121. Chooselist,
  122. },
  123. data() {
  124. return {
  125. pageIndex: 1,
  126. pageSize: 100,
  127. totalPage: 0,
  128. height: 200,
  129. buList:[],
  130. dataList:[],
  131. dataListLoading: false,
  132. searchData: {
  133. page: 1,
  134. limit: 100,
  135. buNo:'',
  136. sku:'',
  137. so:'',
  138. },
  139. buttons:{
  140. search:'查询',
  141. },
  142. addModelFlag:false,
  143. addModel:{
  144. addFlag:0,
  145. site:'',
  146. buNo:'',
  147. sku:'',
  148. so:'',
  149. qty:'',
  150. rolls:'',
  151. grossWeight:'',
  152. verificationSheet:'',
  153. },
  154. addDisabledFlag:true,
  155. activeName:'attribute',
  156. columnList1: [
  157. {
  158. userId: this.$store.state.user.name,
  159. functionId: 801007,
  160. serialNumber: '801007Table1BuDesc',
  161. tableId: "801007Table1",
  162. tableName: "WalMartOrder基础信息",
  163. columnProp: "sku",
  164. headerAlign: "center",
  165. align: "center",
  166. columnLabel: "SKU",
  167. columnHidden: false,
  168. columnImage: false,
  169. columnSortable: false,
  170. sortLv: 0,
  171. status: true,
  172. fixed: '',
  173. columnWidth: 100
  174. },
  175. {
  176. userId: this.$store.state.user.name,
  177. functionId: 801003,
  178. serialNumber: '801007Table1WalMartOrderNo',
  179. tableId: "801007Table1",
  180. tableName: "WalMartOrder基础信息",
  181. columnProp: "so",
  182. headerAlign: "center",
  183. align: "center",
  184. columnLabel: "SO",
  185. columnHidden: false,
  186. columnImage: false,
  187. columnSortable: false,
  188. sortLv: 0,
  189. status: true,
  190. fixed: '',
  191. columnWidth: 160
  192. },
  193. {
  194. userId: this.$store.state.user.name,
  195. functionId: 801003,
  196. serialNumber: '801007Table1WalMartOrderType',
  197. tableId: "801007Table1",
  198. tableName: "WalMartOrder基础信息",
  199. columnProp: "qty",
  200. headerAlign: "center",
  201. align: "center",
  202. columnLabel: "数量",
  203. columnHidden: false,
  204. columnImage: false,
  205. columnSortable: false,
  206. sortLv: 0,
  207. status: true,
  208. fixed: '',
  209. columnWidth: 100
  210. },
  211. {
  212. userId: this.$store.state.user.name,
  213. functionId: 801003,
  214. serialNumber: '801007Table1WalMartOrderType',
  215. tableId: "801007Table1",
  216. tableName: "WalMartOrder基础信息",
  217. columnProp: "rolls",
  218. headerAlign: "center",
  219. align: "center",
  220. columnLabel: "卷数",
  221. columnHidden: false,
  222. columnImage: false,
  223. columnSortable: false,
  224. sortLv: 0,
  225. status: true,
  226. fixed: '',
  227. columnWidth: 100
  228. },
  229. {
  230. userId: this.$store.state.user.name,
  231. functionId: 801003,
  232. serialNumber: '801007Table1WalMartOrderType',
  233. tableId: "801007Table1",
  234. tableName: "WalMartOrder基础信息",
  235. columnProp: "grossWeight",
  236. headerAlign: "center",
  237. align: "center",
  238. columnLabel: "重量(KG)",
  239. columnHidden: false,
  240. columnImage: false,
  241. columnSortable: false,
  242. sortLv: 0,
  243. status: true,
  244. fixed: '',
  245. columnWidth: 100
  246. },
  247. {
  248. userId: this.$store.state.user.name,
  249. functionId: 801003,
  250. serialNumber: '801007Table1WalMartOrderType',
  251. tableId: "801007Table1",
  252. tableName: "WalMartOrder基础信息",
  253. columnProp: "verificationSheet",
  254. headerAlign: "center",
  255. align: "center",
  256. columnLabel: "核销单号",
  257. columnHidden: false,
  258. columnImage: false,
  259. columnSortable: false,
  260. sortLv: 0,
  261. status: true,
  262. fixed: '',
  263. columnWidth: 100
  264. },
  265. {
  266. userId: this.$store.state.user.name,
  267. functionId: 801003,
  268. serialNumber: '801007Table1CreateBy',
  269. tableId: "801007Table1",
  270. tableName: "WalMartOrder基础信息",
  271. columnProp: "createBy",
  272. headerAlign: "center",
  273. align: "center",
  274. columnLabel: "创建人",
  275. columnHidden: false,
  276. columnImage: false,
  277. columnSortable: false,
  278. sortLv: 0,
  279. status: true,
  280. fixed: '',
  281. columnWidth: 100
  282. },
  283. {
  284. userId: this.$store.state.user.name,
  285. functionId: 801003,
  286. serialNumber: '801007Table1CreateDate',
  287. tableId: "801007Table1",
  288. tableName: "WalMartOrder基础信息",
  289. columnProp: "createDate",
  290. headerAlign: "center",
  291. align: "center",
  292. columnLabel: "创建日期",
  293. columnHidden: false,
  294. columnImage: false,
  295. columnSortable: false,
  296. sortLv: 0,
  297. status: true,
  298. fixed: '',
  299. columnWidth: 140
  300. },
  301. {
  302. userId: this.$store.state.user.name,
  303. functionId: 801003,
  304. serialNumber: '801007Table1UpdateBy',
  305. tableId: "801007Table1",
  306. tableName: "WalMartOrder基础信息",
  307. columnProp: "updateBy",
  308. headerAlign: "center",
  309. align: "left",
  310. columnLabel: "修改人",
  311. columnHidden: false,
  312. columnImage: false,
  313. columnSortable: false,
  314. sortLv: 0,
  315. status: true,
  316. fixed: '',
  317. columnWidth: 100
  318. },
  319. {
  320. userId: this.$store.state.user.name,
  321. functionId: 801003,
  322. serialNumber: '801007Table1UpdateDate',
  323. tableId: "801007Table1",
  324. tableName: "WalMartOrder基础信息",
  325. columnProp: "updateDate",
  326. headerAlign: "center",
  327. align: "center",
  328. columnLabel: "修改日期",
  329. columnHidden: false,
  330. columnImage: false,
  331. columnSortable: false,
  332. sortLv: 0,
  333. status: true,
  334. fixed: '',
  335. columnWidth: 140
  336. },
  337. ],
  338. currentRow:{},
  339. }
  340. },
  341. mounted() {
  342. this.$nextTick(() => {
  343. this.height = (window.innerHeight - 200);
  344. })
  345. },
  346. methods: {
  347. // 获取基础数据列表S
  348. getBaseList(val, type) {
  349. this.tagNo = val
  350. this.$nextTick(() => {
  351. let strVal = ''
  352. if (val === 33) {
  353. strVal = this.addModel.codeNo
  354. }
  355. this.$refs.baseList.init(val, strVal)
  356. })
  357. },
  358. /* 列表方法的回调 */
  359. getBaseData(val) {
  360. if (this.tagNo === 33) {
  361. this.addModel.codeNo = val.Code_No
  362. }
  363. },
  364. // 每页数
  365. sizeChangeHandle (val) {
  366. this.pageSize = val
  367. this.pageIndex = 1
  368. this.searchTable()
  369. },
  370. // 当前页
  371. currentChangeHandle (val) {
  372. this.pageIndex = val
  373. this.searchTable()
  374. },
  375. searchTable(){
  376. this.searchData.limit = this.pageSize
  377. this.searchData.page = this.pageIndex
  378. searchWalMartOrderData(this.searchData).then(({data}) => {
  379. //区分请求成功和失败的状况
  380. if (data && data.code == 0) {
  381. this.dataList = data.page.list
  382. this.pageIndex = data.page.currPage
  383. this.pageSize = data.page.pageSize
  384. this.totalPage = data.page.totalCount
  385. if(this.dataList.length>0){
  386. this.$refs.mainTable.setCurrentRow(this.dataList[0]);
  387. this.changeData(this.dataList[0])
  388. }else {
  389. this.changeData(null)
  390. }
  391. } else {
  392. this.dataList = [];
  393. }
  394. });
  395. },
  396. changeData(row){
  397. this.currentRow = JSON.parse(JSON.stringify(row));
  398. this.headerData=row;
  399. this.refreshCurrentTabTable ();
  400. },
  401. refreshCurrentTabTable(){
  402. if(this.currentRow===''||this.currentRow===null){
  403. this.currentRow={site:'',hsCode:'',buNo:'',recordType:'',codeNo:''}
  404. }
  405. },
  406. tabClick (tab, event) {
  407. // 刷新列表数据
  408. this.refreshCurrentTabTable()
  409. },
  410. getBu () {
  411. let tempData = {
  412. username: this.$store.state.user.name,
  413. }
  414. getBuList(tempData).then(({data}) => {
  415. if (data.code === 0) {
  416. this.buList = data.row2
  417. }
  418. })
  419. },
  420. newModelOpen(){
  421. this.addDisabledFlag=false
  422. this.addModel={
  423. addFlag:0,
  424. site:'',
  425. buNo:'03-RFID',
  426. sku:'',
  427. so:'',
  428. qty:'',
  429. rolls:'',
  430. grossWeight:'',
  431. verificationSheet:'',
  432. }
  433. this.addModelFlag=true
  434. },
  435. updateModelOpen(row){
  436. this.addDisabledFlag=false
  437. this.addModel={
  438. addFlag:1,
  439. site:row.site,
  440. buNo:row.buNo,
  441. sku:row.sku,
  442. so:row.so,
  443. qty:row.qty,
  444. rolls:row.rolls,
  445. grossWeight:row.grossWeight,
  446. verificationSheet:row.verificationSheet,
  447. }
  448. this.addModelFlag=true
  449. },
  450. deleteWalMartOrder(row){
  451. this.$confirm('确认删除?', '提示').then(() => {
  452. deleteWalMartOrder(row).then(({data}) => {
  453. if (data && data.code === 0) {
  454. this.searchTable()
  455. this.$message({
  456. message: '操作成功',
  457. type: 'success',
  458. duration: 1500,
  459. onClose: () => {}
  460. })
  461. } else {
  462. this.$alert(data.msg, '错误', {
  463. confirmButtonText: '确定'
  464. })
  465. }
  466. })
  467. })
  468. },
  469. saveWalMartOrder(){
  470. if(this.addModel.sku==null||this.addModel.sku===''){
  471. this.$alert('请输入SKU!', '错误', {
  472. confirmButtonText: '确定'
  473. })
  474. return false
  475. }
  476. saveWalMartOrderData(this.addModel).then(({data}) => {
  477. if (data && data.code === 0) {
  478. this.searchTable()
  479. this.addModelFlag = false
  480. this.$message({
  481. message: '操作成功',
  482. type: 'success',
  483. duration: 1500,
  484. onClose: () => {}
  485. })
  486. } else {
  487. this.$alert(data.msg, '错误', {
  488. confirmButtonText: '确定'
  489. })
  490. }
  491. })
  492. },
  493. importModel(){
  494. this.$nextTick(() => {
  495. this.$refs.walUploadExcel.init()
  496. })
  497. },
  498. },
  499. activated() {
  500. this.searchTable()
  501. },
  502. created() {
  503. this.getBu ()
  504. }
  505. }
  506. </script>
  507. <style scoped>
  508. </style>