Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hls-xcmg-vue-app
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
xugong
hls-xcmg-vue-app
Commits
e95dff29
Commit
e95dff29
authored
Dec 24, 2019
by
李晓兵
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
'我的发票'
parent
105d2402
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
713 additions
and
456 deletions
+713
-456
download.png
src/assets/invoice/download.png
+0
-0
myInvoice.png
src/assets/invoice/myInvoice.png
+0
-0
invoice.png
src/assets/myInfo/invoice.png
+0
-0
body-check.vue
src/pages/contractSigning/body-check.vue
+183
-172
contract-detail.vue
src/pages/contractSigning/contract-detail.vue
+37
-16
contract-details.vue
src/pages/distributorSign/contract-details.vue
+282
-263
invoice.vue
src/pages/invoice/invoice.vue
+194
-0
my-info.vue
src/pages/myInfo/my-info.vue
+10
-4
index.js
src/router/index.js
+6
-0
index.html
www/index.html
+1
-1
No files found.
src/assets/invoice/download.png
0 → 100644
View file @
e95dff29
329 Bytes
src/assets/invoice/myInvoice.png
0 → 100644
View file @
e95dff29
1.45 KB
src/assets/myInfo/invoice.png
0 → 100644
View file @
e95dff29
1.49 KB
src/pages/contractSigning/body-check.vue
View file @
e95dff29
...
...
@@ -62,194 +62,205 @@
</h-view>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
downNum
:
false
,
time
:
60
,
lastTime
:
3
,
code
:
''
,
file
:
''
,
sessionId
:
''
,
codeList
:
[],
export
default
{
data
()
{
return
{
downNum
:
false
,
time
:
60
,
lastTime
:
3
,
code
:
''
,
file
:
''
,
sessionId
:
''
,
codeList
:
[],
}
},
methods
:
{
recordVdeo
()
{
// 开始录制
let
vm
=
this
vm
.
downNum
=
false
// 模态框消失
let
onSuccess
=
function
(
mediaFiles
)
{
// 遍历获取录制的文件(iOS 只支持一次录制一个视频)
console
.
log
(
'录制成功!
\
n
\
n'
+
'文件名:'
+
mediaFiles
[
0
].
name
+
'
\
n'
+
'大小:'
+
mediaFiles
[
0
].
size
+
'
\
n
\
n'
+
'localURL地址:'
+
mediaFiles
[
0
].
localURL
+
'
\
n
\
n'
+
'fullPath地址:'
+
mediaFiles
[
0
].
fullPath
)
vm
.
succesCall
(
mediaFiles
[
0
].
fullPath
)
// 开始检测
// vm.svaeVideo(mediaFiles[0].fullPath) // 上传视频文件至业务系统
}
let
onError
=
function
(
error
)
{
hlsPopup
.
showLongcenter
(
'录制失败,请重新录制'
)
}
hlsUtil
.
captureVideo
(
onSuccess
,
onError
)
},
methods
:
{
recordVdeo
()
{
// 开始录制
let
vm
=
this
vm
.
downNum
=
false
// 模态框消失
let
onSuccess
=
function
(
mediaFiles
)
{
// 遍历获取录制的文件(iOS 只支持一次录制一个视频)
console
.
log
(
'录制成功!
\
n
\
n'
+
'文件名:'
+
mediaFiles
[
0
].
name
+
'
\
n'
+
'大小:'
+
mediaFiles
[
0
].
size
+
'
\
n
\
n'
+
'localURL地址:'
+
mediaFiles
[
0
].
localURL
+
'
\
n
\
n'
+
'fullPath地址:'
+
mediaFiles
[
0
].
fullPath
)
vm
.
succesCall
(
mediaFiles
[
0
].
fullPath
)
// 开始检测
// vm.svaeVideo(mediaFiles[0].fullPath) // 上传视频文件至业务系统
}
let
onError
=
function
(
error
)
{
hlsPopup
.
showLongcenter
(
'录制失败,请重新录制'
)
}
hlsUtil
.
captureVideo
(
onSuccess
,
onError
)
},
svaeVideo
(
fullPath
)
{
let
vm
=
this
vm
.
videoListUpload
=
[]
let
obj
=
{
pkvalue
:
vm
.
$route
.
params
.
check_id
,
source_type
:
'PRJ_CDD_ITEM_CHECK'
,
picture
:
''
,
filePath
:
fullPath
,
attachment_id
:
''
,
user_id
:
1
,
fileName
:
'video'
,
}
vm
.
videoListUpload
.
push
(
obj
)
vm
.
saveVideoStart
(
vm
.
videoListUpload
)
// 开始存视频
},
// 视频保存
saveVideoStart
(
list
)
{
console
.
log
(
'list '
+
JSON
.
stringify
(
list
))
let
vm
=
this
if
(
list
.
length
)
{
var
alreadyUploadNum
=
0
var
attLength
=
0
var
recordUploadInterval
=
setInterval
(
function
()
{
if
(
alreadyUploadNum
===
attLength
)
{
clearInterval
(
recordUploadInterval
)
}
},
500
)
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
uploadSuccess
=
function
(
res
)
{
if
(
res
.
result
===
'S'
)
{
alreadyUploadNum
++
for
(
var
j
=
0
;
j
<
list
.
length
;
j
++
)
{
if
(
list
[
j
].
filePath
===
res
.
response
.
filePath
)
{
list
[
j
].
attachment_id
=
res
.
response
.
attachment_id
console
.
log
(
'%%%%%%%%%%%%% '
+
JSON
.
stringify
(
res
.
response
))
break
}
svaeVideo
(
fullPath
)
{
let
vm
=
this
vm
.
videoListUpload
=
[]
let
obj
=
{
pkvalue
:
vm
.
$route
.
params
.
check_id
,
source_type
:
'PRJ_CDD_ITEM_CHECK'
,
picture
:
''
,
filePath
:
fullPath
,
attachment_id
:
''
,
user_id
:
1
,
fileName
:
'video'
,
}
vm
.
videoListUpload
.
push
(
obj
)
vm
.
saveVideoStart
(
vm
.
videoListUpload
)
// 开始存视频
},
// 视频保存
saveVideoStart
(
list
)
{
console
.
log
(
'list '
+
JSON
.
stringify
(
list
))
let
vm
=
this
if
(
list
.
length
)
{
var
alreadyUploadNum
=
0
var
attLength
=
0
var
recordUploadInterval
=
setInterval
(
function
()
{
if
(
alreadyUploadNum
===
attLength
)
{
clearInterval
(
recordUploadInterval
)
}
},
500
)
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
uploadSuccess
=
function
(
res
)
{
if
(
res
.
result
===
'S'
)
{
alreadyUploadNum
++
for
(
var
j
=
0
;
j
<
list
.
length
;
j
++
)
{
if
(
list
[
j
].
filePath
===
res
.
response
.
filePath
)
{
list
[
j
].
attachment_id
=
res
.
response
.
attachment_id
console
.
log
(
'%%%%%%%%%%%%% '
+
JSON
.
stringify
(
res
.
response
))
break
}
}
else
{
hlsPopup
.
hideLoading
()
}
}
if
(
!
list
[
i
].
attachment_id
)
{
attLength
++
hlsUtil
.
fileUploadSvc
(
list
[
i
],
uploadSuccess
)
}
else
{
hlsPopup
.
hideLoading
()
}
}
if
(
!
list
[
i
].
attachment_id
)
{
attLength
++
hlsUtil
.
fileUploadSvc
(
list
[
i
],
uploadSuccess
)
}
}
}
else
{
hlsPopup
.
hideLoading
()
}
},
succesCall
(
fileUrl
)
{
// 录制成功后进行检测
let
vm
=
this
console
.
log
(
'fileUrl '
+
fileUrl
)
console
.
log
(
'sessionId '
+
vm
.
sessionId
)
let
url
=
process
.
env
.
ocrPath
+
'/baidu/ocr/videoFaceliveness'
let
param
=
{
fileUrl
:
fileUrl
,
sessionId
:
vm
.
sessionId
,
}
vm
.
hlsPopup
.
showLoading
(
'正在检测'
)
var
flag
=
false
var
loadInterval
=
setInterval
(
function
()
{
vm
.
hlsPopup
.
showLoading
(
'视频过大,请耐心等待'
)
if
(
flag
)
{
vm
.
hlsPopup
.
hideLoading
()
clearInterval
(
loadInterval
)
}
},
5000
)
hlsUtil
.
baiduOcrVideo
(
param
,
url
,
function
(
res
)
{
flag
=
true
vm
.
hlsPopup
.
hideLoading
()
console
.
log
(
'##########res '
+
JSON
.
stringify
(
res
))
if
(
res
.
result
.
err_no
!=
0
)
{
// 检测出错
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
`检测失败,是否重新重新尝试?`
,
onConfirm
:
data
=>
{
if
(
data
)
{
// 重新尝试
vm
.
getCode
()
}
else
{
}
},
})
}
else
if
(
res
.
result
.
result
.
thresholds
.
frr_1e
-
2
<
0.9
)
{
// 检测成功但不符合要求
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
`检测失败,是否重新重新尝试?`
,
onConfirm
:
data
=>
{
if
(
data
)
{
// 重新尝试
vm
.
getCode
()
}
else
{
}
},
})
}
else
{
hlsPopup
.
hideLoading
()
hlsPopup
.
showPopup
({
title
:
'提示'
,
content
:
`检测成功,请进行电子签认证`
,
onConfirm
:
()
=>
{
// 电子签认证
vm
.
goElectronicSign
()
},
})
}
},
succesCall
(
fileUrl
)
{
// 录制成功后进行检测
let
vm
=
this
console
.
log
(
'fileUrl '
+
fileUrl
)
console
.
log
(
'sessionId '
+
vm
.
sessionId
)
let
url
=
process
.
env
.
ocrPath
+
'/baidu/ocr/videoFaceliveness'
let
param
=
{
fileUrl
:
fileUrl
,
sessionId
:
vm
.
sessionId
,
})
},
getCode
()
{
// 获取验证码
// this.downNum = true
this
.
computeTime
()
this
.
time
=
60
this
.
lastTime
=
3
let
vm
=
this
let
url
=
process
.
env
.
ocrPath
+
'/baidu/ocr/videoSessioncode'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍后'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
success
)
{
vm
.
codeList
=
[...
res
.
result
.
result
.
code
]
vm
.
sessionId
=
res
.
result
.
result
.
session_id
vm
.
downNum
=
true
}
vm
.
hlsPopup
.
showLoading
(
'正在检测'
)
var
flag
=
false
var
loadInterval
=
setInterval
(
function
()
{
vm
.
hlsPopup
.
showLoading
(
'视频过大,请耐心等待'
)
if
(
flag
)
{
vm
.
hlsPopup
.
hideLoading
()
clearInterval
(
loadInterval
)
}
},
5000
)
hlsUtil
.
baiduOcrVideo
(
param
,
url
,
function
(
res
)
{
flag
=
true
vm
.
hlsPopup
.
hideLoading
()
console
.
log
(
'##########res '
+
JSON
.
stringify
(
res
))
if
(
res
.
result
.
result
.
thresholds
.
frr_1e
-
2
<
0.9
)
{
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
`检测失败,是否重新重新尝试?`
,
onConfirm
:
data
=>
{
if
(
data
)
{
// 重新尝试
vm
.
getCode
()
}
else
{
}
},
})
vm
.
hlsPopup
.
showLongCenter
(
'检测失败,请重新尝试'
)
}
else
{
hlsPopup
.
showPopup
({
title
:
'提示'
,
content
:
`检测成功,请进行电子签认证`
,
onConfirm
:
()
=>
{
// 电子签认证
vm
.
goElectronicSign
()
},
})
}
})
},
getCode
()
{
// 获取验证码
// this.downNum = true
this
.
computeTime
()
this
.
time
=
60
this
.
lastTime
=
3
let
vm
=
this
let
url
=
process
.
env
.
ocrPath
+
'/baidu/ocr/videoSessioncode'
let
param
=
{}
vm
.
hlsPopup
.
showLoading
(
'请稍后'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
success
)
{
vm
.
codeList
=
[...
res
.
result
.
result
.
code
]
vm
.
sessionId
=
res
.
result
.
result
.
session_id
vm
.
downNum
=
true
}
})
/* let str = '098672'
})
/* let str = '098672'
vm.codeList = [...str] */
},
goElectronicSign
()
{
// 电子签
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'get_sign_url'
let
param
=
{
confirm_id
:
vm
.
$route
.
params
.
confirm_id
,
data_class
:
'PRJ_PROJECT'
,
}
vm
.
hlsPopup
.
showLoading
(
'请稍后'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
info
.
msg
===
'success'
)
{
/* vm.$router.push({
},
goElectronicSign
()
{
// 电子签
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'get_sign_url'
let
param
=
{
confirm_id
:
vm
.
$route
.
params
.
confirm_id
,
data_class
:
'PRJ_PROJECT'
,
}
vm
.
hlsPopup
.
showLoading
(
'请稍后'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
info
.
msg
===
'success'
)
{
/* vm.$router.push({
name: 'ElectronicSign',
params: {
url: res.info.data.url,
},
})*/
cordova
.
InAppBrowser
.
open
(
res
.
info
.
data
.
url
,
'_blank'
,
'location=yes'
)
}
else
{
vm
.
hlsPopup
.
showLongCenter
(
res
.
info
.
msg
)
}
})
},
computeTime
()
{
// 倒计时
let
vm
=
this
let
timer
=
setInterval
(()
=>
{
if
(
vm
.
time
>
0
)
{
vm
.
time
--
}
else
{
clearInterval
(
timer
)
}
},
1000
)
let
lastTime
=
setInterval
(()
=>
{
if
(
vm
.
lastTime
>
0
)
{
vm
.
lastTime
--
}
else
{
clearInterval
(
lastTime
)
}
},
1000
)
},
}) */
cordova
.
InAppBrowser
.
open
(
res
.
info
.
data
.
url
,
'_blank'
,
'location=yes'
)
}
else
{
vm
.
hlsPopup
.
showLongCenter
(
res
.
info
.
msg
)
}
})
},
computeTime
()
{
// 倒计时
let
vm
=
this
let
timer
=
setInterval
(()
=>
{
if
(
vm
.
time
>
0
)
{
vm
.
time
--
}
else
{
clearInterval
(
timer
)
}
},
1000
)
let
lastTime
=
setInterval
(()
=>
{
if
(
vm
.
lastTime
>
0
)
{
vm
.
lastTime
--
}
else
{
clearInterval
(
lastTime
)
}
},
1000
)
},
},
}
}
</
script
>
<
style
lang=
"less"
scoped
>
#body-check {
...
...
src/pages/contractSigning/contract-detail.vue
View file @
e95dff29
...
...
@@ -357,6 +357,7 @@ export default {
bankPic
:
''
,
// 农行代扣授权书图片
legalPic
:
''
,
// 法人授权书图片
abc_deduction_flag
:
'N'
,
// 代扣授权书状态
signCheckFlag
:
false
,
// 签约校验,为true已认证通过可进行签约,否则不可签约
}
},
computed
:
{},
...
...
@@ -385,6 +386,7 @@ export default {
vm
.
isConfirm
=
false
vm
.
ischecked
=
false
vm
.
showModalValue
=
false
vm
.
signCheckFlag
=
false
vm
.
tabNum
=
vm
.
$route
.
params
.
num
vm
.
confirm_note
=
''
// 审批意见
vm
.
num
=
0
// 进入详情显示基本信息
...
...
@@ -408,6 +410,7 @@ export default {
vm
.
getLease
()
vm
.
getGuarantor
()
vm
.
getContractLists
()
// 合同列表
vm
.
signCheck
()
// 签约校验
}
else
if
(
from
.
name
===
'EntryInfo'
)
{
vm
.
bankCardQuery
()
}
...
...
@@ -422,6 +425,21 @@ export default {
}
},
methods
:
{
// 签约校验
signCheck
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'sign_check'
let
param
=
{
confirm_id
:
vm
.
confirm_id
,
}
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
if
(
res
.
result
===
'E'
)
{
vm
.
signCheckFlag
=
false
}
else
{
vm
.
signCheckFlag
=
true
}
})
},
// 征信查询
creditCheck
()
{
let
vm
=
this
...
...
@@ -433,7 +451,6 @@ export default {
vm
.
hlsPopup
.
showLoading
(
'请稍后!'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
console
.
log
(
'征信查询'
,
res
)
if
(
res
.
result
===
'S'
)
{
vm
.
credit_status
=
res
.
info
.
credit_status
// N查过征信, Y未查过
}
else
{
...
...
@@ -561,7 +578,7 @@ export default {
// 人脸比对
faceIdentify
(
faceImg
,
idCardImgUrl
)
{
let
vm
=
this
/*
let obj = {
let
obj
=
{
fileUrl
:
faceImg
,
idCardImgUrl
:
idCardImgUrl
,
}
...
...
@@ -583,18 +600,18 @@ export default {
}
else
{
hlsPopup
.
showLongCenter
(
'比对失败,请保证和绑定时是同一个人'
)
}
})
*/
})
vm
.
save_picture
(
vm
.
faceListUpload
)
let
identifyScore
=
90
hlsPopup
.
showPopup
({
title
:
'提示'
,
content
:
`识别分数为
${
identifyScore
}
,请进行活体检测`
,
onConfirm
:
()
=>
{
// 进入活体检测页面
vm
.
goBodyCheck
(
vm
.
confirm_id
)
},
})
/*
vm.save_picture(vm.faceListUpload)
let identifyScore = 90
hlsPopup.showPopup({
title: '提示',
content: `识别分数为${identifyScore},请进行活体检测`,
onConfirm: () => {
// 进入活体检测页面
vm.goBodyCheck(vm.confirm_id)
},
}) */
},
// 确认签约逻辑
doConfirm
(
status
)
{
...
...
@@ -818,10 +835,14 @@ export default {
})
},
inSure
()
{
if
(
!
this
.
bank_flag
&&
this
.
abc_deduction_flag
===
'Y'
)
{
this
.
isshow
=
true
// 未查到农行卡给出提示且勾选农行代扣
if
(
this
.
signCheckFlag
)
{
// 只有认证通过后方可进行签约操作
if
(
!
this
.
bank_flag
&&
this
.
abc_deduction_flag
===
'Y'
)
{
this
.
isshow
=
true
// 未查到农行卡给出提示且勾选农行代扣
}
else
{
this
.
showModalValue
=
true
// 审批内容框显示
}
}
else
{
this
.
showModalValue
=
true
// 审批内容框显示
hlsPopup
.
showLongCenter
(
'请先进行认证'
)
}
},
...
...
src/pages/distributorSign/contract-details.vue
View file @
e95dff29
...
...
@@ -206,6 +206,7 @@ export default {
agentPic
:
''
,
// 经销商担保协议图片
readed
:
require
(
'@/assets/constractSigning/read.png'
),
// 已读
unRead
:
require
(
'@/assets/constractSigning/unread.png'
),
// 未读
signCheckFlag
:
false
,
// 签约校验,为true已认证通过可进行签约,否则不可签约
}
},
computed
:
{},
...
...
@@ -226,6 +227,7 @@ export default {
vm
.
baseInfo
=
{}
vm
.
info
=
{}
vm
.
bp_flag
=
false
vm
.
signCheckFlag
=
false
vm
.
guarantorInfo
=
[]
vm
.
faceListUpload
=
[]
vm
.
confirm_note
=
''
...
...
@@ -251,18 +253,32 @@ export default {
})
},
created
()
{},
methods
:
{
goBodyCheck
(
confirm_id
)
{
// 活体检测
this
.
$router
.
push
({
name
:
'BodyCheck'
,
params
:
{
check_id
:
this
.
$route
.
params
.
check_id
,
confirm_id
:
confirm_id
,
},
})
},
/* goElectronicSign () { // 电子签
methods
:
{
// 签约校验
signCheck
()
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'sign_check'
let
param
=
{
confirm_id
:
vm
.
confirm_id
,
}
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
if
(
res
.
result
===
'E'
)
{
vm
.
signCheckFlag
=
false
}
else
{
vm
.
signCheckFlag
=
true
}
})
},
goBodyCheck
(
confirm_id
)
{
// 活体检测
this
.
$router
.
push
({
name
:
'BodyCheck'
,
params
:
{
check_id
:
this
.
$route
.
params
.
check_id
,
confirm_id
:
confirm_id
,
},
})
},
/* goElectronicSign () { // 电子签
let vm = this
let url = process.env.basePath + 'get_sign_url'
let param = {
...
...
@@ -283,261 +299,264 @@ export default {
vm.hlsPopup.showLongCenter(res.info.msg)
}
})
},*/
// 签约确认
contractConfirm
()
{
let
vm
=
this
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确认签约吗?'
,
onConfirm
:
(
data
)
=>
{
if
(
data
)
{
vm
.
issure
(
'APPROVED'
)
}
},
})
},
}, */
// 签约确认
contractConfirm
()
{
let
vm
=
this
if
(
this
.
signCheckFlag
)
{
// 只有认证通过后方可进行签约操作
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确认签约吗?'
,
onConfirm
:
(
data
)
=>
{
if
(
data
)
{
vm
.
issure
(
'APPROVED'
)
}
},
})
}
else
{
hlsPopup
.
showLongCenter
(
'请先进行认证'
)
}
},
takePhonto
()
{
let
vm
=
this
hlsPopup
.
showPopup
({
title
:
'提示'
,
content
:
`请自拍一张`
,
onConfirm
:
()
=>
{
vm
.
takePhontoOpenCamera
()
},
})
},
// 打开相机自拍
takePhontoOpenCamera
()
{
let
vm
=
this
vm
.
faceListUpload
=
[]
let
obj
=
{
'pkvalue'
:
vm
.
$route
.
params
.
check_id
,
'source_type'
:
'PRJ_CDD_ITEM_CHECK'
,
'picture'
:
''
,
'filePath'
:
''
,
'attachment_id'
:
''
,
'user_id'
:
1
,
'fileName'
:
'face'
,
}
let
cameraoptions
=
{
quality
:
100
,
cameraDirection
:
1
,
}
let
success
=
function
(
imgdata
)
{
obj
.
filePath
=
imgdata
// obj.filePath = 'http://hlsapp.hand-china.com/file/XCMG/2.jpg'
vm
.
confirmContractSign
(
imgdata
)
vm
.
faceListUpload
.
push
(
obj
)
}
let
error
=
function
()
{
hlsPopup
.
showLongCenter
(
'请拍照'
)
}
hlsUtil
.
openCamera
(
cameraoptions
,
success
,
error
)
},
// 执行同意的逻辑(查询对应的身份证正面图片->人脸识别->确认签约)
async
confirmContractSign
(
faceImg
)
{
let
idCardImgUrl
=
await
this
.
idCardImgUrlGet
()
if
(
idCardImgUrl
)
{
this
.
faceIdentify
(
faceImg
,
idCardImgUrl
)
}
},
// 获取身份证照片
async
idCardImgUrlGet
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_id_card_query'
let
param
=
{
confirm_id
:
vm
.
confirm_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
let
res
=
await
vm
.
$post
(
url
,
param
)
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
&&
res
.
info
)
{
let
cardUrl
=
process
.
env
.
filePath
+
'attachment_id='
+
res
.
info
.
attachment_id
+
'&access_token='
+
window
.
localStorage
.
access_token
return
cardUrl
}
else
if
(
res
.
result
===
'S'
&&
!
res
.
info
)
{
hlsPopup
.
showLongCenter
(
'未找到身份证照片'
)
return
null
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
return
null
}
},
// 人脸比对
faceIdentify
(
faceImg
,
idCardImgUrl
)
{
let
vm
=
this
let
obj
=
{
'fileUrl'
:
faceImg
,
'idCardImgUrl'
:
idCardImgUrl
,
}
hlsPopup
.
showLoading
(
'正在比对'
)
let
url
=
process
.
env
.
ocrPath
+
'/baidu/ocr/face'
hlsUtil
.
baiduOcrFace
(
obj
,
url
,
function
(
res
)
{
hlsPopup
.
hideLoading
()
if
(
res
.
success
)
{
vm
.
save_picture
(
vm
.
faceListUpload
)
let
identifyScore
=
res
.
result
.
result
.
score
.
toFixed
(
0
)
hlsPopup
.
showPopup
({
title
:
'提示'
,
content
:
`识别分数为
${
identifyScore
}
,请进行活体检测`
,
onConfirm
:
()
=>
{
// 进入活体检测页面
vm
.
goBodyCheck
(
vm
.
confirm_id
)
},
})
}
else
{
hlsPopup
.
showLongCenter
(
'比对失败,请保证和绑定时是同一个人'
)
}
})
},
takePhonto
()
{
let
vm
=
this
hlsPopup
.
showPopup
({
title
:
'提示'
,
content
:
`请自拍一张`
,
onConfirm
:
()
=>
{
vm
.
takePhontoOpenCamera
()
},
})
},
// 打开相机自拍
takePhontoOpenCamera
()
{
let
vm
=
this
vm
.
faceListUpload
=
[]
let
obj
=
{
'pkvalue'
:
vm
.
$route
.
params
.
check_id
,
'source_type'
:
'PRJ_CDD_ITEM_CHECK'
,
'picture'
:
''
,
'filePath'
:
''
,
'attachment_id'
:
''
,
'user_id'
:
1
,
'fileName'
:
'face'
,
}
let
cameraoptions
=
{
quality
:
100
,
cameraDirection
:
1
,
}
let
success
=
function
(
imgdata
)
{
obj
.
filePath
=
imgdata
// obj.filePath = 'http://hlsapp.hand-china.com/file/XCMG/2.jpg'
vm
.
confirmContractSign
(
imgdata
)
vm
.
faceListUpload
.
push
(
obj
)
}
let
error
=
function
()
{
hlsPopup
.
showLongCenter
(
'请拍照'
)
}
hlsUtil
.
openCamera
(
cameraoptions
,
success
,
error
)
},
// 执行同意的逻辑(查询对应的身份证正面图片->人脸识别->确认签约)
async
confirmContractSign
(
faceImg
)
{
let
idCardImgUrl
=
await
this
.
idCardImgUrlGet
()
if
(
idCardImgUrl
)
{
this
.
faceIdentify
(
faceImg
,
idCardImgUrl
)
}
},
// 获取身份证照片
async
idCardImgUrlGet
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_id_card_query'
let
param
=
{
confirm_id
:
vm
.
confirm_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
let
res
=
await
vm
.
$post
(
url
,
param
)
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
&&
res
.
info
)
{
let
cardUrl
=
process
.
env
.
filePath
+
'attachment_id='
+
res
.
info
.
attachment_id
+
'&access_token='
+
window
.
localStorage
.
access_token
return
cardUrl
}
else
if
(
res
.
result
===
'S'
&&
!
res
.
info
)
{
hlsPopup
.
showLongCenter
(
'未找到身份证照片'
)
return
null
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
return
null
}
},
// 人脸比对
faceIdentify
(
faceImg
,
idCardImgUrl
)
{
let
vm
=
this
let
obj
=
{
'fileUrl'
:
faceImg
,
'idCardImgUrl'
:
idCardImgUrl
,
}
hlsPopup
.
showLoading
(
'正在比对'
)
let
url
=
process
.
env
.
ocrPath
+
'/baidu/ocr/face'
hlsUtil
.
baiduOcrFace
(
obj
,
url
,
function
(
res
)
{
hlsPopup
.
hideLoading
()
if
(
res
.
success
)
{
vm
.
save_picture
(
vm
.
faceListUpload
)
let
identifyScore
=
res
.
result
.
result
.
score
.
toFixed
(
0
)
hlsPopup
.
showPopup
({
title
:
'提示'
,
content
:
`识别分数为
${
identifyScore
}
,请进行活体检测`
,
onConfirm
:
()
=>
{
// 进入活体检测页面
vm
.
goBodyCheck
(
vm
.
confirm_id
)
},
})
}
else
{
hlsPopup
.
showLongCenter
(
'比对失败,请保证和绑定时是同一个人'
)
}
})
},
// 确认逻辑
issure
(
status
)
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'do_confrim_bp'
let
param
=
{
'master'
:
{
confirm_id
:
vm
.
confirm_id
,
confirm_status
:
status
,
confirm_note
:
vm
.
confirm_note
,
},
}
vm
.
hlsPopup
.
showLoading
(
'提交数据中!'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
save_picture
(
vm
.
faceListUpload
)
vm
.
hlsPopup
.
showSuccess
(
'签约成功'
)
window
.
localStorage
.
setItem
(
'backflag'
,
true
)
vm
.
$routeGo
()
}
else
{
vm
.
hlsPopup
.
showSuccess
(
res
.
message
)
}
})
},
// 图片保存
save_picture
(
list
)
{
//
alert('list' + JSON.stringify(list))
let
vm
=
this
if
(
list
.
length
)
{
// hlsPopup.showLoading('图片上传请稍候')
var
alreadyUploadNum
=
0
var
attLength
=
0
var
recordUploadInterval
=
setInterval
(
function
()
{
if
(
alreadyUploadNum
===
attLength
)
{
clearInterval
(
recordUploadInterval
)
/* hlsPopup.hideLoading()
// 确认逻辑
issure
(
status
)
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'do_confrim_bp'
let
param
=
{
'master'
:
{
confirm_id
:
vm
.
confirm_id
,
confirm_status
:
status
,
confirm_note
:
vm
.
confirm_note
,
},
}
vm
.
hlsPopup
.
showLoading
(
'提交数据中!'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
save_picture
(
vm
.
faceListUpload
)
vm
.
hlsPopup
.
showSuccess
(
'签约成功'
)
window
.
localStorage
.
setItem
(
'backflag'
,
true
)
vm
.
$routeGo
()
}
else
{
vm
.
hlsPopup
.
showSuccess
(
res
.
message
)
}
})
},
// 图片保存
save_picture
(
list
)
{
//
alert('list' + JSON.stringify(list))
let
vm
=
this
if
(
list
.
length
)
{
// hlsPopup.showLoading('图片上传请稍候')
var
alreadyUploadNum
=
0
var
attLength
=
0
var
recordUploadInterval
=
setInterval
(
function
()
{
if
(
alreadyUploadNum
===
attLength
)
{
clearInterval
(
recordUploadInterval
)
/* hlsPopup.hideLoading()
hlsPopup.showLongCenter('图片上传成功') */
}
},
500
)
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
uploadSuccess
=
function
(
res
)
{
if
(
res
.
result
===
'S'
)
{
alreadyUploadNum
++
for
(
var
j
=
0
;
j
<
list
.
length
;
j
++
)
{
if
(
list
[
j
].
filePath
===
res
.
response
.
filePath
)
{
list
[
j
].
attachment_id
=
res
.
response
.
attachment_id
vm
.
faceListUpload
.
push
(
list
[
j
])
//
alert('faceListUpload' + JSON.stringify(vm.faceListUpload))
break
}
}
}
else
{
hlsPopup
.
hideLoading
()
}
}
if
(
!
list
[
i
].
attachment_id
)
{
attLength
++
hlsUtil
.
fileUploadSvc
(
list
[
i
],
uploadSuccess
)
}
}
}
else
{
hlsPopup
.
hideLoading
()
}
},
// 基本信息
getBseMsg
()
{
let
vm
=
this
let
url
=
''
let
url1
=
$config
.
basePath
+
'prj_np_info_query'
let
url2
=
$config
.
basePath
+
'prj_org_info_query'
vm
.
bp_class
===
'NP'
?
url
=
url1
:
url
=
url2
let
param
=
{
project_id
:
vm
.
project_id
,
}
vm
.
hlsPopup
.
showLoading
(
'数据加载中'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
// vm.lists = res.lists
vm
.
baseInfo
=
res
.
info
if
(
res
.
info
.
auth_flag
)
{
window
.
localStorage
.
setItem
(
'auth_flag'
,
res
.
info
.
auth_flag
)
}
}
})
},
}
},
500
)
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
let
uploadSuccess
=
function
(
res
)
{
if
(
res
.
result
===
'S'
)
{
alreadyUploadNum
++
for
(
var
j
=
0
;
j
<
list
.
length
;
j
++
)
{
if
(
list
[
j
].
filePath
===
res
.
response
.
filePath
)
{
list
[
j
].
attachment_id
=
res
.
response
.
attachment_id
vm
.
faceListUpload
.
push
(
list
[
j
])
//
alert('faceListUpload' + JSON.stringify(vm.faceListUpload))
break
}
}
}
else
{
hlsPopup
.
hideLoading
()
}
}
if
(
!
list
[
i
].
attachment_id
)
{
attLength
++
hlsUtil
.
fileUploadSvc
(
list
[
i
],
uploadSuccess
)
}
}
}
else
{
hlsPopup
.
hideLoading
()
}
},
// 基本信息
getBseMsg
()
{
let
vm
=
this
let
url
=
''
let
url1
=
$config
.
basePath
+
'prj_np_info_query'
let
url2
=
$config
.
basePath
+
'prj_org_info_query'
vm
.
bp_class
===
'NP'
?
url
=
url1
:
url
=
url2
let
param
=
{
project_id
:
vm
.
project_id
,
}
vm
.
hlsPopup
.
showLoading
(
'数据加载中'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
// vm.lists = res.lists
vm
.
baseInfo
=
res
.
info
if
(
res
.
info
.
auth_flag
)
{
window
.
localStorage
.
setItem
(
'auth_flag'
,
res
.
info
.
auth_flag
)
}
}
})
},
// 担保人
getGuarantor
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_guarantor_list_query'
let
param
=
{
project_id
:
vm
.
project_id
,
}
vm
.
hlsPopup
.
showLoading
(
'数据加载中'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
guarantorInfo
=
res
.
lists
}
})
},
getLease
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_lease_query'
let
param
=
{
project_id
:
vm
.
project_id
,
}
// 租赁信息
vm
.
hlsPopup
.
showLoading
(
'数据加载中'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
info
=
res
.
info
}
})
},
getTabNum
(
i
)
{
this
.
tabNum
=
i
},
dateConverse
(
date
)
{
return
date
.
replace
(
/
\/
/g
,
'-'
)
},
callUp
(
phonenumber
)
{
window
.
open
(
'tel:'
+
phonenumber
)
},
// 跳转合同详情
goContractContent
(
name
)
{
this
.
$router
.
push
({
name
:
'ContractContent'
,
params
:
{
name
,
},
})
},
repayPlan
()
{
this
.
$router
.
push
({
name
:
'FinancDetails'
,
params
:
{
project_id
:
this
.
project_id
,
product_num
:
this
.
info
.
product_num
,
},
})
},
},
// 担保人
getGuarantor
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_guarantor_list_query'
let
param
=
{
project_id
:
vm
.
project_id
,
}
vm
.
hlsPopup
.
showLoading
(
'数据加载中'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
guarantorInfo
=
res
.
lists
}
})
},
getLease
()
{
let
vm
=
this
let
url
=
$config
.
basePath
+
'prj_lease_query'
let
param
=
{
project_id
:
vm
.
project_id
,
}
// 租赁信息
vm
.
hlsPopup
.
showLoading
(
'数据加载中'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
info
=
res
.
info
}
})
},
getTabNum
(
i
)
{
this
.
tabNum
=
i
},
dateConverse
(
date
)
{
return
date
.
replace
(
/
\/
/g
,
'-'
)
},
callUp
(
phonenumber
)
{
window
.
open
(
'tel:'
+
phonenumber
)
},
// 跳转合同详情
goContractContent
(
name
)
{
this
.
$router
.
push
({
name
:
'ContractContent'
,
params
:
{
name
,
},
})
},
repayPlan
()
{
this
.
$router
.
push
({
name
:
'FinancDetails'
,
params
:
{
project_id
:
this
.
project_id
,
product_num
:
this
.
info
.
product_num
,
},
})
},
},
}
</
script
>
<
style
lang=
'less'
>
...
...
src/pages/invoice/invoice.vue
0 → 100644
View file @
e95dff29
/**
* @Author Sean
* @Date 2019/10/22
*/
<
template
>
<h-view
id=
"invoice"
class=
"public-style"
style=
"height: 100%"
>
<h-header
:proportion=
"[5,1,1]"
class=
"bar-custom"
>
<div
slot=
"left"
class=
"h-header-btn"
>
<img
src=
"@/assets/userBind/arrow.png"
@
click=
"$routeGo()"
>
<span>
我的发票
</span>
</div>
</h-header>
<scroll
ref=
"scroll"
:updateData=
"[invoiceList]"
:pullUp=
"true"
@
pullingUp=
"loadMore"
>
<section
class=
"invoice-wrap"
>
<list-item
v-for=
"(list,index) in [0,1,2]"
:key=
"index"
>
<div
class=
"invoice-number"
>
<img
src=
"@/assets/invoice/myInvoice.png"
>
<div
class=
"invoice-number-content"
>
<span
class=
"number-left"
>
发票号码 23456
</span>
<div
class=
"number-right"
>
<img
src=
"@/assets/invoice/download.png"
>
<span
class=
"invoice-download"
>
发票下载
</span>
</div>
</div>
</div>
<div
class=
"invoice-content"
>
<div
class=
"invoice-content-item"
>
<span
class=
"item-text"
>
开票金额
</span>
<span
class=
"item-value"
>
120090000
</span>
</div>
<div
class=
"invoice-content-item"
>
<span
class=
"item-text"
>
开票日期
</span>
<span
class=
"item-value"
>
2019-12-24
</span>
</div>
<div
class=
"invoice-content-item"
>
<span
class=
"item-text"
>
税率
</span>
<span
class=
"item-value"
>
14%
</span>
</div>
<div
class=
"invoice-content-item"
>
<span
class=
"item-text"
>
税额
</span>
<span
class=
"item-value"
>
120090000
</span>
</div>
<div
class=
"invoice-content-item"
>
<span
class=
"item-text"
>
购买方名称
</span>
<span
class=
"item-value"
>
上海汉得信息技术股份有限公司
</span>
</div>
<div
class=
"invoice-content-item"
>
<span
class=
"item-text"
>
销售方名称
</span>
<span
class=
"item-value"
>
江苏徐工工程机械租赁有限公司
</span>
</div>
</div>
</list-item>
</section>
</scroll>
</h-view>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
invoiceList
:
[],
pagenum
:
1
,
searchPagenum
:
1
,
}
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
vm
.
pagenum
=
1
vm
.
searchPagenum
=
1
vm
.
invoiceList
=
[]
vm
.
getList
()
})
},
methods
:
{
loadMore
()
{
},
getList
()
{
},
},
}
</
script
>
<
style
lang=
"less"
rel=
"stylesheet"
>
@import "../../styles/mixin";
#invoice {
.content {
position: absolute;
top: 0;
}
.scrollContent {
// padding-top: 0.8rem;
padding-bottom: 20px;
}
.invoice-wrap{
width: 100%;
margin: 0 auto;
padding: 10px;
display: flex;
flex-direction: column;
.invoice-number{
padding: 0 3% 0 2%;
width: 100%;
height: 40px;
display: flex;
align-items: center;
img{
width: 30px;
height: 30px;
}
.invoice-number-content{
flex: 1;
height: 100%;
margin-left: 3%;
display: flex;
justify-content: space-between;
align-items: center;
.border-bottom();
.number-left{
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4B4A4B;
letter-spacing: 0;
}
.number-right{
font-family: PingFangSC-Regular;
font-size: 13px;
color: #1D3FFF;
letter-spacing: 0;
display: flex;
align-items: center;
img{
width: 16px;
height: 16px;
}
}
}
}
.invoice-content{
margin: 0 3% 0 13%;
display: flex;
flex-direction: column;
.invoice-content-item{
height: 30px;
display: flex;
justify-content: space-between;
align-items: center;
.item-text{
font-family: PingFangSC-Regular;
font-size: 14px;
color: rgba(75,74,75,0.60);
letter-spacing: 0;
}
.item-value{
font-family: PingFangSC-Regular;
font-size: 14px;
color: #4B4A4B;
letter-spacing: 0;
}
}
}
}
}
.platform-ios {
#invoice {
.scrollContent {
padding-top: 1.2rem;
}
}
}
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#invoice {
.scrollContent {
padding-top: 1.6rem;
}
}
}
}
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#invoice {
.scrollContent {
padding-top: 1.6rem;
}
}
}
}
</
style
>
src/pages/myInfo/my-info.vue
View file @
e95dff29
...
...
@@ -102,10 +102,10 @@
<img
slot=
"left-icon"
src=
"@/assets/myInfo/myRefund.png"
class=
"left-icon"
>
<div
slot=
"name"
>
我的还款
</div>
</item>
<
!--
<item
@
click
.
native=
"changeDrawbackList
"
>
<img
slot=
"left-icon"
src=
"@/assets/myInfo/
repay
.png"
class=
"left-icon"
>
<div
slot=
"name"
>
业务退款
</div>
</item>
-->
<
item
v-if=
"(user_bp_type==='TENANT')||(user_bp_type==='GUTA')"
@
click
.
native=
"goInvoice
"
>
<img
slot=
"left-icon"
src=
"@/assets/myInfo/
invoice
.png"
class=
"left-icon"
>
<div
slot=
"name"
>
我的发票
</div>
</item>
<item
@
click
.
native=
"goMyProduct"
>
<img
slot=
"left-icon"
src=
"@/assets/myInfo/collect.png"
class=
"left-icon"
>
<div
slot=
"name"
>
我的收藏
</div>
...
...
@@ -317,6 +317,12 @@ export default {
this
.
description
=
'审批中'
}
},
// 我的发票
goInvoice
()
{
this
.
$router
.
push
({
name
:
'MyInvoice'
,
})
},
// 合同创建
goCreate
()
{
this
.
$router
.
push
({
...
...
src/router/index.js
View file @
e95dff29
...
...
@@ -126,6 +126,9 @@ import CreateBaseInfo from '@/pages/contractCreate/create-base-info'
import
AddPerson
from
'@/pages/contractCreate/add-person'
import
CreateRentInfo
from
'@/pages/contractCreate/creat-rent-info'
import
CreateEnclosureInfo
from
'@/pages/contractCreate/create-enclosure-info'
// 我的发票
import
MyInvoice
from
'@/pages/invoice/invoice'
Vue
.
use
(
Router
)
export
default
new
Router
({
...
...
@@ -299,6 +302,9 @@ export default new Router({
{
path
:
'/add-person'
,
component
:
AddPerson
,
name
:
'AddPerson'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/create-rent-info'
,
component
:
CreateRentInfo
,
name
:
'CreateRentInfo'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/create-enclosure-info'
,
component
:
CreateEnclosureInfo
,
name
:
'CreateEnclosureInfo'
,
meta
:
{
keepAlive
:
true
}},
// 我的发票
{
path
:
'/invoice'
,
component
:
MyInvoice
,
name
:
'MyInvoice'
,
meta
:
{
keepAlive
:
false
}},
],
scrollBehavior
(
to
,
from
,
savedPosition
)
{
if
(
to
.
hash
)
{
...
...
www/index.html
View file @
e95dff29
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no,width=device-width,viewport-fit=cover"
><meta
name=
format-detection
content=
"telephone=no"
><meta
name=
format-detection
content=
"email=no"
><meta
name=
apple-mobile-web-app-capable
content=
yes
><meta
name=
apple-mobile-web-app-status-bar-style
content=
black
><script
type=
text/javascript
src=
./static/vuePlatform.js
></script><script
type=
text/javascript
src=
./static/prototype.js
></script><script
type=
text/javascript
src=
cordova.js
></script><script
type=
text/javascript
src=
"http://api.map.baidu.com/api?v=2.0&ak=o7fTnpVAGzXKN7SirV8xGU2xzWQS2NrI"
></script><title>
徐工融租
</title><link
href=
./static/css/app.c17b14a309ee9b998ffaad1fa5b7daa6.css
rel=
stylesheet
></head><body><div
id=
app-box
></div><script
type=
text/javascript
src=
./static/js/manifest.3ad1d5771e9b13dbdad2.js
></script><script
type=
text/javascript
src=
./static/js/vendor.e547499500fbe65e7169.js
></script><script
type=
text/javascript
src=
./static/js/app.46f4f3d29099557fd7fb.js
></script></body></html>
\ No newline at end of file
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no,width=device-width,viewport-fit=cover"
><meta
name=
format-detection
content=
"telephone=no"
><meta
name=
format-detection
content=
"email=no"
><meta
name=
apple-mobile-web-app-capable
content=
yes
><meta
name=
apple-mobile-web-app-status-bar-style
content=
black
><script
type=
text/javascript
src=
./static/vuePlatform.js
></script><script
type=
text/javascript
src=
./static/prototype.js
></script><script
type=
text/javascript
src=
cordova.js
></script><script
type=
text/javascript
src=
"http://api.map.baidu.com/api?v=2.0&ak=o7fTnpVAGzXKN7SirV8xGU2xzWQS2NrI"
></script><title>
徐工融租
</title><link
href=
./static/css/app.d965fd595cac64a8e17d625d79bf7e9b.css
rel=
stylesheet
></head><body><div
id=
app-box
></div><script
type=
text/javascript
src=
./static/js/manifest.3ad1d5771e9b13dbdad2.js
></script><script
type=
text/javascript
src=
./static/js/vendor.e547499500fbe65e7169.js
></script><script
type=
text/javascript
src=
./static/js/app.e1905bf58fba861fc8cb.js
></script></body></html>
\ No newline at end of file
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