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
10e7603c
Commit
10e7603c
authored
May 11, 2022
by
赵伟庚
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
up 3.0,6
parent
25906d10
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
5796 additions
and
141 deletions
+5796
-141
.beagle.yml
.beagle.yml
+17
-17
src/components/service-info/service-info.vue
src/components/service-info/service-info.vue
+1
-1
src/components/service-list/commodity-card-new.vue
src/components/service-list/commodity-card-new.vue
+3
-3
src/components/service-list/commodity-cell-new.vue
src/components/service-list/commodity-cell-new.vue
+7
-7
src/components/service-list/commodity-list_new.vue
src/components/service-list/commodity-list_new.vue
+123
-0
src/components/service-list/service_list_new.vue
src/components/service-list/service_list_new.vue
+872
-0
src/components/service-list/service_shop_menu_new.vue
src/components/service-list/service_shop_menu_new.vue
+131
-0
src/components/table/table-um.vue
src/components/table/table-um.vue
+23
-1
src/components/topology.vue
src/components/topology.vue
+1
-1
src/pages/message-management/recommended/recommended-eidt.vue
...pages/message-management/recommended/recommended-eidt.vue
+7
-7
src/pages/service_shop/shop_cloud-new.vue
src/pages/service_shop/shop_cloud-new.vue
+1
-1
src/pages/service_shop/shop_list_new.vue
src/pages/service_shop/shop_list_new.vue
+183
-0
src/pages/service_shop/sjfwDetail.vue
src/pages/service_shop/sjfwDetail.vue
+11
-4
src/pages/workbench/component-center/intelligent-drawing/intelligent_fwzc.vue
...component-center/intelligent-drawing/intelligent_fwzc.vue
+3
-3
src/pages/workbench/fwgl/apply_service_detail.vue
src/pages/workbench/fwgl/apply_service_detail.vue
+2
-2
src/pages/workbench/fwgl/approval_service_detail.vue
src/pages/workbench/fwgl/approval_service_detail.vue
+2
-2
src/pages/workbench/fwgl/fwglList.vue
src/pages/workbench/fwgl/fwglList.vue
+12
-12
src/pages/workbench/fwgl/serviceDetail.vue
src/pages/workbench/fwgl/serviceDetail.vue
+2
-2
src/pages/workbench/fwgl/serviceEdit.vue
src/pages/workbench/fwgl/serviceEdit.vue
+2
-2
src/pages/workbench/fwzc_fwcs_new.vue
src/pages/workbench/fwzc_fwcs_new.vue
+2835
-0
src/pages/workbench/product-type/class_edit.vue
src/pages/workbench/product-type/class_edit.vue
+322
-0
src/pages/workbench/product-type/class_list.vue
src/pages/workbench/product-type/class_list.vue
+413
-0
src/pages/workbench/product-type/domain_edit.vue
src/pages/workbench/product-type/domain_edit.vue
+184
-0
src/pages/workbench/product-type/domain_list.vue
src/pages/workbench/product-type/domain_list.vue
+390
-0
src/pages/workbench/product-type/index.vue
src/pages/workbench/product-type/index.vue
+78
-0
src/pages/workbench/yygl/deploy_app_detail.vue
src/pages/workbench/yygl/deploy_app_detail.vue
+4
-4
src/request/api.js
src/request/api.js
+3
-1
src/request/api/product-type.js
src/request/api/product-type.js
+49
-0
src/router/index.js
src/router/index.js
+113
-70
src/store/index.js
src/store/index.js
+2
-1
No files found.
.beagle.yml
View file @
10e7603c
...
@@ -51,7 +51,7 @@ pipeline:
...
@@ -51,7 +51,7 @@ pipeline:
base
:
hub.wodcloud.com/wod/ui-base:2.0-apaasv3
base
:
hub.wodcloud.com/wod/ui-base:2.0-apaasv3
dockerfile
:
.beagle/dockerfile
dockerfile
:
.beagle/dockerfile
repo
:
wod/apaas-ui
repo
:
wod/apaas-ui
version
:
v3.0.
5
version
:
v3.0.
6
channel
:
alpha
channel
:
alpha
args
:
"
TARGETOS=linux,TARGETARCH=amd64"
## 不同架构的构建参数
args
:
"
TARGETOS=linux,TARGETARCH=amd64"
## 不同架构的构建参数
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
...
@@ -70,8 +70,8 @@ pipeline:
...
@@ -70,8 +70,8 @@ pipeline:
dns
:
223.5.5.5
dns
:
223.5.5.5
volumes
:
volumes
:
-
/var/run/docker.sock:/var/run/docker.sock
-
/var/run/docker.sock:/var/run/docker.sock
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-alpha
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-alpha
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
secrets
:
secrets
:
-
source
:
REGISTRY_USER_ALIYUN
-
source
:
REGISTRY_USER_ALIYUN
...
@@ -88,7 +88,7 @@ pipeline:
...
@@ -88,7 +88,7 @@ pipeline:
dns
:
223.5.5.5
dns
:
223.5.5.5
volumes
:
volumes
:
-
/var/run/docker.sock:/var/run/docker.sock
-
/var/run/docker.sock:/var/run/docker.sock
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
secrets
:
secrets
:
...
@@ -108,7 +108,7 @@ pipeline:
...
@@ -108,7 +108,7 @@ pipeline:
base
:
hub.wodcloud.com/wod/ui-base:2.0-apaasv3-arm64
base
:
hub.wodcloud.com/wod/ui-base:2.0-apaasv3-arm64
dockerfile
:
.beagle/dockerfile
dockerfile
:
.beagle/dockerfile
repo
:
wod/apaas-ui
repo
:
wod/apaas-ui
version
:
v3.0.
5
version
:
v3.0.
6
channel
:
alpha-arm64
channel
:
alpha-arm64
args
:
"
TARGETOS=linux,TARGETARCH=arm64"
args
:
"
TARGETOS=linux,TARGETARCH=arm64"
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
...
@@ -127,8 +127,8 @@ pipeline:
...
@@ -127,8 +127,8 @@ pipeline:
dns
:
223.5.5.5
dns
:
223.5.5.5
volumes
:
volumes
:
-
/var/run/docker.sock:/var/run/docker.sock
-
/var/run/docker.sock:/var/run/docker.sock
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-alpha-arm64
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-alpha-arm64
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-arm64
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-arm64
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
secrets
:
secrets
:
-
source
:
REGISTRY_USER_ALIYUN
-
source
:
REGISTRY_USER_ALIYUN
...
@@ -145,7 +145,7 @@ pipeline:
...
@@ -145,7 +145,7 @@ pipeline:
dns
:
223.5.5.5
dns
:
223.5.5.5
volumes
:
volumes
:
-
/var/run/docker.sock:/var/run/docker.sock
-
/var/run/docker.sock:/var/run/docker.sock
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-arm64
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-arm64
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-arm64
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-arm64
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
secrets
:
secrets
:
...
@@ -164,7 +164,7 @@ pipeline:
...
@@ -164,7 +164,7 @@ pipeline:
base
:
hub.wodcloud.com/wod/ui-base:2.0-apaasv3-ppc64le
base
:
hub.wodcloud.com/wod/ui-base:2.0-apaasv3-ppc64le
dockerfile
:
.beagle/dockerfile
dockerfile
:
.beagle/dockerfile
repo
:
wod/apaas-ui
repo
:
wod/apaas-ui
version
:
v3.0.
5
version
:
v3.0.
6
channel
:
alpha-ppc64le
channel
:
alpha-ppc64le
args
:
"
TARGETOS=linux,TARGETARCH=ppc64le"
args
:
"
TARGETOS=linux,TARGETARCH=ppc64le"
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
...
@@ -182,8 +182,8 @@ pipeline:
...
@@ -182,8 +182,8 @@ pipeline:
dns
:
223.5.5.5
dns
:
223.5.5.5
volumes
:
volumes
:
-
/var/run/docker.sock:/var/run/docker.sock
-
/var/run/docker.sock:/var/run/docker.sock
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-alpha-ppc64le
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-alpha-ppc64le
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-ppc64le
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-ppc64le
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
secrets
:
secrets
:
-
source
:
REGISTRY_USER_ALIYUN
-
source
:
REGISTRY_USER_ALIYUN
...
@@ -199,7 +199,7 @@ pipeline:
...
@@ -199,7 +199,7 @@ pipeline:
dns
:
223.5.5.5
dns
:
223.5.5.5
volumes
:
volumes
:
-
/var/run/docker.sock:/var/run/docker.sock
-
/var/run/docker.sock:/var/run/docker.sock
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-ppc64le
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-ppc64le
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-ppc64le
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-ppc64le
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
secrets
:
secrets
:
...
@@ -218,7 +218,7 @@ pipeline:
...
@@ -218,7 +218,7 @@ pipeline:
base
:
hub.wodcloud.com/wod/ui-base:2.0-apaasv3-mips64le
base
:
hub.wodcloud.com/wod/ui-base:2.0-apaasv3-mips64le
dockerfile
:
.beagle/dockerfile
dockerfile
:
.beagle/dockerfile
repo
:
wod/apaas-ui
repo
:
wod/apaas-ui
version
:
v3.0.
5
version
:
v3.0.
6
channel
:
alpha-mips64le
channel
:
alpha-mips64le
args
:
"
TARGETOS=linux,TARGETARCH=mips64le"
args
:
"
TARGETOS=linux,TARGETARCH=mips64le"
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
...
@@ -236,8 +236,8 @@ pipeline:
...
@@ -236,8 +236,8 @@ pipeline:
dns
:
223.5.5.5
dns
:
223.5.5.5
volumes
:
volumes
:
-
/var/run/docker.sock:/var/run/docker.sock
-
/var/run/docker.sock:/var/run/docker.sock
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-alpha-mips64le
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-alpha-mips64le
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-mips64le
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-mips64le
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
secrets
:
secrets
:
-
source
:
REGISTRY_USER_ALIYUN
-
source
:
REGISTRY_USER_ALIYUN
...
@@ -253,7 +253,7 @@ pipeline:
...
@@ -253,7 +253,7 @@ pipeline:
dns
:
223.5.5.5
dns
:
223.5.5.5
volumes
:
volumes
:
-
/var/run/docker.sock:/var/run/docker.sock
-
/var/run/docker.sock:/var/run/docker.sock
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-mips64le
source
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-mips64le
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-mips64le
target
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0-mips64le
registry
:
registry.cn-qingdao.aliyuncs.com
registry
:
registry.cn-qingdao.aliyuncs.com
secrets
:
secrets
:
...
@@ -270,7 +270,7 @@ pipeline:
...
@@ -270,7 +270,7 @@ pipeline:
namespace
:
apaas-v3
namespace
:
apaas-v3
deployment
:
apaas-ui
deployment
:
apaas-ui
container
:
apaas-ui
container
:
apaas-ui
registry
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
5
-alpha
registry
:
registry.cn-qingdao.aliyuncs.com/wod/apaas-ui:v3.0.
6
-alpha
when
:
when
:
branch
:
branch
:
-
dev
-
dev
src/components/service-info/service-info.vue
View file @
10e7603c
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
</el-tooltip>
</el-tooltip>
</td>
</td>
<td>
<td>
服
务领域:
业
务领域:
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"baseInfo.fwly"
placement=
"top-start"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"baseInfo.fwly"
placement=
"top-start"
>
<span>
{{
baseInfo
.
fwly
}}
</span>
<span>
{{
baseInfo
.
fwly
}}
</span>
...
...
src/components/service-list/commodity-card-new.vue
View file @
10e7603c
...
@@ -77,9 +77,9 @@ export default {
...
@@ -77,9 +77,9 @@ export default {
watch
:
{},
watch
:
{},
methods
:
{
methods
:
{
goUrl
(
parame
)
{
goUrl
(
parame
)
{
if
(
this
.
url
!=
""
)
{
//
if (this.url != "") {
this
.
$router
.
push
(
this
.
url
+
"
/
"
+
parame
);
// }
}
this
.
$router
.
push
(
'
/shop/yysdDetail/
'
+
parame
);
},
},
},
},
mounted
()
{},
mounted
()
{},
...
...
src/components/service-list/commodity-cell-new.vue
View file @
10e7603c
<
template
>
<
template
>
<div
class=
"com_cell"
>
<div
class=
"com_cell"
>
<div
class=
"com_cell_up"
@
click=
"goUrl(cellData
.id
)"
>
<div
class=
"com_cell_up"
@
click=
"goUrl(cellData)"
>
<div
class=
"com_cell_up_img_init"
>
<div
class=
"com_cell_up_img_init"
>
<img
:src=
"cellData.cover"
class=
"com_cell_up_img"
/>
<img
:src=
"cellData.cover"
class=
"com_cell_up_img"
/>
</div>
</div>
...
@@ -69,9 +69,9 @@
...
@@ -69,9 +69,9 @@
<el-col
<el-col
:span=
"10"
:span=
"10"
class=
"com_other1"
class=
"com_other1"
:title=
"`$
{cellData.data_service_type1 != 36 ? '
服
务领域:' : '产品领域:'}${cellData.sectors_name}`"
:title=
"`$
{cellData.data_service_type1 != 36 ? '
业
务领域:' : '产品领域:'}${cellData.sectors_name}`"
>
>
<span
class=
"name_title"
>
{{
cellData
.
data_service_type1
!=
36
?
'
服
务领域:
'
:
'
产品领域:
'
}}
</span>
<span
class=
"name_title"
>
{{
cellData
.
data_service_type1
!=
36
?
'
业
务领域:
'
:
'
产品领域:
'
}}
</span>
{{
cellData
.
sectors_name
}}
{{
cellData
.
sectors_name
}}
</el-col>
</el-col>
<el-col
<el-col
...
@@ -119,9 +119,10 @@ export default {
...
@@ -119,9 +119,10 @@ export default {
watch
:
{},
watch
:
{},
methods
:
{
methods
:
{
goUrl
(
parame
)
{
goUrl
(
parame
)
{
if
(
this
.
url
!=
""
)
{
// if (this.url != "") {
this
.
$router
.
push
(
this
.
url
+
"
/
"
+
parame
);
// this.$router.push(this.url + "/" + parame);
}
// }
this
.
$router
.
push
(
"
/shop/sjfwDetail/
"
+
parame
.
id
)
},
},
getTags
(
arr
)
{
getTags
(
arr
)
{
if
(
arr
&&
arr
.
length
!=
0
)
{
if
(
arr
&&
arr
.
length
!=
0
)
{
...
@@ -132,7 +133,6 @@ export default {
...
@@ -132,7 +133,6 @@ export default {
}
}
},
},
},
},
mounted
()
{},
};
};
</
script
>
</
script
>
...
...
src/components/service-list/commodity-list_new.vue
0 → 100644
View file @
10e7603c
<
template
>
<div>
<div
v-if=
"urlFilter == 'app'"
ref=
"commodityList"
class=
"commodity_card"
>
<commodity-card
v-for=
"item in datas"
:key=
"item.id"
:cellData=
"item"
:url=
"url"
></commodity-card>
</div>
<div
v-else
class=
"commodity_cell"
>
<commodity-cell
v-for=
"item in datas"
:cellData=
"item"
:url=
"url"
:key=
"item.id"
:urlFilter=
"urlFilter"
></commodity-cell>
</div>
</div>
</
template
>
<
script
>
import
CommodityCell
from
"
@/components/service-list/commodity-cell-new.vue
"
;
import
CommodityCard
from
"
@/components/service-list/commodity-card-new.vue
"
;
export
default
{
components
:
{
"
commodity-cell
"
:
CommodityCell
,
"
commodity-card
"
:
CommodityCard
,
},
props
:
{
datas
:
{
type
:
Array
,
default
:
()
=>
{
[];
},
},
total
:
{
type
:
Number
,
default
:
0
,
},
url
:
{
type
:
String
,
default
:
""
},
urlFilter
:
{
type
:
String
,
default
:
""
},
},
data
:
()
=>
({
}),
computed
:
{},
methods
:
{
},
mounted
()
{},
watch
:
{
datas
:
{
handler
(
val
)
{},
},
url
:
{
handler
()
{
},
},
},
};
</
script
>
<
style
scoped
>
.com-pagination
{
margin-top
:
20px
;
font-size
:
14px
;
padding
:
0
5%
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
.com_page_num
{
width
:
140px
;
margin-right
:
20px
;
display
:
flex
;
justify-content
:
space-around
;
align-items
:
center
;
}
.com_page_num_sel
{
width
:
50px
;
font-size
:
14px
;
position
:
relative
;
top
:
1px
;
}
.com_page_item
{
display
:
flex
;
justify-content
:
flex-end
;
align-items
:
center
;
}
.commodity_card
{
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
}
.commodity_card_list
{
width
:
100%
;
display
:
flex
;
flex-wrap
:
wrap
;
}
.commodity_card_item
{
margin
:
10px
0
;
}
.commodity_card_item_in
{
margin
:
0
auto
;
}
.commodity_cell
{
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
}
</
style
>
<
style
>
.com_page_control
.el-button
{
border
:
0
;
}
.com_page_num
.el-input__inner
{
border
:
0
;
padding
:
0
;
}
</
style
>
\ No newline at end of file
src/components/service-list/service_list_new.vue
0 → 100644
View file @
10e7603c
<
template
>
<!--
name: page type
url: detail page url
urlFilter: get filter data from this url
author: dixin
This component only for service shop list, so the explanation only look by me
-->
<div>
<div
class=
"head_flex"
>
<el-breadcrumb
separator=
"/"
class=
"bread_crumb1 bread_left"
>
<el-breadcrumb-item
:to=
"
{ path: '/shop' }">
{{
urlFilter
==
'
app
'
?
"
服务超市
"
:
"
服务商店
"
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
name
}}
</el-breadcrumb-item>
</el-breadcrumb>
<div
class=
"input_right"
>
<el-input
v-model=
"search"
prefix-icon=
"el-icon-search"
placeholder=
"请输入关键字搜索服务"
@
input=
"searchVal"
></el-input>
</div>
</div>
<block-radius
:borRadius=
"12"
:paddingNum=
"0"
>
<!-- filter -->
<div
v-if=
"urlFilter"
class=
"classification"
>
<div
v-for=
"(item, index) in filterLists"
:key=
"'cd' + index"
class=
"classification_line"
>
<div
class=
"classification_line_if"
v-if=
"item.childDomains && item.childDomains.length != 0"
>
<div
class=
"classification_line_title"
>
{{
item
.
name
}}
<span
class=
"maohao"
>
:
</span></div>
<!--
<div
:class=
"
index == filterLists.length - 1
? 'classification_line_items'
: 'classification_line_items classification_line_items_border'
"
>
-->
<div
class=
"classification_line_items"
>
<div
:class=
"
openList[index] == 'up'
? 'classification_line_hid'
: 'classification_line_show'
"
>
<ul
:id=
"item.id"
class=
"classification_line_items_ul"
>
<li
class=
"classification_line_items_li"
:key=
"'cda' + index"
>
<div
class=
"classification_span"
>
<span
@
click=
"clickAll(index)"
:class=
"
activeOptions[index].length == 0
? 'classification_act'
: ''
"
>
全部
</span
>
</div>
</li>
<li
v-for=
"(items, indexs) in item.childDomains"
:class=
"
items.childDomains &&
openChildren[index].state == true &&
openChildren[index].index == items.id
? 'classification_line_items_li_act classification_line_items_li'
: 'classification_line_items_li'
"
:key=
"'cds' + indexs"
>
<div
class=
"classification_span"
>
<span
@
click=
"clickItem(index, indexs, items)"
:class=
"
activeOptions[index].indexOf(items.id) != -1
? 'classification_act'
: ''
"
>
{{
items
.
name
}}
</span
>
<!-- if item have children, we will use an arrow to prompt -->
<i
v-if=
"
items.childDomains &&
openChildren[index].state == true &&
openChildren[index].index == items.id
"
@
click=
"clickItemChild(index, indexs, items)"
class=
"el-icon-caret-top"
></i>
<i
v-else-if=
"
items.childDomains &&
openChildren[index].state == false &&
openChildren[index].index == items.id
"
@
click=
"clickItemChild(index, indexs, items)"
class=
"el-icon-caret-bottom"
></i>
<i
v-else-if=
"items.childDomains"
@
click=
"clickItemChild(index, indexs, items)"
class=
"el-icon-caret-bottom"
></i>
</div>
</li>
</ul>
<!-- if the word over the width, we will supply a button for show all word -->
<div
v-if=
"item.showOpen"
class=
"classification_line_items_open"
@
click=
"clickOpen(index)"
>
<span
v-if=
"openList[index] == 'down'"
>
收起
</span>
<span
v-if=
"openList[index] == 'up'"
>
更多
</span>
<i
v-if=
"openList[index] == 'down'"
class=
"el-icon-caret-top"
></i>
<i
v-if=
"openList[index] == 'up'"
class=
"el-icon-caret-bottom"
></i>
</div>
</div>
<!-- filter children -->
<div
v-if=
"openChildren[index].state"
>
<ul
class=
"classification_children_ul"
>
<li
class=
"classification_children_li"
v-for=
"itemChildren in openChildren[index].act"
:key=
"itemChildren.id"
>
<div
class=
"classification_span"
@
click=
"
clickChildren(
itemChildren.id,
index,
openChildren[index].index
)
"
>
<span
:class=
"
activeChildOptions[index].indexOf(itemChildren.id) !=
-1
? 'classification_act'
: ''
"
>
{{
itemChildren
.
name
}}
</span
>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</block-radius>
<!-- filter button -->
<div
class=
"btn_group"
>
<div
v-for=
"(item, index) in buttonFilter"
:key=
"item.name"
size=
"small"
:class=
"
index == activeBtn
? 'button_filter button_filter_act'
: 'button_filter'
"
@
click=
"clickButtonFilter(index)"
>
{{
item
.
name
}}
</div>
<div
class=
"list_total"
>
共
{{
total
}}
条数据
</div>
<!--
<div
v-if=
"urlFilter == 'app'"
class=
"btn_right_check"
>
<el-checkbox
v-model=
"couldTwice"
@
change=
"changeTwice"
>
支持二次开发
</el-checkbox>
</div>
-->
</div>
<!--
<div
class=
"gray_line"
v-if=
"
filterLists[0].childDomains.length != 0 ||
filterLists[1].childDomains.length != 0 ||
filterLists[2].childDomains.length != 0
"
></div>
-->
<!-- the list -->
<div
class=
"shop_list"
>
<commodity-list
ref=
"commodity_list"
:datas=
"lists && lists.length != 0 ? lists : []"
:url=
"url"
:urlFilter=
"urlFilter"
></commodity-list>
</div>
<div
class=
"pagination_box"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"page"
:page-sizes=
"[10, 20, 50]"
:page-size=
"limit"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
>
</el-pagination>
</div>
</div>
</
template
>
<
script
>
import
CommodityList
from
"
@/components/service-list/commodity-list_new.vue
"
;
import
BlockRadius
from
"
@/components/general/block-radius
"
;
export
default
{
components
:
{
"
commodity-list
"
:
CommodityList
,
BlockRadius
,
},
props
:
{
urlFilter
:
{
type
:
String
,
default
:
""
,
},
url
:
{
type
:
String
,
default
:
""
},
name
:
{
type
:
String
,
default
:
""
},
filterNames
:
{
type
:
Array
,
default
:
()
=>
{
[];
},
},
},
data
:
()
=>
({
search
:
""
,
openList
:
[
0
,
0
,
0
,
0
],
openChildren
:
[
{
index
:
null
,
state
:
false
,
act
:
null
},
{
index
:
null
,
state
:
false
,
act
:
null
},
{
index
:
null
,
state
:
false
,
act
:
null
},
{
index
:
null
,
state
:
false
,
act
:
null
},
],
activeOptions
:
[[],
[],
[],
[]],
activeChildOptions
:
[[],
[],
[],
[]],
pageOptions
:
[
{
value
:
"
10
"
,
label
:
"
10
"
,
},
{
value
:
"
20
"
,
label
:
"
20
"
,
},
{
value
:
"
50
"
,
label
:
"
50
"
,
},
],
buttonFilter
:
[
{
name
:
"
综合排序
"
,
},
{
name
:
"
最新更新
"
,
},
{
name
:
"
最高人气
"
,
},
{
name
:
"
最好评价
"
,
},
],
activeBtn
:
0
,
lists
:
[],
total
:
0
,
filterLists
:
[
{
id
:
110
,
name
:
""
,
prop
:
""
,
childDomains
:
[],
},
{
id
:
10
,
name
:
""
,
prop
:
"
serviceTypeInfo
"
,
childDomains
:
[],
},
{
id
:
11
,
name
:
""
,
prop
:
"
serviceDomain
"
,
childDomains
:
[],
},
{
id
:
100
,
name
:
""
,
prop
:
"
organizations
"
,
childDomains
:
[],
},
],
page
:
1
,
limit
:
10
,
couldTwice
:
false
,
refresh_app_1
:
false
,
refresh_app_2
:
false
,
refresh_app_3
:
false
,
time_app
:
null
,
times
:
null
,
isKaiGuan
:
true
,
}),
mounted
()
{
window
.
addEventListener
(
"
resize
"
,
this
.
judgeHeight
);
// window.addEventListener("scroll", this.menu, true);
},
destroyed
()
{
window
.
removeEventListener
(
"
resize
"
,
this
.
judgeHeight
);
// window.removeEventListener("scroll", this.menu, true);
},
watch
:
{
urlFilter
:
{
handler
(
val
)
{
if
(
val
)
{
this
.
openChildren
=
[
{
index
:
null
,
state
:
false
,
act
:
null
},
{
index
:
null
,
state
:
false
,
act
:
null
},
{
index
:
null
,
state
:
false
,
act
:
null
},
{
index
:
null
,
state
:
false
,
act
:
null
},
];
this
.
activeOptions
=
[[],
[],
[],
[]];
this
.
activeChildOptions
=
[[],
[],
[],
[]];
if
(
val
==
"
app
"
)
{
this
.
$set
(
this
.
filterLists
,
0
,
{
id
:
110
,
name
:
"
部署来源
"
,
prop
:
""
,
childDomains
:
[
{
id
:
2
,
name
:
"
平台应用
"
,
prop
:
""
,
childDomains
:
null
,
},
{
id
:
1
,
name
:
"
开发者应用
"
,
prop
:
""
,
childDomains
:
null
,
},
],
});
}
else
{
this
.
$set
(
this
.
filterLists
,
0
,
{
id
:
110
,
name
:
""
,
prop
:
""
,
childDomains
:
[],
});
}
this
.
getShopFilter
();
this
.
getShopList
()
}
},
},
filterNames
:
{
handler
(
val
)
{
for
(
let
i
=
0
;
i
<
val
.
length
;
i
++
)
{
this
.
filterLists
[
i
+
1
].
name
=
val
[
i
];
}
this
.
activeBtn
=
0
;
},
},
},
methods
:
{
// menu() {
// if (this.isKaiGuan) {
// let scroll =
// this.getScrollTop() + this.getWindowHeight() - this.getScrollHeight();
// if (scroll > -10) {
// if (
// (this.total != 0 && this.page * this.limit
<
this
.
total
)
||
// this.total == 0
// ) {
// this.page++;
// this.getShopList();
// }
// }
// }
// },
//滚动条在Y轴上的滚动距离
handleSizeChange
(
val
)
{
this
.
limit
=
val
;
this
.
page
=
1
this
.
getShopList
()
},
handleCurrentChange
(
val
)
{
this
.
page
=
val
;
this
.
getShopList
()
},
getScrollTop
()
{
var
documentScrollTop
=
0
;
documentScrollTop
=
document
.
documentElement
.
scrollTop
;
return
documentScrollTop
;
},
//文档的总高度
getScrollHeight
()
{
var
documentScrollHeight
=
0
;
documentScrollHeight
=
document
.
documentElement
.
scrollHeight
;
return
documentScrollHeight
;
},
//浏览器视口的高度
getWindowHeight
()
{
var
windowHeight
=
0
;
windowHeight
=
document
.
documentElement
.
clientHeight
;
return
windowHeight
;
},
getShopList
()
{
this
.
isKaiGuan
=
false
;
if
(
this
.
urlFilter
==
"
app
"
)
{
let
query
=
{
online_state
:
this
.
activeOptions
[
0
].
join
(
"
,
"
),
appTypes
:
this
.
activeOptions
[
1
].
join
(
"
,
"
),
businessArea
:
this
.
activeOptions
[
2
].
join
(
"
,
"
),
orgSource
:
this
.
activeOptions
[
3
].
join
(
"
,
"
),
developable
:
Number
(
this
.
couldTwice
),
order
:
this
.
activeBtn
+
1
,
page
:
this
.
page
,
limit
:
this
.
limit
,
search
:
this
.
search
,
};
this
.
$api
.
serviceShop
.
getAppList
(
query
).
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
"
1
"
)
{
// this.lists =
// this.page == 1
// ? response.data.data
// : this.lists.concat(response.data.data);
this
.
lists
=
response
.
data
.
data
this
.
total
=
response
.
data
.
total
;
this
.
isKaiGuan
=
true
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
}
else
{
let
query
=
{
serviceName
:
this
.
search
,
serviceType1
:
this
.
urlFilter
,
serviceType2s
:
this
.
activeOptions
[
1
].
join
(
"
,
"
),
serviceType3s
:
this
.
activeChildOptions
[
1
].
join
(
"
,
"
),
dataDomains
:
this
.
activeOptions
[
2
].
join
(
"
,
"
),
organizeIds
:
this
.
activeOptions
[
3
].
join
(
"
,
"
),
orderBy
:
this
.
activeBtn
,
Page
:
this
.
page
,
Size
:
this
.
limit
,
};
this
.
$api
.
serviceShop
.
getServiceShopList
(
query
).
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
"
1
"
)
{
// this.lists =
// this.page == 1
// ? response.data.data
// : this.lists.concat(response.data.data);
this
.
lists
=
response
.
data
.
data
this
.
total
=
response
.
data
.
total
;
this
.
isKaiGuan
=
true
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
}
},
getShopFilter
()
{
if
(
this
.
urlFilter
==
"
app
"
)
{
this
.
getAppArea
();
this
.
getAppType
();
this
.
getAppOrg
();
this
.
time_app
=
setInterval
(()
=>
{
if
(
this
.
refresh_app_1
&&
this
.
refresh_app_2
&&
this
.
refresh_app_3
)
{
this
.
judgeHeight
();
clearInterval
(
this
.
time_app
);
}
},
50
);
}
else
{
let
query
=
{
type
:
this
.
urlFilter
,
};
this
.
$api
.
serviceShop
.
getServiceShopFilter
(
query
).
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
let
data
=
response
.
data
.
data
;
this
.
filterLists
[
1
].
childDomains
=
data
.
serviceTypeInfo
?
data
.
serviceTypeInfo
:
[];
this
.
filterLists
[
2
].
childDomains
=
data
.
serviceDomain
?
data
.
serviceDomain
:
[];
this
.
filterLists
[
3
].
childDomains
=
data
.
organizations
?
data
.
organizations
:
[];
if
(
this
.
urlFilter
==
"
7
"
)
{
this
.
filterLists
[
1
].
childDomains
=
[];
}
setTimeout
(()
=>
{
this
.
judgeHeight
();
},
0
);
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
}
},
judgeHeight
()
{
this
.
$nextTick
(()
=>
{
let
list
=
this
.
filterLists
;
for
(
let
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
childDomains
.
length
!=
0
)
{
let
offHeight
=
Math
.
ceil
(
document
.
getElementById
(
list
[
i
].
id
).
offsetHeight
);
if
(
offHeight
>
60
)
{
list
[
i
].
showOpen
=
true
;
this
.
openList
[
i
]
=
"
up
"
;
}
else
{
list
[
i
].
showOpen
=
false
;
}
}
}
this
.
filterLists
=
[...
list
];
});
},
clickOpen
(
index
)
{
let
list
=
this
.
openList
;
if
(
list
[
index
]
==
"
up
"
)
{
this
.
$set
(
this
.
openList
,
index
,
"
down
"
);
}
else
if
(
list
[
index
]
==
"
down
"
)
{
this
.
$set
(
this
.
openList
,
index
,
"
up
"
);
}
// 这里不能像上面那样整体更新,因为啥我也不知道,我太菜
},
clickItem
(
index
,
indexs
,
items
)
{
let
i
=
this
.
activeOptions
[
index
].
indexOf
(
items
.
id
);
if
(
i
==
-
1
)
{
this
.
activeOptions
[
index
].
push
(
items
.
id
);
}
else
{
this
.
activeOptions
[
index
].
splice
(
i
,
1
);
if
(
items
.
childDomains
)
{
items
.
childDomains
.
forEach
((
e
)
=>
{
let
i
=
this
.
activeChildOptions
[
index
].
indexOf
(
e
.
id
);
if
(
i
!=
-
1
)
{
this
.
activeChildOptions
[
index
].
splice
(
i
,
1
);
}
});
}
}
this
.
getFilterValue
();
},
clickItemChild
(
index
,
indexs
,
items
)
{
if
(
items
.
childDomains
)
{
if
(
this
.
openChildren
[
index
].
index
==
items
.
id
)
{
this
.
$set
(
this
.
openChildren
,
index
,
{
index
:
indexs
,
state
:
!
this
.
openChildren
[
index
].
state
,
act
:
items
.
childDomains
,
});
}
else
{
this
.
$set
(
this
.
openChildren
,
index
,
{
index
:
items
.
id
,
state
:
true
,
act
:
items
.
childDomains
,
});
}
}
else
{
this
.
$set
(
this
.
openChildren
,
index
,
{
index
:
null
,
state
:
false
,
act
:
null
,
});
}
},
clickButtonFilter
(
index
)
{
this
.
activeBtn
=
index
;
this
.
page
=
1
;
this
.
getShopList
();
},
clickChildren
(
id
,
index
,
fatherId
)
{
let
i
=
this
.
activeChildOptions
[
index
].
indexOf
(
id
);
let
j
=
this
.
activeOptions
[
index
].
indexOf
(
fatherId
);
if
(
i
==
-
1
)
{
this
.
activeChildOptions
[
index
].
push
(
id
);
if
(
j
==
-
1
)
{
this
.
activeOptions
[
index
].
push
(
fatherId
);
}
}
else
{
this
.
activeChildOptions
[
index
].
splice
(
i
,
1
);
}
this
.
getFilterValue
();
},
getFilterValue
()
{
this
.
page
=
1
;
this
.
getShopList
();
},
// search debonce 500ms
searchVal
()
{
if
(
this
.
times
!==
null
)
clearTimeout
(
this
.
times
);
this
.
times
=
setTimeout
(()
=>
{
this
.
page
=
1
;
this
.
getShopList
();
},
500
);
},
// getNewList(val) {
// console.log(val);
// this.page = 1;
// this.limit = 10;
// this.getShopList();
// },
clickAll
(
item
)
{
this
.
$set
(
this
.
activeOptions
,
item
,
[]);
this
.
$set
(
this
.
activeChildOptions
,
item
,
[]);
this
.
page
=
1
;
this
.
getShopList
();
},
changeTwice
()
{
this
.
getShopList
();
},
getAppArea
()
{
this
.
$api
.
serviceShop
.
getAppArea
().
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
filterLists
[
2
].
childDomains
=
response
.
data
.
data
;
this
.
refresh_app_2
=
true
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
getAppType
()
{
this
.
$api
.
serviceShop
.
getAppType
().
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
filterLists
[
1
].
childDomains
=
response
.
data
.
data
;
this
.
refresh_app_1
=
true
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
getAppOrg
()
{
this
.
$api
.
serviceShop
.
getAppOrg
().
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
filterLists
[
3
].
childDomains
=
response
.
data
.
data
;
this
.
refresh_app_3
=
true
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
},
};
</
script
>
<
style
scoped
>
.head_flex
{
display
:
flex
;
justify-content
:
space-between
;
position
:
relative
;
height
:
40px
;
top
:
-14px
;
}
.bread_left
{
width
:
300px
;
}
.input_right
{
width
:
360px
;
position
:
relative
;
height
:
36px
;
top
:
6px
;
}
.gray_line
{
width
:
100%
;
margin
:
20px
auto
;
height
:
1px
;
background-color
:
#e9ecf3
;
}
.classification
{
padding
:
12px
16px
12px
32px
;
}
.classification_line
{
width
:
100%
;
}
.classification_line_if
{
width
:
100%
;
display
:
flex
;
align-items
:
flex-start
;
}
.classification_line_title
{
display
:
inline-block
;
width
:
90px
;
padding
:
12px
0
;
text-align
:
left
;
color
:
#8890a7
;
font-size
:
12px
;
}
.classification_line_items
{
width
:
calc
(
100%
-
90px
);
}
.classification_line_items_border
{
border-bottom
:
1px
#e9ecf3
solid
;
}
.classification_line_hid
{
height
:
40px
;
width
:
100%
;
overflow
:
hidden
;
display
:
inline-flex
;
align-items
:
flex-start
;
}
.classification_line_show
{
width
:
100%
;
display
:
inline-flex
;
align-items
:
flex-start
;
}
.classification_line_items_ul
{
display
:
inline-block
;
width
:
calc
(
100%
-
30px
);
font-size
:
0
;
}
.classification_line_items_li
{
display
:
inline-block
;
padding
:
12px
18px
;
font-size
:
12px
;
}
.classification_line_items_li_act
{
background-color
:
#fbfbfb
;
border-left
:
1px
#e9ecf3
solid
;
border-right
:
1px
#e9ecf3
solid
;
}
.classification_span
{
color
:
#58617a
;
display
:
inline-block
;
cursor
:
pointer
;
}
.classification_act
{
color
:
#fff
;
position
:
relative
;
z-index
:
1
;
}
.classification_act
::after
{
content
:
""
;
position
:
absolute
;
width
:
calc
(
100%
+
16px
);
height
:
calc
(
100%
+
8px
);
background-color
:
#3f4f9c
;
border-radius
:
3px
;
top
:
-4px
;
left
:
-8px
;
z-index
:
-1
;
}
.classification_line_items_open
{
display
:
inline-block
;
width
:
60px
;
padding
:
12px
0
;
cursor
:
pointer
;
font-size
:
12px
;
text-align
:
right
;
}
.classification_children_ul
{
display
:
inline-block
;
width
:
100%
;
background-color
:
#fbfbfb
;
border-top
:
1px
#e9ecf3
solid
;
}
.classification_children_li
{
display
:
inline-block
;
padding
:
12px
18px
;
color
:
#58617a
;
}
.button_filter
{
color
:
#8890a7
;
font-size
:
12px
;
display
:
inline-block
;
margin-right
:
31px
;
position
:
relative
;
cursor
:
pointer
;
}
.button_filter
::after
{
content
:
""
;
width
:
1px
;
height
:
16px
;
background-color
:
#e3e5ef
;
position
:
absolute
;
right
:
-15px
;
}
.button_filter
:nth-child
(
4
)
:after
{
content
:
""
;
width
:
0
;
}
.button_filter_act
{
color
:
#515fe7
;
}
.btn_group
{
margin-top
:
15px
;
margin-bottom
:
15px
;
margin-left
:
15px
;
position
:
relative
;
}
.list_total
{
position
:
absolute
;
right
:
16px
;
top
:
0
;
}
.btn_right_check
{
position
:
absolute
;
right
:
20px
;
top
:
10px
;
}
</
style
>
<
style
>
.head_flex
.input_right
.el-input__inner
{
border-radius
:
6px
;
border
:
solid
1px
#e7eaf6
;
}
.head_flex
.input_right
.el-input--prefix
.el-input__inner
{
padding-left
:
40px
;
}
.head_flex
.input_right
.el-input__prefix
{
left
:
10px
;
}
.head_flex
.input_right
.el-input--prefix
.el-input__inner
{
outline
:
none
;
}
.head_flex
.input_right
.el-input__inner
:focus-within
{
border
:
1px
solid
#626de9
;
}
.head_flex
.btn_right_check
.el-checkbox__input.is-checked
.el-checkbox__inner
,
.el-checkbox__input.is-indeterminate
.el-checkbox__inner
{
background-color
:
#626de9
;
border-color
:
#626de9
;
}
.head_flex
.btn_right_check
.el-checkbox__input.is-checked
+
.el-checkbox__label
{
color
:
#626de9
;
}
.head_flex
.btn_right_check
.el-checkbox__input.is-focus
.el-checkbox__inner
{
border-color
:
#626de9
;
}
</
style
>
<
style
scoped
>
.shop_list
{
margin-bottom
:
40px
;
}
.pagination_box
{
width
:
1008px
;
height
:
50px
;
position
:
fixed
;
bottom
:
0
;
background-color
:
#f6f7fb
;
text-align
:
center
;
line-height
:
50px
;
}
.pagination_box
/
deep
/
.el-pagination
>
.btn-prev
,
.pagination_box
/
deep
/
.el-pagination
>
.btn-next
,
.pagination_box
/
deep
/
.el-pagination
>
.el-pager
>
li
{
background-color
:
transparent
!important
;
}
</
style
>
src/components/service-list/service_shop_menu_new.vue
0 → 100644
View file @
10e7603c
<
template
>
<div
class=
"service_shop_menu"
>
<ul
class=
"service_shop_menu_list"
>
<li
v-for=
"(item, index) in menuList"
:key=
"index"
@
click=
"active(item)"
>
<!--
<img
v-if=
"item.visit_url == actives"
:src=
"item.active != '' ? require('@/assets/imgs/' + item.active + '.png') : ''"
class=
"menu_img"
/>
<img
v-else
:src=
"require('@/assets/imgs/' + item.default + '.png')"
class=
"menu_img"
/>
-->
<span
:class=
"item.id == currentId ? 'menu_item_active':'menu_item'"
>
{{
item
.
name
}}
</span>
</li>
</ul>
</div>
</
template
>
<
script
>
export
default
{
props
:
{},
data
()
{
return
{
};
},
computed
:
{
// getActive() {
// return this.$store.state.serviceShopMenu;
// },
},
watch
:
{
// getActive(newVal) {
// this.getActiveMenu(newVal);
// },
},
props
:
{
menuList
:
{
type
:
Array
,
default
:
[]
},
currentId
:
{
type
:
[
Number
,
String
],
default
:
null
}
},
mounted
()
{
// this.getShopMenu();
// this.$store.commit("serviceShopMenuAct", this.$route.path);
// this.actives = this.$store.state.serviceShopMenu;
},
methods
:
{
active
(
val
)
{
this
.
$store
.
commit
(
"
serviceShopMenuAct
"
,
val
.
id
);
// this.$router.push(val);
if
(
val
.
id
==
'
cloud
'
)
{
// this.$router.push(val.url)
}
else
{
// this.$router.push(`/shop/data_service_list/${val.id}`)
}
this
.
$emit
(
"
changeActive
"
,
val
)
},
// getActiveMenu(val) {
// this.actives = val;
// console.log(this.actives)
// },
getShopMenu
()
{
this
.
$api
.
workbench
.
getServiceTypeList
().
then
(
response
=>
{
if
(
response
.
data
.
success
==
1
)
{
let
arr
=
response
.
data
.
data
;
this
.
menuList
=
arr
;
this
.
actives
=
arr
[
0
].
id
this
.
menuList
.
push
(...
this
.
otherlist
)
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
},
};
</
script
>
<
style
scoped
>
.service_shop_menu
{
background-color
:
#0d1847
;
position
:
fixed
;
top
:
76px
;
left
:
calc
(
50%
-
600px
);
width
:
176px
;
padding
:
8px
;
background-color
:
#ffffff
;
box-shadow
:
0px
3px
6px
0px
rgba
(
15
,
19
,
65
,
0.04
);
border-radius
:
8px
;
}
.service_shop_menu_list
>
li
{
box-sizing
:
border-box
;
height
:
40px
;
padding
:
8px
0
0
22px
;
margin-bottom
:
16px
;
font-size
:
15px
;
line-height
:
24px
;
cursor
:
pointer
;
}
.service_shop_menu_list
>
li
:nth-last-child
(
1
)
{
margin-bottom
:
0
;
}
.service_shop_menu_list
>
li
:hover
,
.service_shop_menu_list
>
li
.current
{
background-color
:
rgba
(
242
,
246
,
253
,
0.4
);
color
:
#515fe7
;
}
.menu_img
{
/* width: 24px; */
margin-right
:
6px
;
}
.menu_item
{
position
:
relative
;
font-weight
:
bold
;
font-size
:
15px
;
color
:
#96a0c5
;
top
:
-6px
;
}
.menu_item_active
{
position
:
relative
;
font-weight
:
bold
;
font-size
:
15px
;
color
:
#515fe7
;
top
:
-6px
;
}
</
style
>
src/components/table/table-um.vue
View file @
10e7603c
...
@@ -132,6 +132,27 @@
...
@@ -132,6 +132,27 @@
@click="deleteLocal(scope)"
@click="deleteLocal(scope)"
>
{{
btn
.
label
}}
</em>
>
{{
btn
.
label
}}
</em>
<em
class=
"cur_pointer"
v-else-if=
"btn.disflag && !btn.select"
:class=
"btn.disabledRule(scope.row) ? btn.type : 'disabled_btn ' + btn.type"
:style=
"
{
color: btn.label == '删除' ? '#830f53' : '#0f2683',
}"
@click="handleClick(btn.type, scope.row)"
>
{{
btn
.
label
}}
</em>
<em
class=
"cur_pointer"
v-else-if=
"btn.disflag && btn.select"
:class=
"btn.disabledRule(scope.row) ? btn.type : 'disabled_btn ' + btn.type"
:style=
"
{
color: btn.label == '删除' ? '#830f53' : '#0f2683',
}"
v-show="btn.disabledRule(scope.row)"
@click="handleClick(btn.type, scope.row)"
>
{{
btn
.
label
}}
</em>
<em
<em
class=
"cur_pointer"
class=
"cur_pointer"
v-else
v-else
...
@@ -142,7 +163,8 @@
...
@@ -142,7 +163,8 @@
@click="handleClick(btn.type, scope.row)"
@click="handleClick(btn.type, scope.row)"
>
{{
btn
.
label
}}
</em>
>
{{
btn
.
label
}}
</em>
<em
v-if=
"btn.line"
style=
"padding:0 20px;color:#edf0ff"
>
{{
btn
.
line
}}
</em>
<em
v-if=
"btn.line && !btn.select"
style=
"padding:0 20px;color:#edf0ff"
>
{{
btn
.
line
}}
</em>
<em
v-if=
"btn.line && btn.select && btn.disabledRule(scope.row)"
style=
"padding:0 20px;color:#edf0ff"
>
{{
btn
.
line
}}
</em>
</b>
</b>
</span>
</span>
<!--href 链接-->
<!--href 链接-->
...
...
src/components/topology.vue
View file @
10e7603c
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
<div
class=
"legend"
>
<div
class=
"legend"
>
<div
class=
"legend_title"
>
拓扑图图例
</div>
<div
class=
"legend_title"
>
拓扑图图例
</div>
<div
class=
"legend_inner"
>
<div
class=
"legend_inner"
>
<div
class=
"legend_in_tit"
>
服务
类型
</div>
<div
class=
"legend_in_tit"
>
服务
分类
</div>
<div
id=
"nodes"
ref=
"legendNodes"
class=
"legend_nodes"
></div>
<div
id=
"nodes"
ref=
"legendNodes"
class=
"legend_nodes"
></div>
<div
class=
"legend_in_tit"
>
调用状态
</div>
<div
class=
"legend_in_tit"
>
调用状态
</div>
<div
id=
"edges"
ref=
"legendEdges"
class=
"legend_edges"
></div>
<div
id=
"edges"
ref=
"legendEdges"
class=
"legend_edges"
></div>
...
...
src/pages/message-management/recommended/recommended-eidt.vue
View file @
10e7603c
...
@@ -63,8 +63,8 @@ export default {
...
@@ -63,8 +63,8 @@ export default {
filtdata
:
[],
filtdata
:
[],
filter_name_arr
:
{
filter_name_arr
:
{
organizations
:
"
数据来源机构
"
,
organizations
:
"
数据来源机构
"
,
serviceDomain
:
"
数据
领域
"
,
serviceDomain
:
"
业务
领域
"
,
serviceTypeInfo
:
"
数据
服务类型
"
,
serviceTypeInfo
:
"
服务类型
"
,
},
},
select_able_arr
:
[],
select_able_arr
:
[],
selected_arr
:
[],
selected_arr
:
[],
...
@@ -166,22 +166,22 @@ export default {
...
@@ -166,22 +166,22 @@ export default {
var
temp
=
21
var
temp
=
21
this
.
filter_name_arr
=
{
this
.
filter_name_arr
=
{
organizations
:
"
服务来源组织
"
,
organizations
:
"
服务来源组织
"
,
serviceDomain
:
"
服
务领域
"
,
serviceDomain
:
"
业
务领域
"
,
serviceTypeInfo
:
"
服务类型
"
,
serviceTypeInfo
:
"
服务类型
"
,
}
}
}
else
if
(
this
.
$route
.
query
.
ad_type
==
'
hotdata
'
){
}
else
if
(
this
.
$route
.
query
.
ad_type
==
'
hotdata
'
){
var
temp
=
5
var
temp
=
5
this
.
filter_name_arr
=
{
this
.
filter_name_arr
=
{
organizations
:
"
数据来源机构
"
,
organizations
:
"
数据来源机构
"
,
serviceDomain
:
"
数据
领域
"
,
serviceDomain
:
"
业务
领域
"
,
serviceTypeInfo
:
"
数据
服务类型
"
,
serviceTypeInfo
:
"
服务类型
"
,
}
}
}
else
{
}
else
{
var
temp
=
6
var
temp
=
6
this
.
filter_name_arr
=
{
this
.
filter_name_arr
=
{
organizations
:
"
服务来源组织
"
,
organizations
:
"
服务来源组织
"
,
serviceDomain
:
"
服
务领域
"
,
serviceDomain
:
"
业
务领域
"
,
serviceTypeInfo
:
"
时空
服务类型
"
,
serviceTypeInfo
:
"
服务类型
"
,
}
}
}
}
this
.
$http
this
.
$http
...
...
src/pages/service_shop/shop_cloud-new.vue
View file @
10e7603c
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
ServiceShopMenu
from
"
@/components/service-list/service_shop_menu
-
new
"
;
import
ServiceShopMenu
from
"
@/components/service-list/service_shop_menu
_
new
"
;
import
ShopCloud
from
"
@/components/shop-cloud/shop-cloud-new
"
;
import
ShopCloud
from
"
@/components/shop-cloud/shop-cloud-new
"
;
export
default
{
export
default
{
components
:
{
components
:
{
...
...
src/pages/service_shop/shop_list_new.vue
0 → 100644
View file @
10e7603c
<
template
>
<div
class=
"shop_list_cont"
>
<el-container>
<el-aside
width=
"176px"
>
<service-shop-menu
@
changeActive=
"changeActive"
:menuList=
"menuList"
:currentId=
"currentId"
></service-shop-menu>
</el-aside>
<el-main
class=
"main_init"
>
<!--
<service-list
:filterNames=
"filterNames"
:name=
"name"
:url=
"url"
:urlFilter=
"urlFilter"
></service-list>
-->
<service-list
:filterNames=
"filterNames"
:name=
"name"
:urlFilter=
"urlFilter"
v-show=
"showFlag"
></service-list>
<shop-cloud
v-show=
"!showFlag"
name=
"云资源服务"
></shop-cloud>
</el-main>
</el-container>
</div>
</
template
>
<
script
>
import
ServiceShopMenu
from
"
@/components/service-list/service_shop_menu_new
"
;
import
ServiceList
from
"
@/components/service-list/service_list_new
"
;
import
BlockRadius
from
"
@/components/general/block-radius
"
;
import
ShopCloud
from
"
@/components/shop-cloud/shop-cloud-new
"
;
export
default
{
components
:
{
ServiceShopMenu
,
ServiceList
,
BlockRadius
,
ShopCloud
},
data
:
()
=>
({
urlFilter
:
""
,
url
:
""
,
name
:
""
,
filterNames
:
[],
currentId
:
null
,
menuList
:
[],
otherlist
:
[
{
id
:
'
app
'
,
name
:
"
应用商店
"
,
},
{
id
:
"
cloud
"
,
name
:
"
云资源服务
"
,
}
],
showFlag
:
true
}),
mounted
()
{
// this.getVal(this.$route.query);
this
.
getShopMenu
()
},
methods
:
{
getVal
(
val
)
{
console
.
log
(
val
,
'
========
'
)
if
(
val
.
indexOf
(
'
app
'
)
>
-
1
)
{
let
obj
=
{
id
:
'
app
'
,
name
:
"
应用商店
"
,
}
this
.
changeActive
(
obj
)
}
else
if
(
val
.
indexOf
(
'
cloud
'
)
>
-
1
)
{
let
obj
=
{
id
:
"
cloud
"
,
name
:
"
云资源服务
"
,
}
this
.
changeActive
(
obj
)
}
else
{
this
.
changeActive
(
this
.
menuList
[
0
])
}
},
getShopMenu
()
{
let
obj
=
{}
this
.
$api
.
workbench
.
getServiceTypeList
().
then
(
response
=>
{
if
(
response
.
data
.
success
==
1
)
{
let
arr
=
response
.
data
.
data
;
obj
=
arr
[
0
]
||
{}
this
.
menuList
=
arr
;
this
.
menuList
.
push
(...
this
.
otherlist
)
if
(
this
.
$route
.
params
.
id
)
{
this
.
currentId
=
this
.
$route
.
params
.
id
if
(
this
.
$route
.
params
.
id
==
'
app
'
)
{
this
.
showFlag
=
true
this
.
name
=
'
应用商店
'
this
.
urlFilter
=
this
.
$route
.
params
.
id
.
toString
()
this
.
filterNames
=
[
"
应用类型
"
,
"
应用领域
"
,
"
应用来源机构
"
];
}
else
if
(
this
.
$route
.
params
.
id
==
'
cloud
'
)
{
this
.
showFlag
=
false
}
}
else
{
this
.
currentId
=
obj
.
id
this
.
name
=
obj
.
name
this
.
urlFilter
=
obj
.
id
.
toString
()
if
(
obj
.
id
!=
'
app
'
&&
obj
.
id
!=
'
cloud
'
)
{
this
.
filterNames
=
[
"
服务类型
"
,
"
业务领域
"
,
"
服务来源组织
"
]
}
else
{
if
(
obj
.
id
==
'
app
'
)
{
this
.
filterNames
=
[
"
应用类型
"
,
"
应用领域
"
,
"
应用来源机构
"
];
}
}
}
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
changeActive
(
item
)
{
this
.
currentId
=
item
.
id
if
(
item
.
id
!=
'
cloud
'
)
{
if
(
item
.
id
!=
'
app
'
)
{
this
.
$router
.
push
(
'
/shop/data_service_list
'
)
}
this
.
showFlag
=
true
this
.
name
=
item
.
name
this
.
urlFilter
=
item
.
id
.
toString
()
if
(
item
.
id
!=
'
app
'
)
{
this
.
filterNames
=
[
"
服务类型
"
,
"
业务领域
"
,
"
服务来源组织
"
]
}
else
{
this
.
filterNames
=
[
"
应用类型
"
,
"
应用领域
"
,
"
应用来源机构
"
];
}
}
else
{
this
.
showFlag
=
false
}
console
.
log
(
this
.
showFlag
)
}
},
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;
.default_title {
color: #264dd9;
font-size: 44px;
font-weight: bold;
margin-bottom: 30px;
}
.default_msg {
color: #58617a;
font-size: 24px;
line-height: 44px;
}
}
}
</
style
>
<
style
scoped
>
.default_img
{
background
:
url("~@/assets/imgs/img_default_quesheng.png")
no-repeat
center
center
;
}
.shop_list_cont
{
width
:
1200px
;
margin
:
0
auto
;
position
:
relative
;
}
.main_init
{
padding
:
16px
0
16px
16px
;
}
</
style
>
\ No newline at end of file
src/pages/service_shop/sjfwDetail.vue
View file @
10e7603c
...
@@ -3,8 +3,8 @@
...
@@ -3,8 +3,8 @@
<div
class=
"apass_breadcrumb"
>
<div
class=
"apass_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop"
>
服务超市
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/shop/data_service_list
/5
"
>
<el-breadcrumb-item
to=
"/shop/data_service_list"
>
数据服务
{{
typeName
}}
</el-breadcrumb-item>
</el-breadcrumb-item>
<el-breadcrumb-item>
服务详情信息
</el-breadcrumb-item>
<el-breadcrumb-item>
服务详情信息
</el-breadcrumb-item>
</el-breadcrumb>
</el-breadcrumb>
...
@@ -36,6 +36,7 @@ export default {
...
@@ -36,6 +36,7 @@ export default {
detailData
:
[],
detailData
:
[],
providerData
:
null
,
providerData
:
null
,
commentsData
:
null
,
commentsData
:
null
,
typeName
:
""
}),
}),
computed
:
{
computed
:
{
id
()
{
id
()
{
...
@@ -59,7 +60,8 @@ export default {
...
@@ -59,7 +60,8 @@ export default {
service_id
:
this
.
id
,
service_id
:
this
.
id
,
app_id
:
0
,
app_id
:
0
,
name
:
datas
.
name
,
name
:
datas
.
name
,
// type: "",
type
:
datas
.
data_service_type2_name
==
"
流程类
"
?
"
workflow
"
:
""
,
workflows_id
:
datas
.
data_service_type2_name
==
"
流程类
"
?
datas
.
workflows_id
:
""
,
openness
:
datas
.
openness
,
openness
:
datas
.
openness
,
view_count
:
datas
.
view_count
,
view_count
:
datas
.
view_count
,
apply_count
:
datas
.
apply_count
,
apply_count
:
datas
.
apply_count
,
...
@@ -80,7 +82,7 @@ export default {
...
@@ -80,7 +82,7 @@ export default {
user_name
:
datas
.
register_user_info
.
user_name
,
user_name
:
datas
.
register_user_info
.
user_name
,
phone
:
datas
.
register_user_info
.
phone
,
phone
:
datas
.
register_user_info
.
phone
,
};
};
this
.
detailData
=
[
this
.
detailData
=
[
{
{
name
:
"
获取流程
"
,
name
:
"
获取流程
"
,
...
@@ -185,6 +187,11 @@ export default {
...
@@ -185,6 +187,11 @@ export default {
},
},
},
},
];
];
this
.
typeName
=
datas
.
data_service_type1_name
let
template
=
[
2
,
3
,
4
,
5
,
8
,
9
,
10
,
11
]
if
(
template
.
indexOf
(
datas
.
serv_template
)
>
-
1
)
{
this
.
detailData
=
this
.
detailData
.
slice
(
0
,
1
)
}
let
arr1
=
datas
.
serviceRequestSpcs
.
spcs_type_1
||
[];
let
arr1
=
datas
.
serviceRequestSpcs
.
spcs_type_1
||
[];
let
arr2
=
datas
.
serviceRequestSpcs
.
spcs_type_2
||
[];
let
arr2
=
datas
.
serviceRequestSpcs
.
spcs_type_2
||
[];
let
arr
=
arr1
.
concat
(
arr2
);
let
arr
=
arr1
.
concat
(
arr2
);
...
...
src/pages/workbench/component-center/intelligent-drawing/intelligent_fwzc.vue
View file @
10e7603c
...
@@ -57,7 +57,7 @@
...
@@ -57,7 +57,7 @@
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"area"
>
<el-form-item
prop=
"area"
>
<p
class=
"formname"
>
服
务领域:
</p>
<p
class=
"formname"
>
业
务领域:
</p>
<el-select
<el-select
v-model=
"form.area"
v-model=
"form.area"
placeholder=
"请选择"
placeholder=
"请选择"
...
@@ -294,7 +294,7 @@ export default {
...
@@ -294,7 +294,7 @@ export default {
}
}
],
],
area
:
[
area
:
[
{
required
:
true
,
message
:
"
请选择
服
务领域
"
,
trigger
:
"
change
"
}
{
required
:
true
,
message
:
"
请选择
业
务领域
"
,
trigger
:
"
change
"
}
],
],
origin
:
[
origin
:
[
{
required
:
true
,
message
:
"
请选择所属组织
"
,
trigger
:
"
blur
"
}
{
required
:
true
,
message
:
"
请选择所属组织
"
,
trigger
:
"
blur
"
}
...
@@ -322,7 +322,7 @@ export default {
...
@@ -322,7 +322,7 @@ export default {
trigger
:
"
blur
"
trigger
:
"
blur
"
}
}
],
],
area
:
[{
required
:
true
,
message
:
"
请选择
服
务领域
"
,
trigger
:
"
blur
"
}],
area
:
[{
required
:
true
,
message
:
"
请选择
业
务领域
"
,
trigger
:
"
blur
"
}],
origin
:
[
origin
:
[
{
required
:
true
,
message
:
"
请选择所属组织
"
,
trigger
:
"
blur
"
}
{
required
:
true
,
message
:
"
请选择所属组织
"
,
trigger
:
"
blur
"
}
],
],
...
...
src/pages/workbench/fwgl/apply_service_detail.vue
View file @
10e7603c
...
@@ -549,7 +549,7 @@ export default {
...
@@ -549,7 +549,7 @@ export default {
name
:
""
,
name
:
""
,
first
:
[
first
:
[
{
{
name
:
"
服务
类型
"
,
name
:
"
服务
分类
"
,
text
:
""
,
text
:
""
,
},
},
{
{
...
@@ -581,7 +581,7 @@ export default {
...
@@ -581,7 +581,7 @@ export default {
info
:
""
,
info
:
""
,
},
},
{
{
title
:
"
服
务领域:
"
,
title
:
"
业
务领域:
"
,
info
:
""
,
info
:
""
,
},
},
{
{
...
...
src/pages/workbench/fwgl/approval_service_detail.vue
View file @
10e7603c
...
@@ -206,11 +206,11 @@ export default {
...
@@ -206,11 +206,11 @@ export default {
name
:
""
,
name
:
""
,
first
:
[
first
:
[
{
{
name
:
"
服务
类型
"
,
name
:
"
服务
分类
"
,
text
:
""
text
:
""
},
},
{
{
name
:
"
服
务领域
"
,
name
:
"
业
务领域
"
,
text
:
""
text
:
""
},
},
{
{
...
...
src/pages/workbench/fwgl/fwglList.vue
View file @
10e7603c
...
@@ -227,7 +227,7 @@ export default {
...
@@ -227,7 +227,7 @@ export default {
callback
:
this
.
detailItem
,
callback
:
this
.
detailItem
,
},
},
{
{
label
:
"
所属
领域
"
,
label
:
"
业务
领域
"
,
prop
:
"
sectors_name
"
,
prop
:
"
sectors_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -251,7 +251,7 @@ export default {
...
@@ -251,7 +251,7 @@ export default {
align
:
"
center
"
,
align
:
"
center
"
,
},
},
{
{
label
:
"
所属类型
"
,
label
:
"
服务分类
"
,
prop
:
"
data_service_type1_name
"
,
prop
:
"
data_service_type1_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -351,7 +351,7 @@ export default {
...
@@ -351,7 +351,7 @@ export default {
callback
:
this
.
detailItem
,
callback
:
this
.
detailItem
,
},
},
{
{
label
:
"
所属
领域
"
,
label
:
"
业务
领域
"
,
prop
:
"
sectors_name
"
,
prop
:
"
sectors_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -378,7 +378,7 @@ export default {
...
@@ -378,7 +378,7 @@ export default {
align
:
"
center
"
,
align
:
"
center
"
,
},
},
{
{
label
:
"
所属类型
"
,
label
:
"
服务分类
"
,
prop
:
"
data_service_type1_name
"
,
prop
:
"
data_service_type1_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -611,7 +611,7 @@ export default {
...
@@ -611,7 +611,7 @@ export default {
callback
:
this
.
detailItem
,
callback
:
this
.
detailItem
,
},
},
{
{
label
:
"
所属
领域
"
,
label
:
"
业务
领域
"
,
prop
:
"
sectors_name
"
,
prop
:
"
sectors_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -643,7 +643,7 @@ export default {
...
@@ -643,7 +643,7 @@ export default {
align
:
"
center
"
,
align
:
"
center
"
,
},
},
{
{
label
:
"
所属类型
"
,
label
:
"
服务分类
"
,
prop
:
"
data_service_type1_name
"
,
prop
:
"
data_service_type1_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -711,7 +711,7 @@ export default {
...
@@ -711,7 +711,7 @@ export default {
prop
:
"
name
"
,
prop
:
"
name
"
,
},
},
{
{
label
:
"
所属
领域
"
,
label
:
"
业务
领域
"
,
prop
:
"
sectors_name
"
,
prop
:
"
sectors_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -750,7 +750,7 @@ export default {
...
@@ -750,7 +750,7 @@ export default {
align
:
"
center
"
,
align
:
"
center
"
,
},
},
{
{
label
:
"
所属类型
"
,
label
:
"
服务分类
"
,
prop
:
"
data_service_type1_name
"
,
prop
:
"
data_service_type1_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -1014,7 +1014,7 @@ export default {
...
@@ -1014,7 +1014,7 @@ export default {
callback
:
this
.
detailItem
,
callback
:
this
.
detailItem
,
},
},
{
{
label
:
"
所属
领域
"
,
label
:
"
业务
领域
"
,
prop
:
"
sectors_name
"
,
prop
:
"
sectors_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -1046,7 +1046,7 @@ export default {
...
@@ -1046,7 +1046,7 @@ export default {
align
:
"
center
"
,
align
:
"
center
"
,
},
},
{
{
label
:
"
所属类型
"
,
label
:
"
服务分类
"
,
prop
:
"
data_service_type1_name
"
,
prop
:
"
data_service_type1_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -1126,7 +1126,7 @@ export default {
...
@@ -1126,7 +1126,7 @@ export default {
prop
:
"
name
"
,
prop
:
"
name
"
,
},
},
{
{
label
:
"
所属
领域
"
,
label
:
"
业务
领域
"
,
prop
:
"
sectors_name
"
,
prop
:
"
sectors_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
@@ -1165,7 +1165,7 @@ export default {
...
@@ -1165,7 +1165,7 @@ export default {
align
:
"
center
"
,
align
:
"
center
"
,
},
},
{
{
label
:
"
所属类型
"
,
label
:
"
服务分类
"
,
prop
:
"
data_service_type1_name
"
,
prop
:
"
data_service_type1_name
"
,
align
:
"
center
"
,
align
:
"
center
"
,
},
},
...
...
src/pages/workbench/fwgl/serviceDetail.vue
View file @
10e7603c
...
@@ -791,7 +791,7 @@ export default {
...
@@ -791,7 +791,7 @@ export default {
name
:
""
,
name
:
""
,
first
:
[
first
:
[
{
{
name
:
"
服务
类型
"
,
name
:
"
服务
分类
"
,
text
:
""
,
text
:
""
,
},
},
{
{
...
@@ -1216,7 +1216,7 @@ export default {
...
@@ -1216,7 +1216,7 @@ export default {
info
:
""
,
info
:
""
,
},
},
{
{
title
:
"
服
务领域:
"
,
title
:
"
业
务领域:
"
,
info
:
""
,
info
:
""
,
},
},
{
{
...
...
src/pages/workbench/fwgl/serviceEdit.vue
View file @
10e7603c
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<el-input
type=
"textarea"
v-model=
"form.desc"
></el-input>
<el-input
type=
"textarea"
v-model=
"form.desc"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"area"
>
<el-form-item
prop=
"area"
>
<p
class=
"formname"
>
服
务领域:
</p>
<p
class=
"formname"
>
业
务领域:
</p>
<el-select
v-model=
"form.area"
placeholder=
"请选择"
>
<el-select
v-model=
"form.area"
placeholder=
"请选择"
>
<el-option
<el-option
v-for=
"item in area_arr"
v-for=
"item in area_arr"
...
@@ -209,7 +209,7 @@ export default {
...
@@ -209,7 +209,7 @@ export default {
{
max
:
200
,
message
:
'
长度小于200个字符
'
,
trigger
:
'
blur
'
}
{
max
:
200
,
message
:
'
长度小于200个字符
'
,
trigger
:
'
blur
'
}
],
],
area
:[
area
:[
{
required
:
true
,
message
:
'
请选择
服
务领域
'
,
trigger
:
'
change
'
},
{
required
:
true
,
message
:
'
请选择
业
务领域
'
,
trigger
:
'
change
'
},
],
],
resource
:[
resource
:[
{
required
:
true
,
message
:
'
请选择开放程度
'
,
trigger
:
'
change
'
},
{
required
:
true
,
message
:
'
请选择开放程度
'
,
trigger
:
'
change
'
},
...
...
src/pages/workbench/fwzc_fwcs_new.vue
0 → 100644
View file @
10e7603c
<!--
serviceTemplate: 服务注册模版,请参考pages/workbench/product-type/class_edit.vue
-->
<
template
>
<div
class=
"fwcs"
>
<!-- 面包屑--智能制图 -->
<el-breadcrumb
v-if=
"is_map != 0"
separator=
"/"
class=
"bread_crumb"
>
<el-breadcrumb-item
:to=
"
{ path: '/workplace' }">
在线组件工具
</el-breadcrumb-item>
<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>
<el-breadcrumb-item
v-else
:to=
"
{ path: '/fwzc' }"
>服务测试
</el-breadcrumb-item>
<el-breadcrumb-item
v-if=
"jcxxtx"
>
基础信息填写
</el-breadcrumb-item>
</el-breadcrumb>
<!-- 基础信息填写 -->
<div
v-if=
"!jcxxtx"
>
<block-radius>
<!-- 服务分类 -->
<el-row>
<el-button
v-for=
"(item, index) in btnList"
:key=
"item.id"
@
click=
"clickBtn(index,item)"
:class=
"activeBtn == index ? 'fwcs_btn_act' : 'fwcs_btn_dis'"
>
{{
item
.
name
}}
</el-button>
</el-row>
<div
class=
"gray_line"
></div>
<!-- 接口协议 https || grpc || websocket -->
<div
class=
"fwcs_fwdz"
v-if=
"process_id == '' && is_map == 0"
>
接口协议:
</div>
<el-radio-group
v-model=
"jkxy"
class=
"jkxy"
@
change=
"test"
v-if=
"process_id == '' && is_map == 0"
>
<el-radio
v-for=
"(e,i) in jkxyList"
:key=
"'xy' + i"
:label=
"e.value"
>
{{
e
.
label
}}
</el-radio>
</el-radio-group>
<!-- 服务类型 -->
<div
v-if=
"currentClass && currentClass.childDomains && currentClass.childDomains.length > 0"
>
<div
class=
"sqxx_title"
>
服务类型:
</div>
<el-select
@
change=
"changeZhType"
v-model=
"zhyyVal"
placeholder=
"请选择"
class=
"zhyy_select"
>
<el-option
v-for=
"item in currentClass.childDomains"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</div>
<!-- 综合服务-流程服务的模版 模版10 -->
<div
v-if=
"serviceTemplate == 10"
class=
"lc_alert"
>
<i
class=
"el-icon-warning-outline"
></i>
<p>
说明:支持多个流程服务接口的注册,若流程服务包含多个接口,每个接口需分别注册为独立的服务地址才可使用。
<br
/>
示例:http(s)://www.apaas.com(自有域名)/xxx,其中xxx为该流程服务的不同接口后缀,需分别进行单个接口的注册。
<br
/>
比如:服务地址1:http(s)://www.apaas.com(自有域名)/create(用于新建流程实例)
<br
/>
服务地址2:http(s)://www.apaas.com(自有域名)/query
(用于查询流程状态)
</p>
</div>
<!-- 模版6 7 8 9 11 -->
<div
v-show=
"
serviceTemplate == 6 ||
serviceTemplate == 7 ||
serviceTemplate == 8 ||
serviceTemplate == 9 ||
serviceTemplate == 10 ||
serviceTemplate == 11 ||
jkxy !== 1
"
>
<div
class=
"fwcs_fwdz"
>
上传接口文档
<span
class=
"title_bc"
>
(请上传所有服务地址完整接口文档)
</span>
:
</div>
<upload-file
:multiple=
"false"
:unique=
"false"
:max=
"1"
type=
"zip"
:readOnly=
"false"
:drag=
"true"
@
getNewList=
"getNewListOne"
class=
"lc_upf"
up_fz=
"支持.pdf,.docx,.doc,.zip,.rar 格式文件"
accepts=
".pdf, .docx, .doc, .zip, .rar"
:list=
"jkwds"
></upload-file>
</div>
<!-- 模版7 -->
<div
v-if=
"serviceTemplate == 7"
>
<div
class=
"fwcs_fwdz"
>
返回数据格式
</div>
<el-radio-group
v-model=
"gz_fhsjgs"
class=
"gz_fhsjgs_rad"
>
<el-radio
label=
"JSON"
>
JSON
</el-radio>
<el-radio
label=
"xml"
>
XML
</el-radio>
</el-radio-group>
</div>
<!-- 服务地址 除流程类模版 -->
<div
v-if=
"serviceTemplate != 10"
>
<div
class=
"fwcs_fwdz"
>
服务地址:
</div>
<div
class=
"fwcs_fwdz_inner"
>
<el-input
placeholder=
"请输入内容"
@
input=
"getUrl"
v-model=
"serviceUrl"
class=
"input-with-select"
>
<el-select
v-if=
"serviceTemplate == 2 || serviceTemplate == 3 || serviceTemplate == 4 || serviceTemplate == 5"
v-model=
"select"
slot=
"prepend"
placeholder=
"请选择"
>
<!-- 模版2 3 4 5 -->
<el-option
v-for=
"item in optionType1"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<!-- 模版6 7 -->
<el-select
v-else-if=
"serviceTemplate == 6 || serviceTemplate == 7"
v-model=
"select"
slot=
"prepend"
placeholder=
"请选择"
>
<el-option
v-for=
"item in optionType2"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<!-- -->
<el-select
v-else
v-model=
"select"
slot=
"prepend"
placeholder=
"请选择"
>
<el-option
v-for=
"item in optionType"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-input>
<el-button
@
click=
"clickFwcs()"
class=
"fwcs_btn_fwcs"
>
服务测试
</el-button>
</div>
</div>
<!-- grpc -->
<div
v-if=
"jkxy == 2"
class=
"fwcs_fwdz"
>
IP+端口号:
</div>
<div
v-if=
"jkxy == 2"
class=
"fwcs_fwdz_inner"
>
<el-input
placeholder=
"请输入内容"
@
input=
"getUrl"
v-model=
"serviceUrl"
class=
"input-with-select"
>
</el-input>
<el-button
@
click=
"clickFwcs()"
class=
"fwcs_btn_fwcs"
>
服务测试
</el-button>
</div>
<!-- websocket -->
<div
v-if=
"jkxy == 3"
class=
"fwcs_fwdz"
>
服务地址:
</div>
<div
v-if=
"jkxy == 3"
class=
"fwcs_fwdz_inner"
>
<el-input
placeholder=
"请输入内容"
@
input=
"getUrl"
v-model=
"serviceUrl"
class=
"input-with-select"
>
</el-input>
<el-button
@
click=
"clickFwcs()"
class=
"fwcs_btn_fwcs"
>
服务测试
</el-button>
</div>
<!-- 模版1 6 7的请求参数 -->
<div
v-if=
"(serviceTemplate == 1 || serviceTemplate == 6 || serviceTemplate == 7) && jkxy == 1"
>
<el-tabs
v-model=
"activeName"
class=
"fwcs_tabs"
@
tab-click=
"clickTab"
>
<el-tab-pane
label=
"请求参数"
name=
"0"
>
<ces-table
ref=
"fwcs_sjfw_qq"
size=
"mini"
:border=
"true"
:headers=
"sjfwQqcs"
url
:datas=
"datasSj"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"true"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
@
changeTable=
"changeTable"
></ces-table>
</el-tab-pane>
<el-tab-pane
label=
"请求体"
name=
"1"
>
<div
class=
"sjfw_qqt"
>
<el-radio-group
v-model=
"sjfwQqt"
>
<el-radio
label=
"JSON"
>
JSON
</el-radio>
</el-radio-group>
</div>
<v-apaas-code
:key=
"'code' + code_1_index"
ref=
"jsonCodes"
></v-apaas-code>
</el-tab-pane>
<el-tab-pane
label=
"授权信息"
name=
"2"
>
<el-row
class=
"sqxx_row"
>
<el-col
:span=
"8"
>
<div
class=
"sqxx_title"
>
授权方式:
</div>
<el-select
v-model=
"sqfsVal"
placeholder=
"请选择"
class=
"sqxx_select"
>
<el-option
v-for=
"item in optionsSq"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"registration"
style=
"width: 100%"
>
<p>
注册说明:
</p>
<p>
1、服务提供方按需填写服务的地址、请求参数和返回参数进行正常注册。
</p>
<p>
2、服务被调用时,平台会提供一个动态token,由服务提供方访问身份认证地址,进行认证。由平台返回身份认证结果,由服务提供方依据结果判断是否可以提供服务。
</p>
<p>
3、详细流程和接口说明,请点击下载
<a
:href=
"fwdesc"
download
>
服务注册说明
</a>
。
</p>
</div>
</el-col>
<el-col
:span=
"2"
class=
"center_line_c"
>
<div
class=
"center_line"
></div>
</el-col>
<el-col
:span=
"14"
>
<div
v-if=
"sqfsVal==1||sqfsVal==3"
>
<div
class=
"sqxx_title"
>
Token名称:
</div>
<el-input
v-model=
"tokenName"
placeholder=
"请输入token名称"
></el-input>
<div
class=
"sqxx_title"
>
Token值:
</div>
<el-input
v-model=
"tokenVal"
placeholder=
"请输入Token值"
></el-input>
</div>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane
label=
"请求头Header"
name=
"3"
>
<ces-table
ref=
"fwcs_zhfw_qqtcs"
size=
"mini"
:border=
"true"
:headers=
"sjfwQqtcs"
url
:datas=
"datasQqu"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"true"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
></ces-table>
</el-tab-pane>
</el-tabs>
</div>
<!-- 模版8 9请求参数 -->
<div
v-if=
"(serviceTemplate == 8 || serviceTemplate == 9) && jkxy == 1"
>
<el-tabs
v-model=
"activeZh"
class=
"fwcs_tabs"
@
tab-click=
"clickTab"
>
<el-tab-pane
label=
"请求参数"
name=
"0"
>
<ces-table
ref=
"fwcs_zhfw_qq"
size=
"mini"
:border=
"true"
:headers=
"sjfwQqcs"
url
:datas=
"datasZh"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"true"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
@
changeTable=
"changeTable"
></ces-table>
</el-tab-pane>
<el-tab-pane
label=
"请求体"
name=
"1"
>
<div
class=
"sjfw_qqt"
>
<el-radio-group
v-model=
"zhfwQqt"
@
change=
"changeZhfwQqt"
>
<el-radio
label=
"JSON"
>
JSON
</el-radio>
<el-radio
label=
"form-data"
>
form-data
</el-radio>
<el-radio
label=
"x-www-form-urlencoded"
>
x-www-form-urlencoded
</el-radio>
</el-radio-group>
</div>
<div
v-show=
"zhfwQqt == 'JSON'"
>
<v-apaas-code
:key=
"'code' + code_2_index"
ref=
"zhfwJsonCodes"
></v-apaas-code>
</div>
<div
v-show=
"zhfwQqt == 'form-data'"
>
<ces-table
ref=
"fwcs_zhfw_qq_form"
size=
"mini"
:border=
"true"
:headers=
"zhfwQqcsForm"
url
:datas=
"datasZhForm"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"true"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
@
primary-del=
"delItemQq"
></ces-table>
</div>
<div
v-show=
"zhfwQqt == 'x-www-form-urlencoded'"
>
<ces-table
ref=
"fwcs_zhfw_www"
size=
"mini"
:border=
"true"
:headers=
"sjfwQqcs"
url
:datas=
"datasZhwww"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"true"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
></ces-table>
</div>
</el-tab-pane>
<el-tab-pane
label=
"请求头Header"
name=
"2"
>
<ces-table
ref=
"fwcs_zhfw_qqtcs"
size=
"mini"
:border=
"true"
:headers=
"sjfwQqtcs"
url
:datas=
"datasQqu"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"true"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
></ces-table>
</el-tab-pane>
</el-tabs>
</div>
</block-radius>
<!-- 请求结果 -->
<block-radius
v-show=
"resultShow"
>
<div
v-show=
"
(serviceTemplate == 1 || serviceTemplate == 7 || serviceTemplate == 8 || serviceTemplate == 9) &&
resSuccess
"
>
<div
class=
"sjfw_qqcstx"
>
请求参数信息填写:
</div>
<ces-table
ref=
"fwcs_sjfw_qqcs"
size=
"mini"
:border=
"true"
:headers=
"sjfwQqcstx"
url
:datas=
"datasQqcs"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"false"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
></ces-table>
<div
class=
"sjfw_fhcstx"
>
返回参数信息填写:
</div>
<ces-table
ref=
"fwcs_sjfw_fhcs"
size=
"mini"
:border=
"true"
:headers=
"sjfwFhcstx"
url
:datas=
"datasFhcs"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"false"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
></ces-table>
</div>
<div
v-show=
"
(serviceTemplate == 2 || serviceTemplate == 3 || serviceTemplate == 4 || serviceTemplate == 5 ||
serviceTemplate == 6||
serviceTemplate == 11) &&
resSuccess
"
>
<div
class=
"skfw_csfwxx"
>
测试服务信息:
</div>
<div
class=
"test_succ"
>
<div
class=
"skcs_jg"
>
<img
src=
"@/assets/imgs/test_icon_success.png"
class=
"skcs_jg_img"
/>
测试成功
</div>
</div>
</div>
<div
v-show=
"
!resSuccess
"
>
<div
class=
"skfw_csfwxx"
>
测试服务信息:
</div>
<div
class=
"test_succ"
>
<div
class=
"skcs_jg"
>
<img
src=
"@/assets/imgs/test_icon_error.png"
class=
"skcs_jg_img"
/>
测试失败
</div>
</div>
</div>
<div
class=
"btn_footer"
>
<el-button
class=
"reset"
v-if=
"serviceTemplate == 1 && resSuccess"
@
click=
"resetSjfw"
>
重置
</el-button>
<el-button
:disabled=
"!resSuccess"
:class=
"resSuccess ? 'next' : ''"
@
click=
"nextJcxx"
>
下一步
</el-button>
</div>
</block-radius>
<div
v-if=
"serviceTemplate == 10"
>
<!-- 综合服务流程类 -->
<block-radius
v-for=
"(itemOne, indexOne) in liucheng_list"
:key=
"`liucheng_$
{indexOne}`"
>
<div
class=
"one_service"
>
<div
class=
"one_name"
>
服务接口名称:
</div>
<div
class=
"one_name_in"
>
<el-form
:model=
"itemOne"
:rules=
"rulesOne"
:ref=
"`ruleFormOne_$
{indexOne}`"
>
<el-form-item
prop=
"one_input"
>
<el-input
v-model=
"itemOne.one_input"
placeholder=
"请输入内容"
>
</el-input>
</el-form-item>
</el-form>
</div>
<div
class=
"one_url"
>
服务地址
{{
indexOne
+
1
}}
:
</div>
<div
class=
"fwcs_fwdz_inner"
>
<el-input
placeholder=
"请输入内容"
@
input=
"
(val) =>
{
getUrlOne(val, indexOne);
}
"
v-model="itemOne.serviceUrl"
class="input-with-select"
>
<el-select
v-model=
"itemOne.select"
slot=
"prepend"
placeholder=
"请选择"
>
<el-option
v-for=
"item in optionType"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-input>
<el-button
@
click=
"clickFwcsOne(indexOne)"
class=
"fwcs_btn_fwcs"
>
服务测试
</el-button>
</div>
<el-tabs
v-model=
"itemOne.activeName"
class=
"fwcs_tabs"
@
tab-click=
"clickTabOne"
>
<el-tab-pane
label=
"请求参数"
name=
"0"
>
<ces-table
:ref=
"`one_qqcs_$
{indexOne}`"
size="mini"
:border="true"
:headers="sjfwQqcs"
url
:datas="itemOne.datasSj"
:searchShow="false"
:addRowBtn="false"
:autoAdd="true"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
@changeTable="
(val) => {
changeTableOne(val, indexOne);
}
"
>
</ces-table>
</el-tab-pane>
<el-tab-pane
label=
"请求体"
name=
"1"
>
<div
class=
"sjfw_qqt"
>
<el-radio-group
v-model=
"itemOne.sjfwQqt"
>
<el-radio
label=
"JSON"
>
JSON
</el-radio>
</el-radio-group>
</div>
<v-apaas-code
:key=
"'code' + indexOne"
:ref=
"`one_json_$
{indexOne}`"
>
</v-apaas-code>
</el-tab-pane>
<el-tab-pane
label=
"授权信息"
name=
"2"
>
<el-row
class=
"sqxx_row"
>
<el-col
:span=
"8"
>
<div
class=
"sqxx_title"
>
授权方式:
</div>
<el-select
v-model=
"itemOne.sqfsVal"
placeholder=
"请选择"
class=
"sqxx_select"
>
<el-option
v-for=
"item in optionsSq"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"registration"
style=
"width: 100%"
>
<p>
注册说明:
</p>
<p>
1、服务提供方按需填写服务的地址、请求参数和返回参数进行正常注册。
</p>
<p>
2、服务被调用时,平台会提供一个动态token,由服务提供方访问身份认证地址,进行认证。由平台返回身份认证结果,由服务提供方依据结果判断是否可以提供服务。
</p>
<p>
3、详细流程和接口说明,请点击下载
<a
:href=
"fwdesc"
download
>
服务注册说明
</a>
。
</p>
</div>
</el-col>
<el-col
:span=
"2"
class=
"center_line_c"
>
<div
class=
"center_line_one"
></div>
</el-col>
<el-col
:span=
"14"
>
<div
v-if=
"itemOne.sqfsVal==1||itemOne.sqfsVal==3"
>
<div
class=
"sqxx_title"
>
Token名称:
</div>
<el-input
v-model=
"itemOne.tokenName"
placeholder=
"请输入Token名称"
></el-input>
<div
class=
"sqxx_title"
>
Token值:
</div>
<el-input
v-model=
"itemOne.tokenVal"
placeholder=
"请输入Token值"
></el-input>
</div>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane
label=
"请求头Header"
name=
"3"
>
<ces-table
ref=
"fwcs_zhfw_qqtcs"
size=
"mini"
:border=
"true"
:headers=
"sjfwQqtcs"
url
:datas=
"datasQqu"
:searchShow=
"false"
:addRowBtn=
"false"
:autoAdd=
"true"
:isDialog=
"false"
:isSelection=
"false"
:isIndex=
"true"
:radius=
"true"
:emptyText=
"emptyText"
:stripe=
"false"
:paginationShow=
"false"
:pageSizeShow=
"false"
headerCellClassName=
"th_pink"
></ces-table>
</el-tab-pane>
</el-tabs>
<div
v-show=
"itemOne.resultShow"
>
<div
v-show=
"itemOne.resSuccess"
>
<div
class=
"sjfw_qqcstx"
>
请求参数信息填写:
</div>
<ces-table
:ref=
"`one_qqxx_$
{indexOne}`"
size="mini"
:border="true"
:headers="sjfwQqcstx"
url
:datas="itemOne.datasQqcs"
:searchShow="false"
:addRowBtn="false"
:autoAdd="false"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
>
</ces-table>
<div
class=
"sjfw_fhcstx"
>
返回参数信息填写:
</div>
<ces-table
:ref=
"`one_fhxx_$
{indexOne}`"
size="mini"
:border="true"
:headers="sjfwFhcstx"
url
:datas="itemOne.datasFhcs"
:searchShow="false"
:addRowBtn="false"
:autoAdd="false"
:isDialog="false"
:isSelection="false"
:isIndex="true"
:radius="true"
:emptyText="emptyText"
:stripe="false"
:paginationShow="false"
:pageSizeShow="false"
headerCellClassName="th_pink"
>
</ces-table>
</div>
<div
v-show=
"!itemOne.resSuccess"
>
<div
class=
"skfw_csfwxx"
>
测试服务信息:
</div>
<div
class=
"test_succ"
>
<div
class=
"skcs_jg"
>
<img
src=
"@/assets/imgs/test_icon_error.png"
class=
"skcs_jg_img"
/>
测试失败
</div>
</div>
</div>
</div>
<div
class=
"btn_footer_one"
>
<el-button
v-if=
"
indexOne + 1 == liucheng_list.length && itemOne.resSuccess
"
class=
"new_one"
@
click=
"newOne(indexOne)"
>
新增服务地址
</el-button>
<el-button
v-if=
"!(indexOne == liucheng_list.length || liucheng_list.length == 1)"
class=
"del_one"
@
click=
"delOne(indexOne)"
>
移除
</el-button>
<el-button
v-if=
"itemOne.resultShow"
class=
"reset_one"
@
click=
"resetOne(indexOne)"
>
重置
</el-button>
<el-button
v-if=
"
indexOne + 1 == liucheng_list.length && itemOne.resSuccess
"
class=
"next_one"
@
click=
"nextOne"
>
下一步
</el-button>
</div>
</div>
</block-radius>
</div>
</div>
<!-- 服务信息填写 -->
<div
v-else
>
<block-radius>
<div
class=
"fwcs_add"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"process_id == '' ? rules : rules_process"
>
<el-form-item
prop=
"name"
>
<p
class=
"formname"
>
服务名称:
</p>
<el-input
v-model=
"form.name"
placeholder=
"请输入服务名称"
class=
"form_in"
></el-input>
</el-form-item>
<el-form-item
prop=
"desc"
>
<p
class=
"formname"
>
服务描述:
</p>
<el-input
type=
"textarea"
v-model=
"form.desc"
placeholder=
"请输入服务描述"
class=
"form_in"
></el-input>
</el-form-item>
<el-form-item
prop=
"area"
>
<p
class=
"formname"
>
业务领域:
</p>
<el-select
v-model=
"form.area"
placeholder=
"请选择"
class=
"form_in"
>
<el-option
v-for=
"item in optionsArea"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"origin"
>
<p
class=
"formname"
>
所属组织:
</p>
<el-input
v-model=
"form.origin"
class=
"form_in"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item>
<p
class=
"formname"
>
服务封面:
</p>
<upload-file
:multiple=
"false"
:max=
"1"
type=
"cropper"
:readOnly=
"false"
:list=
"cover"
@
getNewList=
"getNewList"
></upload-file>
</el-form-item>
<el-form-item
v-if=
"jkxy == 1"
>
<p
class=
"formname"
>
接口编码:
</p>
<el-input
v-model=
"form.code"
class=
"form_in"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
prop=
"resource"
>
<p
class=
"formname"
>
开放程度:
</p>
<el-radio-group
v-model=
"form.resource"
>
<el-radio
:label=
"1"
>
共享
</el-radio>
<el-radio
:label=
"2"
>
受限
</el-radio>
<el-radio
:label=
"3"
>
敏感
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-if=
"is_map != 0"
class=
"btn_footer"
>
<el-button
class=
"previous"
@
click=
"goBack('map')"
>
{{
mapBackText
}}
</el-button>
<el-button
class=
"registe"
:disabled=
"mapR"
@
click=
"registeMap"
>
服务发布
</el-button>
</el-form-item>
<el-form-item
v-else-if=
"process_id != ''"
class=
"btn_footer"
>
<el-button
class=
"previous"
@
click=
"goBack('process')"
>
返回流程管理
</el-button>
<el-button
class=
"registe"
:disabled=
"proR"
@
click=
"registeProcess"
>
服务发布
</el-button>
</el-form-item>
<el-form-item
v-else
class=
"btn_footer"
>
<el-button
class=
"previous"
@
click=
"previous"
>
上一步
</el-button>
<el-button
class=
"registe"
:disabled=
"fwR"
@
click=
"registe"
>
服务注册
</el-button>
</el-form-item>
</el-form>
</div>
</block-radius>
</div>
<div
style=
"display: none"
>
<iframe
id=
"listener"
:src=
"addPortalItemUrl"
></iframe>
</div>
<apass-dialog
ref=
"alertChange"
:title=
"dialogInfo.title"
:msg=
"dialogInfo.msg"
:submit=
"dialogInfo.submit"
:cancelHide=
"true"
></apass-dialog>
</div>
</
template
>
<
script
>
const
gisServiceUrl
=
window
.
serviceConfig
.
gisServiceRoot
;
const
gisPortalSiteName
=
window
.
serviceConfig
.
gisPortalSiteName
?
window
.
serviceConfig
.
gisPortalSiteName
:
"
portal
"
;
import
BlockRadius
from
"
@/components/general/block-radius
"
;
import
CesTable
from
"
@/components/table/table-um
"
;
import
Codes
from
"
@/components/general/codes
"
;
import
uploadFile
from
"
@/components/general/upload_file
"
;
import
helper
from
"
@/services/helper
"
;
import
apassDialog
from
"
@/components/apass-dialog
"
;
export
default
{
components
:
{
BlockRadius
,
CesTable
,
apassDialog
,
"
v-apaas-code
"
:
Codes
,
uploadFile
},
data
()
{
return
{
serviceTemplate
:
1
,
// 当前选中的分类 请求回列表后要先赋一下值 索引0的item
currentClass
:
null
,
liucheng_list
:
[
{
one_input
:
""
,
select
:
"
GET
"
,
serviceUrl
:
""
,
datasSj
:
[],
sjfwQqt
:
"
JSON
"
,
sqfsVal
:
0
,
tokenVal
:
""
,
noSearchUrl
:
""
,
resultShow
:
false
,
resSuccess
:
false
,
requestRules
:
0
,
responseRules
:
0
,
request_fields
:
[],
response_fields
:
[],
checkPass
:
false
,
dataType
:
""
,
body_fields
:
[],
param_fields
:
[]
}
],
rulesOne
:
{
one_input
:
[
{
required
:
true
,
message
:
"
请输入服务名称
"
,
trigger
:
"
blur
"
},
{
min
:
0
,
max
:
15
,
message
:
"
服务名称不超过15个字
"
,
trigger
:
"
blur
"
}
]
},
addPortalItemUrl
:
gisServiceUrl
+
"
/
"
+
gisPortalSiteName
+
"
/apaasplat/viewer/addPortalItem.html
"
,
btnList
:
[],
activeBtn
:
null
,
serviceUrl
:
""
,
select
:
"
GET
"
,
optionType
:
[
{
label
:
"
GET
"
,
value
:
"
GET
"
},
{
label
:
"
POST
"
,
value
:
"
POST
"
},
{
label
:
"
PUT
"
,
value
:
"
PUT
"
},
{
label
:
"
DELETE
"
,
value
:
"
DELETE
"
}
],
optionType1
:
[{
label
:
"
GET
"
,
value
:
"
GET
"
}],
optionType2
:
[
{
label
:
"
GET
"
,
value
:
"
GET
"
},
{
label
:
"
POST
"
,
value
:
"
POST
"
}
],
activeName
:
"
0
"
,
activeZh
:
"
0
"
,
sjfwQqcs
:
[
{
label
:
"
请求字段编码
"
,
prop
:
"
requestEncoding
"
,
type
:
"
input
"
,
align
:
"
left
"
},
{
label
:
"
请求值
"
,
prop
:
"
requestValue
"
,
type
:
"
input
"
,
align
:
"
left
"
}
],
sjfwQqcstx
:
[
{
label
:
"
字段编码
"
,
prop
:
"
name
"
,
type
:
""
,
align
:
"
left
"
},
{
label
:
"
示例值
"
,
prop
:
"
example
"
,
type
:
"
input
"
,
align
:
"
left
"
},
{
label
:
"
字段类型
"
,
prop
:
"
show_type
"
,
type
:
""
,
align
:
"
left
"
,
width
:
"
140
"
},
{
label
:
"
字段名称*
"
,
prop
:
"
label
"
,
type
:
"
input
"
,
align
:
"
left
"
},
{
label
:
"
是否必须*
"
,
prop
:
"
is_must
"
,
type
:
"
select
"
,
align
:
"
left
"
,
width
:
100
,
selectArr
:
[
{
label
:
"
是
"
,
value
:
1
},
{
label
:
"
否
"
,
value
:
0
}
],
hasDefault
:
true
},
{
label
:
"
字段说明
"
,
prop
:
"
descript
"
,
type
:
"
input
"
,
align
:
"
left
"
}
],
sjfwFhcstx
:
[
{
label
:
"
字段编码
"
,
prop
:
"
name
"
,
type
:
""
,
align
:
"
left
"
},
{
label
:
"
示例值
"
,
prop
:
"
example
"
,
type
:
"
input
"
,
align
:
"
left
"
},
{
label
:
"
字段类型
"
,
prop
:
"
show_type
"
,
type
:
""
,
align
:
"
left
"
},
{
label
:
"
字段名称*
"
,
prop
:
"
label
"
,
type
:
"
input
"
,
align
:
"
left
"
},
{
label
:
"
字段说明
"
,
prop
:
"
descript
"
,
type
:
"
input
"
,
align
:
"
left
"
}
],
zhfwQqcsForm
:
[
{
label
:
"
请求字段编码
"
,
prop
:
"
key
"
,
type
:
"
input
"
,
align
:
"
left
"
},
{
label
:
"
参数类型
"
,
prop
:
"
field_type
"
,
type
:
"
select
"
,
align
:
"
center
"
,
width
:
100
,
selectArr
:
[
{
label
:
"
text
"
,
value
:
"
text
"
},
{
label
:
"
file
"
,
value
:
"
file
"
}
]
},
{
label
:
"
请求值
"
,
prop
:
"
val
"
,
type
:
"
upload
"
,
align
:
"
center
"
,
uploadKey
:
"
field_type
"
},
{
label
:
"
操作
"
,
type
:
"
Button
"
,
align
:
"
center
"
,
width
:
100
,
btnList
:
[
{
type
:
"
primary-del
"
,
label
:
"
删除
"
}
]
}
],
sjfwQqtcs
:[
{
label
:
"
key
"
,
prop
:
"
requestEncoding
"
,
type
:
"
input
"
,
align
:
"
left
"
},
{
label
:
"
value
"
,
prop
:
"
requestValue
"
,
type
:
"
input
"
,
align
:
"
left
"
}
],
datasQqu
:[],
datasZhForm
:
[],
datasZhwww
:
[],
emptyText
:
"
暂无数据
"
,
resultShow
:
false
,
resSuccess
:
false
,
optionsSq
:
[
{
label
:
"
无授权
"
,
value
:
0
},
{
label
:
"
厂商静态token鉴权
"
,
value
:
1
},
{
label
:
"
动态token鉴权
"
,
value
:
2
},
],
sqfsVal
:
0
,
tokenName
:
"
Authorization
"
,
tokenVal
:
""
,
sjfwQqt
:
"
JSON
"
,
zhfwQqt
:
"
JSON
"
,
zhyyVal
:
""
,
optionsZhyy
:
[],
zhyyVal
:
""
,
jkxy
:
1
,
jkxyList
:
[
{
label
:
"
http(s)
"
,
value
:
1
,
},
{
label
:
"
grpc
"
,
value
:
2
,
},
{
label
:
"
websocket
"
,
value
:
3
,
},
],
jcxxtx
:
false
,
form
:
{
name
:
""
,
desc
:
""
,
area
:
""
,
origin
:
""
,
code
:
"
自动生成
"
,
resource
:
1
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"
请输入服务名称
"
,
trigger
:
"
blur
"
},
{
min
:
0
,
max
:
15
,
message
:
"
服务名称不超过15个字
"
,
trigger
:
"
blur
"
}
],
desc
:
[
{
required
:
true
,
message
:
"
请输入服务描述
"
,
trigger
:
"
blur
"
},
{
min
:
0
,
max
:
200
,
message
:
"
服务描述不超过200个字
"
,
trigger
:
"
blur
"
}
],
area
:
[
{
required
:
true
,
message
:
"
请选择业务领域
"
,
trigger
:
"
change
"
}
],
origin
:
[
{
required
:
true
,
message
:
"
请选择所属组织
"
,
trigger
:
"
blur
"
}
],
resource
:
[
{
required
:
true
,
message
:
"
请选择开放程度
"
,
trigger
:
"
blur
"
}
]
},
rules_process
:
{
name
:
[
{
required
:
true
,
message
:
"
请输入服务名称
"
,
trigger
:
"
blur
"
},
{
min
:
0
,
max
:
100
,
message
:
"
服务名称不超过100个字
"
,
trigger
:
"
blur
"
}
],
desc
:
[
{
required
:
true
,
message
:
"
请输入服务描述
"
,
trigger
:
"
blur
"
},
{
min
:
0
,
max
:
400
,
message
:
"
服务描述不超过400个字
"
,
trigger
:
"
blur
"
}
],
area
:
[{
required
:
true
,
message
:
"
请选择业务领域
"
,
trigger
:
"
blur
"
}],
origin
:
[
{
required
:
true
,
message
:
"
请选择所属组织
"
,
trigger
:
"
blur
"
}
],
resource
:
[
{
required
:
true
,
message
:
"
请选择开放程度
"
,
trigger
:
"
blur
"
}
]
},
cover
:
[],
optionsArea
:
[],
datasSj
:
[],
datasZh
:
[],
datasQqcs
:
[],
datasFhcs
:
[],
request_fields
:
[],
response_fields
:
[],
noSearchUrl
:
""
,
requestRules
:
0
,
responseRules
:
0
,
is_map
:
0
,
mapBackText
:
"
返回智能制图
"
,
process_id
:
""
,
param_fields
:
[],
body_fields
:
[],
dialogInfo
:
{
title
:
"
时空服务参数已修改
"
,
msg
:
""
,
submit
:
null
},
is_portal
:
false
,
portal_id
:
""
,
dataType
:
""
,
jkwds
:
[],
gz_fhsjgs
:
"
JSON
"
,
code_1_index
:
0
,
code_2_index
:
0
,
user_id
:
""
,
fwR
:
false
,
mapR
:
false
,
proR
:
false
,
fwdesc
:
"
/apaas/service/v3/service/manager/register/instruction
"
,
};
},
computed
:
{},
watch
:
{},
methods
:
{
test
()
{
console
.
log
(
this
.
jkxy
)
},
getCurrentUser
()
{
this
.
$api
.
user
.
getNowUser
().
then
(({
data
})
=>
{
if
(
data
.
success
==
1
)
{
this
.
$store
.
commit
(
"
userInfofun
"
,
data
.
data
);
}
else
{
console
.
log
(
data
.
errMsg
);
}
});
},
clickBtn
(
val
,
item
)
{
this
.
jkxy
=
1
this
.
resultShow
=
false
;
this
.
activeBtn
=
val
;
this
.
select
=
"
GET
"
;
this
.
serviceUrl
=
""
;
this
.
noSearchUrl
=
""
;
this
.
gz_fhsjgs
=
"
JSON
"
;
this
.
zhyyVal
=
item
.
childDomains
&&
item
.
childDomains
.
length
>
0
?
item
.
childDomains
[
0
].
id
:
''
this
.
datasSj
=
[];
this
.
tokenVal
=
""
;
this
.
datasZh
=
[];
this
.
zhfwQqt
=
"
JSON
"
;
this
.
datasZhForm
=
[];
this
.
datasZhwww
=
[];
this
.
liucheng_list
=
[
{
one_input
:
""
,
select
:
"
GET
"
,
serviceUrl
:
""
,
datasSj
:
[],
sjfwQqt
:
"
JSON
"
,
sqfsVal
:
0
,
tokenVal
:
""
,
noSearchUrl
:
""
,
resultShow
:
false
,
resSuccess
:
false
,
requestRules
:
0
,
responseRules
:
0
,
request_fields
:
[],
response_fields
:
[],
checkPass
:
false
,
dataType
:
""
,
body_fields
:
[],
param_fields
:
[]
}
];
this
.
activeName
=
"
0
"
;
this
.
code_1_index
+=
1
;
this
.
code_2_index
+=
1
;
this
.
jkwds
=
[];
this
.
serviceTemplate
=
item
.
childDomains
&&
item
.
childDomains
.
length
>
0
?
item
.
childDomains
[
0
].
serv_template
:
item
.
serv_template
this
.
currentClass
=
item
},
getUrl
(
enUrl
)
{
enUrl
=
enUrl
.
replace
(
/
\s
*/g
,
""
);
let
url
=
decodeURI
(
enUrl
);
let
arr
=
[];
if
(
url
.
indexOf
(
"
?
"
)
!=
-
1
)
{
this
.
noSearchUrl
=
url
.
substring
(
0
,
url
.
indexOf
(
"
?
"
));
let
search
=
url
.
substring
(
url
.
indexOf
(
"
?
"
)
+
1
);
let
vars
=
search
.
split
(
"
&
"
);
for
(
let
i
=
0
;
i
<
vars
.
length
;
i
++
)
{
if
(
vars
[
i
]
!=
""
)
{
let
pair
=
vars
[
i
].
split
(
"
=
"
);
arr
[
i
]
=
{};
arr
[
i
].
requestEncoding
=
pair
[
0
]
?
pair
[
0
]
:
""
;
arr
[
i
].
requestValue
=
pair
[
1
]
?
pair
[
1
]
:
""
;
}
}
}
else
{
this
.
noSearchUrl
=
enUrl
;
}
this
.
serviceUrl
=
url
;
if
(
this
.
serviceTemplate
==
1
||
this
.
serviceTemplate
==
7
)
{
this
.
datasSj
=
arr
;
}
else
if
(
this
.
serviceTemplate
==
8
||
this
.
serviceTemplate
==
9
||
this
.
serviceTemplate
==
10
||
this
.
serviceTemplate
==
11
)
{
this
.
datasZh
=
arr
;
}
},
clickFwcs
()
{
let
headers
=
{};
let
requestData
=
{};
let
requestHeaderDataObj
=
{};
let
request
=
[]
let
bodys
=
""
;
let
contentType
=
""
;
if
(
this
.
jkxy
!=
1
)
{
}
else
{
if
(
this
.
serviceTemplate
==
1
||
this
.
serviceTemplate
==
7
)
{
if
(
this
.
sqfsVal
==
1
||
this
.
sqfsVal
==
3
)
{
if
(
this
.
tokenName
==
""
)
{
this
.
$message
.
error
(
"
请输入token名称
"
);
return
;
}
if
(
this
.
tokenVal
==
""
)
{
this
.
$message
.
error
(
"
请输入token值
"
);
return
;
}
}
let
request
=
this
.
$refs
.
fwcs_sjfw_qq
.
getTableData
();
for
(
let
i
=
0
;
i
<
request
.
length
;
i
++
)
{
if
(
request
[
i
]
&&
request
[
i
].
requestEncoding
&&
request
[
i
].
requestValue
&&
request
[
i
].
requestEncoding
!=
""
&&
request
[
i
].
requestValue
!=
""
)
{
if
(
Object
.
keys
(
requestData
).
indexOf
(
request
[
i
].
requestEncoding
)
==
-
1
)
{
requestData
[
request
[
i
].
requestEncoding
]
=
[];
requestData
[
request
[
i
].
requestEncoding
][
0
]
=
request
[
i
].
requestValue
;
}
else
{
requestData
[
request
[
i
].
requestEncoding
].
push
(
request
[
i
].
requestValue
);
}
}
}
}
else
if
(
this
.
serviceTemplate
==
2
||
this
.
serviceTemplate
==
3
||
this
.
serviceTemplate
==
4
||
this
.
serviceTemplate
==
5
)
{
}
else
if
(
this
.
serviceTemplate
==
8
||
this
.
serviceTemplate
==
9
||
this
.
serviceTemplate
==
10
)
{
let
request
=
this
.
$refs
.
fwcs_zhfw_qq
.
getTableData
();
for
(
let
i
=
0
;
i
<
request
.
length
;
i
++
)
{
if
(
request
[
i
]
&&
request
[
i
].
requestEncoding
&&
request
[
i
].
requestValue
&&
request
[
i
].
requestEncoding
!=
""
&&
request
[
i
].
requestValue
!=
""
)
{
if
(
Object
.
keys
(
requestData
).
indexOf
(
request
[
i
].
requestEncoding
)
==
-
1
)
{
requestData
[
request
[
i
].
requestEncoding
]
=
[];
requestData
[
request
[
i
].
requestEncoding
][
0
]
=
request
[
i
].
requestValue
;
}
else
{
requestData
[
request
[
i
].
requestEncoding
].
push
(
request
[
i
].
requestValue
);
}
}
}
}
if
(
this
.
serviceTemplate
==
1
||
this
.
serviceTemplate
==
6
||
this
.
serviceTemplate
==
7
||
this
.
serviceTemplate
==
8
||
this
.
serviceTemplate
==
9
||
this
.
serviceTemplate
==
10
){
let
requestHeader
=
this
.
$refs
.
fwcs_zhfw_qqtcs
.
getTableData
();
for
(
let
i
=
0
;
i
<
requestHeader
.
length
;
i
++
)
{
if
(
requestHeader
[
i
]
&&
requestHeader
[
i
].
requestEncoding
&&
requestHeader
[
i
].
requestValue
&&
requestHeader
[
i
].
requestEncoding
!=
""
&&
requestHeader
[
i
].
requestValue
!=
""
)
{
console
.
log
(
Object
.
keys
(
requestHeaderDataObj
).
indexOf
(
requestHeader
[
i
].
requestEncoding
)
==
-
1
)
if
(
Object
.
keys
(
requestHeaderDataObj
).
indexOf
(
requestHeader
[
i
].
requestEncoding
)
==
-
1
)
{
requestHeaderDataObj
[
requestHeader
[
i
].
requestEncoding
]
=
[];
requestHeaderDataObj
[
requestHeader
[
i
].
requestEncoding
][
0
]
=
requestHeader
[
i
].
requestValue
;
}
else
{
requestHeaderDataObj
[
requestHeader
[
i
].
requestEncoding
].
push
(
requestHeader
[
i
].
requestValue
);
}
}
}
headers
=
Object
.
assign
(
headers
,
requestHeaderDataObj
)
}
if
(
this
.
serviceTemplate
==
1
||
this
.
serviceTemplate
==
7
)
{
bodys
=
this
.
$refs
.
jsonCodes
?
this
.
$refs
.
jsonCodes
.
getCodesVal
()
:
""
;
contentType
=
this
.
sjfwQqt
;
}
else
if
(
this
.
serviceTemplate
==
8
||
this
.
serviceTemplate
==
9
||
this
.
serviceTemplate
==
10
||
this
.
serviceTemplate
==
11
)
{
if
(
this
.
activeZh
==
"
1
"
)
{
contentType
=
this
.
zhfwQqt
;
if
(
this
.
zhfwQqt
==
"
JSON
"
)
{
bodys
=
this
.
$refs
.
zhfwJsonCodes
?
this
.
$refs
.
zhfwJsonCodes
.
getCodesVal
()
:
""
;
}
else
if
(
this
.
zhfwQqt
==
"
form-data
"
)
{
let
request
=
this
.
$refs
.
fwcs_zhfw_qq_form
.
getTableData
().
concat
();
request
.
pop
();
bodys
=
JSON
.
stringify
(
request
);
}
else
if
(
this
.
zhfwQqt
==
"
x-www-form-urlencoded
"
)
{
let
request
=
this
.
$refs
.
fwcs_zhfw_www
.
getTableData
().
concat
();
let
arr
=
[];
request
.
pop
();
request
.
forEach
(
item
=>
{
arr
.
push
({
key
:
item
.
requestEncoding
,
val
:
item
.
requestValue
,
field_type
:
"
text
"
});
});
bodys
=
JSON
.
stringify
(
arr
);
}
}
}
}
let
query
=
{
interface_typ
:
this
.
jkxy
,
method
:
this
.
select
,
url
:
this
.
serviceUrl
,
req_auth_mthod
:
this
.
sqfsVal
,
req_auth_token
:
this
.
sqfsVal
==
1
||
this
.
sqfsVal
==
3
?
this
.
tokenVal
:
""
,
req_auth_token_name
:
this
.
sqfsVal
==
1
||
this
.
sqfsVal
==
3
?
this
.
tokenName
:
""
,
headers
:
headers
,
params
:
requestData
,
body
:
bodys
,
content_type
:
contentType
,
data_service_type1
:
this
.
currentClass
.
id
,
data_service_type2
:
this
.
zhyyVal
==
""
?
0
:
this
.
zhyyVal
,
response_type
:
this
.
serviceTemplate
==
7
?
this
.
gz_fhsjgs
:
"
JSON
"
};
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
.
dataType
=
"
body
"
;
}
else
{
this
.
datasQqcs
=
data
.
param_fields
;
this
.
dataType
=
"
param
"
;
}
this
.
datasFhcs
=
data
.
response_fields
;
this
.
resSuccess
=
true
;
this
.
resultShow
=
true
;
}
else
{
this
.
resSuccess
=
false
;
this
.
resultShow
=
true
;
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
clickTab
()
{},
resetSjfw
()
{
this
.
clickFwcs
();
},
nextJcxx
()
{
if
(
this
.
serviceTemplate
==
1
||
this
.
serviceTemplate
==
6
||
this
.
serviceTemplate
==
7
||
this
.
serviceTemplate
==
8
||
this
.
serviceTemplate
==
9
)
{
if
(
this
.
serviceTemplate
==
6
||
this
.
serviceTemplate
==
7
)
{
if
(
this
.
jkwds
.
length
==
0
)
{
this
.
$message
.
error
(
"
请上传接口文档
"
);
}
else
{
if
(
this
.
serviceTemplate
==
6
||
this
.
serviceTemplate
==
8
)
{
this
.
request_fields
=
[];
this
.
response_fields
=
[];
this
.
jcxxtx
=
true
;
this
.
getOrganization
();
}
else
{
let
requestData
=
this
.
$refs
.
fwcs_sjfw_qqcs
.
getTableData
();
let
responseData
=
this
.
$refs
.
fwcs_sjfw_fhcs
.
getTableData
();
this
.
requestRules
=
0
;
this
.
responseRules
=
0
;
this
.
checkTable
(
requestData
,
0
);
this
.
checkTable
(
responseData
,
1
);
if
(
this
.
requestRules
==
0
&&
this
.
responseRules
==
0
)
{
this
.
request_fields
=
requestData
;
this
.
response_fields
=
responseData
;
this
.
jcxxtx
=
true
;
this
.
getOrganization
();
}
else
if
(
this
.
requestRules
!=
0
)
{
this
.
$message
.
error
(
"
请完善请求参数信息中的字段名称
"
);
}
else
if
(
this
.
responseRules
!=
0
)
{
this
.
$message
.
error
(
"
请完善返回参数信息中的字段名称
"
);
}
}
}
}
else
{
let
requestData
=
this
.
$refs
.
fwcs_sjfw_qqcs
.
getTableData
();
let
responseData
=
this
.
$refs
.
fwcs_sjfw_fhcs
.
getTableData
();
this
.
requestRules
=
0
;
this
.
responseRules
=
0
;
this
.
checkTable
(
requestData
,
0
);
this
.
checkTable
(
responseData
,
1
);
if
(
this
.
requestRules
==
0
&&
this
.
responseRules
==
0
)
{
this
.
request_fields
=
requestData
;
this
.
response_fields
=
responseData
;
this
.
jcxxtx
=
true
;
this
.
getOrganization
();
}
else
if
(
this
.
requestRules
!=
0
)
{
this
.
$message
.
error
(
"
请完善请求参数信息中的字段名称
"
);
}
else
if
(
this
.
responseRules
!=
0
)
{
this
.
$message
.
error
(
"
请完善返回参数信息中的字段名称
"
);
}
}
}
else
if
(
this
.
serviceTemplate
==
2
||
this
.
serviceTemplate
==
3
||
this
.
serviceTemplate
==
4
||
this
.
serviceTemplate
==
5
)
{
let
value
=
helper
.
getQueryString
(
"
id
"
,
this
.
serviceUrl
);
console
.
log
(
value
);
if
(
value
&&
value
!=
""
)
{
this
.
getItemInfo
(
value
);
}
else
{
this
.
form
.
name
=
""
;
this
.
form
.
desc
=
""
;
this
.
form
.
area
=
""
;
this
.
cover
=
[];
}
this
.
request_fields
=
[];
this
.
response_fields
=
[];
this
.
jcxxtx
=
true
;
this
.
getOrganization
();
}
else
{
this
.
request_fields
=
[];
this
.
response_fields
=
[];
this
.
jcxxtx
=
true
;
this
.
getOrganization
();
}
},
checkTable
(
arr
,
rule
)
{
let
self
=
this
;
for
(
let
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
arr
[
i
].
name
&&
arr
[
i
].
name
!=
""
)
{
if
(
!
arr
[
i
].
label
||
arr
[
i
].
label
==
""
)
{
if
(
rule
==
0
)
{
this
.
requestRules
=
1
;
}
else
if
(
rule
==
1
)
{
this
.
responseRules
=
1
;
}
return
false
;
}
}
if
(
arr
[
i
].
children
&&
arr
[
i
].
children
.
length
!=
0
)
{
self
.
checkTable
(
arr
[
i
].
children
,
rule
);
}
}
},
// edit form
getNewList
(
val
)
{
this
.
cover
[
0
]
=
val
[
0
].
url
;
},
previous
()
{
this
.
datasQqcs
=
this
.
request_fields
;
this
.
datasFhcs
=
this
.
response_fields
;
this
.
jcxxtx
=
false
;
},
getNewListOne
(
val
)
{
this
.
jkwds
[
0
]
=
val
[
0
].
url
;
},
getOrganization
()
{
if
(
this
.
$store
.
state
.
userInfo
&&
this
.
$store
.
state
.
userInfo
.
user_id
)
{
let
query
=
{
id
:
this
.
$store
.
state
.
userInfo
.
user_id
};
this
.
$api
.
user
.
getUserDetail
(
query
).
then
(
request
=>
{
if
(
request
.
data
.
success
==
1
)
{
this
.
form
.
origin
=
request
.
data
.
data
.
department
;
this
.
oid
=
request
.
data
.
data
.
department_id
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
}
else
{
let
self
=
this
;
self
.
$api
.
user
.
getNowUser
().
then
(({
data
})
=>
{
if
(
data
.
success
==
1
)
{
self
.
$store
.
commit
(
"
userInfofun
"
,
data
.
data
);
let
query
=
{
id
:
self
.
$store
.
state
.
userInfo
.
user_id
};
self
.
$api
.
user
.
getUserDetail
(
query
).
then
(
request
=>
{
if
(
request
.
data
.
success
==
1
)
{
self
.
form
.
origin
=
request
.
data
.
data
.
department
;
self
.
oid
=
request
.
data
.
data
.
department_id
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
}
else
{
console
.
log
(
data
.
errMsg
);
}
});
}
},
registeMap
()
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
cover
.
length
!=
0
)
{
this
.
mapR
=
true
;
let
query
=
{};
if
(
this
.
is_map
==
1
||
this
.
is_map
==
5
)
{
query
=
{
name
:
this
.
form
.
name
,
sectors
:
this
.
form
.
area
,
organization
:
this
.
form
.
origin
,
cover
:
this
.
cover
[
0
],
openness
:
this
.
form
.
resource
,
descript
:
this
.
form
.
desc
,
data_service_type1
:
6
,
data_service_type2
:
this
.
zhyyVal
,
encode_method
:
this
.
form
.
code
,
portal_id
:
this
.
portal_id
,
doc_file
:
""
,
urls
:
[
{
name
:
""
,
response_type
:
"
JSON
"
,
req_auth_mthod
:
0
,
req_auth_token
:
""
,
req_auth_token_name
:
""
,
method
:
"
GET
"
,
url
:
this
.
serviceUrl
,
request_fields
:
[],
request_query_fields
:
[],
response_fields
:
[],
content_type
:
"
JSON
"
}
]
};
}
else
if
(
this
.
is_map
==
4
)
{
query
=
{
name
:
this
.
form
.
name
,
sectors
:
this
.
form
.
area
,
organization
:
this
.
form
.
origin
,
cover
:
this
.
cover
[
0
],
openness
:
this
.
form
.
resource
,
descript
:
this
.
form
.
desc
,
data_service_type1
:
21
,
data_service_type2
:
34
,
encode_method
:
this
.
form
.
code
,
portal_id
:
this
.
portal_id
,
urls
:
[
{
name
:
""
,
response_type
:
"
JSON
"
,
req_auth_mthod
:
0
,
req_auth_token
:
""
,
req_auth_token_name
:
""
,
method
:
"
GET
"
,
url
:
this
.
serviceUrl
,
request_fields
:
[],
request_query_fields
:
[],
response_fields
:
[],
content_type
:
"
JSON
"
}
]
};
}
this
.
$api
.
workbench
.
serviceAdd
(
query
).
then
(
response
=>
{
this
.
mapR
=
false
;
if
(
response
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
服务发布成功
"
);
this
.
$router
.
push
(
"
/fwgl/
"
+
this
.
$store
.
getters
.
level
);
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
this
.
$message
.
error
(
response
.
data
.
errMsg
);
}
});
}
else
{
this
.
$message
.
error
(
"
请上传服务封面
"
);
}
}
else
{
this
.
$message
.
error
(
"
请完善服务基本信息
"
);
}
});
},
registeProcess
()
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
cover
.
length
!=
0
)
{
this
.
proR
=
true
;
let
query
=
{
workflows_id
:
Number
(
this
.
process_id
),
// 服务流程id
service_name
:
this
.
form
.
name
,
// 服务名称
describe
:
this
.
form
.
desc
,
// 服务描述
sector
:
this
.
form
.
area
,
// 服务领域id
oid
:
this
.
oid
,
// 组织id
encode_method
:
this
.
form
.
code
,
// 接口编码
cover
:
this
.
cover
[
0
],
// 服务封面
openness
:
this
.
form
.
resource
// 开放程度,1共享/2受限/3敏感
};
this
.
$api
.
workbench
.
releaseProcess
(
query
).
then
(
response
=>
{
this
.
proR
=
false
;
if
(
response
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
服务发布成功
"
);
this
.
$router
.
push
(
"
/fwgl/
"
+
this
.
$store
.
getters
.
level
);
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
this
.
$message
.
error
(
response
.
data
.
errMsg
);
}
});
}
else
{
this
.
$message
.
error
(
"
请上传服务封面
"
);
}
}
else
{
this
.
$message
.
error
(
"
请完善服务基本信息
"
);
}
});
},
registe
()
{
if
(
this
.
serviceTemplate
==
10
)
{
this
.
registeOne
();
}
else
{
this
.
registePt
();
}
},
registePt
()
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
(
this
.
serviceTemplate
==
6
&&
this
.
jkwds
.
length
==
0
)
||
(
this
.
serviceTemplate
==
7
&&
this
.
jkwds
.
length
==
0
)
)
{
this
.
$message
.
error
(
"
请上传接口文档
"
);
}
else
{
if
(
this
.
cover
.
length
!=
0
)
{
let
contentType
=
""
;
if
(
(
this
.
serviceTemplate
==
2
||
this
.
serviceTemplate
==
3
||
this
.
serviceTemplate
==
4
||
this
.
serviceTemplate
==
5
)
&&
!
this
.
is_portal
&&
window
.
serviceConfig
&&
window
.
serviceConfig
.
state
==
"
needLogin
"
)
{
this
.
addPortalItem
();
}
else
{
this
.
fwR
=
true
;
if
(
this
.
serviceTemplate
==
1
||
this
.
serviceTemplate
==
6
||
this
.
serviceTemplate
==
7
)
{
contentType
=
this
.
sjfwQqt
;
}
else
if
(
this
.
serviceTemplate
==
8
||
this
.
serviceTemplate
==
9
||
this
.
serviceTemplate
==
10
||
this
.
serviceTemplate
==
11
)
{
if
(
this
.
activeZh
==
"
1
"
)
{
contentType
=
this
.
zhfwQqt
;
}
}
let
query
=
{
serv_template
:
this
.
serviceTemplate
,
interface_typ
:
this
.
jkxy
,
proxy_address
:
this
.
serviceUrl
,
name
:
this
.
form
.
name
,
sectors
:
this
.
form
.
area
,
organization
:
this
.
form
.
origin
,
cover
:
this
.
cover
[
0
],
openness
:
this
.
form
.
resource
,
descript
:
this
.
form
.
desc
,
data_service_type1
:
this
.
currentClass
.
id
,
data_service_type2
:
this
.
zhyyVal
==
""
?
0
:
this
.
zhyyVal
,
portal_id
:
this
.
portal_id
,
doc_file
:
this
.
jkwds
.
length
!=
0
?
this
.
jkwds
[
0
]
:
""
,
urls
:
[
{
name
:
""
,
response_type
:
this
.
serviceTemplate
==
7
?
this
.
gz_fhsjgs
:
"
JSON
"
,
req_auth_mthod
:
this
.
sqfsVal
,
req_auth_token
:
this
.
sqfsVal
==
1
?
this
.
tokenVal
:
""
,
req_auth_token_name
:
this
.
sqfsVal
==
1
?
this
.
tokenName
:
""
,
method
:
this
.
jkxy
==
1
?
this
.
select
:
''
,
url
:
this
.
serviceUrl
,
request_fields
:
this
.
dataType
==
"
body
"
?
this
.
request_fields
:
this
.
body_fields
,
request_query_fields
:
this
.
dataType
==
"
param
"
?
this
.
request_fields
:
this
.
param_fields
,
response_fields
:
this
.
response_fields
,
content_type
:
contentType
}
]
};
if
(
this
.
jkxy
==
1
)
{
query
.
encode_method
=
this
.
form
.
code
}
this
.
$api
.
workbench
.
serviceAdd
(
query
).
then
(
response
=>
{
this
.
fwR
=
false
;
if
(
response
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
服务注册成功
"
);
this
.
$router
.
push
(
"
/fwgl/
"
+
this
.
$store
.
getters
.
level
);
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
this
.
$message
.
error
(
response
.
data
.
errMsg
);
}
});
}
}
else
{
this
.
$message
.
error
(
"
请上传服务封面
"
);
}
}
}
else
{
this
.
$message
.
error
(
"
请完善服务基本信息
"
);
}
});
},
registeOne
()
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
cover
.
length
!=
0
)
{
if
(
this
.
jkwds
.
length
==
0
&&
this
.
jkxy
==
1
)
{
this
.
$message
.
error
(
"
请上传接口文档
"
);
}
else
{
this
.
fwR
=
true
;
let
urls
=
[];
this
.
liucheng_list
.
forEach
(
item
=>
{
urls
.
push
({
req_name
:
item
.
one_input
,
response_type
:
"
JSON
"
,
req_auth_mthod
:
item
.
sqfsVal
,
req_auth_token
:
item
.
sqfsVal
==
1
?
item
.
tokenVal
:
""
,
req_auth_token_name
:
item
.
sqfsVal
==
1
?
item
.
tokenName
:
""
,
method
:
this
.
jkxy
==
1
?
item
.
select
:
''
,
url
:
item
.
serviceUrl
,
request_fields
:
item
.
dataType
==
"
body
"
?
item
.
request_fields
:
item
.
body_fields
,
request_query_fields
:
item
.
dataType
==
"
param
"
?
item
.
request_fields
:
item
.
param_fields
,
response_fields
:
item
.
response_fields
,
content_type
:
"
JSON
"
});
});
let
query
=
{
serv_template
:
this
.
serviceTemplate
,
interface_typ
:
this
.
jkxy
,
proxy_address
:
this
.
jkxy
==
1
?
''
:
this
.
serviceUrl
,
name
:
this
.
form
.
name
,
sectors
:
this
.
form
.
area
,
organization
:
this
.
form
.
origin
,
cover
:
this
.
cover
[
0
],
openness
:
this
.
form
.
resource
,
descript
:
this
.
form
.
desc
,
data_service_type1
:
this
.
currentClass
.
id
,
data_service_type2
:
this
.
zhyyVal
==
""
?
0
:
this
.
zhyyVal
,
portal_id
:
this
.
portal_id
,
urls
:
urls
,
doc_file
:
this
.
jkwds
.
length
!=
0
?
this
.
jkwds
[
0
]
:
""
};
if
(
this
.
jkxy
==
1
)
{
query
.
encode_method
=
this
.
form
.
code
}
this
.
$api
.
workbench
.
serviceAdd
(
query
).
then
(
response
=>
{
this
.
fwR
=
false
;
if
(
response
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
服务注册成功
"
);
this
.
$router
.
push
(
"
/fwgl/
"
+
this
.
$store
.
getters
.
level
);
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
this
.
$message
.
error
(
response
.
data
.
errMsg
);
}
});
}
}
else
{
this
.
$message
.
error
(
"
请上传服务封面
"
);
}
}
else
{
this
.
$message
.
error
(
"
请完善服务基本信息
"
);
}
});
},
changeTable
(
val
)
{
let
search
=
"
?
"
;
for
(
let
i
=
0
;
i
<
val
.
length
;
i
++
)
{
if
(
val
[
i
].
requestEncoding
!=
""
)
{
search
=
search
+
val
[
i
].
requestEncoding
+
"
=
"
+
(
val
[
i
].
requestValue
?
val
[
i
].
requestValue
:
""
)
+
"
&
"
;
}
}
let
searchDel
=
search
.
substring
(
0
,
search
.
length
-
1
);
this
.
serviceUrl
=
this
.
noSearchUrl
+
searchDel
;
},
delItemQq
(
val
)
{
let
arr
=
this
.
$refs
.
fwcs_zhfw_qq_form
.
getTableData
();
this
.
delById
(
arr
,
val
.
id
);
},
delById
(
arr
,
id
)
{
let
self
=
this
;
for
(
let
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
arr
[
i
].
id
==
id
)
{
arr
.
splice
(
i
,
1
);
return
false
;
}
if
(
arr
[
i
].
children
&&
arr
[
i
].
children
.
length
!=
0
)
{
self
.
delById
(
arr
[
i
].
children
,
id
);
}
}
},
changeZhType
(
val
)
{
this
.
serviceUrl
=
""
;
this
.
select
=
"
GET
"
;
this
.
activeZh
=
"
0
"
;
this
.
resultShow
=
false
;
this
.
resSuccess
=
false
;
console
.
log
(
this
.
currentClass
.
childDomains
)
this
.
currentClass
.
childDomains
.
forEach
(
e
=>
{
if
(
e
.
id
==
val
)
{
this
.
serviceTemplate
=
e
.
serv_template
}
})
},
changeZhfwQqt
()
{},
getArea
()
{
this
.
$api
.
workbench
.
getServiceAreaList
().
then
(
response
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
optionsArea
=
response
.
data
.
data
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
getServiceType1
()
{
this
.
$api
.
workbench
.
getServiceTypeList
().
then
(
response
=>
{
if
(
response
.
data
.
success
==
1
)
{
let
arr
=
response
.
data
.
data
;
this
.
btnList
=
arr
;
this
.
currentClass
=
this
.
btnList
[
0
]
this
.
zhyyVal
==
this
.
currentClass
.
childDomains
&&
this
.
currentClass
.
childDomains
.
length
>
0
?
this
.
currentClass
.
childDomains
[
0
].
id
:
""
this
.
activeBtn
=
0
;
}
else
{
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
judgeMap
()
{
let
self
=
this
;
if
(
self
.
$route
.
query
.
map
&&
self
.
$route
.
query
.
map
!=
0
)
{
self
.
is_map
=
self
.
$route
.
query
.
map
;
self
.
jcxxtx
=
true
;
if
(
self
.
$store
.
state
.
znztParams
)
{
self
.
mapBackText
=
"
返回智能制图
"
;
let
data
=
this
.
$store
.
state
.
znztParams
;
self
.
form
.
name
=
data
.
name
;
self
.
form
.
desc
=
data
.
descript
;
self
.
form
.
area
=
Number
(
data
.
sectors
);
self
.
serviceUrl
=
data
.
url
;
self
.
zhyyVal
=
Number
(
data
.
data_service_type2
);
self
.
cover
[
0
]
=
data
.
cover
;
self
.
portal_id
=
data
.
portalid
;
self
.
is_portal
=
true
;
}
else
if
(
self
.
$store
.
state
.
cesiumMapParams
)
{
self
.
mapBackText
=
"
返回三维制图
"
;
let
data
=
this
.
$store
.
state
.
cesiumMapParams
;
self
.
form
.
name
=
data
.
name
;
self
.
form
.
desc
=
data
.
descript
;
self
.
form
.
area
=
Number
(
data
.
sectors
);
self
.
serviceUrl
=
data
.
url
;
self
.
zhyyVal
=
Number
(
data
.
data_service_type2
);
self
.
cover
[
0
]
=
data
.
cover
;
self
.
portal_id
=
data
.
portalid
;
self
.
is_portal
=
true
;
}
else
if
(
self
.
$store
.
state
.
appBuilderParams
)
{
self
.
mapBackText
=
"
返回Web应用程序
"
;
let
data
=
this
.
$store
.
state
.
appBuilderParams
;
self
.
form
.
name
=
data
.
name
;
self
.
form
.
desc
=
data
.
descript
;
self
.
form
.
area
=
Number
(
data
.
sectors
);
self
.
serviceUrl
=
data
.
url
;
self
.
zhyyVal
=
Number
(
data
.
data_service_type2
);
self
.
cover
[
0
]
=
data
.
cover
;
self
.
portal_id
=
data
.
portalid
;
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
();
}
},
goBack
(
type
)
{
let
self
=
this
;
if
(
type
==
"
map
"
)
{
// self.$store.commit("setZnztDetailsParams", {
// type: "",
// queryType: "webmap",
// id: self.portal_id,
// });
// this.$router.push("/intelligent_drawing");
if
(
self
.
is_map
==
1
)
{
let
shareWebMapParam
=
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
"
shareWebMapParam
"
)
);
window
.
location
.
href
=
"
/vmap/#/map
"
+
`?id=
${
shareWebMapParam
.
portalid
}
`
;
}
else
if
(
self
.
is_map
==
4
)
{
self
.
$router
.
back
(
-
1
);
}
else
if
(
self
.
is_map
==
5
)
{
let
shareCesiumMapParam
=
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
"
shareCesiumMapParam
"
)
);
window
.
location
.
href
=
"
/cesiummap/#/map
"
+
`?id=
${
shareCesiumMapParam
.
portalid
}
`
;
}
else
{
let
shareWebMapParam
=
JSON
.
parse
(
window
.
sessionStorage
.
getItem
(
"
shareWebMapParam
"
)
);
window
.
location
.
href
=
"
/vmap/#/map
"
+
`?id=
${
shareWebMapParam
.
portalid
}
`
;
}
}
else
if
(
type
==
"
process
"
)
{
this
.
$router
.
push
(
"
/progress/designer
"
);
}
},
addPortalItem
()
{
console
.
log
(
"
添加portal
"
);
let
self
=
this
;
document
.
getElementById
(
"
listener
"
).
contentWindow
.
postMessage
(
{
cmd
:
"
addPortalItem
"
,
params
:
{
name
:
self
.
form
.
name
,
url
:
self
.
serviceUrl
,
sectors
:
self
.
form
.
area
,
data_service_type2
:
self
.
zhyyVal
,
descript
:
self
.
form
.
desc
}
},
"
*
"
);
},
getItemInfo
(
itemid
)
{
console
.
log
(
`获取portal参数
${
itemid
}
`
);
document
.
getElementById
(
"
listener
"
).
contentWindow
.
postMessage
(
{
cmd
:
"
getPortalItemInfo
"
,
params
:
itemid
},
"
*
"
);
},
listeners
(
event
)
{
let
self
=
this
;
if
(
event
&&
event
.
origin
==
gisServiceUrl
&&
event
.
data
)
{
if
(
event
.
data
.
cmd
==
"
getPortalItemInfo
"
)
{
console
.
log
(
event
.
data
.
params
);
let
data
=
event
.
data
.
params
;
self
.
form
.
name
=
data
.
name
;
self
.
form
.
desc
=
data
.
descript
;
self
.
form
.
area
=
Number
(
data
.
sectors
);
self
.
portal_id
=
data
.
portalid
;
self
.
cover
[
0
]
=
data
.
cover
;
if
(
self
.
serviceUrl
!=
data
.
url
||
self
.
zhyyVal
!=
Number
(
data
.
data_service_type2
)
)
{
self
.
serviceUrl
=
data
.
url
;
self
.
zhyyVal
=
Number
(
data
.
data_service_type2
);
self
.
dialogInfo
.
msg
=
`您的时空服务地址已更新为
${
self
.
serviceUrl
}
,服务类型更新为
${
self
.
this
.
currentClass
.
childDomains
.
find
(
item
=>
{
return
item
.
id
==
self
.
zhyyVal
;
}).
name
}
。
`;
self.dialogInfo.submit = () => {
self.$refs.alertChange.hide();
};
self.$refs.alertChange.show();
}
self.is_portal = true;
} else if (event.data.cmd == "getPortalItemInfoError") {
console.log(event.data.params);
self.is_portal = false;
} else if (event.data.cmd == "addPortalItem") {
console.log(event.data.params);
self.portal_id = event.data.params;
self.is_portal = true;
self.registe();
} else if (event.data.cmd == "addPortalItemError") {
console.log(event.data.params);
self.is_portal = false;
}
}
},
getProcessDetail() {
this.$api.workbench
.getProcessDetail({ id: this.process_id })
.then(response => {
if (response.data.success == 1) {
let data = response.data.data;
this.form.name = data.name;
this.form.desc = data.describe;
this.cover.push(
"/apaas/static/docs/image/image/blob_75dc5c77-754c-440d-8320-92ba68d239d5.blob"
);
}
});
},
newOne(indexOne) {
this.$refs["ruleFormOne_" + indexOne][0].validate(valid => {
if (valid) {
if (this.liucheng_list[indexOne].resSuccess) {
this.checkOne(indexOne, true);
console.log(this.liucheng_list[indexOne]);
if (this.liucheng_list[indexOne].checkPass) {
this.liucheng_list.push({
one_input: "",
select: "GET",
serviceUrl: "",
datasSj: [],
sjfwQqt: "JSON",
sqfsVal: 0,
tokenVal: "",
noSearchUrl: "",
resultShow: false,
resSuccess: false,
requestRules: 0,
responseRules: 0,
request_fields: [],
response_fields: [],
checkPass: false,
dataType: "",
body_fields: [],
param_fields: []
});
} else {
this.$message.error(`
请完善服务
$
{
indexOne
+
1
}
中的信息`
);
}
}
else
{
this
.
$message
.
error
(
"
请完善该服务测试
"
);
}
}
else
{
this
.
$message
.
error
(
"
请填写该服务名称
"
);
}
});
},
getUrlOne
(
enUrl
,
indexOne
)
{
enUrl
=
enUrl
.
replace
(
/
\s
*/g
,
""
);
let
url
=
decodeURI
(
enUrl
);
let
arr
=
[];
if
(
url
.
indexOf
(
"
?
"
)
!=
-
1
)
{
this
.
liucheng_list
[
indexOne
].
noSearchUrl
=
url
.
substring
(
0
,
url
.
indexOf
(
"
?
"
)
);
let
search
=
url
.
substring
(
url
.
indexOf
(
"
?
"
)
+
1
);
let
vars
=
search
.
split
(
"
&
"
);
for
(
let
i
=
0
;
i
<
vars
.
length
;
i
++
)
{
if
(
vars
[
i
]
!=
""
)
{
let
pair
=
vars
[
i
].
split
(
"
=
"
);
arr
[
i
]
=
{};
arr
[
i
].
requestEncoding
=
pair
[
0
]
?
pair
[
0
]
:
""
;
arr
[
i
].
requestValue
=
pair
[
1
]
?
pair
[
1
]
:
""
;
}
}
}
else
{
this
.
liucheng_list
[
indexOne
].
noSearchUrl
=
enUrl
;
}
this
.
liucheng_list
[
indexOne
].
serviceUrl
=
url
;
this
.
liucheng_list
[
indexOne
].
datasSj
=
arr
;
},
clickTabOne
()
{},
changeTableOne
(
val
,
indexOne
)
{
let
search
=
"
?
"
;
for
(
let
i
=
0
;
i
<
val
.
length
;
i
++
)
{
if
(
val
[
i
].
requestEncoding
!=
""
)
{
search
=
search
+
val
[
i
].
requestEncoding
+
"
=
"
+
(
val
[
i
].
requestValue
?
val
[
i
].
requestValue
:
""
)
+
"
&
"
;
}
}
let
searchDel
=
search
.
substring
(
0
,
search
.
length
-
1
);
this
.
liucheng_list
[
indexOne
].
serviceUrl
=
this
.
liucheng_list
[
indexOne
].
noSearchUrl
+
searchDel
;
},
resetOne
(
indexOne
)
{
this
.
clickFwcsOne
(
indexOne
);
},
nextOne
()
{
let
hasError
=
false
;
this
.
liucheng_list
.
forEach
((
item
,
index
)
=>
{
this
.
checkOne
(
index
,
false
);
if
(
!
item
.
checkPass
)
{
hasError
=
true
;
this
.
$message
.
error
(
`请完善服务
${
index
+
1
}
中的参数信息`
);
return
false
;
}
});
if
(
!
hasError
)
{
this
.
jcxxtx
=
true
;
this
.
getOrganization
();
}
},
delOne
(
indexOne
)
{
this
.
liucheng_list
.
splice
(
indexOne
,
1
);
},
clickFwcsOne
(
indexOne
)
{
// console.log(this.$refs["one_qqcs_" + indexOne][0]);
let
headers
=
{};
let
requestData
=
{};
let
dataOne
=
this
.
liucheng_list
[
indexOne
];
if
(
dataOne
.
sqfsVal
==
1
||
dataOne
.
sqfsVal
==
3
)
{
if
(
dataOne
.
tokenName
==
""
)
{
this
.
$message
.
error
(
"
请输入token名称
"
);
return
;
}
if
(
dataOne
.
tokenVal
==
""
)
{
this
.
$message
.
error
(
"
请输入token值
"
);
return
;
}
}
let
request
=
this
.
$refs
[
"
one_qqcs_
"
+
indexOne
][
0
].
getTableData
();
for
(
let
i
=
0
;
i
<
request
.
length
;
i
++
)
{
if
(
request
[
i
]
&&
request
[
i
].
requestEncoding
&&
request
[
i
].
requestValue
&&
request
[
i
].
requestEncoding
!=
""
&&
request
[
i
].
requestValue
!=
""
)
{
if
(
Object
.
keys
(
requestData
).
indexOf
(
request
[
i
].
requestEncoding
)
==
-
1
)
{
requestData
[
request
[
i
].
requestEncoding
]
=
[];
requestData
[
request
[
i
].
requestEncoding
][
0
]
=
request
[
i
].
requestValue
;
}
else
{
requestData
[
request
[
i
].
requestEncoding
].
push
(
request
[
i
].
requestValue
);
}
}
}
let
bodys
=
""
;
let
contentType
=
""
;
bodys
=
this
.
$refs
[
"
one_json_
"
+
indexOne
][
0
].
getCodesVal
();
contentType
=
dataOne
.
sjfwQqt
;
let
query
=
{
method
:
dataOne
.
select
,
url
:
dataOne
.
serviceUrl
,
req_auth_mthod
:
dataOne
.
sqfsVal
,
req_auth_token
:
dataOne
.
sqfsVal
==
1
||
dataOne
.
sqfsVal
==
3
?
dataOne
.
tokenVal
:
""
,
req_auth_token_name
:
dataOne
.
sqfsVal
==
1
||
dataOne
.
sqfsVal
==
3
?
dataOne
.
tokenName
:
""
,
headers
:
headers
,
params
:
requestData
,
body
:
bodys
,
content_type
:
contentType
,
data_service_type1
:
this
.
currentClass
.
id
,
data_service_type2
:
this
.
zhyyVal
==
""
?
0
:
this
.
zhyyVal
,
response_type
:
"
JSON
"
};
this
.
$api
.
workbench
.
fwzcFwcs
(
query
).
then
(
response
=>
{
if
(
response
.
data
.
success
==
1
)
{
let
data
=
response
.
data
.
data
;
this
.
liucheng_list
[
indexOne
].
body_fields
=
data
.
body_fields
;
this
.
liucheng_list
[
indexOne
].
param_fields
=
data
.
param_fields
;
if
(
data
.
body_fields
&&
data
.
body_fields
.
length
!=
0
)
{
this
.
liucheng_list
[
indexOne
].
datasQqcs
=
data
.
body_fields
;
this
.
liucheng_list
[
indexOne
].
dataType
=
"
body
"
;
}
else
{
this
.
liucheng_list
[
indexOne
].
datasQqcs
=
data
.
param_fields
;
this
.
liucheng_list
[
indexOne
].
dataType
=
"
param
"
;
}
this
.
liucheng_list
[
indexOne
].
datasFhcs
=
data
.
response_fields
;
this
.
liucheng_list
[
indexOne
].
resSuccess
=
true
;
this
.
liucheng_list
[
indexOne
].
resultShow
=
true
;
}
else
{
this
.
liucheng_list
[
indexOne
].
resSuccess
=
false
;
this
.
liucheng_list
[
indexOne
].
resultShow
=
true
;
console
.
log
(
response
.
data
.
errMsg
);
}
});
},
checkOne
(
indexOne
,
showEveryOne
)
{
let
requestData
=
this
.
$refs
[
"
one_qqxx_
"
+
indexOne
][
0
].
getTableData
();
let
responseData
=
this
.
$refs
[
"
one_fhxx_
"
+
indexOne
][
0
].
getTableData
();
this
.
requestRules
=
0
;
this
.
responseRules
=
0
;
this
.
checkTableOne
(
requestData
,
0
,
indexOne
);
this
.
checkTableOne
(
responseData
,
1
,
indexOne
);
if
(
this
.
requestRules
==
0
&&
this
.
responseRules
==
0
)
{
this
.
liucheng_list
[
indexOne
].
request_fields
=
requestData
;
this
.
liucheng_list
[
indexOne
].
response_fields
=
responseData
;
this
.
liucheng_list
[
indexOne
].
checkPass
=
true
;
}
else
if
(
this
.
liucheng_list
[
indexOne
].
requestRules
!=
0
)
{
if
(
showEveryOne
)
{
this
.
$message
.
error
(
`请完善服务
${
indexOne
+
1
}
中请求参数信息中的字段名称`
);
}
this
.
liucheng_list
[
indexOne
].
checkPass
=
false
;
}
else
if
(
this
.
liucheng_list
[
indexOne
].
responseRules
!=
0
)
{
if
(
showEveryOne
)
{
this
.
$message
.
error
(
`请完善服务
${
indexOne
+
1
}
中返回参数信息中的字段名称`
);
}
this
.
liucheng_list
[
indexOne
].
checkPass
=
false
;
}
},
checkTableOne
(
arr
,
rule
,
indexOne
)
{
let
self
=
this
;
for
(
let
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
arr
[
i
].
name
&&
arr
[
i
].
name
!=
""
)
{
if
(
!
arr
[
i
].
label
||
arr
[
i
].
label
==
""
)
{
if
(
rule
==
0
)
{
this
.
requestRules
=
1
;
}
else
if
(
rule
==
1
)
{
this
.
responseRules
=
1
;
}
return
false
;
}
}
if
(
arr
[
i
].
children
&&
arr
[
i
].
children
.
length
!=
0
)
{
self
.
checkTable
(
arr
[
i
].
children
,
rule
,
indexOne
);
}
}
}
},
mounted
()
{
let
self
=
this
;
window
.
addEventListener
(
"
message
"
,
self
.
listeners
,
false
);
self
.
judgeMap
();
self
.
getArea
();
},
created
()
{
let
_self
=
this
;
_self
.
getCurrentUser
();
let
webmap_data
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"
shareWebMapParam
"
));
if
(
webmap_data
)
{
_self
.
$store
.
commit
(
"
setZnztParams
"
,
webmap_data
);
}
let
cesiummap_data
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"
shareCesiumMapParam
"
)
);
if
(
cesiummap_data
)
{
_self
.
$store
.
commit
(
"
setCesiumMapParams
"
,
cesiummap_data
);
}
let
appmap_data
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"
shareAppBuilderParam
"
)
);
if
(
appmap_data
)
{
_self
.
$store
.
commit
(
"
setAppBuilderParams
"
,
appmap_data
);
}
}
};
</
script
>
<
style
scoped
>
.fwcs
{
width
:
1200px
;
margin
:
0
auto
;
margin-top
:
-157px
;
margin-bottom
:
20px
;
}
.fwcs_btn_act
{
background-color
:
#e56600
;
color
:
#ffffff
;
margin-bottom
:
10px
;
margin-left
:
10px
;
}
.fwcs_btn_dis
{
background-color
:
#e3e5ef
;
color
:
#8890a7
;
margin-bottom
:
10px
;
margin-left
:
10px
;
}
.fwcs_btn_img
{
position
:
relative
;
top
:
2px
;
margin-right
:
4px
;
}
.gray_line
{
width
:
100%
;
margin
:
20px
auto
;
height
:
1px
;
background-color
:
#dcdfe6
;
}
.fwcs_fwdz
{
color
:
#58617a
;
margin
:
20px
15px
15px
;
font-size
:
14px
;
}
.input-with-select
{
width
:
70%
;
}
.fwcs_btn_fwcs
{
background-color
:
#0f2683
;
color
:
#ffffff
;
margin-left
:
10px
;
}
.sjfw_qqcstx
{
color
:
#58617a
;
margin
:
10px
15px
;
font-size
:
14px
;
}
.skfw_csfwxx
{
color
:
#58617a
;
margin
:
10px
15px
;
font-size
:
14px
;
}
.sjfw_fhcstx
{
color
:
#58617a
;
margin
:
40px
15px
10px
;
font-size
:
14px
;
}
.btn_footer
{
display
:
flex
;
justify-content
:
flex-end
;
margin
:
40px
10px
10px
;
}
.btn_footer
.reset
{
width
:
100px
;
background-color
:
#c3caf8
;
color
:
#0f2683
;
}
.btn_footer
.next
{
width
:
100px
;
background-color
:
#0f2683
;
color
:
#f8f9fd
;
}
.btn_footer
.previous
{
background-color
:
#c3caf8
;
color
:
#0f2683
;
}
.btn_footer
.registe
{
width
:
100px
;
background-color
:
#0f2683
;
color
:
#f8f9fd
;
}
.sqxx_row
{
padding
:
0
20px
;
}
.sqxx_title
{
color
:
#58617a
;
font-size
:
14px
;
margin
:
10px
15px
;
}
.sqxx_select
{
width
:
100%
;
}
.center_line_c
{
margin
:
0
auto
;
}
.center_line
{
background-color
:
#f4f7fc
;
width
:
2px
;
height
:
400px
;
position
:
relative
;
left
:
50%
;
}
.sjfw_qqt
{
margin
:
0
20px
15px
;
}
.skfw_fwlx
{
margin
:
20px
15px
;
color
:
#58617a
;
font-size
:
14px
;
}
.skfw_fwlx_radios
{
margin
:
10px
0
0
;
}
.test_succ
{
width
:
100%
;
margin
:
0
auto
;
}
.skcs_jg
{
height
:
100px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
color
:
#0f2683
;
font-size
:
20px
;
}
.skcs_jg_img
{
position
:
relative
;
top
:
3px
;
}
.zhyy_select
{
width
:
70%
;
}
.fwcs_add
.formname
{
color
:
#58617a
;
font-size
:
14px
;
margin-left
:
10px
;
}
.form_in
{
width
:
1000px
;
}
.one_service
{
width
:
100%
;
}
.one_name
{
color
:
#58617a
;
font-size
:
14px
;
margin
:
0
15px
10px
15px
;
}
.one_name_in
{
width
:
70%
;
}
.one_url
{
color
:
#58617a
;
font-size
:
14px
;
margin
:
20px
15px
10px
;
}
.btn_footer_one
{
margin
:
40px
10px
10px
;
}
.new_one
{
background-color
:
#515fe7
;
color
:
#e6ebfe
;
}
.del_one
{
width
:
100px
;
background-color
:
#e15260
;
color
:
#fcfafa
;
}
.reset_one
{
width
:
100px
;
background-color
:
#c3caf8
;
color
:
#0f2683
;
}
.next_one
{
width
:
100px
;
background-color
:
#0f2683
;
color
:
#e6ebfe
;
float
:
right
;
}
.center_line_one
{
background-color
:
#f4f7fc
;
width
:
2px
;
height
:
100px
;
position
:
relative
;
left
:
50%
;
}
.lc_alert
{
margin-top
:
20px
;
background-color
:
#f8f9fd
;
border-radius
:
8px
;
width
:
70%
;
padding
:
20px
;
display
:
flex
;
justify-content
:
space-between
;
color
:
#8890a7
;
}
.lc_alert
i
{
position
:
relative
;
top
:
4px
;
}
.lc_alert
p
{
width
:
calc
(
100%
-
24px
);
}
.title_bc
{
color
:
#a9aec0
;
}
.lc_upf
{
width
:
70%
;
}
.gz_fhsjgs_rad
{
margin-left
:
10px
;
}
.jkxy
{
margin-left
:
20px
;
}
.ip_block
{
border-radius
:
8px
;
border
:
solid
1px
#e3e5ef
;
padding
:
10px
0
0
10px
;
line-height
:
24px
;
}
.ip_item
{
display
:
inline-block
;
position
:
relative
;
background-color
:
#e6ebfe
;
border-radius
:
4px
;
color
:
#0f2683
;
font-size
:
12px
;
line-height
:
24px
;
padding
:
0
26px
0
8px
;
margin-right
:
10px
;
margin-bottom
:
10px
;
}
.ip_del
{
position
:
absolute
;
right
:
8px
;
top
:
6px
;
font-size
:
14px
;
color
:
#6573ae
;
cursor
:
pointer
;
}
.ip_del
:hover
{
color
:
#e56600
;
}
.add_ip
{
background-color
:
#495feb
;
border-radius
:
4px
;
color
:
#f8f9fd
;
font-size
:
12px
;
line-height
:
24px
;
padding
:
0
8px
;
margin-right
:
10px
;
margin-bottom
:
10px
;
}
.ip_input
{
width
:
110px
;
margin-right
:
10px
;
margin-bottom
:
10px
;
}
.filebtn
{
width
:
76px
;
height
:
32px
;
line-height
:
32px
;
text-align
:
center
;
color
:
#e6ebfe
;
background-color
:
#515fe7
;
border-radius
:
6px
;
display
:
inline-block
;
font-size
:
14px
;
margin-left
:
8px
;
cursor
:
pointer
;
text-decoration
:
none
;
}
.cp_mb
{
padding
:
0
0
16px
8px
;
}
.registration
{
width
:
430px
;
margin
:
10px
auto
;
}
.registration
a
{
color
:
#0000ff
;
text-decoration
:
none
;
}
.registration
p
{
line-height
:
26px
;
}
.registration
p
:nth-of-type
(
1
)
{
color
:
#0000ff
;
}
</
style
>
<
style
>
.fwcs_fwdz_inner
.el-select
.el-input
{
width
:
130px
;
background-color
:
#0f2683
;
color
:
#ffffff
;
border-radius
:
8px
0px
0px
8px
;
}
.fwcs_tabs
.el-tabs__header
{
margin
:
20px
0
;
}
.zhyy_select
.el-input__prefix
,
.el-input__suffix
{
position
:
absolute
;
top
:
0
;
right
:
10px
;
/* -webkit-transition: all 0.3s; */
height
:
100%
;
color
:
#c0c4cc
;
text-align
:
right
;
}
.lc_upf
.el-upload
{
width
:
100%
;
}
.lc_upf
.el-upload-dragger
{
width
:
100%
;
}
.ip_input
.el-input__inner
{
border-radius
:
4px
;
padding
:
0
8px
;
font-size
:
12px
;
line-height
:
24px
;
height
:
24px
;
}
</
style
>
src/pages/workbench/product-type/class_edit.vue
0 → 100644
View file @
10e7603c
<
template
>
<div
class=
"edit_page"
>
<div
class=
"apass_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
to=
"/productType"
>
分类管理
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/productType/classList"
>
产品分类管理
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
isAdd
?
'
新增
'
:
'
编辑
'
}}
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div
class=
"container_box"
>
<el-form
ref=
"form"
class=
"detai_form"
:rules=
"rules"
:model=
"form"
>
<el-form-item
label=
""
prop=
"typeCode"
>
<div>
分类类别:
</div>
<el-select
v-model=
"form.typeCode"
placeholder=
"请选择"
>
<el-option
v-for=
"(e, idx) in classTypes"
:key=
"idx"
:label=
"e.label"
:value=
"e.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"name"
>
<div>
分类名称:
</div>
<el-input
v-model=
"form.name"
placeholder=
"请输入分类名称"
></el-input>
</el-form-item>
<el-form-item
label=
""
prop=
"servTemplate"
>
<div>
服务模版:
</div>
<el-select
v-model=
"form.servTemplate"
placeholder=
"请选择"
>
<el-option
v-for=
"(e, idx) in serviceTemplates"
:key=
"idx"
:label=
"e.label"
:value=
"e.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
prop=
"pId"
v-if=
"form.typeCode == 'service_type_2'"
>
<div>
上级分类名称:
</div>
<el-select
v-model=
"form.pId"
placeholder=
"请选择"
>
<el-option
v-for=
"(e, idx) in pClassNames"
:key=
"idx"
:label=
"e.label"
:value=
"e.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"describe"
label=
""
>
<div>
描述:
</div>
<el-input
v-model=
"form.describe"
type=
"textarea"
placeholder=
"请输入分类描述"
rows=
"5"
/>
</el-form-item>
<el-form-item
label=
""
prop=
"state"
>
<div>
状态:
</div>
<el-select
v-model=
"form.state"
placeholder=
"请选择"
>
<el-option
v-for=
"(e, idx) in stateTypes"
:key=
"idx"
:label=
"e.label"
:value=
"e.value"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
class=
"apaas_button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('form')"
class=
"right"
>
保存
</el-button
>
<el-button
class=
"right"
@
click=
"backPage()"
>
取消
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
form
:
{
typeCode
:
""
,
// 分类类别 0-服务分类 1-服务类型
name
:
""
,
// 分类名称
servTemplate
:
""
,
// 服务模版
pId
:
""
,
// 上级分类名称
describe
:
""
,
// 描述
state
:
1
// 状态 0-停用 1-启用
},
rules
:
{
typeCode
:
[
{
required
:
true
,
message
:
"
请选择分类类别
"
,
trigger
:
"
change
"
},
],
name
:
[
{
required
:
true
,
message
:
"
请输入分类名称
"
,
trigger
:
"
blur
"
},
],
servTemplate
:
[
{
required
:
true
,
message
:
"
请选择服务模版
"
,
trigger
:
"
change
"
},
],
pId
:
[
{
required
:
true
,
message
:
"
请选择上级分类名称
"
,
trigger
:
"
change
"
},
],
describe
:
[
],
state
:[
{
required
:
true
,
message
:
"
请选择状态
"
,
trigger
:
"
change
"
},
]
},
// 表单校验
classTypes
:
[
{
label
:
"
服务分类
"
,
value
:
'
service_type_1
'
},
{
label
:
"
服务类型
"
,
value
:
'
service_type_2
'
},
],
// 分类类别
serviceTemplates
:[
{
label
:
"
数据服务
"
,
value
:
1
},
{
label
:
"
时空服务-地图服务
"
,
value
:
2
},
{
label
:
"
时空服务-要素服务
"
,
value
:
3
},
{
label
:
"
时空服务-WFS
"
,
value
:
4
},
{
label
:
"
时空服务-WMS
"
,
value
:
5
},
{
label
:
"
视频服务
"
,
value
:
6
},
{
label
:
"
融合服务
"
,
value
:
7
},
{
label
:
"
综合服务-模型算法类
"
,
value
:
8
},
{
label
:
"
综合服务-查询验证类
"
,
value
:
9
},
{
label
:
"
综合服务-流程类
"
,
value
:
10
},
{
label
:
"
综合服务-应用类
"
,
value
:
11
},
],
// 模版
pClassNames
:
[],
// 上级分类
stateTypes
:
[
{
label
:
"
启用
"
,
value
:
1
},
{
label
:
"
禁用
"
,
value
:
0
},
]
// 状态
}
},
computed
:
{
isAdd
()
{
return
this
.
$route
.
path
.
indexOf
(
'
add
'
)
>
-
1
}
// true为新增false为编辑
},
created
()
{
if
(
!
this
.
isAdd
)
{
let
id
=
this
.
$route
.
params
.
id
this
.
getDetail
(
id
)
// 获取详情
}
this
.
getClassTypes
()
// 获取全部服务分类
},
methods
:
{
getDetail
(
id
)
{
this
.
$api
.
productType
.
getClassDetail
(
id
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
let
data
=
res
.
data
.
data
this
.
form
=
{
id
:
data
.
id
,
describe
:
data
.
describe
,
name
:
data
.
name
,
servTemplate
:
data
.
serv_template
,
pId
:
data
.
type_code
==
'
service_type_1
'
?
''
:
data
.
p_id
,
state
:
data
.
state
,
typeCode
:
data
.
type_code
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 获取详情
getClassTypes
()
{
this
.
$api
.
productType
.
getClassTypes
().
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
let
data
=
res
.
data
.
data
||
[]
data
.
forEach
(
e
=>
{
this
.
pClassNames
.
push
({
label
:
e
.
className
,
value
:
e
.
id
})
})
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 获取全部服务分类
onSubmit
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
isAdd
)
{
this
.
add_class
();
}
else
{
this
.
edit_class
()
}
}
else
{
console
.
log
(
"
error submit!!
"
);
return
false
;
}
});
},
// 保存按钮
edit_class
()
{
if
(
this
.
form
.
typeCode
==
'
service_type_1
'
)
{
this
.
form
.
pId
=
0
}
this
.
$api
.
productType
.
editClass
(
this
.
form
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
编辑成功
"
)
this
.
backPage
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 编辑
add_class
()
{
if
(
this
.
form
.
typeCode
==
'
service_type_1
'
)
{
this
.
form
.
pId
=
0
}
this
.
$api
.
productType
.
addNewClass
(
this
.
form
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
新增成功
"
)
this
.
backPage
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 新增
backPage
()
{
this
.
$router
.
back
(
-
1
);
},
// 取消
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.edit_page {
height: 100%;
padding: 0 20px;
.container_box {
height: calc(100% - 70px);
background-color: #fff;
border-radius: 10px;
padding: 15px 20px;
.detai_form {
width: 60%;
.el-select {
width: 100%;
}
}
.right {
float: right;
margin-left: 20px;
}
}
}
</
style
>
\ No newline at end of file
src/pages/workbench/product-type/class_list.vue
0 → 100644
View file @
10e7603c
<
template
>
<div
class=
"service_management_list"
>
<div
class=
"apass_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
:to=
"`/message_new`"
>
分类管理
</el-breadcrumb-item>
<el-breadcrumb-item>
服务分类
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div
class=
"container_box"
>
<div
class=
"search_box"
>
<span>
分类名称:
</span>
<el-input
v-model=
"filter.search"
prefix-icon=
"el-icon-search"
placeholder=
"请输入关键字"
style=
"width:240px;"
></el-input>
<span
style=
"margin-left: 24px"
>
状态:
</span>
<el-select
v-model=
"filter.state"
placeholder=
"请选择"
>
<el-option
v-for=
"(e, idx) in stateTypes"
:key=
"idx"
:label=
"e.label"
:value=
"e.value"
></el-option>
</el-select>
<div
class=
"searchBtn"
@
click=
"searchAction"
>
查询
</div>
<div
class=
"searchBtn resBtn"
@
click=
"resChange"
>
重置
</div>
</div>
<div
class=
"btn_box"
>
<div
@
click=
"addClass"
>
新建分类
</div>
</div>
<div
class=
"list_box"
>
<table-um
:headers=
"listHeader"
:datas=
"listData"
:stripe=
"true"
@
changeState=
"changeRowState"
@
edit=
"editRow"
@
del=
"delRow"
></table-um>
<list-pagination
class=
"pagination_box"
:total=
"listTotal"
:page-sizes=
"[10,20,50]"
:page-size=
"filter.size"
:current-page=
"filter.page"
@
size-change=
"changePageSize"
@
current-change=
"changeCurrentPage"
></list-pagination>
</div>
</div>
<el-dialog
title=
"提示"
:visible.sync=
"delDialogFlag"
width=
"400px"
>
<span
class=
"form_box"
>
删除后无法恢复,请确认是否删除
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"delDialogFlag = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"confirmDel"
>
确 认
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
tableUm
from
"
@/components/table/table-um
"
;
import
ListPagination
from
"
@/components/comments-pagination
"
;
import
helper
from
"
@/services/helper
"
;
export
default
{
components
:
{
tableUm
,
ListPagination
,
},
data
:
()
=>
({
helper
:
helper
,
stateTypes
:
[
{
label
:
"
禁用
"
,
value
:
0
},
{
label
:
"
启用
"
,
value
:
1
},
],
filter
:
{
search
:
""
,
size
:
10
,
page
:
1
,
state
:
""
},
listTotal
:
0
,
listHeader
:
[
{
label
:
"
分类类别
"
,
prop
:
"
classType
"
,
align
:
"
center
"
,
width
:
240
,
},
{
label
:
"
分类名称
"
,
prop
:
"
className
"
,
align
:
"
center
"
,
width
:
240
,
},
{
label
:
"
上级分类名称
"
,
prop
:
"
pClassName
"
,
align
:
"
center
"
,
width
:
240
,
},
{
label
:
"
描述
"
,
prop
:
"
desc
"
,
align
:
"
center
"
,
},
{
label
:
"
状态
"
,
prop
:
"
stateName
"
,
align
:
"
center
"
,
width
:
120
,
},
{
label
:
"
更新时间
"
,
prop
:
"
updateTime
"
,
width
:
220
,
align
:
"
center
"
},
{
label
:
"
操作
"
,
type
:
"
Button
"
,
align
:
"
center
"
,
width
:
240
,
btnList
:
[
{
label
:
"
编辑
"
,
type
:
'
edit
'
,
disflag
:
true
,
disabledRule
(
item
)
{
return
item
.
state
!=
1
&&
item
.
canDelete
==
1
;
},
line
:
'
|
'
},
{
label
:
"
启用
"
,
type
:
'
changeState
'
,
select
:
true
,
disflag
:
true
,
disabledRule
(
item
)
{
return
item
.
state
!=
1
;
},
line
:
'
|
'
},
{
label
:
"
禁用
"
,
type
:
'
changeState
'
,
select
:
true
,
disflag
:
true
,
disabledRule
(
item
)
{
return
item
.
state
==
1
;
},
line
:
'
|
'
},
{
label
:
"
删除
"
,
type
:
'
del
'
,
disflag
:
true
,
disabledRule
(
item
)
{
return
item
.
state
!=
1
&&
item
.
canDelete
==
1
},
},
],
},
],
listData
:
[],
delDialogFlag
:
false
,
delRowId
:
null
}),
computed
:
{},
created
()
{
this
.
getList
()
},
methods
:
{
changePageSize
(
val
)
{
this
.
filter
.
page
=
1
this
.
filter
.
size
=
val
this
.
getList
()
},
// 改变每页条数
changeCurrentPage
(
val
)
{
this
.
filter
.
page
=
val
this
.
getList
()
},
// 换页
getList
()
{
this
.
$api
.
productType
.
getClassTypeList
({...
this
.
filter
}).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
console
.
log
(
res
.
data
.
data
)
this
.
listData
=
res
.
data
.
data
.
list
||
[]
this
.
listData
.
forEach
(
e
=>
{
e
.
updateTime
=
helper
.
dateStringTransform
(
e
.
updateTime
)
e
.
pClassName
=
e
.
pClassName
==
''
?
'
-
'
:
e
.
pClassName
})
this
.
listTotal
=
res
.
data
.
data
.
total
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
// 全部分类
},
// 获取列表
searchAction
()
{
this
.
filter
.
page
=
1
,
this
.
getList
()
},
// 搜索
resChange
()
{
this
.
filter
=
{
page
:
1
,
size
:
10
,
search
:
""
,
state
:
""
,
}
this
.
getList
()
},
// 重置搜索
addClass
()
{
this
.
$router
.
push
(
'
/productType/classList/add
'
)
},
// 新增分类
changeRowState
(
row
)
{
let
params
=
{
id
:
row
.
id
,
state
:
row
.
state
==
1
?
0
:
1
}
this
.
$api
.
productType
.
changeClassState
(
params
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
状态更新成功
"
)
this
.
resChange
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 启用/禁用分类
editRow
(
row
)
{
if
(
row
.
canDelete
==
0
)
{
return
}
else
{
if
(
row
.
state
==
1
)
{
return
}
}
this
.
$router
.
push
(
`/productType/classList/edit/
${
row
.
id
}
`
)
},
// 编辑分类
delRow
(
row
)
{
if
(
row
.
canDelete
==
0
)
{
return
}
else
{
if
(
row
.
state
==
1
)
{
return
}
}
this
.
delDialogFlag
=
true
this
.
delRowId
=
row
.
id
},
// 删除分类
confirmDel
()
{
this
.
$api
.
productType
.
deleteClass
(
this
.
delRowId
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
删除成功
"
)
this
.
delDialogFlag
=
false
this
.
resChange
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 确认删除
},
};
</
script
>
<
style
scoped
>
.apaas_button
{
position
:
relative
;
}
.apaas_button
>
.el-button
{
position
:
absolute
;
top
:
0
;
right
:
0
;
z-index
:
9
;
}
</
style
>
<
style
lang=
"less"
scoped
>
.service_management_list {
height: 100%;
min-width: 1200px;
padding: 0 20px;
.breadcrumb_box {
>.el-breadcrumb {
padding: 15px 0;
.el-breadcrumb__inner {
font-size: 14px;
font-weight: bold;
color: #898d9e;
line-height: 23px;
}
.el-breadcrumb__item:last-child .el-breadcrumb__inner {
color: #242c43;
font-weight: normal;
}
}
}
.container_box {
width: 100%;
height: calc(100% - 60px);
background-color: #fff;
border-radius: 6px;
padding: 16px 20px 16px;
.search_box {
// margin-top: 20px;
.searchBtn {
display: inline-block;
margin-left: 20px;
width: 80px;
background-color: #0f2683;
color: #fff;
height: 40px;
text-align: center;
line-height: 40px;
border-radius: 4px;
cursor: pointer;
}
.resBtn {
background-color: #fff;
border: 1px solid #dcdfe6;
box-sizing: border-box;
color: #0f2683;
}
}
.btn_box {
margin: 16px 0;
display: flex;
div {
width: 100px;
height: 40px;
background-color: #0f2683;
border-radius: 4px;
text-align: center;
line-height: 40px;
color: #fff;
cursor: pointer;
margin-right: 16px;
}
}
.list_box {
width: 100%;
height: calc(100% - 111px);
position: relative;
.ces-table-page {
height: calc(100% - 44px);
overflow: hidden auto;
&::-webkit-scrollbar {
width: 16px;
height: 1px;
}
&::-webkit-scrollbar-thumb {
border-radius: 8px;
/* background: #dde4ff; */
box-shadow: 8px 0 0 #a5adb7 inset;
border: 4px solid rgba(0, 0, 0, 0);
}
&::-webkit-scrollbar-track {
border-radius: 8px;
/* background: #f4f4f4; */
box-shadow: 8px 0 0 #f4f4f4 inset;
border: 4px solid rgba(0, 0, 0, 0);
}
}
.pagination_box {
width: 100%;
position: absolute;
bottom: 0;
}
}
}
.form_box {
display: block;
padding: 0px 30px;
.el-select {
width: 100%;
}
.radio {
text-align: left;
}
}
}
</
style
>
src/pages/workbench/product-type/domain_edit.vue
0 → 100644
View file @
10e7603c
<
template
>
<div
class=
"edit_page"
>
<div
class=
"apass_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
to=
"/productType"
>
分类管理
</el-breadcrumb-item>
<el-breadcrumb-item
to=
"/productType/domainList"
>
领域分类
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
isAdd
?
'
新增
'
:
'
编辑
'
}}
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div
class=
"container_box"
>
<el-form
ref=
"form"
class=
"detai_form"
:rules=
"rules"
:model=
"form"
>
<el-form-item
label=
""
prop=
"name"
>
<div>
分类名称:
</div>
<el-input
v-model=
"form.name"
placeholder=
"请输入分类名称"
></el-input>
</el-form-item>
<el-form-item
prop=
"describe"
label=
""
>
<div>
描述:
</div>
<el-input
v-model=
"form.describe"
type=
"textarea"
placeholder=
"请输入分类描述"
rows=
"5"
/>
</el-form-item>
<el-form-item
label=
""
prop=
"state"
>
<div>
状态:
</div>
<el-select
v-model=
"form.state"
placeholder=
"请选择"
>
<el-option
v-for=
"(e, idx) in stateTypes"
:key=
"idx"
:label=
"e.label"
:value=
"e.value"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div
class=
"apaas_button"
>
<el-button
type=
"primary"
@
click=
"onSubmit('form')"
class=
"right"
>
保存
</el-button
>
<el-button
class=
"right"
@
click=
"backPage()"
>
取消
</el-button>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
form
:
{
name
:
""
,
// 领域名称
describe
:
""
,
// 描述
state
:
1
// 状态
},
rules
:
{
name
:
[
{
required
:
true
,
message
:
"
请输入分类名称
"
,
trigger
:
"
blur
"
},
],
describe
:
[
],
state
:[
{
required
:
true
,
message
:
"
请选择状态
"
,
trigger
:
"
change
"
},
]
},
stateTypes
:
[
{
label
:
"
启用
"
,
value
:
1
},
{
label
:
"
停用
"
,
value
:
0
},
]
}
},
computed
:
{
isAdd
()
{
return
this
.
$route
.
path
.
indexOf
(
'
add
'
)
>
-
1
}
},
created
()
{
if
(
!
this
.
isAdd
)
{
let
id
=
this
.
$route
.
params
.
id
this
.
getDetail
(
id
)
}
},
methods
:
{
getDetail
(
id
)
{
this
.
$api
.
productType
.
getDomainDetail
(
id
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
let
data
=
res
.
data
.
data
this
.
form
=
{
id
:
data
.
id
,
describe
:
data
.
describe
,
name
:
data
.
name
,
state
:
data
.
state
,
}
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 获取详情
onSubmit
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
isAdd
)
{
this
.
add_domain
();
}
else
{
this
.
edit_domain
()
}
}
else
{
console
.
log
(
"
error submit!!
"
);
return
false
;
}
});
},
// 保存按钮
edit_domain
()
{
this
.
$api
.
productType
.
editDomain
(
this
.
form
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
编辑成功
"
)
this
.
backPage
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 编辑
add_domain
()
{
this
.
$api
.
productType
.
addNewDomain
(
this
.
form
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
新增成功
"
)
this
.
backPage
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 新增
backPage
()
{
this
.
$router
.
back
(
-
1
);
},
// 取消
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.edit_page {
height: 100%;
padding: 0 20px;
.container_box {
height: calc(100% - 70px);
background-color: #fff;
border-radius: 10px;
padding: 15px 20px;
.detai_form {
width: 60%;
.el-select {
width: 100%;
}
}
.right {
float: right;
margin-left: 20px;
}
}
}
</
style
>
\ No newline at end of file
src/pages/workbench/product-type/domain_list.vue
0 → 100644
View file @
10e7603c
<
template
>
<div
class=
"service_management_list"
>
<div
class=
"apass_breadcrumb"
>
<el-breadcrumb
separator=
"/"
>
<el-breadcrumb-item
:to=
"`/message_new`"
>
分类管理
</el-breadcrumb-item>
<el-breadcrumb-item>
领域分类
</el-breadcrumb-item>
</el-breadcrumb>
</div>
<div
class=
"container_box"
>
<div
class=
"search_box"
>
<span>
分类名称:
</span>
<el-input
v-model=
"filter.search"
prefix-icon=
"el-icon-search"
placeholder=
"请输入关键字"
style=
"width:240px;"
></el-input>
<span
style=
"margin-left: 24px"
>
状态:
</span>
<el-select
v-model=
"filter.state"
placeholder=
"请选择"
>
<el-option
v-for=
"(e, idx) in stateTypes"
:key=
"idx"
:label=
"e.label"
:value=
"e.value"
></el-option>
</el-select>
<div
class=
"searchBtn"
@
click=
"searchAction"
>
查询
</div>
<div
class=
"searchBtn resBtn"
@
click=
"resChange"
>
重置
</div>
</div>
<div
class=
"btn_box"
>
<div
@
click=
"addClass"
>
新建分类
</div>
</div>
<div
class=
"list_box"
>
<table-um
:headers=
"listHeader"
:datas=
"listData"
:stripe=
"true"
@
changeState=
"changeRowState"
@
edit=
"editRow"
@
del=
"delRow"
></table-um>
<list-pagination
class=
"pagination_box"
:total=
"listTotal"
:page-sizes=
"[10,20,50]"
:page-size=
"filter.size"
:current-page=
"filter.page"
@
size-change=
"changePageSize"
@
current-change=
"changeCurrentPage"
></list-pagination>
</div>
</div>
<el-dialog
title=
"提示"
:visible.sync=
"delDialogFlag"
width=
"400px"
>
<span
class=
"form_box"
>
删除后无法恢复,请确认是否删除
</span>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"delDialogFlag = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"confirmDel"
>
确 认
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
tableUm
from
"
@/components/table/table-um
"
;
import
ListPagination
from
"
@/components/comments-pagination
"
;
import
helper
from
"
@/services/helper
"
;
export
default
{
components
:
{
tableUm
,
ListPagination
,
},
data
:
()
=>
({
helper
:
helper
,
stateTypes
:
[
{
label
:
"
禁用
"
,
value
:
0
},
{
label
:
"
启用
"
,
value
:
1
},
],
filter
:
{
search
:
""
,
size
:
10
,
page
:
1
,
state
:
""
},
listTotal
:
0
,
listHeader
:
[
{
label
:
"
分类名称
"
,
prop
:
"
name
"
,
align
:
"
center
"
,
width
:
240
,
},
{
label
:
"
描述
"
,
prop
:
"
desc
"
,
align
:
"
center
"
,
},
{
label
:
"
状态
"
,
prop
:
"
stateName
"
,
align
:
"
center
"
,
width
:
120
,
},
{
label
:
"
更新时间
"
,
prop
:
"
updateTime
"
,
width
:
220
,
align
:
"
center
"
},
{
label
:
"
操作
"
,
type
:
"
Button
"
,
align
:
"
center
"
,
width
:
240
,
btnList
:
[
{
label
:
"
编辑
"
,
type
:
'
edit
'
,
disflag
:
true
,
disabledRule
(
item
)
{
return
item
.
state
!=
1
;
},
line
:
'
|
'
},
{
label
:
"
启用
"
,
type
:
'
changeState
'
,
select
:
true
,
disflag
:
true
,
disabledRule
(
item
)
{
return
item
.
state
!=
1
;
},
line
:
'
|
'
},
{
label
:
"
禁用
"
,
type
:
'
changeState
'
,
select
:
true
,
disflag
:
true
,
disabledRule
(
item
)
{
return
item
.
state
==
1
;
},
line
:
'
|
'
},
{
label
:
"
删除
"
,
type
:
'
del
'
,
disflag
:
true
,
disabledRule
(
item
)
{
return
item
.
state
!=
1
},
},
],
},
],
listData
:
[],
delDialogFlag
:
false
,
delRowId
:
null
}),
computed
:
{},
created
()
{
this
.
getList
()
},
methods
:
{
changePageSize
(
val
)
{
this
.
filter
.
page
=
1
this
.
filter
.
size
=
val
this
.
getList
()
},
// 改变每页条数
changeCurrentPage
(
val
)
{
this
.
filter
.
page
=
val
this
.
getList
()
},
// 换页
getList
()
{
console
.
log
(
this
.
filter
)
this
.
$api
.
productType
.
getDomainTypeList
(
this
.
filter
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
listData
=
res
.
data
.
data
.
list
||
[]
this
.
listData
.
forEach
(
e
=>
{
e
.
updateTime
=
helper
.
dateStringTransform
(
e
.
updateTime
)
})
this
.
listTotal
=
res
.
data
.
data
.
total
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 获取列表
searchAction
()
{
this
.
filter
.
page
=
1
,
this
.
getList
()
},
// 搜索
resChange
()
{
this
.
filter
=
{
page
:
1
,
size
:
10
,
search
:
""
,
state
:
""
,
}
this
.
getList
()
},
// 重置搜索
addClass
()
{
this
.
$router
.
push
(
'
/productType/domainList/add
'
)
},
// 新增分类
changeRowState
(
row
)
{
let
params
=
{
id
:
row
.
id
,
state
:
row
.
state
==
1
?
0
:
1
}
this
.
$api
.
productType
.
changeDomainState
(
params
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
状态更新成功
"
)
this
.
resChange
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 启用/禁用分类
editRow
(
row
)
{
if
(
row
.
state
==
1
)
{
return
}
this
.
$router
.
push
(
`/productType/domainList/edit/
${
row
.
id
}
`
)
},
// 编辑分类
delRow
(
row
)
{
if
(
row
.
state
==
1
)
{
return
}
this
.
delDialogFlag
=
true
this
.
delRowId
=
row
.
id
},
// 删除分类
confirmDel
()
{
this
.
$api
.
productType
.
deleteDomain
(
this
.
delRowId
).
then
(
res
=>
{
if
(
res
.
data
.
success
==
1
)
{
this
.
$message
.
success
(
"
删除成功
"
)
this
.
delDialogFlag
=
false
this
.
resChange
()
}
else
{
this
.
$message
.
error
(
res
.
data
.
errMsg
)
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
},
// 确认删除
},
};
</
script
>
<
style
scoped
>
.apaas_button
{
position
:
relative
;
}
.apaas_button
>
.el-button
{
position
:
absolute
;
top
:
0
;
right
:
0
;
z-index
:
9
;
}
</
style
>
<
style
lang=
"less"
scoped
>
.service_management_list {
height: 100%;
min-width: 1200px;
padding: 0 20px;
.breadcrumb_box {
>.el-breadcrumb {
padding: 15px 0;
.el-breadcrumb__inner {
font-size: 14px;
font-weight: bold;
color: #898d9e;
line-height: 23px;
}
.el-breadcrumb__item:last-child .el-breadcrumb__inner {
color: #242c43;
font-weight: normal;
}
}
}
.container_box {
width: 100%;
height: calc(100% - 60px);
background-color: #fff;
border-radius: 6px;
padding: 16px 20px 16px;
.search_box {
// margin-top: 20px;
.searchBtn {
display: inline-block;
margin-left: 20px;
width: 80px;
background-color: #0f2683;
color: #fff;
height: 40px;
text-align: center;
line-height: 40px;
border-radius: 4px;
cursor: pointer;
}
.resBtn {
background-color: #fff;
border: 1px solid #dcdfe6;
box-sizing: border-box;
color: #0f2683;
}
}
.btn_box {
margin: 16px 0;
display: flex;
div {
width: 100px;
height: 40px;
background-color: #0f2683;
border-radius: 4px;
text-align: center;
line-height: 40px;
color: #fff;
cursor: pointer;
margin-right: 16px;
}
}
.list_box {
width: 100%;
height: calc(100% - 111px);
position: relative;
.ces-table-page {
height: calc(100% - 44px);
overflow: hidden auto;
&::-webkit-scrollbar {
width: 16px;
height: 1px;
}
&::-webkit-scrollbar-thumb {
border-radius: 8px;
/* background: #dde4ff; */
box-shadow: 8px 0 0 #a5adb7 inset;
border: 4px solid rgba(0, 0, 0, 0);
}
&::-webkit-scrollbar-track {
border-radius: 8px;
/* background: #f4f4f4; */
box-shadow: 8px 0 0 #f4f4f4 inset;
border: 4px solid rgba(0, 0, 0, 0);
}
}
.pagination_box {
width: 100%;
position: absolute;
bottom: 0;
}
}
}
.form_box {
display: block;
padding: 0px 30px;
.el-select {
width: 100%;
}
.radio {
text-align: left;
}
}
}
</
style
>
src/pages/workbench/product-type/index.vue
0 → 100644
View file @
10e7603c
<
template
>
<div
class=
"fwgl_container"
>
<side-nav-bar
title=
"分类管理"
imgSrc=
"tool_fuwu"
:nav-list=
"navList"
:title-path=
"navList[0] && navList[0].path"
></side-nav-bar>
<div
class=
"main_container"
>
<router-view
:key=
"'type_' + $route.params.type"
></router-view>
</div>
</div>
</
template
>
<
script
>
import
sideNavBar
from
"
@/components/side-nav-bar
"
;
export
default
{
components
:
{
sideNavBar
},
data
:
()
=>
({
navList
:
[]
}),
watch
:
{
"
$route.fullPath
"
(
path
)
{
this
.
initNavList
();
}
},
methods
:
{
initNavList
()
{
this
.
$api
.
general
.
getNowMenu
({
teamName
:
"
APAAS3
"
}).
then
(
response
=>
{
if
(
response
.
data
.
success
==
1
)
{
let
arr
=
response
.
data
.
data
[
0
].
Child
;
let
brr
=
[]
arr
.
forEach
(
e
=>
{
if
(
e
.
visit_url
===
'
/workplace
'
)
{
brr
=
e
.
Child
||
[]
}
})
let
user_index
=
brr
.
findIndex
(
item
=>
item
.
visit_url
==
"
/productType
"
);
if
(
user_index
!=
-
1
)
{
this
.
navList
=
brr
[
user_index
].
Child
;
this
.
navList
.
forEach
(
item
=>
{
item
.
name
=
item
.
menu_name
;
item
.
path
=
item
.
visit_url
;
});
}
}
});
}
},
mounted
()
{
this
.
initNavList
();
}
};
</
script
>
<
style
scoped
>
.fwgl_container
{
height
:
calc
(
100vh
-
58px
);
display
:
flex
;
justify-content
:
flex-start
;
align-items
:
stretch
;
}
.side_nav_bar
{
width
:
180px
;
flex-shrink
:
0
;
}
.main_container
{
width
:
calc
(
100%
-
180px
);
flex-grow
:
1
;
flex-shrink
:
1
;
background-color
:
#f6f7fb
;
overflow
:
auto
;
}
</
style
>
src/pages/workbench/yygl/deploy_app_detail.vue
View file @
10e7603c
...
@@ -203,9 +203,9 @@
...
@@ -203,9 +203,9 @@
<
template
slot=
"content"
>
<
template
slot=
"content"
>
<div
class=
"dialog-content"
>
<div
class=
"dialog-content"
>
<el-form
:model=
"publicForm"
:rules=
"public_rules"
ref=
"publicForm"
class=
"demo-ruleForm"
>
<el-form
:model=
"publicForm"
:rules=
"public_rules"
ref=
"publicForm"
class=
"demo-ruleForm"
>
<p
class=
"formname"
>
服
务领域:
</p>
<p
class=
"formname"
>
业
务领域:
</p>
<el-form-item
prop=
"area"
>
<el-form-item
prop=
"area"
>
<el-select
v-model=
"publicForm.area"
placeholder=
"请选择
服
务领域"
>
<el-select
v-model=
"publicForm.area"
placeholder=
"请选择
业
务领域"
>
<el-option
v-for=
"item in area_arr"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
<el-option
v-for=
"item in area_arr"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -289,7 +289,7 @@ export default {
...
@@ -289,7 +289,7 @@ export default {
},
},
public_rules
:
{
public_rules
:
{
area
:
[
area
:
[
{
required
:
true
,
message
:
"
请选择
服
务领域
"
,
trigger
:
"
change
"
}
{
required
:
true
,
message
:
"
请选择
业
务领域
"
,
trigger
:
"
change
"
}
],
],
open
:
[{
required
:
true
,
message
:
"
请选择开放程度
"
,
trigger
:
"
change
"
}]
open
:
[{
required
:
true
,
message
:
"
请选择开放程度
"
,
trigger
:
"
change
"
}]
},
},
...
@@ -330,7 +330,7 @@ export default {
...
@@ -330,7 +330,7 @@ export default {
},
},
rules1
:
{
rules1
:
{
area
:
[
area
:
[
{
required
:
true
,
message
:
"
请选择
服
务领域
"
,
trigger
:
"
change
"
}
{
required
:
true
,
message
:
"
请选择
业
务领域
"
,
trigger
:
"
change
"
}
],
],
resource
:
[
resource
:
[
{
required
:
true
,
message
:
"
请选择开放程度
"
,
trigger
:
"
change
"
}
{
required
:
true
,
message
:
"
请选择开放程度
"
,
trigger
:
"
change
"
}
...
...
src/request/api.js
View file @
10e7603c
...
@@ -4,6 +4,7 @@ import user from '@/request/api/user';
...
@@ -4,6 +4,7 @@ import user from '@/request/api/user';
import
authority
from
'
@/request/api/authority
'
;
import
authority
from
'
@/request/api/authority
'
;
import
general
from
'
@/request/api/general
'
;
import
general
from
'
@/request/api/general
'
;
import
dataAnalysis
from
'
@/request/api/data-analysis
'
;
import
dataAnalysis
from
'
@/request/api/data-analysis
'
;
import
productType
from
'
@/request/api/product-type
'
export
default
{
export
default
{
workbench
,
workbench
,
...
@@ -11,5 +12,6 @@ export default {
...
@@ -11,5 +12,6 @@ export default {
user
,
user
,
authority
,
authority
,
general
,
general
,
dataAnalysis
dataAnalysis
,
productType
}
}
\ No newline at end of file
src/request/api/product-type.js
0 → 100644
View file @
10e7603c
import
axios
from
'
@/request/http
'
;
// 导入http中创建的axios实例
import
qs
from
'
qs
'
;
// 根据需求是否导入qs模块
const
productType
=
{
// 分类相关接口
getClassTypeList
(
params
)
{
return
axios
.
get
(
`/apaas/service/v3/service/manager/servtypeList`
,{
params
})
},
// 服务分类/服务类型列表
changeClassState
(
params
)
{
return
axios
.
put
(
`/apaas/service/v3/service/manager/servtype/state`
,
params
)
},
// 服务分类/服务类型状态改变
deleteClass
(
id
)
{
return
axios
.
delete
(
`/apaas/service/v3/service/manager/servtype/
${
id
}
`
)
},
// 删除服务分类/服务类型
addNewClass
(
params
)
{
return
axios
.
post
(
`/apaas/service/v3/service/manager/servtype`
,
params
)
},
// 新增服务分类/服务类型
editClass
(
params
)
{
return
axios
.
put
(
`/apaas/service/v3/service/manager/servtype`
,
params
)
},
// 编辑服务分类/服务类型
getClassDetail
(
id
)
{
return
axios
.
get
(
`/apaas/service/v3/service/manager/servtype/
${
id
}
`
)
},
// 获取服务分类/服务类型详情
getClassTypes
()
{
return
axios
.
get
(
`/apaas/service/v3/service/manager/allServtypes`
)
},
// 获取所有的产品分类
// 领域相关接口
getDomainTypeList
(
params
)
{
return
axios
.
get
(
`/apaas/service/v3/service/manager/servareaList`
,{
params
})
},
// 领域分类列表
changeDomainState
(
params
)
{
return
axios
.
put
(
`/apaas/service/v3/service/manager/servarea/state`
,
params
)
},
// 领域分类状态改变
deleteDomain
(
id
)
{
return
axios
.
delete
(
`/apaas/service/v3/service/manager/servarea/
${
id
}
`
)
},
// 删除领域分类
addNewDomain
(
params
)
{
return
axios
.
post
(
`/apaas/service/v3/service/manager/servarea`
,
params
)
},
// 新增领域分类
editDomain
(
params
)
{
return
axios
.
put
(
`/apaas/service/v3/service/manager/servarea`
,
params
)
},
// 编辑领域分类
getDomainDetail
(
id
)
{
return
axios
.
get
(
`/apaas/service/v3/service/manager/servarea/
${
id
}
`
)
},
// 获取领域分类详情
}
export
default
productType
;
src/router/index.js
View file @
10e7603c
...
@@ -29,12 +29,12 @@ export default new Router({
...
@@ -29,12 +29,12 @@ export default new Router({
path
:
"
/fwzc
"
,
// 服务注册
path
:
"
/fwzc
"
,
// 服务注册
name
:
"
fwzc
"
,
name
:
"
fwzc
"
,
redirect
:
"
/fwzc/fwcs
"
,
redirect
:
"
/fwzc/fwcs
"
,
component
:
()
=>
import
(
"
@/pages/workbench/fwzc_fwcs
"
),
component
:
()
=>
import
(
"
@/pages/workbench/fwzc_fwcs
_new
"
),
children
:
[
children
:
[
{
{
path
:
"
/fwzc/fwcs
"
,
// 服务注册/服务测试
path
:
"
/fwzc/fwcs
"
,
// 服务注册/服务测试
name
:
"
fwcs
"
,
name
:
"
fwcs
"
,
component
:
()
=>
import
(
"
@/pages/workbench/fwzc_fwcs
"
),
component
:
()
=>
import
(
"
@/pages/workbench/fwzc_fwcs
_new
"
),
},
},
],
],
},
// 工作台 - 服务注册模块
},
// 工作台 - 服务注册模块
...
@@ -147,6 +147,44 @@ export default new Router({
...
@@ -147,6 +147,44 @@ export default new Router({
},
},
],
],
},
// 工作台 - 应用管理模块
},
// 工作台 - 应用管理模块
{
path
:
"
/productType
"
,
name
:
"
productType
"
,
component
:
()
=>
import
(
"
@/pages/workbench/product-type
"
),
redirect
:
"
/productType/classList
"
,
children
:
[
{
path
:
"
/productType/classList
"
,
name
:
"
/productTypeClassList
"
,
component
:
()
=>
import
(
"
@/pages/workbench/product-type/class_list
"
)
},
// 产品分类与产品类型
{
path
:
"
/productType/classList/add
"
,
name
:
"
/productTypeClassListAdd
"
,
component
:
()
=>
import
(
"
@/pages/workbench/product-type/class_edit
"
)
},
// 产品分类与产品类型新增
{
path
:
"
/productType/classList/edit/:id
"
,
name
:
"
/productTypeClassListEdit
"
,
component
:
()
=>
import
(
"
@/pages/workbench/product-type/class_edit
"
)
},
// 产品分类与产品类型编辑
{
path
:
"
/productType/domainList
"
,
name
:
"
/productTypeDomainList
"
,
component
:
()
=>
import
(
"
@/pages/workbench/product-type/domain_list
"
)
},
// 领域管理
{
path
:
"
/productType/domainList/add
"
,
name
:
"
/productTypeDomainListAdd
"
,
component
:
()
=>
import
(
"
@/pages/workbench/product-type/domain_edit
"
)
},
// 领域分类新增
{
path
:
"
/productType/domainList/edit/:id
"
,
name
:
"
/productTypeDomainListEdit
"
,
component
:
()
=>
import
(
"
@/pages/workbench/product-type/domain_edit
"
)
},
// 领域分类编辑
],
},
// 分类管理
{
{
path
:
"
/technical_support
"
,
path
:
"
/technical_support
"
,
name
:
"
technicalSupport
"
,
name
:
"
technicalSupport
"
,
...
@@ -278,55 +316,60 @@ export default new Router({
...
@@ -278,55 +316,60 @@ export default new Router({
{
{
path
:
"
/shop
"
,
// 服务超市
path
:
"
/shop
"
,
// 服务超市
name
:
"
shop
"
,
name
:
"
shop
"
,
redirect
:
"
/shop/data_service_list
/5
"
,
redirect
:
"
/shop/data_service_list
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/shop
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/shop
"
),
children
:
[
children
:
[
{
{
path
:
"
/shop/data_service_list/:id
"
,
//
数据服务
列表页
path
:
"
/shop/data_service_list/:id
"
,
//
应用商店
列表页
name
:
"
shopDataList
"
,
name
:
"
shopDataList
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list
-
new
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list
_
new
"
),
},
},
{
{
path
:
"
/shop/space_time_service_list/:id
"
,
// 时空服务列表页
path
:
"
/shop/data_service_list
"
,
// 服务商店列表页
name
:
"
shopSpaceTimeList
"
,
name
:
"
shopDataList
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list-new
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list_new
"
),
},
},
{
// {
path
:
"
/shop/video_service_list/:id
"
,
// 视频服务列表页
// path: "/shop/space_time_service_list/:id", // 时空服务列表页
name
:
"
shopVideoList
"
,
// name: "shopSpaceTimeList",
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list-new
"
),
// component: () => import("@/pages/service_shop/shop_list-new"),
},
// },
{
// {
path
:
"
/shop/perception_service_list/:id
"
,
// 感知服务列表页
// path: "/shop/video_service_list/:id", // 视频服务列表页
name
:
"
shopPerceptionList
"
,
// name: "shopVideoList",
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list-new
"
),
// component: () => import("@/pages/service_shop/shop_list-new"),
},
// },
{
// {
path
:
"
/shop/comprehensive_app_list/:id
"
,
// 综合应用列表页
// path: "/shop/perception_service_list/:id", // 感知服务列表页
name
:
"
shopComAppList
"
,
// name: "shopPerceptionList",
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list-new
"
),
// component: () => import("@/pages/service_shop/shop_list-new"),
},
// },
{
// {
path
:
"
/shop/cloud
"
,
// 云资源服务
// path: "/shop/comprehensive_app_list/:id", // 综合应用列表页
name
:
"
shopCloud
"
,
// name: "shopComAppList",
component
:
()
=>
import
(
"
@/pages/service_shop/shop_cloud-new
"
),
// component: () => import("@/pages/service_shop/shop_list-new"),
},
// },
// {
// path: "/shop/cloud", // 云资源服务
// name: "shopCloud",
// component: () => import("@/pages/service_shop/shop_cloud-new"),
// },
{
{
path
:
"
/shop/service_application_successfully
"
,
// 申请服务成功
path
:
"
/shop/service_application_successfully
"
,
// 申请服务成功
name
:
"
shopSuccess
"
,
name
:
"
shopSuccess
"
,
component
:
()
=>
component
:
()
=>
import
(
"
@/pages/service_shop/service_application_successfully
"
),
import
(
"
@/pages/service_shop/service_application_successfully
"
),
},
},
{
//
{
path
:
"
/shop/app_store_list/:id
"
,
// 应用商店列表页
//
path: "/shop/app_store_list/:id", // 应用商店列表页
name
:
"
shopAppStoreList
"
,
//
name: "shopAppStoreList",
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list-
new
"
),
// component: () => import("@/pages/service_shop/shop_list_
new"),
},
//
},
{
//
{
path
:
"
/shop/products_list/:id
"
,
// 应用商店列表页
//
path: "/shop/products_list/:id", // 应用商店列表页
name
:
"
shopAppStoreList
"
,
//
name: "shopAppStoreList",
component
:
()
=>
import
(
"
@/pages/service_shop/shop_list-new
"
),
//
component: () => import("@/pages/service_shop/shop_list-new"),
},
//
},
{
{
path
:
"
/shop/shopping_cart
"
,
// 购物车页
path
:
"
/shop/shopping_cart
"
,
// 购物车页
name
:
"
shoppingCart
"
,
name
:
"
shoppingCart
"
,
...
@@ -343,37 +386,37 @@ export default new Router({
...
@@ -343,37 +386,37 @@ export default new Router({
path
:
"
/shop/sjfwDetail/:id
"
,
path
:
"
/shop/sjfwDetail/:id
"
,
name
:
"
sjfwDetail
"
,
name
:
"
sjfwDetail
"
,
component
:
()
=>
import
(
"
@/pages/service_shop/sjfwDetail
"
),
component
:
()
=>
import
(
"
@/pages/service_shop/sjfwDetail
"
),
},
// 服务超市 -
数据
服务详情
},
// 服务超市 - 服务详情
{
//
{
path
:
"
/shop/skfwDetail/:id
"
,
//
path: "/shop/skfwDetail/:id",
name
:
"
skfwDetail
"
,
//
name: "skfwDetail",
component
:
()
=>
import
(
"
@/pages/service_shop/skfwDetail
"
),
//
component: () => import("@/pages/service_shop/skfwDetail"),
},
// 服务超市 - 时空服务详情
//
}, // 服务超市 - 时空服务详情
{
//
{
path
:
"
/shop/spfwDetail/:id
"
,
//
path: "/shop/spfwDetail/:id",
name
:
"
spfwDetail
"
,
//
name: "spfwDetail",
component
:
()
=>
import
(
"
@/pages/service_shop/spfwDetail
"
),
//
component: () => import("@/pages/service_shop/spfwDetail"),
},
// 服务超市 - 视频服务详情
//
}, // 服务超市 - 视频服务详情
{
//
{
path
:
"
/shop/gzfwDetail/:id
"
,
//
path: "/shop/gzfwDetail/:id",
name
:
"
sjfwDetail
"
,
//
name: "sjfwDetail",
component
:
()
=>
import
(
"
@/pages/service_shop/gzfwDetail
"
),
//
component: () => import("@/pages/service_shop/gzfwDetail"),
},
// 服务超市 - 感知服务详情
//
}, // 服务超市 - 感知服务详情
{
//
{
path
:
"
/shop/zhfwDetail/:id
"
,
//
path: "/shop/zhfwDetail/:id",
name
:
"
zhfwDetail
"
,
//
name: "zhfwDetail",
component
:
()
=>
import
(
"
@/pages/service_shop/zhfwDetail
"
),
//
component: () => import("@/pages/service_shop/zhfwDetail"),
},
// 服务超市 - 综合应用详情
//
}, // 服务超市 - 综合应用详情
{
//
{
path
:
"
/shop/yysdDetail/:id
"
,
//
path: "/shop/yysdDetail/:id",
name
:
"
yysdDetail
"
,
//
name: "yysdDetail",
component
:
()
=>
import
(
"
@/pages/service_shop/yysdDetail
"
),
//
component: () => import("@/pages/service_shop/yysdDetail"),
},
// 服务超市 - 应用详情
//
}, // 服务超市 - 应用详情
{
//
{
path
:
"
/shop/cpDetail/:id
"
,
//
path: "/shop/cpDetail/:id",
name
:
"
cpDetail
"
,
//
name: "cpDetail",
component
:
()
=>
import
(
"
@/pages/service_shop/cpDetail
"
),
//
component: () => import("@/pages/service_shop/cpDetail"),
},
// 服务超市 - 产品资源详情
//
}, // 服务超市 - 产品资源详情
{
{
path
:
"
/workplace
"
,
path
:
"
/workplace
"
,
name
:
"
workPlace
"
,
name
:
"
workPlace
"
,
...
...
src/store/index.js
View file @
10e7603c
...
@@ -6,7 +6,8 @@ const store = new Vuex.Store({
...
@@ -6,7 +6,8 @@ const store = new Vuex.Store({
state
:
{
state
:
{
role
:
0
,
// 0:普通用户,1:组织管理员,2:超级管理员
role
:
0
,
// 0:普通用户,1:组织管理员,2:超级管理员
userInfo
:
null
,
// 用户信息
userInfo
:
null
,
// 用户信息
serviceShopMenu
:
"
/shop/data_service_list/5
"
,
// 服务超市侧边栏
// serviceShopMenu: "/shop/data_service_list/5", // 服务超市侧边栏
serviceShopMenu
:
null
,
// 服务超市侧边栏
fwglNav
:
[
fwglNav
:
[
[
"
注册发布的服务
"
,
"
申请的服务
"
,
"
云资源服务
"
],
// 普通用户
[
"
注册发布的服务
"
,
"
申请的服务
"
,
"
云资源服务
"
],
// 普通用户
[
"
组织服务管理
"
,
"
服务审批管理
"
,
"
云资源管理
"
],
// 组织管理员
[
"
组织服务管理
"
,
"
服务审批管理
"
,
"
云资源管理
"
],
// 组织管理员
...
...
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