From 01b6b200bedf57900a88bbd982cf25889e13dc49 Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期三, 10 八月 2022 14:17:09 +0800 Subject: [PATCH] 对接 --- src/components/equipmentDailog/Dailog.vue | 245 ++++++++++++++++++++++++++++++++---------------- 1 files changed, 163 insertions(+), 82 deletions(-) diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue index 6f19bc9..9da3908 100644 --- a/src/components/equipmentDailog/Dailog.vue +++ b/src/components/equipmentDailog/Dailog.vue @@ -1,70 +1,70 @@ <template> - <el-dialog v-model="dialogVisible" :fullscreen="full" :before-close="resetForm" draggable :title="titles" width="60%"> + <el-dialog v-model="dialogVisible" :fullscreen="full" @close="resetForm(ruleFormRef)" draggable :title="titles" width="60%"> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> <el-form :model="form" ref="ruleFormRef" :rules="rules" :disabled="disabled" label-width="120px" class="formType"> - <el-form-item label="装置设施名称" size="default"> + <el-form-item label="装置设施名称" size="default" prop="qName"> <el-input v-model="form.qName" placeholder="请填写装置设施名称" /> </el-form-item> - <el-form-item label="装置设施位号" size="default"> - <el-input v-model="form.positionNum" placeholder="请填写装置设施位号" /> + <el-form-item label="装置设施位号" size="default" prop="positionNum"> + <el-input disabled v-model="form.positionNum" placeholder="请填写装置设施位号" /> </el-form-item> - <el-form-item label="装置设施用途" size="default"> + <el-form-item label="装置设施用途" size="default" prop="qUsage"> <el-input v-model="form.qUsage" placeholder="请填写装置设施用途" /> </el-form-item> - <el-form-item label="装置设施型号" size="default"> + <el-form-item label="装置设施型号" size="default" prop="model"> <el-input v-model="form.model" placeholder="请填写装置设施型号" /> </el-form-item> - <el-form-item label="类型/类别外键" size="default"> - <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-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-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> - <el-form-item label="设置部位" size="default"> + <el-form-item label="设置部位" size="default" prop="setPart"> <el-input v-model="form.setPart" placeholder="请填写设置部位" /> </el-form-item> - <el-form-item label="生产日期" size="default"> + <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-form-item> - <el-form-item label="使用期限(天)" size="default"> + <el-form-item label="使用期限(天)" size="default" prop="useEndDay"> <el-input v-model="form.useEndDay" placeholder="请填写使用期限" /> </el-form-item> - <el-form-item label="生命周期" size="default"> + <el-form-item label="生命周期" size="default" prop="lifeCycle"> <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="1" /> + <el-option label="库存中" :value="2" /> + <el-option label="报废" :value="3" /> </el-select> </el-form-item> - <el-form-item label="投用日期" size="default"> + <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-form-item> - <el-form-item label="维修状态" size="default"> + <el-form-item label="维修状态" size="default" prop="repairStatus"> <el-select v-model="form.repairStatus" placeholder="请选择" style="width: 100%"> - <el-option label="维修中" value="1" /> - <el-option label="已修好" value="2" /> + <el-option label="维修中" :value="1" /> + <el-option label="已修好" :value="2" /> </el-select> </el-form-item> - <el-form-item label="停用状态" size="default"> + <el-form-item label="停用状态" size="default" prop="stopStatus"> <el-select v-model="form.stopStatus" placeholder="请选择" style="width: 100%"> - <el-option label="停用" value="1" /> - <el-option label="在用" value="2" /> - <el-option label="维修" value="3" /> - <el-option label="报废" value="4" /> + <el-option label="停用" :value="1" /> + <el-option label="在用" :value="2" /> + <el-option label="维修" :value="3" /> + <el-option label="报废" :value="4" /> </el-select> </el-form-item> - <el-form-item label="上次检查日期" size="default"> + <el-form-item label="上次检查日期" size="default" prop="previousCheckDate"> <el-date-picker v-model="form.previousCheckDate" format="YYYY-MM-DD HH:mm:ss" @@ -73,10 +73,10 @@ style="width: 100%" /> </el-form-item> - <el-form-item label="上次检测日期" size="default"> + <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-form-item> - <el-form-item label="上次保养日期" size="default"> + <el-form-item label="上次保养日期" size="default" prop="previousTakecareDate"> <el-date-picker v-model="form.previousTakecareDate" format="YYYY-MM-DD HH:mm:ss" @@ -85,23 +85,23 @@ style="width: 100%" /> </el-form-item> - <el-form-item label="下次检查日期" size="default"> + <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-form-item> - <el-form-item label="下次检测日期" size="default"> + <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-form-item> - <el-form-item label="下次保养日期" size="default"> + <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-form-item> - <el-form-item label="负责人" size="default"> + <el-form-item label="负责人" size="default" prop="leadingPersonName"> <el-input v-model="form.leadingPersonName" placeholder="请选择"> <template #append> <el-button :icon="Search" @click="openUser(1)"></el-button> </template> </el-input> </el-form-item> - <el-form-item label="负责人部门" size="default"> + <el-form-item label="负责人部门" size="default" prop="leadingPersonDepartmentId"> <el-tree-select v-model="form.leadingPersonDepartmentId" :data="data" @@ -111,80 +111,80 @@ placeholder="请选择" /> </el-form-item> - <el-form-item label="供应商" size="default"> + <el-form-item label="供应商" size="default" prop="supplyName"> <el-input v-model="form.supplyName" placeholder="请填写供应商" /> </el-form-item> - <el-form-item label="使用说明" size="default"> + <el-form-item label="使用说明" size="default" prop="useMemo"> <el-input v-model="form.useMemo" placeholder="请填写使用说明" /> </el-form-item> - <el-form-item label="是否检查" size="default"> + <el-form-item label="是否检查" size="default" prop="isNeedCheck"> <el-select v-model="form.isNeedCheck" placeholder="请选择" style="width: 100%"> - <el-option label="是" value="1" /> - <el-option label="否" value="2" /> + <el-option label="是" :value="1" /> + <el-option label="否" :value="2" /> </el-select> </el-form-item> - <el-form-item label="检查周期" size="default"> + <el-form-item label="检查周期" size="default" prop="checkCycle"> <el-input v-model="form.checkCycle" placeholder="请填写检查周期" /> </el-form-item> - <el-form-item label="检查提前提醒" size="default"> + <el-form-item label="检查提前提醒" size="default" prop="checkWarn"> <el-input v-model="form.checkWarn" placeholder="请填写检查提前提醒" /> </el-form-item> - <el-form-item label="是否检测" size="default"> + <el-form-item label="是否检测" size="default" prop="isNeedTest"> <el-select v-model="form.isNeedTest" placeholder="请选择" style="width: 100%"> - <el-option label="是" value="1" /> - <el-option label="否" value="2" /> + <el-option label="是" :value="1" /> + <el-option label="否" :value="2" /> </el-select> </el-form-item> - <el-form-item label="检测周期" size="default"> + <el-form-item label="检测周期" size="default" prop="testCycle"> <el-input v-model="form.testCycle" placeholder="请填写检测周期" /> </el-form-item> - <el-form-item label="检测提前提醒" size="default"> + <el-form-item label="检测提前提醒" size="default" prop="testWarn"> <el-input v-model="form.testWarn" placeholder="请填写检测提前提醒" /> </el-form-item> - <el-form-item label="是否保养" size="default"> + <el-form-item label="是否保养" size="default" prop="isNeedTakecare"> <el-select v-model="form.isNeedTakecare" placeholder="请选择" style="width: 100%"> - <el-option label="是" value="1" /> - <el-option label="否" value="2" /> + <el-option label="是" :value="1" /> + <el-option label="否" :value="2" /> </el-select> </el-form-item> - <el-form-item label="检查内容" size="default"> + <el-form-item label="检查内容" size="default" prop="checkContent"> <el-input v-model="form.checkContent" placeholder="请填写检查内容" /> </el-form-item> - <el-form-item label="负责部门" size="default"> + <el-form-item label="负责部门" size="default" prop="leadingDepartmentId"> <el-tree-select v-model="form.leadingDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" /> </el-form-item> - <el-form-item label="检查指标" size="default"> + <el-form-item label="检查指标" size="default" prop="checkPoint"> <el-input v-model="form.checkPoint" placeholder="请填写检查指标" /> </el-form-item> - <el-form-item label="预警值" size="default"> + <el-form-item label="预警值" size="default" prop="alertNum"> <el-input v-model="form.alertNum" placeholder="请填写预警值" /> </el-form-item> - <el-form-item label="联锁值" size="default"> + <el-form-item label="联锁值" size="default" prop="lockNum"> <el-input v-model="form.lockNum" placeholder="请填写联锁值" /> </el-form-item> - <el-form-item label="停用理由" size="default"> + <el-form-item label="停用理由" size="default" prop="stopReason"> <el-input v-model="form.stopReason" placeholder="请填写停用理由" /> </el-form-item> - <el-form-item label="停用后措施" size="default"> + <el-form-item label="停用后措施" size="default" prop="afterStopStep"> <el-input v-model="form.afterStopStep" placeholder="请填写停用后措施" /> </el-form-item> - <el-form-item label="实际停用日期" size="default"> + <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-form-item> - <el-form-item label="停用提交人" size="default"> + <el-form-item label="停用提交人" size="default" prop="stopSubmitPersonName"> <el-input v-model="form.stopSubmitPersonName" placeholder="请选择"> <template #append> <el-button :icon="Search" @click="openUser(2)"></el-button> </template> </el-input> </el-form-item> - <el-form-item label="停用提交日期" size="default"> + <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-form-item> - <el-form-item label="恢复理由" size="default"> + <el-form-item label="恢复理由" size="default" prop="recoveryReason"> <el-input v-model="form.recoveryReason" placeholder="请填写恢复理由" /> </el-form-item> - <el-form-item label="恢复填报日期" size="default"> + <el-form-item label="恢复填报日期" size="default" prop="recoverySubmitDate"> <el-date-picker v-model="form.recoverySubmitDate" format="YYYY-MM-DD HH:mm:ss" @@ -193,7 +193,7 @@ style="width: 100%" /> </el-form-item> - <el-form-item label="实际恢复日期" size="default"> + <el-form-item label="实际恢复日期" size="default" prop="actualRecoveryDate"> <el-date-picker v-model="form.actualRecoveryDate" format="YYYY-MM-DD HH:mm:ss" @@ -202,10 +202,10 @@ style="width: 100%" /> </el-form-item> - <el-form-item label="报废理由" size="default"> + <el-form-item label="报废理由" size="default" prop="destoryReason"> <el-input v-model="form.destoryReason" placeholder="请填写报废理由" /> </el-form-item> - <el-form-item label="报废填报日期" size="default"> + <el-form-item label="报废填报日期" size="default" prop="destorySubmitDate"> <el-date-picker v-model="form.destorySubmitDate" format="YYYY-MM-DD HH:mm:ss" @@ -214,7 +214,7 @@ style="width: 100%" /> </el-form-item> - <el-form-item label="实际报废日期" size="default"> + <el-form-item label="实际报废日期" size="default" prop="actualDestoryDate"> <el-date-picker v-model="form.actualDestoryDate" format="YYYY-MM-DD HH:mm:ss" @@ -226,7 +226,7 @@ </el-form> <el-tabs v-model="activeName" class="demo-tabs"> <el-tab-pane label="设备保养" name="first"> - <el-button type="primary" size="default" @click="openMaintenance('新增', '')">新增</el-button> + <el-button type="primary" size="default" :disabled="disabled" @click="openMaintenance('新增', '')">新增</el-button> <el-table :data="form.takecareDetailList" style="width: 100%"> <el-table-column align="center" prop="takecareMemo" label="保养情况" /> <el-table-column align="center" prop="leadingPersonName" label="保养负责人" /> @@ -242,7 +242,7 @@ </el-table> </el-tab-pane> <el-tab-pane label="设备检测" name="second"> - <el-button type="primary" size="default" @click="openDetect('新增', '')">新增</el-button> + <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="testDate" :formatter="timeDate" label="检测日期" /> @@ -260,7 +260,7 @@ </el-table> </el-tab-pane> <el-tab-pane label="设备维修" name="third"> - <el-button type="primary" size="default" @click="openRepair('新增', '')">新增</el-button> + <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="维修状态" /> @@ -279,7 +279,7 @@ </el-table> </el-tab-pane> <el-tab-pane label="检查标准设置" name="fourth"> - <el-button type="primary" size="default" @click="openStandard('新增', '')">新增</el-button> + <el-button type="primary" size="default" :disabled="disabled" @click="openStandard('新增', '')">新增</el-button> <el-table :data="form.checkStandardeDetailList" style="width: 100%"> <el-table-column align="center" prop="indexNum" label="序号" width="75" /> <el-table-column align="center" prop="checkContent" label="检查内容" /> @@ -334,6 +334,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,6 +357,7 @@ import type { UploadProps, UploadUserFile } from 'element-plus'; import { facilityManagementApi } from '/@/api/facilityManagement'; import { goalManagementApi } from '/@/api/goalManagement'; +import { deepClone } from '/@/utils/other'; export default defineComponent({ components: { categoryDailog, regionDailog, DailogSearchUser, maintenanceDailog, detectDailog, repairDailog, standardDailog }, setup(props, { emit }) { @@ -459,7 +461,7 @@ repaireDetailList: [], - equipmentTypeId: 1, + equipmentTypeId: '', useDate: '', @@ -484,10 +486,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) { @@ -513,7 +517,55 @@ } }); }; - const rules = reactive<FormRules>({}); + const rules = reactive<FormRules>({ + qName: [], + positionNum: [], + qUsage: [], + model: [], + equipmentTypeId: [], + equipmentTypeName: [], + departmentId: [], + setPart: [], + produceTime: [], + useEndDay: [], + lifeCycle: [], + useDate: [], + repairStatus: [], + stopStatus: [], + previousCheckDate: [], + previousTestDate: [], + previousTakecareDate: [], + nextCheckDate: [], + nextTestDate: [], + nextTakecareDate: [], + leadingPersonName: [], + leadingPersonDepartmentId: [], + supplyName: [], + useMemo: [], + isNeedCheck: [], + checkCycle: [], + checkWarn: [], + isNeedTest: [], + testCycle: [], + testWarn: [], + isNeedTakecare: [], + checkContent: [], + leadingDepartmentId: [], + checkPoint: [], + alertNum: [], + lockNum: [], + stopReason: [], + afterStopStep: [], + actualStopDate: [], + stopSubmitPersonName: [], + stopSubmitDate: [], + recoveryReason: [], + recoverySubmitDate: [], + actualRecoveryDate: [], + destoryReason: [], + destorySubmitDate: [], + actualDestoryDate: [], + }); // 提交 const submitForm = async (formEl: FormInstance | undefined) => { if (!formEl) return; @@ -524,6 +576,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) => { @@ -539,9 +598,20 @@ }); } }); + formEl.resetFields(); + form.value.takecareDetailList = []; + form.value.testDetailList = []; + form.value.repaireDetailList = []; + form.value.checkStandardeDetailList = []; }; // 取消 - const resetForm = () => { + const resetForm = (formEl: FormInstance | undefined) => { + if (!formEl) return; + formEl.resetFields(); + form.value.takecareDetailList = []; + form.value.testDetailList = []; + form.value.repaireDetailList = []; + form.value.checkStandardeDetailList = []; dialogVisible.value = false; }; const activeName = ref('first'); @@ -630,28 +700,32 @@ deleteDId.value.push(tag.id); }; // 回传 - const main = (val: any) => { + const main = (data: any) => { + let 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) => { + let val = deepClone(data); if (index.value == -1) { form.value.testDetailList.push(val); } else { form.value.testDetailList[index.value] = val; } }; - const Repair = (val: any) => { + const Repair = (data: any) => { + let 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) => { + let val = deepClone(data); if (index.value == -1) { form.value.checkStandardeDetailList.push(val); } else { @@ -667,6 +741,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); @@ -696,6 +775,8 @@ }; const data = ref(); return { + Tid, + deepClone, rules, userId, department, @@ -769,4 +850,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