Commit d00e6dd9 authored by 张慧龙's avatar 张慧龙

合dev

parents b9635c01 fea2f4bf
This diff is collapsed.
...@@ -22,9 +22,9 @@ export const lang = { ...@@ -22,9 +22,9 @@ export const lang = {
cloud_resources_detail: "云资源详情", cloud_resources_detail: "云资源详情",
// data analysis // data analysis
data_analysis: "数据分析中心", data_analysis: "运营管控中心",
my_service_data_analysis: "我的服务数据分析", my_service_data_analysis: "服务分析",
my_application_data_analysis: "我的应用数据分析", my_application_data_analysis: "应用分析",
// message // message
message: "消息与推送管理", message: "消息与推送管理",
...@@ -33,4 +33,13 @@ export const lang = { ...@@ -33,4 +33,13 @@ export const lang = {
message_alert: "消息提醒管理", message_alert: "消息提醒管理",
banner: "banner管理", banner: "banner管理",
message_template: "消息模板管理", message_template: "消息模板管理",
//online component tool
online_component_tool: "在线组件中心",
process_design: "流程设计",
process_management: "流程管理",
new: "新建",
// technical-support
technical_support: "技术支持"
} }
\ No newline at end of file
src/assets/imgs/img_head.png

1.63 KB | W: | H:

src/assets/imgs/img_head.png

2.15 KB | W: | H:

src/assets/imgs/img_head.png
src/assets/imgs/img_head.png
src/assets/imgs/img_head.png
src/assets/imgs/img_head.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -338,16 +338,24 @@ export default { ...@@ -338,16 +338,24 @@ export default {
_self.moreActionList = []; _self.moreActionList = [];
_self.showMoreActionList = true; _self.showMoreActionList = true;
_self.moreActionList = moreActionList.map((item) => ({ _self.moreActionList = moreActionList
id: row.id, .filter((item) => {
label: item.label, if (item.showRule) {
callback() { return item.showRule(row);
_self.showMoreActionList = false; } else {
_self.moreActionList = []; return true;
}
})
.map((item) => ({
id: row.id,
label: item.label,
callback() {
_self.showMoreActionList = false;
_self.moreActionList = [];
item.callback && item.callback(row); item.callback && item.callback(row);
}, },
})); }));
_self.$nextTick(() => { _self.$nextTick(() => {
let targetInfo = $event.target.getBoundingClientRect(); let targetInfo = $event.target.getBoundingClientRect();
...@@ -499,10 +507,11 @@ export default { ...@@ -499,10 +507,11 @@ export default {
.more_action_list > li:first-child::before { .more_action_list > li:first-child::before {
content: ""; content: "";
position: absolute; position: absolute;
top: -14px; top: -20px;
right: calc(50% - 14px); right: calc(50% - 20px);
width: 28px; width: 40px;
height: 14px; height: 20px;
/* background-color: red; */
} }
.more_action_list > li:first-child::after { .more_action_list > li:first-child::after {
content: ""; content: "";
......
...@@ -20,6 +20,10 @@ export default { ...@@ -20,6 +20,10 @@ export default {
type: String, type: String,
default: () => "", default: () => "",
}, },
stepTitle: {
type: String,
default: "",
},
}, },
data: () => ({}), data: () => ({}),
computed: { computed: {
......
...@@ -25,7 +25,12 @@ ...@@ -25,7 +25,12 @@
</div> </div>
<div class="step_icon" v-else></div> <div class="step_icon" v-else></div>
<div class="step_info"> <div class="step_info">
<p class="step_state"> <p v-if="item.stepTitle != ''" class="step_state">
<span>
{{ item.stepTitle }}
</span>
</p>
<p v-else class="step_state">
<span v-if="item.step < activeStep || done"> <span v-if="item.step < activeStep || done">
已完成 已完成
</span> </span>
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
:key="'comment_' + index" :key="'comment_' + index"
> >
<div class="comment-left"> <div class="comment-left">
<el-avatar :size="60" fit="cover" :src="item.picture_path" /> <el-avatar :size="60" fit="cover" :src="item.picture_path || require('../assets/imgs/img_head.png')" />
</div> </div>
<div class="comment-right"> <div class="comment-right">
<p class="comment-user_name" v-text="item.user_name"></p> <p class="comment-user_name" v-text="item.user_name"></p>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<ul class="comments_list apaas_scroll"> <ul class="comments_list apaas_scroll">
<li class="comment_card" v-for="(item, index) in data" :key="'comment_' + index"> <li class="comment_card" v-for="(item, index) in data" :key="'comment_' + index">
<div class="comment-left"> <div class="comment-left">
<el-avatar :size="45" fit="cover" :src="item.picture_path" /> <el-avatar :size="45" fit="cover" :src="item.picture_path || require('../../assets/imgs/img_head.png')" />
</div> </div>
<div class="comment-right"> <div class="comment-right">
<p class="comment-base"> <p class="comment-base">
......
...@@ -59,11 +59,21 @@ export default { ...@@ -59,11 +59,21 @@ export default {
{ {
type: "category", type: "category",
axisLabel: { axisLabel: {
interval: 0,
textStyle: { textStyle: {
color: "#0d1847", color: "#0d1847",
fontSize: 12, fontSize: 12,
lineHeight: 20, lineHeight: 20,
}, },
formatter(value) {
let valueTxt = "";
if (value.length > 7) {
valueTxt = value.substring(0, 7 - 1) + "...";
} else {
valueTxt = value;
}
return valueTxt;
},
}, },
axisTick: { axisTick: {
show: false, show: false,
......
...@@ -32,6 +32,10 @@ export default { ...@@ -32,6 +32,10 @@ export default {
isPercent: { isPercent: {
type: Boolean, type: Boolean,
default: true default: true
},
color: {
type: Array,
default: null
} }
}, },
components: {}, components: {},
......
<template>
<div class="top_list apaas_scroll" @mouseenter="mouseenter" @mouseleave="mouseleave">
<ul>
<li class="item_list" v-for="(option, index) in options" :key="index">
<div class="item_detail">
<p class="item_info">
<span
class="text_clip is_link"
@click="getDetail(option.service_id, option.data_service_type1)"
>
{{ option.service_name }}
</span>
</p>
<el-progress
class="item_progress"
:percentage="getPercent(option.request_count)"
:show-text="false"
color="#e56600"
></el-progress>
<span
style="float:right;"
v-text="helper.numberFormat(option.request_count, 2) + (option.request_count > 10000 ? '万'+unit : unit)"
></span>
</div>
</li>
</ul>
</div>
</template>
<script>
import helper from "@/services/helper";
export default {
props: {
options: {
type: Array,
default: () => []
},
targetValue: {
type: Number,
default: () => 0
},
unit: {
type: String,
default: () => ''
},
},
data() {
return {
timer: null,
helper
};
},
watch: {
text() {
this.autoScroll();
}
},
methods: {
getPercent(value) {
if (value == 0) {
return 0;
} else {
return Math.min((value / this.targetValue) * 100, 100);
}
},
autoScroll() {
if (this.timer) {
clearInterval(this.timer);
}
this.$el.scrollTop = 0;
this.timer = setInterval(() => {
let itemHeight = 50;
let curScrollTop = this.$el.scrollTop + itemHeight;
if (curScrollTop >= this.$el.scrollHeight - this.$el.clientHeight + itemHeight) {
curScrollTop = 0;
}
this.$el.scrollTop = Math.min(curScrollTop, this.$el.scrollHeight - this.$el.clientHeight);
}, 1500);
},
mouseenter() {
if (this.timer) {
clearInterval(this.timer);
}
},
mouseleave() {
this.autoScroll();
},
getDetail(id, type) {
}
},
mounted() {
this.autoScroll();
window.addEventListener("resize", () => {
this.autoScroll();
});
},
destroyed() {
if (this.timer) {
clearInterval(this.timer);
}
}
};
</script>
<style scoped>
.top_list {
overflow-x: hidden;
overflow-y: auto;
}
.item_list {
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 18px;
}
.item_index {
width: 35px;
flex-shrink: 0;
margin-right: 10px;
font-size: 12px;
color: #58617a;
}
.item_logo {
margin-right: 10px;
flex-shrink: 0;
font-size: 0;
border: 2px solid #e3e5ef;
border-radius: 6px;
overflow: hidden;
}
.item_info {
flex-grow: 1;
display: flex;
justify-content: flex-start;
align-items: center;
font-size: 14px;
line-height: 20px;
color: #58617a;
}
.item_detail {
flex-grow: 1;
}
.item_info > span:first-child {
width: 100px;
flex-grow: 1;
margin-right: 10px;
color:#58617a;
font-size: 14px;
}
.item_info > span:first-child > i {
font-weight: bold;
font-size: 12px;
color: #8e96ab;
}
.item_info > span:nth-child(2) {
flex-shrink: 0;
white-space: nowrap;
color: #0d1847;
}
.item_progress {
margin-top: 6px;
width: calc(100% - 60px);
float: left;
}
.is_link {
cursor: pointer;
}
</style>
...@@ -17,7 +17,7 @@ import ace from "ace-builds"; ...@@ -17,7 +17,7 @@ import ace from "ace-builds";
import "ace-builds/webpack-resolver"; // 在 webpack 环境中使用必须要导入 import "ace-builds/webpack-resolver"; // 在 webpack 环境中使用必须要导入
import "ace-builds/src-noconflict/mode-json"; // 默认设置的语言模式 import "ace-builds/src-noconflict/mode-json"; // 默认设置的语言模式
export default { export default {
props: ["url","datas"], props: ["url","datas",'readOnly'],
data() { data() {
return { return {
aceEditor: null, aceEditor: null,
...@@ -34,7 +34,8 @@ export default { ...@@ -34,7 +34,8 @@ export default {
mode: this.acemodePath, mode: this.acemodePath,
wrap: this.wrap, wrap: this.wrap,
tabSize: 4, tabSize: 4,
highlightActiveLine: false highlightActiveLine: false,
readOnly:this.readOnly?this.readOnly:false
}); });
if (this.url) { if (this.url) {
this.getValue(); this.getValue();
......
<template>
<div class="side_nav_bar">
<h3 class="side_nav_bar_title" @click="titleAction">
<img :src="titleIcon" width="20" style="margin-right: 10px;" />
<span v-text="title"></span>
</h3>
<div v-for="(nav, index) in navList" :key="'nav' + index">
<div class="side_nav_bar_first_title">{{ nav.name }}</div>
<ul class="side_nav_bar_list">
<router-link
tag="li"
v-for="(item, indexs) in nav.child"
:class="{ current: $route.path.indexOf(item.path) > -1 }"
:key="index + 'a' + indexs"
:to="item.path"
>
<span v-text="item.name"></span>
</router-link>
</ul>
</div>
</div>
</template>
<script>
export default {
name: "sideNavBar",
props: {
title: {
type: String,
default: () => "我的服务",
},
titleIcon: {
type: String,
default: () => require("@/assets/imgs/tool_fuwu.png"),
},
titlePath: {
type: String,
default: () => "",
},
navList: {
type: Array,
default: () => [],
},
imgSrc: {
type: String,
default: "tool_fuwu",
},
},
methods: {
titleAction() {
if (this.titlePath) {
this.$router.push(this.titlePath);
}
},
},
};
</script>
<style scoped>
.side_nav_bar {
background-color: #0d1847;
}
.side_nav_bar_title {
height: 40px;
background-color: #182665;
border-radius: 10px;
overflow: hidden;
margin: 20px 15px 20px;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
.side_nav_bar_title > span {
font-size: 16px;
color: #c3caf8;
}
.side_nav_bar_first_title {
color: #c3caf8;
font-size: 14px;
padding: 10px 0 10px 34px;
position: relative;
}
.side_nav_bar_first_title::before {
content: "";
position: absolute;
left: 22px;
top: 12px;
width: 4px;
height: 16px;
background-color: #515fe7;
border-radius: 2px;
}
.side_nav_bar_list > li {
padding: 12px 10px 12px 42px;
border-left: 5px solid #0d1847;
font-size: 14px;
line-height: 24px;
color: #e6ebfe;
cursor: pointer;
}
.side_nav_bar_list > li:hover,
.side_nav_bar_list > li.current {
border-left: 5px solid #e56600;
background-color: #182665;
color: #e6ebfe;
}
</style>
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
:readOnly="readOnly" :readOnly="readOnly"
:data="anotherData" :data="anotherData"
:drag="drag" :drag="drag"
:disabled="disabled"
> >
<div v-if="drag"> <div v-if="drag">
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
...@@ -92,6 +93,10 @@ export default { ...@@ -92,6 +93,10 @@ export default {
type: Boolean, type: Boolean,
default: true, default: true,
}, },
disabled: {
type: Boolean,
default: false,
},
}, },
watch: { watch: {
list(value) { list(value) {
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
</template> </template>
<script> <script>
import helper from "@/services/helper.js";
import screenType from "@/components/recommen/screen-type"; import screenType from "@/components/recommen/screen-type";
import recommenBox from "@/components/recommen/recommen-box"; import recommenBox from "@/components/recommen/recommen-box";
...@@ -119,7 +120,14 @@ export default { ...@@ -119,7 +120,14 @@ export default {
}) })
.then(({ data }) => { .then(({ data }) => {
if (data.success == 1) { if (data.success == 1) {
this.serviceList = data.data || []; let datas = data.data || [];
datas.forEach((item) => {
let update_date = item.update_date || "";
item.update_date = helper.dateStringTransform(update_date);
});
this.serviceList = datas;
} }
}); });
}, },
......
...@@ -336,6 +336,10 @@ export default { ...@@ -336,6 +336,10 @@ export default {
this.keyword = ""; this.keyword = "";
this.updateTime = ""; this.updateTime = "";
if (this.tpl_types.length > 0) {
this.type = this.tpl_types[0].value;
}
this.getTemplateList(); this.getTemplateList();
}, },
selectTemplate(item) { selectTemplate(item) {
......
...@@ -10,14 +10,12 @@ ...@@ -10,14 +10,12 @@
</el-tabs> </el-tabs>
<div class="list_options"> <div class="list_options">
<div class="button_group"> <div class="button_group">
<el-button <span
size="mini"
v-for="(item, index) in buttonList" v-for="(item, index) in buttonList"
:key="'btn' + index" :key="'btn' + index"
:class="item.state ? 'btn_actice':''" :class="item.state ? 'btn_default btn_actice':'btn_default'"
round
@click="btnClick(index)" @click="btnClick(index)"
>{{ item.name }}</el-button> >{{ item.name }}</span>
</div> </div>
<div class="input_right"> <div class="input_right">
<el-input <el-input
...@@ -224,6 +222,22 @@ export default { ...@@ -224,6 +222,22 @@ export default {
.button_group { .button_group {
padding: 17px 10px; padding: 17px 10px;
} }
.btn_default {
display: inline-block;
padding: 6px 15px;
border-radius: 14px;
font-size: 12px;
margin-right: 6px;
cursor: pointer;
}
.btn_default:hover {
background-color: #515fe7;
color: #fff;
}
.btn_default:focus {
background-color: #fff;
color: #606266;
}
.btn_actice { .btn_actice {
background-color: #515fe7; background-color: #515fe7;
color: #fff; color: #fff;
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<span <span
class="info_fix" class="info_fix"
v-if="data.fixed_process" v-if="data.fixed_process"
@click="goto_page(data.fixedurl)" @click="goto_page(data.fixed_url)"
> >
我要编辑 我要编辑
</span> </span>
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
> >
我要修改 我要修改
</span> </span>
<span class="right undersell" v-if="data.deploy" @click="subevent(10)"> <span class="right undersell undersell2" v-if="data.deploy" @click="subevent(10)">
部署 部署
</span> </span>
<span class="right undersell1" v-if="data.undeploy" @click="subevent(9)"> <span class="right undersell1" v-if="data.undeploy" @click="subevent(9)">
...@@ -168,6 +168,14 @@ export default { ...@@ -168,6 +168,14 @@ export default {
this.$emit("debuggerfunc"); this.$emit("debuggerfunc");
} else if (val == 6) { } else if (val == 6) {
this.$emit("applymy"); this.$emit("applymy");
} else if (val == 7) {
this.$emit("unpublic", this.data);
} else if (val == 8) {
this.$emit("public1", this.data);
} else if (val == 9) {
this.$emit("undeploy", this.data);
} else if (val == 10) {
this.$emit("deploy", this.data);
} }
}, },
goto_page(url) { goto_page(url) {
...@@ -276,6 +284,9 @@ export default { ...@@ -276,6 +284,9 @@ export default {
background-color: #e6ebfe; background-color: #e6ebfe;
margin-left: 10px; margin-left: 10px;
} }
.undersell2{
margin-left: 10px;
}
.undermy { .undermy {
background-color: #515fe7; background-color: #515fe7;
color: #e6ebfe; color: #e6ebfe;
......
...@@ -170,6 +170,7 @@ export default { ...@@ -170,6 +170,7 @@ export default {
background-color: #f9fafc; background-color: #f9fafc;
padding: 18px; padding: 18px;
margin-top: 15px; margin-top: 15px;
border-radius: 8px;
} }
.application_base_info:not(:last-child) { .application_base_info:not(:last-child) {
margin-right: 50px; margin-right: 50px;
...@@ -222,17 +223,12 @@ export default { ...@@ -222,17 +223,12 @@ export default {
width: 220px; width: 220px;
margin-left: 20px; margin-left: 20px;
} }
.application_info .el-button--primary { </style>
<style>
.application_info.apaas_button .el-button--primary {
color: #fff;
background-color: #515fe7; background-color: #515fe7;
border-color: #515fe7; border-color: #515fe7;
} }
.application_info .el-button--warning.is-plain {
background-color: #fcefd6;
border-color: #fac266;
color: #e56600;
}
.application_info .el-button--warning {
background-color: #e56600;
border-color: #e56600;
}
</style> </style>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<img :src="data.cover" width="100%" /> <img :src="data.cover" width="100%" />
<map-view <map-view
v-if="data.type === 'Map Service'" v-if="data.type === 'Map Service'"
:id="data.portal_id" :id="data.portal_id"
></map-view> ></map-view>
</div> </div>
<div class="main_container-right"> <div class="main_container-right">
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
></el-input-number> ></el-input-number>
</div> </div>
</div> </div>
<div class="apaas_button commodity_action"> <div class=" commodity_action">
<el-button <el-button
type="warning" type="warning"
plain plain
...@@ -339,12 +339,13 @@ export default { ...@@ -339,12 +339,13 @@ export default {
vertical-align: middle; vertical-align: middle;
} }
.service_title > .service_access_info > img { .service_title > .service_access_info > img {
width: 15px; width: 19px;
margin-right: 5px; margin-right: 5px;
} }
.service_base_info { .service_base_info {
padding: 18px; padding: 18px;
background-color: #f9fafc; background-color: #f9fafc;
border-radius: 8px;
} }
.service_base_info > li, .service_base_info > li,
.commodity_information { .commodity_information {
...@@ -398,3 +399,11 @@ export default { ...@@ -398,3 +399,11 @@ export default {
margin-left: 20px; margin-left: 20px;
} }
</style> </style>
<style>
.service_info.apaas_button .el-button--primary {
color: #fff;
background-color: #515fe7;
border-color: #515fe7;
}
</style>
...@@ -329,7 +329,6 @@ export default { ...@@ -329,7 +329,6 @@ export default {
for (let i = 0; i < val.length; i++) { for (let i = 0; i < val.length; i++) {
this.filterLists[i + 1].name = val[i]; this.filterLists[i + 1].name = val[i];
} }
console.log(this.filterLists);
}, },
}, },
}, },
......
...@@ -5,10 +5,7 @@ ...@@ -5,10 +5,7 @@
v-for="(item, index) in data" v-for="(item, index) in data"
:key="'detail_' + index" :key="'detail_' + index"
> >
<h3 <h3 class="detail-title" v-text="item.name + ':'"></h3>
class="detail-title"
v-text="item.name + ':'"
></h3>
<service-steps <service-steps
v-if="item.type == 'step'" v-if="item.type == 'step'"
...@@ -24,6 +21,10 @@ ...@@ -24,6 +21,10 @@
class="detail-code" class="detail-code"
v-html="item.value" v-html="item.value"
></div> ></div>
<workflows-view
v-else-if="item.type == 'workflows'"
:id="item.value"
></workflows-view>
<el-table <el-table
v-else-if="item.type == 'table'" v-else-if="item.type == 'table'"
class="detail-table" class="detail-table"
...@@ -66,10 +67,12 @@ ...@@ -66,10 +67,12 @@
<script> <script>
import serviceSteps from "@/components/service-tabs/service-steps"; import serviceSteps from "@/components/service-tabs/service-steps";
import workflowsView from "@/components/work-flow/workflows-view";
export default { export default {
components: { components: {
serviceSteps, serviceSteps,
workflowsView,
}, },
props: { props: {
data: { data: {
......
...@@ -160,6 +160,7 @@ export default { ...@@ -160,6 +160,7 @@ export default {
} }
.service_info_tab .el-table { .service_info_tab .el-table {
width: 100%; width: 100%;
text-align: left;
} }
.service_info_tab .el-table__row:nth-child(odd) td { .service_info_tab .el-table__row:nth-child(odd) td {
background-color: #f8f9fd; background-color: #f8f9fd;
......
...@@ -137,6 +137,11 @@ export default { ...@@ -137,6 +137,11 @@ export default {
}; };
</script> </script>
<style>
.outborder .system .el-input__prefix,.outborder .system .el-input__suffix{
left: auto;
}
</style>
<style scoped> <style scoped>
.outborder { .outborder {
border-bottom: 2px solid rgba(244, 247, 252, 1); border-bottom: 2px solid rgba(244, 247, 252, 1);
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<div class="shopping_cell_specification_edit"> <div class="shopping_cell_specification_edit">
<el-popover <el-popover
placement="right-start" placement="right-start"
width="280" width="300"
v-model="visible" v-model="visible"
@show="setSpecificationPop" @show="setSpecificationPop"
> >
...@@ -70,7 +70,14 @@ ...@@ -70,7 +70,14 @@
:class="specificationPop == item.id ? 'shopping_cell_specification_btn active' : 'shopping_cell_specification_btn'" :class="specificationPop == item.id ? 'shopping_cell_specification_btn active' : 'shopping_cell_specification_btn'"
size="mini" size="mini"
@click="changeSpecification(item.id)" @click="changeSpecification(item.id)"
>{{ index + 1 + ". " + item.des }}</el-button> >
{{ index + 1 + ". " + "访问次数:" +
item.pv +
"/日," +
"访问量:" +
item.count +
"/日" }}
</el-button>
</div> </div>
<div class="no_option" v-else>暂无规格</div> <div class="no_option" v-else>暂无规格</div>
</div> </div>
...@@ -151,25 +158,26 @@ export default { ...@@ -151,25 +158,26 @@ export default {
cellIndex: { type: Number, default: null }, cellIndex: { type: Number, default: null },
cellCheck: { cellCheck: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
readOnly: { readOnly: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
cellIsService: { cellIsService: {
type: Boolean type: Boolean,
} },
}, },
watch: { watch: {
cellCheck: function(val) { cellCheck: function (val) {
this.checkedItem = val; this.checkedItem = val;
}, },
cellItem: { cellItem: {
immediate: true, // 这句重要 immediate: true, // 这句重要
handler(val) { handler(val) {
this.cellItems = val; this.cellItems = val;
this.cellItems.is_subscribe = this.cellItems.is_subscribe == 1 ? true : false; this.cellItems.is_subscribe =
this.cellItems.is_subscribe == 1 ? true : false;
if (this.cellIsService) { if (this.cellIsService) {
if (this.cellItems.service.buy_method == 1) { if (this.cellItems.service.buy_method == 1) {
this.specificationApplicationBtns = [{ id: 1, value: "按月" }]; this.specificationApplicationBtns = [{ id: 1, value: "按月" }];
...@@ -178,12 +186,12 @@ export default { ...@@ -178,12 +186,12 @@ export default {
} else { } else {
this.specificationApplicationBtns = [ this.specificationApplicationBtns = [
{ id: 1, value: "按月" }, { id: 1, value: "按月" },
{ id: 2, value: "按年" } { id: 2, value: "按年" },
]; ];
} }
} }
} },
} },
}, },
data: () => ({ data: () => ({
cellItems: {}, cellItems: {},
...@@ -195,12 +203,12 @@ export default { ...@@ -195,12 +203,12 @@ export default {
specificationApplicationPop: 1, specificationApplicationPop: 1,
appSpecificationBtns: [ appSpecificationBtns: [
{ id: 1, value: "部署" }, { id: 1, value: "部署" },
{ id: 2, value: "开发" } { id: 2, value: "开发" },
], ],
specificationApplicationBtns: [ specificationApplicationBtns: [
{ id: 1, value: "按月" }, { id: 1, value: "按月" },
{ id: 2, value: "按年" } { id: 2, value: "按年" },
] ],
}), }),
computed: { computed: {
getSpecification() { getSpecification() {
...@@ -211,14 +219,20 @@ export default { ...@@ -211,14 +219,20 @@ export default {
this.cellItems.service.request_spcs_info.length != 0 this.cellItems.service.request_spcs_info.length != 0
) { ) {
let requestArr = this.cellItems.service.request_spcs_info; let requestArr = this.cellItems.service.request_spcs_info;
requestArr.forEach(item => { requestArr.forEach((item) => {
arr.push(item.id); arr.push(item.id);
}); });
} }
let num = arr.indexOf(this.cellItems.spec_id); let num = arr.indexOf(this.cellItems.spec_id);
let specification = ""; let specification = "";
if (num != -1) { if (num != -1) {
specification = this.cellItems.service.request_spcs_info[num].des; specification =
"访问次数:" +
this.cellItems.service.request_spcs_info[num].pv +
"/日," +
"访问量:" +
this.cellItems.service.request_spcs_info[num].count +
"/日";
} }
return specification; return specification;
} else { } else {
...@@ -228,7 +242,7 @@ export default { ...@@ -228,7 +242,7 @@ export default {
return "开发"; return "开发";
} }
} }
} },
}, },
mounted() {}, mounted() {},
methods: { methods: {
...@@ -263,23 +277,23 @@ export default { ...@@ -263,23 +277,23 @@ export default {
changeCellItem() { changeCellItem() {
this.$emit("changeCellMsg", { this.$emit("changeCellMsg", {
index: this.cellIndex, index: this.cellIndex,
data: this.cellItems data: this.cellItems,
}); });
}, },
delCellItem() { delCellItem() {
this.$api.serviceShop this.$api.serviceShop
.delShoppingCart([this.cellItems.id]) .delShoppingCart([this.cellItems.id])
.then(response => { .then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
this.$message({ this.$message({
message: this.cellIsService ? "删除该服务成功" : "删除该应用成功", message: this.cellIsService ? "删除该服务成功" : "删除该应用成功",
type: "success" type: "success",
}); });
this.$emit("updateList"); this.$emit("updateList");
} else { } else {
this.$message({ this.$message({
message: this.cellIsService ? "删除该服务失败" : "删除该应用失败", message: this.cellIsService ? "删除该服务失败" : "删除该应用失败",
type: "error" type: "error",
}); });
} }
}); });
...@@ -290,16 +304,16 @@ export default { ...@@ -290,16 +304,16 @@ export default {
duration: this.cellItems.duration, duration: this.cellItems.duration,
spec_id: this.cellItems.spec_id, spec_id: this.cellItems.spec_id,
duration_method: this.cellItems.duration_method, duration_method: this.cellItems.duration_method,
is_subscribe: Number(this.cellItems.is_subscribe) is_subscribe: Number(this.cellItems.is_subscribe),
}; };
this.$api.serviceShop.updateShoppingCart(query).then(response => { this.$api.serviceShop.updateShoppingCart(query).then((response) => {
if (response.data.success == 1) { if (response.data.success == 1) {
} else { } else {
console.log(response.data.errMsg); console.log(response.data.errMsg);
} }
}); });
} },
} },
}; };
</script> </script>
...@@ -437,6 +451,14 @@ export default { ...@@ -437,6 +451,14 @@ export default {
} }
.shopping_cell_specification_btn { .shopping_cell_specification_btn {
margin: 0 10px 10px; 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 { .shopping_cell_specification_btn.active {
background-color: #515fe7; background-color: #515fe7;
......
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
{{ scope.row[item.prop] }} {{ scope.row[item.prop] }}
</span> </span>
<!-- others --> <!-- others -->
<span v-else-if="item.type === 'click'" style="cursor: pointer;" @click="gotopage(item.url,scope.row[item.prop][item.id])">{{ scope.row[item.prop] }}</span> <span v-else-if="item.type === 'click'" style="cursor: pointer;color: #274fee;" @click="gotopage(item.url,scope.row[item.id])">{{ scope.row[item.prop] }}</span>
<span v-else>{{ scope.row[item.prop] }}</span> <span v-else>{{ scope.row[item.prop] }}</span>
</template> </template>
</el-table-column> </el-table-column>
...@@ -460,7 +460,11 @@ export default { ...@@ -460,7 +460,11 @@ export default {
}); });
}, },
gotopage(url,id){ gotopage(url,id){
this.$router.push(`/fwgl/0/0/servicedetail/${id}`) if(url=='/'){
this.$router.push(`/fwgl/0/0/servicedetail/${id}`)
}else{
this.$router.push(`${url}${id}`)
}
}, },
//本地删除 //本地删除
deleteLocal(val) { deleteLocal(val) {
......
This diff is collapsed.
This diff is collapsed.
<template>
<div class="workflows-view">
<super-flow
ref="superFlow"
:node-list="nodeList"
:link-list="linkList"
:origin="origin"
line-color="#c4d8f8"
on-line-color="#94a8c8"
:draggable="false"
:linkAddable="false"
>
<template v-slot:node="{ meta }">
<div
v-if="meta.type === 1 || meta.type === 2"
class="flow-node"
:class="`flow-node-${meta.type}`"
>
<span v-text="meta.name"></span>
</div>
<div v-else-if="hideDetail" class="flow-node">
<span v-text="meta.name"></span>
</div>
<el-tooltip v-else effect="dark" placement="right-start">
<div class="node-detail" slot="content">
<p>当前实例数:{{ meta.running_nodes || 0 }}</p>
<p>当前超时比率:{{ (meta.cur_timeout_rate || 0) * 100 }}%</p>
<p>总超时比率:{{ (meta.total_timeout_rate || 0) * 100 }}%</p>
<p>节点平均耗时:{{ meta.avg_elapsed_time || 0 }}分钟</p>
<p>节点最大耗时:{{ meta.max_elapsed_time || 0 }}分钟</p>
<p>节点插件:</p>
<div class="plug-in-list">
<span v-for="(plugin, index) in meta.plugins" :key="index">
{{
["-", "接口插件", "流程插件", "超时插件"][
plugin.plugin_type || 0
]
}}
</span>
</div>
</div>
<div class="flow-node">
<span v-text="meta.name"></span>
<span class="example-count" v-text="meta.running_nodes || 0"></span>
</div>
</el-tooltip>
</template>
</super-flow>
</div>
</template>
<script>
export default {
props: {
id: {
type: Number,
required: true,
},
hideDetail: {
type: Boolean,
default: false,
},
},
data() {
return {
origin: [0, 0],
nodeList: [],
linkList: [],
};
},
methods: {
init() {
Promise.all([
this.$http.get("/apaas/serviceapp/v3/workflows/detail", {
params: {
id: this.id,
},
}),
this.$http.get(
"/apaas/serviceapp/v3/workflows/detail/nodeInstanceStat",
{
params: {
id: this.id,
},
}
),
])
.then((response) => {
let data = response[0].data.data;
let nodeList = data.nodeList;
let linkList = data.linkList;
let nodes = response[1].data.data;
nodes.forEach((node) => {
let targetNode = nodeList.find((v) => v.node_id === node.id);
if (targetNode) {
targetNode.meta = {
...targetNode.meta,
...node,
};
}
});
this.nodeList = nodeList;
this.linkList = linkList;
})
.catch(function (error) {
console.log(error);
});
},
},
created() {
this.init();
},
};
</script>
<style>
.workflows-view .super-flow__node {
background-color: transparent;
border: none;
box-shadow: unset;
}
</style>
<style scoped>
.workflows-view {
width: 100%;
height: 830px;
background-color: #fbfcfe;
border-radius: 10px;
margin-top: 10px;
}
.flow-node {
position: relative;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
border: solid 3px #b4c6f5;
background-color: #fff;
border-radius: 8px;
padding: 5px;
font-size: 16px;
color: #0f2683;
}
.flow-node-1 {
border-color: #109e93;
background-color: #25bdb1;
color: #fff;
}
.flow-node-2 {
border-color: #e86262;
background-color: #f78181;
color: #fff;
}
.example-count {
position: absolute;
right: -14px;
bottom: -14px;
height: 28px;
padding: 0 14px;
border-radius: 14px;
background-color: #f5ab4c;
line-height: 28px;
color: #fff;
}
.node-detail {
font-size: 12px;
line-height: 20px;
}
.plug-in-list {
margin-top: 5px;
width: 150px;
}
.plug-in-list > span {
display: inline-block;
vertical-align: middle;
min-width: calc(50% - 15px);
padding: 0 9px;
border: 1px solid #617ef0;
box-sizing: border-box;
border-radius: 3px;
background-color: #274fee;
margin: 0 10px 10px 0;
line-height: 18px;
text-align: center;
}
</style>
...@@ -143,7 +143,7 @@ export default { ...@@ -143,7 +143,7 @@ export default {
rules: { rules: {
menu_name: [ menu_name: [
{ required: true, message: "请填写菜单名称", trigger: "blur" }, { required: true, message: "请填写菜单名称", trigger: "blur" },
{ min: 0, max: 8, message: "菜单名称不超过8", trigger: "blur" } { min: 0, max: 16, message: "菜单名称不超过16", trigger: "blur" }
], ],
visit_url: [ visit_url: [
{ required: true, message: "请填写菜单访问地址", trigger: "blur" }, { required: true, message: "请填写菜单访问地址", trigger: "blur" },
......
...@@ -206,12 +206,12 @@ export default { ...@@ -206,12 +206,12 @@ export default {
}, 1000); }, 1000);
}; };
var user_name_pass = (rule, value, callback) => { var user_name_pass = (rule, value, callback) => {
var reg = /^[a-z0-9]+$/; var reg = /^[a-zA-Z0-9|\-|_|\.]+$/;
setTimeout(() => { setTimeout(() => {
if (reg.test(value)) { if (reg.test(value)) {
callback(); callback();
} else { } else {
callback(new Error("只支持小写字母、数字")); callback(new Error("只支持字母、数字、-、_、."));
} }
}, 100); }, 100);
}; };
......
<template> <template>
<div class="fwgl_container"> <div class="fwgl_container">
<side-nav-bar <sideNavBar
title="数据分析中心" v-if="is_admin == 3 || is_admin == 4 || is_admin == 1"
title="运营管控中心"
imgSrc="tool_fuwu" imgSrc="tool_fuwu"
:nav-list="navList" :nav-list="navList"
:title-path="navList[0] && navList[0].path" :title-path="navList[0] && navList[0].path"
></side-nav-bar> ></sideNavBar>
<sideNavBarClass
v-else-if="is_admin == 2"
title="运营管控中心"
imgSrc="tool_fuwu"
:nav-list="navList"
:title-path="navList[0] && navList[0].path"
></sideNavBarClass>
<div class="main_container"> <div class="main_container">
<router-view :key="'type_' + $route.params.type"></router-view> <router-view :key="'type_' + $route.params.type"></router-view>
</div> </div>
...@@ -14,53 +22,88 @@ ...@@ -14,53 +22,88 @@
<script> <script>
import sideNavBar from "@/components/side-nav-bar"; import sideNavBar from "@/components/side-nav-bar";
import sideNavBarClass from "@/components/general/side-nav-bar-class";
export default { export default {
components: { components: {
sideNavBar sideNavBar,
sideNavBarClass,
}, },
data: () => ({ data: () => ({
userNav: [ userNav: [
{ {
name: "我的服务数据分析", name: "服务分析",
path: `/data_analysis/my_service` path: `/data_analysis/my_service`,
}, },
{ {
name: "我的应用数据分析", name: "应用分析",
path: `/data_analysis/my_application` path: `/data_analysis/my_application`,
}, },
],
userNav1: [
{ {
name: "组织服务数据分析", name: "运营分析",
path: `/data_analysis/org_service` path: `/data_analysis/org_service`,
child: [
{
name: "服务分析",
path: `/data_analysis/org_service`,
},
{
name: "应用分析",
path: `/data_analysis/org_application`,
},
],
}, },
{ {
name: "组织应用数据分析", name: "运行管控",
path: `/data_analysis/org_application` path: `/data_analysis/operation_overview`,
child: [
{
name: "运行概况",
path: `/data_analysis/operation_overview`,
},
{
name: "服务管控",
path: `/data_analysis/service_control`,
},
],
}, },
],
userNav2: [
{ {
name: "运行概况-组织", name: "服务分析",
path: `/data_analysis/operation_overview` path: `/data_analysis/super_service`,
}, },
{ {
name: "服务管控-组织", name: "应用分析",
path: `/data_analysis/service_control` path: `/data_analysis/super_application`,
} },
], ],
navList: [] navList: [],
is_admin: 0,
}), }),
watch: { watch: {
"$route.fullPath"(path) { // "$route.fullPath"(path) {
this.initNavList(); // this.initNavList();
} // },
}, },
methods: { methods: {
initNavList() { initNavList() {
this.navList = this.userNav; this.is_admin = this.$store.state.userInfo.is_admin;
} if (this.is_admin == 3 || this.is_admin == 4) {
this.navList = this.userNav;
} else if (this.is_admin == 2) {
this.navList = this.userNav1;
this.$router.push({ name: "orgServiceDataAnalysis" });
} else if (this.is_admin == 1) {
this.navList = this.userNav2;
this.$router.push({ name: "superServiceDataAnalysis" });
}
},
}, },
mounted() { mounted() {
this.initNavList(); this.initNavList();
} },
}; };
</script> </script>
......
<template>
<div>
<el-breadcrumb separator="/" class="bread_crumb1">
<el-breadcrumb-item :to="{ path: '/data_analysis' }">{{ $t("lang.data_analysis") }}</el-breadcrumb-item>
<el-breadcrumb-item>{{ $t("lang.my_application_data_analysis") }}</el-breadcrumb-item>
</el-breadcrumb>
<BlockRadius class="default">
<div class="default_img">
<h1 class="default_title">开发中,敬请期待!</h1>
<h3 class="default_msg">
如需技术支持
<br />请联系管理员
</h3>
</div>
</BlockRadius>
</div>
</template>
<script>
import BlockRadius from "@/components/general/block-radius";
export default {
methods: {
getData() {},
},
components: {
BlockRadius,
},
};
</script>
<style lang="less" scoped>
.default {
height: calc(100vh - 160px);
display: flex;
align-items: center;
justify-content: center;
margin: 0 20px;
.default_img {
width: 1282px;
height: 629px;
background-image: url("~@/assets/imgs/img_default_jszc.png");
.default_title {
color: #264dd9;
font-size: 44px;
font-weight: bold;
margin-bottom: 40px;
}
.default_msg {
color: #58617a;
font-size: 24px;
line-height: 44px;
}
}
}
</style>
\ No newline at end of file
<template>
<div>
<el-breadcrumb separator="/" class="bread_crumb1">
<el-breadcrumb-item :to="{ path: '/data_analysis' }">
{{
$t("lang.data_analysis")
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
$t("lang.my_service_data_analysis")
}}
</el-breadcrumb-item>
</el-breadcrumb>
<BlockRadius class="default">
<div class="default_img">
<h1 class="default_title">开发中,敬请期待!</h1>
<h3 class="default_msg">
如需技术支持
<br />请联系管理员
</h3>
</div>
</BlockRadius>
</div>
</template>
<script>
import BlockRadius from "@/components/general/block-radius";
export default {
methods: {
getData() {},
},
components: {
BlockRadius,
},
};
</script>
<style lang="less" scoped>
.default {
height: calc(100vh - 160px);
display: flex;
align-items: center;
justify-content: center;
margin: 0 20px;
.default_img {
width: 1282px;
height: 629px;
background-image: url("~@/assets/imgs/img_default_jszc.png");
.default_title {
color: #264dd9;
font-size: 44px;
font-weight: bold;
margin-bottom: 40px;
}
.default_msg {
color: #58617a;
font-size: 24px;
line-height: 44px;
}
}
}
</style>
\ No newline at end of file
...@@ -16,7 +16,8 @@ export default { ...@@ -16,7 +16,8 @@ export default {
'/intelligent_drawing', '/intelligent_drawing',
'/intelligent_details', '/intelligent_details',
'/intelligent_appbuilder', '/intelligent_appbuilder',
'/search_engine' '/search_engine',
'/technical_support'
] ]
}), }),
created(){ created(){
......
...@@ -93,6 +93,7 @@ ...@@ -93,6 +93,7 @@
@getNewList="getNewList" @getNewList="getNewList"
ref="servicepic" ref="servicepic"
directory="manage" directory="manage"
:disabled="disabled"
></upload-file> ></upload-file>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -129,13 +130,43 @@ var user_name_pass = (rule, value, callback) => { ...@@ -129,13 +130,43 @@ var user_name_pass = (rule, value, callback) => {
} }
}, 100); }, 100);
}; };
var rank_rule = (rule, value, callback)=>{
var reg = /^[1-9][0-9]{0,1}$/;
setTimeout(() => {
if (reg.test(value)) {
callback();
} else {
callback(new Error("请输入2位内正整数"));
}
}, 100);
}
import helper from "@/services/helper.js"; import helper from "@/services/helper.js";
import uploadFile from "@/components/general/upload_file"; import uploadFile from "@/components/general/upload_file";
export default { export default {
components: { components: {
uploadFile, uploadFile,
}, },
data: () => ({ data(){
var validateup = (rule, value, callback) => {
if (value === '') {
callback(new Error('请选择上架时间'));
} else {
if (this.detail.down_time !== '') {
this.$refs.detail_form.validateField('down_time');
}
callback();
}
};
var validatedown = (rule, value, callback) => {
if (value === '') {
callback(new Error('请选择下架时间'));
} else if (value.getTime() <= this.detail.up_time.getTime()) {
callback(new Error('下架时间应在上架时间之后'));
} else {
callback();
}
};
return{
pageType: 0, // 0:新增,1:编辑,2:详情 pageType: 0, // 0:新增,1:编辑,2:详情
detail: { detail: {
name: "", name: "",
...@@ -176,6 +207,10 @@ export default { ...@@ -176,6 +207,10 @@ export default {
message: "请输入排序", message: "请输入排序",
trigger: "blur", trigger: "blur",
}, },
{
validator: rank_rule,
trigger: 'blur'
}
], ],
up_time: [ up_time: [
{ {
...@@ -183,6 +218,10 @@ export default { ...@@ -183,6 +218,10 @@ export default {
message: "请选择上架时间", message: "请选择上架时间",
trigger: "change", trigger: "change",
}, },
{
validator:validateup,
trigger: "change",
},
], ],
fileList: [ fileList: [
{ {
...@@ -197,6 +236,10 @@ export default { ...@@ -197,6 +236,10 @@ export default {
message: "请选择下架时间", message: "请选择下架时间",
trigger: "change", trigger: "change",
}, },
{
validator:validatedown,
trigger: "change",
},
], ],
url: [], url: [],
}, },
...@@ -211,7 +254,8 @@ export default { ...@@ -211,7 +254,8 @@ export default {
}, },
], ],
submitLoading: false, submitLoading: false,
}), }
},
computed: { computed: {
pageName() { pageName() {
return ["新增", "编辑", "详情"][this.pageType]; return ["新增", "编辑", "详情"][this.pageType];
...@@ -241,6 +285,7 @@ export default { ...@@ -241,6 +285,7 @@ export default {
this.detail.fileList = val[0].url; this.detail.fileList = val[0].url;
this.detail.size = val[0].size; this.detail.size = val[0].size;
console.log(this.detail.fileList); console.log(this.detail.fileList);
this.$refs.detail_form.validateField('fileList')
}, },
getDetail() { getDetail() {
this.$http this.$http
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="list_container"> <div class="list_container">
<apass-list <apass-list
ref="list" ref="list"
class="no_wrap"
:list-header="listHeader" :list-header="listHeader"
:list-data="listData" :list-data="listData"
:list-total="listTotal" :list-total="listTotal"
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="list_container"> <div class="list_container">
<apass-list <apass-list
ref="list" ref="list"
class="no_wrap"
:list-header="listHeader" :list-header="listHeader"
:list-data="listData" :list-data="listData"
:list-total="listTotal" :list-total="listTotal"
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="list_container"> <div class="list_container">
<apass-list <apass-list
ref="list" ref="list"
class="no_wrap"
:list-header="listHeader" :list-header="listHeader"
:list-data="listData" :list-data="listData"
:list-total="listTotal" :list-total="listTotal"
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="list_container"> <div class="list_container">
<apass-list <apass-list
ref="list" ref="list"
class="no_wrap"
:list-header="listHeader" :list-header="listHeader"
:list-data="listData" :list-data="listData"
:list-total="listTotal" :list-total="listTotal"
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<div class="list_container"> <div class="list_container">
<apass-list <apass-list
ref="list" ref="list"
class="no_wrap"
:list-header="listHeader" :list-header="listHeader"
:list-data="listData" :list-data="listData"
:list-total="listTotal" :list-total="listTotal"
......
...@@ -5,7 +5,32 @@ ...@@ -5,7 +5,32 @@
<service-shop-menu></service-shop-menu> <service-shop-menu></service-shop-menu>
</el-aside> </el-aside>
<el-main> <el-main>
<service-list :filterNames="filterNames" :name="name" :url="url" :urlFilter="urlFilter"></service-list> <service-list
v-show="urlFilter != '7' && urlFilter != '10'"
:filterNames="filterNames"
:name="name"
:url="url"
:urlFilter="urlFilter"
></service-list>
<div v-show="urlFilter == '7' || urlFilter == '10'">
<el-breadcrumb separator="/" class="bread_crumb1 bread_left">
<el-breadcrumb-item :to="{ path: '/shop' }">
{{
$t("lang.service_shop")
}}
</el-breadcrumb-item>
<el-breadcrumb-item>{{ name }}</el-breadcrumb-item>
</el-breadcrumb>
<BlockRadius class="default">
<div class="default_img">
<h1 class="default_title">开发中,敬请期待!</h1>
<h3 class="default_msg">
如需技术支持
<br />请联系管理员
</h3>
</div>
</BlockRadius>
</div>
</el-main> </el-main>
</el-container> </el-container>
</div> </div>
...@@ -14,16 +39,18 @@ ...@@ -14,16 +39,18 @@
<script> <script>
import ServiceShopMenu from "@/components/service-list/service_shop_menu"; import ServiceShopMenu from "@/components/service-list/service_shop_menu";
import ServiceList from "@/components/service-list/service_list"; import ServiceList from "@/components/service-list/service_list";
import BlockRadius from "@/components/general/block-radius";
export default { export default {
components: { components: {
ServiceShopMenu, ServiceShopMenu,
ServiceList ServiceList,
BlockRadius,
}, },
data: () => ({ data: () => ({
urlFilter: "", urlFilter: "",
url: "", url: "",
name: "", name: "",
filterNames: [] filterNames: [],
}), }),
mounted() { mounted() {
this.getVal(this.$route.path); this.getVal(this.$route.path);
...@@ -58,7 +85,7 @@ export default { ...@@ -58,7 +85,7 @@ export default {
this.filterNames = []; this.filterNames = [];
break; break;
case "comprehensive_app_list": case "comprehensive_app_list":
this.name = "综合应用"; this.name = "融合服务";
this.urlFilter = "21"; this.urlFilter = "21";
this.url = "/shop/zhfwDetail"; this.url = "/shop/zhfwDetail";
this.filterNames = ["服务类型", "服务领域", "服务来源组织"]; this.filterNames = ["服务类型", "服务领域", "服务来源组织"];
...@@ -76,16 +103,39 @@ export default { ...@@ -76,16 +103,39 @@ export default {
this.filterNames = []; this.filterNames = [];
break; break;
} }
} },
}, },
watch: { watch: {
"$route.path": { "$route.path": {
handler(val) { handler(val) {
this.getVal(val); this.getVal(val);
} },
} },
} },
}; };
</script> </script>
<style scoped> <style lang="less" scoped>
.default {
height: calc(100vh - 180px);
display: flex;
align-items: center;
justify-content: center;
margin: 0;
.default_img {
width: 1282px;
height: 629px;
background-image: url("~@/assets/imgs/img_default_jszc.png");
.default_title {
color: #264dd9;
font-size: 44px;
font-weight: bold;
margin-bottom: 40px;
}
.default_msg {
color: #58617a;
font-size: 24px;
line-height: 44px;
}
}
}
</style> </style>
\ No newline at end of file
...@@ -120,7 +120,6 @@ export default { ...@@ -120,7 +120,6 @@ export default {
{ {
prop: "name", prop: "name",
label: "字段编码", label: "字段编码",
align: "center",
width: 240, width: 240,
}, },
{ {
...@@ -163,7 +162,6 @@ export default { ...@@ -163,7 +162,6 @@ export default {
{ {
prop: "name", prop: "name",
label: "字段编码", label: "字段编码",
align: "center",
width: 240, width: 240,
}, },
{ {
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<el-breadcrumb separator="/"> <el-breadcrumb separator="/">
<el-breadcrumb-item to="/shop">服务超市</el-breadcrumb-item> <el-breadcrumb-item to="/shop">服务超市</el-breadcrumb-item>
<el-breadcrumb-item to="/shop/comprehensive_app_list/11"> <el-breadcrumb-item to="/shop/comprehensive_app_list/11">
综合应用 融合服务
</el-breadcrumb-item> </el-breadcrumb-item>
<el-breadcrumb-item>服务详情信息</el-breadcrumb-item> <el-breadcrumb-item>服务详情信息</el-breadcrumb-item>
</el-breadcrumb> </el-breadcrumb>
...@@ -38,11 +38,6 @@ export default { ...@@ -38,11 +38,6 @@ export default {
providerData: null, providerData: null,
commentsData: null, commentsData: null,
}), }),
computed: {
id() {
return this.$route.params.id;
},
},
computed: { computed: {
id() { id() {
return this.$route.params.id; return this.$route.params.id;
...@@ -93,7 +88,6 @@ export default { ...@@ -93,7 +88,6 @@ export default {
descript: datas.descript, descript: datas.descript,
serviceRequestSpcs: specificationData, serviceRequestSpcs: specificationData,
}; };
this.detailData = [ this.detailData = [
{ {
name: "获取流程", name: "获取流程",
...@@ -136,6 +130,13 @@ export default { ...@@ -136,6 +130,13 @@ export default {
}, },
}, */ }, */
]; ];
if (datas.workflows_id) {
this.detailData.push({
name: "流程详情",
type: "workflows",
value: datas.workflows_id,
});
}
this.specificationData = specificationData; this.specificationData = specificationData;
this.providerData = { this.providerData = {
organization_name: datas.organization_name, organization_name: datas.organization_name,
...@@ -150,7 +151,7 @@ export default { ...@@ -150,7 +151,7 @@ export default {
}); });
}, },
}, },
mounted() { created() {
this.init(); this.init();
}, },
}; };
......
<template>
<div class="contain">
<div class="technical_head">{{ $t("lang.technical_support") }}</div>
<BlockRadius class="default">
<div class="default_img">
<h1 class="default_title">开发中,敬请期待!</h1>
<h3 class="default_msg">
如需技术支持
<br />请联系管理员
</h3>
</div>
</BlockRadius>
</div>
</template>
<script>
import BlockRadius from "@/components/general/block-radius";
export default {
data() {
return {};
},
components: {
BlockRadius,
},
computed: {},
created() {},
mounted() {},
methods: {},
};
</script>
<style lang="less" scoped>
.contain {
width: calc(100% - 80px);
margin: 0 auto;
margin-top: -157px;
margin-bottom: 20px;
.technical_head {
color: #626de9;
font-size: 14px;
padding: 20px;
}
.default {
height: calc(100vh - 180px);
display: flex;
align-items: center;
justify-content: center;
.default_img {
width: 1282px;
height: 629px;
background-image: url("~@/assets/imgs/img_default_jszc.png");
.default_title {
color: #264dd9;
font-size: 44px;
font-weight: bold;
margin-bottom: 40px;
}
.default_msg {
color: #58617a;
font-size: 24px;
line-height: 44px;
}
}
}
}
</style>
...@@ -533,6 +533,10 @@ export default { ...@@ -533,6 +533,10 @@ export default {
this.step2Loading = false; this.step2Loading = false;
}, },
step2Action() { step2Action() {
if (this.step2Loading) {
return;
}
this.$refs.deploy_info_form.validate((valid) => { this.$refs.deploy_info_form.validate((valid) => {
if (valid) { if (valid) {
this.step2Loading = true; this.step2Loading = true;
...@@ -612,6 +616,10 @@ export default { ...@@ -612,6 +616,10 @@ export default {
this.image_info.file = ""; this.image_info.file = "";
}, },
addImage() { addImage() {
if (this.addImageLoading) {
return;
}
this.$refs.image_info_form.validate((valid) => { this.$refs.image_info_form.validate((valid) => {
if (valid) { if (valid) {
this.addImageLoading = true; this.addImageLoading = true;
......
...@@ -39,7 +39,12 @@ export default { ...@@ -39,7 +39,12 @@ export default {
}, },
}, },
mounted() { mounted() {
window.addEventListener('message',event =>{ this.$nextTick(() => {
window.addEventListener('message',this.postmassageevt);
})
},
methods: {
postmassageevt(event){
let data = event.data; let data = event.data;
// App Builder发布服务 // App Builder发布服务
if (data.cmd == 'appbuildermsg'){ if (data.cmd == 'appbuildermsg'){
...@@ -47,9 +52,11 @@ export default { ...@@ -47,9 +52,11 @@ export default {
this.$store.commit("setAppBuilderParams", data.params); this.$store.commit("setAppBuilderParams", data.params);
this.$router.push(`/fwzc/fwcs?map=4`); this.$router.push(`/fwzc/fwcs?map=4`);
} }
}) }
}, },
methods: {}, destroyed () {
window.removeEventListener('message',this.postmassageevt);
}
}; };
</script> </script>
......
...@@ -32,19 +32,37 @@ export default { ...@@ -32,19 +32,37 @@ export default {
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
window.addEventListener('message',event =>{ window.addEventListener('message',this.postmassageevt)
let data = event.data;
if (data.cmd == 'mapdetailtoview'){
console.log(data);
this.$store.commit("setZnztDetailsParams", data.params);
this.$router.push('/intelligent_drawing')
}
})
}) })
}, },
methods: {}, methods: {
postmassageevt(event){
let data = event.data;
// App Builder页面 -- 新窗口打开
if (data.cmd == 'mapviewtoapp'){
let params = {
title: data.params.title,
tags: data.params.tags,
sharewithwebmap:data.params.shareWithWebMap,
webmap:data.params.id,
summary: data.params.summary,
};
let routeData = this.$router.resolve({
name: "intelligent_appbuilder",
query: params,
});
window.open(routeData.href, '_blank');
// this.$store.commit("setAppBuilderParams", data.params);
};
if (data.cmd == 'mapdetailtoview'){
console.log(data);
this.$store.commit("setZnztDetailsParams", data.params);
this.$router.push('/intelligent_drawing')
}
}
},
destroyed () { destroyed () {
// window.removeEventListener('message') window.removeEventListener('message',this.postmassageevt)
} }
}; };
......
...@@ -29,10 +29,6 @@ export default { ...@@ -29,10 +29,6 @@ export default {
name: "流程监控", name: "流程监控",
path: `/progress/monitoring`, path: `/progress/monitoring`,
}, },
{
name: "流程设计",
path: `/progress/designs`,
}
], ],
navList: [], navList: [],
}), }),
......
...@@ -231,15 +231,15 @@ export default { ...@@ -231,15 +231,15 @@ export default {
info: "" info: ""
}, },
{ {
title: "场景描述", title: "业务系统名称",
info: "" info: ""
}, },
{ {
title: "调用业务系统", title: "业务系统访问地址",
info: "" info: ""
}, },
{ {
title: "业务系统域名", title: "场景描述",
info: "" info: ""
}, },
{ {
...@@ -354,13 +354,13 @@ export default { ...@@ -354,13 +354,13 @@ export default {
this.$set(this.list_arr[0], "info", data.service_apply_info.apply_user_info.department_name); this.$set(this.list_arr[0], "info", data.service_apply_info.apply_user_info.department_name);
this.$set(this.list_arr[1], "info", data.service_apply_info.apply_user_info.user_name); this.$set(this.list_arr[1], "info", data.service_apply_info.apply_user_info.user_name);
this.$set(this.list_arr[2], "info", data.service_apply_info.apply_user_info.phone); this.$set(this.list_arr[2], "info", data.service_apply_info.apply_user_info.phone);
this.$set(this.list_arr[3], "info", data.descript); this.$set(this.list_arr[3], "info", data.service_apply_info.business_name);
this.$set(this.list_arr[4], "info", data.service_apply_info.business_name); this.$set(this.list_arr[4], "info", data.service_apply_info.business_url);
this.$set(this.list_arr[5], "info", data.service_apply_info.business_url); this.$set(this.list_arr[5], "info", data.descript);
this.$set(this.list_arr[6], "info", data.service_apply_info.apply_file.split('/')[data.service_apply_info.apply_file.split('/').length - 1]); this.$set(this.list_arr[6], "info", data.service_apply_info.apply_file.split('/')[data.service_apply_info.apply_file.split('/').length - 1]);
this.$set(this.list_arr[6], "url", data.service_apply_info.apply_file); this.$set(this.list_arr[6], "url", data.service_apply_info.apply_file);
this.$set(this.list_arr[8], "info", data.service_apply_info.duration+(data.service_apply_info.duration_unit==1?'':'')); this.$set(this.list_arr[8], "info", data.service_apply_info.duration+(data.service_apply_info.duration_unit==1?'':''));
this.$set(this.list_arr[9], "info", "访问次数:"+(data.service_apply_info.request_spcs&&data.service_apply_info.request_spcs.pv||'-')+"/日 访问量:"+(data.service_apply_info.request_spcs&&data.service_apply_info.request_spcs.count||'-')+"/日"); this.$set(this.list_arr[9], "info", "访问次数:"+(data.service_apply_info.request_spcs&&data.service_apply_info.request_spcs.pv||'-')+"次/日 访问量:"+(data.service_apply_info.request_spcs&&data.service_apply_info.request_spcs.count||'-')+"/日");
this.id = data.service_apply_info.id this.id = data.service_apply_info.id
if(data.service_apply_info.approval_status!==0){ if(data.service_apply_info.approval_status!==0){
this.servicead_arr[this.now_user].splice(1,1) this.servicead_arr[this.now_user].splice(1,1)
...@@ -384,7 +384,7 @@ export default { ...@@ -384,7 +384,7 @@ export default {
}, },
{ {
title:'审批单位:', title:'审批单位:',
info:e.user_info.department_name info:e.user_info.department_name?e.user_info.department_name:''
}, },
{ {
title:'审批人:', title:'审批人:',
......
...@@ -106,7 +106,7 @@ ...@@ -106,7 +106,7 @@
:title="dialogInfo.title" :title="dialogInfo.title"
:msg="dialogInfo.msg" :msg="dialogInfo.msg"
:submit="dialogInfo.submit" :submit="dialogInfo.submit"
:sunbmitText="dialogInfo.sunbmitText" :sunbmit-text="dialogInfo.sunbmitText"
></apass-dialog> ></apass-dialog>
<allot-info-confirm <allot-info-confirm
...@@ -148,6 +148,7 @@ export default { ...@@ -148,6 +148,7 @@ export default {
title: "", title: "",
msg: "", msg: "",
submit: null, submit: null,
sunbmitText: "",
}, },
listUrl: "", listUrl: "",
deleteUrl: "", deleteUrl: "",
...@@ -1064,8 +1065,7 @@ export default { ...@@ -1064,8 +1065,7 @@ export default {
callback(item) { callback(item) {
if (item.state == 0) { if (item.state == 0) {
return null; // 已下架,上架的操作需要普通用户申请 return null; // 已下架,上架的操作需要普通用户申请
} else } else if (item.state == 1) {
if (item.state == 1) {
return _self.soldOutItem(item); // 已上架,超管用户可以直接下架 return _self.soldOutItem(item); // 已上架,超管用户可以直接下架
} else if (item.state == 2) { } else if (item.state == 2) {
return _self.soldUpItem(item); // 上架审核中,超管用户可以直接上架 return _self.soldUpItem(item); // 上架审核中,超管用户可以直接上架
...@@ -1398,7 +1398,6 @@ export default { ...@@ -1398,7 +1398,6 @@ export default {
applyForSoldUpItem(item) { applyForSoldUpItem(item) {
this.dialogInfo.title = "提示"; this.dialogInfo.title = "提示";
this.dialogInfo.msg = "确认申请上架此服务吗?"; this.dialogInfo.msg = "确认申请上架此服务吗?";
this.dialogInfo.cancelText = "取消";
this.dialogInfo.sunbmitText = "发送通知"; this.dialogInfo.sunbmitText = "发送通知";
this.dialogInfo.submit = () => { this.dialogInfo.submit = () => {
this.$http this.$http
...@@ -1433,7 +1432,6 @@ export default { ...@@ -1433,7 +1432,6 @@ export default {
this.dialogInfo.title = "是否确定下架服务"; this.dialogInfo.title = "是否确定下架服务";
this.dialogInfo.msg = this.dialogInfo.msg =
"下架此服务会导致用户被迫暂停对服务的调用,下架前需向超级管理员发送通知,超级管理员通过后此服务将会从服务超市中下架。"; "下架此服务会导致用户被迫暂停对服务的调用,下架前需向超级管理员发送通知,超级管理员通过后此服务将会从服务超市中下架。";
this.dialogInfo.cancelText = "取消";
this.dialogInfo.sunbmitText = "发送通知"; this.dialogInfo.sunbmitText = "发送通知";
this.dialogInfo.submit = () => { this.dialogInfo.submit = () => {
this.$http this.$http
...@@ -1467,7 +1465,6 @@ export default { ...@@ -1467,7 +1465,6 @@ export default {
soldUpItem(item) { soldUpItem(item) {
this.dialogInfo.title = "提示"; this.dialogInfo.title = "提示";
this.dialogInfo.msg = "确认上架此服务吗?"; this.dialogInfo.msg = "确认上架此服务吗?";
this.dialogInfo.cancelText = "";
this.dialogInfo.sunbmitText = "确定"; this.dialogInfo.sunbmitText = "确定";
this.dialogInfo.submit = () => { this.dialogInfo.submit = () => {
this.$http this.$http
...@@ -1501,7 +1498,6 @@ export default { ...@@ -1501,7 +1498,6 @@ export default {
this.dialogInfo.title = "提示"; this.dialogInfo.title = "提示";
this.dialogInfo.msg = this.dialogInfo.msg =
"下架此服务会导致调用该服务的<br />用户被迫暂停对服务的调用"; "下架此服务会导致调用该服务的<br />用户被迫暂停对服务的调用";
this.dialogInfo.cancelText = "";
this.dialogInfo.sunbmitText = "确定"; this.dialogInfo.sunbmitText = "确定";
this.dialogInfo.submit = () => { this.dialogInfo.submit = () => {
this.$http this.$http
...@@ -1534,7 +1530,6 @@ export default { ...@@ -1534,7 +1530,6 @@ export default {
deleteItem(item) { deleteItem(item) {
this.dialogInfo.title = ""; this.dialogInfo.title = "";
this.dialogInfo.msg = "是否删除该条服务?"; this.dialogInfo.msg = "是否删除该条服务?";
this.dialogInfo.cancelText = "";
this.dialogInfo.sunbmitText = ""; this.dialogInfo.sunbmitText = "";
this.dialogInfo.submit = () => { this.dialogInfo.submit = () => {
this.$http this.$http
......
This diff is collapsed.
...@@ -311,7 +311,7 @@ export default { ...@@ -311,7 +311,7 @@ export default {
if(reg.test(this.maxline)){ if(reg.test(this.maxline)){
}else{ }else{
this.$message.error('请输入长度小于6的正整数') this.$message.error('请输入6位内的正整数')
return return
} }
}else{ }else{
...@@ -327,7 +327,7 @@ export default { ...@@ -327,7 +327,7 @@ export default {
if(reg.test(this.maxline1)){ if(reg.test(this.maxline1)){
}else{ }else{
this.$message.error('请输入长度小于6的正整数') this.$message.error('请输入6位内的正整数')
return return
} }
} }
...@@ -338,7 +338,7 @@ export default { ...@@ -338,7 +338,7 @@ export default {
if(reg.test(this.maxline1)){ if(reg.test(this.maxline1)){
}else{ }else{
this.$message.error('请输入长度小于6的正整数') this.$message.error('请输入6位内的正整数')
return return
} }
} }
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment