Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
apaas-ui
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
gzga-jzapi
apaas-ui
Commits
aa349cdd
Commit
aa349cdd
authored
Aug 11, 2020
by
张俊
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
https://cloud.wodcloud.com/git/apaas/apaas-v3-ui
into dev
parents
d1856441
900aa82f
Changes
31
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
1090 additions
and
590 deletions
+1090
-590
src/assets/css/index.css
src/assets/css/index.css
+129
-118
src/assets/i18n/language-zh.js
src/assets/i18n/language-zh.js
+9
-3
src/components/app-build-steps/app-build-step.vue
src/components/app-build-steps/app-build-step.vue
+4
-0
src/components/app-build-steps/app-build-steps.vue
src/components/app-build-steps/app-build-steps.vue
+6
-1
src/components/general/upload_file.vue
src/components/general/upload_file.vue
+5
-0
src/components/message-steps/select-service.vue
src/components/message-steps/select-service.vue
+9
-1
src/components/message-steps/select-template.vue
src/components/message-steps/select-template.vue
+4
-0
src/components/order-list/order-list-com.vue
src/components/order-list/order-list-com.vue
+19
-5
src/components/service-info/app-info.vue
src/components/service-info/app-info.vue
+6
-10
src/components/service-info/service-info.vue
src/components/service-info/service-info.vue
+12
-3
src/components/service-tabs/service-tab-detail.vue
src/components/service-tabs/service-tab-detail.vue
+1
-0
src/components/service-tabs/service-tabs.vue
src/components/service-tabs/service-tabs.vue
+1
-0
src/components/shopping-cart/shopping-cart-cell.vue
src/components/shopping-cart/shopping-cart-cell.vue
+47
-25
src/components/topology.vue
src/components/topology.vue
+89
-79
src/components/work-flow/super-flow.vue
src/components/work-flow/super-flow.vue
+218
-147
src/pages/data-analysis/data-analysis.vue
src/pages/data-analysis/data-analysis.vue
+28
-16
src/pages/message-management/banner/banner-detail.vue
src/pages/message-management/banner/banner-detail.vue
+1
-0
src/pages/message-management/banner/banner-list.vue
src/pages/message-management/banner/banner-list.vue
+1
-0
src/pages/message-management/directed-push/directed-push-list.vue
...s/message-management/directed-push/directed-push-list.vue
+1
-0
src/pages/message-management/message-alert/message-alert-list.vue
...s/message-management/message-alert/message-alert-list.vue
+1
-0
src/pages/message-management/message-template/message-template-list.vue
...age-management/message-template/message-template-list.vue
+1
-0
src/pages/message-management/recommended/recommended-list.vue
...pages/message-management/recommended/recommended-list.vue
+1
-0
src/pages/service_shop/sjfwDetail.vue
src/pages/service_shop/sjfwDetail.vue
+0
-2
src/pages/workbench/component-center/process-management/designer/index.vue
...ch/component-center/process-management/designer/index.vue
+2
-2
src/pages/workbench/component-center/process-management/index.vue
...s/workbench/component-center/process-management/index.vue
+0
-4
src/pages/workbench/component-center/process-management/process-design/index.vue
...ponent-center/process-management/process-design/index.vue
+204
-13
src/pages/workbench/fwgl/approval_service_detail.vue
src/pages/workbench/fwgl/approval_service_detail.vue
+6
-6
src/pages/workbench/fwgl/serviceDetail.vue
src/pages/workbench/fwgl/serviceDetail.vue
+268
-143
src/pages/workbench/fwzc_fwcs.vue
src/pages/workbench/fwzc_fwcs.vue
+14
-9
src/pages/workbench/workPlace.vue
src/pages/workbench/workPlace.vue
+1
-1
src/router/index.js
src/router/index.js
+2
-2
No files found.
src/assets/css/index.css
View file @
aa349cdd
[
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,56 @@ 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
;
}
.el-dialog__body
{
.el-dialog__body
{
font-size
:
18px
;
color
:
#242c43
;
text-align
:
center
;
...
...
@@ -213,23 +213,22 @@ div{
.el-tabs__item
{
font-size
:
16px
;
color
:
#8890a7
;
line-height
:
24px
!important
;
line-height
:
24px
!important
;
}
.el-tabs__nav-scroll
.el-tabs__item
{
line-height
:
40px
!important
;
line-height
:
40px
!important
;
}
.el-tabs__item
:hover
{
color
:
#687087
;
}
.el-tabs__item.is-active
{
color
:
#e56600
!important
;
}
.el-tabs__active-bar
{
.el-tabs__active-bar
{
height
:
3px
;
background-color
:
#e56600
!important
;
background-color
:
#e56600
!important
;
}
.el-tabs__nav-wrap
::after
{
.el-tabs__nav-wrap
::after
{
height
:
1px
;
background-color
:
#edf0ff
;
}
...
...
@@ -277,51 +276,54 @@ border-radius:8px;
} */
/* 左右布局 */
.flex
{
height
:
100%
;
display
:
-webkit-box
;
/* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */
display
:
-moz-box
;
/* Firefox 17- */
display
:
-webkit-flex
;
/* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */
display
:
-moz-flex
;
/* Firefox 18+ */
display
:
-ms-flexbox
;
/* IE 10 */
display
:
flex
;
/* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */
height
:
100%
;
display
:
-webkit-box
;
/* Chrome 4+, Safari 3.1, iOS Safari 3.2+ */
display
:
-moz-box
;
/* Firefox 17- */
display
:
-webkit-flex
;
/* Chrome 21+, Safari 6.1+, iOS Safari 7+, Opera 15/16 */
display
:
-moz-flex
;
/* Firefox 18+ */
display
:
-ms-flexbox
;
/* IE 10 */
display
:
flex
;
/* Chrome 29+, Firefox 22+, IE 11+, Opera 12.1/17/18, Android 4.4+ */
}
.flex-left
{
width
:
178px
;
background-color
:
#1a2236
;
height
:
100%
;
width
:
178px
;
background-color
:
#1a2236
;
height
:
100%
;
}
.flex-right
{
padding
:
0
20px
20px
;
box-sizing
:
border-box
;
-webkit-box-flex
:
auto
;
-ms-flex
:
auto
;
-webkit-flex
:
auto
;
flex
:
1
;
overflow-y
:
auto
;
padding
:
0
20px
20px
;
box-sizing
:
border-box
;
-webkit-box-flex
:
auto
;
-ms-flex
:
auto
;
-webkit-flex
:
auto
;
flex
:
1
;
overflow-y
:
auto
;
}
.flex-right-box
{
width
:
100%
;
height
:
100%
;
position
:
relative
;
.flex-right-box
{
width
:
100%
;
height
:
100%
;
position
:
relative
;
}
.ces-main
{
position
:
absolute
;
width
:
100%
;
.ces-main
{
position
:
absolute
;
width
:
100%
;
}
.v-modal
{
background
:
#000a2b
!important
;
.v-modal
{
background
:
#000a2b
!important
;
}
.drawer600
{
width
:
600px
!important
;
.drawer600
{
width
:
600px
!important
;
}
.drawer620
{
width
:
620px
!important
;
.drawer620
{
width
:
620px
!important
;
}
.drawer1202
{
width
:
1202px
!important
;
.drawer1202
{
width
:
1202px
!important
;
}
.el-form-item.is-required
:not
(
.is-no-asterisk
)
.el-form-item__label-wrap
>
.el-form-item__label
:before
,
.el-form-item.is-required
:not
(
.is-no-asterisk
)>
.el-form-item__label
:before
{
content
:
""
.el-form-item.is-required
:not
(
.is-no-asterisk
)
.el-form-item__label-wrap
>
.el-form-item__label
:before
,
.el-form-item.is-required
:not
(
.is-no-asterisk
)
>
.el-form-item__label
:before
{
content
:
""
;
}
/* 设置switch的样式 */
.switchStyle1
.el-switch__label
{
...
...
@@ -347,8 +349,8 @@ width: 620px!important;
.switchStyle1.el-switch
.el-switch__core
,
.switchStyle1.el-switch
.el-switch__label
{
width
:
62px
!important
;
height
:
28px
!important
;
border-radius
:
28px
!important
;
height
:
28px
!important
;
border-radius
:
28px
!important
;
}
.switchStyle1
.el-switch__core
{
background
:
#f8f9fd
!important
;
...
...
@@ -372,7 +374,7 @@ width: 620px!important;
right
:
0
;
top
:
2.1px
;
}
.switchStyle1.el-switch.is-checked
.el-switch__core
::after
{
.switchStyle1.el-switch.is-checked
.el-switch__core
::after
{
margin-left
:
-25px
;
}
.switchStyle1
.el-switch__label
*
{
...
...
@@ -412,7 +414,8 @@ width: 620px!important;
.el-input__inner
{
border-radius
:
8px
;
}
.el-input-group__append
,
.el-input-group__prepend
{
.el-input-group__append
,
.el-input-group__prepend
{
border-radius
:
8px
;
}
.el-button
{
...
...
@@ -454,10 +457,10 @@ width: 620px!important;
.el-scrollbar
{
border-radius
:
8px
;
}
.el-popper
[
x-placement
^=
bottom
]
.popper__arrow
::after
{
.el-popper
[
x-placement
^=
"bottom"
]
.popper__arrow
::after
{
border-bottom-color
:
transparent
;
}
.el-popper
[
x-placement
^=
top
]
.popper__arrow
::after
{
.el-popper
[
x-placement
^=
"top"
]
.popper__arrow
::after
{
border-top-color
:
transparent
;
}
/* 单选激活样式 */
...
...
@@ -465,7 +468,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 +511,6 @@ width: 620px!important;
margin
:
0
auto
;
}
/* common */
.apass_breadcrumb
>
.el-breadcrumb
{
padding
:
15px
0
;
...
...
@@ -519,7 +521,10 @@ width: 620px!important;
color
:
#898d9e
;
line-height
:
23px
;
}
.apass_breadcrumb
>
.el-breadcrumb
.el-breadcrumb__item
:last-child
.el-breadcrumb__inner
{
.apass_breadcrumb
>
.el-breadcrumb
.el-breadcrumb__item
:last-child
.el-breadcrumb__inner
{
color
:
#242c43
;
font-weight
:
normal
;
}
...
...
@@ -564,11 +569,11 @@ width: 620px!important;
.apaas_button
.el-button.is-disabled
,
.apaas_button
.el-button.is-disabled
:focus
,
.apaas_button
.el-button.is-disabled
:hover
{
color
:
#
C0C4CC
;
color
:
#
c0c4cc
;
cursor
:
not-allowed
;
background-image
:
none
;
background-color
:
#
FFF
;
border-color
:
#
EBEEF
5
;
background-color
:
#
fff
;
border-color
:
#
ebeef
5
;
}
.apass_table
.el-table
th
>
.cell
{
...
...
@@ -831,4 +836,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 */
src/assets/i18n/language-zh.js
View file @
aa349cdd
...
...
@@ -22,9 +22,9 @@ export const lang = {
cloud_resources_detail
:
"
云资源详情
"
,
// data analysis
data_analysis
:
"
数据分析
中心
"
,
my_service_data_analysis
:
"
我的服务数据
分析
"
,
my_application_data_analysis
:
"
我的应用数据
分析
"
,
data_analysis
:
"
运营管控
中心
"
,
my_service_data_analysis
:
"
服务
分析
"
,
my_application_data_analysis
:
"
应用
分析
"
,
// message
message
:
"
消息与推送管理
"
,
...
...
@@ -33,4 +33,10 @@ export const lang = {
message_alert
:
"
消息提醒管理
"
,
banner
:
"
banner管理
"
,
message_template
:
"
消息模板管理
"
,
//online component tool
online_component_tool
:
"
在线组件中心
"
,
process_design
:
"
流程设计
"
,
process_management
:
"
流程管理
"
,
new
:
"
新建
"
}
\ No newline at end of file
src/components/app-build-steps/app-build-step.vue
View file @
aa349cdd
...
...
@@ -20,6 +20,10 @@ export default {
type
:
String
,
default
:
()
=>
""
,
},
stepTitle
:
{
type
:
String
,
default
:
""
,
},
},
data
:
()
=>
({}),
computed
:
{
...
...
src/components/app-build-steps/app-build-steps.vue
View file @
aa349cdd
...
...
@@ -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>
...
...
src/components/general/upload_file.vue
View file @
aa349cdd
...
...
@@ -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
)
{
...
...
src/components/message-steps/select-service.vue
View file @
aa349cdd
...
...
@@ -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
;
}
});
},
...
...
src/components/message-steps/select-template.vue
View file @
aa349cdd
...
...
@@ -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
)
{
...
...
src/components/order-list/order-list-com.vue
View file @
aa349cdd
...
...
@@ -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-butto
n>
>
{{
item
.
name
}}
</
spa
n>
</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
;
...
...
src/components/service-info/app-info.vue
View file @
aa349cdd
...
...
@@ -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
>
src/components/service-info/service-info.vue
View file @
aa349cdd
...
...
@@ -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
:
1
5
px
;
width
:
1
9
px
;
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
>
src/components/service-tabs/service-tab-detail.vue
View file @
aa349cdd
...
...
@@ -33,6 +33,7 @@
:data=
"item.value.datas"
:tree-props=
"
{ children: 'children', hasChildren: 'hasChildren' }"
>
<el-table-column
width=
"30"
></el-table-column>
<el-table-column
v-for=
"(v, i) in item.value.columns"
:key=
"'table_column_' + index + '_' + i"
...
...
src/components/service-tabs/service-tabs.vue
View file @
aa349cdd
...
...
@@ -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
;
...
...
src/components/shopping-cart/shopping-cart-cell.vue
View file @
aa349cdd
...
...
@@ -54,7 +54,7 @@
<div
class=
"shopping_cell_specification_edit"
>
<el-popover
placement=
"right-start"
width=
"
28
0"
width=
"
30
0"
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
;
...
...
src/components/topology.vue
View file @
aa349cdd
...
...
@@ -5,9 +5,9 @@
<div
class=
"legend_title"
>
拓扑图图例
</div>
<div
class=
"legend_inner"
>
<div
class=
"legend_in_tit"
>
服务类型
</div>
<div
id=
"nodes"
ref=
"le
nge
dNodes"
class=
"legend_nodes"
></div>
<div
id=
"nodes"
ref=
"le
gen
dNodes"
class=
"legend_nodes"
></div>
<div
class=
"legend_in_tit"
>
调用状态
</div>
<div
id=
"edges"
ref=
"le
nge
dEdges"
class=
"legend_edges"
></div>
<div
id=
"edges"
ref=
"le
gen
dEdges"
class=
"legend_edges"
></div>
</div>
</div>
</div>
...
...
@@ -22,11 +22,18 @@ export default {
default
:
()
=>
{
return
{
nodes
:
[],
edges
:
[]
edges
:
[]
,
};
}
},
namespace
:
String
},
namespace
:
String
,
},
data
:
()
=>
{
return
{
graph
:
null
,
legendNodes
:
null
,
legendEdges
:
null
,
};
},
mounted
()
{},
watch
:
{
...
...
@@ -34,13 +41,13 @@ export default {
this
.
getCavData
();
this
.
getLegendNodes
();
this
.
getLegendEdges
();
}
}
,
},
methods
:
{
// shu ju chu li
getCavData
()
{
let
self
=
this
;
self
.
datas
.
nodes
.
map
(
node
=>
{
self
.
datas
.
nodes
.
map
(
(
node
)
=>
{
node
.
id
=
node
.
data
.
id
;
switch
(
node
.
data
.
svcType
)
{
case
"
数据服务
"
:
...
...
@@ -87,12 +94,12 @@ export default {
fontSize
:
12
,
stroke
:
"
#fffef9
"
,
lineWidth
:
4
,
cursor
:
"
pointer
"
cursor
:
"
pointer
"
,
},
position
:
"
bottom
"
position
:
"
bottom
"
,
};
});
self
.
datas
.
edges
.
map
(
edge
=>
{
self
.
datas
.
edges
.
map
(
(
edge
)
=>
{
edge
.
id
=
edge
.
data
.
id
;
edge
.
source
=
edge
.
data
.
source
;
edge
.
target
=
edge
.
data
.
target
;
...
...
@@ -107,10 +114,10 @@ export default {
lineAppendWidth
:
5
,
endArrow
:
{
path
:
"
M -3,0 L 4,2 L 4,-2 Z
"
,
// 自定义箭头路径
d
:
-
2
// 偏移量
d
:
-
2
,
// 偏移量
},
strokeOpacity
:
1
,
cursor
:
"
pointer
"
cursor
:
"
pointer
"
,
};
if
(
edge
.
data
.
traffic
.
protocol
==
"
tcp
"
)
{
// tcp
...
...
@@ -151,11 +158,12 @@ export default {
self
.
getCav
();
},
getCav
()
{
if
(
this
.
graph
)
this
.
graph
.
destroy
();
const
width
=
this
.
$refs
.
conCav
.
scrollWidth
;
const
height
=
this
.
$refs
.
conCav
.
scrollHeight
||
500
;
let
self
=
this
;
// console.log(self.datas);
const
graph
=
new
G6
.
Graph
({
this
.
graph
=
new
G6
.
Graph
({
container
:
"
container
"
,
width
,
height
,
...
...
@@ -165,78 +173,79 @@ export default {
// 流程图布局
type
:
"
dagre
"
,
rankdir
:
"
LR
"
,
nodesep
:
12
nodesep
:
12
,
},
modes
:
{
default
:
[
"
zoom-canvas
"
,
"
drag-canvas
"
,
"
drag-node
"
]
default
:
[
"
zoom-canvas
"
,
"
drag-canvas
"
,
"
drag-node
"
]
,
},
defaultNode
:
{
color
:
"
#5B8FF9
"
,
style
:
{
lineWidth
:
2
,
fill
:
"
#C6E5FF
"
,
cursor
:
"
pointer
"
cursor
:
"
pointer
"
,
},
labelCfg
:
{
style
:
{
fill
:
"
#f36c21
"
,
fontSize
:
10
fontSize
:
10
,
},
position
:
"
bottom
"
,
},
position
:
"
bottom
"
}
},
defaultEdge
:
{
style
:
{
stroke
:
"
#e2e2e2
"
,
lineWidth
:
1
,
lineAppendWidth
:
6
,
opacity
:
1
opacity
:
1
,
},
labelCfg
:
{
style
:
{
fontSize
:
10
,
stroke
:
"
#fffef9
"
,
fill
:
"
#595959
"
,
lineWidth
:
4
}
}
lineWidth
:
4
,
}
,
}
,
},
nodeStateStyles
:
{
highlight
:
{
opacity
:
1
opacity
:
1
,
},
dark
:
{
opacity
:
0.2
}
opacity
:
0.2
,
}
,
},
edgeStateStyles
:
{
highlight
:
{
opacity
:
1
opacity
:
1
,
},
dark
:
{
opacity
:
0.2
opacity
:
0.2
,
},
click
:
{
lineWidth
:
3
}
lineWidth
:
3
,
}
,
},
plugins
:
[]
plugins
:
[]
,
});
// 节点点击
graph
.
on
(
"
node:click
"
,
function
(
e
)
{});
this
.
graph
.
on
(
"
node:click
"
,
function
(
e
)
{});
// 路径点击
graph
.
on
(
"
edge:click
"
,
function
(
e
)
{});
graph
.
on
(
"
node:dblclick
"
,
function
(
e
)
{});
this
.
graph
.
on
(
"
edge:click
"
,
function
(
e
)
{});
this
.
graph
.
on
(
"
node:dblclick
"
,
function
(
e
)
{});
// 点击画布
graph
.
on
(
"
canvas:click
"
,
function
(
e
)
{});
graph
.
data
(
self
.
datas
);
graph
.
render
();
this
.
graph
.
on
(
"
canvas:click
"
,
function
(
e
)
{});
this
.
graph
.
data
(
self
.
datas
);
this
.
graph
.
render
();
},
getLegendNodes
()
{
if
(
this
.
legendNodes
)
this
.
legendNodes
.
destroy
();
// legend. maybe you want use parames to reset it, but i did not do the extension
const
width
=
this
.
$refs
.
le
nge
dNodes
.
scrollWidth
;
const
height
=
this
.
$refs
.
le
nge
dNodes
.
scrollHeight
;
const
legendGraph
=
new
G6
.
Graph
({
const
width
=
this
.
$refs
.
le
gen
dNodes
.
scrollWidth
;
const
height
=
this
.
$refs
.
le
gen
dNodes
.
scrollHeight
;
this
.
legendNodes
=
new
G6
.
Graph
({
container
:
"
nodes
"
,
width
:
width
,
height
:
height
,
...
...
@@ -244,16 +253,16 @@ export default {
style
:
{
fill
:
"
transparent
"
,
// 节点填充色
stroke
:
"
transparent
"
,
// 节点描边色
lineWidth
:
1
// 节点描边粗细
lineWidth
:
1
,
// 节点描边粗细
},
labelCfg
:
{
position
:
"
right
"
,
offset
:
10
,
style
:
{
fill
:
"
#333
"
}
}
}
fill
:
"
#333
"
,
}
,
}
,
}
,
});
const
legendX
=
20
;
const
legendBeginY
=
20
;
...
...
@@ -268,7 +277,7 @@ export default {
type
:
"
image
"
,
img
:
require
(
"
@/assets/svg/topology_ic_shujufw.svg
"
),
size
:
[
15
,
15
],
label
:
"
数据服务
"
label
:
"
数据服务
"
,
},
{
id
:
"
level2
"
,
...
...
@@ -277,7 +286,7 @@ export default {
type
:
"
image
"
,
img
:
require
(
"
@/assets/svg/topology_ic_shikongfw.svg
"
),
size
:
[
15
,
15
],
label
:
"
时空服务
"
label
:
"
时空服务
"
,
},
{
id
:
"
level3
"
,
...
...
@@ -286,7 +295,7 @@ export default {
type
:
"
image
"
,
img
:
require
(
"
@/assets/svg/topology_ic_shipinfw.svg
"
),
size
:
[
15
,
15
],
label
:
"
视频服务
"
label
:
"
视频服务
"
,
},
{
id
:
"
level4
"
,
...
...
@@ -295,7 +304,7 @@ export default {
type
:
"
image
"
,
img
:
require
(
"
@/assets/svg/topology_ic_ganzhifw.svg
"
),
size
:
[
15
,
15
],
label
:
"
感知服务
"
label
:
"
感知服务
"
,
},
{
id
:
"
level5
"
,
...
...
@@ -304,18 +313,19 @@ export default {
type
:
"
image
"
,
img
:
require
(
"
@/assets/svg/topology_ic_zonghefw.svg
"
),
size
:
[
15
,
15
],
label
:
"
综合应用
"
}
]
label
:
"
综合应用
"
,
}
,
]
,
};
legendGraph
.
data
(
legendData
);
legendGraph
.
render
();
this
.
legendNodes
.
data
(
legendData
);
this
.
legendNodes
.
render
();
},
getLegendEdges
()
{
if
(
this
.
legendEdges
)
this
.
legendEdges
.
destroy
();
// legend. maybe you want use parames to reset it, but i did not do the extension
const
width
=
this
.
$refs
.
le
nge
dEdges
.
scrollWidth
;
const
height
=
this
.
$refs
.
le
nge
dEdges
.
scrollHeight
;
const
legendGraph
=
new
G6
.
Graph
({
const
width
=
this
.
$refs
.
le
gen
dEdges
.
scrollWidth
;
const
height
=
this
.
$refs
.
le
gen
dEdges
.
scrollHeight
;
this
.
legendEdges
=
new
G6
.
Graph
({
container
:
"
edges
"
,
width
:
width
,
height
:
height
,
...
...
@@ -323,16 +333,16 @@ export default {
style
:
{
fill
:
"
transparent
"
,
// 节点填充色
stroke
:
"
transparent
"
,
// 节点描边色
lineWidth
:
1
// 节点描边粗细
lineWidth
:
1
,
// 节点描边粗细
},
labelCfg
:
{
position
:
"
right
"
,
offset
:
10
,
style
:
{
fill
:
"
#333
"
}
}
}
fill
:
"
#333
"
,
}
,
}
,
}
,
});
const
legendX
=
10
;
const
legendBeginY
=
20
;
...
...
@@ -345,7 +355,7 @@ export default {
x
:
legendX
,
y
:
legendBeginY
,
type
:
"
circle
"
,
size
:
1
size
:
1
,
},
// line1 point 1
{
...
...
@@ -354,7 +364,7 @@ export default {
y
:
legendBeginY
,
label
:
"
正常
"
,
type
:
"
circle
"
,
size
:
1
size
:
1
,
},
// line2 point 0
{
...
...
@@ -362,7 +372,7 @@ export default {
x
:
legendX
,
y
:
legendBeginY
+
legendYPadding
,
type
:
"
circle
"
,
size
:
1
size
:
1
,
},
// line2 point 1
{
...
...
@@ -371,8 +381,8 @@ export default {
y
:
legendBeginY
+
legendYPadding
,
label
:
"
错误
"
,
type
:
"
circle
"
,
size
:
1
}
size
:
1
,
}
,
],
edges
:
[
{
...
...
@@ -385,10 +395,10 @@ export default {
lineAppendWidth
:
5
,
endArrow
:
{
path
:
"
M -3,0 L 4,2 L 4,-2 Z
"
,
// 自定义箭头路径
d
:
-
2
// 偏移量
d
:
-
2
,
// 偏移量
},
cursor
:
"
pointer
"
,
},
cursor
:
"
pointer
"
}
},
{
id
:
"
line1
"
,
...
...
@@ -400,17 +410,17 @@ export default {
lineAppendWidth
:
5
,
endArrow
:
{
path
:
"
M -3,0 L 4,2 L 4,-2 Z
"
,
// 自定义箭头路径
d
:
-
2
// 偏移量
d
:
-
2
,
// 偏移量
},
cursor
:
"
pointer
"
}
}
]
cursor
:
"
pointer
"
,
}
,
}
,
]
,
};
legendGraph
.
data
(
legendData
);
legendGraph
.
render
();
}
}
this
.
legendEdges
.
data
(
legendData
);
this
.
legendEdges
.
render
();
}
,
}
,
};
</
script
>
...
...
src/components/work-flow/super-flow.vue
View file @
aa349cdd
<
template
>
<div>
<div
class=
"super-flow-demo1"
>
<div
class=
"scale_block"
>
<div
class=
"scale_control"
>
<div
class=
"less"
>
<i
class=
"el-icon-minus"
></i>
</div>
<div
class=
"num"
>
{{
scale_num
}}
%
</div>
<div
class=
"add"
>
<i
class=
"el-icon-plus"
></i>
</div>
</div>
<div
class=
"node-container"
>
<p
class=
"label_head"
>
节点类型
</p>
<p
class=
"label_explanation"
>
请拖拽添加到流程中
</p>
<el-input-number
v-model=
"scale_num"
@
change=
"handleChange"
:step=
"10"
:step-strictly=
"true"
:min=
"50"
:max=
"150"
label=
"描述文字"
></el-input-number>
<span
class=
"node-item"
v-for=
"(item, index) in nodeItemList"
:key=
"index"
@
mousedown=
"evt => nodeItemMouseDown(evt, item.value)"
>
{{
item
.
label
}}
</span>
<div
class=
"node-item"
:class=
"
{'node-item-begin': item.value.meta.type == 0, 'node-item-end': item.value.meta.type == 1, 'node-item-default': item.value.meta.type == 2}"
v-for="(item, index) in nodeItemList"
:key="index"
@mousedown="evt => nodeItemMouseDown(evt, item.value)"
>
<span>
{{
item
.
label
}}
</span>
</div>
</div>
<div
class=
"flow-container"
:class=
"`scale$
{scale_num}`" ref="flowContainer">
<super-flow
ref=
"superFlow"
:node-list=
"nodeList"
:link-list=
"linkList"
:link-menu=
"linkMenu"
:link-base-style=
"linkBaseStyle"
:link-style=
"linkStyle"
:link-desc=
"linkDesc"
:origin=
"origin"
>
<template
v-slot:node=
"
{meta}">
<div
:class=
"
{'flow-node-begin': meta.type == 0, 'flow-node-end': meta.type == 1, 'flow-node-default': meta.type == 2}" :id="meta.id">
<div
@
click=
"clickItem(meta)"
>
{{
meta
.
name
}}
</div>
<div
class=
"flow-container"
ref=
"flowContainer"
>
<super-flow
ref=
"superFlow"
:node-list=
"nodeList"
:link-list=
"linkList"
:link-menu=
"linkMenu"
line-color=
"#c4d8f8"
onLineColor=
"#94a8c8"
:origin=
"origin"
>
<template
v-slot:node=
"
{meta}">
<div
:class=
"
{'flow-node-begin': meta.type == 0, 'flow-node-end': meta.type == 1, 'flow-node-default': meta.type == 2}"
:id="meta.id"
>
<div
class=
"node_span"
@
click=
"clickItem(meta)"
>
{{
meta
.
name
}}
</div>
</div>
</
template
>
</super-flow>
</div>
<div
class=
"flow_options"
>
<p
class=
"options_head"
>
操作
</p>
<div
class=
"options_item"
>
<img
:src=
"require('@/assets/imgs/lcsj_ic_set.png')"
class=
"options_img"
/>
<p
class=
"options_text"
>
常规设置
</p>
</div>
<div
class=
"options_item"
>
<img
:src=
"require('@/assets/imgs/lcsj_ic_chajian.png')"
class=
"options_img"
/>
<p
class=
"options_text"
>
插件设置
</p>
</div>
</div>
</div>
</template>
...
...
@@ -26,7 +62,7 @@
<
script
>
const
drawerType
=
{
node
:
0
,
link
:
1
link
:
1
,
};
export
default
{
data
()
{
...
...
@@ -68,14 +104,14 @@ export default {
}
else
{
this
.
$refs
.
linkSetting
.
clearValidate
();
}
}
}
,
},
linkSetting
:
{
desc
:
""
desc
:
""
,
},
nodeSetting
:
{
name
:
""
,
desc
:
""
desc
:
""
,
},
dragConf
:
{
isDown
:
false
,
...
...
@@ -85,73 +121,57 @@ export default {
clientX
:
0
,
clientY
:
0
,
ele
:
null
,
info
:
null
info
:
null
,
},
nodeItemList
:
[
{
label
:
"
开始
"
,
label
:
"
普通节点
"
,
value
:
{
width
:
120
,
height
:
4
0
,
height
:
4
8
,
meta
:
{
label
:
"
开始开始开始开始开始
"
,
name
:
"
开始开始开始开始开始
"
,
type
:
0
}
}
label
:
"
普通节点
"
,
name
:
"
普通节点
"
,
type
:
2
,
}
,
}
,
},
{
label
:
"
结束
"
,
label
:
"
开始
"
,
value
:
{
width
:
120
,
height
:
4
0
,
height
:
4
8
,
meta
:
{
label
:
"
结束
"
,
name
:
"
结束
"
,
type
:
1
}
}
label
:
"
开始
"
,
name
:
"
开始
"
,
type
:
0
,
}
,
}
,
},
{
label
:
"
普通节点
"
,
label
:
"
结束
"
,
value
:
{
width
:
120
,
height
:
4
0
,
height
:
4
8
,
meta
:
{
label
:
"
普通节点
"
,
name
:
"
普通节点
"
,
type
:
2
}
}
}
label
:
"
结束
"
,
name
:
"
结束
"
,
type
:
1
,
}
,
}
,
}
,
],
linkMenu
:
[
[
{
label
:
"
删除
"
,
selected
:
link
=>
{
selected
:
(
link
)
=>
{
console
.
log
(
link
);
link
.
remove
();
}
},
{
label
:
"
编辑
"
,
selected
:
link
=>
{
this
.
drawerConf
.
open
(
drawerType
.
link
,
link
);
}
}
]
},
],
],
linkBaseStyle
:
{
color
:
"
#666666
"
,
// line 颜色
hover
:
"
#FF0000
"
,
// line hover 的颜色
textColor
:
"
#666666
"
,
// line 描述文字颜色
textHover
:
"
#FF0000
"
,
// line 描述文字 hover 颜色
font
:
"
14px Arial
"
,
// line 描述文字 字体设置 参考 canvas font
dotted
:
false
,
// 是否是虚线
lineDash
:
[
4
,
4
],
// 虚线时生效
background
:
"
rgba(255,255,255,0.6)
"
// 描述文字背景色
}
};
},
mounted
()
{
...
...
@@ -164,12 +184,7 @@ export default {
},
methods
:
{
linkStyle
(
link
)
{
return
{
// hover: '#FF00FF'
};
},
linkDesc
(
link
)
{
return
link
.
meta
?
link
.
meta
.
desc
:
""
;
return
{};
},
docMousemove
({
clientX
,
clientY
})
{
const
conf
=
this
.
dragConf
;
...
...
@@ -191,7 +206,7 @@ export default {
top
,
right
,
bottom
,
left
left
,
}
=
this
.
$refs
.
flowContainer
.
getBoundingClientRect
();
// 判断鼠标是否进入 flow container
if
(
...
...
@@ -217,7 +232,7 @@ export default {
// 添加节点
this
.
$refs
.
superFlow
.
addNode
({
coordinate
,
...
conf
.
info
...
conf
.
info
,
});
conf
.
isMove
=
false
;
}
...
...
@@ -239,7 +254,7 @@ export default {
clientY
:
clientY
,
info
,
ele
,
isDown
:
true
isDown
:
true
,
});
ele
.
style
.
position
=
"
fixed
"
;
ele
.
style
.
margin
=
"
0
"
;
...
...
@@ -253,12 +268,12 @@ export default {
getData
()
{
return
this
.
$refs
.
superFlow
.
toJSON
();
},
handleChange
()
{}
}
handleChange
()
{}
,
}
,
};
</
script
>
<
style
lang=
"less"
>
<
style
lang=
"less"
scoped
>
.link-base-style-form {
.el-form-item {
margin-bottom: 12px;
...
...
@@ -269,117 +284,173 @@ export default {
.super-flow-demo1 {
margin-top: 20px;
width: 100%;
height:
800px
;
background-color: #f
5f5f5
;
@list-width:
20
0px;
height:
100%
;
background-color: #f
ff
;
@list-width:
16
0px;
position: relative;
> .node-container {
width: @list-width;
> .flow-container {
width: 100%;
float: left;
height: 100%;
overflow: hidden;
}
.flow_options {
width: 84px;
height: 244px;
background-color: #f8f9fd;
border-radius: 42px;
position: absolute;
z-index: 2;
left: 0;
height: 400px;
top: 10px;
right: 0;
text-align: center;
.options_head {
color: #242c43;
font-size: 14px;
font-weight: bold;
margin-top: 30px;
}
.options_item {
margin-top: 20px;
cursor: pointer;
color: #242c43;
&:hover {
color: #515fe7;
}
.options_img {
width: 40px;
height: 40px;
}
}
}
}
.node-item {
@node-item-height: 42px;
font-size: 16px;
display: inline-block;
height: @node-item-height + 6;
width: 120px;
margin-top: 18px;
background-color: #ffffff;
border-radius: 10px;
line-height: @node-item-height;
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
cursor: pointer;
user-select: none;
text-align: center;
z-index: 6;
&:hover {
box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.4);
}
&.node-item-begin {
border: solid 3px #25bdb1;
}
&.node-item-end {
border: solid 3px #f78181;
}
&.node-item-default {
border: solid 3px #b4c6f5;
}
}
.scale_block {
position: absolute;
left: 0;
z-index: 2;
top: 5px;
width: 160px;
.scale_control {
width: 130px;
display: flex;
justify-content: space-around;
border-radius: 8px;
border: solid 2px #e3e5ef;
height: 40px;
font-size: 16px;
line-height: 36px;
margin: 0 auto;
color: #8390ee;
.less {
padding: 0 10px;
border-right: solid 2px #e3e5ef;
}
.add {
padding: 0 10px;
border-left: solid 2px #e3e5ef;
}
.num {
color: #58617a;
}
}
.node-container {
width: 160px;
height: 300px;
text-align: center;
background-color: #f8f9fd;
border-radius: 8px;
margin-top: 20px;
.label_head {
font-weight: bold;
font-size: 1
8
px;
font-size: 1
4
px;
text-align: center;
padding: 20px 0;
padding: 20px 0 15px;
color: #242c43;
}
.label_explanation {
font-size: 1
6
px;
font-size: 1
4
px;
text-align: center;
padding-bottom: 5px;
}
color: #8890a7;
}
> .flow-container {
width: 100%;
float: left;
height: 100%;
overflow: hidden;
}
}
</
style
>
<
style
lang=
"less"
>
.super-flow {
.super-flow__node {
box-shadow: none;
border: none;
background-color: transparent;
border-radius: 8px;
font-size: 16px;
&:focus {
box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.8);
background-color: #515fe7;
color: #fff;
}
.flow-node-begin {
width: 100%;
height: 100%;
line-height: 36px;
padding: 0 6px;
font-size: 12px;
/deep/ .node_span {
text-align: center;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.flow-node-begin {
width: 100%;
height: 100%;
line-height: 42px;
padding: 0 6px;
border-radius: 8px;
border: 2px solid #444;
border: solid 3px #109e93;
background-color: #25bdb1;
color: #ffffff;
}
.flow-node-end {
width: 100%;
line-height: 36px;
height: 100%;
line-height: 42px;
padding: 0 6px;
font-size: 12px;
text-align: center;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
border-radius: 8px;
border: 2px solid #f80;
background-color: #f78181;
border: solid 3px #e86262;
color: #ffffff;
}
.flow-node-default {
width: 100%;
line-height: 36px;
height: 100%;
line-height: 42px;
padding: 0 6px;
font-size: 12px;
text-align: center;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
border-radius: 8px;
border:
2px solid #3a9
;
border:
solid 3px #b4c6f5
;
}
}
}
.node-item {
@node-item-height: 30px;
font-size: 14px;
display: inline-block;
height: @node-item-height;
.super-flow__menu-container .super-flow__menu {
width: 120px;
margin-top: 20px;
background-color: #ffffff;
line-height: @node-item-height;
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.3);
cursor: pointer;
user-select: none;
text-align: center;
z-index: 6;
&:hover {
box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.4);
}
}
</
style
>
<
style
scoped
>
.scale60
{
transform
:
scale
(
0.6
,
0.6
);
}
.scale70
{
transform
:
scale
(
0.7
,
0.7
);
}
.scale80
{
transform
:
scale
(
0.8
,
0.8
);
}
.scale90
{
transform
:
scale
(
0.9
,
0.9
);
}
.scale100
{
transform
:
scale
(
1
,
1
);
}
</
style
>
\ No newline at end of file
src/pages/data-analysis/data-analysis.vue
View file @
aa349cdd
<
template
>
<div
class=
"fwgl_container"
>
<side-nav-bar
title=
"
数据分析
中心"
title=
"
运营管控
中心"
imgSrc=
"tool_fuwu"
:nav-list=
"navList"
:title-path=
"navList[0] && navList[0].path"
...
...
@@ -17,50 +17,62 @@ import sideNavBar from "@/components/side-nav-bar";
export
default
{
components
:
{
sideNavBar
sideNavBar
,
},
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`
path
:
`/data_analysis/org_service`
,
},
{
name
:
"
组织应用数据分析
"
,
path
:
`/data_analysis/org_application`
path
:
`/data_analysis/org_application`
,
},
{
name
:
"
运行概况-组织
"
,
path
:
`/data_analysis/operation_overview`
path
:
`/data_analysis/operation_overview`
,
},
{
name
:
"
服务管控-组织
"
,
path
:
`/data_analysis/service_control`
}
path
:
`/data_analysis/service_control`
,
}
,
],
navList
:
[]
userNav1
:
[],
navList
:
[],
}),
watch
:
{
"
$route.fullPath
"
(
path
)
{
this
.
initNavList
();
}
}
,
},
methods
:
{
initNavList
()
{
if
(
this
.
$store
.
state
.
userInfo
.
is_admin
==
3
||
this
.
$store
.
state
.
userInfo
.
is_admin
==
4
)
{
this
.
navList
=
this
.
userNav
;
}
else
if
(
this
.
$store
.
state
.
userInfo
.
is_admin
==
2
)
{
this
.
navList
=
this
.
userNav1
;
}
else
if
(
this
.
$store
.
state
.
userInfo
.
is_admin
==
1
)
{
this
.
navList
=
this
.
userNav2
;
}
},
},
mounted
()
{
this
.
initNavList
();
}
}
,
};
</
script
>
...
...
src/pages/message-management/banner/banner-detail.vue
View file @
aa349cdd
...
...
@@ -93,6 +93,7 @@
@
getNewList=
"getNewList"
ref=
"servicepic"
directory=
"manage"
:disabled=
"disabled"
></upload-file>
</el-form-item>
</el-form>
...
...
src/pages/message-management/banner/banner-list.vue
View file @
aa349cdd
...
...
@@ -2,6 +2,7 @@
<div
class=
"list_container"
>
<apass-list
ref=
"list"
class=
"no_wrap"
:list-header=
"listHeader"
:list-data=
"listData"
:list-total=
"listTotal"
...
...
src/pages/message-management/directed-push/directed-push-list.vue
View file @
aa349cdd
...
...
@@ -2,6 +2,7 @@
<div
class=
"list_container"
>
<apass-list
ref=
"list"
class=
"no_wrap"
:list-header=
"listHeader"
:list-data=
"listData"
:list-total=
"listTotal"
...
...
src/pages/message-management/message-alert/message-alert-list.vue
View file @
aa349cdd
...
...
@@ -2,6 +2,7 @@
<div
class=
"list_container"
>
<apass-list
ref=
"list"
class=
"no_wrap"
:list-header=
"listHeader"
:list-data=
"listData"
:list-total=
"listTotal"
...
...
src/pages/message-management/message-template/message-template-list.vue
View file @
aa349cdd
...
...
@@ -2,6 +2,7 @@
<div
class=
"list_container"
>
<apass-list
ref=
"list"
class=
"no_wrap"
:list-header=
"listHeader"
:list-data=
"listData"
:list-total=
"listTotal"
...
...
src/pages/message-management/recommended/recommended-list.vue
View file @
aa349cdd
...
...
@@ -2,6 +2,7 @@
<div
class=
"list_container"
>
<apass-list
ref=
"list"
class=
"no_wrap"
:list-header=
"listHeader"
:list-data=
"listData"
:list-total=
"listTotal"
...
...
src/pages/service_shop/sjfwDetail.vue
View file @
aa349cdd
...
...
@@ -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
,
},
{
...
...
src/pages/workbench/component-center/process-management/designer/index.vue
View file @
aa349cdd
...
...
@@ -264,10 +264,10 @@ export default {
this
.
copyTempItem
=
null
;
},
addNewProcess
()
{
this
.
$router
.
push
(
"
/progress/design
s
"
);
this
.
$router
.
push
(
"
/progress/design
er/design
"
);
},
// FIXME: 新建流程
editItem
(
item
)
{
this
.
$router
.
push
(
"
/progress/design
s
"
);
this
.
$router
.
push
(
"
/progress/design
er/design
"
);
},
// FIXME: 编辑流程
detailItem
(
item
)
{
this
.
$router
.
push
(
`/progress/designer/detail/
${
item
.
workflows_id
}
`
);
...
...
src/pages/workbench/component-center/process-management/index.vue
View file @
aa349cdd
...
...
@@ -29,10 +29,6 @@ export default {
name
:
"
流程监控
"
,
path
:
`/progress/monitoring`
,
},
{
name
:
"
流程设计
"
,
path
:
`/progress/designs`
,
}
],
navList
:
[],
}),
...
...
src/pages/workbench/component-center/process-management/process-design/index.vue
View file @
aa349cdd
<
template
>
<div
class=
"design_contain"
>
<el-button
@
click=
"getData"
>
获取参数
</el-button>
<WorkFlow
ref=
"workFlow"
/>
<el-breadcrumb
separator=
"/"
class=
"bread_crumb1"
>
<el-breadcrumb-item
:to=
"
{ path: '/workplace' }">
{{
$t
(
"
lang.online_component_tool
"
)
}}
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/progress/designer' }">
{{
$t
(
"
lang.process_design
"
)
}}
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: '/progress/designer' }">
{{
$t
(
"
lang.process_management
"
)
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
$t
(
"
lang.new
"
)
}}
</el-breadcrumb-item>
</el-breadcrumb>
<BlockRadius
class=
"block_item"
>
<steps
:active-step=
"step"
:done=
"done"
:show-done=
"true"
done-title=
"保存成功"
done-sub-title=
"可返回流程管理列表查看该流程,并进行流程的部署和发布。"
class=
"apaas_steps"
>
<step
title=
"基本信息"
:step=
"0"
:active-icon=
"require('@/assets/imgs/progress_ic_xinxitx.png')"
class=
"apaas_step"
>
<div
class=
"step_in"
>
<el-form
:model=
"basic_form"
:rules=
"rules"
ref=
"basicInformation"
class=
"form_left"
>
<el-form-item>
<p
class=
"formname"
>
流程名称:
</p>
<el-input
v-model=
"basic_form.name"
placeholder=
"请输入流程名称"
></el-input>
</el-form-item>
<el-form-item
prop=
"preson"
>
<p
class=
"formname"
>
工作区域:
</p>
<el-select
v-model=
"basic_form.workplace"
@
change=
"changeWorkPlace"
placeholder=
"请选择工作区域"
>
<el-option
v-for=
"item in workplace_list"
:label=
"item"
:value=
"item"
:key=
"item"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"phone"
>
<p
class=
"formname"
>
流程描述:
</p>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 6, maxRows: 10}"
v-model="basic_form.desc"
placeholder="请输入流程描述"
>
</el-input>
</el-form-item>
</el-form>
<div
class=
"btn_footer"
>
<el-button
class=
"cancel"
@
click=
"cancel"
>
取消
</el-button>
<el-button
class=
"next"
@
click=
"next"
>
下一步
</el-button>
</div>
</div>
</step>
<step
title=
"流程设计"
:step=
"1"
:active-icon=
"require('@/assets/imgs/progress_ic_liucheng.png')"
class=
"apaas_step"
>
<div
class=
"step_in"
>
<WorkFlow
ref=
"workFlow"
class=
"work_flow"
/>
<div
class=
"btn_footer"
>
<el-button
class=
"cancel"
@
click=
"cancel"
>
取消
</el-button>
<div>
<el-button
class=
"cancel"
@
click=
"back"
>
上一步
</el-button>
<el-button
class=
"next"
@
click=
"complete"
>
完成
</el-button>
</div>
</div>
</div>
</step>
<step
title
step-title=
"完成"
:step=
"2"
:active-icon=
"require('@/assets/imgs/progress_ic_wancheng.png')"
class=
"apaas_step"
></step>
<template
slot=
"action"
>
<el-button
type=
"primary"
@
click=
"backToList"
>
返回列表
</el-button>
</
template
>
</steps>
</BlockRadius>
</div>
</template>
<
script
>
import
WorkFlow
from
"
@/components/work-flow/super-flow
"
;
import
BlockRadius
from
"
@/components/general/block-radius
"
;
import
Steps
from
"
@/components/app-build-steps/app-build-steps
"
;
import
Step
from
"
@/components/app-build-steps/app-build-step
"
;
export
default
{
components
:
{
WorkFlow
WorkFlow
,
BlockRadius
,
Steps
,
Step
,
},
data
:
()
=>
{
return
{
step
:
0
,
done
:
false
,
basic_form
:
{
name
:
""
,
workplace
:
""
,
desc
:
""
,
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"
请输入流程名称
"
,
trigger
:
"
blur
"
},
{
max
:
16
,
message
:
"
不能超过16个字符
"
,
trigger
:
"
blur
"
},
],
workplace
:
[
{
required
:
true
,
message
:
"
请选择工作区域
"
,
trigger
:
"
blur
"
},
],
desc
:
[
{
required
:
true
,
message
:
"
请输入流程描述
"
,
trigger
:
"
blur
"
},
{
max
:
400
,
message
:
"
不能超过400个字符
"
,
trigger
:
"
blur
"
},
],
},
workplace_list
:
[],
};
},
methods
:
{
getData
()
{
verification
()
{
let
self
=
this
;
let
data
=
self
.
$refs
.
workFlow
.
getData
();
console
.
log
(
data
);
...
...
@@ -23,7 +135,9 @@ export default {
let
end_id
=
""
;
let
start_before
=
0
;
let
end_after
=
0
;
data
.
nodeList
.
forEach
(
item
=>
{
let
in_edge
=
0
;
let
out_edge
=
0
;
data
.
nodeList
.
forEach
((
item
)
=>
{
if
(
item
.
meta
.
type
==
0
)
{
start_num
++
;
start_id
=
item
.
id
;
...
...
@@ -32,41 +146,118 @@ export default {
end_num
++
;
end_id
=
item
.
id
;
}
if
(
data
.
linkList
.
findIndex
((
el
)
=>
{
return
el
.
startId
==
item
.
id
;
})
==
-
1
&&
item
.
id
!=
end_id
)
{
in_edge
++
;
}
else
if
(
data
.
linkList
.
findIndex
((
el
)
=>
{
return
el
.
endId
==
item
.
id
;
})
==
-
1
&&
item
.
id
!=
start_id
)
{
out_edge
++
;
}
});
data
.
linkList
.
forEach
(
item
=>
{
data
.
linkList
.
forEach
(
(
item
)
=>
{
if
(
start_id
==
item
.
endId
)
{
start_before
++
;
}
if
(
end_id
==
item
.
startId
)
{
end_after
++
;
}
});
if
(
start_num
!=
1
||
end_num
!=
1
)
{
this
.
$message
({
message
:
"
开始节点与结束节点均应有且只有一个
"
,
type
:
"
warning
"
type
:
"
warning
"
,
});
}
else
if
(
start_before
!=
0
)
{
this
.
$message
({
message
:
"
开始节点前面不应连接其它节点
"
,
type
:
"
warning
"
type
:
"
warning
"
,
});
}
else
if
(
end_after
!=
0
)
{
this
.
$message
({
message
:
"
结束节点后面不应连接其它节点
"
,
type
:
"
warning
"
type
:
"
warning
"
,
});
}
else
if
(
in_edge
!=
0
||
out_edge
!=
0
)
{
this
.
$message
({
message
:
"
请保证每个节点都被连接
"
,
type
:
"
warning
"
,
});
}
}
}
},
backToList
()
{
this
.
$router
.
push
(
"
/message/directed_push
"
);
},
changeWorkPlace
()
{},
cancel
()
{
this
.
$router
.
go
(
-
1
);
},
next
()
{
this
.
step
++
;
},
back
()
{
this
.
step
--
;
},
complete
()
{
this
.
verification
();
},
},
};
</
script
>
<
style
scoped
>
.design_contain
{
width
:
100%
;
height
:
calc
(
100%
-
20px
);
padding
:
0
20px
;
margin-bottom
:
20px
;
}
.block_item
{
height
:
calc
(
100%
-
56px
);
}
.step_in
{
height
:
100%
;
}
.form_left
{
width
:
55%
;
height
:
calc
(
100%
-
70px
);
}
.btn_footer
{
width
:
calc
(
100%
-
20px
);
height
:
40px
;
padding
:
0
10px
;
display
:
flex
;
justify-content
:
space-between
;
}
.cancel
{
background-color
:
#e3e5ef
;
color
:
#0f2683
;
}
.next
{
background-color
:
#0f2683
;
color
:
#f8f9fd
;
}
.work_flow
{
height
:
calc
(
100%
-
70px
);
}
</
style
>
<
style
>
.block_item
.el-textarea__inner
{
border-radius
:
8px
;
background-color
:
#e3e5ef
;
border
:
solid
1px
#e3e5ef
;
}
.block_item
.el-input__inner
{
background-color
:
#e3e5ef
;
border
:
solid
1px
#e3e5ef
;
}
.block_item
.el-select
{
width
:
100%
;
}
</
style
>
src/pages/workbench/fwgl/approval_service_detail.vue
View file @
aa349cdd
...
...
@@ -231,15 +231,15 @@ export default {
info
:
""
},
{
title
:
"
场景描述
:
"
,
title
:
"
业务系统名称
:
"
,
info
:
""
},
{
title
:
"
调用业务系统
:
"
,
title
:
"
业务系统访问地址
:
"
,
info
:
""
},
{
title
:
"
业务系统域名
:
"
,
title
:
"
场景描述
:
"
,
info
:
""
},
{
...
...
@@ -354,9 +354,9 @@ 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
?
'
月
'
:
'
年
'
));
...
...
src/pages/workbench/fwgl/serviceDetail.vue
View file @
aa349cdd
<
template
>
<div
class=
"detail_contain"
>
<p
class=
"now_page_title"
>
我的服务 /
{{
now_user
==
0
||
now_user
==
4
?
'
注册发布的服务
'
:
now_user
==
1
?
'
组织服务管理
'
:
'
平台服务管理
'
}}
/
我的服务 /
{{
now_user
==
0
||
now_user
==
4
?
"
注册发布的服务
"
:
now_user
==
1
?
"
组织服务管理
"
:
"
平台服务管理
"
}}
/
<span>
服务详情
</span>
</p>
<div
class=
"info_contain"
>
...
...
@@ -16,28 +24,45 @@
:style=
"
now_service == index ?
{ borderBottom: '4px solid #f5ab4c' } : {}
"
>
{{
item
}}
</div>
>
{{
item
}}
</div>
</div>
<div
class=
"type_box_select"
>
<info-list
:list_arr=
"now_service == 0 ? list_arr : servicead_arr"
v-if=
"now_service == 0 || now_service == 1"
>
<table-um
:headers=
"header_arr"
:datas=
"res_data"
:stripe=
"true"
slot=
"zd_table"
></table-um>
<v-apaas-code
:datas=
"code_arr"
slot=
"zd_code"
></v-apaas-code>
<table-um
:headers=
"req_header_arr"
:datas=
"req_data"
:stripe=
"true"
slot=
"req_table"
></table-um>
<v-apaas-code
:datas=
"req_code_arr"
slot=
"req_code"
></v-apaas-code>
<table-um
:headers=
"res_header_arr"
:datas=
"res_data"
:stripe=
"true"
slot=
"res_table"
></table-um>
<v-apaas-code
:datas=
"res_code_arr"
slot=
"res_code"
></v-apaas-code>
</info-list>
<div
v-show=
"now_service == 2"
>
<p
class=
"service_title"
>
<span></span>
服务运行概况
</p>
<p
class=
"service_title"
><span></span>
服务运行概况
</p>
<div
class=
"service_title_card"
>
<nor-card
title=
"服务状态"
class=
"service_card"
>
<template>
<div
style=
"height:115px;padding-top:10px;"
>
<waveIcon
:state=
"yx_state.state"
style=
"margin:10px auto;"
></waveIcon>
<waveIcon
:state=
"yx_state.state"
style=
"margin:10px auto;"
></waveIcon>
<p
style=
"color: #58617a;font-size: 16px;text-align:center;"
>
{{
yx_state
.
state
}}
</p>
>
{{
yx_state
.
state
}}
</p>
</div>
</
template
>
</nor-card>
...
...
@@ -59,7 +84,10 @@
</nor-card>
<nor-card
title=
"资源使用"
class=
"service_card"
>
<
template
>
<div
style=
"height:115px;padding-top:30px;"
class=
"service_num"
>
<div
style=
"height:115px;padding-top:30px;"
class=
"service_num"
>
<p>
{{
yx_state
.
memory
}}
</p>
</div>
</
template
>
...
...
@@ -68,10 +96,11 @@
<nor-card
title=
"服务调用拓扑图"
class=
"service_card_charts"
>
<Topology
:datas=
"datas"
/>
</nor-card>
<p
class=
"service_title"
>
<span></span>
服务调用列表
</p>
<table-um
:headers=
"header_use_arr"
:datas=
"service_use_arr"
></table-um>
<p
class=
"service_title"
><span></span>
服务调用列表
</p>
<table-um
:headers=
"header_use_arr"
:datas=
"service_use_arr"
></table-um>
<list-pagination
:total=
"listTotal"
:page-sizes=
"pageSizes"
...
...
@@ -83,7 +112,11 @@
</div>
<div
v-show=
"now_service == 3"
>
<p
style=
"color: #8890a7;"
>
服务规格:
</p>
<table-um
:stripe=
"true"
:headers=
"service_size_arr"
:datas=
"service_size_data"
></table-um>
<table-um
:stripe=
"true"
:headers=
"service_size_arr"
:datas=
"service_size_data"
></table-um>
<p
style=
"color: #8890a7;"
>
购买方式:
</p>
<p
style=
"color: #242c43;margin:10px 0px;"
>
{{
...
...
@@ -94,8 +127,19 @@
: "按月购买
&
按年购买"
}}
</p>
<div
class=
"editbtn"
v-if=
"now_user == 1"
@
click=
"sizeset_flag = true"
>
编辑
</div>
<p
v-if=
"now_user == 1 && sizeset_flag"
style=
"color: #8890a7;margin-bottom:10px;"
>
规格设置:
</p>
<div
class=
"editbtn"
v-if=
"now_user == 1"
@
click=
"sizeset_flag = true"
>
编辑
</div>
<p
v-if=
"now_user == 1 && sizeset_flag"
style=
"color: #8890a7;margin-bottom:10px;"
>
规格设置:
</p>
<table-um
v-if=
"now_user == 1 && sizeset_flag"
:headers=
"edit_size_arr"
...
...
@@ -108,17 +152,24 @@
:datas=
"service_size_data"
@
changeTable=
"now_size_data"
></table-um>
<p
v-if=
"now_user == 1 && sizeset_flag"
style=
"color: #8890a7;margin:10px 0;"
>
购买方式:
</p>
<p
v-if=
"now_user == 1 && sizeset_flag"
style=
"color: #8890a7;margin:10px 0;"
>
购买方式:
</p>
<el-button
v-if=
"now_user == 1 && sizeset_flag"
:type=
"buy_style.indexOf(1) !== -1 ? 'primary' : ''"
@
click=
"change_buy(1)"
>
按月购买
</el-button>
>
按月购买
</el-button
>
<el-button
v-if=
"now_user == 1 && sizeset_flag"
:type=
"buy_style.indexOf(2) !== -1 ? 'primary' : ''"
@
click=
"change_buy(2)"
>
按年购买
</el-button>
>
按年购买
</el-button
>
<div
class=
"savebtn"
v-if=
"now_user == 1 && sizeset_flag"
>
<el-button
@
click=
"change_service_size"
>
保存
</el-button>
<el-button
@
click=
"sizeset_flag = false"
>
取消
</el-button>
...
...
@@ -153,7 +204,7 @@ export default {
Topology
,
serviceHeader
,
dialogAction
,
ListPagination
ListPagination
,
},
data
()
{
return
{
...
...
@@ -171,142 +222,188 @@ export default {
maxTime
:
""
,
averageTraffic
:
""
,
maxTraffic
:
""
,
memory
:
""
memory
:
""
,
},
service_use_arr
:
[],
res_data
:
[],
//响应参数
buy_type
:
""
,
sizeset_flag
:
false
,
//规格设置是否显示
code_arr
:
""
,
service_arr
:
[
[
"
服务基本信息
"
,
"
接口详细信息
"
,
"
服务运行状态
"
],
[
"
服务基本信息
"
,
"
接口详细信息
"
,
"
服务运行状态
"
,
"
服务计费规则
"
],
[
"
服务基本信息
"
,
"
接口详细信息
"
,
"
服务运行状态
"
,
"
服务规格
"
]
],
service_size_data
:
[],
//服务规格数组
service_header_arr
:
{
id
:
""
,
isMap
:
false
,
url
:
""
,
name
:
""
,
first
:
[
req_header_arr
:
[
{
name
:
"
服务类型
"
,
text
:
""
prop
:
"
name
"
,
label
:
"
字段编码
"
,
minWidth
:
"
20%
"
,
align
:
"
left
"
,
},
{
name
:
"
申请次数
"
,
text
:
""
prop
:
"
label
"
,
label
:
"
字段名称
"
,
minWidth
:
"
20%
"
,
align
:
"
center
"
,
},
{
name
:
"
调用次数
"
,
text
:
""
prop
:
"
show_type
"
,
label
:
"
字段类型
"
,
width
:
"
100px
"
,
align
:
"
center
"
,
},
{
name
:
"
服务状态
"
,
text
:
""
}
]
,
second
:
[
prop
:
"
descript
"
,
label
:
"
字段说明
"
,
minWidth
:
"
30%
"
,
align
:
"
left
"
,
},
{
name
:
"
服务接口地址
"
,
text
:
""
}
],
fixed
:
true
,
fixedurl
:
this
.
$route
.
path
.
replace
(
"
servicedetail
"
,
"
serviceedit
"
)
prop
:
"
is_must
"
,
label
:
"
是否必须
"
,
width
:
"
120px
"
,
align
:
"
center
"
,
},
now_service
:
0
,
datas
:
{},
header_arr
:
[
],
// 请求参数-header
req_data
:
[],
// 请求参数
req_code_arr
:
""
,
// 请求示例
res_header_arr
:
[
{
prop
:
"
name
"
,
label
:
"
字段编码
"
,
minWidth
:
"
20%
"
,
align
:
"
left
"
align
:
"
left
"
,
},
{
prop
:
"
label
"
,
label
:
"
字段名称
"
,
minWidth
:
"
20%
"
,
align
:
"
center
"
align
:
"
center
"
,
},
{
prop
:
"
show_type
"
,
label
:
"
字段类型
"
,
width
:
"
100px
"
,
align
:
"
center
"
align
:
"
center
"
,
},
{
prop
:
"
descript
"
,
label
:
"
字段说明
"
,
minWidth
:
"
30%
"
,
align
:
"
left
"
align
:
"
left
"
,
},
{
prop
:
"
example
"
,
label
:
"
字段示例数值
"
,
width
:
"
120px
"
,
align
:
"
left
"
}
align
:
"
center
"
,
},
],
// 响应参数-header
res_data
:
[],
// 响应参数
res_code_arr
:
""
,
// 响应示例
buy_type
:
""
,
sizeset_flag
:
false
,
//规格设置是否显示
service_arr
:
[
[
"
服务基本信息
"
,
"
接口详细信息
"
,
"
服务运行状态
"
],
[
"
服务基本信息
"
,
"
接口详细信息
"
,
"
服务运行状态
"
,
"
服务计费规则
"
],
[
"
服务基本信息
"
,
"
接口详细信息
"
,
"
服务运行状态
"
,
"
服务规格
"
],
],
service_size_data
:
[],
//服务规格数组
service_header_arr
:
{
id
:
""
,
isMap
:
false
,
url
:
""
,
name
:
""
,
first
:
[
{
name
:
"
服务类型
"
,
text
:
""
,
},
{
name
:
"
申请次数
"
,
text
:
""
,
},
{
name
:
"
调用次数
"
,
text
:
""
,
},
{
name
:
"
服务状态
"
,
text
:
""
,
},
],
second
:
[
{
name
:
"
服务接口地址
"
,
text
:
""
,
},
],
fixed
:
true
,
fixedurl
:
this
.
$route
.
path
.
replace
(
"
servicedetail
"
,
"
serviceedit
"
),
},
now_service
:
0
,
datas
:
{},
header_use_arr
:
[
{
prop
:
"
dydw
"
,
label
:
"
调用单位
"
,
minWidth
:
"
20%
"
,
align
:
"
left
"
align
:
"
left
"
,
},
{
prop
:
"
dyr
"
,
label
:
"
调用人
"
,
width
:
"
100px
"
,
align
:
"
center
"
align
:
"
center
"
,
},
{
prop
:
"
dyyw
"
,
label
:
"
调用业务系统
"
,
minWidth
:
"
20%
"
,
align
:
"
left
"
align
:
"
left
"
,
},
{
prop
:
"
ywxt
"
,
label
:
"
业务系统网址
"
,
minWidth
:
"
20%
"
,
align
:
"
left
"
align
:
"
left
"
,
},
{
prop
:
"
cjms
"
,
label
:
"
场景描述
"
,
minWidth
:
"
40%
"
,
align
:
"
left
"
align
:
"
left
"
,
},
{
prop
:
"
sqgg
"
,
label
:
"
申请规格
"
,
minWidth
:
"
40%
"
,
align
:
"
center
"
,
},
{
prop
:
"
sqsc
"
,
label
:
"
申请时长
"
,
minWidth
:
"
40%
"
,
align
:
"
center
"
,
},
{
prop
:
"
sqsj
"
,
label
:
"
申请调用时间
"
,
width
:
"
160px
"
,
align
:
"
right
"
}
align
:
"
right
"
,
}
,
],
service_size_arr
:
[
{
prop
:
"
count
"
,
label
:
"
访问次数(次/日)
"
,
minWidth
:
"
33.33%
"
,
align
:
"
center
"
align
:
"
center
"
,
},
{
prop
:
"
pv
"
,
label
:
"
访问量(PV/日)
"
,
minWidth
:
"
33.33%
"
,
align
:
"
center
"
align
:
"
center
"
,
},
{
prop
:
"
des
"
,
label
:
"
规格说明
"
,
minWidth
:
"
33.33%
"
,
align
:
"
left
"
}
align
:
"
left
"
,
}
,
],
edit_size_arr
:
[
{
...
...
@@ -314,21 +411,21 @@ export default {
label
:
"
访问次数(次/日)
"
,
minWidth
:
"
33.33%
"
,
align
:
"
center
"
,
type
:
"
inputNumber
"
type
:
"
inputNumber
"
,
},
{
prop
:
"
pv
"
,
label
:
"
访问量(PV/日)
"
,
minWidth
:
"
33.33%
"
,
align
:
"
center
"
,
type
:
"
inputNumber
"
type
:
"
inputNumber
"
,
},
{
prop
:
"
des
"
,
label
:
"
规格说明
"
,
minWidth
:
"
33.33%
"
,
align
:
"
left
"
,
type
:
"
input
"
type
:
"
input
"
,
},
{
label
:
"
操作
"
,
...
...
@@ -339,48 +436,52 @@ export default {
{
type
:
"
action-delete
"
,
label
:
"
删除
"
,
local
:
true
}
]
}
local
:
true
,
}
,
]
,
}
,
],
size_arr_down
:
[],
servicead_arr
:
[
{
title
:
"
请求方式:
"
,
info
:
""
info
:
""
,
},
{
title
:
"
请求参数:
"
,
info
:
""
info
:
""
,
type
:
"
solt
"
,
solt_name
:
"
req_table
"
,
},
{
title
:
"
请求示例:
"
,
info
:
""
info
:
""
,
type
:
"
solt
"
,
solt_name
:
"
req_code
"
,
},
{
title
:
"
编码格式:
"
,
info
:
""
info
:
""
,
},
{
title
:
"
响应参数:
"
,
info
:
""
,
type
:
"
solt
"
,
solt_name
:
"
zd_table
"
solt_name
:
"
res_table
"
,
},
{
title
:
"
响应示例:
"
,
info
:
""
,
type
:
"
solt
"
,
solt_name
:
"
zd_code
"
}
solt_name
:
"
res_code
"
,
}
,
],
service_type_arr
:
[
"
数据服务
"
,
"
时空服务
"
,
"
视频服务
"
,
"
感知服务
"
,
"
综合应用
"
"
综合应用
"
,
],
scrvice_area_arr
:
[
"
经济建设
"
,
...
...
@@ -392,49 +493,49 @@ export default {
"
文化休闲
"
,
"
社会团体
"
,
"
教育机构
"
,
"
其他
"
"
其他
"
,
],
open_arr
:
[
"
共享
"
,
"
受限
"
,
"
敏感
"
],
service_state_arr
:
[
"
已下架
"
,
"
已上架
"
,
"
审核中
"
,
"
审核中
"
],
service_state_arr
:
[
"
已下架
"
,
"
已上架
"
,
"
审核中
"
,
"
审核中
"
],
request_arr
:
[
"
GET
"
,
"
POST
"
,
"
PUT
"
,
"
DELETE
"
],
list_arr
:
[
{
title
:
"
服务描述:
"
,
info
:
""
info
:
""
,
},
{
title
:
"
服务领域:
"
,
info
:
""
info
:
""
,
},
{
title
:
"
所属组织:
"
,
info
:
""
info
:
""
,
},
{
title
:
"
开放程度:
"
,
info
:
""
info
:
""
,
},
{
title
:
"
接口编码:
"
,
info
:
""
info
:
""
,
},
{
title
:
"
注册发布时间:
"
,
info
:
""
}
]
info
:
""
,
}
,
]
,
};
},
computed
:
{
...
mapGetters
([
"
level
"
]),
...
mapState
([
"
userInfo
"
])
...
mapState
([
"
userInfo
"
])
,
},
watch
:
{
now_service
(
n
,
o
)
{
if
(
n
==
2
)
{
this
.
getData
();
}
}
}
,
},
created
()
{
if
(
this
.
userInfo
)
{
...
...
@@ -463,18 +564,24 @@ export default {
.
get
(
`/apaas/service/v3/service/manager/service/applys?service_id=
${
this
.
$route
.
params
.
id
}
&page=
${
this
.
currentPage
}
&size=
${
this
.
pageSize
}
`
)
.
then
(
response
=>
{
.
then
(
(
response
)
=>
{
console
.
log
(
response
);
if
(
response
.
data
.
success
)
{
this
.
listTotal
=
response
.
data
.
data
.
total
;
response
.
data
.
data
.
data
.
forEach
(
e
=>
{
let
data
=
response
.
data
.
data
.
data
||
[];
data
.
forEach
((
e
)
=>
{
this
.
service_use_arr
.
push
({
dydw
:
e
.
apply_org_name
,
dyr
:
e
.
apply_user_info
.
user_name
,
dyyw
:
e
.
business_name
,
ywxt
:
e
.
business_url
,
cjms
:
e
.
scene
,
sqsj
:
e
.
apply_time
.
split
(
'
+
'
)[
0
].
replace
(
'
T
'
,
'
'
)
sqsj
:
e
.
apply_time
.
split
(
"
+
"
)[
0
].
replace
(
"
T
"
,
"
"
),
sqgg
:
e
.
request_spcs
?
`访问次数:
${
e
.
request_spcs
.
count
}
/日 访问量:
${
e
.
request_spcs
.
pv
}
/日`
:
""
,
sqsc
:
e
.
duration
+
[
""
,
"
个月
"
,
"
年
"
][
e
.
duration_unit
||
0
],
});
});
}
...
...
@@ -503,7 +610,7 @@ export default {
});
},
getData
()
{
this
.
$api
.
workbench
.
getServiceTopology
().
then
(
response
=>
{
this
.
$api
.
workbench
.
getServiceTopology
().
then
(
(
response
)
=>
{
this
.
datas
=
response
.
data
.
elements
;
});
},
...
...
@@ -513,11 +620,15 @@ export default {
"
/apaas/service/v3/service/manager?service_id=
"
+
this
.
$route
.
params
.
id
)
.
then
(
response
=>
{
.
then
(
(
response
)
=>
{
if
(
response
.
data
.
success
===
1
)
{
let
data
=
response
.
data
.
data
;
this
.
$set
(
this
.
service_header_arr
,
"
portal_id
"
,
data
.
portal_id
);
// 时空服务id
this
.
$set
(
this
.
service_header_arr
,
"
isMap
"
,
data
.
data_service_type1
===
6
);
this
.
$set
(
this
.
service_header_arr
,
"
isMap
"
,
data
.
data_service_type1
===
6
);
this
.
$set
(
this
.
service_header_arr
,
"
name
"
,
data
.
name
);
this
.
$set
(
this
.
service_header_arr
[
"
first
"
][
0
],
...
...
@@ -545,12 +656,8 @@ export default {
data
.
req_url
);
this
.
$set
(
this
.
service_header_arr
,
"
url
"
,
data
.
cover
);
if
(
this
.
now_user
==
1
){
this
.
$set
(
this
.
service_header_arr
,
"
fixed
"
,
false
);
if
(
this
.
now_user
==
1
)
{
this
.
$set
(
this
.
service_header_arr
,
"
fixed
"
,
false
);
}
this
.
$set
(
this
.
service_header_arr
,
...
...
@@ -567,20 +674,37 @@ export default {
"
info
"
,
data
.
create_time
.
replace
(
"
T
"
,
"
"
).
split
(
"
+
"
)[
0
]
);
// 接口详情信息
this
.
$set
(
this
.
servicead_arr
[
0
],
"
info
"
,
this
.
request_arr
[
data
.
req_type
-
1
]
);
this
.
$set
(
this
.
servicead_arr
[
1
],
"
info
"
,
data
.
req_query
?
data
.
req_query
:
"
无
"
);
this
.
$set
(
this
.
servicead_arr
[
2
],
"
info
"
,
data
.
req_fields
);
this
.
$set
(
this
.
servicead_arr
[
3
],
"
info
"
,
data
.
encode_method
);
this
.
code_arr
=
data
.
res_fields_example
;
this
.
res_data
=
JSON
.
parse
(
data
.
res_fields
);
);
// 请求方式
this
.
req_data
=
JSON
.
parse
(
data
.
req_fields
||
data
.
req_query
||
"
[]
"
);
// 请求参数
if
(
this
.
req_data
.
length
===
0
)
{
this
.
$set
(
this
.
servicead_arr
[
1
],
"
type
"
,
""
);
this
.
$set
(
this
.
servicead_arr
[
1
],
"
info
"
,
"
无请求参数
"
);
}
this
.
req_code_arr
=
data
.
req_fields_example
||
data
.
req_query_example
||
""
;
// 请求示例
if
(
!
this
.
req_code_arr
)
{
this
.
$set
(
this
.
servicead_arr
[
2
],
"
type
"
,
""
);
this
.
$set
(
this
.
servicead_arr
[
2
],
"
info
"
,
"
无请求示例
"
);
}
this
.
$set
(
this
.
servicead_arr
[
3
],
"
info
"
,
data
.
encode_method
);
// 编码格式
this
.
res_data
=
JSON
.
parse
(
data
.
res_fields
||
"
[]
"
);
// 响应参数
if
(
this
.
res_data
.
length
===
0
)
{
this
.
$set
(
this
.
servicead_arr
[
4
],
"
type
"
,
""
);
this
.
$set
(
this
.
servicead_arr
[
4
],
"
info
"
,
"
无响应参数
"
);
}
this
.
res_code_arr
=
data
.
res_fields_example
||
""
;
// 响应示例
if
(
!
this
.
res_code_arr
)
{
this
.
$set
(
this
.
servicead_arr
[
5
],
"
type
"
,
""
);
this
.
$set
(
this
.
servicead_arr
[
5
],
"
info
"
,
"
无响应示例
"
);
}
// 接口详情信息 end
this
.
service_size_data
=
data
.
request_spcs_info
;
this
.
size_arr_down
=
data
.
request_spcs_info
;
this
.
buy_type
=
data
.
request_spcs_info
[
0
].
type
;
...
...
@@ -592,7 +716,7 @@ export default {
}
else
{
this
.
$message
({
message
:
response
.
data
.
errMsg
,
type
:
"
warning
"
type
:
"
warning
"
,
});
}
})
...
...
@@ -608,7 +732,7 @@ export default {
"
/apaas/service/v3/service/manager/request/spcs/list?service_id=
"
+
this
.
$route
.
params
.
id
)
.
then
(
response
=>
{
.
then
(
(
response
)
=>
{
let
data
=
response
.
data
.
data
;
console
.
log
(
data
);
this
.
service_size_data
=
data
.
data
;
...
...
@@ -623,7 +747,7 @@ export default {
},
change_service_size
()
{
let
temp
=
[];
this
.
size_arr_down
.
forEach
(
e
=>
{
this
.
size_arr_down
.
forEach
(
(
e
)
=>
{
if
(
e
.
pv
&&
e
.
count
)
{
if
(
e
.
flag
)
{
e
.
id
=
0
;
...
...
@@ -646,9 +770,9 @@ export default {
this
.
$http
.
post
(
"
/apaas/service/v3/service/manager/request/spcs/save
"
,
{
service_id
:
parseInt
(
this
.
$route
.
params
.
id
),
data
:
temp
data
:
temp
,
})
.
then
(
response
=>
{
.
then
(
(
response
)
=>
{
console
.
log
(
response
);
if
(
response
.
data
.
success
)
{
this
.
$message
.
success
(
"
保存成功
"
);
...
...
@@ -665,7 +789,7 @@ export default {
.
get
(
`/apaas/istio/service/apaas-proxy/overview/apaas-proxy-
${
this
.
$route
.
params
.
id
}
`
)
.
then
(
response
=>
{
.
then
(
(
response
)
=>
{
if
(
response
.
data
.
success
)
{
let
data
=
response
.
data
.
data
;
this
.
yx_state
=
{
...
...
@@ -674,22 +798,22 @@ export default {
maxTime
:
data
.
respTime
.
max
+
"
ms
"
,
averageTraffic
:
data
.
throughput
.
avg
+
"
dps
"
,
maxTraffic
:
data
.
throughput
.
max
+
"
dps
"
,
memory
:
data
.
resource
.
memory
+
"
MB
"
memory
:
data
.
resource
.
memory
+
"
MB
"
,
};
}
})
.
catch
(
response
=>
{
.
catch
(
(
response
)
=>
{
this
.
yx_state
=
{
state
:
"
停止
"
,
averageTime
:
"
0ms
"
,
maxTime
:
"
0ms
"
,
averageTraffic
:
"
0dps
"
,
maxTraffic
:
"
0dps
"
,
memory
:
"
0MB
"
memory
:
"
0MB
"
,
};
});
}
}
}
,
}
,
};
</
script
>
...
...
@@ -750,8 +874,8 @@ export default {
padding
:
30px
10px
10px
10px
;
width
:
100%
;
}
.type_box_select
>>>
.outlist
.list
p
{
word-wrap
:
break-word
;
.type_box_select
>>>
.outlist
.list
p
{
word-wrap
:
break-word
;
}
.service_title
{
font-size
:
16px
;
...
...
@@ -801,6 +925,7 @@ export default {
.service_card_charts
{
width
:
100%
;
margin-top
:
30px
;
margin-bottom
:
30px
;
}
.editbtn
{
width
:
124px
;
...
...
src/pages/workbench/fwzc_fwcs.vue
View file @
aa349cdd
...
...
@@ -355,10 +355,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 +385,8 @@ export default {
},
data
()
{
return
{
addPortalItemUrl
:
gisServiceUrl
+
'
/portal/apaasplat/viewer/addPortalItem.html
'
,
addPortalItemUrl
:
gisServiceUrl
+
"
/portal/apaasplat/viewer/addPortalItem.html
"
,
btnList
:
[],
activeBtn
:
null
,
serviceUrl
:
""
,
...
...
@@ -552,6 +550,7 @@ export default {
},
is_portal
:
false
,
portal_id
:
""
,
dataType
:
""
,
};
},
computed
:
{},
...
...
@@ -687,12 +686,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 +887,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
,
...
...
src/pages/workbench/workPlace.vue
View file @
aa349cdd
...
...
@@ -998,7 +998,7 @@ export default {
pic
:
require
(
"
@/assets/imgs/home_tool_ic_kshbb.png
"
),
bg
:
"
#fff2e2
"
,
color
:
"
#ea7d19
"
,
url
:
"
/bi
"
,
url
:
"
/bi
/
"
,
target
:
1
},
{
...
...
src/router/index.js
View file @
aa349cdd
...
...
@@ -274,8 +274,8 @@ export default new Router({
component
:
()
=>
import
(
"
@/pages/workbench/component-center/process-management/monitoring/index
"
),
},
// 流程监控
{
path
:
"
/progress/design
s
"
,
name
:
"
process_design
s
"
,
path
:
"
/progress/design
er/design
"
,
name
:
"
process_design
"
,
component
:
()
=>
import
(
"
@/pages/workbench/component-center/process-management/process-design/index
"
),
},
// 流程设计
],
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment