From 9f53be1dfd7f55ca43fa4e8229c371e8ed29a5ba Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Tue, 16 Jan 2024 09:21:12 +0800
Subject: [PATCH] 更新

---
 src/views/assessment/assessmentTask.vue |   98 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 85 insertions(+), 13 deletions(-)

diff --git a/src/views/assessment/assessmentTask.vue b/src/views/assessment/assessmentTask.vue
index d368871..47b1f72 100644
--- a/src/views/assessment/assessmentTask.vue
+++ b/src/views/assessment/assessmentTask.vue
@@ -1,6 +1,6 @@
 <template>
   <basic-container>
-    <template v-if="isResult">
+    <template v-if="curIndex === 0">
       <avue-tabs ref="tabs" :option="taskTypeList" @change="tabChange"></avue-tabs>
       <avue-crud :option="option" v-model:search="search" v-model:page="page" v-model="form" :table-loading="loading"
         :data="data" :permission="permissionList" :before-open="beforeOpen" ref="crud" @row-update="rowUpdate"
@@ -8,7 +8,7 @@
         @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
         @refresh-change="refreshChange" @on-load="onLoad">
         <template #isAssessmentOk="{ row }">
-          <el-tag :type="row.isAssessmentOk ? 'success' : ''" effect="dark">{{ row.isAssessmentOk ? '已完成' : '进行中' }}</el-tag>
+          <el-tag :type="setTaskState(row.isAssessmentOk).type" effect="dark">{{ setTaskState(row.isAssessmentOk).text }}</el-tag>
         </template>
         <template #menu-left>
           <el-button type="danger" icon="el-icon-delete" plain v-if="permission.assessmentTask_delete"
@@ -19,16 +19,39 @@
             导出
           </el-button> -->
         </template>
-        <template #menu="{ row }">
-          <el-button type="primary" icon="el-icon-plus" size="small" @click="handleTaskResult(row)">
+        <template #menu="{ row, index, size }">
+          <el-button type="primary" icon="el-icon-setting" text @click="handleTaskSetting(row)">
+            考核设置
+          </el-button>
+          <el-button type="primary" icon="el-icon-view" text @click="handleAssessorDetails(row)">
             考核结果
+          </el-button>
+          <el-button type="primary" icon="el-icon-view" text @click="handleAssessorList(row)">
+            考核详情
+          </el-button>
+          <el-button type="success" icon="el-icon-edit" text v-if="row.isAssessmentOk === -1"
+            @click="$refs.crud.rowEdit(row,index)">
+            编辑
+          </el-button>
+          <!-- <el-button type="primary" icon="el-icon-view" text @click="handleTaskResult(row)">
+            考核结果
+          </el-button> -->
+          <el-button type="danger" icon="el-icon-delete" text @click="rowDel(row)">
+            删除
           </el-button>
         </template>
       </avue-crud>
     </template>
-    <template v-else>
-      <taskResult :params="resultParams" @changeIs="changeIs" />
+    <template v-else-if="curIndex === 1">
+      <assessmentTaskSetting :params="resultParams" @changeIs="changeIs"/>
     </template>
+    <!-- <template v-else>
+      <taskResult :params="resultParams" @changeIs="changeIs" />
+    </template> -->
+    <!-- 考核结果详情 -->
+    <assessorDetails :params="detailsParams" />
+    <!-- 考核人员详情 -->
+    <assessorDialog :params="assessorDialogParams" />
   </basic-container>
 </template>
 
@@ -43,14 +66,22 @@
 import NProgress from 'nprogress';
 import 'nprogress/nprogress.css';
 import taskResult from './components/taskResult.vue'
+import addTaskDialog from "./components/addTaskDialog.vue";
+import assessmentTaskSetting from "./components/assessmentTaskSetting.vue";
+import assessorDetails from "./components/assessorDetails.vue";
+import assessorDialog from "./components/assessorDialog.vue";
 
 export default {
   components: {
-    taskResult
+    taskResult,
+    addTaskDialog,
+    assessmentTaskSetting,
+    assessorDetails,
+    assessorDialog
   },
   data() {
     return {
-      isResult: true,
+      curIndex: 0,
       form: {},
       query: {},
       search: {},
@@ -77,7 +108,9 @@
             prop: 1
           }
         ]
-      }
+      },
+      detailsParams: {},
+      assessorDialogParams: {}
     };
   },
   watch: {
@@ -120,14 +153,24 @@
       return ids.join(",");
     }
   },
+  provide() {
+    return {
+      type: () => this.defaultTaskType
+    }
+  },
   methods: {
-    handleTaskResult(row) {
-      this.isResult = false;
+    handleTaskSetting(row) {
+      this.curIndex = 1;
       this.resultParams = row
       this.resultParams.type = this.defaultTaskType
     },
-    changeIs(is) {
-      this.isResult = is
+    // handleTaskResult(row) {
+    //   this.curIndex = 2;
+    //   this.resultParams = row
+    //   this.resultParams.type = this.defaultTaskType
+    // },
+    changeIs(num) {
+      this.curIndex = num
       this.$nextTick(() => {
         this.$refs.tabs.active = this.defaultTaskType.toString()
       })
@@ -283,6 +326,35 @@
     },
     tabChange(value) {
       this.defaultTaskType = value.prop
+    },
+    setTaskState(state) {
+      const status = {
+        '-1': {
+          text: '未开始',
+          type: 'warning'
+        },
+        '0': {
+          text: '进行中',
+          type: ''
+        },
+        '1': {
+          text: '已完成',
+          type: 'success'
+        },
+      }
+      return status[state]
+    },
+    handleAssessorDetails(row) {
+      this.detailsParams = {
+        visible: true,
+        data: row
+      }
+    },
+    handleAssessorList(row) {
+      this.assessorDialogParams = {
+        visible: true,
+        data: row
+      }
     }
   }
 };

--
Gitblit v1.9.3