From a7d23db4e3bcf4c44b7f8b37e79699a7660a399e Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期三, 02 七月 2025 10:52:02 +0800 Subject: [PATCH] 移库页面 --- pages/wareHouse/moveWareHouse/index.vue | 786 +++++++++++++++++++++++++++++-------------------------- common/http.api.js | 12 2 files changed, 421 insertions(+), 377 deletions(-) diff --git a/common/http.api.js b/common/http.api.js index 6efd5c0..62bae91 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -503,12 +503,12 @@ // 鎶ュ伐 cancelReporting: { // 鍙栨秷鎶ュ伐纭 - cancelDTAOfWorkApplication: (params = {}) => vm.$u.get('mes/product/cancelDTAOfWorkApplication', params), + cancelDTAOfWorkApplication: (params = {}) => vm.$u.get('/mes/product/cancelDTAOfWorkApplication', params), }, // 杞﹂棿璁㈠崟涓嬪彂 WorkshopOrderIssued: { // 鏌ヨ瀛愪欢 - manufacturingOrder: (params = {}) => vm.$u.get('mes/plan/manufacturingOrder/' + params.id), + manufacturingOrder: (params = {}) => vm.$u.get('/mes/plan/manufacturingOrder/' + params.id), // 妫�鏌ユ牎楠� checkRawPart: (params = {}) => vm.$u.post('/mes/product/checkRawPart/'+ params.operationTaskId,params), @@ -516,6 +516,14 @@ // 杞﹂棿璁㈠崟鍙栨秷涓嬪彂 WorkshopOrderCancellationIssued: { + }, + // 绉诲簱 + shiftingParking: { + // 闆朵欢淇℃伅 + selPartInfoPDA: (params = {}) => vm.$u.get('/mes/stock/selPartInfoPDA/' + params.outBatchNo), + // 纭绉诲簱 + moveHousePDA: (params = {}) => vm.$u.post('/mes/applyPart/moveHousePDA', params), + } }; diff --git a/pages/wareHouse/moveWareHouse/index.vue b/pages/wareHouse/moveWareHouse/index.vue index aae20f2..467f6ca 100644 --- a/pages/wareHouse/moveWareHouse/index.vue +++ b/pages/wareHouse/moveWareHouse/index.vue @@ -1,413 +1,449 @@ <template> - <view class="page"> - <view class="movewarehouse-index-bg" /> - <u-navbar title="绉诲簱" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" - back-icon-color="#000" /> - <view class="packing-registration-param"> - <view class="packing-registration-param-view"> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">搴撲綅</text> - </view> - <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ - registerInfo.proposedLocation == "" + <view class="page"> + <view class="movewarehouse-index-bg" /> + <u-navbar + title="绉诲簱" + :background="background" + :border-bottom="false" + :title-bold="true" + title-color="#000" + back-icon-color="#000" + /> + <view class="packing-registration-param"> + <view class="packing-registration-param-view"> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">搴撲綅</text> + </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ + registerInfo.toLocationNo == "" ? "璇锋壂鎻忓簱浣�" - : registerInfo.proposedLocation + : registerInfo.toLocationNo }}</text> - </view> - </view> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">{{ - `绉诲簱璁板綍(${hasScanSnList.length + 1}鏉�)锛歚 + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">{{ + `绉诲簱璁板綍(${hasScanSnList.length}鏉�)锛歚 }}</text> - </view> - </view> - </view> - </view> - <view class="wrap"> - <scroll-view class="packing-registration-scroll-list" scroll-y="true"> - <u-cell-group class="packing-registration-scroll-list-group" :border="false"> - <view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index"> - <view class="content-header"> - <view class="content-header-title">{{ index + 1 }}</view> - </view> - <view class="content-body"> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">闆朵欢鍙凤細</view> - </view> - <view class="_content"> - {{ item.partNo }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">鎵规鍙凤細</view> - </view> - <view class="_content"> - {{ item.moNo }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">搴撲綅鍙凤細</view> - </view> - <view class="_content"> - {{ item.proposedLocation }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">鐩樼偣鏁伴噺锛�</view> - </view> - <view class="_content"> - {{ item.value1 }} - </view> - </view> - </view> - </view> - </u-cell-group> - </scroll-view> - </view> - <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm" - @cancel="cancel"> - <view class="popup-content"> - <view class="packing-registration-param"> - <view class="packing-registration-param-view"> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">鎵瑰彿</text> - </view> - <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ detailedList.moNo }}</text> - </view> - </view> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">闆朵欢鎻忚堪</text> - </view> - <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ + </view> + </view> + </view> + </view> + <view class="wrap"> + <scroll-view class="packing-registration-scroll-list" scroll-y="true"> + <u-cell-group + class="packing-registration-scroll-list-group" + :border="false" + > + <view + class="content" + v-for="(item, index) in hasScanSnList" + :key="index" + :index="index" + > + <view class="content-header"> + <view class="content-header-title">{{ index + 1 }}</view> + </view> + <view class="content-body"> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">闆朵欢鍙凤細</view> + </view> + <view class="_content"> + {{ item.partNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鎵规鍙凤細</view> + </view> + <view class="_content"> + {{ item.outBatchNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">搴撲綅鍙凤細</view> + </view> + <view class="_content"> + {{ item.locationNo }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鐩樼偣鏁伴噺锛�</view> + </view> + <view class="_content"> + {{ item.qtyAvailable }} + </view> + </view> + </view> + </view> + </u-cell-group> + </scroll-view> + </view> + <u-modal + v-model="showModal" + title="" + :show-cancel-button="true" + :show-confirm-button="true" + @confirm="confirm" + @cancel="cancel" + > + <view class="popup-content"> + <view class="packing-registration-param"> + <view class="packing-registration-param-view"> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">鎵瑰彿</text> + </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ + detailedList.outBatchNo + }}</text> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">闆朵欢鎻忚堪</text> + </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ detailedList.partName }}</text> - </view> - </view> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">WDR</text> - </view> - <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ detailedList.WDR }}</text> - </view> - </view> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">鐜版湁鏁伴噺</text> - </view> - <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ 111 }}</text> - </view> - </view> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one">褰撳墠搴撲綅</text> - </view> - <view class="packing-registration-param-item-right"> - <text class="item-one item-two">{{ - detailedList.proposedLocation + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">WDR</text> + </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ + detailedList.waivDevRejNo }}</text> - </view> - </view> - </view> - </view> - </view> - </u-modal> - <scan></scan> - </view> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">鐜版湁鏁伴噺</text> + </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ + detailedList.qtyAvailable + }}</text> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one">褰撳墠搴撲綅</text> + </view> + <view class="packing-registration-param-item-right"> + <text class="item-one item-two">{{ + detailedList.locationNo + }}</text> + </view> + </view> + </view> + </view> + </view> + </u-modal> + <scan></scan> + </view> </template> <script> - import scan from "@/components/scan/scan.vue"; - import content_bg from "@/static/custom/moveWareHouse/locNoBg.png"; - export default { - components: { - scan, - }, +import scan from "@/components/scan/scan.vue"; +import content_bg from "@/static/custom/moveWareHouse/locNoBg.png"; +export default { + components: { + scan, + }, - data() { - return { - background: { - backgroundImage: `url(${content_bg})`, - backgroundAttachment: "fixed", - backgroundSize: "100% auto", - backgroundRepeat: "no-repeat", - }, - registerInfo: { - storageLocation: "", - num: 0, - }, - showModal: false, // 鎺у埗寮圭獥鏄剧ず闅愯棌鐨勫彉閲� - hasScanSnList: [], - detailedList: { - moNo: "", - partNo: "", - proposedLocation: "", - WDR: "", - }, - codeInfoId: '', - }; - }, - onLoad() {}, - onShow() { - let that = this; - uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 - uni.$on("scan", function(data) { - console.log("onscan"); - //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� - console.log("椤甸潰鎵爜缁撴灉锛�", data.code); - if (data.code) { - let codeInfo = JSON.parse(data.code); - // 鎵弿鎶ュ伐鍗曚簩缁寸爜 - // 鍒ゆ柇鎵弿鐨勬槸搴撲綅鐮佽繕鏄祦杞爜 - if (codeInfo.LN) { - that.saveForm(codeInfo) - } else { - that.codeInfoId = codeInfo.id - that.saveModalForm(codeInfo) - that.getHandelList(); - } - } - }); - }, - methods: { - getHandelList() { - this.$u.api.workReporting - .getProductMainV1({ - current: 1, - size: -1, - id: this.codeInfoId, - }) - .then((res) => { - this.hasScanSnList = res.data.productOutputList; - }); - }, - confirm() { - // 澶勭悊纭閫昏緫 - // 鐐瑰嚮纭绉诲簱 - if (true) { - uni.showToast({ - icon: "none", - title: "浣犳棤娉曞皢闆朵欢绉诲埌鐩稿悓浣嶇疆", - duration: 2 * 1000, - }); - return - } - this.getHandelList() - this.show = false; - }, - cancel() { - this.show = false; // 鍏抽棴寮圭獥 - }, - // 鍥炴樉鎵爜鐨勪俊鎭� - saveForm(val) { - this.registerInfo.proposedLocation = val.LN - }, - saveModalForm(val) { - this.detailedList = { - moNo: val.moNo, - partNo: val.partNo, - proposedLocation: val.proposedLocation, - WDR: val.WDR, - }, - this.show = true; - } - }, - }; + data() { + return { + background: { + backgroundImage: `url(${content_bg})`, + backgroundAttachment: "fixed", + backgroundSize: "100% auto", + backgroundRepeat: "no-repeat", + }, + registerInfo: { + toLocationNo: "", + num: 0, + }, + showModal: false, // 鎺у埗寮圭獥鏄剧ず闅愯棌鐨勫彉閲� + hasScanSnList: [], + detailedList: {}, + codeInfoId: "", + }; + }, + onLoad() {}, + onShow() { + let that = this; + uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 + uni.$on("scan", function (data) { + console.log("onscan"); + //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� + console.log("椤甸潰鎵爜缁撴灉锛�", data.code); + if (data.code) { + let codeInfo = JSON.parse(data.code); + // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + // 鍒ゆ柇鎵弿鐨勬槸搴撲綅鐮佽繕鏄祦杞爜 + if (codeInfo.LN) { + that.saveForm(codeInfo); + } else { + if (!that.registerInfo.toLocationNo) { + that.$u.toast("璇峰厛鎵弿搴撲綅"); + return; + } + that.hasScanSnList = []; + that.codeInfoId = codeInfo.id; + that.saveModalForm(codeInfo); + // that.getHandelList(); + } + } + }); + }, + methods: { + // getHandelList() { + // this.$u.api.workReporting + // .getProductMainV1({ + // current: 1, + // size: -1, + // id: this.codeInfoId, + // }) + // .then((res) => { + // this.hasScanSnList = res.data.productOutputList; + // }); + // }, + confirm() { + // 鐐瑰嚮纭绉诲簱 + if (this.registerInfo.toLocationNo == this.detailedList.locationNo) { + uni.showToast({ + icon: "none", + title: "浣犳棤娉曞皢闆朵欢绉诲埌鐩稿悓浣嶇疆", + duration: 2 * 1000, + }); + return; + } + // 澶勭悊纭閫昏緫 + this.$u.api.shiftingParking + .moveHousePDA({ + ...this.detailedList, + toLocationNo: this.registerInfo.toLocationNo, + }) + .then((res) => { + console.log("绉诲簱璁板綍", res); + this.hasScanSnList.push(res.data); + console.log("绉诲簱璁板綍", this.hasScanSnList); + this.$u.toast("绉诲簱鎴愬姛"); + }); + }, + cancel() { + this.showModal = false; // 鍏抽棴寮圭獥 + }, + // 鍥炴樉鎵爜鐨勪俊鎭� + saveForm(val) { + this.registerInfo.toLocationNo = val.LN; + }, + saveModalForm(val) { + this.$u.api.shiftingParking + .selPartInfoPDA({ + outBatchNo: val.outBatchNo, + }) + .then((res) => { + this.detailedList = res.data; + this.showModal = true; + }); + }, + }, +}; </script> <style lang="scss" scoped> - .person-btn-view { - display: flex; - justify-content: space-between; - margin-top: 300rpx; - } +.person-btn-view { + display: flex; + justify-content: space-between; + margin-top: 300rpx; +} - .popup-content { - width: 600rpx; - height: 500rpx; - background-color: #fff; - border-radius: 8px; - z-index: 10; - /* 纭繚鍐呭鍦ㄨ挋鐗堜箣涓� */ - } +.popup-content { + width: 600rpx; + height: 500rpx; + background-color: #fff; + border-radius: 8px; + z-index: 10; + /* 纭繚鍐呭鍦ㄨ挋鐗堜箣涓� */ +} - .movewarehouse-index-bg { - background-color: #f6f9ff; - background-image: url("~@/static/custom/moveWareHouse/locNoBg.png"); - // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); - padding: 0 20rpx; - background-attachment: fixed; - background-size: 100% auto; - background-repeat: no-repeat; - position: fixed; - top: 0; - bottom: 0; - width: 100%; - z-index: -1; - } +.movewarehouse-index-bg { + background-color: #f6f9ff; + background-image: url("~@/static/custom/moveWareHouse/locNoBg.png"); + // background: linear-gradient(180deg,rgba(206,227,254,1),rgba(206,227,254,1) 20%,rgba(206,227,254,0.5) 40%,rgba(206,227,254,0.25) 60%,rgba(206,227,254,0.08) 80%,rgba(206,227,254,0)); + padding: 0 20rpx; + background-attachment: fixed; + background-size: 100% auto; + background-repeat: no-repeat; + position: fixed; + top: 0; + bottom: 0; + width: 100%; + z-index: -1; +} - .packing-registration-param { - padding: 40rpx 30rpx 10rpx 30rpx; +.packing-registration-param { + padding: 40rpx 30rpx 10rpx 30rpx; - .packing-registration-param-title { - display: flex; - flex-direction: row; - align-items: center; - margin-bottom: 30rpx; + .packing-registration-param-title { + display: flex; + flex-direction: row; + align-items: center; + margin-bottom: 30rpx; - .title-label { - margin-left: 14rpx; - font-size: 34rpx; - font-weight: bold; - color: #283e65; - } - } + .title-label { + margin-left: 14rpx; + font-size: 34rpx; + font-weight: bold; + color: #283e65; + } + } - .packing-registration-param-view { - height: 177rpx; - background-color: #fff; - border-radius: 10rpx; - padding: 0rpx 23rpx; - margin-bottom: 30rpx; + .packing-registration-param-view { + height: 177rpx; + background-color: #fff; + border-radius: 10rpx; + padding: 0rpx 23rpx; + margin-bottom: 30rpx; - .packing-registration-param-item { - height: 90rpx; - border: 1px solid #adc8e4; - line-height: 90rpx; - display: flex; - justify-content: space-between; - border: none; + .packing-registration-param-item { + height: 90rpx; + border: 1px solid #adc8e4; + line-height: 90rpx; + display: flex; + justify-content: space-between; + border: none; - .packing-registration-param-item-left { - .item-one { - font-size: 30rpx; - color: #666666; - } - } + .packing-registration-param-item-left { + .item-one { + font-size: 30rpx; + color: #666666; + } + } - .packing-registration-param-item-right { - display: flex; - justify-content: space-between; + .packing-registration-param-item-right { + display: flex; + justify-content: space-between; - .item-one { - font-size: 30rpx; - color: #333333; - margin-right: 6rpx; - } + .item-one { + font-size: 30rpx; + color: #333333; + margin-right: 6rpx; + } - .item-two { - font-size: 30rpx; - color: #a6b4cc; - margin-right: 6rpx; - } + .item-two { + font-size: 30rpx; + color: #a6b4cc; + margin-right: 6rpx; + } - .item-three { - font-size: 30rpx; - color: #214ded; - margin-right: 6rpx; - } - } - } + .item-three { + font-size: 30rpx; + color: #214ded; + margin-right: 6rpx; + } + } + } - .param-extra { - border-bottom: 1px solid #ededed; - } - } - } + .param-extra { + border-bottom: 1px solid #ededed; + } + } +} - .wrap .packing-registration-scroll-list { - height: calc(100vh - var(--window-top) - var(--window-bottom) - 360rpx); - width: 100%; - } +.wrap .packing-registration-scroll-list { + height: calc(100vh - var(--window-top) - var(--window-bottom) - 360rpx); + width: 100%; +} - .packing-registration-scroll-list-group { - ::v-deep .u-cell-item-box { - background-color: rgba(250, 252, 255, 0.36) !important; - padding: 0rpx 30rpx; - } +.packing-registration-scroll-list-group { + ::v-deep .u-cell-item-box { + background-color: rgba(250, 252, 255, 0.36) !important; + padding: 0rpx 30rpx; + } - .content { - font-size: 12px; - background-color: #ffffff; - box-sizing: border-box; - border-radius: 10rpx; - margin: 0rpx 0rpx 16rpx; - padding: 20rpx 8rpx; - box-shadow: none; - display: flex; - align-items: center; + .content { + font-size: 12px; + background-color: #ffffff; + box-sizing: border-box; + border-radius: 10rpx; + margin: 0rpx 0rpx 16rpx; + padding: 20rpx 8rpx; + box-shadow: none; + display: flex; + align-items: center; - .content-header { - width: 40rpx; - height: 90rpx; - display: flex; - align-items: center; + .content-header { + width: 40rpx; + height: 90rpx; + display: flex; + align-items: center; - .content-header-icon { - background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); - background-size: 100% auto; - background-repeat: no-repeat; - height: 28rpx; - width: 28rpx; - } + .content-header-icon { + background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 28rpx; + width: 28rpx; + } - .content-header-title { - margin-left: 11rpx; - font-size: 26rpx; - font-weight: bold; - color: #626369; - } - } + .content-header-title { + margin-left: 11rpx; + font-size: 26rpx; + font-weight: bold; + color: #626369; + } + } - .content-body { - flex: 1; - background-color: #ffffff; - border-radius: 10rpx; - padding: 0rpx 23rpx; + .content-body { + flex: 1; + background-color: #ffffff; + border-radius: 10rpx; + padding: 0rpx 23rpx; - .row-list { - height: 60rpx; - display: flex; - flex-direction: row; - padding: 0px; - align-items: center; - } + .row-list { + height: 60rpx; + display: flex; + flex-direction: row; + padding: 0px; + align-items: center; + } - .row-list ._label { - display: flex; - flex: 0.8; - color: #909399; - align-items: center; + .row-list ._label { + display: flex; + flex: 0.8; + color: #909399; + align-items: center; - ._label-name { - margin-left: 11rpx; - font-size: 26rpx; - font-weight: 500; - color: #666666; - } - } + ._label-name { + margin-left: 11rpx; + font-size: 26rpx; + font-weight: 500; + color: #666666; + } + } - .row-list ._content { - flex: 1.5; - text-align: right; - color: #909399; - font-size: 24rpx; - } + .row-list ._content { + flex: 1.5; + text-align: right; + color: #909399; + font-size: 24rpx; + } - .row-list .s1 { - color: #d35651; - } - } - } - } + .row-list .s1 { + color: #d35651; + } + } + } +} </style> \ No newline at end of file -- Gitblit v1.9.3