From 594db4f5274caf8c6d89bdd91c871b5c0e0c5a8e Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Fri, 05 Jan 2024 14:02:57 +0800
Subject: [PATCH] 更新
---
src/option/evaluate/evaluateTask.js | 178 ++---------------------------
src/views/evaluate/components/IndividualTaskPublic.vue | 14 ++
src/api/evaluate/evaluateTask.js | 57 +--------
src/views/evaluate/evaluateTask.vue | 32 +++-
src/views/evaluate/components/addIndividualTask.vue | 63 ++++++---
5 files changed, 93 insertions(+), 251 deletions(-)
diff --git a/src/api/evaluate/evaluateTask.js b/src/api/evaluate/evaluateTask.js
index e7c4256..1b03fac 100644
--- a/src/api/evaluate/evaluateTask.js
+++ b/src/api/evaluate/evaluateTask.js
@@ -34,8 +34,8 @@
export const add = (row) => {
return request({
- url: '/evaluate/evaluateTask/submit',
- // url: '/evaluate/evaluateTask/sava',
+ // url: '/evaluate/evaluateTask/submit',
+ url: '/evaluate/evaluateTask/save',
method: 'post',
data: row
})
@@ -49,62 +49,17 @@
})
}
-// 获取候选人列表
-export const getCandidateList = (current, size, params) => {
+export const getEcList = (current, size, evaluateTaskId ) => {
return request({
- url: '/evaluate/evaluateCandidate/list',
+ url: '/evaluate/evaluateTaskCategory/list',
method: 'get',
params: {
- ...params,
- current,
+ current,
size,
+ evaluateTaskId
}
})
}
-
-// 添加候选人
-export const addCandidate = (data) => {
- return request({
- url: '/evaluate/evaluateCandidate/submit',
- method: 'post',
- data
- })
-}
-
-// 删除候选人
-export const removeCandidate = (ids) => {
- return request({
- url: '/evaluate/evaluateCandidate/remove',
- method: 'post',
- params: {
- ids,
- }
- })
-}
-
-// 获取单个候选人的评定人
-export const getAssessorList = (current, size, evaluateCandidateId) => {
- return request({
- url: '/evaluate/evaluateCandidateAssessor/list',
- method: 'get',
- params: {
- current,
- size,
- evaluateCandidateId
- }
- })
-}
-
-
-// 添加评定人
-export const addAssessorSubmit = (data) => {
- return request({
- url: '/evaluate/evaluateCandidateAssessor/submit',
- method: 'post',
- data
- })
-}
-
// 获取最终结果
// url: '/evaluate/evaluateCandidate/page',
diff --git a/src/option/evaluate/evaluateTask.js b/src/option/evaluate/evaluateTask.js
index a407a7d..6b8ac3a 100644
--- a/src/option/evaluate/evaluateTask.js
+++ b/src/option/evaluate/evaluateTask.js
@@ -47,43 +47,13 @@
minWidth: '120px'
},
{
- label: "任务类别",
- prop: "taskType",
- type: "input",
- minWidth: '100px'
- },
- {
- label: "认定标准描述",
- prop: "remark",
- type: "input",
- hide: true,
- },
- {
- label: "候选人数量",
- prop: "candidateNum",
- type: "textarea",
- span: 24,
- minWidth: '100px',
- // prop: {
- // label: "title",
- // },
- formatter: (row, value) => {
- return value
- },
- },
- {
- label: "类型",
+ label: "任务类型",
prop: 'type',
- type: 'select',
- hide: true,
- dicData: [{
- label: '个人评优',
- value: 0,
- },
- {
- label: '部门评优',
- value: 1,
- }]
+ type: 'input',
+ minWidth: '120px',
+ formatter: (row, value) => {
+ return value ? '部门评优' : '员工评优'
+ }
},
{
label: "第一轮状态",
@@ -103,12 +73,6 @@
type: "input",
minWidth: '170px',
isSlot: true
- },
- {
- label: "评优数量",
- prop: "evaluateNum",
- type: "input",
- minWidth: '100px'
},
{
label: "第二轮状态",
@@ -213,24 +177,6 @@
labelWidth: '120',
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: "taskName",
type: "input",
@@ -238,48 +184,13 @@
minWidth: '120px'
},
{
- label: "任务类别",
- prop: "taskType",
- type: "input",
- minWidth: '100px'
- },
- {
- label: "认定标准描述",
- prop: "remark",
- type: "input",
- hide: true,
- },
- {
- label: "评定人数量",
- prop: "candidateNum",
- type: "textarea",
- span: 24,
- minWidth: '100px',
- slot: 'true',
- formatter: (row, value) => {
-
- return 0
- },
- },
- {
- label: "类型",
+ label: "任务类型",
prop: 'type',
- type: 'select',
- hide: true,
- dicData: [{
- label: '个人评优',
- value: 0,
- },
- {
- label: '部门评优',
- value: 1,
- }]
- },
- {
- label: "评优数量",
- prop: "evaluateNum",
- type: "input",
- minWidth: '100px'
+ type: 'input',
+ minWidth: '120px',
+ formatter: (row, value) => {
+ return value ? '部门评优' : '员工评优'
+ }
},
{
label: "评选状态",
@@ -297,69 +208,6 @@
label: "截止时间",
prop: "candidateCutoffTimeEnd",
minWidth: '200px'
- },
- {
- 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/IndividualTaskPublic.vue b/src/views/evaluate/components/IndividualTaskPublic.vue
index fe04100..e519611 100644
--- a/src/views/evaluate/components/IndividualTaskPublic.vue
+++ b/src/views/evaluate/components/IndividualTaskPublic.vue
@@ -1,5 +1,5 @@
<template>
- <el-dialog v-model="params.visible" title="评优任务发布" width="50%" @open="openDialog" @close="dialogClose">
+ <el-dialog v-model="params.visible" title="发布评优任务" width="50%" @open="openDialog" @close="dialogClose">
<div class="content">
<el-form :model="form" ref="formRef" :rules="rules" label-position="top">
<el-form-item label="任务类别" prop="taskType">
@@ -58,6 +58,7 @@
<script>
import _ from 'lodash';
import { getDict } from '@/api/dict'
+import { getEcList } from '@/api/evaluate/evaluateTask'
export default {
props: {
@@ -93,6 +94,11 @@
candidateCutoffTimeEnd: [
{ required: true, message: '请选择任务开始时间', trigger: 'click' },
]
+ },
+ page: {
+ current: 1,
+ size: 10,
+ total: 0
}
}
},
@@ -102,6 +108,12 @@
},
openDialog() {
this.initDict()
+ const { id } = this.params.data
+ const { current, size } = this.page
+ getEcList(current, size, id).then(ecResult => {
+ const { code, data } = ecResult.data
+ console.log(data);
+ })
},
initDict() {
getDict('employee_type').then(res => {
diff --git a/src/views/evaluate/components/addIndividualTask.vue b/src/views/evaluate/components/addIndividualTask.vue
index 7e98c76..5f582da 100644
--- a/src/views/evaluate/components/addIndividualTask.vue
+++ b/src/views/evaluate/components/addIndividualTask.vue
@@ -5,7 +5,7 @@
<el-form-item label="任务名称" prop="taskName">
<el-input v-model="form.taskName" placeholder="请输入任务名称"></el-input>
</el-form-item>
- <el-form-item label="任务类别" prop="taskType">
+ <el-form-item label="任务类别" prop="categoryEntities">
<ul class="type-list">
<li class="type-item">
<div class="title">类别</div>
@@ -13,18 +13,18 @@
<div class="number">名额</div>
<div class="tool">操作</div>
</li>
- <li class="type-item" v-for="(item, index) in form.taskType" :key="index">
- <div class="title">{{ item.title }}</div>
+ <li class="type-item" v-for="(item, index) in form.categoryEntities" :key="index">
+ <div class="title">{{ item.categoryName }}</div>
<el-tooltip effect="dark" placement="top">
<template #content>
- <p style="width: 500px;">{{ item.introduction }}</p>
+ <p style="max-width: 500px;">{{ item.standard }}</p>
</template>
<div class="introduction">
- {{ item.introduction }}
+ {{ item.standard }}
</div>
</el-tooltip>
- <div class="number">{{ item.number }}</div>
+ <div class="number">{{ item.peopleNum }}</div>
<div class="tool">
<el-popconfirm title="是否确认删除当前评优类别?" @confirm="deleteTaskType(index)">
<template #reference>
@@ -53,14 +53,14 @@
<!-- 添加类别弹窗 -->
<el-dialog v-model="innerVisible" width="40%" title="添加评优类别" append-to-body @close="innerDialogClose">
<el-form :model="taskTypeForm" :rules="taskTypeRules" ref="taskTypeFormRef" label-width="80px">
- <el-form-item label="类别" prop="title">
- <el-input v-model="taskTypeForm.title" placeholder="请输入类别名称"></el-input>
+ <el-form-item label="类别" prop="categoryName">
+ <el-input v-model="taskTypeForm.categoryName" placeholder="请输入类别名称"></el-input>
</el-form-item>
- <el-form-item label="认定标准" prop="introduction">
- <el-input type="textarea" v-model="taskTypeForm.introduction" placeholder="请输入认定标准"></el-input>
+ <el-form-item label="认定标准" prop="standard">
+ <el-input type="textarea" v-model="taskTypeForm.standard" placeholder="请输入认定标准"></el-input>
</el-form-item>
- <el-form-item label="名额" prop="number">
- <el-input v-model="taskTypeForm.number" placeholder="请输入名额数量"></el-input>
+ <el-form-item label="名额" prop="peopleNum">
+ <el-input v-model="taskTypeForm.peopleNum" placeholder="请输入名额数量"></el-input>
</el-form-item>
</el-form>
<template #footer>
@@ -71,15 +71,17 @@
</div>
<template #footer>
<el-button @click="() => params.visible = false">取消</el-button>
- <el-button type="primary">确定</el-button>
+ <el-button type="primary" @click="addEvaluateTask">确定</el-button>
</template>
</el-dialog>
</template>
<script>
import _ from 'lodash';
+import { add } from '@/api/evaluate/evaluateTask'
export default {
+ inject: ['type'],
props: {
params: {
type: Object,
@@ -97,20 +99,20 @@
return {
form: {
taskName: '',
- taskType: [],
+ categoryEntities: [],
candidateCutoffTimeStart: '',
candidateCutoffTimeEnd: ''
},
taskTypeForm: {
- title: '',
- introduction: '',
- number: ''
+ categoryName: '',
+ standard: '',
+ peopleNum: ''
},
rules: {
taskName: [
{ required: true, message: '请输入任务名称', trigger: 'click' },
],
- taskType: [
+ categoryEntities: [
{ required: true, message: '任务类别不可为空', trigger: 'click' },
],
candidateCutoffTimeStart: [
@@ -121,13 +123,13 @@
]
},
taskTypeRules: {
- title: [
+ categoryName: [
{ required: true, message: '请输入类别', trigger: 'click' }
],
- introduction: [
+ standard: [
{ required: true, message: '请输入认定标准', trigger: 'click' }
],
- number: [
+ peopleNum: [
{ required: true, message: '请输入名额', trigger: 'click' }
]
},
@@ -143,7 +145,7 @@
},
deleteTaskType(index) {
try {
- this.form.taskType.splice(index, 1)
+ this.form.categoryEntities.splice(index, 1)
this.$message.success('删除当前评优类别成功')
} catch (error) {
this.$message.error('删除当前评优类别失败')
@@ -156,9 +158,24 @@
this.$refs.taskTypeFormRef.validate(vaild => {
if (!vaild) return
const curValue = _.cloneDeep(this.taskTypeForm)
- this.form.taskType.push(curValue)
+ console.log(curValue);
+ this.form.categoryEntities.push(curValue)
+ console.log(this.form.categoryEntities);
this.innerVisible = false
})
+ },
+ addEvaluateTask() {
+ this.$refs.formRef.validate(valid => {
+ if (!valid) return
+ const data = {
+ ..._.cloneDeep(this.form),
+ type: this.type()
+ }
+ add(this.form).then(res => {
+ // if ()
+ console.log(res);
+ })
+ })
}
}
};
diff --git a/src/views/evaluate/evaluateTask.vue b/src/views/evaluate/evaluateTask.vue
index 36e4c07..d4f2c43 100644
--- a/src/views/evaluate/evaluateTask.vue
+++ b/src/views/evaluate/evaluateTask.vue
@@ -7,14 +7,18 @@
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
@refresh-change="refreshChange" @on-load="onLoad">
<template #candidateCutoffTimeEnd="{ row }">
- {{ row.candidateCutoffTimeStart}}
- <div style="text-align: center;">-</div>
- {{ row.candidateCutoffTimeEnd}}
+ <div class="time-box">
+ {{ row.candidateCutoffTimeStart }}
+ <div>-</div>
+ {{ row.candidateCutoffTimeEnd }}
+ </div>
</template>
<template #evaluateCutoffTimeEnd="{ row }">
- {{ row.evaluateCutoffTimeStart}}
- <div style="text-align: center;">-</div>
- {{ row.candidateCutoffTimeEnd}}
+ <div class="time-box">
+ {{ row.evaluateCutoffTimeStart }}
+ <div>-</div>
+ {{ row.evaluateCutoffTimeEnd }}
+ </div>
</template>
<template #menu-left>
<el-button type="primary" icon="el-icon-plus" @click="handleAdd">新增评优任务</el-button>
@@ -24,7 +28,8 @@
</template>
<template #menu="{ size, row, index }">
<el-button type="primary" text plain icon="el-icon-view" @click="viewDateilDialog(row)">详情</el-button>
- <el-button type="primary" text plain icon="el-icon-send" @click="taskPublicDialog(row)">发布</el-button>
+ <el-button type="primary" v-if="!row.type" text plain icon="el-icon-position"
+ @click="taskPublicDialog(row)">发布</el-button>
<el-button type="danger" text plain icon="el-icon-delete" @click="rowDel(row)">删除</el-button>
</template>
</avue-crud>
@@ -108,7 +113,7 @@
// 更改option
!n ? (this.option = option) : (this.option = sectionOption)
this.page.currentPage = 1;
- // this.onLoad(this.page, params);
+ this.onLoad(this.page, params);
},
immediate: true,
},
@@ -169,6 +174,7 @@
}
},
taskPublicDialog(row) {
+ console.log(row);
this.taskPublicParams = {
visible: true,
data: row
@@ -301,8 +307,7 @@
let values = {
...this.query,
- ...params,
- taskName_like: taskName,
+ ...params
};
getList(page.currentPage, page.pageSize, values).then(res => {
const data = res.data.data;
@@ -324,4 +329,9 @@
};
</script>
-<style></style>
+<style lang="scss" scoped>
+.time-box {
+ display: inline-block;
+ text-align: center;
+}
+</style>
--
Gitblit v1.9.3