From d13cebe7fbadd396e91a989af331df8a8e7b40f8 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 21 Jan 2025 11:40:42 +0800
Subject: [PATCH] 考核结果查看详情
---
src/views/evaluate/components/addIndividualTask.vue | 97 +++++++++++++++++++++++++++++++++++-------------
1 files changed, 71 insertions(+), 26 deletions(-)
diff --git a/src/views/evaluate/components/addIndividualTask.vue b/src/views/evaluate/components/addIndividualTask.vue
index 7e98c76..600ec37 100644
--- a/src/views/evaluate/components/addIndividualTask.vue
+++ b/src/views/evaluate/components/addIndividualTask.vue
@@ -5,26 +5,26 @@
<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>
+ <div class="title">奖项</div>
<div class="introduction">认定标准</div>
<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-number :min="1" v-model="taskTypeForm.peopleNum" placeholder="请输入名额数量" controls-position="right" style="width: 100%;"></el-input-number>
</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,
@@ -87,8 +89,6 @@
return {
visible: false,
title: '添加个人评优任务',
- isEdit: false,
- addForm: {},
};
},
},
@@ -97,37 +97,71 @@
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: [
{ 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'
+ }
]
},
taskTypeRules: {
- title: [
+ categoryName: [
{ required: true, message: '请输入类别', trigger: 'click' }
],
- introduction: [
+ standard: [
{ required: true, message: '请输入认定标准', trigger: 'click' }
],
- number: [
+ peopleNum: [
{ required: true, message: '请输入名额', trigger: 'click' }
]
},
@@ -143,7 +177,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 +190,20 @@
this.$refs.taskTypeFormRef.validate(vaild => {
if (!vaild) return
const curValue = _.cloneDeep(this.taskTypeForm)
- this.form.taskType.push(curValue)
+ this.form.categoryEntities.push(curValue)
this.innerVisible = false
})
+ },
+ addEvaluateTask() {
+ this.$refs.formRef.validate(valid => {
+ if (!valid) return
+ add(this.form).then(res => {
+ if (res.data.code !== 200) return
+ this.$emit('refreshTable', { currentPage: 1, pageSize: 10 })
+ this.$message.success('添加成功')
+ this.params.visible = false
+ })
+ })
}
}
};
--
Gitblit v1.9.3