From 7625dae79265bc1f6b8b93515f9d50106c276fe2 Mon Sep 17 00:00:00 2001 From: zhang_li <2235006734@qqq.com> Date: Mon, 15 Apr 2024 09:54:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E9=AA=8C=E4=BB=BB=E5=8A=A1=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=EF=BC=8C=E6=B1=87=E6=80=BB=E5=BD=95=E5=85=A5=EF=BC=8C?= =?UTF-8?q?=E5=90=88=E6=A0=BC=E6=95=B0=E9=87=8F=E5=92=8C=E4=B8=8D=E5=90=88?= =?UTF-8?q?=E6=A0=BC=E6=95=B0=E9=87=8F=E5=BF=85=E9=A1=BB=E4=B8=BA=E6=95=B4?= =?UTF-8?q?=E6=95=B0=EF=BC=8C=E6=A3=80=E9=AA=8C=E4=BB=BB=E5=8A=A1=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E9=A1=B5=EF=BC=8C=E6=81=A2=E5=A4=8D=E6=89=BF=E6=8E=A5?= =?UTF-8?q?=E5=92=8C=E6=94=BE=E5=BC=83=E6=8C=89=E9=92=AE=EF=BC=8C=E3=80=81?= =?UTF-8?q?=E9=87=87=E6=A0=B7=E8=BF=87=E7=A8=8B=EF=BC=8C=E6=A0=B7=E6=9C=AC?= =?UTF-8?q?=E9=87=8F=E5=8F=AF=E8=BE=93=E5=85=A5=E6=97=B6=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E6=98=AF=E5=B0=8F=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qms/inspection/inspectionJob/addForm.vue | 36 ++++++++++--------- .../qms/inspection/inspectionJob/index.vue | 6 ++-- src/views/qms/samplingProcess/index.vue | 15 ++++++++ .../samplingProcess/samplingProcess.data.ts | 4 +-- 4 files changed, 40 insertions(+), 21 deletions(-) diff --git a/src/views/qms/inspection/inspectionJob/addForm.vue b/src/views/qms/inspection/inspectionJob/addForm.vue index 267d771d5..71fbff79b 100644 --- a/src/views/qms/inspection/inspectionJob/addForm.vue +++ b/src/views/qms/inspection/inspectionJob/addForm.vue @@ -537,8 +537,8 @@ const open = async (type: string, row?: any, masterParmas?: any, titleName?: any formType.value = type if (row) { data.value = JSON.parse(JSON.stringify(row)) - console.log(data.value)// 发起承接 - await InspectionJobMainApi.acceptInspectionJobMain(row.id) + // console.log(data.value)// 发起承接 + // await InspectionJobMainApi.acceptInspectionJobMain(row.id) let list = [] list = await InspectionJobDetailPageApi.getInspectionJobDetailList(row.id) data.value.packageList = await InspectionJobMainApi.getInspectionJobPackageList(row.id) @@ -700,7 +700,7 @@ const buttonBaseClick =async(val) => { } // 关闭 else if (val == 'close') { - await InspectionJobMainApi.abandonInspectionJobMain(data.value.id) + // await InspectionJobMainApi.abandonInspectionJobMain(data.value.id) dialogVisible.value = false } } @@ -751,6 +751,7 @@ const submitForm = async () => { let arrBol = [] let isOutweigh = []//结束时间是否大于开始时间 let numberList = []//判断合格数量和不合格数量之和是否等于主表数量 + let parseFloatList = []//判断合格数量和不合格数量是否是整数 data.value.subList.forEach((item, index) => { if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 1) { arrBol.push( @@ -761,15 +762,6 @@ const submitForm = async () => { ) ) } - // if (item.samplingProcessRespVO.evaluationMode == 1) { - // arrBol.push( - // item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some( - // (cur, key) => { - // return !cur.estimateCode - // } - // ) - // ) - // } if (item.inspectionJobCharacteristicsUpdateReqVO.featureType == 0) { arrBol.push( item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some( @@ -792,12 +784,20 @@ const submitForm = async () => { if (item.inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime >item.inspectionJobCharacteristicsUpdateReqVO.inspectionEndTime) { isOutweigh.push(item.inspectionJobCharacteristicsUpdateReqVO.inspectionStartTime) } - // 合格数量和不合格数量之和不等于总数量 + // 合格数量和不合格数量之和不能是小数 if (item.inspectionJobCharacteristicsUpdateReqVO.resultEntryMethod == 1) { + parseFloatList.push( + item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some( + (cur, key) => { + return String(cur.qualifiedQuantity).indexOf('.')>-1 || String(cur.unqualifiedQuantity).indexOf('.')>-1 + } + ) + ) + // 合格数量和不合格数量之和不等于总数量 numberList.push( item.inspectionJobCharacteristicsUpdateReqVO.recordInspectionQuantifyList.some( (cur, key) => { - return parseFloat(cur.qualifiedQuantity) + parseFloat(cur.unqualifiedQuantity) != data.value.sampleTotalAmount + return parseFloat(cur.qualifiedQuantity) + parseFloat(cur.unqualifiedQuantity) != parseFloat(item.inspectionJobCharacteristicsUpdateReqVO.inspectionQty) } ) ) @@ -805,6 +805,7 @@ const submitForm = async () => { }) let isEmpty1 = arrBol.some(item=>item == true) let isEmptyNumberList = numberList.some(item=>item == true) + let isParseFloat = parseFloatList.some(item=>item == true) if(isEmpty1){ message.error('检验工序和检验特性有字段未填写完全') return; @@ -813,9 +814,12 @@ const submitForm = async () => { message.error('检验特性中有开始时间大于结束时间') return; } - console.log(44,numberList) + if(isParseFloat){ + message.error('合格数量和不合格数量之和不可以是小数') + return; + } if(isEmptyNumberList){ - message.error('合格数量和不合格数量之和不等于总数量') + message.error('合格数量和不合格数量之和不等于检验数') return; } if (formType.value == 'create') { diff --git a/src/views/qms/inspection/inspectionJob/index.vue b/src/views/qms/inspection/inspectionJob/index.vue index 680aa7eb7..0413a48aa 100644 --- a/src/views/qms/inspection/inspectionJob/index.vue +++ b/src/views/qms/inspection/inspectionJob/index.vue @@ -161,10 +161,10 @@ // 列表-操作按钮 const butttondata = (row) => { return [ - // defaultButtons.mainListJobAccBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:accept'}), // 承接 + defaultButtons.mainListJobAccBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:accept'}), // 承接 defaultButtons.mainListJobCloBtn({hide:isShowMainButton(row,['1']),hasPermi:'qms:inspection-job-main:close'}), // 关闭 - // defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:abandon'}), // 放弃 - defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['1','2']),hasPermi:'qms:inspection-job-main:execute'}), // 执行 + defaultButtons.mainListJobAbaBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:abandon'}), // 放弃 + defaultButtons.mainListJobExeBtn({hide:isShowMainButton(row,['2']),hasPermi:'qms:inspection-job-main:execute'}), // 执行 defaultButtons.mainListPackageBtn(null), // 包装 ] } diff --git a/src/views/qms/samplingProcess/index.vue b/src/views/qms/samplingProcess/index.vue index 52cddcc2f..b8918ceb8 100644 --- a/src/views/qms/samplingProcess/index.vue +++ b/src/views/qms/samplingProcess/index.vue @@ -66,6 +66,7 @@ import * as defaultButtons from '@/utils/disposition/defaultButtons' import TableHead from '@/components/TableHead/src/TableHead.vue' import ImportForm from '@/components/ImportForm/src/ImportForm.vue' import Detail from '@/components/Detail/src/Detail.vue' +import {validatePercent } from '@/utils/validator' defineOptions({ name: 'SamplingProcess' }) @@ -235,20 +236,34 @@ const updateFormFields = (sampleType, formRef) => { case '1': sampleSizeLabel = '样品量'; sampleSizeDisabled = true; + if( SamplingProcessRules.sampleSize.length==3){ + SamplingProcessRules.sampleSize.pop() + } break; case '2': sampleSizeLabel = '样品量(%)'; sampleSizeRequired = true; + if( SamplingProcessRules.sampleSize.length==2){ + SamplingProcessRules.sampleSize.push({ + validator:validatePercent, message: '百分比范围 0 ~ 100', trigger: 'blur' + }) + } break; case '3': sampleSizeLabel = '样品量'; sampleSizeRequired = true; + if( SamplingProcessRules.sampleSize.length==3){ + SamplingProcessRules.sampleSize.pop() + } break; case '4': sampleSizeLabel = '样品量'; sampleSizeDisabled = true; sampleProgCodeDisabled = false; sampleProgCodeRequired = true; + if( SamplingProcessRules.sampleSize.length==3){ + SamplingProcessRules.sampleSize.pop() + } break; default: break; diff --git a/src/views/qms/samplingProcess/samplingProcess.data.ts b/src/views/qms/samplingProcess/samplingProcess.data.ts index d9c69e379..05f285cf9 100644 --- a/src/views/qms/samplingProcess/samplingProcess.data.ts +++ b/src/views/qms/samplingProcess/samplingProcess.data.ts @@ -1,14 +1,14 @@ import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' import {getSamplingScheme} from "@/api/qms/samplingProcess"; -import { validateInteger } from '@/utils/validator' +import { validateInteger ,validateTwoNum} from '@/utils/validator' // 表单校验 export const SamplingProcessRules = reactive({ sampleType: [required], evaluationMode: [required], description: [required], - sampleSize:ref([{ required: true, message: '该项为必填项', trigger: 'blur' }]), + sampleSize:ref([{ required: true, message: '该项为必填项', trigger: 'blur' },{validator:validateTwoNum, message: '小数点后最多2位', trigger: 'blur'}]), sampleProgCode:ref([{ required: true, message: '该项为必填项', trigger: 'blur' }]), inspectionQty: [required, {validator:validateInteger, message: '请输入正确的整数', trigger: 'blur'}] })