From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 04 三月 2025 08:39:55 +0800 Subject: [PATCH] 修改作业等级名称 --- src/components/equipmentDailog/Dailog.vue | 203 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 138 insertions(+), 65 deletions(-) diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue index f56333f..9ed675f 100644 --- a/src/components/equipmentDailog/Dailog.vue +++ b/src/components/equipmentDailog/Dailog.vue @@ -6,7 +6,7 @@ <el-input v-model="form.qName" placeholder="请填写装置设施名称" /> </el-form-item> <el-form-item label="装置设施位号" size="default" prop="positionNum"> - <el-input v-model="form.positionNum" placeholder="请填写装置设施位号" /> + <el-input disabled v-model="form.positionNum" placeholder="请填写装置设施位号" /> </el-form-item> <el-form-item label="装置设施用途" size="default" prop="qUsage"> <el-input v-model="form.qUsage" placeholder="请填写装置设施用途" /> @@ -14,20 +14,20 @@ <el-form-item label="装置设施型号" size="default" prop="model"> <el-input v-model="form.model" placeholder="请填写装置设施型号" /> </el-form-item> - <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeId"> - <el-input v-model="form.equipmentTypeId" placeholder="请选择"> + <el-form-item label="类型/类别外键" size="default" prop="equipmentTypeName"> + <el-input v-model="form.equipmentTypeName" placeholder="请选择"> <template #append> <el-button :icon="Search" @click="opencategory"></el-button> </template> </el-input> </el-form-item> <!-- <el-form-item label="区域名称" size="default"> - <el-input v-model="form.name" placeholder="请选择"> - <template #append> - <el-button :icon="Search" @click="openRegion"></el-button> - </template> - </el-input> - </el-form-item> --> + <el-input v-model="form.name" placeholder="请选择"> + <template #append> + <el-button :icon="Search" @click="openRegion"></el-button> + </template> + </el-input> + </el-form-item> --> <el-form-item label="单位部门" size="default" prop="departmentId"> <el-tree-select v-model="form.departmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> </el-form-item> @@ -35,7 +35,7 @@ <el-input v-model="form.setPart" placeholder="请填写设置部位" /> </el-form-item> <el-form-item label="生产日期" size="default" prop="produceTime"> - <el-date-picker v-model="form.produceTime" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.produceTime" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="使用期限(天)" size="default" prop="useEndDay"> <el-input v-model="form.useEndDay" placeholder="请填写使用期限" /> @@ -44,11 +44,11 @@ <el-select v-model="form.lifeCycle" placeholder="请选择" style="width: 100%"> <el-option label="已投用" :value="1" /> <el-option label="库存中" :value="2" /> - <el-option label="报废" :value="3" /> + <el-option label="报废" :value="3" /> </el-select> </el-form-item> <el-form-item label="投用日期" size="default" prop="useDate"> - <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.useDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="维修状态" size="default" prop="repairStatus"> <el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%"> @@ -68,31 +68,33 @@ <el-date-picker v-model="form.previousCheckDate" format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="上次检测日期" size="default" prop="previousTestDate"> - <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.previousTestDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="上次保养日期" size="default" prop="previousTakecareDate"> <el-date-picker v-model="form.previousTakecareDate" format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="下次检查日期" size="default" prop="nextCheckDate"> - <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.nextCheckDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="下次检测日期" size="default" prop="nextTestDate"> - <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.nextTestDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="下次保养日期" size="default" prop="nextTakecareDate"> - <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.nextTakecareDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="负责人" size="default" prop="leadingPersonName"> <el-input v-model="form.leadingPersonName" placeholder="请选择"> @@ -169,7 +171,7 @@ <el-input v-model="form.afterStopStep" placeholder="请填写停用后措施" /> </el-form-item> <el-form-item label="实际停用日期" size="default" prop="actualStopDate"> - <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.actualStopDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="停用提交人" size="default" prop="stopSubmitPersonName"> <el-input v-model="form.stopSubmitPersonName" placeholder="请选择"> @@ -179,7 +181,7 @@ </el-input> </el-form-item> <el-form-item label="停用提交日期" size="default" prop="stopSubmitDate"> - <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + <el-date-picker v-model="form.stopSubmitDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> </el-form-item> <el-form-item label="恢复理由" size="default" prop="recoveryReason"> <el-input v-model="form.recoveryReason" placeholder="请填写恢复理由" /> @@ -188,6 +190,7 @@ <el-date-picker v-model="form.recoverySubmitDate" format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" @@ -197,6 +200,7 @@ <el-date-picker v-model="form.actualRecoveryDate" format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" @@ -209,6 +213,7 @@ <el-date-picker v-model="form.destorySubmitDate" format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" @@ -218,10 +223,14 @@ <el-date-picker v-model="form.actualDestoryDate" format="YYYY-MM-DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="选择日期时间" style="width: 100%" /> + </el-form-item> + <el-form-item label="保养周期" size="default" prop="takecareCycle "> + <el-input v-model="form.takecareCycle" placeholder="请填写保养周期" /> </el-form-item> </el-form> <el-tabs v-model="activeName" class="demo-tabs"> @@ -231,7 +240,7 @@ <el-table-column align="center" prop="takecareMemo" label="保养情况" /> <el-table-column align="center" prop="leadingPersonName" label="保养负责人" /> <el-table-column align="center" prop="takecareDate" :formatter="timeDate" label="保养日期" /> - <el-table-column align="center" prop="leadingPersonDepartmentId" label="保养负责人单位" /> + <el-table-column align="center" prop="leadingPersonDepartmentName" label="保养负责人单位" /> <el-table-column align="center" label="操作"> <template #default="scope"> <el-button link type="primary" @click="openMaintenance('查看', scope.row)" size="small">查看</el-button> @@ -244,11 +253,16 @@ <el-tab-pane label="设备检测" name="second"> <el-button type="primary" size="default" :disabled="disabled" @click="openDetect('新增', '')">新增</el-button> <el-table :data="form.testDetailList" style="width: 100%"> - <el-table-column align="center" prop="testPersonId" label="检测人" /> + <el-table-column align="center" prop="testPersonName" label="检测人" /> <el-table-column align="center" prop="testDate" :formatter="timeDate" label="检测日期" /> - <el-table-column align="center" prop="testPersonDepartmentId" label="检测人单位" /> + <el-table-column align="center" prop="testPersonDepartmentName" label="检测人单位" /> <el-table-column align="center" prop="testMemo" label="检测内容" /> - <el-table-column align="center" prop="testResult" label="检测结果" /> + <el-table-column align="center" label="检测结果" > + <template #default="scope"> + <span v-if="scope.row.testResult==1">成功</span> + <span v-if="scope.row.testResult==2">失败</span> + </template> + </el-table-column> <el-table-column align="center" prop="testStatus" label="检测状态" /> <el-table-column align="center" label="操作"> <template #default="scope"> @@ -263,10 +277,15 @@ <el-button type="primary" size="default" :disabled="disabled" @click="openRepair('新增', '')">新增</el-button> <el-table :data="form.repaireDetailList" style="width: 100%"> <el-table-column align="center" prop="exceptionInfo" label="设施异常项" /> - <el-table-column align="center" prop="repairStatus" label="维修状态" /> + <el-table-column align="center" label="维修状态"> + <template #default="scope"> + <span v-if="scope.row.repairStatus==1">维修中</span> + <span v-if="scope.row.repairStatus==2">已修好</span> + </template> + </el-table-column> <el-table-column align="center" prop="repairMemo" label="维修情况" /> - <el-table-column align="center" prop="repairPersonId" label="维修负责人" /> - <el-table-column align="center" prop="repairPersonDepartmentId" label="维修负责人单位" /> + <el-table-column align="center" prop="repairPersonName" label="维修负责人" /> + <el-table-column align="center" prop="repairPersonDepartmentName" label="维修负责人单位" /> <el-table-column align="center" prop="repairStartDate" :formatter="timeDate" label="维修开始日期" /> <el-table-column align="center" prop="repairEndDate" :formatter="timeDate" label="维修结束日期" /> <el-table-column align="center" label="操作"> @@ -308,22 +327,8 @@ </el-table> </el-tab-pane> <el-tab-pane label="保养维修标准" name="six" v-if="Dailogtype"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - multiple - :on-preview="handlePreview" - :on-remove="handleRemove" - :before-remove="beforeRemove" - :limit="3" - :on-exceed="handleExceed" - > - <el-button type="primary">点击上传</el-button> - <template #tip> - <div class="el-upload__tip"></div> - </template> - </el-upload> + <uploaderFile :fileList="fileList" :systemName="'EQUIPMENT'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-tab-pane> </el-tabs> <template #footer> @@ -334,6 +339,7 @@ </template> </el-dialog> <categoryDailog ref="categoryShow"></categoryDailog> + <categoryDailog ref="categoryShow" @typeId="Tid"></categoryDailog> <regionDailog ref="regionShow"></regionDailog> <DailogSearchUser ref="UserShow" @SearchUser="userId"></DailogSearchUser> <maintenanceDailog ref="maintenanceShow" @onMain="main"></maintenanceDailog> @@ -356,8 +362,11 @@ import type { UploadProps, UploadUserFile } from 'element-plus'; import { facilityManagementApi } from '/@/api/facilityManagement'; import { goalManagementApi } from '/@/api/goalManagement'; +import { deepClone } from '/@/utils/other'; +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ - components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, + components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, + detectDailog, repairDailog, standardDailog,uploaderFile }, setup(props, { emit }) { const dialogVisible = ref(false); const ruleFormRef = ref<FormInstance>(); @@ -397,9 +406,6 @@ repairStatus: '', takecareStardardeDetailList: [ - { - filePath: '123', - }, ], nextCheckDate: '', @@ -459,11 +465,12 @@ repaireDetailList: [], - equipmentTypeId: 1, + equipmentTypeId: '', useDate: '', recoverySubmitDate: '', + takecareCycle:"", lockNum: '', @@ -484,10 +491,12 @@ delTestDetails: '', }); const titles = ref(); + const titleT = ref(); const disabled = ref(false); const Dailogtype = ref(false); const openDailog = (title: string, type: boolean, id: number, num: any) => { dialogVisible.value = true; + titleT.value = title; department(); Dailogtype.value = type; if (num == 0) { @@ -508,17 +517,68 @@ .then((res) => { if (res.data.code == 200) { form.value = res.data.data; + + //初始化日期格式 + form.value.actualDestoryDate = timeC(form.value.actualDestoryDate); + form.value.actualRecoveryDate = timeC(form.value.actualRecoveryDate); + form.value.actualStopDate = timeC(form.value.actualStopDate); + form.value.destorySubmitDate = timeC(form.value.destorySubmitDate); + form.value.nextCheckDate = timeC(form.value.nextCheckDate); + form.value.nextTakecareDate = timeC(form.value.nextTakecareDate); + form.value.nextTestDate = timeC(form.value.nextTestDate); + form.value.previousCheckDate = timeC(form.value.previousCheckDate); + form.value.previousTakecareDate = timeC(form.value.previousTakecareDate); + form.value.previousTestDate = timeC(form.value.previousTestDate); + form.value.produceTime = timeC(form.value.produceTime); + form.value.recoverySubmitDate = timeC(form.value.recoverySubmitDate); + form.value.stopSubmitDate = timeC(form.value.stopSubmitDate); + form.value.useDate = timeC(form.value.useDate); + + fileList.value = (res.data.data.takecareStardardeDetailList?res.data.data.takecareStardardeDetailList:[]) + initFileListData() } else { ElMessage.error(res.data.msg); } }); }; + const timeC = (timestamp: any) => { + let a = new Date(timestamp).getTime(); + const date = new Date(a); + const Y = date.getFullYear() + '-'; + const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; + const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; + const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':'; + const m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + const s = date.getSeconds(); // 秒 + const dateString = Y + M + D + h + m +`:${s}`; + // console.log('dateString', dateString); // > dateString 2021-07-06 14:23 + return dateString; + }; + const initFileListData = async () => { + for(var a = 0;a<fileList.value.length;a++){ + fileList.value[a].name = fileList.value[a].filePath + } + } + // 上传成功组装数据 + const successUploader = (list) =>{ + fileList.value = list + const formFileList = [] + for(var a = 0;a<fileList.value.length;a++){ + formFileList.push( + { + filePath:fileList.value[a].fileName + } + ) + } + form.value.takecareStardardeDetailList = formFileList + } const rules = reactive<FormRules>({ qName: [], positionNum: [], qUsage: [], model: [], equipmentTypeId: [], + equipmentTypeName: [{ required: true, message: '类型/类别外键不能为空', trigger: 'change' }], departmentId: [], setPart: [], produceTime: [], @@ -560,6 +620,7 @@ destoryReason: [], destorySubmitDate: [], actualDestoryDate: [], + takecareCycle :[] }); // 提交 const submitForm = async (formEl: FormInstance | undefined) => { @@ -571,6 +632,13 @@ form.value.delRepaireDetails = deleteCId.value.toString(); form.value.delCheckStandardeDetails = deleteDId.value.toString(); dialogVisible.value = false; + delete form.value.equipmentTypeName; + delete form.value.departmentName; + delete form.value.leadingPersonDepartmentName; + delete form.value.leadingDepartmentName; + if (titleT.value == '新建') { + delete form.value.id; + } facilityManagementApi() .getequipmentInfoAddOrUpdate(form.value) .then((res) => { @@ -586,7 +654,6 @@ }); } }); - formEl.resetFields(); form.value.takecareDetailList = []; form.value.testDetailList = []; form.value.repaireDetailList = []; @@ -600,6 +667,7 @@ form.value.testDetailList = []; form.value.repaireDetailList = []; form.value.checkStandardeDetailList = []; + fileList.value = [] dialogVisible.value = false; }; const activeName = ref('first'); @@ -618,7 +686,7 @@ }; const maintenanceShow = ref(); const openMaintenance = (title: string, data: any) => { - index.value = form.value.takecareDetailList.indexOf(data); + index.value = form.value.takecareDetailList.indexOf(data); maintenanceShow.value.openDailog(title, data); }; const detectShow = ref(); @@ -637,16 +705,7 @@ standardShow.value.openDailog(title, data); }; // 上传 - const fileList = ref<UploadUserFile[]>([ - { - name: 'element-plus-logo.svg', - url: 'https://element-plus.org/images/element-plus-logo.svg', - }, - { - name: 'element-plus-logo2.svg', - url: 'https://element-plus.org/images/element-plus-logo.svg', - }, - ]); + const fileList = ref([]); const handleRemove: UploadProps['onRemove'] = (file, uploadFiles) => { console.log(file, uploadFiles); @@ -688,28 +747,32 @@ deleteDId.value.push(tag.id); }; // 回传 - const main = (val: any) => { + const main = (data: any) => { + const val = deepClone(data); if (index.value == -1) { form.value.takecareDetailList.push(val); } else { form.value.takecareDetailList[index.value] = val; } }; - const delect = (val: any) => { + const delect = (data: any) => { + const val = deepClone(data); if (index.value == -1) { form.value.testDetailList.push(val); - } else { + } else { form.value.testDetailList[index.value] = val; } }; - const Repair = (val: any) => { + const Repair = (data: any) => { + const val = deepClone(data); if (index.value == -1) { form.value.repaireDetailList.push(val); } else { form.value.repaireDetailList[index.value] = val; } }; - const Stand = (val: any) => { + const Stand = (data: any) => { + const val = deepClone(data); if (index.value == -1) { form.value.checkStandardeDetailList.push(val); } else { @@ -725,6 +788,11 @@ form.value.stopSubmitPersonId = val.uid; form.value.stopSubmitPersonName = val.realName; } + }; + const Tid = (data: any) => { + form.value.equipmentTypeId = data.id; + form.value.equipmentTypeName = data.typeName; + form.value.positionNum = data.sortNum; }; //全屏 const full = ref(false); @@ -754,6 +822,8 @@ }; const data = ref(); return { + Tid, + deepClone, rules, userId, department, @@ -806,13 +876,16 @@ FullScreen, timeDate, ruleFormRef, + successUploader, + initFileListData, + timeC }; }, }); </script> <style scoped> .el-form-item { - width: 400px; + width: 25vw; } .formType:after { content: ''; @@ -827,4 +900,4 @@ .el-form .el-form-item:last-of-type { margin-bottom: 22px !important; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.2