From 0c05abd5373262ff8eb855e046017d37307d3329 Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Mon, 08 Jan 2024 09:27:55 +0800
Subject: [PATCH] 添加部门评优修改
---
src/views/evaluate/components/addSectionTask.vue | 70 +++++++++++++++++++++++++++-------
1 files changed, 55 insertions(+), 15 deletions(-)
diff --git a/src/views/evaluate/components/addSectionTask.vue b/src/views/evaluate/components/addSectionTask.vue
index 6e61728..e8317a6 100644
--- a/src/views/evaluate/components/addSectionTask.vue
+++ b/src/views/evaluate/components/addSectionTask.vue
@@ -5,14 +5,14 @@
<el-form-item label="任务名称" prop="taskName">
<el-input v-model="form.taskName" placeholder="请输入任务名称"></el-input>
</el-form-item>
- <el-form-item label="评优奖项" prop="awards">
- <el-input v-model="form.awards" placeholder="请输入评优奖项"></el-input>
+ <el-form-item label="评优奖项" prop="evaluateAwards">
+ <el-input v-model="form.evaluateAwards" placeholder="请输入评优奖项"></el-input>
</el-form-item>
- <el-form-item label="认定标准描述" prop="remark">
- <el-input v-model="form.remark" type="textarea" placeholder="请输入认定标准描述"></el-input>
+ <el-form-item label="认定标准描述" prop="identificationStandard">
+ <el-input v-model="form.identificationStandard" type="textarea" placeholder="请输入认定标准描述"></el-input>
</el-form-item>
- <el-form-item label="投票人员" prop="employees">
- <el-checkbox-group v-model="form.employees">
+ <el-form-item label="投票人员" prop="pollingPersons">
+ <el-checkbox-group v-model="form.pollingPersons">
<el-checkbox v-for="item in employeeDict" :key="item.id" :label="item.dictKey">
{{ item.dictValue }}
</el-checkbox>
@@ -21,12 +21,12 @@
<el-form-item label="投票时间" required>
<el-form-item class="time-box" prop="candidateCutoffTimeStart">
<el-date-picker v-model="form.candidateCutoffTimeStart" type="datetime" placeholder="请选择任务开始时间"
- style="width: 100%;" />
+ value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%;" />
</el-form-item>
<span class="time-span">至</span>
<el-form-item class="time-box" prop="candidateCutoffTimeEnd">
<el-date-picker v-model="form.candidateCutoffTimeEnd" type="datetime" placeholder="请选择任务结束时间"
- style="width: 100%;" />
+ value-format="YYYY-MM-DD HH:mm:ss" style="width: 100%;" />
</el-form-item>
</el-form-item>
</el-form>
@@ -40,6 +40,7 @@
<script>
import { getDict } from '@/api/dict'
+import { add } from '@/api/evaluate/evaluateTask'
import _ from 'lodash';
export default {
@@ -60,9 +61,9 @@
return {
form: {
taskName: '',
- awards: '',
- remark: '',
- employees: [],
+ evaluateAwards: '',
+ identificationStandard: '',
+ pollingPersons: [],
candidateCutoffTimeStart: '',
candidateCutoffTimeEnd: ''
},
@@ -70,20 +71,52 @@
taskName: [
{ required: true, message: '请输入任务名称', trigger: 'click' },
],
- awards: [
+ evaluateAwards: [
{ required: true, message: '请输入评优奖项', trigger: 'click' },
],
- remark: [
+ identificationStandard: [
{ required: true, message: '请输入认定标准', trigger: 'click' },
],
- employees: [
+ pollingPersons: [
{ required: true, message: '请选择评定人员', trigger: 'click' },
],
candidateCutoffTimeStart: [
{ required: true, message: '请选择任务开始时间', trigger: 'click' },
+ {
+ validator: (rule, value, callback) => {
+ if (value) {
+ const startTime = new Date(value).getTime()
+ const endTime = new Date(this.form.candidateCutoffTimeEnd).getTime()
+ const nowTime = new Date().getTime()
+ if (nowTime > startTime) {
+ callback(new Error('开始时间不能早于当前时间'))
+ } else if (startTime >= endTime) {
+ callback(new Error('结束时间不能早于等于开始时间'))
+ } else {
+ callback()
+ }
+ }
+ }, trigger: 'click'
+ }
],
candidateCutoffTimeEnd: [
{ required: true, message: '请选择任务开始时间', trigger: 'click' },
+ {
+ validator: (rule, value, callback) => {
+ if (value) {
+ const startTime = new Date(this.form.candidateCutoffTimeStart).getTime()
+ const endTime = new Date(value).getTime()
+ const nowTime = new Date().getTime()
+ if (nowTime > endTime) {
+ callback(new Error('结束时间不能早于等于当前时间'))
+ } else if (startTime >= endTime) {
+ callback(new Error('结束时间不能早于等于开始时间'))
+ } else {
+ callback()
+ }
+ }
+ }, trigger: 'click'
+ }
]
},
employeeDict: []
@@ -98,7 +131,14 @@
},
submit() {
this.$refs.formRef.validate(vaild => {
- console.log(this.form);
+ if (!vaild) return
+ const data = _.cloneDeep(this.form)
+ data.pollingPersons = data.pollingPersons.join(',')
+ add(data).then(res => {
+ if (res.data.code !== 200) return
+ this.params.visible = false
+ this.$emit('refreshTable', { currentPage: 1, pageSize: 10 })
+ })
})
},
initDict() {
--
Gitblit v1.9.3