diff --git a/src/views/project/demandManage/components/MainContentTable.vue b/src/views/project/demandManage/components/MainContentTable.vue index 84d833f..27b57d4 100644 --- a/src/views/project/demandManage/components/MainContentTable.vue +++ b/src/views/project/demandManage/components/MainContentTable.vue @@ -27,6 +27,7 @@ v-model="filters.demandStatus" placeholder="不限" class="filter-select" + clearable > - + @@ -323,6 +334,9 @@ type="date" placeholder="选择日期" value-format="yyyy-MM-dd 23:59:59" + :picker-options="{ + disabledDate: setDateRange, + }" > @@ -358,6 +372,14 @@ export default { type: Array, default: [], }, + minDate: { + type: String, + default: "", + }, + maxDate: { + type: String, + default: "", + }, }, data() { return { @@ -493,13 +515,13 @@ export default { this.editData.projectName = this.projectName; }, handleEdit(row) { - if (row.demandStatus == 4) { - this.$message({ - type: "warning", - message: "需求已关闭,无法编辑!", - }); - return; - } + // if (row.demandStatus == 4) { + // this.$message({ + // type: "warning", + // message: "需求已关闭,无法编辑!", + // }); + // return; + // } this.editData = row; this.editData.projectId = this.projectId; this.editData.projectName = this.projectName; @@ -508,7 +530,7 @@ export default { }, handleDelete(row) { // 实现删除逻辑 - this.$confirm("此操作将永久删除该版本号, 是否继续?", "提示", { + this.$confirm("此操作将永久删除该需求, 是否继续?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", @@ -520,6 +542,7 @@ export default { message: "删除成功!", }); this.getDemandList(); + this.resetList(); }); }) .catch(() => {}); @@ -533,7 +556,7 @@ export default { return; } // 实现批量删除逻辑 - this.$confirm("此操作将永久删除该版本号, 是否继续?", "提示", { + this.$confirm("此操作将永久删除该需求, 是否继续?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", @@ -546,6 +569,7 @@ export default { message: "删除成功!", }); this.getDemandList(); + this.resetList(); }); }); }, @@ -574,8 +598,19 @@ export default { }; if (this.version.type == 0) { param.versionId = this.version.id; - } else { + } else if (this.version.type == 1) { param.id = this.version.id; + } else if (this.version.type == 2) { + param.projectId = this.version.id; + this.filters = { + title: "", + responsiblePersonName: "", + responsiblePersonId: "", + demandStatus: "", + priority: "", + }; + this.currentPage = 1; + this.pageSize = 10; } demandApi.getDemandList(param).then((res) => { this.tableData = res.rows; @@ -589,13 +624,13 @@ export default { { userId: this.filters.responsiblePersonId }, ]; } else if (type == "change") { - if (data.demandStatus == 4) { - this.$message({ - type: "warning", - message: "需求关闭后无法编辑!", - }); - return; - } + // if (data.demandStatus == 4) { + // this.$message({ + // type: "warning", + // message: "需求关闭后无法编辑!", + // }); + // return; + // } this.checkedRow = data; this.currentSelectedUser = [{ userId: data.responsiblePerson }]; } else if (type == "add") { @@ -622,43 +657,43 @@ export default { this.userSelectDialogVisible = false; }, eidtDemandRow(row, label, old) { - if (this.checkedRow.demandStatus == 4) { - this.$confirm("需求关闭后将无法操作和使用, 是否继续?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", + // if (this.checkedRow.demandStatus == 4) { + // this.$confirm("需求关闭后将无法操作和使用, 是否继续?", "提示", { + // confirmButtonText: "确定", + // cancelButtonText: "取消", + // type: "warning", + // }) + // .then(() => { + // demandApi + // .eidtDemand(this.checkedRow) + // .then((res) => { + // this.$message({ + // message: "修改成功", + // type: "success", + // }); + // this.getDemandList(); + // }) + // .catch((res) => { + // row[label] = old; + // }); + // }) + // .catch(() => { + // row[label] = old; + // }); + // } else { + demandApi + .eidtDemand(this.checkedRow) + .then((res) => { + this.$message({ + message: "修改成功", + type: "success", + }); + this.getDemandList(); }) - .then(() => { - demandApi - .eidtDemand(this.checkedRow) - .then((res) => { - this.$message({ - message: "修改成功", - type: "success", - }); - this.getDemandList(); - }) - .catch((res) => { - row[label] = old; - }); - }) - .catch(() => { - row[label] = old; - }); - } else { - demandApi - .eidtDemand(this.checkedRow) - .then((res) => { - this.$message({ - message: "修改成功", - type: "success", - }); - this.getDemandList(); - }) - .catch((res) => { - row[label] = old; - }); - } + .catch((res) => { + row[label] = old; + }); + // } }, async getDictData() { const res1 = await systemApi.getDictData("demand_status"); @@ -689,60 +724,60 @@ export default { }); return; } - if (this.editData.demandStatus == 4) { - this.$confirm("需求关闭后将无法操作和使用, 是否继续?", "提示", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }).then(() => { - if (this.editData.id) { - demandApi.eidtDemand(this.editData).then((res) => { - this.$message({ - message: "操作成功", - type: "success", - }); - this.resetList(); - }); - } else { - demandApi.addDemand(this.editData).then((res) => { - this.$message({ - message: "操作成功", - type: "success", - }); - this.resetList(); - }); - } + // if (this.editData.demandStatus == 4) { + // this.$confirm("需求关闭后将无法操作和使用, 是否继续?", "提示", { + // confirmButtonText: "确定", + // cancelButtonText: "取消", + // type: "warning", + // }).then(() => { + // if (this.editData.id) { + // demandApi.eidtDemand(this.editData).then((res) => { + // this.$message({ + // message: "操作成功", + // type: "success", + // }); + // this.resetList(); + // }); + // } else { + // demandApi.addDemand(this.editData).then((res) => { + // this.$message({ + // message: "操作成功", + // type: "success", + // }); + // this.resetList(); + // }); + // } + // }); + // } else { + if (this.editData.id) { + demandApi.eidtDemand(this.editData).then((res) => { + this.$message({ + message: "操作成功", + type: "success", + }); + this.resetList(); }); } else { - if (this.editData.id) { - demandApi.eidtDemand(this.editData).then((res) => { - this.$message({ - message: "操作成功", - type: "success", - }); - this.resetList(); + demandApi.addDemand(this.editData).then((res) => { + this.$message({ + message: "操作成功", + type: "success", }); - } else { - demandApi.addDemand(this.editData).then((res) => { - this.$message({ - message: "操作成功", - type: "success", - }); - this.resetList(); - }); - } + this.resetList(res.data.id); + }); } } + // } }); }, - resetList() { + resetList(id) { let refreshId = ""; if (this.editData.versionId) { refreshId = this.versionList.find( (ele) => this.editData.versionId == ele.id ).nodeId; } else { - refreshId = "-1"; + refreshId = id + "_1"; } this.$emit("refreshTree", refreshId); this.dialogVisibleAdd = false; @@ -783,6 +818,16 @@ export default { } }); }, + setDateRange(day) { + let date = new Date(day).getTime(); + console.log(date, Number(this.minDate)); + + if (date < Number(this.minDate) || date > Number(this.maxDate)) { + return true; + } else { + return false; + } + }, }, created() { this.getDictData(); diff --git a/src/views/project/demandManage/components/SidebarTree.vue b/src/views/project/demandManage/components/SidebarTree.vue index 2e79b5e..aea141a 100644 --- a/src/views/project/demandManage/components/SidebarTree.vue +++ b/src/views/project/demandManage/components/SidebarTree.vue @@ -55,18 +55,12 @@ @@ -174,18 +168,24 @@ export default { } res.data = res.data.map((ele) => { ele.nodeId = ele.id + "_" + ele.type; + ele.childrenList.map((item) => { + item.nodeId = item.id + "_" + item.type; + }); ele.hover = false; return ele; }); if (defaultId && defaultId != "all") { - if (defaultId == -1) { - this.defaultExpend = [res.data[res.data.length - 1].nodeId]; - } else { - this.defaultExpend = [defaultId]; - } + let searchId = ""; + this.defaultExpend = [defaultId]; + searchId = res.data.find((ele) => ele.nodeId == defaultId); + this.changeVersion(searchId); this.selectedId = this.defaultExpend[0]; - this.changeVersion(res.data.find((ele) => ele.nodeId == defaultId)); } else if (defaultId == "all") { + this.selectedId = ""; + this.$emit("changeVersion", { + id: this.projectId, + type: 2, + }); } else { this.defaultExpend = [res.data[0].nodeId]; this.selectedId = this.defaultExpend[0]; @@ -340,7 +340,7 @@ export default { color: #333; } -.selected { +.nodeLabel.selected { color: #4096ff; } @@ -377,9 +377,9 @@ export default { .el-tree-node__content { height: 42px; } - :not(.is-leaf.el-tree-node__expand-icon ) { + :not(.is-leaf.el-tree-node__expand-icon) { font-size: 16px; - color: #333; + // color: #333; } } .topBox { diff --git a/src/views/project/demandManage/demandManage.vue b/src/views/project/demandManage/demandManage.vue index c6c257c..3e6059f 100644 --- a/src/views/project/demandManage/demandManage.vue +++ b/src/views/project/demandManage/demandManage.vue @@ -17,6 +17,8 @@ :projectName="projectName" @refreshTree="refreshTree" :versionList="versionList" + :minDate="minDate" + :maxDate="maxDate" ref="rightRef" /> @@ -39,6 +41,8 @@ export default { projectName: "", versionList: [], version: {}, + minDate: "", + maxDate: "", }; }, methods: { @@ -54,10 +58,15 @@ export default { addDemand() { this.$refs.rightRef.handleAdd(); }, + init() { + this.projectId = this.$route.query.id; + this.projectName = this.$route.query.projectName; + this.minDate = this.$route.query.startDate; + this.maxDate = this.$route.query.endDate; + }, }, mounted() { - this.projectId = this.$route.query.id; - this.projectName = this.$route.query.projectName; + this.init(); }, }; diff --git a/src/views/project/list.vue b/src/views/project/list.vue index d87ca9c..dd1e4e3 100644 --- a/src/views/project/list.vue +++ b/src/views/project/list.vue @@ -1,12 +1,12 @@