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