GuLiMmo
2023-12-21 709cac10fe255036f786e2fa76a0290343deb6b6
考核任务页面更新
3 files modified
66 ■■■■■ changed files
src/views/evaluate/components/addCandidate.vue 43 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/addDialog.vue 20 ●●●● patch | view | raw | blame | history
src/views/evaluate/evaluateTask.vue 3 ●●●● patch | view | raw | blame | history
src/views/evaluate/components/addCandidate.vue
@@ -146,27 +146,30 @@
    const { $index, id, deptId } = row
    const params = $props.params.data
    const info = params.candidateNum.find(item => item.deptId === deptId)
    const index = info.users.find(item => item.id === id)
    const index = info.users.findIndex(item => item.id === id)
    info.users.splice(index, 1)
    if (info.val > info.users.length) {
        info.val = info.users.length
    }
    update(params).then(
        () => {
            ElMessage({
                type: 'success',
                message: '操作成功!',
            });
            initData()
            $emit('refreshTable', '')
        },
        error => {
            ElMessage({
                type: 'error',
                message: error,
            });
        }
    );
    // if (info.val === 0) {
    // }
    // if (info.val > info.users.length) {
    //     info.val = info.users.length
    // }
    // update(params).then(
    //     () => {
    //         ElMessage({
    //             type: 'success',
    //             message: '操作成功!',
    //         });
    //         initData()
    //         $emit('refreshTable', '')
    //     },
    //     error => {
    //         ElMessage({
    //             type: 'error',
    //             message: error,
    //         });
    //     }
    // );
}
watch(() => $props.params.visible, (val) => {
src/views/evaluate/components/addDialog.vue
@@ -1,5 +1,5 @@
<template>
    <el-dialog v-model="params.visible" :title="params.title" width="60%" destroy-on-close>
    <el-dialog v-model="params.visible" :rules="rules" :title="params.title" width="60%" destroy-on-close>
        <div class="content">
            <el-form :model="addForm" label-width="130px" :rules="rules" ref="addFormRef">
                <el-form-item label="任务名称:" prop="taskName">
@@ -19,7 +19,8 @@
                </el-form-item> -->
                <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"
                        <el-option v-for="dept in depts" :key="dept.deptId"
                            :label="dept.employees.length === 0 ? (dept.deptName + '(当前部门下员工人数为0)') : dept.deptName"
                            :value="dept" :disabled="dept.employees.length === 0"></el-option>
                    </el-select>
                    <div class="select-list">
@@ -55,7 +56,7 @@
        <template #footer>
            <span class="dialog-footer">
                <el-button @click="params.visible = false">取消</el-button>
                <el-button type="primary" @click="params.isEdit ? handleEdit() : handleSubmit()">确认</el-button>
                <el-button type="primary" @click="submitOrEdit">确认</el-button>
            </span>
        </template>
    </el-dialog>
@@ -122,7 +123,7 @@
                    { required: true, message: '请选择评优类型', trigger: 'blur' }
                ],
                candidateNum: [
                    { required: true, message: '请选择候选人截止日期', trigger: 'click' }
                    { required: true, message: '请选择候选人', trigger: 'click' }
                ],
                candidateCutoffTime: [
                    { required: true, message: '请选择候选人截止日期', trigger: 'click' },
@@ -181,6 +182,15 @@
        },
    },
    methods: {
        submitOrEdit() {
            const { candidateNum } = this.addForm
            const isExist = candidateNum.find(item => item.val === void 0 || item.val === 0 || item.users.length === 0)
            if (isExist) {
                this.$message.warning(`${isExist.deptName}候选人人数不可为空或者0`)
            } else {
                this.params.isEdit ? this.handleEdit() : this.handleSubmit()
            }
        },
        handleSubmit() {
            this.$refs.addFormRef.validate(valid => {
                add(this.addForm).then(
@@ -236,7 +246,7 @@
                        deptList.push(item);
                        if (item.children) {
                            item.children.forEach(ic => {
                                ic.title = item.title +'/'+ ic.title;
                                ic.title = item.title + '/' + ic.title;
                            })
                            deptList = deptList.concat(item.children);
                            delete item.children;
src/views/evaluate/evaluateTask.vue
@@ -15,7 +15,7 @@
      <template #menu="{ size, row, index }">
        <el-button type="primary" text plain icon="el-icon-edit" @click="editDialog(row)">编辑</el-button>
        <el-button type="primary" text plain icon="el-icon-position" @click="publicTimeBtn(row)" v-if="row.status === 2">发布</el-button>
        <el-button type="primary" v-if="row.type === 0" text plain icon="el-icon-plus" @click="addCandidateHandle(row)">新增候选人</el-button>
        <!-- <el-button type="primary" v-if="row.type === 0" text plain icon="el-icon-plus" @click="addCandidateHandle(row)">新增候选人</el-button> -->
        <el-button type="primary" text plain icon="el-icon-download">导出</el-button>
      </template>
    </avue-crud>
@@ -317,7 +317,6 @@
        const result = deptResult.data.data;
        let deptList = [];
        result.forEach(dept => {
          console.log(dept);
          if (dept.children) {
            deptList = result.concat(dept.children);
            delete dept.children;