diff --git a/package.json b/package.json
index a17acecc2a8939a427548d3cb5d4cbacf8de1d8d..9ade5d3a44be6ae05ca1b05356bf95a0de85f8c1 100644
--- a/package.json
+++ b/package.json
@@ -31,6 +31,7 @@
"vue-i18n": "^8.17.7",
"vue-resource": "^1.5.1",
"vue-router": "^3.0.2",
+ "vue-sparklines": "^0.2.1",
"vuex": "^3.1.0"
},
"devDependencies": {
diff --git a/src/components/allot-info-confirm.vue b/src/components/allot-info-confirm.vue
new file mode 100644
index 0000000000000000000000000000000000000000..4d834f6a4c40c8c706ba40165f5cb34e3977f66c
--- /dev/null
+++ b/src/components/allot-info-confirm.vue
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
基本信息:
+
+ 工作区域名称:
+
+
+
+ 中文名称:
+
+
+
+ 描述信息:
+
+
+
+
+
工作区域申请规格:
+
+ CPU:
+
+
+
+ 内存:
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+ 确认提交
+
+
+
+
+
+
+
+
diff --git a/src/pages/workbench/fwgl/fwglList.vue b/src/pages/workbench/fwgl/fwglList.vue
index 779c1045f1ab6e8a7bd429914ffc2458566dc231..fcfc79eb1452336fb0045a99596fd4cdceaa0661 100644
--- a/src/pages/workbench/fwgl/fwglList.vue
+++ b/src/pages/workbench/fwgl/fwglList.vue
@@ -58,6 +58,8 @@
:msg="dialogInfo.msg"
:submit="dialogInfo.submit"
>
+
+
@@ -67,10 +69,16 @@ import { mapState } from "vuex";
import helper from "@/services/helper.js";
import apassList from "@/components/apass-list";
import apassDialog from "@/components/apass-dialog";
+import allotInfoConfirm from "@/components/allot-info-confirm";
import Dashboard from "@/components/e-charts/dashboard";
export default {
- components: { apassList, apassDialog, Dashboard },
+ components: {
+ apassList,
+ apassDialog,
+ allotInfoConfirm,
+ Dashboard,
+ },
data: () => ({
level: 0, // 用户等级
type: 0, // 访问的页面
@@ -368,78 +376,55 @@ export default {
}
// 普通用户 --- 云资源服务
else if (level == 0 && type == 2) {
- this.listUrl = "";
+ this.listUrl = "/apaas/service/v3/resource/user/apply/list";
this.paddingLeft = 0;
this.filterList2 = [
{
name: "初次申请状态",
prop: "state1",
- default: 0,
+ default: "",
options: [
{
name: "全部",
- value: 0,
+ value: "",
},
{
name: "待审批",
- value: 1,
+ value: 0,
},
{
name: "审批通过",
- value: 2,
+ value: 1,
},
{
name: "审批未通过",
- value: 3,
+ value: -1,
},
],
},
{
name: "资源调整状态",
prop: "state2",
- default: 0,
+ default: "",
options: [
{
name: "全部",
- value: 0,
+ value: "",
},
{
name: "待审批",
- value: 1,
- },
- {
- name: "审批通过",
- value: 2,
- },
- {
- name: "审批未通过",
- value: 3,
- },
- ],
- },
- /* {
- name: "申请状态",
- prop: "state3",
- default: 0,
- options: [
- {
- name: "全部",
value: 0,
},
- {
- name: "待审批",
- value: 1,
- },
{
name: "审批通过",
- value: 2,
+ value: 1,
},
{
name: "审批未通过",
- value: 3,
+ value: -1,
},
],
- }, */
+ },
];
this.listHeader = [
{
@@ -454,23 +439,23 @@ export default {
},
{
label: "工作区域",
- prop: "name",
+ prop: "name_space",
type: "button",
callback: this.cloudDetail,
},
{
label: "CPU(核)",
- prop: "name",
+ prop: "cpu",
align: "center",
},
{
label: "内存(GB)",
- prop: "name",
+ prop: "memory",
align: "center",
},
{
label: "容器组(个)",
- prop: "name",
+ prop: "containers",
align: "center",
},
{
@@ -478,15 +463,18 @@ export default {
type: "tooltip",
align: "center",
getLength(item) {
- return item.sjp.length;
+ let disks = (item.disk && item.disk.trim().split(" ")) || [];
+ return disks.length;
},
getText(item) {
- return item.sjp[0];
+ let disks = (item.disk && item.disk.trim().split(" ")) || [];
+ return disks[0];
},
getContent(item) {
+ let disks = (item.disk && item.disk.trim().split(" ")) || [];
let htmlStr = `数据盘(块/GB)
`;
- item.sjp.forEach((v) => {
+ disks.forEach((v) => {
htmlStr += `数据盘:${v}
`;
});
@@ -495,35 +483,26 @@ export default {
},
{
label: "申请时间",
- prop: "name",
+ prop: "apply_time",
align: "center",
},
{
label: "初次申请状态",
- prop: "name",
align: "center",
+ getText(item) {
+ return ["未通过", "待审批", "通过"][
+ (item.approve_state || 0) + 1
+ ];
+ },
},
{
label: "资源调整结果",
- prop: "name",
align: "center",
- },
- ];
- this.listData = [
- {
- name: "区域1",
- state: 0,
- sjp: ["8/60"],
- },
- {
- name: "区域2",
- state: 1,
- sjp: ["2/3", "22/33"],
- },
- {
- name: "区域3",
- state: 0,
- sjp: ["2/100", "22/33", "55/66"],
+ getText(item) {
+ return ["未通过", "待审批", "通过"][
+ (item.approve_update_state || 0) + 1
+ ];
+ },
},
];
}
@@ -736,52 +715,52 @@ export default {
}
// 组织管理员 --- 云资源管理
else if (level == 1 && type == 2) {
- this.listUrl = "";
+ this.listUrl = "/apaas/service/v3/resource/user/apply/list";
this.paddingLeft = 0;
this.filterList2 = [
{
name: "初次申请状态",
prop: "state1",
- default: 0,
+ default: "",
options: [
{
name: "全部",
- value: 0,
+ value: "",
},
{
name: "待审批",
- value: 1,
+ value: 0,
},
{
name: "审批通过",
- value: 2,
+ value: 1,
},
{
name: "审批未通过",
- value: 3,
+ value: -1,
},
],
},
{
name: "资源调整状态",
prop: "state2",
- default: 0,
+ default: "",
options: [
{
name: "全部",
- value: 0,
+ value: "",
},
{
name: "待审批",
- value: 1,
+ value: 0,
},
{
name: "审批通过",
- value: 2,
+ value: 1,
},
{
name: "审批未通过",
- value: 3,
+ value: -1,
},
],
},
@@ -799,53 +778,79 @@ export default {
},
{
label: "工作区域名称",
- prop: "name",
+ prop: "name_space",
type: "button",
callback: this.cloudDetail,
},
{
label: "CPU(核)",
- prop: "name",
+ prop: "cpu",
align: "center",
},
{
label: "内存(GB)",
- prop: "name",
+ prop: "memory",
align: "center",
},
{
label: "容器组(个)",
- prop: "name",
+ prop: "containers",
align: "center",
},
{
label: "数据盘(块/GB)",
- prop: "name",
+ type: "tooltip",
align: "center",
+ getLength(item) {
+ let disks = (item.disk && item.disk.trim().split(" ")) || [];
+ return disks.length;
+ },
+ getText(item) {
+ let disks = (item.disk && item.disk.trim().split(" ")) || [];
+ return disks[0];
+ },
+ getContent(item) {
+ let disks = (item.disk && item.disk.trim().split(" ")) || [];
+ let htmlStr = `数据盘(块/GB)
`;
+
+ disks.forEach((v) => {
+ htmlStr += `数据盘:${v}
`;
+ });
+
+ return htmlStr;
+ },
},
{
label: "申请用户",
- prop: "name",
+ prop: "user_name",
align: "center",
},
{
label: "业务系统名",
- prop: "name",
+ prop: "system_name",
align: "center",
},
{
label: "初次申请状态",
- prop: "name",
align: "center",
+ getText(item) {
+ return ["未通过", "待审批", "通过"][
+ (item.approve_state || 0) + 1
+ ];
+ },
},
{
- label: "资源调整状态",
- prop: "name",
+ label: "资源调整结果",
align: "center",
+ getText(item) {
+ return ["未通过", "待审批", "通过"][
+ (item.approve_update_state || 0) + 1
+ ];
+ },
},
{
label: "用户申请时间",
- prop: "name",
+ prop: "apply_time",
align: "center",
},
{
@@ -855,68 +860,17 @@ export default {
width: 80,
actionList: [
{
- label: "分配",
getLabel(item) {
- return item.allot == 0 ? "分配" : "已分配";
+ return item.use_uid ? "已分配" : "分配";
},
callback: this.cloudAllot,
disabledRule(item) {
- return item.allot == 1;
+ return item.use_uid;
},
},
],
},
];
- this.listData = [
- {
- name: "区域1",
- state: 0,
- sjp: ["8/60"],
- allot: 1,
- },
- {
- name: "区域2",
- state: 1,
- sjp: ["2/3", "22/33"],
- allot: 0,
- },
- {
- name: "区域3",
- state: 0,
- sjp: ["2/100", "22/33", "55/66"],
- allot: 1,
- },
- ];
- this.cloud_zuzhi = {
- org_name: "北京比格大数据",
- used_area: 2,
- dashboard_list: [
- {
- name: "cpu使用量",
- value: 6,
- total: 10,
- unit: "(核)",
- },
- {
- name: "内存使用量",
- value: 13,
- total: 20,
- unit: "(GB)",
- },
- {
- name: "数据盘使用量",
- value: 500,
- total: 560,
- unit: "(GB)",
- },
- {
- name: "容器组使用量",
- value: 10,
- total: 18,
- unit: "(个)",
- },
- ],
- };
}
// 超级管理员 --- 平台服务管理
@@ -1136,7 +1090,8 @@ export default {
}
// 超级管理员 --- 云资源管理
else if (level == 2 && type == 2) {
- this.cloud_admin = {
+ this.listUrl = "/apaas/service/v3/resource/user/apply/list";
+ /* this.cloud_admin = {
dashboard_list: [
{
name: "cpu使用量",
@@ -1164,7 +1119,7 @@ export default {
},
],
histogram: {},
- };
+ }; */
}
// Error
@@ -1173,42 +1128,92 @@ export default {
}
},
init(filter) {
- console.log(filter);
+ // console.log(filter);
if (!this.listUrl) {
return;
}
+ let params = {};
+
this.tempFliter = filter;
+ if (this.type == 2) {
+ params = {
+ search: filter.keyword,
+ page: filter.page,
+ limit: filter.size,
+ depart: "",
+ state1: filter.state1,
+ State2: filter.State2,
+ };
+ } else {
+ params = {
+ keyword: filter.keyword,
+ page: filter.page,
+ size: filter.size,
+ 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(",")) ||
+ "", // 服务状态
+ };
+ }
+
this.$http
- .get(this.listUrl, {
- params: {
- 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,
- },
- })
+ .get(this.listUrl, { params })
.then(({ data }) => {
- // console.log(data.data);
- this.listTotal = data.data.total;
- this.listData = data.data.data;
+ // console.log(data);
+
+ if (this.type == 2) {
+ this.listTotal = data.total;
+ this.listData = data.data.cloud_apply_list;
+
+ this.cloud_zuzhi = {
+ org_name: "北京比格大数据",
+ used_area: 2,
+ dashboard_list: [
+ {
+ name: "cpu使用量",
+ value: 6,
+ total: 10,
+ unit: "(核)",
+ },
+ {
+ name: "内存使用量",
+ value: 13,
+ total: 20,
+ unit: "(GB)",
+ },
+ {
+ name: "数据盘使用量",
+ value: 500,
+ total: 560,
+ unit: "(GB)",
+ },
+ {
+ name: "容器组使用量",
+ value: 10,
+ total: 18,
+ unit: "(个)",
+ },
+ ],
+ };
+ } else {
+ this.listTotal = data.data.total;
+ this.listData = data.data.data;
+ }
})
.catch((error) => {
console.log(error);
@@ -1406,7 +1411,7 @@ export default {
console.log("cloudDetail - " + item.name);
},
cloudAllot(item) {
- console.log("cloudAllot - " + item.name);
+ this.$refs.allotConfirm.getDetail(item.apply_id);
},
getDashboardOptions(item) {
let percent = Math.round((item.value / item.total) * 100);