Commit c124e815 authored by JingChao's avatar JingChao

Merge branch 'develop' of https://hel.hand-china.com/xugong/hls-xcmg-vue-app into develop

parents 105bb3a2 fc8b3605
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<div class="down-content"> <div class="down-content">
<span>请上传照片</span> <span>请上传照片</span>
<div class="photo"> <div class="photo">
<!-- <img src=""> --> <img :src="vehicleImg">
</div> </div>
<list-item :item-height="44"> <list-item :item-height="44">
<item> <item>
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
v-for="(item,index) in equip" v-for="(item,index) in equip"
:key="index" :key="index"
class="equipment" class="equipment"
@click="downNum=true;getRent(item.contract_id)" @click="downNum=true;getRent(item.contract_id,item.contract_lease_item_id)"
> >
<div class="left"> <div class="left">
<span> <span>
...@@ -194,6 +194,7 @@ export default { ...@@ -194,6 +194,7 @@ export default {
downNum: false, downNum: false,
show: false, show: false,
flag: false, // 判断是否为已确认 flag: false, // 判断是否为已确认
vehicleImg: '', // 查询到的合格证
leasePic: '', // 租赁合同图片 leasePic: '', // 租赁合同图片
agentPic: '', // 经销商担保协议图片 agentPic: '', // 经销商担保协议图片
bankPic: '', // 农行代扣授权书图片 bankPic: '', // 农行代扣授权书图片
...@@ -257,6 +258,30 @@ export default { ...@@ -257,6 +258,30 @@ export default {
}) })
}, },
methods: { methods: {
getImg (id) { // 获取合格证
let vm = this
let randomString = Math.floor(Math.random() * 21)
let url =
process.env.basePath +
'app_attment_query' +
'&index' +
`'${randomString}'`
let param = {
'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
}
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
// 签约校验 // 签约校验
async signCheck () { async signCheck () {
let vm = this let vm = this
...@@ -284,7 +309,7 @@ export default { ...@@ -284,7 +309,7 @@ export default {
content: '请自拍一张', content: '请自拍一张',
onConfirm: function (index) { onConfirm: function (index) {
if (index === 1) { if (index === 1) {
vm.takePhontoOpenCamera() vm.takePhontoOpenCamera()
} else { } else {
} }
...@@ -329,7 +354,7 @@ export default { ...@@ -329,7 +354,7 @@ export default {
// 获取身份证照片 // 获取身份证照片
async idCardImgUrlGet () { async idCardImgUrlGet () {
let vm = this let vm = this
let url = $config.basePath + 'prj_id_card_query' let url = $config.basePath + 'car_id_card_query'
let param = { let param = {
confirm_id: vm.confirm_id, confirm_id: vm.confirm_id,
} }
...@@ -376,13 +401,13 @@ export default { ...@@ -376,13 +401,13 @@ export default {
}, },
goBodyCheck (confirm_id) { // 活体检测 goBodyCheck (confirm_id) { // 活体检测
this.$refs.body.show() this.$refs.body.show()
/*this.$router.push({ /* this.$router.push({
name: 'BodyCheck', name: 'BodyCheck',
params: { params: {
check_id: this.$route.params.check_id, check_id: this.$route.params.check_id,
confirm_id: confirm_id, confirm_id: confirm_id,
}, },
})*/ }) */
}, },
// 图片保存 // 图片保存
save_picture (list) { save_picture (list) {
...@@ -500,7 +525,7 @@ export default { ...@@ -500,7 +525,7 @@ export default {
} }
}) })
}, },
getRent (e) { getRent (e, id) {
let vm = this let vm = this
let url = process.env.basePath + 'leases_info_query' let url = process.env.basePath + 'leases_info_query'
let param = { let param = {
...@@ -511,6 +536,7 @@ export default { ...@@ -511,6 +536,7 @@ export default {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
Object.assign(vm.rentInfo, res.info) Object.assign(vm.rentInfo, res.info)
vm.getImg(id)
} else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
} }
......
...@@ -130,7 +130,8 @@ export default { ...@@ -130,7 +130,8 @@ export default {
contractList () { contractList () {
let vm = this let vm = this
if (vm.num === 1) { if (vm.num === 1) {
let url = $config.basePath + 'prj_submit_list' let randomString = Math.floor(Math.random() * 21)
let url = $config.basePath + 'prj_submit_list' + '&index' + `'${randomString}'`
let param = { let param = {
user_phone: window.localStorage.user_phone, user_phone: window.localStorage.user_phone,
pagesize: 10, pagesize: 10,
...@@ -154,7 +155,8 @@ export default { ...@@ -154,7 +155,8 @@ export default {
} }
}) })
} else if (vm.num === 2) { } else if (vm.num === 2) {
let url = $config.basePath + 'prj_submit_list' let randomString = Math.floor(Math.random() * 21)
let url = $config.basePath + 'prj_submit_list' + '&index' + `'${randomString}'`
let param = { let param = {
pagesize: 10, pagesize: 10,
pagenum: vm.approvedPagenum, pagenum: vm.approvedPagenum,
...@@ -185,7 +187,8 @@ export default { ...@@ -185,7 +187,8 @@ export default {
let vm = this let vm = this
if (vm.num === 1) { if (vm.num === 1) {
vm.submitPagenum++ vm.submitPagenum++
let url = $config.basePath + 'prj_submit_list' let randomString = Math.floor(Math.random() * 21)
let url = $config.basePath + 'prj_submit_list' + '&index' + `'${randomString}'`
let param = { let param = {
user_phone: window.localStorage.user_phone, user_phone: window.localStorage.user_phone,
pagesize: 10, pagesize: 10,
...@@ -219,7 +222,8 @@ export default { ...@@ -219,7 +222,8 @@ export default {
}) })
} else if (vm.num === 2) { } else if (vm.num === 2) {
vm.approvedPagenum++ vm.approvedPagenum++
let url = $config.basePath + 'prj_submit_list' let randomString = Math.floor(Math.random() * 21)
let url = $config.basePath + 'prj_submit_list' + '&index' + `'${randomString}'`
let param = { let param = {
user_phone: window.localStorage.user_phone, user_phone: window.localStorage.user_phone,
pagesize: 10, pagesize: 10,
...@@ -256,7 +260,8 @@ export default { ...@@ -256,7 +260,8 @@ export default {
async submitSearch () { async submitSearch () {
let vm = this let vm = this
vm.submitPagenum = 1 vm.submitPagenum = 1
let url = $config.basePath + 'prj_submit_list' let randomString = Math.floor(Math.random() * 21)
let url = $config.basePath + 'prj_submit_list' + '&index' + `'${randomString}'`
let param = { let param = {
user_phone: window.localStorage.user_phone, user_phone: window.localStorage.user_phone,
pagesize: 10, pagesize: 10,
...@@ -286,7 +291,8 @@ export default { ...@@ -286,7 +291,8 @@ export default {
}, },
approvedearch () { approvedearch () {
let vm = this let vm = this
let url = $config.basePath + 'prj_submit_list' let randomString = Math.floor(Math.random() * 21)
let url = $config.basePath + 'prj_submit_list' + '&index' + `'${randomString}'`
vm.approvedPagenum = 1 vm.approvedPagenum = 1
let param = { let param = {
user_phone: window.localStorage.user_phone, user_phone: window.localStorage.user_phone,
......
...@@ -186,6 +186,12 @@ export default { ...@@ -186,6 +186,12 @@ export default {
}, },
immediate: true, immediate: true,
}, },
// '$route' (to, from) {
// debugger
// if (from.fullPath !== '/contract-create-list' && to.fullPath === '/sales-info') {
// this.$router.go(0)
// }
// },
}, },
activated () { activated () {
...@@ -222,7 +228,8 @@ export default { ...@@ -222,7 +228,8 @@ export default {
} }
vm.businessQuery().then(res => { vm.businessQuery().then(res => {
vm.agentQuery().then(res => { vm.agentQuery().then(res => {
vm.factoryQuery() vm.factoryQuery().then(res => {
})
}) })
}) })
} else if (from.name === 'CreateBaseInfo') { } else if (from.name === 'CreateBaseInfo') {
...@@ -327,7 +334,7 @@ export default { ...@@ -327,7 +334,7 @@ export default {
phone: window.localStorage.getItem('user_phone'), phone: window.localStorage.getItem('user_phone'),
} }
vm.hlsPopup.showLoading('请稍候') vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) { return vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
vm.factoty = res.lists vm.factoty = res.lists
if (res.result === 'S') { if (res.result === 'S') {
......
...@@ -114,59 +114,71 @@ ...@@ -114,59 +114,71 @@
</div>--> </div>-->
<!-- <div v-if="tabNum === 1" class="sign-elect"> <!-- <div v-if="tabNum === 1" class="sign-elect">
<button @click="goElectronicSign">电子签</button> <button @click="goElectronicSign">电子签</button>
</div>--> </div>-->
</div> </div>
</h-content> </h-content>
<h-content v-if="num === 2"> <h-content v-if="num === 2">
<list-item :item-height="56" class="contract-text" style="background-color:rgb(250,250,250);"> <list-item :item-height="56" class="contract-text" style="background-color:rgb(250,250,250);">
<item :proportion="[7,1]"> <item v-for="(item,index) in attachArray" :proportion="[7,1]" :key="index">
<div slot="name" class="aguremrnt-list"> <div slot="name" class="aguremrnt-list">
<img src="@/assets/constractSigning/npack.png" alt class="pics" > <img src="@/assets/constractSigning/npack.png" alt class="pics" >
<p class="second first">承租人确认意见</p> <p class="second first">{{ item.attachment_file }}</p>
</div>
<div slot="content" class="in-detail" @click="goContractContent('承租人确认意见')">
<img src="@/assets/constractSigning/detail.png" alt >
</div>
</item>
<!-- 农行代扣授权书 -->
<item v-if="abc_deduction_flag === 'Y'" :proportion="[7,1]" :class="{'border-red':isshow}">
<div slot="name" class="aguremrnt-list">
<img src="@/assets/constractSigning/pack.png" alt class="pics" >
<p class="second">农行代扣授权书</p>
<img :src="bankPic" alt class="read" >
</div>
<div slot="content" class="in-all">
<div @click="entryInfo">
<img src="@/assets/constractSigning/scan.png" alt >
</div>
<div @click="goContractContent('农行代扣授权书')">
<img src="@/assets/constractSigning/detail.png" alt >
</div>
</div>
</item>
<item :proportion="[7,1]">
<div slot="name" class="aguremrnt-list">
<img src="@/assets/constractSigning/pack.png" alt class="pics" >
<p class="second">融资租赁合同</p>
<img :src="leasePic" alt class="read" >
</div> </div>
<div slot="content" class="in-detail" @click="goContractContent('融资租赁合同')"> <div slot="content" class="in-detail" @click="goContent(item.attachment_file_path)">
<img src="@/assets/constractSigning/detail.png" alt > <img src="@/assets/constractSigning/detail.png" alt >
</div> </div>
</item> </item>
</list-item>
</h-content>
<!-- <h-content v-if="num === 2">
<list-item :item-height="56" class="contract-text" style="background-color:rgb(250,250,250);">
<item :proportion="[7,1]"> <item :proportion="[7,1]">
<div slot="name" class="aguremrnt-list"> <div slot="name" class="aguremrnt-list">
<img src="@/assets/constractSigning/pack.png" alt class="pics" > <img src="@/assets/constractSigning/npack.png" alt class="pics" >
<p class="second">租赁物所有权转移及接收确认书</p> <p class="second first">承租人确认意见</p>
<img :src="agentPic" alt class="read" >
</div> </div>
<div slot="content" class="in-detail" @click="goContractContent('租赁物所有权转移及接收确认书')"> <div slot="content" class="in-detail" @click="goContractContent('承租人确认意见')">
<img src="@/assets/constractSigning/detail.png" alt > <img src="@/assets/constractSigning/detail.png" alt >
</div> </div>
</item> </item>
<item v-if="abc_deduction_flag === 'Y'" :proportion="[7,1]" :class="{'border-red':isshow}">
<div slot="name" class="aguremrnt-list">
<img src="@/assets/constractSigning/pack.png" alt class="pics" >
<p class="second">农行代扣授权书</p>
<img :src="bankPic" alt class="read" >
</div>
<div slot="content" class="in-all">
<div @click="entryInfo">
<img src="@/assets/constractSigning/scan.png" alt >
</div>
<div @click="goContractContent('农行代扣授权书')">
<img src="@/assets/constractSigning/detail.png" alt >
</div>
</div>
</item>
<item :proportion="[7,1]">
<div slot="name" class="aguremrnt-list">
<img src="@/assets/constractSigning/pack.png" alt class="pics" >
<p class="second">融资租赁合同</p>
<img :src="leasePic" alt class="read" >
</div>
<div slot="content" class="in-detail" @click="goContractContent('融资租赁合同')">
<img src="@/assets/constractSigning/detail.png" alt >
</div>
</item>
<item :proportion="[7,1]">
<div slot="name" class="aguremrnt-list">
<img src="@/assets/constractSigning/pack.png" alt class="pics" >
<p class="second">租赁物所有权转移及接收确认书</p>
<img :src="agentPic" alt class="read" >
</div>
<div slot="content" class="in-detail" @click="goContractContent('租赁物所有权转移及接收确认书')">
<img src="@/assets/constractSigning/detail.png" alt >
</div>
</item>
</list-item> </list-item>
</h-content> </h-content>-->
<h-content v-if="num === 1"> <h-content v-if="num === 1">
<list-item :item-height="44" class="second-part"> <list-item :item-height="44" class="second-part">
<item> <item>
...@@ -302,12 +314,11 @@ ...@@ -302,12 +314,11 @@
</h-view> </h-view>
</h-modal> </h-modal>
<!--活体检测--> <!--活体检测-->
<body-check ref="body" :check_id="$route.params.check_id" :confirm_id="confirm_id"/> <body-check ref="body" :check_id="$route.params.check_id" :confirm_id="confirm_id" />
</h-view> </h-view>
</template> </template>
<script> <script>
import Check1 from '@/assets/constractSigning/business.png' import Check1 from '@/assets/constractSigning/business.png'
import Check2 from '@/assets/constractSigning/constract.png' import Check2 from '@/assets/constractSigning/constract.png'
import Check3 from '@/assets/constractSigning/lease.png' import Check3 from '@/assets/constractSigning/lease.png'
...@@ -334,6 +345,7 @@ export default { ...@@ -334,6 +345,7 @@ export default {
showModalValue: false, showModalValue: false,
credit_status: 'N', // 一个月内是否查过征信 N查过 credit_status: 'N', // 一个月内是否查过征信 N查过
guarantorInfo: [], // 担保人信息 guarantorInfo: [], // 担保人信息
attachArray: [], // 附件数组
bp_class: this.$route.params.item.bp_class, // 承租人性质(自然人,企业) bp_class: this.$route.params.item.bp_class, // 承租人性质(自然人,企业)
info: {}, // 租赁信息 info: {}, // 租赁信息
baseInfo: {}, // 基本信息 baseInfo: {}, // 基本信息
...@@ -366,6 +378,7 @@ export default { ...@@ -366,6 +378,7 @@ export default {
} }
}, },
computed: {}, computed: {},
watch: { watch: {
$route (to, from) { $route (to, from) {
hlsPopup.hideConfirm() hlsPopup.hideConfirm()
...@@ -418,6 +431,8 @@ export default { ...@@ -418,6 +431,8 @@ export default {
vm.getLease() vm.getLease()
vm.getGuarantor() vm.getGuarantor()
vm.getContractLists() // 合同列表 vm.getContractLists() // 合同列表
// 合同文本附件查询
vm.getAttachment()
} else if (from.name === 'EntryInfo') { } else if (from.name === 'EntryInfo') {
vm.bankCardQuery() vm.bankCardQuery()
} }
...@@ -456,9 +471,32 @@ export default { ...@@ -456,9 +471,32 @@ export default {
if (res.result === 'S') { if (res.result === 'S') {
return true return true
} else { } else {
// vm.hlsPopup.showLongCenter(res.message) // vm.hlsPopup.showLongCenter(res.message)
} }
}, },
goContent (url) {
// 详情
// window.open(url)
cordova.InAppBrowser.open(url, '_blank', 'location=yes')
},
// 合同文本详情附件查询
getAttachment () {
let vm = this
let url = process.env.basePath + 'get_content_app'
let param = {
confirm_id: vm.confirm_id,
data_class: 'PRJ_PROJECT',
}
hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(res => {
hlsPopup.hideLoading()
if (res.result === 'S') {
vm.attachArray = res.attachments
} else {
vm.hlsPopup.showLongCenter(res.message)
}
})
},
// 征信查询 // 征信查询
creditCheck () { creditCheck () {
let vm = this let vm = this
...@@ -477,7 +515,8 @@ export default { ...@@ -477,7 +515,8 @@ export default {
} }
}) })
}, },
goBodyCheck (confirm_id) { // 活体检测 goBodyCheck (confirm_id) {
// 活体检测
this.$refs.body.show() this.$refs.body.show()
/* this.$router.push({ /* this.$router.push({
name: 'BodyCheck', name: 'BodyCheck',
...@@ -532,7 +571,6 @@ export default { ...@@ -532,7 +571,6 @@ export default {
if (index === 1) { if (index === 1) {
vm.takePhontoOpenCamera() vm.takePhontoOpenCamera()
} else { } else {
} }
}, },
}) })
...@@ -585,11 +623,11 @@ export default { ...@@ -585,11 +623,11 @@ export default {
hlsPopup.hideLoading() hlsPopup.hideLoading()
if (res.result === 'S' && res.info) { if (res.result === 'S' && res.info) {
let cardUrl = let cardUrl =
process.env.filePath + process.env.filePath +
'attachment_id=' + 'attachment_id=' +
res.info.attachment_id + res.info.attachment_id +
'&access_token=' + '&access_token=' +
window.localStorage.access_token window.localStorage.access_token
return cardUrl return cardUrl
} else if (res.result === 'S' && !res.info) { } else if (res.result === 'S' && !res.info) {
hlsPopup.showLongCenter('未找到身份证照片') hlsPopup.showLongCenter('未找到身份证照片')
...@@ -859,7 +897,8 @@ export default { ...@@ -859,7 +897,8 @@ export default {
}, },
async inSure () { async inSure () {
let flag = await this.signCheck() let flag = await this.signCheck()
if (flag) { // 只有认证通过后方可进行签约操作 if (flag) {
// 只有认证通过后方可进行签约操作
if (!this.bank_flag && this.abc_deduction_flag === 'Y') { if (!this.bank_flag && this.abc_deduction_flag === 'Y') {
this.isshow = true // 未查到农行卡给出提示且勾选农行代扣 this.isshow = true // 未查到农行卡给出提示且勾选农行代扣
} else { } else {
...@@ -898,629 +937,629 @@ export default { ...@@ -898,629 +937,629 @@ export default {
} }
</script> </script>
<style lang="less" rel="stylesheet"> <style lang="less" rel="stylesheet">
#contract-details { #contract-details {
.sign-elect { .sign-elect {
width:100%; width: 100%;
height:1.1rem; height: 1.1rem;
position: fixed; position: fixed;
bottom: 43px; bottom: 43px;
// margin-top: 20px; // margin-top: 20px;
background: #fff; background: #fff;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
button { button {
width: 7.172rem; width: 7.172rem;
height: 0.88rem; height: 0.88rem;
background: #1d3fff; background: #1d3fff;
border-radius: 0.08rem; border-radius: 0.08rem;
color: #fff; color: #fff;
font-family: PingFangSC-Semibold; font-family: PingFangSC-Semibold;
font-size: 0.3rem; font-size: 0.3rem;
line-height: 0.4rem; line-height: 0.4rem;
letter-spacing: 0.2rem; letter-spacing: 0.2rem;
}
}
.bodyCheck{
width:100%;
height:1.1rem;
position: fixed;
bottom: 92px;
background: #fff;
display: flex;
justify-content: center;
align-items: center;
button {
width: 7.172rem;
height: 0.88rem;
background: #1d3fff;
border-radius: 0.08rem;
color: #fff;
font-family: PingFangSC-Semibold;
font-size: 0.3rem;
line-height: 0.88rem;
letter-spacing: 0.2rem;
}
} }
.footer-button { }
.approve { .bodyCheck {
width: 358.6px; width: 100%;
height: 44px; height: 1.1rem;
background: @headerColor; position: fixed;
border-radius: 4px; bottom: 92px;
color: #fff; background: #fff;
font-family: PingFangSC-Semibold; display: flex;
font-size: 15px; justify-content: center;
line-height: 20px; align-items: center;
letter-spacing: 10px; button {
img { width: 7.172rem;
width: 16.8px; height: 0.88rem;
height: 16.8px; background: #1d3fff;
} border-radius: 0.08rem;
} color: #fff;
font-family: PingFangSC-Semibold;
font-size: 0.3rem;
line-height: 0.88rem;
letter-spacing: 0.2rem;
} }
.name-box { }
display: inline-block; .footer-button {
text-align: center; .approve {
line-height: 16px; width: 358.6px;
color: #00469c; height: 44px;
width: 16px; background: @headerColor;
height: 16px;
background: #cddbec;
border-radius: 4px; border-radius: 4px;
} color: #fff;
.name {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #383f45;
letter-spacing: 0;
margin-left: 10px;
}
.card-num {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #383f45;
letter-spacing: 0;
display: block;
margin-left: 31px;
margin-top: 7px;
}
.right {
position: relative;
}
.right span {
float: right;
margin-right: 48px;
display: block;
font-family: PingFangSC-Regular;
font-size: 14px;
color: rgba(56, 63, 69, 0.6);
letter-spacing: 0;
line-height: 18px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 150px;
margin-top: -10px;
text-align: right;
}
.right span:last-child {
margin-top: 7px;
}
.right img {
position: absolute;
top: 30%;
left: 88%;
width: 14px;
height: 16px;
}
.alert {
padding-bottom: 30px;
width: 100%;
//margin-top: -10px;
background: #fbf2d2;
}
.alert-fund {
margin-top: -10px;
}
.alert-content {
width: 334px;
margin: 0 auto;
padding-top: 16px;
}
.info-word {
font-family: PingFangSC-Semibold; font-family: PingFangSC-Semibold;
font-size: 14px; font-size: 15px;
color: #fcc800; line-height: 20px;
letter-spacing: 0.5px; letter-spacing: 10px;
margin-left: 8px; img {
} width: 16.8px;
height: 16.8px;
.title {
display: flex;
align-items: center;
}
.top-word {
p {
font-family: PingFangSC-Regular;
font-size: 12px;
color: #656464;
letter-spacing: 0.37px;
margin-top: 7px;
line-height: 15px;
text-indent: 16px;
position: relative;
}
p::before {
content: "";
display: block;
position: absolute;
top: 5px;
left: 0px;
width: 4px;
height: 4px;
border-radius: 20px;
background-color: #fcc800;
} }
} }
.top-info { }
.name-box {
display: inline-block;
text-align: center;
line-height: 16px;
color: #00469c;
width: 16px;
height: 16px;
background: #cddbec;
border-radius: 4px;
}
.name {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #383f45;
letter-spacing: 0;
margin-left: 10px;
}
.card-num {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #383f45;
letter-spacing: 0;
display: block;
margin-left: 31px;
margin-top: 7px;
}
.right {
position: relative;
}
.right span {
float: right;
margin-right: 48px;
display: block;
font-family: PingFangSC-Regular;
font-size: 14px;
color: rgba(56, 63, 69, 0.6);
letter-spacing: 0;
line-height: 18px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 150px;
margin-top: -10px;
text-align: right;
}
.right span:last-child {
margin-top: 7px;
}
.right img {
position: absolute;
top: 30%;
left: 88%;
width: 14px;
height: 16px;
}
.alert {
padding-bottom: 30px;
width: 100%;
//margin-top: -10px;
background: #fbf2d2;
}
.alert-fund {
margin-top: -10px;
}
.alert-content {
width: 334px;
margin: 0 auto;
padding-top: 16px;
}
.info-word {
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #fcc800;
letter-spacing: 0.5px;
margin-left: 8px;
}
.title {
display: flex;
align-items: center;
}
.top-word {
p {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 12px; font-size: 12px;
color: #656464; color: #656464;
letter-spacing: 0.37px; letter-spacing: 0.37px;
margin-top: 7px; margin-top: 7px;
line-height: 15px; line-height: 15px;
text-indent: 16px;
span { position: relative;
color: #fcc800;
}
} }
p::before {
content: "";
display: block;
position: absolute;
top: 5px;
left: 0px;
width: 4px;
height: 4px;
border-radius: 20px;
background-color: #fcc800;
}
}
.top-info {
font-family: PingFangSC-Regular;
font-size: 12px;
color: #656464;
letter-spacing: 0.37px;
margin-top: 7px;
line-height: 15px;
.alert img { span {
width: 18px; color: #fcc800;
height: 18px;
} }
.font-color { }
font-family: PingFangSC-Regular;
.alert img {
width: 18px;
height: 18px;
}
.font-color {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #656464;
letter-spacing: 0;
}
.repay-plan {
height: 44px;
width: 100%;
margin-top: -10px;
background: #f2f2f2;
p {
font-family: PingFangSC-Semibold;
font-size: 14px; font-size: 14px;
color: #656464; color: #00469c;
letter-spacing: 0; letter-spacing: 0;
}
.repay-plan {
height: 44px; height: 44px;
width: 100%; width: 84px;
margin-top: -10px; line-height: 44px;
background: #f2f2f2; font-weight: bold;
p { text-decoration: underline;
font-family: PingFangSC-Semibold; margin-left: 16px;
font-size: 14px;
color: #00469c;
letter-spacing: 0;
height: 44px;
width: 84px;
line-height: 44px;
font-weight: bold;
text-decoration: underline;
margin-left: 16px;
}
} }
.equipment-list-fund { }
height: 40px; .equipment-list-fund {
line-height: 40px; height: 40px;
background-color: #fafafa; line-height: 40px;
display: flex; background-color: #fafafa;
align-items: center; display: flex;
color: #00469c; align-items: center;
font-size: 15px; color: #00469c;
//margin-left: 16px; font-size: 15px;
position: relative; //margin-left: 16px;
//margin-top: -10px; position: relative;
span { //margin-top: -10px;
width: 4px; span {
height: 20px; width: 4px;
background: #00469c; height: 20px;
} background: #00469c;
p {
padding-left: 10px;
}
} }
.all { p {
position: absolute; padding-left: 10px;
background-color: transparent; }
width: 100%; }
height: 100%; .all {
top: 0; position: absolute;
left: 0; background-color: transparent;
z-index: 2; width: 100%;
height: 100%;
.prompt { top: 0;
position: absolute; left: 0;
top: 50%; z-index: 2;
left: 50%;
margin-top: -75px;
margin-left: -121px;
background-color: #fff;
box-shadow: 0 1px 2px 1px rgba(128, 128, 128, 0.1);
border-radius: 4px;
width: 242px;
height: 150px;
.top { .prompt {
height: 105px; position: absolute;
border-bottom: 1px solid #f1f0f5; top: 50%;
left: 50%;
margin-top: -75px;
margin-left: -121px;
background-color: #fff;
box-shadow: 0 1px 2px 1px rgba(128, 128, 128, 0.1);
border-radius: 4px;
width: 242px;
height: 150px;
div:first-child { .top {
font-family: PingFangSC-Semibold; height: 105px;
font-size: 14px; border-bottom: 1px solid #f1f0f5;
color: #e50020;
letter-spacing: 0.5px;
font-weight: 700;
margin-top: 13px;
img { div:first-child {
width: 18px; font-family: PingFangSC-Semibold;
line-height: 12px; font-size: 14px;
display: block; color: #e50020;
margin: -3px 5px 0 40%; letter-spacing: 0.5px;
float: left; font-weight: 700;
} margin-top: 13px;
}
div:nth-child(2) { img {
margin-top: 22px; width: 18px;
font-family: PingFangSC-Regular; line-height: 12px;
font-size: 13px; display: block;
color: #383f45; margin: -3px 5px 0 40%;
letter-spacing: 0.4px; float: left;
padding: 0 22px;
line-height: 20px;
} }
} }
.bottom { div:nth-child(2) {
text-align: center; margin-top: 22px;
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 14px; font-size: 13px;
color: #00469c; color: #383f45;
line-height: 32px; letter-spacing: 0.4px;
padding: 0 22px;
line-height: 20px;
} }
} }
}
.tab-style {
display: flex;
justify-content: center;
padding-top: 12px;
padding-bottom: 8px;
align-items: center;
background-color: #fff;
box-shadow: 0 2px 3px 0 rgba(220, 220, 221, 0.5);
div { .bottom {
display: block; text-align: center;
height: 32px; font-family: PingFangSC-Regular;
width: 172px;
border-radius: 16px;
border-radius: 16px;
font-family: PingFangSC-Semibold;
font-size: 14px; font-size: 14px;
letter-spacing: 0.43px; color: #00469c;
margin: 0 4px;
line-height: 32px; line-height: 32px;
} }
.undone { }
background: rgba(220, 220, 221, 0.26); }
color: #383f45;
} .tab-style {
.done { display: flex;
background: rgba(0, 70, 156, 0.1); justify-content: center;
color: #00469c; padding-top: 12px;
padding-bottom: 8px;
align-items: center;
background-color: #fff;
box-shadow: 0 2px 3px 0 rgba(220, 220, 221, 0.5);
div {
display: block;
height: 32px;
width: 172px;
border-radius: 16px;
border-radius: 16px;
font-family: PingFangSC-Semibold;
font-size: 14px;
letter-spacing: 0.43px;
margin: 0 4px;
line-height: 32px;
}
.undone {
background: rgba(220, 220, 221, 0.26);
color: #383f45;
}
.done {
background: rgba(0, 70, 156, 0.1);
color: #00469c;
}
img {
width: 16px;
display: block;
float: left;
margin: 8px 5px 0 20px;
}
span:nth-of-type(2) {
margin-left: 7px;
}
}
.content {
height: 87%;
.contract-text {
.border-red {
border: 2px solid rgba(255, 0, 0, 0.4);
} }
img { .hls-item {
width: 16px; margin-top: 8px;
display: block; background-color: #fff;
float: left;
margin: 8px 5px 0 20px;
} }
span:nth-of-type(2) { .contents {
margin-left: 7px; padding: 0;
} }
}
.content { .in-detail {
height: 87%; background-color: rgba(0, 70, 156, 0.08);
width: 48px;
height: 56px;
text-align: center;
line-height: 65px;
.contract-text { img {
.border-red { width: 16px;
border: 2px solid rgba(255, 0, 0, 0.4);
} }
}
.hls-item { .in-all {
margin-top: 8px; //width: 96px;
background-color: #fff; display: flex;
}
.contents { img {
padding: 0; width: 16px;
} }
.in-detail { div {
background-color: rgba(0, 70, 156, 0.08);
width: 48px; width: 48px;
height: 56px; height: 56px;
text-align: center; text-align: center;
line-height: 65px; line-height: 65px;
}
img { div:first-child {
width: 16px; background-color: rgba(252, 200, 0, 0.1);
}
} }
.in-all { div:nth-child(2) {
//width: 96px; background-color: rgba(0, 70, 156, 0.08);
display: flex; }
}
}
}
img { .business-condition {
width: 16px; .equipment-list {
} height: 40px;
line-height: 40px;
background-color: #fafafa;
color: #00469c;
font-size: 15px;
margin-left: 16px;
position: relative;
}
div { .equipment-list::before {
width: 48px; content: "";
height: 56px; display: block;
text-align: center; width: 4px;
line-height: 65px; height: 20px;
} background-color: #00469c;
position: absolute;
left: -15px;
top: 10px;
}
div:first-child { div {
background-color: rgba(252, 200, 0, 0.1); font-family: PingFangSC-Regular;
} color: #656464;
letter-spacing: 0;
}
div:nth-child(2) { section {
background-color: rgba(0, 70, 156, 0.08); font-family: PingFangSC-Regular;
} color: rgba(56, 63, 69, 0.6);
} letter-spacing: 0;
}
} }
}
.business-condition { .aguremrnt-list {
.equipment-list { display: flex;
height: 40px; flex-direction: row;
line-height: 40px;
background-color: #fafafa;
color: #00469c;
font-size: 15px;
margin-left: 16px;
position: relative;
}
.equipment-list::before { .pic {
content: ""; margin-left: -3px;
display: block; }
width: 4px;
height: 20px;
background-color: #00469c;
position: absolute;
left: -15px;
top: 10px;
}
div { .pics {
font-family: PingFangSC-Regular; // width: 21px;
color: #656464; height: 30px;
letter-spacing: 0; }
}
section { .read {
font-family: PingFangSC-Regular; height: 16px;
color: rgba(56, 63, 69, 0.6); margin-top: 8px;
letter-spacing: 0; margin-left: 6px;
}
} }
.aguremrnt-list { .second {
display: flex; height: 32px;
flex-direction: row; line-height: 32px;
font-family: PingFangSC-Regular;
font-size: 14px;
margin-left: 16px;
color: #383f45;
letter-spacing: 0.43px;
}
.pic { .first {
margin-left: -3px; margin-left: 13px;
} }
}
.pics { .myModal {
// width: 21px; width: 100%;
height: 30px; height: 100%;
position: absolute;
z-index: 999;
background-color: rgba(56, 63, 69, 0.3);
display: flex;
justify-content: center;
align-items: center;
.box {
position: relative;
width: 301px;
height: 467px;
background: url("../../assets/intoApproval/top.png") no-repeat;
background-size: 301px 24.7px;
background-color: #fff;
button {
width: 240px;
height: 40px;
position: absolute;
color: #fff;
bottom: 16px;
left: 30.5px;
background-color: rgba(56, 63, 69, 0.5);
} }
.title-box {
.read { width: 100%;
height: 16px; display: block;
margin-top: 8px; text-align: center;
margin-left: 6px; margin-top: 37px;
font-family: PingFangSC-Semibold;
font-size: 16px;
color: #00469c;
} }
.content-box {
.second { width: 240px;
height: 32px; height: 280px;
line-height: 32px;
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 14px; font-size: 12px;
margin-left: 16px;
color: #383f45; color: #383f45;
letter-spacing: 0.43px; margin: 0 auto;
} margin-top: 12px;
overflow-y: scroll;
.first { div {
margin-left: 13px; height: 20px;
} line-height: 20px;
}
.myModal {
width: 100%;
height: 100%;
position: absolute;
z-index: 999;
background-color: rgba(56, 63, 69, 0.3);
display: flex;
justify-content: center;
align-items: center;
.box {
position: relative;
width: 301px;
height: 467px;
background: url("../../assets/intoApproval/top.png") no-repeat;
background-size: 301px 24.7px;
background-color: #fff;
button {
width: 240px;
height: 40px;
position: absolute;
color: #fff;
bottom: 16px;
left: 30.5px;
background-color: rgba(56, 63, 69, 0.5);
} }
.title-box { p {
width: 100%; text-indent: 22px;
display: block; line-height: 16px;
text-align: center; margin-top: 6px;
margin-top: 37px;
font-family: PingFangSC-Semibold;
font-size: 16px;
color: #00469c;
} }
.content-box { .font-blod {
width: 240px; font-weight: bold;
height: 280px; text-indent: 0;
font-family: PingFangSC-Regular;
font-size: 12px;
color: #383f45;
margin: 0 auto;
margin-top: 12px;
overflow-y: scroll;
div {
height: 20px;
line-height: 20px;
}
p {
text-indent: 22px;
line-height: 16px;
margin-top: 6px;
}
.font-blod {
font-weight: bold;
text-indent: 0;
}
.sec {
text-indent: 22px;
}
} }
.confirm { .sec {
width: 240px; text-indent: 22px;
height: 20px;
padding-top: 25px;
margin: 0 auto;
font-family: PingFangSC-Regular;
font-size: 12px;
color: #383f45;
line-height: 20px;
display: flex;
justify-content: center;
align-items: center;
input {
width: 16px;
height: 16px;
margin-right: 8px;
background: none;
}
input::before {
content: "";
display: block;
background-image: url("../../assets/intoApproval/top.png");
}
} }
} }
} .confirm {
.approveContent { width: 240px;
position: absolute; height: 20px;
top: 50%; padding-top: 25px;
background-color: #fafafa; margin: 0 auto;
overflow-y: scroll; font-family: PingFangSC-Regular;
} font-size: 12px;
.approveBottom { color: #383f45;
width: 343px; line-height: 20px;
margin: 0 auto; display: flex;
span { justify-content: center;
display: block; align-items: center;
width: 100%; input {
font-family: PingFangSC-Semibold; width: 16px;
font-size: 15px; height: 16px;
color: #00469c; margin-right: 8px;
height: 21px; background: none;
line-height: 21px; }
margin: 16px 0; input::before {
img { content: "";
float: right; display: block;
background-image: url("../../assets/intoApproval/top.png");
} }
}
textarea {
width: 343px;
height: 178px;
border-radius: 2px;
padding: 10px;
}
span::after {
content: "";
display: block;
position: relative;
left: 70px;
top: -17px;
width: 14px;
height: 14px;
background: url("../../assets/intoApproval/approv.png");
background-size: 14px 14px;
} }
} }
.reject, }
.same { .approveContent {
width: 175px; position: absolute;
height: 40px; top: 50%;
border-radius: 4px; background-color: #fafafa;
overflow-y: scroll;
}
.approveBottom {
width: 343px;
margin: 0 auto;
span {
display: block;
width: 100%;
font-family: PingFangSC-Semibold; font-family: PingFangSC-Semibold;
font-size: 15px; font-size: 15px;
color: #00469c;
height: 21px;
line-height: 21px;
margin: 16px 0;
img { img {
width: 13px; float: right;
height: 13px;
} }
} }
.reject { textarea {
color: #656464; width: 343px;
border: 1px solid #656464; height: 178px;
border-radius: 2px;
padding: 10px;
} }
.same { span::after {
color: #ffffff; content: "";
background: #00469c; display: block;
border: 1px solid #00469c; position: relative;
left: 70px;
top: -17px;
width: 14px;
height: 14px;
background: url("../../assets/intoApproval/approv.png");
background-size: 14px 14px;
} }
.add-box { }
.before { .reject,
border: 1px solid #fdb62f; .same {
border-radius: 4px; width: 175px;
color: #fdb62f; height: 40px;
img{ border-radius: 4px;
width: 18px; font-family: PingFangSC-Semibold;
} font-size: 15px;
img {
width: 13px;
height: 13px;
}
}
.reject {
color: #656464;
border: 1px solid #656464;
}
.same {
color: #ffffff;
background: #00469c;
border: 1px solid #00469c;
}
.add-box {
.before {
border: 1px solid #fdb62f;
border-radius: 4px;
color: #fdb62f;
img {
width: 18px;
} }
.next { }
background: #1d3fff; .next {
border-radius: 4px; background: #1d3fff;
color: #fff; border-radius: 4px;
img{ color: #fff;
width: 18px; img {
} width: 18px;
} }
} }
} }
.modal { }
background-color: rgba(0, 0, 0, 0) !important; .modal {
} background-color: rgba(0, 0, 0, 0) !important;
}
</style> </style>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div class="down-content"> <div class="down-content">
<span>请上传照片</span> <span>请上传照片</span>
<div class="photo" @click="ocrShow()"> <div class="photo" @click="ocrShow()">
<img v-if="vehicleImg" :src="vertifyImg" alt=""> <img v-if="vehicleImg" :src="vehicleImg" alt="">
</div> </div>
<list-item :item-height="44"> <list-item :item-height="44">
<item> <item>
...@@ -156,7 +156,7 @@ ...@@ -156,7 +156,7 @@
v-for="(item,index) in equip" v-for="(item,index) in equip"
:key="index" :key="index"
class="equipment" class="equipment"
@click="downNum = true;getRent(item.contract_id)" @click="downNum = true;getRent(item.contract_id,item.contract_lease_item_id)"
> >
<div class="left"> <div class="left">
<span> <span>
...@@ -244,6 +244,9 @@ export default { ...@@ -244,6 +244,9 @@ export default {
read: false, // 表示只读 read: false, // 表示只读
showDate: '', showDate: '',
flag: false, flag: false,
isUpload: false, // 是否上传
contract_lease_item_id: '',
upload_list: [], // 上传列表
productLine: [ productLine: [
{ {
code: '5', code: '5',
...@@ -374,6 +377,30 @@ export default { ...@@ -374,6 +377,30 @@ export default {
}) })
}, },
methods: { methods: {
getImg (id) { // 获取合格证
let vm = this
let randomString = Math.floor(Math.random() * 21)
let url =
process.env.basePath +
'app_attment_query' +
'&index' +
`'${randomString}'`
let param = {
'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
}
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
// ocr识别入口 // ocr识别入口
ocrShow () { ocrShow () {
let vm = this let vm = this
...@@ -400,6 +427,7 @@ export default { ...@@ -400,6 +427,7 @@ export default {
if (!imgdata) { if (!imgdata) {
hlsPopup.showLongCenter('请拍照') hlsPopup.showLongCenter('请拍照')
} else { } else {
vm.isUpload = true
vm.vehicleImg = imgdata vm.vehicleImg = imgdata
vm.vehicleIdentify(imgdata) vm.vehicleIdentify(imgdata)
} }
...@@ -421,6 +449,7 @@ export default { ...@@ -421,6 +449,7 @@ export default {
if (imgUrl.length === 0) { if (imgUrl.length === 0) {
hlsPopup.showLongCenter('请选择一张图片') hlsPopup.showLongCenter('请选择一张图片')
} else { } else {
vm.isUpload = true
vm.vehicleImg = imgUrl[0] vm.vehicleImg = imgUrl[0]
vm.vehicleIdentify(imgUrl[0]) vm.vehicleIdentify(imgUrl[0])
} }
...@@ -441,10 +470,48 @@ export default { ...@@ -441,10 +470,48 @@ export default {
let result = res.result.words_result let result = res.result.words_result
vm.info.frame_number = result.VinNo // 车架号 vm.info.frame_number = result.VinNo // 车架号
vm.info.engine = result.EngineNo // 发动机号 vm.info.engine = result.EngineNo // 发动机号
// vm.vehicle_model = result.VinNo // 车辆型号 vm.vehicle_model = result.VinNo // 车辆型号
vm.info.certificate_number = result.CertificationNo // 合格证编号 vm.info.certificate_number = result.CertificationNo // 合格证编号
}) })
}, },
// 图片保存
save_picture (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.upload_list.push(list[j])
break
}
}
} else {
hlsPopup.hideLoading()
}
}
if (!list[i].attachment_id) {
attLength++
hlsUtil.fileUploadSvc(list[i], uploadSuccess)
}
}
} else {
hlsPopup.hideLoading()
}
},
showTime (format) { showTime (format) {
this.hlsPopup.showTime({ this.hlsPopup.showTime({
nowDate: `${this.carDate}`, nowDate: `${this.carDate}`,
...@@ -474,6 +541,7 @@ export default { ...@@ -474,6 +541,7 @@ export default {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.code === '00') { if (res.code === '00') {
vm.hlsPopup.showSuccess('保存成功') vm.hlsPopup.showSuccess('保存成功')
vm.savePicture()
setTimeout(() => { setTimeout(() => {
vm.downNum = false vm.downNum = false
vm.getEquipment() vm.getEquipment()
...@@ -483,6 +551,22 @@ export default { ...@@ -483,6 +551,22 @@ export default {
} }
}) })
}, },
savePicture () {
let vm = this
let list = []
let obj = {
pkvalue: vm.contract_lease_item_id,
source_type: 'CON_CONTRACT_LEASE_ITEM',
picture: '',
check_id: vm.contract_lease_item_id,
filePath: vm.vehicleImg,
attachment_id: '',
user_id: 1,
fileName: '合格证',
}
list.push(obj)
vm.save_picture(list)
},
isSave () { isSave () {
this.hlsPopup.showConfirm({ this.hlsPopup.showConfirm({
title: '提示', title: '提示',
...@@ -515,7 +599,7 @@ export default { ...@@ -515,7 +599,7 @@ export default {
}, },
}) })
}, },
getRent (e) { getRent (e, id) {
let vm = this let vm = this
for (let i in vm.info) { for (let i in vm.info) {
vm.info[i] = '' vm.info[i] = ''
...@@ -530,6 +614,8 @@ export default { ...@@ -530,6 +614,8 @@ export default {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
Object.assign(vm.info, res.info) Object.assign(vm.info, res.info)
vm.getImg(id)
vm.contract_lease_item_id = id
} else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<div slot="center">个人中心</div> <div slot="center">个人中心</div>
</h-header> </h-header>
<div class="top" style="margin-top:-1px;"> <div :class="['top',(multipleRole!=='GUTA'&&user_bp_type!=='GUTA')?'has':'antiHas']" style="margin-top:-1px;">
<div class="card-top"> <div class="card-top">
<img :src="upLoadObj" @click="checkType" > <img :src="upLoadObj" @click="checkType" >
<div class="sign"> <div class="sign">
...@@ -26,18 +26,18 @@ ...@@ -26,18 +26,18 @@
</div> </div>
</div> </div>
</div> </div>
<div class="card"> <div v-if="multipleRole!=='GUTA'&&user_bp_type!=='GUTA'" class="card">
<div class="card-info"> <div class="card-info">
<div class="card-bottom"> <div class="card-bottom">
<div v-if="(user_bp_type!=='TENANT')&&(user_bp_type!=='GUTA')" @click="goStart"> <div v-if="(user_bp_type!=='TENANT')&&(user_bp_type!=='GUTA')" @click="goStart">
<img src="@/assets/myInfo/car.png" > <img src="@/assets/myInfo/car.png" >
<p>发车申请</p> <p>发车申请</p>
</div> </div>
<div v-if="(user_bp_type==='TENANT')||(user_bp_type==='GUTA')" @click="changePay"> <div v-if="(user_bp_type==='TENANT')" @click="changePay">
<img src="@/assets/myInfo/pay.png" > <img src="@/assets/myInfo/pay.png" >
<p>首付还款</p> <p>首付还款</p>
</div> </div>
<div v-if="(user_bp_type==='TENANT')||(user_bp_type==='GUTA')" @click="changeRent"> <div v-if="(user_bp_type==='TENANT')" @click="changeRent">
<img src="@/assets/myInfo/refund.png" > <img src="@/assets/myInfo/refund.png" >
<p>租金还款</p> <p>租金还款</p>
</div> </div>
...@@ -147,14 +147,14 @@ ...@@ -147,14 +147,14 @@
</h-content> </h-content>
<role-switch <role-switch
v-show="roleSwitchFlag" v-show="roleSwitchFlag"
ref="roleSwitch" ref="roleSwitchRoleList"
:roleList="roleList" :roleList="roleList"
@roleConfirm="roleConfirm" @roleConfirm="roleConfirm"
@roleCancle="roleCancle" @roleCancle="roleCancle"
/> />
<role-switch <role-switch
v-show="popSetectBox" v-show="popSetectBox"
ref="roleSwitch" ref="roleSwitchType"
:roleList="type" :roleList="type"
@roleConfirm="typeConfirm" @roleConfirm="typeConfirm"
@roleCancle="typeCancle" @roleCancle="typeCancle"
...@@ -171,6 +171,7 @@ export default { ...@@ -171,6 +171,7 @@ export default {
data () { data () {
return { return {
currentVersion: process.env.currentVersion, currentVersion: process.env.currentVersion,
multipleRole: '',
upLoadObj: defaultImg, // 上传的图片 upLoadObj: defaultImg, // 上传的图片
flag: true, flag: true,
isAGENT: false, isAGENT: false,
...@@ -277,6 +278,7 @@ export default { ...@@ -277,6 +278,7 @@ export default {
created () {}, created () {},
beforeRouteEnter (to, from, next) { beforeRouteEnter (to, from, next) {
next(vm => { next(vm => {
vm.multipleRole = window.localStorage.getItem('multipleRole')
vm.userQuery() vm.userQuery()
vm.numQuery() vm.numQuery()
}) })
...@@ -323,6 +325,13 @@ export default { ...@@ -323,6 +325,13 @@ export default {
// 选择角色后确定 // 选择角色后确定
roleConfirm (role) { roleConfirm (role) {
this.roleSwitchFlag = false this.roleSwitchFlag = false
if (role.bp_type === 'TENANT') {
window.localStorage.setItem('multipleRole', 'TENANT')
this.multipleRole = 'TENANT'
} else if (role.bp_type === 'GUTA') {
window.localStorage.setItem('multipleRole', 'GUTA')
this.multipleRole = 'GUTA'
}
console.log('选择后的角色为:' + role) console.log('选择后的角色为:' + role)
}, },
typeConfirm (e) { // 选择操作方式后 typeConfirm (e) { // 选择操作方式后
...@@ -624,7 +633,11 @@ export default { ...@@ -624,7 +633,11 @@ export default {
} else if (index === 1) { } else if (index === 1) {
this.changePageHead() this.changePageHead()
} else if (index === 2) { } else if (index === 2) {
this.$refs.roleSwitch.show() if (((vm.user_bp_type === 'TENANT') || (vm.user_bp_type === 'GUTA')) && (vm.user_bp_status === 'APPROVED')) {
this.$refs.roleSwitchRoleList.show()
} else {
hlsPopup.showLongCenter('您当前尚无可用角色')
}
} }
}, },
}) })
...@@ -916,11 +929,15 @@ export default { ...@@ -916,11 +929,15 @@ export default {
hlsPopup.showLoading('请稍候') hlsPopup.showLoading('请稍候')
let res = await vm.$post(url, param) let res = await vm.$post(url, param)
hlsPopup.hideLoading() hlsPopup.hideLoading()
if (res.info.code === 0) { if ((res.info.code === 0) && (res.info.data.authUrl)) {
return res.info.data.authUrl vm.authUrl = res.info.data.authUrl
return vm.authUrl
} else if ((res.info.code === 0) && (res.info.data.openId)) {
vm.authUrl = res.info.data.openId
return vm.authUrl
} else { } else {
hlsPopup.showLongCenter(res.info.msg) hlsPopup.showError(res.info.msg)
return null return ''
} }
}, },
// 获取企业认证url // 获取企业认证url
...@@ -933,11 +950,21 @@ export default { ...@@ -933,11 +950,21 @@ export default {
hlsPopup.showLoading('请稍候') hlsPopup.showLoading('请稍候')
let res = await vm.$post(url, param) let res = await vm.$post(url, param)
hlsPopup.hideLoading() hlsPopup.hideLoading()
if (res.info.code === 0) { // if (res.info.code === 0) {
return res.info.data.authUrl // return res.info.data.authUrl
// } else {
// hlsPopup.showLongCenter(res.info.msg)
// return null
// }
if ((res.info.code === 0) && (res.info.data.authUrl)) {
vm.authUrl = res.info.data.authUrl
return vm.authUrl
} else if ((res.info.code === 0) && (res.info.data.openId)) {
vm.authUrl = res.info.data.openId
return vm.authUrl
} else { } else {
hlsPopup.showLongCenter(res.info.msg) hlsPopup.showError(res.info.msg)
return null return ''
} }
}, },
}, },
...@@ -1004,9 +1031,15 @@ export default { ...@@ -1004,9 +1031,15 @@ export default {
border: 1px solid #00469c; border: 1px solid #00469c;
} }
} }
.has{
height:206px;
}
.antiHas{
height:3.12rem;
}
.top { .top {
width: 100%; width: 100%;
height: 206px; // height: 206px;
background: url("../../assets/myInfo/back.png") no-repeat; background: url("../../assets/myInfo/back.png") no-repeat;
background-size: 100% 156px; background-size: 100% 156px;
background-color: #efefef; background-color: #efefef;
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div v-show="showFlag" class="role-switch-wrap"> <div v-show="showFlag" class="role-switch-wrap">
<div class="role-switch-content"> <div class="role-switch-content">
<div class="content-header"> <div class="content-header">
<span>请选择要切换的角色</span> <span>请选择要切换的内容</span>
<img src="@/assets/myInfo/modalClose.png" @click="roleCancle"> <img src="@/assets/myInfo/modalClose.png" @click="roleCancle">
</div> </div>
<div class="content-wrap"> <div class="content-wrap">
......
...@@ -62,7 +62,7 @@ ...@@ -62,7 +62,7 @@
</div> </div>
</div> </div>
<div v-if="isShowpayInfo" class="box-wrap"> <div v-if="isShowpayInfo" class="box-wrap">
<!-- <div class="box-top"> <!-- <div class="box-top">
<img src="@/assets/payment/bank-title.png" > <img src="@/assets/payment/bank-title.png" >
</div>--> </div>-->
<div class="box-center"> <div class="box-center">
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
<div slot="name" class="name">订单编号</div> <div slot="name" class="name">订单编号</div>
<div slot="content">{{ info.order_number }}</div> <div slot="content">{{ info.order_number }}</div>
</item> </item>
<!-- <item> <!-- <item>
<div slot="name" class="name">付款人</div> <div slot="name" class="name">付款人</div>
<div slot="content">{{ info.pay_amount_name }}</div> <div slot="content">{{ info.pay_amount_name }}</div>
</item> </item>
...@@ -79,13 +79,13 @@ ...@@ -79,13 +79,13 @@
<div slot="name" class="name">付款账号</div> <div slot="name" class="name">付款账号</div>
<div slot="content">{{ info.pay_amount }}</div> <div slot="content">{{ info.pay_amount }}</div>
</item>--> </item>-->
<!-- <item> <!-- <item>
<div slot="name" class="name">交易金额</div> <div slot="name" class="name">交易金额</div>
<div slot="content">{{ info.orderamount|currency }}</div> <div slot="content">{{ info.orderamount|currency }}</div>
</item>--> </item>-->
<div class="orderamount-wrap"> <div class="orderamount-wrap">
<span class="orderamount-item">交易金额</span> <span class="orderamount-item">交易金额</span>
<span class="orderamount-item font-color">{{info.orderamount|currency}}</span> <span class="orderamount-item font-color">{{ info.orderamount|currency }}</span>
</div> </div>
<item> <item>
<div slot="name" class="name">支付方式</div> <div slot="name" class="name">支付方式</div>
...@@ -105,13 +105,13 @@ ...@@ -105,13 +105,13 @@
<p>手机K码支付需要您开通我行消息服务。</p> <p>手机K码支付需要您开通我行消息服务。</p>
<p>掌上银行支付需要您首先开通我行掌上银行,</p> <p>掌上银行支付需要您首先开通我行掌上银行,</p>
<p>且支付账户已添加到掌上银行;</p> <p>且支付账户已添加到掌上银行;</p>
<!-- <p>www.abchina. com</p> <!-- <p>www.abchina. com</p>
<p>全国24小时服务热线:95599</p> <p>全国24小时服务热线:95599</p>
<p>中国农业银行版权所有</p>--> <p>中国农业银行版权所有</p>-->
</div> </div>
</div> </div>
</h-content> </h-content>
<!-- <bottom-tab> <!-- <bottom-tab>
<tab-button v-if="showpay" class="foot" @click.native="pay">立即支付</tab-button> <tab-button v-if="showpay" class="foot" @click.native="pay">立即支付</tab-button>
<tab-button v-if="nextPay" class="foot" @click.native="pay">继续支付</tab-button> <tab-button v-if="nextPay" class="foot" @click.native="pay">继续支付</tab-button>
<tab-button v-if="showSelect" class="foot" @click.native="searchResult">查询支付结果</tab-button> <tab-button v-if="showSelect" class="foot" @click.native="searchResult">查询支付结果</tab-button>
...@@ -176,7 +176,7 @@ export default { ...@@ -176,7 +176,7 @@ export default {
pay (status) { pay (status) {
let vm = this let vm = this
vm.nextPay = false vm.nextPay = false
if(status === 'continue' && vm.payType === 'ABC_UNION'){ // 在银联模式下继续支付重新获取支付url,因为银联页面只能打开一次 if (status === 'continue' && vm.payType === 'ABC_UNION') { // 在银联模式下继续支付重新获取支付url,因为银联页面只能打开一次
hlsPopup.showConfirm({ hlsPopup.showConfirm({
title: '提示', title: '提示',
content: '银联不支持二次支付,请重新发起支付订单', content: '银联不支持二次支付,请重新发起支付订单',
...@@ -188,16 +188,16 @@ export default { ...@@ -188,16 +188,16 @@ export default {
} }
}, },
}) })
}else{ } else {
cordova.InAppBrowser.open(this.url, '_blank', 'location=yes') cordova.InAppBrowser.open(this.url, '_blank', 'location=yes')
// window.open(this.url) // window.open(this.url)
} }
setTimeout(() => { setTimeout(() => {
vm.showSelect = true vm.showSelect = true
vm.showpay = false vm.showpay = false
}, 3000) }, 3000)
}, },
getPayUrl(){ getPayUrl () {
let vm = this let vm = this
let url = process.env.basePath + 'merchant_payment' let url = process.env.basePath + 'merchant_payment'
let param = { let param = {
...@@ -209,7 +209,7 @@ export default { ...@@ -209,7 +209,7 @@ export default {
if (res.return_code !== '0000') { if (res.return_code !== '0000') {
hlsPopup.showLongCenter(res.error_message) hlsPopup.showLongCenter(res.error_message)
} else { } else {
cordova.InAppBrowser.open(res.paymentURL, '_blank', 'location=yes') cordova.InAppBrowser.open(res.paymentURL, '_blank', 'location=yes')
} }
} else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
......
...@@ -151,7 +151,7 @@ export default { ...@@ -151,7 +151,7 @@ export default {
beforeRouteEnter (to, from, next) { beforeRouteEnter (to, from, next) {
next(vm => { next(vm => {
vm.getBankInfo() vm.getBankInfo()
// vm.getNpCertificationUrl() // vm.getNpCertificationUrl()
}) })
}, },
methods: { methods: {
...@@ -222,7 +222,7 @@ export default { ...@@ -222,7 +222,7 @@ export default {
vm.$router.push({ vm.$router.push({
name: 'HomePage', name: 'HomePage',
}) })
} else { } else if (vm.certification_status === 'N') {
vm.$router.push({ vm.$router.push({
name: 'Certification', name: 'Certification',
params: { params: {
...@@ -254,7 +254,7 @@ export default { ...@@ -254,7 +254,7 @@ export default {
if ((res.info.code === 0) && (res.info.data.authUrl)) { if ((res.info.code === 0) && (res.info.data.authUrl)) {
vm.authUrl = res.info.data.authUrl vm.authUrl = res.info.data.authUrl
return vm.authUrl return vm.authUrl
} else if((res.info.code === 0) && (res.info.data.openId)){ } else if ((res.info.code === 0) && (res.info.data.openId)) {
vm.authUrl = res.info.data.openId vm.authUrl = res.info.data.openId
return vm.authUrl return vm.authUrl
} else { } else {
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
@click="selectIdTypeOnly()" @click="selectIdTypeOnly()"
> >
</item> </item>
<item v-if="isApproved&&isMultiRole" :showArrow="true" @click.native="selectIdType()"> <item v-if="isApproved&&isMultiRole&&!hasMultiRole" :showArrow="true" @click.native="selectIdType()">
<div slot="name" class="required">客户类型</div> <div slot="name" class="required">客户类型</div>
<div slot="content" class="typeBP"> <div slot="content" class="typeBP">
<span>{{ baseInfo.bp_type_n }}</span> <span>{{ baseInfo.bp_type_n }}</span>
...@@ -30,6 +30,13 @@ ...@@ -30,6 +30,13 @@
</span> </span>
</div> </div>
</item> </item>
<item v-if="isApproved&&isMultiRole&&hasMultiRole" :showArrow="true">
<div slot="name" class="required">客户类型</div>
<div slot="content" class="typeBP">
<span>{{ baseInfo.bp_type_n }}</span>
<span v-if="multiRole.bp_type_n">{{ multiRole.bp_type_n }}</span>
</div>
</item>
<item v-if="(isPaople&&from)||(isPaople&&isSelected)"> <item v-if="(isPaople&&from)||(isPaople&&isSelected)">
<div slot="name" class="required">业务经办人</div> <div slot="name" class="required">业务经办人</div>
<input slot="content" v-model="baseInfo.agent_username" placeholder="请输入业务经办员工代码" > <input slot="content" v-model="baseInfo.agent_username" placeholder="请输入业务经办员工代码" >
...@@ -319,8 +326,9 @@ export default { ...@@ -319,8 +326,9 @@ export default {
isApproved: false, isApproved: false,
isSave: false, isSave: false,
isAGENT: this.$route.params.isAGENT, isAGENT: this.$route.params.isAGENT,
isMultiRole: this.$route.params.isMultiRole, isMultiRole: this.$route.params.isMultiRole, // 能否选择多角色
isSelected: false, isSelected: false,
hasMultiRole: false, // 是否有第二个角色
from: false, from: false,
multiBpType: { multiBpType: {
bp_type_n: '', bp_type_n: '',
...@@ -336,6 +344,10 @@ export default { ...@@ -336,6 +344,10 @@ export default {
maritalList: [], maritalList: [],
districtList: [], districtList: [],
img_url: {}, img_url: {},
multiRole: {
bp_type_n: '',
bp_type: '',
}, // 查询出来的第二个角色
baseInfo: { baseInfo: {
bp_type_n: '', bp_type_n: '',
academic_background_n: '', academic_background_n: '',
...@@ -468,6 +480,7 @@ export default { ...@@ -468,6 +480,7 @@ export default {
vm.from = true vm.from = true
vm.basicInfoQuery() vm.basicInfoQuery()
vm.loadItemList() // 附件查询 vm.loadItemList() // 附件查询
vm.checkHasmultiple()// 查询是否有新角色
} else if (from.name === 'UserBind') { } else if (from.name === 'UserBind') {
vm.list = {} vm.list = {}
vm.multiBpType = { vm.multiBpType = {
...@@ -762,6 +775,31 @@ export default { ...@@ -762,6 +775,31 @@ export default {
} }
}) })
}, },
checkHasmultiple () {
let vm = this
let url = process.env.basePath + 'bp_role_check'
let param = {
bp_id: window.localStorage.getItem('bp_id'),
}
// vm.hlsPopup.showLoading('请稍后')
vm.hlsHttp.post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.hasMultiRole = true
if (vm.baseInfo.bp_type === 'TENANT') {
vm.multiRole.bp_type_n = '担保人'
vm.multiRole.bp_type = 'GUTA'
} else if (vm.baseInfo.bp_type === 'GUTA') {
vm.multiRole.bp_type_n = '承租人'
vm.multiRole.bp_type = 'TENANT'
}
} else {
vm.hasMultiRole = false
vm.multiRole.bp_type = ''
vm.multiRole.bp_type_n = ''
}
})
},
// 基本信息保存前校验 // 基本信息保存前校验
bindCheck () { bindCheck () {
let vm = this let vm = this
...@@ -808,8 +846,8 @@ export default { ...@@ -808,8 +846,8 @@ export default {
window.localStorage.setItem('bp_name', vm.baseInfo.bp_name) window.localStorage.setItem('bp_name', vm.baseInfo.bp_name)
window.localStorage.setItem('bp_type', vm.baseInfo.bp_type) window.localStorage.setItem('bp_type', vm.baseInfo.bp_type)
window.localStorage.setItem('from', vm.from) window.localStorage.setItem('from', vm.from)
// vm.bindCheck() // vm.bindCheck()
vm.$router.push({ vm.$router.push({
name: 'NPInvoiceInfo', name: 'NPInvoiceInfo',
}) })
return res.bp_id return res.bp_id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment