| | |
| | | workReporting: { |
| | | // 获取车间订单列表 |
| | | getWorkshopOrder:(params = {}) => vm.$u.get('/mes/plan/manufacturingOrder/page' , params), |
| | | // 获取产出列表 |
| | | getProductMainV1: (params = {}) => vm.$u.get('/mes/product/getProductMainV1', params), |
| | | // 报工提交获取详细信息 |
| | | operationTask: (params = {}) => vm.$u.get('/mes/operationTask/'+ params.id), |
| | | // 提交 |
| | | submitPDA: (params = {}) => vm.$u.post('/mes/product/submitPDA', params), |
| | | |
| | | |
| | | } |
| | | }; |
| | | |
| | |
| | | <template> |
| | | <u-modal v-model="show" ref="uModal" title="" :show-cancel-button="true" @confirm="confirm" @cancel="cancel" |
| | | :async-close="true"> |
| | | <view style="padding: 20rpx;"> |
| | | <u-form :model="form" ref="uFormSave" :label-width="280" :rules="rules" :error-type="['toast']"> |
| | | <u-form-item label="批号" :border-bottom="false" prop="value0"> |
| | | <u-input v-model="form.value0" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="长度" :border-bottom="false" prop="value1"> |
| | | <u-input v-model="form.value1" /> |
| | | </u-form-item> |
| | | <u-form-item label="库位" :border-bottom="false" prop="value2"> |
| | | <u-input v-model="form.value2" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="盘号" :border-bottom="false" prop="value3"> |
| | | <u-input v-model="form.value3" /> |
| | | </u-form-item> |
| | | <u-form-item label="毛重" :border-bottom="false" prop="value4"> |
| | | <u-input v-model="form.value4" /> |
| | | </u-form-item> |
| | | <u-form-item label="净重" :border-bottom="false" prop="value5"> |
| | | <u-input v-model="form.value5" /> |
| | | </u-form-item> |
| | | <u-form-item label="工序" :border-bottom="false" prop="value6"> |
| | | <u-input v-model="form.value6" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="成品外径测量值" :border-bottom="false" prop="value7"> |
| | | <u-input v-model="form.value7" /> |
| | | </u-form-item> |
| | | <u-form-item label="退火电压" :border-bottom="false" prop="value8"> |
| | | <u-input v-model="form.value8" /> |
| | | </u-form-item> |
| | | <u-form-item label="转速" prop="value9" :border-bottom="false"> |
| | | <u-input v-model="form.value9" /> |
| | | </u-form-item> |
| | | <u-form-item label="外部气压" prop="value10" :border-bottom="false"> |
| | | <u-input v-model="form.value10" /> |
| | | </u-form-item> |
| | | <u-form-item label="生产速度" prop="value11" :border-bottom="false"> |
| | | <u-input v-model="form.value11" /> |
| | | </u-form-item> |
| | | </u-form> |
| | | <u-modal |
| | | v-model="show" |
| | | ref="uModal" |
| | | title="" |
| | | :show-cancel-button="true" |
| | | @confirm="confirm" |
| | | @cancel="cancel" |
| | | :async-close="true" |
| | | > |
| | | <view class="packing-registration-param"> |
| | | <scroll-view scroll-y="true" style="height: 100%"> |
| | | <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.value0" |
| | | 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.value1" /> |
| | | </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.value1" |
| | | 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.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.value1" /> |
| | | </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.value1" /> |
| | | </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> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | props: { |
| | | operationTaskId: { |
| | | type: String, |
| | | required: true, |
| | | default: () => ({}), |
| | | }, |
| | | }, |
| | | data() { |
| | | return { |
| | | show: false, |
| | | form: { |
| | | value0: null, |
| | | value1: null, |
| | | value2: null, |
| | | value3: null, |
| | | value4: null, |
| | | value5: null, |
| | | value6: null, |
| | | outerDiameter: null, |
| | | voltage: null, |
| | | speed: null, |
| | | pressure: null, |
| | | productionSpeed: null, |
| | | grossWeight: null, |
| | | reelNumber: null, |
| | | value7: null, |
| | | value8: null, |
| | | value9: null, |
| | | value10: null, |
| | | value11: null |
| | | value11: null, |
| | | }, |
| | | rules: { |
| | | value1: [ |
| | | { required: true, message: '请输入长度', trigger: ['blur', 'change'] }, |
| | | ], |
| | | value3: [ |
| | | { required: true, message: '请输入盘号', trigger: ['blur', 'change'] }, |
| | | ], |
| | | value4: [ |
| | | { required: true, message: '请输入毛重', trigger: ['blur', 'change'] }, |
| | | ], |
| | | value5: [ |
| | | { required: true, message: '请输入净重', trigger: ['blur', 'change'] }, |
| | | ], |
| | | value7: [ |
| | | { required: true, message: '请输入成品外径测量值', trigger: ['blur', 'change'] }, |
| | | ], |
| | | value8: [ |
| | | { required: true, message: '请输入退火电压', trigger: ['blur', 'change'] }, |
| | | ], |
| | | value9: [ |
| | | { required: true, message: '请输入转速', trigger: ['blur', 'change'] }, |
| | | ], |
| | | value10: [ |
| | | { required: true, message: '请输入外部气压', trigger: ['blur', 'change'] } |
| | | ], |
| | | value11: [ |
| | | { required: true, message: '请输入生产速度', trigger: ['blur', 'change'] } |
| | | ] |
| | | }, |
| | | } |
| | | // rules: { |
| | | // value1: [ |
| | | // { required: true, message: '请输入长度', trigger: ['blur', 'change'] }, |
| | | // ], |
| | | // value3: [ |
| | | // { required: true, message: '请输入盘号', trigger: ['blur', 'change'] }, |
| | | // ], |
| | | // value4: [ |
| | | // { required: true, message: '请输入毛重', trigger: ['blur', 'change'] }, |
| | | // ], |
| | | // value5: [ |
| | | // { required: true, message: '请输入净重', trigger: ['blur', 'change'] }, |
| | | // ], |
| | | // value7: [ |
| | | // { required: true, message: '请输入成品外径测量值', trigger: ['blur', 'change'] }, |
| | | // ], |
| | | // value8: [ |
| | | // { required: true, message: '请输入退火电压', trigger: ['blur', 'change'] }, |
| | | // ], |
| | | // value9: [ |
| | | // { required: true, message: '请输入转速', trigger: ['blur', 'change'] }, |
| | | // ], |
| | | // value10: [ |
| | | // { required: true, message: '请输入外部气压', trigger: ['blur', 'change'] } |
| | | // ], |
| | | // value11: [ |
| | | // { required: true, message: '请输入生产速度', trigger: ['blur', 'change'] } |
| | | // ] |
| | | // }, |
| | | }; |
| | | }, |
| | | watch: { |
| | | show(val) { |
| | | if (val) { |
| | | this.$nextTick(() => { |
| | | this.$refs.uFormSave.setRules(this.rules); |
| | | // this.$refs.uFormSave.setRules(this.rules); |
| | | console.log("1222222"); |
| | | this.$u.api.workReporting |
| | | .operationTask({ |
| | | id: this.operationTaskId, |
| | | }) |
| | | .then((res) => { |
| | | console.log("res", res); |
| | | this.form = res.data.records; |
| | | }); |
| | | }); |
| | | } |
| | | }, |
| | | }, |
| | | methods: { |
| | | confirm() { |
| | | this.$refs.uFormSave.validate((valid) => { |
| | | if (valid) { |
| | | console.log('验证通过'); |
| | | // 执行提交逻辑(如API请求) |
| | | // 提交成功后关闭模态框 |
| | | this.$refs.uModal.cancel(); |
| | | } else { |
| | | console.log('验证失败'); |
| | | // 显示错误信息 |
| | | if (!this.form.outerDiameter) { |
| | | this.$u.toast("请输入成品外径测量值"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | if (!this.form.voltage) { |
| | | this.$u.toast("请输入退火电压"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | if (!this.form.speed) { |
| | | this.$u.toast("请输入转速"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | if (!this.form.pressure) { |
| | | this.$u.toast("请输入外部气压"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | if (!this.form.productionSpeed) { |
| | | this.$u.toast("请输入生产速度"); |
| | | this.$refs.uModal.clearLoading(); // 清除加载状态 |
| | | return; |
| | | } |
| | | this.$u.api.workReporting |
| | | .submitPDA({ ...this.form, operationTaskId: this.operationTaskId }) |
| | | .then((res) => { |
| | | console.log("res", res); |
| | | this.$refs.uModal.cancel(); |
| | | }); |
| | | }, |
| | | cancel() { |
| | | this.show = false; |
| | | this.form = {}; |
| | | }, |
| | | open() { |
| | | this.show = true; |
| | | } |
| | | }, |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | ::v-deep .u-input__input { |
| | | text-align: right !important; |
| | | } |
| | | .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; |
| | | |
| | | .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-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 { |
| | | font-size: 30rpx; |
| | | color: #666666; |
| | | } |
| | | } |
| | | |
| | | .packing-registration-param-item-right { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | |
| | | .item-one { |
| | | font-size: 15rpx; |
| | | color: #060505; |
| | | margin-right: 6rpx; |
| | | } |
| | | |
| | | .item-two { |
| | | font-size: 15rpx; |
| | | color: #a6b4cc; |
| | | margin-right: 6rpx; |
| | | } |
| | | |
| | | .item-three { |
| | | font-size: 30rpx; |
| | | color: #214ded; |
| | | margin-right: 6rpx; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .param-extra { |
| | | border-bottom: 1px solid #ededed; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | padding-right: 20rpx; |
| | | } |
| | | } |
| | | .wrap .packing-registration-scroll-list { |
| | | height: calc(100vh - var(--window-top) - var(--window-bottom) - 100rpx); |
| | | width: 100%; |
| | | } |
| | | |
| | | .packing-registration-scroll-list-group { |
| | | ::v-deep .u-cell-item-box { |
| | | background-color: rgba(250, 252, 255, 0.36) !important; |
| | | padding: 0rpx 30rpx; |
| | | } |
| | | |
| | | .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 { |
| | | width: 40rpx; |
| | | height: 90rpx; |
| | | 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; |
| | | } |
| | | |
| | | .content-header-title { |
| | | margin-left: 11rpx; |
| | | font-size: 26rpx; |
| | | font-weight: bold; |
| | | color: #626369; |
| | | } |
| | | } |
| | | |
| | | .content-body { |
| | | flex: 1; |
| | | background-color: #ffffff; |
| | | border-radius: 10rpx; |
| | | padding: 0rpx 23rpx; |
| | | |
| | | .row-list { |
| | | height: 60rpx; |
| | | display: flex; |
| | | flex-direction: row; |
| | | padding: 0px; |
| | | align-items: center; |
| | | } |
| | | |
| | | .row-list ._label { |
| | | display: flex; |
| | | flex: 0.8; |
| | | color: #909399; |
| | | align-items: center; |
| | | |
| | | ._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; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | </u-form-item> |
| | | <u-form-item label="报工类型" prop="value9"> |
| | | <u-radio-group v-model="form.value9"> |
| | | <u-radio name="下机报工">下机报工</u-radio> |
| | | <u-radio name="未下机报工">未下机报工</u-radio> |
| | | <u-radio name="1">下机报工</u-radio> |
| | | <u-radio name="2">未下机报工</u-radio> |
| | | </u-radio-group> |
| | | </u-form-item> |
| | | <u-form-item label="接收零件" prop="value10"> |
| | | <u-radio-group v-model="form.value10"> |
| | | <u-radio name="车间订单">车间订单</u-radio> |
| | | <u-radio name="替代零件">替代零件</u-radio> |
| | | <u-radio name="1">车间订单</u-radio> |
| | | <u-radio name="2">替代零件</u-radio> |
| | | </u-radio-group> |
| | | </u-form-item> |
| | | <u-form-item label="物料和工序" prop="value11"> |
| | | <u-form-item label="物料" prop="value12"> |
| | | <u-radio-group v-model="form.value12" :disabled="true"> |
| | | <u-radio name="1">倒冲</u-radio> |
| | | <u-radio name="2">投料</u-radio> |
| | | </u-radio-group> |
| | | </u-form-item> |
| | | <u-form-item label="工序" prop="value11"> |
| | | <u-checkbox-group> |
| | | <u-checkbox :name="item.name" v-for="(item, index) in checkboxList" :key="index" v-model="item.value" |
| | | @change="changeCheckbox"> |
| | | <u-checkbox :name="item.name" v-for="(item, index) in checkboxList" :key="index" |
| | | v-model="item.value11" @change="changeCheckbox" :disabled="item.disabled"> |
| | | {{ item.name }} |
| | | </u-checkbox> |
| | | </u-checkbox-group> |
| | | </u-form-item> |
| | | <u-form-item label="库存接收" :border-bottom="false" prop="value12"></u-form-item> |
| | | <u-form-item label="产出列表" :border-bottom="false"></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"> |
| | | <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.value0 }} |
| | | </view> |
| | | </view> |
| | | <view class="row-list"> |
| | | <view class="_label"> |
| | | <view class="_label-name">数量:</view> |
| | | </view> |
| | | <view class="_content"> |
| | | {{ item.value1 }} |
| | | </view> |
| | | </view> |
| | | <view class="row-list"> |
| | | <view class="_label"> |
| | | <view class="_label-name">库位:</view> |
| | | </view> |
| | | <view class="_content"> |
| | | {{ item.value0 }} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </u-cell-group> |
| | | </scroll-view> |
| | | </view> |
| | | <!-- 填写报工单 --> |
| | | <modalBg ref="modalBg" :confirm="confirm"> |
| | | <u-field v-model="form.value1" label="报工单号" placeholder="请输入" :border-bottom="false"> |
| | | </u-field> |
| | | </modalBg> |
| | | <saveForm ref="saveForm" /> |
| | | <saveForm ref="saveForm" :operationTaskId="this.operationTaskId" /> |
| | | <scan></scan> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import modalBg from '@/components/modal/modal-bg.vue' |
| | | import saveForm from './components/saveForm.vue' |
| | | 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 }, |
| | | components: { |
| | | modalBg, |
| | | saveForm, |
| | | scan |
| | | }, |
| | | data() { |
| | | return { |
| | | checkboxList: [ |
| | | { |
| | | name: '倒冲', |
| | | value: false |
| | | checkboxList: [{ |
| | | name: "工序的自动报告", |
| | | value: false, |
| | | disabled: false, |
| | | }, |
| | | { |
| | | name: '工序的自动报告', |
| | | value: false |
| | | name: "简化物料检查", |
| | | value: false, |
| | | disabled: false, |
| | | }, |
| | | { |
| | | name: '简化物料检查', |
| | | value: false |
| | | } |
| | | ], |
| | | InventoryReceiptList: [], |
| | | form: { |
| | | taskNo: '', |
| | | name: '', |
| | | moOn: '', |
| | | partNo: '', |
| | | partName: '', |
| | | value6: '', |
| | | value7: '', |
| | | value8: '', |
| | | value9: '下机报工', |
| | | value10: '车间订单', |
| | | taskNo: "", |
| | | name: "", |
| | | moOn: "", |
| | | partNo: "", |
| | | partName: "", |
| | | value6: "", |
| | | value7: "", |
| | | value8: "", |
| | | value9: "1", |
| | | value10: "1", |
| | | value11: [], // 复选框组的值 |
| | | value12: '' |
| | | value12: "1", |
| | | }, |
| | | rules: { |
| | | value0: [ |
| | | { |
| | | value0: [{ |
| | | required: true, |
| | | message: '请选择车间', |
| | | trigger: ['change'] |
| | | } |
| | | ], |
| | | value1: [ |
| | | { |
| | | message: "请选择车间", |
| | | trigger: ["change"], |
| | | }, ], |
| | | value1: [{ |
| | | required: true, |
| | | message: '请选择报工单号', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | value2: [ |
| | | { |
| | | message: "请选择报工单号", |
| | | trigger: ["change", "blur"], |
| | | }, ], |
| | | value2: [{ |
| | | required: true, |
| | | message: '请选择工序', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | value3: [ |
| | | { |
| | | message: "请选择工序", |
| | | trigger: ["change", "blur"], |
| | | }, ], |
| | | value3: [{ |
| | | required: true, |
| | | message: '请选择订单号', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | value9: [ |
| | | { |
| | | message: "请选择订单号", |
| | | trigger: ["change", "blur"], |
| | | }, ], |
| | | value9: [{ |
| | | required: true, |
| | | message: '请选择报工类型', |
| | | trigger: ['change'] |
| | | } |
| | | ], |
| | | value10: [ |
| | | { |
| | | message: "请选择报工类型", |
| | | trigger: ["change"], |
| | | }, ], |
| | | value10: [{ |
| | | required: true, |
| | | message: '请选择接收零件类型', |
| | | trigger: ['change'] |
| | | } |
| | | ], |
| | | value11: [ |
| | | { |
| | | type: 'array', |
| | | message: "请选择接收零件类型", |
| | | trigger: ["change"], |
| | | }, ], |
| | | value11: [{ |
| | | type: "array", |
| | | required: true, |
| | | message: '请至少选择一个物料和工序选项', |
| | | trigger: ['change'] |
| | | } |
| | | ] |
| | | message: "请至少选择一个物料和工序选项", |
| | | trigger: ["change"], |
| | | }, ], |
| | | }, |
| | | showSave: false, |
| | | } |
| | | operationTaskId: "", |
| | | }; |
| | | }, |
| | | // 点击提交按钮的事件处理函数 |
| | | onNavigationBarButtonTap() { |
| | | this.form.value11 = this.checkboxList.filter(item => item.value).map(item => item.name); |
| | | this.$refs.uForm.validate(valid => { |
| | | if (valid) { |
| | | console.log('验证通过'); |
| | | // 处理提交逻辑 |
| | | this.$refs.saveForm.open(); |
| | | this.form.value11 = this.checkboxList |
| | | .filter((item) => item.value) |
| | | .map((item) => item.name); |
| | | this.$refs.uForm.validate((valid) => { |
| | | if (valid) { |
| | | console.log("验证通过"); |
| | | // 处理提交逻辑 |
| | | // this.$refs.saveForm.open(); |
| | | } else { |
| | | console.log('验证失败'); |
| | | console.log("验证失败"); |
| | | // 可以获取具体的错误信息 |
| | | const errors = this.$refs.uForm.getError(); |
| | | console.log('错误信息:', errors); |
| | | console.log("错误信息:", errors); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | this.$refs.uForm.setRules(this.rules); |
| | | }, |
| | | onShow() { |
| | | let that = this |
| | | uni.$off('scan') // 每次进来先 移除全局自定义事件监听器 |
| | | uni.$on('scan', function (data) { |
| | | console.log('onscan'); |
| | | let that = this; |
| | | console.log("1111111111111"); |
| | | uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器 |
| | | uni.$on("scan", function(data) { |
| | | console.log("onscan"); |
| | | //扫码成功后的回调,你可以写自己的逻辑代码在这里 |
| | | console.log('页面扫码结果:', data.code); |
| | | console.log("页面扫码结果:", data.code); |
| | | if (data.code) { |
| | | let codeInfo = JSON.parse(data.code) |
| | | let codeInfo = JSON.parse(data.code); |
| | | this.operationTaskId = codeInfo.id; |
| | | if (codeInfo.moOn) { |
| | | // 扫描报工单二维码 |
| | | that.saveForm(codeInfo); |
| | | } |
| | | } |
| | | this.$u.api.workReporting |
| | | .getProductMainV1({ |
| | | current: 1, |
| | | size: -1, |
| | | operationTaskId: this.operationTaskId, |
| | | }) |
| | | .then((res) => { |
| | | console.log("res", res); |
| | | this.InventoryReceiptList = res.data.records; |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | methods: { |
| | | // 多选处理 |
| | | changeCheckbox(val) { |
| | | if (val.name === '倒冲') { |
| | | this.checkboxList[2].value = false |
| | | } |
| | | if (val.name === '简化物料检查') { |
| | | this.checkboxList[0].value = false |
| | | } |
| | | }, |
| | | // // 多选处理 |
| | | // changeCheckbox(val) { |
| | | // if (val.name === "倒冲") { |
| | | // this.checkboxList[2].value = false; |
| | | // } |
| | | // if (val.name === "简化物料检查") { |
| | | // this.checkboxList[0].value = false; |
| | | // } |
| | | // }, |
| | | // 打开弹框--后面还需要监听扫码枪扫码结果,赋值给报工单号字段,然后打开弹框选择订单号等操作 |
| | | open() { |
| | | this.$refs.modalBg.open(); |
| | | }, |
| | | // 弹框保存 |
| | | confirm() { |
| | | console.log('保存', this.form.value1); |
| | | console.log("保存", this.form.value1); |
| | | // 请求接口,根据工单号查询其他信息并赋值 |
| | | }, |
| | | // 选择订单号 |
| | | openList() { |
| | | if (this.form.value1 === '') { |
| | | if (this.form.taskNo === "") { |
| | | uni.showToast({ |
| | | title: '请先扫描或输入报工单号', |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | title: "请先扫描或输入报工单号", |
| | | icon: "none", |
| | | }); |
| | | return; |
| | | } |
| | | uni.navigateTo({ |
| | | url: '/pages/product/report/orderList' |
| | | }) |
| | | url: "/pages/product/report/orderList", |
| | | }); |
| | | }, |
| | | // 存订单号 |
| | | setNo(val) { |
| | | this.form.value3 = val |
| | | this.form.value3 = val; |
| | | }, |
| | | // 回显扫码的信息-报工单 |
| | | saveForm(val) { |
| | | console.log('回显的数据',val) |
| | | let { moOn, name, ORDER_NO,taskNo,partName,partNo } = val |
| | | this.form.moOn = moOn |
| | | this.form.name = name |
| | | this.form.taskNo = taskNo |
| | | this.form.partName = partName |
| | | this.form.partNo = partNo |
| | | console.log("回显的数据", val); |
| | | let { |
| | | moOn, |
| | | name, |
| | | ORDER_NO, |
| | | taskNo, |
| | | partName, |
| | | partNo |
| | | } = val; |
| | | this.form.moOn = moOn; |
| | | this.form.name = name; |
| | | this.form.taskNo = taskNo; |
| | | this.form.partName = partName; |
| | | this.form.partNo = partNo; |
| | | // this.form.value3 = ORDER_NO |
| | | if (this.form.value12 == "1") { |
| | | this.checkboxList[1].disabled = true; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import 'index.scss'; |
| | | @import "index.scss"; |
| | | </style> |