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/report/components/saveForm.vue | 381 ++++++-- pages.json | 20 pages/product/report/index.vue | 1112 +++++++++++++-------------- pages/product/cancelReport/index.vue | 845 ++++++++++---------- pages/sys/home/index.vue | 30 common/http.api.js | 1 6 files changed, 1,258 insertions(+), 1,131 deletions(-) diff --git a/common/http.api.js b/common/http.api.js index 44fb092..c040bf7 100644 --- a/common/http.api.js +++ b/common/http.api.js @@ -507,6 +507,7 @@ cancelReporting: { // 鍙栨秷鎶ュ伐纭 cancelDTAOfWorkApplication: (params = {}) => vm.$u.get('/mes/product/cancelDTAOfWorkApplication', params), + selInputPartInfoPDA: (params = {}) => vm.$u.get('/mes/stock/selInputPartInfoPDA',params), }, // 杞﹂棿璁㈠崟涓嬪彂 WorkshopOrderIssued: { diff --git a/pages.json b/pages.json index 9cf2ae7..f12e773 100644 --- a/pages.json +++ b/pages.json @@ -792,16 +792,16 @@ "navigationBarBackgroundColor": "#3281FF" } }, - // // 鍙栨秷鎶ュ伐 - // { - // "path": "pages/product/cancelReport/index", - // "style": { - // "navigationStyle": "custom", - // "navigationBarTitleText": "", - // // "navigationBarBackgroundColor": "#3281FF" - // "enablePullDownRefresh": false - // } - // }, + // 鍙栨秷鎶ュ伐 + { + "path": "pages/product/cancelReport/index", + "style": { + "navigationStyle": "custom", + "navigationBarTitleText": "", + // "navigationBarBackgroundColor": "#3281FF" + "enablePullDownRefresh": false + } + }, // 鎺ユ敹(閾滄潌) { "path": "pages/product/receive/index", 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 diff --git a/pages/product/report/components/saveForm.vue b/pages/product/report/components/saveForm.vue index 03049c7..ec1c7f5 100644 --- a/pages/product/report/components/saveForm.vue +++ b/pages/product/report/components/saveForm.vue @@ -1,144 +1,217 @@ <template> - <u-modal - v-model="show" - ref="uModal" - title="" - :show-cancel-button="true" - @confirm="confirm" - @cancel="cancel" - :async-close="true" - :loading="loading" - > - <view class="packing-registration-param"> - <scroll-view scroll-y="true" style="height: 100%;transform: translateZ(0);-webkit-font-smoothing: antialiased;"> + <view> + <u-modal + v-model="show" + ref="uModal" + title="" + :show-cancel-button="true" + @confirm="confirm" + @cancel="cancel" + :async-close="true" + :loading="loading" + > + <view class="packing-registration-param"> + <scroll-view + scroll-y="true" + style=" + height: 100%; + transform: translateZ(0); + -webkit-font-smoothing: antialiased; + " + > + <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"> + <u-input class="item-one item-two" v-model="form.outBatchNo" /> + </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"> + <u-input + class="item-one item-two" + v-model="form.ifsBatchNoArr" + disabled + /> + </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"> + <u-input + class="item-one item-two" + v-model="form.overallLength" + /> + </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"> + <u-input + class="item-one item-two" + v-model="form.proposedLocation" + disabled + /> + </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"> + <u-input class="item-one item-two" v-model="form.reelNumber" /> + </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"> + <u-input class="item-one item-two" v-model="form.reelWeight" /> + </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"> + <u-input class="item-one item-two" v-model="form.grossWeight" /> + </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"> + <u-input + class="item-one item-two" + v-model="form.netWeight" + disabled + /> + </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"> + <u-input class="item-one item-two" v-model="form.waste" /> + </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"> + <u-input + class="item-one item-two" + v-model="form.name" + disabled + /> + </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"> + <u-input + class="item-one item-two" + v-model="form.outerDiameter" + /> + </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"> + <u-input class="item-one item-two" v-model="form.voltage" /> + </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"> + <u-input class="item-one item-two" v-model="form.speed" /> + </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"> + <u-input class="item-one item-two" v-model="form.pressure" /> + </view> + </view> + <view class="packing-registration-param-item param-extra"> + <view class="packing-registration-param-item-left"> + <text class="item-one item-two">鐢熶骇閫熷害</text> + </view> + <view class="packing-registration-param-item-right"> + <u-input + class="item-one item-two" + v-model="form.productionSpeed" + /> + </view> + </view> + </view> + </scroll-view> + </view> + </u-modal> + <u-modal + v-model="showModal" + title="" + :show-cancel-button="true" + :show-confirm-button="true" + @confirm="confirmTl" + @cancel="cancelTl" + > + <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"> - <u-input class="item-one item-two" v-model="form.outBatchNo" /> + <text class="item-one item-two">{{ + detailedList.ifsBatchNo + }}</text> </view> </view> <view class="packing-registration-param-item param-extra"> <view class="packing-registration-param-item-left"> - <text class="item-one">闀垮害</text> + <text class="item-one">闆朵欢鎻忚堪</text> </view> <view class="packing-registration-param-item-right"> - <u-input class="item-one item-two" v-model="form.overallLength" /> + <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">搴撲綅</text> + <text class="item-one">鏁伴噺</text> </view> <view class="packing-registration-param-item-right"> <u-input class="item-one item-two" - v-model="form.proposedLocation" - disabled - /> - </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"> - <u-input class="item-one item-two" v-model="form.reelNumber" /> - </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"> - <u-input class="item-one item-two" v-model="form.reelWeight" /> - </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"> - <u-input class="item-one item-two" v-model="form.grossWeight" /> - </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"> - <u-input - class="item-one item-two" - v-model="form.netWeight" - disabled - /> - </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"> - <u-input class="item-one item-two" v-model="form.waste" /> - </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"> - <u-input class="item-one item-two" v-model="form.name" disabled /> - </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"> - <u-input class="item-one item-two" v-model="form.outerDiameter" /> - </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"> - <u-input class="item-one item-two" v-model="form.voltage" /> - </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"> - <u-input class="item-one item-two" v-model="form.speed" /> - </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"> - <u-input class="item-one item-two" v-model="form.pressure" /> - </view> - </view> - <view class="packing-registration-param-item param-extra"> - <view class="packing-registration-param-item-left"> - <text class="item-one item-two">鐢熶骇閫熷害</text> - </view> - <view class="packing-registration-param-item-right"> - <u-input - class="item-one item-two" - v-model="form.productionSpeed" + v-model="detailedList.suppliedQuantity" /> </view> </view> </view> - </scroll-view> - </view> - </u-modal> + </view> + </u-modal> + </view> </template> <script> @@ -150,15 +223,19 @@ default: () => ({}), }, dutyId: { - type: String, + type: Number, required: true, - default: '', + default: "", }, }, data() { return { + showModal: false, + detailedList: {}, show: false, form: {}, + ifsBatchNo: [], + productInputList: [], loading: false, }; }, @@ -221,6 +298,11 @@ this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� return; } + if (this.form.productInputList.length == 0) { + this.$u.toast("鎶曟枡鎵规涓嶈兘涓虹┖锛岃鎵爜鎶曟枡"); + this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵�� + return; + } this.operationTaskList.operationTaskId = this.operationTaskList.id; this.form.operationTaskId = this.operationTaskList.id; this.form.status = this.operationTaskList.status; @@ -235,7 +317,7 @@ this.$u.api.workReporting .submitPDA(this.operationTaskList) .then((res) => { - this.$emit("update"); + this.$emit("update",this.operationTaskList); this.$refs.uModal.cancel(); }) .finally(() => { @@ -246,11 +328,72 @@ cancel() { this.show = false; this.form = {}; + this.ifsBatchNo = []; + this.productInputList = []; + }, + cancelTl() { + this.showModal = false; + this.detailedList = {}; + }, + updateArray(arr, newObj) { + // 鏌ユ壘鏁扮粍涓槸鍚︽湁鐩稿悓鐨� id + let index = arr.findIndex(item => item.ifsBatchNo === newObj.ifsBatchNo); + + if (index !== -1) { + // 濡傛灉鎵惧埌鐩稿悓 id 鐨勫璞★紝鏇挎崲鍘熸湁瀵硅薄 + arr[index] = newObj; + } else { + // 濡傛灉娌℃湁鎵惧埌鐩稿悓 id 鐨勫璞★紝鐩存帴鎺ㄥ叆鏂板璞� + arr.push(newObj); + } + return arr; +}, + confirmTl() { + let ifsBatchNoArr = []; + let updatedArrayList = this.updateArray(this.productInputList, this.detailedList); + console.log("updatedArrayList", updatedArrayList); + // this.productInputList.push(updatedArrayList); + this.$set(this.form, "productInputList", this.productInputList); + + this.productInputList.forEach((item) => { + ifsBatchNoArr.push(item.ifsBatchNo) + }) + console.log("ifsBatchNoArr", ifsBatchNoArr); + // this.ifsBatchNo.push(ifsBatchNoArr); + this.$set(this.form, "ifsBatchNoArr", ifsBatchNoArr); + console.log("this.form", this.form); + this.showModal = false; + this.detailedList = {}; }, open(val) { this.show = true; this.form = val.data; }, + // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� + saveForm(val) { + this.$u.api.cancelReporting + .selInputPartInfoPDA({ + outBatchNo: val.BN, + partNo: val.PN, + moOn: this.operationTaskList.moOn, + }) + .then((res) => { + const list = { + suppliedQuantity: res.data.suppliedQuantity, + ifsBatchNo: res.data.ifsBatchNo, + partNo: res.data.partNo, + partName: res.data.partName, + locationNo: res.data.locationNo, + ifsLineItemNo: res.data.ifsLineItemNo, + serialNo: res.data.serialNo, + engChgLevel: res.data.engChgLevel, + ifsWdr: res.data.waivDevRejNo, + activitySeq: res.data.activitySeq, + }; + this.detailedList = list; + this.showModal = true; + }); + }, }, }; </script> diff --git a/pages/product/report/index.vue b/pages/product/report/index.vue index 9cc7a83..6129956 100644 --- a/pages/product/report/index.vue +++ b/pages/product/report/index.vue @@ -1,424 +1,365 @@ <template> - <!-- 鎶ュ伐 --> - <div class="page"> - <u-form - :model="form" - ref="uForm" - :label-width="200" - :rules="rules" - :error-type="['toast']" - > - <u-form-item label="杞﹂棿" :border-bottom="false" prop="work" style="font-size:small"> - <u-radio-group v-model="form.work" :disabled="subdisabled"> - <u-radio name="dt"><span style="font-size:small">瀵间綋</span></u-radio> - <u-radio name="tg"><span style="fongt-size:small">閾滄潌</span></u-radio> - </u-radio-group> - </u-form-item> - <u-form-item label="鎶ュ伐鍗曞彿" :border-bottom="false" prop="taskNo" style="font-size:small"> - <u-input - v-model="form.taskNo" - type="select" - placeholder="璇锋壂鎻忔姤宸ュ崟鍙�" - @click="open" - /> - </u-form-item> - <u-form-item label="宸ュ簭" :border-bottom="false" prop="name" style="font-size:small"> - <u-input - v-model="form.name" - type="select" - placeholder="璇锋壂鎻忔姤宸ュ崟鍙�" - /> - </u-form-item> - <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moOn" style="font-size:small"> - <u-input - v-model="form.moOn" - type="select" - placeholder="鐐瑰嚮閫夋嫨" - @click="openList" - /> - </u-form-item> - <u-form-item label="闆朵欢鍙�" :border-bottom="false" prop="partNo" style="font-size:small"> - <u-input v-model="form.partNo" placeholder="" disabled /> - </u-form-item> - <u-form-item label="闆朵欢鎻忚堪" :border-bottom="false" prop="partName" style="font-size:small"> - <u-input v-model="form.partName" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="qtyRequired" style="font-size:small"> - <u-input v-model="form.qtyRequired" placeholder="" disabled /> - </u-form-item> - <u-form-item - label="鍓╀綑鏁伴噺" - :border-bottom="false" - prop="Jianqtyfinished" - style="font-size:small" - > - <u-input v-model="form.Jianqtyfinished" placeholder="" disabled /> - </u-form-item> - <u-form-item label="搴撲綅" :border-bottom="false" prop="proposedLocation" style="font-size:small"> - <u-input v-model="form.proposedLocation" placeholder="" disabled /> - </u-form-item> - <u-form-item label="鎶ュ伐绫诲瀷" label-width="90px" prop="productType" style="font-size:small"> - <u-radio-group v-model="form.productType" :disabled="subdisabled"> - <u-radio name="dep"><span style="font-size:small">涓嬫満鎶ュ伐</span></u-radio> - <u-radio name="ndep"><span style="font-size:small">鏈笅鏈烘姤宸�</span></u-radio> - </u-radio-group> - </u-form-item> - <u-form-item label="鎺ユ敹闆朵欢" label-width="90px" prop="receive" style="font-size:small"> - <u-radio-group v-model="form.receive" :disabled="subdisabled"> - <u-radio name="mo"><span style="font-size:small">杞﹂棿璁㈠崟</span></u-radio> - <u-radio name="part"><span style="font-size:small">鏇夸唬闆朵欢</span></u-radio> - </u-radio-group> - </u-form-item> - <u-form-item label="鐗╂枡" label-width="90px" prop="materialCost" style="font-size:small"> - <u-radio-group v-model="form.materialCost" :disabled="true"> - <u-radio name="鍊掑啿"><span style="font-size:small">鍊掑啿</span></u-radio> - <u-radio name="鎶曟枡"><span style="font-size:small">鎶曟枡</span></u-radio> - </u-radio-group> - </u-form-item> - <u-form-item label="绠�鍖栫墿鏂欐鏌�" label-width="90px" prop="simplifyMaterials" style="font-size:small"> - <u-radio-group v-model="form.simplifyMaterials" :disabled="subdisabled || simplifyDisabled" @change="radioChange"> - <u-radio name="true"><span style="font-size:small">鏄�</span></u-radio> - <u-radio name="false"><span style="font-size:small">鍚�</span></u-radio> - </u-radio-group> - </u-form-item> - <u-form-item label="鎶ュ伐鏂瑰紡" label-width="90px" prop="status" style="font-size:small"> - <u-radio-group v-model="form.status" :disabled="subdisabled" @change="handleReportTypeChange"> - <u-radio name="false"><span style="font-size:small">鎸夌彮缁勬姤宸�</span></u-radio> - <u-radio name="true"><span style="font-size:small">鎸変汉鍛樻姤宸�</span></u-radio> - </u-radio-group> - </u-form-item> - <u-form-item label="浜哄憳鍚嶇О" label-width="90px" :border-bottom="false" prop="Persons" style="font-size:small"> - <u-input v-model="form.Persons" type="select" placeholder="璇烽�夋嫨" - @click="openselectedPersons" :disabled="!canSelectPerson || subdisabled"/> + <!-- 鎶ュ伐 --> + <div class="page"> + <u-form :model="form" ref="uForm" :label-width="200" :rules="rules" :error-type="['toast']"> + <u-form-item label="杞﹂棿" :border-bottom="false" prop="work" style="font-size:small"> + <u-radio-group v-model="form.work" :disabled="subdisabled"> + <u-radio name="dt"><span style="font-size:small">瀵间綋</span></u-radio> + <u-radio name="tg"><span style="fongt-size:small">閾滄潌</span></u-radio> + </u-radio-group> </u-form-item> - <u-form-item label="浜у嚭鍒楄〃" :border-bottom="false" style="font-size:small"></u-form-item> - </u-form> - <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 InventoryReceiptList" - :key="index" - :index="index" - @click="cancelReport(item)" - > - <view class="content-header"> - <view class="content-header-title" style="font-size:small">{{ 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.netWeight }} - </view> - </view> - <view class="row-list"> - <view class="_label"> - <view class="_label-name">搴撲綅锛�</view> - </view> - <view class="_content"> - {{ item.proposedLocation }} - </view> - </view> - </view> - </view> - </u-cell-group> - </scroll-view> - </view> - <!-- 濉啓鎶ュ伐鍗� --> - <modalBg ref="modalBg" :confirm="confirm"> - <u-field - v-model="form.taskNo" - label="鎶ュ伐鍗曞彿" - placeholder="璇疯緭鍏�" - :border-bottom="false" - style="font-size:small" - > - </u-field> - </modalBg> - <saveForm - ref="saveForm" - :operationTaskList="this.form" - :dutyId="dutyId" - @update="handleUpdate" - /> - <u-modal - width="720rpx" - v-model="showModal" - title="" - :show-cancel-button="true" - :show-confirm-button="true" - @confirm="confirmModle" - @cancel="cancelModle" - > - <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">{{ detailedList.netWeight }}</span> - </view> - </view> - </view> - </view> - </view> - </u-modal> - <u-modal v-model="personShowModal" title="" :show-cancel-button="true" :show-confirm-button="true" - @confirm="confirmSelection" @cancel="cancelSelection"> + <u-form-item label="鎶ュ伐鍗曞彿" :border-bottom="false" prop="taskNo" style="font-size:small"> + <u-input v-model="form.taskNo" type="select" placeholder="璇锋壂鎻忔姤宸ュ崟鍙�" @click="open" /> + </u-form-item> + <u-form-item label="宸ュ簭" :border-bottom="false" prop="name" style="font-size:small"> + <u-input v-model="form.name" type="select" placeholder="璇锋壂鎻忔姤宸ュ崟鍙�" /> + </u-form-item> + <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moOn" style="font-size:small"> + <u-input v-model="form.moOn" type="select" placeholder="鐐瑰嚮閫夋嫨" @click="openList" /> + </u-form-item> + <u-form-item label="闆朵欢鍙�" :border-bottom="false" prop="partNo" style="font-size:small"> + <u-input v-model="form.partNo" placeholder="" disabled /> + </u-form-item> + <u-form-item label="闆朵欢鎻忚堪" :border-bottom="false" prop="partName" style="font-size:small"> + <u-input v-model="form.partName" placeholder="" disabled /> + </u-form-item> + <u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="qtyRequired" style="font-size:small"> + <u-input v-model="form.qtyRequired" placeholder="" disabled /> + </u-form-item> + <u-form-item label="鍓╀綑鏁伴噺" :border-bottom="false" prop="Jianqtyfinished" style="font-size:small"> + <u-input v-model="form.Jianqtyfinished" placeholder="" disabled /> + </u-form-item> + <u-form-item label="搴撲綅" :border-bottom="false" prop="proposedLocation" style="font-size:small"> + <u-input v-model="form.proposedLocation" placeholder="" disabled /> + </u-form-item> + <u-form-item label="鎶ュ伐绫诲瀷" label-width="90px" prop="productType" style="font-size:small"> + <u-radio-group v-model="form.productType" :disabled="subdisabled"> + <u-radio name="dep"><span style="font-size:small">涓嬫満鎶ュ伐</span></u-radio> + <u-radio name="ndep"><span style="font-size:small">鏈笅鏈烘姤宸�</span></u-radio> + </u-radio-group> + </u-form-item> + <u-form-item label="鎺ユ敹闆朵欢" label-width="90px" prop="receive" style="font-size:small"> + <u-radio-group v-model="form.receive" :disabled="subdisabled"> + <u-radio name="mo"><span style="font-size:small">杞﹂棿璁㈠崟</span></u-radio> + <u-radio name="part"><span style="font-size:small">鏇夸唬闆朵欢</span></u-radio> + </u-radio-group> + </u-form-item> + <u-form-item label="鐗╂枡" label-width="90px" prop="materialCost" style="font-size:small"> + <u-radio-group v-model="form.materialCost" :disabled="true"> + <u-radio name="鍊掑啿"><span style="font-size:small">鍊掑啿</span></u-radio> + <u-radio name="鎶曟枡"><span style="font-size:small">鎶曟枡</span></u-radio> + </u-radio-group> + </u-form-item> + <u-form-item label="绠�鍖栫墿鏂欐鏌�" label-width="90px" prop="simplifyMaterials" style="font-size:small"> + <u-radio-group v-model="form.simplifyMaterials" :disabled="subdisabled || simplifyDisabled" + @change="radioChange"> + <u-radio name="true"><span style="font-size:small">鏄�</span></u-radio> + <u-radio name="false"><span style="font-size:small">鍚�</span></u-radio> + </u-radio-group> + </u-form-item> + <u-form-item label="鎶ュ伐鏂瑰紡" label-width="90px" prop="status" style="font-size:small"> + <u-radio-group v-model="form.status" :disabled="subdisabled" @change="handleReportTypeChange"> + <u-radio name="false"><span style="font-size:small">鎸夌彮缁勬姤宸�</span></u-radio> + <u-radio name="true"><span style="font-size:small">鎸変汉鍛樻姤宸�</span></u-radio> + </u-radio-group> + </u-form-item> + <u-form-item label="浜哄憳鍚嶇О" label-width="90px" :border-bottom="false" prop="Persons" style="font-size:small"> + <u-input v-model="form.Persons" type="select" placeholder="璇烽�夋嫨" @click="openselectedPersons" + :disabled="!canSelectPerson || subdisabled" /> + </u-form-item> + <u-form-item label="浜у嚭鍒楄〃" :border-bottom="false" style="font-size:small"></u-form-item> + </u-form> + <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 InventoryReceiptList" :key="index" :index="index" + @click="cancelReport(item,index)"> + <view class="content-header"> + <view class="content-header-title" style="font-size:small">{{ 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.netWeight }} + </view> + </view> + <view class="row-list"> + <view class="_label"> + <view class="_label-name">搴撲綅锛�</view> + </view> + <view class="_content"> + {{ item.proposedLocation }} + </view> + </view> + </view> + </view> + </u-cell-group> + </scroll-view> + </view> + <!-- 濉啓鎶ュ伐鍗� --> + <modalBg ref="modalBg" :confirm="confirm"> + <u-field v-model="form.taskNo" label="鎶ュ伐鍗曞彿" placeholder="璇疯緭鍏�" :border-bottom="false" + style="font-size:small"> + </u-field> + </modalBg> + <saveForm ref="saveForm" :operationTaskList="this.form" :dutyId="dutyId" @update="handleUpdate" /> + <u-modal width="720rpx" v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" + @confirm="confirmModle" @cancel="cancelModle"> <view class="popup-content"> - <scroll-view scroll-y="true" style="height: 100%; transform: translateZ(0); -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;"> - <view class="popup-header"> - <checkbox-group @change="checkboxChange"> - <label class="checkbox-item" v-for="(item, index) in selectedPersons" :key="index"> - <checkbox :value="item.staffId" :checked="item.checked" /> - <text class="label">{{ item.staffName }}</text> - </label> - </checkbox-group> + <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">{{ detailedList.netWeight }}</span> + </view> + </view> + </view> </view> - </scroll-view> </view> </u-modal> - <scan></scan> - </div> + <u-modal v-model="personShowModal" title="" :show-cancel-button="true" :show-confirm-button="true" + @confirm="confirmSelection" @cancel="cancelSelection"> + <view class="popup-content"> + <scroll-view scroll-y="true" + style="height: 100%; transform: translateZ(0); -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;"> + <view class="popup-header"> + <checkbox-group @change="checkboxChange"> + <label class="checkbox-item" v-for="(item, index) in selectedPersons" :key="index"> + <checkbox :value="item.staffId" :checked="item.checked" /> + <text class="label">{{ item.staffName }}</text> + </label> + </checkbox-group> + </view> + </scroll-view> + </view> + </u-modal> + <scan></scan> + </div> </template> <script> -import modalBg from "@/components/modal/modal-bg.vue"; -import saveForm from "./components/saveForm.vue"; -import scan from "@/components/scan/scan.vue"; -export default { - components: { - modalBg, - saveForm, - scan, - }, - data() { - return { - simplifyDisabled:false, - // checkboxList: [ - // { - // name: "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�", - // value: false, - // disabled: false, - // }, - // { - // name: "绠�鍖栫墿鏂欐鏌�", - // value: false, - // disabled: false, - // }, - // ], - InventoryReceiptList: [], - selectedPersons: [], - form: { - workstationId: "", - work: "", - taskNo: "", - name: "", - moOn: "", - partNo: "", - partName: "", - qtyRequired: "", - Jianqtyfinished: "", - proposedLocation: "", - productType: "dep", - receive: "mo", - materialCost: "", - // autoReport: false, - simplifyMaterials: 'false', - status: 'false', - Persons: '', - productStaffIds: [], - productStaffs:[] - }, - personList: [], - canSelectPerson: false, - rules: { - work: [ - { - required: true, - message: "璇烽�夋嫨杞﹂棿", - trigger: ["change"], - }, - ], - taskNo: [ - { - required: true, - message: "璇烽�夋嫨鎶ュ伐鍗曞彿", - trigger: ["change", "blur"], - }, - ], - name: [ - { - required: true, - message: "璇烽�夋嫨宸ュ簭", - trigger: ["change", "blur"], - }, - ], - moOn: [ - { - required: true, - message: "璇烽�夋嫨璁㈠崟鍙�", - trigger: ["change", "blur"], - }, - ], - productType: [ - { - required: true, - message: "璇烽�夋嫨鎶ュ伐绫诲瀷", - trigger: ["change"], - }, - ], - receive: [ - { - required: true, - message: "璇烽�夋嫨鎺ユ敹闆朵欢绫诲瀷", - trigger: ["change"], - }, - ], - status: [ - { - required: true, - message: "璇烽�夋嫨鎶ュ伐鏂瑰紡", - trigger: ["change"], - }, - ], - Persons: [ - { - required: true, - message: "璇烽�夋嫨浜哄憳", - trigger: ["change"], - }, - ], - }, - showSave: false, - operationTaskId: "", - subdisabled: false, - codeInfoId: "", - detailedList: {}, - showModal: false, - personShowModal: false, - checkboxList: [], - }; - }, - // 鐐瑰嚮鎻愪氦鎸夐挳鐨勪簨浠跺鐞嗗嚱鏁� - onNavigationBarButtonTap() { - this.$refs.uForm.validate((valid) => { - if (valid) { - uni.showLoading({ - mask: true, - title: "鍔犺浇涓�", - }); - // 澶勭悊鎻愪氦閫昏緫 - this.$u.api.workReporting - .operationTask({ - id: this.form.id, - }) - .then((res) => { - res.data.name = this.form.name; - this.$refs.saveForm.open(res); - uni.hideLoading(); - }); - } else { - // 鍙互鑾峰彇鍏蜂綋鐨勯敊璇俊鎭� - const errors = this.$refs.uForm.getError(); - } - }); - }, - onReady() { - this.$refs.uForm.setRules(this.rules); - }, - onShow() { - let that = this; - uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 - uni.$on("scan", function (data) { - //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� - if (data.code) { - let codeInfo = JSON.parse(data.code); - if (codeInfo.moOn) { - that.codeInfoId = codeInfo.id; - // 鎵弿鎶ュ伐鍗曚簩缁寸爜 - that.saveForm(codeInfo); - that.getHandelList(); - } - if (codeInfo.BN) { - // 鎵弿鎶ュ伐鍗曚簩缁寸爜 - that.CopperReportingWork(codeInfo); - } - } - }); - }, - watch: { - "form.taskNo": function (newVal, oldVal) { - this.subdisabled = false; - }, - 'form.status'(newVal) { - this.selectedPersons = this.selectedPersons.map(item => ({ - ...item, - checked: newVal === 'false' - })); - } - }, - methods: { - // 澶勭悊鎶ュ伐鏂瑰紡鍙樻洿 - handleReportTypeChange() { - // 鍒囨崲鎶ュ伐鏂瑰紡鏃舵竻绌轰汉鍛樺悕绉� - this.form.Persons = ''; - this.form.productStaffs = []; - this.form.productStaffIds = []; - }, - // 浜哄憳鍚嶇О - openselectedPersons() { + import modalBg from "@/components/modal/modal-bg.vue"; + import saveForm from "./components/saveForm.vue"; + import scan from "@/components/scan/scan.vue"; + export default { + components: { + modalBg, + saveForm, + scan, + }, + data() { + return { + simplifyDisabled: false, + // checkboxList: [ + // { + // name: "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�", + // value: false, + // disabled: false, + // }, + // { + // name: "绠�鍖栫墿鏂欐鏌�", + // value: false, + // disabled: false, + // }, + // ], + InventoryReceiptList: [], + selectedPersons: [], + form: { + workstationId: "", + work: "", + taskNo: "", + name: "", + moOn: "", + partNo: "", + partName: "", + qtyRequired: "", + Jianqtyfinished: "", + proposedLocation: "", + productType: "dep", + receive: "mo", + materialCost: "", + // autoReport: false, + simplifyMaterials: 'false', + status: 'false', + Persons: '', + productStaffIds: [], + productStaffs: [] + }, + personList: [], + canSelectPerson: false, + rules: { + work: [{ + required: true, + message: "璇烽�夋嫨杞﹂棿", + trigger: ["change"], + }, ], + taskNo: [{ + required: true, + message: "璇烽�夋嫨鎶ュ伐鍗曞彿", + trigger: ["change", "blur"], + }, ], + name: [{ + required: true, + message: "璇烽�夋嫨宸ュ簭", + trigger: ["change", "blur"], + }, ], + moOn: [{ + required: true, + message: "璇烽�夋嫨璁㈠崟鍙�", + trigger: ["change", "blur"], + }, ], + productType: [{ + required: true, + message: "璇烽�夋嫨鎶ュ伐绫诲瀷", + trigger: ["change"], + }, ], + receive: [{ + required: true, + message: "璇烽�夋嫨鎺ユ敹闆朵欢绫诲瀷", + trigger: ["change"], + }, ], + status: [{ + required: true, + message: "璇烽�夋嫨鎶ュ伐鏂瑰紡", + trigger: ["change"], + }, ], + Persons: [{ + required: true, + message: "璇烽�夋嫨浜哄憳", + trigger: ["change"], + }, ], + }, + showSave: false, + operationTaskId: "", + subdisabled: false, + codeInfoId: "", + detailedList: {}, + showModal: false, + personShowModal: false, + checkboxList: [], + index: 0, + }; + }, + // 鐐瑰嚮鎻愪氦鎸夐挳鐨勪簨浠跺鐞嗗嚱鏁� + onNavigationBarButtonTap() { + this.$refs.uForm.validate((valid) => { + if (valid) { + uni.showLoading({ + mask: true, + title: "鍔犺浇涓�", + }); + // 澶勭悊鎻愪氦閫昏緫 + this.$u.api.workReporting + .operationTask({ + id: this.form.id, + }) + .then((res) => { + res.data.name = this.form.name; + this.$refs.saveForm.open(res); + uni.hideLoading(); + }); + } else { + // 鍙互鑾峰彇鍏蜂綋鐨勯敊璇俊鎭� + const errors = this.$refs.uForm.getError(); + } + }); + }, + onReady() { + this.$refs.uForm.setRules(this.rules); + }, + onShow() { + let that = this; + uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒 + uni.$on("scan", function(data) { + //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲� + if (data.code) { + let codeInfo = JSON.parse(data.code); + if (codeInfo.moOn) { + that.codeInfoId = codeInfo.id; + // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + that.saveForm(codeInfo); + // that.getHandelList(); + } + if (codeInfo.ES) { + // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + that.CopperReportingWork(codeInfo); + } + if (codeInfo.BN) { + // 鎵弿鎶ュ伐鍗曚簩缁寸爜 + that.$refs.saveForm.saveForm(codeInfo); + } + } + }); + }, + watch: { + "form.taskNo": function(newVal, oldVal) { + this.subdisabled = false; + }, + 'form.status'(newVal) { + this.selectedPersons = this.selectedPersons.map(item => ({ + ...item, + checked: newVal === 'false' + })); + } + }, + methods: { + // 澶勭悊鎶ュ伐鏂瑰紡鍙樻洿 + handleReportTypeChange() { + // 鍒囨崲鎶ュ伐鏂瑰紡鏃舵竻绌轰汉鍛樺悕绉� + this.form.Persons = ''; + this.form.productStaffs = []; + this.form.productStaffIds = []; + }, + // 浜哄憳鍚嶇О + openselectedPersons() { this.personShowModal = true; - }, - // 澶嶉�夋鍙樺寲浜嬩欢 - checkboxChange(e) { - console.log('e',e) + }, + // 澶嶉�夋鍙樺寲浜嬩欢 + checkboxChange(e) { + console.log('e', e) const values = e.target.value || []; if (this.form.status === 'true') { // 鍗曢�夋ā寮忥紝鍙厑璁搁�夋嫨涓�涓汉 const previouslySelected = this.selectedPersons.find(item => item.checked); - const newlySelected = values.length > 0 ? values[values.length - 1] : null; + const newlySelected = values.length > 0 ? values[values.length - 1] : null; if (previouslySelected && newlySelected && previouslySelected.staffId !== newlySelected) { // 宸叉湁閫変腑椤逛笖閫夋嫨浜嗘柊鐨勯」锛屾彁绀哄彧鑳介�夋嫨涓�涓汉 this.$u.toast('鎸変汉鍛樻姤宸ユ椂鍙兘閫夋嫨涓�浣嶄汉鍛�'); @@ -426,15 +367,15 @@ this.selectedPersons = this.selectedPersons.map(item => ({ ...item, checked: item.staffId === previouslySelected.staffId - })); - + })); + } else { // 棣栨閫夋嫨鎴栧彇娑堥�夋嫨 this.selectedPersons = this.selectedPersons.map(item => ({ ...item, checked: newlySelected ? item.staffId === newlySelected : false - })); - + })); + } } else { // 澶氶�夋ā寮� @@ -443,10 +384,10 @@ checked: values.includes(item.staffId) })); } - }, - // 纭閫夋嫨 + }, + // 纭閫夋嫨 confirmSelection() { - const selected = this.selectedPersons.filter(item => item.checked); + const selected = this.selectedPersons.filter(item => item.checked); // 鏍规嵁鎶ュ伐鏂瑰紡璁剧疆浜哄憳鍚嶇О if (this.form.status === 'true' && selected.length > 0) { this.form.Persons = selected[0].staffName; @@ -455,173 +396,188 @@ } this.form.productStaffs = selected.map(item => item.staffNo); this.form.productStaffIds = selected.map(item => item.staffId); - }, - cancelSelection(){}, - // 閾滄潌鎶ュ伐 - CopperReportingWork(val) { - const copperList = {}; - copperList.outBatchNo = val.BN - copperList.partNo = val.PN - copperList.weighingClerk = val.WC - copperList.executiveStandard = val.ES - copperList.netWeight = val.NW - copperList.specificationType = val.ST - copperList.grossWeight = val.TR - copperList.operationTaskId = this.form.id - copperList.status = this.form.status; - copperList.Persons = this.form.Persons; - copperList.productStaffIds = this.form.productStaffIds; - copperList.productStaffs = this.form.productStaffs; - this.form.productOutputList = []; - this.form.operationTaskId = this.form.id; - this.form.productOutputList.push(copperList); - console.log('this.form',this.form) - this.$u.api.workReporting.submitPDA(this.form).then((res) => { - this.subdisabled = true; - this.getHandelList(); - this.$u.toast("鎶ュ伐鎴愬姛"); - }); - }, - // 鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰� - radioChange() { - // 澶勭悊鍗曢�夋鍙樺寲浜嬩欢 - }, - // 鑾峰彇浜哄憳鍒楄〃 - getPersonList(dutyId) { - console.log('111111') - try { - this.$u.api.workReporting.getPersonByDutyRecordId({ id: dutyId }).then((res) => { - this.selectedPersons = res.data.map(item => ({ - ...item, - checked: this.form.status === 'false' - })); - }) - .catch(err => { - console.log(err) - }) - } catch (err) { - console.log(err) - - } + }, + cancelSelection() {}, + // 閾滄潌鎶ュ伐 + CopperReportingWork(val) { + this.$refs.uForm.validate((valid) => { + if (valid) { + const copperList = {}; + copperList.outBatchNo = val.BN + copperList.partNo = val.PN + copperList.weighingClerk = val.WC + copperList.executiveStandard = val.ES + copperList.netWeight = val.NW + copperList.specificationType = val.ST + copperList.grossWeight = val.TR + copperList.operationTaskId = this.form.id + copperList.status = this.form.status; + copperList.Persons = this.form.Persons; + copperList.productStaffIds = this.form.productStaffIds; + copperList.productStaffs = this.form.productStaffs; + this.form.productOutputList = []; + this.form.operationTaskId = this.form.id; + this.form.dutyRecordId = this.dutyId; + this.form.productOutputList.push(copperList); + console.log('this.form', this.form) + this.$u.api.workReporting.submitPDA(this.form).then((res) => { + this.subdisabled = true; + this.InventoryReceiptList.unshift(this.form); + // this.getHandelList(); + this.$u.toast("鎶ュ伐鎴愬姛"); + }); + } else { + // 鍙互鑾峰彇鍏蜂綋鐨勯敊璇俊鎭� + const errors = this.$refs.uForm.getError(); + } + }); + }, + // 鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰� + radioChange() { + // 澶勭悊鍗曢�夋鍙樺寲浜嬩欢 + }, + // 鑾峰彇浜哄憳鍒楄〃 + getPersonList(dutyId) { + console.log('111111', dutyId) + try { + this.$u.api.workReporting.getPersonByDutyRecordId({ + id: dutyId + }).then((res) => { - }, + this.selectedPersons = res.data.map(item => ({ + ...item, + checked: this.form.status === 'false' + })); + }) + .catch(err => { + console.log(err) + }) + } catch (err) { + console.log(err) - confirmModle() { - console.log("鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰�"); - // 澶勭悊纭閫昏緫 - this.$u.api.cancelReporting - .cancelDTAOfWorkApplication({ - outBatchNo: this.detailedList.outBatchNo, - outputId: this.detailedList.id - }) - .then((res) => { - console.log("res", res); - this.showModal = false; - this.getHandelList(); - this.$u.toast("鍙栨秷鎶ュ伐鎴愬姛"); - }); - }, - cancelModle() { - this.showModal = false; // 鍏抽棴寮圭獥 - }, - // 鍙栨秷鎶ュ伐 - cancelReport(item) { - 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; - } - }, - }); - }, - getHandelList() { - this.$u.api.workReporting - .getProductMainV1({ - current: 1, - size: -1, - id: this.codeInfoId, - }) - .then((res) => { - this.InventoryReceiptList = res.data.productOutputList; - }); - }, - // 澶氶�夊鐞� - // changeCheckbox(val) { - // if (val.name === "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�") { - // this.form.autoReport = val.value; - // } - // if (val.name === "绠�鍖栫墿鏂欐鏌�") { - // this.form.simplifyMaterials = val.value; - // } - // }, - handleUpdate() { - this.subdisabled = true; - this.getHandelList(); - }, - // 鎵撳紑寮规--鍚庨潰杩橀渶瑕佺洃鍚壂鐮佹灙鎵爜缁撴灉锛岃祴鍊肩粰鎶ュ伐鍗曞彿瀛楁锛岀劧鍚庢墦寮�寮规閫夋嫨璁㈠崟鍙风瓑鎿嶄綔 - open() { - this.$refs.modalBg.open(); - }, - // 寮规淇濆瓨 - confirm() {}, - // 閫夋嫨璁㈠崟鍙� - openList() { - if (this.form.taskNo === "") { - uni.showToast({ - title: "璇峰厛鎵弿鎴栬緭鍏ユ姤宸ュ崟鍙�", - icon: "none", - }); - return; - } - uni.navigateTo({ - url: "/pages/product/report/orderList", - }); - }, - // 瀛樿鍗曞彿 - setNo(val) { - this.form.moOn = val.moNo; - }, - // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� - saveForm(val) { - this.form = { - id: val.id, - workstationId: val.workstationId, - work: val.work, - taskNo: val.taskNo, - name: val.name, - moOn: val.moOn, - partNo: val.partNo, - partName: val.partName, - qtyRequired: val.qtyRequired, - Jianqtyfinished: val.qtyRequired - val.qtyFinished, - proposedLocation: val.proposedLocation, - productType: "dep", - receive: "mo", - materialCost: val.materialCost, - // autoReport: false, - simplifyMaterials: 'false', - status: 'false', - Persons:'', - }; - if (this.form.materialCost == "鍊掑啿") { - this.simplifyDisabled = true; - } - // 濡傛灉鏈塪utyNo锛岃幏鍙栦汉鍛樺垪琛� - if (val.dutyId) { - this.dutyId = val.dutyId; - this.getPersonList(val.dutyId); - } - }, - }, -}; + } + + }, + + confirmModle() { + console.log("鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰�"); + // 澶勭悊纭閫昏緫 + this.$u.api.cancelReporting + .cancelDTAOfWorkApplication({ + outBatchNo: this.detailedList.outBatchNo, + outputId: this.detailedList.id + }) + .then((res) => { + console.log("res", res); + this.detailedList.splice(this.index, 1) + this.showModal = false; + // this.getHandelList(); + this.$u.toast("鍙栨秷鎶ュ伐鎴愬姛"); + }); + }, + cancelModle() { + this.showModal = false; // 鍏抽棴寮圭獥 + }, + // 鍙栨秷鎶ュ伐 + cancelReport(item,index) { + let that = this; + that.index = index; + uni.showModal({ + title: "鎻愮ず", + content: "鏄惁纭鍙栨秷鎵规" + item.outBatchNo + "鐨勬姤宸�", + success: function(res) { + if (res.confirm) { + that.detailedList = item; + that.showModal = true; + } else if (res.cancel) { + return; + } + }, + }); + }, + // getHandelList() { + // this.$u.api.workReporting + // .getProductMainV1({ + // current: 1, + // size: -1, + // id: this.codeInfoId, + // }) + // .then((res) => { + // this.InventoryReceiptList = res.data.productOutputList; + // }); + // }, + // 澶氶�夊鐞� + // changeCheckbox(val) { + // if (val.name === "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�") { + // this.form.autoReport = val.value; + // } + // if (val.name === "绠�鍖栫墿鏂欐鏌�") { + // this.form.simplifyMaterials = val.value; + // } + // }, + handleUpdate(val) { + this.subdisabled = true; + // this.getHandelList(); + this.InventoryReceiptList.unshift(val); + }, + // 鎵撳紑寮规--鍚庨潰杩橀渶瑕佺洃鍚壂鐮佹灙鎵爜缁撴灉锛岃祴鍊肩粰鎶ュ伐鍗曞彿瀛楁锛岀劧鍚庢墦寮�寮规閫夋嫨璁㈠崟鍙风瓑鎿嶄綔 + open() { + this.$refs.modalBg.open(); + }, + // 寮规淇濆瓨 + confirm() {}, + // 閫夋嫨璁㈠崟鍙� + openList() { + if (this.form.taskNo === "") { + uni.showToast({ + title: "璇峰厛鎵弿鎴栬緭鍏ユ姤宸ュ崟鍙�", + icon: "none", + }); + return; + } + uni.navigateTo({ + url: "/pages/product/report/orderList", + }); + }, + // 瀛樿鍗曞彿 + setNo(val) { + this.form.moOn = val.moNo; + }, + // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗� + saveForm(val) { + this.form = { + id: val.id, + workstationId: val.workstationId, + work: val.work, + taskNo: val.taskNo, + name: val.name, + moOn: val.moOn, + partNo: val.partNo, + partName: val.partName, + qtyRequired: val.qtyRequired, + Jianqtyfinished: val.qtyRequired - val.qtyFinished, + proposedLocation: val.proposedLocation, + productType: "dep", + receive: "mo", + materialCost: val.materialCost, + // autoReport: false, + simplifyMaterials: 'false', + status: 'false', + Persons: '', + }; + if (this.form.materialCost == "鍊掑啿") { + this.simplifyDisabled = true; + } + // 濡傛灉鏈塪utyNo锛岃幏鍙栦汉鍛樺垪琛� + if (val.dutyId) { + this.dutyId = val.dutyId; + this.getPersonList(val.dutyId); + } + }, + }, + }; </script> <style lang="scss"> -@import "index.scss"; + @import "index.scss"; </style> \ No newline at end of file diff --git a/pages/sys/home/index.vue b/pages/sys/home/index.vue index d6bae12..bd262ff 100644 --- a/pages/sys/home/index.vue +++ b/pages/sys/home/index.vue @@ -32,26 +32,26 @@ url: '/pages/product/report/index', icon: 'one' }, - // { - // name: '鍙栨秷鎶ュ伐', - // url: '/pages/product/cancelReport/index', - // icon: 'two' - // }, + { + name: '鍙栨秷鎶ュ伐', + url: '/pages/product/cancelReport/index', + icon: 'two' + }, // { // name: '鎺ユ敹锛堥摐鏉嗭級', // url: '/pages/product/receive/index', // icon: 'three' // }, - { - name: '杞﹂棿璁㈠崟涓嬪彂', - url: '/pages/product/WorkshopOrderIssued/index', - icon: 'four' - }, - { - name: '杞﹂棿鍙栨秷涓嬪彂', - url: '/pages/product/WorkshopOrderCancellationIssued/index', - icon: 'five' - }, + // { + // name: '杞﹂棿璁㈠崟涓嬪彂', + // url: '/pages/product/WorkshopOrderIssued/index', + // icon: 'four' + // }, + // { + // name: '杞﹂棿鍙栨秷涓嬪彂', + // url: '/pages/product/WorkshopOrderCancellationIssued/index', + // icon: 'five' + // }, ] }, { -- Gitblit v1.9.3