From 2cc7a0f4af5923103dff8c87fb885bb552246dfd Mon Sep 17 00:00:00 2001
From: zhaojiale <631455805@qq.com>
Date: 星期四, 11 八月 2022 19:05:04 +0800
Subject: [PATCH] 安全目标考核

---
 src/views/goalManagement/safetyAssessment/component/Dailog.vue    |  133 +++++++++++++++++++++++----------
 src/views/goalManagement/targetDecompositionYear/index.vue        |    2 
 src/views/goalManagement/safetyAssessment/component/DailogAdd.vue |   64 +++++++++------
 src/views/goalManagement/targetDecompositionMonth/index.vue       |    2 
 4 files changed, 134 insertions(+), 67 deletions(-)

diff --git a/src/views/goalManagement/safetyAssessment/component/Dailog.vue b/src/views/goalManagement/safetyAssessment/component/Dailog.vue
index 3032820..5f23a05 100644
--- a/src/views/goalManagement/safetyAssessment/component/Dailog.vue
+++ b/src/views/goalManagement/safetyAssessment/component/Dailog.vue
@@ -1,5 +1,5 @@
 <template>
-	<el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable>
+	<el-dialog v-model="dialogVisible" :fullscreen="full" title="目标考核" width="70%" draggable @close="closeDialog">
 		<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
 		<el-form :model="form" label-width="120px">
 			<el-row>
@@ -34,17 +34,26 @@
         <el-button type="primary" size="default" @click="daiAdd('新增')" :disabled="disabled">新增</el-button>
       </el-tab-pane>
 		</el-tabs>
-		<el-table :data="tableData" style="width: 100%">
+		<el-table :data="formUp.examineList" style="width: 100%">
 			<el-table-column align="center" type="index" label="序号" width="70" />
-			<el-table-column align="center" prop="date" label="责任部门" />
-			<el-table-column align="center" prop="name" label="考核指标" />
-			<el-table-column align="center" prop="address" label="制定部门" />
-			<el-table-column align="center" prop="address" label="制定日期" />
-			<el-table-column align="center" prop="address" label="上报值" />
-			<el-table-column align="center" prop="address" label="上报时间" />
-			<el-table-column align="center" prop="address" label="考核结果" />
-			<el-table-column align="center" prop="address" label="考核人" />
-			<el-table-column align="center" prop="address" label="考核时间" />
+			<el-table-column align="center" prop="dutyDepartmentName" label="责任部门" />
+			<el-table-column align="center" prop="examineValue" label="考核指标" />
+			<el-table-column align="center" prop="makerDepartmentName" label="制定部门" />
+			<el-table-column align="center" prop="makeDate" label="制定日期" />
+			<el-table-column align="center" prop="uploadValue" label="上报值" />
+			<el-table-column align="center" prop="uploadDate" label="上报时间" />
+			<el-table-column align="center" prop="examineResult" label="考核结果" >
+				<template #default="scope">
+					<div v-if="scope.row.examineResult==1">
+						合格
+					</div>
+					<div v-if="scope.row.examineResult==2">
+						不合格
+					</div>
+				</template>
+			</el-table-column>
+			<el-table-column align="center" prop="examinePersonName" label="考核人" />
+			<el-table-column align="center" prop="examineDate" label="考核时间" />
 			<el-table-column align="center" label="操作">
 				<template #default="scope">
 					<el-button link type="primary" @click="daiAdd('修改', scope.row)">查看</el-button>
@@ -53,8 +62,8 @@
 		</el-table>
 		<template #footer>
 			<span class="dialog-footer">
-				<el-button @click="dialogVisible = false" size="default">关闭</el-button>
-				<el-button type="primary" @click="dialogVisible = false" size="default">确定</el-button>
+				<el-button @click="closeDialog" size="default">关闭</el-button>
+				<el-button type="primary" @click="submitForm" size="default">确定</el-button>
 			</span>
 		</template>
 	</el-dialog>
@@ -84,15 +93,56 @@
 			disabled.value = title == '查看' ? true : false;
 			if (title == '查看' || title == '修改') {
 				goalManagementApi()
-					.getTargetMngDetail(id)
+					.gettargetExamineDetail(id)
 					.then((res) => {
 						if (res.data.code == 200) {
 							form.value = res.data.data;
+							formUp.examineList = res.data.data.examineList
 						} else {
 							ElMessage.error(res.data.msg);
 						}
 					});
 			}
