From f7f0c6272b4c329fb0895998603e4174885ff322 Mon Sep 17 00:00:00 2001
From: GuLiMmo <2820890765@qq.com>
Date: Wed, 13 Dec 2023 17:44:47 +0800
Subject: [PATCH] 考核权重页面修改

---
 src/views/assessment/assessmentTaskSetting.vue |   77 ++++++++++++++++++++++++++++++--------
 1 files changed, 61 insertions(+), 16 deletions(-)

diff --git a/src/views/assessment/assessmentTaskSetting.vue b/src/views/assessment/assessmentTaskSetting.vue
index 057a7b3..6eda6e7 100644
--- a/src/views/assessment/assessmentTaskSetting.vue
+++ b/src/views/assessment/assessmentTaskSetting.vue
@@ -2,9 +2,9 @@
     <basic-container>
         <template v-if="isWeight">
             <avue-tabs :option="taskTypeList" @change="tabChange"></avue-tabs>
-            <avue-crud ref="crud" v-model="form" v-model:search="search" :option="option" :data="data" v-model:page="page"
-                @search-change="searchChange" @search-reset="searchReset" @current-change="currentChange"
-                @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+            <avue-crud ref="crud" v-model="form" v-model:search="search" :option="!defaultTaskType ? option : deptOption"
+                :data="data" v-model:page="page" @search-change="searchChange" @search-reset="searchReset"
+                @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
                 <template #menu="{ size, row, index }">
                     <el-button type="primary" size="small" @click="handleWeight(row)">
                         考核权重
@@ -21,7 +21,7 @@
 <script>
 import assessmentWeight from './components/assessmentWeight.vue'
 import { getList } from '@/api/system/user.js'
-import { getdeptList } from '@/api/assessment/assessmentSet.js'
+import { getLazyList } from '@/api/system/dept';
 
 export default {
     components: {
@@ -116,6 +116,36 @@
                     },
                 ]
             },
+            deptOption: {
+                height: 'auto',
+                calcHeight: 32,
+                tip: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                addBtn: false,
+                viewBtn: false,
+                editBtn: false,
+                delBtn: false,
+                menuWidth: 200,
+                column: [
+                    {
+                        label: '部门名称',
+                        prop: 'deptName',
+                        search: true,
+                    },
+                    {
+                        label: '部门全称',
+                        prop: 'fullName',
+                        // search: true,
+                    },
+                    {
+                        label: '机构类型',
+                        prop: 'deptCategory',
+                        type: 'input'
+                    }
+                ],
+            },
             page: {
                 pageSize: 10,
                 currentPage: 1,
@@ -139,12 +169,16 @@
                     }
                 ]
             },
-            isDeptRequest: true
         }
     },
     watch: {
         defaultTaskType: {
             handler(n) {
+                this.form = {}
+                this.query = {}
+                this.search = {}
+                this.weightParams = {}
+                this.page.currentPage = 1
                 this.onLoad(this.page, this.query);
             },
             immediate: true,
@@ -153,16 +187,19 @@
     methods: {
         handleWeight(row) {
             this.weightParams = { ...row }
+            this.defaultTaskType && (this.weightParams = { ...row, isDept: true })
             this.isWeight = false
         },
         changeIs(is) {
             this.isWeight = is
         },
         searchChange(params, done) {
-            params.deptId = params.deptName || ''
-            params.postId = params.postName || ''
-            delete params.deptName
-            delete params.postName
+            if (!this.defaultTaskType) {
+                params.deptId = params.deptName || ''
+                params.postId = params.postName || ''
+                delete params.deptName
+                delete params.postName
+            }
             this.query = params;
             this.page.currentPage = 1;
             this.onLoad(this.page, params);
@@ -189,22 +226,30 @@
                 ...this.query,
                 ...params
             };
-            !this.defaultTaskType && getList(page.currentPage, page.pageSize, values).then(res => {
+            this.data = []
+            !this.defaultTaskType && getList(page.currentPage, page.pageSize, values, values.deptId).then(res => {
                 const data = res.data.data;
                 this.page.total = data.total;
                 this.data = data.records;
                 this.loading = false;
             });
-            this.defaultTaskType && getdeptList(page.currentPage, page.pageSize, values).then(res => {
-                const data = res.data.data;
-                this.page.total = data.total;
-                this.data = data.records;
+            this.defaultTaskType && getLazyList(this.parentId, values).then(res => {
+                let deptRes = res.data.data
+                // 扁平化
+                res.data.data.forEach(item => {
+                    if (item.children) {
+                        deptRes = deptRes.concat(item.children)
+                        delete item.children
+                    } else {
+                        deptRes.push(item)
+                    }
+                })
+                this.data = deptRes;
                 this.loading = false;
-            })
+            });
         },
         tabChange(value) {
             this.defaultTaskType = value.prop
-            console.log(!!this.defaultTaskType);
         }
     }
 }

--
Gitblit v1.9.3