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
f3534b27
Commit
f3534b27
authored
Dec 15, 2020
by
Jennie Shi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新
parent
ac23c3de
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
541 additions
and
493 deletions
+541
-493
confirm-detail.vue
src/pages/carConfirm/confirm-detail.vue
+61
-52
confirm-list.vue
src/pages/carConfirm/confirm-list.vue
+1
-1
creat-rent-info.vue
src/pages/contractCreate/creat-rent-info.vue
+0
-81
my-contract.vue
src/pages/contractCreate/my-contract.vue
+11
-11
contract-detail.vue
src/pages/contractSigning/contract-detail.vue
+39
-42
contract-repay-plan.vue
src/pages/contractSigning/contract-repay-plan.vue
+4
-27
contract-signing.vue
src/pages/contractSigning/contract-signing.vue
+1
-1
add-car.vue
src/pages/contractStart/add-car.vue
+292
-132
contract-list.vue
src/pages/distributorSign/contract-list.vue
+1
-1
function-list.vue
src/pages/functionCenter/function-list.vue
+119
-132
my-info.vue
src/pages/myInfo/my-info.vue
+4
-4
index.js
src/router/index.js
+8
-8
hlsPopup.js
src/scripts/hlsPopup.js
+0
-1
No files found.
src/pages/carConfirm/confirm-detail.vue
View file @
f3534b27
...
...
@@ -99,7 +99,19 @@
</item>
<item>
<div
slot=
"name"
>
租赁物数量
</div>
<input
slot=
"content"
v-model=
"info.product_num"
readonly
placeholder=
"请输入租赁物数量"
>
<input
slot=
"content"
v-model=
"info.product_num"
readonly
placeholder=
"暂无数据"
>
</item>
<item>
<div
slot=
"name"
>
签约日期
</div>
<input
slot=
"content"
v-model=
"info.sale_date"
readonly
placeholder=
"暂无数据"
>
</item>
<item>
<div
slot=
"name"
>
首期付款日
</div>
<input
slot=
"content"
v-model=
"info.lease_start_date"
readonly
placeholder=
"暂无数据"
>
</item>
<item
:showArrow=
"true"
@
click
.
native=
"goPlan"
>
<div
slot=
"name"
>
查看还款计划
</div>
<input
slot=
"content"
readonly
>
</item>
</list-item>
<div
class=
"userInfo"
>
设备清单
</div>
...
...
@@ -216,6 +228,8 @@ export default {
bp_agent_name
:
' '
,
product_plan_id_n
:
''
,
product_code
:
''
,
sale_date
:
''
,
lease_start_date
:
''
,
},
signMsg
:
''
,
rentInfo
:
{
...
...
@@ -276,6 +290,16 @@ export default {
}
})
},
goPlan
()
{
let
vm
=
this
vm
.
$router
.
push
({
name
:
'ContractRepayPlan'
,
params
:
{
product_num
:
vm
.
info
.
product_num
,
project_id
:
vm
.
project_id
,
},
})
},
goContent
(
item
,
index
)
{
// 详情
// 合同状态更新保存
...
...
@@ -355,7 +379,39 @@ export default {
},
async
takePhonto
()
{
let
vm
=
this
vm
.
goElectronicSign
()
let
flag
=
await
this
.
signCheck
()
if
(
flag
)
{
vm
.
hlsPopup
.
showLongCenter
(
'已经验证过!'
)
return
}
let
url
=
process
.
env
.
basePath
+
'bp_query'
let
param
=
{
bp_id
:
window
.
localStorage
.
bp_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
res
=>
{
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
let
data
=
res
.
lists
[
0
]
cordova
.
plugins
.
IdCardPlugin
.
faceContrast
({
'idNum'
:
data
.
id_card_no
,
'idName'
:
data
.
bp_name
},
function
(
suc
)
{
let
success
=
JSON
.
parse
(
suc
)
if
(
success
.
code
===
1
)
{
let
filePath
=
JSON
.
stringify
(
success
.
message
,
'
\
\'
, null)
filePath = '
file
:
\
/
\
/
' + filePath.replace('
\
"', '')
filePath = filePath.substr(0, filePath.length - 1)
console.log('filePath ==== ' + filePath)
// 回调成功上传图片
vm.uploadImg(filePath)
vm.goElectronicSign()
}
}, function (reason) {
let error = JSON.parse(reason)
vm.hlsPopup.showLongCenter('认证失败: ' + error.message)
})
} else {
vm.hlsPopup.showLongCenter(res.message)
}
})
},
// 查看大图
showBigPicture (pic) {
...
...
@@ -369,7 +425,7 @@ export default {
let vm = this
vm.faceListUpload = []
let obj = {
pkvalue
:
vm
.
$route
.
params
.
check_id
,
pkvalue: vm.check_id,
source_type: 'PRJ_CDD_ITEM_CHECK',
picture: '',
filePath: img,
...
...
@@ -402,13 +458,6 @@ export default {
}
})
},
// 执行同意的逻辑(查询对应的身份证正面图片->人脸识别->确认签约)
async
confirmContractSign
(
faceImg
)
{
let
idCardImgUrl
=
await
this
.
idCardImgUrlGet
()
if
(
idCardImgUrl
)
{
this
.
faceIdentify
(
faceImg
,
idCardImgUrl
)
}
},
// 获取身份证照片
async idCardImgUrlGet () {
let vm = this
...
...
@@ -435,48 +484,6 @@ export default {
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
&&
res
.
result
.
result
.
score
)
{
// vm.save_picture(vm.faceListUpload)
let
identifyScore
=
res
.
result
.
result
.
score
.
toFixed
(
0
)
if
(
identifyScore
>=
50
)
{
hlsPopup
.
showPopup
({
title
:
'提示'
,
content
:
`识别分数为
${
identifyScore
}
,请进行活体检测`
,
onConfirm
:
()
=>
{
// 进入活体检测页面
vm
.
goBodyCheck
(
vm
.
confirm_id
)
},
})
}
else
{
hlsPopup
.
showLongCenter
(
'比对失败,请保证和绑定时是同一个人'
)
}
}
else
{
hlsPopup
.
showLongCenter
(
'比对失败,请保证和绑定时是同一个人'
)
}
})
},
goBodyCheck
(
confirm_id
)
{
// 活体检测
this
.
$refs
.
body
.
show
()
/* this.$router.push({
name: 'BodyCheck',
params: {
check_id: this.$route.params.check_id,
confirm_id: confirm_id,
},
}) */
},
// 图片保存
save_picture (list) {
// alert('list' + JSON.stringify(list))
...
...
@@ -625,6 +632,8 @@ export default {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.info = res.info
vm.info.sale_date ? vm.info.sale_date = vm.info.sale_date.substr(0, 10) : vm.info.sale_date = ''
vm.info.lease_start_date ? vm.info.lease_start_date = vm.info.lease_start_date.substr(0, 10) : vm.info.lease_start_date = ''
} else {
hlsPopup.showLongCenter(res.message)
}
...
...
src/pages/carConfirm/confirm-list.vue
View file @
f3534b27
...
...
@@ -3,7 +3,7 @@
<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>
<span>
合同签订
</span>
</div>
</h-header>
<Tab
:title=
"text"
@
getTabNum=
"getTabNum"
/>
...
...
src/pages/contractCreate/creat-rent-info.vue
View file @
f3534b27
...
...
@@ -131,37 +131,7 @@
<div
slot=
"name"
class=
"required"
>
产品数量
</div>
<input
slot=
"content"
v-model=
"saveInfo.product_num"
:readonly=
"isReadOnly"
placeholder=
"请输入产品数量"
>
</item>
<item
v-if=
"isReadOnly"
class=
"check"
>
<div
slot=
"name"
class=
"required"
>
是否已发车
</div>
<img
v-if=
"saveInfo.if_sent_car"
slot=
"content"
src=
"@/assets/contractCreate/selected.png"
>
<span
v-if=
"!saveInfo.if_sent_car"
slot=
"content"
/>
</item>
<item
v-if=
"!isReadOnly"
class=
"check"
@
click
.
native=
"saveInfo.if_sent_car=!saveInfo.if_sent_car"
>
<div
slot=
"name"
class=
"required"
>
是否已发车
</div>
<img
v-if=
"saveInfo.if_sent_car"
slot=
"content"
src=
"@/assets/contractCreate/selected.png"
>
<span
v-if=
"!saveInfo.if_sent_car"
slot=
"content"
/>
</item>
</list-item>
<div>
<div
class=
"userInfo"
>
租赁物信息
<img
v-if=
"!isReadOnly"
src=
"@/assets/contractCreate/add.png"
@
click=
"downNum=true;resetRent()"
></div>
<item-option
v-for=
"(item,index) in leaseList"
ref=
"underTake"
:key=
"index"
class=
"mySlider"
>
<list-item
:item-height=
"68"
@
click
.
native=
"downNum=true;getRent(item.project_lease_item_id)"
>
<item>
<span
slot=
"left-icon"
class=
"left-icon"
>
{{
index
+
1
}}
</span>
<div
slot=
"name"
>
租赁物信息
<br
>
车辆型号
</div>
<div
slot=
"content"
>
<input
placeholder=
""
readonly
>
<input
v-model=
"item.vehicle_model"
placeholder=
""
readonly
>
</div>
</item>
</list-item>
<div
slot=
"buttons"
>
<option-button
v-if=
"!isReadOnly"
type=
"delete"
text
@
click
.
native=
"delete_release(item.project_lease_item_id,index)"
/>
</div>
</item-option>
</div>
<div
class=
"userInfo"
>
融资信息
</div>
<div
class=
"hint-info"
>
<img
src=
"@/assets/contractCreate/hint.png"
>
提示 以下为单个设备商务政策
...
...
@@ -631,28 +601,6 @@ export default {
})
},
methods
:
{
delete_release
(
project_lease_item_id
,
index
)
{
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确认删除吗?'
,
onConfirm
:
(
index2
)
=>
{
if
(
index2
===
1
)
{
let
url
=
process
.
env
.
basePath
+
'prj_leases_info_delete'
let
param
=
{
project_lease_item_id
:
project_lease_item_id
,
}
this
.
$post
(
url
,
param
).
then
((
res
)
=>
{
this
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
this
.
leaseList
.
splice
(
index
,
1
)
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
}
},
})
},
// 查看大图
showBigPicture
(
pic
)
{
let
vm
=
this
...
...
@@ -661,35 +609,6 @@ export default {
width
:
'100%'
,
})
},
resetRent
()
{
this
.
rentInfo
=
{
project_lease_item_id
:
''
,
project_id
:
window
.
localStorage
.
project_id
,
frame_number
:
''
,
engine
:
''
,
vehicle_model
:
''
,
certificate_number
:
''
,
departure_date
:
''
,
invoice_date
:
''
,
}
},
getRent
(
id
)
{
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'prj_leases_info_query'
let
param
=
{
project_lease_item_id
:
id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
Object
.
assign
(
vm
.
rentInfo
,
res
.
info
)
vm
.
getImg
(
id
)
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
saveRent
()
{
let
url
=
process
.
env
.
basePath
+
'prj_leases_info_save'
if
(
this
.
rentInfo
.
frame_number
===
''
)
{
...
...
src/pages/contractCreate/my-contract.vue
View file @
f3534b27
...
...
@@ -15,24 +15,24 @@
</h-header>
<div
class=
"my-contractlist"
>
<div
class=
"contract-item"
@
click=
"goSign()"
>
<p
:class=
"
{'content-wrap-class-width':signCount > 99, 'content-wrap-class':signCount
<
99
}"
v-if=
"signCount > 0
"
>
{{
signCount
>
99
?
'99+'
:
signCount
}}
</p>
<p
v-if=
"signCount > 0"
:class=
"
{'content-wrap-class-width':signCount > 99, 'content-wrap-class':signCount
<
99
}
"
>
{{
signCount
>
99
?
'99+'
:
signCount
}}
</p>
<img
src=
"@/assets/myInfo/unSign.png"
>
<span>
租赁
方案确认
</span>
<span>
融资
方案确认
</span>
</div>
<div
class=
"contract-item"
v-if=
"multipleRole == 'TENANT' || multipleRole == 'GUTA'
"
@
click=
"goCarConfirm()"
>
<p
:class=
"
{'content-wrap-class-width':carCount > 99, 'content-wrap-class':carCount
<
99
}"
v-if=
"carCount > 0
"
>
{{
carCount
>
99
?
'99+'
:
carCount
}}
</p>
<div
v-if=
"multipleRole == 'TENANT' || multipleRole == 'GUTA'|| user_bp_type == 'AGENT'"
class=
"contract-item
"
@
click=
"goCarConfirm()"
>
<p
v-if=
"carCount > 0"
:class=
"
{'content-wrap-class-width':carCount > 99, 'content-wrap-class':carCount
<
99
}
"
>
{{
carCount
>
99
?
'99+'
:
carCount
}}
</p>
<img
src=
"@/assets/myInfo/carConfirm.png"
>
<span>
发车确认
</span>
<span>
合同签订
</span>
</div>
<div
class=
"contract-item"
v-if=
"multipleRole == 'AGENT' || (multipleRole == 'OFFICE' || user_bp_type == 'OFFICE')
"
@
click=
"goCreate()"
>
<div
v-if=
"multipleRole == 'AGENT' || (multipleRole == 'OFFICE' || user_bp_type == 'OFFICE')"
class=
"contract-item
"
@
click=
"goCreate()"
>
<img
src=
"@/assets/myInfo/contractCreate.png"
>
<span>
合同创建
</span>
</div>
<div
class=
"contract-item"
v-if=
"multipleRole == 'GUTA'
"
@
click=
"changeContract('GUTA')"
>
<div
v-if=
"multipleRole == 'GUTA'"
class=
"contract-item
"
@
click=
"changeContract('GUTA')"
>
<img
src=
"@/assets/myInfo/under.png"
>
<span>
我担保的合同
</span>
</div>
<div
class=
"contract-item"
v-if=
"multipleRole == 'AGENT' || (multipleRole == 'OFFICE' || user_bp_type == 'OFFICE')
"
@
click=
"goContract()"
>
<div
v-if=
"multipleRole == 'AGENT' || (multipleRole == 'OFFICE' || user_bp_type == 'OFFICE')"
class=
"contract-item
"
@
click=
"goContract()"
>
<img
src=
"@/assets/myInfo/agent.png"
>
<span>
我办理的合同
</span>
</div>
...
...
@@ -76,11 +76,11 @@ export default {
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
if
(
res
.
result
===
'S'
)
{
if
(
'info'
in
res
)
{
vm
.
signCount
=
res
.
info
.
con_confirm_num
||
0
//
待确认数量 数字 必输 待确认数量
vm
.
signCount
=
res
.
info
.
con_confirm_num
||
0
//
待确认数量 数字 必输 待确认数量
vm
.
productCount
=
res
.
info
.
collect_num
||
0
// 产品收藏数量 数字 必输 产品收藏数量
vm
.
carCount
=
res
.
info
.
car_confirm_num
||
0
// 发车待确认数量 数字 必输 发车待确认数量
vm
.
faceSign
=
res
.
info
.
face_sign_num
||
0
// 待面签数量 数字 必要 待面签数量
vm
.
prjSubmit
=
res
.
info
.
prj_submit_num
||
0
// 待提交合同数量 数字 必要
vm
.
prjSubmit
=
res
.
info
.
prj_submit_num
||
0
// 待提交合同数量 数字 必要
}
}
else
{
this
.
hlsPopup
.
showLongCenter
(
res
.
message
)
...
...
@@ -105,7 +105,7 @@ export default {
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
},
// 进入
发车确认
// 进入
合同签订
goCarConfirm
()
{
if
(
this
.
bp_id
)
{
this
.
$router
.
push
({
...
...
src/pages/contractSigning/contract-detail.vue
View file @
f3534b27
<!--
* @Author: your name
* @Date: 2019-09-29 10:02:11
* @LastEditTime : 2019-12-26 12:08:25
* @LastEditors : Please set LastEditors
* @Description: In User Settings Edit
-->
<
template
>
<h-view
id=
"contract-details"
class=
"public-style"
>
<div
v-show=
"isshow"
class=
"all"
>
...
...
@@ -25,7 +18,7 @@
<span>
合同详情
</span>
</div>
</h-header>
<div
<
!--
<
div
v-if=
"bookFlag"
class=
"myModal"
>
...
...
@@ -39,7 +32,7 @@
<button
v-if=
"!ischecked"
style=
"background:rgba(56, 63, 69, 0.5)"
>
同意
</button>
<button
v-if=
"ischecked"
class=
"appro"
style=
"background:#00469c"
@
click=
"confirm"
>
同意
</button>
</div>
</div>
</div>
-->
<div
class=
"tab-style"
>
<div
:class=
"
{'done':num === 0,'undone':num !== 0}" @click="num = 0;">
<img
:src=
"num === 0?check1:uncheck1"
>
基本信息
...
...
@@ -602,40 +595,44 @@ export default {
},
async
takePhonto
()
{
let
vm
=
this
let
flag
=
await
this
.
signCheck
()
if
(
flag
)
{
vm
.
hlsPopup
.
showLongCenter
(
'已经验证过!'
)
return
}
let
url
=
process
.
env
.
basePath
+
'bp_query'
let
param
=
{
bp_id
:
window
.
localStorage
.
bp_id
,
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
hlsHttp
.
post
(
url
,
param
).
then
(
res
=>
{
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
let
data
=
res
.
lists
[
0
]
cordova
.
plugins
.
IdCardPlugin
.
faceContrast
({
'idNum'
:
data
.
id_card_no
,
'idName'
:
data
.
bp_name
},
function
(
suc
)
{
let
success
=
JSON
.
parse
(
suc
)
if
(
success
.
code
===
1
)
{
let
filePath
=
JSON
.
stringify
(
success
.
message
,
'
\
\'
, null)
filePath = '
file
:
\
/
\
/
' + filePath.replace('
\
"', '')
filePath = filePath.substr(0, filePath.length - 1)
console.log('filePath ==== ' + filePath)
// 回调成功上传图片
vm.uploadImg(filePath)
vm.goElectronicSign()
}
}, function (reason) {
let error = JSON.parse(reason)
vm.hlsPopup.showLongCenter('认证失败: ' + error.message)
})
} else {
vm.hlsPopup.showLongCenter(res.message)
}
})
vm
.
goElectronicSign
()
},
// async takePhonto () {
// let vm = this
// let flag = await this.signCheck()
// if (flag) {
// vm.hlsPopup.showLongCenter('已经验证过!')
// return
// }
// let url = process.env.basePath + 'bp_query'
// let param = {
// bp_id: window.localStorage.bp_id,
// }
// hlsPopup.showLoading('请稍候')
// vm.hlsHttp.post(url, param).then(res => {
// hlsPopup.hideLoading()
// if (res.result === 'S') {
// let data = res.lists[0]
// cordova.plugins.IdCardPlugin.faceContrast({'idNum': data.id_card_no, 'idName': data.bp_name}, function (suc) {
// let success = JSON.parse(suc)
// if (success.code === 1) {
// let filePath = JSON.stringify(success.message, '\\', null)
// filePath = 'file:\/\/' + filePath.replace('\"', '')
// filePath = filePath.substr(0, filePath.length - 1)
// console.log('filePath ==== ' + filePath)
// // 回调成功上传图片
// vm.uploadImg(filePath)
// vm.goElectronicSign()
// }
// }, function (reason) {
// let error = JSON.parse(reason)
// vm.hlsPopup.showLongCenter('认证失败: ' + error.message)
// })
// } else {
// vm.hlsPopup.showLongCenter(res.message)
// }
// })
// },
// 图片上传
uploadImg
(
img
)
{
let
vm
=
this
...
...
src/pages/contractSigning/contract-repay-plan.vue
View file @
f3534b27
<!--
* @Author: your name
* @Date: 2019-10-30 19:29:24
* @LastEditTime : 2019-12-26 16:47:28
* @LastEditors : Please set LastEditors
* @Description: In User Settings Edit
-->
<
template
>
<h-view
id=
"repay-pland"
class=
"public-style"
>
<h-header
:proportion=
"[5,1,1]"
class=
"bar-custom"
>
...
...
@@ -93,10 +86,10 @@ export default {
watch
:
{},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
if
(
from
.
name
===
'ContractDetail'
||
from
.
name
===
'CreateRentInfo'
)
{
vm
.
product_num
=
vm
.
$route
.
params
.
product_num
vm
.
getInfo
()
}
//
if (from.name === 'ContractDetail' || from.name === 'CreateRentInfo') {
vm
.
product_num
=
vm
.
$route
.
params
.
product_num
vm
.
getInfo
()
//
}
})
next
()
},
...
...
@@ -151,22 +144,6 @@ export default {
}
})
},
// repayQuery () {
// let vm = this
// let url = $config.basePath + 'prd_repayment_plan'
// let param = {
// quotation_id: vm.$route.params.quotation_id,
// }
// vm.hlsPopup.showLoading('数据加载中')
// vm.hlsHttp.post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading()
// if (res.result === 'S') {
// vm.info = res.info
// } else {
// hlsPopup.showLongCenter(res.message)
// }
// })
// },
},
}
...
...
src/pages/contractSigning/contract-signing.vue
View file @
f3534b27
...
...
@@ -3,7 +3,7 @@
<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>
<span>
融资
方案确认
</span>
</div>
</h-header>
<div
class=
"tab-style has-header"
>
...
...
src/pages/contractStart/add-car.vue
View file @
f3534b27
...
...
@@ -5,52 +5,89 @@
<div
class=
"down"
>
<div
class=
"top"
>
录入产品信息
<img
src=
"@/assets/intoApproval/close.png"
@
click=
"downNum=false"
>
<img
src=
"@/assets/intoApproval/close.png"
@
click=
"downNum = false"
>
</div>
<div
class=
"down-content"
>
<span>
请上传照片
</span>
<div
class=
"photo"
@
click=
"pickMethod()"
>
<img
v-if=
"vehicleImg"
:src=
"vehicleImg"
alt=
""
>
<img
v-if=
"vehicleImg"
:src=
"vehicleImg"
alt=
""
>
</div>
<list-item
:item-height=
"44"
>
<item>
<div
slot=
"name"
class=
"required"
>
车架号
</div>
<input
slot=
"content"
v-model=
"info.frame_number"
:readonly=
"flag"
placeholder=
"自动识别车架号"
>
<input
slot=
"content"
v-model=
"info.frame_number"
:readonly=
"flag"
placeholder=
"自动识别车架号"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
发动机号
</div>
<input
slot=
"content"
v-model=
"info.engine"
:readonly=
"flag"
placeholder=
"自动识别发动机号"
>
<input
slot=
"content"
v-model=
"info.engine"
:readonly=
"flag"
placeholder=
"自动识别发动机号"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
车辆型号
</div>
<input
slot=
"content"
v-model=
"info.vehicle_model"
:readonly=
"flag"
placeholder=
"自动识别车辆型号"
>
<div
slot=
"name"
class=
"required"
>
车辆型号
</div>
<input
slot=
"content"
v-model=
"info.vehicle_model"
:readonly=
"flag"
placeholder=
"自动识别车辆型号"
>
</item>
<item>
<div
slot=
"name"
class=
"required"
>
合格证编号
</div>
<input
slot=
"content"
v-model=
"info.certificate_number"
:readonly=
"flag"
placeholder=
"自动识别合格证编号"
>
<div
slot=
"name"
class=
"required"
>
合格证编号
</div>
<input
slot=
"content"
v-model=
"info.certificate_number"
:readonly=
"flag"
placeholder=
"自动识别合格证编号"
>
</item>
<item
v-if=
"!flag"
>
<div
slot=
"name"
class=
"required"
>
发车日期
</div>
<input
slot=
"content"
v-model=
"info.departure_date"
readonly
placeholder=
"请输入发车日期"
@
click=
"showTime('YYYY-MM-DD')"
>
slot=
"content"
v-model=
"info.departure_date"
readonly
placeholder=
"请输入发车日期"
@
click=
"showTime('YYYY-MM-DD')"
>
</item>
<item
v-if=
"flag"
>
<div
slot=
"name"
class=
"required"
>
发车日期
</div>
<input
slot=
"content"
v-model=
"info.departure_date"
readonly
placeholder=
"请输入发车日期"
slot=
"content"
v-model=
"info.departure_date"
readonly
placeholder=
"请输入发车日期"
>
</item>
<item
v-if=
"!flag"
>
<div
slot=
"name"
class=
"required"
>
开票日期
</div>
<input
slot=
"content"
v-model=
"info.invoice_date"
readonly
placeholder=
"请输入开票日期"
@
click=
"showTimeInvoice('YYYY-MM-DD')"
>
slot=
"content"
v-model=
"info.invoice_date"
readonly
placeholder=
"请输入开票日期"
@
click=
"showTimeInvoice('YYYY-MM-DD')"
>
</item>
<item
v-if=
"flag"
>
<div
slot=
"name"
class=
"required"
>
开票日期
</div>
<input
slot=
"content"
v-model=
"info.invoice_date"
readonly
placeholder=
"请输入开票日期"
slot=
"content"
v-model=
"info.invoice_date"
readonly
placeholder=
"请输入开票日期"
>
</item>
<!--
<item
:showArrow=
"true"
@
click
.
native=
"showModalValue=true"
>
...
...
@@ -63,7 +100,7 @@
</div>
</div>
</transition>
<h-header
:proportion=
"[5,
1,
1]"
class=
"bar-custom"
>
<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>
...
...
@@ -83,7 +120,12 @@
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
合同号
</div>
<input
slot=
"content"
v-model=
"detail.project_number"
readonly
placeholder=
"暂无数据"
>
<input
slot=
"content"
v-model=
"detail.project_number"
readonly
placeholder=
"暂无数据"
>
</item>
<item
v-if=
"!read"
:showArrow=
"true"
>
<div
slot=
"name"
>
经销商
</div>
...
...
@@ -95,15 +137,21 @@
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
{{
detail
.
bp_agent_name
?
'经销商'
:
'办事处'
}}
</div>
<div
slot=
"content"
>
{{
detail
.
bp_agent_name
?
detail
.
bp_agent_name
:
detail
.
office_name
}}
</div>
<div
slot=
"name"
>
{{
detail
.
bp_agent_name
?
"经销商"
:
"办事处"
}}
</div>
<div
slot=
"content"
>
{{
detail
.
bp_agent_name
?
detail
.
bp_agent_name
:
detail
.
office_name
}}
</div>
</item>
<item>
<div
slot=
"name"
>
承租人
</div>
<input
slot=
"content"
v-model=
"detail.bp_name"
:placeholder=
"read
?'暂无数据':
'请输入承租人姓名'"
:placeholder=
"read
? '暂无数据' :
'请输入承租人姓名'"
readonly=
"read"
>
</item>
...
...
@@ -118,18 +166,28 @@
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
产品名称
</div>
<input
slot=
"content"
v-model=
"detail.division_n"
readonly
placeholder=
"暂无数据"
>
<input
slot=
"content"
v-model=
"detail.division_n"
readonly
placeholder=
"暂无数据"
>
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
产品型号
</div>
<input
slot=
"content"
v-model=
"detail.product_code"
readonly
placeholder=
"暂无数据"
>
<input
slot=
"content"
v-model=
"detail.product_code"
readonly
placeholder=
"暂无数据"
>
</item>
<item>
<div
slot=
"name"
>
合同金额
</div>
<input
slot=
"content"
v-model=
"detail.total_price"
:placeholder=
"read
?'暂无数据':
'请输入合同金额'"
:placeholder=
"read
? '暂无数据' :
'请输入合同金额'"
:readonly=
"read"
>
</item>
...
...
@@ -144,19 +202,63 @@
</item>
<item
v-if=
"read"
>
<div
slot=
"name"
>
商务政策
</div>
<input
slot=
"content"
v-model=
"detail.product_plan_id_n"
readonly
placeholder=
"暂无数据"
>
<input
slot=
"content"
v-model=
"detail.product_plan_id_n"
readonly
placeholder=
"暂无数据"
>
</item>
<item>
<div
slot=
"name"
>
租赁物数量
</div>
<input
slot=
"content"
v-model=
"detail.product_num "
:readonly=
"read"
placeholder=
"请输入租赁物数量"
>
<input
slot=
"content"
v-model=
"detail.product_num"
:readonly=
"read"
placeholder=
"请输入租赁物数量"
>
</item>
<item
v-if=
"!flag"
class=
"date-check"
@
click
.
native=
"showFirstTime('YYYY-MM-DD', 'Sign')"
>
<div
slot=
"name"
class=
"firstPay"
>
签约日期
</div>
<input
slot=
"content"
v-model=
"detail.sale_date"
readonly
placeholder=
"请选择日期 "
>
</item>
<item
v-if=
"!flag"
class=
"date-check"
@
click
.
native=
"showFirstTime('YYYY-MM-DD', 'FirstPay')"
>
<div
slot=
"name"
class=
"firstPay"
>
首期付款日
</div>
<input
slot=
"content"
v-model=
"detail.lease_start_date"
readonly
placeholder=
"请选择日期 "
>
</item>
<item
:showArrow=
"true"
@
click
.
native=
"goPlan"
>
<div
slot=
"name"
>
查看还款计划
</div>
<input
slot=
"content"
readonly
>
</item>
</list-item>
<div
class=
"userInfo"
>
设备清单
</div>
<div
v-for=
"(item,index) in equip"
v-for=
"(item,
index) in equip"
:key=
"index"
class=
"equipment"
@
click=
"downNum = true;getRent(item.contract_id,item.contract_lease_item_id)"
@
click=
"
downNum = true;
getRent(item.contract_id, item.contract_lease_item_id);
"
>
<div
class=
"left"
>
<span>
...
...
@@ -165,10 +267,16 @@
</div>
<div
class=
"center"
>
<span>
租赁物信息
</span>
<span
:class=
"['status',item.lease_status === 'Y'?'unMantain':'mantain']"
>
{{
item
.
lease_status
===
'Y'
?
'已维护'
:
'待维护'
}}
</span>
<span
:class=
"[
'status',
item.lease_status === 'Y' ? 'unMantain' : 'mantain',
]"
>
{{
item
.
lease_status
===
"Y"
?
"已维护"
:
"待维护"
}}
</span
>
<p>
设备识别号
<span>
{{
item
.
product_code
}}
-
{{
index
+
1
|
lengthCheck
}}
</span>
<span>
{{
item
.
product_code
}}
-
{{
(
index
+
1
)
|
lengthCheck
}}
</span>
</p>
</div>
<div
class=
"right"
>
...
...
@@ -178,7 +286,10 @@
</h-content>
<bottom-tab
v-if=
"!flag"
>
<!--
<tab-button
class=
"save"
@
click
.
native=
"handSave"
>
同步电子签
</tab-button>
-->
<tab-button
class=
"approve"
@
click
.
native=
"checkStatus"
>
发车申请
</tab-button>
<tab-button
class=
"approve"
@
click
.
native=
"checkStatus"
>
融资合同创建
</tab-button
>
</bottom-tab>
<div
class=
"bottom-pop"
>
<div
class=
"bottom-content"
>
...
...
@@ -197,7 +308,7 @@
</div>
</div>
<div
class=
"wrap"
>
<div
v-for=
"(item,index) in 8"
:key=
"index"
class=
"bottom-item"
>
<div
v-for=
"(item,
index) in 8"
:key=
"index"
class=
"bottom-item"
>
<div
class=
"left"
>
<p>
<img
src=
"@/assets/contractStart/product.png"
>
...
...
@@ -230,7 +341,7 @@
export
default
{
filters
:
{
lengthCheck
:
function
(
value
)
{
if
(
(
value
.
toString
()
).
length
===
1
)
{
if
(
value
.
toString
(
).
length
===
1
)
{
return
`0
${
value
}
`
}
else
{
return
value
...
...
@@ -243,68 +354,17 @@ export default {
num
:
null
,
downNum
:
false
,
show
:
false
,
project_id
:
this
.
$route
.
params
.
project_id
,
read
:
false
,
// 表示只读
showDate
:
''
,
flag
:
false
,
isUpload
:
false
,
// 是否上传
contract_lease_item_id
:
''
,
upload_list
:
[],
// 上传列表
productLine
:
[
{
code
:
'5'
,
code_name
:
'测试3'
,
},
{
code
:
'9'
,
code_name
:
'PDJ'
,
},
{
code
:
'6'
,
code_name
:
'测试1'
,
},
],
productPlan
:
[
{
code
:
'5'
,
code_name
:
'测试3'
,
},
{
code
:
'9'
,
code_name
:
'PDJ'
,
},
{
code
:
'6'
,
code_name
:
'测试1'
,
},
],
contract
:
[
{
code
:
'5'
,
code_name
:
'PRJ2019003'
,
},
{
code
:
'9'
,
code_name
:
'PRJ2019025'
,
},
{
code
:
'6'
,
code_name
:
'PRJ2019067'
,
},
],
agent
:
[
{
code
:
'7475'
,
code_name
:
'北京去楼下科技有限公司'
,
},
{
code
:
'7709'
,
code_name
:
'主机厂法人'
,
},
{
code
:
'7436'
,
code_name
:
'北京雪族科技有限公司'
,
},
],
productLine
:
[],
productPlan
:
[],
contract
:
[],
agent
:
[],
info
:
{
contract_id
:
''
,
frame_number
:
''
,
...
...
@@ -330,6 +390,8 @@ export default {
project_id
:
''
,
bp_id
:
''
,
product_code
:
''
,
sale_date
:
''
,
lease_start_date
:
''
,
},
equip
:
[],
vehicleImg
:
''
,
...
...
@@ -337,7 +399,8 @@ export default {
}
},
computed
:
{
numInt
()
{
// 添加设备的时候处理值为空或者nul的情况
numInt
()
{
// 添加设备的时候处理值为空或者nul的情况
if
(
this
.
detail
.
product_num
!==
null
&&
this
.
detail
.
product_num
!==
''
)
{
return
parseInt
(
this
.
detail
.
product_num
)
}
else
{
...
...
@@ -349,26 +412,23 @@ export default {
let
y
=
date
.
getFullYear
()
let
m
=
date
.
getMonth
()
+
1
let
d
=
date
.
getDate
()
if
(
(
m
.
toString
()
).
length
<
2
)
{
if
(
m
.
toString
(
).
length
<
2
)
{
m
=
`0
${
m
}
`
}
else
if
(
(
d
.
toString
()
).
length
<
2
)
{
}
else
if
(
d
.
toString
(
).
length
<
2
)
{
d
=
`0
${
d
}
`
}
return
`
${
y
}
-
${
m
}
-
${
d
}
`
},
},
watch
:
{
'downNum'
(
newVal
,
oldVal
)
{
downNum
(
newVal
,
oldVal
)
{
if
(
!
newVal
)
{
this
.
vehicleImg
=
''
}
},
},
created
()
{
// this.showDate = this.carDate
},
beforeRouteEnter
(
to
,
from
,
next
)
{
next
(
vm
=>
{
next
(
(
vm
)
=>
{
// if (from.name === 'StartList') {
// vm.getProductLine()
// vm.getProductPlan()
...
...
@@ -378,7 +438,10 @@ export default {
vm
.
read
=
true
vm
.
getDetail
()
vm
.
getEquipment
()
if
(
vm
.
$route
.
params
.
car_start_status
===
'REJECTED'
||
vm
.
$route
.
params
.
car_start_status
===
'NEW'
)
{
if
(
vm
.
$route
.
params
.
car_start_status
===
'REJECTED'
||
vm
.
$route
.
params
.
car_start_status
===
'NEW'
)
{
vm
.
flag
=
false
}
else
{
vm
.
flag
=
true
...
...
@@ -406,7 +469,18 @@ export default {
}
})
},
getImg
(
id
)
{
// 获取合格证
goPlan
()
{
let
vm
=
this
vm
.
$router
.
push
({
name
:
'ContractRepayPlan'
,
params
:
{
product_num
:
vm
.
detail
.
product_num
,
project_id
:
vm
.
project_id
,
},
})
},
getImg
(
id
)
{
// 获取合格证
let
vm
=
this
let
randomString
=
Math
.
floor
(
Math
.
random
()
*
21
)
let
url
=
...
...
@@ -415,15 +489,20 @@ export default {
'&index'
+
`'
${
randomString
}
'`
let
param
=
{
'master'
:
{
'source_type'
:
'CON_CONTRACT_LEASE_ITEM'
,
'pkvalue'
:
id
,
master
:
{
source_type
:
'CON_CONTRACT_LEASE_ITEM'
,
pkvalue
:
id
,
},
}
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
if
(
res
.
result
===
'S'
)
{
if
(
res
.
info
)
{
vm
.
vehicleImg
=
process
.
env
.
filePath
+
'attachment_id='
+
res
.
info
.
attachment_id
+
'&access_token='
+
window
.
localStorage
.
access_token
vm
.
vehicleImg
=
process
.
env
.
filePath
+
'attachment_id='
+
res
.
info
.
attachment_id
+
'&access_token='
+
window
.
localStorage
.
access_token
}
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
...
...
@@ -436,7 +515,7 @@ export default {
hlsPopup
.
showActionSheet
({
titleText
:
'请选择证件类型'
,
buttonArray
:
[
'徐工重型合格证'
,
'车辆登记证'
,
'出厂合格证'
],
callback
:
index
=>
{
callback
:
(
index
)
=>
{
if
(
index
===
0
)
{
vm
.
certificationType
=
'NORMAL'
vm
.
ocrShow
()
...
...
@@ -456,7 +535,7 @@ export default {
hlsPopup
.
showActionSheet
({
titleText
:
'请选择照片'
,
buttonArray
:
[
'拍照'
,
'从相册取'
],
callback
:
index
=>
{
callback
:
(
index
)
=>
{
if
(
index
===
0
)
{
vm
.
openCamera
()
}
else
{
...
...
@@ -596,6 +675,88 @@ export default {
},
})
},
showFirstTime
(
format
,
code
)
{
this
.
hlsPopup
.
showTime
({
nowDate
:
`
${
this
.
carDate
}
`
,
format
:
format
,
callback
:
(
date
)
=>
{
if
(
code
===
'FirstPay'
)
{
if
(
this
.
detail
.
lease_start_date
!==
date
)
{
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
`原首期付款日期:
${
this
.
detail
.
lease_start_date
}
<br/>修改后:
${
date
}
<br/>修改后需重算租金计划,您是否确认修改?`
,
confirmText
:
'确认'
,
onConfirm
:
(
data
)
=>
{
if
(
data
===
1
)
{
this
.
detail
.
lease_start_date
=
date
this
.
updateFirstPayDate
()
}
},
})
}
}
else
if
(
code
===
'Sign'
)
{
if
(
this
.
detail
.
sale_date
!==
date
)
{
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
`原签约日期:
${
this
.
detail
.
sale_date
}
<br/>修改后:
${
date
}
<br/>您是否确认修改?`
,
confirmText
:
'确认'
,
onConfirm
:
(
data
)
=>
{
if
(
data
===
1
)
{
this
.
detail
.
sale_date
=
date
this
.
updateSignDate
()
}
},
})
}
}
},
})
},
recalculate
()
{
// 重算还款计划
let
vm
=
this
},
updateFirstPayDate
()
{
// 更新首次付款日
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'prj_lease_start_date_upd'
let
param
=
{
master
:
{
project_id
:
vm
.
project_id
,
lease_start_date
:
vm
.
detail
.
lease_start_date
,
},
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
hlsPopup
.
showLongCenter
(
'首期付款日期更新成功!'
)
vm
.
recalculate
()
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
updateSignDate
()
{
// 更新签约日期
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'prj_sale_date_upd'
let
param
=
{
master
:
{
project_id
:
vm
.
project_id
,
sale_date
:
vm
.
detail
.
sale_date
,
},
}
hlsPopup
.
showLoading
(
'请稍候'
)
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
hlsPopup
.
showLongCenter
(
'签约日期更新成功!'
)
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
})
},
showTimeInvoice
(
format
)
{
this
.
hlsPopup
.
showTime
({
nowDate
:
`
${
this
.
carDate
}
`
,
...
...
@@ -659,7 +820,7 @@ export default {
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确定保存吗?'
,
onConfirm
:
data
=>
{
onConfirm
:
(
data
)
=>
{
if
(
data
===
1
)
{
this
.
save
()
}
...
...
@@ -668,7 +829,7 @@ export default {
}
},
checkStatus
()
{
let
mantained
=
this
.
equip
.
filter
(
i
=>
{
let
mantained
=
this
.
equip
.
filter
(
(
i
)
=>
{
return
i
.
lease_status
===
'N'
})
if
(
mantained
.
length
>
0
)
{
...
...
@@ -681,7 +842,7 @@ export default {
this
.
hlsPopup
.
showConfirm
({
title
:
'提示'
,
content
:
'您确定申请发车吗?'
,
onConfirm
:
data
=>
{
onConfirm
:
(
data
)
=>
{
if
(
data
===
1
)
{
this
.
approve
()
}
...
...
@@ -716,7 +877,7 @@ export default {
let
url
=
process
.
env
.
basePath
+
'car_apply_submit'
let
param
=
{
master
:
{
project_id
:
this
.
$route
.
params
.
project_id
,
project_id
:
vm
.
project_id
,
},
}
hlsPopup
.
showLoading
(
'请稍候'
)
...
...
@@ -760,7 +921,7 @@ export default {
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
contract
=
res
.
lists
.
map
(
item
=>
{
vm
.
contract
=
res
.
lists
.
map
(
(
item
)
=>
{
return
{
code
:
item
.
project_id
,
code_name
:
item
.
project_number
,
...
...
@@ -791,7 +952,7 @@ export default {
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
agent
=
res
.
lists
.
map
(
item
=>
{
vm
.
agent
=
res
.
lists
.
map
(
(
item
)
=>
{
return
{
code
:
item
.
factory_bp_id
,
code_name
:
item
.
bp_name
,
...
...
@@ -815,19 +976,6 @@ export default {
})
},
getDetail
()
{
// let obj = {
// product_plan_id: '29',
// product_num: '1',
// first_pay: '102500',
// division_n: '平地机',
// gps_fee: '500',
// bp_name: '黄冲',
// project_number: 'PJ2019050043',
// bp_agent_name: '上海汉得信息技术股份有限公司 ',
// product_plan_id_n: 'PDJ',
// total_price: '1111111111',
// }
// Object.assign(this.detail, obj)
let
vm
=
this
let
url
=
process
.
env
.
basePath
+
'con_contract_detial'
let
param
=
{
...
...
@@ -838,6 +986,8 @@ export default {
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
Object
.
assign
(
vm
.
detail
,
res
.
info
)
vm
.
detail
.
sale_date
?
vm
.
detail
.
sale_date
=
vm
.
detail
.
sale_date
.
substr
(
0
,
10
)
:
vm
.
detail
.
sale_date
=
''
vm
.
detail
.
lease_start_date
?
vm
.
detail
.
lease_start_date
=
vm
.
detail
.
lease_start_date
.
substr
(
0
,
10
)
:
vm
.
detail
.
lease_start_date
=
''
}
else
{
hlsPopup
.
showLongCenter
(
res
.
message
)
}
...
...
@@ -857,7 +1007,7 @@ export default {
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
productLine
=
res
.
lists
.
map
(
item
=>
{
vm
.
productLine
=
res
.
lists
.
map
(
(
item
)
=>
{
return
{
code
:
item
.
division
,
code_name
:
item
.
division_n
,
...
...
@@ -888,7 +1038,7 @@ export default {
vm
.
$post
(
url
,
param
).
then
(
function
(
res
)
{
vm
.
hlsPopup
.
hideLoading
()
if
(
res
.
result
===
'S'
)
{
vm
.
productPlan
=
res
.
lists
.
map
(
item
=>
{
vm
.
productPlan
=
res
.
lists
.
map
(
(
item
)
=>
{
return
{
code
:
item
.
product_plan_id
,
code_name
:
item
.
product_plan_name
,
...
...
@@ -925,6 +1075,16 @@ export default {
input::placeholder {
color: #888c8f;
}
.firstPay {
color: #ff9200;
}
.date-check {
background: url("../../assets/trial/date.png") 350px no-repeat;
background-size: 16px 16px;
input {
margin-right: 16px;
}
}
.trans-enter-active,
.trans-leave-active {
transition: opacity 0.5s;
...
...
@@ -1085,12 +1245,12 @@ export default {
margin-left: 21px;
margin-top: 12px;
}
.unMantain{
.unMantain
{
background-color: #1d3fff;
}
.mantain{
background-color: #
FFF
;
border:1px solid #1d3fff;
.mantain
{
background-color: #
fff
;
border:
1px solid #1d3fff;
color: #1d3fff;
}
p {
...
...
@@ -1121,10 +1281,10 @@ export default {
color: #fff;
background-color: #0041c4;
}
.save{
border: 1px solid #fdb62f;
border-radius: 4px;
color: #fdb62f;
.save
{
border: 1px solid #fdb62f;
border-radius: 4px;
color: #fdb62f;
}
.bottom-pop {
width: 100%;
...
...
src/pages/distributorSign/contract-list.vue
View file @
f3534b27
...
...
@@ -9,7 +9,7 @@
<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>
<span>
融资
方案确认
</span>
</div>
</h-header>
<div
class=
"tab-style has-header"
>
...
...
src/pages/functionCenter/function-list.vue
View file @
f3534b27
<
template
>
<h-view
id=
"function-center"
class=
"public-style"
title=
"产品查询"
>
<h-header
class=
"bar-custom"
>
<div
slot=
"center"
class=
"top-word"
>
业务指引-
{{
role
}}
</div>
<div
slot=
"center"
class=
"top-word"
>
业务指引-
{{
role
}}
</div>
</h-header>
<h-content>
<!-- 搜索 -->
...
...
@@ -52,7 +52,7 @@
<div
class=
"info-content"
>
<div
class=
"add-name"
>
<img
src=
"@/assets/functionCenter/con-sign@2x.png"
alt=
""
>
<div
class=
"name-title"
>
租赁
方案确认
</div>
<div
class=
"name-title"
>
融资
方案确认
</div>
</div>
<div
class=
"add-content"
@
click=
"conSign"
>
<img
src=
"@/assets/functionCenter/in@2x.png"
alt=
""
>
...
...
@@ -61,7 +61,7 @@
<div
class=
"info-content"
>
<div
class=
"add-name"
>
<img
src=
"@/assets/functionCenter/con-sign@2x.png"
alt=
""
>
<div
class=
"name-title"
>
发车申请
</div>
<div
class=
"name-title"
>
融资合同创建
</div>
</div>
<div
class=
"add-content"
@
click=
"goStart"
>
<img
src=
"@/assets/functionCenter/in@2x.png"
alt=
""
>
...
...
@@ -79,7 +79,7 @@
<div
class=
"info-content"
>
<div
class=
"add-name"
>
<img
src=
"@/assets/functionCenter/car@2x.png"
alt=
""
>
<div
class=
"name-title"
>
发车确认-直租
</div>
<div
class=
"name-title"
>
合同签订
</div>
</div>
<div
class=
"add-content"
@
click=
"goCarConfirm"
>
<img
src=
"@/assets/functionCenter/in@2x.png"
alt=
""
>
...
...
@@ -133,16 +133,15 @@
<img
src=
"@/assets/functionCenter/in@2x.png"
alt=
""
>
</div>
</div>
</div>
</h-content>
</h-content>
</h-view>
</
template
>
<
script
>
export
default
{
name
:
'
f
unctionList'
,
name
:
'
F
unctionList'
,
data
()
{
return
{
prolists
:
[],
...
...
@@ -157,7 +156,7 @@ export default {
},
computed
:
{},
watch
:
{
},
beforeRouteEnter
(
to
,
from
,
next
)
{
if
(
true
)
{
...
...
@@ -196,9 +195,9 @@ export default {
window
.
localStorage
.
setItem
(
'bp_identity'
,
res
.
info
.
bp_identity
)
window
.
localStorage
.
setItem
(
'bp_class'
,
res
.
info
.
user_bp_class
)
window
.
localStorage
.
setItem
(
'bp_type'
,
res
.
info
.
user_bp_type
)
if
(
window
.
localStorage
.
multipleRole
)
{
}
else
{
if
(
window
.
localStorage
.
multipleRole
)
{
}
else
{
window
.
localStorage
.
setItem
(
'multipleRole'
,
res
.
info
.
user_bp_type
)
}
if
(
window
.
localStorage
.
getItem
(
'multipleRole'
)
==
'TENANT'
)
{
...
...
@@ -216,7 +215,7 @@ export default {
vm
.
bp_type_n
=
res
.
info
.
user_bp_type_n
vm
.
user_bp_name
=
res
.
info
.
user_bp_name
vm
.
user_phone
=
res
.
info
.
user_phone
if
(
vm
.
user_bp_type
===
'AGENT'
)
{
vm
.
isAGENT
=
true
}
else
{
...
...
@@ -232,11 +231,11 @@ export default {
}
})
},
// 进入
发车申请
// 进入
融资合同创建
goStart
()
{
let
vm
=
this
if
(
this
.
bp_id
)
{
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
){
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
)
{
this
.
$router
.
push
({
name
:
'StartList'
,
})
...
...
@@ -247,8 +246,8 @@ export default {
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
},
//
租赁
方案确认
conSign
()
{
//
融资
方案确认
conSign
()
{
let
vm
=
this
if
(
this
.
bp_id
)
{
this
.
$router
.
push
({
...
...
@@ -261,17 +260,17 @@ export default {
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
},
// 视频面签
goVideoSign
()
{
let
vm
=
this
// 视频面签
goVideoSign
()
{
let
vm
=
this
if
(
this
.
bp_id
)
{
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'FACTORY'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人或担保人,无法使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'VideoSign'
,
})
}
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'FACTORY'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人或担保人,无法使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'VideoSign'
,
})
}
}
else
{
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
...
...
@@ -279,24 +278,24 @@ export default {
// 进入 合同查询
changeContract
(
e
)
{
let
vm
=
this
this
.
$router
.
push
({
vm
.
$router
.
push
({
name
:
'ContractRecords'
,
params
:
{
bp_type
:
e
,
},
})
},
// 进入
发车确认
// 进入
合同签订
goCarConfirm
()
{
let
vm
=
this
if
(
this
.
bp_id
)
{
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'FACTORY'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人或担保人
,无法使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'ConfirmList'
,
})
}
if
(
vm
.
bp_id
)
{
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'FACTORY'
)
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人或担保人或经销商
,无法使用该功能!'
)
}
else
{
vm
.
$router
.
push
({
name
:
'ConfirmList'
,
})
}
}
else
{
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
...
...
@@ -305,13 +304,13 @@ export default {
goReimburse
()
{
let
vm
=
this
if
(
this
.
bp_id
)
{
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'FACTORY'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人或担保人,无法使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'FirstPay'
,
})
}
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'FACTORY'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人或担保人,无法使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'FirstPay'
,
})
}
}
else
{
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
...
...
@@ -319,11 +318,11 @@ export default {
goInvoice
()
{
let
vm
=
this
if
(
this
.
bp_id
)
{
if
(
window
.
localStorage
.
multipleRole
===
'TENANT'
)
{
if
(
window
.
localStorage
.
multipleRole
===
'TENANT'
)
{
this
.
$router
.
push
({
name
:
'MyInvoice'
,
})
}
else
{
}
else
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人,无法使用该功能!'
)
}
}
else
{
...
...
@@ -333,9 +332,9 @@ export default {
goContractRepayment
()
{
let
vm
=
this
if
(
window
.
localStorage
.
getItem
(
'bp_id'
)
!==
'undefined'
)
{
this
.
$router
.
push
({
name
:
'ContractRepayment'
,
})
this
.
$router
.
push
({
name
:
'ContractRepayment'
,
})
}
else
{
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
...
...
@@ -343,108 +342,98 @@ export default {
changeRent
()
{
let
vm
=
this
if
(
window
.
localStorage
.
getItem
(
'bp_id'
)
!==
'undefined'
)
{
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'FACTORY'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人或担保人,无法使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'NewList'
,
})
}
if
(
window
.
localStorage
.
multipleRole
===
'OFFICE'
||
window
.
localStorage
.
multipleRole
===
'FACTORY'
||
window
.
localStorage
.
multipleRole
===
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'您当前角色非承租人或担保人,无法使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'NewList'
,
})
}
}
else
{
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
},
userBind
()
{
userBind
()
{
let
vm
=
this
window
.
localStorage
.
setItem
(
'from'
,
true
)
if
(
!
this
.
bp_id
&&
this
.
user_bp_status
===
'NEW'
)
{
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
'UserBind'
,
})
}
else
if
(
this
.
bp_id
&&
this
.
user_bp_status
===
'NEW'
)
{
}
else
if
(
this
.
bp_id
&&
this
.
user_bp_status
===
'NEW'
)
{
// this.description = '待提交'
if
(
this
.
user_bp_class
===
'NP'
){
this
.
$router
.
push
({
name
:
'NPBaseInfo'
,
params
:
{
bp_id
:
this
.
bp_id
,
user_bp_name
:
this
.
user_bp_name
,
},
})
}
else
if
(
this
.
user_bp_class
===
'ORG'
){
this
.
$router
.
push
({
name
:
'EnterpriseNew'
,
params
:
{
bp_id
:
this
.
bp_id
,
user_bp_name
:
this
.
user_bp_name
,
bp_class
:
this
.
user_bp_class
,
},
})
}
}
else
if
(
if
(
this
.
user_bp_class
===
'NP'
)
{
this
.
$router
.
push
({
name
:
'NPBaseInfo'
,
params
:
{
bp_id
:
this
.
bp_id
,
user_bp_name
:
this
.
user_bp_name
,
},
})
}
else
if
(
this
.
user_bp_class
===
'ORG'
)
{
this
.
$router
.
push
({
name
:
'EnterpriseNew'
,
params
:
{
bp_id
:
this
.
bp_id
,
user_bp_name
:
this
.
user_bp_name
,
bp_class
:
this
.
user_bp_class
,
},
})
}
}
else
if
(
(
this
.
bp_id
&&
this
.
user_bp_status
===
'RETURN'
)
||
(
this
.
bp_id
&&
this
.
user_bp_status
===
'REJECT'
)
)
{
if
(
this
.
user_bp_class
===
'NP'
){
this
.
$router
.
push
({
name
:
'NPBaseInfo'
,
params
:
{
bp_id
:
this
.
bp_id
,
user_bp_name
:
this
.
user_bp_name
,
},
})
}
else
if
(
this
.
user_bp_class
===
'ORG'
){
this
.
$router
.
push
({
name
:
'EnterpriseNew'
,
params
:
{
bp_id
:
this
.
bp_id
,
user_bp_name
:
this
.
user_bp_name
,
bp_class
:
this
.
user_bp_class
,
},
})
}
if
(
this
.
user_bp_class
===
'NP'
)
{
this
.
$router
.
push
({
name
:
'NPBaseInfo'
,
params
:
{
bp_id
:
this
.
bp_id
,
user_bp_name
:
this
.
user_bp_name
,
},
})
}
else
if
(
this
.
user_bp_class
===
'ORG'
)
{
this
.
$router
.
push
({
name
:
'EnterpriseNew'
,
params
:
{
bp_id
:
this
.
bp_id
,
user_bp_name
:
this
.
user_bp_name
,
bp_class
:
this
.
user_bp_class
,
},
})
}
}
else
if
(
this
.
bp_id
&&
this
.
user_bp_status
===
'APPROVED'
)
{
//this.description = '解除绑定' 已绑定
//
this.description = '解除绑定' 已绑定
hlsPopup
.
showLongCenter
(
'您已完成用户绑定,请到个人中心查看或修改信息!'
)
}
else
{
// this.description = '审批中'
hlsPopup
.
showLongCenter
(
'您的用户绑定申请正在审批中!'
)
}
else
{
// this.description = '审批中'
hlsPopup
.
showLongCenter
(
'您的用户绑定申请正在审批中!'
)
}
},
toproduct
()
{
toproduct
()
{
this
.
$router
.
push
({
name
:
'QueryHome'
,
})
},
financingTrial
()
{
financingTrial
()
{
this
.
$router
.
push
({
name
:
'FinancingTrial'
,
})
},
todoList
()
{
todoList
()
{
if
(
this
.
bp_id
)
{
if
(
window
.
localStorage
.
multipleRole
!==
'OFFICE'
&&
window
.
localStorage
.
multipleRole
!==
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'仅经销商/办事处业务员角色可使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'ToDoList'
,
})
}
if
(
window
.
localStorage
.
multipleRole
!==
'OFFICE'
&&
window
.
localStorage
.
multipleRole
!==
'AGENT'
)
{
hlsPopup
.
showLongCenter
(
'仅经销商/办事处业务员角色可使用该功能!'
)
}
else
{
this
.
$router
.
push
({
name
:
'ToDoList'
,
})
}
}
else
{
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
}
},
}
,
},
}
</
script
>
<
style
lang=
'less'
>
...
...
@@ -526,7 +515,7 @@ export default {
letter-spacing: 0;
line-height: 18px;
}
}
.add-content{
width: 20%;
...
...
@@ -610,7 +599,7 @@ export default {
letter-spacing: 0;
line-height: 18px;
}
}
.add-content{
width: 20%;
...
...
@@ -628,8 +617,7 @@ export default {
width: 14px;
}
}
}
.fun-item-after{
background: #FFFFFF;
...
...
@@ -696,7 +684,7 @@ export default {
letter-spacing: 0;
line-height: 18px;
}
}
.add-content{
width: 20%;
...
...
@@ -714,17 +702,16 @@ export default {
width: 14px;
}
}
}
}
.content{
position: absolute;
top:0;
}
.platform-ios {
#query {
.scrollContent {
...
...
src/pages/myInfo/my-info.vue
View file @
f3534b27
...
...
@@ -35,7 +35,7 @@
<div
class=
"card-bottom"
>
<div
v-if=
"((user_bp_type!=='TENANT')&&(user_bp_type!=='GUTA')&&(multipleRole!=='GUTA')&&(multipleRole!=='TENANT'))||multipleRole==='AGENT'"
@
click=
"goStart"
>
<img
src=
"@/assets/myInfo/car.png"
>
<p>
发车申请
</p>
<p>
融资合同创建
</p>
</div>
<div
v-if=
"((user_bp_type==='TENANT')&&(multipleRole==='TENANT'))||(multipleRole==='TENANT')||((user_bp_type==='TENANT')&&(!multipleRole))"
@
click=
"changePay"
>
<img
src=
"@/assets/myInfo/pay.png"
>
...
...
@@ -457,7 +457,7 @@ export default {
},
})
},
// 进入待签约功能,客户类型为经销商则进入经销商功能,非经销商则进入
租赁
方案确认
// 进入待签约功能,客户类型为经销商则进入经销商功能,非经销商则进入
融资
方案确认
goSign
()
{
if
(
this
.
bp_id
)
{
// if (this.user_bp_type === 'AGENT') {
...
...
@@ -510,7 +510,7 @@ export default {
},
})
},
// 进入
发车申请
// 进入
融资合同创建
goStart
()
{
if
(
this
.
bp_id
)
{
this
.
$router
.
push
({
...
...
@@ -520,7 +520,7 @@ export default {
hlsPopup
.
showLongCenter
(
'请先进行用户绑定'
)
}
},
// 进入
发车确认
// 进入
合同签订
goCarConfirm
()
{
if
(
this
.
bp_id
)
{
this
.
$router
.
push
({
...
...
src/router/index.js
View file @
f3534b27
...
...
@@ -52,7 +52,7 @@ import FinancDetails from '@/pages/distributorSign/financ-details' // 还款计
import
FinancingTrial
from
'@/pages/financingTrial/financing-trial'
import
FinancingDetails
from
'@/pages/financingTrial/financing-details'
// 融资明细
import
TrialRepayPlan
from
'@/pages/financingTrial/trial-repay-plan'
//
租赁
方案确认
//
融资
方案确认
import
ContractSigning
from
'../pages/contractSigning/contract-signing'
import
ContractDetail
from
'@/pages/ContractSigning/contract-detail'
import
ContractContent
from
'@/pages/ContractSigning/contract-content'
...
...
@@ -95,11 +95,11 @@ import ContractRepayment from '@/pages/contractRepayment/contract-repayment'
import
RepayDetails
from
'@/pages/contractRepayment/repay-details'
import
RepayPlan
from
'@/pages/contractRepayment/refund'
//
发车申请
//
融资合同创建
import
StartList
from
'@/pages/contractStart/start-list'
import
AddCar
from
'@/pages/contractStart/add-car'
//
发车确认
//
合同签订
import
ConfirmDetail
from
'@/pages/carConfirm/confirm-detail'
import
ConfirmList
from
'@/pages/carConfirm/confirm-list'
...
...
@@ -256,12 +256,12 @@ export default new Router({
{
path
:
'/financing-trial'
,
component
:
FinancingTrial
,
name
:
'FinancingTrial'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/financing-details'
,
component
:
FinancingDetails
,
name
:
'FinancingDetails'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/trial-repay-plan'
,
component
:
TrialRepayPlan
,
name
:
'TrialRepayPlan'
,
meta
:
{
keepAlive
:
true
}},
//
租赁
方案确认
//
融资
方案确认
{
path
:
'/contract-signing'
,
component
:
ContractSigning
,
name
:
'ContractSigning'
,
meta
:
{
keepAlive
:
false
}},
{
path
:
'/contract-detail'
,
component
:
ContractDetail
,
name
:
'ContractDetail'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/contract-content'
,
component
:
ContractContent
,
name
:
'ContractContent'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/entry-info'
,
component
:
EntryInfo
,
name
:
'EntryInfo'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/contract-repay-plan'
,
component
:
ContractRepayPlan
,
name
:
'ContractRepayPlan'
,
meta
:
{
keepAlive
:
tru
e
}},
{
path
:
'/contract-repay-plan'
,
component
:
ContractRepayPlan
,
name
:
'ContractRepayPlan'
,
meta
:
{
keepAlive
:
fals
e
}},
{
path
:
'/electronic-sign'
,
component
:
ElectronicSign
,
name
:
'ElectronicSign'
,
meta
:
{
keepAlive
:
false
}},
// 首付款支付
{
path
:
'/first-pay'
,
component
:
FirstPay
,
name
:
'FirstPay'
,
meta
:
{
keepAlive
:
true
}},
...
...
@@ -289,10 +289,10 @@ export default new Router({
{
path
:
'/contract-repayment'
,
component
:
ContractRepayment
,
name
:
'ContractRepayment'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/repay-details'
,
component
:
RepayDetails
,
name
:
'RepayDetails'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/repay-plan'
,
component
:
RepayPlan
,
name
:
'RepayPlan'
,
meta
:
{
keepAlive
:
true
}},
//
发车申请
//
融资合同创建
{
path
:
'/start-List'
,
component
:
StartList
,
name
:
'StartList'
,
meta
:
{
keepAlive
:
false
}},
{
path
:
'/add-car'
,
component
:
AddCar
,
name
:
'AddCar'
,
meta
:
{
keepAlive
:
fals
e
}},
//
发车确认
{
path
:
'/add-car'
,
component
:
AddCar
,
name
:
'AddCar'
,
meta
:
{
keepAlive
:
tru
e
}},
//
合同签订
{
path
:
'/confirm-detail'
,
component
:
ConfirmDetail
,
name
:
'ConfirmDetail'
,
meta
:
{
keepAlive
:
true
}},
{
path
:
'/confirm-list'
,
component
:
ConfirmList
,
name
:
'ConfirmList'
,
meta
:
{
keepAlive
:
false
}},
// 合同查询
...
...
src/scripts/hlsPopup.js
View file @
f3534b27
...
...
@@ -153,7 +153,6 @@ export default {
* @param confirmObject.cancelText 确定函数
*/
showConfirm
:
function
(
confirmObject
)
{
debugger
let
def
=
{
title
:
confirmObject
.
title
||
'提示'
,
content
:
confirmObject
.
content
||
''
,
...
...
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