diff --git a/src/utils/api.js b/src/utils/api.js index 40ad61d..322cc46 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -234,11 +234,11 @@ export const demandApi = { data: data, }), delDemand: (data) => request({ - url: `/demand//${data}`, + url: `/demand/${data}`, method: 'delete', }), delDemandBatch: (data) => request({ - url: `/demand/remove/batch?ids=${data}`, + url: `/demand/remove/batch/${data}`, method: 'delete', }), diff --git a/src/views/project/demandManage/components/MainContentTable.vue b/src/views/project/demandManage/components/MainContentTable.vue index 9b0a0d5..84d833f 100644 --- a/src/views/project/demandManage/components/MainContentTable.vue +++ b/src/views/project/demandManage/components/MainContentTable.vue @@ -74,7 +74,7 @@ class="tableBox" > - + @@ -83,6 +83,7 @@ { - this.$message({ - message: "修改成功", - type: "success", - }); - this.getDemandList(); - }); + eidtDemandRow(row, label, old) { + 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(); + }) + .catch((res) => { + row[label] = old; + }); + } }, async getDictData() { const res1 = await systemApi.getDictData("demand_status"); @@ -624,7 +670,7 @@ export default { this.$refs.ruleForm.validate((valid) => { if (valid) { if ( - this.editData.estimatedWorkHours.replace("天", "") != + (this.editData.estimatedWorkHours + "").replace("天", "") != parseFloat(this.editData.estimatedWorkHours) ) { this.$message({ @@ -643,23 +689,48 @@ export default { }); return; } - - if (this.editData.id) { - demandApi.eidtDemand(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 { - demandApi.addDemand(this.editData).then((res) => { - this.$message({ - message: "操作成功", - type: "success", + if (this.editData.id) { + demandApi.eidtDemand(this.editData).then((res) => { + this.$message({ + message: "操作成功", + type: "success", + }); + this.resetList(); }); - this.resetList(); - }); + } else { + demandApi.addDemand(this.editData).then((res) => { + this.$message({ + message: "操作成功", + type: "success", + }); + this.resetList(); + }); + } } } }); @@ -677,16 +748,20 @@ export default { this.dialogVisibleAdd = false; }, changeRow(value, label, row) { + if (value == row[label]) { + return; + } + let old = row[label]; row[label] = value; this.checkedRow = row; this.$nextTick(() => { - this.eidtDemandRow(row); + this.eidtDemandRow(row, label, old); }); }, changeTime(val) { this.$nextTick(() => { let day = (this.editData.estimatedWorkHours + "").replace("天", ""); - if (day != parseFloat(day)&&day) { + if (day != parseFloat(day) && day) { this.$message({ message: "预计工时为数字", type: "warning", @@ -705,8 +780,6 @@ export default { new Date(this.editData.createTime).getTime() ).format("YYYY-MM-DD 23:59:59"); } - - console.log(this.editData.endTime); } }); }, diff --git a/src/views/project/demandManage/components/SidebarTree.vue b/src/views/project/demandManage/components/SidebarTree.vue index e4e4389..2e79b5e 100644 --- a/src/views/project/demandManage/components/SidebarTree.vue +++ b/src/views/project/demandManage/components/SidebarTree.vue @@ -97,7 +97,7 @@ } " > - + 新建需求 编辑 @@ -179,7 +179,7 @@ export default { }); if (defaultId && defaultId != "all") { if (defaultId == -1) { - this.defaultExpend = res.data[res.data.length - 1].nodeId; + this.defaultExpend = [res.data[res.data.length - 1].nodeId]; } else { this.defaultExpend = [defaultId]; } @@ -377,7 +377,7 @@ export default { .el-tree-node__content { height: 42px; } - .el-tree-node__expand-icon{ + :not(.is-leaf.el-tree-node__expand-icon ) { font-size: 16px; color: #333; } diff --git a/src/views/project/demandManage/demandManage.vue b/src/views/project/demandManage/demandManage.vue index 3272101..c6c257c 100644 --- a/src/views/project/demandManage/demandManage.vue +++ b/src/views/project/demandManage/demandManage.vue @@ -52,8 +52,6 @@ export default { this.$refs.treeRef.getVersionTree(defaultId); }, addDemand() { - console.log(566); - this.$refs.rightRef.handleAdd(); }, }, diff --git a/src/views/worklog/components/leftMonth.vue b/src/views/worklog/components/leftMonth.vue index 0a12a2b..5af04ae 100644 --- a/src/views/worklog/components/leftMonth.vue +++ b/src/views/worklog/components/leftMonth.vue @@ -24,7 +24,21 @@ - + + + @@ -36,6 +50,7 @@ export default { data() { return { selectedDate: this.moment(new Date()).format("YYYY-MM-DD"), + nowDay: this.moment(new Date()).format("YYYY-MM-DD"), }; }, methods: { @@ -50,7 +65,24 @@ export default { .add(1, "months") .format("YYYY-MM-DD"); }, - }, + searchLog(data, overDay) { + this.$nextTick(() => { + if (overDay) { + this.$message({ + message: "不能超过当前时间", + type: "warning", + }); + this.$emit("setDisableTable", true); + } else { + this.$emit("setDisableTable", false); + this.$emit("searchDay", data.day + " 00:00:00"); + } + }); + }, + isOverDay(data) { + return new Date(data).getTime() > new Date(this.nowDay).getTime(); + }, + } }; @@ -81,11 +113,14 @@ export default { td { border: none; padding: 10px 0; + background-color: #fff; .el-calendar-day { text-align: center; padding: 0 !important; font-size: 16px; + background-color: #fff; + span { font-family: cursive !important; } @@ -103,7 +138,6 @@ export default { height: 40px; width: 40px; line-height: 40px; - border-radius: 50% !important; &:hover { background-color: #88bdfd; @@ -123,4 +157,11 @@ export default { cursor: pointer; } } +.leftBox ::v-deep .disabled { + background-color: #fff !important; + color: #c0c4cc; + cursor: not-allowed; + border-radius: 50% !important; + background-color: #fff; +} diff --git a/src/views/worklog/components/rightTable.vue b/src/views/worklog/components/rightTable.vue index 9326ea9..fd6e169 100644 --- a/src/views/worklog/components/rightTable.vue +++ b/src/views/worklog/components/rightTable.vue @@ -1,6 +1,6 @@ @@ -234,4 +446,12 @@ export default { } } } +.contentText { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.noneText { + color: #999; +} diff --git a/src/views/worklog/worklog.vue b/src/views/worklog/worklog.vue index d97af19..10bed49 100644 --- a/src/views/worklog/worklog.vue +++ b/src/views/worklog/worklog.vue @@ -1,9 +1,19 @@ @@ -19,10 +29,22 @@ export default { RightTable, }, data() { - return {}; + return { + selectDay: "", + disableTable: false, + }; + }, + methods: { + searchDay(data) { + this.selectDay = data; + }, + setDisableTable(data) { + this.disableTable = data; + }, + }, + mounted() { + this.selectDay = this.moment().format("YYYY-MM-DD 00:00:00"); }, - methods: {}, - mounted() {}, };