From f4d6cf633550fbff55b7daa366b4ed7f41ae2905 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期一, 08 八月 2022 16:46:31 +0800
Subject: [PATCH] 对接

---
 src/components/equipmentDailog/standardDailog.vue                 |    2 
 src/views/facilityManagement/InstrumentationInformation/index.vue |   12 +
 src/components/equipmentDailog/maintenanceDailog.vue              |  133 ++++++++++++++----
 src/components/equipmentDailog/repairDailog.vue                   |   37 ++++
 src/components/equipmentDailog/detectDailog.vue                   |   39 ++++
 src/components/equipmentDailog/Dailog.vue                         |  194 ++++++++++++++++++---------
 6 files changed, 302 insertions(+), 115 deletions(-)

diff --git a/src/components/equipmentDailog/Dailog.vue b/src/components/equipmentDailog/Dailog.vue
index 6f19bc9..f56333f 100644
--- a/src/components/equipmentDailog/Dailog.vue
+++ b/src/components/equipmentDailog/Dailog.vue
@@ -1,20 +1,20 @@
 <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-form-item label="装置设施位号" size="default" prop="positionNum">
 				<el-input 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-form-item label="类型/类别外键" size="default" prop="equipmentTypeId">
 				<el-input v-model="form.equipmentTypeId" placeholder="请选择">
 					<template #append>
 						<el-button :icon="Search" @click="opencategory"></el-button>
@@ -28,43 +28,43 @@
 					</template>
 				</el-input>
 			</el-form-item> -->
-			<el-form-item label="单位部门" size="default">
+			<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="检查内容" />
@@ -513,7 +513,54 @@
 						}
 					});
 		};
