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

合dev

parents b9635c01 fea2f4bf
[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 */
......@@ -152,56 +152,66 @@ div{
padding: 0 20px;
}
/* 设置抽屉的样式 */
.el-drawer__header{
.el-drawer__header {
display: none;
}
.from_return{
.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;
position: relative;
}
.el-dialog__title::before {
content: "";
position: absolute;
width: 4px;
height: 16px;
border-radius: 2px;
background-color: #515fe7;
left: 0;
top: 2px;
}
.el-dialog__body{
.el-dialog__body {
font-size: 18px;
color: #242c43;
text-align: center;
......@@ -213,23 +223,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 +286,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 {
......@@ -347,8 +359,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 +384,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 +424,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 +467,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,7 +478,7 @@ 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;
}
......@@ -508,7 +521,6 @@ width: 620px!important;
margin: 0 auto;
}
/* common */
.apass_breadcrumb > .el-breadcrumb {
padding: 15px 0;
......@@ -519,7 +531,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;
}
......@@ -564,11 +579,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 +846,10 @@ width: 620px!important;
.meassage_detail_dialog .detail_item .full_content .item_content {
margin: 0;
}
.no_wrap .apass_table td .cell {
overflow: hidden;
text-overflow: ellipsis;
word-break: break-all;
white-space: nowrap;
}
/* 详情页公共样式 by xuyiming ~~~end */
......@@ -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,13 @@ export const lang = {
message_alert: "消息提醒管理",
banner: "banner管理",
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,7 +338,15 @@ export default {
_self.moreActionList = [];
_self.showMoreActionList = true;
_self.moreActionList = moreActionList.map((item) => ({
_self.moreActionList = moreActionList
.filter((item) => {
if (item.showRule) {
return item.showRule(row);
} else {
return true;
}
})
.map((item) => ({
id: row.id,
label: item.label,
callback() {
......@@ -499,10 +507,11 @@ export default {
.more_action_list > li:first-child::before {
content: "";
position: absolute;
top: -14px;
right: calc(50% - 14px);
width: 28px;
height: 14px;
top: -20px;
right: calc(50% - 20px);
width: 40px;
height: 20px;
/* background-color: red; */
}
.more_action_list > li:first-child::after {
content: "";
......
......@@ -20,6 +20,10 @@ export default {
type: String,
default: () => "",
},
stepTitle: {
type: String,
default: "",
},
},
data: () => ({}),
computed: {
......
......@@ -25,7 +25,12 @@
</div>
<div class="step_icon" v-else></div>
<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>
......
......@@ -6,7 +6,7 @@
:key="'comment_' + index"
>
<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 class="comment-right">
<p class="comment-user_name" v-text="item.user_name"></p>
......
......@@ -2,7 +2,7 @@
<ul class="comments_list apaas_scroll">
<li class="comment_card" v-for="(item, index) in data" :key="'comment_' + index">
<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 class="comment-right">
<p class="comment-base">
......
......@@ -59,11 +59,21 @@ export default {
{
type: "category",
axisLabel: {
interval: 0,
textStyle: {
color: "#0d1847",
fontSize: 12,
lineHeight: 20,
},
formatter(value) {
let valueTxt = "";
if (value.length > 7) {
valueTxt = value.substring(0, 7 - 1) + "...";
} else {
valueTxt = value;
}
return valueTxt;
},
},
axisTick: {
show: false,
......
......@@ -32,6 +32,10 @@ export default {
isPercent: {
type: Boolean,
default: true
},
color: {
type: Array,
default: null
}
},
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";
import "ace-builds/webpack-resolver"; // 在 webpack 环境中使用必须要导入
import "ace-builds/src-noconflict/mode-json"; // 默认设置的语言模式
export default {
props: ["url","datas"],
props: ["url","datas",'readOnly'],
data() {
return {
aceEditor: null,
......@@ -34,7 +34,8 @@ export default {
mode: this.acemodePath,
wrap: this.wrap,
tabSize: 4,
highlightActiveLine: false
highlightActiveLine: false,
readOnly:this.readOnly?this.readOnly:false
});
if (this.url) {
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 @@
:readOnly="readOnly"
:data="anotherData"
:drag="drag"
:disabled="disabled"
>
<div v-if="drag">
<i class="el-icon-upload"></i>
......@@ -92,6 +93,10 @@ export default {
type: Boolean,
default: true,
},
disabled: {
type: Boolean,
default: false,
},
},
watch: {
list(value) {
......
......@@ -22,6 +22,7 @@
</template>
<script>
import helper from "@/services/helper.js";
import screenType from "@/components/recommen/screen-type";
import recommenBox from "@/components/recommen/recommen-box";
......@@ -119,7 +120,14 @@ export default {
})
.then(({ data }) => {
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 {
this.keyword = "";
this.updateTime = "";
if (this.tpl_types.length > 0) {
this.type = this.tpl_types[0].value;
}
this.getTemplateList();
},
selectTemplate(item) {
......
......@@ -10,14 +10,12 @@
</el-tabs>
<div class="list_options">
<div class="button_group">
<el-button
size="mini"
<span
v-for="(item, index) in buttonList"
:key="'btn' + index"
:class="item.state ? 'btn_actice':''"
round
:class="item.state ? 'btn_default btn_actice':'btn_default'"
@click="btnClick(index)"
>{{ item.name }}</el-button>
>{{ item.name }}</span>
</div>
<div class="input_right">
<el-input
......@@ -224,6 +222,22 @@ export default {
.button_group {
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 {
background-color: #515fe7;
color: #fff;
......
......@@ -10,7 +10,7 @@
<span
class="info_fix"
v-if="data.fixed_process"
@click="goto_page(data.fixedurl)"
@click="goto_page(data.fixed_url)"
>
我要编辑
</span>
......@@ -72,7 +72,7 @@
>
我要修改
</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 class="right undersell1" v-if="data.undeploy" @click="subevent(9)">
......@@ -168,6 +168,14 @@ export default {
this.$emit("debuggerfunc");
} else if (val == 6) {
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) {
......@@ -276,6 +284,9 @@ export default {
background-color: #e6ebfe;
margin-left: 10px;
}
.undersell2{
margin-left: 10px;
}
.undermy {
background-color: #515fe7;
color: #e6ebfe;
......
......@@ -170,6 +170,7 @@ export default {
background-color: #f9fafc;
padding: 18px;
margin-top: 15px;
border-radius: 8px;
}
.application_base_info:not(:last-child) {
margin-right: 50px;
......@@ -222,17 +223,12 @@ export default {
width: 220px;
margin-left: 20px;
}
.application_info .el-button--primary {
</style>
<style>
.application_info.apaas_button .el-button--primary {
color: #fff;
background-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>
......@@ -98,7 +98,7 @@
></el-input-number>
</div>
</div>
<div class="apaas_button commodity_action">
<div class=" commodity_action">
<el-button
type="warning"
plain
......@@ -339,12 +339,13 @@ export default {
vertical-align: middle;
}
.service_title > .service_access_info > img {
width: 15px;
width: 19px;
margin-right: 5px;
}
.service_base_info {
padding: 18px;
background-color: #f9fafc;
border-radius: 8px;
}
.service_base_info > li,
.commodity_information {
......@@ -398,3 +399,11 @@ export default {
margin-left: 20px;
}
</style>
<style>
.service_info.apaas_button .el-button--primary {
color: #fff;
background-color: #515fe7;
border-color: #515fe7;
}
</style>
......@@ -329,7 +329,6 @@ export default {
for (let i = 0; i < val.length; i++) {
this.filterLists[i + 1].name = val[i];
}
console.log(this.filterLists);
},
},
},
......
......@@ -5,10 +5,7 @@
v-for="(item, index) in data"
:key="'detail_' + index"
>
<h3
class="detail-title"
v-text="item.name + ':'"
></h3>
<h3 class="detail-title" v-text="item.name + ':'"></h3>
<service-steps
v-if="item.type == 'step'"
......@@ -24,6 +21,10 @@
class="detail-code"
v-html="item.value"
></div>
<workflows-view
v-else-if="item.type == 'workflows'"
:id="item.value"
></workflows-view>
<el-table
v-else-if="item.type == 'table'"
class="detail-table"
......@@ -66,10 +67,12 @@
<script>
import serviceSteps from "@/components/service-tabs/service-steps";
import workflowsView from "@/components/work-flow/workflows-view";
export default {
components: {
serviceSteps,
workflowsView,
},
props: {
data: {
......
......@@ -160,6 +160,7 @@ export default {
}
.service_info_tab .el-table {
width: 100%;
text-align: left;
}
.service_info_tab .el-table__row:nth-child(odd) td {
background-color: #f8f9fd;
......
......@@ -137,6 +137,11 @@ export default {
};
</script>
<style>
.outborder .system .el-input__prefix,.outborder .system .el-input__suffix{
left: auto;
}
</style>
<style scoped>
.outborder {
border-bottom: 2px solid rgba(244, 247, 252, 1);
......
......@@ -54,7 +54,7 @@
<div class="shopping_cell_specification_edit">
<el-popover
placement="right-start"
width="280"
width="300"
v-model="visible"
@show="setSpecificationPop"
>
......@@ -70,7 +70,14 @@
:class="specificationPop == item.id ? 'shopping_cell_specification_btn active' : 'shopping_cell_specification_btn'"
size="mini"
@click="changeSpecification(item.id)"
>{{ index + 1 + ". " + item.des }}</el-button>
>
{{ index + 1 + ". " + "访问次数:" +
item.pv +
"/日," +
"访问量:" +
item.count +
"/日" }}
</el-button>
</div>
<div class="no_option" v-else>暂无规格</div>
</div>
......@@ -151,25 +158,26 @@ export default {
cellIndex: { type: Number, default: null },
cellCheck: {
type: Boolean,
default: false
default: false,
},
readOnly: {
type: Boolean,
default: false
default: false,
},
cellIsService: {
type: Boolean
}
type: Boolean,
},
},
watch: {
cellCheck: function(val) {
cellCheck: function (val) {
this.checkedItem = val;
},
cellItem: {
immediate: true, // 这句重要
handler(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.cellItems.service.buy_method == 1) {
this.specificationApplicationBtns = [{ id: 1, value: "按月" }];
......@@ -178,12 +186,12 @@ export default {
} else {
this.specificationApplicationBtns = [
{ id: 1, value: "按月" },
{ id: 2, value: "按年" }
{ id: 2, value: "按年" },
];
}
}
}
}
},
},
},
data: () => ({
cellItems: {},
......@@ -195,12 +203,12 @@ export default {
specificationApplicationPop: 1,
appSpecificationBtns: [
{ id: 1, value: "部署" },
{ id: 2, value: "开发" }
{ id: 2, value: "开发" },
],
specificationApplicationBtns: [
{ id: 1, value: "按月" },
{ id: 2, value: "按年" }
]
{ id: 2, value: "按年" },
],
}),
computed: {
getSpecification() {
......@@ -211,14 +219,20 @@ export default {
this.cellItems.service.request_spcs_info.length != 0
) {
let requestArr = this.cellItems.service.request_spcs_info;
requestArr.forEach(item => {
requestArr.forEach((item) => {
arr.push(item.id);
});
}
let num = arr.indexOf(this.cellItems.spec_id);
let specification = "";
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;
} else {
......@@ -228,7 +242,7 @@ export default {
return "开发";
}
}
}
},
},
mounted() {},
methods: {
......@@ -263,23 +277,23 @@ export default {
changeCellItem() {
this.$emit("changeCellMsg", {
index: this.cellIndex,
data: this.cellItems
data: this.cellItems,
});
},
delCellItem() {
this.$api.serviceShop
.delShoppingCart([this.cellItems.id])
.then(response => {
.then((response) => {
if (response.data.success == 1) {
this.$message({
message: this.cellIsService ? "删除该服务成功" : "删除该应用成功",
type: "success"
type: "success",
});
this.$emit("updateList");
} else {
this.$message({
message: this.cellIsService ? "删除该服务失败" : "删除该应用失败",
type: "error"
type: "error",
});
}
});
......@@ -290,16 +304,16 @@ export default {
duration: this.cellItems.duration,
spec_id: this.cellItems.spec_id,
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) {
} else {
console.log(response.data.errMsg);
}
});
}
}
},
},
};
</script>
......@@ -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;
......
......@@ -200,7 +200,7 @@
{{ scope.row[item.prop] }}
</span>
<!-- 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>
</template>
</el-table-column>
......@@ -460,7 +460,11 @@ export default {
});
},
gotopage(url,id){
if(url=='/'){
this.$router.push(`/fwgl/0/0/servicedetail/${id}`)
}else{
this.$router.push(`${url}${id}`)
}
},
//本地删除
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 {
rules: {
menu_name: [
{ required: true, message: "请填写菜单名称", trigger: "blur" },
{ min: 0, max: 8, message: "菜单名称不超过8", trigger: "blur" }
{ min: 0, max: 16, message: "菜单名称不超过16", trigger: "blur" }
],
visit_url: [
{ required: true, message: "请填写菜单访问地址", trigger: "blur" },
......
......@@ -206,12 +206,12 @@ export default {
}, 1000);
};
var user_name_pass = (rule, value, callback) => {
var reg = /^[a-z0-9]+$/;
var reg = /^[a-zA-Z0-9|\-|_|\.]+$/;
setTimeout(() => {
if (reg.test(value)) {
callback();
} else {
callback(new Error("只支持小写字母、数字"));
callback(new Error("只支持字母、数字、-、_、."));
}
}, 100);
};
......
<template>
<div class="fwgl_container">
<side-nav-bar
title="数据分析中心"
<sideNavBar
v-if="is_admin == 3 || is_admin == 4 || is_admin == 1"
title="运营管控中心"
imgSrc="tool_fuwu"
:nav-list="navList"
: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">
<router-view :key="'type_' + $route.params.type"></router-view>
</div>
......@@ -14,53 +22,88 @@
<script>
import sideNavBar from "@/components/side-nav-bar";
import sideNavBarClass from "@/components/general/side-nav-bar-class";
export default {
components: {
sideNavBar
sideNavBar,
sideNavBarClass,
},
data: () => ({
userNav: [
{
name: "我的服务数据分析",
path: `/data_analysis/my_service`
name: "服务分析",
path: `/data_analysis/my_service`,
},
{
name: "我的应用数据分析",
path: `/data_analysis/my_application`
name: "应用分析",
path: `/data_analysis/my_application`,
},
],
userNav1: [
{
name: "运营分析",
path: `/data_analysis/org_service`,
child: [
{
name: "组织服务数据分析",
path: `/data_analysis/org_service`
name: "服务分析",
path: `/data_analysis/org_service`,
},
{
name: "组织应用数据分析",
path: `/data_analysis/org_application`
name: "应用分析",
path: `/data_analysis/org_application`,
},
],
},
{
name: "运行管控",
path: `/data_analysis/operation_overview`,
child: [
{
name: "运行概况-组织",
path: `/data_analysis/operation_overview`
name: "运行概况",
path: `/data_analysis/operation_overview`,
},
{
name: "服务管控-组织",
path: `/data_analysis/service_control`
}
name: "服务管控",
path: `/data_analysis/service_control`,
},
],
navList: []
},
],
userNav2: [
{
name: "服务分析",
path: `/data_analysis/super_service`,
},
{
name: "应用分析",
path: `/data_analysis/super_application`,
},
],
navList: [],
is_admin: 0,
}),
watch: {
"$route.fullPath"(path) {
this.initNavList();
}
// "$route.fullPath"(path) {
// this.initNavList();
// },
},
methods: {
initNavList() {
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() {
this.initNavList();
}
},
};
</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 {
'/intelligent_drawing',
'/intelligent_details',
'/intelligent_appbuilder',
'/search_engine'
'/search_engine',
'/technical_support'
]
}),
created(){
......
......@@ -93,6 +93,7 @@
@getNewList="getNewList"
ref="servicepic"
directory="manage"
:disabled="disabled"
></upload-file>
</el-form-item>
</el-form>
......@@ -129,13 +130,43 @@ var user_name_pass = (rule, value, callback) => {
}
}, 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 uploadFile from "@/components/general/upload_file";
export default {
components: {
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:详情
detail: {
name: "",
......@@ -176,6 +207,10 @@ export default {
message: "请输入排序",
trigger: "blur",
},
{
validator: rank_rule,
trigger: 'blur'
}
],
up_time: [
{
......@@ -183,6 +218,10 @@ export default {
message: "请选择上架时间",
trigger: "change",
},
{
validator:validateup,
trigger: "change",
},
],
fileList: [
{
......@@ -197,6 +236,10 @@ export default {
message: "请选择下架时间",
trigger: "change",
},
{
validator:validatedown,
trigger: "change",
},
],
url: [],
},
......@@ -211,7 +254,8 @@ export default {
},
],
submitLoading: false,
}),
}
},
computed: {
pageName() {
return ["新增", "编辑", "详情"][this.pageType];
......@@ -241,6 +285,7 @@ export default {
this.detail.fileList = val[0].url;
this.detail.size = val[0].size;
console.log(this.detail.fileList);
this.$refs.detail_form.validateField('fileList')
},
getDetail() {
this.$http
......
......@@ -2,6 +2,7 @@
<div class="list_container">
<apass-list
ref="list"
class="no_wrap"
:list-header="listHeader"
:list-data="listData"
:list-total="listTotal"
......
......@@ -2,6 +2,7 @@
<div class="list_container">
<apass-list
ref="list"
class="no_wrap"
:list-header="listHeader"
:list-data="listData"
:list-total="listTotal"
......
......@@ -2,6 +2,7 @@
<div class="list_container">
<apass-list
ref="list"
class="no_wrap"
:list-header="listHeader"
:list-data="listData"
:list-total="listTotal"
......
......@@ -2,6 +2,7 @@
<div class="list_container">
<apass-list
ref="list"
class="no_wrap"
:list-header="listHeader"
:list-data="listData"
:list-total="listTotal"
......
......@@ -2,6 +2,7 @@
<div class="list_container">
<apass-list
ref="list"
class="no_wrap"
:list-header="listHeader"
:list-data="listData"
:list-total="listTotal"
......
......@@ -5,7 +5,32 @@
<service-shop-menu></service-shop-menu>
</el-aside>
<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-container>
</div>
......@@ -14,16 +39,18 @@
<script>
import ServiceShopMenu from "@/components/service-list/service_shop_menu";
import ServiceList from "@/components/service-list/service_list";
import BlockRadius from "@/components/general/block-radius";
export default {
components: {
ServiceShopMenu,
ServiceList
ServiceList,
BlockRadius,
},
data: () => ({
urlFilter: "",
url: "",
name: "",
filterNames: []
filterNames: [],
}),
mounted() {
this.getVal(this.$route.path);
......@@ -58,7 +85,7 @@ export default {
this.filterNames = [];
break;
case "comprehensive_app_list":
this.name = "综合应用";
this.name = "融合服务";
this.urlFilter = "21";
this.url = "/shop/zhfwDetail";
this.filterNames = ["服务类型", "服务领域", "服务来源组织"];
......@@ -76,16 +103,39 @@ export default {
this.filterNames = [];
break;
}
}
},
},
watch: {
"$route.path": {
handler(val) {
this.getVal(val);
},
},
},
};
</script>
<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;
}
}
};
</script>
<style scoped>
}
</style>
\ No newline at end of file
......@@ -120,7 +120,6 @@ export default {
{
prop: "name",
label: "字段编码",
align: "center",
width: 240,
},
{
......@@ -163,7 +162,6 @@ export default {
{
prop: "name",
label: "字段编码",
align: "center",
width: 240,
},
{
......
......@@ -4,7 +4,7 @@
<el-breadcrumb separator="/">
<el-breadcrumb-item to="/shop">服务超市</el-breadcrumb-item>
<el-breadcrumb-item to="/shop/comprehensive_app_list/11">
综合应用
融合服务
</el-breadcrumb-item>
<el-breadcrumb-item>服务详情信息</el-breadcrumb-item>
</el-breadcrumb>
......@@ -38,11 +38,6 @@ export default {
providerData: null,
commentsData: null,
}),
computed: {
id() {
return this.$route.params.id;
},
},
computed: {
id() {
return this.$route.params.id;
......@@ -93,7 +88,6 @@ export default {
descript: datas.descript,
serviceRequestSpcs: specificationData,
};
this.detailData = [
{
name: "获取流程",
......@@ -136,6 +130,13 @@ export default {
},
}, */
];
if (datas.workflows_id) {
this.detailData.push({
name: "流程详情",
type: "workflows",
value: datas.workflows_id,
});
}
this.specificationData = specificationData;
this.providerData = {
organization_name: datas.organization_name,
......@@ -150,7 +151,7 @@ export default {
});
},
},
mounted() {
created() {
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 {
this.step2Loading = false;
},
step2Action() {
if (this.step2Loading) {
return;
}
this.$refs.deploy_info_form.validate((valid) => {
if (valid) {
this.step2Loading = true;
......@@ -612,6 +616,10 @@ export default {
this.image_info.file = "";
},
addImage() {
if (this.addImageLoading) {
return;
}
this.$refs.image_info_form.validate((valid) => {
if (valid) {
this.addImageLoading = true;
......
......@@ -39,7 +39,12 @@ export default {
},
},
mounted() {
window.addEventListener('message',event =>{
this.$nextTick(() => {
window.addEventListener('message',this.postmassageevt);
})
},
methods: {
postmassageevt(event){
let data = event.data;
// App Builder发布服务
if (data.cmd == 'appbuildermsg'){
......@@ -47,9 +52,11 @@ export default {
this.$store.commit("setAppBuilderParams", data.params);
this.$router.push(`/fwzc/fwcs?map=4`);
}
})
}
},
methods: {},
destroyed () {
window.removeEventListener('message',this.postmassageevt);
}
};
</script>
......
......@@ -32,19 +32,37 @@ export default {
},
mounted() {
this.$nextTick(() => {
window.addEventListener('message',event =>{
window.addEventListener('message',this.postmassageevt)
})
},
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')
}
})
})
}
},
methods: {},
destroyed () {
// window.removeEventListener('message')
window.removeEventListener('message',this.postmassageevt)
}
};
......
......@@ -29,10 +29,6 @@ export default {
name: "流程监控",
path: `/progress/monitoring`,
},
{
name: "流程设计",
path: `/progress/designs`,
}
],
navList: [],
}),
......
......@@ -231,15 +231,15 @@ export default {
info: ""
},
{
title: "场景描述",
title: "业务系统名称",
info: ""
},
{
title: "调用业务系统",
title: "业务系统访问地址",
info: ""
},
{
title: "业务系统域名",
title: "场景描述",
info: ""
},
{
......@@ -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[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[3], "info", data.descript);
this.$set(this.list_arr[4], "info", data.service_apply_info.business_name);
this.$set(this.list_arr[5], "info", data.service_apply_info.business_url);
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_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], "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[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
if(data.service_apply_info.approval_status!==0){
this.servicead_arr[this.now_user].splice(1,1)
......@@ -384,7 +384,7 @@ export default {
},
{
title:'审批单位:',
info:e.user_info.department_name
info:e.user_info.department_name?e.user_info.department_name:''
},
{
title:'审批人:',
......
......@@ -106,7 +106,7 @@
:title="dialogInfo.title"
:msg="dialogInfo.msg"
:submit="dialogInfo.submit"
:sunbmitText="dialogInfo.sunbmitText"
:sunbmit-text="dialogInfo.sunbmitText"
></apass-dialog>
<allot-info-confirm
......@@ -148,6 +148,7 @@ export default {
title: "",
msg: "",
submit: null,
sunbmitText: "",
},
listUrl: "",
deleteUrl: "",
......@@ -1064,8 +1065,7 @@ export default {
callback(item) {
if (item.state == 0) {
return null; // 已下架,上架的操作需要普通用户申请
} else
if (item.state == 1) {
} else if (item.state == 1) {
return _self.soldOutItem(item); // 已上架,超管用户可以直接下架
} else if (item.state == 2) {
return _self.soldUpItem(item); // 上架审核中,超管用户可以直接上架
......@@ -1398,7 +1398,6 @@ export default {
applyForSoldUpItem(item) {
this.dialogInfo.title = "提示";
this.dialogInfo.msg = "确认申请上架此服务吗?";
this.dialogInfo.cancelText = "取消";
this.dialogInfo.sunbmitText = "发送通知";
this.dialogInfo.submit = () => {
this.$http
......@@ -1433,7 +1432,6 @@ export default {
this.dialogInfo.title = "是否确定下架服务";
this.dialogInfo.msg =
"下架此服务会导致用户被迫暂停对服务的调用,下架前需向超级管理员发送通知,超级管理员通过后此服务将会从服务超市中下架。";
this.dialogInfo.cancelText = "取消";
this.dialogInfo.sunbmitText = "发送通知";
this.dialogInfo.submit = () => {
this.$http
......@@ -1467,7 +1465,6 @@ export default {
soldUpItem(item) {
this.dialogInfo.title = "提示";
this.dialogInfo.msg = "确认上架此服务吗?";
this.dialogInfo.cancelText = "";
this.dialogInfo.sunbmitText = "确定";
this.dialogInfo.submit = () => {
this.$http
......@@ -1501,7 +1498,6 @@ export default {
this.dialogInfo.title = "提示";
this.dialogInfo.msg =
"下架此服务会导致调用该服务的<br />用户被迫暂停对服务的调用";
this.dialogInfo.cancelText = "";
this.dialogInfo.sunbmitText = "确定";
this.dialogInfo.submit = () => {
this.$http
......@@ -1534,7 +1530,6 @@ export default {
deleteItem(item) {
this.dialogInfo.title = "";
this.dialogInfo.msg = "是否删除该条服务?";
this.dialogInfo.cancelText = "";
this.dialogInfo.sunbmitText = "";
this.dialogInfo.submit = () => {
this.$http
......
This diff is collapsed.
......@@ -311,7 +311,7 @@ export default {
if(reg.test(this.maxline)){
}else{
this.$message.error('请输入长度小于6的正整数')
this.$message.error('请输入6位内的正整数')
return
}
}else{
......@@ -327,7 +327,7 @@ export default {
if(reg.test(this.maxline1)){
}else{
this.$message.error('请输入长度小于6的正整数')
this.$message.error('请输入6位内的正整数')
return
}
}
......@@ -338,7 +338,7 @@ export default {
if(reg.test(this.maxline1)){
}else{
this.$message.error('请输入长度小于6的正整数')
this.$message.error('请输入6位内的正整数')
return
}
}
......
......@@ -5,6 +5,11 @@
<el-breadcrumb-item :to="{ path: '/intelligent_drawing' }">智能制图</el-breadcrumb-item>
<el-breadcrumb-item>发布信息填写</el-breadcrumb-item>
</el-breadcrumb>
<el-breadcrumb v-else-if="process_id != ''" separator="/" class="bread_crumb">
<el-breadcrumb-item :to="{ path: '/workplace' }">在线组件工具</el-breadcrumb-item>
<el-breadcrumb-item :to="{ path: '/progress/designer' }">流程设计</el-breadcrumb-item>
<el-breadcrumb-item>发布信息填写</el-breadcrumb-item>
</el-breadcrumb>
<el-breadcrumb v-else separator="/" class="bread_crumb">
<el-breadcrumb-item :to="{ path: '/fwzc' }">服务注册</el-breadcrumb-item>
<el-breadcrumb-item v-if="!jcxxtx">服务测试</el-breadcrumb-item>
......@@ -355,10 +360,7 @@
</block-radius>
</div>
<div style="display: none">
<iframe
id="listener"
:src="addPortalItemUrl"
></iframe>
<iframe id="listener" :src="addPortalItemUrl"></iframe>
</div>
<apass-dialog
ref="alertChange"
......@@ -388,7 +390,8 @@ export default {
},
data() {
return {
addPortalItemUrl: gisServiceUrl + '/portal/apaasplat/viewer/addPortalItem.html',
addPortalItemUrl:
gisServiceUrl + "/portal/apaasplat/viewer/addPortalItem.html",
btnList: [],
activeBtn: null,
serviceUrl: "",
......@@ -543,6 +546,7 @@ export default {
requestRules: 0,
responseRules: 0,
is_map: 0,
process_id: "",
param_fields: [],
body_fields: [],
dialogInfo: {
......@@ -552,6 +556,7 @@ export default {
},
is_portal: false,
portal_id: "",
dataType: "",
};
},
computed: {},
......@@ -687,12 +692,14 @@ export default {
this.$api.workbench.fwzcFwcs(query).then((response) => {
if (response.data.success == 1) {
let data = response.data.data;
this.body_fields = data.body_fields;
this.param_fields = data.param_fields;
if (data.body_fields && data.body_fields.length != 0) {
this.datasQqcs = data.body_fields;
this.param_fields = data.param_fields;
this.dataType = "body";
} else {
this.datasQqcs = data.param_fields;
this.body_fields = [];
this.dataType = "param";
}
this.datasFhcs = data.response_fields;
this.resSuccess = true;
......@@ -886,9 +893,13 @@ export default {
method: this.select,
url: this.serviceUrl,
request_fields:
this.body_fields.length == 0 ? [] : this.request_fields,
this.dataType == "body"
? this.request_fields
: this.body_fields,
request_query_fields:
this.param_fields.length == 0 ? [] : this.request_fields,
this.dataType == "param"
? this.request_fields
: this.param_fields,
response_fields: this.response_fields,
content_type: contentType,
portal_id: this.portal_id,
......@@ -998,6 +1009,11 @@ export default {
self.is_portal = true;
}
this.getOrganization();
} else if (self.$route.query.process) {
self.process_id = self.$route.query.process;
self.jcxxtx = true;
this.getProcessDetail
this.getOrganization();
} else {
self.is_map = 0;
self.getServiceType1();
......@@ -1040,7 +1056,6 @@ export default {
);
},
listeners(event) {
console.log(event);
let self = this;
if (event && event.origin == gisServiceUrl && event.data) {
if (event.data.cmd == "getPortalItemInfo") {
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -80,7 +80,7 @@ export default {
option:[
{ required: true, message: '请输入意见', trigger: 'blur' },
{
min: 10, message: '长度应大于10个字符', trigger: 'blur'
min: 10,max:200, message: '长度应大于10个小于200个字符', trigger: 'blur'
}
]
},
......
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