From a0a60c07af2877df16a6431a3bdf4d7053e486ba Mon Sep 17 00:00:00 2001 From: guoshuang Date: Wed, 17 Jul 2024 13:17:29 +0800 Subject: [PATCH] =?UTF-8?q?mes=E6=9D=A5=E6=96=99=EF=BC=8C=E8=BF=87?= =?UTF-8?q?=E7=A8=8B=E8=A7=A6=E5=8F=91oa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/login/login/index.vue | 2 +- .../quality/Materialinspection/index.vue | 432 ++++++++++++++++-- src/pages/quality/Materialinspection/model.ts | 161 +++++++ src/utils/request.ts | 2 +- src/utils/url.ts | 2 + 5 files changed, 553 insertions(+), 46 deletions(-) diff --git a/src/pages/login/login/index.vue b/src/pages/login/login/index.vue index 8ea565a..f773bb6 100644 --- a/src/pages/login/login/index.vue +++ b/src/pages/login/login/index.vue @@ -142,7 +142,7 @@ export default class LoginPage extends BasePage { // console.log('Version////', this.Version); } ///********版本号修改区域********** - version = '0.0.78'; //正式版本号 + version = '0.0.79'; //正式版本号 //version = '0.0.4'; //测试版本号 //***************标志修改区域:是否是测试标志: false 正式版本; true 测试版本**************** //isTest = true; diff --git a/src/pages/quality/Materialinspection/index.vue b/src/pages/quality/Materialinspection/index.vue index 84906e6..acd8da6 100644 --- a/src/pages/quality/Materialinspection/index.vue +++ b/src/pages/quality/Materialinspection/index.vue @@ -31,8 +31,10 @@ {{ item.checkStatus == 0 ? '待检验' : '检验完成' }} - 批次号: - {{ item.incomeBatchNo }} + 批次号: + + {{ item.incomeBatchNo }} + 任务号: @@ -227,6 +229,70 @@ + + + + + + + + + + + + + + + + + + +
+ + + + + {{ n.name }} + + + + + + + {{ n.name }} + + + +
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + +
@@ -303,13 +369,24 @@ export default class PurchaseWHSRM extends BasePage { moren6 = '请选择物料来源'; moren7 = '请选择接受质量限'; moren8 = '请选择检测水平'; + moren9 = '请选择仓储报检人'; + moren10 = '请选择转出方'; + moren11 = '请选择QC主管'; + moren12 = '请选择厂区'; + moren13 = '请选择申请部门'; + moren14 = '请选择是否供应商问题'; + moren15 = '请选择异常范围'; + moren16 = '请选择是否需要主管审核'; + moren17 = '请选择质量主管'; list: any = []; + locList6: any = []; show = false; showselect = false; isshow = false; form3: any = { barCodewl: '', }; + ischecklist: any = []; listselect: any = [ { type: 'Y', @@ -357,6 +434,10 @@ export default class PurchaseWHSRM extends BasePage { selectList4: any = {}; selectList5: any = {}; defectCodeList: any = {}; + selectischeckType: any = {}; + selectpgzgList: any = {}; + selectZLType: any = {}; + sqrlist: any = {}; // remove: any = {}; // async onReady() { // await this.model.queryLocation(); @@ -377,6 +458,11 @@ export default class PurchaseWHSRM extends BasePage { nodelist1: any = ''; detaillistceshi: any = []; detaillistdefects: any = []; + pgzgList: any = []; + ZLlist: any = []; + ZCFList: any = []; + QCZGList: any = []; + CQList: any = []; clickitem: any = ''; formdata: any = { sampleQuality: null, @@ -414,6 +500,16 @@ export default class PurchaseWHSRM extends BasePage { // 物料来源 getmaterialFromList: any = []; selectmaterialFromList: any = {}; + selectdeptType: any = {}; + selectsupplierType: any = {}; + selectabnormalType: any = {}; + selectstorageList: any = []; + selectTransferList: any = []; + selectQCList: any = []; + selectworkList: any = []; + deptlist: any = []; + supplierlist: any = []; + abnormallist: any = []; // 引入原生插件 // 调用插件的 mpaasScan 方法 @@ -519,9 +615,37 @@ export default class PurchaseWHSRM extends BasePage { factoryCode: session.PoolName, workorderCode: this.clickitem.orderNo, }; + //debugger; + if (this.selectList.value == 'checkTypeSC' || this.selectList.value == 'checkTypeSCXJ') { + console.log('走到这了吗'); + await model.getdeptFromListPDA(); + this.deptlist = model.deptlist; + await model.getabnormallistFromListPDA(); + this.abnormallist = model.abnormallist; + await model.getischecklistFromListPDA(); + this.ischecklist = model.ischecklist; + await this.model.getqcFromListPDA(); //qc主管 + this.pgzgList = model.locList8; + await this.model.getsupplierlistFromListPDA(); + this.supplierlist = model.isclistsupplierlist; + } else { + this.getmaterialFromListPDA(); + this.getmaterialTypePDA(); + await this.model.getstorgeFromListPDA(); + this.locList6 = model.locList6; + await this.model.gettrensferFromListPDA(); + let requestCFlist = model.locList7; + this.ZCFList = requestCFlist; + this.CQList = requestCFlist; + await this.model.getqcFromListPDA(); + this.QCZGList = model.locList8; + await this.model.getworkFromListPDA(); + this.CQList = model.locList9; + } this.getDefectListPDA(); - this.getmaterialFromListPDA(); - this.getmaterialTypePDA(); + await this.model.getOaUserIdlist(); + this.sqrlist = model.sqrlist; + if (this.selectList.value == 'checkTypeLL') { this.formdata.startOA = 1; } @@ -686,6 +810,24 @@ export default class PurchaseWHSRM extends BasePage { this.selectmaterialFromList = e.pickerName; this.formdata.materialFrom = this.selectmaterialFromList.value; } + + async selectstorageCode(e: any) { + this.selectstorageList = e.pickerName; + this.formdata.storageFrom = this.selectstorageList.value; + } + async selectTransferCode(e: any) { + this.selectTransferList = e.pickerName; + this.formdata.transferFrom = this.selectTransferList.value; + } + async selectworkCode(e: any) { + this.selectworkList = e.pickerName; + this.formdata.workFrom = this.selectworkList.value; + } + async selectqcCode(e: any) { + this.selectQCList = e.pickerName; + this.formdata.qcFrom = this.selectQCList.value; + } + async selectProductlocCode6(e: any) { this.selectList4 = e.pickerName; this.detaillistceshi[this.equipmentindex[0]].sampleAql = this.selectList4.value; @@ -694,6 +836,31 @@ export default class PurchaseWHSRM extends BasePage { this.selectList5 = e.pickerName; this.detaillistceshi[this.equipmentindex[0]].checkLevel = this.selectList5.value; } + async selectdept(e: any) { + this.selectdeptType = e.pickerName; + this.formdata.sqbm = this.selectdeptType.value; + } + async selectsupplier(e: any) { + this.selectsupplierType = e.pickerName; + this.formdata.sfgyswt = this.selectsupplierType.value; + } + async selectabnormal(e: any) { + this.selectabnormalType = e.pickerName; + this.formdata.oaFactoryF = this.selectabnormalType.value; + } + async selectischeck(e: any) { + this.selectischeckType = e.pickerName; + this.formdata.sfxvzq = this.selectischeckType.value; + } + async selectpgzgCode(e: any) { + this.selectpgzgList = e.pickerName; + this.formdata.pgzg = this.selectpgzgList.value; + } + async selectZLCode(e: any) { + this.selectZLType = e.pickerName; + this.formdata.pgzr = this.selectZLType.value; + } + focustype(item, value, index) { this.isfocus = false; this.$nextTick(() => { @@ -842,6 +1009,7 @@ export default class PurchaseWHSRM extends BasePage { } } } + //来料oa校验 if (this.selectList.value == 'checkTypeLL') { if (this.formdata.checkResult == 'N') { if (this.formdata.materialType === null || this.formdata.materialType === '') { @@ -858,6 +1026,53 @@ export default class PurchaseWHSRM extends BasePage { }); return; } + if (this.formdata.storageFrom === null || this.formdata.storageFrom === '') { + (this.$refs.uToast as any).show({ + title: '请选择仓储报检人', + type: 'default', + }); + return; + } + } + } + //首见,过程oa校验 + if (this.selectList.value == 'checkTypeSC' || this.selectList.value == 'checkTypeSCXJ') { + if (this.formdata.checkResult == 'N') { + if (this.formdata.checkLoc === null || this.formdata.checkLoc === '') { + (this.$refs.uToast as any).show({ + title: '请输入发现地点', + type: 'default', + }); + return; + } + if (this.formdata.oaFactoryF === null || this.formdata.oaFactoryF === '') { + (this.$refs.uToast as any).show({ + title: '请选择异常范围', + type: 'default', + }); + return; + } + if (this.formdata.sfgyswt === null || this.formdata.sfgyswt === '') { + (this.$refs.uToast as any).show({ + title: '请选择是否供应商问题', + type: 'default', + }); + return; + } + if (this.formdata.sfxvzq === null || this.formdata.sfxvzq === '') { + (this.$refs.uToast as any).show({ + title: '请选择是否需要主管审核', + type: 'default', + }); + return; + } + if (this.formdata.sqbm === null || this.formdata.sqbm === '') { + (this.$refs.uToast as any).show({ + title: '请选择申请部门', + type: 'default', + }); + return; + } } } @@ -903,46 +1118,175 @@ export default class PurchaseWHSRM extends BasePage { item.files = []; } }); - let query = { - sampleQuality: this.formdata.sampleQuality, - updateBy: session.userName, - factoryCode: session.PoolName, - updateByName: session.nickName, - typeCode: typeCode, - checkType: this.selectList.value, - orderCode: this.clickitem.orderNo, - workorderCodeSap: this.clickitem.workorderCodeSap, - qcCheckTaskDetails: this.detaillistceshi, - defects: this.detaillistdefects, - // 检验编码 - checkNo: this.clickitem.checkNo, - // 批次编码 - incomeBatchNo: incomeBatchNo, - //物料编号 - materialCode: this.clickitem.materialCode, - // 物料名称 - materialName: this.clickitem.materialName, - // 供应商编码 - supplierCode: this.clickitem.supplierCode, - // 供应商名称 - supplierName: this.clickitem.supplierName, - // 来料数量 - quality: this.clickitem.quality, - // 单位 - unit: this.clickitem.unit, - //是否发起oa - startOA: this.formdata.startOA, - // 最终判定结果 - checkResult: this.formdata.checkResult, - // 不合格措述 - remark: this.formdata.remark, - // 来料类别 - materialType: this.formdata.materialType, - // 物料来源 - materialFrom: this.formdata.materialFrom, - // 物料来源 - reason: this.formdata.reason, - }; + let query = {}; + if (this.selectList.value == 'checkTypeSC' || this.selectList.value == 'checkTypeSCXJ') { + //过程首见 + query = { + sampleQuality: this.formdata.sampleQuality, + updateBy: session.userName, + factoryCode: session.PoolName, + updateByName: session.nickName, + typeCode: typeCode, + checkType: this.selectList.value, + orderCode: this.clickitem.orderNo, + workorderCodeSap: this.clickitem.workorderCodeSap, + qcCheckTaskDetails: this.detaillistceshi, + defects: this.detaillistdefects, + // 检验编码 + checkNo: this.clickitem.checkNo, + // 批次编码 + incomeBatchNo: incomeBatchNo || null, + //物料编号 + materialCode: this.clickitem.materialCode, + // 物料名称 + materialName: this.clickitem.materialName, + // 供应商编码 + //supplierCode: this.clickitem.supplierCode, + // 供应商名称 + //supplierName: this.clickitem.supplierName, + // 首见数量 + quality: this.formdata.quality, + // 单位 + unit: this.clickitem.unit, + //是否发起oa + startOA: this.formdata.startOA, + // 最终判定结果 + checkResult: this.formdata.checkResult, + // 不合格措述 + remark: this.formdata.remark, + // 来料类别 + //materialType: this.formdata.materialType, + // 物料来源 + //materialFrom: this.formdata.materialFrom, + // 物料来源 + reason: this.formdata.reason, + //发现地点 + checkLoc: this.formdata.checkLoc, //输入 + //异常范围选 + oaFactoryF: this.formdata.oaFactoryF, + //是否供应商问题1非供应商问题 0是供应商问题(首检巡检)选 + sfgyswt: this.formdata.sfgyswt, + //申请部门] 来自字典表oa sobm(首检巡检)选 + sqbm: this.formdata.sqbm, + //是否需要审批主管 + sfxyzg: this.formdata.sfxvzq, + // 仓储报检人 + // czbir: this.formdata.storageFrom, + // //转出方 + // zcf: this.formdata.transferFrom, + // //转出oem + // zcoemcm:this.formdata.oem, + //qc主管 + pgzg: this.formdata.pgzg, + //质量主管 + pgzr: this.formdata.pgzr, + sqr: this.sqrlist.userId, + }; + } else if (this.selectList.value == 'checkTypeLL') { + //来料 + query = { + sampleQuality: this.formdata.sampleQuality, + updateBy: session.userName, + factoryCode: session.PoolName, + updateByName: session.nickName, + typeCode: typeCode, + checkType: this.selectList.value, + orderCode: this.clickitem.orderNo, + workorderCodeSap: this.clickitem.workorderCodeSap, + qcCheckTaskDetails: this.detaillistceshi, + defects: this.detaillistdefects, + // 检验编码 + checkNo: this.clickitem.checkNo, + // 批次编码 + incomeBatchNo: incomeBatchNo || null, + //物料编号 + materialCode: this.clickitem.materialCode, + // 物料名称 + materialName: this.clickitem.materialName, + // 供应商编码 + supplierCode: this.clickitem.supplierCode, + // 供应商名称 + supplierName: this.clickitem.supplierName, + // 来料数量 + quality: this.clickitem.quality, + // 单位 + unit: this.clickitem.unit, + //是否发起oa + startOA: this.formdata.startOA, + // 最终判定结果 + checkResult: this.formdata.checkResult, + // 不合格措述 + remark: this.formdata.remark, + // 来料类别 + materialType: this.formdata.materialType, + // 物料来源 + materialFrom: this.formdata.materialFrom, + // 物料来源 + //reason: this.formdata.reason, + // 仓储报检人 + czbjr: this.formdata.storageFrom, + //转出方 + zcf: this.formdata.transferFrom, + //转出oem + zcoemcm: this.formdata.oem, + //qc主管 + qczg: this.formdata.qcFrom, + //申请人id + sqr: this.sqrlist.userId, + //厂区 + oaFactory: this.formdata.workFrom, + }; + } else { + query = { + sampleQuality: this.formdata.sampleQuality, + updateBy: session.userName, + factoryCode: session.PoolName, + updateByName: session.nickName, + typeCode: typeCode, + checkType: this.selectList.value, + orderCode: this.clickitem.orderNo, + workorderCodeSap: this.clickitem.workorderCodeSap, + qcCheckTaskDetails: this.detaillistceshi, + defects: this.detaillistdefects, + // 检验编码 + checkNo: this.clickitem.checkNo, + // 批次编码 + incomeBatchNo: incomeBatchNo || null, + //物料编号 + materialCode: this.clickitem.materialCode, + // 物料名称 + materialName: this.clickitem.materialName, + // 供应商编码 + supplierCode: this.clickitem.supplierCode, + // 供应商名称 + supplierName: this.clickitem.supplierName, + // 来料数量 + quality: this.clickitem.quality, + // 单位 + unit: this.clickitem.unit, + //是否发起oa + startOA: this.formdata.startOA, + // 最终判定结果 + checkResult: this.formdata.checkResult, + // 不合格措述 + remark: this.formdata.remark, + // 来料类别 + materialType: this.formdata.materialType, + // 物料来源 + materialFrom: this.formdata.materialFrom, + // 物料来源 + reason: this.formdata.reason, + // 仓储报检人 + // czbir: this.formdata.storageFrom, + // //转出方 + // zcf: this.formdata.transitFrom, + // //转出oem + // zcoemcm:this.formdata.oem, + // //qc主管 + // qczg:this.formdata.qcfrom, + // sqr: this.model.sqrlist[0].userId, + }; + } console.log(query, this.formdata); await this.model.commitCheckTaskList(query); if (this.model.SubmitCode.code == '200') { diff --git a/src/pages/quality/Materialinspection/model.ts b/src/pages/quality/Materialinspection/model.ts index 98a4ddf..eeeea3b 100644 --- a/src/pages/quality/Materialinspection/model.ts +++ b/src/pages/quality/Materialinspection/model.ts @@ -202,6 +202,167 @@ export class Materialinspection extends VuexModule { const getAutoJudgeList: [] = result; return { getAutoJudgeList }; } + //仓储报检人 + locList6: any = []; + //materialFromList: any = ''; + @MutationAction + async getstorgeFromListPDA() { + const result: any = await http.post( + url.lanjuquality.Materialinspection.getstorge, + //loginName: session.loginName, + { + deptId: '10000612', + }, + ); + console.log(result); + const materialFromList: [] = result; + const locList6 = materialFromList.map((item: any) => ({ + label: item.userName, + value: item.userId, + })); + return { locList6 }; + } + //转出方 + locList7: any = []; + //materialFromList: any = ''; + @MutationAction + async gettrensferFromListPDA() { + const result: any = await http.get(url.lanjuquality.Materialinspection.getDictData, { + //loginName: session.loginName, + params: { + dictType: 'oa_cq', + }, + }); + console.log(result); + const materialFromList: [] = result; + const locList7 = materialFromList.map((item: any) => ({ + label: item.ymdTypeName, + value: item.ymdType, + })); + return { locList7 }; + } + //QC主管 + locList8: any = []; + //materialFromList: any = ''; + @MutationAction + async getqcFromListPDA() { + const result: any = await http.post(url.lanjuquality.Materialinspection.getstorge, { + deptId: '10000773', + }); + console.log(result); + const listqc: [] = result; + const locList8 = listqc.map((item: any) => ({ + label: item.userName, + value: item.userId, + })); + return { locList8 }; + } + //sqr + sqrlist: any = {}; + @MutationAction + async getOaUserIdlist() { + console.log(session.loginName); + const result11: any = await http.post(url.lanjuquality.Materialinspection.getOaUserId, { + userCode: session.loginName, + }); + console.log('报错接口', result11); + const sqrlist = result11; + + return { sqrlist }; + } + //厂区 + locList9: any = []; + //materialFromList: any = ''; + @MutationAction + async getworkFromListPDA() { + const result: any = await http.get(url.lanjuquality.Materialinspection.getDictData, { + //loginName: session.loginName, + params: { + dictType: 'oa_cq', + }, + }); + console.log(result); + const listqc: [] = result; + const locList9 = listqc.map((item: any) => ({ + label: item.ymdTypeName, + value: item.ymdType, + })); + return { locList9 }; + } + //所属部门] + deptlist: any = []; + //materialFromList: any = ''; + @MutationAction + async getdeptFromListPDA() { + const result: any = await http.get(url.lanjuquality.Materialinspection.getDictData, { + //loginName: session.loginName, + params: { + dictType: 'oa_sqbm', + }, + }); + console.log(result); + const listqc: [] = result; + const deptlist = listqc.map((item: any) => ({ + label: item.ymdTypeName, + value: item.ymdType, + })); + return { deptlist }; + } + //异常范围 + abnormallist: any = []; + //materialFromList: any = ''; + @MutationAction + async getabnormallistFromListPDA() { + const result: any = await http.get(url.lanjuquality.Materialinspection.getDictData, { + //loginName: session.loginName, + params: { + dictType: 'oa_cq_f', + }, + }); + console.log(result); + const listqc: [] = result; + const abnormallist = listqc.map((item: any) => ({ + label: item.ymdTypeName, + value: item.ymdType, + })); + return { abnormallist }; + } + //是否需要主管 + ischecklist: any = []; + @MutationAction + async getischecklistFromListPDA() { + const result: any = await http.get(url.lanjuquality.Materialinspection.getDictData, { + //loginName: session.loginName, + params: { + dictType: 'need_manager_check', + }, + }); + //console.log(result); + const listischeck: [] = result; + const ischecklist = listischeck.map((item: any) => ({ + label: item.ymdTypeName, + value: item.ymdType, + })); + return { ischecklist }; + } + //是否供应商 + isclistsupplierlist: any = []; + @MutationAction + async getsupplierlistFromListPDA() { + const result: any = await http.get(url.lanjuquality.Materialinspection.getDictData, { + //loginName: session.loginName, + params: { + dictType: 'supplier_issues', + }, + }); + //console.log(result); + const listsupplier: [] = result; + const isclistsupplierlist = listsupplier.map((item: any) => ({ + label: item.ymdTypeName, + value: item.ymdType, + })); + return { isclistsupplierlist }; + } } export default getModule(Materialinspection); diff --git a/src/utils/request.ts b/src/utils/request.ts index b3f8ff0..d7aadc6 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -83,7 +83,7 @@ http.interceptors.response.use( // 这个状态码是和后端约定的 const { code, status } = dataAxios; // 根据 code 进行判断 - if (code === undefined && status === undefined) { + if ((code === undefined && status === undefined) || status === null) { // 如果没有 code 代表这不是项目后端开发的接口 比如可能是 D2Admin 请求最新版本 return dataAxios; } else if (code !== undefined) { diff --git a/src/utils/url.ts b/src/utils/url.ts index fc78d9a..c895a53 100644 --- a/src/utils/url.ts +++ b/src/utils/url.ts @@ -251,6 +251,8 @@ export const url = { getWeightInfo: qianzhuione + '/quality/handCheck/getWeightInfo', // 检验自动判定 getAutoJudge: qianzhuione + '/quality/handCheck/getAutoJudge', + getstorge: qianzhuione + '/quality/handCheck/getUserIdList', + getOaUserId: qianzhuione + '/quality/handCheck/getOaUserId', }, // 历史记录 Records: {