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
efd742cf
Commit
efd742cf
authored
Jul 04, 2020
by
张俊
Browse files
Options
Browse Files
Download
Plain Diff
合并
parents
c4a104dc
6537e94e
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1076 additions
and
839 deletions
+1076
-839
src/assets/imgs/ic_guoqi.png
src/assets/imgs/ic_guoqi.png
+0
-0
src/assets/imgs/ic_true.png
src/assets/imgs/ic_true.png
+0
-0
src/components/apass-list.vue
src/components/apass-list.vue
+71
-2
src/components/apass-table.vue
src/components/apass-table.vue
+41
-5
src/components/image-detail.vue
src/components/image-detail.vue
+55
-260
src/components/menu.vue
src/components/menu.vue
+36
-107
src/components/service-tabs/service-tab-comments.vue
src/components/service-tabs/service-tab-comments.vue
+5
-5
src/components/service-tabs/service-tabs.vue
src/components/service-tabs/service-tabs.vue
+4
-4
src/components/shop-card.vue
src/components/shop-card.vue
+35
-18
src/components/shop-cloud/shop-cloud.vue
src/components/shop-cloud/shop-cloud.vue
+134
-252
src/components/shop-list.vue
src/components/shop-list.vue
+12
-8
src/pages/service_shop/services_shop.vue
src/pages/service_shop/services_shop.vue
+72
-71
src/pages/workbench/app_build.vue
src/pages/workbench/app_build.vue
+2
-4
src/pages/workbench/fwgl/fwglList.vue
src/pages/workbench/fwgl/fwglList.vue
+594
-99
src/pages/workbench/yygl/app_debugger.vue
src/pages/workbench/yygl/app_debugger.vue
+1
-1
src/request/api/service_shop.js
src/request/api/service_shop.js
+11
-0
src/store/index.js
src/store/index.js
+3
-3
No files found.
src/assets/imgs/ic_guoqi.png
0 → 100644
View file @
efd742cf
1.37 KB
src/assets/imgs/ic_true.png
View replaced file @
c4a104dc
View file @
efd742cf
1.51 KB
|
W:
|
H:
1.51 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/components/apass-list.vue
View file @
efd742cf
...
...
@@ -3,6 +3,11 @@
<div
class=
"apass_breadcrumb"
>
<slot
name=
"breadcrumb"
></slot>
</div>
<div
class=
"main-container top_container"
v-if=
"$slots.top"
>
<slot
name=
"top"
></slot>
</div>
<div
class=
"main-container"
>
<div
class=
"header-container"
v-if=
"!hideHeader"
>
<div
class=
"header-left apass_button"
>
...
...
@@ -18,6 +23,28 @@
"
></i>
</el-button>
<div
v-for=
"(item, index) in selectFilter"
:key=
"'select_' + index"
class=
"select_container"
>
<span
class=
"select_title"
v-text=
"item.name"
></span>
<el-select
v-model=
"item.value"
placeholder=
"请选择"
@
change=
"listAction"
>
<el-option
v-for=
"(v, i) in item.options"
:key=
"'select_' + index + '_option_' + i"
:label=
"v.name"
:value=
"v.value"
>
</el-option>
</el-select>
</div>
<slot
name=
"header-left"
></slot>
</div>
<div
class=
"header-center"
>
...
...
@@ -51,7 +78,7 @@
<list-table
:header=
"listHeader"
:data=
"listData"
:padding-left=
"
35
"
:padding-left=
"
listPaddingLeft
"
></list-table>
</div>
...
...
@@ -84,6 +111,10 @@ export default {
type
:
Array
,
default
:
()
=>
[],
},
otherFilter
:
{
type
:
Array
,
default
:
()
=>
[],
},
listHeader
:
{
type
:
Array
,
default
:
()
=>
[],
...
...
@@ -116,8 +147,21 @@ export default {
currentPage
:
1
,
timer
:
null
,
pageSizes
:
[
15
,
50
,
100
],
selectFilter
:
[],
}),
methods
:
{
initOtherFilter
()
{
this
.
otherFilter
.
forEach
((
item
)
=>
{
this
.
$set
(
this
.
filter
,
item
.
prop
,
item
.
default
);
this
.
selectFilter
.
push
({
name
:
item
.
name
,
prop
:
item
.
prop
,
value
:
item
.
default
,
options
:
item
.
options
,
});
});
},
searchAction
(
value
)
{
this
.
listAction
();
},
...
...
@@ -140,8 +184,15 @@ export default {
}
this
.
timer
=
setTimeout
(()
=>
{
let
selectFilter
=
{};
this
.
selectFilter
.
forEach
((
item
)
=>
{
selectFilter
[
item
.
prop
]
=
item
.
value
;
});
this
.
$emit
(
"
list-action
"
,
{
...
this
.
filter
,
...
selectFilter
,
keyword
:
this
.
searchValue
,
size
:
this
.
pageSize
,
page
:
this
.
currentPage
,
...
...
@@ -150,6 +201,10 @@ export default {
},
},
mounted
()
{
if
(
this
.
otherFilter
&&
this
.
otherFilter
.
length
>
0
)
{
this
.
initOtherFilter
();
}
this
.
listAction
();
},
};
...
...
@@ -182,7 +237,17 @@ export default {
justify-content
:
space-between
;
align-items
:
center
;
}
.header-container
.el-button
+
.el-button
{
.header-container
.select_container
{
display
:
inline-block
;
vertical-align
:
middle
;
}
.header-container
.select_container
.select_title
{
font-size
:
14px
;
color
:
#242c43
;
margin-right
:
10px
;
}
.header-container
.el-button
+
.el-button
,
.header-container
.select_container
+
.select_container
{
margin-left
:
25px
;
}
.apass_filter
{
...
...
@@ -195,4 +260,8 @@ export default {
.list-container
{
flex-grow
:
1
;
}
.top_container
{
flex-grow
:
0
;
margin-bottom
:
20px
;
}
</
style
>
src/components/apass-table.vue
View file @
efd742cf
<
template
>
<div
class=
"apass_table"
>
<el-table
:data=
"data"
:height=
"height"
>
<el-table-column
:width=
"Math.max(paddingLeft - 10, 0)"
v-if=
"icon
"
></el-table-column>
<el-table-column
v-if=
"paddingLeft > 10"
:width=
"paddingLeft - 10
"
></el-table-column>
<el-table-column
v-for=
"(item, index) in header"
:label=
"item.label"
...
...
@@ -61,6 +61,33 @@
</sparkline>
<span
class=
"use"
v-if=
"item.prop=='cpu'"
>
{{scope.row['cpu_use']}}.00mm
</span>
<span
class=
"use"
v-if=
"item.prop=='mermoy'"
>
{{scope.row['memory_use']}}.00Mi
</span>
</div>
<div
v-else-if=
"item.type === 'image'"
class=
"img_content"
>
<img
:src=
"item.getImage && item.getImage(scope.row)"
:width=
"item.size"
/>
</div>
<div
v-else-if=
"
item.type === 'tooltip' &&
item.getLength &&
item.getLength(scope.row) > 1
"
>
<el-tooltip
placement=
"right-start"
popper-class=
"apass_table_tooltip"
>
<div
slot=
"content"
v-html=
"item.getContent && item.getContent(scope.row)"
></div>
<span
v-text=
"(item.getText && item.getText(scope.row)) + '..'"
style=
"text-decoration: underline;color: #515fe7;"
></span>
</el-tooltip>
</div>
<span
v-else
...
...
@@ -89,10 +116,6 @@ export default {
type
:
[
Number
,
String
],
default
:
()
=>
50
,
},
icon
:{
type
:
Boolean
,
default
:
true
,
},
height
:{
type
:
Number
,
default
:
null
,
...
...
@@ -162,4 +185,17 @@ export default {
font-size
:
12px
;
color
:
rgba
(
26
,
34
,
54
,
1
);
}
.apass_table_tooltip
{
font-size
:
12px
;
line-height
:
20px
;
}
</
style
>
<
style
scoped
>
.img_content
{
height
:
100%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
</
style
>
src/components/image-detail.vue
View file @
efd742cf
This diff is collapsed.
Click to expand it.
src/components/menu.vue
View file @
efd742cf
<
template
>
<div
class=
"menu"
>
<img
src=
"../assets/imgs/home_img_logo.png"
alt
class=
"logo"
/>
<div
style=
"float:right;cursor: pointer;position:relative;"
class=
"user_hover"
>
<span
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"user"
>
{{
userInfo
.
user_name
}}
</span
>
<div
style=
"float:right;cursor: pointer;position:relative;"
class=
"user_hover"
>
<span
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"user"
>
{{
userInfo
.
user_name
}}
</span>
<span
v-else
@
click=
"gotopage('login')"
class=
"user"
>
请登录
</span>
<img
:class=
"userInfo.picture_path ? 'user_pic' : 'user_default'"
:src=
"
<img
:class=
"userInfo.picture_path ? 'user_pic' : 'user_default'"
:src=
"
userInfo.picture_path || require('../assets/imgs/home_ic_user.png')
"
/>
<div
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"user_menu"
>
<div
v-for=
"(item, index) in user_arr"
:key=
"index + 700"
@
click=
"gotopage(item.path)"
>
"
/>
<div
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"user_menu"
>
<div
v-for=
"(item, index) in user_arr"
:key=
"index + 700"
@
click=
"gotopage(item.path)"
>
{{
item
.
name
}}
</div>
</div>
<div
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"sj"
></div>
<div
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"sj"
></div>
</div>
<div
style=
"float:right;cursor: pointer;position:relative;"
class=
"shop_hover"
@
click=
"gotopage('/shop/shopping_cart')"
>
<div
style=
"float:right;cursor: pointer;position:relative;"
class=
"shop_hover"
@
click=
"gotopage('/shop/shopping_cart')"
>
<div
class=
"car"
>
<el-badge
v-if=
"menuCartNum != 0"
:value=
"menuCartNum"
:max=
"99"
class=
"number"
></el-badge>
<el-badge
v-if=
"menuCartNum != 0"
:value=
"menuCartNum"
:max=
"99"
class=
"number"
></el-badge>
<img
src=
"../assets/imgs/home_ic_shop.png"
alt
class=
"car_img"
/>
</div>
<div
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"shop_menu"
>
<div
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"shop_menu"
>
<div
class=
"shop_list_title"
>
最近加入的服务:
</div>
<div
v-for=
"(item, index) in shopping_list"
:key=
"'shopping' + index"
class=
"shop_list_cell shop_line"
>
<div
v-for=
"(item, index) in shopping_list"
:key=
"'shopping' + index"
class=
"shop_list_cell shop_line"
>
<img
:src=
"item.service.cover"
class=
"shop_img"
/>
<div
class=
"shop_cell_msgs"
>
<p
@
click=
"getDetail(item.id)"
class=
"shop_cell_name over_one"
>
{{
item
.
service_id
==
0
?
item
.
application
.
app_name
:
item
.
service
.
name
}}
{{
item
.
service_id
==
0
?
item
.
application
.
app_name
:
item
.
service
.
name
}}
</p>
<p
class=
"shop_cell_msg bover_one"
>
{{
item
.
service_id
==
0
?
item
.
application
.
ywly
:
item
.
service
.
sectors_name
}}
{{
item
.
service_id
==
0
?
item
.
application
.
ywly
:
item
.
service
.
sectors_name
}}
</p>
<p
class=
"shop_cell_msg over_one"
>
{{
item
.
service_id
==
0
?
item
.
application
.
org
:
item
.
service
.
organization_name
}}
{{
item
.
service_id
==
0
?
item
.
application
.
org
:
item
.
service
.
organization_name
}}
</p>
</div>
<div>
<img
@
click.stop=
"deleteItem(item.id)"
src=
"../assets/imgs/ic_delete.png"
alt
/>
<img
@
click.stop=
"deleteItem(item.id)"
src=
"../assets/imgs/ic_delete.png"
alt
/>
</div>
</div>
<div
class=
"shop_footer"
>
<el-button
@
click=
"settlement"
size=
"small"
class=
"shop_settlement"
>
去购物车申请结算
</el-button
>
<el-button
@
click=
"settlement"
size=
"small"
class=
"shop_settlement"
>
去购物车申请结算
</el-button>
</div>
</div>
<div
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"shop_sj"
></div>
<div
v-if=
"userInfo.user_name && userInfo.user_name != ''"
class=
"shop_sj"
></div>
</div>
<div
style=
"float:right"
>
<div
v-for=
"(item, index) in menu_arr"
:key=
"index + 200"
class=
"menu_box user_hover"
@
click=
"navAction(item.visit_url)"
:style=
"
{ color: now_menu == item.visit_url ? '#fff' : '' }"
>
<div
v-for=
"(item, index) in menu_arr"
:key=
"index + 200"
class=
"menu_box user_hover"
@
click=
"navAction(item.visit_url)"
:style=
"
{ color: now_menu == item.visit_url ? '#fff' : '' }">
{{
item
.
menu_name
}}
<div
class=
"user_menu"
v-if=
"item.Child && item.Child.length"
style=
"left: 30px;"
>
<div
v-for=
"(v, indexs) in item.Child"
:key=
"indexs + 700"
@
click.stop=
"gotoChildPage(v, item.visit_url)"
>
<div
class=
"user_menu"
v-if=
"item.Child && item.Child.length"
style=
"left: 30px;"
>
<div
v-for=
"(v, indexs) in item.Child"
:key=
"indexs + 700"
@
click.stop=
"gotoChildPage(v, item.visit_url)"
>
{{
v
.
menu_name
}}
</div>
</div>
<div
class=
"sj"
v-if=
"item.Child && item.Child.length"
style=
"left: 60px;"
></div>
<div
class=
"sj"
v-if=
"item.Child && item.Child.length"
style=
"left: 60px;"
></div>
<div
class=
"bottom_show"
v-if=
"now_menu == item.visit_url"
></div>
</div>
</div>
...
...
@@ -146,10 +71,10 @@ export default {
{
name
:
"
消息通知
"
,
path
:
"
/user/message
"
},
{
name
:
"
收银中心
"
,
path
:
""
},
{
name
:
"
关于BD-aPaaS
"
,
path
:
""
},
{
name
:
"
退出登录
"
,
path
:
"
logout
"
}
,
{
name
:
"
退出登录
"
,
path
:
"
logout
"
}
],
shopping_list
:
[],
menuCartNum
:
0
,
menuCartNum
:
0
};
},
mounted
()
{
...
...
@@ -162,15 +87,16 @@ export default {
},
userInfo
()
{
return
this
.
$store
.
state
.
userInfo
||
{};
}
,
}
},
watch
:
{
getMenuCartState
(
newVal
)
{
this
.
getList
();
}
,
}
},
methods
:
{
gotopage
(
n
)
{
console
.
log
(
"
function gotopage,menu test:
"
+
n
);
if
(
n
==
"
logout
"
)
{
window
.
location
.
href
=
"
/iam/api/logout
"
;
}
else
if
(
n
==
"
login
"
)
{
...
...
@@ -185,7 +111,7 @@ export default {
},
deleteItem
(
id
)
{
let
query
=
[
id
];
this
.
$api
.
serviceShop
.
delShoppingCart
(
query
).
then
(
(
response
)
=>
{
this
.
$api
.
serviceShop
.
delShoppingCart
(
query
).
then
(
response
=>
{
this
.
getList
();
});
},
...
...
@@ -195,26 +121,29 @@ export default {
this
.
$router
.
push
({
name
:
"
shoppingCart
"
});
},
navAction
(
path
)
{
this
.
$router
.
push
(
path
);
console
.
log
(
"
function navAction,menu test:
"
+
path
);
this
.
now_menu
=
path
;
window
.
sessionStorage
.
setItem
(
"
menuVisitUrl
"
,
path
);
this
.
$router
.
push
(
path
);
},
gotoChildPage
(
v
,
parent
)
{
console
.
log
(
"
function gotoChildPage,menu test:
"
+
v
+
"
|
"
+
parent
);
if
(
v
.
visit_url
)
{
if
(
v
.
visit_url
==
"
/fwgl/
"
||
v
.
visit_url
==
"
/yygl/
"
)
{
this
.
$router
.
push
(
v
.
visit_url
+
this
.
$store
.
getters
.
level
);
}
else
if
(
parent
==
"
/services_shop
"
)
{
this
.
$router
.
push
(
v
.
visit_url
);
this
.
$store
.
commit
(
"
serviceShopMenuAct
"
,
v
.
visit_url
);
this
.
$router
.
push
(
v
.
visit_url
);
}
else
{
this
.
$router
.
push
(
v
.
visit_url
);
}
this
.
now_menu
=
parent
;
window
.
sessionStorage
.
setItem
(
"
menuVisitUrl
"
,
parent
);
}
},
getList
()
{
this
.
$api
.
serviceShop
.
getShoppingCart
().
then
(
(
response
)
=>
{
this
.
$api
.
serviceShop
.
getShoppingCart
().
then
(
response
=>
{
if
(
response
.
data
.
success
==
"
1
"
)
{
this
.
menuCartNum
=
response
.
data
.
data
.
valid
?
response
.
data
.
data
.
valid
.
length
...
...
@@ -233,15 +162,15 @@ export default {
this
.
now_menu
=
visit_url
?
visit_url
:
"
/services_shop
"
;
},
getNowMenu
()
{
this
.
$api
.
general
.
getNowMenu
({
teamName
:
"
APAAS3
"
}).
then
(
(
response
)
=>
{
this
.
$api
.
general
.
getNowMenu
({
teamName
:
"
APAAS3
"
}).
then
(
response
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
menu_arr
=
(
response
.
data
.
data
[
0
]
&&
response
.
data
.
data
[
0
].
Child
)
||
[];
this
.
getMenuIndex
();
}
});
}
,
}
,
}
}
};
</
script
>
...
...
src/components/service-tabs/service-tab-comments.vue
View file @
efd742cf
...
...
@@ -50,11 +50,11 @@ export default {
score
:
0
,
starInfo
:
[
{
star
:
1
,
star
:
5
,
percent
:
0
,
},
{
star
:
2
,
star
:
4
,
percent
:
0
,
},
{
...
...
@@ -62,11 +62,11 @@ export default {
percent
:
0
,
},
{
star
:
4
,
star
:
2
,
percent
:
0
,
},
{
star
:
5
,
star
:
1
,
percent
:
0
,
},
],
...
...
@@ -79,7 +79,7 @@ export default {
return
{
score
:
data
.
avgScore
||
0
,
starInfo
:
[
1
,
2
,
3
,
4
,
5
].
map
((
star
)
=>
{
starInfo
:
[
5
,
4
,
3
,
2
,
1
].
map
((
star
)
=>
{
let
percent
=
this
.
commentsTtotal
>
0
?
(((
data
.
scoreStatic
&&
data
.
scoreStatic
[
star
])
||
0
)
/
...
...
src/components/service-tabs/service-tabs.vue
View file @
efd742cf
...
...
@@ -13,7 +13,7 @@
></service-tab-detail>
</el-tab-pane>
<!-- 规格
定价
-->
<!-- 规格
说明
-->
<el-tab-pane
:label=
"specificationTitle"
name=
"specification"
...
...
@@ -25,7 +25,7 @@
></service-tab-specification>
</el-tab-pane>
<!-- 提供
机构
-->
<!-- 提供
组织
-->
<el-tab-pane
:label=
"providerTitle"
name=
"provider"
v-if=
"providerData"
>
<service-tab-provider
class=
"service_info"
...
...
@@ -65,11 +65,11 @@ export default {
},
specificationTitle
:
{
type
:
String
,
default
:
()
=>
"
规格
定价
"
,
default
:
()
=>
"
规格
说明
"
,
},
providerTitle
:
{
type
:
String
,
default
:
()
=>
"
提供
机构
"
,
default
:
()
=>
"
提供
组织
"
,
},
commentsTitle
:
{
type
:
String
,
...
...
src/components/shop-card.vue
View file @
efd742cf
<
template
>
<div
class=
"shop_card"
>
<div
class=
"shop_car-img"
v-if=
"
data.i
mg"
@
click=
"intoDetail"
>
<img
:src=
"data.
img
"
width=
"100%"
/>
<div
class=
"shop_car-img"
v-if=
"
showI
mg"
@
click=
"intoDetail"
>
<img
:src=
"data.
cover
"
width=
"100%"
/>
</div>
<div
class=
"shop_card-top"
>
<p
class=
"shop_card-title text_clip_2"
v-text=
"data.
titl
e"
:title=
"data.
titl
e"
v-text=
"data.
nam
e"
:title=
"data.
nam
e"
@
click=
"intoDetail"
></p>
<p
class=
"shop_card-text under_text"
>
<span
class=
"text_clip"
v-text=
"data.provider"
:title=
"data.provider"
></span>
<span
class=
"text_clip"
v-text=
"data.department_name"
:title=
"data.department_name"
></span>
<span>
<i
class=
"el-icon-star-on"
></i>
<span
v-text=
"data.rate"
></span>
<el-rate
v-model=
"data.score"
disabled
show-score
text-color=
"#ea7d19"
score-template=
"
{value}"
>
</el-rate>
</span>
</p>
</div>
...
...
@@ -28,16 +29,22 @@
</p>
<p
class=
"shop_card-text update_time"
>
<img
:src=
"require('@/assets/imgs/icon_shijian.png')"
style=
"margin-right: 5px;"
/>
<span
class=
"text_clip"
v-text=
"'更新时间:' +
data.updateTime
"
></span>
<span
class=
"text_clip"
v-text=
"'更新时间:' +
helper.dateStringTransform(data.update_date)
"
></span>
</p>
<div
class=
"shop_card-text access"
>
<span>
<img
:src=
"require('@/assets/imgs/icon_liulan.png')"
/>
<span
class=
"text_clip"
v-text=
"data.viewCount + '次浏览'"
></span>
<span
class=
"text_clip"
v-text=
"helper.numberFormat(data.view_count, 2) + (data.view_count > 10000 ? '万' : '') + '次浏览'"
></span>
</span>
<span>
<img
:src=
"require('@/assets/imgs/icon_huoqu1.png')"
/>
<span
class=
"text_clip"
v-text=
"data.numberOfMonth + '次获取'"
></span>
<span
class=
"text_clip"
v-text=
"helper.numberFormat(data.apply_count, 2) + (data.apply_count > 10000 ? '万' : '') + '次获取'"
></span>
</span>
</div>
</div>
...
...
@@ -45,22 +52,32 @@
</
template
>
<
script
>
import
helper
from
"
@/services/helper
"
;
export
default
{
props
:
{
data
:
{
type
:
Object
,
required
:
true
,
default
:
()
=>
{}
},
detailPath
:
{
type
:
String
,
required
:
true
,
required
:
true
},
showImg
:
{
type
:
Boolean
,
default
:
false
}
},
data
()
{
return
{
helper
};
},
methods
:
{
intoDetail
()
{
this
.
$router
.
push
(
this
.
detailPath
+
this
.
data
.
id
);
}
,
}
,
}
}
};
</
script
>
...
...
src/components/shop-cloud/shop-cloud.vue
View file @
efd742cf
This diff is collapsed.
Click to expand it.
src/components/shop-list.vue
View file @
efd742cf
...
...
@@ -9,7 +9,7 @@
<ul
class=
"shop_cards"
>
<li
v-for=
"(item, index) in data"
:key=
"'card_' + index"
>
<shop-card
:data=
"item"
:detail-path=
"detailPath"
></shop-card>
<shop-card
:data=
"item"
:
showImg=
"showImg"
:
detail-path=
"detailPath"
></shop-card>
</li>
</ul>
</div>
...
...
@@ -20,33 +20,37 @@ import shopCard from "./shop-card";
export
default
{
components
:
{
shopCard
,
shopCard
},
props
:
{
name
:
{
type
:
String
,
required
:
true
,
required
:
true
},
to
:
{
type
:
String
,
required
:
true
,
required
:
true
},
detailPath
:
{
type
:
String
,
required
:
true
,
required
:
true
},
data
:
{
type
:
Array
,
required
:
true
,
default
:
()
=>
[]
},
showImg
:
{
type
:
Boolean
,
default
:
false
}
},
methods
:
{
goto
()
{
if
(
this
.
to
)
{
this
.
$router
.
push
(
this
.
to
);
}
}
,
}
,
}
}
};
</
script
>
...
...
src/pages/service_shop/services_shop.vue
View file @
efd742cf
<
template
>
<div
class=
"services_shop-container"
>
<div
class=
"services_shop-carousel"
>
<el-carousel
height=
"400px"
>
<el-carousel-item
v-for=
"(banner, index) in banners"
:key=
"'banner_' + index"
>
<img
:src=
"banner"
width=
"100%"
/>
<el-carousel
height=
"400px"
arrow=
"never"
>
<el-carousel-item
v-for=
"(banner, index) in banners"
:key=
"'banner_' + index"
>
<img
:src=
"banner.image_url"
width=
"100%"
@
click=
"goto(banner.url)"
/>
</el-carousel-item>
</el-carousel>
<ul
class=
"services_shop-info"
>
...
...
@@ -18,16 +15,12 @@
<div
class=
"right-container"
>
<p
v-text=
"item.name"
></p>
<p>
<span
v-text=
"item.value"
>
</span>
<span
v-text=
"item.unit"
>
</span>
<span
>
{{
helper
.
numberFormat
(
item
.
value
,
2
)
}}
</span>
<span
>
{{
item
.
value
>
10000
?
"
万
"
:
""
}}
</span>
</p>
</div>
</li>
<li
class=
"info_line"
:key=
"'line_' + index"
v-if=
"index + 1
<
servicesShopInfo
.
length
"
></li>
<li
class=
"info_line"
:key=
"'line_' + index"
v-if=
"index + 1
<
servicesShopInfo
.
length
"
></li>
</
template
>
</ul>
</div>
...
...
@@ -38,6 +31,7 @@
to=
"/shop/data_service_list"
detail-path=
"/shop/sjfwDetail/"
:data=
"hot_datas"
:showImg=
"false"
></shop-list>
<!-- 精品地图 -->
...
...
@@ -46,6 +40,7 @@
to=
"/shop/space_time_service_list"
detail-path=
"/shop/skfwDetail/"
:data=
"map_datas"
:showImg=
"true"
></shop-list>
<!-- 综合应用 -->
...
...
@@ -54,84 +49,90 @@
to=
"/shop/comprehensive_app_list"
detail-path=
"/shop/zhfwDetail/"
:data=
"comprehensive_datas"
:showImg=
"true"
></shop-list>
</div>
</template>
<
script
>
import
shopList
from
"
@/components/shop-list
"
;
import
helper
from
"
@/services/helper
"
;
export
default
{
components
:
{
shopList
,
shopList
},
data
:
()
=>
({
banners
:
null
,
servicesShopInfo
:
null
,
servicesShopInfo
:
[
{
name
:
"
服务总数
"
,
value
:
0
,
icon
:
require
(
"
@/assets/imgs/shop_ic_fuwuzs.png
"
)
},
{
name
:
"
用户总数
"
,
value
:
0
,
icon
:
require
(
"
@/assets/imgs/shop_ic_yonghuzs.png
"
)
},
{
name
:
"
接入机构
"
,
value
:
0
,
icon
:
require
(
"
@/assets/imgs/shop_ic_jierujg.png
"
)
},
{
name
:
"
接入系统
"
,
value
:
0
,
icon
:
require
(
"
@/assets/imgs/shop_ic_jieruxt.png
"
)
},
{
name
:
"
服务请求次数
"
,
value
:
0
,
icon
:
require
(
"
@/assets/imgs/shop_ic_fuwuzs.png
"
)
}
],
hot_datas
:
[],
map_datas
:
[],
comprehensive_datas
:
[],
helper
}),
methods
:
{
init
()
{
this
.
$http
.
get
(
"
./static/serviceshop.json
"
)
.
then
((
response
)
=>
{
let
data
=
response
.
body
;
let
servicesShopInfo
=
[
{
name
:
"
服务总数
"
,
value
:
""
,
unit
:
"
万
"
,
icon
:
require
(
"
@/assets/imgs/shop_ic_fuwuzs.png
"
),
},
{
name
:
"
用户总数
"
,
value
:
""
,
unit
:
"
万
"
,
icon
:
require
(
"
@/assets/imgs/shop_ic_yonghuzs.png
"
),
},
{
name
:
"
接入机构
"
,
value
:
""
,
unit
:
""
,
icon
:
require
(
"
@/assets/imgs/shop_ic_jierujg.png
"
),
},
{
name
:
"
接入系统
"
,
value
:
""
,
unit
:
"
万
"
,
icon
:
require
(
"
@/assets/imgs/shop_ic_jieruxt.png
"
),
},
{
name
:
"
服务请求次数
"
,
value
:
"
.2
"
,
unit
:
"
亿
"
,
icon
:
require
(
"
@/assets/imgs/shop_ic_fuwuzs.png
"
),
},
];
this
.
banners
=
data
.
banners
;
this
.
servicesShopInfo
=
servicesShopInfo
.
map
((
item
)
=>
{
let
temp
=
data
.
servicesShopInfo
.
find
((
v
)
=>
v
.
name
===
item
.
name
);
return
{
...
item
,
value
:
temp
&&
temp
.
value
,
};
});
this
.
hot_datas
=
data
.
hot_datas
;
this
.
map_datas
=
data
.
map_datas
;
this
.
comprehensive_datas
=
data
.
comprehensive_datas
;
})
.
catch
(
function
(
error
)
{
console
.
log
(
error
);
});
init
(
type
)
{
this
.
$api
.
serviceShop
.
getFeaturedList
({
type
}).
then
(
response
=>
{
if
(
type
==
"
hotdata
"
)
{
this
.
hot_datas
=
response
.
data
.
data
;
}
else
if
(
type
==
"
hgmap
"
)
{
this
.
map_datas
=
response
.
data
.
data
;
}
else
if
(
type
==
"
zhapp
"
)
{
this
.
comprehensive_datas
=
response
.
data
.
data
;
}
});
},
getBenner
()
{
this
.
$api
.
serviceShop
.
getBenner
().
then
(
response
=>
{
this
.
banners
=
response
.
data
.
data
;
});
},
getGeneralOverview
()
{
this
.
$api
.
serviceShop
.
getGeneralOverview
().
then
(
response
=>
{
let
data
=
response
.
data
.
data
;
this
.
servicesShopInfo
[
0
].
value
=
data
.
service_num
;
this
.
servicesShopInfo
[
1
].
value
=
data
.
person_num
;
this
.
servicesShopInfo
[
2
].
value
=
data
.
org_num
;
this
.
servicesShopInfo
[
3
].
value
=
data
.
system_num
;
this
.
servicesShopInfo
[
4
].
value
=
data
.
request_num
;
});
},
goto
(
page
)
{
window
.
location
.
href
=
page
;
}
},
mounted
()
{
this
.
init
();
},
this
.
getBenner
();
this
.
init
(
"
hotdata
"
);
this
.
init
(
"
hgmap
"
);
this
.
init
(
"
zhapp
"
);
}
};
</
script
>
...
...
src/pages/workbench/app_build.vue
View file @
efd742cf
...
...
@@ -94,7 +94,7 @@
下一步
</el-button>
</div>
<image-detail
ref=
"imageDetail"
:image=
"selectedImage"
></image-detail>
<image-detail
ref=
"imageDetail"
></image-detail>
</app-build-step>
<app-build-step
title=
"上传部署文件"
...
...
@@ -360,7 +360,6 @@ export default {
msg
:
""
,
submit
:
null
,
},
selectedImage
:
null
,
}),
methods
:
{
preStep
()
{
...
...
@@ -575,8 +574,7 @@ export default {
}
},
showImageDetail
(
item
)
{
this
.
selectedImage
=
item
;
this
.
$refs
.
imageDetail
.
showDialog
();
this
.
$refs
.
imageDetail
.
showDialog
(
item
);
},
},
mounted
()
{
...
...
src/pages/workbench/fwgl/fwglList.vue
View file @
efd742cf
This diff is collapsed.
Click to expand it.
src/pages/workbench/yygl/app_debugger.vue
View file @
efd742cf
...
...
@@ -27,7 +27,7 @@
<el-input
placeholder=
"请输入内容"
style=
"float:right;"
v-model=
"pod_name"
prefix-icon=
"el-icon-search"
></el-input>
</div>
<div
style=
"padding:20px;padding-top:0px;"
>
<apass-table
:header=
"header_arr"
:data=
"tableData"
:icon=
"false"
:height=
"560"
></apass-table>
<apass-table
:header=
"header_arr"
:data=
"tableData"
:icon=
"false"
:height=
"560"
:paddingLeft=
"5"
></apass-table>
<list-pagination
:total=
"listTotal"
:page-sizes=
"pageSizes"
...
...
src/request/api/service_shop.js
View file @
efd742cf
...
...
@@ -64,6 +64,17 @@ businessArea=${params.businessArea}&developable=${params.developable}&orgSource=
submitShoppingCart
()
{
return
axios
.
post
(
`/apaas/serviceapp/v3/shopcart/apply`
,
params
);
},
// Service Shop Page
getFeaturedList
(
params
)
{
return
axios
.
get
(
`/apaas/service/v3/recommend/show/featured/list/
${
params
.
type
}
`
);
},
getBenner
()
{
return
axios
.
get
(
`/apaas/service/v3/recommend/show/banners/list`
);
},
getGeneralOverview
()
{
return
axios
.
get
(
`/apaas/service/v3/statistics/other/index`
);
}
}
export
default
serviceShop
;
src/store/index.js
View file @
efd742cf
...
...
@@ -8,9 +8,9 @@ const store = new Vuex.Store({
userInfo
:
null
,
// 用户信息
serviceShopMenu
:
"
/shop/data_service_list
"
,
// 服务超市侧边栏
fwglNav
:
[
[
"
注册发布的服务
"
,
"
申请的服务
"
/* , "云资源服务" */
],
// 普通用户
[
"
组织服务管理
"
,
"
服务审批管理
"
/* , "云资源管理" */
],
// 组织管理员
[
"
平台服务管理
"
,
"
服务审批管理
"
/* , "云资源管理" */
],
// 超级管理员
[
"
注册发布的服务
"
,
"
申请的服务
"
,
"
云资源服务
"
],
// 普通用户
[
"
组织服务管理
"
,
"
服务审批管理
"
,
"
云资源管理
"
],
// 组织管理员
[
"
平台服务管理
"
,
"
服务审批管理
"
,
"
云资源管理
"
],
// 超级管理员
],
// 服务管理列表,onlyRead
yyglNav
:
[
[
"
应用仓库
"
,
"
我部署的应用
"
,
"
申请的应用
"
],
// 普通用户
...
...
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