| | |
| | | <view class="info-value">{{ formData.createDate }}</view> |
| | | </view> |
| | | <view class="info-item"> |
| | | <view class="info-label">生产车间</view> |
| | | <picker v-if="isUpdate" class="picker-input" name="selector" :range="departmentList" range-key="departmentname" |
| | | @change="onDepartmentChange"> |
| | | <view class="picker-value">{{ getSelectedDepartmentName() || '请选择车间' }}</view> |
| | | </picker> |
| | | <view v-else class="info-value">{{ WORKSHOP }}</view> |
| | | </view> |
| | | <view class="info-item"> |
| | | <view class="info-label">线体编号</view> |
| | | <picker v-if="isUpdate" class="picker-input" name="selector" :range="DAA020List" |
| | | <picker v-if="isUpdate" class="picker-input" name="selector" :range="filteredDAA020List" |
| | | @change="onDaa020Change"> |
| | | <view class="picker-value">{{ DAA020List[DAA020Index] || '请选择' }}</view> |
| | | <view class="picker-value">{{ filteredDAA020List[DAA020Index] || '请选择' }}</view> |
| | | </picker> |
| | | <view v-else class="info-value">{{ formData.daa020 }}</view> |
| | | </view> |
| | | <view class="info-item"> |
| | | <view class="info-label">物料编码</view> |
| | | <picker v-if="isUpdate" class="picker-input" name="selector" :range="ItemList" |
| | | @change="onItemChange"> |
| | | <view class="picker-value">{{ ItemList[ItemIndex] || '请选择' }}</view> |
| | | </picker> |
| | | <view v-else class="info-value">{{ formData.itemNo }}</view> |
| | | </view> |
| | | <view class="info-item"> |
| | | <view class="info-label">计划编号</view> |
| | | <view class="info-label">工单单号</view> |
| | | <picker v-if="isUpdate" class="picker-input" name="selector" :range="DAA001List" |
| | | @change="onDaa001Change"> |
| | | <view class="picker-value">{{ DAA001List[DAA001Index] || '请选择' }}</view> |
| | | </picker> |
| | | <view v-else class="info-value">{{ formData.billNo }}</view> |
| | | </view> |
| | | <view class="info-item"> |
| | | <view class="info-label">物料编码</view> |
| | | <view class="info-value">{{ formData.itemNo }}</view> |
| | | </view> |
| | | <view class="info-item"> |
| | | <view class="info-label">物料名称</view> |
| | |
| | | <button class="action-btn warning" v-if="!isUpdate && !isShowTable" @click="saveRemarks">添加不合格描述</button> |
| | | <button class="action-btn primary" v-if="isShowTable" @click="getTable">获取检验项目</button> |
| | | <button class="action-btn primary" v-if="isShowTable && isUpdate" @click="saveTable">生成检验项目</button> |
| | | <button class="action-btn success" v-if="!isUpdate && !isShowTable" @click="getGenUpdate">获取检验项目</button> |
| | | <button class="action-btn success" v-if="!isUpdate && !isShowTable" @click="submitInspection">提交检验</button> |
| | | </view> |
| | | <!-- 修改不合格描述弹出框 --> |
| | | <view v-if="remarksPopup" class="overlay"> |
| | |
| | | |
| | | DAA020List: [], |
| | | DAA020Index: -1, |
| | | filteredDAA020List: [], |
| | | |
| | | DAA001List: [], |
| | | DAA001List: [], |
| | | DAA001Index: -1, |
| | | schemeResult: [], |
| | | |
| | | isShowTable: false, |
| | | |
| | | ItemList: [], |
| | | ItemIndex: -1, |
| | | boardItems: [], |
| | | |
| | | |
| | | isShowTable: false, |
| | | |
| | | lineList: [], |
| | | |
| | | lineNo: "", |
| | |
| | | |
| | | remarks: "", |
| | | remarksPopup: false, |
| | | |
| | | // 部门选择相关 |
| | | departmentList: [], |
| | | selectedDepartment: '', |
| | | WORKSHOP: '', |
| | | }; |
| | | }, |
| | | onLoad(options) { |
| | |
| | | }).then(res => { |
| | | this.lineList = res.data.tbBillList; |
| | | this.DAA020List = res.data.tbBillList.map(item => item.lineName); |
| | | this.filteredDAA020List = this.DAA020List; // 初始时显示所有线体 |
| | | }) |
| | | |
| | | // 获取部门列表 |
| | | this.loadDepartments(); |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | }, |
| | | getItem() { |
| | | |
| | | if (this.isSubmit) { |
| | | this.$showMessage("此物料无启用的检验项目,请维护!"); |
| | | return; |
| | | } |
| | | |
| | | |
| | | if (!this.formData.billNo) { |
| | | this.$showMessage("请选择计划编号"); |
| | | this.$showMessage("请选择工单单号"); |
| | | return; |
| | | } |
| | | |
| | |
| | | this.isUpdate = false; |
| | | }); |
| | | }, |
| | | //生产线别选择并初始话工单号 |
| | | |
| | | // 加载部门列表 |
| | | loadDepartments() { |
| | | this.$post({ |
| | | url: "/XJ/getDepartmentsWithLines" |
| | | }).then(res => { |
| | | if (res.status === 0) { |
| | | this.departmentList = res.data.tbBillList; |
| | | } else { |
| | | this.$showMessage("获取部门列表失败"); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | // 部门选择变化处理 |
| | | onDepartmentChange(e) { |
| | | const index = e.detail.value; |
| | | if (index >= 0 && index < this.departmentList.length) { |
| | | const selectedDept = this.departmentList[index]; |
| | | this.selectedDepartment = selectedDept.departmentid; |
| | | this.WORKSHOP = selectedDept.departmentname; |
| | | |
| | | // 根据选中的部门过滤线体列表 |
| | | this.filterLinesByDepartment(selectedDept.departmentid); |
| | | |
| | | // 保存部门选择 |
| | | this.saveDepartmentSelection(); |
| | | } |
| | | }, |
| | | |
| | | // 获取选中的部门名称 |
| | | getSelectedDepartmentName() { |
| | | if (!this.selectedDepartment) return ''; |
| | | const dept = this.departmentList.find(item => item.departmentid === this.selectedDepartment); |
| | | return dept ? dept.departmentname : ''; |
| | | }, |
| | | |
| | | // 保存部门选择 |
| | | saveDepartmentSelection() { |
| | | if (this.formData.id && this.selectedDepartment) { |
| | | this.$post({ |
| | | url: "/XJ/saveDepartmentSelection", |
| | | data: { |
| | | id: this.formData.id, |
| | | departmentId: this.selectedDepartment, |
| | | departmentName: this.WORKSHOP |
| | | } |
| | | }).then(res => { |
| | | if (res.status === 0) { |
| | | this.$showMessage("部门选择已保存"); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | // 根据部门过滤线体列表 |
| | | filterLinesByDepartment(departmentId) { |
| | | this.$post({ |
| | | url: "/XJ/getLinesByDepartment", |
| | | data: { |
| | | departmentId: departmentId |
| | | } |
| | | }).then(res => { |
| | | if (res.status === 0) { |
| | | this.filteredDAA020List = res.data.tbBillList.map(item => item.lineName); |
| | | this.lineList = res.data.tbBillList; |
| | | // 重置线体选择索引 |
| | | this.DAA020Index = -1; |
| | | this.formData.daa020 = ''; |
| | | } else { |
| | | this.$showMessage("获取线体列表失败"); |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | //生产线别选择并初始化工单号 |
| | | onDaa020Change(event) { |
| | | //获取生产线别的下标地址 |
| | | this.DAA020Index = event.mp.detail.value; |
| | | |
| | | |
| | | this.lineNo = this.lineList[this.DAA020Index].lineNo; |
| | | |
| | | this.$post({ |
| | | url: "/XJ/getBoardItem", |
| | | data: { |
| | | lineNo: this.lineNo |
| | | } |
| | | }).then(res => { |
| | | //填充工单号的数据源 |
| | | this.boardItems = res.data.tbBillList; |
| | | this.ItemList = this.boardItems.map(item => item.itemNo); |
| | | //变为默认空值的状态 |
| | | this.ItemIndex = -1; |
| | | }) |
| | | |
| | | }, |
| | | onItemChange(event) { |
| | | this.ItemIndex = event.mp.detail.value; |
| | | this.formData.itemNo = this.boardItems[this.ItemIndex].itemNo;//主要是改这里 |
| | | this.formData.itemId = this.boardItems[this.ItemIndex].id;//主要是改这里 |
| | | this.formData.itemName = this.boardItems[this.ItemIndex].itemName;//主要是改这里 |
| | | this.formData.itemModel = this.boardItems[this.ItemIndex].itemModel;//主要是改这里 |
| | | |
| | | this.$post({ |
| | | url: "/XJ/getDaa001", |
| | | data: { |
| | | daa020: this.lineNo, |
| | | item: this.formData.itemNo |
| | | daa020: this.lineNo |
| | | } |
| | | }).then(res => { |
| | | //填充工单号的数据源 |
| | | this.schemeResult = res.data.tbBillList; |
| | | this.DAA001List = this.schemeResult.map(s => s.daa001); |
| | | this.DAA001List = this.schemeResult.map(s => s.Daa001); |
| | | //变为默认空值的状态 |
| | | this.DAA001Index = -1; |
| | | |
| | | |
| | | this.formData.billNo = ""; |
| | | }) |
| | | |
| | | }, |
| | | //选取工单填充物料号和其他信息 |
| | | |
| | | //选取工单填充物料号和其他信息 |
| | | onDaa001Change(event) { |
| | | this.DAA001Index = event.mp.detail.value; |
| | | this.formData.billNo = this.schemeResult[this.DAA001Index].daa001; |
| | | this.formData.planQty = this.schemeResult[this.DAA001Index].daa008; |
| | | //表单中的部分字段赋值 |
| | | const selectedWorkOrder = this.schemeResult[this.DAA001Index]; |
| | | this.formData.billNo = selectedWorkOrder.Daa001; |
| | | this.formData.planQty = selectedWorkOrder.Daa008; |
| | | |
| | | // 从工单数据中获取物料信息 |
| | | this.formData.itemNo = selectedWorkOrder.ItemNo; // 物料编码 |
| | | this.formData.itemName = selectedWorkOrder.ItemName; // 物料名称 |
| | | this.formData.itemModel = selectedWorkOrder.ItemModel; // 规格型号 |
| | | |
| | | // 获取检验项目 |
| | | this.$post({ |
| | | url: "/XJ/getItem", |
| | | url: "/XJ/setJYItem", |
| | | data: { |
| | | daa001: this.formData.billNo |
| | | itemNo: this.formData.itemNo |
| | | } |
| | | }).then(res => { |
| | | let data = res.data.tbBillList[0]; |
| | | //当返回的结果集为空时置空原有的值 |
| | | if (!data) { |
| | | this.formData.billNo = ""; |
| | | this.formData.itemNo = ""; |
| | | this.formData.planQty = ""; |
| | | if (res.data.tbBillList.length > 0) { |
| | | this.tableData = res.data.tbBillList; |
| | | this.isSubmit = false; |
| | | } else { |
| | | this.$showMessage("此物料没有启用的检验项目,请维护!"); |
| | | this.isSubmit = true; |
| | | this.tableData = []; |
| | | return; |
| | | } |
| | | |
| | | this.$post({ |
| | | url: "/XJ/setJYItem", |
| | | data: { |
| | | itemNo: this.formData.itemNo |
| | | } |
| | | }).then(res => { |
| | | if (res.data.tbBillList.length > 0) { |
| | | this.tableData = res.data.tbBillList; // 在箭头函数中,this 指向外层作用域的 this |
| | | this.isSubmit = false; |
| | | } else { |
| | | this.$showMessage("此物料没有启用的检验项目,请维护!"); |
| | | this.isSubmit = true; |
| | | this.tableData = []; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | init() { |
| | |
| | | this.isUpdate = false; |
| | | this.init(); |
| | | }) |
| | | }, |
| | | submitInspection() { |
| | | if (this.formData.id) { |
| | | this.$post({ |
| | | url: "/XJ/SjSubmit", |
| | | data: { |
| | | id: this.formData.id, |
| | | userNo: this.$loginInfo.account |
| | | } |
| | | }).then(res => { |
| | | if (res.data.tbBillList) { |
| | | this.$showMessage("提交成功"); |
| | | this.init(); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | getGenUpdate() { |
| | | if (!this.formData.id || !this.formData.releaseNo) { |
| | | this.$showMessage("请先保存检验单!"); |
| | | return; |
| | | } |
| | | this.$post({ |
| | | url: "/XJ/GenUpdate", |
| | | data: { |
| | | id: this.formData.id, |
| | | no: this.formData.releaseNo, |
| | | user: this.$loginInfo.account |
| | | } |
| | | }).then(res => { |
| | | if (res.data.result === 0) { |
| | | this.$showMessage("获取检验项目成功"); |
| | | this.init(); |
| | | } else { |
| | | this.$showMessage(res.data.message || "获取失败"); |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | onShow() { |
| | |
| | | color: white; |
| | | } |
| | | |
| | | .action-btn.success { |
| | | background-color: #2ecc71; |
| | | color: white; |
| | | } |
| | | |
| | | /* 弹出框样式 */ |
| | | .overlay { |
| | | position: fixed; |