From c17dba9251df86e0fe23afe87ef540c493fae219 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 25 二月 2025 16:08:40 +0800
Subject: [PATCH] treeselect禁用设置

---
 src/views/projectEngineering/projectLibrary/index.vue |  154 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 116 insertions(+), 38 deletions(-)

diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue
index c4c907e..2e03b8e 100644
--- a/src/views/projectEngineering/projectLibrary/index.vue
+++ b/src/views/projectEngineering/projectLibrary/index.vue
@@ -198,7 +198,7 @@
       @selection-change="handleSelectionChange"
       height="100%"
       sortable="custom"
-      :show-overflow-tooltip="true">
+      >
       <el-table-column type="selection" width="55" align="center"/>
       <!-- 鍔ㄦ�佸垪 -->
       <el-table-column
@@ -216,13 +216,21 @@
             <template v-if="item.slotName === 'projectStatus'">
               <dict-tag :options="dict.type.sys_project_status" :value="scope.row.projectStatus"/>
             </template>
-            <!-- projectColorCode鎻掓Ы -->
-            <template v-if="item.slotName === 'projectColorCode'">
+            <!-- coding鎻掓Ы -->
+            <template v-if="item.slotName === 'coding'">
               <dict-tag :options="dict.type.sys_project_code" :value="scope.row.coding"/>
             </template>
             <!-- projectType鎻掓Ы -->
             <template v-if="item.slotName === 'projectType'">
               <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
+            </template>
+            <!-- projectSubType鎻掓Ы -->
+            <template v-if="item.slotName === 'attractInvestment'">
+              <dict-tag :options="dict.type.sys_project_type" :value="scope.row.attractInvestment"/>
+            </template>
+            <!-- constructionNature鎻掓Ы -->
+            <template v-if="item.slotName === 'constructionNature'">
+              <dict-tag :options="dict.type.construction_nature" :value="scope.row.constructionNature"/>
             </template>
             <!-- investType鎻掓Ы -->
             <template v-if="item.slotName === 'investType'">
@@ -236,38 +244,60 @@
             <template v-if="item.slotName === 'planStartTime'">
               {{ scope.row.planStartTime ? scope.row.planStartTime.split('-')[0] + '骞�' : '' }}
             </template>
+            <!-- usedStatus鎻掓Ы -->
+            <template v-if="item.slotName === 'usedStatus'">
+              <dict-tag :options="dict.type.sys_used_status" :value="scope.row.usedStatus"/>
+            </template>
           </template>
           <!-- 榛樿鏄剧ず -->
           <span v-else>{{ scope.row[item.id] }}</span>
         </template>
       </el-table-column>
-
+      <el-table-column v-if="this.$route.query.projectPhase==6" label="瀹℃牳澶囨敞" width="140" align="center" prop="remark"/>
       <!-- 鎿嶄綔鍒� -->
       <el-table-column label="鎿嶄綔" width="140" align="center">
         <template slot-scope="scope">
-          <el-button
-            size="medium"
-            type="text"
-            icon="el-icon-view"
-            @click="handleDetail(scope.row)"
-          >
-          </el-button>
-          <el-button
-            v-if="isReserve"
-            size="medium"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-          >
-          </el-button>
-          <el-button
-            v-if="isReserve"
-            size="medium"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-          >
-          </el-button>
+          <el-tooltip class="item" effect="dark" content="瀹℃牳" placement="top">
+            <el-button
+              v-if="scope.row.auditRole && $route.query.projectPhase==='6' && scope.row.usedStatus === 1"
+              size="medium"
+              type="text"
+              icon="el-icon-circle-check"
+              @click="handleDetail(scope.row)"
+            >
+            </el-button>
+          </el-tooltip>
+          <el-tooltip class="item" effect="dark" content="璇︽儏" placement="top">
+            <el-button
+              size="medium"
+              type="text"
+              icon="el-icon-view"
+              @click="handleDetail(scope.row)"
+            >
+            </el-button>
+          </el-tooltip>
+          <el-tooltip class="item" effect="dark" content="缂栬緫" placement="top">
+            <el-button
+              v-if="isReserve"
+              v-hasRole="['user']"
+              size="medium"
+              type="text"
+              icon="el-icon-edit"
+              @click="handleUpdate(scope.row)"
+            >
+            </el-button>
+          </el-tooltip>
+          <el-tooltip class="item" effect="dark" content="鍒犻櫎" placement="top">
+            <el-button
+              v-if="isReserve"
+              size="medium"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleDelete(scope.row)"
+            >
+            </el-button>
+          </el-tooltip>
+
         </template>
       </el-table-column>
     </el-table>
@@ -277,7 +307,7 @@
       :total="total"
       :page.sync="queryParams.currentPage"
       :limit.sync="queryParams.pageSize"
-      @pagination="getList"
+      @pagination="() => getList(null)"
     />
 
     <FileDialog
@@ -295,11 +325,12 @@
 import {current, currentRest} from '@/views/projectEngineering/projectLibrary/list';
 import FileDialog from '@/views/projectEngineering/projectLibrary/component/FileDialog';
 import Cookies from "js-cookie";
