| | |
| | | <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-navbar |
| | | title="订单下发" |
| | | :background="background" |
| | | :border-bottom="false" |
| | | :title-bold="true" |
| | | title-color="#000" |
| | | back-icon-color="#000" |
| | | /> |
| | | <view class="packing-registration-param"> |
| | | <view class="packing-registration-param-view"> |
| | | <view class="packing-registration-param-item param-extra"> |
| | |
| | | <text class="item-one item-two" @click="seachPersonnelNo()">{{ |
| | | registerInfo.moNo == "" ? "点击选择" : registerInfo.moNo |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()" |
| | | v-show="registerInfo.moNo == ''"></u-icon> |
| | | <u-icon |
| | | name="arrow-right" |
| | | color="#687792" |
| | | size="28" |
| | | @click="seachPersonnelNo()" |
| | | v-show="registerInfo.moNo == ''" |
| | | ></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="packing-registration-param-item param-extra"> |
| | |
| | | <text class="item-one item-two" @click="seachWork()">{{ |
| | | registerInfo.optaskNo == "" ? "点击选择" : registerInfo.optaskNo |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#687792" size="28" @click="seachWork()" |
| | | v-show="registerInfo.optaskNo == ''"></u-icon> |
| | | <u-icon |
| | | name="arrow-right" |
| | | color="#687792" |
| | | size="28" |
| | | @click="seachWork()" |
| | | v-show="registerInfo.optaskNo == ''" |
| | | ></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"> |
| | | <picker class="item-one item-two" style="width: 100%; text-align: right" |
| | | @change="machineChange($event, machineList)" :value="machineIndex" :range="machineList" |
| | | range-key="label"> |
| | | <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' }">{{ |
| | | <text |
| | | :style="{ |
| | | color: machineIndex == null ? '#a5abb4' : '#a5abb4', |
| | | }" |
| | | >{{ |
| | | machineIndex == null |
| | | ? "点击选择" |
| | | : machineList[machineIndex].label |
| | | }}</text> |
| | | }}</text |
| | | > |
| | | </view> |
| | | </picker> |
| | | <u-icon v-if="machineIndex == null" name="arrow-right" color="#687792" size="28"></u-icon> |
| | | <u-icon |
| | | v-if="machineIndex == null" |
| | | name="arrow-right" |
| | | color="#687792" |
| | | size="28" |
| | | ></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="packing-registration-param-item param-extra"> |
| | |
| | | <text class="item-one item-two" @click="seachComp()">{{ |
| | | registerInfo.partNo == "" ? "点击选择" : registerInfo.partNo |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#687792" size="28" @click="seachComp()" |
| | | v-show="registerInfo.partNo == ''"></u-icon> |
| | | <u-icon |
| | | name="arrow-right" |
| | | color="#687792" |
| | | size="28" |
| | | @click="seachComp()" |
| | | v-show="registerInfo.partNo == ''" |
| | | ></u-icon> |
| | | </view> |
| | | </view> |
| | | <view class="packing-registration-param-item param-extra"> |
| | |
| | | </view> |
| | | <view class="wrap"> |
| | | <scroll-view class="packing-registration-scroll-list" scroll-y="true"> |
| | | <u-cell-group class="packing-registration-scroll-list-group" :border="false"> |
| | | <u-cell-group |
| | | class="packing-registration-scroll-list-group" |
| | | :border="false" |
| | | > |
| | | <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请扫码-</div> --> |
| | | <view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index"> |
| | | <view |
| | | class="content" |
| | | v-for="(item, index) in hasScanSnList" |
| | | :key="index" |
| | | :index="index" |
| | | > |
| | | <view class="content-header"> |
| | | <view class="content-header-title">{{ index + 1 }}</view> |
| | | </view> |
| | |
| | | </scroll-view> |
| | | <scan></scan> |
| | | </view> |
| | | <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm" |
| | | @cancel="cancel"> |
| | | <u-modal |
| | | v-model="showModal" |
| | | title="" |
| | | :show-cancel-button="true" |
| | | :show-confirm-button="true" |
| | | @confirm="confirm" |
| | | @cancel="cancel" |
| | | > |
| | | <view class="popup-content"> |
| | | <view class="packing-registration-param"> |
| | | <view class="packing-registration-param-view"> |
| | |
| | | <text class="item-one">下发数量</text> |
| | | </view> |
| | | <view class="packing-registration-param-item-right"> |
| | | <u-input class="item-one item-two" v-model="modalList.suppliedQuantity" /> |
| | | <u-input |
| | | class="item-one item-two" |
| | | v-model="modalList.suppliedQuantity" |
| | | /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | modalList: {}, |
| | | // 主页面列表 |
| | | registerInfo: { |
| | | operationTaskId: '', |
| | | operationTaskId: "", |
| | | id: "", |
| | | moNo: "", |
| | | partNo: "", |
| | | partName: "", |
| | | optaskNo: "", |
| | | workstationId: '' |
| | | workstationId: "", |
| | | }, |
| | | // 下发记录列表 |
| | | hasScanSnList: [], |
| | |
| | | showModal: false, |
| | | machineIndex: null, |
| | | machineList: [], |
| | | |
| | | }; |
| | | }, |
| | | onShow() { |
| | |
| | | methods: { |
| | | //机台 |
| | | machineChange(e, storage, code) { |
| | | this.hasScanSnList = [] |
| | | this.hasScanSnList = []; |
| | | if (storage.length <= 0) { |
| | | this.machineIndex = null; |
| | | return; |
| | |
| | | // }, |
| | | // 点击确认后获取下发记录 |
| | | 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.suppliedQuantity) { |
| | | this.$u.toast("请输入取消下发数量"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | // 处理确认逻辑 |
| | | this.$u.api.WorkshopOrderIssued.feeding({ |
| | | feedingFrom: "stocker", |
| | | operationTaskId: this.registerInfo.operationTaskId, |
| | | feeds: [{ |
| | | ...this.modalList |
| | | }] |
| | | }).then( |
| | | (res) => { |
| | | feeds: [ |
| | | { |
| | | ...this.modalList, |
| | | }, |
| | | ], |
| | | }).then((res) => { |
| | | console.log("res", res); |
| | | if (res.code === 0) { |
| | | this.$u.toast("提交成功"); |
| | |
| | | const obj = { |
| | | suppliedQuantity: this.modalList.suppliedQuantity, |
| | | outBatchNo: this.modalList.outBatchNo, |
| | | }; |
| | | this.hasScanSnList.push(obj); |
| | | } |
| | | this.hasScanSnList.push(obj) |
| | | } |
| | | } |
| | | ); |
| | | }); |
| | | }, |
| | | // 模态框取消 |
| | | cancel() { |
| | |
| | | }, |
| | | // 工单回显 |
| | | workNo(val) { |
| | | this.machineList = [] |
| | | this.machineIndex = null |
| | | this.registerInfo.workstationId = '' |
| | | this.registerInfo.partName = '' |
| | | this.registerInfo.partNo = '' |
| | | this.$u.api.WorkshopOrderIssued |
| | | .selWorkStation(val) |
| | | .then((res) => { |
| | | console.log('111', res) |
| | | this.machineList = []; |
| | | this.machineIndex = null; |
| | | this.registerInfo.workstationId = ""; |
| | | this.registerInfo.partName = ""; |
| | | this.registerInfo.partNo = ""; |
| | | this.$u.api.WorkshopOrderIssued.selWorkStation(val).then((res) => { |
| | | console.log("111", res); |
| | | if (res.code === 0 && res.data.length > 0) { |
| | | res.data.forEach(i => { |
| | | res.data.forEach((i) => { |
| | | const obj = Object.assign({ |
| | | label: i.name, |
| | | value: i.id, |
| | | }) |
| | | this.machineList.push(obj) |
| | | }) |
| | | }); |
| | | this.machineList.push(obj); |
| | | }); |
| | | } |
| | | }); |
| | | this.registerInfo.optaskNo = val.optaskNo; |
| | | this.registerInfo.operationTaskId = val.id; |
| | | this.hasScanSnList = [] |
| | | this.hasScanSnList = []; |
| | | }, |
| | | // 子件回显 |
| | | compNo(val) { |
| | |
| | | // 订单号回显 |
| | | setNo(val) { |
| | | console.log("11111", val); |
| | | this.registerInfo = { |
| | | operationTaskId: '', |
| | | (this.registerInfo = { |
| | | operationTaskId: "", |
| | | id: val.id, |
| | | moNo: val.moNo, |
| | | partNo: "", |
| | | partName: "", |
| | | optaskNo: "", |
| | | workstationId: '' |
| | | }, |
| | | this.machineList = [] |
| | | this.machineIndex = null |
| | | this.hasScanSnList = [] |
| | | workstationId: "", |
| | | }), |
| | | (this.machineList = []); |
| | | this.machineIndex = null; |
| | | this.hasScanSnList = []; |
| | | }, |
| | | //订单号 |
| | | seachPersonnelNo() { |
| | |
| | | console.log("子件"); |
| | | // 使用uni.navigateTo方法跳转,并通过queryParams传递参数 |
| | | uni.navigateTo({ |
| | | url: "/pages/product/WorkshopOrderIssued/comp?operationTaskId=" + |
| | | url: |
| | | "/pages/product/WorkshopOrderIssued/comp?operationTaskId=" + |
| | | encodeURIComponent(JSON.stringify(this.registerInfo.operationTaskId)), |
| | | }); |
| | | }, |
| | |
| | | console.log("子件"); |
| | | // 使用uni.navigateTo方法跳转,并通过queryParams传递参数 |
| | | uni.navigateTo({ |
| | | url: "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" + |
| | | url: |
| | | "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" + |
| | | encodeURIComponent(JSON.stringify(this.registerInfo.id)), |
| | | }); |
| | | }, |
| | | // 扫码后数据回显 |
| | | scanHandle(val) { |
| | | const { |
| | | outBatchNo |
| | | } = val |
| | | const { |
| | | workstationId, |
| | | operationTaskId |
| | | } = this.registerInfo |
| | | const { outBatchNo } = val; |
| | | const { workstationId, operationTaskId } = this.registerInfo; |
| | | const obj = { |
| | | outBatchNo: outBatchNo, |
| | | workstationId: workstationId, |
| | | operationTaskId: operationTaskId, |
| | | } |
| | | this.$u.api.WorkshopOrderIssued.checkRawPartPDA(obj).then( |
| | | (res) => { |
| | | }; |
| | | this.$u.api.WorkshopOrderIssued.checkRawPartPDA(obj).then((res) => { |
| | | console.log("res", res); |
| | | if (res.code === 0) { |
| | | res.data.workstationId = workstationId, |
| | | this.modalList = res.data; |
| | | (res.data.workstationId = workstationId), (this.modalList = res.data); |
| | | this.showModal = true; |
| | | } |
| | | } |
| | | ); |
| | | }); |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | margin-left: 14rpx; |
| | | font-size: 34rpx; |
| | | font-weight: bold; |
| | | color: #283E65; |
| | | color: #283e65; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | .packing-registration-param-item { |
| | | height: 90rpx; |
| | | border: 1px solid #ADC8E4; |
| | | border: 1px solid #adc8e4; |
| | | line-height: 90rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | } |
| | | |
| | | .param-extra { |
| | | border-bottom: 1px solid #EDEDED; |
| | | border-bottom: 1px solid #ededed; |
| | | } |
| | | } |
| | | } |