From 92c54c96058a13c5ca1e40bb5f2bb941ca4502ff Mon Sep 17 00:00:00 2001 From: xuyiming Date: Thu, 11 Jun 2020 16:31:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/apass-table.vue | 2 +- src/pages/workbench/fwgl/fwglList.vue | 186 ++++++++++++++------------ 2 files changed, 99 insertions(+), 89 deletions(-) diff --git a/src/components/apass-table.vue b/src/components/apass-table.vue index fcfc249..bfab22d 100644 --- a/src/components/apass-table.vue +++ b/src/components/apass-table.vue @@ -16,7 +16,7 @@ v-if="v.disabledRule && v.disabledRule(scope.row)" class="btn disabled" :key="'btn_' + index + '_' + i" - v-text="v.label" + v-text="v.getLabel ? v.getLabel(scope.row) : v.label" > 我的服务 @@ -148,12 +148,15 @@ export default { }, { getLabel(item) { - return item.state == 1 ? "申请下架" : "申请上架"; + return item.state == 0 ? "申请上架" : "申请下架"; }, callback(item) { - item.state == 1 - ? _self.applyForSoldOutItem(item) - : _self.applyForSoldUpItem(item); + item.state == 0 + ? _self.applyForSoldUpItem(item) + : _self.applyForSoldOutItem(item); + }, + disabledRule(item) { + return item.state == 2; }, }, { @@ -161,7 +164,7 @@ export default { callback: this.deleteItem, class: "warn", disabledRule(item) { - return item.state === 1; + return item.state != 2; }, }, ], @@ -316,7 +319,7 @@ export default { } // TODO: 普通用户 --- 云资源服务 else if (level == 0 && type == 2) { - this.listUrl = "/apaas/service/v3/service/manager/list"; + this.listUrl = "xxxxxx"; this.listHeader = [ { label: "工作区域", @@ -418,7 +421,7 @@ export default { label: "服务状态", prop: "state", getText(item) { - return ["已下架", "上架中"][item.state]; + return ["已下架", "已上架", "上架中"][item.state]; }, align: "center", }, @@ -573,7 +576,7 @@ export default { } // TODO:组织管理员 --- 云资源管理 else if (level == 1 && type == 2) { - this.listUrl = "/apaas/service/v3/service/manager/list"; + this.listUrl = "xxxxxx"; this.listHeader = [ { label: "工作区域", @@ -684,18 +687,21 @@ export default { }, { getLabel(item) { - return item.state == 1 ? "下架" : "上架"; + return item.state == 0 ? "上架" : "下架"; }, callback(item) { - item.state == 1 - ? _self.soldOutItem(item) - : _self.soldUpItem(item); + item.state == 0 + ? _self.soldUpItem(item) + : _self.soldOutItem(item); }, }, { label: "删除", class: "warn", callback: this.deleteItem, + disabledRule(item) { + return item.state === 1; + }, }, ], }, @@ -836,7 +842,7 @@ export default { } // TODO:超级管理员 --- 云资源管理 else if (level == 2 && type == 2) { - this.listUrl = "/apaas/service/v3/service/manager/list"; + this.listUrl = "xxxxxx"; this.listHeader = [ { label: "所属组织", @@ -881,23 +887,28 @@ export default { throw Error("The page doesn't exist"); } }, - initDatas(filter) { + init(filter) { this.tempFliter = filter; this.$http .get(this.listUrl, { params: { data_service_type: - filter.service_type_1 && - filter.service_type_1.map((item) => item.value).join(","), // 服务类型 + (filter.service_type_1 && + filter.service_type_1.map((item) => item.value).join(",")) || + "", // 服务类型 sectors: - filter.service_area && - filter.service_area.map((item) => item.value).join(","), // 服务领域 + (filter.service_area && + filter.service_area.map((item) => item.value).join(",")) || + "", // 服务领域 openness: - filter.openness && - filter.openness.map((item) => item.value).join(","), // 开放程度 + (filter.openness && + filter.openness.map((item) => item.value).join(",")) || + "", // 开放程度 state: - filter.state && filter.state.map((item) => item.value).join(","), // 服务状态 + (filter.state && + filter.state.map((item) => item.value).join(",")) || + "", // 服务状态 keyword: filter.keyword, page: filter.page, size: filter.size, @@ -914,21 +925,15 @@ export default { }, showDialog() { this.$refs.dialog.show(); - }, - editItem(item) { - this.$router.push( - `/fwgl/${this.level}/${this.type}/serviceedit/${item.id}` - ); - }, - applyForSoldOutItem(item) { - this.dialogInfo.title = "是否确定下架服务"; - this.dialogInfo.msg = - "下架此服务会导致用户被迫暂停对服务的调用,下架前需向超级管理员发送通知,超级管理员通过后此服务将会从服务超市中下架。"; + }, // 唤醒弹窗 + applyForSoldUpItem(item) { + this.dialogInfo.title = "提示"; + this.dialogInfo.msg = "确认申请上架此服务吗?"; this.dialogInfo.cancelText = "取消"; this.dialogInfo.sunbmitText = "发送通知"; this.dialogInfo.submit = () => { this.$http - .post(`/apaas/service/v3/service/manager/send/downnotice`, { + .post(`/apaas/service/v3/service/manager/send/upnotice`, { id: item.id, }) .then(({ data }) => { @@ -937,67 +942,68 @@ export default { message: data.errMsg, type: "success", }); + this.init(this.tempFliter); } else { this.$message({ message: data.errMsg, - type: "warn", + type: "warning", }); } }) .catch((error) => { console.log(error); this.$message({ - message: "申请${item.name}失败", - type: "warn", + message: `申请${item.name}失败`, + type: "warning", }); }); }; this.showDialog(); - }, - applyForSoldUpItem(item) { - this.dialogInfo.title = "提示"; - this.dialogInfo.msg = "确认申请上架此服务吗?"; + }, // 服务上架申请 + applyForSoldOutItem(item) { + this.dialogInfo.title = "是否确定下架服务"; + this.dialogInfo.msg = + "下架此服务会导致用户被迫暂停对服务的调用,下架前需向超级管理员发送通知,超级管理员通过后此服务将会从服务超市中下架。"; this.dialogInfo.cancelText = "取消"; this.dialogInfo.sunbmitText = "发送通知"; this.dialogInfo.submit = () => { this.$http - .post(`/apaas/service/v3/service/manager/send/upnotice`, { + .post(`/apaas/service/v3/service/manager/send/downnotice`, { id: item.id, }) - .then((response) => { + .then(({ data }) => { if (data.success) { this.$message({ message: data.errMsg, type: "success", }); + this.init(this.tempFliter); } else { this.$message({ message: data.errMsg, - type: "warn", + type: "warning", }); } }) .catch((error) => { console.log(error); this.$message({ - message: "申请${item.name}失败", - type: "warn", + message: `申请${item.name}失败`, + type: "warning", }); }); }; this.showDialog(); - }, - deleteItem(item) { - this.dialogInfo.title = ""; - this.dialogInfo.msg = "是否删除该条服务?"; + }, // 服务下架申请 + soldUpItem(item) { + this.dialogInfo.title = "提示"; + this.dialogInfo.msg = "确认上架此服务吗?"; this.dialogInfo.cancelText = ""; - this.dialogInfo.sunbmitText = ""; + this.dialogInfo.sunbmitText = "确定"; this.dialogInfo.submit = () => { this.$http - .delete(this.deleteUrl, { - params: { - id: this.type == 1 ? item.service_apply_info.id : item.id, - }, + .post(`/apaas/service/v3/service/manager/up`, { + id: item.id, }) .then(({ data }) => { if (data.success) { @@ -1005,34 +1011,23 @@ export default { message: data.errMsg, type: "success", }); - this.initDatas(this.tempFliter); + this.init(this.tempFliter); } else { this.$message({ message: data.errMsg, - type: "warn", + type: "warning", }); } }) .catch((error) => { this.$message({ - message: `删除${item.name}失败.`, - type: "warn", + message: `上架${item.name}失败.`, + type: "warning", }); }); }; this.showDialog(); - }, - detailItem(item) { - this.$router.push(`${this.detailsUrl + item.id}`); - }, - approvalItem(item) { - this.$router.push( - `/fwgl/${this.level}/${this.type}/approvalserviceedit/${item.service_apply_info.id}` - ); - }, - allotItem(item) { - console.log("allotItem - " + item.name); - }, + }, // 上架服务(超级管理员) soldOutItem(item) { this.dialogInfo.title = "提示"; this.dialogInfo.msg = @@ -1050,32 +1045,34 @@ export default { message: data.errMsg, type: "success", }); - this.initDatas(this.tempFliter); + this.init(this.tempFliter); } else { this.$message({ message: data.errMsg, - type: "warn", + type: "warning", }); } }) .catch((error) => { this.$message({ message: `下架${item.name}失败.`, - type: "warn", + type: "warning", }); }); }; this.showDialog(); - }, - soldUpItem(item) { - this.dialogInfo.title = "提示"; - this.dialogInfo.msg = "确认上架此服务吗?"; + }, // 下架服务(超级管理员) + deleteItem(item) { + this.dialogInfo.title = ""; + this.dialogInfo.msg = "是否删除该条服务?"; this.dialogInfo.cancelText = ""; - this.dialogInfo.sunbmitText = "确定"; + this.dialogInfo.sunbmitText = ""; this.dialogInfo.submit = () => { this.$http - .post(`/apaas/service/v3/service/manager/up`, { - id: item.id, + .delete(this.deleteUrl, { + params: { + id: this.type == 1 ? item.service_apply_info.id : item.id, + }, }) .then(({ data }) => { if (data.success) { @@ -1083,26 +1080,39 @@ export default { message: data.errMsg, type: "success", }); - this.initDatas(this.tempFliter); + this.init(this.tempFliter); } else { this.$message({ message: data.errMsg, - type: "warn", + type: "warning", }); } }) .catch((error) => { this.$message({ - message: `上架${item.name}失败.`, - type: "warn", + message: `删除${item.name}失败.`, + type: "warning", }); }); }; this.showDialog(); - }, - dialogSubmit() { - console.log("dialog submit"); - }, + }, // 删除服务 + detailItem(item) { + this.$router.push(`${this.detailsUrl + item.id}`); + }, // 查看服务 + editItem(item) { + this.$router.push( + `/fwgl/${this.level}/${this.type}/serviceedit/${item.id}` + ); + }, // 编辑服务 + approvalItem(item) { + this.$router.push( + `/fwgl/${this.level}/${this.type}/approvalserviceedit/${item.service_apply_info.id}` + ); + }, // 审批服务 + allotItem(item) { + console.log("allotItem - " + item.name); + }, // TODO: 云资源分配 }, created() { this.level = parseInt(this.$route.params.level); -- 2.26.0