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
bf66fcab
Commit
bf66fcab
authored
Nov 17, 2023
by
limeimei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
4f96c28b
Pipeline
#1983
canceled with stages
Changes
21
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
969 additions
and
279 deletions
+969
-279
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
+39
-27
authentify.vue
src/views/visitor/authentify.vue
+55
-5
card.vue
src/views/visitor/card.vue
+30
-18
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 @
bf66fcab
14.2 KB
src/router/index.js
View file @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -58,7 +58,7 @@
},
// 倒计时
decrease
()
{
return
//
return
// this.timer && clearInterval(this.timer);
var
that
=
this
;
that
.
timer
=
setInterval
(()
=>
{
...
...
src/views/common2.vue
View file @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
<
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 @
bf66fcab
...
...
@@ -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=
"type=2"
>
<img
src=
""
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
.
idNo
}}
</span></div>
</div>
</div>
<div><el-button
type=
"primary"
@
click=
"toNext"
>
下一步
</el-button>
<div
class=
"auth_center"
v-else
>
<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
.
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
style=
"margin-top: 50px;"
><el-button
type=
"primary"
@
click=
"toNext"
>
下一步
</el-button>
</div>
</div>
...
...
@@ -35,38 +47,38 @@
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
()
{
var
info
=
this
.
$route
.
params
.
info
;
if
(
info
)
{
info
=
JSON
.
parse
(
info
);
this
.
info
=
info
;
}
this
.
type
=
this
.
$route
.
params
.
type
;
// alert(this.type)
},
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
)
},
}
}
...
...
src/views/visitor/authentify.vue
View file @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -7,9 +7,18 @@
</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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
<
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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
<
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 @
bf66fcab
...
...
@@ -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 @
bf66fcab
...
...
@@ -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