+		};
+		const closeDialog = () => {
+			form.value = {}
+			formUp.examineList = []
+			dialogVisible.value = false
+		};
+		const submitForm = () => {
+			// formUp.delTargetDivideDetails = arr.value.toString();
+			// formUp.targetId = form.value.id;
+			dialogVisible.value = false;
+			for(let i=0;i<formUp.examineList.length;i++){
+				delete formUp.examineList[i].dutyDepartmentName
+				delete formUp.examineList[i].makerDepartmentName
+			}
+			formUp.id = form.value.id
+			formUp.delIds = ''
+			goalManagementApi()
+					.gettargetExamineAddOrUpdate(formUp)
+					.then((res) => {
+						if (res.data.code == 200) {
+							ElMessage({
+								message: res.data.msg,
+								type: 'success',
+							});
+							emit('addList');
+						} else {
+							ElMessage.error(res.data.msg);
+						}
+					});
+			form.value = {
+				qName: '',
+				indexNum: '',
+				year: '',
+				value: '',
+				examineList: [],
+			};
+			tableData.value = [];
+			formUp.targetId = '';
+			formUp.delTargetDivideDetails = '';
+			formUp.examineList = [];
 		};
 		const onNumber = (e: object) => {
 			form.value = e;
@@ -107,29 +157,30 @@
 			Shows.value.openDailog(targetType.value);
 		};
 
-    // 新增弹窗
-    const index=ref<any>()
-    const Show = ref();
-    const daiAdd = (title: string, data: any) => {
-      // index.value = formUp.targetDivideDetailList.indexOf(data);
-      Show.value.openDailog(title, data);
-    };
-    const formUp = reactive({
-      targetId: '', //关联的目标指标/外键
-      delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开
-      // targetDivideDetailList: [], //目标指标分解列表
-    });
+		// 新增弹窗
+		const index=ref<any>()
+		const Show = ref();
+		const daiAdd = (title: string, data: any) => {
+		  index.value = formUp.examineList.indexOf(data);
+		  Show.value.openDailog(title, data);
+		};
+		const formUp = reactive({
+		  targetId: '', //关联的目标指标/外键
+		  delTargetDivideDetails: '', //要删除的目标指标分解ID,多个用逗号隔开
+		  examineList: [], //目标指标分解列表
+		});
 
-    const add = (val: any) => {
-      const item = deepClone(val)
-      if(index.value==-1){
-        formUp.targetDivideDetailList.push(item);
-      }else{
-        formUp.targetDivideDetailList[index.value] = item;
-      }
+		const add = (val: any) => {
+		  const item = deepClone(val)
+		  if(index.value==-1){
 
-      // let obj=JSON.parse(JSON.stringify(form.value))
-    };
+			formUp.examineList.push(item);
+		  }else{
+			formUp.examineList[index.value] = item;
+		  }
+			console.log(formUp)
+		  // let obj=JSON.parse(JSON.stringify(form.value))
+		};
 
 		//全屏
 		const full = ref(false);
@@ -156,11 +207,13 @@
 			full,
 			toggleFullscreen,
 			FullScreen,
-      daiAdd,
-      index,
-      Show,
-      formUp,
-      add,
+		    daiAdd,
+		    index,
+		    Show,
+		    formUp,
+		    add,
+			closeDialog,
+			submitForm
 		};
 	},
 });
diff --git a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue
index 0eddb52..826a4e8 100644
--- a/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue
+++ b/src/views/goalManagement/safetyAssessment/component/DailogAdd.vue
@@ -5,19 +5,20 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="责任部门" prop="dutyDepartmentId" size="default">
-						<el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" :data="data" class="w100" :props="propse" placeholder="请选择" />
+						<el-tree-select v-model="form.dutyDepartmentId" check-strictly="true" @current-change="dutyName" :data="data" class="w100" :props="propse" placeholder="请选择" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
-					<el-form-item label="考核指标" prop="value" size="default">
-						<el-input v-model.number="form.value" />
+					<el-form-item label="考核指标" prop="examineValue" size="default">
+						<el-input v-model.number="form.examineValue" />
 					</el-form-item>
 				</el-col>
 			</el-row>
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="制定人部门" prop="makerDepartmentId" size="default">
-						<el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true" class="w100" :props="propse" placeholder="请选择" />
+						<el-tree-select v-model="form.makerDepartmentId" :data="data" check-strictly="true"
+										@current-change="makerDepartmentName" class="w100" :props="propse" placeholder="请选择" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
@@ -28,29 +29,30 @@
 			</el-row>
 			<el-row>
 				<el-col :span="11">
-					<el-form-item label="上报值" prop="commitPersonName" size="default">
-						<el-input v-model="form.commitPersonName">
+					<el-form-item label="上报值" prop="uploadValue" size="default">
+						<el-input v-model="form.uploadValue">
 <!--							<template #append> <el-button :icon="Search" @click="openUser" /> </template>-->
             </el-input>
 					</el-form-item>
 				</el-col>
         <el-col :span="11" :offset="2">
-          <el-form-item label="上报时间" prop="makeDate" size="default">
-            <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
+          <el-form-item label="上报时间" prop="uploadDate" size="default">
+            <el-date-picker v-model="form.uploadDate" 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-col>
 			</el-row>
       <el-row>
         <el-col :span="11">
