| | |
| | | //车间订单取消下发 |
| | | // 车间订单下发 |
| | | <template> |
| | | <view class="page"> |
| | | <view class="packing-registration-bg" /> |
| | | <u-navbar title="订单下发" :background="background" :border-bottom="false" :title-bold="true" title-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"> |
| | |
| | | <text class="item-one">订单号</text> |
| | | </view> |
| | | <view class="packing-registration-param-item-right"> |
| | | <text class="item-one item-two" @click="seachPersonnelNo()">{{ registerInfo.value1 == '' ? |
| | | "点击选择" : registerInfo.value1 }}</text> |
| | | <text class="item-one item-two" @click="seachPersonnelNo()">{{ |
| | | registerInfo.value1 == "" ? "点击选择" : registerInfo.value1 |
| | | }}</text> |
| | | <u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()" |
| | | v-show="registerInfo.value1 == ''"></u-icon> |
| | | </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.value0 }} |
| | |
| | | </view> |
| | | <view class="row-list"> |
| | | <view class="_label"> |
| | | <view class="_label-name">子件:</view> |
| | | <view class="_label-name">零件号:</view> |
| | | </view> |
| | | <view class="_content"> |
| | | {{ item.value1 }} |
| | |
| | | <view class="_label-name">零件描述:</view> |
| | | </view> |
| | | <view class="_content"> |
| | | {{ item.value0 }} |
| | | {{ item.value2 }} |
| | | </view> |
| | | </view> |
| | | <view class="row-list"> |
| | | <view class="_label"> |
| | | <view class="_label-name">取消下发数量</view> |
| | | </view> |
| | | <view class="_content"> |
| | | {{ item.value3 }} |
| | | </view> |
| | | </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"> |
| | | <view class="popup-content"> |
| | | <view class="packing-registration-param"> |
| | | <view class="packing-registration-param-view"> |
| | | <view class="packing-registration-param-item param-extra"> |
| | | <view class="packing-registration-param-item-left"> |
| | | <text class="item-one">批号</text> |
| | | </view> |
| | | <view class="packing-registration-param-item-right"> |
| | | <text class="item-one item-two">{{ modalList.value }}</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.value1 }}</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.value2 }}</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"> |
| | | <u-input class="item-one item-two" v-model="modalList.value3" /> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-modal> |
| | | </view> |
| | | </template> |
| | | <script> |
| | | import scan from "@/components/scan/scan.vue"; |
| | | import content_bg from '@/static/custom/packing/backBg.png' |
| | | import content_bg from "@/static/custom/packing/backBg.png"; |
| | | export default { |
| | | components: { |
| | | scan, |
| | |
| | | return { |
| | | background: { |
| | | backgroundImage: `url(${content_bg})`, |
| | | backgroundAttachment: 'fixed', |
| | | backgroundSize: '100% auto', |
| | | backgroundRepeat: 'no-repeat', |
| | | backgroundAttachment: "fixed", |
| | | backgroundSize: "100% auto", |
| | | backgroundRepeat: "no-repeat", |
| | | }, |
| | | labelStyle: { |
| | | fontSize: '32rpx', |
| | | whiteSpace: 'nowrap' |
| | | fontSize: "32rpx", |
| | | whiteSpace: "nowrap", |
| | | }, |
| | | //弹窗列表 |
| | | modalList: { |
| | | value: "", |
| | | value1: "", |
| | | value2: "", |
| | | value3: "", |
| | | }, |
| | | registerInfo: { |
| | | value1: '', |
| | | value1: "", |
| | | }, |
| | | hasScanSnList: [{ |
| | | value0: '11111111111111111111111', |
| | | value1: '111', |
| | | value2: '111', |
| | | value3: '111', |
| | | value0: "11111111111111111111111", |
| | | value1: "111", |
| | | value2: "111", |
| | | value3: "111", |
| | | }, |
| | | { |
| | | value0: '111', |
| | | value1: '111', |
| | | value2: '111', |
| | | value3: '111', |
| | | value0: "111", |
| | | value1: "111", |
| | | value2: "111", |
| | | value3: "111", |
| | | }, |
| | | { |
| | | value0: '111', |
| | | value1: '111', |
| | | value2: '111', |
| | | value3: '111', |
| | | value0: "111", |
| | | value1: "111", |
| | | value2: "111", |
| | | value3: "111", |
| | | }, |
| | | |
| | | ], |
| | | delContent: null, |
| | | staffList: [], |
| | | }; |
| | | }, |
| | | onLoad(option) { }, |
| | | onShow() { |
| | | let that = this; |
| | | |
| | | let that = this |
| | | |
| | | uni.$off('scan') // 每次进来先 移除全局自定义事件监听器 |
| | | uni.$on('scan', function (data) { |
| | | console.log('onscan'); |
| | | uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器 |
| | | uni.$on("scan", function(data) { |
| | | console.log("onscan"); |
| | | //扫码成功后的回调,你可以写自己的逻辑代码在这里 |
| | | console.log('扫码结果:', data.code); |
| | | that.scanHandle(data.code) |
| | | console.log("扫码结果:", data.code); |
| | | that.scanHandle(data.code); |
| | | that.$forceUpdate(); |
| | | |
| | | }) |
| | | }); |
| | | }, |
| | | onNavigationBarButtonTap() { |
| | | this.goScan() |
| | | }, |
| | | onReady() { }, |
| | | methods: { |
| | | // 点击确认后获取下发记录 |
| | | confirm() { |
| | | // 处理确认逻辑 |
| | | this.showModal = false; |
| | | this.$u.api.workReporting |
| | | ._({}).then((res) => { |
| | | console.log("res", res); |
| | | this.hasScanSnList = res.data.records; |
| | | }); |
| | | }, |
| | | // 模态框取消 |
| | | cancel() { |
| | | this.showModal = false; // 关闭弹窗 |
| | | }, |
| | | setNo(val) { |
| | | console.log('11111', val) |
| | | this.registerInfo.value1 = val.value1 |
| | | this.registerInfo.value2 = val.value2 |
| | | |
| | | console.log("11111", val); |
| | | this.registerInfo.value1 = val.value1; |
| | | }, |
| | | //订单号 |
| | | seachPersonnelNo() { |
| | | console.log('车间订单号') |
| | | console.log("车间订单号"); |
| | | uni.navigateTo({ |
| | | url: '/pages/product/report/orderList' |
| | | }) |
| | | }, |
| | | goScan() { |
| | | uni.scanCode({ |
| | | scanType: ['qrCode'], |
| | | success: res => { |
| | | try { |
| | | console.log('扫码结果:', res); |
| | | this.scanHandle(res.result) |
| | | } catch (e) { } |
| | | } |
| | | url: "/pages/product/report/orderList", |
| | | }); |
| | | }, |
| | | scanHandle(scanresult) { |
| | | scanresult = scanresult.replace(/[\r\n]/g, "") |
| | | if (scanresult.indexOf('{') > -1) { |
| | | //二维码 |
| | | const result = JSON.parse(scanresult) |
| | | //增加SN校验 |
| | | if (result.sn_no && result.sn_no != null && result.sn_no != '') { |
| | | if (this.hasScanSnList.length > 0) { |
| | | let hasScanSnIndex = this.hasScanSnList.indexOf(result.sn_no) |
| | | if (hasScanSnIndex < 0) { |
| | | this.hasScanSnList.push(result.sn_no) |
| | | } else { |
| | | this.$u.toast('请勿重复扫描') |
| | | } |
| | | } else { |
| | | this.hasScanSnList.push(result.sn_no) |
| | | } |
| | | } |
| | | |
| | | } else { |
| | | //增加SN校验 |
| | | if (this.hasScanSnList.length > 0) { |
| | | let hasScanSnIndex = this.hasScanSnList.indexOf(scanresult) |
| | | if (hasScanSnIndex < 0) { |
| | | this.hasScanSnList.push(scanresult) |
| | | } else { |
| | | this.$u.toast('请勿重复扫描') |
| | | } |
| | | } else { |
| | | this.hasScanSnList.push(scanresult) |
| | | } |
| | | } |
| | | }, |
| | | goSubmit() { |
| | | // if (this.registerInfo.shiftId == null || this.registerInfo.shiftId == '') { |
| | | // this.$u.toast('请选择班次') |
| | | // return |
| | | // } |
| | | // if (this.registerInfo.value3 == null || this.registerInfo.value3 == '') { |
| | | // this.$u.toast('请选择日期') |
| | | // return |
| | | // } |
| | | // if (this.registerInfo.locNo == null || this.registerInfo.locNo == '') { |
| | | // this.$u.toast('请选择包装库位') |
| | | // return |
| | | // } |
| | | // if (this.hasScanSnList.length == 0) { |
| | | // this.$u.toast('无待提交的SN号明细') |
| | | // return |
| | | // } |
| | | // let registrList = [] |
| | | // this.staffList = [] |
| | | // this.staffNameList.forEach((item) => { |
| | | // this.staffList.push({ |
| | | // staffId: item.id |
| | | // }) |
| | | // }) |
| | | // this.hasScanSnList.forEach((item) => { |
| | | // registrList.push({ |
| | | // shiftId: this.registerInfo.shiftId, |
| | | // value3: this.registerInfo.value3, |
| | | // locNo: this.registerInfo.locNo, |
| | | // partBatchNo: item, |
| | | // staffList: this.staffList |
| | | // }) |
| | | // }) |
| | | // this.$u.api.pigxPacking.addPackageRegister(registrList).then(res => { |
| | | // let resData = res.data |
| | | // this.hasScanSnList = [] |
| | | // this.$u.toast('提交成功') |
| | | // }).catch((e) => { |
| | | // }) |
| | | |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .packing-registration-bg { |
| | | background-color: #F6F9FF; |
| | | background-image: url('~@/static/custom/packing/backBg.png'); |
| | | background-color: #f6f9ff; |
| | | background-image: url("~@/static/custom/packing/backBg.png"); |
| | | padding: 0 20rpx; |
| | | background-attachment: fixed; |
| | | background-size: 100% auto; |
| | |
| | | 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; |
| | |
| | | |
| | | .item-two { |
| | | font-size: 30rpx; |
| | | color: #A6B4CC; |
| | | color: #a6b4cc; |
| | | margin-right: 6rpx; |
| | | } |
| | | |
| | | .item-three { |
| | | font-size: 30rpx; |
| | | color: #214DED; |
| | | color: #214ded; |
| | | margin-right: 6rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .param-extra { |
| | | border-bottom: 1px solid #EDEDED; |
| | | border-bottom: 1px solid #ededed; |
| | | } |
| | | } |
| | | } |