GuLiMmo
2024-01-08 0c05abd5373262ff8eb855e046017d37307d3329
添加部门评优修改
2 files modified
102 ■■■■ changed files
src/views/evaluate/components/addIndividualTask.vue 32 ●●●●● patch | view | raw | blame | history
src/views/evaluate/components/addSectionTask.vue 70 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/addIndividualTask.vue
@@ -117,9 +117,41 @@
                ],
                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: {
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() {