+import {getChildList} from "@/api/system/dict/data";
 
 export default {
   dicts: ['sys_administrative_divisions', 'sys_investment_type', 'sys_project_phases',
     'sys_funding_type', 'sys_association_status', 'sys_project_status', 'sys_project_code',
-    'sys_project_tags', 'sys_key_categories', 'sys_project_type'],
+    'sys_project_tags', 'sys_key_categories', 'sys_project_type','sys_used_status', 'construction_nature', 'attract_investment'],
   name: "ProjectInfo",
   components: {
     FileDialog
@@ -341,6 +372,7 @@
       queryParams: {
         currentPage: 1,
         pageSize: 10,
+        center: 0,  // 1 浠h〃椤圭洰涓績
         projectName: null,
         projectCode: null,
         projectStartTime: null,
@@ -350,7 +382,7 @@
         projectType: '', // 椤圭洰绫诲瀷
         importanceType: '', // 閲嶇偣鍒嗙被
         projectStatus: '', // 椤圭洰鐘舵��
-        projectColorCode: '', // 椤圭洰鐮�
+        coding: '', // 椤圭洰鐮�
         investmentType: '', // 璧勯噾绫诲瀷
         projectPhase: '', // 椤圭洰闃舵
         investType: '', // 鎶曡祫绫诲埆
@@ -373,27 +405,55 @@
   },
   created() {
     this.queryParams.importanceType = this.$route.query.importanceType;
-    const projectCategory = this.$route.query.projectCategory;
-    if (!projectCategory || projectCategory === '1') {
+    const projectPhase = this.$route.query.projectPhase;
+    if (projectPhase === '6') {
+      this.queryParams.center = 1
+    }
+    if (!projectPhase || projectPhase === '1' || projectPhase === '6') {
       this.isReserve = true;
     }
-    if (projectCategory) {
+    if (projectPhase) {
       this.isProjectCategory = true;
     }
     const columns = current.map((item, index) => {
       item.index = index + 1;
       item.key = index;
       item.serialNumber = index + 1;
+      if(item.id ==='usedStatus' ){
+        if(projectPhase !== '6') {
+          item.visible = false
+        }  else {
+          item.visible = true
+        }
+      }
       return item;
     });
     this.columns = columns;
     this.defaultColumns = JSON.parse(JSON.stringify(columns));
-    this.getList();
+    this.getList(this.$route.query.projectPhase == '5' || this.$route.query.projectPhase == '6' ? null : this.$route.query.projectPhase);
   },
   beforeDestroy() {
     this.removeStore();
   },
   methods: {
+    // async getProjectSubType(projectType, projectSubType) {
+    //   if (!projectType || !projectSubType) {
+    //     return ''
+    //   }
+    //   let value = '';
+    //   // 鏍规嵁椤圭洰绫诲瀷鏌ュ瓙绫诲瀷
+    //   const projectTypeItem = this.dict.type.sys_project_type.find(item => item.raw.dictValue === projectType);
+    //   if (projectTypeItem) {
+    //     const res = await getChildList(projectTypeItem.raw.dictCode);
+    //     const target = res.data.filter(item => item.dictValue === projectSubType);
+    //     if (target && target.length > 0) {
+    //       value = target[0].dictLabel;
+    //       console.log(value);
+    //     }
+    //   }
+    //   console.log("鎷垮埌鍊间簡", value);
+    //   return value;
+    // },
     /** 淇敼鎸夐挳鎿嶄綔 */
     handleUpdate(row) {
       this.removeStore();
@@ -401,7 +461,8 @@
     },
     handleDetail(row) {
       this.removeStore();
-      this.$router.push({path: '/projectEngineering/project/ProjectDetails', query: {projectId: row.id,disabled: 'true' }});
+      const audit = this.$route.query.projectPhase==='6'? 1:0
+      this.$router.push({path: '/projectEngineering/project/ProjectDetails', query: {projectId: row.id,disabled: 'true',audit: audit }});
     },
     // 鏂板椤甸潰
     add() {
@@ -419,16 +480,31 @@
     },
     // 閲嶇疆鎺掑簭鐨勬柟娉�
     handleResetSort() {
+      const projectPhase = this.$route.query.projectPhase;
       this.defaultColumns = currentRest.map((item, index) => {
         item.index = index + 1;
         item.key = index;
         item.serialNumber = index + 1
+        if(item.id ==='usedStatus' ){
+          if(projectPhase !== '6') {
+            item.visible = false
+          }  else {
+            item.visible = true
+          }
+        }
         return item;
       });
       this.columns = currentRest.map((item, index) => {
         item.index = index + 1;
         item.key = index;
         item.serialNumber = index + 1
+        if(item.id ==='usedStatus' ){
+          if(projectPhase !== '6') {
+            item.visible = false
+          }  else {
+            item.visible = true
+          }
+        }
         return item;
       });
       //寮哄埗table娓叉煋
@@ -472,9 +548,11 @@
       this.popoverValue = false;
     },
     /** 鏌ヨ椤圭洰绠$悊鍩虹淇℃伅鍒楄〃 */
-    getList() {
+    getList(projectPhase) {
       this.loading = true;
-      this.queryParams.projectCategory = this.$route.query.projectCategory;
+      if (projectPhase) {
+        this.queryParams.projectPhase = projectPhase;
+      }
       if (this.timeRange) {
         this.queryParams.projectStartTime = this.timeRange[0]
         this.queryParams.projectEndTime = this.timeRange[1]
@@ -534,7 +612,7 @@
     /** 鎼滅储鎸夐挳鎿嶄綔 */
     handleQuery() {
       this.queryParams.currentPage = 1;
-      this.getList();
+      this.getList(null);
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {

--
Gitblit v1.8.0