From bfabab59b6d2fc9d28cd870fff5a366e5d290079 Mon Sep 17 00:00:00 2001
From: shj <1790240199@qq.com>
Date: Fri, 29 Jul 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