diff --git a/src/assets/css/index.css b/src/assets/css/index.css index 6772c5e1d72ef52c3e6e90ace81f1b3c033ee13b..3d005be5422aec2f7049f9bb608438d413103ed2 100644 --- a/src/assets/css/index.css +++ b/src/assets/css/index.css @@ -1,69 +1,69 @@ -[v-cloak]{ - display: none -} +[v-cloak] { + display: none; +} /* 新增按钮颜色 */ -.form-group .el-button--primary{ - background-color: #264dd9!important; - border-color: #264dd9!important; +.form-group .el-button--primary { + background-color: #264dd9 !important; + border-color: #264dd9 !important; } /* 返回按钮颜色 */ -.from_return>.el-button--primary{ - background-color: #edf0ff!important; - border-color: #edf0ff!important; - color:#264dd9!important; +.from_return > .el-button--primary { + background-color: #edf0ff !important; + border-color: #edf0ff !important; + color: #264dd9 !important; } /* 取消按钮颜色 */ -.form_c{ - background-color: #dde4ff!important; - border-color: #dde4ff!important; - color:#264dd9!important ; +.form_c { + background-color: #dde4ff !important; + border-color: #dde4ff !important; + color: #264dd9 !important ; } /* 确定按钮颜色 */ -.form_t{ - background-color: #264dd9!important; - border-color: #264dd9!important; - color:#f4f7fc!important ; +.form_t { + background-color: #264dd9 !important; + border-color: #264dd9 !important; + color: #f4f7fc !important ; } /* 搜索框颜色 */ -.form-group .el-input__inner{ - border-radius: 28px!important; - border: 1px solid #bcc1d0!important; - background: #f4f7fc!important; - color: #8890a7!important; -} -.drawer_return .el-input__inner{ - border-radius: 28px!important; - border: 1px solid #bcc1d0!important; - background: #f4f7fc!important; - color: #8890a7!important; +.form-group .el-input__inner { + border-radius: 28px !important; + border: 1px solid #bcc1d0 !important; + background: #f4f7fc !important; + color: #8890a7 !important; +} +.drawer_return .el-input__inner { + border-radius: 28px !important; + border: 1px solid #bcc1d0 !important; + background: #f4f7fc !important; + color: #8890a7 !important; } /* 多行文本框样式 */ -.jbxx_desc textarea{ - height: 150px!important; - border-radius: 8px!important; - border-color: #bcc1d0!important; - outline: none!important; - resize: none!important; +.jbxx_desc textarea { + height: 150px !important; + border-radius: 8px !important; + border-color: #bcc1d0 !important; + outline: none !important; + resize: none !important; } /* 面包屑文字大小 */ -.el-breadcrumb{ +.el-breadcrumb { font-size: 14px; color: #898d9e; } /* 编辑颜色*/ -.primary-edit{ +.primary-edit { color: #264dd9; cursor: pointer; } /* 删除颜色 */ -.primary-del{ +.primary-del { color: #264dd9; cursor: pointer; } -.space_bet{} +.space_bet { +} /* reset */ html { - } body { margin: 0; @@ -87,7 +87,7 @@ h5 { font-weight: normal; } -div{ +div { box-sizing: border-box; } /* reset end */ @@ -141,7 +141,7 @@ div{ } .ss_card > .sc_right_container > .sc_info { display: flex; - justify-content: space-between; + justify-content: space-between; } .form-group { padding: 20px 20px 15px; @@ -152,56 +152,56 @@ div{ padding: 0 20px; } /* 设置抽屉的样式 */ -.el-drawer__header{ - display: none; +.el-drawer__header { + display: none; } -.from_return{ - text-align: center; - padding: 18px 20px 10px; - border-bottom: 1px solid #edf0ff; - position: relative; +.from_return { + text-align: center; + padding: 18px 20px 10px; + border-bottom: 1px solid #edf0ff; + position: relative; } -.from_return>.el-button--primary{ +.from_return > .el-button--primary { position: absolute; top: 15px; left: 20px; } -.from_return>span{ - color:#1a2236; +.from_return > span { + color: #1a2236; font-size: 16px; } -.demo-drawer__content .el-form-item__label{ +.demo-drawer__content .el-form-item__label { color: #242c43; } -.demo-drawer__content .el-input__inner{ +.demo-drawer__content .el-input__inner { border: 1px solid #bcc1d0; border-radius: 17px; color: #58617a; background: #fff; } -.demo-drawer__footer{ +.demo-drawer__footer { text-align: right; padding-right: 40px; margin-top: 40px; } -.el-form-item__error{ - font-size:11px; +.el-form-item__error { + font-size: 11px; } /* 设置提示弹窗的样式 */ -.el-dialog{ +.el-dialog { border-radius: 10px; } .el-dialog__header { border-bottom: 1px solid #edf0ff; } -.el-dialog__title{ +.el-dialog__title { font-size: 16px; font-weight: 700; color: #1d1e20; border-left: 4px solid #0367f6; padding-left: 8px; } -.el-dialog__body{ +.el-dialog__body { font-size: 18px; color: #242c43; text-align: center; @@ -213,23 +213,22 @@ div{ .el-tabs__item { font-size: 16px; color: #8890a7; - line-height: 24px!important; + line-height: 24px !important; } .el-tabs__nav-scroll .el-tabs__item { - line-height: 40px!important; + line-height: 40px !important; } .el-tabs__item:hover { color: #687087; - } .el-tabs__item.is-active { color: #e56600 !important; } -.el-tabs__active-bar{ +.el-tabs__active-bar { height: 3px; - background-color:#e56600 !important; + background-color: #e56600 !important; } -.el-tabs__nav-wrap::after{ +.el-tabs__nav-wrap::after { height: 1px; background-color: #edf0ff; } @@ -277,51 +276,54 @@ border-radius:8px; } */ /* 左右布局 */ .flex { -height: 100%; -display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */ -display: -moz-box; /* Firefox 17- */ -display: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */ -display: -moz-flex; /* Firefox 18+ */ -display: -ms-flexbox; /* IE 10 */ -display: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */ + height: 100%; + display: -webkit-box; /* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */ + display: -moz-box; /* Firefox 17- */ + display: -webkit-flex; /* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */ + display: -moz-flex; /* Firefox 18+ */ + display: -ms-flexbox; /* IE 10 */ + display: flex; /* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */ } .flex-left { -width: 178px; -background-color: #1a2236; -height: 100%; + width: 178px; + background-color: #1a2236; + height: 100%; } .flex-right { -padding: 0 20px 20px; -box-sizing: border-box; --webkit-box-flex: auto; --ms-flex: auto; --webkit-flex: auto; -flex: 1; -overflow-y: auto; + padding: 0 20px 20px; + box-sizing: border-box; + -webkit-box-flex: auto; + -ms-flex: auto; + -webkit-flex: auto; + flex: 1; + overflow-y: auto; } -.flex-right-box{ -width: 100%; -height: 100%; -position: relative; +.flex-right-box { + width: 100%; + height: 100%; + position: relative; } -.ces-main{ -position: absolute; -width: 100%; +.ces-main { + position: absolute; + width: 100%; } -.v-modal{ -background: #000a2b!important; +.v-modal { + background: #000a2b !important; } -.drawer600{ -width: 600px!important; +.drawer600 { + width: 600px !important; } -.drawer620{ -width: 620px!important; +.drawer620 { + width: 620px !important; } -.drawer1202{ - width: 1202px!important; +.drawer1202 { + width: 1202px !important; } -.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before, .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{ - content:"" +.el-form-item.is-required:not(.is-no-asterisk) + .el-form-item__label-wrap + > .el-form-item__label:before, +.el-form-item.is-required:not(.is-no-asterisk) > .el-form-item__label:before { + content: ""; } /* 设置switch的样式 */ .switchStyle1 .el-switch__label { @@ -338,7 +340,7 @@ width: 620px!important; /*关闭时文字位置设置*/ .switchStyle1 .el-switch__label--left { z-index: 1; - left: 28px; + left: 28px; top: 1px; } .switchStyle1 .el-switch__label.is-active { @@ -347,8 +349,8 @@ width: 620px!important; .switchStyle1.el-switch .el-switch__core, .switchStyle1.el-switch .el-switch__label { width: 62px !important; - height: 28px!important; - border-radius: 28px!important; + height: 28px !important; + border-radius: 28px !important; } .switchStyle1 .el-switch__core { background: #f8f9fd !important; @@ -372,7 +374,7 @@ width: 620px!important; right: 0; top: 2.1px; } -.switchStyle1.el-switch.is-checked .el-switch__core::after{ +.switchStyle1.el-switch.is-checked .el-switch__core::after { margin-left: -25px; } .switchStyle1 .el-switch__label * { @@ -412,7 +414,8 @@ width: 620px!important; .el-input__inner { border-radius: 8px; } -.el-input-group__append, .el-input-group__prepend { +.el-input-group__append, +.el-input-group__prepend { border-radius: 8px; } .el-button { @@ -454,10 +457,10 @@ width: 620px!important; .el-scrollbar { border-radius: 8px; } -.el-popper[x-placement^=bottom] .popper__arrow::after { +.el-popper[x-placement^="bottom"] .popper__arrow::after { border-bottom-color: transparent; } -.el-popper[x-placement^=top] .popper__arrow::after { +.el-popper[x-placement^="top"] .popper__arrow::after { border-top-color: transparent; } /* 单选激活样式 */ @@ -465,13 +468,13 @@ width: 620px!important; border-color: #838383; background-color: #fff; } -.el-radio__input.is-checked+.el-radio__label { +.el-radio__input.is-checked + .el-radio__label { color: #1a2236; font-weight: 700; } .el-radio__inner::after { width: 8px; - height: 8px; + height: 8px; } .el-radio__input.is-checked .el-radio__inner::after { background-color: #e56600; @@ -508,7 +511,6 @@ width: 620px!important; margin: 0 auto; } - /* common */ .apass_breadcrumb > .el-breadcrumb { padding: 15px 0; @@ -519,7 +521,10 @@ width: 620px!important; color: #898d9e; line-height: 23px; } -.apass_breadcrumb > .el-breadcrumb .el-breadcrumb__item:last-child .el-breadcrumb__inner { +.apass_breadcrumb + > .el-breadcrumb + .el-breadcrumb__item:last-child + .el-breadcrumb__inner { color: #242c43; font-weight: normal; } @@ -527,7 +532,7 @@ width: 620px!important; min-width: 90px; color: #0f2683; } -.apaas_button .el-button--mini, +.apaas_button .el-button--mini, .apaas_button .el-button--mini.is-round { padding: 10px 15px; } @@ -546,8 +551,8 @@ width: 620px!important; background-color: #e15260; border-color: #e15260; } -.apaas_button .el-button.is-disabled, -.apaas_button .el-button.is-disabled:focus, +.apaas_button .el-button.is-disabled, +.apaas_button .el-button.is-disabled:focus, .apaas_button .el-button.is-disabled:hover { cursor: not-allowed; } @@ -564,11 +569,11 @@ width: 620px!important; .apaas_button .el-button.is-disabled, .apaas_button .el-button.is-disabled:focus, .apaas_button .el-button.is-disabled:hover { - color: #C0C4CC; + color: #c0c4cc; cursor: not-allowed; background-image: none; - background-color: #FFF; - border-color: #EBEEF5; + background-color: #fff; + border-color: #ebeef5; } .apass_table .el-table th > .cell { @@ -831,4 +836,10 @@ width: 620px!important; .meassage_detail_dialog .detail_item .full_content .item_content { margin: 0; } -/* 详情页公共样式 by xuyiming ~~~end */ \ No newline at end of file +.no_wrap .apass_table td .cell { + overflow: hidden; + text-overflow: ellipsis; + word-break: break-all; + white-space: nowrap; +} +/* 详情页公共样式 by xuyiming ~~~end */ diff --git a/src/assets/i18n/language-zh.js b/src/assets/i18n/language-zh.js index f368162f74ac353b52e4a6b10b5415724f8c5855..252c32ad37b62d1aba104a0382b9dc3176631749 100644 --- a/src/assets/i18n/language-zh.js +++ b/src/assets/i18n/language-zh.js @@ -22,9 +22,9 @@ export const lang = { cloud_resources_detail: "云资源详情", // data analysis - data_analysis: "数据分析中心", - my_service_data_analysis: "我的服务数据分析", - my_application_data_analysis: "我的应用数据分析", + data_analysis: "运营管控中心", + my_service_data_analysis: "服务分析", + my_application_data_analysis: "应用分析", // message message: "消息与推送管理", @@ -33,4 +33,10 @@ export const lang = { message_alert: "消息提醒管理", banner: "banner管理", message_template: "消息模板管理", + + //online component tool + online_component_tool: "在线组件中心", + process_design: "流程设计", + process_management: "流程管理", + new: "新建" } \ No newline at end of file diff --git a/src/components/app-build-steps/app-build-step.vue b/src/components/app-build-steps/app-build-step.vue index 51422948d78d09353e79c38505a5f577d93b3a11..b7cf24895b9856db9eac2a8bad97097d44845317 100644 --- a/src/components/app-build-steps/app-build-step.vue +++ b/src/components/app-build-steps/app-build-step.vue @@ -20,6 +20,10 @@ export default { type: String, default: () => "", }, + stepTitle: { + type: String, + default: "", + }, }, data: () => ({}), computed: { diff --git a/src/components/app-build-steps/app-build-steps.vue b/src/components/app-build-steps/app-build-steps.vue index 3568024c09bb5a92c8629ede0a38ec3734c04da2..3c7340cd878c93537be5fe04d379957afa1f8c88 100644 --- a/src/components/app-build-steps/app-build-steps.vue +++ b/src/components/app-build-steps/app-build-steps.vue @@ -25,7 +25,12 @@
-

+

+ + {{ item.stepTitle }} + +

+

已完成 diff --git a/src/components/general/upload_file.vue b/src/components/general/upload_file.vue index 5e3d904f3bc3a7eac7551c21db59b87e54841856..e1d00846407f1cfd39e7e9470d20bf91b15578a0 100644 --- a/src/components/general/upload_file.vue +++ b/src/components/general/upload_file.vue @@ -24,6 +24,7 @@ :readOnly="readOnly" :data="anotherData" :drag="drag" + :disabled="disabled" >

@@ -92,6 +93,10 @@ export default { type: Boolean, default: true, }, + disabled: { + type: Boolean, + default: false, + }, }, watch: { list(value) { diff --git a/src/components/message-steps/select-service.vue b/src/components/message-steps/select-service.vue index e96dcbb3f2748d0c43aedb14a5c88386e8a64847..070d7533d3fd0bf2e099fec0b6049fcd07900e0b 100644 --- a/src/components/message-steps/select-service.vue +++ b/src/components/message-steps/select-service.vue @@ -22,6 +22,7 @@ @@ -437,6 +451,14 @@ export default { } .shopping_cell_specification_btn { margin: 0 10px 10px; + max-width: calc(100% - 20px); + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.shopping_cell_specification_btn:hover { + background-color: #b2baf5; + color: #f4f7fc; } .shopping_cell_specification_btn.active { background-color: #515fe7; diff --git a/src/components/topology.vue b/src/components/topology.vue index 73169ff464600e960747092ba73576dab0eecbd9..25ff6b25fc3012d206ea14b73c41cdcad3d866b1 100644 --- a/src/components/topology.vue +++ b/src/components/topology.vue @@ -5,9 +5,9 @@
拓扑图图例
服务类型
-
+
调用状态
-
+
@@ -22,11 +22,18 @@ export default { default: () => { return { nodes: [], - edges: [] + edges: [], }; - } + }, }, - namespace: String + namespace: String, + }, + data: () => { + return { + graph: null, + legendNodes: null, + legendEdges: null, + }; }, mounted() {}, watch: { @@ -34,13 +41,13 @@ export default { this.getCavData(); this.getLegendNodes(); this.getLegendEdges(); - } + }, }, methods: { // shu ju chu li getCavData() { let self = this; - self.datas.nodes.map(node => { + self.datas.nodes.map((node) => { node.id = node.data.id; switch (node.data.svcType) { case "数据服务": @@ -87,12 +94,12 @@ export default { fontSize: 12, stroke: "#fffef9", lineWidth: 4, - cursor: "pointer" + cursor: "pointer", }, - position: "bottom" + position: "bottom", }; }); - self.datas.edges.map(edge => { + self.datas.edges.map((edge) => { edge.id = edge.data.id; edge.source = edge.data.source; edge.target = edge.data.target; @@ -107,10 +114,10 @@ export default { lineAppendWidth: 5, endArrow: { path: "M -3,0 L 4,2 L 4,-2 Z", // 自定义箭头路径 - d: -2 // 偏移量 + d: -2, // 偏移量 }, strokeOpacity: 1, - cursor: "pointer" + cursor: "pointer", }; if (edge.data.traffic.protocol == "tcp") { // tcp @@ -151,11 +158,12 @@ export default { self.getCav(); }, getCav() { + if (this.graph) this.graph.destroy(); const width = this.$refs.conCav.scrollWidth; const height = this.$refs.conCav.scrollHeight || 500; let self = this; // console.log(self.datas); - const graph = new G6.Graph({ + this.graph = new G6.Graph({ container: "container", width, height, @@ -165,78 +173,79 @@ export default { // 流程图布局 type: "dagre", rankdir: "LR", - nodesep: 12 + nodesep: 12, }, modes: { - default: ["zoom-canvas", "drag-canvas", "drag-node"] + default: ["zoom-canvas", "drag-canvas", "drag-node"], }, defaultNode: { color: "#5B8FF9", style: { lineWidth: 2, fill: "#C6E5FF", - cursor: "pointer" + cursor: "pointer", }, labelCfg: { style: { fill: "#f36c21", - fontSize: 10 + fontSize: 10, }, - position: "bottom" - } + position: "bottom", + }, }, defaultEdge: { style: { stroke: "#e2e2e2", lineWidth: 1, lineAppendWidth: 6, - opacity: 1 + opacity: 1, }, labelCfg: { style: { fontSize: 10, stroke: "#fffef9", fill: "#595959", - lineWidth: 4 - } - } + lineWidth: 4, + }, + }, }, nodeStateStyles: { highlight: { - opacity: 1 + opacity: 1, }, dark: { - opacity: 0.2 - } + opacity: 0.2, + }, }, edgeStateStyles: { highlight: { - opacity: 1 + opacity: 1, }, dark: { - opacity: 0.2 + opacity: 0.2, }, click: { - lineWidth: 3 - } + lineWidth: 3, + }, }, - plugins: [] + plugins: [], }); // 节点点击 - graph.on("node:click", function(e) {}); + this.graph.on("node:click", function (e) {}); // 路径点击 - graph.on("edge:click", function(e) {}); - graph.on("node:dblclick", function(e) {}); + this.graph.on("edge:click", function (e) {}); + this.graph.on("node:dblclick", function (e) {}); // 点击画布 - graph.on("canvas:click", function(e) {}); - graph.data(self.datas); - graph.render(); + this.graph.on("canvas:click", function (e) {}); + this.graph.data(self.datas); + this.graph.render(); }, getLegendNodes() { + if (this.legendNodes) this.legendNodes.destroy(); // legend. maybe you want use parames to reset it, but i did not do the extension - const width = this.$refs.lengedNodes.scrollWidth; - const height = this.$refs.lengedNodes.scrollHeight; - const legendGraph = new G6.Graph({ + const width = this.$refs.legendNodes.scrollWidth; + const height = this.$refs.legendNodes.scrollHeight; + this.legendNodes = new G6.Graph({ container: "nodes", width: width, height: height, @@ -244,16 +253,16 @@ export default { style: { fill: "transparent", // 节点填充色 stroke: "transparent", // 节点描边色 - lineWidth: 1 // 节点描边粗细 + lineWidth: 1, // 节点描边粗细 }, labelCfg: { position: "right", offset: 10, style: { - fill: "#333" - } - } - } + fill: "#333", + }, + }, + }, }); const legendX = 20; const legendBeginY = 20; @@ -268,7 +277,7 @@ export default { type: "image", img: require("@/assets/svg/topology_ic_shujufw.svg"), size: [15, 15], - label: "数据服务" + label: "数据服务", }, { id: "level2", @@ -277,7 +286,7 @@ export default { type: "image", img: require("@/assets/svg/topology_ic_shikongfw.svg"), size: [15, 15], - label: "时空服务" + label: "时空服务", }, { id: "level3", @@ -286,7 +295,7 @@ export default { type: "image", img: require("@/assets/svg/topology_ic_shipinfw.svg"), size: [15, 15], - label: "视频服务" + label: "视频服务", }, { id: "level4", @@ -295,7 +304,7 @@ export default { type: "image", img: require("@/assets/svg/topology_ic_ganzhifw.svg"), size: [15, 15], - label: "感知服务" + label: "感知服务", }, { id: "level5", @@ -304,18 +313,19 @@ export default { type: "image", img: require("@/assets/svg/topology_ic_zonghefw.svg"), size: [15, 15], - label: "综合应用" - } - ] + label: "综合应用", + }, + ], }; - legendGraph.data(legendData); - legendGraph.render(); + this.legendNodes.data(legendData); + this.legendNodes.render(); }, getLegendEdges() { + if (this.legendEdges) this.legendEdges.destroy(); // legend. maybe you want use parames to reset it, but i did not do the extension - const width = this.$refs.lengedEdges.scrollWidth; - const height = this.$refs.lengedEdges.scrollHeight; - const legendGraph = new G6.Graph({ + const width = this.$refs.legendEdges.scrollWidth; + const height = this.$refs.legendEdges.scrollHeight; + this.legendEdges = new G6.Graph({ container: "edges", width: width, height: height, @@ -323,16 +333,16 @@ export default { style: { fill: "transparent", // 节点填充色 stroke: "transparent", // 节点描边色 - lineWidth: 1 // 节点描边粗细 + lineWidth: 1, // 节点描边粗细 }, labelCfg: { position: "right", offset: 10, style: { - fill: "#333" - } - } - } + fill: "#333", + }, + }, + }, }); const legendX = 10; const legendBeginY = 20; @@ -345,7 +355,7 @@ export default { x: legendX, y: legendBeginY, type: "circle", - size: 1 + size: 1, }, // line1 point 1 { @@ -354,7 +364,7 @@ export default { y: legendBeginY, label: "正常", type: "circle", - size: 1 + size: 1, }, // line2 point 0 { @@ -362,7 +372,7 @@ export default { x: legendX, y: legendBeginY + legendYPadding, type: "circle", - size: 1 + size: 1, }, // line2 point 1 { @@ -371,8 +381,8 @@ export default { y: legendBeginY + legendYPadding, label: "错误", type: "circle", - size: 1 - } + size: 1, + }, ], edges: [ { @@ -385,10 +395,10 @@ export default { lineAppendWidth: 5, endArrow: { path: "M -3,0 L 4,2 L 4,-2 Z", // 自定义箭头路径 - d: -2 // 偏移量 + d: -2, // 偏移量 }, - cursor: "pointer" - } + cursor: "pointer", + }, }, { id: "line1", @@ -400,17 +410,17 @@ export default { lineAppendWidth: 5, endArrow: { path: "M -3,0 L 4,2 L 4,-2 Z", // 自定义箭头路径 - d: -2 // 偏移量 + d: -2, // 偏移量 }, - cursor: "pointer" - } - } - ] + cursor: "pointer", + }, + }, + ], }; - legendGraph.data(legendData); - legendGraph.render(); - } - } + this.legendEdges.data(legendData); + this.legendEdges.render(); + }, + }, }; diff --git a/src/components/work-flow/super-flow.vue b/src/components/work-flow/super-flow.vue index ee1010f491cae73f18848a9c545bf2a0ab128322..edadeb7f81788cb3570eb970407c561ff77bc63c 100644 --- a/src/components/work-flow/super-flow.vue +++ b/src/components/work-flow/super-flow.vue @@ -1,23 +1,59 @@