Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
22a21a63
Commit
22a21a63
authored
Nov 13, 2019
by
蒋勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d
parent
325f757a
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
588 additions
and
7 deletions
+588
-7
bigdata/app/base/controller/ctl.base.js
+1
-1
bigdata/app/base/controller/impl/auth/userCtl.js
+37
-0
bigdata/app/base/db/metadata/apps/platform.js
+2
-0
bigdata/app/config/routes/web.js
+9
-0
bigdata/app/front/entry/gtb.ejs
+113
-0
bigdata/app/front/entry/public/css/pagecom.css
+2
-2
bigdata/app/front/entry/public/imgs/bklogin.png
+0
-0
bigdata/app/front/entry/public/js/gtb.js
+239
-0
bigdata/app/front/vues/base/form/form.css
+6
-0
bigdata/app/front/vues/base/form/form.vue
+2
-2
bigdata/app/front/vues/pages/gtbhome/gtbhome.css
+21
-0
bigdata/app/front/vues/pages/gtbhome/gtbhome.html
+9
-0
bigdata/app/front/vues/pages/gtbhome/gtbhome.js
+41
-0
bigdata/app/front/vues/pages/home/home.css
+6
-0
bigdata/app/front/vues/pages/home/home.html
+2
-2
bigdata/app/front/vues/pages/home/home.js
+2
-0
bigdata/app/front/vues/pages/tlogin/tlogin.css
+24
-0
bigdata/app/front/vues/pages/tlogin/tlogin.html
+10
-0
bigdata/app/front/vues/pages/tlogin/tlogin.js
+62
-0
No files found.
bigdata/app/base/controller/ctl.base.js
View file @
22a21a63
...
@@ -132,7 +132,7 @@ class CtlBase {
...
@@ -132,7 +132,7 @@ class CtlBase {
pobj
.
userid
=
req
.
session
.
user
?
req
.
session
.
user
.
id
:
null
;
pobj
.
userid
=
req
.
session
.
user
?
req
.
session
.
user
.
id
:
null
;
var
tocompany
=
req
.
session
.
tocompany
;
var
tocompany
=
req
.
session
.
tocompany
;
if
(
!
req
.
session
.
app
)
{
if
(
!
req
.
session
.
app
||
qobj
.
toKey
)
{
var
appkey
=
qobj
.
appKey
;
var
appkey
=
qobj
.
appKey
;
var
tokey
=
qobj
.
toKey
;
var
tokey
=
qobj
.
toKey
;
if
(
appkey
)
{
if
(
appkey
)
{
...
...
bigdata/app/base/controller/impl/auth/userCtl.js
View file @
22a21a63
...
@@ -202,6 +202,43 @@ class UserCtl extends CtlBase {
...
@@ -202,6 +202,43 @@ class UserCtl extends CtlBase {
return
system
.
getResultFail
(
-
1
,
"账号或密码有误."
);
return
system
.
getResultFail
(
-
1
,
"账号或密码有误."
);
}
}
}
}
async
sysManageForApp
(
pobj
,
qobj
,
req
){
var
user
=
req
.
session
.
user
;
var
u
=
{
userName
:
user
.
userName
,
password
:
user
.
password
,
mobile
:
user
.
mobile
,
owner_id
:
pobj
.
id
};
var
appid
=
req
.
session
.
app
.
id
;
var
jumpUrl
=
req
.
session
.
app
.
authUrl
;
if
(
req
.
session
.
toapp
)
{
jumpUrl
=
req
.
session
.
toapp
.
authUrl
;
u
.
isNavto
=
true
;
//state为p_app表中appkey
}
else
{
u
.
isNavto
=
false
;
}
//登录其它应用,是当前应用的用户要进入其它应用,上下文是当前应用,用户是当前应用的用户
//这种场景是重用目标应用时,比如管理平台重用
//非重用目标应用,需要切换为目标应用的用户
//而要进入其它应用切换身份,需要在设置上下文时,设为目标应用的ID
u
.
app_id
=
appid
;
var
existedUser
=
await
this
.
service
.
getUserByUserNamePwd
(
u
);
if
(
existedUser
!=
null
)
{
if
(
appid
!=
settings
.
platformid
)
{
//非平台应用
await
this
.
cacheManager
[
"OpenCodeCache"
].
cache
(
req
.
session
.
id
,
existedUser
,
60
);
jumpUrl
=
jumpUrl
+
"?code="
+
req
.
session
.
id
;
if
(
req
.
session
.
toapp
)
{
//srcKey是进入到平台管理后,显示来源APP的信息;进入其它应用时,也传递以备后用
jumpUrl
=
jumpUrl
+
"&srcKey="
+
req
.
session
.
app
.
appkey
;
}
}
if
(
!
existedUser
.
isEnabled
)
{
return
system
.
getResultFail
(
system
.
waitAuditApp
,
"您的账户处于待审核等待启用状态."
);
}
else
{
return
system
.
getResult
({
user
:
existedUser
,
jumpUrl
:
jumpUrl
});
}
}
else
{
return
system
.
getResultFail
(
-
1
,
"无权进入本系统,请联系服务提供商"
);
}
}
async
login
(
pobj
,
qobj
,
req
)
{
async
login
(
pobj
,
qobj
,
req
)
{
var
appid
=
req
.
session
.
app
.
id
;
var
appid
=
req
.
session
.
app
.
id
;
var
jumpUrl
=
req
.
session
.
app
.
authUrl
;
var
jumpUrl
=
req
.
session
.
app
.
authUrl
;
...
...
bigdata/app/base/db/metadata/apps/platform.js
View file @
22a21a63
...
@@ -194,8 +194,10 @@ module.exports = {
...
@@ -194,8 +194,10 @@ module.exports = {
"bizs"
:
{
"bizs"
:
{
"docquery"
:
{
"title"
:
"查看API文档"
,
"config"
:
null
,
"path"
:
"/docquery"
,
"comname"
:
"docquery"
},
"docquery"
:
{
"title"
:
"查看API文档"
,
"config"
:
null
,
"path"
:
"/docquery"
,
"comname"
:
"docquery"
},
"login"
:
{
"title"
:
"登录"
,
"config"
:
null
,
"path"
:
"/login"
,
"comname"
:
"login"
},
"login"
:
{
"title"
:
"登录"
,
"config"
:
null
,
"path"
:
"/login"
,
"comname"
:
"login"
},
"tlogin"
:
{
"title"
:
"登录"
,
"config"
:
null
,
"path"
:
"/tlogin"
,
"comname"
:
"tlogin"
},
"register"
:
{
"title"
:
"注册"
,
"config"
:
null
,
"path"
:
"/register"
,
"comname"
:
"register"
},
"register"
:
{
"title"
:
"注册"
,
"config"
:
null
,
"path"
:
"/register"
,
"comname"
:
"register"
},
"home"
:
{
"title"
:
"前台首页"
,
"config"
:
null
,
"path"
:
"/"
,
"comname"
:
"home"
},
"home"
:
{
"title"
:
"前台首页"
,
"config"
:
null
,
"path"
:
"/"
,
"comname"
:
"home"
},
"gtbhome"
:
{
"title"
:
"个体宝首页"
,
"config"
:
null
,
"path"
:
"/gtbhome"
,
"comname"
:
"gtbhome"
},
"admin"
:
{
"title"
:
"后台首页"
,
"config"
:
null
,
"path"
:
"/index"
,
"comname"
:
"admin"
},
"admin"
:
{
"title"
:
"后台首页"
,
"config"
:
null
,
"path"
:
"/index"
,
"comname"
:
"admin"
},
"appconfig"
:
{
"title"
:
"应用配置"
,
"config"
:
null
,
"path"
:
"/appconfig"
,
"comname"
:
"appconfig"
},
"appconfig"
:
{
"title"
:
"应用配置"
,
"config"
:
null
,
"path"
:
"/appconfig"
,
"comname"
:
"appconfig"
},
"approle"
:
{
"title"
:
"角色"
,
"config"
:
null
,
"path"
:
"/approle"
,
"comname"
:
"approle"
},
"approle"
:
{
"title"
:
"角色"
,
"config"
:
null
,
"path"
:
"/approle"
,
"comname"
:
"approle"
},
...
...
bigdata/app/config/routes/web.js
View file @
22a21a63
...
@@ -3,11 +3,20 @@ var system = require("../../base/system");
...
@@ -3,11 +3,20 @@ var system = require("../../base/system");
var
metaCtl
=
system
.
getObject
(
"web.common.metaCtl"
);
var
metaCtl
=
system
.
getObject
(
"web.common.metaCtl"
);
var
userCtl
=
system
.
getObject
(
"web.auth.userCtl"
);
var
userCtl
=
system
.
getObject
(
"web.auth.userCtl"
);
module
.
exports
=
function
(
app
)
{
module
.
exports
=
function
(
app
)
{
app
.
get
(
"/gtb"
,
async
function
(
req
,
res
){
console
.
log
(
req
.
hostname
);
var
appinfo
=
await
metaCtl
.
getAppInfo
(
req
);
res
.
render
(
"gtb"
,
appinfo
);
});
app
.
get
(
"/auth"
,
async
function
(
req
,
res
){
app
.
get
(
"/auth"
,
async
function
(
req
,
res
){
var
code
=
req
.
query
.
code
;
var
code
=
req
.
query
.
code
;
var
srcKey
=
req
.
query
.
srcKey
;
var
srcKey
=
req
.
query
.
srcKey
;
var
companyKey
=
req
.
query
.
companyKey
;
var
companyKey
=
req
.
query
.
companyKey
;
var
gtb
=
req
.
query
.
gtb
;
if
(
!
code
){
if
(
!
code
){
if
(
gtb
){
return
res
.
redirect
(
"/gtb/#/gtbhome"
);
}
return
res
.
redirect
(
"/"
);
return
res
.
redirect
(
"/"
);
}
else
{
}
else
{
await
userCtl
.
authByCode
(
req
);
await
userCtl
.
authByCode
(
req
);
...
...
bigdata/app/front/entry/gtb.ejs
0 → 100644
View file @
22a21a63
<!DOCTYPE html>
<html
lang=
"zh-CN"
>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"keywords"
content=
"PAAS 开放平台"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=0.8, maximum-scale=0.8, user-scalable=1"
>
<title
id=
"idtitle"
>
个体宝
</title>
<link
rel=
"stylesheet"
href=
"/css/ele/index_2.5.4.css"
>
<link
rel=
"stylesheet"
href=
"/css/pagecom.css"
>
<link
rel=
"stylesheet"
href=
"/css/fontawesome/css/font-awesome.min.css"
>
<link
rel=
"stylesheet"
href=
"/css/fontawesome/css/toolicon-style.css"
>
<link
rel=
"stylesheet"
href=
"/css/fontface-timely.css"
>
<script
src=
"/js/vue/vue.min_2.6.10.js"
></script>
<script
src=
"/js/vue/vue-router.min.js"
></script>
<script
src=
"/js/vue/vuex.min.js"
></script>
<script
src=
"/js/ele/index_2.5.4.js"
></script>
<script
src=
"/js/vue/axios.min.js"
></script>
<script>
//缓存当前域名对应的公司信息,公司、页脚、银行账号---全局变量
var
appinfo
=
JSON
.
parse
(
unescape
(
'<%=appinfo%>'
));
//缓存当前的基础组件列表
var
companyinfo
=
JSON
.
parse
(
unescape
(
'<%=company%>'
));
if
(
companyinfo
.
status
&&
companyinfo
.
status
==-
1
){
companyinfo
=
null
;
}
var
tocompanyinfo
=
JSON
.
parse
(
unescape
(
'<%=tocompany%>'
));
if
(
tocompanyinfo
.
status
&&
tocompanyinfo
.
status
==-
1
){
tocompanyinfo
=
null
;
}
</script>
<style>
body
{
margin
:
0px
;
padding
:
0px
;
font-size
:
14px
;
}
.app-main
{
width
:
100%
;
height
:
100%
;
background
:
url
(
"<%=
'/imgs/bklogin.png'
%>"
)
no-repeat
;
background-size
:
cover
;
box-sizing
:
border-box
;
}
.app-header
{
display
:
flex
;
justify-content
:
space-between
;
color
:
white
;
padding
:
15px
;
box-sizing
:
border-box
;
}
.app-stage
{
display
:
flex
;
width
:
100%
;
padding
:
5px
;
box-sizing
:
border-box
;
}
.app-stage
.rightcontent
{
flex-grow
:
1
;
box-sizing
:
border-box
;
}
.app-stage
.rightcontent
.el-card__body
{
height
:
100%
;
}
.app-stage
.rightcontent
>
.el-card
{
border-radius
:
0px
;
height
:
100%
;
box-shadow
:
unset
;
box-sizing
:
border-box
;
}
#appName
{
font-size
:
30px
;
font-family
:
MicrosoftYaHei
;
cursor
:
pointer
;
}
.el-button--text
{
color
:
white
}
.activeColor
{
color
:
deepskyblue
;
}
</style>
</head>
<body>
<div
id=
"app"
v-loading=
"loading"
class=
"app-main"
style=
"visibility:hidden"
>
<div
id=
"app-header"
class=
"app-header"
>
<div
id=
"appName"
>
<span
@
click=
appclick
>
</span>
<span
style=
"font-size:16px;"
v-if=
"currentCompany"
>
<span
style=
"font-size:20px"
class=
"fa fa-home"
></span>
<span
v-if=
"currentUser && currentUser.owner && currentUser.owner.id!=1"
>
{{currentUser.owner.name}}
</span>
<!-- <span v-else>{{currentCompany.name}}</span> -->
</span>
</div>
<div
id=
"login"
>
<gsb-button-group
v-if=
"!currentUser"
@
select=
"onselect"
ikey=
"login"
:btns=
"logins"
></gsb-button-group>
<span
v-if=
"currentUser"
>
欢迎您,{{currentUser.nickName}}
<el-button
@
click=
"exitclick"
type=
"text"
icon=
"el-icon-setting"
>
退出
</el-button></span>
<!-- <span style="cursor:pointer" @click="settingclick" v-if="(currentUser && currentUser.roles.indexOf('common')>=0) || (currentUser && currentUser.isSuper)"><i class="el-icon-setting"></i>后台管理</span> -->
</div>
</div>
<div
id=
"app-stage"
class=
"app-stage"
>
<div
class=
"rightcontent"
>
<transition
name=
"slide-fade"
>
<router-view>
</router-view>
</transition>
</div>
</div>
</div>
<script
src=
"/js/vue/jquery.min.js"
></script>
<script
src=
"/js/common.js"
></script>
<script
src=
"/js/gtb.js"
></script>
</body>
</html>
\ No newline at end of file
bigdata/app/front/entry/public/css/pagecom.css
View file @
22a21a63
.admin
{
display
:
flex
;
justify-content
:
space-between
;
color
:
#000
;
width
:
100%
;
height
:
100%
;
background-color
:
#8a2be2
;
min-width
:
750px
;
box-sizing
:
border-box
}
.admin
.leftnav
{
background-color
:
green
;
max-width
:
250px
;
flex-grow
:
1
}
.admin
.rightcontent
{
flex-grow
:
2
;
margin-left
:
5px
}
.admin
.leftnav
.el-card
,
.admin
.rightcontent
.el-card
{
width
:
100%
;
border-radius
:
0
}
.datapriv-main
{
width
:
500px
;
margin
:
auto
}
.companyinfo
.formsearch
{
visibility
:
hidden
;
height
:
1px
}
.pl-home
,
.pl-home
.el-carousel
,
.pl-home
.el-carousel
.el-carousel-item
{
height
:
100%
;
width
:
100%
}
.doc-query
.classexam
{
background-color
:
#f5f5f5
}
.doc-query
img
{
width
:
800px
}
.doc-query
.el-input__inner
{
border-radius
:
0
;
border
:
none
;
border-bottom
:
1px
solid
#ccc
}
.doc-query
.el-card
{
border-radius
:
0
}
.doc-query
.apititle
{
color
:
#aaa
}
.doc-query
.pkg
{
line-height
:
30px
}
.doc-query
.pkg
.pkgtitle
{
font-size
:
1.5em
;
margin
:
5px
}
.doc-query
.pkg
.classtitle
{
font-size
:
1em
}
.doc-query
.classpart
{
margin
:
5px
}
.pl-home
{
margin
:
auto
;
opacity
:
.8
}
.login
,
.register
{
position
:
fixed
;
top
:
150px
;
right
:
50px
;
opacity
:
.7
}
.pl-home
.apptype
{
color
:
#eee
;
margin-left
:
15px
;
width
:
100%
;
text-align
:
left
}
.pl-home
.xbutton
{
width
:
250px
;
height
:
280px
}
.pl-home
.xbutton
img
{
width
:
150px
;
height
:
150px
}
.pl-home
.el-card
{
border-radius
:
0
;
box-shadow
:
none
}
.pl-home
.el-col
{
padding
:
10px
}
.pl-home
.el-button
:focus
,
.pl-home
.el-button
:hover
{
box-shadow
:
5px
5px
5px
#8a2be2
}
.pl-home
.tools
{
cursor
:
pointer
;
font-size
:
12px
;
z-index
:
9999
;
margin-top
:
-35px
}
.pl-home
.purchaseCar
{
font-size
:
50px
;
color
:
#fff
;
position
:
fixed
;
bottom
:
50px
;
right
:
50px
;
z-index
:
99999
}
.myappinfo
.myinfo-grid
{
width
:
100%
}
.myappinfo
.xbutton
{
width
:
310px
;
height
:
200px
;
margin
:
5px
;
font-size
:
16px
;
justify-content
:
space-around
}
.myappinfo
.xbutton
.xbutton-text
{
font-size
:
20px
;
margin-top
:
15px
}
.myappinfo
.myinfo-grid
{
display
:
flex
;
flex-wrap
:
wrap
}
.myappinfo
.valclass
{
margin-bottom
:
30px
}
#serve-img-area
{
width
:
100%
;
height
:
100%
}
#serve-img-area
.paused
.point-area
.point-100
:after
,
#serve-img-area
.paused
.point-area
.point-20
:after
,
#serve-img-area
.paused
.point-area
.point-30
:after
,
#serve-img-area
.paused
.point-area
.point-40
:after
,
#serve-img-area
.paused
.point-area
.point-50
:after
,
#serve-img-area
.paused
.point-area
.point-60
:after
,
#serve-img-area
.paused
.point-area
.point-70
:after
,
#serve-img-area
.paused
.point-area
.point-80
:after
,
#serve-img-area
.paused
.point-area
.point-90
:after
{
animation-play-state
:
paused
;
-webkit-animation-play-state
:
paused
}
#serve-img-area
.point-area
{
text-align
:
center
;
position
:
relative
;
width
:
100%
;
height
:
100%
;
-webkit-transition
:
opacity
.5s
ease-out
;
-moz-transition
:
opacity
.5s
ease-out
;
-o-transition
:
opacity
.5s
ease-out
;
transition
:
opacity
.5s
ease-out
}
#serve-img-area
.point-area
.point
{
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
width
:
10px
;
height
:
10px
;
margin
:
auto
;
-webkit-border-radius
:
50%
;
-webkit-background-clip
:
padding-box
;
-moz-border-radius
:
50%
;
-moz-background-clip
:
padding
;
border-radius
:
50%
;
background
:
0
0
}
#serve-img-area
.point-area
.point-10
,
#serve-img-area
.point-area
.point-100
,
#serve-img-area
.point-area
.point-20
,
#serve-img-area
.point-area
.point-30
,
#serve-img-area
.point-area
.point-40
,
#serve-img-area
.point-area
.point-60
,
#serve-img-area
.point-area
.point-70
,
#serve-img-area
.point-area
.point-80
,
#serve-img-area
.point-area
.point-90
{
height
:
100%
;
width
:
100%
}
#serve-img-area
.point-area
.point-shadow
:after
{
-webkit-box-shadow
:
inset
0
0
5em
rgba
(
253
,
250
,
253
,
.8
);
-moz-box-shadow
:
inset
0
0
5em
rgba
(
250
,
248
,
250
,
.8
);
box-shadow
:
inset
0
0
5em
rgba
(
252
,
251
,
252
,
.8
)}
#serve-img-area
.point-area
.point-white
{
background-color
:
#fff
;
border
:
1px
solid
#b1e2ff
}
#serve-img-area
.point-area
.point-dot
{
z-index
:
1
;
background-color
:
#b1e2ff
;
border
:
1px
solid
rgba
(
252
,
250
,
252
,
.8
)}
#serve-img-area
.point-area
.point-10
:after
,
#serve-img-area
.point-area
.point-20
:after
{
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
border-radius
:
50%
;
opacity
:
0
}
#serve-img-area
.point-area
.point-10
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
225ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
225ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
225ms
infinite
;
animation
:
ripple
4.5s
ease-out
225ms
infinite
}
#serve-img-area
.point-area
.point-20
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
450ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
450ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
450ms
infinite
;
animation
:
ripple
4.5s
ease-out
450ms
infinite
}
#serve-img-area
.point-area
.point-30
:after
,
#serve-img-area
.point-area
.point-40
:after
{
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
border-radius
:
50%
}
#serve-img-area
.point-area
.point-30
:after
{
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
675ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
675ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
675ms
infinite
;
animation
:
ripple
4.5s
ease-out
675ms
infinite
}
#serve-img-area
.point-area
.point-40
:after
{
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
.9s
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
.9s
infinite
;
-o-animation
:
ripple
4.5s
ease-out
.9s
infinite
;
animation
:
ripple
4.5s
ease-out
.9s
infinite
}
#serve-img-area
.point-area
.point-50
:after
,
#serve-img-area
.point-area
.point-60
:after
{
border-radius
:
50%
;
opacity
:
0
;
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
}
#serve-img-area
.point-area
.point-50
{
width
:
100%
;
height
:
100%
}
#serve-img-area
.point-area
.point-50
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
1125ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
1125ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
1125ms
infinite
;
animation
:
ripple
4.5s
ease-out
1125ms
infinite
}
#serve-img-area
.point-area
.point-60
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
1.35s
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
1.35s
infinite
;
-o-animation
:
ripple
4.5s
ease-out
1.35s
infinite
;
animation
:
ripple
4.5s
ease-out
1.35s
infinite
}
#serve-img-area
.point-area
.point-70
:after
{
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
border-radius
:
50%
;
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
1575ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
1575ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
1575ms
infinite
}
#serve-img-area
.point-area
.point-80
:after
,
#serve-img-area
.point-area
.point-90
:after
{
border-radius
:
50%
;
content
:
''
;
top
:
0
;
right
:
0
;
bottom
:
0
;
opacity
:
0
;
display
:
block
;
left
:
0
;
position
:
absolute
}
#serve-img-area
.point-area
.point-80
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
1.8s
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
1.8s
infinite
;
-o-animation
:
ripple
4.5s
ease-out
1.8s
infinite
;
animation
:
ripple
4.5s
ease-out
1.8s
infinite
}
#serve-img-area
.point-area
.point-90
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
2025ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
2025ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
2025ms
infinite
;
animation
:
ripple
4.5s
ease-out
2025ms
infinite
}
#serve-img-area
.point-area
.point-100
:after
{
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
border-radius
:
50%
;
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
2.25s
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
2.25s
infinite
;
-o-animation
:
ripple
4.5s
ease-out
2.25s
infinite
;
animation
:
ripple
4.5s
ease-out
2.25s
infinite
}
.grid2
.el-card
,
.gsbform
{
border-radius
:
0
}
lesshat-selector
{
-lh-property
:
0
}
@-webkit-keyframes
ripple
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.1
,
.1
)}
5
%
{
opacity
:
1
}
100
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
1
)}}
@-moz-keyframes
ripple
{
0
%
{
opacity
:
0
;
-moz-transform
:
scale
(
.1
,
.1
)}
5
%
{
opacity
:
1
}
100
%
{
opacity
:
0
;
-moz-transform
:
scale
(
1
)}}
@-o-keyframes
ripple
{
0
%
{
opacity
:
0
;
-o-transform
:
scale
(
.1
,
.1
)}
5
%
{
opacity
:
1
}
100
%
{
opacity
:
0
;
-o-transform
:
scale
(
1
)}}
@keyframes
ripple
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.1
,
.1
);
-moz-transform
:
scale
(
.1
,
.1
);
-ms-transform
:
scale
(
.1
,
.1
);
transform
:
scale
(
.1
,
.1
)}
5
%
{
opacity
:
1
}
100
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
-ms-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
[
not-existing
]
{
zoom
:
1
}
.module-wrap
{
min-width
:
1000px
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve-head
{
margin-bottom
:
60px
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve-head
h1
{
text-align
:
center
;
font-size
:
24px
;
color
:
#373D41
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve-head
.index-info
{
display
:
block
;
margin-top
:
12px
;
font-size
:
16px
;
color
:
#5F6367
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve-head
.index-info
:hover
{
text-decoration
:
none
;
color
:
#b1e2ff
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
{
margin-top
:
80px
;
margin-bottom
:
50px
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-img
,
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-img
img
{
width
:
100%
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-bar
{
padding
:
0
10%
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-bar
.main-bar-list
{
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding
:
0
10px
;
float
:
left
;
width
:
25%
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-bar
.main-bar-list
img
{
width
:
50px
;
height
:
50px
;
float
:
left
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-bar
.main-bar-list
p
{
float
:
left
;
line-height
:
50px
;
color
:
#373D41
;
font-size
:
12px
;
padding-left
:
10px
}
.gsbform
{
padding-bottom
:
10px
;
border-bottom
:
0
}
.gsbform
.el-form
{
width
:
100%
;
height
:
100%
}
.grid2
{
display
:
flex
}
.grid2
.el-button--text
:hover
{
color
:
#00f
}
.grid2
.el-button--text
{
color
:
#000
}
.leftmenu
{
-moz-user-select
:
none
;
-webkit-user-select
:
none
;
-ms-user-select
:
none
;
-khtml-user-select
:
none
;
user-select
:
none
;
height
:
100%
}
.leftmenu
.el-menu
{
height
:
100%
;
width
:
208px
}
.leftmenu
.el-submenu
.el-menu-item
{
width
:
100%
!important
;
min-width
:
0
!important
;
font-size
:
12px
!important
;
height
:
40px
!important
;
line-height
:
40px
!important
;
background-color
:
#313356
!important
}
.leftmenu
.el-submenu
.el-menu-item
div
{
margin-left
:
25px
}
.leftmenu
.el-menu-item
:hover
,
.leftmenu
.el-submenu
.is-active
,
.leftmenu
.is-active
,
.leftmenu
.is-opened
.el-menu-item
:hover
{
background-color
:
#37AAFF
!important
;
color
:
#fff
!important
}
.popups
{
display
:
none
;
position
:
absolute
;
top
:
75px
;
left
:
0
;
width
:
1200px
;
height
:
388px
;
box-shadow
:
0
0
8px
0
rgba
(
0
,
0
,
0
,
.1
);
z-index
:
9999
;
border
:
1px
solid
rgba
(
47
,
149
,
252
,
1
)}
.popups-zhanwei
{
position
:
absolute
;
top
:
-20px
;
left
:
0
;
width
:
100%
;
height
:
20px
}
.popups-left
{
width
:
177px
;
height
:
100%
;
float
:
left
;
background-color
:
#2F95FC
;
cursor
:
default
}
.popups-left-item
,
.popups-left-item-cla
{
line-height
:
64.66px
;
cursor
:
pointer
;
font-size
:
16px
;
text-align
:
left
}
.popups-left-item
{
width
:
100%
;
height
:
16.66%
;
color
:
#fff
}
.popups-left-item
span
{
display
:
inline-block
;
width
:
90%
;
height
:
100%
;
margin-left
:
18px
;
border-bottom
:
1px
solid
rgba
(
216
,
216
,
216
,
.7
);
color
:
#fff
}
.popups-left-item-cla
{
width
:
90%
;
height
:
16.66%
;
padding-left
:
18px
;
color
:
#2F95FC
;
border-bottom
:
1px
solid
rgba
(
216
,
216
,
216
,
.5
);
background-color
:
#F5FCFF
}
.popups-right
{
width
:
1023px
;
height
:
388px
;
float
:
right
;
background-color
:
#F5FCFF
;
text-align
:
left
;
padding
:
18px
38px
;
box-sizing
:
border-box
;
cursor
:
default
;
display
:
flex
}
.popups-right-item
{
flex
:
1
;
height
:
100%
}
.popups-right-title
{
line-height
:
40px
;
font-size
:
16px
;
font-family
:
MicrosoftYaHei
;
font-weight
:
600
;
color
:
#333
;
margin-right
:
50px
;
border-bottom
:
1px
solid
#e5e6e7
}
.popups-right-it
{
width
:
100%
;
padding
:
20px
0
;
line-height
:
12px
;
float
:
left
;
font-size
:
14px
;
font-family
:
MicrosoftYaHei
;
font-weight
:
400
;
color
:
#303133
;
cursor
:
pointer
;
text-align
:
left
;
overflow
:
hidden
}
.popups-right-it
:hover
{
color
:
#34C5F0
}
.popups-kailong
{
position
:
absolute
;
top
:
-10px
;
left
:
220px
;
width
:
0
;
height
:
0
;
border-right
:
10px
solid
transparent
;
border-left
:
10px
solid
transparent
;
border-bottom
:
10px
solid
rgba
(
225
,
225
,
225
,
1
)}
.popups-kailong
span
{
display
:
block
;
width
:
0
;
height
:
0
;
border-left
:
8px
solid
transparent
;
border-right
:
8px
solid
transparent
;
border-bottom
:
8px
solid
#fff
;
position
:
absolute
;
left
:
-8px
;
top
:
2px
}
.popups-two
{
position
:
absolute
;
top
:
83px
;
width
:
100%
;
height
:
390px
;
z-index
:
999
}
.popups-two-main
{
width
:
1200px
;
height
:
100%
;
margin
:
0
auto
}
.popups-two-main-left
{
float
:
left
;
width
:
200px
;
height
:
100%
;
padding
:
14px
0
;
background
:
rgba
(
0
,
0
,
0
,
.6
);
box-sizing
:
border-box
;
border-radius
:
3px
;
-webkit-border-radius
:
3px
}
.popups-two-left-item
,
.popups-two-left-item-cla
{
width
:
100%
;
height
:
60px
;
line-height
:
60px
;
font-size
:
16px
;
color
:
rgba
(
255
,
255
,
255
,
.7
);
cursor
:
pointer
;
text-align
:
left
}
.popups-two-left-item-cla
{
background-color
:
rgba
(
38
,
146
,
255
,
1
)}
.popups-two-left-item-span
{
display
:
inline-block
;
width
:
78%
;
height
:
100%
;
margin
:
0
20px
}
.popups-two-right
{
width
:
1000px
;
height
:
100%
;
overflow-y
:
auto
;
float
:
right
;
background-color
:
#fff
;
text-align
:
left
;
padding
:
19px
40px
;
box-sizing
:
border-box
;
cursor
:
default
}
.popups-tow-right-it
,
.popups-tow-right-title
{
font-size
:
14px
;
font-family
:
PingFangSC-Regular
;
overflow
:
hidden
}
.popups-tow-right-title
{
float
:
left
;
cursor
:
pointer
;
width
:
11%
;
margin-right
:
10px
;
color
:
rgba
(
56
,
64
,
75
,
1
);
font-weight
:
700
}
.popups-tow-right-lists
{
float
:
left
;
width
:
80%
;
height
:
100%
}
.popups-tow-right-it
{
float
:
left
;
cursor
:
pointer
;
padding-right
:
18px
;
padding-bottom
:
14px
;
font-weight
:
400
;
color
:
#666
}
.popups-tow-right-it
:hover
{
color
:
#2692FF
}
.searchform
.el-range-editor.el-input__inner
{
width
:
200px
}
.el-radio-group
{
min-width
:
300px
}
.selectsubsystem
{
width
:
208px
;
height
:
79px
;
color
:
#fff
;
padding
:
20px
;
box-sizing
:
border-box
;
background
:
rgba
(
83
,
86
,
128
,
1
);
cursor
:
pointer
}
.selectsubsystem
>
span
{
display
:
inline-block
;
width
:
100%
;
height
:
100%
;
line-height
:
36px
;
background
:
#313356
;
text-align
:
center
;
font-size
:
16px
;
color
:
#dbd8be
}
.el-menu-item
:hover
{
outline
:
0
;
background-color
:
#2692ff
}
.nav_color
:hover
{
color
:
#2692ff
}
.spechorizotal
.el-menu
li
:hover
{
background
:
red
;
margin-top
:
-6px
}
.spechorizotal
.el-menu-item
span
{
font-size
:
16px
}
.spechorizotal
ul
{
border
:
none
}
.treelistdiv
.custom-tree-node
.labeltitle
{
color
:
#000
}
.treelistdiv
.custom-tree-node
.toolbar
:hover
{
background-color
:
#000
;
border-radius
:
5px
;
padding
:
5px
}
.treelistdiv
.el-tree-node__content
{
height
:
30px
}
.treelistdiv
.el-tree-node
.iscurrent
.is-focusable
,
.treelistdiv
.el-tree-node__content
:hover
{
background-color
:
#4486e9
}
.treelistdiv
.el-tree-node__content
:focus
{
background-color
:
red
}
.admin
{
display
:
flex
;
justify-content
:
space-between
;
color
:
#000
;
width
:
100%
;
height
:
100%
;
background-color
:
#8a2be2
;
min-width
:
750px
;
box-sizing
:
border-box
}
.admin
.leftnav
{
background-color
:
green
;
max-width
:
250px
;
flex-grow
:
1
}
.admin
.rightcontent
{
flex-grow
:
2
;
margin-left
:
5px
}
.admin
.leftnav
.el-card
,
.admin
.rightcontent
.el-card
{
width
:
100%
;
border-radius
:
0
}
.companyinfo
.formsearch
{
visibility
:
hidden
;
height
:
1px
}
.doc-query
.classexam
{
background-color
:
#f5f5f5
}
.doc-query
img
{
width
:
800px
}
.doc-query
.el-input__inner
{
border-radius
:
0
;
border
:
none
;
border-bottom
:
1px
solid
#ccc
}
.doc-query
.el-card
{
border-radius
:
0
}
.doc-query
.apititle
{
color
:
#aaa
}
.doc-query
.pkg
{
line-height
:
30px
}
.doc-query
.pkg
.pkgtitle
{
font-size
:
1.5em
;
margin
:
5px
}
.doc-query
.pkg
.classtitle
{
font-size
:
1em
}
.doc-query
.classpart
{
margin
:
5px
}
.datapriv-main
{
width
:
500px
;
margin
:
auto
}
.gtb-home
{
display
:
flex
;
width
:
100%
;
height
:
100%
;
margin
:
auto
;
opacity
:
.8
;
align-items
:
center
;
justify-content
:
center
}
.gtb-home
.app-child
{
width
:
234px
;
height
:
274px
;
margin
:
15px
;
background-color
:
bisque
;
position
:
relative
}
.pl-home
,
.pl-home
.el-carousel
,
.pl-home
.el-carousel
.el-carousel-item
{
width
:
100%
;
height
:
100%
}
.gtb-home
.app-child
:hover
{
border
:
1px
solid
#fff
}
.pl-home
{
margin
:
auto
;
opacity
:
.8
}
.login
,
.register
{
position
:
fixed
;
top
:
150px
;
right
:
50px
;
opacity
:
.7
}
.pl-home
.apptype
{
color
:
#eee
;
margin-left
:
15px
;
width
:
100%
;
text-align
:
left
}
.pl-home
.xbutton
{
width
:
250px
;
height
:
280px
}
.pl-home
.xbutton
img
{
width
:
150px
;
height
:
150px
}
.pl-home
.el-card
{
border-radius
:
0
;
box-shadow
:
none
}
.pl-home
.el-col
{
padding
:
10px
}
.pl-home
.el-button
:focus
,
.pl-home
.el-button
:hover
{
box-shadow
:
5px
5px
5px
#8a2be2
}
.pl-home
.tools
{
cursor
:
pointer
;
font-size
:
12px
;
z-index
:
9999
;
margin-top
:
-35px
}
.pl-home
.purchaseCar
{
font-size
:
50px
;
color
:
#fff
;
position
:
fixed
;
bottom
:
50px
;
right
:
50px
;
z-index
:
99999
}
.purchaseCar-hide
{
z-index
:
0
;
height
:
0
}
.myappinfo
.myinfo-grid
{
width
:
100%
}
.myappinfo
.xbutton
{
width
:
310px
;
height
:
200px
;
margin
:
5px
;
font-size
:
16px
;
justify-content
:
space-around
}
.myappinfo
.xbutton
.xbutton-text
{
font-size
:
20px
;
margin-top
:
15px
}
.myappinfo
.myinfo-grid
{
display
:
flex
;
flex-wrap
:
wrap
}
.myappinfo
.valclass
{
margin-bottom
:
30px
}
.tloginpage
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
}
.tlogin
{
width
:
428px
;
height
:
308px
;
margin
:
auto
}
.tlogin
.el-card
{
background
:
rgba
(
255
,
255
,
255
,
1
);
border-radius
:
12px
}
.tlogin
.el-input__inner
{
height
:
40px
;
width
:
308px
}
.tlogin
.el-button
{
width
:
308px
}
.tlogin
.el-col
{
text-align
:
center
}
#serve-img-area
{
width
:
100%
;
height
:
100%
}
#serve-img-area
.paused
.point-area
.point-100
:after
,
#serve-img-area
.paused
.point-area
.point-20
:after
,
#serve-img-area
.paused
.point-area
.point-30
:after
,
#serve-img-area
.paused
.point-area
.point-40
:after
,
#serve-img-area
.paused
.point-area
.point-50
:after
,
#serve-img-area
.paused
.point-area
.point-60
:after
,
#serve-img-area
.paused
.point-area
.point-70
:after
,
#serve-img-area
.paused
.point-area
.point-80
:after
,
#serve-img-area
.paused
.point-area
.point-90
:after
{
animation-play-state
:
paused
;
-webkit-animation-play-state
:
paused
}
#serve-img-area
.point-area
{
text-align
:
center
;
position
:
relative
;
width
:
100%
;
height
:
100%
;
-webkit-transition
:
opacity
.5s
ease-out
;
-moz-transition
:
opacity
.5s
ease-out
;
-o-transition
:
opacity
.5s
ease-out
;
transition
:
opacity
.5s
ease-out
}
#serve-img-area
.point-area
.point
{
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
bottom
:
0
;
width
:
10px
;
height
:
10px
;
margin
:
auto
;
-webkit-border-radius
:
50%
;
-webkit-background-clip
:
padding-box
;
-moz-border-radius
:
50%
;
-moz-background-clip
:
padding
;
border-radius
:
50%
;
background
:
0
0
}
#serve-img-area
.point-area
.point-10
,
#serve-img-area
.point-area
.point-100
,
#serve-img-area
.point-area
.point-20
,
#serve-img-area
.point-area
.point-30
,
#serve-img-area
.point-area
.point-40
,
#serve-img-area
.point-area
.point-60
,
#serve-img-area
.point-area
.point-70
,
#serve-img-area
.point-area
.point-80
,
#serve-img-area
.point-area
.point-90
{
height
:
100%
;
width
:
100%
}
#serve-img-area
.point-area
.point-shadow
:after
{
-webkit-box-shadow
:
inset
0
0
5em
rgba
(
253
,
250
,
253
,
.8
);
-moz-box-shadow
:
inset
0
0
5em
rgba
(
250
,
248
,
250
,
.8
);
box-shadow
:
inset
0
0
5em
rgba
(
252
,
251
,
252
,
.8
)}
#serve-img-area
.point-area
.point-white
{
background-color
:
#fff
;
border
:
1px
solid
#b1e2ff
}
#serve-img-area
.point-area
.point-dot
{
z-index
:
1
;
background-color
:
#b1e2ff
;
border
:
1px
solid
rgba
(
252
,
250
,
252
,
.8
)}
#serve-img-area
.point-area
.point-10
:after
,
#serve-img-area
.point-area
.point-20
:after
{
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
border-radius
:
50%
}
#serve-img-area
.point-area
.point-10
:after
{
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
225ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
225ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
225ms
infinite
;
animation
:
ripple
4.5s
ease-out
225ms
infinite
}
#serve-img-area
.point-area
.point-20
:after
{
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
450ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
450ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
450ms
infinite
;
animation
:
ripple
4.5s
ease-out
450ms
infinite
}
#serve-img-area
.point-area
.point-30
:after
,
#serve-img-area
.point-area
.point-40
:after
{
border-radius
:
50%
;
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
opacity
:
0
}
#serve-img-area
.point-area
.point-30
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
675ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
675ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
675ms
infinite
;
animation
:
ripple
4.5s
ease-out
675ms
infinite
}
#serve-img-area
.point-area
.point-40
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
.9s
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
.9s
infinite
;
-o-animation
:
ripple
4.5s
ease-out
.9s
infinite
;
animation
:
ripple
4.5s
ease-out
.9s
infinite
}
#serve-img-area
.point-area
.point-50
{
width
:
100%
;
height
:
100%
}
#serve-img-area
.point-area
.point-50
:after
{
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
border-radius
:
50%
;
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
1125ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
1125ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
1125ms
infinite
;
animation
:
ripple
4.5s
ease-out
1125ms
infinite
}
#serve-img-area
.point-area
.point-60
:after
,
#serve-img-area
.point-area
.point-70
:after
{
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
border-radius
:
50%
}
#serve-img-area
.point-area
.point-60
:after
{
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
1.35s
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
1.35s
infinite
;
-o-animation
:
ripple
4.5s
ease-out
1.35s
infinite
;
animation
:
ripple
4.5s
ease-out
1.35s
infinite
}
#serve-img-area
.point-area
.point-70
:after
{
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
1575ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
1575ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
1575ms
infinite
}
#serve-img-area
.point-area
.point-80
:after
,
#serve-img-area
.point-area
.point-90
:after
{
border-radius
:
50%
;
content
:
''
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
opacity
:
0
;
display
:
block
;
left
:
0
}
#serve-img-area
.point-area
.point-80
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
1.8s
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
1.8s
infinite
;
-o-animation
:
ripple
4.5s
ease-out
1.8s
infinite
;
animation
:
ripple
4.5s
ease-out
1.8s
infinite
}
#serve-img-area
.point-area
.point-90
:after
{
border
:
2px
solid
#b1e2ff
;
-webkit-animation
:
ripple
4.5s
ease-out
2025ms
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
2025ms
infinite
;
-o-animation
:
ripple
4.5s
ease-out
2025ms
infinite
;
animation
:
ripple
4.5s
ease-out
2025ms
infinite
}
#serve-img-area
.point-area
.point-100
:after
{
content
:
''
;
display
:
block
;
position
:
absolute
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
border-radius
:
50%
;
border
:
2px
solid
#b1e2ff
;
opacity
:
0
;
-webkit-animation
:
ripple
4.5s
ease-out
2.25s
infinite
;
-moz-animation
:
ripple
4.5s
ease-out
2.25s
infinite
;
-o-animation
:
ripple
4.5s
ease-out
2.25s
infinite
;
animation
:
ripple
4.5s
ease-out
2.25s
infinite
}
.grid2
.el-card
,
.gsbform
{
border-radius
:
0
}
lesshat-selector
{
-lh-property
:
0
}
@-webkit-keyframes
ripple
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.1
,
.1
)}
5
%
{
opacity
:
1
}
100
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
1
)}}
@-moz-keyframes
ripple
{
0
%
{
opacity
:
0
;
-moz-transform
:
scale
(
.1
,
.1
)}
5
%
{
opacity
:
1
}
100
%
{
opacity
:
0
;
-moz-transform
:
scale
(
1
)}}
@-o-keyframes
ripple
{
0
%
{
opacity
:
0
;
-o-transform
:
scale
(
.1
,
.1
)}
5
%
{
opacity
:
1
}
100
%
{
opacity
:
0
;
-o-transform
:
scale
(
1
)}}
@keyframes
ripple
{
0
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
.1
,
.1
);
-moz-transform
:
scale
(
.1
,
.1
);
-ms-transform
:
scale
(
.1
,
.1
);
transform
:
scale
(
.1
,
.1
)}
5
%
{
opacity
:
1
}
100
%
{
opacity
:
0
;
-webkit-transform
:
scale
(
1
);
-moz-transform
:
scale
(
1
);
-ms-transform
:
scale
(
1
);
transform
:
scale
(
1
)}}
[
not-existing
]
{
zoom
:
1
}
.module-wrap
{
min-width
:
1000px
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve-head
{
margin-bottom
:
60px
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve-head
h1
{
text-align
:
center
;
font-size
:
24px
;
color
:
#373D41
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve-head
.index-info
{
display
:
block
;
margin-top
:
12px
;
font-size
:
16px
;
color
:
#5F6367
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve-head
.index-info
:hover
{
text-decoration
:
none
;
color
:
#b1e2ff
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
{
margin-top
:
80px
;
margin-bottom
:
50px
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-img
,
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-img
img
{
width
:
100%
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-bar
{
padding
:
0
10%
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-bar
.main-bar-list
{
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
padding
:
0
10px
;
float
:
left
;
width
:
25%
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-bar
.main-bar-list
img
{
width
:
50px
;
height
:
50px
;
float
:
left
}
.aliyun-index-serve-2016
.module-wrap
.ali-main-serve
.main-bar
.main-bar-list
p
{
float
:
left
;
line-height
:
50px
;
color
:
#373D41
;
font-size
:
12px
;
padding-left
:
10px
}
.grid2
{
display
:
flex
}
.grid2
.el-button--text
:hover
{
color
:
#00f
}
.grid2
.el-button--text
{
color
:
#000
}
.gsbform
{
padding-bottom
:
10px
;
border-bottom
:
0
}
.gsbform
.el-form
{
width
:
100%
;
height
:
100%
;
padding
:
10px
;
margin
:
5px
;
position
:
relative
}
.popups
,
.popups-kailong
,
.popups-two
,
.popups-zhanwei
{
position
:
absolute
}
.frmcollapse
{
margin-top
:
5px
}
.leftmenu
{
-moz-user-select
:
none
;
-webkit-user-select
:
none
;
-ms-user-select
:
none
;
-khtml-user-select
:
none
;
user-select
:
none
;
height
:
100%
}
.leftmenu
.el-menu
{
height
:
100%
;
width
:
208px
}
.leftmenu
.el-submenu
.el-menu-item
{
width
:
100%
!important
;
min-width
:
0
!important
;
font-size
:
12px
!important
;
height
:
40px
!important
;
line-height
:
40px
!important
;
background-color
:
#313356
!important
}
.leftmenu
.el-submenu
.el-menu-item
div
{
margin-left
:
25px
}
.leftmenu
.el-menu-item
:hover
,
.leftmenu
.el-submenu
.is-active
,
.leftmenu
.is-active
,
.leftmenu
.is-opened
.el-menu-item
:hover
{
background-color
:
#37AAFF
!important
;
color
:
#fff
!important
}
.popups
{
display
:
none
;
top
:
75px
;
left
:
0
;
width
:
1200px
;
height
:
388px
;
box-shadow
:
0
0
8px
0
rgba
(
0
,
0
,
0
,
.1
);
z-index
:
9999
;
border
:
1px
solid
rgba
(
47
,
149
,
252
,
1
)}
.popups-zhanwei
{
top
:
-20px
;
left
:
0
;
width
:
100%
;
height
:
20px
}
.popups-left
{
width
:
177px
;
height
:
100%
;
float
:
left
;
background-color
:
#2F95FC
;
cursor
:
default
}
.popups-left-item
,
.popups-left-item-cla
{
line-height
:
64.66px
;
cursor
:
pointer
;
font-size
:
16px
;
text-align
:
left
}
.popups-left-item
{
width
:
100%
;
height
:
16.66%
;
color
:
#fff
}
.popups-left-item
span
{
display
:
inline-block
;
width
:
90%
;
height
:
100%
;
margin-left
:
18px
;
border-bottom
:
1px
solid
rgba
(
216
,
216
,
216
,
.7
);
color
:
#fff
}
.popups-left-item-cla
{
width
:
90%
;
height
:
16.66%
;
padding-left
:
18px
;
color
:
#2F95FC
;
border-bottom
:
1px
solid
rgba
(
216
,
216
,
216
,
.5
);
background-color
:
#F5FCFF
}
.popups-right
{
width
:
1023px
;
height
:
388px
;
float
:
right
;
background-color
:
#F5FCFF
;
text-align
:
left
;
padding
:
18px
38px
;
box-sizing
:
border-box
;
cursor
:
default
;
display
:
flex
}
.popups-right-item
{
flex
:
1
;
height
:
100%
}
.popups-right-title
{
line-height
:
40px
;
font-size
:
16px
;
font-family
:
MicrosoftYaHei
;
font-weight
:
600
;
color
:
#333
;
margin-right
:
50px
;
border-bottom
:
1px
solid
#e5e6e7
}
.popups-right-it
{
width
:
100%
;
padding
:
20px
0
;
line-height
:
12px
;
float
:
left
;
font-size
:
14px
;
font-family
:
MicrosoftYaHei
;
font-weight
:
400
;
color
:
#303133
;
cursor
:
pointer
;
text-align
:
left
;
overflow
:
hidden
}
.popups-right-it
:hover
{
color
:
#34C5F0
}
.popups-kailong
{
top
:
-10px
;
left
:
220px
;
width
:
0
;
height
:
0
;
border-right
:
10px
solid
transparent
;
border-left
:
10px
solid
transparent
;
border-bottom
:
10px
solid
rgba
(
225
,
225
,
225
,
1
)}
.popups-kailong
span
{
display
:
block
;
width
:
0
;
height
:
0
;
border-left
:
8px
solid
transparent
;
border-right
:
8px
solid
transparent
;
border-bottom
:
8px
solid
#fff
;
position
:
absolute
;
left
:
-8px
;
top
:
2px
}
.popups-two
{
top
:
83px
;
width
:
100%
;
height
:
390px
;
z-index
:
999
}
.popups-two-main
{
width
:
1200px
;
height
:
100%
;
margin
:
0
auto
}
.popups-two-main-left
{
float
:
left
;
width
:
200px
;
height
:
100%
;
padding
:
14px
0
;
background
:
rgba
(
0
,
0
,
0
,
.6
);
box-sizing
:
border-box
;
border-radius
:
3px
;
-webkit-border-radius
:
3px
}
.popups-two-left-item
,
.popups-two-left-item-cla
{
width
:
100%
;
height
:
60px
;
line-height
:
60px
;
font-size
:
16px
;
color
:
rgba
(
255
,
255
,
255
,
.7
);
cursor
:
pointer
;
text-align
:
left
}
.popups-two-left-item-cla
{
background-color
:
rgba
(
38
,
146
,
255
,
1
)}
.popups-two-left-item-span
{
display
:
inline-block
;
width
:
78%
;
height
:
100%
;
margin
:
0
20px
}
.popups-two-right
{
width
:
1000px
;
height
:
100%
;
overflow-y
:
auto
;
float
:
right
;
background-color
:
#fff
;
text-align
:
left
;
padding
:
19px
40px
;
box-sizing
:
border-box
;
cursor
:
default
}
.popups-tow-right-it
,
.popups-tow-right-title
{
font-size
:
14px
;
font-family
:
PingFangSC-Regular
;
overflow
:
hidden
}
.popups-tow-right-title
{
float
:
left
;
cursor
:
pointer
;
width
:
11%
;
margin-right
:
10px
;
color
:
rgba
(
56
,
64
,
75
,
1
);
font-weight
:
700
}
.popups-tow-right-lists
{
float
:
left
;
width
:
80%
;
height
:
100%
}
.popups-tow-right-it
{
float
:
left
;
cursor
:
pointer
;
padding-right
:
18px
;
padding-bottom
:
14px
;
font-weight
:
400
;
color
:
#666
}
.popups-tow-right-it
:hover
{
color
:
#2692FF
}
.searchform
.el-range-editor.el-input__inner
{
width
:
200px
}
.el-radio-group
{
min-width
:
300px
}
.selectsubsystem
{
width
:
208px
;
height
:
79px
;
color
:
#fff
;
padding
:
20px
;
box-sizing
:
border-box
;
background
:
rgba
(
83
,
86
,
128
,
1
);
cursor
:
pointer
}
.selectsubsystem
>
span
{
display
:
inline-block
;
width
:
100%
;
height
:
100%
;
line-height
:
36px
;
background
:
#313356
;
text-align
:
center
;
font-size
:
16px
;
color
:
#dbd8be
}
.el-menu-item
:hover
{
outline
:
0
;
background-color
:
#2692ff
}
.nav_color
:hover
{
color
:
#2692ff
}
.spechorizotal
.el-menu
li
:hover
{
background
:
red
;
margin-top
:
-6px
}
.spechorizotal
.el-menu-item
span
{
font-size
:
16px
}
.spechorizotal
ul
{
border
:
none
}
.treelistdiv
.custom-tree-node
.labeltitle
{
color
:
#000
}
.treelistdiv
.custom-tree-node
.toolbar
:hover
{
background-color
:
#000
;
border-radius
:
5px
;
padding
:
5px
}
.treelistdiv
.el-tree-node__content
{
height
:
30px
}
.treelistdiv
.el-tree-node
.iscurrent
.is-focusable
,
.treelistdiv
.el-tree-node__content
:hover
{
background-color
:
#4486e9
}
.treelistdiv
.el-tree-node__content
:focus
{
background-color
:
red
}
\ No newline at end of file
\ No newline at end of file
bigdata/app/front/entry/public/imgs/bklogin.png
0 → 100644
View file @
22a21a63
360 KB
bigdata/app/front/entry/public/js/gtb.js
0 → 100644
View file @
22a21a63
axios
.
get
(
"/vue/comp/base"
).
then
(
function
(
res
){
if
(
res
.
data
){
res
.
data
.
forEach
(
function
(
comp
){
var
obj
=
eval
(
"("
+
comp
+
")"
);
Vue
.
component
(
obj
.
vname
,
obj
);
});
}
console
.
log
(
"load base component finished..."
);
function
buildPromise
(
compath
){
return
Promise
.
resolve
(
new
Promise
(
function
(
resolve
,
reject
){
//异步加载组件
axios
.
get
(
compath
).
then
(
function
(
res
){
console
.
log
(
compath
);
// var obj=eval("("+res.data+")");
var
obj
=
eval
(
"("
+
unescape
(
res
.
data
)
+
")"
);
resolve
(
obj
);
}).
catch
(
function
(
reason
){
console
.
log
(
reason
)
})
}));
}
function
componentFactory
(
comname
){
var
compath
=
"/vue/comp/"
+
comname
;
var
tmpFunc
=
function
(){
return
buildPromise
(
compath
);
}
return
tmpFunc
;
}
window
.
componentFactory
=
componentFactory
;
const
store
=
new
Vuex
.
Store
({
state
:
{
currentCodePath
:
""
,
currentUser
:
null
,
curSelRow
:{},
company
:
null
,
},
});
Vue
.
mixin
({
props
:[
"groupName"
,
"modelName"
],
computed
:
Vuex
.
mapState
({
currentUser
:
state
=>
{
return
state
.
currentUser
;
},
codePath
:
state
=>
{
return
state
.
currentCodePath
;
},
ctlName
:
function
(){
return
this
.
groupName
+
"/"
+
this
.
modelName
+
"Ctl"
;
},
currentCompany
:
state
=>
{
return
state
.
company
;
},
}),
methods
:{
getUrl
(
md
){
return
"web/"
+
this
.
ctlName
+
"/"
+
md
;
},
}
});
var
routes
=
[];
var
codepaths
=
{};
axios
.
get
(
"/web/common/metaCtl/getRouteConfig"
).
then
(
d
=>
{
Object
.
keys
(
d
.
data
.
data
.
bizs
).
map
((
k
)
=>
{
//path是路由,静态的路由
var
pathTmp
=
d
.
data
.
data
.
bizs
[
k
].
path
;
var
codepath
=
d
.
data
.
data
.
bizs
[
k
].
codepath
;
var
tmp
=
{
"path"
:
pathTmp
,
"components"
:{
"default"
:
componentFactory
(
d
.
data
.
data
.
bizs
[
k
].
comname
)
},};
routes
.
push
(
tmp
);
codepaths
[
pathTmp
]
=
codepath
;
//暂存每个叶子节点对应的codepath
});
console
.
log
(
routes
);
var
router
=
new
VueRouter
({
routes
:
routes
,
});
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
store
.
state
.
currentCodePath
=
codepaths
[
to
.
path
];
store
.
state
.
company
=
companyinfo
;
next
();
});
var
app
=
new
Vue
({
el
:
"#app"
,
router
:
router
,
store
:
store
,
data
:
function
(){
return
{
loading
:
true
,
logins
:[
],
stageHeight
:
0
,
tocomany
:
tocompanyinfo
,
};
},
created
(){
$
(
window
).
resize
(()
=>
{
var
h
=
$
(
window
).
height
();
var
m
=
h
-
90
;
$
(
"#app"
).
css
(
"min-height"
,
h
+
"px"
);
$
(
"#app-stage"
).
css
(
"min-height"
,
m
+
"px"
);
});
var
h
=
$
(
window
).
height
();
var
m
=
h
-
90
;
$
(
"#app"
).
css
(
"min-height"
,
h
+
"px"
);
$
(
"#app-stage"
).
css
(
"min-height"
,
m
+
"px"
);
this
.
stageHeight
=
m
;
$
(
"#app"
).
css
(
"visibility"
,
'visible'
);
this
.
loading
=
false
;
this
.
$store
.
state
.
company
=
companyinfo
;
},
updated
(){
},
mounted
(){
var
self
=
this
;
this
.
checkLogin
(()
=>
{
if
(
!
this
.
currentUser
){
// this.logins.push({"icon":"el-icon-location-outline","title":"登录","type":"text",key:"login","isOnGrid":true});
// this.logins.push({"icon":"el-icon-edit-outline","title":"注册","type":"text",key:"register","isOnGrid":true});
if
(
location
.
href
.
indexOf
(
"gtb"
)
>=
0
){
this
.
$router
.
replace
(
"/tlogin"
);
}
}
else
{
this
.
logins
.
push
({
"icon"
:
"el-icon-arrow-right"
,
"title"
:
"退出"
,
"type"
:
"text"
,
key
:
"exit"
,
"isOnGrid"
:
true
});
this
.
$router
.
replace
(
"/gtbhome"
);
}
});
},
methods
:{
showMask
(){
},
hideMask
(){
},
localdata
(
key
,
item
){
if
(
item
){
localStorage
.
setItem
(
key
,
JSON
.
stringify
(
item
));
}
else
{
var
strobj
=
localStorage
.
getItem
(
key
);
if
(
strobj
){
return
JSON
.
parse
(
strobj
);
}
else
{
return
null
;
}
}
},
appclick
(){
location
.
href
=
"/gtb"
;
},
settingclick
(){
location
.
href
=
"/admin"
},
async
exitclick
(){
var
d
=
await
this
.
$root
.
postReq
(
"/web/auth/userCtl/exit"
,{});
location
.
href
=
"/gtb"
;
},
async
checkLogin
(
cbk
){
var
d
=
await
this
.
$root
.
postReq
(
"/web/auth/userCtl/checkLogin"
,{});
if
(
d
&&
d
.
status
==
0
&&
d
.
data
){
this
.
$store
.
state
.
currentUser
=
d
.
data
;
//检查是否有公司信息
if
(
!
tocompanyinfo
&&
this
.
currentUser
&&
!
this
.
currentUser
.
isSuper
){
this
.
$router
.
push
({
path
:
"/companyinfo"
});
}
if
(
cbk
){
cbk
();
}
}
else
{
//alert("no login");
if
(
cbk
){
cbk
();
}
}
},
onselect
(
code
){
if
(
code
==
"login"
){
this
.
$router
.
push
(
"/login"
);
}
if
(
code
==
"register"
){
this
.
$router
.
push
(
"/register"
);
}
},
getReq
(
path
,
data
){
var
self
=
this
;
return
axios
.
get
(
path
,{
params
:
data
,
"headers"
:{
"codepath"
:
this
.
currentCodePath
}}).
then
(
function
(
r
){
if
(
r
&&
r
.
data
&&
r
.
data
.
status
==-
99
){
self
.
$store
.
state
.
currentUser
=
null
;
self
.
hideMask
();
self
.
hideMenu
();
self
.
$router
.
push
(
"/"
);
self
.
$message
({
message
:
'扫码成为合伙人'
,
type
:
'warning'
});
self
.
showLogin
();
return
null
;
}
else
{
if
(
r
.
data
&&
r
.
data
.
bizmsg
&&
r
.
data
.
bizmsg
!=
"empty"
){
self
.
$message
({
message
:
r
.
data
.
bizmsg
,
type
:
'warning'
});
}
return
r
.
data
?
r
.
data
:
null
;;
}
});
},
postReq
(
path
,
data
){
return
axios
.
post
(
path
,
data
,{
"headers"
:{
'codepath'
:
this
.
currentCodePath
}}).
then
(
function
(
r
){
if
(
r
&&
r
.
data
&&
r
.
data
.
status
==-
99
){
self
.
$store
.
state
.
currentUser
=
null
;
self
.
hideMask
();
self
.
hideMenu
();
self
.
$router
.
push
(
"/"
);
self
.
$message
({
message
:
'扫码成为合伙人'
,
type
:
'warning'
});
self
.
showLogin
();
return
null
;
}
else
{
return
r
.
data
?
r
.
data
:
null
;
}
});
},
},
});
});
});
bigdata/app/front/vues/base/form/form.css
View file @
22a21a63
...
@@ -7,4 +7,9 @@
...
@@ -7,4 +7,9 @@
.gsbform
.el-form
{
.gsbform
.el-form
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
padding
:
10px
;
margin
:
5px
;
position
:
relative
;
}
.frmcollapse
{
margin-top
:
5px
;
}
}
\ No newline at end of file
bigdata/app/front/vues/base/form/form.vue
View file @
22a21a63
...
@@ -3,8 +3,8 @@ var tmpl=`
...
@@ -3,8 +3,8 @@ var tmpl=`
<div
style=
"text-align:center"
><slot
name=
"title"
></slot></div>
<div
style=
"text-align:center"
><slot
name=
"title"
></slot></div>
<div
style=
"text-align:right"
><slot
name=
"topbtnarea"
></slot></div>
<div
style=
"text-align:right"
><slot
name=
"topbtnarea"
></slot></div>
<transition
name =
"fade"
>
<transition
name =
"fade"
>
<el-form
v-if=
"isshow"
class=
"idform"
:disabled=
"isdisabled"
style=
"padding:10px;margin:5px;position:relative;"
ref=
"refform"
label-position=
"right"
label-width=
"100px"
:rules=
"metaRules"
:inline=
"true"
status-icon=
"true"
:model=
"formModel"
>
<el-form
v-if=
"isshow"
class=
"idform"
:disabled=
"isdisabled"
ref=
"refform"
label-position=
"right"
label-width=
"100px"
:rules=
"metaRules"
:inline=
"true"
status-icon=
"true"
:model=
"formModel"
>
<gsb-collapse
:title=
"group.title"
isShow=
"true"
v-for=
"group in formMetaGroups"
style=
"margin-top:5px
"
>
<gsb-collapse
class=
"frmcollapse"
:title=
"group.title"
isShow=
"true"
v-for=
"group in formMetaGroups
"
>
<el-row>
<el-row>
<
template
v-for=
"(item,index) in group.ctls"
>
<
template
v-for=
"(item,index) in group.ctls"
>
<el-col
:xs=
"getColSpan(group,0)"
:sm=
"getColSpan(group,1)"
:md=
"getColSpan(group,2)"
:lg=
"getColSpan(group,3)"
:xl=
"getColSpan(group,4)"
>
<el-col
:xs=
"getColSpan(group,0)"
:sm=
"getColSpan(group,1)"
:md=
"getColSpan(group,2)"
:lg=
"getColSpan(group,3)"
:xl=
"getColSpan(group,4)"
>
...
...
bigdata/app/front/vues/pages/gtbhome/gtbhome.css
0 → 100644
View file @
22a21a63
.gtb-home
{
display
:
flex
;
width
:
100%
;
height
:
100%
;
margin
:
auto
;
opacity
:
0.8
;
align-items
:
center
;
justify-content
:
center
;
}
.gtb-home
.app-child
{
width
:
234px
;
height
:
274px
;
margin
:
15px
;
background-color
:
bisque
;
position
:
relative
;
}
.gtb-home
.app-child
:hover
{
border
:
1px
solid
white
}
\ No newline at end of file
bigdata/app/front/vues/pages/gtbhome/gtbhome.html
0 → 100644
View file @
22a21a63
<div
class=
"gtb-home"
>
<div
v-for=
"app in myapps"
class=
"app-child"
:style=
"bgimg(app)"
>
<span
@
click=
"systemsetting(app)"
v-if=
"currentUser && currentUser.roles.indexOf(\'common\')>=0"
style=
"position: absolute;left:5px;top: 10px;font-size:20px;color:red;padding: 5px;cursor: pointer;"
><i
class=
"el-icon-setting"
></i></span>
<div
class=
"activeColor"
@
click=
"goapplogin(app)"
style=
"text-align:right;font-size: 0.8em;cursor: pointer;"
>
GO
</div>
</div>
</div>
\ No newline at end of file
bigdata/app/front/vues/pages/gtbhome/gtbhome.js
0 → 100644
View file @
22a21a63
{
template
:
'${tmpl}'
,
data
:
function
(){
return
{
apps
:
null
,
bubbles
:[
'x'
,
'y'
,
'x'
,
'y'
,
'x'
,
'y'
,
'x'
,
'y'
,
'x'
,
'y'
],
pxheight
:
"800px"
,
myapps
:[],
carisshow
:
false
,
}
},
mounted
:
function
(){
this
.
pxheight
=
(
this
.
$root
.
stageHeight
-
60
)
+
"px"
;
this
.
myapps
=
tocompanyinfo
?
tocompanyinfo
.
apps
:[];
},
created
:
function
(){
},
computed
:
{
},
methods
:{
async
systemsetting
(
app
){
var
d
=
await
this
.
$root
.
postReq
(
"/web/auth/userCtl/sysManageForApp?appKey="
+
app
.
appkey
+
"&toKey="
+
appinfo
.
appkey
,
tocompanyinfo
);
window
.
open
(
d
.
data
.
jumpUrl
);
},
bgimg
(
app
){
console
.
log
(
app
.
showimgUrl
);
return
"background:url('"
+
app
.
showimgUrl
+
"') no-repeat;background-size: cover"
;
},
async
goapplogin
(
app
){
var
d
=
await
this
.
$root
.
postReq
(
"/web/auth/userCtl/goLoginForApp"
,
app
);
if
(
d
&&
d
.
status
==
0
&&
d
.
data
){
console
.
log
(
JSON
.
stringify
(
d
.
data
));
window
.
open
(
d
.
data
.
jumpUrl
);
}
else
{
}
}
},
vname
:
"gsb_gtbhome"
}
bigdata/app/front/vues/pages/home/home.css
View file @
22a21a63
...
@@ -56,4 +56,9 @@
...
@@ -56,4 +56,9 @@
bottom
:
50px
;
bottom
:
50px
;
right
:
50px
;
right
:
50px
;
z-index
:
99999
;
z-index
:
99999
;
}
.purchaseCar-hide
{
z-index
:
0
;
height
:
0px
;
}
}
\ No newline at end of file
bigdata/app/front/vues/pages/home/home.html
View file @
22a21a63
...
@@ -28,8 +28,8 @@
...
@@ -28,8 +28,8 @@
</el-row>
</el-row>
</el-carousel-item>
</el-carousel-item>
</el-carousel>
</el-carousel>
<div
v-if=
"currentUser && !currentUser.isSuper"
class=
"purchaseCar"
style=
"width:300px;height:600px"
>
<div
v-if=
"currentUser && !currentUser.isSuper"
class=
"purchaseCar"
>
<el-card
id=
"buycar"
style=
"
width:320px;
height:500px"
>
<el-card
id=
"buycar"
style=
"height:500px"
>
<span
@
click=
"showcar"
style=
"position:absolute;right: 15px;top:15px;font-size:0.5em;cursor: pointer;"
class=
"el-icon-remove-outline"
></span>
<span
@
click=
"showcar"
style=
"position:absolute;right: 15px;top:15px;font-size:0.5em;cursor: pointer;"
class=
"el-icon-remove-outline"
></span>
<el-tooltip
v-if=
"tocompanyinfo"
class=
"item"
effect=
"dark"
content=
"点击切换要进入的公司"
placement=
"top-start"
>
<el-tooltip
v-if=
"tocompanyinfo"
class=
"item"
effect=
"dark"
content=
"点击切换要进入的公司"
placement=
"top-start"
>
<span
style=
"font-size:16px;cursor: pointer;"
@
click=
"cmpsclick"
>
<span
style=
"font-size:16px;cursor: pointer;"
@
click=
"cmpsclick"
>
...
...
bigdata/app/front/vues/pages/home/home.js
View file @
22a21a63
...
@@ -46,9 +46,11 @@
...
@@ -46,9 +46,11 @@
showcar
(){
showcar
(){
if
(
this
.
carisshow
){
if
(
this
.
carisshow
){
$
(
"#buycar"
).
fadeOut
(
1500
);
$
(
"#buycar"
).
fadeOut
(
1500
);
$
(
"#buycar"
).
addClass
(
"purchaseCar-hide"
);
this
.
carisshow
=
false
;
this
.
carisshow
=
false
;
}
else
{
}
else
{
$
(
"#buycar"
).
fadeIn
(
1500
);
$
(
"#buycar"
).
fadeIn
(
1500
);
$
(
"#buycar"
).
removeClass
(
"purchaseCar-hide"
);
this
.
carisshow
=
true
;
this
.
carisshow
=
true
;
}
}
},
},
...
...
bigdata/app/front/vues/pages/tlogin/tlogin.css
0 → 100644
View file @
22a21a63
.tloginpage
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
}
.tlogin
{
width
:
428px
;
height
:
308px
;
margin
:
auto
;
}
.tlogin
.el-card
{
background
:
rgba
(
255
,
255
,
255
,
1
);
border-radius
:
12px
;
}
.tlogin
.el-input__inner
{
height
:
40px
;
width
:
308px
;
}
.tlogin
.el-button
{
width
:
308px
;
}
.tlogin
.el-col
{
text-align
:
center
}
bigdata/app/front/vues/pages/tlogin/tlogin.html
0 → 100644
View file @
22a21a63
<div
class=
"tloginpage"
>
<div>
公司宝logo
</div>
<div>
个体宝登录系统
</div>
<div
class=
"tlogin"
>
<gsb-form
class=
"tlogin"
ref=
"loginFrm"
@
btnclick=
"loginclick"
:metaData=
"ldms"
:refvalidatemethod=
"validmethod"
>
</gsb-form>
</div>
</div>
bigdata/app/front/vues/pages/tlogin/tlogin.js
0 → 100644
View file @
22a21a63
{
template
:
'${tmpl}'
,
data
:
function
(){
return
{
ldms
:[],
}
},
mounted
:
function
(){
this
.
ldms
=
[
{
"title"
:
null
,
"colnum"
:
1
,
ctls
:[
{
"type"
:
"input"
,
"label"
:
""
,
"prop"
:
"userName"
,
"placeHolder"
:
"请输入登录账号"
,
"style"
:
"margin-top:5px"
,
rules
:[
{
"required"
:
true
,
"message"
:
' '
,
"trigger"
:
'blur'
},,]},
{
"type"
:
"input"
,
"label"
:
""
,
"prop"
:
"password"
,
"placeHolder"
:
"请输入登录密码"
,
"style"
:
""
,
rules
:[
{
"required"
:
true
,
"message"
:
' '
,
"trigger"
:
'blur'
},]},
{
"type"
:
"btn"
,
"label"
:
"登录"
,
"prop"
:
"btnLogin"
,
"placeHolder"
:
"请输入手机号"
,
"style"
:
""
,
"face"
:
"primary"
},
]
},
];
},
created
:
function
(){
},
methods
:{
validmethod
:
function
(
rule
,
value
,
callback
)
{
console
.
log
(
"code validdate"
);
var
self
=
this
;
var
fm
=
this
.
currentFrm
.
getFormModel
();
return
callback
();
},
loginclick
:
function
(
fm
,
prop
){
var
self
=
this
;
var
fm
=
this
.
$refs
.
loginFrm
.
getFormModel
();
this
.
$refs
.
loginFrm
.
overBtnLoading
(
prop
);
this
.
$refs
.
loginFrm
.
validate
(
function
(
v
){
if
(
v
){
console
.
log
(
v
);
self
.
$root
.
postReq
(
"/web/auth/userCtl/login"
,{
u
:
fm
}).
then
(
function
(
d
){
if
(
d
.
status
==
0
){
console
.
log
(
d
.
data
);
var
tourl
=
""
;
if
(
d
.
data
.
jumpUrl
.
indexOf
(
"?"
)
>=
0
){
tourl
=
d
.
data
.
jumpUrl
+
"&"
+
"gtb=1"
;
}
else
{
tourl
=
d
.
data
.
jumpUrl
+
"?gtb=1"
;
}
location
.
href
=
tourl
;
}
else
{
self
.
$alert
(
d
.
msg
,
'提示'
,
{
confirmButtonText
:
'确定'
,
callback
:
action
=>
{
}
});
}
});
}
});
},
},
vname
:
"gsb-tlogin"
}
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