-		const rules = reactive<FormRules>({});
+		const rules = reactive<FormRules>({
+			qName: [],
+			positionNum: [],
+			qUsage: [],
+			model: [],
+			equipmentTypeId: [],
+			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;
@@ -539,9 +586,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');
diff --git a/src/components/equipmentDailog/detectDailog.vue b/src/components/equipmentDailog/detectDailog.vue
index 96a8f76..71279e3 100644
--- a/src/components/equipmentDailog/detectDailog.vue
+++ b/src/components/equipmentDailog/detectDailog.vue
@@ -1,11 +1,11 @@
 <template>
-	<el-dialog v-model="dialogVisible" :fullscreen="full" :title="titles" width="50%" draggable>
+	<el-dialog v-model="dialogVisible" @close="resetForm" :fullscreen="full" :title="titles" width="50%" draggable>
 		<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
 		<el-form :model="form" :disabled="disabled" label-width="120px">
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="检测人" size="default">
-							<el-input v-model="form.testPersonId">
+							<el-input v-model="form.testPersonName">
 							<template #append> <el-button :icon="Search" @click="openUser" /> </template
 						></el-input>
 					</el-form-item>
@@ -19,10 +19,7 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="检测人单位" size="default">
-						<el-select v-model="form.testPersonDepartmentId" placeholder="请选择" style="width: 100%">
-							<el-option label="xxx单位1" value="1" />
-							<el-option label="xxx单位2" value="2" />
-						</el-select>
+						<el-tree-select v-model="form.testPersonDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
@@ -59,13 +56,16 @@
 </template>
 <script lang="ts">
 import { defineComponent, ref, reactive } from 'vue';
+import { ElMessage, ElMessageBox} from 'element-plus';
 import { Search, FullScreen } from '@element-plus/icons-vue';
 import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
+import { goalManagementApi } from '/@/api/goalManagement';
 export default defineComponent({
 	components: { DailogSearchUser },
 	setup(props, { emit }) {
 		const form = ref({
 			testPersonId: '',
+			testPersonName:'',
 			testDate: '',
 			testPersonDepartmentId: '',
 			testMemo: '',
@@ -77,6 +77,7 @@
 		const disabled = ref(false);
 		const dialogVisible = ref(false);
 		const openDailog = (title: string, data: any) => {
+			department()
 			dialogVisible.value = true;
 			titles.value = `${title}设备检测`;
 			if (title == '查看') {
@@ -94,6 +95,7 @@
 		};
 		const User = (val: any) => {
 			form.value.testPersonId = val.uid;
+			form.value.testPersonName=val.realName;
 		};
 		// 提交
 		const submitForm = () => {
@@ -101,24 +103,28 @@
 			emit('onDelect', form.value);
 			form.value = {
 				testPersonId: '',
+				testPersonName:'',
 				testDate: '',
 				testPersonDepartmentId: '',
 				testMemo: '',
 				testResult: '',
 				testStatus: '',
 			};
+			disabled.value = false;
 		};
 		//   取消
 		const resetForm = () => {
 			dialogVisible.value = false;
 			form.value = {
 				testPersonId: '',
+				testPersonName:'',
 				testDate: '',
 				testPersonDepartmentId: '',
 				testMemo: '',
 				testResult: '',
 				testStatus: '',
 			};
+			disabled.value = false;
 		};
 		//全屏
 		const full = ref(false);
@@ -129,7 +135,28 @@
 				full.value = false;
 			}
 		};
+				//部门树
+		const department = () => {
+			goalManagementApi()
+				.getTreedepartment()
+				.then((res) => {
+					if (res.data.code == 200) {
+						data.value = res.data.data;
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
+		};
+		const propse = {
+			label: 'depName',
+			children: 'children',
+			value: 'depId',
+		};
+		const data = ref();
 		return {
+			department,
+			propse,
+			data,
 			form,
 			titles,
 			User,
diff --git a/src/components/equipmentDailog/maintenanceDailog.vue b/src/components/equipmentDailog/maintenanceDailog.vue
index 2b92a9a..e742cd7 100644
--- a/src/components/equipmentDailog/maintenanceDailog.vue
+++ b/src/components/equipmentDailog/maintenanceDailog.vue
@@ -1,16 +1,16 @@
 <template>
-	<el-dialog :fullscreen="full" v-model="dialogVisible" :title="titles" width="50%" draggable>
+	<el-dialog :fullscreen="full" v-model="dialogVisible" @close="resetForms(ruleFormRefs)" :title="titles" width="50%" draggable>
 		<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
-		<el-form :model="form" :disabled="disabled" label-width="120px">
+		<el-form :model="form" ref="ruleFormRefs" :rules="rules" :disabled="disabled" label-width="120px">
 			<el-row>
 				<el-col :span="11">
-					<el-form-item label="保养情况" size="default">
+					<el-form-item label="保养情况" size="default" prop="takecareMemo">
 						<el-input v-model="form.takecareMemo" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
-					<el-form-item label="保养负责人" size="default">
-						<el-input v-model="form.leadingPersonId">
+					<el-form-item label="保养负责人" size="default" prop="leadingPersonName">
+						<el-input v-model="form.leadingPersonName">
 							<template #append> <el-button :icon="Search" @click="openUser" /> </template
 						></el-input>
 					</el-form-item>
@@ -18,16 +18,13 @@
 			</el-row>
 			<el-row>
 				<el-col :span="11">
-					<el-form-item label="保养日期" size="default">
+					<el-form-item label="保养日期" size="default" prop="takecareDate">
 						<el-date-picker v-model="form.takecareDate" format="YYYY-MM-DD HH:mm:ss" type="datetime" style="width: 100%" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
-					<el-form-item label="保养负责人单位" size="default">
-						<el-select v-model="form.leadingPersonDepartmentId" style="width: 100%">
-							<el-option label="xxx单位1" value="1" />
-							<el-option label="xxx单位2" value="2" />
-						</el-select>
+					<el-form-item label="保养负责人单位" size="default" prop="leadingPersonDepartmentId">
+						<el-tree-select v-model="form.leadingPersonDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
 					</el-form-item>
 				</el-col>
 			</el-row>
@@ -35,8 +32,8 @@
 		<template #footer>
 			<span class="dialog-footer">
 				<!-- <el-button type="primary" @click="dialogVisible = false" size="default">继续添加</el-button> -->
-				<el-button @click="resetForm" size="default">关闭</el-button>
-				<el-button type="primary" @click="submitForm" size="default">确定</el-button>
+				<el-button @click="resetForms(ruleFormRefs)" size="default">关闭</el-button>
+				<el-button type="primary" @click="submitForms(ruleFormRefs)" size="default">确定</el-button>
 			</span>
 		</template>
 	</el-dialog>
@@ -44,32 +41,68 @@
 </template>
 <script lang="ts">
 import { defineComponent, ref, reactive } from 'vue';
+import { ElMessage, ElMessageBox} from 'element-plus';
 import { Search, FullScreen } from '@element-plus/icons-vue';
+import type { FormInstance, FormRules } from 'element-plus';
 import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
+import { goalManagementApi } from '/@/api/goalManagement';
 export default defineComponent({
 	components: { DailogSearchUser },
 	setup(props, { emit }) {
+		const ruleFormRefs = ref<FormInstance>();
 		const form = ref({
 			takecareMemo: '',
 			leadingPersonId: '',
+			leadingPersonName: '',
 			takecareDate: '',
 			leadingPersonDepartmentId: '',
 		});
 		// 开启弹窗
-    const titles=ref()
-		const disabled=ref(false)
+		const titles = ref();
+		const disabled = ref(false);
 		const dialogVisible = ref(false);
-		const openDailog = (title:string,data:any) => {
+		const openDailog = (title: string, data: any) => {
+			department()
 			dialogVisible.value = true;
-			titles.value=`${title}仪器仪表`
-			if(title=='查看'){
-				disabled.value=true
-				form.value=data
-			}else if(title == '修改'){
-				disabled.value=false
-				form.value=data
+			titles.value = `${title}仪器仪表`;
+			if (title == '查看') {
+				disabled.value = true;
+				form.value = data;
+			} else if (title == '修改') {
+				disabled.value = false;
+				form.value = data;
 			}
 		};
+		const rules = reactive<FormRules>({
+			takecareMemo: [
+				// {
+				// 	required: true,
+				// 	message: '保养情况不能为空',
+				// 	trigger: 'change',
+				// },
+			],
+			leadingPersonName: [
+				// {
+				// 	required: true,
+				// 	message: '保养负责人不能为空',
+				// 	trigger: 'change',
+				// },
+			],
+			takecareDate: [
+				// {
+				// 	required: true,
+				// 	message: '保养日期不能为空',
+				// 	trigger: 'change',
+				// },
+			],
+			leadingPersonDepartmentId: [
+				// {
+				// 	required: true,
+				// 	message: '保养负责人单位不能为空',
+				// 	trigger: 'change',
+				// },
+			],
+		});
 		// 开启用户弹窗
 		const Show = ref();
 		const openUser = () => {
@@ -77,27 +110,42 @@
 		};
 		const User = (val: any) => {
 			form.value.leadingPersonId = val.uid;
+			form.value.leadingPersonName = val.realName;
 		};
 		// 提交
-		const submitForm = () => {
-			dialogVisible.value = false;
-			emit('onMain', form.value);
+		const submitForms = async (formEl: FormInstance | undefined) => {
+			if (!formEl) return;
+			await formEl.validate((valid, fields) => {
+				if (valid) {
+					dialogVisible.value = false;
+					emit('onMain', form.value);
+				} else {
+					console.log('error submit!', fields);
+				}
+			});
 			form.value = {
 				takecareMemo: '',
 				leadingPersonId: '',
+				leadingPersonName: '',
 				takecareDate: '',
 				leadingPersonDepartmentId: '',
 			};
+			disabled.value = false;
+			// formEl.resetFields();
 		};
 		//   取消
-		const resetForm = () => {
-			dialogVisible.value = false;
-				form.value = {
+		const resetForms = (formEl: FormInstance | undefined) => {
+			if (!formEl) return;
+					form.value = {
 				takecareMemo: '',
 				leadingPersonId: '',
+				leadingPersonName: '',
 				takecareDate: '',
 				leadingPersonDepartmentId: '',
 			};
+			// formEl.resetFields();
+			dialogVisible.value = false;
+			disabled.value = false;
 		};
 		//全屏
 		const full = ref(false);
@@ -108,15 +156,38 @@
 				full.value = false;
 			}
 		};
+			//部门树
+		const department = () => {
+			goalManagementApi()
+				.getTreedepartment()
+				.then((res) => {
+					if (res.data.code == 200) {
+						data.value = res.data.data;
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
+		};
+		const propse = {
+			label: 'depName',
+			children: 'children',
+			value: 'depId',
+		};
+		const data = ref();
 		return {
+			department,
+			propse,
+			data,
 			disabled,
+			rules,
 			titles,
-			submitForm,
-			resetForm,
+			submitForms,
+			resetForms,
 			form,
 			User,
 			dialogVisible,
 			openDailog,
+			ruleFormRefs,
 			Show,
 			openUser,
 			Search,
diff --git a/src/components/equipmentDailog/repairDailog.vue b/src/components/equipmentDailog/repairDailog.vue
index bb40c91..0c3baff 100644
--- a/src/components/equipmentDailog/repairDailog.vue
+++ b/src/components/equipmentDailog/repairDailog.vue
@@ -25,7 +25,7 @@
 				</el-col>
 				<el-col :span="11" :offset="2">
 					<el-form-item label="维修负责人" size="default">
-						<el-input v-model="form.repairPersonId" placeholder="请选择">
+						<el-input v-model="form.repairPersonName" placeholder="请选择">
 							<template #append> <el-button :icon="Search" @click="openUser" /> </template
 						></el-input>
 					</el-form-item>
@@ -34,10 +34,7 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="维修负责人单位" size="default">
-						<el-select v-model="form.repairPersonDepartmentId" placeholder="请选择" style="width: 100%">
-							<el-option label="xxxxx单位" value="1" />
-							<el-option label="xxx单位" value="2" />
-						</el-select>
+						<el-tree-select v-model="form.repairPersonDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
@@ -66,8 +63,10 @@
 </template>
 <script lang="ts">
 import { defineComponent, ref, reactive } from 'vue';
+import { ElMessage, ElMessageBox} from 'element-plus';
 import { Search, FullScreen } from '@element-plus/icons-vue';
 import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
+import { goalManagementApi } from '/@/api/goalManagement';
 export default defineComponent({
 	components: { DailogSearchUser },
 	setup(props, { emit }) {
@@ -76,6 +75,7 @@
 			repairStatus: '',
 			repairMemo: '',
 			repairPersonId: '',
+			repairPersonName:'',
 			repairPersonDepartmentId: "",
 			repairStartDate: '',
 			repairEndDate: '',
@@ -85,6 +85,7 @@
 		const disabled = ref(false);
 		const dialogVisible = ref(false);
 		const openDailog = (title: string, data: any) => {
+			department()
 			dialogVisible.value = true;
 			titles.value = `${title}设备维修`;
 			if (title == '查看') {
@@ -102,6 +103,7 @@
 		};
 		const User = (val: any) => {
 			form.value.repairPersonId = val.uid;
+			form.value.repairPersonName = val.realName;
 		};
 		// 提交
 		const submitForm = () => {
@@ -112,10 +114,12 @@
 				repairStatus: '',
 				repairMemo: '',
 				repairPersonId: '',
+				repairPersonName:'',
 				repairPersonDepartmentId: "",
 				repairStartDate: '',
 				repairEndDate: '',
 			};
+			disabled.value = false;
 		};
 		//  取消
 		const resetForm = () => {
@@ -125,10 +129,12 @@
 				repairStatus: '',
 				repairMemo: '',
 				repairPersonId: '',
+				repairPersonName:"",
 				repairPersonDepartmentId: "",
 				repairStartDate: '',
 				repairEndDate: '',
 			};
+			disabled.value = false;
 		};
 		//全屏
 		const full = ref(false);
@@ -139,7 +145,28 @@
 				full.value = false;
 			}
 		};
+				//部门树
+		const department = () => {
+			goalManagementApi()
+				.getTreedepartment()
+				.then((res) => {
+					if (res.data.code == 200) {
+						data.value = res.data.data;
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
+		};
+		const propse = {
+			label: 'depName',
+			children: 'children',
+			value: 'depId',
+		};
+		const data = ref();
 		return {
+			department,
+			propse,
+			data,
 			form,
 			titles,
 			disabled,
diff --git a/src/components/equipmentDailog/standardDailog.vue b/src/components/equipmentDailog/standardDailog.vue
index 85febd2..a1f901e 100644
--- a/src/components/equipmentDailog/standardDailog.vue
+++ b/src/components/equipmentDailog/standardDailog.vue
@@ -96,6 +96,7 @@
 				checkPart: "",
 				rate: '',
 			};
+			disabled.value = false;
 		};
 		//   取消
 		const resetForm = () => {
@@ -108,6 +109,7 @@
 				checkPart: "",
 				rate: '',
 			};
+			disabled.value = false;
 		};
 		//全屏
 		const full = ref(false);
diff --git a/src/views/facilityManagement/InstrumentationInformation/index.vue b/src/views/facilityManagement/InstrumentationInformation/index.vue
index e64297f..d4e4308 100644
--- a/src/views/facilityManagement/InstrumentationInformation/index.vue
+++ b/src/views/facilityManagement/InstrumentationInformation/index.vue
@@ -46,14 +46,14 @@
 										<el-table ref="multipleTableRef" :data="scope.row.takecareDetailList" style="width: 100%">
 											<el-table-column property="takecareMemo" align="center" label="保养情况" sortable />
 											<el-table-column property="leadingPersonId" align="center" label="保养负责人" sortable />
-											<el-table-column property="takecareDate" align="center" label="保养日期" sortable />
+											<el-table-column property="takecareDate" align="center" :formatter="timeDate" label="保养日期" sortable />
 											<el-table-column property="leadingPersonDepartmentId" align="center" label="保养负责人单位" sortable />
 										</el-table>
 									</el-tab-pane>
 									<el-tab-pane label="设备检查" name="second"
 										><el-table ref="multipleTableRef" :data="scope.row.checkDetailList" style="width: 100%">
 											<el-table-column property="leadingPersonId" align="center" label="检查人" sortable />
-											<el-table-column property="createTime" align="center" label="检查日期" sortable />
+											<el-table-column property="createTime" align="center" :formatter="timeDate" label="检查日期" sortable />
 											<el-table-column property="name" align="center" label="检查人部门" sortable />
 											<el-table-column property="takecareMemo" align="center" label="检查结果" sortable />
 											<el-table-column property="name" align="center" label="检查状态" sortable /> </el-table
@@ -61,7 +61,7 @@
 									<el-tab-pane label="设备检测" name="third">
 										<el-table ref="multipleTableRef" :data="scope.row.testDetailList" style="width: 100%">
 											<el-table-column property="testPersonId" align="center" label="检测人" sortable />
-											<el-table-column property="testDate" align="center" label="检测日期" sortable />
+											<el-table-column property="testDate" align="center" :formatter="timeDate" label="检测日期" sortable />
 											<el-table-column property="testPersonDepartmentId" align="center" label="检测人单位" sortable />
 											<el-table-column property="testMemo" align="center" label="检测内容" sortable />
 											<el-table-column property="testResult" align="center" label="检测结果" sortable />
@@ -75,8 +75,8 @@
 											<el-table-column property="repairMemo" align="center" label="维修情况" sortable />
 											<el-table-column property="repairPersonId" align="center" label="维修负责人" sortable />
 											<el-table-column property="repairPersonDepartmentId" align="center" label="维修负责人单位" sortable />
-											<el-table-column property="repairStartDate" align="center" label="维修开始日期" sortable />
-											<el-table-column property="repairEndDate" align="center" label="维修结束日期" sortable />
+											<el-table-column property="repairStartDate" align="center" :formatter="timeDate" label="维修开始日期" sortable />
+											<el-table-column property="repairEndDate" align="center" :formatter="timeDate" label="维修结束日期" sortable />
 										</el-table>
 									</el-tab-pane>
 								</el-tabs>
@@ -116,6 +116,7 @@
 </template>
 <script lang="ts">
 import { defineComponent, ref, reactive, watch, onMounted } from 'vue';
+import { timeDate } from '/@/assets/index.ts';
 import updata from '/@/components/updata/updata.vue';
 import Dailog from '/@/components/equipmentDailog/Dailog.vue';
 import { ElTree, TabsPaneContext, ElMessage, ElMessageBox } from 'element-plus';
@@ -317,6 +318,7 @@
 		return {
 			handleNodeClick,
 			ruleForm,
+			timeDate,
 			resetForm,
 			listApi,
 			onAddorUpdata,

--
Gitblit v1.9.2