From 0043a1a24cbed3ddd40c56c7931da9c5d14e4bc2 Mon Sep 17 00:00:00 2001 From: yyb <995253665@qq.com> Date: 星期二, 19 八月 2025 17:09:40 +0800 Subject: [PATCH] PDA报工页面增加投料功能,扫描二维码取消获取产出记录列表,放开取消报工页面,编写取消报工逻辑,联调取消报工接口 --- pages/product/cancelReport/index.vue | 845 +++++++++++++++++++++++++++++--------------------------- 1 files changed, 436 insertions(+), 409 deletions(-) diff --git a/pages/product/cancelReport/index.vue b/pages/product/cancelReport/index.vue index fd026e7..b453976 100644 --- a/pages/product/cancelReport/index.vue +++ b/pages/product/cancelReport/index.vue @@ -1,311 +1,336 @@ <template> - <!-- 鍙栨秷鎶ュ伐 --> - <view class="page"> - <view class="packing-registration-bg" /> - <u-navbar - title="鍙栨秷鎶ュ伐" - :background="background" - :border-bottom="false" - :title-bold="true" - title-color="#000" - back-icon-color="#000" - /> - <u-form - :model="form" - ref="uForm" - :label-width="280" - :rules="rules" - :error-type="['toast']" - class="uForm" - > - <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moNo"> - <u-input - v-model="form.moNo" - type="select" - placeholder="鐐瑰嚮閫夋嫨" - @click="openList" - /> - </u-form-item> - <u-form-item - label="鍙栨秷鎶ュ伐璁板綍锛�" - :border-bottom="false" - prop="value12" - ></u-form-item> - </u-form> - <view class="wrap"> - <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true"> - <u-cell-group - class="finishProductIn-locno-scroll-list-group" - :border="false" - > - <view - class="content" - v-for="(item, index) in list" - :key="item.moNo" - :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.moNo }} - </view> - </view> - <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.partName }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">鍙栨秷鎺ユ敹鏁伴噺锛�</view> - </view> - <view class="_content"> - {{ item.qtyRequired }} - </view> - </view> - </view> - </view> - </u-cell-group> - </scroll-view> - </view> - <u-modal - width="720rpx" - 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">{{ 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">{{ detailedList.partNo }}</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"> - <span class="item-one">{{ + <!-- 鍙栨秷鎶ュ伐 --> + <view class="page"> + <view class="packing-registration-bg" /> + <u-navbar title="鍙栨秷鎶ュ伐" :background="background" :border-bottom="false" :title-bold="true" title-color="#000" + back-icon-color="#000" /> + <u-form :model="form" ref="uForm" :label-width="280" :rules="rules" :error-type="['toast']" class="uForm"> + <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moNo"> + <u-input v-model="form.moNo" type="select" placeholder="鐐瑰嚮閫夋嫨" @click="openList" /> + </u-form-item> + <u-form-item label="宸ュ崟" :border-bottom="false" prop="optaskNo"> + <u-input v-model="form.optaskNo" type="select" placeholder="鐐瑰嚮閫夋嫨" @click="seachWork" /> + </u-form-item> + <u-form-item label="鍙栨秷鎶ュ伐璁板綍锛�" :border-bottom="false" prop="value12"></u-form-item> + </u-form> + <view class="wrap"> + <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true"> + <u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false"> + <view class="content" v-for="(item, index) in list" :key="item.moNo" :index="index" + @click="cancelReport(item,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.outBatchNo }} + </view> + </view> + <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.partName }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">鍙栨秷鎺ユ敹鏁伴噺锛�</view> + </view> + <view class="_content"> + {{ item.qtyRequired }} + </view> + </view> + </view> + </view> + </u-cell-group> + </scroll-view> + </view> + <u-modal width="720rpx" v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" + @confirm="confirmModle" @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">{{ 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">{{ detailedList.partNo }}</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"> + <span class="item-one">{{ detailedList.partName }}</span> - </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"> - <span class="item-one">{{ + </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"> + <span class="item-one">{{ detailedList.netWeight }}</span> - </view> - </view> - </view> - </view> - </view> - </u-modal> - <scan></scan> - </view> + </view> + </view> + </view> + </view> + </view> + </u-modal> + <scan></scan> + </view> </template> <script> -import content_bg from "@/static/custom/packing/backBg.png"; -import scan from "@/components/scan/scan.vue"; + import content_bg from "@/static/custom/packing/backBg.png"; + import scan from "@/components/scan/scan.vue"; -export default { - components: { - scan, - }, - data() { - return { - background: { - backgroundImage: `url(${content_bg})`, - backgroundAttachment: "fixed", - backgroundSize: "100% auto", - backgroundRepeat: "no-repeat", + export default { + components: { + scan, + }, + data() { + return { + background: { + backgroundImage: `url(${content_bg})`, + backgroundAttachment: "fixed", + backgroundSize: "100% auto", + backgroundRepeat: "no-repeat", + }, + form: { + moNo: "", + optaskNo: "", + id: "", + }, + detailedList: {}, + list: [], + rules: {}, + showModal: false, + id: "", + }; + }, + onReady() {}, + // 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); + // console.log('222') + // if (codeInfo.moNo) { + // console.log('1111') + // // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + // that.saveForm(codeInfo); + // // that.$forceUpdate(); + // } + // } + // }); + // }, + methods: { + //宸ュ崟 + seachWork() { + if (this.form.moNo == "") { + this.$u.toast("璇烽�夋嫨璁㈠崟鍙�"); + return; + } + // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁� + uni.navigateTo({ + url: "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" + + encodeURIComponent(JSON.stringify(this.form.id)), + }); + }, + cancel() { + this.showModal = false; // 鍏抽棴寮圭獥 + }, + openList() { + uni.navigateTo({ + url: "/pages/product/report/orderList", + }); + }, + setNo(val) { + this.form.moNo = val.moNo; + this.form.id = val.id; + }, + // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� + saveForm(val) { + console.log('1111@@@@@@1', this.form) + if (this.form.moNo == '') { + uni.showToast({ + icon: "none", + title: "璇峰厛閫夋嫨璁㈠崟鍙凤紒", + duration: 2 * 1000, + }); + return; + } + if (this.form.moNo != val.moNo) { + uni.showToast({ + icon: "none", + title: "鎵弿鐨勪簩缁寸爜涓庤璁㈠崟涓嶄竴鑷�", + duration: 2 * 1000, + }); + return; + } + this.detailedList = val; + this.showModal = true; + }, + // 宸ュ崟鍥炴樉 + workNo(val) { + this.id = val.id; + this.getBGList(); + this.form.optaskNo = val.optaskNo; }, - form: { - moNo: "", + getBGList() { + this.$u.api.workReporting + .getProductMainV1({ + current: 1, + size: -1, + id:this.id, + }) + .then((res) => { + console.log('res',res) + this.list = res.data.productOutputList; + }); }, - detailedList: {}, - list: [], - rules: {}, - showModal: false, - }; - }, - onReady() {}, - 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); - console.log('222') - if (codeInfo.moNo) { - console.log('1111') - // 鎵弿鎶ュ伐鍗曚簩缁寸爜 - that.saveForm(codeInfo); - // that.$forceUpdate(); - } - } - }); - }, - methods: { - // 鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰� - confirm() { - // 澶勭悊纭閫昏緫 - this.$u.api.cancelReporting.cancelDTAOfWorkApplication({outBatchNo:this.detailedList.outBatchNo}).then((res) => { - console.log("res", res); - this.list = res.data.records; - this.showModal = false; - }); - }, - cancel() { - this.showModal = false; // 鍏抽棴寮圭獥 - }, - openList() { - uni.navigateTo({ - url: "/pages/product/report/orderList", - }); - }, - setNo(val) { - this.form.moNo = val.moNo; - }, - // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� - saveForm(val) { - console.log('1111@@@@@@1',this.form) - if (this.form.moNo == '') { - uni.showToast({ - icon: "none", - title: "璇峰厛閫夋嫨璁㈠崟鍙凤紒", - duration: 2 * 1000, - }); - return; - } - if (this.form.moNo != val.moNo) { - uni.showToast({ - icon: "none", - title: "鎵弿鐨勪簩缁寸爜涓庤璁㈠崟涓嶄竴鑷�", - duration: 2 * 1000, - }); - return; - } - this.detailedList = val; - this.showModal = true; - }, - }, -}; + // 鍙栨秷鎶ュ伐 + cancelReport(item, index) { + let that = this; + uni.showModal({ + title: "鎻愮ず", + content: "鏄惁纭鍙栨秷鎵规" + item.outBatchNo + "鐨勬姤宸�", + success: function(res) { + if (res.confirm) { + that.detailedList = item; + that.showModal = true; + } else if (res.cancel) { + return; + } + }, + }); + }, + confirmModle() { + console.log("鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰�"); + // 澶勭悊纭閫昏緫 + this.$u.api.cancelReporting + .cancelDTAOfWorkApplication({ + outBatchNo: this.detailedList.outBatchNo, + outputId: this.detailedList.id + }) + .then((res) => { + console.log("res", res); + this.getBGList(); + this.showModal = false; + // this.getHandelList(); + this.$u.toast("鍙栨秷鎶ュ伐鎴愬姛"); + }); + }, + }, + }; </script> <style lang="scss" scoped> -.packing-registration-param { - padding: 40rpx 30rpx 10rpx 30rpx; - height: 350px; - overflow: hidden; + .packing-registration-param { + padding: 40rpx 30rpx 10rpx 30rpx; + height: 350px; + overflow: hidden; - .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 { - word-break: break-all; - font-size: 30rpx; - color: #666666; - } - } + .packing-registration-param-item-left { + .item-one { + word-break: break-all; + 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: #060505; - margin-right: 6rpx; - word-break: break-all; - } + .item-one { + font-size: 30rpx; + color: #060505; + margin-right: 6rpx; + word-break: break-all; + } - .item-two { - font-size: 15rpx; - color: #a6b4cc; - margin-right: 6rpx; - } + .item-two { + font-size: 15rpx; + 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; + } + } + } + .popup-content { width: 720rpx; height: 400rpx; @@ -314,148 +339,150 @@ z-index: 10; /* 纭繚鍐呭鍦ㄨ挋鐗堜箣涓� */ } -.page { - box-sizing: border-box; -} -.packing-registration-bg { - background-color: #f6f9ff; - background-image: url("~@/static/custom/packing/backBg.png"); - 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; -} + .page { + box-sizing: border-box; + } -.uForm { - background: #fff; - margin: 40rpx 30rpx; - padding: 20rpx 30rpx; - border-radius: 16rpx; -} + .packing-registration-bg { + background-color: #f6f9ff; + background-image: url("~@/static/custom/packing/backBg.png"); + 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; + } -::v-deep .u-input__input { - text-align: right !important; -} + .uForm { + background: #fff; + margin: 40rpx 30rpx; + padding: 20rpx 30rpx; + border-radius: 16rpx; + } -.u-form-item { - padding: 0; -} -.wrap .finishProductIn-locno-scroll-list { - height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx); - width: 100%; -} + ::v-deep .u-input__input { + text-align: right !important; + } -.finishProductIn-locno-scroll-list-group { - ::v-deep .u-cell-item-box { - background-color: rgba(250, 252, 255, 0.36) !important; - padding: 0rpx 30rpx; - } + .u-form-item { + padding: 0; + } - .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; + .wrap .finishProductIn-locno-scroll-list { + height: calc(100vh - var(--window-top) - var(--window-bottom) - 242rpx); + width: 100%; + } - white-space: normal; + .finishProductIn-locno-scroll-list-group { + ::v-deep .u-cell-item-box { + background-color: rgba(250, 252, 255, 0.36) !important; + padding: 0rpx 30rpx; + } - .content-header { - width: 40rpx; - height: 90rpx; - display: flex; - align-items: center; - overflow-wrap: break-word; + .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-icon { - background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); - background-size: 100% auto; - background-repeat: no-repeat; - height: 28rpx; - width: 28rpx; - } + white-space: normal; - .content-header-title { - width: 40rpx; - // margin-left: 11rpx; - font-size: 26rpx; - color: #333333; - } - } + .content-header { + width: 40rpx; + height: 90rpx; + display: flex; + align-items: center; + overflow-wrap: break-word; - .content-body { - flex: 1; - background: #f5f9ff; - border-radius: 10rpx; - padding: 0rpx 23rpx; + .content-header-icon { + background-image: url("~@/static/custom/moveWareHouse/header_icon.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 28rpx; + width: 28rpx; + } - .row-list { - height: 60rpx; - display: flex; - flex-direction: row; - padding: 0px; - align-items: center; - } + .content-header-title { + width: 40rpx; + // margin-left: 11rpx; + font-size: 26rpx; + color: #333333; + } + } - .row-list ._label { - display: flex; - flex: 0.8; - color: #909399; - align-items: center; + .content-body { + flex: 1; + background: #f5f9ff; + border-radius: 10rpx; + padding: 0rpx 23rpx; - ._label-icon-1 { - background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png"); - background-size: 100% auto; - background-repeat: no-repeat; - height: 26rpx; - width: 26rpx; - } + .row-list { + height: 60rpx; + display: flex; + flex-direction: row; + padding: 0px; + align-items: center; + } - ._label-icon-2 { - background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png"); - background-size: 100% auto; - background-repeat: no-repeat; - height: 26rpx; - width: 26rpx; - } + .row-list ._label { + display: flex; + flex: 0.8; + color: #909399; + align-items: center; - ._label-icon-3 { - background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png"); - background-size: 100% auto; - background-repeat: no-repeat; - height: 26rpx; - width: 26rpx; - } + ._label-icon-1 { + background-image: url("~@/static/custom/moveWareHouse/label-icon-1.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 26rpx; + width: 26rpx; + } - ._label-name { - margin-left: 11rpx; - font-size: 26rpx; - font-weight: 500; - color: #666666; - } - } + ._label-icon-2 { + background-image: url("~@/static/custom/moveWareHouse/label-icon-2.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 26rpx; + width: 26rpx; + } - .row-list ._content { - flex: 1.5; - text-align: right; - color: #909399; - font-size: 24rpx; - } + ._label-icon-3 { + background-image: url("~@/static/custom/moveWareHouse/label-icon-3.png"); + background-size: 100% auto; + background-repeat: no-repeat; + height: 26rpx; + width: 26rpx; + } - .row-list .s1 { - color: #d35651; - } - } - } -} + ._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 .s1 { + color: #d35651; + } + } + } + } </style> \ No newline at end of file -- Gitblit v1.9.3