Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sim
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
limeimei
sim
Commits
e102b09b
Commit
e102b09b
authored
Nov 29, 2023
by
April
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://120.77.240.215:9701/limeimei/sim
parents
fece0185
5b893edd
Changes
21
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
974 additions
and
282 deletions
+974
-282
222.png
src/assets/visitor/222.png
+0
-0
index.js
src/router/index.js
+17
-0
common.vue
src/views/common.vue
+1
-1
common2.vue
src/views/common2.vue
+1
-1
success.vue
src/views/hotels/real/success.vue
+128
-114
authSuccess.vue
src/views/sim/authSuccess.vue
+46
-10
authentify.vue
src/views/sim/authentify.vue
+5
-7
pay.vue
src/views/sim/pay.vue
+22
-1
photograph.vue
src/views/sim/photograph.vue
+8
-9
register.vue
src/views/sim/register.vue
+15
-1
roomcard.vue
src/views/sim/roomcard.vue
+46
-3
success.vue
src/views/sim/success.vue
+21
-5
authSuccess.vue
src/views/visitor/authSuccess.vue
+42
-28
authentify.vue
src/views/visitor/authentify.vue
+55
-5
card.vue
src/views/visitor/card.vue
+32
-20
disreserve.vue
src/views/visitor/disreserve.vue
+56
-24
disreserve2.vue
src/views/visitor/disreserve2.vue
+216
-0
photograph.vue
src/views/visitor/photograph.vue
+12
-26
photograph2.vue
src/views/visitor/photograph2.vue
+208
-0
reserved.vue
src/views/visitor/reserved.vue
+1
-1
send.vue
src/views/visitor/send.vue
+42
-26
No files found.
src/assets/visitor/222.png
0 → 100644
View file @
e102b09b
14.2 KB
src/router/index.js
View file @
e102b09b
...
...
@@ -15,11 +15,13 @@ import hotelInfoPay from "../views/hotels/info/pay.vue";
import
hotelInfoGrant
from
"../views/hotels/info/roomcard.vue"
;
import
hotelInfoSuccess
from
"../views/hotels/info/success.vue"
;
import
Disreserve
from
"../views/visitor/disreserve.vue"
;
import
Disreserve2
from
"../views/visitor/disreserve2.vue"
;
import
Authentify
from
"../views/visitor/authentify.vue"
;
import
AuthSuccess
from
"../views/visitor/authSuccess.vue"
;
import
Card
from
"../views/visitor/card.vue"
;
import
Send
from
"../views/visitor/send.vue"
;
import
visitorPhoto
from
"../views/visitor/photograph.vue"
;
import
visitorPhoto2
from
"../views/visitor/photograph2.vue"
;
import
Sim
from
"../views/sim/index.vue"
;
import
hotelOrderCheck
from
"../views/hotels/order/check.vue"
;
import
hotelRegistration
from
"../views/hotels/registration.vue"
;
...
...
@@ -82,6 +84,13 @@ const routes = [
meta
:
{
title
:
"访客信息"
,
},
},
{
path
:
"/disreserve2"
,
name
:
"disreserve2"
,
component
:
Disreserve2
,
meta
:
{
title
:
"访客信息"
,
},
},
{
path
:
"/authentify"
,
...
...
@@ -123,6 +132,14 @@ const routes = [
title
:
"发放访客卡"
,
},
},
{
path
:
"/visitor/photo2"
,
name
:
"visitorPhoto2"
,
component
:
visitorPhoto2
,
meta
:
{
title
:
"发放访客卡"
,
},
},
],
},
...
...
src/views/common.vue
View file @
e102b09b
...
...
@@ -58,7 +58,7 @@
},
// 倒计时
decrease
()
{
return
//
return
// this.timer && clearInterval(this.timer);
var
that
=
this
;
that
.
timer
=
setInterval
(()
=>
{
...
...
src/views/common2.vue
View file @
e102b09b
...
...
@@ -96,7 +96,7 @@
},
// 倒计时
decrease
()
{
return
//
return
// this.timer && clearInterval(this.timer);
var
that
=
this
;
that
.
timer
=
setInterval
(()
=>
{
...
...
src/views/hotels/real/success.vue
View file @
e102b09b
...
...
@@ -49,7 +49,7 @@
</div>
<div
class=
"collection_info_single"
>
<div
class=
"collection_info_single_title"
>
出生:
</div>
<div
class=
"collection_info_single_text"
>
{{
info
.
birth
}}
</div>
<div
class=
"collection_info_single_text"
>
{{
formatBirth
(
info
.
birth
)
}}
</div>
</div>
<div
class=
"collection_info_single"
>
<div
class=
"collection_info_single_title"
>
出生地点:
</div>
...
...
@@ -89,7 +89,7 @@
</
template
>
<
script
>
export
default
{
export
default
{
data
()
{
return
{
info
:
{},
...
...
@@ -103,6 +103,9 @@ export default {
}
},
methods
:
{
formatBirth
(
birth
)
{
return
birth
.
substring
(
6
,
14
)
},
// 返回上一步
goback
()
{
this
.
$router
.
go
(
-
1
);
...
...
@@ -113,19 +116,20 @@ export default {
});
},
},
};
};
</
script
>
<
style
scoped
>
.order
{
.order
{
width
:
100%
;
height
:
100%
;
padding
:
0
30px
;
box-sizing
:
border-box
;
background
:
#f6f7fb
;
border-radius
:
14px
;
}
.goback
{
}
.goback
{
width
:
94px
;
height
:
34px
;
position
:
absolute
;
...
...
@@ -139,51 +143,60 @@ export default {
border
:
1px
solid
#707070
;
text-align
:
center
;
line-height
:
34px
;
}
.order_top
{
}
.order_top
{
height
:
88px
;
width
:
100%
;
position
:
relative
;
}
.order_title
{
}
.order_title
{
font-size
:
28px
;
color
:
#000000
;
width
:
100%
;
text-align
:
center
;
line-height
:
88px
;
}
.collection
{
}
.collection
{
width
:
100%
;
background
:
white
;
padding-top
:
80px
;
box-sizing
:
border-box
;
height
:
486px
;
}
.collection_info
{
}
.collection_info
{
display
:
flex
;
align-items
:
flex-start
;
justify-content
:
center
;
}
.collection_info_head
{
}
.collection_info_head
{
width
:
167px
;
height
:
194px
;
margin-right
:
40px
;
}
.collection_info_single
{
}
.collection_info_single
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
12px
;
}
.collection_info_single_title
{
}
.collection_info_single_title
{
font-size
:
20px
;
color
:
#333333
;
margin-right
:
10px
;
}
.collection_info_single_text
{
}
.collection_info_single_text
{
font-size
:
20px
;
color
:
#666666
;
}
.collection_bto
{
}
.collection_bto
{
width
:
132px
;
height
:
50px
;
background
:
#eb9c4e
;
...
...
@@ -194,8 +207,9 @@ export default {
font-size
:
18px
;
color
:
white
;
margin
:
56px
auto
0
;
}
.collection_bto2
{
}
.collection_bto2
{
width
:
132px
;
height
:
50px
;
background
:
#eb9c4e
;
...
...
@@ -206,5 +220,5 @@ export default {
font-size
:
18px
;
color
:
white
;
margin
:
4px
auto
0
;
}
}
</
style
>
\ No newline at end of file
src/views/sim/authSuccess.vue
View file @
e102b09b
...
...
@@ -14,14 +14,36 @@
<img
:src=
"info.photo"
class=
"auth_img"
>
<div
class=
"auth_right"
>
<div>
姓名:
<span
style=
"color: #666666;"
>
{{
info
.
name
}}
</span></div>
<div>
性别:
<span
style=
"color: #666666;"
>
{{
info
.
gender
}}
</span></div>
<div>
性别:
<span
style=
"color: #666666;"
>
{{
info
.
sex
}}
</span></div>
<div>
民族:
<span
style=
"color: #666666;"
>
{{
info
.
nation
}}
</span></div>
<div>
出生:
<span
style=
"color: #666666;"
>
{{
info
.
birth
}}
</span></div>
<div>
出生:
<span
style=
"color: #666666;"
>
{{
formatBirth
(
info
.
idnumber
)
}}
</span></div>
<div>
住址:
<span
style=
"color: #666666;"
>
{{
info
.
address
}}
</span></div>
<div>
身份证号码:
<span
style=
"color: #666666;"
>
{{
info
.
idnumber
}}
</span></div>
</div>
</div>
<div
class=
"auth_center"
v-if=
"type==1"
>
<img
:src=
"info.bmpUrl"
class=
"auth_img"
>
<div
class=
"auth_right"
>
<div>
姓名:
<span
style=
"color: #666666;"
>
{{
info
.
name
}}
</span></div>
<div>
性别:
<span
style=
"color: #666666;"
>
{{
info
.
gender
}}
</span></div>
<div>
出生:
<span
style=
"color: #666666;"
>
{{
info
.
birth
}}
</span></div>
<div>
住址:
<span
style=
"color: #666666;"
>
{{
info
.
birthAddress
}}
</span></div>
<div>
护照号码:
<span
style=
"color: #666666;"
>
{{
info
.
passportNum
}}
</span></div>
<div>
签发地点:
<span
style=
"color: #666666;"
>
{{
info
.
signAddress
}}
</span></div>
</div>
</div>
<div
class=
"auth_center"
v-if=
"type==2"
>
<img
src=
""
class=
"auth_img"
>
<div
class=
"auth_right"
>
<div>
姓名:
<span
style=
"color: #666666;"
>
{{
info
.
name
}}
</span></div>
<div>
身份证号:
<span
style=
"color: #666666;"
>
{{
info
.
Idno
}}
</span></div>
</div>
</div>
<div><el-button
type=
"primary"
@
click=
"toNext"
>
下一步
</el-button>
</div>
</div>
...
...
@@ -38,24 +60,38 @@
data
()
{
return
{
info
:
{},
type
:
0
,
type
:
null
,
}
},
created
()
{
// var info = this.$route.params.info;
// if (info) {
// info = JSON.parse(info);
// this.info = info;
// }
// this.type = this.$route.params.type
var
info
=
this
.
$route
.
params
.
info
;
if
(
info
)
{
info
=
JSON
.
parse
(
info
);
this
.
info
=
info
;
}
this
.
type
=
this
.
$route
.
params
.
type
},
beforeRouteLeave
(
to
,
from
,
next
)
{
to
.
params
.
type
=
this
.
type
next
()
},
methods
:
{
formatBirth
(
birth
)
{
return
birth
.
substring
(
6
,
14
)
},
toBack
()
{
this
.
$router
.
go
(
-
1
);
},
toNext
()
{
this
.
$router
.
push
({
name
:
"pay"
});
this
.
$router
.
push
({
name
:
"pay"
,
params
:
{
info
:
this
.
info
,
type
:
this
.
type
},
});
},
}
...
...
src/views/sim/authentify.vue
View file @
e102b09b
...
...
@@ -34,7 +34,7 @@
<div
style=
"margin-top:70px;"
><el-button
type=
"primary"
@
click=
"verify"
>
身份证、sim卡
</el-button>
<el-button
type=
"primary"
@
click=
"cantonese"
>
护照
</el-button>
</div>
<
button
@
click=
"toNext"
>
下一步
</button
>
<
!--
<button
@
click=
"toNext"
>
下一步
</button>
--
>
</div>
...
...
@@ -65,16 +65,13 @@
},
// 身份证
verify
()
{
alert
(
11
)
return
var
res
=
AppInterface
.
readIdCard
();
if
(
res
)
{
alert
(
res
)
res
=
JSON
.
parse
(
res
);
if
(
res
.
error
==
0
)
{
alert
(
res
)
if
(
res
.
nation
)
{
if
(
res
.
data
.
nation
)
{
this
.
$router
.
push
({
name
:
"simPhoto"
,
...
...
@@ -83,6 +80,8 @@
},
});
}
// sim卡
else
{
this
.
$router
.
push
({
name
:
"simPhoto"
,
...
...
@@ -98,7 +97,6 @@
}
},
cantonese
()
{
alert
(
222
)
this
.
$router
.
push
({
name
:
"simPhoto"
,
params
:
{
...
...
src/views/sim/pay.vue
View file @
e102b09b
...
...
@@ -24,6 +24,23 @@
<
script
>
export
default
{
data
()
{
return
{
info
:
{},
type
:
null
,
}
},
created
()
{
// this.info = this.$route.params.info
this
.
type
=
this
.
$route
.
params
.
type
},
beforeRouteLeave
(
to
,
from
,
next
)
{
// to.params.info = this.info
to
.
params
.
type
=
this
.
type
next
()
},
methods
:
{
gobak
()
{
this
.
$router
.
go
(
-
1
);
...
...
@@ -31,7 +48,11 @@
comfim
()
{
this
.
$router
.
push
({
name
:
"simCard"
,
name
:
"simCard"
,
params
:
{
type
:
this
.
type
},
});
},
},
...
...
src/views/sim/photograph.vue
View file @
e102b09b
...
...
@@ -2,7 +2,7 @@
<div
class=
"order"
>
<div
class=
"order_top"
>
<div
class=
"goback"
@
click=
"toBack"
>
返回上一步
</div>
<div
class=
"order_title"
>
{{
type
==
0
?
'人脸采集'
:
'护照
'
}}
</div>
<div
class=
"order_title"
>
{{
type
==
1
?
'护照'
:
'人脸采集
'
}}
</div>
</div>
<div
class=
"collection"
>
<div
class=
"auth_body"
>
...
...
@@ -30,7 +30,6 @@
created
()
{
this
.
type
=
this
.
$route
.
params
.
type
// alert(this.type)
this
.
type
==
0
?
AppInterface
.
openCamera
(
1
)
:
''
;
this
.
type
==
1
?
...
...
@@ -41,12 +40,11 @@
methods
:
{
toBack
()
{
this
.
$router
.
go
(
-
1
);
AppInterface
.
closeCamera
();
},
takephoto
()
{
// if(this.type==0){
alert
(
this
.
type
+
1
)
var
res
=
AppInterface
.
photoVerify
(
this
.
type
+
1
);
alert
(
res
)
if
(
res
)
{
res
=
JSON
.
parse
(
res
);
if
(
res
.
error
==
0
)
{
...
...
@@ -55,18 +53,19 @@
name
:
"realname"
,
params
:
{
info
:
JSON
.
stringify
(
res
.
data
),
},
type
:
this
.
type
},
});
}
}
// }
// else{
// }
},
},
// beforeDestroyed() {
// AppInterface.closeCamera();
// }
};
</
script
>
<
style
scoped
>
...
...
src/views/sim/register.vue
View file @
e102b09b
...
...
@@ -68,7 +68,21 @@
<
script
>
export
default
{
data
()
{
return
{};
return
{
info
:
{},
type
:
null
,
}
},
created
()
{
// this.info = this.$route.params.info
this
.
type
=
this
.
$route
.
params
.
type
// alert(this.info)
},
beforeRouteLeave
(
to
,
from
,
next
)
{
// to.params.info = this.info
to
.
params
.
type
=
this
.
type
next
()
},
methods
:
{
pay
()
{
...
...
src/views/sim/roomcard.vue
View file @
e102b09b
...
...
@@ -6,17 +6,60 @@
<div
class=
"collection"
>
<img
src=
"@/assets/sim/simCard.png"
class=
"grant"
/>
<div
class=
"waiting"
>
SIM卡发放中,请耐心等待...
</div>
<el-progress
:show-text=
"false"
color=
"#61ABEC"
:percentage=
"
50
"
class=
"progress"
<el-progress
:show-text=
"false"
color=
"#61ABEC"
:percentage=
"
schedule
"
class=
"progress"
:stroke-width=
"21"
></el-progress>
<div
class=
"progress_schedule"
>
40
%
</div>
<div
class=
"progress_schedule"
>
{{
schedule
}}
%
</div>
</div>
<
button
@
click=
"comfim"
>
成功
</button
>
<
!--
<button
@
click=
"comfim"
>
成功
</button>
--
>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
schedule
:
0
,
timer
:
null
,
};
},
created
()
{
this
.
setTime
();
var
res
=
AppInterface
.
cardIssue
();
if
(
res
)
{
res
=
JSON
.
parse
(
res
);
if
(
res
.
error
==
0
)
{
this
.
schedule
=
100
;
clearInterval
(
this
.
timer
);
this
.
$router
.
push
({
name
:
"simSuccess"
,
params
:
{
type
:
1
,
},
});
}
else
{
clearInterval
(
this
.
timer
);
this
.
$router
.
push
({
name
:
"simSuccess"
,
params
:
{
type
:
2
,
},
});
}
}
},
methods
:
{
setTime
()
{
var
that
=
this
;
that
.
timer
=
setInterval
(()
=>
{
// 计算进度百分比
that
.
schedule
=
that
.
schedule
+
20
;
// 检查是否倒计时结束
if
(
that
.
schedule
==
100
)
{
clearInterval
(
that
.
timer
);
}
},
1000
);
// 每1000毫秒(1秒)更新一次
},
comfim
()
{
this
.
$router
.
push
({
name
:
"simSuccess"
,
...
...
src/views/sim/success.vue
View file @
e102b09b
<
template
>
<div
class=
"order"
>
<div
class=
"order_top"
>
<div
class=
"order_title"
>
制卡成功
</div>
<div
class=
"order_title"
v-if=
"type == 1"
>
发放成功
</div>
<div
class=
"order_title"
v-else
>
发放失败
</div>
</div>
<div
class=
"collection"
>
<img
src=
"@/assets/hotel/success2.png"
class=
"success_icon"
/>
<div
class=
"success_text"
>
SIM发放成功,请拿好您的SIM
</div>
<img
src=
"@/assets/hotel/success2.png"
v-if=
"type == 1"
class=
"success_icon"
/>
<img
src=
"@/assets/hotel/fail.png"
v-else
class=
"success_icon"
/>
<div
class=
"success_text"
v-if=
"type == 1"
>
SIM发放成功,请拿好您的SIM卡
</div>
<div
class=
"success_text"
v-else
>
SIM发放失败
</div>
<div
class=
"success_text"
>
感谢您的使用
</div>
<div
class=
"success_back"
@
click=
"reset"
v-if=
"type == 2"
>
重新发卡
</div>
<div
class=
"success_back"
@
click=
"goback"
>
回到首页
</div>
</div>
</div>
...
...
@@ -15,9 +19,21 @@
<
script
>
export
default
{
data
()
{
return
{};
return
{
type
:
1
,
//1是成功
};
},
created
()
{
var
type
=
this
.
$route
.
params
.
type
;
this
.
type
=
type
;
},
methods
:
{
// 重新发放房卡
reset
()
{
this
.
$router
.
replace
({
name
:
"simCard"
,
});
},
// 回到首页
goback
()
{
this
.
$router
.
replace
({
...
...
@@ -85,6 +101,6 @@
color
:
white
;
font-size
:
24px
;
cursor
:
pointer
;
margin-top
:
65
px
;
margin-top
:
30
px
;
}
</
style
>
\ No newline at end of file
src/views/visitor/authSuccess.vue
View file @
e102b09b
...
...
@@ -9,18 +9,30 @@
<div
class=
"auth_body"
>
<div>
<div
class=
"auth_center"
>
<img
src=
"@/assets/visitor/camera.png"
class=
"auth_img"
>
<div
class=
"auth_center"
v-if=
"this.type===2"
>
<img
src=
""
class=
"auth_img"
>
<div
class=
"auth_right"
>
<div>
姓名:
<span
style=
"color: #666666;"
>
{{
info
.
name
}}
</span></div>
<div>
身份证号:
<span
style=
"color: #666666;"
>
{{
info
.
idNo
}}
</span></div>
</div>
</div>
<div
class=
"auth_center"
v-else
>
<img
:src=
"info.photo"
class=
"auth_img"
>
<div
class=
"auth_right"
>
<div>
姓名:
<span
style=
"color: #666666;"
>
王大锤
</span></div>
<div>
性别:
<span
style=
"color: #666666;"
>
女
</span></div>
<div>
民族:
<span
style=
"color: #666666;"
>
汉
</span></div>
<div>
出生:
<span
style=
"color: #666666;"
>
1994年10月10日
</span></div>
<div>
住址:
<span
style=
"color: #666666;"
>
广东省广州市黄浦区黄埔大道129号
</span></div>
<div>
身份证号码:
<span
style=
"color: #666666;"
>
362421********5627
</span></div>
<div>
姓名:
<span
style=
"color: #666666;"
>
{{
info
.
name
}}
</span></div>
<div>
性别:
<span
style=
"color: #666666;"
>
{{
info
.
sex
}}
</span></div>
<div>
民族:
<span
style=
"color: #666666;"
>
{{
info
.
nation
}}
</span></div>
<div>
出生:
<span
style=
"color: #666666;"
>
{{
formatBirth
(
info
.
idnumber
)
}}
</span></div>
<div>
住址:
<span
style=
"color: #666666;"
>
{{
info
.
address
}}
</span></div>
<div>
身份证号码:
<span
style=
"color: #666666;"
>
{{
info
.
idnumber
}}
</span></div>
</div>
</div>
<div><el-button
type=
"primary"
@
click=
"toNext"
>
下一步
</el-button>
<div
style=
"margin-top: 30px;"
><el-button
type=
"primary"
@
click=
"toNext"
>
下一步
</el-button>
</div>
</div>
...
...
@@ -35,38 +47,40 @@
export
default
{
data
()
{
return
{
type
:
1
,
type
:
null
,
phone
:
''
,
vform
:
{},
options
:
[{
value
:
'选项1'
,
label
:
'黄金糕'
},
{
value
:
'选项2'
,
label
:
'双皮奶'
},
{
value
:
'选项3'
,
label
:
'蚵仔煎'
},
{
value
:
'选项4'
,
label
:
'龙须面'
},
{
value
:
'选项5'
,
label
:
'北京烤鸭'
}],
info
:
{},
}
},
created
()
{
this
.
type
=
this
.
$route
.
params
.
type
;
// alert(this.type)
var
info
=
this
.
$route
.
params
.
info
;
if
(
info
)
{
info
=
JSON
.
parse
(
info
);
this
.
info
=
info
;
}
},
methods
:
{
toBack
()
{
this
.
$router
.
go
(
-
1
);
},
toNext
()
{
this
.
$router
.
push
({
name
:
"send"
});
this
.
$router
.
push
({
name
:
"send"
,
params
:
{
type
:
this
.
type
},
});
},
formatBirth
(
birth
)
{
return
birth
.
substring
(
6
,
14
)
},
}
}
...
...
@@ -75,7 +89,7 @@
.reserved
{
width
:
100%
;
/* height: 650px; */
height
:
670px
;
box-sizing
:
border-box
;
...
...
src/views/visitor/authentify.vue
View file @
e102b09b
...
...
@@ -27,11 +27,11 @@
</div>
</div>
</div>
<div
style=
"margin-top:70px;"
><el-button
type=
"primary"
@
click=
"
cardVerify(1)
"
>
身份证
</el-button>
<div
style=
"margin-top:70px;"
><el-button
type=
"primary"
@
click=
"
verify
"
>
身份证
</el-button>
<el-button
type=
"primary"
@
click=
"yueJuCode()"
>
粤居码
</el-button>
</div>
<
button
@
click=
"toNext"
>
下一步
</button
>
<
!--
<button
@
click=
"toNext"
>
下一步
</button>
--
>
</div>
...
...
@@ -46,6 +46,7 @@
export
default
{
data
()
{
return
{
type
:
null
}
},
...
...
@@ -59,10 +60,59 @@
this
.
$router
.
push
({
name
:
"success"
});
},
cardVerify
(
num
)
{
AppInterface
.
photoVerify
(
num
);
// 身份证
verify
()
{
var
res
=
AppInterface
.
readIdCard
();
if
(
res
)
{
// alert(res)
res
=
JSON
.
parse
(
res
);
if
(
res
.
error
==
0
)
{
if
(
res
.
data
.
nation
)
{
this
.
$router
.
push
({
name
:
"success"
,
params
:
{
info
:
JSON
.
stringify
(
res
.
data
),
type
:
0
,
},
});
}
}
else
{
this
.
$message
.
error
(
"读取失败,请重新放置卡片"
);
}
}
},
yueJuCode
()
{
var
res
=
AppInterface
.
yueJuCode
();
if
(
res
)
{
// alert(res)
res
=
JSON
.
parse
(
res
);
if
(
res
.
error
==
0
)
{
this
.
$router
.
push
({
name
:
"success"
,
params
:
{
info
:
JSON
.
stringify
(
res
.
data
),
type
:
2
,
},
});
}
else
{
this
.
$message
.
error
(
"读取失败,请重新放置卡片"
);
}
}
},
yueJuCode
()
{
AppInterface
.
yueJuCode
()
},
}
}
</
script
>
...
...
src/views/visitor/card.vue
View file @
e102b09b
...
...
@@ -2,14 +2,23 @@
<div
class=
"reserved"
>
<div
class=
"card_content"
>
<div
class=
"card_top"
>
<div><el-button
@
click=
"toBack"
>
返回上一步
</el-button>
</div>
<
!--
<
div><el-button
@
click=
"toBack"
>
返回上一步
</el-button>
</div>
-->
</div>
<div
class=
"card_body"
>
<img
src=
"@/assets/hotel/success2.png"
class=
"success_icon"
/>
<
!--
<
img
src=
"@/assets/hotel/success2.png"
class=
"success_icon"
/>
<div
class=
"card_body_text"
>
访客卡发放成功,可在门禁处刷卡通行
<br>
感谢您的使用
</div>
<el-button
type=
"primary"
@
click=
"toNext"
>
回到首页
</el-button>
<el-button
type=
"primary"
@
click=
"toNext"
>
回到首页
</el-button>
-->
<img
src=
"@/assets/hotel/success2.png"
v-if=
"type == 1"
class=
"success_icon"
/>
<img
src=
"@/assets/hotel/fail.png"
v-else
class=
"success_icon"
/>
<div
class=
"card_body_text"
v-if=
"type == 1"
>
访客卡发放成功,可在门禁处刷卡通行
<br>
感谢您的使用
</div>
<div
class=
"card_body_text"
v-else
>
访客发放失败
</div>
<div
class=
"card_body_text card_body_text2"
@
click=
"reset"
v-if=
"type == 2"
>
重新发卡
</div>
<div
class=
"card_body_text card_body_text2"
@
click=
"toNext"
>
回到首页
</div>
</div>
...
...
@@ -30,22 +39,7 @@
type
:
1
,
phone
:
''
,
vform
:
{},
options
:
[{
value
:
'选项1'
,
label
:
'黄金糕'
},
{
value
:
'选项2'
,
label
:
'双皮奶'
},
{
value
:
'选项3'
,
label
:
'蚵仔煎'
},
{
value
:
'选项4'
,
label
:
'龙须面'
},
{
value
:
'选项5'
,
label
:
'北京烤鸭'
}],
}
},
...
...
@@ -60,6 +54,11 @@
this
.
$router
.
push
({
name
:
"visitor"
});
},
reset
()
{
this
.
$router
.
replace
({
name
:
"send"
,
});
},
}
}
</
script
>
...
...
@@ -109,6 +108,19 @@
font-weight
:
500
;
}
.card_body_text2
{
width
:
208px
;
height
:
70px
;
background
:
#437AE5
;
border-radius
:
4px
4px
4px
4px
;
text-align
:
center
;
line-height
:
70px
;
color
:
white
;
font-size
:
24px
;
cursor
:
pointer
;
margin-top
:
10px
;
}
.card_center
{
display
:
flex
;
}
...
...
src/views/visitor/disreserve.vue
View file @
e102b09b
...
...
@@ -4,17 +4,18 @@
<div
class=
"card_left"
>
<div
class=
"return_btn"
><el-button
v-show=
"this.type==0"
@
click=
"toBack"
>
返回上一步
</el-button></div>
<div
class=
"card_left_c"
@
click=
"openCamera"
><img
src=
"@/assets/visitor/camera.png"
alt=
""
class=
"card_left_img"
>
<div
class=
"card_left_c"
@
click=
"openCamera"
>
<img
:src=
"imgSrc"
alt=
""
class=
"card_left_img2"
v-if=
"imgSrc!=''"
>
<img
src=
"@/assets/visitor/camera.png"
alt=
""
class=
"card_left_img"
v-else
>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
姓名:
</span>
<el-input
v-model=
"vform.name"
></el-input>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
手机号:
</span>
<el-input
v-model=
"vform.
nam
e"
placeholder=
"必填"
></el-input>
<el-input
v-model=
"vform.
phon
e"
placeholder=
"必填"
></el-input>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
身份证号:
</span>
<el-input
v-model=
"vform.
name
"
></el-input>
<el-input
v-model=
"vform.
idnumber
"
></el-input>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
来访事由:
</span>
<el-select
v-model=
"vform.name"
width=
"360px"
>
...
...
@@ -27,10 +28,10 @@
<div
class=
"card_center"
></div>
<div
class=
"card_right"
>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
公司名称:
</span>
<el-input
v-model=
"vform.name"
placeholder=
"必填"
></el-input>
<el-input
v-model=
"vform.
c
name"
placeholder=
"必填"
></el-input>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
到访人数:
</span>
<el-input
v-model=
"vform.n
ame
"
placeholder=
"必填"
></el-input>
<el-input
v-model=
"vform.n
um
"
placeholder=
"必填"
></el-input>
</div>
<div
class=
"card_item_next"
><el-button
type=
"primary"
@
click=
"toNext"
>
下一步
</el-button></div>
...
...
@@ -47,26 +48,20 @@
type
:
1
,
phone
:
''
,
vform
:
{},
options
:
[{
value
:
'选项1'
,
label
:
'黄金糕'
},
{
value
:
'选项2'
,
label
:
'双皮奶'
},
{
value
:
'选项3'
,
label
:
'蚵仔煎'
},
{
value
:
'选项4'
,
label
:
'龙须面'
},
{
value
:
'选项5'
,
label
:
'北京烤鸭'
}],
imgSrc
:
""
,
options
:
[{
value
:
0
,
label
:
"面试"
}]
}
},
created
()
{
if
(
this
.
$route
.
params
.
imgSrc
)
this
.
imgSrc
=
this
.
$route
.
params
.
imgSrc
if
(
this
.
$route
.
params
.
vform
)
{
this
.
vform
=
JSON
.
parse
(
this
.
$route
.
params
.
vform
)
}
this
.
type
=
this
.
$route
.
params
.
type
;
},
methods
:
{
...
...
@@ -74,12 +69,44 @@
this
.
$router
.
go
(
-
1
);
},
toNext
()
{
this
.
$router
.
push
({
name
:
"authentify"
,
params
:
{
title
:
'实名认证'
,
}
});
if
(
this
.
imgSrc
==
''
)
{
alert
(
'请先拍照'
)
return
}
this
.
$router
.
push
({
name
:
"authentify"
,
// vform: JSON.stringify(this.vform)
});
// var res = AppInterface.readIdCard();
// if (res) {
// res = JSON.parse(res);
// if (res.error == 0) {
// this.$router.push({
// name: "authentify",
// params: {
// info: JSON.stringify(res.data),
// },
// });
// } else {
// this.$message.error("读取失败,请重新拍照");
// }
// }
},
openCamera
()
{
AppInterface
.
openCamera
(
1
);
// AppInterface.openCamera(1);
this
.
$router
.
push
({
name
:
"visitorPhoto2"
,
params
:
{
type
:
1
,
vform
:
JSON
.
stringify
(
this
.
vform
)
},
});
}
}
}
</
script
>
...
...
@@ -117,6 +144,11 @@
margin
:
35%
;
}
.card_left_img2
{
width
:
193px
;
height
:
193px
;
}
.card_left_c
{
width
:
193px
;
height
:
193px
;
...
...
src/views/visitor/disreserve2.vue
0 → 100644
View file @
e102b09b
<
template
>
<div
class=
"reserved"
>
<div
class=
"content"
>
<div
class=
"card_left"
>
<div
class=
"return_btn"
><el-button
v-show=
"this.type==0"
@
click=
"toBack"
>
返回上一步
</el-button></div>
<div
class=
"card_left_c"
>
<img
:src=
"imgSrc"
alt=
""
class=
"card_left_img"
v-if=
"imgSrc!=''"
>
<img
src=
"@/assets/visitor/222.png"
alt=
""
class=
"card_left_img"
v-else
>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
姓名:
</span>
<el-input
v-model=
"vform.name"
></el-input>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
手机号:
</span>
<el-input
v-model=
"vform.name"
placeholder=
"必填"
></el-input>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
身份证号:
</span>
<el-input
v-model=
"vform.name"
></el-input>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
来访事由:
</span>
<el-select
v-model=
"vform.name"
width=
"360px"
>
<el-option
v-for=
"item in options"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
</div>
</div>
<div
class=
"card_center"
></div>
<div
class=
"card_right"
>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
公司名称:
</span>
<el-input
v-model=
"vform.name"
placeholder=
"必填"
></el-input>
</div>
<div
class=
"card_item"
><span
class=
"card_item_span"
>
到访人数:
</span>
<el-input
v-model=
"vform.name"
placeholder=
"必填"
></el-input>
</div>
<div
class=
"card_item_next"
><el-button
type=
"primary"
@
click=
"toNext"
>
下一步
</el-button></div>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
type
:
null
,
phone
:
''
,
vform
:
{},
imgSrc
:
""
}
},
created
()
{
if
(
this
.
$route
.
params
.
vform
)
this
.
vform
=
JSON
.
parse
(
this
.
$route
.
params
.
vform
)
this
.
type
=
this
.
$route
.
params
.
type
;
},
methods
:
{
toBack
()
{
this
.
$router
.
go
(
-
1
);
},
toNext
()
{
this
.
$router
.
push
({
name
:
"authentify"
,
params
:
{
title
:
'实名认证'
,
}
});
},
// openCamera() {
// // AppInterface.openCamera(1);
// this.$router.push({
// name: "visitorPhoto2",
// params: {
// type: 1,
// vform: this.vform
// },
// });
// }
}
}
</
script
>
<
style
scoped
>
.return_btn
{
/* margin-top: 45px; */
/* position: absolute; */
height
:
34px
;
}
.reserved
{
width
:
100%
;
padding
:
30px
;
height
:
670px
;
box-sizing
:
border-box
;
}
.content
{
width
:
100%
;
background
:
#FFFFFF
;
border-radius
:
14px
;
/* padding: 0 45px; */
box-sizing
:
border-box
;
display
:
flex
;
}
.card_left_img
{
width
:
193px
;
height
:
193px
;
}
.card_left_c
{
width
:
193px
;
height
:
193px
;
background
:
#F4F4F4
;
border-radius
:
15px
;
opacity
:
1
;
margin
:
0
207px
53px
175px
;
text-align
:
center
;
}
.card_item
{
display
:
flex
;
height
:
46px
;
margin-bottom
:
30px
;
margin-left
:
30px
;
}
.card_item_span
{
line-height
:
46px
;
color
:
#333333
;
font-size
:
20px
;
width
:
120px
;
}
::v-deep
.el-input__inner
{
width
:
360px
;
height
:
46px
;
border
:
1px
solid
#707070
;
color
:
#333333
;
font-size
:
20px
;
}
::v-deep
.el-input
{
width
:
360px
;
height
:
46px
;
}
::v-deep
.el-input__icon
{
height
:
46px
;
}
.card_center
{
width
:
2px
;
height
:
548px
;
background
:
#E0E0E0
;
margin-top
:
20px
;
/* margin: 50px 43px 50px 85px; */
}
.card_right
{
width
:
100%
;
margin-top
:
70px
;
text-align
:
center
;
position
:
relative
;
}
::v-deep
.el-button
{
width
:
94px
;
height
:
34px
;
padding
:
0
;
font-size
:
14px
;
}
::v-deep
.auth_top
.el-button
{
position
:
absolute
;
left
:
0
;
top
:
0
;
border-radius
:
4px
;
border
:
1px
solid
#707070
;
}
::v-deep
.el-button--primary
{
width
:
132px
;
height
:
50px
;
background
:
#437AE5
;
font-size
:
18px
;
border
:
none
;
}
.card_item_next
{
position
:
absolute
;
bottom
:
30px
;
left
:
40%
;
/* display: inline-block; */
}
</
style
>
\ No newline at end of file
src/views/visitor/photograph.vue
View file @
e102b09b
...
...
@@ -2,7 +2,7 @@
<div
class=
"order"
>
<div
class=
"order_top"
>
<div
class=
"goback"
@
click=
"toBack"
>
返回上一步
</div>
<div
class=
"order_title"
>
护照采集
</div>
<div
class=
"order_title"
>
{{
type
==
1
?
"护照采集"
:
"人像采集"
}}
</div>
</div>
<div
class=
"collection"
>
<div
class=
"auth_body"
>
...
...
@@ -24,46 +24,32 @@
type
:
null
,
phone
:
""
,
vform
:
{},
options
:
[
{
value
:
"选项1"
,
label
:
"黄金糕"
,
},
{
value
:
"选项2"
,
label
:
"双皮奶"
,
},
{
value
:
"选项3"
,
label
:
"蚵仔煎"
,
},
{
value
:
"选项4"
,
label
:
"龙须面"
,
},
{
value
:
"选项5"
,
label
:
"北京烤鸭"
,
},
],
};
},
created
()
{
AppInterface
.
openCamera
(
0
);
this
.
type
=
this
.
$route
.
params
.
type
this
.
type
==
0
?
AppInterface
.
openCamera
(
1
)
:
''
;
this
.
type
==
1
?
AppInterface
.
openCamera
(
0
)
:
''
;
// AppInterface.openCamera(0);
},
methods
:
{
toBack
()
{
this
.
$router
.
go
(
-
1
);
},
takephoto
()
{
var
res
=
AppInterface
.
photoVerify
(
2
);
// return
var
res
=
AppInterface
.
captureAvatar
();
if
(
res
)
{
res
=
JSON
.
parse
(
res
);
if
(
res
.
error
==
0
)
{
AppInterface
.
closeCamera
();
this
.
$router
.
push
({
name
:
"
hotelIdentityS
uccess"
,
name
:
"
s
uccess"
,
params
:
{
info
:
JSON
.
stringify
(
res
.
data
),
},
...
...
src/views/visitor/photograph2.vue
0 → 100644
View file @
e102b09b
<
template
>
<div
class=
"order"
>
<div
class=
"order_top"
>
<div
class=
"goback"
@
click=
"toBack"
>
返回上一步
</div>
<div
class=
"order_title"
>
人像采集
</div>
</div>
<div
class=
"collection"
>
<div
class=
"auth_body"
>
<div
class=
"camer"
></div>
<div>
<el-button
type=
"primary"
@
click=
"takephoto"
>
拍照
</el-button>
</div>
</div>
<!--
<el-button
type=
"primary"
@
click=
"toNext"
>
下一步
</el-button>
-->
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
type
:
null
,
phone
:
""
,
vform
:
{},
info
:
{}
};
},
created
()
{
AppInterface
.
openCamera
(
1
)
if
(
this
.
$route
.
params
.
vform
)
this
.
vform
=
this
.
$route
.
params
.
vform
// alert(this.vform)
return
this
.
type
=
this
.
$route
.
params
.
type
this
.
type
==
0
?
AppInterface
.
openCamera
(
1
)
:
''
;
this
.
type
==
1
?
AppInterface
.
openCamera
(
1
)
:
''
;
// AppInterface.openCamera(0);
},
methods
:
{
toBack
()
{
this
.
$router
.
go
(
-
1
);
AppInterface
.
closeCamera
();
},
takephoto
()
{
var
res
=
AppInterface
.
captureAvatar
();
if
(
res
)
{
res
=
JSON
.
parse
(
res
);
if
(
res
.
error
==
0
)
{
// alert(JSON.stringify(res.data))
AppInterface
.
closeCamera
();
this
.
$router
.
push
({
name
:
"disreserve"
,
params
:
{
imgSrc
:
JSON
.
stringify
(
res
.
data
),
vform
:
this
.
vform
},
});
}
}
},
},
};
</
script
>
<
style
scoped
>
.order
{
width
:
100%
;
height
:
680px
;
padding
:
0
30px
;
box-sizing
:
border-box
;
background
:
white
;
border-radius
:
14px
;
}
.goback
{
width
:
94px
;
height
:
34px
;
position
:
absolute
;
top
:
30px
;
left
:
0
;
cursor
:
pointer
;
font-size
:
14px
;
color
:
#666666
;
background
:
#ffffff
;
border-radius
:
4px
;
border
:
1px
solid
#707070
;
text-align
:
center
;
line-height
:
34px
;
}
.order_top
{
height
:
88px
;
width
:
100%
;
position
:
relative
;
}
.order_title
{
font-size
:
28px
;
color
:
#000000
;
width
:
100%
;
text-align
:
center
;
line-height
:
88px
;
}
.collection
{
width
:
100%
;
background
:
white
;
height
:
486px
;
}
.auth_title
{
color
:
#666666
;
font-size
:
18px
;
}
.auth_body
{
width
:
100%
;
/* height: 100%; */
padding-top
:
24px
;
box-sizing
:
border-box
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
}
.auth_center
{
display
:
flex
;
}
.auth_img
{
width
:
387px
;
height
:
287px
;
}
.auth_center_right
{
display
:
flex
;
flex-direction
:
column
;
margin-top
:
30px
;
}
.auth_img_left
{
width
:
64px
;
height
:
12px
;
margin-right
:
9px
;
margin-top
:
15px
;
}
.auth_right
{
display
:
flex
;
margin-bottom
:
49px
;
}
.auth_span
{
font-size
:
20px
;
}
.auth_span_a
{
color
:
#666666
;
font-size
:
16px
;
margin-top
:
10px
;
}
.content_time
{
width
:
50px
;
height
:
50px
;
background
:
#ffffff
;
opacity
:
1
;
border
:
3px
solid
#5a8ff6
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
50px
;
}
::v-deep
.el-button
{
width
:
94px
;
height
:
34px
;
padding
:
0
;
font-size
:
14px
;
}
::v-deep
.el-button--primary
{
height
:
50px
;
margin-top
:
50px
;
}
.collection_title
{
font-size
:
18px
;
color
:
#666666
;
margin-bottom
:
46px
;
}
.collection_title
span
{
color
:
#437ae5
;
}
.camer
{
width
:
700px
;
height
:
400px
;
margin-bottom
:
40px
;
}
</
style
>
\ No newline at end of file
src/views/visitor/reserved.vue
View file @
e102b09b
...
...
@@ -54,7 +54,7 @@
},
comfirm
()
{
this
.
$router
.
push
({
name
:
"disreserve"
,
params
:
{
title
:
'访客信息'
,
type
:
0
}
});
this
.
$router
.
push
({
name
:
"disreserve
2
"
,
params
:
{
title
:
'访客信息'
,
type
:
0
}
});
}
}
}
...
...
src/views/visitor/send.vue
View file @
e102b09b
...
...
@@ -2,16 +2,16 @@
<div
class=
"reserved"
>
<div
class=
"card_content"
>
<div
class=
"card_top"
>
<div><el-button
@
click=
"toBack"
>
返回上一步
</el-button>
</div>
<
!--
<
div><el-button
@
click=
"toBack"
>
返回上一步
</el-button>
</div>
-->
</div>
<div
class=
"card_body"
>
<img
src=
"@/assets/visitor/card.png"
class=
"card_img_left"
>
<div
class=
"card_body_text"
>
访客卡发放中,请耐心等待
</div>
<el-progress
:show-text=
"false"
color=
"#61ABEC"
:percentage=
"
50
"
class=
"progress"
<el-progress
:show-text=
"false"
color=
"#61ABEC"
:percentage=
"
schedule
"
class=
"progress"
:stroke-width=
"21"
></el-progress>
<div
class=
"progress_schedule"
>
40
%
</div>
<div
class=
"progress_schedule"
>
{{
schedule
}}
%
</div>
</div>
...
...
@@ -27,30 +27,34 @@
export
default
{
data
()
{
return
{
type
:
1
,
phone
:
''
,
vform
:
{},
options
:
[{
value
:
'选项1'
,
label
:
'黄金糕'
},
{
value
:
'选项2'
,
label
:
'双皮奶'
},
{
value
:
'选项3'
,
label
:
'蚵仔煎'
},
{
value
:
'选项4'
,
label
:
'龙须面'
},
{
value
:
'选项5'
,
label
:
'北京烤鸭'
}],
}
schedule
:
0
,
timer
:
null
,
};
},
created
()
{
this
.
type
=
this
.
$route
.
params
.
type
;
this
.
setTime
();
var
res
=
AppInterface
.
cardIssue
();
if
(
res
)
{
res
=
JSON
.
parse
(
res
);
if
(
res
.
error
==
0
)
{
this
.
schedule
=
100
;
clearInterval
(
this
.
timer
);
this
.
$router
.
push
({
name
:
"card"
,
params
:
{
type
:
1
,
},
});
}
else
{
clearInterval
(
this
.
timer
);
this
.
$router
.
push
({
name
:
"card"
,
params
:
{
type
:
2
,
},
});
}
}
},
methods
:
{
toBack
()
{
...
...
@@ -60,6 +64,18 @@
this
.
$router
.
push
({
name
:
"card"
});
},
setTime
()
{
var
that
=
this
;
that
.
timer
=
setInterval
(()
=>
{
// 计算进度百分比
that
.
schedule
=
that
.
schedule
+
20
;
// 检查是否倒计时结束
if
(
that
.
schedule
==
100
)
{
clearInterval
(
that
.
timer
);
}
},
1000
);
// 每1000毫秒(1秒)更新一次
},
}
}
</
script
>
...
...
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