-          <el-form-item label="考核结果" prop="commitPersonName" size="default">
-            <el-input v-model="form.commitPersonName">
-              <!--							<template #append> <el-button :icon="Search" @click="openUser" /> </template>-->
-            </el-input>
+          <el-form-item label="考核结果" prop="examineResult" size="default">
+			  <el-select v-model="form.examineResult" placeholder="请选择" style="width: 100%">
+				  <el-option label="合格" :value="1" />
+				  <el-option label="不合格" :value="2" />
+			  </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="11" :offset="2">
-          <el-form-item label="考核人" prop="commitPersonName" size="default">
-            <el-input v-model="form.commitPersonName">
+          <el-form-item label="考核人" prop="examinePersonName" size="default">
+            <el-input v-model="form.examinePersonName">
               <template #append> <el-button :icon="Search" @click="openUser" /> </template>
             </el-input>
           </el-form-item>
@@ -58,8 +60,8 @@
       </el-row>
       <el-row>
         <el-col :span="11">
-          <el-form-item label="考核时间" prop="commitPersonName" size="default">
-            <el-date-picker v-model="form.makeDate" format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" placeholder="请选择" style="width: 100%" />
+          <el-form-item label="考核时间" prop="examineDate" size="default">
+            <el-date-picker v-model="form.examineDate" 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-col>
         <el-col :span="11" :offset="2"></el-col>
@@ -87,12 +89,15 @@
 	setup(props, { emit }) {
 		const ruleFormRef = ref<FormInstance>()
 		const form = ref({
-			dutyDepartmentId: '', ////责任部门/外键
-			makerDepartmentId: '', ////制定人部门/外键
-			commitPersonId: '', ////上报人/外键
-			commitPersonName: '',
-			value: '', ////考核指标值
-			makeDate: '', ////制定日期
+			"dutyDepartmentId": '', ////责任部门id/外键
+			"examineDate": '', ////考核时间
+			"examinePersonId": '', ////考核人ID/外键
+			"examineResult": '', ////考核结果 1:合格 2:不合格
+			"examineValue": '', ////考核指标
+			"makeDate": '', ////制定日期
+			"makerDepartmentId": '', ////制定部门/外键
+			"uploadDate": '', ////上报时间
+			"uploadValue": "", ////上报值
 		});
 		//部门
 		const department = () => {
@@ -158,7 +163,7 @@
 					trigger: 'blur',
 				},
 			],
-			value: [
+			examineValue: [
 				{
 					required: true,
 					message: '考核指标值不能为空',
@@ -179,6 +184,13 @@
 			],
 			commitPersonName: [],
 		});
+		const dutyName=(data:any)=>{
+			form.value.dutyDepartmentName=data.depName
+		}
+		const makerDepartmentName=(data:any)=>{
+			form.value.makerDepartmentName=data.depName
+		}
+
 		const submitForm = async (formEl: FormInstance | undefined) => {
 			if (!formEl) return;
 			await formEl.validate((valid, fields) => {
@@ -214,8 +226,8 @@
 		const data = ref();
 		const onUser = (e: any) => {
 			console.log(e)
-			form.value.commitPersonId = e.uid;
-			form.value.commitPersonName = e.realName;
+			form.value.examinePersonId = e.uid;
+			form.value.examinePersonName = e.realName;
 		};
 		return {
 			disabled,
@@ -238,6 +250,8 @@
 			rules,
 			submitForm,
 			resetForm,
+			dutyName,
+			makerDepartmentName
 		};
 	},
 });
diff --git a/src/views/goalManagement/targetDecompositionMonth/index.vue b/src/views/goalManagement/targetDecompositionMonth/index.vue
index 4473a7a..7787490 100644
--- a/src/views/goalManagement/targetDecompositionMonth/index.vue
+++ b/src/views/goalManagement/targetDecompositionMonth/index.vue
@@ -23,7 +23,7 @@
 		<div class="minCenter">
 			<div class="btns">
 				<div>
-					<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
+					<!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>-->
 					<!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> -->
 					<el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button>
 				</div>
diff --git a/src/views/goalManagement/targetDecompositionYear/index.vue b/src/views/goalManagement/targetDecompositionYear/index.vue
index 9042819..bbac767 100644
--- a/src/views/goalManagement/targetDecompositionYear/index.vue
+++ b/src/views/goalManagement/targetDecompositionYear/index.vue
@@ -23,7 +23,7 @@
 		<div class="minCenter">
 			<div class="btns">
 				<div>
-					<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
+					<!--<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>-->
 					<!-- <el-button size="default" type="warning" :disabled="warning" :icon="EditPen" plain>修改</el-button> -->
 					<el-button size="default" type="danger" :disabled="danger" :icon="Delete" plain @click="onDeleteAll">删除</el-button>
 				</div>

--
Gitblit v1.9.2