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 {