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
be148412
Commit
be148412
authored
Nov 12, 2020
by
刘殿昕
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
成天去开发分支演示什么意思?写完就回滚?我还开发什么?
parent
5b03ea87
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
5125 additions
and
1163 deletions
+5125
-1163
src/components/service-list/commodity-card copy.vue
src/components/service-list/commodity-card copy.vue
+223
-0
src/components/service-list/commodity-card.vue
src/components/service-list/commodity-card.vue
+126
-176
src/components/service-list/commodity-cell copy.vue
src/components/service-list/commodity-cell copy.vue
+234
-0
src/components/service-list/commodity-cell.vue
src/components/service-list/commodity-cell.vue
+115
-141
src/components/service-list/commodity-list copy.vue
src/components/service-list/commodity-list copy.vue
+206
-0
src/components/service-list/commodity-list.vue
src/components/service-list/commodity-list.vue
+39
-27
src/components/service-list/service_list copy.vue
src/components/service-list/service_list copy.vue
+817
-0
src/components/service-list/service_list.vue
src/components/service-list/service_list.vue
+80
-175
src/components/service-list/service_shop_menu.vue
src/components/service-list/service_shop_menu.vue
+27
-38
src/components/service-list/service_shop_menu_copy.vue
src/components/service-list/service_shop_menu_copy.vue
+158
-0
src/components/shop-cloud/shop-cloud copy.vue
src/components/shop-cloud/shop-cloud copy.vue
+2327
-0
src/components/shop-cloud/shop-cloud.vue
src/components/shop-cloud/shop-cloud.vue
+594
-587
src/pages/service_shop/shop_cloud copy.vue
src/pages/service_shop/shop_cloud copy.vue
+36
-0
src/pages/service_shop/shop_cloud.vue
src/pages/service_shop/shop_cloud.vue
+4
-12
src/pages/service_shop/shop_list copy.vue
src/pages/service_shop/shop_list copy.vue
+134
-0
src/pages/service_shop/shop_list.vue
src/pages/service_shop/shop_list.vue
+5
-7
No files found.
src/components/service-list/commodity-card copy.vue
0 → 100644
View file @
be148412
<
template
>
<div
class=
"com_cell"
>
<div
class=
"com_cell_up"
@
click=
"goUrl(cellData.app_id)"
>
<div
class=
"com_cell_up_img_init"
>
<img
:src=
"cellData.logo"
class=
"com_cell_up_img"
/>
</div>
<div
class=
"com_cell_up_right"
>
<div
class=
"up_title"
>
<div
class=
"up_tit_name_in"
>
<span
class=
"up_tit_name"
:title=
"cellData.app_name + ' ( V' + cellData.version + ' )'"
>
{{
cellData
.
app_name
}}
( V
{{
cellData
.
version
}}
)
</span>
</div>
</div>
<div
class=
"up_rate"
>
<el-rate
v-model=
"cellData.score"
disabled
show-score
text-color=
"#ea7d19"
score-template=
"
{value}"
>
</el-rate>
<p
class=
"get_num"
>
本月获取:
<span
class=
"com_cell_right_time"
>
{{
cellData
.
deploy_times
}}
</span>
<span
class=
"ci"
>
次
</span>
</p>
</div>
</div>
<div
class=
"get_detail"
>
<img
src=
"@/assets/imgs/shop_ic_enter.png"
/>
</div>
</div>
<div
class=
"com_cell_down"
>
<p
class=
"com_detail"
>
{{
cellData
.
yyjj
}}
</p>
<el-row
:gutter=
"16"
>
<el-col
:span=
"14"
class=
"com_other"
>
<span
class=
"name_title"
>
应用类型:
</span>
{{
cellData
.
type_name
}}
{{
cellData
.
data_service_type2_name
}}
{{
cellData
.
data_service_type3_name
}}
</el-col>
<el-col
:span=
"10"
class=
"com_other"
>
<span
class=
"name_title"
>
业务领域:
</span>
{{
cellData
.
ywly_name
}}
</el-col>
<el-col
:span=
"14"
class=
"com_other"
>
<span
class=
"name_title"
>
上线时间:
</span>
{{
helper
.
dateStringTransform
(
cellData
.
create_date
)
}}
</el-col>
</el-row>
</div>
</div>
</
template
>
<
script
>
import
helper
from
"
@/services/helper.js
"
;
// if you meet date which like 2020-06-05T00:00:00+08:00, use helper.dateStringTransform()
export
default
{
components
:
{},
props
:
{
url
:
{
type
:
String
,
default
:
""
},
cellData
:
{
type
:
Object
,
default
:
{}
},
},
data
:
()
=>
({
helper
:
helper
}),
computed
:
{},
watch
:
{},
methods
:
{
goUrl
(
parame
)
{
if
(
this
.
url
!=
""
)
{
this
.
$router
.
push
(
this
.
url
+
"
/
"
+
parame
);
}
},
},
mounted
()
{},
};
</
script
>
<
style
scoped
>
.com_cell
{
width
:
496px
;
height
:
208px
;
background-color
:
#ffffff
;
box-shadow
:
0px
3px
6px
0px
rgba
(
15
,
19
,
65
,
0.04
);
border-radius
:
8px
;
border
:
solid
1px
#e3e4ef
;
margin-bottom
:
24px
;
}
.com_cell_up
{
height
:
88px
;
background-color
:
#f9fafc
;
border-radius
:
8px
8px
0px
0px
;
padding
:
16px
;
display
:
flex
;
position
:
relative
;
cursor
:
pointer
;
}
.com_cell_up_img_init
{
width
:
56px
;
height
:
56px
;
margin-right
:
16px
;
flex
:
0
0
auto
;
}
.com_cell_up_img
{
width
:
100%
;
height
:
100%
;
border-radius
:
4px
;
}
.com_cell_up_right
{
flex
:
1
1
auto
;
}
.up_title
{
font-size
:
16px
;
margin-top
:
4px
;
display
:
flex
;
align-items
:
center
;
}
.up_tit_name_in
{
max-width
:
calc
(
100%
-
150px
);
display
:
inline-block
;
}
.up_tit_name
{
width
:
100%
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
overflow
:
hidden
;
}
.up_tit_name
:hover
{
text-decoration
:
underline
;
}
.up_rate
{
margin-top
:
12px
;
display
:
flex
;
}
.get_num
{
margin-left
:
40px
;
font-size
:
14px
;
color
:
#58617a
;
}
.com_cell_right_time
{
color
:
#ea7d19
;
}
.ci
{
color
:
#242c43
;
}
.get_detail
{
position
:
absolute
;
top
:
26px
;
right
:
16px
;
}
.tags
{
display
:
inline-block
;
margin-left
:
8px
;
padding
:
2px
8px
3px
;
font-size
:
12px
;
font-weight
:
500
;
line-height
:
12px
;
border-radius
:
4px
;
position
:
relative
;
top
:
1px
;
}
.map_service
{
background-color
:
#626de9
;
border
:
solid
1px
#626de9
;
color
:
#fff
;
}
.shared
{
background-color
:
#e7fdfc
;
border
:
solid
1px
#8bd6d0
;
color
:
#25bdb1
;
}
.restricted
{
background-color
:
#fffee8
;
border
:
solid
1px
#e4c884
;
color
:
#ef9433
;
}
.sensitive
{
background-color
:
#ffefef
;
border
:
solid
1px
#d7a4a9
;
color
:
#e15260
;
}
.com_cell_down
{
padding
:
12px
16px
0
16px
;
}
.com_detail
{
color
:
#8890a7
;
font-size
:
14px
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
height
:
42px
;
margin-bottom
:
8px
;
}
.com_other
{
color
:
#58617a
;
margin-bottom
:
6px
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
overflow
:
hidden
;
}
.name_title
{
color
:
#8890a7
;
}
</
style
>
<
style
>
.com_cell
.el-rate__item
.el-rate__icon
{
font-size
:
20px
;
margin-right
:
0
;
}
.com_cell
.el-rate__text
{
margin-left
:
4px
;
position
:
relative
;
top
:
1px
;
}
</
style
>
\ No newline at end of file
src/components/service-list/commodity-card.vue
View file @
be148412
<
template
>
<div
class=
"com_cell"
>
<div
class=
"com_cell_up"
@
click=
"goUrl(cellData.app_id)"
>
<div
class=
"com_cell_up_img_init"
>
<img
:src=
"cellData.logo"
class=
"com_cell_up_img"
/>
<div
class=
"com_card"
>
<div
class=
"com_card_top"
>
<img
:src=
"cellData.logo"
class=
"com_card_img"
/>
<div
class=
"com_card_name_v"
>
<div
class=
"com_card_msg_name"
>
{{
cellData
.
app_name
}}
</div>
<div
class=
"com_card_msg_version"
>
V
{{
cellData
.
version
}}
</div>
</div>
<div
class=
"com_cell_up_right"
>
<div
class=
"up_title"
>
<div
class=
"up_tit_name_in"
>
<span
class=
"up_tit_name"
:title=
"cellData.app_name + ' ( V' + cellData.version + ' )'"
>
{{
cellData
.
app_name
}}
( V
{{
cellData
.
version
}}
)
</span>
</div>
</div>
<div
class=
"up_rate"
>
<el-rate
v-model=
"cellData.score"
disabled
show-score
text-color=
"#ea7d19"
score-template=
"
{value}"
>
</el-rate>
<p
class=
"get_num"
>
本月获取:
<span
class=
"com_cell_right_time"
>
{{
cellData
.
deploy_times
}}
</span>
<span
class=
"ci"
>
次
</span>
</p>
</div>
</div>
<div
class=
"com_card_msg"
>
<div
class=
"com_card_msg_tit"
>
<img
:src=
"require('@/assets/imgs/icon_shijian.png')"
/>
上线时间
</div>
<div
class=
"get_detail"
>
<img
src=
"@/assets/imgs/shop_ic_enter.png"
/>
<div
class=
"com_card_msg_num"
>
{{
helper
.
dateStringTransform
(
cellData
.
create_date
)
}}
</div>
</div>
<div
class=
"com_card_msg"
>
<div
class=
"com_card_msg_tit"
>
<img
:src=
"require('@/assets/imgs/icon_huoqu1.png')"
/>
部署次数
</div>
<div
class=
"com_card_msg_num1"
>
{{
cellData
.
deploy_times
}}
</div>
</div>
<div
class=
"com_cell_down"
>
<p
class=
"com_detail"
>
{{
cellData
.
yyjj
}}
</p>
<el-row
:gutter=
"16"
>
<el-col
:span=
"14"
class=
"com_other"
>
<span
class=
"name_title"
>
应用类型:
</span>
{{
cellData
.
type_name
}}
{{
cellData
.
data_service_type2_name
}}
{{
cellData
.
data_service_type3_name
}}
</el-col>
<el-col
:span=
"10"
class=
"com_other"
>
<span
class=
"name_title"
>
业务领域:
</span>
{{
cellData
.
ywly_name
}}
</el-col>
<el-col
:span=
"14"
class=
"com_other"
>
<span
class=
"name_title"
>
上线时间:
</span>
{{
helper
.
dateStringTransform
(
cellData
.
create_date
)
}}
</el-col>
</el-row>
<div
class=
"com_card_btn"
>
<el-button
size=
"medium"
class=
"btn_1"
@
click=
"addShop(cellData.app_id)"
>
加入购物车
</el-button>
<el-button
size=
"medium"
class=
"btn_2"
@
click=
"goUrl(cellData.app_id)"
>
查看详情
</el-button>
</div>
</div>
</
template
>
<
script
>
import
helper
from
"
@/services/helper.js
"
;
// if you meet date which like 2020-06-05T00:00:00+08:00, use helper.dateStringTransform()
export
default
{
components
:
{},
props
:
{
url
:
{
type
:
String
,
default
:
""
},
cellData
:
{
type
:
Object
,
default
:
{}
},
},
data
:
()
=>
({
helper
:
helper
}),
data
:
()
=>
({
helper
:
helper
,
}),
computed
:
{},
watch
:
{},
methods
:
{
...
...
@@ -76,148 +45,129 @@ export default {
this
.
$router
.
push
(
this
.
url
+
"
/
"
+
parame
);
}
},
addShop
(
id
)
{
let
query
=
{
service_id
:
0
,
// 0表示不是服务
app_id
:
parseFloat
(
id
),
spec_id
:
1
,
duration
:
1
,
duration_method
:
1
,
is_subscribe
:
0
,
// 是否订阅
};
this
.
$api
.
serviceShop
.
addShoppingCart
(
query
)
.
then
(({
data
})
=>
{
if
(
data
.
success
==
1
)
{
this
.
$message
({
message
:
data
.
errMsg
,
type
:
"
success
"
,
});
this
.
$store
.
commit
(
"
setMenuCartState
"
);
}
else
{
this
.
$message
({
message
:
data
.
errMsg
,
type
:
"
warning
"
,
});
}
})
.
catch
((
error
)
=>
{
this
.
$message
({
message
:
`添加购物车失败`
,
type
:
"
warning
"
,
});
});
},
},
mounted
()
{},
};
</
script
>
<
style
scoped
>
.com_c
ell
{
width
:
496
px
;
height
:
2
08
px
;
background-color
:
#ffffff
;
bo
x-shadow
:
0px
3px
6px
0px
rgba
(
15
,
19
,
65
,
0.04
)
;
b
order-radius
:
8px
;
border
:
solid
1px
#e3e4ef
;
margin-bottom
:
24px
;
}
.com_cell_up
{
height
:
88px
;
b
ackground-color
:
#f9fafc
;
border-radius
:
8px
8px
0px
0px
;
padding
:
16px
;
.com_c
ard
{
width
:
290
px
;
height
:
2
66
px
;
padding
:
20px
;
bo
rder-radius
:
16px
;
b
ackground-color
:
#fff
;
border
:
solid
2px
transparent
;
-webkit-box-shadow
:
0px
3px
10px
0px
rgba
(
3
,
10
,
37
,
0.15
)
;
box-shadow
:
0px
3px
10px
0px
rgba
(
3
,
10
,
37
,
0.15
);
}
.com_card
:hover
{
b
order
:
solid
2px
#b4c0f5
;
}
.com_card_top
{
display
:
flex
;
position
:
relative
;
cursor
:
pointer
;
justify-content
:
space-between
;
margin-bottom
:
28px
;
}
.com_cell_up_img_init
{
width
:
56px
;
height
:
56px
;
margin-right
:
16px
;
flex
:
0
0
auto
;
.com_card_name_v
{
width
:
calc
(
100%
-
80px
);
}
.com_cell_up_img
{
width
:
100%
;
height
:
100%
;
border-radius
:
4px
;
}
.com_cell_up_right
{
flex
:
1
1
auto
;
.com_card_img
{
width
:
60px
;
height
:
60px
;
border-radius
:
8px
;
border
:
3px
solid
#f6f7fb
;
}
.up_title
{
font-size
:
16px
;
margin-top
:
4px
;
.com_card_msg
{
margin-top
:
20px
;
display
:
flex
;
align-items
:
center
;
}
.up_tit_name_in
{
max-width
:
calc
(
100%
-
150px
);
display
:
inline-block
;
justify-content
:
space-between
;
}
.
up_tit
_name
{
width
:
100%
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
.
com_card_msg
_name
{
font-size
:
18px
;
font-weight
:
700
;
margin-top
:
4px
;
margin-bottom
:
12px
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
}
.up_tit_name
:hover
{
text-decoration
:
underline
;
}
.up_rate
{
margin-top
:
12px
;
display
:
flex
;
}
.get_num
{
margin-left
:
40px
;
.com_card_msg_version
{
font-size
:
14px
;
color
:
#58617a
;
}
.com_cell_right_time
{
color
:
#ea7d19
;
}
.ci
{
color
:
#242c43
;
}
.get_detail
{
position
:
absolute
;
top
:
26px
;
right
:
16px
;
}
.tags
{
display
:
inline-block
;
margin-left
:
8px
;
padding
:
2px
8px
3px
;
font-size
:
12px
;
font-weight
:
500
;
line-height
:
12px
;
border-radius
:
4px
;
position
:
relative
;
top
:
1px
;
}
.map_service
{
background-color
:
#626de9
;
border
:
solid
1px
#626de9
;
color
:
#fff
;
}
.shared
{
background-color
:
#e7fdfc
;
border
:
solid
1px
#8bd6d0
;
color
:
#25bdb1
;
}
.restricted
{
background-color
:
#fffee8
;
border
:
solid
1px
#e4c884
;
color
:
#ef9433
;
}
.sensitive
{
background-color
:
#ffefef
;
border
:
solid
1px
#d7a4a9
;
color
:
#e15260
;
}
.com_cell_down
{
padding
:
12px
16px
0
16px
;
color
:
#8890a7
;
}
.com_
detail
{
.com_
card_msg_tit
{
color
:
#8890a7
;
font-size
:
14px
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
height
:
42px
;
margin-bottom
:
8px
;
}
.com_other
{
color
:
#58617a
;
margin-bottom
:
6px
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
overflow
:
hidden
;
font-size
:
16px
;
}
.
name_title
{
.
com_card_msg_num
{
color
:
#8890a7
;
font-size
:
14px
;
position
:
relative
;
top
:
2px
;
}
</
style
>
<
style
>
.com_cell
.el-rate__item
.el-rate__icon
{
font-size
:
20px
;
margin-right
:
0
;
.com_card_msg_num1
{
color
:
#242c43
;
font-size
:
16px
;
font-weight
:
bold
;
}
.com_cell
.el-rate__text
{
margin-left
:
4px
;
position
:
relative
;
top
:
1px
;
.com_card_btn
{
margin-top
:
35px
;
display
:
flex
;
justify-content
:
space-between
;
}
.btn_1
{
width
:
110px
;
padding
:
10px
;
background-color
:
#d0d5e7
;
border
:
solid
2px
#a5afd6
;
color
:
#0f2683
;
}
.btn_1
:hover
{
background-color
:
#d5daec
;
border
:
solid
2px
#a5afd6
;
color
:
#0f2683
;
}
.btn_2
{
width
:
110px
;
padding
:
10px
;
background-color
:
#0f2683
;
color
:
#f8f9fd
;
}
.btn_2
:hover
{
background-color
:
#1d3694
;
color
:
#f8f9fd
;
}
</
style
>
\ No newline at end of file
</
style
>
src/components/service-list/commodity-cell copy.vue
0 → 100644
View file @
be148412
<
template
>
<div
class=
"com_cell"
>
<div
class=
"com_cell_up"
@
click=
"goUrl(cellData.id)"
>
<div
class=
"com_cell_up_img_init"
>
<img
:src=
"cellData.cover"
class=
"com_cell_up_img"
/>
</div>
<div
class=
"com_cell_up_right"
>
<div
class=
"up_title"
>
<div
class=
"up_tit_name_in"
>
<span
class=
"up_tit_name"
:title=
"cellData.name"
>
{{
cellData
.
name
}}
</span>
</div>
<span
v-if=
"cellData.data_service_type1 == 6"
class=
"tags map_service"
>
mapService
</span>
<span
v-if=
"cellData.openness == 1"
class=
"tags shared"
>
共享
</span>
<span
v-else-if=
"cellData.openness == 2"
class=
"tags restricted"
>
受限
</span>
<span
v-else
class=
"tags sensitive"
>
敏感
</span>
</div>
<div
class=
"up_rate"
>
<el-rate
v-model=
"cellData.score"
disabled
show-score
text-color=
"#ea7d19"
score-template=
"
{value}"
>
</el-rate>
<p
class=
"get_num"
>
本月获取:
<span
class=
"com_cell_right_time"
>
{{
cellData
.
apply_num
}}
</span>
<span
class=
"ci"
>
次
</span>
</p>
</div>
</div>
<div
class=
"get_detail"
>
<img
src=
"@/assets/imgs/shop_ic_enter.png"
/>
</div>
</div>
<div
class=
"com_cell_down"
>
<p
class=
"com_detail"
>
{{
cellData
.
descript
}}
</p>
<el-row
:gutter=
"16"
>
<el-col
:span=
"14"
class=
"com_other"
>
<span
class=
"name_title"
>
服务类型:
</span>
{{
cellData
.
data_service_type1_name
}}
{{
cellData
.
data_service_type2_name
}}
{{
cellData
.
data_service_type3_name
}}
</el-col>
<el-col
:span=
"10"
class=
"com_other"
>
<span
class=
"name_title"
>
服务领域:
</span>
{{
cellData
.
sectors_name
}}
</el-col>
<el-col
:span=
"14"
class=
"com_other"
>
<span
class=
"name_title"
>
更新时间:
</span>
{{
helper
.
dateStringTransform
(
cellData
.
update_date
)
}}
</el-col>
</el-row>
</div>
</div>
</
template
>
<
script
>
import
helper
from
"
@/services/helper.js
"
;
// if you meet date which like 2020-06-05T00:00:00+08:00, use helper.dateStringTransform()
export
default
{
components
:
{},
props
:
{
url
:
{
type
:
String
,
default
:
""
},
cellData
:
{
type
:
Object
,
default
:
{}
},
},
data
:
()
=>
({
helper
:
helper
}),
computed
:
{},
watch
:
{},
methods
:
{
goUrl
(
parame
)
{
if
(
this
.
url
!=
""
)
{
this
.
$router
.
push
(
this
.
url
+
"
/
"
+
parame
);
}
},
},
mounted
()
{},
};
</
script
>
<
style
scoped
>
.com_cell
{
width
:
496px
;
height
:
208px
;
background-color
:
#ffffff
;
box-shadow
:
0px
3px
6px
0px
rgba
(
15
,
19
,
65
,
0.04
);
border-radius
:
12px
12px
8px
8px
;
border
:
solid
1px
#e3e4ef
;
margin-bottom
:
24px
;
}
.com_cell_up
{
height
:
88px
;
background-color
:
#f9fafc
;
border-radius
:
12px
12px
0px
0px
;
padding
:
16px
;
display
:
flex
;
position
:
relative
;
cursor
:
pointer
;
}
.com_cell_up_img_init
{
width
:
56px
;
height
:
56px
;
margin-right
:
16px
;
flex
:
0
0
auto
;
}
.com_cell_up_img
{
width
:
100%
;
height
:
100%
;
border-radius
:
4px
;
}
.com_cell_up_right
{
flex
:
1
1
auto
;
}
.up_title
{
font-size
:
16px
;
margin-top
:
4px
;
display
:
flex
;
align-items
:
center
;
}
.up_tit_name_in
{
max-width
:
calc
(
100%
-
150px
);
display
:
inline-block
;
}
.up_tit_name
{
width
:
100%
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
overflow
:
hidden
;
}
.up_tit_name
:hover
{
text-decoration
:
underline
;
}
.up_rate
{
margin-top
:
12px
;
display
:
flex
;
}
.get_num
{
margin-left
:
40px
;
font-size
:
14px
;
color
:
#58617a
;
}
.com_cell_right_time
{
color
:
#ea7d19
;
}
.ci
{
color
:
#242c43
;
}
.get_detail
{
position
:
absolute
;
top
:
26px
;
right
:
16px
;
}
.tags
{
display
:
inline-block
;
margin-left
:
8px
;
padding
:
2px
8px
3px
;
font-size
:
12px
;
font-weight
:
500
;
line-height
:
12px
;
border-radius
:
4px
;
position
:
relative
;
top
:
1px
;
}
.map_service
{
background-color
:
#626de9
;
border
:
solid
1px
#626de9
;
color
:
#fff
;
}
.shared
{
background-color
:
#e7fdfc
;
border
:
solid
1px
#8bd6d0
;
color
:
#25bdb1
;
}
.restricted
{
background-color
:
#fffee8
;
border
:
solid
1px
#e4c884
;
color
:
#ef9433
;
}
.sensitive
{
background-color
:
#ffefef
;
border
:
solid
1px
#d7a4a9
;
color
:
#e15260
;
}
.com_cell_down
{
padding
:
12px
16px
0
16px
;
}
.com_detail
{
color
:
#8890a7
;
font-size
:
14px
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
height
:
42px
;
margin-bottom
:
8px
;
}
.com_other
{
color
:
#58617a
;
margin-bottom
:
6px
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
overflow
:
hidden
;
}
.name_title
{
color
:
#8890a7
;
}
</
style
>
<
style
>
.com_cell
.el-rate__item
.el-rate__icon
{
font-size
:
20px
;
margin-right
:
0
;
}
.com_cell
.el-rate__text
{
margin-left
:
4px
;
position
:
relative
;
top
:
1px
;
}
</
style
>
\ No newline at end of file
src/components/service-list/commodity-cell.vue
View file @
be148412
<
template
>
<div
class=
"com_cell"
>
<div
class=
"com_cell_up"
@
click=
"goUrl(cellData.id)"
>
<div
class=
"com_cell_up_img_init"
>
<img
:src=
"cellData.cover"
class=
"com_cell_up_img"
/>
<div
class=
"com_cell_img_box"
>
<img
:src=
"cellData.cover"
class=
"com_cell_img"
/>
</div>
<div
class=
"com_cell_message"
>
<div
class=
"com_cell_msg_title"
>
{{
cellData
.
name
}}
<span
v-if=
"cellData.data_service_type1 == 6"
class=
"tags map_service"
>
mapService
</span>
<span
v-if=
"cellData.openness == 1"
class=
"tags shared"
>
共享
</span>
<span
v-else-if=
"cellData.openness == 2"
class=
"tags restricted"
>
受限
</span>
<span
v-else
class=
"tags sensitive"
>
敏感
</span>
</div>
<div
class=
"com_cell_up_right"
>
<div
class=
"up_title"
>
<div
class=
"up_tit_name_in"
>
<span
class=
"up_tit_name"
:title=
"cellData.name"
>
{{
cellData
.
name
}}
</span>
<div
class=
"message_block"
>
<div
class=
"com_cell_item"
>
<div
class=
"com_cell_data_detail"
>
<span
class=
"detail_span"
>
{{
cellData
.
descript
}}
</span>
</div>
</div>
<div
class=
"com_cell_item"
>
<span
class=
"com_cell_item_title"
>
服务类型:
</span>
<span
v-if=
"cellData.data_service_type1 == 6"
class=
"tags map_service"
>
mapService
</span>
<span
v-if=
"cellData.openness == 1"
class=
"tags shared"
>
共享
</span>
<span
v-else-if=
"cellData.openness == 2"
class=
"tags restricted"
>
受限
</span>
<span
v-else
class=
"tags sensitive"
>
敏感
</span>
class=
"com_cell_data"
>
{{
cellData
.
data_service_type1_name
}}
{{
cellData
.
data_service_type2_name
}}
{{
cellData
.
data_service_type3_name
}}
</span>
<span
class=
"com_cell_item_title left_blank"
>
数据领域:
</span>
<span
class=
"com_cell_data"
>
{{
cellData
.
sectors_name
}}
</span>
</div>
<div
class=
"up_rate"
>
<el-rate
v-model=
"cellData.score"
disabled
show-score
text-color=
"#ea7d19"
score-template=
"
{value}"
>
</el-rate>
<p
class=
"get_num"
>
本月获取:
<span
class=
"com_cell_right_time"
>
{{
cellData
.
apply_num
}}
</span>
<span
class=
"ci"
>
次
</span>
</p>
<div
class=
"com_cell_item"
>
<span
class=
"com_cell_item_title"
>
更新时间:
</span>
<span
class=
"com_cell_data"
>
{{
helper
.
dateStringTransform
(
cellData
.
update_date
)
}}
</span>
</div>
</div>
<div
class=
"get_detail"
>
<img
src=
"@/assets/imgs/shop_ic_enter.png"
/>
</div>
</div>
<div
class=
"com_cell_down"
>
<p
class=
"com_detail"
>
{{
cellData
.
descript
}}
</p>
<el-row
:gutter=
"16"
>
<el-col
:span=
"14"
class=
"com_other"
>
<span
class=
"name_title"
>
服务类型:
</span>
{{
cellData
.
data_service_type1_name
}}
{{
cellData
.
data_service_type2_name
}}
{{
cellData
.
data_service_type3_name
}}
</el-col>
<el-col
:span=
"10"
class=
"com_other"
>
<span
class=
"name_title"
>
服务领域:
</span>
{{
cellData
.
sectors_name
}}
</el-col>
<el-col
:span=
"14"
class=
"com_other"
>
<span
class=
"name_title"
>
更新时间:
</span>
{{
helper
.
dateStringTransform
(
cellData
.
update_date
)
}}
</el-col>
</el-row>
<div
class=
"com_cell_right"
>
<el-rate
v-model=
"cellData.score"
disabled
show-score
text-color=
"#58617a"
score-template=
"
{value}"
>
</el-rate>
<div
class=
"com_cell_right_text"
>
<span
class=
"com_cell_right_time_tit"
>
本月获取次数:
</span>
<span
class=
"com_cell_right_time"
>
{{
cellData
.
apply_num
}}
次
</span>
</div>
<el-button
class=
"com_cell_right_btn"
@
click=
"goUrl(cellData.id)"
>
查看详情
</el-button>
</div>
</div>
</
template
>
...
...
@@ -94,87 +76,94 @@ export default {
<
style
scoped
>
.com_cell
{
width
:
496px
;
height
:
208px
;
background-color
:
#ffffff
;
box-shadow
:
0px
3px
6px
0px
rgba
(
15
,
19
,
65
,
0.04
);
border-radius
:
12px
12px
8px
8px
;
border
:
solid
1px
#e3e4ef
;
margin-bottom
:
24px
;
}
.com_cell_up
{
height
:
88px
;
background-color
:
#f9fafc
;
border-radius
:
12px
12px
0px
0px
;
padding
:
16px
;
display
:
flex
;
position
:
relative
;
cursor
:
pointer
;
}
.com_cell_up_img_init
{
width
:
56px
;
height
:
56px
;
margin-right
:
16px
;
flex
:
0
0
auto
;
justify-content
:
space-between
;
padding
:
20px
10px
;
border-bottom
:
2px
#f4f7fc
solid
;
}
.com_cell_img_box
{
width
:
200px
;
height
:
200px
;
border-radius
:
12px
;
overflow
:
hidden
;
border
:
4px
#f4f7fc
solid
;
}
.com_cell_
up_
img
{
.com_cell_img
{
width
:
100%
;
height
:
100%
;
border-radius
:
4px
;
}
.com_cell_up_right
{
flex
:
1
1
auto
;
.com_cell_message
{
padding-left
:
20px
;
width
:
calc
(
100%
-
500px
);
}
.up_title
{
font-size
:
16px
;
margin-top
:
4px
;
.com_cell_msg_title
{
color
:
#0d1847
;
font-size
:
18px
;
line-height
:
30px
;
font-weight
:
700
;
margin-bottom
:
10px
;
}
.com_cell_item
{
font-size
:
14px
;
line-height
:
28px
;
margin-top
:
1px
;
color
:
#8890a7
;
display
:
flex
;
align-items
:
center
;
align-self
:
start
;
}
.com_cell_item_title
{
/* width: 80px; */
}
.up_tit_name_in
{
max-width
:
calc
(
100%
-
150px
);
.com_cell_data
{
display
:
inline-block
;
color
:
#242c43
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
}
.up_tit_name
{
width
:
100%
;
.com_cell_data_detail
{
color
:
#242c43
;
height
:
78px
;
font-size
:
16px
;
}
.detail_span
{
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
}
.up_tit_name
:hover
{
text-decoration
:
underline
;
.com_cell_right
{
width
:
300px
;
padding
:
25px
0
0
50px
;
}
.
up_rate
{
margin-top
:
12
px
;
display
:
fle
x
;
.
com_cell_right_text
{
font-size
:
16
px
;
margin-top
:
25p
x
;
}
.get_num
{
margin-left
:
40px
;
font-size
:
14px
;
color
:
#58617a
;
.com_cell_right_time_tit
{
color
:
#8890a7
;
}
.com_cell_right_time
{
color
:
#ea7d19
;
}
.ci
{
color
:
#242c43
;
}
.get_detail
{
position
:
absolute
;
top
:
26px
;
right
:
16px
;
.com_cell_right_btn
{
background-color
:
#0f2683
;
color
:
#f8f9fd
;
width
:
220px
;
height
:
40px
;
border-radius
:
20px
;
margin-top
:
25px
;
}
.tags
{
display
:
inline-block
;
margin-left
:
8
px
;
padding
:
2px
8
px
3px
;
margin-left
:
10
px
;
padding
:
2px
10
px
3px
;
font-size
:
12px
;
font-weight
:
500
;
line-height
:
12px
;
border-radius
:
4px
;
position
:
relative
;
top
:
1px
;
top
:
-
1px
;
}
.map_service
{
background-color
:
#626de9
;
...
...
@@ -196,39 +185,24 @@ export default {
border
:
solid
1px
#d7a4a9
;
color
:
#e15260
;
}
.com_cell_down
{
padding
:
12px
16px
0
16px
;
}
.com_detail
{
color
:
#8890a7
;
font-size
:
14px
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
overflow
:
hidden
;
height
:
42px
;
margin-bottom
:
8px
;
}
.com_other
{
color
:
#58617a
;
margin-bottom
:
6px
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
1
;
overflow
:
hidden
;
.message_block
{
width
:
80%
;
padding
:
10px
20px
;
background-color
:
#f8f9fd
;
border-radius
:
10px
;
}
.
name_title
{
color
:
#8890a7
;
.
left_blank
{
margin-left
:
20px
;
}
</
style
>
<
style
>
.com_cell
.el-rate__item
.el-rate__icon
{
font-size
:
20px
;
margin-right
:
0
;
.com_cell_right
.el-rate__text
{
display
:
inline-block
;
margin-left
:
10px
;
font-size
:
32px
;
font-weight
:
700
;
}
.com_cell
.el-rate__text
{
margin-left
:
4px
;
position
:
relative
;
top
:
1px
;
.com_cell_right
.el-rate__icon
{
font-size
:
28px
;
}
</
style
>
\ No newline at end of file
</
style
>
src/components/service-list/commodity-list copy.vue
0 → 100644
View file @
be148412
<
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"
></commodity-cell>
</div>
<!-- 分页 -->
<section
class=
"com-pagination"
v-if=
"paginationShow"
>
<div
class=
"com_page_total"
>
共
{{
total
}}
个条目
</div>
<div
class=
"com_page_item"
>
<div
class=
"com_page_num"
v-if=
"pageSizeShow"
>
<div>
每页条数:
</div>
<div
class=
"com_page_num_sel"
>
<el-select
v-model=
"pagination.rowsPerPage"
placeholder=
"请选择"
size=
"small"
@
change=
"handleSizeChange"
>
<el-option
v-for=
"item in pageOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</div>
</div>
<div
class=
"com_page_control"
>
<el-button
icon=
"el-icon-arrow-left"
circle
size=
"mini"
@
click=
"handleCurrentChange(-1)"
:disabled=
"pagination.page == 1"
></el-button>
第
{{
pagination
.
page
}}
页 / 共
{{
Math
.
ceil
((
total
==
0
?
1
:
total
)
/
pagination
.
rowsPerPage
)
}}
页
<el-button
icon=
"el-icon-arrow-right"
circle
size=
"mini"
@
click=
"handleCurrentChange(1)"
:disabled=
"
pagination.page >=
Math.ceil((total == 0 ? 1 : total) / pagination.rowsPerPage)
"
></el-button>
</div>
</div>
</section>
</div>
</
template
>
<
script
>
import
CommodityCell
from
"
@/components/service-list/commodity-cell.vue
"
;
import
CommodityCard
from
"
@/components/service-list/commodity-card.vue
"
;
export
default
{
components
:
{
"
commodity-cell
"
:
CommodityCell
,
"
commodity-card
"
:
CommodityCard
,
},
props
:
{
datas
:
{
type
:
Array
,
default
:
()
=>
{
[];
},
},
total
:
{
type
:
Number
,
default
:
0
,
},
url
:
{
type
:
String
,
default
:
""
},
paginationShow
:
{
type
:
Boolean
,
default
:
false
,
},
pageSizeShow
:
{
type
:
Boolean
,
default
:
false
,
},
urlFilter
:
{
type
:
String
,
default
:
""
},
},
data
:
()
=>
({
pagination
:
{
rowsPerPage
:
10
,
page
:
1
,
},
pageOptions
:
[
{
value
:
"
10
"
,
label
:
"
10
"
,
},
{
value
:
"
20
"
,
label
:
"
20
"
,
},
{
value
:
"
50
"
,
label
:
"
50
"
,
},
],
}),
computed
:
{},
methods
:
{
handleSizeChange
(
val
)
{
this
.
pagination
.
rowsPerPage
=
val
;
this
.
refreshData
();
},
handleCurrentChange
(
val
)
{
this
.
pagination
.
page
+=
val
;
this
.
refreshData
();
},
refreshData
()
{
this
.
$emit
(
"
refresh
"
,
this
.
pagination
);
},
},
mounted
()
{},
watch
:
{
datas
:
{
handler
(
val
)
{},
},
url
:
{
handler
()
{
this
.
pagination
=
{
rowsPerPage
:
10
,
page
:
1
,
};
this
.
refreshData
();
},
},
},
};
</
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/commodity-list.vue
View file @
be148412
<
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
v-if=
"urlFilter=='app'"
ref=
"commodityList"
class=
"commodity_card"
>
<div
ref=
"commodityCardIn"
class=
"commodity_card_list"
>
<div
v-for=
"item in datas"
:cellData=
"item"
:url=
"url"
:key=
"item.id"
class=
"commodity_card_item"
>
<commodity-card
class=
"commodity_card_item_in"
:cellData=
"item"
:url=
"url"
></commodity-card>
</div>
</div>
</div>
<div
v-else
class=
"commodity_cell"
>
<commodity-cell
v-for=
"item in datas"
:cellData=
"item"
:url=
"url"
:key=
"item.id"
></commodity-cell>
<commodity-cell
v-for=
"item in datas"
:cellData=
"item"
:url=
"url"
:key=
"item.id"
></commodity-cell>
</div>
<!-- 分页 -->
<section
class=
"com-pagination"
v-if=
"paginationShow"
>
...
...
@@ -46,17 +46,18 @@
@
click=
"handleCurrentChange(-1)"
:disabled=
"pagination.page == 1"
></el-button>
第
{{
pagination
.
page
}}
页 / 共
{{
Math
.
ceil
((
total
==
0
?
1
:
total
)
/
pagination
.
rowsPerPage
)
}}
页
第
{{
pagination
.
page
}}
页 / 共
{{
Math
.
ceil
((
total
==
0
?
1
:
total
)
/
pagination
.
rowsPerPage
)
}}
页
<el-button
icon=
"el-icon-arrow-right"
circle
size=
"mini"
@
click=
"handleCurrentChange(1)"
:disabled=
"
pagination.page >=
pagination.page >=
Math.ceil((total == 0 ? 1 : total) / pagination.rowsPerPage)
"
"
></el-button>
</div>
</div>
...
...
@@ -127,11 +128,30 @@ export default {
refreshData
()
{
this
.
$emit
(
"
refresh
"
,
this
.
pagination
);
},
pageResize
()
{
let
listWidth
=
this
.
$refs
.
commodityCardIn
.
clientWidth
;
let
rowCardNum
=
Math
.
floor
(
listWidth
/
310
);
let
cardArr
=
this
.
$refs
.
commodityCardIn
.
children
;
// console.log(rowCardNum, listWidth / rowCardNum);
for
(
let
i
=
0
;
i
<
cardArr
.
length
;
i
++
)
{
cardArr
[
i
].
style
.
width
=
listWidth
/
rowCardNum
-
1
+
"
px
"
;
}
// console.log(this.$refs.commodityCardIn);
},
},
mounted
()
{},
watch
:
{
datas
:
{
handler
(
val
)
{},
handler
(
val
)
{
if
(
this
.
urlFilter
==
"
app
"
)
{
setTimeout
(()
=>
{
this
.
pageResize
();
window
.
onresize
=
()
=>
{
this
.
pageResize
();
};
},
0
);
}
},
},
url
:
{
handler
()
{
...
...
@@ -174,9 +194,6 @@ export default {
align-items
:
center
;
}
.commodity_card
{
display
:
flex
;
flex-wrap
:
wrap
;
justify-content
:
space-between
;
}
.commodity_card_list
{
width
:
100%
;
...
...
@@ -189,11 +206,6 @@ export default {
.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
{
...
...
@@ -203,4 +215,4 @@ export default {
border
:
0
;
padding
:
0
;
}
</
style
>
\ No newline at end of file
</
style
>
src/components/service-list/service_list copy.vue
0 → 100644
View file @
be148412
<
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' }">
{{
$t
(
"
lang.service_shop
"
)
}}
</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
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 -->
<commodity-list
:datas=
"lists && lists.length != 0 ? lists : []"
:total=
"total"
:url=
"url"
:urlFilter=
"urlFilter"
:paginationShow=
"false"
:pageSizeShow=
"true"
@
refresh=
"getNewList"
></commodity-list>
</div>
</
template
>
<
script
>
import
CommodityList
from
"
@/components/service-list/commodity-list.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
:
[[],
[],
[],
[]],
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
:
20
,
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
();
}
},
},
filterNames
:
{
handler
(
val
)
{
for
(
let
i
=
0
;
i
<
val
.
length
;
i
++
)
{
this
.
filterLists
[
i
+
1
].
name
=
val
[
i
];
}
},
},
},
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轴上的滚动距离
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
==
0
?
"
search_count
"
:
this
.
activeBtn
==
1
?
"
create_date
"
:
this
.
activeBtn
==
2
?
"
apply_times
"
:
"
evaluation
"
,
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
.
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
.
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
=
20
;
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
;
}
.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
;
}
.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
,
.el-input__suffix
{
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
>
src/components/service-list/service_list.vue
View file @
be148412
...
...
@@ -10,7 +10,9 @@
<div
class=
"head_flex"
>
<el-breadcrumb
separator=
"/"
class=
"bread_crumb1 bread_left"
>
<el-breadcrumb-item
:to=
"
{ path: '/shop' }">
{{
$t
(
"
lang.service_shop
"
)
}}
{{
$t
(
"
lang.service_shop
"
)
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
name
}}
</el-breadcrumb-item>
</el-breadcrumb>
...
...
@@ -23,27 +25,22 @@
></el-input>
</div>
</div>
<block-radius
:borRadius=
"12"
:paddingNum=
"0"
>
<block-radius>
<!-- filter -->
<div
v-if=
"urlFilter"
class=
"classification"
>
<div
v-for=
"(item, index) in filterLists"
:key=
"'cd' + index"
class=
"classification_line"
>
<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
<div
class=
"classification_line_title"
>
{{
item
.
name
}}
:
</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'
...
...
@@ -61,8 +58,7 @@
? 'classification_act'
: ''
"
>
全部
</span
>
>
全部
</span>
</div>
</li>
<li
...
...
@@ -84,14 +80,13 @@
? 'classification_act'
: ''
"
>
{{
items
.
name
}}
</span
>
>
{{
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
openChildren[index].state == true &&
openChildren[index].index == items.id
"
@
click=
"clickItemChild(index, indexs, items)"
class=
"el-icon-caret-top"
...
...
@@ -99,8 +94,8 @@
<i
v-else-if=
"
items.childDomains &&
openChildren[index].state == false &&
openChildren[index].index == items.id
openChildren[index].state == false &&
openChildren[index].index == items.id
"
@
click=
"clickItemChild(index, indexs, items)"
class=
"el-icon-caret-bottom"
...
...
@@ -120,15 +115,9 @@
@
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>
<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 -->
...
...
@@ -156,8 +145,7 @@
? 'classification_act'
: ''
"
>
{{
itemChildren
.
name
}}
</span
>
>
{{
itemChildren
.
name
}}
</span>
</div>
</li>
</ul>
...
...
@@ -166,46 +154,38 @@
</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
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
filterLists[1].childDomains.length != 0 ||
filterLists[2].childDomains.length != 0
"
></div>
-->
<!-- the list -->
<commodity-list
:datas=
"lists && lists.length != 0 ? lists : []"
:total=
"total"
:url=
"url"
:urlFilter=
"urlFilter"
:paginationShow=
"false"
:pageSizeShow=
"true"
@
refresh=
"getNewList"
></commodity-list>
></div>
<!-- filter button -->
<div
class=
"btn_group"
>
<el-button
v-for=
"(item, index) in buttonFilter"
:key=
"item.name"
size=
"small"
:class=
"index == activeBtn ? 'button_filter_act' : 'button_filter'"
@
click=
"clickButtonFilter(index)"
>
{{
item
.
name
}}
</el-button>
<div
v-if=
"urlFilter == 'app'"
class=
"btn_right_check"
>
<el-checkbox
v-model=
"couldTwice"
@
change=
"changeTwice"
>
支持二次开发
</el-checkbox>
</div>
</div>
<!-- the list -->
<commodity-list
:datas=
"lists && lists.length != 0 ? lists : []"
:total=
"total"
:url=
"url"
:urlFilter=
"urlFilter"
:paginationShow=
"true"
:pageSizeShow=
"true"
@
refresh=
"getNewList"
></commodity-list>
</block-radius>
</div>
</
template
>
...
...
@@ -286,22 +266,19 @@ export default {
},
],
page
:
1
,
limit
:
2
0
,
limit
:
1
0
,
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
:
{
...
...
@@ -356,41 +333,7 @@ export default {
},
},
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轴上的滚动距离
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
(
"
,
"
),
...
...
@@ -412,12 +355,8 @@ export default {
};
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
);
}
...
...
@@ -436,12 +375,8 @@ export default {
};
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
);
}
...
...
@@ -557,7 +492,6 @@ export default {
},
clickButtonFilter
(
index
)
{
this
.
activeBtn
=
index
;
this
.
page
=
1
;
this
.
getShopList
();
},
clickChildren
(
id
,
index
,
fatherId
)
{
...
...
@@ -574,27 +508,23 @@ export default {
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
=
20
;
this
.
page
=
val
.
page
;
this
.
limit
=
val
.
rowsPerPage
;
this
.
getShopList
();
},
clickAll
(
item
)
{
this
.
$set
(
this
.
activeOptions
,
item
,
[]);
this
.
$set
(
this
.
activeChildOptions
,
item
,
[]);
this
.
page
=
1
;
this
.
getShopList
();
},
changeTwice
()
{
...
...
@@ -637,18 +567,12 @@ export default {
.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%
;
...
...
@@ -656,9 +580,6 @@ export default {
height
:
1px
;
background-color
:
#e9ecf3
;
}
.classification
{
padding
:
12px
16px
12px
32px
;
}
.classification_line
{
width
:
100%
;
}
...
...
@@ -669,20 +590,19 @@ export default {
}
.classification_line_title
{
display
:
inline-block
;
width
:
9
0px
;
padding
:
1
2
px
0
;
text-align
:
lef
t
;
width
:
13
0px
;
padding
:
1
5
px
0
;
text-align
:
righ
t
;
color
:
#8890a7
;
font-size
:
12px
;
}
.classification_line_items
{
width
:
calc
(
100%
-
9
0px
);
width
:
calc
(
100%
-
13
0px
);
}
.classification_line_items_border
{
border-bottom
:
1px
#e9ecf3
solid
;
}
.classification_line_hid
{
height
:
4
0px
;
height
:
5
0px
;
width
:
100%
;
overflow
:
hidden
;
display
:
inline-flex
;
...
...
@@ -695,13 +615,13 @@ export default {
}
.classification_line_items_ul
{
display
:
inline-block
;
width
:
calc
(
100%
-
3
0px
);
width
:
calc
(
100%
-
5
0px
);
font-size
:
0
;
}
.classification_line_items_li
{
display
:
inline-block
;
padding
:
1
2px
18
px
;
font-size
:
1
2
px
;
padding
:
1
5px
20
px
;
font-size
:
1
4
px
;
}
.classification_line_items_li_act
{
background-color
:
#fbfbfb
;
...
...
@@ -714,28 +634,14 @@ export default {
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
;
font-weight
:
700
;
color
:
#515fe7
;
}
.classification_line_items_open
{
display
:
inline-block
;
width
:
60px
;
padding
:
1
2
px
0
;
padding
:
1
5
px
0
;
cursor
:
pointer
;
font-size
:
12px
;
text-align
:
right
;
}
.classification_children_ul
{
display
:
inline-block
;
...
...
@@ -745,35 +651,35 @@ export default {
}
.classification_children_li
{
display
:
inline-block
;
padding
:
1
2px
18
px
;
padding
:
1
5px
20
px
;
color
:
#58617a
;
}
.button_filter
{
color
:
#8890a7
;
background-color
:
#e6eefe
;
color
:
#626de9
;
border
:
1px
solid
#e6eefe
;
font-size
:
12px
;
display
:
inline-block
;
margin-right
:
31px
;
position
:
relative
;
}
.button_filter
::after
{
content
:
""
;
width
:
1px
;
height
:
16px
;
background-color
:
#e3e5ef
;
position
:
absolute
;
right
:
-15px
;
.button_filter
:hover
{
border
:
1px
solid
rgb
(
198
,
226
,
255
);
}
.button_filter
:nth-child
(
4
)
:after
{
content
:
""
;
width
:
0
;
.button_filter
:focus
{
border
:
1px
solid
rgb
(
58
,
142
,
230
);
}
.button_filter_act
{
color
:
#515fe7
;
background-color
:
#515fe7
;
border
:
1px
solid
#515fe7
;
color
:
#f8f9fd
;
font-size
:
12px
;
}
.button_filter_act
:hover
{
border
:
1px
solid
#414fd7
;
}
.button_filter_act
:focus
{
border
:
1px
solid
#313fc7
;
}
.btn_group
{
margin-top
:
15px
;
margin-bottom
:
15px
;
margin-left
:
15px
;
position
:
relative
;
}
.btn_right_check
{
...
...
@@ -784,8 +690,7 @@ export default {
</
style
>
<
style
>
.head_flex
.input_right
.el-input__inner
{
border-radius
:
6px
;
border
:
solid
1px
#e7eaf6
;
border-radius
:
20px
;
}
.head_flex
.input_right
.el-input--prefix
.el-input__inner
{
padding-left
:
40px
;
...
...
src/components/service-list/service_shop_menu.vue
View file @
be148412
...
...
@@ -65,32 +65,32 @@ export default {
}
switch
(
uri
)
{
case
"
data_service_list
"
:
item
.
active
=
"
shop_tool_ic_sj
fw_sel
"
;
item
.
default
=
"
shop_tool_ic_sj
fw
"
;
item
.
active
=
"
tool_ic_shuju
fw_sel
"
;
item
.
default
=
"
tool_ic_shuju
fw
"
;
break
;
case
"
space_time_service_list
"
:
item
.
active
=
"
shop_tool_ic_sk
fw_sel
"
;
item
.
default
=
"
shop_tool_ic_sk
fw
"
;
item
.
active
=
"
tool_ic_shikong
fw_sel
"
;
item
.
default
=
"
tool_ic_shikong
fw
"
;
break
;
case
"
video_service_list
"
:
item
.
active
=
"
shop_tool_ic_sp
fw_sel
"
;
item
.
default
=
"
shop_tool_ic_sp
fw
"
;
item
.
active
=
"
tool_ic_shipin
fw_sel
"
;
item
.
default
=
"
tool_ic_shipin
fw
"
;
break
;
case
"
perception_service_list
"
:
item
.
active
=
"
shop_
tool_ic_ganzhifw_sel
"
;
item
.
default
=
"
shop_
tool_ic_ganzhifw
"
;
item
.
active
=
"
tool_ic_ganzhifw_sel
"
;
item
.
default
=
"
tool_ic_ganzhifw
"
;
break
;
case
"
comprehensive_app_list
"
:
item
.
active
=
"
shop_tool_ic_zh
yyfw_sel
"
;
item
.
default
=
"
shop_tool_ic_zh
yyfw
"
;
item
.
active
=
"
tool_ic_zonghe
yyfw_sel
"
;
item
.
default
=
"
tool_ic_zonghe
yyfw
"
;
break
;
case
"
cloud
"
:
item
.
active
=
"
shop_tool_ic_yzy
fw_sel
"
;
item
.
default
=
"
shop_tool_ic_yzy
fw
"
;
item
.
active
=
"
tool_ic_yunziyuan
fw_sel
"
;
item
.
default
=
"
tool_ic_yunziyuan
fw
"
;
break
;
case
"
app_store_list
"
:
item
.
active
=
"
shop_ic_yy
sd_sel
"
;
item
.
default
=
"
shop_ic_yy
sd
"
;
item
.
active
=
"
tool_ic_yingyong
sd_sel
"
;
item
.
default
=
"
tool_ic_yingyong
sd
"
;
break
;
default
:
item
.
active
=
"
1
"
;
...
...
@@ -111,48 +111,37 @@ export default {
.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
;
top
:
58px
;
left
:
0
;
width
:
180px
;
height
:
100%
;
padding-top
:
30px
;
}
.service_shop_menu_list
>
li
{
box-sizing
:
border-box
;
height
:
40px
;
padding
:
8px
0
0
22px
;
margin-bottom
:
16px
;
padding
:
16px
10px
8px
22px
;
border-left
:
5px
solid
#0d1847
;
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
;
border-left
:
5px
solid
#e56600
;
background-color
:
#182665
;
color
:
#e6ebfe
;
}
.menu_img
{
width
:
2
4
px
;
width
:
2
5
px
;
margin-right
:
6px
;
}
.menu_item
{
position
:
relative
;
font-weight
:
bold
;
font-size
:
15px
;
color
:
#96a0c5
;
color
:
#6573ae
;
top
:
-6px
;
}
.menu_item_active
{
position
:
relative
;
font-weight
:
bold
;
font-size
:
15px
;
color
:
#515fe7
;
color
:
#e6ebfe
;
top
:
-6px
;
}
</
style
>
src/components/service-list/service_shop_menu_copy.vue
0 → 100644
View file @
be148412
<
template
>
<div
class=
"service_shop_menu"
>
<ul
class=
"service_shop_menu_list"
>
<li
v-for=
"(item, index) in menuList"
:key=
"index"
@
click=
"active(item.visit_url)"
>
<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.visit_url == actives ? 'menu_item_active':'menu_item'"
>
{{
item
.
menu_name
}}
</span>
</li>
</ul>
</div>
</
template
>
<
script
>
export
default
{
props
:
{},
data
()
{
return
{
actives
:
""
,
menuList
:
[],
};
},
computed
:
{
getActive
()
{
return
this
.
$store
.
state
.
serviceShopMenu
;
},
},
watch
:
{
getActive
(
newVal
)
{
this
.
getActiveMenu
(
newVal
);
},
},
mounted
()
{
this
.
getShopMenu
();
this
.
$store
.
commit
(
"
serviceShopMenuAct
"
,
this
.
$route
.
path
);
this
.
actives
=
this
.
$store
.
state
.
serviceShopMenu
;
},
methods
:
{
active
(
val
)
{
this
.
$store
.
commit
(
"
serviceShopMenuAct
"
,
val
);
this
.
$router
.
push
(
val
);
},
getActiveMenu
(
val
)
{
this
.
actives
=
val
;
},
getShopMenu
()
{
this
.
$api
.
general
.
getNowMenu
({
teamName
:
"
APAAS3
"
}).
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
let
arr
=
response
.
data
.
data
[
0
].
Child
;
let
shopArr
=
[];
let
asd
=
arr
.
find
(
item
=>
{
return
item
.
visit_url
==
"
/services_shop
"
})
shopArr
=
asd
.
Child
;
if
(
shopArr
&&
shopArr
.
length
!=
0
)
{
Array
.
from
(
shopArr
).
forEach
((
item
)
=>
{
let
uri
=
item
.
visit_url
.
substring
(
6
);
if
(
uri
.
indexOf
(
"
/
"
)
!=
-
1
)
{
uri
=
uri
.
substring
(
0
,
uri
.
indexOf
(
"
/
"
));
}
switch
(
uri
)
{
case
"
data_service_list
"
:
item
.
active
=
"
shop_tool_ic_sjfw_sel
"
;
item
.
default
=
"
shop_tool_ic_sjfw
"
;
break
;
case
"
space_time_service_list
"
:
item
.
active
=
"
shop_tool_ic_skfw_sel
"
;
item
.
default
=
"
shop_tool_ic_skfw
"
;
break
;
case
"
video_service_list
"
:
item
.
active
=
"
shop_tool_ic_spfw_sel
"
;
item
.
default
=
"
shop_tool_ic_spfw
"
;
break
;
case
"
perception_service_list
"
:
item
.
active
=
"
shop_tool_ic_ganzhifw_sel
"
;
item
.
default
=
"
shop_tool_ic_ganzhifw
"
;
break
;
case
"
comprehensive_app_list
"
:
item
.
active
=
"
shop_tool_ic_zhyyfw_sel
"
;
item
.
default
=
"
shop_tool_ic_zhyyfw
"
;
break
;
case
"
cloud
"
:
item
.
active
=
"
shop_tool_ic_yzyfw_sel
"
;
item
.
default
=
"
shop_tool_ic_yzyfw
"
;
break
;
case
"
app_store_list
"
:
item
.
active
=
"
shop_ic_yysd_sel
"
;
item
.
default
=
"
shop_ic_yysd
"
;
break
;
default
:
item
.
active
=
"
1
"
;
item
.
default
=
"
1
"
;
break
;
}
});
}
this
.
menuList
=
shopArr
;
}
});
},
},
};
</
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/shop-cloud/shop-cloud copy.vue
0 → 100644
View file @
be148412
<
template
>
<div
class=
"shop_cloud"
>
<el-breadcrumb
separator=
"/"
class=
"bread_crumb1 bread_left"
>
<el-breadcrumb-item
:to=
"
{ path: '/shop' }">服务超市
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
name
}}
</el-breadcrumb-item>
</el-breadcrumb>
<block-radius
:paddingNum=
"24"
>
<el-form
ref=
"form"
:inline=
"true"
:rules=
"ruleBasis"
:model=
"form"
class=
"form_block"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
申请组织:
</div>
<el-input
v-model=
"form.department_name"
:disabled=
"true"
placeholder=
"请输入申请组织"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"form_item nobottom"
prop=
"link_man"
>
<div
class=
"form_item_title"
>
部门联系人:
</div>
<el-input
v-model=
"form.link_man"
placeholder=
"请输入联系人姓名"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"form_item nobottom"
prop=
"phone"
>
<div
class=
"form_item_title"
>
联系电话:
</div>
<el-input
v-model=
"form.phone"
placeholder=
"请输入联系人电话"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</block-radius>
<block-radius
:paddingNum=
"24"
>
<el-tabs
v-model=
"activeName"
class=
"cloud_form"
@
tab-click=
"tabClick"
>
<el-tab-pane
label=
"申请新的工作区域"
name=
"0"
>
<el-form
ref=
"formNew"
:model=
"formNew"
:rules=
"ruleNew"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
基本信息
</div>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
"namespace"
class=
"form_item"
>
<div
class=
"form_item_title"
>
工作区域名称:
</div>
<el-input
v-model=
"formNew.namespace"
placeholder=
"请输入工作区域英文名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
"workplace"
class=
"form_item"
>
<div
class=
"form_item_title"
>
中文名称:
</div>
<el-input
v-model=
"formNew.workplace"
placeholder=
"请输入工作区域中文名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
prop=
"workplacedesc"
class=
"form_item nobottom"
>
<div
class=
"form_item_title"
>
描述信息:
</div>
<el-input
type=
"textarea"
v-model=
"formNew.workplacedesc"
placeholder=
"请输入工作区域描述信息"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
工作区域申请规格
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"cpu"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
CPU:
</div>
<el-select
v-model=
"formNew.cpu"
@
change=
"changeCPU"
placeholder=
"请选择CPU使用量"
>
<el-option
v-for=
"item in optionsCPU"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"memory"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
内存:
</div>
<el-select
v-model=
"formNew.memory"
placeholder=
"请选择内存使用量"
@
change=
"setContainerGroup(0)"
>
<el-option
v-for=
"item in optionsRAM"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"containerGroup"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
容器组:
</div>
<el-input-number
v-model=
"formNew.containerGroup"
controls-position=
"right"
:min=
"0"
:max=
"24"
placeholder=
"取值范围[0,24]"
></el-input-number>
<div
class=
"input_right"
>
个
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
数据盘(可选):
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"form_item input_has_right nobottom"
>
<el-input-number
v-model=
"formNew.dataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择增加数据盘的数量"
></el-input-number>
<div
class=
"input_right"
>
块
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"form_item input_has_right nobottom"
>
<el-input-number
v-model=
"formNew.perDataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择每块数据盘的容量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
单个容器组规格
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
CPU:
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perCPUs"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formNew.perCPUs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"CPU最高使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perCPU"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formNew.perCPU"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"CPU默认使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
内存:
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perRAMs"
class=
"form_item input_has_left_right nobottom"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formNew.perRAMs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"内存最高使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perRAM"
class=
"form_item input_has_left_right nobottom"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formNew.perRAM"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"内存默认使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
其他信息
</div>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
prop=
"appDuration"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请时长:
</div>
<el-input-number
v-model=
"formNew.appDuration"
controls-position=
"right"
:min=
"1"
:max=
"1000"
></el-input-number>
<!--
<el-select
v-model=
"formNew.durType"
class=
"input_right_select"
placeholder=
"请选择申请时长"
>
<el-option
v-for=
"item in durationOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
-->
<div
class=
"input_right"
>
月
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
申请文件:
</div>
<info-list
:list_arr=
"docTemplate"
class=
"doc_template"
></info-list>
<upload-file
:multiple=
"false"
:unique=
"false"
:max=
"1"
type=
"zip"
:readOnly=
"false"
:drag=
"true"
@
getNewList=
"getNewList"
class=
"up_f"
></upload-file>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane
label=
"调整现有工作区域"
name=
"1"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"16"
>
<div
class=
"select_title"
>
选择要进行调整的工作区域:
</div>
<div
class=
"form_item"
>
<el-select
v-model=
"workSpace"
@
change=
"getForm"
placeholder=
"请选择"
>
<el-option
v-for=
"(item, index) in workSpaceOptions"
:key=
"index"
:label=
"item.namespace"
:value=
"index"
></el-option>
</el-select>
</div>
</el-col>
</el-row>
<div
v-show=
"formShow"
>
<el-form
ref=
"formOld"
:model=
"formOld"
:rules=
"ruleOld"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
工作区域规格调整
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_cards"
>
<div
class=
"now_spec_card"
v-for=
"(item, index) in specArr"
:key=
"index + 'spec'"
>
<img
class=
"now_spec_card_img"
:src=
"require('@/assets/imgs/' + item.src + '.png')"
/>
<span
class=
"now_spec_card_title"
>
{{
item
.
title
}}
</span>
<span
class=
"now_spec_card_val"
>
{{
item
.
val
+
"
"
+
(
item
.
title
==
"
CPU
"
?
"
核
"
:
item
.
title
==
"
内存
"
?
"
GB
"
:
"
个
"
)
}}
</span>
</div>
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"cpu"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请CPU调整为:
</div>
<el-select
v-model=
"formOld.cpu"
placeholder=
"请选择CPU使用量"
>
<el-option
v-for=
"item in optionsCPU"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"memory"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请内存调整为:
</div>
<el-select
v-model=
"formOld.memory"
placeholder=
"请选择内存使用量"
@
change=
"setContainerGroup(1)"
>
<el-option
v-for=
"item in optionsRAM"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"containerGroup"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请容器组调整为:
</div>
<el-input-number
v-model=
"formOld.containerGroup"
controls-position=
"right"
:min=
"0"
:max=
"24"
placeholder=
"取值范围[0,24]"
></el-input-number>
<div
class=
"input_right"
>
个
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
v-if=
"dataDiskList.length != 0"
>
<el-form-item
class=
"form_item input_has_right"
>
<div
class=
"form_item_title_1"
>
调整数据盘:
</div>
<table-um
ref=
"apply_service_state_table"
:headers=
"dataDiskHeaders"
:stripe=
"true"
:datas=
"dataDiskList"
@
primary-del=
"delItem"
:maxheight=
"260"
size=
"small"
class=
"disk__table"
></table-um>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
class=
"form_item nobottom"
>
<div
class=
"form_item_title"
>
增加数据盘:
</div>
<!--
<el-select
v-model=
"formOld.store_type"
placeholder=
"请选择数据盘类型"
>
<el-option
v-for=
"item in options_store_type"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
-->
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"form_item input_has_right nobottom"
>
<el-input-number
v-model=
"formOld.dataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择增加数据盘的数量"
></el-input-number>
<div
class=
"input_right"
>
块
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"form_item input_has_right nobottom"
>
<el-input-number
v-model=
"formOld.perDataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择每块数据盘的容量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
单个容器组规格设定
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_cards"
>
<div
class=
"now_rqz_card"
v-for=
"(item, index) in rqzArr"
:key=
"index + 'rqz'"
>
<img
class=
"now_rqz_card_img"
:src=
"require('@/assets/imgs/' + item.src + '.png')"
/>
<span
class=
"now_rqz_card_title"
>
{{
item
.
title
}}
</span>
<div
class=
"now_rqz_card_val_div"
>
<span
class=
"now_rqz_card_val"
>
最高
{{
item
.
max
}}
{{
item
.
title
==
"
CPU
"
?
"
核
"
:
"
GB
"
}}
</span>
<span
class=
"now_rqz_card_val"
>
默认
{{
item
.
default
}}
{{
item
.
title
==
"
CPU
"
?
"
核
"
:
"
GB
"
}}
</span>
</div>
</div>
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
CPU:
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perCPUs"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formOld.perCPUs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置CPU最高使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perCPU"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formOld.perCPU"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置CPU默认使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
内存:
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perRAMs"
class=
"form_item input_has_left_right nobottom"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formOld.perRAMs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置内存最高使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perRAM"
class=
"form_item input_has_left_right nobottom"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formOld.perRAM"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置内存默认使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
其他信息
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_card_time"
>
<div>
<img
class=
"now_spec_card_time_img"
:src=
"require('@/assets/imgs/ic_shijian.png')"
/>
<span
class=
"now_spec_card_time_title"
>
当前工作区域到期时间
</span
>
<span
class=
"now_spec_card_time_val"
>
{{
helper
.
dateStringTransform
(
paramsOld
.
cloud_end_time
)
}}
</span>
</div>
</div>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请续期:
</div>
<el-input-number
v-model=
"formOld.appDuration"
controls-position=
"right"
:min=
"1"
:max=
"1000"
></el-input-number>
<div
class=
"input_right"
>
月
</div>
</el-form-item>
</el-col>
<el-col
:span=
"22"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
申请文件:
</div>
<info-list
:list_arr=
"docTemplate"
class=
"doc_template"
></info-list>
<upload-file
:multiple=
"false"
:unique=
"false"
:max=
"1"
type=
"zip"
:readOnly=
"false"
:drag=
"true"
@
getNewList=
"getNewListOld"
class=
"up_f"
></upload-file>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</el-tab-pane>
</el-tabs>
</block-radius>
<block-radius
v-if=
"!(activeName == 1 && !formShow)"
>
<div
class=
"btn_footer fyzj_item"
>
<div
class=
"fyzj"
>
<p
class=
"fyzj_p"
>
<span
v-if=
"getSumCoin > user_info.account_balance"
class=
"yebz"
>
余额不足,请联系超级管理员进行充值
</span>
费用总计:
<span
class=
"fyzj_span"
>
{{
getSumCoin
}}
</span>
<span
class=
"fyzj_qian"
>
金币
</span>
</p>
<p
class=
"ckfymx"
>
<span
@
click=
"dialogFymx = true"
class=
"ckfymx_a"
>
查看费用明细
</span>
<span
class=
"ckfymx_qian"
>
账户余额:
{{
user_info
.
account_balance
}}
金币
</span
>
</p>
</div>
<el-button
:class=
"
getSumCoin
<
=
user_info
.
account_balance
?
'
submit
'
:
'
nosubmit
'
"
:disabled=
"getSumCoin > user_info.account_balance"
@
click=
"submitApp"
>
提交申请
</el-button>
</div>
</block-radius>
<el-dialog
title=
"申请信息确认"
:visible.sync=
"dialogVisible"
width=
"580px"
class=
"cloud_dia"
>
<el-row>
<el-col
:span=
"24"
>
<span
class=
"dia_item_title"
>
申请组织:
</span>
<span
class=
"dia_item_val"
>
{{
diaForm
.
department_name
}}
</span>
</el-col>
<el-col
:span=
"10"
v-if=
"diaForm.link_man"
>
<span
class=
"dia_item_title"
>
组织联系人:
</span>
<span
class=
"dia_item_val"
>
{{
diaForm
.
link_man
}}
</span>
</el-col>
<el-col
:span=
"10"
v-if=
"diaForm.phone"
>
<span
class=
"dia_item_title"
>
联系电话:
</span>
<span
class=
"dia_item_val"
>
{{
diaForm
.
phone
}}
</span>
</el-col>
<el-col
:span=
"10"
>
<span
class=
"dia_item_title"
>
申请类型:
</span>
<span
class=
"dia_item_val"
>
{{
activeName
==
0
?
"
新资源申请
"
:
"
已有资源升级
"
}}
</span>
</el-col>
<el-col
:span=
"10"
v-if=
"activeName == '1'"
>
<span
class=
"dia_item_title"
>
工作区域名称:
</span>
<span
class=
"dia_item_val"
>
{{
diaForm
.
namespace
}}
</span>
</el-col>
<el-col
:span=
"14"
v-if=
"activeName == '0' && diaForm.apply_file_name"
>
<span
class=
"dia_item_title"
>
上传申请文件:
</span>
<span
class=
"dia_item_val"
>
{{
diaForm
.
apply_file_name
}}
</span>
</el-col>
<el-col
:span=
"24"
v-else-if=
"activeName == '1' && diaForm.apply_file_name"
>
<span
class=
"dia_item_title"
>
上传申请文件:
</span>
<span
class=
"dia_item_val"
>
{{
diaForm
.
apply_file_name
}}
</span>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"dia_block"
v-if=
"activeName == 0"
>
<span
class=
"dia_item_all_title"
>
基本信息:
</span>
<div
class=
"dia_block_item"
>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
工作区域名称:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
namespace
}}
</span>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
中文名称:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
workplace
}}
</span>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
描述信息:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
workplacedesc
}}
</span>
</div>
</div>
<span
class=
"dia_item_all_title"
>
工作区域申请规格:
</span>
<div
class=
"dia_block_item"
>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
CPU:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
cpu
}}
</span>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
内存:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
memory
}}
</span>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
容器组:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
containerGroup
}}
个
</span
>
</div>
<div
class=
"dia_block_item_in"
v-if=
"
diaForm.dataDisk &&
diaForm.perDataDisk &&
Number(diaForm.dataDisk) != 0 &&
Number(diaForm.perDataDisk) != 0
"
>
<span
class=
"dia_block_item_title"
>
数据盘:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
dataDisk
}}
块,每块
{{
diaForm
.
perDataDisk
}}
GB
</span>
</div>
<!--
<div
class=
"dia_block_item_in"
v-if=
"diaForm.dataDisk != 0"
>
<span
class=
"dia_block_item_title"
>
数据盘类型:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
store_type
}}
</span>
</div>
-->
</div>
<span
class=
"dia_item_all_title"
>
单个容器组规格:
</span>
<div
class=
"dia_block_item"
>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
CPU:
</span>
<p
class=
"dia_block_item_val"
>
<span
class=
"val_has_2"
>
最高
{{
diaForm
.
perCPUs
}}
核
</span
>
<span
class=
"val_has_2"
>
默认
{{
diaForm
.
perCPU
}}
核
</span
>
</p>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
内存:
</span>
<p
class=
"dia_block_item_val"
>
<span
class=
"val_has_2"
>
最高
{{
diaForm
.
perRAMs
}}
GB
</span
>
<span
class=
"val_has_2"
>
默认
{{
diaForm
.
perRAM
}}
GB
</span
>
</p>
</div>
</div>
<span
class=
"dia_item_all_title"
>
申请时长:
</span>
<div
class=
"dia_block_item"
>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
申请时长
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
appDuration
}}{{
diaForm
.
durType
==
1
?
"
个月
"
:
"
年
"
}}
</span>
</div>
</div>
</div>
<div
v-else
>
<span
class=
"dia_item_title margin_top_10"
>
原规格:
</span>
<div
class=
"dia_block"
>
<span
class=
"dia_item_all_title"
>
工作区域:
</span>
<div
class=
"dia_block_item"
>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
CPU:
</span>
<span
class=
"dia_block_item_val"
>
{{
paramsOld
.
cpu
}}
核
</span>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
内存:
</span>
<span
class=
"dia_block_item_val"
>
{{
paramsOld
.
memory
}}
GB
</span
>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
容器组:
</span>
<span
class=
"dia_block_item_val"
>
{{
paramsOld
.
containers
}}
个
</span
>
</div>
</div>
<span
class=
"dia_item_all_title"
>
单个容器组规格:
</span>
<div
class=
"dia_block_item"
>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
CPU:
</span>
<p
class=
"dia_block_item_val"
>
<span
class=
"val_has_2"
>
最高
{{
paramsOld
.
one_cpu_max
}}
核
</span
>
<span
class=
"val_has_2"
>
默认
{{
paramsOld
.
one_cpu_min
}}
核
</span
>
</p>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
内存:
</span>
<p
class=
"dia_block_item_val"
>
<span
class=
"val_has_2"
>
最高
{{
paramsOld
.
one_memory_max
}}
GB
</span
>
<span
class=
"val_has_2"
>
默认
{{
paramsOld
.
one_memory_min
}}
GB
</span
>
</p>
</div>
</div>
<span
class=
"dia_item_all_title"
>
申请时长:
</span>
<div
class=
"dia_block_item"
>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
到期时间:
</span>
<span
class=
"dia_block_item_val"
>
{{
helper
.
dateStringTransform
(
paramsOld
.
cloud_end_time
)
}}
</span>
</div>
</div>
</div>
<span
class=
"dia_item_title margin_top_10"
>
调整至:
</span>
<div
class=
"dia_block"
>
<span
class=
"dia_item_all_title"
>
工作区域:
</span>
<div
class=
"dia_block_item"
>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
CPU:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
cpu
}}
核
</span>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
内存:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
memory
}}
GB
</span>
</div>
<div
class=
"dia_block_item_in"
>
<span
class=
"dia_block_item_title"
>
容器组:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
containerGroup
}}
个
</span
>
</div>
<div
class=
"dia_block_item_in"
v-if=
"
diaForm.dataDisk &&
diaForm.perDataDisk &&
Number(diaForm.dataDisk) != 0 &&
Number(diaForm.perDataDisk) != 0
"
>
<span
class=
"dia_block_item_title"
>
新增数据盘:
</span>
<span
class=
"dia_block_item_val"
>
{{
diaForm
.
dataDisk
}}
块,每块
{{
diaForm
.
perDataDisk
}}
GB
</span>
</div>
<div
class=
"dia_block_item_in"
v-if=
"delDataDiskList.length != 0"
>
<span
class=
"dia_block_item_title"
>
删除数据盘:
</span>
<span
class=
"dia_block_item_val"
>
{{
delDataDiskList
.
map
((
item
)
=>
{
return
item
.
name
;
}
)
.
join
(
"
、
"
)
}}
<
/span
>
<
/div
>
<
/div
>
<
span
class
=
"
dia_item_all_title
"
>
单个容器组规格:
<
/span
>
<
div
class
=
"
dia_block_item
"
>
<
div
class
=
"
dia_block_item_in
"
>
<
span
class
=
"
dia_block_item_title
"
>
CPU
:
<
/span
>
<
p
class
=
"
dia_block_item_val
"
>
<
span
class
=
"
val_has_2
"
>
最高
&
nbsp
;{{
diaForm
.
perCPUs
}}
核
<
/span
>
<
span
class
=
"
val_has_2
"
>
默认
&
nbsp
;{{
diaForm
.
perCPU
}}
核
<
/span
>
<
/p
>
<
/div
>
<
div
class
=
"
dia_block_item_in
"
>
<
span
class
=
"
dia_block_item_title
"
>
内存:
<
/span
>
<
p
class
=
"
dia_block_item_val
"
>
<
span
class
=
"
val_has_2
"
>
最高
&
nbsp
;{{
diaForm
.
perRAMs
}}
GB
<
/span
>
<
span
class
=
"
val_has_2
"
>
默认
&
nbsp
;{{
diaForm
.
perRAM
}}
GB
<
/span
>
<
/p
>
<
/div
>
<
/div
>
<
span
class
=
"
dia_item_all_title
"
>
申请续期:
<
/span
>
<
div
class
=
"
dia_block_item
"
>
<
div
class
=
"
dia_block_item_in
"
>
<
span
class
=
"
dia_block_item_title
"
>
是否续期:
<
/span
>
<
span
class
=
"
dia_block_item_val
"
>
{{
diaForm
.
appDuration
&&
diaForm
.
appDuration
!=
0
?
"
是
"
:
"
否
"
}}
<
/span
>
<
/div
>
<
div
class
=
"
dia_block_item_in
"
v
-
if
=
"
diaForm.appDuration && diaForm.appDuration != 0
"
>
<
span
class
=
"
dia_block_item_title
"
>
续期时长:
<
/span
>
<
span
class
=
"
dia_block_item_val
"
>
{{
diaForm
.
appDuration
}}
{{
diaForm
.
durType
==
1
?
"
个月
"
:
"
年
"
}}
<
/span
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
/el-col
>
<
/el-row
>
<
div
class
=
"
fyzj_dia
"
>
<
div
class
=
"
fyzj_dia_init
"
>
<
p
v
-
if
=
"
activeName == '1'
"
class
=
"
fyzj_2
"
>
升级费用:
<
span
class
=
"
fyzj_2_num
"
>
{{
amounts_payable
}}
金币
<
/span
>
<
/p
>
<!--
<
p
v
-
if
=
"
activeName == '1'
"
class
=
"
fyzj_2
"
>
原规格抵扣费用:
<
span
class
=
"
fyzj_2_num
"
>
2000
金币
<
/span
>
<
/p> --
>
<
div
class
=
"
fyzj_1
"
>
费用总计:
<
p
>
<
span
class
=
"
fyzj_1_num
"
>
{{
getSumCoin
}}
<
/spa
n
><
span
class
=
"
fyzj_1_jb
"
>
金币
<
/span
>
<
/p
>
<
/div
>
<
p
class
=
"
fyzj_2
"
>
账户余额:
<
span
class
=
"
fyzj_2_num
"
>
{{
user_info
.
account_balance
}}
金币
<
/spa
n
>
<
/p
>
<
/div
>
<
div
class
=
"
clear_xxx
"
><
/div
>
<
/div
>
<
div
class
=
"
btn_footer
"
>
<
el
-
button
class
=
"
cancel
"
@
click
=
"
cancel
"
>
取消
<
/el-button
>
<
el
-
button
class
=
"
submit1
"
@
click
=
"
determineSubmit
"
>
确定提交
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
el
-
dialog
title
=
"
费用明细
"
:
visible
.
sync
=
"
dialogFymx
"
width
=
"
580px
"
class
=
"
cloud_dia
"
>
<
div
class
=
"
fymx_ts
"
>
<
i
class
=
"
el-icon-warning-outline
"
><
/i
>
<
p
>
计费说明:云资源服务依据用户选取的
CPU
、内存、数据盘个数及大小进行分级计费,具体计费规
则请线下联系技术支持人员咨询。
<
/p
>
<
/div
>
<
div
v
-
if
=
"
activeName == '1'
"
class
=
"
sjfy_title
"
>
升级费用
<
/div
>
<
table
-
um
ref
=
"
apply_service_state_table
"
:
headers
=
"
jifeiHeader
"
:
stripe
=
"
true
"
:
datas
=
"
jifeiList1
"
:
maxheight
=
"
260
"
><
/table-um
>
<!--
<
div
v
-
if
=
"
activeName == '1'
"
class
=
"
sjfy_title
"
>
原规格抵扣费用
<
el
-
tooltip
class
=
"
tool_item
"
effect
=
"
dark
"
content
=
"
未用完的按剩余时间及原购买规格价格核算后优先抵扣本订单金额,超出部分退还至用户账户
"
placement
=
"
top
"
offset
=
"
5
"
>
<
img
class
=
"
tool_img
"
src
=
"
@/assets/imgs/tool_ic_tips.png
"
/>
<
/el-tooltip
>
<
/div
>
<
table
-
um
v
-
if
=
"
activeName == '1'
"
ref
=
"
apply_service_state_table
"
:
headers
=
"
jifeiHeader2
"
:
stripe
=
"
true
"
:
datas
=
"
jifeiList2
"
:
maxheight
=
"
260
"
><
/table-um> --
>
<
/el-dialog
>
<
ApassDialog
ref
=
"
dialog
"
msg
=
"
确认删除该数据盘吗?
"
:
submit
=
"
dialogSubmit
"
><
/ApassDialog
>
<
/div
>
<
/template
>
<
script
>
import
BlockRadius
from
"
@/components/general/block-radius
"
;
import
UploadFile
from
"
@/components/general/upload_file
"
;
import
TableUm
from
"
@/components/table/table-um
"
;
import
InfoList
from
"
@/components/infoList
"
;
import
ApassDialog
from
"
@/components/apass-dialog
"
;
import
helper
from
"
@/services/helper.js
"
;
export
default
{
components
:
{
BlockRadius
,
UploadFile
,
TableUm
,
InfoList
,
ApassDialog
,
}
,
props
:
{
name
:
{
type
:
String
,
default
:
""
}
,
}
,
computed
:
{
getSumCoin
()
{
let
sumCM
=
0
;
let
sumDisk
=
0
;
let
a_deductions
=
0
;
if
(
this
.
activeName
==
"
0
"
)
{
a_deductions
=
this
.
deductions
;
if
(
this
.
cpu_memory
&&
this
.
cpu_memory
.
length
!=
0
)
{
if
(
this
.
formNew
.
cpu
==
"
8
"
)
{
if
(
this
.
formNew
.
memory
==
"
16
"
)
{
let
priceObj
=
this
.
cpu_memory
.
find
((
item
)
=>
{
return
item
.
cpu
==
8
&&
item
.
memory
==
16
;
}
);
this
.
eci_single_money
=
Number
(
priceObj
.
price
);
sumCM
+=
Number
(
priceObj
.
price
);
}
else
if
(
this
.
formNew
.
memory
==
"
32
"
)
{
let
priceObj
=
this
.
cpu_memory
.
find
((
item
)
=>
{
return
item
.
cpu
==
8
&&
item
.
memory
==
32
;
}
);
this
.
eci_single_money
=
Number
(
priceObj
.
price
);
sumCM
+=
Number
(
priceObj
.
price
);
}
}
else
if
(
this
.
formNew
.
cpu
==
"
16
"
)
{
if
(
this
.
formNew
.
memory
==
"
32
"
)
{
let
priceObj
=
this
.
cpu_memory
.
find
((
item
)
=>
{
return
item
.
cpu
==
16
&&
item
.
memory
==
32
;
}
);
this
.
eci_single_money
=
Number
(
priceObj
.
price
);
sumCM
+=
Number
(
priceObj
.
price
);
}
else
if
(
this
.
formNew
.
memory
==
"
64
"
)
{
let
priceObj
=
this
.
cpu_memory
.
find
((
item
)
=>
{
return
item
.
cpu
==
16
&&
item
.
memory
==
64
;
}
);
this
.
eci_single_money
=
Number
(
priceObj
.
price
);
sumCM
+=
Number
(
priceObj
.
price
);
}
}
}
sumCM
=
sumCM
*
Number
(
this
.
formNew
.
appDuration
);
if
(
this
.
formNew
.
dataDisk
>=
1
&&
this
.
formNew
.
perDataDisk
>=
1
&&
this
.
formNew
.
appDuration
>=
1
)
{
if
(
this
.
hard_disk
&&
this
.
hard_disk
.
length
!=
0
)
{
this
.
disk_single_money
=
Number
(
this
.
hard_disk
[
0
].
price
);
sumDisk
+=
Number
(
this
.
formNew
.
dataDisk
)
*
Number
(
this
.
formNew
.
perDataDisk
)
*
Number
(
this
.
formNew
.
appDuration
)
*
Number
(
this
.
hard_disk
[
0
].
price
);
}
this
.
jifeiList1
[
2
]
=
{
name
:
"
数据盘
"
,
num
:
`${this.formNew.dataDisk
}
个数据盘,每个数据盘${this.formNew.perDataDisk
}
GB`
,
time
:
`${this.formNew.appDuration
}
个月`
,
sum
:
`${sumDisk
}
金币`
,
}
;
}
else
{
this
.
jifeiList1
.
splice
(
2
);
}
this
.
jifeiList1
[
0
].
num
=
`${
this.formNew.cpu >= 1 ? this.formNew.cpu : 0
}
核+${this.formNew.memory >= 1 ? this.formNew.memory : 0
}
G`
;
this
.
jifeiList1
[
0
].
time
=
`${
this.formNew.appDuration >= 1 ? this.formNew.appDuration : 0
}
个月`
;
this
.
jifeiList1
[
0
].
sum
=
`${sumCM
}
金币`
;
this
.
jifeiList1
[
1
].
num
=
`${
this.formNew.containerGroup >= 1 ? this.formNew.containerGroup : 0
}
个`
;
this
.
jifeiList1
[
1
].
time
=
`${
this.formNew.appDuration >= 1 ? this.formNew.appDuration : 0
}
个月`
;
}
else
if
(
this
.
activeName
==
"
1
"
)
{
a_deductions
=
this
.
deductions
;
if
(
this
.
cpu_memory
&&
this
.
cpu_memory
.
length
!=
0
)
{
if
(
this
.
formOld
.
cpu
==
"
8
"
)
{
if
(
this
.
formOld
.
memory
==
"
16
"
)
{
let
priceObj
=
this
.
cpu_memory
.
find
((
item
)
=>
{
return
item
.
cpu
==
8
&&
item
.
memory
==
16
;
}
);
this
.
eci_single_money
=
Number
(
priceObj
.
price
);
sumCM
+=
Number
(
priceObj
.
price
);
}
else
if
(
this
.
formOld
.
memory
==
"
32
"
)
{
let
priceObj
=
this
.
cpu_memory
.
find
((
item
)
=>
{
return
item
.
cpu
==
8
&&
item
.
memory
==
32
;
}
);
this
.
eci_single_money
=
Number
(
priceObj
.
price
);
sumCM
+=
Number
(
priceObj
.
price
);
}
}
else
if
(
this
.
formOld
.
cpu
==
"
16
"
)
{
if
(
this
.
formOld
.
memory
==
"
32
"
)
{
let
priceObj
=
this
.
cpu_memory
.
find
((
item
)
=>
{
return
item
.
cpu
==
16
&&
item
.
memory
==
32
;
}
);
this
.
eci_single_money
=
Number
(
priceObj
.
price
);
sumCM
+=
Number
(
priceObj
.
price
);
}
else
if
(
this
.
formOld
.
memory
==
"
64
"
)
{
let
priceObj
=
this
.
cpu_memory
.
find
((
item
)
=>
{
return
item
.
cpu
==
16
&&
item
.
memory
==
64
;
}
);
this
.
eci_single_money
=
Number
(
priceObj
.
price
);
sumCM
+=
Number
(
priceObj
.
price
);
}
}
}
sumCM
=
sumCM
*
Number
(
this
.
formOld
.
appDuration
);
if
(
this
.
formOld
.
dataDisk
>=
1
&&
this
.
formOld
.
perDataDisk
>=
1
&&
this
.
formOld
.
appDuration
>=
1
)
{
if
(
this
.
hard_disk
&&
this
.
hard_disk
.
length
!=
0
)
{
this
.
disk_single_money
=
Number
(
this
.
hard_disk
[
0
].
price
);
sumDisk
+=
Number
(
this
.
formOld
.
dataDisk
)
*
Number
(
this
.
formOld
.
perDataDisk
)
*
Number
(
this
.
formOld
.
appDuration
)
*
Number
(
this
.
hard_disk
[
0
].
price
);
}
this
.
jifeiList1
[
2
]
=
{
name
:
"
数据盘
"
,
num
:
`${this.formOld.dataDisk
}
个数据盘,每个数据盘${this.formOld.perDataDisk
}
GB`
,
time
:
`${this.formOld.appDuration
}
个月`
,
sum
:
`${sumDisk
}
金币`
,
}
;
}
else
{
this
.
jifeiList1
.
splice
(
2
);
}
this
.
jifeiList1
[
0
].
num
=
`${
this.formOld.cpu >= 1 ? this.formOld.cpu : 0
}
核+${this.formOld.memory >= 1 ? this.formOld.memory : 0
}
G`
;
this
.
jifeiList1
[
0
].
time
=
`${
this.formOld.appDuration >= 1 ? this.formOld.appDuration : 0
}
个月`
;
this
.
jifeiList1
[
0
].
sum
=
`${sumCM
}
金币`
;
this
.
jifeiList1
[
1
].
num
=
`${
this.formOld.containerGroup >= 1 ? this.formOld.containerGroup : 0
}
个`
;
this
.
jifeiList1
[
1
].
time
=
`${
this.formOld.appDuration >= 1 ? this.formOld.appDuration : 0
}
个月`
;
}
// console.log(sumCM, sumDisk)
this
.
amounts_payable
=
Number
(
(
Number
(
sumCM
)
+
Number
(
sumDisk
)).
toFixed
(
2
)
);
// this.total_money = sumCM + sumDisk - a_deductions;
return
this
.
amounts_payable
;
}
,
}
,
data
()
{
var
checkName
=
(
rule
,
value
,
callback
)
=>
{
let
self
=
this
;
let
reg
=
new
RegExp
(
/^
[
a-z0-9
]([
-a-z0-9
]
*
[
a-z0-9
])?
$/
);
if
(
value
.
length
>
63
)
{
callback
(
new
Error
(
"
命名空间最长不超过63位
"
));
}
else
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"
小写字母或数字开头,可以由小写字母、数字、- 组成
"
));
}
else
{
self
.
$api
.
serviceShop
.
checkNameSpaceCouldUse
({
id
:
value
}
)
.
then
(({
data
}
)
=>
{
if
(
data
.
success
===
1
)
{
if
(
data
.
data
===
1
)
{
callback
();
}
else
if
(
data
.
data
===
-
1
)
{
callback
(
new
Error
(
"
命名空间名称已存在
"
));
}
}
}
)
.
catch
((
error
)
=>
{
console
.
log
(
error
);
callback
(
new
Error
(
"
命名空间名称验证失败
"
));
}
);
}
}
;
return
{
total_money
:
0
,
disk_single_money
:
0
,
eci_single_money
:
0
,
amounts_payable
:
0
,
deductions
:
0
,
helper
,
form
:
{
department_name
:
""
,
phone
:
""
,
link_man
:
""
,
}
,
ruleBasis
:
{
link_man
:
[
{
required
:
true
,
message
:
"
请输入部门联系人
"
,
trigger
:
"
blur
"
}
,
{
max
:
6
,
message
:
"
长度应小于6个字符
"
,
trigger
:
"
blur
"
}
,
],
phone
:
[
{
required
:
true
,
message
:
"
请输入手机号码
"
,
trigger
:
"
blur
"
}
,
{
pattern
:
/^
(?:(?:\+
|00
)
86
)?
1
[
3-9
]\d
{9
}
$/
,
message
:
"
请输入正确的手机号码
"
,
}
,
],
}
,
activeName
:
"
0
"
,
formNew
:
{
namespace
:
""
,
workplace
:
""
,
workplacedesc
:
""
,
cpu
:
""
,
memory
:
""
,
containerGroup
:
undefined
,
dataDisk
:
undefined
,
perDataDisk
:
undefined
,
perCPUs
:
undefined
,
perCPU
:
undefined
,
perRAMs
:
undefined
,
perRAM
:
undefined
,
appDuration
:
1
,
durType
:
1
,
apply_file
:
""
,
apply_file_name
:
""
,
store_type
:
"
nfs-client
"
,
}
,
ruleNew
:
{
namespace
:
[
{
required
:
true
,
message
:
"
请输入工作区域名称
"
,
trigger
:
"
blur
"
}
,
{
max
:
16
,
message
:
"
长度应小于16个字符
"
,
trigger
:
"
blur
"
}
,
{
validator
:
checkName
,
trigger
:
"
blur
"
}
,
],
workplace
:
[
{
required
:
true
,
message
:
"
请输入中文名称
"
,
trigger
:
"
blur
"
}
,
{
max
:
16
,
message
:
"
长度应小于16个字符
"
,
trigger
:
"
blur
"
}
,
],
workplacedesc
:
[
{
required
:
true
,
message
:
"
请输入描述信息
"
,
trigger
:
"
blur
"
}
,
{
max
:
100
,
message
:
"
长度应小于100个字符
"
,
trigger
:
"
blur
"
}
,
],
cpu
:
[
{
required
:
true
,
message
:
"
请选择CPU使用量
"
,
trigger
:
"
change
"
}
,
],
memory
:
[
{
required
:
true
,
message
:
"
请选择内存使用量
"
,
trigger
:
"
change
"
}
,
],
containerGroup
:
[
{
required
:
true
,
message
:
"
请输入容器组规格
"
,
trigger
:
"
blur
"
}
,
],
perCPUs
:
[
{
required
:
true
,
message
:
"
请输入CPU最大使用量
"
,
trigger
:
"
blur
"
}
,
],
perCPU
:
[
{
required
:
true
,
message
:
"
请输入CPU默认使用量
"
,
trigger
:
"
blur
"
}
,
],
perRAMs
:
[
{
required
:
true
,
message
:
"
请输入内存最大使用量
"
,
trigger
:
"
blur
"
}
,
],
perRAM
:
[
{
required
:
true
,
message
:
"
请输入内存默认使用量
"
,
trigger
:
"
blur
"
}
,
],
appDuration
:
[
{
required
:
true
,
message
:
"
请输入申请时长
"
,
trigger
:
"
blur
"
}
,
],
}
,
durationOptions
:
[
{
value
:
1
,
label
:
"
月
"
}
,
{
value
:
2
,
label
:
"
年
"
}
,
],
workSpace
:
""
,
workSpaceId
:
""
,
workSpaceOptions
:
[],
optionsCPU
:
[
{
value
:
"
8
"
,
label
:
"
8
"
}
,
{
value
:
"
16
"
,
label
:
"
16
"
}
,
],
optionsRAM
:
[],
options_store_type
:
[
{
value
:
"
nfs-client
"
,
label
:
"
nfs-client
"
}
,
{
value
:
"
rook-ceph-block
"
,
label
:
"
rook-ceph-block
"
}
,
],
formShow
:
false
,
specArr
:
[
{
title
:
"
CPU
"
,
val
:
"
0
"
,
src
:
"
ic_CPU
"
}
,
{
title
:
"
内存
"
,
val
:
"
0
"
,
src
:
"
ic_neicun
"
}
,
{
title
:
"
容器
"
,
val
:
"
0
"
,
src
:
"
ic_rongqi
"
}
,
],
rqzArr
:
[
{
title
:
"
CPU
"
,
max
:
"
4
"
,
default
:
"
2
"
,
src
:
"
ic_CPU
"
}
,
{
title
:
"
内存
"
,
max
:
"
4
"
,
default
:
"
2
"
,
src
:
"
ic_neicun
"
}
,
],
docTemplate
:
[
{
title
:
""
,
info
:
"
工作区域申请文件标准模板.xlsx
"
,
url
:
"
static/工作区域申请文件模板.xlsx
"
,
type
:
"
down
"
,
}
,
],
formOld
:
{
cpu
:
""
,
memory
:
""
,
containerGroup
:
undefined
,
dataDisk
:
undefined
,
perDataDisk
:
undefined
,
perCPUs
:
undefined
,
perCPU
:
undefined
,
perRAMs
:
undefined
,
perRAM
:
undefined
,
appDuration
:
1
,
durType
:
1
,
apply_file
:
""
,
apply_file_name
:
""
,
store_type
:
"
nfs-client
"
,
}
,
paramsOld
:
{
}
,
ruleOld
:
{
namespace
:
[
{
required
:
true
,
message
:
"
请输入工作区域名称
"
,
trigger
:
"
blur
"
}
,
],
workplace
:
[
{
required
:
true
,
message
:
"
请输入中文名称
"
,
trigger
:
"
blur
"
}
,
],
workplacedesc
:
[
{
required
:
true
,
message
:
"
请输入描述信息
"
,
trigger
:
"
blur
"
}
,
],
cpu
:
[
{
required
:
true
,
message
:
"
请选择CPU使用量
"
,
trigger
:
"
change
"
}
,
],
memory
:
[
{
required
:
true
,
message
:
"
请选择内存使用量
"
,
trigger
:
"
change
"
}
,
],
containerGroup
:
[
{
required
:
true
,
message
:
"
请输入容器组规格
"
,
trigger
:
"
blur
"
}
,
],
perCPUs
:
[
{
required
:
true
,
message
:
"
请输入CPU最大使用量
"
,
trigger
:
"
blur
"
}
,
],
perCPU
:
[
{
required
:
true
,
message
:
"
请输入CPU默认使用量
"
,
trigger
:
"
blur
"
}
,
],
perRAMs
:
[
{
required
:
true
,
message
:
"
请输入内存最大使用量
"
,
trigger
:
"
blur
"
}
,
],
perRAM
:
[
{
required
:
true
,
message
:
"
请输入内存默认使用量
"
,
trigger
:
"
blur
"
}
,
],
}
,
dialogVisible
:
false
,
diaForm
:
{
}
,
dataDiskHeaders
:
[
{
label
:
"
磁盘名称
"
,
prop
:
"
name
"
,
align
:
"
center
"
,
}
,
{
label
:
"
数据盘容量
"
,
prop
:
"
disk_cap
"
,
align
:
"
center
"
,
}
,
{
label
:
"
部署的应用
"
,
prop
:
"
app_name
"
,
align
:
"
center
"
,
}
,
{
label
:
"
操作
"
,
type
:
"
Button
"
,
align
:
"
center
"
,
btnList
:
[
{
type
:
"
primary-del
"
,
label
:
"
删除
"
,
}
,
],
}
,
],
dataDiskList
:
[],
delDataDiskList
:
[],
del_item
:
{
}
,
dialogFymx
:
false
,
jifeiHeader
:
[
{
label
:
"
名称
"
,
prop
:
"
name
"
,
align
:
"
center
"
,
}
,
{
label
:
"
数量规格
"
,
prop
:
"
num
"
,
align
:
"
center
"
,
}
,
{
label
:
"
购买时长
"
,
prop
:
"
time
"
,
align
:
"
center
"
,
}
,
{
label
:
"
小计
"
,
prop
:
"
sum
"
,
align
:
"
center
"
,
}
,
],
jifeiHeader2
:
[
{
label
:
"
名称
"
,
prop
:
"
name
"
,
align
:
"
center
"
,
}
,
{
label
:
"
数量规格
"
,
prop
:
"
num
"
,
align
:
"
center
"
,
}
,
{
label
:
"
购买时长
"
,
prop
:
"
time
"
,
align
:
"
center
"
,
}
,
{
label
:
"
小计
"
,
prop
:
"
sum
"
,
align
:
"
center
"
,
type
:
"
html
"
,
getHtml
:
(
str
)
=>
{
return
`<span style="color: #e15260">-${str.sum
}
</span>`
;
}
,
}
,
],
jifeiList1
:
[
{
name
:
"
CPU+内存
"
,
num
:
"
0核+0G
"
,
time
:
"
0个月
"
,
sum
:
"
0金币
"
}
,
{
name
:
"
容器组
"
,
num
:
"
0个
"
,
time
:
"
0个月
"
,
sum
:
"
-
"
}
,
//
{
name
:
"
数据盘
"
,
num
:
"
0个数据盘,每个数据盘0GB
"
,
time
:
"
0个月
"
,
sum
:
"
2000金币
"
}
,
],
jifeiList2
:
[
{
name
:
"
CPU+内存
"
,
num
:
"
0核+0G
"
,
time
:
"
0个月
"
,
sum
:
"
0金币
"
}
,
{
name
:
"
容器组
"
,
num
:
"
0个
"
,
time
:
"
0个月
"
,
sum
:
"
-
"
}
,
{
name
:
"
数据盘
"
,
num
:
"
0个数据盘,每个数据盘0GB
"
,
time
:
"
0个月
"
,
sum
:
"
金币
"
,
}
,
],
cpu_memory
:
[],
hard_disk
:
[],
user_info
:
{
}
,
}
;
}
,
mounted
()
{
this
.
getUser
();
this
.
getNameSpaceList
();
this
.
getSpecifications
();
this
.
getUserCoins
();
}
,
methods
:
{
getUserCoins
()
{
this
.
$api
.
user
.
getUserCoins
().
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
user_info
=
response
.
data
.
data
;
}
}
);
}
,
getQueryId
()
{
if
(
this
.
$route
.
query
.
namespace
&&
this
.
$route
.
query
.
namespace
!=
""
)
{
this
.
activeName
=
"
1
"
;
let
index
=
this
.
workSpaceOptions
.
findIndex
((
item
)
=>
{
return
item
.
namespace
==
this
.
$route
.
query
.
namespace
;
}
);
if
(
index
!=
-
1
)
{
let
paramsOld
=
this
.
workSpaceOptions
[
index
];
this
.
workSpace
=
index
;
this
.
workSpaceId
=
paramsOld
.
Id
;
this
.
paramsOld
=
paramsOld
;
this
.
formOld
.
namespace
=
paramsOld
.
namespace
;
this
.
formOld
.
workplace
=
paramsOld
.
workplace
;
this
.
formOld
.
workplacedesc
=
paramsOld
.
workplacedesc
;
this
.
formOld
.
cpu
=
paramsOld
.
cpu
;
this
.
formOld
.
memory
=
paramsOld
.
memory
;
this
.
formOld
.
containerGroup
=
paramsOld
.
containers
;
this
.
specArr
[
0
].
val
=
paramsOld
.
cpu
;
this
.
specArr
[
1
].
val
=
paramsOld
.
memory
;
this
.
specArr
[
2
].
val
=
paramsOld
.
containers
;
this
.
formOld
.
dataDisk
=
""
;
this
.
formOld
.
perDataDisk
=
""
;
this
.
formOld
.
perCPUs
=
paramsOld
.
one_cpu_max
;
this
.
formOld
.
perCPU
=
paramsOld
.
one_cpu_min
;
this
.
formOld
.
perRAMs
=
paramsOld
.
one_memory_max
;
this
.
formOld
.
perRAM
=
paramsOld
.
one_memory_min
;
this
.
rqzArr
[
0
].
max
=
paramsOld
.
one_cpu_max
;
this
.
rqzArr
[
0
].
default
=
paramsOld
.
one_cpu_min
;
this
.
rqzArr
[
1
].
max
=
paramsOld
.
one_memory_max
;
this
.
rqzArr
[
1
].
default
=
paramsOld
.
one_memory_min
;
this
.
formOld
.
store_type
=
paramsOld
.
store_type
;
this
.
dataDiskList
=
paramsOld
.
disk_list
||
[];
this
.
dataDiskList
.
forEach
((
item
,
index
)
=>
{
item
.
name
=
`磁盘${index + 1
}
`
;
}
);
this
.
form
.
link_man
=
paramsOld
.
apply_connect_username
;
this
.
form
.
phone
=
paramsOld
.
apply_connect_mobile
;
this
.
formShow
=
true
;
}
}
}
,
tabClick
()
{
}
,
getNewList
(
val
)
{
this
.
formNew
.
apply_file_name
=
val
[
0
].
name
;
this
.
formNew
.
apply_file
=
val
[
0
].
url
;
}
,
getNewListOld
(
val
)
{
this
.
formOld
.
apply_file_name
=
val
[
0
].
name
;
this
.
formOld
.
apply_file
=
val
[
0
].
url
;
}
,
handleChange
()
{
}
,
getSpecifications
()
{
this
.
$api
.
serviceShop
.
getSpecifications
().
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
cpu_memory
=
response
.
data
.
data
.
cpu_memory
;
this
.
hard_disk
=
response
.
data
.
data
.
hard_disk
;
}
else
{
this
.
$message
({
message
:
"
获取资源规格失败,请刷新网页
"
,
type
:
"
error
"
,
}
);
}
}
);
}
,
getForm
(
val
)
{
if
(
val
!==
""
)
{
let
paramsOld
=
this
.
workSpaceOptions
[
val
];
this
.
workSpaceId
=
paramsOld
.
Id
;
this
.
paramsOld
=
paramsOld
;
this
.
formOld
.
namespace
=
paramsOld
.
namespace
;
this
.
formOld
.
workplace
=
paramsOld
.
workplace
;
this
.
formOld
.
workplacedesc
=
paramsOld
.
workplacedesc
;
this
.
formOld
.
cpu
=
paramsOld
.
cpu
;
this
.
formOld
.
memory
=
paramsOld
.
memory
;
this
.
formOld
.
containerGroup
=
paramsOld
.
containers
;
this
.
specArr
[
0
].
val
=
paramsOld
.
cpu
;
this
.
specArr
[
1
].
val
=
paramsOld
.
memory
;
this
.
specArr
[
2
].
val
=
paramsOld
.
containers
;
this
.
formOld
.
dataDisk
=
""
;
this
.
formOld
.
perDataDisk
=
""
;
this
.
formOld
.
perCPUs
=
paramsOld
.
one_cpu_max
;
this
.
formOld
.
perCPU
=
paramsOld
.
one_cpu_min
;
this
.
formOld
.
perRAMs
=
paramsOld
.
one_memory_max
;
this
.
formOld
.
perRAM
=
paramsOld
.
one_memory_min
;
this
.
rqzArr
[
0
].
max
=
paramsOld
.
one_cpu_max
;
this
.
rqzArr
[
0
].
default
=
paramsOld
.
one_cpu_min
;
this
.
rqzArr
[
1
].
max
=
paramsOld
.
one_memory_max
;
this
.
rqzArr
[
1
].
default
=
paramsOld
.
one_memory_min
;
this
.
formOld
.
store_type
=
paramsOld
.
store_type
;
this
.
dataDiskList
=
paramsOld
.
disk_list
||
[];
this
.
dataDiskList
.
forEach
((
item
,
index
)
=>
{
item
.
name
=
`磁盘${index + 1
}
`
;
}
);
this
.
form
.
link_man
=
paramsOld
.
apply_connect_username
;
this
.
form
.
phone
=
paramsOld
.
apply_connect_mobile
;
this
.
formShow
=
true
;
this
.
jifeiList2
=
[
{
name
:
"
CPU+内存
"
,
num
:
`${this.formOld.cpu
}
核+${this.formOld.memory
}
G"`
,
time
:
"
0个月
"
,
sum
:
"
0金币
"
,
}
,
{
name
:
"
容器组
"
,
num
:
`${this.formOld.containerGroup
}
个`
,
time
:
"
0个月
"
,
sum
:
""
,
}
,
{
name
:
"
数据盘
"
,
num
:
`${this.dataDiskList.length
}
个数据盘,共计${this.dataDiskList.length
}
GB"`
,
time
:
"
0个月
"
,
sum
:
"
2000金币
"
,
}
,
];
}
else
{
this
.
formShow
=
false
;
}
}
,
submitApp
()
{
let
formParams
=
{
}
;
if
(
this
.
activeName
==
0
)
{
this
.
$refs
[
"
formNew
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
formParams
=
this
.
formNew
;
this
.
dialogVisible
=
true
;
this
.
diaForm
=
Object
.
assign
(
formParams
,
this
.
form
);
}
else
{
console
.
log
(
"
error submit!!
"
);
return
false
;
}
}
);
}
else
if
(
this
.
activeName
==
1
)
{
this
.
$refs
[
"
formOld
"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
formParams
=
this
.
formOld
;
this
.
dialogVisible
=
true
;
this
.
diaForm
=
Object
.
assign
(
formParams
,
this
.
form
);
}
else
{
console
.
log
(
"
error submit!!
"
);
return
false
;
}
}
);
}
}
,
checkNamespace
(
namespace
,
cb
)
{
this
.
$api
.
serviceShop
.
checkNameSpaceCouldUse
({
id
:
namespace
}
)
.
then
(({
data
}
)
=>
{
if
(
data
.
success
===
1
)
{
if
(
data
.
data
===
1
)
{
typeof
cb
===
"
function
"
&&
cb
();
}
else
if
(
data
.
data
===
-
1
)
{
this
.
$message
({
message
:
`命名空间名称已存在`
,
type
:
"
error
"
,
}
);
}
}
}
)
.
catch
((
error
)
=>
{
console
.
log
(
error
);
this
.
$message
({
message
:
`命名空间名称验证失败`
,
type
:
"
error
"
,
}
);
}
);
}
,
determineSubmit
()
{
if
(
this
.
activeName
==
0
)
{
this
.
checkNamespace
(
this
.
formNew
.
namespace
,
()
=>
{
let
query
=
{
resource_info
:
{
namespace
:
this
.
formNew
.
namespace
,
workplace
:
this
.
formNew
.
workplace
,
workplacedesc
:
this
.
formNew
.
workplacedesc
,
}
,
resource_apply
:
{
apply_file
:
this
.
formNew
.
apply_file
,
cpu
:
Number
(
this
.
formNew
.
cpu
),
duration
:
this
.
formNew
.
appDuration
,
duration_unit
:
Number
(
this
.
formNew
.
durType
),
apply_connect_username
:
this
.
form
.
link_man
,
apply_connect_mobile
:
this
.
form
.
phone
,
memory
:
Number
(
this
.
formNew
.
memory
),
containers
:
this
.
formNew
.
containerGroup
,
one_cpu_min
:
this
.
formNew
.
perCPU
?
this
.
formNew
.
perCPU
:
0
,
one_cpu_max
:
this
.
formNew
.
perCPUs
?
this
.
formNew
.
perCPUs
:
0
,
one_memory_min
:
this
.
formNew
.
perRAM
?
this
.
formNew
.
perRAM
:
0
,
one_memory_max
:
this
.
formNew
.
perRAMs
?
this
.
formNew
.
perRAMs
:
0
,
}
,
disks
:
[
{
disk_num
:
this
.
formNew
.
dataDisk
?
this
.
formNew
.
dataDisk
:
0
,
disk_cap
:
this
.
formNew
.
perDataDisk
?
this
.
formNew
.
perDataDisk
:
0
,
store_type
:
"
nfs-client
"
,
}
,
],
payment
:
{
// total_money: this.total_money,
disk_single_money
:
String
(
this
.
disk_single_money
),
eci_single_money
:
String
(
this
.
eci_single_money
),
total_money
:
String
(
this
.
amounts_payable
),
}
,
}
;
this
.
$api
.
serviceShop
.
applicationCloud
(
query
).
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
$message
({
message
:
"
申请成功
"
,
type
:
"
success
"
,
}
);
this
.
$router
.
push
(
"
/user/order_list
"
);
}
else
{
this
.
$message
({
message
:
`申请失败,${response.data.errMsg
}
`
,
type
:
"
error
"
,
}
);
}
}
);
}
);
}
else
{
let
query
=
{
resource_id
:
this
.
workSpaceId
,
resource_apply
:
{
apply_file
:
this
.
formOld
.
apply_file
,
cpu
:
Number
(
this
.
formOld
.
cpu
),
duration
:
this
.
formOld
.
appDuration
,
duration_unit
:
Number
(
this
.
formOld
.
durType
),
apply_connect_username
:
this
.
form
.
link_man
,
apply_connect_mobile
:
this
.
form
.
phone
,
memory
:
Number
(
this
.
formOld
.
memory
),
containers
:
this
.
formOld
.
containerGroup
,
one_cpu_min
:
this
.
formOld
.
perCPU
?
this
.
formOld
.
perCPU
:
0
,
one_cpu_max
:
this
.
formOld
.
perCPUs
?
this
.
formOld
.
perCPUs
:
0
,
one_memory_min
:
this
.
formOld
.
perRAM
?
this
.
formOld
.
perRAM
:
0
,
one_memory_max
:
this
.
formOld
.
perRAMs
?
this
.
formOld
.
perRAMs
:
0
,
}
,
disks
:
[
{
disk_num
:
this
.
formOld
.
dataDisk
?
this
.
formOld
.
dataDisk
:
0
,
disk_cap
:
this
.
formOld
.
perDataDisk
?
this
.
formOld
.
perDataDisk
:
0
,
store_type
:
"
nfs-client
"
,
}
,
],
remove_disks
:
this
.
delDataDiskList
.
map
((
item
)
=>
item
.
id
),
payment
:
{
// total_money: this.total_money,
disk_single_money
:
String
(
this
.
disk_single_money
),
eci_single_money
:
String
(
this
.
eci_single_money
),
total_money
:
String
(
this
.
amounts_payable
),
}
,
}
;
this
.
$api
.
serviceShop
.
updateCloud
(
query
).
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
$message
({
message
:
"
申请调整成功
"
,
type
:
"
success
"
,
}
);
this
.
$router
.
push
(
"
/user/order_list
"
);
}
else
{
this
.
$message
({
message
:
`申请调整失败,${response.data.errMsg
}
`
,
type
:
"
error
"
,
}
);
}
}
);
}
console
.
log
(
this
.
form
);
this
.
dialogVisible
=
false
;
}
,
cancel
()
{
this
.
dialogVisible
=
false
;
}
,
getUser
()
{
this
.
$api
.
user
.
getNowUser
().
then
((
response
)
=>
{
this
.
form
.
department_name
=
response
.
data
.
data
.
department_name
;
}
);
}
,
getNameSpaceList
()
{
this
.
$api
.
serviceShop
.
getCloudList
().
then
((
response
)
=>
{
if
(
response
.
data
.
success
==
1
)
{
this
.
workSpaceOptions
=
response
.
data
.
data
;
this
.
getQueryId
();
}
}
);
}
,
delItem
(
val
)
{
this
.
$refs
.
dialog
.
show
();
this
.
del_item
=
val
;
}
,
dialogSubmit
()
{
let
delIndex
=
this
.
dataDiskList
.
findIndex
(
(
v
)
=>
v
.
id
===
this
.
del_item
.
id
);
this
.
dataDiskList
.
splice
(
delIndex
,
1
);
this
.
delDataDiskList
.
push
(
this
.
del_item
);
}
,
setContainerGroup
(
type
)
{
if
(
type
==
0
)
{
if
(
this
.
formNew
.
containerGroup
&&
this
.
formNew
.
containerGroup
!=
0
)
{
}
else
{
this
.
formNew
.
containerGroup
=
this
.
formNew
.
memory
*
3
;
}
}
else
if
(
type
==
1
)
{
if
(
this
.
formOld
.
containerGroup
&&
this
.
formOld
.
containerGroup
!=
0
)
{
}
else
{
this
.
formOld
.
containerGroup
=
this
.
formOld
.
memory
*
3
;
}
}
}
,
changeCPU
(
val
)
{
this
.
formOld
.
memory
=
""
;
this
.
formNew
.
memory
=
""
;
if
(
val
==
"
8
"
)
{
this
.
optionsRAM
=
[
{
value
:
"
16
"
,
label
:
"
16
"
}
,
{
value
:
"
32
"
,
label
:
"
32
"
}
,
];
}
else
if
(
val
==
"
16
"
)
{
this
.
optionsRAM
=
[
{
value
:
"
32
"
,
label
:
"
32
"
}
,
{
value
:
"
64
"
,
label
:
"
64
"
}
,
];
}
}
,
}
,
}
;
<
/script
>
<
style
scoped
>
.
cloud_form
{
}
.
form_title
{
font
-
size
:
16
px
;
line
-
height
:
16
px
;
font
-
weight
:
bold
;
margin
:
32
px
0
24
px
;
padding
:
0
0
0
15
px
;
position
:
relative
;
color
:
#
58617
a
;
}
.
form_title
::
before
{
position
:
absolute
;
content
:
""
;
width
:
4
px
;
height
:
18
px
;
background
-
color
:
#
515
fe7
;
border
-
radius
:
2
px
;
left
:
0
;
top
:
-
1
px
;
}
.
form_item
{
width
:
calc
(
100
%
);
}
.
form_item_title
{
margin
:
0
0
12
px
;
line
-
height
:
14
px
;
font
-
size
:
14
px
;
color
:
#
58617
a
;
}
.
form_item_title_1
{
margin
:
0
;
line
-
height
:
14
px
;
font
-
size
:
14
px
;
color
:
#
58617
a
;
}
.
input_has_right
{
position
:
relative
;
}
.
input_right
{
display
:
inline
-
block
;
width
:
60
px
;
height
:
40
px
;
padding
:
0
0
0
15
px
;
background
-
color
:
#
edeef4
;
border
:
1
px
#
e3e5ef
solid
;
color
:
#
8890
a7
;
border
-
radius
:
0
6
px
6
px
0
;
position
:
absolute
;
right
:
0
;
}
.
input_has_left_right
{
position
:
relative
;
}
.
input_left
{
display
:
inline
-
block
;
width
:
60
px
;
height
:
40
px
;
padding
:
0
0
0
15
px
;
background
-
color
:
#
edeef4
;
border
:
1
px
#
e3e5ef
solid
;
color
:
#
8890
a7
;
border
-
radius
:
6
px
0
0
6
px
;
position
:
absolute
;
left
:
0
;
}
.
input_has_right_select
{
position
:
relative
;
}
.
input_right_select
{
position
:
absolute
;
right
:
0
;
}
.
select_title
{
padding
:
32
px
0
12
px
;
font
-
size
:
16
px
;
line
-
height
:
16
px
;
font
-
weight
:
bold
;
color
:
#
58617
a
;
}
.
now_spec
{
padding
:
0
0
12
px
;
}
.
now_spec_cards
{
margin
-
bottom
:
24
px
;
}
.
now_spec_card
{
display
:
inline
-
block
;
width
:
194
px
;
height
:
40
px
;
background
-
color
:
#
f7f8f9
;
border
-
radius
:
6
px
;
line
-
height
:
40
px
;
padding
:
0
20
px
;
position
:
relative
;
margin
-
right
:
24
px
;
}
.
now_spec_card_title
{
color
:
#
6573
ae
;
margin
-
left
:
10
px
;
}
.
now_spec_card_val
{
color
:
#
0
d1847
;
position
:
absolute
;
right
:
20
px
;
top
:
0
;
}
.
now_spec_card_img
{
position
:
relative
;
top
:
1
px
;
}
.
now_rqz_card
{
display
:
inline
-
block
;
width
:
304
px
;
height
:
40
px
;
background
-
color
:
#
f7f8f9
;
border
-
radius
:
6
px
;
line
-
height
:
40
px
;
padding
:
0
20
px
;
position
:
relative
;
margin
-
right
:
20
px
;
}
.
now_rqz_card_title
{
color
:
#
6573
ae
;
margin
-
left
:
10
px
;
}
.
now_rqz_card_val_div
{
color
:
#
0
d1847
;
position
:
absolute
;
line
-
height
:
40
px
;
right
:
20
px
;
top
:
0
;
}
.
now_rqz_card_val
{
}
.
now_rqz_card_img
{
position
:
relative
;
top
:
1
px
;
}
.
now_spec_card_time
{
width
:
381
px
;
height
:
40
px
;
background
-
color
:
#
f7f8f9
;
border
-
radius
:
6
px
;
line
-
height
:
40
px
;
padding
:
0
20
px
;
position
:
relative
;
margin
-
bottom
:
24
px
;
}
.
now_spec_card_time_img
{
position
:
relative
;
top
:
1
px
;
}
.
now_spec_card_time_title
{
color
:
#
6573
ae
;
margin
-
left
:
10
px
;
}
.
now_spec_card_time_val
{
color
:
#
0
d1847
;
position
:
absolute
;
right
:
20
px
;
top
:
0
;
}
.
btn_footer
{
display
:
flex
;
justify
-
content
:
flex
-
end
;
margin
:
0
20
px
;
}
.
btn_footer
.
submit
{
width
:
220
px
;
background
-
color
:
#
e56600
;
color
:
#
f8f9fd
;
}
.
btn_footer
.
nosubmit
{
width
:
220
px
;
background
-
color
:
#
a9aec0
;
color
:
#
ffffff
;
}
.
btn_footer
.
submit1
{
width
:
100
px
;
background
-
color
:
#
0
f2683
;
color
:
#
f8f9fd
;
}
.
cancel
{
width
:
100
px
;
background
-
color
:
#
c3caf8
;
color
:
#
0
f2683
;
}
.
dia_item_title
{
display
:
block
;
color
:
#
8890
a7
;
line
-
height
:
24
px
;
padding
:
0
20
px
;
}
.
margin_top_10
{
margin
-
top
:
10
px
;
}
.
dia_item_val
{
display
:
block
;
color
:
#
242
c43
;
line
-
height
:
24
px
;
margin
-
bottom
:
10
px
;
width
:
90
%
;
padding
:
0
20
px
;
}
.
dia_block
{
background
-
color
:
#
f8f9fd
;
border
-
radius
:
8
px
;
margin
:
10
px
0
;
padding
:
20
px
;
font
-
size
:
14
px
;
line
-
height
:
22
px
;
}
.
dia_item_all_title
{
color
:
#
242
c43
;
}
.
dia_block_item
{
padding
:
10
px
0
0
20
px
;
}
.
dia_block_item_in
{
display
:
flex
;
justify
-
content
:
space
-
between
;
margin
-
bottom
:
5
px
;
}
.
dia_block_item_title
{
color
:
#
8890
a7
;
width
:
120
px
;
text
-
align
:
right
;
}
.
dia_block_item_val
{
color
:
#
242
c43
;
width
:
calc
(
100
%
-
130
px
);
}
.
val_has_2
{
margin
-
right
:
20
px
;
}
.
doc_template
{
margin
:
0
0
12
px
;
}
.
up_f
{
width
:
calc
(
50
%
-
10
px
);
}
.
fyzj_item
{
position
:
relative
;
}
.
fyzj
{
color
:
#
242
c43
;
font
-
size
:
18
px
;
margin
-
right
:
10
px
;
text
-
align
:
right
;
position
:
absolute
;
top
:
-
10
px
;
right
:
230
px
;
}
.
fyzj_p
{
margin
-
bottom
:
6
px
;
}
.
fyzj_span
{
color
:
#
e56600
;
font
-
size
:
24
px
;
font
-
weight
:
bold
;
}
.
fyzj_qian
{
color
:
#
e56600
;
font
-
size
:
14
px
;
}
.
ckfymx
{
color
:
#
a9aec0
;
font
-
size
:
14
px
;
}
.
ckfymx_a
{
color
:
#
515
fe7
;
cursor
:
pointer
;
}
.
ckfymx_qian
{
display
:
inline
-
block
;
margin
-
left
:
20
px
;
position
:
relative
;
}
.
ckfymx_qian
::
after
{
content
:
""
;
position
:
absolute
;
width
:
1
px
;
height
:
16
px
;
background
:
#
bcc1d0
;
left
:
-
10
px
;
top
:
2
px
;
}
.
yebz
{
color
:
#
e15260
;
font
-
size
:
18
px
;
margin
-
right
:
20
px
;
}
.
fymx_ts
{
background
-
color
:
#
f4f7fc
;
border
-
radius
:
8
px
;
padding
:
12
px
;
display
:
flex
;
justify
-
content
:
space
-
between
;
align
-
items
:
flex
-
start
;
}
.
fymx_ts
i
{
position
:
relative
;
top
:
4
px
;
color
:
#
8890
a7
;
}
.
fymx_ts
p
{
width
:
calc
(
100
%
-
22
px
);
color
:
#
58617
a
;
}
.
sjfy_title
{
margin
:
10
px
20
px
;
position
:
relative
;
color
:
#
242
c43
;
font
-
size
:
16
px
;
}
.
sjfy_title
::
after
{
content
:
""
;
position
:
absolute
;
width
:
8
px
;
height
:
8
px
;
background
-
color
:
#
515
fe7
;
border
-
radius
:
50
%
;
left
:
-
15
px
;
top
:
8
px
;
}
.
tool_img
{
width
:
16
px
;
height
:
16
px
;
position
:
relative
;
top
:
2
px
;
left
:
2
px
;
}
.
fyzj_dia
{
height
:
100
%
;
}
.
fyzj_dia_init
{
float
:
right
;
text
-
align
:
right
;
padding
:
10
px
;
}
.
fyzj_1
{
color
:
#
242
c43
;
font
-
size
:
18
px
;
display
:
flex
;
justify
-
content
:
space
-
between
;
align
-
items
:
flex
-
end
;
}
.
fyzj_1_num
{
color
:
#
e56600
;
font
-
size
:
24
px
;
font
-
weight
:
bold
;
}
.
fyzj_1_jb
{
color
:
#
e56600
;
font
-
size
:
14
px
;
}
.
fyzj_2
{
min
-
width
:
140
px
;
color
:
#
8890
a7
;
font
-
size
:
14
px
;
margin
:
10
px
0
;
display
:
flex
;
justify
-
content
:
space
-
between
;
}
.
fyzj_2_num
{
color
:
#
58617
a
;
}
.
clear_xxx
{
clear
:
both
;
}
.
disk__table
{
margin
-
bottom
:
0
;
}
<
/style
>
<
style
>
.
form_block
.
el
-
input
.
el
-
input__inner
{
background
-
color
:
#
f7f8f9
;
color
:
#
242
c43
;
}
.
cloud_form
.
el
-
input
{
width
:
100
%
;
}
.
cloud_form
.
input_has_right
.
el
-
input
{
width
:
calc
(
100
%
-
60
px
);
}
.
cloud_form
.
input_has_left_right
.
el
-
input
{
width
:
calc
(
100
%
-
120
px
);
margin
-
left
:
60
px
;
}
.
cloud_form
.
input_has_left_right
.
el
-
input__inner
{
border
-
radius
:
0
;
color
:
#
242
c43
;
}
.
cloud_form
.
input_right_top
{
top
:
26
px
;
}
.
cloud_form
.
el
-
select
{
width
:
100
%
;
}
.
cloud_form
.
el
-
input
.
el
-
input__inner
{
background
-
color
:
#
f7f8f9
;
color
:
#
242
c43
;
}
.
cloud_form
.
el
-
input
-
number
{
width
:
calc
(
100
%
-
60
px
);
}
.
cloud_form
.
el
-
input
-
number
.
el
-
input
{
width
:
100
%
;
}
.
cloud_form
.
input_has_left_right
.
el
-
input
-
number
.
el
-
input
{
width
:
calc
(
100
%
-
60
px
);
margin
-
left
:
60
px
;
}
.
cloud_form
.
el
-
input
-
number
.
el
-
input__inner
{
text
-
align
:
left
;
color
:
#
242
c43
;
}
.
cloud_form
.
el
-
textarea
{
width
:
100
%
;
}
.
cloud_form
.
el
-
textarea
.
el
-
textarea__inner
{
background
-
color
:
#
f7f8f9
;
border
-
radius
:
6
px
;
color
:
#
242
c43
;
}
.
form_item
.
el
-
form
-
item__content
{
width
:
100
%
;
}
.
form_item
.
el
-
form
-
item
{
margin
-
bottom
:
24
px
;
}
.
form_item
.
el
-
form
-
item
.
nobottom
{
margin
-
bottom
:
0
;
}
.
input_has_right
.
el
-
input__inner
{
border
-
radius
:
6
px
0
0
6
px
;
color
:
#
242
c43
;
}
.
cloud_form
.
input_has_right_select
.
el
-
input
-
number
{
width
:
calc
(
100
%
-
100
px
);
}
.
input_has_right_select
.
el
-
select
{
width
:
100
px
;
}
.
input_has_right_select
.
el
-
select
.
el
-
input
.
is
-
focus
.
el
-
input__inner
{
border
-
color
:
#
0
f2683
;
}
.
input_has_right_select
.
el
-
select
.
el
-
input__inner
:
focus
{
border
-
color
:
#
0
f2683
;
}
.
input_has_right_select
.
el
-
input__inner
{
border
-
radius
:
6
px
0
0
6
px
;
color
:
#
242
c43
;
}
.
input_has_right_select
.
input_right_select
.
el
-
select
.
el
-
input
{
width
:
100
px
;
background
-
color
:
#
0
f2683
;
color
:
#
ffffff
;
border
-
radius
:
0
6
px
6
px
0
;
}
.
input_has_right_select
.
input_right_select
.
el
-
select
.
el
-
input
.
el
-
input__inner
{
border
-
radius
:
0
6
px
6
px
0
;
color
:
#
ffffff
;
}
.
input_right_select
.
el
-
input
.
el
-
input__inner
{
background
-
color
:
#
0
f2683
;
color
:
#
242
c43
;
}
.
cloud_form
.
el
-
input
-
number
.
el
-
input
-
number__increase
,
.
cloud_form
.
el
-
input
-
number
.
el
-
input
-
number__decrease
{
border
-
bottom
:
0
;
border
-
left
:
0
;
width
:
29
px
;
}
.
cloud_dia
.
el
-
dialog__header
{
border
-
bottom
:
1
px
solid
#
edf0ff
;
}
.
cloud_dia
.
el
-
dialog__title
{
font
-
weight
:
700
;
}
.
cloud_dia
.
el
-
dialog__body
{
text
-
align
:
left
;
font
-
size
:
14
px
;
}
.
cloud_form
.
el
-
input__prefix
,
.
el
-
input__suffix
{
text
-
align
:
right
;
right
:
2
px
;
}
.
cloud_form
.
el
-
input
-
number
.
is
-
controls
-
right
.
el
-
input__inner
{
padding
-
left
:
15
px
;
padding
-
right
:
32
px
;
}
.
up_f
.
el
-
upload
{
width
:
100
%
;
}
.
up_f
.
el
-
upload
-
dragger
{
width
:
100
%
;
}
.
shop_cloud
.
el
-
tabs__header
{
margin
:
0
;
}
<
/style
>
src/components/shop-cloud/shop-cloud.vue
View file @
be148412
<
template
>
<div
class=
"shop_cloud"
>
<div>
<el-breadcrumb
separator=
"/"
class=
"bread_crumb1 bread_left"
>
<el-breadcrumb-item
:to=
"
{ path: '/shop' }">服务超市
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
name
}}
</el-breadcrumb-item>
</el-breadcrumb>
<block-radius
:paddingNum=
"24"
>
<block-radius>
<el-form
ref=
"form"
:inline=
"true"
...
...
@@ -12,8 +12,8 @@
:model=
"form"
class=
"form_block"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"
24
"
>
<el-row>
<el-col
:span=
"
12
"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
申请组织:
</div>
<el-input
...
...
@@ -24,7 +24,7 @@
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"form_item
nobottom
"
prop=
"link_man"
>
<el-form-item
class=
"form_item"
prop=
"link_man"
>
<div
class=
"form_item_title"
>
部门联系人:
</div>
<el-input
v-model=
"form.link_man"
...
...
@@ -33,7 +33,7 @@
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"form_item
nobottom
"
prop=
"phone"
>
<el-form-item
class=
"form_item"
prop=
"phone"
>
<div
class=
"form_item_title"
>
联系电话:
</div>
<el-input
v-model=
"form.phone"
...
...
@@ -44,213 +44,218 @@
</el-row>
</el-form>
</block-radius>
<block-radius
:paddingNum=
"24"
>
<block-radius>
<el-tabs
v-model=
"activeName"
class=
"cloud_form"
@
tab-click=
"tabClick"
>
<el-tab-pane
label=
"申请新的工作区域"
name=
"0"
>
<el-form
ref=
"formNew"
:model=
"formNew"
:rules=
"ruleNew"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
基本信息
</div>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
"namespace"
class=
"form_item"
>
<div
class=
"form_item_title"
>
工作区域名称:
</div>
<el-input
v-model=
"formNew.namespace"
placeholder=
"请输入工作区域英文名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
"workplace"
class=
"form_item"
>
<div
class=
"form_item_title"
>
中文名称:
</div>
<el-input
v-model=
"formNew.workplace"
placeholder=
"请输入工作区域中文名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
prop=
"workplacedesc"
class=
"form_item nobottom"
>
<div
class=
"form_item_title"
>
描述信息:
</div>
<el-input
type=
"textarea"
v-model=
"formNew.workplacedesc"
placeholder=
"请输入工作区域描述信息"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
工作区域申请规格
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"cpu"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
CPU:
</div>
<el-select
v-model=
"formNew.cpu"
@
change=
"changeCPU"
placeholder=
"请选择CPU使用量"
>
<el-option
v-for=
"item in optionsCPU"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"memory"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
内存:
</div>
<el-select
v-model=
"formNew.memory"
placeholder=
"请选择内存使用量"
@
change=
"setContainerGroup(0)"
>
<el-option
v-for=
"item in optionsRAM"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"containerGroup"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
容器组:
</div>
<el-input-number
v-model=
"formNew.containerGroup"
controls-position=
"right"
:min=
"0"
:max=
"24"
placeholder=
"取值范围[0,24]"
></el-input-number>
<div
class=
"input_right"
>
个
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
数据盘(可选):
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"form_item input_has_right nobottom"
>
<el-input-number
v-model=
"formNew.dataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择增加数据盘的数量"
></el-input-number>
<div
class=
"input_right"
>
块
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"form_item input_has_right nobottom"
>
<el-input-number
v-model=
"formNew.perDataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择每块数据盘的容量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
单个容器组规格
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
CPU:
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perCPUs"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formNew.perCPUs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"CPU最高使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perCPU"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formNew.perCPU"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"CPU默认使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
内存:
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perRAMs"
class=
"form_item input_has_left_right nobottom"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formNew.perRAMs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"内存最高使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perRAM"
class=
"form_item input_has_left_right nobottom"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formNew.perRAM"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"内存默认使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
其他信息
</div>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
prop=
"appDuration"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请时长:
</div>
<el-input-number
v-model=
"formNew.appDuration"
controls-position=
"right"
:min=
"1"
:max=
"1000"
></el-input-number>
<!--
<el-select
<el-row>
<el-col
:span=
"24"
>
<el-form
ref=
"formNew"
:model=
"formNew"
:rules=
"ruleNew"
>
<el-row>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
基本信息
</div>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
"namespace"
class=
"form_item"
>
<div
class=
"form_item_title"
>
工作区域名称:
</div>
<el-input
v-model=
"formNew.namespace"
placeholder=
"请输入工作区域英文名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
"workplace"
class=
"form_item"
>
<div
class=
"form_item_title"
>
中文名称:
</div>
<el-input
v-model=
"formNew.workplace"
placeholder=
"请输入工作区域中文名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
"workplacedesc"
class=
"form_item"
>
<div
class=
"form_item_title"
>
描述信息:
</div>
<el-input
type=
"textarea"
v-model=
"formNew.workplacedesc"
placeholder=
"请输入工作区域描述信息"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
工作区域申请规格
</div>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"cpu"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
CPU:
</div>
<el-select
v-model=
"formNew.cpu"
@
change=
"changeCPU"
placeholder=
"请选择CPU使用量"
>
<el-option
v-for=
"item in optionsCPU"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"memory"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
内存:
</div>
<el-select
v-model=
"formNew.memory"
placeholder=
"请选择内存使用量"
@
change=
"setContainerGroup(0)"
>
<el-option
v-for=
"item in optionsRAM"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"containerGroup"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
容器组:
</div>
<el-input-number
v-model=
"formNew.containerGroup"
controls-position=
"right"
:min=
"0"
:max=
"24"
placeholder=
"取值范围[0,24]"
></el-input-number>
<div
class=
"input_right"
>
个
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
数据盘(可选):
</div>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
class=
"form_item input_has_right"
>
<el-input-number
v-model=
"formNew.dataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择增加数据盘的数量"
></el-input-number>
<div
class=
"input_right"
>
块
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
class=
"form_item input_has_right"
>
<el-input-number
v-model=
"formNew.perDataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择每块数据盘的容量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
单个容器组规格
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"form_item_title"
>
CPU:
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"form_item_title"
>
内存:
</div>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"perCPUs"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formNew.perCPUs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请选择CPU最高使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"perCPU"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formNew.perCPU"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请选择CPU默认使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"perRAMs"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formNew.perRAMs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请选择内存最高使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"perRAM"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formNew.perRAM"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请选择内存默认使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
其他信息
</div>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
prop=
"appDuration"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请时长:
</div>
<el-input-number
v-model=
"formNew.appDuration"
controls-position=
"right"
:min=
"1"
:max=
"1000"
></el-input-number>
<!--
<el-select
v-model=
"formNew.durType"
class=
"input_right_select"
placeholder=
"请选择申请时长"
...
...
@@ -262,34 +267,36 @@
:value=
"item.value"
></el-option>
</el-select>
-->
<div
class=
"input_right"
>
月
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
申请文件:
</div>
<info-list
:list_arr=
"docTemplate"
class=
"doc_template"
></info-list>
<upload-file
:multiple=
"false"
:unique=
"false"
:max=
"1"
type=
"zip"
:readOnly=
"false"
:drag=
"true"
@
getNewList=
"getNewList"
class=
"up_f"
></upload-file>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
class=
"input_right"
>
月
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
申请文件:
</div>
<info-list
:list_arr=
"docTemplate"
class=
"doc_template"
></info-list>
<upload-file
:multiple=
"false"
:unique=
"false"
:max=
"1"
type=
"zip"
:readOnly=
"false"
:drag=
"true"
@
getNewList=
"getNewList"
class=
"up_f"
></upload-file>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane
label=
"调整现有工作区域"
name=
"1"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"1
6
"
>
<el-row>
<el-col
:span=
"1
2
"
>
<div
class=
"select_title"
>
选择要进行调整的工作区域:
</div>
<div
class=
"form_item"
>
<el-select
...
...
@@ -308,110 +315,116 @@
</el-col>
</el-row>
<div
v-show=
"formShow"
>
<el-form
ref=
"formOld"
:model=
"formOld"
:rules=
"ruleOld"
>
<el-row
:gutter=
"24"
>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
工作区域规格调整
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_cards"
>
<div
class=
"now_spec_card"
v-for=
"(item, index) in specArr"
:key=
"index + 'spec'"
>
<img
class=
"now_spec_card_img"
:src=
"require('@/assets/imgs/' + item.src + '.png')"
/>
<span
class=
"now_spec_card_title"
>
{{
item
.
title
}}
</span>
<span
class=
"now_spec_card_val"
>
{{
item
.
val
+
"
"
+
(
item
.
title
==
"
CPU
"
?
"
核
"
:
item
.
title
==
"
内存
"
?
"
GB
"
:
"
个
"
)
}}
</span>
</div>
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"cpu"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请CPU调整为:
</div>
<el-select
v-model=
"formOld.cpu"
placeholder=
"请选择CPU使用量"
>
<el-option
v-for=
"item in optionsCPU"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"memory"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请内存调整为:
</div>
<el-select
v-model=
"formOld.memory"
placeholder=
"请选择内存使用量"
@
change=
"setContainerGroup(1)"
>
<el-option
v-for=
"item in optionsRAM"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"containerGroup"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请容器组调整为:
</div>
<el-input-number
v-model=
"formOld.containerGroup"
controls-position=
"right"
:min=
"0"
:max=
"24"
placeholder=
"取值范围[0,24]"
></el-input-number>
<div
class=
"input_right"
>
个
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
v-if=
"dataDiskList.length != 0"
>
<el-form-item
class=
"form_item input_has_right"
>
<div
class=
"form_item_title_1"
>
调整数据盘:
</div>
<table-um
ref=
"apply_service_state_table"
:headers=
"dataDiskHeaders"
:stripe=
"true"
:datas=
"dataDiskList"
@
primary-del=
"delItem"
:maxheight=
"260"
size=
"small"
class=
"disk__table"
></table-um>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
class=
"form_item nobottom"
>
<div
class=
"form_item_title"
>
增加数据盘:
</div>
<!--
<el-select
v-model=
"formOld.store_type"
placeholder=
"请选择数据盘类型"
>
<el-row>
<el-col
:span=
"24"
>
<el-form
ref=
"formOld"
:model=
"formOld"
:rules=
"ruleOld"
>
<el-row>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
工作区域规格调整
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_cards"
>
<div
class=
"now_spec_card"
v-for=
"(item, index) in specArr"
:key=
"index + 'spec'"
>
<img
class=
"now_spec_card_img"
:src=
"require('@/assets/imgs/' + item.src + '.png')"
/>
<span
class=
"now_spec_card_title"
>
{{
item
.
title
}}
</span>
<span
class=
"now_spec_card_val"
>
{{
item
.
val
+
"
"
+
(
item
.
title
==
"
CPU
"
?
"
核
"
:
item
.
title
==
"
内存
"
?
"
GB
"
:
"
个
"
)
}}
</span>
</div>
</div>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"cpu"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请CPU调整为:
</div>
<el-select
v-model=
"formOld.cpu"
placeholder=
"请选择CPU使用量"
>
<el-option
v-for=
"item in optionsCPU"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"memory"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请内存调整为:
</div>
<el-select
v-model=
"formOld.memory"
placeholder=
"请选择内存使用量"
@
change=
"setContainerGroup(1)"
>
<el-option
v-for=
"item in optionsRAM"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
<div
class=
"input_right input_right_top"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"containerGroup"
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请容器组调整为:
</div>
<el-input-number
v-model=
"formOld.containerGroup"
controls-position=
"right"
:min=
"0"
:max=
"24"
placeholder=
"取值范围[0,24]"
></el-input-number>
<div
class=
"input_right"
>
个
</div>
</el-form-item>
</el-col>
<el-col
:span=
"12"
v-if=
"dataDiskList.length != 0"
>
<el-form-item
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
调整数据盘:
</div>
<table-um
ref=
"apply_service_state_table"
:headers=
"dataDiskHeaders"
:stripe=
"true"
:datas=
"dataDiskList"
@
primary-del=
"delItem"
:maxheight=
"260"
></table-um>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
增加数据盘:
</div>
<!--
<el-select
v-model=
"formOld.store_type"
placeholder=
"请选择数据盘类型"
>
<el-option
v-for=
"item in options_store_type"
:key=
"item.value"
...
...
@@ -419,191 +432,205 @@
:value=
"item.value"
></el-option>
</el-select>
-->
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"form_item input_has_right nobottom"
>
<el-input-number
v-model=
"formOld.dataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择增加数据盘的数量"
></el-input-number>
<div
class=
"input_right"
>
块
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"form_item input_has_right nobottom"
>
<el-input-number
v-model=
"formOld.perDataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择每块数据盘的容量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
单个容器组规格设定
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_cards"
>
<div
class=
"now_rqz_card"
v-for=
"(item, index) in rqzArr"
:key=
"index + 'rqz'"
>
<img
class=
"now_rqz_card_img"
:src=
"require('@/assets/imgs/' + item.src + '.png')"
/>
<span
class=
"now_rqz_card_title"
>
{{
item
.
title
}}
</span>
<div
class=
"now_rqz_card_val_div"
>
<span
class=
"now_rqz_card_val"
>
最高
{{
item
.
max
}}
{{
item
.
title
==
"
CPU
"
?
"
核
"
:
"
GB
"
}}
</span>
<span
class=
"now_rqz_card_val"
>
默认
{{
item
.
default
}}
{{
item
.
title
==
"
CPU
"
?
"
核
"
:
"
GB
"
}}
</span>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
class=
"form_item input_has_right"
>
<el-input-number
v-model=
"formOld.dataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择增加数据盘的数量"
></el-input-number>
<div
class=
"input_right"
>
块
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
class=
"form_item input_has_right"
>
<el-input-number
v-model=
"formOld.perDataDisk"
controls-position=
"right"
:min=
"0"
:max=
"1000"
placeholder=
"请选择每块数据盘的容量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
单个容器组规格设定
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_cards"
>
<div
class=
"now_rqz_card"
v-for=
"(item, index) in rqzArr"
:key=
"index + 'rqz'"
>
<img
class=
"now_rqz_card_img"
:src=
"require('@/assets/imgs/' + item.src + '.png')"
/>
<span
class=
"now_rqz_card_title"
>
{{
item
.
title
}}
</span>
<div
class=
"now_rqz_card_val_div"
>
<span
class=
"now_rqz_card_val"
>
最高
{{
item
.
max
}}
{{
item
.
title
==
"
CPU
"
?
"
核
"
:
"
GB
"
}}
</span>
<br
/>
<span
class=
"now_rqz_card_val"
>
默认
{{
item
.
default
}}
{{
item
.
title
==
"
CPU
"
?
"
核
"
:
"
GB
"
}}
</span>
</div>
</div>
</div>
</div>
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
CPU:
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perCPUs"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formOld.perCPUs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置CPU最高使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perCPU"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formOld.perCPU"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置CPU默认使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_item_title"
>
内存:
</div>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perRAMs"
class=
"form_item input_has_left_right nobottom"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formOld.perRAMs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置内存最高使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
prop=
"perRAM"
class=
"form_item input_has_left_right nobottom"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formOld.perRAM"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置内存默认使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
其他信息
</div>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_card_time"
>
<div>
<img
class=
"now_spec_card_time_img"
:src=
"require('@/assets/imgs/ic_shijian.png')"
/>
<span
class=
"now_spec_card_time_title"
>
当前工作区域到期时间
</span
</el-col>
<el-col
:span=
"12"
>
<div
class=
"form_item_title"
>
CPU:
</div>
</el-col>
<el-col
:span=
"12"
>
<div
class=
"form_item_title"
>
内存:
</div>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"perCPUs"
class=
"form_item input_has_left_right"
>
<span
class=
"now_spec_card_time_val"
>
{{
helper
.
dateStringTransform
(
paramsOld
.
cloud_end_time
)
}}
</span>
</div>
</div>
</el-col>
<el-col
:span=
"16"
>
<el-form-item
class=
"form_item input_has_right"
>
<div
class=
"form_item_title"
>
申请续期:
</div>
<el-input-number
v-model=
"formOld.appDuration"
controls-position=
"right"
:min=
"1"
:max=
"1000"
></el-input-number>
<div
class=
"input_right"
>
月
</div>
</el-form-item>
</el-col>
<el-col
:span=
"22"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
申请文件:
</div>
<info-list
:list_arr=
"docTemplate"
class=
"doc_template"
></info-list>
<upload-file
:multiple=
"false"
:unique=
"false"
:max=
"1"
type=
"zip"
:readOnly=
"false"
:drag=
"true"
@
getNewList=
"getNewListOld"
class=
"up_f"
></upload-file>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formOld.perCPUs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置CPU最高使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"perCPU"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formOld.perCPU"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置CPU默认使用量"
></el-input-number>
<div
class=
"input_right"
>
核
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"perRAMs"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
最高
</div>
<el-input-number
v-model=
"formOld.perRAMs"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置内存最高使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"perRAM"
class=
"form_item input_has_left_right"
>
<div
class=
"input_left"
>
默认
</div>
<el-input-number
v-model=
"formOld.perRAM"
controls-position=
"right"
:min=
"0"
:max=
"10"
placeholder=
"请设置内存默认使用量"
></el-input-number>
<div
class=
"input_right"
>
GB
</div>
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<div
class=
"form_title"
>
其他信息
</div>
<el-col
:span=
"24"
>
<div
class=
"now_spec"
>
当前规格:
</div>
<div
class=
"now_spec_card_time"
>
<div>
<img
class=
"now_spec_card_time_img"
:src=
"require('@/assets/imgs/ic_shijian.png')"
/>
<span
class=
"now_spec_card_time_title"
>
当前工作区域到期时间
</span
>
<span
class=
"now_spec_card_time_val"
>
{{
helper
.
dateStringTransform
(
paramsOld
.
cloud_end_time
)
}}
</span>
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
class=
"form_item input_has_right_select"
>
<div
class=
"form_item_title"
>
申请续期:
</div>
<el-input-number
v-model=
"formOld.appDuration"
controls-position=
"right"
:min=
"1"
:max=
"1000"
></el-input-number>
<el-select
v-model=
"formOld.durType"
class=
"input_right_select"
placeholder=
"请选择续期时长"
>
<el-option
v-for=
"item in durationOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"22"
>
<el-form-item
class=
"form_item"
>
<div
class=
"form_item_title"
>
申请文件:
</div>
<info-list
:list_arr=
"docTemplate"
class=
"doc_template"
></info-list>
<upload-file
:multiple=
"false"
:unique=
"false"
:max=
"1"
type=
"zip"
:readOnly=
"false"
:drag=
"true"
@
getNewList=
"getNewListOld"
></upload-file>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-col>
</el-row>
</div>
</el-tab-pane>
</el-tabs>
...
...
@@ -891,9 +918,7 @@
<
div
class
=
"
dia_block_item_in
"
>
<
span
class
=
"
dia_block_item_title
"
>
内存:
<
/span
>
<
p
class
=
"
dia_block_item_val
"
>
<
span
class
=
"
val_has_2
"
>
最高
&
nbsp
;{{
diaForm
.
perRAMs
}}
GB
<
/span
>
<
span
class
=
"
val_has_2
"
>
om
=
[]
<
/span
>
<
span
class
=
"
val_has_2
"
>
默认
&
nbsp
;{{
diaForm
.
perRAM
}}
GB
<
/span
>
...
...
@@ -1297,7 +1322,11 @@ export default {
{
value
:
"
8
"
,
label
:
"
8
"
}
,
{
value
:
"
16
"
,
label
:
"
16
"
}
,
],
optionsRAM
:
[],
optionsRAM
:
[
{
value
:
"
8
"
,
label
:
"
8
"
}
,
{
value
:
"
16
"
,
label
:
"
16
"
}
,
{
value
:
"
32
"
,
label
:
"
32
"
}
,
],
options_store_type
:
[
{
value
:
"
nfs-client
"
,
label
:
"
nfs-client
"
}
,
{
value
:
"
rook-ceph-block
"
,
label
:
"
rook-ceph-block
"
}
,
...
...
@@ -1822,9 +1851,8 @@ export default {
}
.
form_title
{
font
-
size
:
16
px
;
line
-
height
:
16
px
;
font
-
weight
:
bold
;
margin
:
32
px
0
24
px
;
margin
:
10
px
0
;
padding
:
0
0
0
15
px
;
position
:
relative
;
color
:
#
58617
a
;
...
...
@@ -1837,22 +1865,14 @@ export default {
background
-
color
:
#
515
fe7
;
border
-
radius
:
2
px
;
left
:
0
;
top
:
-
1
px
;
top
:
2
px
;
}
.
form_item
{
width
:
calc
(
100
%
);
width
:
calc
(
100
%
-
20
px
);
}
.
form_item_title
{
margin
:
0
0
12
px
;
line
-
height
:
14
px
;
font
-
size
:
14
px
;
color
:
#
58617
a
;
}
.
form_item_title_1
{
margin
:
0
;
line
-
height
:
14
px
;
font
-
size
:
14
px
;
color
:
#
58617
a
;
padding
:
0
15
px
;
line
-
height
:
40
px
;
}
.
input_has_right
{
position
:
relative
;
...
...
@@ -1865,7 +1885,7 @@ export default {
background
-
color
:
#
edeef4
;
border
:
1
px
#
e3e5ef
solid
;
color
:
#
8890
a7
;
border
-
radius
:
0
6
px
6
px
0
;
border
-
radius
:
0
8
px
8
px
0
;
position
:
absolute
;
right
:
0
;
}
...
...
@@ -1880,7 +1900,7 @@ export default {
background
-
color
:
#
edeef4
;
border
:
1
px
#
e3e5ef
solid
;
color
:
#
8890
a7
;
border
-
radius
:
6
px
0
0
6
px
;
border
-
radius
:
8
px
0
0
8
px
;
position
:
absolute
;
left
:
0
;
}
...
...
@@ -1892,28 +1912,26 @@ export default {
right
:
0
;
}
.
select_title
{
padding
:
32
px
0
12
px
;
padding
:
20
px
15
px
;
font
-
size
:
16
px
;
line
-
height
:
16
px
;
font
-
weight
:
bold
;
color
:
#
58617
a
;
color
:
#
242
c43
;
}
.
now_spec
{
padding
:
0
0
12
px
;
padding
:
10
px
15
px
;
}
.
now_spec_cards
{
margin
-
bottom
:
24
px
;
}
.
now_spec_card
{
display
:
inline
-
block
;
width
:
1
94
px
;
height
:
4
0
px
;
width
:
1
65
px
;
height
:
5
0
px
;
background
-
color
:
#
f7f8f9
;
border
-
radius
:
6
px
;
line
-
height
:
4
0
px
;
border
-
radius
:
8
px
;
line
-
height
:
5
0
px
;
padding
:
0
20
px
;
position
:
relative
;
margin
-
right
:
2
4
px
;
margin
-
right
:
2
0
px
;
}
.
now_spec_card_title
{
color
:
#
6573
ae
;
...
...
@@ -1927,15 +1945,15 @@ export default {
}
.
now_spec_card_img
{
position
:
relative
;
top
:
1
px
;
top
:
2
px
;
}
.
now_rqz_card
{
display
:
inline
-
block
;
width
:
304
px
;
height
:
40
px
;
width
:
193
px
;
height
:
78
px
;
background
-
color
:
#
f7f8f9
;
border
-
radius
:
6
px
;
line
-
height
:
40
px
;
border
-
radius
:
8
px
;
line
-
height
:
78
px
;
padding
:
0
20
px
;
position
:
relative
;
margin
-
right
:
20
px
;
...
...
@@ -1947,29 +1965,28 @@ export default {
.
now_rqz_card_val_div
{
color
:
#
0
d1847
;
position
:
absolute
;
line
-
height
:
4
0
px
;
line
-
height
:
3
0
px
;
right
:
20
px
;
top
:
0
;
top
:
9
px
;
}
.
now_rqz_card_val
{
}
.
now_rqz_card_img
{
position
:
relative
;
top
:
1
px
;
top
:
2
px
;
}
.
now_spec_card_time
{
width
:
381
px
;
height
:
4
0
px
;
height
:
5
0
px
;
background
-
color
:
#
f7f8f9
;
border
-
radius
:
6
px
;
line
-
height
:
4
0
px
;
border
-
radius
:
8
px
;
line
-
height
:
5
0
px
;
padding
:
0
20
px
;
position
:
relative
;
margin
-
bottom
:
24
px
;
}
.
now_spec_card_time_img
{
position
:
relative
;
top
:
1
px
;
top
:
2
px
;
}
.
now_spec_card_time_title
{
color
:
#
6573
ae
;
...
...
@@ -2055,7 +2072,7 @@ export default {
margin
-
right
:
20
px
;
}
.
doc_template
{
margin
:
0
0
1
2
px
;
margin
:
0
0
1
0
px
20
px
;
}
.
up_f
{
width
:
calc
(
50
%
-
10
px
);
...
...
@@ -2189,9 +2206,6 @@ export default {
.
clear_xxx
{
clear
:
both
;
}
.
disk__table
{
margin
-
bottom
:
0
;
}
<
/style
>
<
style
>
.
form_block
.
el
-
input
.
el
-
input__inner
{
...
...
@@ -2213,7 +2227,7 @@ export default {
color
:
#
242
c43
;
}
.
cloud_form
.
input_right_top
{
top
:
26
px
;
top
:
40
px
;
}
.
cloud_form
.
el
-
select
{
width
:
100
%
;
...
...
@@ -2241,20 +2255,17 @@ export default {
}
.
cloud_form
.
el
-
textarea
.
el
-
textarea__inner
{
background
-
color
:
#
f7f8f9
;
border
-
radius
:
6
px
;
border
-
radius
:
8
px
;
color
:
#
242
c43
;
}
.
form_item
.
el
-
form
-
item__content
{
width
:
100
%
;
}
.
form_item
.
el
-
form
-
item
{
margin
-
bottom
:
24
px
;
}
.
form_item
.
el
-
form
-
item
.
nobottom
{
margin
-
bottom
:
0
;
margin
-
bottom
:
12
px
;
}
.
input_has_right
.
el
-
input__inner
{
border
-
radius
:
6
px
0
0
6
px
;
border
-
radius
:
8
px
0
0
8
px
;
color
:
#
242
c43
;
}
.
cloud_form
.
input_has_right_select
.
el
-
input
-
number
{
...
...
@@ -2270,20 +2281,20 @@ export default {
border
-
color
:
#
0
f2683
;
}
.
input_has_right_select
.
el
-
input__inner
{
border
-
radius
:
6
px
0
0
6
px
;
border
-
radius
:
8
px
0
0
8
px
;
color
:
#
242
c43
;
}
.
input_has_right_select
.
input_right_select
.
el
-
select
.
el
-
input
{
width
:
100
px
;
background
-
color
:
#
0
f2683
;
color
:
#
ffffff
;
border
-
radius
:
0
6
px
6
px
0
;
border
-
radius
:
0
8
px
8
px
0
;
}
.
input_has_right_select
.
input_right_select
.
el
-
select
.
el
-
input
.
el
-
input__inner
{
border
-
radius
:
0
6
px
6
px
0
;
border
-
radius
:
0
8
px
8
px
0
;
color
:
#
ffffff
;
}
.
input_right_select
.
el
-
input
.
el
-
input__inner
{
...
...
@@ -2294,7 +2305,7 @@ export default {
.
cloud_form
.
el
-
input
-
number
.
el
-
input
-
number__decrease
{
border
-
bottom
:
0
;
border
-
left
:
0
;
width
:
29
px
;
width
:
40
px
;
}
.
cloud_dia
.
el
-
dialog__header
{
border
-
bottom
:
1
px
solid
#
edf0ff
;
...
...
@@ -2309,11 +2320,10 @@ export default {
.
cloud_form
.
el
-
input__prefix
,
.
el
-
input__suffix
{
text
-
align
:
right
;
right
:
2
px
;
}
.
cloud_form
.
el
-
input
-
number
.
is
-
controls
-
right
.
el
-
input__inner
{
padding
-
left
:
15
px
;
padding
-
right
:
32
px
;
padding
-
right
:
40
px
;
}
.
up_f
.
el
-
upload
{
width
:
100
%
;
...
...
@@ -2321,7 +2331,4 @@ export default {
.
up_f
.
el
-
upload
-
dragger
{
width
:
100
%
;
}
.
shop_cloud
.
el
-
tabs__header
{
margin
:
0
;
}
<
/style
>
src/pages/service_shop/shop_cloud copy.vue
0 → 100644
View file @
be148412
<
template
>
<div
class=
"shop_list_cont"
>
<el-container>
<el-aside
width=
"176px"
>
<service-shop-menu></service-shop-menu>
</el-aside>
<el-main
class=
"main_init"
>
<shop-cloud
name=
"云资源服务"
></shop-cloud>
</el-main>
</el-container>
</div>
</
template
>
<
script
>
import
ServiceShopMenu
from
"
@/components/service-list/service_shop_menu
"
;
import
ShopCloud
from
"
@/components/shop-cloud/shop-cloud
"
;
export
default
{
components
:
{
ServiceShopMenu
,
ShopCloud
},
data
:
()
=>
({}),
mounted
()
{},
methods
:
{}
};
</
script
>
<
style
scoped
>
.shop_list_cont
{
width
:
1200px
;
margin
:
0
auto
;
position
:
relative
;
}
.main_init
{
padding
:
2px
0
16px
16px
;
}
</
style
>
\ No newline at end of file
src/pages/service_shop/shop_cloud.vue
View file @
be148412
<
template
>
<div
class=
"shop_list_cont"
>
<div>
<el-container>
<el-aside
width=
"1
76
px"
>
<el-aside
width=
"1
80
px"
>
<service-shop-menu></service-shop-menu>
</el-aside>
<el-main
class=
"main_init"
>
<el-main>
<shop-cloud
name=
"云资源服务"
></shop-cloud>
</el-main>
</el-container>
...
...
@@ -25,12 +25,4 @@ export default {
};
</
script
>
<
style
scoped
>
.shop_list_cont
{
width
:
1200px
;
margin
:
0
auto
;
position
:
relative
;
}
.main_init
{
padding
:
2px
0
16px
16px
;
}
</
style
>
\ No newline at end of file
</
style
>
src/pages/service_shop/shop_list copy.vue
0 → 100644
View file @
be148412
<
template
>
<div
class=
"shop_list_cont"
>
<el-container>
<el-aside
width=
"176px"
>
<service-shop-menu></service-shop-menu>
</el-aside>
<el-main
class=
"main_init"
>
<service-list
:filterNames=
"filterNames"
:name=
"name"
:url=
"url"
:urlFilter=
"urlFilter"
></service-list>
</el-main>
</el-container>
</div>
</
template
>
<
script
>
import
ServiceShopMenu
from
"
@/components/service-list/service_shop_menu
"
;
import
ServiceList
from
"
@/components/service-list/service_list
"
;
import
BlockRadius
from
"
@/components/general/block-radius
"
;
export
default
{
components
:
{
ServiceShopMenu
,
ServiceList
,
BlockRadius
,
},
data
:
()
=>
({
urlFilter
:
""
,
url
:
""
,
name
:
""
,
filterNames
:
[],
}),
mounted
()
{
this
.
getVal
(
this
.
$route
.
path
);
},
methods
:
{
getVal
(
val
)
{
let
uri
=
val
.
substring
(
6
);
uri
=
uri
.
substring
(
0
,
uri
.
indexOf
(
"
/
"
));
switch
(
uri
)
{
case
"
data_service_list
"
:
this
.
name
=
"
数据服务
"
;
this
.
urlFilter
=
"
5
"
;
this
.
url
=
"
/shop/sjfwDetail
"
;
this
.
filterNames
=
[
"
数据服务类型
"
,
"
服务领域
"
,
"
数据来源机构
"
];
break
;
case
"
space_time_service_list
"
:
this
.
name
=
"
时空服务
"
;
this
.
urlFilter
=
"
6
"
;
this
.
url
=
"
/shop/skfwDetail
"
;
this
.
filterNames
=
[
"
时空服务类型
"
,
"
服务领域
"
,
"
服务来源组织
"
];
break
;
case
"
video_service_list
"
:
this
.
name
=
"
视频服务
"
;
this
.
urlFilter
=
"
7
"
;
this
.
url
=
"
/shop/spfwDetail
"
;
this
.
filterNames
=
[
""
,
"
服务领域
"
,
"
服务来源组织
"
];
break
;
case
"
perception_service_list
"
:
this
.
name
=
"
感知服务
"
;
this
.
urlFilter
=
"
10
"
;
this
.
url
=
"
/shop/gzfwDetail
"
;
this
.
filterNames
=
[
""
,
"
服务领域
"
,
"
服务来源组织
"
];
break
;
case
"
comprehensive_app_list
"
:
this
.
name
=
"
融合服务
"
;
this
.
urlFilter
=
"
21
"
;
this
.
url
=
"
/shop/zhfwDetail
"
;
this
.
filterNames
=
[
"
服务类型
"
,
"
服务领域
"
,
"
服务来源组织
"
];
break
;
case
"
app_store_list
"
:
this
.
name
=
"
应用商店
"
;
this
.
urlFilter
=
"
app
"
;
this
.
url
=
"
/shop/yysdDetail
"
;
this
.
filterNames
=
[
"
应用类型
"
,
"
应用领域
"
,
"
应用来源机构
"
];
break
;
default
:
this
.
name
=
""
;
this
.
urlFilter
=
""
;
this
.
url
=
""
;
this
.
filterNames
=
[];
break
;
}
},
},
watch
:
{
"
$route.path
"
:
{
handler
(
val
)
{
this
.
getVal
(
val
);
},
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
.default {
height: calc(100vh - 180px);
display: flex;
align-items: center;
justify-content: center;
margin: 0;
.default_img {
width: 1282px;
height: 629px;
.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/shop_list.vue
View file @
be148412
<
template
>
<div
class=
"shop_list_cont"
>
<!--
<div
class=
"shop_list_cont"
>
-->
<div>
<el-container>
<el-aside
width=
"1
76
px"
>
<el-aside
width=
"1
80
px"
>
<service-shop-menu></service-shop-menu>
</el-aside>
<el-main
class=
"main_init"
>
<el-main>
<service-list
:filterNames=
"filterNames"
:name=
"name"
...
...
@@ -128,7 +129,4 @@ export default {
margin
:
0
auto
;
position
:
relative
;
}
.main_init
{
padding
:
16px
0
16px
16px
;
}
</
style
>
\ No newline at end of file
</
style
>
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