From bfabab59b6d2fc9d28cd870fff5a366e5d290079 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: 星期五, 29 七月 2022 09:22:24 +0800
Subject: [PATCH] 对接

---
 src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue |  106 ++--
 src/views/goalManagement/performanceAppraisal/index.vue                  |  681 +++++++++++++++++++-----------
 src/api/goalManagement/index.ts                                          |   16 
 src/components/DailogSearchUser/index.vue                                |  172 +++----
 src/views/goalManagement/performanceAppraisal/component/DailogKh.vue     |  187 +++++--
 src/views/goalManagement/performanceAppraisal/component/DailogAq.vue     |  155 ++++--
 6 files changed, 800 insertions(+), 517 deletions(-)

diff --git a/src/api/goalManagement/index.ts b/src/api/goalManagement/index.ts
index f0b8aab..59e9bc1 100644
--- a/src/api/goalManagement/index.ts
+++ b/src/api/goalManagement/index.ts
@@ -250,5 +250,21 @@
                 data: params
             })
         },
+        // 部门树
+        getTreedepartment: () => {
+            return request({
+                    url:"/department/list",
+                    method: "post"
+                })
+
+        },
+        // 人员
+        getManName:(params:any)=>{
+            return request({
+                url:`/account/dep/list?depId=${params}`,
+                method:"get"
+            })
+        }
+
     }
 }
\ No newline at end of file
diff --git a/src/components/DailogSearchUser/index.vue b/src/components/DailogSearchUser/index.vue
index a1e722b..979a04b 100644
--- a/src/components/DailogSearchUser/index.vue
+++ b/src/components/DailogSearchUser/index.vue
@@ -4,9 +4,9 @@
 		<el-row>
 			<el-col :span="6">
 				<div class="userTree">
-					<el-input v-model="names" placeholder="请输入组织机构过滤"></el-input>
+					<el-input v-model="filterText" placeholder="请输入组织机构过滤"></el-input>
 					<div class="tree">
-						<el-tree :data="data" :props="defaultProps" @node-click="handleNodeClick" />
+						<el-tree ref="treeRef" :data="data" :props="propse" @node-click="handleNodeClick" :filter-node-method="filterNode" />
 					</div>
 				</div>
 			</el-col>
@@ -20,8 +20,8 @@
 						</el-col>
 						<el-col :span="8" :offset="1">
 							<el-form-item>
-								<el-button size="default" type="primary" @click="submitForm(ruleFormRef)">查询</el-button>
-								<el-button size="default" @click="resetForm(ruleFormRef)">重置</el-button>
+								<el-button size="default" type="primary" >查询</el-button>
+								<el-button size="default">重置</el-button>
 							</el-form-item>
 						</el-col>
 					</el-row>
@@ -30,24 +30,21 @@
 					<el-table-column align="center">
 						<template #default="scope">
 							<el-radio-group v-model="radio1">
-								<el-radio :label="scope.row.id" size="large">{{ null }}</el-radio>
+								<el-radio :label="scope.row.value" size="large">{{ null }}</el-radio>
 							</el-radio-group>
 						</template>
 					</el-table-column>
-					<el-table-column align="center" prop="date" label="登录名" />
-					<el-table-column align="center" prop="name" label="用户名" />
+					<el-table-column align="center" prop="realName" label="登录名" />
+					<el-table-column align="center" prop="username" 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="type" label="状态" />
 				</el-table>
 				<el-pagination
 					style="padding: 20px 0; border-bottom: 1px solid #dedede"
 					v-model:currentPage="currentPage4"
 					v-model:page-size="pageSize4"
 					:page-sizes="[100, 200, 300, 400]"
-					:small="small"
-					:disabled="disabled"
-					:background="background"
 					layout="total, sizes, prev, pager, next, jumper"
 					:total="400"
 					@size-change="handleSizeChange"
@@ -64,7 +61,7 @@
 					:disable-transitions="false"
 					@close="handleClose(tag)"
 				>
-					{{ tag.name }}
+					{{ tag.realName }}
 				</el-tag>
 			</el-col>
 		</el-row>
@@ -77,77 +74,62 @@
 	</el-dialog>
 </template>
 <script lang="ts">
-import { defineComponent, ref, reactive } from 'vue';
+import { defineComponent, ref, onMounted, reactive, watch } from 'vue';
 import { FullScreen } from '@element-plus/icons-vue';
