diff --git a/src/assets/css/index.css b/src/assets/css/index.css
index 0a556a318c8fef99167dc5c5b8fdec0a60d32c19..aebd520db87e8eceb4143ec451bfa8f10578e42e 100644
--- a/src/assets/css/index.css
+++ b/src/assets/css/index.css
@@ -575,7 +575,7 @@ width: 620px!important;
color: #830f53;
}
.apass_table .row_action .btn.disabled {
- color: #dde4ff;
+ color: #999;
cursor: not-allowed;
}
.apass_table .row_action .interval_line {
diff --git a/src/components/apass-table.vue b/src/components/apass-table.vue
index 56beb8bbbb11f4b8dc1ac239f95f139622d18f13..fcfc249b051ba5b254fd00fc0e65f5c5fba3343f 100644
--- a/src/components/apass-table.vue
+++ b/src/components/apass-table.vue
@@ -12,12 +12,20 @@
-
+
diff --git a/src/components/table-filter.vue b/src/components/table-filter.vue
index 877974990000a00f636f25bff2a49f28c5f05ae2..6c16cbdb1b234816aea13ddc0518f60fc5c5b279 100644
--- a/src/components/table-filter.vue
+++ b/src/components/table-filter.vue
@@ -21,7 +21,7 @@
diff --git a/src/pages/workbench/fwgl/fwglList.vue b/src/pages/workbench/fwgl/fwglList.vue
index aee0d6d63e979c474ee88f3abc785f11e57f8358..ae7cf66939507da94edfe1a3de29d2e81089f0fd 100644
--- a/src/pages/workbench/fwgl/fwglList.vue
+++ b/src/pages/workbench/fwgl/fwglList.vue
@@ -1,6 +1,7 @@
{
- console.log(data);
- })
- .catch((error) => {
- console.log(error);
- }); */
+ Promise.all([
+ this.$http.get("/apaas/service/v3/service/manager/servtype"),
+ this.$http.get("/apaas/service/v3/service/manager/servarea"),
+ ]).then((response) => {
+ let data = response.map((item) => {
+ return {
+ name: item.body.data[0].type_name,
+ prop: item.body.data[0].type_code,
+ data: item.body.data.map((v) => ({
+ name: v.name,
+ value: v.id,
+ })),
+ };
+ });
+
+ this.filterList = [...data, ...this.roleFilter];
+ });
},
initHeader() {
+ let _self = this;
let level = this.level;
let type = this.type;
// 普通用户 --- 注册发布的服务
if (level == 0 && type == 0) {
+ this.listUrl = "/apaas/service/v3/service/manager/list";
+ this.deleteUrl = "/apaas/service/v3/service/manager";
this.listHeader = [
{
label: "服务名称",
@@ -162,12 +143,56 @@ export default {
callback: this.editItem,
},
{
- label: "申请下架",
- callback: this.applyForSoldOutItem,
+ getLabel(item) {
+ return item.state == 1 ? "申请下架" : "申请上架";
+ },
+ callback(item) {
+ item.state == 1
+ ? _self.applyForSoldOutItem(item)
+ : _self.applyForSoldUpItem(item);
+ },
},
{
label: "删除",
callback: this.deleteItem,
+ class: "warn",
+ disabledRule(item) {
+ return item.state === 1;
+ },
+ },
+ ],
+ },
+ ];
+ this.roleFilter = [
+ {
+ name: "开放程度",
+ prop: "openness",
+ data: [
+ {
+ name: "共享",
+ value: 1,
+ },
+ {
+ name: "受限",
+ value: 2,
+ },
+ {
+ name: "敏感",
+ value: 3,
+ },
+ ],
+ },
+ {
+ name: "服务状态",
+ prop: "state",
+ data: [
+ {
+ name: "上架中",
+ value: 1,
+ },
+ {
+ name: "已下架",
+ value: 2,
},
],
},
@@ -175,6 +200,8 @@ export default {
}
// 普通用户 --- 申请的服务
else if (level == 0 && type == 1) {
+ this.listUrl = "/apaas/service/v3/service/apply/service/list";
+ this.deleteUrl = "/apaas/service/v3/service/apply/service";
this.listHeader = [
{
label: "服务名称",
@@ -184,31 +211,45 @@ export default {
},
{
label: "服务领域",
- prop: "date",
+ prop: "sectors_name",
align: "center",
},
{
label: "开放程度",
- prop: "address",
+ prop: "openness_name",
align: "center",
},
{
label: "服务描述",
- prop: "address",
+ prop: "descript",
},
{
label: "申请时间",
- prop: "address",
+ prop: "service_apply_info",
+ getText(item) {
+ return (
+ (item.service_apply_info &&
+ item.service_apply_info.apply_time) ||
+ ""
+ );
+ },
align: "center",
},
{
label: "服务类型",
- prop: "address",
+ prop: "data_service_type1_name",
align: "center",
},
{
label: "申请状态",
- prop: "address",
+ prop: "service_apply_info",
+ getText(item) {
+ return ["-", "待审批", "审批中", "审批通过", "审批未通过"][
+ (item.service_apply_info &&
+ item.service_apply_info.approval_status) ||
+ 0
+ ];
+ },
align: "center",
},
{
@@ -219,13 +260,59 @@ export default {
{
label: "删除",
callback: this.deleteItem,
+ disabledRule(item) {
+ return item.approval_status === 1;
+ },
+ },
+ ],
+ },
+ ];
+ this.roleFilter = [
+ {
+ name: "开放程度",
+ prop: "openness",
+ data: [
+ {
+ name: "共享",
+ value: 1,
+ },
+ {
+ name: "受限",
+ value: 2,
+ },
+ {
+ name: "敏感",
+ value: 3,
+ },
+ ],
+ },
+ {
+ name: "申请状态",
+ prop: "state",
+ data: [
+ {
+ name: "待审批",
+ value: 1,
+ },
+ {
+ name: "审批中",
+ value: 2,
+ },
+ {
+ name: "审批通过",
+ value: 3,
+ },
+ {
+ name: "审批未通过",
+ value: 4,
},
],
},
];
}
- // 普通用户 --- 云资源服务
+ // TODO: 普通用户 --- 云资源服务
else if (level == 0 && type == 2) {
+ this.listUrl = "/apaas/service/v3/service/manager/list";
this.listHeader = [
{
label: "工作区域",
@@ -283,6 +370,7 @@ export default {
// 组织管理员 --- 组织服务管理
else if (level == 1 && type == 0) {
+ this.listUrl = "/apaas/service/v3/service/manager/list";
this.listHeader = [
{
label: "服务名称",
@@ -292,42 +380,84 @@ export default {
},
{
label: "服务领域",
- prop: "date",
+ prop: "sectors_name",
align: "center",
},
{
label: "开放程度",
- prop: "date",
+ prop: "openness_name",
align: "center",
},
{
label: "请求方式",
- prop: "date",
+ prop: "req_type",
+ getText(item) {
+ return ["-", "GET", "POST", "PUT", "DELETE"][item.req_type || 0];
+ },
align: "center",
},
{
label: "服务描述",
- prop: "date",
+ prop: "descript",
},
{
label: "注册发布时间",
- prop: "date",
+ prop: "create_time",
align: "center",
},
{
label: "服务类型",
- prop: "date",
+ prop: "data_service_type1_name",
align: "center",
},
{
label: "服务状态",
- prop: "date",
+ prop: "state",
+ getText(item) {
+ return ["已下架", "上架中"][item.state];
+ },
align: "center",
},
];
+ this.roleFilter = [
+ {
+ name: "开放程度",
+ prop: "openness",
+ data: [
+ {
+ name: "共享",
+ value: 1,
+ },
+ {
+ name: "受限",
+ value: 2,
+ },
+ {
+ name: "敏感",
+ value: 3,
+ },
+ ],
+ },
+ {
+ name: "服务状态",
+ prop: "state",
+ data: [
+ {
+ name: "上架中",
+ value: 1,
+ },
+ {
+ name: "已下架",
+ value: 2,
+ },
+ ],
+ },
+ ];
}
// 组织管理员 --- 服务审批管理
else if (level == 1 && type == 1) {
+ this.listUrl = "/apaas/service/v3/service/approval/applied/list";
+ this.deleteUrl = "/apaas/service/v3/service/approval/applied";
this.listHeader = [
{
label: "服务名称",
@@ -335,36 +465,53 @@ export default {
},
{
label: "服务领域",
- prop: "date",
+ prop: "sectors_name",
align: "center",
},
{
label: "开放程度",
- prop: "date",
+ prop: "openness_name",
align: "center",
},
{
label: "请求方式",
- prop: "date",
+ prop: "req_type",
+ getText(item) {
+ return ["-", "GET", "POST", "PUT", "DELETE"][item.req_type || 0];
+ },
align: "center",
},
{
label: "服务描述",
- prop: "date",
+ prop: "descript",
},
{
label: "审批时间",
- prop: "date",
+ prop: "service_apply_info",
+ getText(item) {
+ return (
+ (item.service_apply_info &&
+ item.service_apply_info.approval_time) ||
+ ""
+ );
+ },
align: "center",
},
{
label: "服务类型",
- prop: "date",
+ prop: "data_service_type1_name",
align: "center",
},
{
label: "审批状态",
- prop: "date",
+ prop: "service_apply_info",
+ getText(item) {
+ return ["-", "已审批", "待审批"][
+ (item.service_apply_info &&
+ item.service_apply_info.approval_status) ||
+ 0
+ ];
+ },
align: "center",
},
{
@@ -379,14 +526,50 @@ export default {
},
{
label: "删除",
+ class: "warn",
callback: this.deleteItem,
},
],
},
];
+ this.roleFilter = [
+ {
+ name: "开放程度",
+ prop: "openness",
+ data: [
+ {
+ name: "共享",
+ value: 1,
+ },
+ {
+ name: "受限",
+ value: 2,
+ },
+ {
+ name: "敏感",
+ value: 3,
+ },
+ ],
+ },
+ {
+ name: "审批状态",
+ prop: "state",
+ data: [
+ {
+ name: "已审批",
+ value: 1,
+ },
+ {
+ name: "待审批",
+ value: 2,
+ },
+ ],
+ },
+ ];
}
- // 组织管理员 --- 云资源管理
+ // TODO:组织管理员 --- 云资源管理
else if (level == 1 && type == 2) {
+ this.listUrl = "/apaas/service/v3/service/manager/list";
this.listHeader = [
{
label: "工作区域",
@@ -442,8 +625,10 @@ export default {
];
}
- // 超级管理员 --- 组织服务管理
+ // 超级管理员 --- 平台服务管理
else if (level == 2 && type == 0) {
+ this.listUrl = "/apaas/service/v3/service/manager/list";
+ this.deleteUrl = "/apaas/service/v3/service/manager";
this.listHeader = [
{
label: "服务名称",
@@ -453,31 +638,34 @@ export default {
},
{
label: "服务领域",
- prop: "date",
+ prop: "sectors_name",
align: "center",
},
{
label: "开放程度",
- prop: "date",
+ prop: "openness_name",
align: "center",
},
{
label: "请求方式",
- prop: "date",
+ prop: "req_type",
+ getText(item) {
+ return ["-", "GET", "POST", "PUT", "DELETE"][item.req_type || 0];
+ },
align: "center",
},
{
label: "服务描述",
- prop: "date",
+ prop: "descript",
},
{
label: "注册发布时间",
- prop: "date",
+ prop: "create_time",
align: "center",
},
{
label: "服务类型",
- prop: "date",
+ prop: "data_service_type1_name",
align: "center",
},
{
@@ -491,19 +679,48 @@ export default {
callback: this.editItem,
},
{
- label: "下架",
- callback: this.soldOutItem,
+ getLabel(item) {
+ return item.state == 1 ? "下架" : "上架";
+ },
+ callback(item) {
+ item.state == 1
+ ? _self.soldOutItem(item)
+ : _self.soldUpItem(item);
+ },
},
{
label: "删除",
+ class: "warn",
callback: this.deleteItem,
},
],
},
];
+ this.roleFilter = [
+ {
+ name: "开放程度",
+ prop: "openness",
+ data: [
+ {
+ name: "共享",
+ value: 1,
+ },
+ {
+ name: "受限",
+ value: 2,
+ },
+ {
+ name: "敏感",
+ value: 3,
+ },
+ ],
+ },
+ ];
}
// 超级管理员 --- 服务审批管理
else if (level == 2 && type == 1) {
+ this.listUrl = "/apaas/service/v3/service/approval/applied/list";
+ this.deleteUrl = "/apaas/service/v3/service/approval/applied";
this.listHeader = [
{
label: "服务名称",
@@ -511,36 +728,53 @@ export default {
},
{
label: "服务领域",
- prop: "date",
+ prop: "sectors_name",
align: "center",
},
{
label: "开放程度",
- prop: "date",
+ prop: "openness_name",
align: "center",
},
{
label: "请求方式",
- prop: "date",
+ prop: "req_type",
+ getText(item) {
+ return ["-", "GET", "POST", "PUT", "DELETE"][item.req_type || 0];
+ },
align: "center",
},
{
label: "服务描述",
- prop: "date",
+ prop: "descript",
},
{
label: "审批时间",
- prop: "date",
+ prop: "service_apply_info",
+ getText(item) {
+ return (
+ (item.service_apply_info &&
+ item.service_apply_info.approval_time) ||
+ ""
+ );
+ },
align: "center",
},
{
label: "服务类型",
- prop: "date",
+ prop: "data_service_type1_name",
align: "center",
},
{
label: "审批状态",
- prop: "date",
+ prop: "service_apply_info",
+ getText(item) {
+ return ["-", "已审批", "待审批"][
+ (item.service_apply_info &&
+ item.service_apply_info.approval_status) ||
+ 0
+ ];
+ },
align: "center",
},
{
@@ -555,14 +789,50 @@ export default {
},
{
label: "删除",
+ class: "warn",
callback: this.deleteItem,
},
],
},
];
+ this.roleFilter = [
+ {
+ name: "开放程度",
+ prop: "openness",
+ data: [
+ {
+ name: "共享",
+ value: 1,
+ },
+ {
+ name: "受限",
+ value: 2,
+ },
+ {
+ name: "敏感",
+ value: 3,
+ },
+ ],
+ },
+ {
+ name: "审批状态",
+ prop: "state",
+ data: [
+ {
+ name: "已审批",
+ value: 1,
+ },
+ {
+ name: "待审批",
+ value: 2,
+ },
+ ],
+ },
+ ];
}
- // 超级管理员 --- 云资源管理
+ // TODO:超级管理员 --- 云资源管理
else if (level == 2 && type == 2) {
+ this.listUrl = "/apaas/service/v3/service/manager/list";
this.listHeader = [
{
label: "所属组织",
@@ -608,22 +878,29 @@ export default {
}
},
initDatas(filter) {
- // console.log(filter);
+ this.tempFliter = filter;
this.$http
- .get("/apaas/service/v3/service/manager/list", {
+ .get(this.listUrl, {
params: {
- data_service_type: 0,
- sectors: 0,
- openness: 0,
- state: "",
+ data_service_type:
+ 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(","), // 服务领域
+ openness:
+ filter.openness &&
+ filter.openness.map((item) => item.value).join(","), // 开放程度
+ state:
+ filter.state && filter.state.map((item) => item.value).join(","), // 服务状态
keyword: filter.keyword,
page: filter.page,
size: filter.size,
},
})
.then(({ data }) => {
- // console.log(data);
+ // console.log(data.data);
this.listTotal = data.data.total;
this.listData = data.data.data;
})
@@ -646,7 +923,35 @@ export default {
this.dialogInfo.cancelText = "取消";
this.dialogInfo.sunbmitText = "发送通知";
this.dialogInfo.submit = () => {
- console.log("applyForSoldOutItem - " + item.name);
+ this.$http
+ .post(`/apaas/service/v3/service/manager/send/downnotice`, {
+ id: item.id,
+ })
+ .then((response) => {
+ console.log("已申请下架" + item.name);
+ })
+ .catch((error) => {
+ console.log(error);
+ });
+ };
+ this.showDialog();
+ },
+ 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/upnotice`, {
+ id: item.id,
+ })
+ .then((response) => {
+ console.log("已申请上架" + item.name);
+ })
+ .catch((error) => {
+ console.log(error);
+ });
};
this.showDialog();
},
@@ -656,7 +961,19 @@ export default {
this.dialogInfo.cancelText = "";
this.dialogInfo.sunbmitText = "";
this.dialogInfo.submit = () => {
- console.log("deleteItem - " + item.name);
+ this.$http
+ .delete(this.deleteUrl, {
+ params: {
+ id: item.id,
+ },
+ })
+ .then((response) => {
+ this.initDatas(this.tempFliter);
+ console.log("已删除" + item.name);
+ })
+ .catch((error) => {
+ console.log(error);
+ });
};
this.showDialog();
},
@@ -677,8 +994,38 @@ export default {
"下架此服务会导致调用该服务的
用户被迫暂停对服务的调用";
this.dialogInfo.cancelText = "";
this.dialogInfo.sunbmitText = "确定";
- this.dialogInfo.confirmSubmit = () => {
- console.log("submit - " + item.name);
+ this.dialogInfo.submit = () => {
+ this.$http
+ .post(`/apaas/service/v3/service/manager/down`, {
+ id: item.id,
+ })
+ .then((response) => {
+ this.initDatas(this.tempFliter);
+ console.log("已下架" + item.name);
+ })
+ .catch((error) => {
+ console.log(error);
+ });
+ };
+ this.showDialog();
+ },
+ soldUpItem(item) {
+ this.dialogInfo.title = "提示";
+ this.dialogInfo.msg = "确认上架此服务吗?";
+ this.dialogInfo.cancelText = "";
+ this.dialogInfo.sunbmitText = "确定";
+ this.dialogInfo.submit = () => {
+ this.$http
+ .post(`/apaas/service/v3/service/manager/up`, {
+ id: item.id,
+ })
+ .then((response) => {
+ this.initDatas(this.tempFliter);
+ console.log("已下架" + item.name);
+ })
+ .catch((error) => {
+ console.log(error);
+ });
};
this.showDialog();
},
@@ -689,8 +1036,8 @@ export default {
created() {
this.level = parseInt(this.$route.params.level);
this.type = parseInt(this.$route.params.type);
- this.initFilter();
this.initHeader();
+ this.initFilter();
},
};
diff --git a/src/store/index.js b/src/store/index.js
index 41414d74817ecf1a7e9e7141940c0849b63db98f..801ce92e344f512eabe27b87ab81a86c74b70036 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -7,9 +7,9 @@ const store = new Vuex.Store({
role: 2, // 0:普通用户,1:组织管理员,2:超级管理员
serviceShopMenu: "/shop/data_service_list", // 服务超市侧边栏
fwglNav: [
- ["注册发布的服务", "申请的服务", "云资源服务"], // 普通用户
- ["组织服务管理", "服务审批管理", "云资源管理"], // 组织管理员
- ["平台服务管理", "服务审批管理", "云资源管理"], // 超级管理员
+ ["注册发布的服务", "申请的服务" /* , "云资源服务" */], // 普通用户
+ ["组织服务管理", "服务审批管理" /* , "云资源管理" */], // 组织管理员
+ ["平台服务管理", "服务审批管理" /* , "云资源管理" */], // 超级管理员
], // 服务管理列表,onlyRead
yyglNav: [
["应用仓库", "我部署的应用", "申请的应用", "审批的应用"], // 普通用户