From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 04 三月 2025 08:39:55 +0800 Subject: [PATCH] 修改作业等级名称 --- src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue | 269 +++++++++++++++++++++++++++++++++++------------------ 1 files changed, 178 insertions(+), 91 deletions(-) diff --git a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue index fcbddcf..237c0db 100644 --- a/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue +++ b/src/views/intellectInspect/inspectTaskManage/inspectTask/components/inspectTaskDialog.vue @@ -1,6 +1,6 @@ <template> <div class="system-add-menu-container"> - <el-dialog v-model="ifShowInspectTaskDialog" :title="title"> + <el-dialog v-model="ifShowInspectTaskDialog" :title="title" :close-on-click-modal="false"> <el-form :model="inspectTaskForm" label-width="120px" ref="inspectTaskFormRef" :rules="inspectTaskFormRules"> <el-row> <el-col :span="12" style="margin-bottom: 20px"> @@ -27,42 +27,48 @@ </el-select> </el-form-item> </el-col> - <el-col :span="12" style="margin-bottom: 20px"> + <el-col :span="12" style="margin-bottom: 20px" v-if="inspectTaskForm.workType === 1"> <el-form-item label="巡检周期" prop="checkCycle"> - <el-input v-model="inspectTaskForm.checkCycle" :disabled="!inspectPointConfirm" placeholder="请输入巡检周期" class="input-add"> + <el-input v-model="inspectTaskForm.checkCycle" @input="onVerifiyNumberInteger($event, 'checkCycle')" :disabled="!inspectPointConfirm" placeholder="请输入巡检周期" class="input-add"> <template #append> - <el-select v-model="inspectTaskForm.checkCycleUnit" :disabled="!inspectPointConfirm" placeholder="选择单位"> - <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option> - </el-select> + <el-form-item prop="checkCycleUnit"> + <el-select v-model="inspectTaskForm.checkCycleUnit" :disabled="!inspectPointConfirm" placeholder="选择单位"> + <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option> + </el-select> + </el-form-item> </template> </el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-bottom: 20px"> <el-form-item label="提前通知时间" prop="noticeTime"> - <el-input v-model="inspectTaskForm.noticeTime" :disabled="!inspectPointConfirm" placeholder="请输入提前通知时间" class="input-add"> + <el-input @input="onVerifiyNumberInteger($event, 'noticeTime')" v-model="inspectTaskForm.noticeTime" :disabled="!inspectPointConfirm" placeholder="请输入提前通知时间" class="input-add"> <template #append> - <el-select v-model="inspectTaskForm.noticeTimeUnit" :disabled="!inspectPointConfirm" placeholder="选择单位"> - <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option> - </el-select> + <el-form-item prop="noticeTimeUnit"> + <el-select v-model="inspectTaskForm.noticeTimeUnit" :disabled="!inspectPointConfirm" placeholder="选择单位"> + <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option> + </el-select> + </el-form-item> </template> </el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-bottom: 20px"> <el-form-item label="有效时间" prop="validTime"> - <el-input v-model="inspectTaskForm.validTime" :disabled="!inspectPointConfirm" placeholder="请输入有效时间" class="input-add"> + <el-input v-model="inspectTaskForm.validTime" @input="onVerifiyNumberInteger($event, 'validTime')" :disabled="!inspectPointConfirm" placeholder="请输入有效时间" class="input-add"> <template #append> - <el-select v-model="inspectTaskForm.validTimeUnit" :disabled="!inspectPointConfirm" placeholder="选择单位"> - <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option> - </el-select> + <el-form-item prop="noticeTimeUnit"> + <el-select v-model="inspectTaskForm.validTimeUnit" :disabled="!inspectPointConfirm" placeholder="选择单位"> + <el-option v-for="item in timeList" :key="item.id" :value="item.id" :label="item.name"></el-option> + </el-select> + </el-form-item> </template> </el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-bottom: 20px"> - <el-form-item label="周期开始时间" prop="firstStartTime"> - <el-date-picker v-model="inspectTaskForm.firstStartTime" :disabled="!inspectPointConfirm" placeholder="请选择周期开始时间" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" /> + <el-form-item label="任务开始时间" prop="firstStartTime"> + <el-date-picker v-model="inspectTaskForm.firstStartTime" :disabled="!inspectPointConfirm" placeholder="请选择任务开始时间" type="datetime" format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" class="input-add" /> </el-form-item> </el-col> @@ -77,22 +83,44 @@ <div class="stepCard"> <el-card class="box-card"> <template #header> - <div class="card-header"> - <div>{{ item.pointId }}</div> + <div class="card-header" v-for="i in inspectPointAllList"> + <div v-if="i.id == item.pointId"> + <span>{{ i.code }}</span> + </div> </div> </template> - <div class="text item"> - 所属设备区域:<span>{{ item.regionId }}</span> + <div class="text item" v-for="i in regionNameList"> + <div v-if="i.id == item.regionId"> + 所属设备区域:<span>{{ i.region }}</span> + </div> </div> - <div class="text item"> - 关联RFID:<span>{{ item.rfidId }}</span> + <!-- <div class="text item">--> + <!-- 所属设备区域:<span>{{ item.regionId }}</span>--> + <!-- </div>--> + <div class="text item" v-for="i in RFIDList"> + <div v-if="i.id == item.rfidId"> + 关联RFID:<span>{{ i.rfid }}</span> + </div> </div> - <div class="text item"> - 巡检指标:<span>{{ item.quotaId }}</span> + <!-- <div class="text item">--> + <!-- 关联RFID:<span>{{ item.rfidId }}</span>--> + <!-- </div>--> + <div class="text item" v-for="i in quotaList"> + <div v-if="i.id == item.quotaId"> + 巡检指标:<span>{{ i.quota }}</span> + </div> </div> - <div class="text item"> - 数据填报类型:<span>{{ item.dataReportType }}</span> + <!-- <div class="text item">--> + <!-- 巡检指标:<span>{{ item.quotaId }}</span>--> + <!-- </div>--> + <div class="text item" v-for="i in dataReportTypeList"> + <div v-if="i.id == item.dataReportType"> + 数据填报类型:<span>{{ i.name }}</span> + </div> </div> + <!-- <div class="text item">--> + <!-- 数据填报类型:<span>{{ item.dataReportType }}</span>--> + <!-- </div>--> <div class="text item"> 数据参考值:<span>{{ item.firstReferenceValue ? item.firstReferenceValue : item.secondReferenceValue ? item.secondReferenceValue : item.thirdReferenceValue }}</span> </div> @@ -108,28 +136,30 @@ </el-form-item> </el-col> </el-row> - <div align="right" v-show="inspectPointConfirm"> - <el-button type="warning" @click="inspectPointDialog = false" size="default" plain>取消</el-button> + </el-form> + <template #footer> + <div v-if="inspectPointConfirm" class="dialog-footer"> + <el-button type="warning" @click="ifShowInspectTaskDialog = false" size="default" plain>取消</el-button> <el-button type="primary" @click="submitInspectTask()" size="default">确认</el-button> </div> - </el-form> + </template> </el-dialog> - <el-dialog v-model="inspectPointDialog" :title="pointTitle"> + <el-dialog v-model="inspectPointDialog" :title="pointTitle" :close-on-click-modal="false"> <el-form :model="inspectPointForm" label-width="150px" ref="inspectPointFormRef" :rules="inspectPointFormRules"> <el-form-item label="选择巡检点" prop="pointId"> <el-select v-model="inspectPointForm.pointId" @change="giveRegionAndRFID" class="input-add"> <el-option v-for="item in inspectPointAllList" :key="item.id" :value="item.id" :label="item.code"></el-option> </el-select> </el-form-item> - <el-form-item label="所属设备区域" prop="regionId"> - <el-input v-model="inspectPointForm.regionId" class="input-add" readonly /> + <el-form-item label="所属设备区域" prop="region"> + <el-input v-model="inspectPointForm.region" class="input-add" readonly /> </el-form-item> - <el-form-item label="关联RFID" prop="rfidId"> - <el-input v-model="inspectPointForm.rfidId" class="input-add" readonly /> + <el-form-item label="关联RFID" prop="rfid"> + <el-input v-model="inspectPointForm.rfid" class="input-add" readonly /> </el-form-item> <el-form-item label="选择巡检指标" prop="quotaId"> <el-select v-model="inspectPointForm.quotaId" @change="giveQuotaUnit" placeholder="请选择巡检指标" class="input-add"> - <el-option v-for="item in quotaList" :key="item.id" :value="item.id" :label="item.type"> </el-option> + <el-option v-for="item in quotaList" :key="item.id" :value="item.id" :label="item.quota"> </el-option> </el-select> </el-form-item> <el-form-item label="选择巡检指标单位" prop="quotaUnit"> @@ -174,10 +204,10 @@ <script lang="ts"> import { reactive, toRefs, ref } from 'vue'; -import { RFIDApi } from '/@/api/intellectInspectSystem/RFID'; import { ElMessage } from 'element-plus/es'; import { inspectTaskApi } from '/@/api/intellectInspectSystem/inspectTask'; -import { facilityAreaApi } from '/@/api/intellectInspectSystem/facilityAreaManage'; +import { verifiyNumberInteger } from '/@/utils/toolsValidate'; + interface dataState { title: string; pointTitle: string; @@ -215,12 +245,16 @@ classGroup: Array<classGroup>; quotaList: Array<quota>; inspectPointAllList: Array<inspectPointAllState>; + regionNameList: Array<inspectPointAllState>; + RFIDList: Array<inspectPointAllState>; } interface inspectPointAllState { id: number; code: string; regionId: number; rfidId: number; + rfid: string; + region: string; } interface classGroup { depId: number; @@ -241,8 +275,10 @@ pointId: number | null; pointUuid: string | null; regionId: number | null; + region: string regionUuid: string | null; rfidId: number | null; + rfid: string quotaId: number | null; quotaUnit: string | null; execSequence: number | null; @@ -257,6 +293,7 @@ name: 'inspectTaskDialog', setup(props: any, context: any) { const inspectTaskFormRef = ref(); + const inspectPointFormRef = ref(); const data = reactive<dataState>({ title: '', pointTitle: '', @@ -270,8 +307,10 @@ pointId: null, pointUuid: null, regionId: null, + region: '', regionUuid: null, rfidId: null, + rfid: '', quotaId: null, quotaUnit: null, execSequence: null, @@ -305,11 +344,21 @@ execClassgroupId: [{ required: true, message: '请选择巡检班组', trigger: 'change' }], execDepId: [{ required: true, message: '请选择巡检部门', trigger: 'blur' }], checkCycle: [{ required: true, message: '请填写巡检周期', trigger: 'blur' }], + checkCycleUnit: [{ required: true, message: '请选择巡检周期单位', trigger: 'change' }], noticeTime: [{ required: true, message: '请填写提前通知时间', trigger: 'blur' }], + noticeTimeUnit: [{ required: true, message: '请选择提前通知时间单位', trigger: 'change' }], validTime: [{ required: true, message: '请填写有效时间', trigger: 'blur' }], + validTimeUnit: [{ required: true, message: '请选择有效时间单位', trigger: 'change' }], firstStartTime: [{ required: true, message: '请选择周期开始时间', trigger: 'change' }] }, - inspectPointFormRules: {}, + inspectPointFormRules: { + pointId: [{ required: true, message: '请选择巡检点', trigger: 'change' }], + regionId: [{ required: true, message: '', trigger: 'change' }], + rfidId: [{ required: true, message: '', trigger: 'change' }], + quotaId: [{ required: true, message: '请选择巡检指标', trigger: 'change' }], + quotaUnit: [{ required: true, message: '请填写巡检指标单位', trigger: 'blur' }], + dataReportType: [{ required: true, message: '请选择巡检指标单位', trigger: 'change' }] + }, workTypeList: [], departmentList: [], timeList: [], @@ -317,6 +366,8 @@ classGroup: [], quotaList: [], inspectPointAllList: [], + regionNameList: [], + RFIDList: [], dataReportTypeList: [ { id: 1, name: '选择' }, { id: 2, name: '填空' }, @@ -324,7 +375,8 @@ ], firstReferenceValueList: [ { id: 0, name: '正常' }, - { id: 1, name: '异常' } + { id: 1, name: '异常' }, + { id: 2, name: '备' } ], secondReferenceSignList: [ { id: 1, name: '>' }, @@ -347,8 +399,10 @@ pointId: null, pointUuid: null, regionId: null, + region: '', regionUuid: null, rfidId: null, + rfid: '', quotaId: null, quotaUnit: null, execSequence: null, @@ -365,7 +419,9 @@ } }; - const showInspectTaskDialog = (type: string, value: { id: number; uuid: string }, workTypeList: [], department: [], timeType: [], classGroupList: [], quotaList: [], inspectPointAllList: []) => { + const showInspectTaskDialog = (type: string, value: { id: number; uuid: string }, workTypeList: [], department: [], timeType: [], classGroupList: [], quotaList: [], inspectPointAllList: [], regionNameList: [], RFIDList: []) => { + data.regionNameList = regionNameList; + data.RFIDList = RFIDList; data.quotaList = JSON.parse(JSON.stringify(quotaList)); data.timeList = JSON.parse(JSON.stringify(timeType)); data.inspectPointAllList = JSON.parse(JSON.stringify(inspectPointAllList)); @@ -404,6 +460,10 @@ giveClassGroup(); data.inspectTaskForm = JSON.parse(JSON.stringify(res.data.data)); } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); } }) .catch((error) => {}); @@ -416,66 +476,79 @@ if (res.data.code === '200') { data.inspectTaskForm = JSON.parse(JSON.stringify(res.data.data)); } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); } }) .catch((error) => {}); } }; - const submitInspectPoint = async () => { - if (data.title === '新增巡检任务' && data.pointTitle === '新增巡检点') { - if (data.inspectTaskForm.points.length === 0) { - data.inspectPointForm.execSequence = 1; - } else { - data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1; - } - data.inspectTaskForm.points.push(data.inspectPointForm); - data.inspectPointDialog = false; - } else if (data.title === '新增巡检任务' && data.pointTitle === '修改巡检点') { - let result = data.inspectTaskForm.points.findIndex((item) => item.id === data.inspectPointForm.id); - data.inspectTaskForm.points[result] = data.inspectPointForm; - data.inspectPointDialog = false; - } else if (data.title === '修改巡检任务' && data.pointTitle === '新增巡检点') { - data.inspectPointForm.unitId = data.inspectTaskForm.id; - if (data.inspectTaskForm.points.length === 0) { - data.inspectPointForm.execSequence = 1; - } else { - data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1; - } - let res = await inspectTaskApi().addChainOfInspectTask(data.inspectPointForm); - if (res.data.code === '200') { - ElMessage({ - type: 'success', - message: '巡检点新增成功', - duration: 2000 - }); - data.inspectPointDialog = false; - data.inspectTaskForm.points.push(data.inspectPointForm); + const submitInspectPoint = () => { + inspectPointFormRef.value.validate(async (valid: Boolean) => { + if (valid) { + if (data.title === '新增巡检任务' && data.pointTitle === '新增巡检点') { + if (data.inspectTaskForm.points.length === 0) { + data.inspectPointForm.execSequence = 1; + } else { + data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1; + } + data.inspectTaskForm.points.push(data.inspectPointForm); + data.inspectPointDialog = false; + } else if (data.title === '新增巡检任务' && data.pointTitle === '修改巡检点') { + let result = data.inspectTaskForm.points.findIndex((item) => item.execSequence === data.inspectPointForm.execSequence); + data.inspectTaskForm.points[result] = data.inspectPointForm; + data.inspectPointDialog = false; + } else if (data.title === '修改巡检任务' && data.pointTitle === '新增巡检点') { + data.inspectPointForm.unitId = data.inspectTaskForm.id; + if (data.inspectTaskForm.points.length === 0) { + data.inspectPointForm.execSequence = 1; + } else { + data.inspectPointForm.execSequence = (data.inspectTaskForm.points[data.inspectTaskForm.points.length - 1].execSequence as number) + 1; + } + let res = await inspectTaskApi().addChainOfInspectTask(data.inspectPointForm); + if (res.data.code === '200') { + ElMessage({ + type: 'success', + message: '巡检点新增成功', + duration: 2000 + }); + data.inspectPointDialog = false; + data.inspectTaskForm.points.push(data.inspectPointForm); + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + } else { + data.inspectPointForm.unitId = data.inspectTaskForm.id; + let res = await inspectTaskApi().modChainOfInspectTask(data.inspectPointForm); + if (res.data.code === '200') { + ElMessage({ + type: 'success', + message: '巡检点修改成功', + duration: 2000 + }); + let result = data.inspectTaskForm.points.findIndex((item) => item.execSequence === data.inspectPointForm.execSequence); + data.inspectTaskForm.points[result] = data.inspectPointForm; + data.inspectPointDialog = false; + } else { + ElMessage({ + type: 'warning', + message: res.data.msg + }); + } + } } else { ElMessage({ type: 'warning', - message: res.data.msg + message: '请完善基本信息' }); } - } else { - data.inspectPointForm.unitId = data.inspectTaskForm.id; - let res = await inspectTaskApi().modChainOfInspectTask(data.inspectPointForm); - if (res.data.code === '200') { - ElMessage({ - type: 'success', - message: '巡检点修改成功', - duration: 2000 - }); - let result = data.inspectTaskForm.points.findIndex((item) => item.id === data.inspectPointForm.id); - data.inspectTaskForm.points[result] = data.inspectPointForm; - data.inspectPointDialog = false; - } else { - ElMessage({ - type: 'warning', - message: res.data.msg - }); - } - } + }); }; const deleteFlow = async (index: number, item: { id: number }) => { if (data.pointTitle === '新增巡检点') { @@ -499,7 +572,9 @@ const giveRegionAndRFID = () => { data.inspectPointForm.regionId = data.inspectPointAllList.find((item) => item.id === data.inspectPointForm.pointId)?.regionId as number; + data.inspectPointForm.region = data.inspectPointAllList.find((item) => item.id === data.inspectPointForm.pointId)?.region as string; data.inspectPointForm.rfidId = data.inspectPointAllList.find((item) => item.id === data.inspectPointForm.pointId)?.rfidId as number; + data.inspectPointForm.rfid = data.inspectPointAllList.find((item) => item.id === data.inspectPointForm.pointId)?.rfid as string; }; const giveClassGroup = () => { @@ -508,7 +583,7 @@ }; const giveQuotaUnit = () => { - data.inspectPointForm.quotaUnit = data.quotaList.find((item) => item.id === data.inspectPointForm.quotaId)?.unit as string; + data.inspectPointForm.quotaUnit = data.quotaList.find((item) => item.id === data.inspectPointForm.quotaId)?.quotaUnit as string; }; const submitInspectTask = () => { @@ -556,12 +631,24 @@ }); }; + const onVerifiyNumberInteger = (val: number, title: string) => { + if (title === 'noticeTime') { + data.inspectTaskForm.noticeTime = Number(verifiyNumberInteger(val.toString())) === 0 ? null : Number(verifiyNumberInteger(val.toString())); + } else if (title === 'checkCycle') { + data.inspectTaskForm.checkCycle = Number(verifiyNumberInteger(val.toString())) === 0 ? null : Number(verifiyNumberInteger(val.toString())); + } else { + data.inspectTaskForm.validTime = Number(verifiyNumberInteger(val.toString())) === 0 ? null : Number(verifiyNumberInteger(val.toString())); + } + }; + return { ...toRefs(data), inspectTaskFormRef, deleteFlow, giveQuotaUnit, giveClassGroup, + inspectPointFormRef, + onVerifiyNumberInteger, submitInspectTask, submitInspectPoint, giveRegionAndRFID, @@ -575,7 +662,7 @@ <style scoped lang="scss"> $homeNavLengh: 8; .home-container { - height: calc(100vh - 114px); + height: calc(100vh - 144px); box-sizing: border-box; overflow: hidden; .homeCard { -- Gitblit v1.9.2