+import { ElMessageBox, ElTree, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';
+import { goalManagementApi } from '/@/api/goalManagement';
 interface Tree {
 	label: string;
 	children?: Tree[];
 }
 export default defineComponent({
-	setup(props,{emit}) {
-		//左边树形部分
+	setup(props, { emit }) {
+		//部门树
+		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 filterText = ref('');
+		const treeRef = ref<InstanceType<typeof ElTree>>();
+		watch(filterText, (val) => {
+			treeRef.value!.filter(val);
+		});
+		const filterNode = (depName: string, data: Tree) => {
+			if (!depName) return true;
+			return data.depName.includes(depName);
+		};
+		onMounted(() => {
+			department();
+		});
+		//左边树形部分点击获取回调
 		const names = ref<any>();
 		const handleNodeClick = (data: Tree) => {
 			console.log(data);
+			goalManagementApi()
+				.getManName(data.depId)
+				.then((res) => {
+					if (res.data.code == 200) {
+						tableData.value=res.data.data
+					}else{
+						ElMessage.error(res.data.msg);
+					}
+				});
 		};
 
-		const data: Tree[] = [
-			{
-				label: 'Level one 1',
-				children: [
-					{
-						label: 'Level two 1-1',
-						children: [
-							{
-								label: 'Level three 1-1-1',
-							},
-						],
-					},
-				],
-			},
-			{
-				label: 'Level one 2',
-				children: [
-					{
-						label: 'Level two 2-1',
-						children: [
-							{
-								label: 'Level three 2-1-1',
-							},
-						],
-					},
-					{
-						label: 'Level two 2-2',
-						children: [
-							{
-								label: 'Level three 2-2-1',
-							},
-						],
-					},
-				],
-			},
-			{
-				label: 'Level one 3',
-				children: [
-					{
-						label: 'Level two 3-1',
-						children: [
-							{
-								label: 'Level three 3-1-1',
-							},
-						],
-					},
-					{
-						label: 'Level two 3-2',
-						children: [
-							{
-								label: 'Level three 3-2-1',
-							},
-						],
-					},
-				],
-			},
-		];
+		const data = ref();
 		//中间表格
 		// 搜索条件
 		const ruleForm = reactive({
@@ -155,37 +137,16 @@
 			checkPass: '',
 		});
 		// 表格
-		const tableData = [
-			{   id:1,
-				date: '2016-05-03',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{	
-				id:2,
-				date: '2016-05-02',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{	id:3,
-				date: '2016-05-04',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{	id:4,
-				date: '2016-05-01',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-		];
-		const pageSize4 = ref(100);
+		const tableData = ref();
+		const currentPage4 = ref();
+		const pageSize4 = ref();
 		const handleSizeChange = (val: number) => {
 			console.log(`${val} items per page`);
 		};
 		const handleCurrentChange = (val: number) => {
 			console.log(`current page: ${val}`);
 		};
-	// 右方点击添加后显示标签
+		// 右方点击添加后显示标签
 		const dynamicTags = ref(['']);
 		const handleClose = (tag: string) => {
 			dynamicTags.value.splice(dynamicTags.value.indexOf(tag), 1);
@@ -209,12 +170,16 @@
 				full.value = false;
 			}
 		};
-		const submitForm=()=>{
-			let obj=JSON.parse(JSON.stringify(dynamicTags.value))
-			emit("SearchUser",obj[0])
-			dialogVisible.value = false
-		}
+		const submitForm = () => {
+			let obj = JSON.parse(JSON.stringify(dynamicTags.value));
+			emit('SearchUser', obj[0]);
+			dialogVisible.value = false;
+		};
 		return {
+			filterText,
+			treeRef,
+			filterNode,
+			propse,
 			dialogVisible,
 			names,
 			data,
@@ -222,6 +187,7 @@
 			openDailog,
 			ruleForm,
 			tableData,
+			currentPage4,
 			pageSize4,
 			handleSizeChange,
 			handleCurrentChange,
@@ -232,7 +198,7 @@
 			full,
 			toggleFullscreen,
 			radio,
-			submitForm
+			submitForm,
 		};
 	},
 });
diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue
index d92b262..b4edf49 100644
--- a/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue
+++ b/src/views/goalManagement/performanceAppraisal/component/DailogAq.vue
@@ -1,16 +1,16 @@
 <template>
-	<el-dialog v-model="dialogVisible" :fullscreen="full" title="新建安全考核管理" width="50%" draggable>
+	<el-dialog v-model="dialogVisible" :fullscreen="full" :title="titles" width="50%" draggable>
 		<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
 		<el-form :model="form" label-width="120px">
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="考核标题" size="default">
-						<el-input v-model="form.name"></el-input>
+						<el-input v-model="form.title"></el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
 					<el-form-item label="考核日期" size="default">
-						<el-input v-model="form.name" />
+						<el-input v-model="form.examineDate" />
 					</el-form-item>
 				</el-col>
 			</el-row>
@@ -22,14 +22,14 @@
 				</el-col>
 				<el-col :span="11" :offset="2">
 					<el-form-item label="总分" size="default">
-						<el-input v-model="form.name" />
+						<el-input v-model="form.examineTotalNumber" />
 					</el-form-item>
 				</el-col>
 			</el-row>
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="考核部门" size="default">
-						<el-select v-model="form.region" style="width: 100%" placeholder="请选择">
+						<el-select v-model="form.examineDepartmentId" style="width: 100%" placeholder="请选择">
 							<el-option label="Zone one" value="shanghai" />
 							<el-option label="Zone two" value="beijing" />
 						</el-select>
@@ -37,7 +37,7 @@
 				</el-col>
 				<el-col :span="11" :offset="2">
 					<el-form-item label="考核人" size="default">
-						<el-input v-model="form.name">
+						<el-input v-model="form.examinePersonId">
 							<template #append> <el-button :icon="Search" @click="daiInpt" /></template>
 						</el-input>
 					</el-form-item>
@@ -46,7 +46,7 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="被考核部门" size="default">
-						<el-select v-model="form.region" style="width: 100%" placeholder="请选择">
+						<el-select v-model="form.beExaminedDepartmentId" style="width: 100%" placeholder="请选择">
 							<el-option label="Zone one" value="shanghai" />
 							<el-option label="Zone two" value="beijing" />
 						</el-select>
@@ -54,7 +54,7 @@
 				</el-col>
 				<el-col :span="11" :offset="2">
 					<el-form-item label="被考核人" size="default">
-						<el-input v-model="form.name">
+						<el-input v-model="form.beExaminedPersonId">
 							<template #append> <el-button :icon="Search" @click="daiInpt" /></template>
 						</el-input>
 					</el-form-item>
@@ -85,19 +85,19 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="考核模板" size="default">
-						<el-input v-model="form.name">
+						<el-input v-model="form.examineTemplateId">
 							<template #append> <el-button :icon="Search" @click="daiAdd" /></template>
 						</el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
 					<el-form-item label="备注信息">
-						<el-input v-model="form.name" type="textarea"> </el-input>
+						<el-input v-model="form.memo" type="textarea"> </el-input>
 					</el-form-item>
 				</el-col>
 			</el-row>
 		</el-form>
-		<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+		<el-tabs v-model="activeName" class="demo-tabs">
 			<el-tab-pane label="考核项目" name="1">
 				<!-- <el-button type="primary" size="default" @click="daiAdd">新增</el-button> -->
 			</el-tab-pane>
@@ -116,8 +116,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="resetForm" size="default">关闭</el-button>
+				<el-button type="primary" @click="submitForm" size="default">确定</el-button>
 			</span>
 		</template>
 	</el-dialog>
@@ -130,50 +130,94 @@
 import DailogSearch from './DailogSearch.vue';
 import DailogSearchUser from '/@/components/DailogSearchUser/index.vue';
 import { ElMessage, ElMessageBox } from 'element-plus';
-
+import { goalManagementApi } from '/@/api/goalManagement';
 import type { UploadProps, UploadUserFile } from 'element-plus';
 export default defineComponent({
 	components: { DailogSearchUser, DailogSearch },
-	setup() {
+	setup(props, { emit }) {
 		const dialogVisible = ref<boolean>(false);
-		const form = reactive({
-			name: '',
-			region: '',
-			date1: '',
-			date2: '',
-			delivery: false,
-			type: [],
-			resource: '',
-			desc: '',
+		const form = ref({
+			beExaminedDepartmentId: 8, ////被考核部门ID/外键
+			beExaminedPersonId: '6', ////被考核人ID/外键(可能有多个,用逗号隔开)
+			examineDate: 1658387422569, ////考核日期
+			examineDepartmentId: 7, ////考核部门ID/外键
+			examinePersonId: '5', ////考核人ID/外键
+			examineTemplateId: 0, ////绩效考核模板ID/外键
+			examineTotalNumber: '3', ////总分
+			extraFile: '9', //责任书附件
+			itemDetail: '2', ////考核项目
+			memo: '4', ////备注信息
+			numberDetailJson: '[{"id":"123","number":"123"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}]
+			title: '1', ////考核标题
 		});
-		const openDailog = (type: string, value: any, projectList: any, projectId: string) => {
+		const titles = ref();
+		const disabled = ref(false);
+		// 打开弹窗
+		const openDailog = (title: string, value: any, id: number) => {
 			dialogVisible.value = true;
+			titles.value = `${title}安全考核管理`;
+			disabled.value = title == '查看' ? true : false;
+			if (title == '查看' || title == '修改')
+				goalManagementApi()
+					.getexamineMngDetail(id)
+					.then((res) => {
+						if (res.data.code == 200) {
+							form.value = res.data.data;
+						} else {
+							ElMessage.error(res.data.msg);
+						}
+					});
 		};
-		// 导航
-		const activeName = ref('1');
-		// 表格
-		const tableData = [
-			{
-				date: '2016-05-03',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-02',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-04',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-01',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-		];
+		// 提交
+		const submitForm = () => {
+			dialogVisible.value = false;
+			goalManagementApi()
+				.getexamineMngAddOrUpdate(form.value)
+				.then((res) => {
+					if (res.data.code == 200) {
+						ElMessage({
+							message: res.data.msg,
+							type: 'success',
+						});
+						emit('navAddorUpdata');
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
+			form.value = {
+				beExaminedDepartmentId: 8, ////被考核部门ID/外键
+				beExaminedPersonId: '6', ////被考核人ID/外键(可能有多个,用逗号隔开)
+				examineDate: 1658387422569, ////考核日期
+				examineDepartmentId: 7, ////考核部门ID/外键
+				examinePersonId: '5', ////考核人ID/外键
+				examineTemplateId: 0, ////绩效考核模板ID/外键
+				examineTotalNumber: '3', ////总分
+				extraFile: '9', //责任书附件
+				itemDetail: '2', ////考核项目
+				memo: '4', ////备注信息
+				numberDetailJson: '[{"id":"123","number":"123"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}]
+				title: '1', ////考核标题
+			};
+		};
+		//   取消
+		const resetForm = () => {
+			dialogVisible.value = false;
+			form.value = {
+				beExaminedDepartmentId: 8, ////被考核部门ID/外键
+				beExaminedPersonId: '6', ////被考核人ID/外键(可能有多个,用逗号隔开)
+				examineDate: 1658387422569, ////考核日期
+				examineDepartmentId: 7, ////考核部门ID/外键
+				examinePersonId: '5', ////考核人ID/外键
+				examineTemplateId: 0, ////绩效考核模板ID/外键
+				examineTotalNumber: '3', ////总分
+				extraFile: '9', //责任书附件
+				itemDetail: '2', ////考核项目
+				memo: '4', ////备注信息
+				numberDetailJson: '[{"id":"123","number":"123"}]', ////各个考核项目的具体得分,json格式。形式为:[{“id”:"123","number":"123"}]
+				title: '1', ////考核标题)
+			};
+		};
+		const activeName=ref("1")
 		// 新增弹窗
 		const Show = ref();
 		const daiAdd = () => {
@@ -224,11 +268,14 @@
 			}
 		};
 		return {
-			form,
-			dialogVisible,
-			openDailog,
 			activeName,
-			tableData,
+			dialogVisible,
+			form,
+			titles,
+			disabled,
+			openDailog,
+			submitForm,
+			resetForm,
 			Show,
 			daiAdd,
 			Shows,
diff --git a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue
index 4a887ea..215e41f 100644
--- a/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue
+++ b/src/views/goalManagement/performanceAppraisal/component/DailogKh.vue
@@ -5,12 +5,12 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="标准标题" size="default">
-						<el-input v-model="form.name"> </el-input>
+						<el-input v-model="form.title"> </el-input>
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
 					<el-form-item label="适用范围" size="default">
-						<el-select v-model="form.region" style="width: 100%" placeholder="请选择">
+						<el-select v-model="form.applyRange" style="width: 100%" placeholder="请选择">
 							<el-option label="Zone one" value="shanghai" />
 							<el-option label="Zone two" value="beijing" />
 						</el-select>
@@ -21,14 +21,14 @@
 				<el-row>
 					<el-col :span="11">
 						<el-form-item label="设定人" size="default">
-							<el-input v-model="form.name">
+							<el-input v-model="form.setPersonId" disabled>
 								<template #append> <el-button :icon="Search" @click="daiInpt" /></template>
 							</el-input>
 						</el-form-item>
 					</el-col>
 					<el-col :span="11" :offset="2">
 						<el-form-item label="设定人部门" size="default">
-							<el-select v-model="form.region" style="width: 100%" placeholder="请选择">
+							<el-select v-model="form.setPersonDepartmentId" disabled style="width: 100%" placeholder="请选择">
 								<el-option label="Zone one" value="shanghai" />
 								<el-option label="Zone two" value="beijing" />
 							</el-select>
@@ -39,39 +39,39 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="模板分类编码" size="default">
-						<el-input v-model="form.name" />
+						<el-input v-model="form.templateCode" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
 					<el-form-item label="合格分数" size="default">
-						<el-input v-model="form.name" />
+						<el-input v-model="form.acceptanceNumber" />
 					</el-form-item>
 				</el-col>
 			</el-row>
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="备注信息">
-						<el-input v-model="form.name" type="textarea" />
+						<el-input v-model="form.memo" type="textarea" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2" v-if="clickType">
 					<el-form-item label="设定日期" size="default">
-						<el-date-picker v-model="form.date1" type="date" placeholder="Pick a date" style="width: 100%" />
+						<el-date-picker v-model="form.setTimem" type="date" placeholder="Pick a date" style="width: 100%" />
 					</el-form-item>
 				</el-col>
 			</el-row>
 		</el-form>
-		<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+		<el-tabs v-model="activeName" class="demo-tabs">
 			<el-tab-pane label="目标指标分解" name="1">
 				<el-button type="primary" size="default" @click="daiAdd">新增</el-button>
 			</el-tab-pane>
 		</el-tabs>
-		<el-table :data="tableData" style="width: 100%">
-			<el-table-column align="center" prop="date" label="类型" width="180" />
-			<el-table-column align="center" prop="name" label="考核项目" width="180" />
-			<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 :data="form.examineItemList" style="width: 100%">
+			<el-table-column align="center" prop="itemType" label="类型" width="180" />
+			<el-table-column align="center" prop="itemDetail" label="考核项目" width="180" />
+			<el-table-column align="center" prop="content" label="考核内容" />
+			<el-table-column align="center" prop="judgeStandard" label="评定标准" />
+			<el-table-column align="center" prop="memo" label="考核说明" />
 			<el-table-column align="center" label="操作">
 				<template #default>
 					<el-button link type="primary">查看</el-button>
@@ -81,7 +81,7 @@
 		<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 type="primary" @click="submitForm" size="default">确定</el-button>
 			</span>
 		</template>
 	</el-dialog>
@@ -91,50 +91,122 @@
 import { defineComponent, ref, reactive } from 'vue';
 import { Search, FullScreen } from '@element-plus/icons-vue';
 import DailogKhS from './DailogKhS.vue';
+import { ElMessage, ElMessageBox } from 'element-plus';
+import { goalManagementApi } from '/@/api/goalManagement';
 export default defineComponent({
 	components: { DailogKhS },
-	setup() {
-		const dialogVisible = ref<boolean>(false);
-		const form = reactive({
-			name: '',
-			region: '',
-			date1: '',
-			date2: '',
-			delivery: false,
-			type: [],
-			resource: '',
-			desc: '',
+	setup(props, { emit }) {
+		const dialogVisible = ref<boolean>(true);
+		const form = ref({
+			examineItemList: [
+				{
+					itemType: '111', ////类型
+					memo: '5556', //备注
+					itemDetail: '2', ////考核项目
+					content: '3', ////考核内容
+					judgeStandard: '4', ////评定标准
+					id: 4,
+				},
+			], //考核项目列表
+			setTimem: 1658386392466,
+			memo: '5623', ////备注信息
+			templateCode: '666', ////模板分类编码
+			title: '12', ////标准标题
+			setPersonId: 1, //设定人
+			acceptanceNumber: '4124', ////合格分数
+			setPersonDepartmentId: 2, //设定人部门
+			applyRange: '321', ////适用范围
+			id: 2, //当更新时必填
 		});
-		const clickType = ref();
-		const openDailog = (type: boolean) => {
+		const titles = ref();
+		const disabled = ref(false);
+		const clickType=ref(false)
+		// 打开弹窗
+		const openDailog = (title: string, value: any, id: number) => {
 			dialogVisible.value = true;
-			clickType.value = type;
+			titles.value = `${title}安全考核管理`;
+			disabled.value = title == '查看' ? true : false;
+			if (title == '查看' || title == '修改'){
+				goalManagementApi()
+					.getexamineTemplateDetail(id)
+					.then((res) => {
+						if (res.data.code == 200) {
+							form.value = res.data.data;
+						} else {
+							ElMessage.error(res.data.msg);
+						}
+					});
+			}else{
+				clickType.value=true
+			}
+				
 		};
-		// 导航
+		// 提交
+		const submitForm = () => {
+			dialogVisible.value = false;
+			goalManagementApi()
+				.getexamineTemplateAddOrUpdate(form.value)
+				.then((res) => {
+					if (res.data.code == 200) {
+						ElMessage({
+							message: res.data.msg,
+							type: 'success',
+						});
+						emit('navAddorUpdata');
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
+			form.value = {
+				examineItemList: [
+					{
+						itemType: '111', ////类型
+						memo: '5556', //备注
+						itemDetail: '2', ////考核项目
+						content: '3', ////考核内容
+						judgeStandard: '4', ////评定标准
+						id: 4,
+					},
+				], //考核项目列表
+				setTimem: 1658386392466,
+
+				memo: '5623', ////备注信息
+				templateCode: '666', ////模板分类编码
+				title: '12', ////标准标题
+				setPersonId: 1, //设定人
+				acceptanceNumber: '4124', ////合格分数
+				setPersonDepartmentId: 2, //设定人部门
+				applyRange: '321', ////适用范围
+				id: 2, //当更新时必填
+			};
+		};
+		//   取消
+		const resetForm = () => {
+			dialogVisible.value = false;
+			form.value = {
+				examineItemList: [
+					{
+						itemType: '111', ////类型
+						memo: '5556', //备注
+						itemDetail: '2', ////考核项目
+						content: '3', ////考核内容
+						judgeStandard: '4', ////评定标准
+						id: 4,
+					},
+				], //考核项目列表
+				setTimem: 1658386392466,
+
+				memo: '5623', ////备注信息
+				templateCode: '666', ////模板分类编码
+				title: '12', ////标准标题
+				setPersonId: 1, //设定人
+				acceptanceNumber: '4124', ////合格分数
+				setPersonDepartmentId: 2, //设定人部门
+				applyRange: '321', ////适用范围
+				id: 2, //当更新时必填
+			};
+		};
 		const activeName = ref('1');
-		// 表格
-		const tableData = [
-			{
-				date: '2016-05-03',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-02',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-04',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-01',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-		];
 		// 新增弹窗
 		const Show = ref();
 		const daiAdd = () => {
@@ -159,14 +231,17 @@
 			dialogVisible,
 			openDailog,
 			activeName,
-			tableData,
+			titles,
+			disabled,
+			submitForm,
+			resetForm,
 			Show,
 			daiAdd,
 			Shows,
-			clickType,
 			daiInpt,
 			Search,
 			full,
+			clickType,
 			toggleFullscreen,
 			FullScreen,
 		};
diff --git a/src/views/goalManagement/performanceAppraisal/index.vue b/src/views/goalManagement/performanceAppraisal/index.vue
index 3d340c5..cfe1191 100644
--- a/src/views/goalManagement/performanceAppraisal/index.vue
+++ b/src/views/goalManagement/performanceAppraisal/index.vue
@@ -1,270 +1,465 @@
 <template>
-   <div>
-	<div class="minCenter">
-		<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
-			<el-tab-pane label="安全考核管理" name="1">
-				<el-form :model="ruleForm" status-icon label-width="20px" class="topTitle">
-					<el-row>
-						<el-col :span="4">
-							<el-form-item size="default">
-								<el-select v-model="ruleForm.region" style="width: 100%" placeholder="请选择考核部门">
-									<el-option label="Zone one" value="shanghai" />
-									<el-option label="Zone two" value="beijing" />
-								</el-select>
-							</el-form-item>
-						</el-col>
-						<el-col :span="4">
-							<el-form-item>
-								<el-button size="default" type="primary">查询</el-button>
-								<el-button size="default">重置</el-button>
-							</el-form-item>
-						</el-col>
-					</el-row>
-				</el-form>
-				<div class="btns">
-					<div>
-						<el-button size="default" type="primary" :icon="Plus" @click="openDai">新建</el-button>
-						<el-button size="default" type="warning" plain :icon="EditPen">修改</el-button>
-						<el-button size="default" type="danger" plain :icon="Delete">删除</el-button>
+	<div>
+		<div class="minCenter">
+			<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
+				<el-tab-pane label="安全考核管理" name="1">
+					<el-form :model="ruleForm" status-icon label-width="20px" class="topTitle">
+						<el-row>
+							<el-col :span="4">
+								<el-form-item size="default">
+									<el-select v-model="ruleForm.searchParams.examineDepartmentId" style="width: 100%" placeholder="请选择考核部门">
+										<el-option label="Zone one" value="shanghai" />
+										<el-option label="Zone two" value="beijing" />
+									</el-select>
+								</el-form-item>
+							</el-col>
+							<el-col :span="4">
+								<el-form-item>
+									<el-button size="default" type="primary" @click="listApi">查询</el-button>
+									<el-button size="default" @click="resetForm">重置</el-button>
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-form>
+					<div class="btns">
+						<div>
+							<el-button size="default" type="primary" :icon="Plus" @click="openD('新建')">新建</el-button>
+							<el-button size="default" :disabled="warning" type="warning" plain :icon="EditPen">修改</el-button>
+							<el-button size="default" :disabled="danger" type="danger" plain :icon="Delete" @click="onDeleteAll">删除</el-button>
+						</div>
 					</div>
-				</div>
-				<el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
-					<el-table-column type="selection" align="center" width="55" />
-					<el-table-column type="expand">
-						<template #default>
-							<div class="tableC">
-								<el-tabs v-model="activeNames">
-									<el-tab-pane label="考核项目" name="1">
-                                         <el-table :data="tableData" style="width: 100%">
-											<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>
-                                    </el-tab-pane>
-								</el-tabs>
-							</div>
-						</template>
-					</el-table-column>
-					<el-table-column label="考核日期" align="center" sortable>
-						<template #default="scope">{{ scope.row.date }}</template>
-					</el-table-column>
-					<el-table-column property="name" align="center" label="考核部门" sortable />
-					<el-table-column property="address" label="考核人" align="center" sortable show-overflow-tooltip />
-					<el-table-column property="address" label="被考核部门" align="center" sortable show-overflow-tooltip />
-					<el-table-column property="address" label="总分" align="center" sortable show-overflow-tooltip />
-					<el-table-column property="address" label="考核结果" align="center" sortable show-overflow-tooltip />
-					<el-table-column property="address" label="附件" align="center" sortable show-overflow-tooltip />
-					<el-table-column label="操作" align="center" width="250px">
-						<template #default>
-							<el-button link type="primary" size="default" :icon="View" @click="handleClick">查看</el-button>
-							<el-button link type="primary" size="default" :icon="EditPen" @click="handleClick">修改</el-button>
-							<el-button link type="primary" size="default" :icon="Delete">删除</el-button>
-						</template>
-					</el-table-column>
-				</el-table>
-				<div class="pages">
-					<el-pagination
-						v-model:currentPage="currentPage4"
-						v-model:page-size="pageSize4"
-						:page-sizes="[100, 200, 300, 400]"
-						:small="small"
-						:disabled="disabled"
-						:background="background"
-						layout="total, sizes, prev, pager, next, jumper"
-						:total="400"
-						@size-change="handleSizeChange"
-						@current-change="handleCurrentChange"
-					/>
-				</div>
-			</el-tab-pane>
-			<el-tab-pane label="考核标准设定" name="2">
-				<el-form :model="ruleForm" status-icon label-width="20px" class="topTitle">
-					<el-row>
-						<el-col :span="4">
-							<el-form-item size="default">
-								<el-input v-model="ruleForm.pass" placeholder="标准标题" />
-							</el-form-item>
-						</el-col>
-						<el-col :span="4">
-							<el-form-item>
-								<el-button size="default" type="primary">查询</el-button>
-								<el-button size="default">重置</el-button>
-							</el-form-item>
-						</el-col>
-					</el-row>
-				</el-form>
-				<div class="btns">
-					<div>
-						<el-button size="default" type="primary" :icon="Plus" @click="openDaiK('新建')">新建</el-button>
-						<el-button size="default" type="warning" plain :icon="EditPen">修改</el-button>
-						<el-button size="default" type="danger" plain :icon="Delete">删除</el-button>
+					<el-table ref="multipleTableRef" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
+						<el-table-column type="selection" align="center" width="55" />
+						<el-table-column type="expand">
+							<template #default>
+								<div class="tableC">
+									<el-table :data="tableData.currentExamineDtoList" style="width: 100%">
+										<el-table-column align="center" prop="itemDetail" label="考核项目" />
+										<el-table-column align="center" prop="content" label="考核内容" />
+										<el-table-column align="center" prop="number" label="考核分数" />
+									</el-table>
+								</div>
+							</template>
+						</el-table-column>
+						<el-table-column property="examineDate" align="center" label="考核日期" sortable />
+						<el-table-column property="beExaminedDepartmentId" align="center" label="考核部门" sortable />
+						<el-table-column property="examinePersonId" label="考核人" align="center" sortable show-overflow-tooltip />
+						<el-table-column property="beExaminedDepartmentId" label="被考核部门" align="center" sortable show-overflow-tooltip />
+						<el-table-column property="examineTotalNumber" label="总分" align="center" sortable show-overflow-tooltip />
+						<el-table-column property="numberDetailJson.number" label="考核结果" align="center" sortable show-overflow-tooltip />
+						<el-table-column property="extraFile" label="附件" align="center" sortable show-overflow-tooltip />
+						<el-table-column label="操作" align="center" width="250px">
+							<template #default="scope">
+								<el-button link type="primary" size="default" :icon="View" @click="openD('查看', scope.row.id)">查看</el-button>
+								<el-button link type="primary" size="default" :icon="EditPen" @click="openD('修改', scope.row.id)">修改</el-button>
+								<el-button link type="primary" size="default" :icon="Delete" @click="onDelete(scope.row.id)">删除</el-button>
+							</template>
+						</el-table-column>
+					</el-table>
+					<div class="pages">
+						<el-pagination
+							v-model:currentPage="currentPage4"
+							v-model:page-size="pageSize4"
+							:page-sizes="[10, 20, 30, 40]"
+							layout="total, sizes, prev, pager, next, jumper"
+							:total="total"
+							@size-change="handleSizeChange"
+							@current-change="handleCurrentChange"
+						/>
 					</div>
-				</div>
-				<el-table ref="multipleTableRef" :data="tableData" style="width: 100%">
-					<el-table-column type="selection" align="center" width="55" />
-                    <el-table-column type="expand">
-						<template #default>
-							<div class="tableC">
-								<el-tabs v-model="activeNames">
-									<el-tab-pane label="考核项目" name="1">
-                                         <el-table :data="tableData" style="width: 100%">
-											<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>
-                                    </el-tab-pane>
-								</el-tabs>
-							</div>
-						</template>
-					</el-table-column>
-					<el-table-column label="标准标题" align="center" sortable>
-						<template #default="scope">{{ scope.row.date }}</template>
-					</el-table-column>
-					<el-table-column property="name" align="center" label="适用范围" sortable />
-					<el-table-column property="address" label="设定人" align="center" sortable show-overflow-tooltip />
-					<el-table-column property="address" label="设定人部门" align="center" sortable show-overflow-tooltip />
-					<el-table-column property="address" label="设定日期" align="center" sortable show-overflow-tooltip />
-					<el-table-column property="address" label="模板分类编码" align="center" sortable show-overflow-tooltip />
-					<el-table-column property="address" label="合格分数" align="center" sortable show-overflow-tooltip />
-					<el-table-column label="操作" align="center" width="250px">
-						<template #default>
-							<el-button link type="primary" size="default" :icon="View" @click="openDaiK('查看')">查看</el-button>
-							<el-button link type="primary" size="default" :icon="EditPen" @click="openDaiK('修改')">修改</el-button>
-							<el-button link type="primary" size="default" :icon="Delete">删除</el-button>
-						</template>
-					</el-table-column>
-				</el-table>
-				<div class="pages">
-					<el-pagination
-						v-model:currentPage="currentPage4"
-						v-model:page-size="pageSize4"
-						:page-sizes="[100, 200, 300, 400]"
-						:small="small"
-						:disabled="disabled"
-						:background="background"
-						layout="total, sizes, prev, pager, next, jumper"
-						:total="400"
-						@size-change="handleSizeChange"
-						@current-change="handleCurrentChange"
-					/>
-				</div>
-			</el-tab-pane>
-		</el-tabs>
-	</div>
-    <DailogAq ref="ShowAq"></DailogAq>
-	<DailogKh ref="ShowKh"></DailogKh>
+				</el-tab-pane>
+				<el-tab-pane label="考核标准设定" name="2">
+					<el-form :model="ruleForms" status-icon label-width="20px" class="topTitle">
+						<el-row>
+							<el-col :span="4">
+								<el-form-item size="default">
+									<el-input v-model="ruleForms.searchParams.title" placeholder="标准标题" />
+								</el-form-item>
+							</el-col>
+							<el-col :span="4">
+								<el-form-item>
+									<el-button size="default" type="primary" @click="listApis">查询</el-button>
+									<el-button size="default" @click="resetForms">重置</el-button>
+								</el-form-item>
+							</el-col>
+						</el-row>
+					</el-form>
+					<div class="btns">
+						<div>
+							<el-button size="default" type="primary" :icon="Plus" @click="openDs('新建')">新建</el-button>
+							<el-button size="default" :disabled="warnings" type="warning" plain :icon="EditPen">修改</el-button>
+							<el-button size="default" :disabled="dangers" type="danger" plain :icon="Delete"  @click="onDeleteAlls">删除</el-button>
+						</div>
+					</div>
+					<el-table ref="multipleTableRef" :data="tableDatas" style="width: 100%" @selection-change="handleSelectionChanges">
+						<el-table-column type="selection" align="center" width="55" />
+						<el-table-column type="expand">
+							<template #default>
+								<div class="tableC">
+									<el-table :data="tableDatas.examineItemList" style="width: 100%">
+										<el-table-column align="center" prop="itemType" label="类型" />
+										<el-table-column align="center" prop="itemDetail" label="考核项目" />
+										<el-table-column align="center" prop="content" label="考核内容" />
+										<el-table-column align="center" prop="judgeStandard" label="评定标准" />
+										<el-table-column align="center" prop="memo" label="考核说明" />
+									</el-table>
+								</div>
+							</template>
+						</el-table-column>
+						<el-table-column label="标准标题" property="title" align="center" sortable />
+						<el-table-column property="applyRange" align="center" label="适用范围" sortable />
+						<el-table-column property="setPersonId" label="设定人" align="center" sortable show-overflow-tooltip />
+						<el-table-column property="setPersonDepartmentId" label="设定人部门" align="center" sortable show-overflow-tooltip />
+						<el-table-column property="createTime" label="设定日期" align="center" sortable show-overflow-tooltip />
+						<el-table-column property="templateCode" label="模板分类编码" align="center" sortable show-overflow-tooltip />
+						<el-table-column property="acceptanceNumber" label="合格分数" align="center" sortable show-overflow-tooltip />
+						<el-table-column label="操作" align="center" width="250px">
+							<template #default="scope">
+								<el-button link type="primary" size="default" :icon="View" @click="openDs('查看', scope.row.id)">查看</el-button>
+								<el-button link type="primary" size="default" :icon="EditPen" @click="openDs('修改', scope.row.id)">修改</el-button>
+								<el-button link type="primary" size="default" :icon="Delete" @click="onDeletes(scope.row.id)">删除</el-button>
+							</template>
+						</el-table-column>
+					</el-table>
+					<div class="pages">
+						<el-pagination
+							v-model:currentPage="currentPage4s"
+							v-model:page-size="pageSize4s"
+							:page-sizes="[10, 20, 30, 40]"
+							layout="total, sizes, prev, pager, next, jumper"
+							:total="totals"
+							@size-change="handleSizeChanges"
+							@current-change="handleCurrentChanges"
+						/>
+					</div>
+				</el-tab-pane>
+			</el-tabs>
+		</div>
+		<DailogAq ref="ShowAdd" @navAddorUpdata="onAddorUpdata"></DailogAq>
+		<DailogKh ref="ShowAdds" @navAddorUpdata="onAddorUpdatas"></DailogKh>
 	</div>
 </template>
 <script lang="ts">
-import DailogAq from './component/DailogAq.vue'
-import DailogKh from './component/DailogKh.vue'
+import DailogAq from './component/DailogAq.vue';
+import DailogKh from './component/DailogKh.vue';
 import { ref, toRefs, reactive, onMounted, defineComponent } from 'vue';
 import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext, FormInstance } from 'element-plus';
 import { Plus, Delete, Upload, Download, Refresh, View, EditPen } from '@element-plus/icons-vue';
-interface User {
-	date: string;
-	name: string;
-	address: string;
-}
-import type { TableColumnCtx } from 'element-plus/es/components/table/src/table-column/defaults';
+import { goalManagementApi } from '/@/api/goalManagement';
 export default defineComponent({
-	components: { ElButton, ElInput,DailogAq,DailogKh},
+	components: { ElButton, ElInput, DailogAq, DailogKh },
 	setup() {
-		const ruleForm = reactive({});
-
-		// 下方导航与表格
-		const activeName = ref('1');
-		const activeNames = ref('1');
-		const handleClick = (tab: TabsPaneContext, event: Event) => {
-			console.log(tab, event);
+		// 搜索条件 安全考核管理
+		const ruleForm = reactive({
+			pageSize: 2,
+			pageIndex: 1,
+			searchParams: {
+				examineDepartmentId: '',
+			},
+		});
+		// 重置
+		const resetForm = () => {
+			ruleForm.searchParams.examineDepartmentId = '';
 		};
-		const formatter = (row: User, column: TableColumnCtx<User>) => {
-			return row.address;
+		const listApi = () => {
+			goalManagementApi()
+				.getexamineMngList(ruleForm)
+				.then((res) => {
+					if (res.data.code == 200) {
+						tableData.value = res.data.data;
+						currentPage4.value = res.data.pageIndex;
+						pageSize4.value = res.data.pageSize;
+						total.value = res.data.total;
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
 		};
 
-		const tableData: User[] = [
-			{
-				date: '2016-05-03',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-02',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-04',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-01',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-08',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-06',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-			{
-				date: '2016-05-07',
-				name: 'Tom',
-				address: 'No. 189, Grove St, Los Angeles',
-			},
-		];
-		const currentPage4 = ref(4);
-		const pageSize4 = ref(100);
-		const small = ref(false);
-		const disabled = ref(false);
-		const background = ref(false);
+		onMounted(() => {
+			listApi();
+		});
+		const onAddorUpdata = () => {
+			listApi();
+		};
+		// 表格
+		const tableData = ref();
+		const currentPage4 = ref();
+		const pageSize4 = ref();
+		const total = ref();
 		const handleSizeChange = (val: number) => {
-			console.log(`${val} items per page`);
+			// console.log(`${val} items per page`);
+			ruleForm.pageSize = val;
+			listApi();
 		};
 		const handleCurrentChange = (val: number) => {
-			console.log(`current page: ${val}`);
+			// console.log(`current page: ${val}`);
+			ruleForm.pageIndex = val;
+			listApi();
 		};
-        const ShowAq=ref()
-        const openDai=()=>{
-            ShowAq.value.openDailog()
-        }
-		const ShowKh=ref()
-		 const openDaiK=(name:string)=>{
-			 if(name=='新建'){
-				 ShowKh.value.openDailog(false)
-			 }else{
-				 ShowKh.value.openDailog(true)
-			 }
-            
-        }
+		// 弹窗
+		const openAdd = ref();
+		const openD= (title: String, id: number) => {
+			openAdd.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);
+		};
+		// 删除
+		const onDelete = (id: number) => {
+			ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning',
+			})
+				.then(() => {
+					goalManagementApi()
+						.getexamineMngDelete(id)
+						.then((res) => {
+							if (res.data.code == 200) {
+								ElMessage({
+									message: res.data.msg,
+									type: 'success',
+								});
+								listApi();
+							} else {
+								ElMessage.error(res.data.msg);
+							}
+						});
+				})
+				.catch(() => {
+					ElMessage({
+						type: 'info',
+						message: 'Delete canceled',
+					});
+				});
+		};
+		// 批量删除
+		const warning = ref(true);
+		const danger = ref(true);
+		const deletAll = ref();
+		const handleSelectionChange = (val: any) => {
+			let valId = JSON.parse(JSON.stringify(val));
+			let arr = [];
+			for (let i = 0; i < valId.length; i++) {
+				arr.push(valId[i].id);
+			}
+			deletAll.value = arr.toString();
+			if (val.length == 1) {
+				warning.value = false;
+				danger.value = false;
+			} else if (val.length == 0) {
+				warning.value = true;
+				danger.value = true;
+			} else {
+				warning.value = true;
+				danger.value = false;
+			}
+		};
+		const onDeleteAll = () => {
+			ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning',
+			})
+				.then(() => {
+					goalManagementApi()
+						.getexamineMngDelete(deletAll.value)
+						.then((res) => {
+							if (res.data.code == 200) {
+								ElMessage({
+									message: res.data.msg,
+									type: 'success',
+								});
+								listApi();
+							} else {
+								ElMessage.error(res.data.msg);
+							}
+						});
+				})
+				.catch(() => {
+					// ElMessage({
+					// 	type: 'info',
+					// 	message: 'Delete canceled',
+					// });
+				});
+		};
+		// 切换
+		const activeName = ref('1');
+		const handleClick = (val: any) => {
+			if (val == '1') {
+				listApi();
+			}else{
+				listApis();
+			}
+		};
+		// 搜索条件 考核标准设定
+		const ruleForms = reactive({
+			pageSize: 10,
+			pageIndex: 1,
+			searchParams: {
+				title: '', //标准标题
+			},
+		});
+		// 重置
+		const resetForms = () => {
+			ruleForm.searchParams.examineDepartmentId = '';
+		};
+		const listApis = () => {
+			goalManagementApi()
+				.getexamineTemplateList(ruleForm)
+				.then((res) => {
+					if (res.data.code == 200) {
+						tableDatas.value = res.data.data;
+						currentPage4s.value = res.data.pageIndex;
+						pageSize4s.value = res.data.pageSize;
+						totals.value = res.data.total;
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
+		};
+		onMounted(() => {
+			listApis();
+		});
+		const onAddorUpdatas = () => {
+			listApis();
+		};
+		// 表格
+		const tableDatas = ref();
+		const currentPage4s = ref();
+		const pageSize4s = ref();
+		const totals = ref();
+		const handleSizeChanges = (val: number) => {
+			// console.log(`${val} items per page`);
+			ruleForms.pageSize = val;
+			listApis();
+		};
+		const handleCurrentChanges = (val: number) => {
+			// console.log(`current page: ${val}`);
+			ruleForms.pageIndex = val;
+			listApis();
+		};
+		// 弹窗
+		const openAdds = ref();
+		const openDs = (title: String, id: number) => {
+			openAdds.value.openDailog(title, ruleForm.searchParams.examineDepartmentId, id);
+		};
+		// 删除
+		const onDeletes = (id: number) => {
+			ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning',
+			})
+				.then(() => {
+					goalManagementApi()
+						.getexamineTemplateDelete(id)
+						.then((res) => {
+							if (res.data.code == 200) {
+								ElMessage({
+									message: res.data.msg,
+									type: 'success',
+								});
+								listApi();
+							} else {
+								ElMessage.error(res.data.msg);
+							}
+						});
+				})
+				.catch(() => {
+					ElMessage({
+						type: 'info',
+						message: 'Delete canceled',
+					});
+				});
+		};
+		// 批量删除
+		const warnings = ref(true);
+		const dangers = ref(true);
+		const deletAlls = ref();
+		const handleSelectionChanges = (val: any) => {
+			let valId = JSON.parse(JSON.stringify(val));
+			let arr = [];
+			for (let i = 0; i < valId.length; i++) {
+				arr.push(valId[i].id);
+			}
+			deletAlls.value = arr.toString();
+			if (val.length == 1) {
+				warnings.value = false;
+				dangers.value = false;
+			} else if (val.length == 0) {
+				warnings.value = true;
+				dangers.value = true;
+			} else {
+				warnings.value = true;
+				dangers.value = false;
+			}
+		};
+		const onDeleteAlls = () => {
+			ElMessageBox.confirm('确定删除所选项吗?', 'Warning', {
+				confirmButtonText: '确定',
+				cancelButtonText: '取消',
+				type: 'warning',
+			})
+				.then(() => {
+					goalManagementApi()
+						.getexamineTemplateDelete(deletAll.value)
+						.then((res) => {
+							if (res.data.code == 200) {
+								ElMessage({
+									message: res.data.msg,
+									type: 'success',
+								});
+								listApi();
+							} else {
+								ElMessage.error(res.data.msg);
+							}
+						});
+				})
+				.catch(() => {
+					// ElMessage({
+					// 	type: 'info',
+					// 	message: 'Delete canceled',
+					// });
+				});
+		};
 		return {
 			activeName,
-			activeNames,
+			ruleForm,
+			resetForm,
+			listApi,
 			handleClick,
+			onAddorUpdata,
 			tableData,
-			formatter,
 			currentPage4,
 			pageSize4,
+			total,
 			handleSizeChange,
 			handleCurrentChange,
-			small,
-			disabled,
-			background,
-			ruleForm,
-            ShowAq,
-            openDai,
-			ShowKh,
-			openDaiK,
+			openAdd,
+			openD,
+			onDelete,
+			warning,
+			danger,
+			deletAll,
+			handleSelectionChange,
+			onDeleteAll,
+			ruleForms,
+			resetForms,
+			listApis,
+			onAddorUpdatas,
+			tableDatas,
+			currentPage4s,
+			pageSize4s,
+			totals,
+			handleSizeChanges,
+			handleCurrentChanges,
+			openAdds,
+			openDs,
+			onDeletes,
+			warnings,
+			dangers,
+			deletAlls,
+			handleSelectionChanges,
+			onDeleteAlls,
 			Plus,
 			Delete,
 			Upload,
@@ -295,7 +490,7 @@
 	display: flex;
 	justify-content: right;
 }
-.tableC{
-    margin:0 10%;
+.tableC {
+	margin: 0 10%;
 }
 </style>
diff --git a/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue b/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue
index 5f968af..f228c67 100644
--- a/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue
+++ b/src/views/goalManagement/targetDecompositionYear/component/DailogAdd.vue
@@ -5,19 +5,19 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="责任部门" prop="dutyDepartmentId" size="default">
-						<el-tree-select v-model="form.dutyDepartmentId" :data="data" class="w100" placeholder="请选择" />
+						<el-tree-select v-model="form.dutyDepartmentId" :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-form-item label="考核指标" prop="value" size="default">
 						<el-input v-model="form.value" />
 					</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" class="w100" placeholder="请选择" />
+					<el-form-item label="制定人部门" prop="makerDepartmentId" size="default">
+						<el-tree-select v-model="form.makerDepartmentId" :data="data" class="w100" :props="propse" placeholder="请选择" />
 					</el-form-item>
 				</el-col>
 				<el-col :span="11" :offset="2">
@@ -29,7 +29,7 @@
 			<el-row>
 				<el-col :span="11">
 					<el-form-item label="上报人" prop="commitPersonId" size="default">
-						<el-input v-model="form.commitPersonId">
+						<el-input v-model="nameC">
 							<template #append> <el-button :icon="Search" @click="openUser" /> </template
 						></el-input>
 					</el-form-item>
@@ -48,19 +48,21 @@
 	<DailogSearchUser ref="Show" @SearchUser="onUser"></DailogSearchUser>
 </template>
 <script lang="ts">
-import { defineComponent, ref, reactive } from 'vue';
+import { defineComponent, ref, reactive, onMounted } from 'vue';
 import { Search, FullScreen } from '@element-plus/icons-vue';
 import type { FormInstance, FormRules } from 'element-plus';
 import DailogSearchUser from '../../../../components/DailogSearchUser/index.vue';
+import { ElMessageBox, ElMessage, ElButton, ElInput, TabsPaneContext } from 'element-plus';
+import { goalManagementApi } from '/@/api/goalManagement';
 export default defineComponent({
 	components: { DailogSearchUser },
-	setup(props,{emit}) {
+	setup(props, { emit }) {
 		const form = ref({
-			dutyDepartmentId: "", ////责任部门/外键
-			makerDepartmentId: "", ////制定人部门/外键
-			commitPersonId: "", ////上报人/外键
+			dutyDepartmentId: '', ////责任部门/外键
+			makerDepartmentId: '', ////制定人部门/外键
+			commitPersonId: '', ////上报人/外键
 			value: '', ////考核指标值
-			makeDate: "", ////制定日期
+			makeDate: '', ////制定日期
 		});
 		const ruleFormRef = ref<FormInstance>();
 		const rules = reactive<FormRules>({
@@ -105,12 +107,12 @@
 			await formEl.validate((valid, fields) => {
 				if (valid) {
 					dialogVisible.value = false;
-					emit("onAdd",form.value)
+					emit('onAdd', form.value);
 				} else {
 					console.log('error submit!', fields);
 				}
 			});
-		formEl.resetFields();
+			formEl.resetFields();
 		};
 
 		const resetForm = (formEl: FormInstance | undefined) => {
@@ -118,6 +120,22 @@
 			formEl.resetFields();
 			dialogVisible.value = false;
 		};
+		//部门
+		const department = () => {
+			goalManagementApi()
+				.getTreedepartment()
+				.then((res) => {
+					if (res.data.code == 200) {
+						console.log(res.data.data);
+						data.value = res.data.data;
+					} else {
+						ElMessage.error(res.data.msg);
+					}
+				});
+		};
+		onMounted(() => {
+			department();
+		});
 		// 开启弹窗
 		const dialogVisible = ref(false);
 		const openDailog = () => {
@@ -137,56 +155,22 @@
 				full.value = false;
 			}
 		};
-			const data = [
-			{
-				value: '1',
-				label: '广汇能源综合物流发展有限责任公司',
-				children: [
-					{
-						value: '11',
-						label: '经营班子',
-						children: [],
-					},
-				],
-			},
-			{
-				value: '2',
-				label: '生产运行部',
-				children: [
-					{
-						value: '21',
-						label: '灌装一班',
-						children: [],
-					},
-					{
-						value: '22',
-						label: '工艺四班',
-						children: [],
-					},
-				],
-			},
-			{
-				value: '3',
-				label: '设备部',
-				children: [
-					{
-						value: '31',
-						label: '仪表班',
-						children: [],
-					},
-					{
-						value: '32',
-						label: '机修班',
-						children: [],
-					},
-				],
-			},
-		];
-		const onUser = (e:any) => {
-			form.value.commitPersonId=e.id
+		const propse = {
+			label: 'depName',
+			children: 'children',
+			value:"depId"
+		};
+		const data = ref();
+		const nameC=ref()
+		const onUser = (e: any) => {
+			form.value.commitPersonId = e.uid;
+			nameC.value=e.realName
 		};
 		return {
+			nameC,
 			form,
+			propse,
+			department,
 			dialogVisible,
 			openDailog,
 			Show,
@@ -200,7 +184,7 @@
 			ruleFormRef,
 			rules,
 			submitForm,
-			resetForm
+			resetForm,
 		};
 	},
 });

--
Gitblit v1.9.2