From c57ac1aa704d5700d6949cc73ab424e70b4a9f63 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期四, 20 二月 2025 16:54:49 +0800
Subject: [PATCH] 项目增加项目子类型字段

---
 src/views/projectEngineering/projectLibrary/index.vue |  125 ++++++++++++++++++++++++++++++++---------
 1 files changed, 98 insertions(+), 27 deletions(-)

diff --git a/src/views/projectEngineering/projectLibrary/index.vue b/src/views/projectEngineering/projectLibrary/index.vue
index a5e95d3..29818cd 100644
--- a/src/views/projectEngineering/projectLibrary/index.vue
+++ b/src/views/projectEngineering/projectLibrary/index.vue
@@ -224,6 +224,14 @@
             <template v-if="item.slotName === 'projectType'">
               <dict-tag :options="dict.type.sys_project_type" :value="scope.row.projectType"/>
             </template>
+<!--            &lt;!&ndash; projectSubType鎻掓Ы &ndash;&gt;-->
+<!--            <template v-if="item.slotName === 'projectSubType'">-->
+<!--              {{ getProjectSubType(scope.row.projectType, scope.row.projectSubType) }}-->
+<!--            </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'">
               <dict-tag :options="dict.type.sys_investment_type" :value="scope.row.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.projectCategory==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.projectCategory==='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>
@@ -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'],
   name: "ProjectInfo",
   components: {
     FileDialog
@@ -374,7 +405,7 @@
   created() {
     this.queryParams.importanceType = this.$route.query.importanceType;
     const projectCategory = this.$route.query.projectCategory;
-    if (!projectCategory || projectCategory === '1') {
+    if (!projectCategory || projectCategory === '1' || projectCategory === '6') {
       this.isReserve = true;
     }
     if (projectCategory) {
@@ -384,6 +415,13 @@
       item.index = index + 1;
       item.key = index;
       item.serialNumber = index + 1;
+      if(item.id ==='usedStatus' ){
+        if(projectCategory !== '6') {
+          item.visible = false
+        }  else {
+          item.visible = true
+        }
+      }
       return item;
     });
     this.columns = columns;
@@ -394,6 +432,24 @@
     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 +457,8 @@
     },
     handleDetail(row) {
       this.removeStore();
-      this.$router.push({path: '/projectEngineering/project/ProjectDetails', query: {projectId: row.id,disabled: 'true' }});
+      const audit = this.$route.query.projectCategory==='6'? 1:0
+      this.$router.push({path: '/projectEngineering/project/ProjectDetails', query: {projectId: row.id,disabled: 'true',audit: audit }});
     },
     // 鏂板椤甸潰
     add() {
@@ -423,12 +480,26 @@
         item.index = index + 1;
         item.key = index;
         item.serialNumber = index + 1
+        if(item.id ==='usedStatus' ){
+          if(projectCategory !== '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(projectCategory !== '6') {
+            item.visible = false
+          }  else {
+            item.visible = true
+          }
+        }
         return item;
       });
       //寮哄埗table娓叉煋

--
Gitblit v1.8.0