| | |
| | | <text class="item-one">订单号</text> |
| | | </view> |
| | | <view class="packing-registration-param-item-right"> |
| | | <text class="item-one item-two" @click="seachPersonnelNo()">{{ |
| | | <text class="item-one item-two" @click="searchPersonnelNo()">{{ |
| | | registerInfo.moNo == "" ? "点击选择" : registerInfo.moNo |
| | | }}</text> |
| | | <u-icon |
| | | name="arrow-right" |
| | | color="#687792" |
| | | size="28" |
| | | @click="seachPersonnelNo()" |
| | | @click="searchPersonnelNo()" |
| | | v-show="registerInfo.moNo == ''" |
| | | ></u-icon> |
| | | </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" @click="searchWork()">{{ |
| | | registerInfo.optaskNo == "" ? "点击选择" : registerInfo.optaskNo |
| | | }}</text> |
| | | <u-icon |
| | | name="arrow-right" |
| | | color="#687792" |
| | | size="28" |
| | | @click="searchWork()" |
| | | v-show="registerInfo.optaskNo == ''" |
| | | ></u-icon> |
| | | </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"> |
| | | <picker |
| | | class="item-one item-two" |
| | | style="width: 100%; text-align: right" |
| | | @change="machineChange($event, machineList)" |
| | | :value="machineIndex" |
| | | :range="machineList" |
| | | range-key="label" |
| | | > |
| | | <view> |
| | | <text |
| | | :style="{ |
| | | color: machineIndex == null ? '#a5abb4' : '#a5abb4', |
| | | }" |
| | | >{{ |
| | | machineIndex == null |
| | | ? "点击选择" |
| | | : machineList[machineIndex].label |
| | | }}</text |
| | | > |
| | | </view> |
| | | </picker> |
| | | <u-icon |
| | | v-if="machineIndex == null" |
| | | name="arrow-right" |
| | | color="#687792" |
| | | size="28" |
| | | ></u-icon> |
| | | </view> |
| | | </view> |
| | |
| | | <view class="content-body"> |
| | | <view class="row-list"> |
| | | <view class="_label"> |
| | | <view class="_label-name">批号</view> |
| | | <view class="_label-name">批号:</view> |
| | | </view> |
| | | <view class="_content"> |
| | | {{ item.moOn }} |
| | | {{ item.outBatchNo }} |
| | | </view> |
| | | </view> |
| | | <view class="row-list"> |
| | | <view class="_label"> |
| | | <view class="_label-name">零件号:</view> |
| | | <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.value3 }} |
| | | {{ item.suppliedQuantity }} |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | <text class="item-one">批号</text> |
| | | </view> |
| | | <view class="packing-registration-param-item-right"> |
| | | <text class="item-one item-two">{{ modalList.moOn }}</text> |
| | | <text class="item-one item-two">{{ |
| | | modalList.outBatchNo |
| | | }}</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"> |
| | | <text class="item-one item-two">{{ modalList.partNo }}</text> |
| | | <picker |
| | | class="item-one item-two" |
| | | style="width: 100%; text-align: right" |
| | | @change="goSearch($event, locationNoList)" |
| | | :value="locationIndex" |
| | | :range="locationNoList" |
| | | range-key="label" |
| | | > |
| | | <view> |
| | | <text |
| | | :style="{ |
| | | color: locationIndex == null ? '#a5abb4' : '#a5abb4', |
| | | }" |
| | | >{{ |
| | | locationIndex == null ? "点击选择" : locationIndex |
| | | }}</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">{{ modalList.partName }}</text> |
| | | </picker> |
| | | <u-icon |
| | | v-if="locationIndex == null" |
| | | name="arrow-right" |
| | | color="#687792" |
| | | size="28" |
| | | ></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="packing-registration-param-item param-extra"> |
| | |
| | | <text class="item-one">取消下发数量</text> |
| | | </view> |
| | | <view class="packing-registration-param-item-right"> |
| | | <u-input class="item-one item-two" v-model="modalList.value3" /> |
| | | <u-input |
| | | class="item-one item-two" |
| | | v-model="modalList.returnQuantity" |
| | | /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | components: { |
| | | scan, |
| | | }, |
| | | |
| | | data() { |
| | | return { |
| | | showModal: false, |
| | | background: { |
| | | backgroundImage: `url(${content_bg})`, |
| | | backgroundAttachment: "fixed", |
| | |
| | | }, |
| | | //弹窗列表 |
| | | modalList: { |
| | | partName: "", |
| | | partNo: "", |
| | | moNo: "", |
| | | num: "", |
| | | // locationNoName: "", |
| | | // locationNo: "", |
| | | // suppliedQuantity: "", |
| | | // outBatchNo: "", |
| | | }, |
| | | // 主页面列表 |
| | | registerInfo: { |
| | | operationTaskId: "", |
| | | id: "", |
| | | moNo: "", |
| | | optaskNo: "", |
| | | workstationId: "", |
| | | }, |
| | | // 取消下发记录列表 |
| | | hasScanSnList: [], |
| | | codeInfoId: "", |
| | | showModal: false, |
| | | machineIndex: null, |
| | | machineList: [], |
| | | locationNoList: [], |
| | | locationIndex: null, |
| | | }; |
| | | }, |
| | | onShow() { |
| | | let that = this; |
| | | |
| | | uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器 |
| | | if (registerInfo.moNO == null) { |
| | | uni.$on("scan", function (data) { |
| | | console.log("onscan"); |
| | | if (that.registerInfo.workstationId == "") { |
| | | uni.showToast({ |
| | | icon: "none", |
| | | title: "请先选择订单号!", |
| | | title: "请先选择机台!", |
| | | duration: 2 * 1000, |
| | | }); |
| | | return; |
| | | } |
| | | uni.$on("scan", function (data) { |
| | | console.log("onscan"); |
| | | if (data.code) { |
| | | //扫码成功后的回调,你可以写自己的逻辑代码在这里 |
| | | console.log("扫码结果:", data.code); |
| | | if (data.code) { |
| | | let codeInfo = JSON.parse(data.code); |
| | | this.codeInfoId = codeInfo.id; |
| | | if (codeInfo.moOn) { |
| | | that.codeInfoId = codeInfo.id; |
| | | if (codeInfo) { |
| | | // 扫描报工单二维码 |
| | | that.scanHandle(data.code); |
| | | that.scanHandle(codeInfo); |
| | | that.$forceUpdate(); |
| | | that.getHandelList(); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | methods: { |
| | | getHandelList() { |
| | | this.$u.api.workReporting |
| | | .getProductMainV1({ |
| | | current: 1, |
| | | size: -1, |
| | | id: this.codeInfoId, |
| | | }) |
| | | .then((res) => { |
| | | this.hasScanSnList = res.data.productOutputList; |
| | | // 库位选择 |
| | | goSearch(e, storage, code) { |
| | | if (storage.length <= 0) { |
| | | this.locationIndex = null; |
| | | return; |
| | | } |
| | | this.locationIndex = e.target.label; |
| | | this.modalList.locationNo = storage[this.locationIndex].label; |
| | | this.modalList.locationId = storage[this.locationIndex].label; |
| | | }, |
| | | //查询库位 |
| | | getHandymanItem(obj) { |
| | | this.locationNoList = []; |
| | | this.$u.api.WorkshopOrderCancellationIssued.cancelDTAOfWorkApplicationPDA( |
| | | { |
| | | workstationId: this.registerInfo.workstationId, |
| | | } |
| | | ).then((res) => { |
| | | this.locationNoList = []; |
| | | this.locationIndex = null; |
| | | this.modalList.locationNo = ""; |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach((item) => { |
| | | const obj = Object.assign({ |
| | | label: item.locName, |
| | | value: item.id, |
| | | }); |
| | | this.locationNoList.push(obj); |
| | | }); |
| | | } |
| | | this.getReturnInfo(obj); |
| | | }); |
| | | }, |
| | | // 扫码后数据回显 |
| | | scanHandle(val) { |
| | | let { moNo, partNo, partName } = val; |
| | | this.modalList.moNo = moNo; |
| | | this.modalList.partNo = partNo; |
| | | this.modalList.partName = partName; |
| | | |
| | | this.showModal = true; |
| | | //机台 |
| | | machineChange(e, storage, code) { |
| | | this.hasScanSnList = []; |
| | | if (storage.length <= 0) { |
| | | this.machineIndex = null; |
| | | return; |
| | | } |
| | | this.machineIndex = e.target.value; |
| | | this.registerInfo.workstationId = storage[this.machineIndex].value; |
| | | }, |
| | | // 点击确认后获取下发记录 |
| | | // 点击确认后获取消下发记录 |
| | | confirm() { |
| | | if (!this.modalList.outBatchNo) { |
| | | this.$u.toast("请输入批号"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | if (!this.modalList.locationNo) { |
| | | this.$u.toast("请输入库位"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | if (!this.modalList.returnQuantity) { |
| | | this.$u.toast("请输入取消下发数量"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | // 处理确认逻辑 |
| | | this.$u.api.workReporting._(this.modalList).then((res) => { |
| | | this.$u.api.WorkshopOrderCancellationIssued.feeding([ |
| | | this.modalList, |
| | | ]).then((res) => { |
| | | console.log("res", res); |
| | | if (res.code === 0) { |
| | | this.$u.toast("提交成功"); |
| | | this.showModal = false; |
| | | |
| | | this.getHandelList(); |
| | | const obj = { |
| | | suppliedQuantity: this.modalList.suppliedQuantity, |
| | | outBatchNo: this.modalList.returnQuantity, |
| | | }; |
| | | this.hasScanSnList.push(obj); |
| | | } |
| | | }); |
| | | }, |
| | | // 模态框取消 |
| | | cancel() { |
| | | this.showModal = false; // 关闭弹窗 |
| | | }, |
| | | // 工单回显 |
| | | workNo(val) { |
| | | this.machineList = []; |
| | | this.machineIndex = null; |
| | | this.registerInfo.workstationId = ""; |
| | | this.$u.api.WorkshopOrderIssued.selWorkStation(val).then((res) => { |
| | | console.log("111", res); |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach((i) => { |
| | | const obj = Object.assign({ |
| | | label: i.name, |
| | | value: i.id, |
| | | }); |
| | | this.machineList.push(obj); |
| | | }); |
| | | } |
| | | }); |
| | | this.registerInfo.optaskNo = val.optaskNo; |
| | | this.registerInfo.operationTaskId = val.id; |
| | | this.hasScanSnList = []; |
| | | }, |
| | | // 订单号回显 |
| | | setNo(val) { |
| | | console.log("11111", val); |
| | | this.registerInfo.moNo = val.moNo; |
| | | (this.registerInfo = { |
| | | operationTaskId: "", |
| | | id: val.id, |
| | | moNo: val.moNo, |
| | | optaskNo: "", |
| | | workstationId: "", |
| | | }), |
| | | (this.machineList = []); |
| | | this.machineIndex = null; |
| | | this.hasScanSnList = []; |
| | | }, |
| | | //订单号 |
| | | seachPersonnelNo() { |
| | | searchPersonnelNo() { |
| | | console.log("车间订单号"); |
| | | uni.navigateTo({ |
| | | url: "/pages/product/report/orderList", |
| | | }); |
| | | }, |
| | | //工单 |
| | | searchWork() { |
| | | if (this.registerInfo.moNo == "") { |
| | | this.$u.toast("请选择订单号"); |
| | | return; |
| | | } |
| | | console.log("子件"); |
| | | // 使用uni.navigateTo方法跳转,并通过queryParams传递参数 |
| | | uni.navigateTo({ |
| | | url: |
| | | "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" + |
| | | encodeURIComponent(JSON.stringify(this.registerInfo.id)), |
| | | }); |
| | | }, |
| | | // 扫码后数据回显 |
| | | scanHandle(val) { |
| | | const { outBatchNo } = val; |
| | | const { workstationId, operationTaskId } = this.registerInfo; |
| | | const obj = { |
| | | outBatchNo: outBatchNo, |
| | | feedingWorkstationId: workstationId, |
| | | operationTaskId: operationTaskId, |
| | | }; |
| | | this.$u.api.WorkshopOrderCancellationIssued.checkReturnPartPDA(obj).then( |
| | | (res) => { |
| | | console.log("res", res); |
| | | if (res.code === 0) { |
| | | this.getHandymanItem(obj); |
| | | } |
| | | } |
| | | ); |
| | | }, |
| | | // 获取基本信息 |
| | | getReturnInfo(obj) { |
| | | this.$u.api.WorkshopOrderCancellationIssued.getReturnInfo(obj).then( |
| | | (res) => { |
| | | console.log("res1", res); |
| | | if (res.code === 0) { |
| | | this.locationIndex = res.data.locationNo; |
| | | res.data.outBatchNo = res.data.ifsBatchNo; |
| | | console.log("1", res.data); |
| | | this.modalList = res.data; |
| | | this.showModal = true; |
| | | } |
| | | } |
| | | ); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .popup-content { |
| | | width: 600rpx; |
| | | height: 350rpx; |
| | | background-color: #fff; |
| | | border-radius: 8px; |
| | | z-index: 10; |
| | | /* 确保内容在蒙版之上 */ |
| | | } |
| | | |
| | | .packing-registration-bg { |
| | | background-color: #f6f9ff; |
| | | background-image: url("~@/static/custom/packing/backBg.png"); |
| | |
| | | } |
| | | |
| | | .packing-registration-param-view { |
| | | height: 180rpx; |
| | | height: 450rpx; |
| | | background-color: #fff; |
| | | border-radius: 10rpx; |
| | | padding: 0rpx 23rpx; |
| | |
| | | |
| | | .item-one { |
| | | font-size: 30rpx; |
| | | color: #333333; |
| | | color: #060505; |
| | | margin-right: 6rpx; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .wrap .packing-registration-scroll-list { |
| | | height: calc(100vh - var(--window-top) - var(--window-bottom) - 400rpx); |
| | | height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx); |
| | | width: 100%; |
| | | } |
| | | |