From e3c6e255ffbda3ff7d823b9014855ac1419b607e Mon Sep 17 00:00:00 2001 From: "0.0" <1092404103.qq.com> Date: Wed, 9 Aug 2023 21:40:34 +0800 Subject: [PATCH] =?UTF-8?q?1.=E7=89=A9=E6=96=99=E5=AF=BC=E5=87=BA=E5=AF=BC?= =?UTF-8?q?=E5=85=A5,=E6=89=98=E7=9B=98=E6=8A=A5=E6=8D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/warehouse/warehouseRetentionRecord.js | 50 + src/option/basic/basicMaterial.js | 3 +- src/option/basicdata/basicdataTray.js | 8 +- .../warehouse/warehouseRetentionRecord.js | 231 ++++ src/router/views/index.js | 19 + src/views/basic/material/basicMaterial.vue | 75 +- .../goodsArea/basicdataGoodsArea.vue | 6 +- .../warehouse/tray/basicdataTray.vue | 122 +- .../warehouse/tray/basicdataTrayedt.vue | 1026 +++++++++++++++++ .../deliverylist/distributionDeliveryList.vue | 1 - .../distributionDeliveryListedt.vue | 37 +- .../warehouse/warehouseRetentionRecord.vue | 225 ++++ 12 files changed, 1770 insertions(+), 33 deletions(-) create mode 100644 src/api/warehouse/warehouseRetentionRecord.js create mode 100644 src/option/warehouse/warehouseRetentionRecord.js create mode 100644 src/views/basicdata/warehouse/tray/basicdataTrayedt.vue create mode 100644 src/views/warehouse/warehouseRetentionRecord.vue diff --git a/src/api/warehouse/warehouseRetentionRecord.js b/src/api/warehouse/warehouseRetentionRecord.js new file mode 100644 index 00000000..df0e0a7b --- /dev/null +++ b/src/api/warehouse/warehouseRetentionRecord.js @@ -0,0 +1,50 @@ +import request from '@/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api/logpm-warehouse/warehouseRetentionRecord/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api/logpm-warehouse/warehouseRetentionRecord/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api/logpm-warehouse/warehouseRetentionRecord/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api/logpm-warehouse/warehouseRetentionRecord/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api/logpm-warehouse/warehouseRetentionRecord/submit', + method: 'post', + data: row + }) +} + diff --git a/src/option/basic/basicMaterial.js b/src/option/basic/basicMaterial.js index 9af76ac1..291b11e8 100644 --- a/src/option/basic/basicMaterial.js +++ b/src/option/basic/basicMaterial.js @@ -7,7 +7,8 @@ export default { border: true, index: true, viewBtn: true, - selection: true, + delBtn:true, + selection: false, indexLabel: "序号", indexWidth: '80', dialogClickModal: false, diff --git a/src/option/basicdata/basicdataTray.js b/src/option/basicdata/basicdataTray.js index f3328d1a..6c64486b 100644 --- a/src/option/basicdata/basicdataTray.js +++ b/src/option/basicdata/basicdataTray.js @@ -7,7 +7,7 @@ export default { searchMenuSpan: 6, border: true, viewBtn: true, - selection: true, + selection: false, index: true, indexLabel:'序号', indexWidth:'150', @@ -136,6 +136,7 @@ export default { label: 'name', value: 'id', }, + rules: [{ required: true, message: '请选择仓库!',trigger: 'blur'}], placeholder:'请输入仓库关键词', labelWidth:'100', addDisplay: true, @@ -171,7 +172,7 @@ export default { align:'center', labelWidth:'100', width:200, - addDisplay: false, + }, { @@ -192,7 +193,8 @@ export default { addDisplay: true, editDisplay: false, viewDisplay: false, - hide: true + hide: true, + rules: [{ required: true, message: '请选择状态!',trigger: 'blur'}], }, { label: "旧托盘码", diff --git a/src/option/warehouse/warehouseRetentionRecord.js b/src/option/warehouse/warehouseRetentionRecord.js new file mode 100644 index 00000000..33dd3443 --- /dev/null +++ b/src/option/warehouse/warehouseRetentionRecord.js @@ -0,0 +1,231 @@ +export default { + height:'auto', + calcHeight: 30, + tip: false, + searchShow: true, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + selection: true, + dialogClickModal: false, + column: [ + { + label: "主键", + prop: "id", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "租户号", + prop: "tenantId", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "创建人", + prop: "createUser", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "创建时间", + prop: "createTime", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "更新人", + prop: "updateUser", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "更新时间", + prop: "updateTime", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "状态", + prop: "status", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "是否已删除", + prop: "isDeleted", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "创建部门", + prop: "createDept", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "预留1", + prop: "reserve1", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "预留2", + prop: "reserve2", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "预留3", + prop: "reserve3", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "预留4", + prop: "reserve4", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "预留5", + prop: "reserve5", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "订单自编码", + prop: "orderCode", + type: "input", + }, + { + label: "包件码", + prop: "packageCode", + type: "input", + }, + { + label: "运单号", + prop: "waybillNo", + type: "input", + }, + { + label: "滞留车次号", + prop: "retentionCarId", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "滞留车次号", + prop: "retentionCarNo", + type: "input", + }, + { + label: "滞留仓库id", + prop: "retentionWarehouseId", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "滞留仓库名称", + prop: "retentionWarehouseName", + type: "input", + }, + { + label: "滞留类型;1=装车滞留,2=配送滞留,3=取消滞留,4=出库滞留", + prop: "retentionType", + type: "input", + }, + { + label: "装车时间", + prop: "assembleCarDate", + type: "input", + }, + { + label: "装车人id", + prop: "assembleCarPersonId", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "装车人名称", + prop: "assembleCarPersonName", + type: "input", + }, + { + label: "备注", + prop: "remark", + type: "input", + }, + { + label: "取消滞留人id", + prop: "cancelRetentionUserId", + type: "input", + addDisplay: false, + editDisplay: false, + viewDisplay: false, + hide: true, + }, + { + label: "取消滞留人名称", + prop: "cancelRetentionUserName", + type: "input", + }, + { + label: "取消滞留备注", + prop: "cancelRemark", + type: "input", + }, + ] +} diff --git a/src/router/views/index.js b/src/router/views/index.js index 4747a7dd..d86b4f92 100644 --- a/src/router/views/index.js +++ b/src/router/views/index.js @@ -781,6 +781,25 @@ export default [ }, ], }, + { + path: '/basicdata/warehouse/tray/basicdataTrayedt', + component: Layout, + redirect: '/warehouse/tray/basicdataTrayedt', + children: [ + { + path: '/basicdata/warehouse/tray/basicdataTrayedt', + name: '在托货物', + meta: { + i18n: 'dict', + }, + props: route => ({ + name: route.query.name, + id: route.query.id + }), + component: () => import('@/views/basicdata/warehouse/tray/basicdataTrayedt.vue'), + }, + ], + }, // { // path: '/distribution/inventory/distributionPrints', // component: Layout, diff --git a/src/views/basic/material/basicMaterial.vue b/src/views/basic/material/basicMaterial.vue index b0a825c5..ae29317d 100644 --- a/src/views/basic/material/basicMaterial.vue +++ b/src/views/basic/material/basicMaterial.vue @@ -23,9 +23,9 @@ 删 除 + @click="handleImport">导 入 + 三方物料 + + + + + 点击下载 + + + + @@ -60,6 +69,8 @@ query: {}, search: {}, loading: true, + excelBox: false, + excelForm: {}, page: { pageSize: 10, currentPage: 1, @@ -67,7 +78,32 @@ }, selectionList: [], option: option, - data: [] + data: [], + excelOption: { + submitBtn: false, + emptyBtn: false, + column: [ + { + label: '文件上传', + prop: 'excelFile', + type: 'upload', + drag: true, + loadText: '文件上传,请稍等', + span: 24, + propsHttp: { + res: 'data', + }, + tip: '请上传 .xls,.xlsx 标准格式文件', + action: '/api/logpm-basic/material/import-basicMaterial', + }, + // { + // label: '模板下载', + // prop: 'excelTemplate', + // formslot: true, + // span: 24, + // }, + ], + }, }; }, computed: { @@ -88,6 +124,15 @@ return ids.join(","); } }, + + watch:{ + 'excelForm.isCovered'() { + if (this.excelForm.isCovered !== '') { + const column = this.findObject(this.excelOption.column, 'excelFile'); + column.action = `/api/logpm-warehouse/warehouseWarehousingEntry/import-WarehousingEntry?isCovered=${this.excelForm.isCovered}`; + } + }, + }, methods: { rowDelTripartite(row,num){ @@ -174,8 +219,14 @@ this.$refs.crud.toggleSelection(); }); }, + uploadAfter(res, done, loading, column) { + window.console.log(column); + this.excelBox = false; + this.refreshChange(); + done(); + }, handleExport() { - let downloadUrl = `/blade-basicMaterial/basicMaterial/export-basicMaterial?${this.website.tokenHeader}=${getToken()}`; + let downloadUrl = `/api/logpm-basic/material/export-basicMaterial?${this.website.tokenHeader}=${getToken()}`; const { } = this.query; let values = { @@ -192,6 +243,19 @@ }) }); }, + //导出 + handleImport(){ + this.excelBox = true; + }, + //下载模板 + handleTemplate() { + console.log("下载模板!!!"); + exportBlob( + `/api/logpm-warehouse/warehouseWarehousingEntry/export-warehouseWarehousingEntry?${this.website.tokenHeader}=${getToken()}` + ).then(res => { + downloadXls(res.data, '物料数据模板.xlsx'); + }); + }, beforeOpen(done, type) { if (["edit", "view"].includes(type)) { getDetail(this.form.id).then(res => { @@ -237,7 +301,8 @@ let values = { productCode:productCode, name:name, - brandId:brandId + brandId:brandId, + hide:1 }; getList(page.currentPage, page.pageSize, values).then(res => { diff --git a/src/views/basicdata/warehouse/goodsArea/basicdataGoodsArea.vue b/src/views/basicdata/warehouse/goodsArea/basicdataGoodsArea.vue index bb5a53a9..87a901ab 100644 --- a/src/views/basicdata/warehouse/goodsArea/basicdataGoodsArea.vue +++ b/src/views/basicdata/warehouse/goodsArea/basicdataGoodsArea.vue @@ -296,9 +296,9 @@ export default { }, getListInfo(){ - // getDictionaryBiz( 'area_type').then(res => { - // this.areaTypeData = res.data.data; - // }); + getDictionaryBiz( 'area_type').then(res => { + this.areaTypeData = res.data.data; + }); getDictionaryBiz( 'enable_status').then(res => { this.enableStatus = res.data.data; diff --git a/src/views/basicdata/warehouse/tray/basicdataTray.vue b/src/views/basicdata/warehouse/tray/basicdataTray.vue index 783c8728..ffcf135c 100644 --- a/src/views/basicdata/warehouse/tray/basicdataTray.vue +++ b/src/views/basicdata/warehouse/tray/basicdataTray.vue @@ -32,7 +32,29 @@ @click="handleExport">导 出 + + 报 损 + 在 托 详 情 + 历 史 记 录 + + + + + + + 确定 + 取消 + + + @@ -46,12 +68,15 @@ import {dateNow} from "@/utils/date"; import NProgress from 'nprogress'; import 'nprogress/nprogress.css'; + import dayjs from 'dayjs'; export default { data() { return { form: {}, query: {}, + //破损是否显示 + damagedBox:false, search: {}, loading: true, page: { @@ -59,6 +84,57 @@ currentPage: 1, total: 0 }, + // 破损表单数据 + damagedform: {}, + // 破损列表 + damageddata: [], + // 表单配置 + damagedoption: { + height:'auto', + width:'40px', + calcHeight: 30, + tip: false, + searchShow: true, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + dialogClickModal: false, + emptyBtn: false, //隐藏清空按钮 + submitBtn: false, //隐藏提交按钮 + column: [ + { + label: "破损图片", + prop: "damagedPhotos", + labelWidth:'150', + type: 'upload', + listType: 'picture-card', + width:"150px", + span:15, + multiple:true, + align:'left', + action: '/blade-resource/oss/endpoint/put-file', + limit: 5, + propsHttp: { + res: 'data', + url: 'link', + }, + disabled:false, + }, + + { + label: "备注", + prop: "damagedNote", + labelWidth:'150', + span:15, + type: "input", + width:"150px", + align:'center', + }, + + ] + }, + damagedId:null, selectionList: [], option: option, data: [] @@ -83,8 +159,41 @@ } }, methods: { + //取消 + cancellation(){ + this.damagedBox = false; + }, + submitForm(){ + let row = {} + row.id = this.damagedform.id + + console.log("更新参数>>>>>>>>",row); + update(row).then(() => { + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + loading(); + console.log(error); + }); + }, + losses(row){ + this.damagedform = row + this.damagedBox = true + }, + Details(row){ + this.$router.push({ + path: '/basicdata/warehouse/tray/basicdataTrayedt', + query: { + data: encodeURIComponent(JSON.stringify(row)), + name: row.palletCode +'-查看在托情况' + } + }); + }, rowSave(row, done, loading) { - console.log(this.form); + console.log("this.form>>>>>>>>>>>>",this.form); + // this.form.trayStatus("1"); add(row).then(() => { this.onLoad(this.page); this.$message({ @@ -150,7 +259,7 @@ }); }, handleExport() { - let downloadUrl = `/blade-BasicdataTray/BasicdataTray/export-BasicdataTray?${this.website.tokenHeader}=${getToken()}`; + let downloadUrl = `/api/logpm-basicdata/material/export-BasicdataTray?${this.website.tokenHeader}=${getToken()}`; const { } = this.query; let values = { @@ -205,15 +314,20 @@ this.loading = true; const { + warehouseId, + trayStatus, + type } = this.query; let values = { + warehouseId:warehouseId, + trayStatus:trayStatus, + type:type }; getList(page.currentPage, page.pageSize, values).then(res => { const data = res.data.data; - console.log(">>>>>>",data); - // this.page.total = data.total; + this.page.total = data.total; this.data = data.records; this.loading = false; this.selectionClear(); diff --git a/src/views/basicdata/warehouse/tray/basicdataTrayedt.vue b/src/views/basicdata/warehouse/tray/basicdataTrayedt.vue new file mode 100644 index 00000000..1e1b4cb3 --- /dev/null +++ b/src/views/basicdata/warehouse/tray/basicdataTrayedt.vue @@ -0,0 +1,1026 @@ + + + + 托 盘 信 息 + + + + + + + + 托盘码:{{traydata.palletCode}} + + + 类 型:{{traydata.$type}} + + + + 在托货物 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/distribution/deliverylist/distributionDeliveryList.vue b/src/views/distribution/deliverylist/distributionDeliveryList.vue index e00420bc..72985c4b 100644 --- a/src/views/distribution/deliverylist/distributionDeliveryList.vue +++ b/src/views/distribution/deliverylist/distributionDeliveryList.vue @@ -52,7 +52,6 @@ 查 看 地 图 - 费 用 增 项 diff --git a/src/views/distribution/deliverylist/distributionDeliveryListedt.vue b/src/views/distribution/deliverylist/distributionDeliveryListedt.vue index d894a75e..ab4fec71 100644 --- a/src/views/distribution/deliverylist/distributionDeliveryListedt.vue +++ b/src/views/distribution/deliverylist/distributionDeliveryListedt.vue @@ -266,7 +266,7 @@ - @@ -313,6 +313,7 @@ export default { height: 300, // 弹框标题 title: '', + signtitle: '', // 是否展示弹框 box: false, //签收是否显示 @@ -930,9 +931,10 @@ export default { submitForm(){ this.$refs.signform.validate(valid => { if (valid) { + if (this.signtitle='复核签收'){ let row = {} row.id = this.signform.deliveryId - row.clerkSignPictures = this.signform.clerkSignPictures + row.deliverySignPictures = this.signform.deliverySignPictures row.clerkSignRemarks = this.signform.clerkSignRemarks row.signingTime =dayjs().format("YYYY-MM-DD HH:mm:ss") row.signingStatus = '2' @@ -949,6 +951,19 @@ export default { console.log(error); this.signBox = false; }); + }else { + let data ={} + data.reservationId =row.id + data.deliveryId =this.deliverydata.id + data.deliverySignPictures = this.signform.deliverySignPictures + data.clerkSignRemarks = this.signform.clerkSignRemarks + console.log("一键签收data>>>>>>>>>>",data); + getOneclickq(data).then(res => { + this.$message.success(res.data.msg) + this.signBox = false; + this.onLoad() + }); + } } }); }, @@ -1015,7 +1030,7 @@ export default { }, handleSign(row) { console.log("签收>>>>>>>>>>",row); - // this.title = '查看'; + this.signtitle = '复核签收'; // this.view = true; this.signform = row this.signBox = true; @@ -1025,19 +1040,9 @@ export default { //一键签收 handleSignone(row) { console.log("一键签收>>>>>>>>>>",row); - this.$confirm('确认一键签收?') - .then(_ => { - let data ={} - data.reservationId =row.id - data.deliveryId =this.deliverydata.id - console.log("一键签收data>>>>>>>>>>",data); - getOneclickq(data).then(res => { - this.$message.success(res.data.msg) - this.onLoad() - }); - }) - .catch(_ => { - }); + this.signtitle = '一键签收'; + this.signform = row + this.signBox = true }, handleOne(row) { console.log("签收>>>>>>>>>>",row); diff --git a/src/views/warehouse/warehouseRetentionRecord.vue b/src/views/warehouse/warehouseRetentionRecord.vue new file mode 100644 index 00000000..2a65f3cb --- /dev/null +++ b/src/views/warehouse/warehouseRetentionRecord.vue @@ -0,0 +1,225 @@ + + + + + 删 除 + + 导 出 + + + + + + + + +