From 7cbeb9c7dc150e45d88f39ec8147ef5fa819621f Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Thu, 21 Dec 2023 17:54:41 +0800
Subject: [PATCH] 评优任务,评优结果页面修改
---
src/option/evaluate/evaluateResult.js | 289 +++++++++++++++++++++++++++++------------------
src/views/evaluate/evaluateResult.vue | 37 ++++-
src/api/evaluate/evaluateResult.js | 3
src/views/evaluate/components/addDialog.vue | 16 +-
4 files changed, 213 insertions(+), 132 deletions(-)
diff --git a/src/api/evaluate/evaluateResult.js b/src/api/evaluate/evaluateResult.js
index d6aab15..c551c9a 100755
--- a/src/api/evaluate/evaluateResult.js
+++ b/src/api/evaluate/evaluateResult.js
@@ -2,7 +2,8 @@
export const getList = (current, size, params) => {
return request({
- url: '/evaluate/evaluateResult/list',
+ // url: '/evaluate/evaluateResult/list',
+ url: 'evaluate/evaluateTaskSet/list',
method: 'get',
params: {
...params,
diff --git a/src/option/evaluate/evaluateResult.js b/src/option/evaluate/evaluateResult.js
index 335eafe..533a657 100755
--- a/src/option/evaluate/evaluateResult.js
+++ b/src/option/evaluate/evaluateResult.js
@@ -1,120 +1,185 @@
-export default {
- height:'auto',
+export const option = {
+ height: 'auto',
calcHeight: 30,
tip: false,
searchShow: true,
searchMenuSpan: 6,
border: true,
index: true,
- viewBtn: true,
- selection: true,
+ viewBtn: false,
+ addBtn: false,
+ menu: false,
dialogClickModal: false,
- column: [
- {
- label: "主键",
- prop: "id",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- {
- label: "租户ID",
- prop: "tenantId",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- {
- label: "评优任务",
- prop: "assessmentTaskId",
- type: "input",
- },
- {
- label: "被评优的人/部门",
- prop: "beId",
- type: "input",
- },
- {
- label: "评优人",
- prop: "scoreUserId",
- type: "input",
- },
- {
- label: "评优说明",
- prop: "remark",
- type: "input",
- },
- {
- label: "类型(0:员工评优,1:部门评优,2:公司评优)",
- prop: "type",
- type: "input",
- },
- {
- label: "创建人",
- prop: "createUser",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- {
- label: "创建部门",
- prop: "createDept",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- {
- label: "创建时间",
- prop: "createTime",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- {
- label: "修改人",
- prop: "updateUser",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- {
- label: "修改时间",
- prop: "updateTime",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- {
- label: "状态",
- prop: "status",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- {
- label: "是否已删除",
- prop: "isDeleted",
- type: "input",
- addDisplay: false,
- editDisplay: false,
- viewDisplay: false,
- hide: true,
- },
- ]
+ column: []
}
+
+export const personColumn = [
+ {
+ label: "评优项目",
+ prop: "evaluateTaskName",
+ type: "input",
+ search: true
+ },
+ {
+ label: "部门",
+ prop: "deptName",
+ type: "input",
+ search: true
+ },
+ {
+ label: "候选人",
+ prop: "userName",
+ type: "input",
+ },
+ {
+ label: "票数",
+ prop: "voteNum",
+ type: "input",
+ },
+ {
+ label: "创建人",
+ prop: "createUser",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "创建部门",
+ prop: "createDept",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "创建时间",
+ prop: "createTime",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "修改人",
+ prop: "updateUser",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "修改时间",
+ prop: "updateTime",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "状态",
+ prop: "status",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "是否已删除",
+ prop: "isDeleted",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+]
+
+export const sectionColumn = [
+ {
+ label: "评优项目",
+ prop: "evaluateTaskName",
+ type: "input",
+ search: true
+ },
+ {
+ label: "部门",
+ prop: "deptName",
+ type: "input",
+ search: true
+ },
+ {
+ label: "票数",
+ prop: "voteNum",
+ type: "input",
+ },
+ {
+ label: "创建人",
+ prop: "createUser",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "创建部门",
+ prop: "createDept",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "创建时间",
+ prop: "createTime",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "修改人",
+ prop: "updateUser",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "修改时间",
+ prop: "updateTime",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "状态",
+ prop: "status",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+ {
+ label: "是否已删除",
+ prop: "isDeleted",
+ type: "input",
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ hide: true,
+ },
+]
diff --git a/src/views/evaluate/components/addDialog.vue b/src/views/evaluate/components/addDialog.vue
index f08b3f2..e0b72db 100644
--- a/src/views/evaluate/components/addDialog.vue
+++ b/src/views/evaluate/components/addDialog.vue
@@ -17,7 +17,7 @@
<el-option label="部门评优" value="1" />
</el-select>
</el-form-item> -->
- <el-form-item :label="params.type ? '评定部门:' : '候选部门:'" prop="candidateNum">
+ <el-form-item :label="params.type ? '评定人:' : '候选部门:'" prop="candidateNum">
<el-select v-model="selectGroup" value-key="deptId" multiple style="width: 100%;" placeholder="请选择候选部门">
<el-option v-for="dept in depts" :key="dept.deptId"
:label="dept.employees.length === 0 ? (dept.deptName + '(当前部门下员工人数为0)') : dept.deptName"
@@ -47,10 +47,10 @@
controls-position="right" :placeholder="`请输入评优数量(最多不可超过${maxEvaluateNum})`"
class="evaluateNum-input"></el-input-number>
</el-form-item>
- <el-form-item label="评优截止日期:" prop="evaluateCutoffTime">
+ <!-- <el-form-item label="评优截止日期:" prop="evaluateCutoffTime">
<el-date-picker v-model="addForm.evaluateCutoffTime" type="datetime" placeholder="请选择截止时间"
format="YYYY-MM-DD HH:mm:ss" valueFormat="YYYY-MM-DD HH:mm:ss" style="width: 100%;" />
- </el-form-item>
+ </el-form-item> -->
</el-form>
</div>
<template #footer>
@@ -152,7 +152,6 @@
deep: true,
immediate: true,
},
- // 拦截candidateNum
selectGroup: {
handler(val) {
this.addForm.candidateNum = [];
@@ -184,7 +183,7 @@
methods: {
submitOrEdit() {
const { candidateNum } = this.addForm
- const isExist = candidateNum.find(item => item.val === void 0 || item.val === 0 || item.users.length === 0)
+ const isExist = candidateNum.find(item => item.val === void 0 || item.val === 0)
if (isExist) {
this.$message.warning(`${isExist.deptName}候选人人数不可为空或者0`)
} else {
@@ -275,11 +274,12 @@
},
setDefaultValue(depts) {
const params = _.cloneDeep(this.params.addForm.candidateNum) || []
- params.forEach(item => {
+ const newParams = params.map(item => {
const value = depts.find(dept => item.deptId === dept.deptId);
item.employees = value?.employees || [];
- });
- this.selectGroup = params;
+ return item
+ })
+ this.selectGroup = newParams
},
},
};
diff --git a/src/views/evaluate/evaluateResult.vue b/src/views/evaluate/evaluateResult.vue
index 36e0953..21c9075 100755
--- a/src/views/evaluate/evaluateResult.vue
+++ b/src/views/evaluate/evaluateResult.vue
@@ -6,20 +6,13 @@
@row-save="rowSave" @row-del="rowDel" @search-change="searchChange" @search-reset="searchReset"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
- <template #menu-left>
- <el-button type="danger" icon="el-icon-delete" plain v-if="permission.evaluateResult_delete"
- @click="handleDelete">删 除
- </el-button>
- <el-button type="warning" plain icon="el-icon-download" @click="handleExport">导 出
- </el-button>
- </template>
</avue-crud>
</basic-container>
</template>
<script>
import { getList, getDetail, add, update, remove } from "@/api/evaluate/evaluateResult";
-import option from "@/option/evaluate/evaluateResult";
+import { option, personColumn, sectionColumn } from "@/option/evaluate/evaluateResult";
import { mapGetters } from "vuex";
import { exportBlob } from "@/api/common";
import { getToken } from '@/utils/auth';
@@ -48,11 +41,11 @@
taskTypeList: {
column: [
{
- label: '个人评优',
+ label: '个人评优结果',
prop: 0,
},
{
- label: '部门评优',
+ label: '部门评优结果',
prop: 1,
},
],
@@ -76,6 +69,26 @@
});
return ids.join(",");
}
+ },
+ watch: {
+ defaultTaskType: {
+ handler(n) {
+ this.query = {};
+ this.query['type'] = n;
+ let params = {
+ type: n,
+ };
+ console.log(option.column.length);
+ if (n) {
+ this.option.column = sectionColumn
+ } else {
+ this.option.column = personColumn
+ }
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ },
+ immediate: true,
+ },
},
methods: {
rowSave(row, done, loading) {
@@ -202,10 +215,12 @@
} = this.query;
let values = {
+ ...this.query,
+ ...this.params
};
getList(page.currentPage, page.pageSize, values).then(res => {
- console.log(res);
+ console.log(res.data.data.records);
const data = res.data.data;
this.page.total = data.total;
this.data = data.records;
--
Gitblit v1.9.3