From 338b1ef8bd5cfc79be84bc0b7dc16f27f1d92f19 Mon Sep 17 00:00:00 2001
From: rdpnr_hemingxia <rdpnr_he.mingxia@unisinsight.com>
Date: Fri, 21 Mar 2025 18:00:39 +0800
Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86=E8=B0=83?=
 =?UTF-8?q?=E6=95=B4=EF=BC=8C=E9=9C=80=E6=B1=82=E7=AE=A1=E7=90=86=E8=B5=B7?=
 =?UTF-8?q?=E6=AD=A5=E7=BC=96=E5=86=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/utils/api.js                      |   7 ++
 src/views/project/list.vue            | 104 +++++++++++++++-----------
 src/views/projectBank/projectUser.vue |   2 +-
 3 files changed, 70 insertions(+), 43 deletions(-)

diff --git a/src/utils/api.js b/src/utils/api.js
index 7ebfd68..537014a 100644
--- a/src/utils/api.js
+++ b/src/utils/api.js
@@ -196,4 +196,11 @@ export const taskApi = {
 
 
 
+}
+export const demandApi = {
+    getDemandTree: (data) => request({
+        url: `/projectVersion/tree`,
+        method: 'get',
+        params: data,
+    }),
 }
diff --git a/src/views/project/list.vue b/src/views/project/list.vue
index f2f8b63..37b928f 100644
--- a/src/views/project/list.vue
+++ b/src/views/project/list.vue
@@ -1,5 +1,15 @@
 <template>
   <div class="project-list">
+    <div class="table-actions mb10" style="text-align: right;">
+      <el-button
+        type="primary"
+        size="mini"
+        @click="addProject"
+        v-hasPermi="['project:list:add']"
+        style="height: 30px;"
+        >+ 新建项目</el-button
+      >
+    </div>
     <div class="search-bar">
       <el-form
         :inline="true"
@@ -33,23 +43,14 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item class="search-buttons">
-          <el-button type="primary" @click="onSearch">查询</el-button>
-          <el-button @click="onReset">重置</el-button>
+        <el-form-item class="formBtn">
+          <el-button type="primary" size="medium" @click="onSearch">查询</el-button>
+          <el-button @click="onReset" size="medium">重置</el-button>
         </el-form-item>
       </el-form>
     </div>
 
-    <div class="table-actions mb10">
-      <el-button
-        type="primary"
-        size="mini"
-        @click="addProject"
-        v-hasPermi="['project:list:add']"
-        style="height: 36px;"
-        >+ 新建项目</el-button
-      >
-    </div>
+
     <div class="f1 df">
       <CustomTable
         :columns="columns"
@@ -64,6 +65,13 @@
       >
         <template slot="operation" slot-scope="{ row }">
           <div class="operation-buttons">
+            <el-button
+              @click="handleDemand(row)"
+              type="text"
+              size="mini"
+              v-hasPermi="['project:list:demand']"
+              >需求管理</el-button
+            >
             <el-button
               @click="handleEdit(row)"
               type="text"
@@ -76,6 +84,7 @@
               size="mini"
               @click="handleDelete(row)"
               v-hasPermi="['project:list:delete']"
+              style="color: #666;"
               >删除</el-button
             >
           </div>
@@ -134,34 +143,25 @@ export default {
           callback: (value) => {
             let status = this.statusList.find(
               (ele) => ele.dictValue == value
-            )?.dictLabel;
+            )?.dictLabel||'';
             let color = "#333";
-            // switch (status) {
-            //   case "待启动":
-            //     color = "#fa721d"; // 橙色
-            //     break;
-            //   case "已提需求-待开发":
-            //     color = "#dd242a"; // 红色
-            //     break;
-            //   case "已提需求-开发中":
-            //     color = "#1686d8"; // 绿色
-            //     break;
-            //   case "已提需求-已完成":
-            //     color = "#5cb85c"; // 红色
-            //     break;
-            //   case "开发完成-待验收":
-            //     color = "#f7c731"; // 黄色
-            //     break;
-            //   case "开发完成-已验收":
-            //     color = "#8C33FF"; // 蓝色
-            //     break;
-            //   case "开发完成-已计收":
-            //     color = "#08fb9e"; // 绿色
-            //     break;
-            //   default:
-            //     color = "#000"; // 默认白色
-            //     break;
-            // }
+            switch (status) {
+              case "待启动":
+                color = "#999999"; // 橙色
+                break;
+              case "进行中":
+                color = "#FF7D00"; // 红色
+                break;
+              case "已完成":
+                color = "#50B6AA"; // 绿色
+                break;
+              case "#50B6AA":
+                color = "#999999"; // 红色
+                break;
+              default:
+                color = "#333"; // 默认白色
+                break;
+            }
             return `<span style="color: ${color}">${status}</span>`;
           },
         },
@@ -170,7 +170,7 @@ export default {
         {
           prop: "operation",
           label: "操作",
-          width: "150",
+          width: "250",
           fixed: "right",
           className: "operation-column",
         },
@@ -201,6 +201,13 @@ export default {
         path: "/project/detail",
       });
     },
+    handleDemand(row){
+      this.$router.push({
+        path: "/demandManage",
+        query: { id: row.projectId },
+      });
+      
+    },
     handleEdit(row) {
       this.$router.push({
         path: "/project/detail",
@@ -287,8 +294,16 @@ export default {
 .demo-form-inline .el-form-item {
   // margin-right: 50px; /* 将间距设置为 30px */
   margin-bottom: 0;
+  border: 1px solid #ccc;
+  padding-left: 10px;
+  border-radius: 4px;
+  ::v-deep .el-form-item__label{
+    color: #999 !important;
+  }
+}
+.formBtn{
+  border: none !important;
 }
-
 .demo-form-inline .el-form-item:last-child {
   margin-right: 0; /* 移除最后一个元素的右边距 */
 }
@@ -304,10 +319,15 @@ export default {
 .form-item ::v-deep .el-input,
 .form-item ::v-deep .el-select {
   // width: 100%;
+  input,select{
+    border: none !important;
+
+  }
 }
 
 .search-buttons {
   white-space: nowrap;
+
 }
 
 ::v-deep .operation-buttons .el-button {
diff --git a/src/views/projectBank/projectUser.vue b/src/views/projectBank/projectUser.vue
index 64a0a44..4924933 100644
--- a/src/views/projectBank/projectUser.vue
+++ b/src/views/projectBank/projectUser.vue
@@ -74,7 +74,7 @@ import { projectBank, projectApi } from "@/utils/api";
 export default {
   name: "ProjectUser",
   components: {
-    CustomTable,
+    CustomTable,  
   },
   data() {
     return {