From 87adf4545bce4276da77f8df368dade670dfe07e Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Wed, 13 Dec 2023 16:42:51 +0800
Subject: [PATCH] 权限任务、考核权重、评优任务页面修改
---
src/views/assessment/components/assessmentWeight.vue | 1
src/api/assessment/assessmentSet.js | 12 ++++
src/views/evaluate/evaluateTask.vue | 37 ++++++++++++
src/views/assessment/assessmentTaskSetting.vue | 58 +++++++++++++++++--
src/views/assessment/assessmentTask.vue | 22 ++++---
src/views/assessment/components/taskResult.vue | 22 +++++--
6 files changed, 128 insertions(+), 24 deletions(-)
diff --git a/src/api/assessment/assessmentSet.js b/src/api/assessment/assessmentSet.js
index 2f51814..ecb5b24 100644
--- a/src/api/assessment/assessmentSet.js
+++ b/src/api/assessment/assessmentSet.js
@@ -12,6 +12,18 @@
})
}
+export const getdeptList = (current, size, params) => {
+ return request({
+ url: '/assessment/assessmentSetDept//list',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size,
+ }
+ })
+}
+
export const getDetail = (id) => {
return request({
url: '/assessment/assessmentSet/detail',
diff --git a/src/views/assessment/assessmentTask.vue b/src/views/assessment/assessmentTask.vue
index ed0542d..60ca3c3 100644
--- a/src/views/assessment/assessmentTask.vue
+++ b/src/views/assessment/assessmentTask.vue
@@ -78,13 +78,17 @@
};
},
watch: {
- defaultTaskType(n) {
- this.query['type'] = n
- let params = {
- type: n
- }
- this.page.currentPage = 1;
- this.onLoad(this.page, params);
+ defaultTaskType: {
+ handler(n) {
+ this.query = {}
+ this.query['type'] = n
+ let params = {
+ type: n
+ }
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ },
+ immediate: true,
}
},
computed: {
@@ -210,6 +214,7 @@
this.onLoad(this.page);
},
searchChange(params, done) {
+ params.type = this.defaultTaskType
this.query = params;
this.page.currentPage = 1;
this.onLoad(this.page, params);
@@ -257,5 +262,4 @@
};
</script>
-<style lang="scss" scoped>
-</style>
+<style lang="scss" scoped></style>
diff --git a/src/views/assessment/assessmentTaskSetting.vue b/src/views/assessment/assessmentTaskSetting.vue
index f6a568b..057a7b3 100644
--- a/src/views/assessment/assessmentTaskSetting.vue
+++ b/src/views/assessment/assessmentTaskSetting.vue
@@ -1,6 +1,7 @@
<template>
<basic-container>
<template v-if="isWeight">
+ <avue-tabs :option="taskTypeList" @change="tabChange"></avue-tabs>
<avue-crud ref="crud" v-model="form" v-model:search="search" :option="option" :data="data" v-model:page="page"
@search-change="searchChange" @search-reset="searchReset" @current-change="currentChange"
@size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
@@ -20,6 +21,7 @@
<script>
import assessmentWeight from './components/assessmentWeight.vue'
import { getList } from '@/api/system/user.js'
+import { getdeptList } from '@/api/assessment/assessmentSet.js'
export default {
components: {
@@ -58,6 +60,7 @@
{
label: "被考核人",
prop: "name",
+ // prop: "userName",
type: "input",
search: true,
},
@@ -121,7 +124,30 @@
selectGroup: {
depts: [],
posts: []
- }
+ },
+ // 考核结果参数
+ defaultTaskType: 0,
+ taskTypeList: {
+ column: [
+ {
+ label: '个人考核权重设置',
+ prop: 0
+ },
+ {
+ label: '部门考核权重设置',
+ prop: 1
+ }
+ ]
+ },
+ isDeptRequest: true
+ }
+ },
+ watch: {
+ defaultTaskType: {
+ handler(n) {
+ this.onLoad(this.page, this.query);
+ },
+ immediate: true,
}
},
methods: {
@@ -142,10 +168,19 @@
this.onLoad(this.page, params);
done();
},
- searchReset() { },
- currentChange() { },
- sizeChange() { },
- refreshChange() { },
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
onLoad(page, params = {}) {
this.loading = true;
const {
@@ -154,13 +189,22 @@
...this.query,
...params
};
-
- getList(page.currentPage, page.pageSize, values).then(res => {
+ !this.defaultTaskType && getList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
this.loading = false;
});
+ this.defaultTaskType && getdeptList(page.currentPage, page.pageSize, values).then(res => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ this.loading = false;
+ })
+ },
+ tabChange(value) {
+ this.defaultTaskType = value.prop
+ console.log(!!this.defaultTaskType);
}
}
}
diff --git a/src/views/assessment/components/assessmentWeight.vue b/src/views/assessment/components/assessmentWeight.vue
index b2f67c7..7760cb9 100644
--- a/src/views/assessment/components/assessmentWeight.vue
+++ b/src/views/assessment/components/assessmentWeight.vue
@@ -27,6 +27,7 @@
<script>
import { getList, getDetail, remove, add, update } from '@/api/assessment/assessmentSet'
import { getList as getUserSelectList } from "@/api/system/user.js";
+import _ from 'lodash'
export default {
props: {
diff --git a/src/views/assessment/components/taskResult.vue b/src/views/assessment/components/taskResult.vue
index f47bc01..629faff 100644
--- a/src/views/assessment/components/taskResult.vue
+++ b/src/views/assessment/components/taskResult.vue
@@ -11,7 +11,6 @@
</template>
<script>
-import { ElMessageBox, ElMessage } from 'element-plus'
export default {
props: {
@@ -57,19 +56,28 @@
search: true
},
{
- label: "考核人",
- prop: "assessor",
+ label: "被考核人",
+ prop: "name",
type: "input",
search: true,
},
{
- label: "职务",
- prop: "position",
+ label: "工号",
+ prop: 'code',
type: "input",
},
{
- label: "权值",
- prop: "weight",
+ label: "部门",
+ prop: "deptName",
+ },
+ {
+ label: "职务",
+ prop: "postName",
+ type: "input",
+ },
+ {
+ label: "人员类型",
+ prop: "personnelType",
type: "input",
},
{
diff --git a/src/views/evaluate/evaluateTask.vue b/src/views/evaluate/evaluateTask.vue
index d113676..e0f7ad6 100644
--- a/src/views/evaluate/evaluateTask.vue
+++ b/src/views/evaluate/evaluateTask.vue
@@ -1,5 +1,6 @@
<template>
<basic-container>
+ <avue-tabs :option="taskTypeList" @change="tabChange"></avue-tabs>
<avue-crud :option="option" v-model:search="search" v-model:page="page" v-model="form" :table-loading="loading"
:data="data" :permission="permissionList" :before-open="beforeOpen" ref="crud" @row-update="rowUpdate"
@row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@@ -88,8 +89,36 @@
isAddDialogVisible: false,
addParams: {},
viewParams: {},
- depts: []
+ depts: [],
+ // 考核结果参数
+ defaultTaskType: 0,
+ taskTypeList: {
+ column: [
+ {
+ label: '个人评优',
+ prop: 0
+ },
+ {
+ label: '部门评优',
+ prop: 1
+ }
+ ]
+ }
};
+ },
+ watch: {
+ // defaultTaskType: {
+ // handler(n) {
+ // this.query = {}
+ // this.query['type'] = n
+ // let params = {
+ // type: n
+ // }
+ // this.page.currentPage = 1;
+ // this.onLoad(this.page, params);
+ // },
+ // immediate: true,
+ // }
},
computed: {
...mapGetters(["permission"]),
@@ -266,8 +295,11 @@
} = this.query;
let values = {
+ ...this.query,
+ ...params,
taskName_like: taskName,
};
+ console.log(values);
getList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data;
@@ -315,6 +347,9 @@
});
})
this.dialogVisible = false
+ },
+ tabChange(value) {
+ this.defaultTaskType = value.prop
}
}
};
--
Gitblit v1.9.3