| | |
| | | <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="value0"> |
| | | <u-radio-group v-model="form.value0"> |
| | | <u-radio name="导体">导体</u-radio> |
| | | <u-radio name="铜杆">铜杆</u-radio> |
| | | </u-radio-group> |
| | | </u-form-item> |
| | | <u-form-item label="报工单号" :border-bottom="false" prop="value1"> |
| | | <u-input v-model="form.value1" type="select" placeholder="请扫描报工单号" @click="open" /> |
| | | </u-form-item> |
| | | <u-form-item label="工序" :border-bottom="false" prop="value2"> |
| | | <u-input v-model="form.value2" type="select" placeholder="请扫描报工单号" /> |
| | | </u-form-item> |
| | | <u-form-item label="订单号" :border-bottom="false" prop="value3"> |
| | | <u-input v-model="form.value3" type="select" placeholder="点击选择" @click="openList" /> |
| | | </u-form-item> |
| | | <u-form-item label="零件号" :border-bottom="false" prop="value4"> |
| | | <u-input v-model="form.value4" placeholder="" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="零件描述" :border-bottom="false" prop="value5"> |
| | | <u-input v-model="form.value5" placeholder="" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="批量大小" :border-bottom="false" prop="value6"> |
| | | <u-input v-model="form.value6" placeholder="" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="剩余数量" :border-bottom="false" prop="value7"> |
| | | <u-input v-model="form.value7" placeholder="" disabled /> |
| | | </u-form-item> |
| | | <u-form-item label="库位" :border-bottom="false" prop="value8"> |
| | | <u-input v-model="form.value8" placeholder="" disabled /> |
| | | </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-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-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"> |
| | | {{ item.name }} |
| | | </u-checkbox> |
| | | </u-checkbox-group> |
| | | </u-form-item> |
| | | <u-form-item label="库存接收" :border-bottom="false" prop="value12"></u-form-item> |
| | | </u-form> |
| | | <!-- 填写报工单 --> |
| | | <modalBg ref="modalBg" :confirm="confirm"> |
| | | <u-field v-model="form.value1" label="报工单号" placeholder="请输入" :border-bottom="false"> |
| | | </u-field> |
| | | </modalBg> |
| | | <saveForm ref="saveForm" /> |
| | | </div> |
| | | <!-- 报工 --> |
| | | <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" /> |
| | | </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"> |
| | | <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"> |
| | | <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' |
| | | export default { |
| | | components: { modalBg, saveForm }, |
| | | data() { |
| | | return { |
| | | checkboxList: [ |
| | | { |
| | | name: '倒冲', |
| | | value: false |
| | | }, |
| | | { |
| | | name: '工序的自动报告', |
| | | value: false |
| | | }, |
| | | { |
| | | name: '简化物料检查', |
| | | value: false |
| | | } |
| | | ], |
| | | form: { |
| | | value0: '', |
| | | value1: '', |
| | | value2: '', |
| | | value3: '', |
| | | value4: '', |
| | | value5: '', |
| | | value6: '', |
| | | value7: '', |
| | | value8: '', |
| | | value9: '下机报工', |
| | | value10: '车间订单', |
| | | value11: [], // 复选框组的值 |
| | | value12: '' |
| | | }, |
| | | rules: { |
| | | value0: [ |
| | | { |
| | | required: true, |
| | | message: '请选择车间', |
| | | trigger: ['change'] |
| | | } |
| | | ], |
| | | value1: [ |
| | | { |
| | | required: true, |
| | | message: '请选择报工单号', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | value2: [ |
| | | { |
| | | required: true, |
| | | message: '请选择工序', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | value3: [ |
| | | { |
| | | required: true, |
| | | message: '请选择订单号', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | value9: [ |
| | | { |
| | | required: true, |
| | | message: '请选择报工类型', |
| | | trigger: ['change'] |
| | | } |
| | | ], |
| | | value10: [ |
| | | { |
| | | required: true, |
| | | message: '请选择接收零件类型', |
| | | trigger: ['change'] |
| | | } |
| | | ], |
| | | value11: [ |
| | | { |
| | | type: 'array', |
| | | required: true, |
| | | message: '请至少选择一个物料和工序选项', |
| | | trigger: ['change'] |
| | | } |
| | | ] |
| | | }, |
| | | showSave: false, |
| | | } |
| | | }, |
| | | // 点击提交按钮的事件处理函数 |
| | | 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(); |
| | | } else { |
| | | console.log('验证失败'); |
| | | // 可以获取具体的错误信息 |
| | | const errors = this.$refs.uForm.getError(); |
| | | console.log('错误信息:', errors); |
| | | } |
| | | }); |
| | | }, |
| | | onReady() { |
| | | this.$refs.uForm.setRules(this.rules); |
| | | }, |
| | | methods: { |
| | | // 多选处理 |
| | | 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); |
| | | // 请求接口,根据工单号查询其他信息并赋值 |
| | | }, |
| | | // 选择订单号 |
| | | openList() { |
| | | if (this.form.value1 === '') { |
| | | uni.showToast({ |
| | | title: '请先扫描或输入报工单号', |
| | | icon: 'none' |
| | | }) |
| | | return |
| | | } |
| | | uni.navigateTo({ |
| | | url: '/pages/product/report/orderList' |
| | | }) |
| | | }, |
| | | setNo(val) { |
| | | this.form.value3 = val |
| | | } |
| | | } |
| | | } |
| | | 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) { |
| | | //扫码成功后的回调,你可以写自己的逻辑代码在这里 |
| | | 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) |
| | | 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; |
| | | if (previouslySelected && newlySelected && previouslySelected.staffId !== newlySelected) { |
| | | // 已有选中项且选择了新的项,提示只能选择一个人 |
| | | this.$u.toast('按人员报工时只能选择一位人员'); |
| | | // 保持原选择 |
| | | 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 { |
| | | // 多选模式 |
| | | this.selectedPersons = this.selectedPersons.map(item => ({ |
| | | ...item, |
| | | checked: values.includes(item.staffId) |
| | | })); |
| | | } |
| | | }, |
| | | // 确认选择 |
| | | confirmSelection() { |
| | | const selected = this.selectedPersons.filter(item => item.checked); |
| | | // 根据报工方式设置人员名称 |
| | | if (this.form.status === 'true' && selected.length > 0) { |
| | | this.form.Persons = selected[0].staffName; |
| | | } else { |
| | | this.form.Persons = selected.map(item => item.staffName).join(','); |
| | | } |
| | | this.form.productStaffs = selected.map(item => item.staffNo); |
| | | this.form.productStaffIds = selected.map(item => item.staffId); |
| | | }, |
| | | 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.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; |
| | | } |
| | | // 如果有dutyNo,获取人员列表 |
| | | if (val.dutyId) { |
| | | this.dutyId = val.dutyId; |
| | | this.getPersonList(val.dutyId); |
| | | } |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | @import 'index.scss'; |
| | | @import "index.scss"; |
| | | </style> |