@@ -165,8 +292,13 @@
@@ -179,12 +311,17 @@
- 超时提醒
+ 超时终止流程
@@ -202,12 +339,34 @@ import CesTable from "@/components/table/table-um";
import Codes from "@/components/general/codes";
const drawerType = {
node: 0,
- link: 1
+ link: 1,
};
export default {
components: {
CesTable,
- Codes
+ Codes,
+ },
+ props: {
+ node_list: {
+ type: Array,
+ default: () => [],
+ },
+ link_list: {
+ type: Array,
+ default: () => [],
+ },
+ node_params_list: {
+ type: Array,
+ default: () => [],
+ },
+ },
+ watch: {
+ node_list: {
+ handler(val) {
+ this.setVal();
+ },
+ deep: true,
+ },
},
data() {
return {
@@ -248,14 +407,14 @@ export default {
} else {
this.$refs.linkSetting.clearValidate();
}
- }
+ },
},
linkSetting: {
- desc: ""
+ desc: "",
},
nodeSetting: {
name: "",
- desc: ""
+ desc: "",
},
dragConf: {
isDown: false,
@@ -265,7 +424,7 @@ export default {
clientX: 0,
clientY: 0,
ele: null,
- info: null
+ info: null,
},
nodeItemList: [
{
@@ -276,9 +435,9 @@ export default {
meta: {
label: "普通节点",
name: "普通节点",
- type: 3
- }
- }
+ type: 3,
+ },
+ },
},
{
label: "开始",
@@ -288,9 +447,9 @@ export default {
meta: {
label: "开始",
name: "开始",
- type: 1
- }
- }
+ type: 1,
+ },
+ },
},
{
label: "结束",
@@ -300,27 +459,27 @@ export default {
meta: {
label: "结束",
name: "结束",
- type: 2
- }
- }
- }
+ type: 2,
+ },
+ },
+ },
],
nodeParamsList: [],
linkMenu: [
[
{
label: "删除",
- selected: link => {
+ selected: (link) => {
console.log(link);
link.remove();
- }
- }
- ]
+ },
+ },
+ ],
],
dialog_general: false,
nodeItem: {
id: "",
- name: ""
+ name: "",
},
node_name: "",
show_options_pop: false,
@@ -329,7 +488,7 @@ export default {
{ label: "GET", value: 1 },
{ label: "POST", value: 2 },
{ label: "PUT", value: 3 },
- { label: "DELETE", value: 4 }
+ { label: "DELETE", value: 4 },
],
select: 1,
serviceUrl: "",
@@ -342,9 +501,9 @@ export default {
label: "请求字段编码",
prop: "requestEncoding",
type: "input",
- align: "left"
+ align: "left",
},
- { label: "请求值", prop: "requestValue", type: "input", align: "left" }
+ { label: "请求值", prop: "requestValue", type: "input", align: "left" },
],
datasSj: [],
optionsSq: [{ label: "Bearer Token", value: "Bearer" }],
@@ -358,13 +517,13 @@ export default {
prop: "show_type",
type: "",
align: "left",
- width: "140"
+ width: "140",
},
{
label: "字段名称*",
prop: "label",
type: "input",
- align: "left"
+ align: "left",
},
{
label: "是否必须*",
@@ -372,10 +531,13 @@ export default {
type: "select",
align: "left",
width: 100,
- selectArr: [{ label: "是", value: 1 }, { label: "否", value: 0 }],
- hasDefault: true
+ selectArr: [
+ { label: "是", value: 1 },
+ { label: "否", value: 0 },
+ ],
+ hasDefault: true,
},
- { label: "字段说明", prop: "descript", type: "input", align: "left" }
+ { label: "字段说明", prop: "descript", type: "input", align: "left" },
],
sjfwFhcstx: [
{ label: "字段编码", prop: "name", type: "", align: "left" },
@@ -385,9 +547,9 @@ export default {
label: "字段名称*",
prop: "label",
type: "input",
- align: "left"
+ align: "left",
},
- { label: "字段说明", prop: "descript", type: "input", align: "left" }
+ { label: "字段说明", prop: "descript", type: "input", align: "left" },
],
datasQqcs: [],
datasFhcs: [],
@@ -405,14 +567,14 @@ export default {
durationOptions: [
{ value: 1, label: "分钟" },
{ value: 2, label: "小时" },
- { value: 3, label: "天" }
+ { value: 3, label: "天" },
],
max_time_0: undefined,
max_time_1: undefined,
max_time_type_0: 1,
max_time_type_1: 1,
max_time_check_0: false,
- max_time_check_1: false
+ max_time_check_1: false,
};
},
mounted() {
@@ -447,7 +609,7 @@ export default {
top,
right,
bottom,
- left
+ left,
} = this.$refs.flowContainer.getBoundingClientRect();
// 判断鼠标是否进入 flow container
if (
@@ -474,15 +636,18 @@ export default {
let query = { width: 120, height: 48, meta: {} };
query.meta.type = conf.info.meta.type;
if (!conf.info.meta.id) {
- query.meta.id = parseInt(Math.random() * 1000 * 1000);
+ query.meta.id =
+ parseInt(Math.random() * 1000 * 1000) +
+ "a" +
+ parseInt(Math.random() * 1000 * 1000);
}
console.log(query);
this.$refs.superFlow.addNode({
coordinate,
- ...query
+ ...query,
});
if (
- this.nodeParamsList.findIndex(item => {
+ this.nodeParamsList.findIndex((item) => {
return item.id == query.meta.id;
}) == -1
) {
@@ -492,21 +657,22 @@ export default {
label: "开始",
name: "开始",
type: 1,
- id: query.meta.id
+ id: query.meta.id,
};
} else if (conf.info.meta.type == 2) {
obj = {
label: "结束",
name: "结束",
type: 2,
- id: query.meta.id
+ id: query.meta.id,
};
} else if (conf.info.meta.type == 3) {
obj = {
label: "普通节点",
name: "普通节点",
type: 3,
- id: query.meta.id
+ id: query.meta.id,
+ plugins: [],
};
}
this.nodeParamsList.push(obj);
@@ -531,7 +697,7 @@ export default {
clientY: clientY,
info,
ele,
- isDown: true
+ isDown: true,
});
ele.style.position = "fixed";
ele.style.margin = "0";
@@ -546,14 +712,14 @@ export default {
},
blurItem() {
this.nodeItem = {
- id: ""
+ id: "",
};
console.log(this.nodeItem);
},
getData() {
return {
obj: this.$refs.superFlow.toJSON(),
- params: this.nodeParamsList
+ params: this.nodeParamsList,
};
},
handleChange() {},
@@ -565,14 +731,14 @@ export default {
} else {
self.$message({
message: "开始和结束节点不可被编辑",
- type: "warning"
+ type: "warning",
});
return false;
}
} else {
self.$message({
message: "请选择节点",
- type: "warning"
+ type: "warning",
});
return false;
}
@@ -580,17 +746,19 @@ export default {
showGeneralSettings() {
if (this.checkNodeCouldEdit()) {
let self = this;
- self.node_name = self.nodeParamsList.find(item => {
+ self.node_name = self.nodeParamsList.find((item) => {
return item.id == self.nodeItem.id;
}).name;
self.dialog_general = true;
}
},
- showInterfacePlugin() {
- this.dialog_interface = true;
+ showInterfacePlugin(query) {
+ if (this.checkNodeCouldEdit()) {
+ this.dialog_interface = true;
+ }
},
nodeParams(id) {
- let index = this.nodeParamsList.findIndex(item => {
+ let index = this.nodeParamsList.findIndex((item) => {
return item.id == id;
});
if (index != -1) {
@@ -605,7 +773,7 @@ export default {
generalSubmit() {
let self = this;
if (self.nodeItem.type == 3) {
- let index = self.nodeParamsList.findIndex(item => {
+ let index = self.nodeParamsList.findIndex((item) => {
return item.id == self.nodeItem.id;
});
if (index != -1) {
@@ -613,7 +781,7 @@ export default {
} else {
self.$message({
message: "修改失败",
- type: "error"
+ type: "error",
});
}
}
@@ -676,17 +844,34 @@ export default {
? this.$refs.jsonCodes.getCodesVal()
: "";
let contentType = this.sjfwQqt;
+ let method = "";
+ switch (this.select) {
+ case 1:
+ method = "GET";
+ break;
+ case 2:
+ method = "POST";
+ break;
+ case 3:
+ method = "PUT";
+ break;
+ case 4:
+ method = "DELETE";
+ break;
+ default:
+ break;
+ }
let query = {
- method: this.select,
+ method: method,
url: this.serviceUrl,
headers: headers,
params: requestData,
body: bodys,
content_type: contentType,
data_service_type1: 5,
- data_service_type2: 12
+ data_service_type2: 12,
};
- this.$api.workbench.fwzcFwcs(query).then(response => {
+ this.$api.workbench.fwzcFwcs(query).then((response) => {
if (response.data.success == 1) {
let data = response.data.data;
this.body_fields = data.body_fields;
@@ -720,25 +905,26 @@ export default {
this.checkTable(requestData, 0);
this.checkTable(responseData, 1);
if (this.requestRules == 0 && this.responseRules == 0) {
- this.request_fields = requestData;
- this.response_fields = responseData;
let self = this;
- let index = this.nodeParamsList.findIndex(item => {
- return (item.id = self.nodeItem.id);
+ self.request_fields = requestData;
+ self.response_fields = responseData;
+ let index = self.nodeParamsList.findIndex((item) => {
+ return item.id == self.nodeItem.id;
});
+ console.log(self.nodeParamsList[index]);
self.nodeParamsList[index].plugins.push({
plugin_type: 1,
url: self.serviceUrl,
req_type: Number(self.select),
auth_method: self.sqfsVal,
auth_token: self.tokenVal,
- query_fields:
- self.dataType == "body" ? self.request_fields : self.body_fields,
- body_fields:
- self.dataType == "param"
- ? self.request_fields
- : self.param_fields,
- response_fields: self.response_fields
+ query_fields: JSON.stringify(
+ self.dataType == "body" ? self.request_fields : self.body_fields
+ ),
+ body_fields: JSON.stringify(
+ self.dataType == "param" ? self.request_fields : self.param_fields
+ ),
+ response_fields: JSON.stringify(self.response_fields),
});
console.log(self.nodeParamsList);
self.dialog_interface = false;
@@ -770,20 +956,32 @@ export default {
}
},
showProcessService() {
- this.dialog_process = true;
+ if (this.checkNodeCouldEdit()) {
+ this.dialog_process = true;
+ }
},
processCancel() {
this.dialog_process = false;
},
- processSubmit() {},
+ processSubmit() {
+ if (this.service != "") {
+ }
+ },
showTimeoutManagement() {
- this.dialog_timeout = true;
+ if (this.checkNodeCouldEdit()) {
+ this.dialog_timeout = true;
+ }
},
timeoutCancel() {
this.dialog_timeout = false;
},
- timeoutSubmit() {}
- }
+ timeoutSubmit() {},
+ setVal() {
+ this.nodeList = JSON.parse(JSON.stringify(this.node_list));
+ this.linkList = JSON.parse(JSON.stringify(this.link_list));
+ this.nodeParamsList = JSON.parse(JSON.stringify(this.node_params_list));
+ },
+ },
};
@@ -882,6 +1080,11 @@ export default {
}
}
}
+ .checked_line {
+ width: 64px;
+ height: 1px;
+ background-color: #e5e8f5;
+ }
}
}
.node-item {
@@ -1218,7 +1421,7 @@ export default {
.timeout_row {
display: flex;
.timeout_input_group {
- width: 300px;
+ width: 400px;
display: flex;
.input_left {
display: inline-block;
@@ -1238,6 +1441,19 @@ export default {
border-radius: 0;
color: #242c43;
}
+ .el-input-number__decrease {
+ display: none;
+ }
+ .el-input-number__increase {
+ display: none;
+ }
+ &.is-controls-right {
+ .el-input__inner {
+ padding-left: 15px;
+ padding-right: 15px;
+ text-align: left;
+ }
+ }
}
.input_right_select.el-select {
width: 80px;
diff --git a/src/pages/data-analysis/data-analysis.vue b/src/pages/data-analysis/data-analysis.vue
index 3e960577728bc80b864065ad3072a4c2d417fb2e..a974e672045631600a56e9f83ef630ae3de29da1 100644
--- a/src/pages/data-analysis/data-analysis.vue
+++ b/src/pages/data-analysis/data-analysis.vue
@@ -1,11 +1,19 @@
-
+ >
+
@@ -14,10 +22,11 @@
+
\ No newline at end of file
diff --git a/src/pages/data-analysis/super-service.vue b/src/pages/data-analysis/super-service.vue
new file mode 100644
index 0000000000000000000000000000000000000000..27a560fa3d30a740cd5c8d9c731e34dd864b0f90
--- /dev/null
+++ b/src/pages/data-analysis/super-service.vue
@@ -0,0 +1,62 @@
+
+
+
+
+ {{
+ $t("lang.data_analysis")
+ }}
+
+
+ {{
+ $t("lang.my_service_data_analysis")
+ }}
+
+
+
+
+
开发中,敬请期待!
+
+ 如需技术支持
+
请联系管理员
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/service_shop/shop_list.vue b/src/pages/service_shop/shop_list.vue
index 82ef37014c0b905d8ec02b91c7fb3f737fa10c24..5223a52cda5e0a7bd8191a2421d6659cfae5ee5d 100644
--- a/src/pages/service_shop/shop_list.vue
+++ b/src/pages/service_shop/shop_list.vue
@@ -5,7 +5,32 @@
-
+
+
+
+
+ {{
+ $t("lang.service_shop")
+ }}
+
+ {{ name }}
+
+
+
+
开发中,敬请期待!
+
+ 如需技术支持
+
请联系管理员
+
+
+
+
@@ -14,16 +39,18 @@
-
\ No newline at end of file
diff --git a/src/pages/technical-support/index.vue b/src/pages/technical-support/index.vue
index 3c7f3d279afb6b6ede619d39f51fe327078a124d..51afa4428fdbb6aab5e6216fdc390d8db283df8b 100644
--- a/src/pages/technical-support/index.vue
+++ b/src/pages/technical-support/index.vue
@@ -1,13 +1,27 @@
-
+
+
{{ $t("lang.technical_support") }}
+
+
+
开发中,敬请期待!
+
+ 如需技术支持
+
请联系管理员
+
+
+
+
-
diff --git a/src/pages/workbench/component-center/process-management/process-design/edit.vue b/src/pages/workbench/component-center/process-management/process-design/edit.vue
new file mode 100644
index 0000000000000000000000000000000000000000..40142cbe033a60e915e526baddbe1d47eea8ce02
--- /dev/null
+++ b/src/pages/workbench/component-center/process-management/process-design/edit.vue
@@ -0,0 +1,336 @@
+
+
+
+ {{ $t("lang.online_component_tool") }}
+ {{ $t("lang.process_design") }}
+ {{ $t("lang.process_management") }}
+ {{ $t("lang.new") }}
+
+
+
+
+
+
+
+ 流程名称:
+
+
+
+ 工作区域:
+
+
+
+
+
+ 流程描述:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 返回列表
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/workbench/component-center/process-management/process-design/index.vue b/src/pages/workbench/component-center/process-management/process-design/index.vue
index 568621439cc40918257849c774b4861741a37dd0..63185d4333c876a114d9473b436787ce0fb6d49a 100644
--- a/src/pages/workbench/component-center/process-management/process-design/index.vue
+++ b/src/pages/workbench/component-center/process-management/process-design/index.vue
@@ -7,8 +7,20 @@
{{ $t("lang.new") }}
-
-
+
+
@@ -17,13 +29,27 @@
工作区域:
-
-
+
+
流程描述:
-
+
-
+
-
+
返回列表
@@ -65,7 +102,7 @@ export default {
WorkFlow,
BlockRadius,
Steps,
- Step
+ Step,
},
data: () => {
return {
@@ -74,22 +111,22 @@ export default {
basic_form: {
name: "",
workplace: "",
- desc: ""
+ desc: "",
},
rules: {
name: [
{ required: true, message: "请输入流程名称", trigger: "blur" },
- { max: 16, message: "不能超过16个字符", trigger: "blur" }
+ { max: 16, message: "不能超过16个字符", trigger: "blur" },
],
workplace: [
- { required: true, message: "请选择工作区域", trigger: "blur" }
+ { required: true, message: "请选择工作区域", trigger: "blur" },
],
desc: [
{ required: true, message: "请输入流程描述", trigger: "blur" },
- { max: 400, message: "不能超过400个字符", trigger: "blur" }
- ]
+ { max: 400, message: "不能超过400个字符", trigger: "blur" },
+ ],
},
- workplace_list: []
+ workplace_list: [],
};
},
methods: {
@@ -107,8 +144,8 @@ export default {
let out_edge = 0;
let datas = { ...data.obj };
console.log(data);
- datas.nodeList.forEach(item => {
- let da = data.params.find(nodep => {
+ datas.nodeList.forEach((item) => {
+ let da = data.params.find((nodep) => {
return nodep.id == item.meta.id;
});
item.meta = da;
@@ -121,14 +158,14 @@ export default {
end_id = item.id;
}
if (
- datas.linkList.findIndex(el => {
+ datas.linkList.findIndex((el) => {
return el.startId == item.id;
}) == -1 &&
item.id != end_id
) {
in_edge++;
} else if (
- datas.linkList.findIndex(el => {
+ datas.linkList.findIndex((el) => {
return el.endId == item.id;
}) == -1 &&
item.id != start_id
@@ -136,7 +173,7 @@ export default {
out_edge++;
}
});
- datas.linkList.forEach(item => {
+ datas.linkList.forEach((item) => {
if (start_id == item.endId) {
start_before++;
}
@@ -147,25 +184,30 @@ export default {
if (start_num != 1 || end_num != 1) {
this.$message({
message: "开始节点与结束节点均应有且只有一个",
- type: "warning"
+ type: "warning",
});
+ return false;
} else if (start_before != 0) {
this.$message({
message: "开始节点前面不应连接其它节点",
- type: "warning"
+ type: "warning",
});
+ return false;
} else if (end_after != 0) {
this.$message({
message: "结束节点后面不应连接其它节点",
- type: "warning"
+ type: "warning",
});
+ return false;
} else if (in_edge != 0 || out_edge != 0) {
this.$message({
message: "请保证每个节点都被连接",
- type: "warning"
+ type: "warning",
});
+ return false;
+ } else {
+ return datas;
}
- console.log(datas);
},
backToList() {
this.$router.push("/message/directed_push");
@@ -175,9 +217,8 @@ export default {
this.$router.go(-1);
},
next() {
- this.$refs["basicInformation"].validate(valid => {
+ this.$refs["basicInformation"].validate((valid) => {
if (valid) {
- console.log("sss")
this.step++;
} else {
}
@@ -187,9 +228,32 @@ export default {
this.step--;
},
complete() {
- this.verification();
- }
- }
+ let self = this;
+ let res = self.verification();
+ if (res) {
+ let query = {
+ name: self.basic_form.name,
+ workarea: self.basic_form.workplace,
+ describe: self.basic_form.desc,
+ ...res,
+ };
+ this.$api.workbench.addProcess(query).then((response) => {
+ if (response.data.success == 1) {
+ }
+ });
+ }
+ },
+ getNameSpaceList() {
+ this.$api.workbench.getProcessNamespaceList().then((response) => {
+ if (response.data.success == 1) {
+ this.workplace_list = response.data.data.workareas;
+ }
+ });
+ },
+ },
+ mounted() {
+ this.getNameSpaceList();
+ },
};
diff --git a/src/request/api/workbench.js b/src/request/api/workbench.js
index 1a11cc40ec889b97803ce986c172a5f59fdcd375..a6fabb991aab4e294701ff72f5a0dda302419ecc 100644
--- a/src/request/api/workbench.js
+++ b/src/request/api/workbench.js
@@ -57,6 +57,23 @@ const workbench = {
getServiceTopology() {
return axios.get(`/apaas/istio/v3/api/namespaces/graph`)
},
+
+ // add process
+ addProcess(params) {
+ return axios.post(`/apaas/serviceapp/v3/workflows/add`, params)
+ },
+ // edit process
+ editProcess(params) {
+ return axios.post(`/apaas/serviceapp/v3/workflows/update`, params)
+ },
+ // get process detail
+ getProcessDetail(params) {
+ return axios.get(`/apaas/serviceapp/v3/workflows/detail?id=${params.id}`)
+ },
+ // get process namespace list
+ getProcessNamespaceList() {
+ return axios.get(`/apaas/serviceapp/v3/workflows/searchConditions`)
+ },
}
export default workbench;
diff --git a/src/router/index.js b/src/router/index.js
index dec4e135427cc85381aa4887ea89504b82ac7797..fcd959c76e92ee818adb97ce1908006fc6239f57 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -284,6 +284,11 @@ export default new Router({
name: "process_design",
component: () => import("@/pages/workbench/component-center/process-management/process-design/index"),
}, // 流程设计
+ {
+ path: "/progress/designer/design_edit/:id",
+ name: "process_design_edit",
+ component: () => import("@/pages/workbench/component-center/process-management/process-design/edit"),
+ }, // 流程编辑
],
}, // 流程设计
{
@@ -445,6 +450,16 @@ export default new Router({
name: "serviceControl",
component: () => import("@/pages/data-analysis/service-control"),
},
+ {
+ path: "/data_analysis/super_service", // 数据分析中心服务-组织
+ name: "superServiceDataAnalysis",
+ component: () => import("@/pages/data-analysis/super-service"),
+ },
+ {
+ path: "/data_analysis/super_application", // 数据分析中心应用-组织
+ name: "superApplicationDataAnalysis",
+ component: () => import("@/pages/data-analysis/super-application"),
+ },
],
},
{