Commit 68461fe7 authored by 786817560's avatar 786817560

'代码提交'

parent 0dfde824
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2019-09-29 10:02:11 * @Date: 2019-09-29 10:02:11
* @LastEditTime: 2019-11-04 18:34:35 * @LastEditTime: 2019-11-05 13:36:11
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
--> -->
...@@ -22,6 +22,26 @@ ...@@ -22,6 +22,26 @@
<span>合同详情</span> <span>合同详情</span>
</div> </div>
</h-header> </h-header>
<div v-if="!isConfirm&&con_confirm_status!=='APPROVED'" v-once class="myModal">
<div class="box">
<span class="title-box">征信授权书</span>
<div class="content-box">
<p>本人知晓并同意_(会员机构XXX)___依据《征信业管理条例》及相关法律法规,委托第三方征信机构,合法调查本人信息,包括但不限于个人基本信息、借贷交易信息、银行卡交易信息、电商交易信息、公用事业信息、央行征信报告。所获取的信息,仅在此笔借贷业务的贷前审批和贷后管理工作中使用。(会员机构XXX)_将对所获取的信息妥善进行保管,除为本人提供信审服务/借款资金的合作方外,未经本人授权,不得向其他机构或个人公开、编辑或透露信息内容。</p>
<p>本人知晓并同意_(会员机构XXX)_依据《征信业管理条例》及相关法律法规,向第三方征信机构提交本人在此笔借贷业务中产生的相关信息,包括但不限于个人基本信息、借款申请信息、借款合同信息以及还款行为信息,并记录在征信机构的个人信用信息数据库中。</p>
<p>本人同意若本人出现不良还款行为,__(会员机构XXX)__按合同所留联系方式对本人进行提醒并告知,本人若仍未履行还款义务,_(会员机构XXX)__可将本人的不良还款信息提交至第三方征信机构,记录在征信机构的个人信用信息库中。</p>
<p>本人已被明确告知不良还款信息一旦记录在第三方征信机构的个人信用信息数据库中,在日后的经济活动中对本人可能产生的不良影响。</p>
<p>若本人所约定的联络方式产生变化,本人将及时通知_(会员机构XXX)_,若因未通知造成的相应损失,本人愿承担相应责任。</p>
<p>本人知晓第三方征信机构包含:北京安融惠众征信有限公司。</p>
<p>授权人签名:_______________</p>
<p>日期:_____________________</p>
</div>
<div class="confirm">
<input type="checkbox" @click="select" >
<span>我本人已阅读本协议,并同意授权xxxx</span>
</div>
<button class="appro" @click="confirm">同意</button>
</div>
</div>
<div class="tab-style"> <div class="tab-style">
<div :class="{'done':num === 0,'undone':num !== 0}" @click="num = 0;"><img :src="num === 0?check1:uncheck1">基本信息</div> <div :class="{'done':num === 0,'undone':num !== 0}" @click="num = 0;"><img :src="num === 0?check1:uncheck1">基本信息</div>
<div :class="{'done':num === 1,'undone':num !== 1}" @click="num = 1;"><img :src="num === 1?check3:uncheck3" >租赁信息</div> <div :class="{'done':num === 1,'undone':num !== 1}" @click="num = 1;"><img :src="num === 1?check3:uncheck3" >租赁信息</div>
...@@ -244,7 +264,7 @@ ...@@ -244,7 +264,7 @@
</div> </div>
</div> --> </div> -->
</h-content> </h-content>
<bottom-tab v-show="num === 1 && confirm_status === 'SUBMIT'"> <bottom-tab v-if="con_confirm_status == 'SUBMIT'">
<tab-button class="footer" @click.native="inSure"> <tab-button class="footer" @click.native="inSure">
确认签约 确认签约
</tab-button> </tab-button>
...@@ -279,20 +299,30 @@ export default { ...@@ -279,20 +299,30 @@ export default {
baseInfo: {}, // 基本信息 baseInfo: {}, // 基本信息
project_id: '', project_id: '',
bank_flag: false, bank_flag: false,
isConfirm: false, // 征信授权书状态
confirm_id: '', confirm_id: '',
conditionInfo: {}, conditionInfo: {},
check1: Check1, check1: Check1,
ischecked: false,
check2: Check2, check2: Check2,
check3: Check3, check3: Check3,
uncheck1: unCheck1, uncheck1: unCheck1,
uncheck2: unCheck2, uncheck2: unCheck2,
uncheck3: unCheck3, uncheck3: unCheck3,
confirm_status: '', con_confirm_status: this.$route.params.item.con_confirm_status,
entry_info_flag: false, entry_info_flag: false,
} }
}, },
computed: {}, computed: {},
watch: { watch: {
'ischecked': function (newVal, oldVal) {
let appro = document.querySelector('.appro') // 同意按钮
if (newVal) {
appro.style.backgroundColor = '#00469c'
} else {
appro.style.backgroundColor = 'rgba(56, 63, 69, 0.5)'
}
},
bp_class () { bp_class () {
if (this.bp_class === 'NP') { if (this.bp_class === 'NP') {
this.bp_flag = false this.bp_flag = false
...@@ -306,10 +336,13 @@ export default { ...@@ -306,10 +336,13 @@ export default {
next(vm => { next(vm => {
if (from.name === 'ContractSigning') { if (from.name === 'ContractSigning') {
vm.bank_flag = false vm.bank_flag = false
vm.isConfirm = false
vm.ischecked = false
console.log(vm.$route.params.item)
vm.bp_name = vm.$route.params.item.bp_name vm.bp_name = vm.$route.params.item.bp_name
vm.project_id = vm.$route.params.item.project_id vm.project_id = vm.$route.params.item.project_id
vm.confirm_id = vm.$route.params.item.confirm_id vm.confirm_id = vm.$route.params.item.confirm_id
vm.confirm_status = vm.$route.params.item.confirm_status vm.con_confirm_status = vm.$route.params.item.con_confirm_status
if (vm.$route.params.item.bp_class === 'NP') { if (vm.$route.params.item.bp_class === 'NP') {
vm.bp_flag = false vm.bp_flag = false
} else { } else {
...@@ -328,7 +361,29 @@ export default { ...@@ -328,7 +361,29 @@ export default {
activated () { activated () {
// this.bankCardQuery() // this.bankCardQuery()
}, },
mounted () {
if (this.con_confirm_status !== 'APPROVED') {
this.popProtocol()
}
},
methods: { methods: {
popProtocol () {
let modal = document.querySelector('.myModal')
let alpha = 0
let addOpacity = setInterval(() => {
alpha += 1
modal.style.backgroundColor = `rgba(56,63,69,${alpha / 100})`
if (alpha >= 30) {
clearInterval(addOpacity)
}
}, 10)
},
select () {
this.ischecked = !this.ischecked
},
confirm () {
this.ischecked ? (this.isConfirm = true) : (this.isConfirm = false)
},
// 担保人 // 担保人
getGuarantor () { getGuarantor () {
let vm = this let vm = this
...@@ -403,10 +458,10 @@ export default { ...@@ -403,10 +458,10 @@ export default {
// 还款计划 // 还款计划
repayPlan () { repayPlan () {
this.$router.push({ this.$router.push({
name: 'FinancDetails', name: 'ContractRepayPlan',
params: { params: {
project_id: this.project_id, project_id: this.project_id,
product_num: this.conditionInfo.product_num, product_num: this.info.product_num,
}, },
}) })
}, },
...@@ -439,7 +494,7 @@ export default { ...@@ -439,7 +494,7 @@ export default {
let param = { let param = {
master: { master: {
confirm_id: vm.confirm_id, confirm_id: vm.confirm_id,
confirm_status: 'APPROVED', con_confirm_status: 'APPROVED',
}, },
} }
vm.hlsHttp.post(url, param).then(function (res) { vm.hlsHttp.post(url, param).then(function (res) {
...@@ -541,7 +596,7 @@ export default { ...@@ -541,7 +596,7 @@ export default {
} }
.alert { .alert {
//height: 100px; //height: 100px;
padding-bottom: 10px; padding-bottom: 84px;
width: 100%; width: 100%;
//margin-top: -10px; //margin-top: -10px;
background: #FbF2d2; background: #FbF2d2;
...@@ -1013,5 +1068,79 @@ export default { ...@@ -1013,5 +1068,79 @@ export default {
height: 40px; height: 40px;
margin: 4px 2% 0 2%; margin: 4px 2% 0 2%;
} }
.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 {
width: 100%;
display: block;
text-align: center;
margin-top: 37px;
font-family: PingFangSC-Semibold;
font-size: 16px;
color: #00469c;
}
.content-box {
width: 240px;
height: 280px;
font-family: PingFangSC-Regular;
font-size: 12px;
color: #383f45;
margin: 0 auto;
margin-top: 12px;
overflow-y: scroll;
p {
text-indent: 25px;
line-height: 16px;
}
}
.confirm {
width: 240px;
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");
}
}
}
}
} }
</style> </style>
<!--
* @Author: your name
* @Date: 2019-10-30 19:29:24
* @LastEditTime: 2019-11-05 15:45:27
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
-->
<template>
<h-view id="repay-plan" class="public-style">
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()">
<span>融资明细</span>
</div>
</h-header>
<div class="center">
<div class="total">
<div class="sum">
<div>融资额</div>
<p>{{ info.total_rental_sum|currency }}</p>
<img src="@/assets/contractInquire/num.png" alt="">
<h3><span>{{ info.lease_times }}</span></h3>
</div>
<div class="single">
<div><h4>保证金</h4><p>{{ info.deposit * product_num | currency }}</p></div>
<div><h4>首付款</h4><p>{{ info.down_payment * product_num | currency }}</p></div>
<div><h4>手续费</h4><p>{{ info.lease_charge * product_num | currency }}</p></div>
</div>
</div>
<div class="plan-name">
<div class="header">还款计划</div>
<img :class="{'rotate':show}" src="@/assets/contractInquire/top.png" alt="" @click="showDetails">
</div>
</div>
<h-content id="content" class="plan-content">
<scroll ref="scrollList">
<!-- 已结清 black , 逾期 orange , 还款中 blue , 未还款 green -->
<div v-for="(item,index) in lists" :key="index" :class="{'plan-list':true,'or':statu==='orange','bl':statu==='blue','gr':statu==='green'}">
<div :class="{'period':true,'orange':statu==='orange','blue':statu==='blue','green':statu==='green'}">{{ index + 1 }}</div>
<img v-if="statu === 'black'" src="@/assets/contractInquire/black.png" alt="" class="left">
<img v-if="statu === 'orange'" src="@/assets/contractInquire/orange.png" alt="" class="left">
<img v-if="statu === 'blue'" src="@/assets/contractInquire/blue.png" alt="" class="left">
<img v-if="statu === 'green'" src="@/assets/contractInquire/green.png" alt="" class="left">
<div class="time">
<p>{{ item.due_date.substr(0,4) }}</p>
<span>{{ dateConverse(item.due_date).substr(5,10) }}</span>
</div>
<div class="name">
<p>现金流项目</p>
<p>应还金额</p>
</div>
<div class="number">
<p>租金</p>
<span :class="{'orang':statu==='orange','blu':statu==='blue','gree':statu==='green'}">{{ item.rental * product_num |currency }}</span>
</div>
<img v-if="statu === 'black'" src="@/assets/contractInquire/done.png" alt="" class="status">
<img v-if="statu === 'orange'" src="@/assets/contractInquire/prompt.png" alt="" class="status">
</div>
</scroll>
</h-content>
</h-view>
</template>
<script>
export default {
name: 'RepayPlan',
components: {
},
data () {
return {
// 已结清 black , 逾期 orange , 还款中 blue , 未还款 green
statu: 'orange',
info: {},
lists: [], // 每期还款数据
show: false,
height: 0,
oldHeight: 0,
newHeight: 0,
product_num: '', // 产品数量
}
},
computed: {},
watch: {},
beforeRouteEnter (to, from, next) {
next(vm => {
if (from.name === 'ContractDetail') {
vm.product_num = vm.$route.params.product_num
vm.getInfo()
}
})
next()
},
methods: {
dateConverse (date) {
return date.replace(/\//g, '-')
},
arrSort (property) {
return function (a, b) {
var value1 = a[property]
var value2 = b[property]
return value1 - value2
}
},
showDetails () {
if (!this.flag) {
this.flag = true
this.height = document.getElementsByClassName('total')[0].clientHeight
this.oldHeight = document.getElementById('content').clientHeight
this.newHeight = this.height + this.oldHeight
}
if (!this.show) {
this.show = !this.show
document.getElementById('content').style.height = this.newHeight + 'px'
document.getElementsByClassName('center')[0].style.transition = 'all .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s'
document.getElementsByClassName('center')[0].style.transform = 'translate(0px, -' + this.height + 'px) scale(1) translateZ(0px)'
document.getElementById('content').style.transition = 'all .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s'
document.getElementById('content').style.transform = 'translate(0px, -' + this.height + 'px) scale(1) translateZ(0px)'
} else {
this.show = !this.show
document.getElementById('content').style.height = this.oldHeight + 'px'
document.getElementsByClassName('center')[0].style.transition = 'all .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s'
document.getElementsByClassName('center')[0].style.transform = 'translate(0px, -' + 0 + 'px) scale(1) translateZ(0px)'
document.getElementById('content').style.transition = 'all .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s'
document.getElementById('content').style.transform = 'translate(0px, -' + 0 + 'px) scale(1) translateZ(0px)'
}
},
getInfo () {
let vm = this
let url = process.env.basePath + 'prj_cashflow_query'
let param = {
project_id: vm.$route.params.project_id,
}
vm.hlsPopup.showLoading('数据加载中')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.lists = res.lists.sort(vm.arrSort('times')) // 根据还款期排序
Object.assign(vm.info, res.info)
}
})
},
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)
}
})
},
},
}
</script>
<style lang='less' >
#repay-plan {
.h-header {
background-color: #1D3FFF;
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.61px;
line-height: 24px;
}
}
}
.total {
position: relative;
background-color: #1D3FFF;
height: 138px;
color: #fff;
background-image: url(../../assets/contractInquire/background.png);
background-size: cover;
.sum {
padding: 0 20px;
div {
font-family: PingFangSC-Semibold;
font-size: 14px;
padding-top: 12px;
padding-bottom: 10px;
}
p {
font-family: Verdana-BoldItalic;
font-size: 20px;
font-weight: 700;
font-style: italic;
margin-left: -4px;
}
img {
width: 75px;
position: absolute;
right: 20px;
top: 25px;
}
h3 {
position: absolute;
font-weight: 700;
margin: 0;
right: 42px;
top: 32px;
color: #1D3FFF;
font-family: PingFangSC-Semibold;
font-size: 14px;
span {
font-style: italic;
margin-right: 5px;
}
}
}
.single {
display: flex;
margin-top: 28px;
div {
flex: auto;
text-align: center;
h4 {
opacity: 0.8;
margin: 0;
font-family: PingFangSC-Regular;
font-size: 12px;
color: #FFFFFF;
margin-bottom: 8px;
}
p {
font-family: Verdana;
font-size: 14px;
color: #FFFFFF;
font-weight: 700;
}
}
}
}
.plan-name {
position: relative;
background-color: #1D3FFF;
margin-top: -2px;
img {
position: absolute;
right: 30px;
top: 12px;
height: 20px;
transition: 0s;
}
.rotate {
transform: rotate(180deg);
}
.header {
position: relative;
height: 48px;
line-height: 48px;
background-color: #fff;
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #21254C;
font-weight: 700;
text-indent: 2em;
border-radius: 24px 0 0 0 ;
&:before {
content: "";
position: absolute;
top: 16px;
left: 15px;
width: 4px;
height: 16px;
background: #1D3FFF;
}
}
}
.plan-content {
background-color: #fff;
padding: 0px 11px;
.plan-list {
position:relative;
background-color: #f7f7f7;
height: 78px;
display: flex;
padding-right: 20px;
padding-left: 10px;
padding-top: 20px;
margin-bottom: 10px;
.left {
height: 30px;
position: absolute;
left: -8px;
top: 24px;
}
.status {
position: absolute;
width:18px;
right: -3px;
top: -5px;
}
.period {
position: absolute;
top: 0;
left: 0;
background: rgba(75,74,75,.5);
border-radius: 4px 0 4px 0;
// width: 30px;
padding: 1px 2px;
height: 20px;
color: #fff;
font-family: PingFangSC-Semibold;
font-size: 12px;
letter-spacing: 1.09px;
line-height: 20px;
text-align: center;
}
.orange {
background: rgba(253, 182, 47,.5);
}
.blue {
background-color: rgba(29, 63, 255,.5);
}
.green {
background-color: rgba(27, 162, 97,.5);
}
.time {
flex: 5;
p {
font-family: DIN-Regular;
font-size: 12px;
color: rgba(56,63,69,0.60);
margin-bottom: 4px;
margin-top: 8px;
}
span {
font-family: DIN-Bold;
font-weight: 700;
font-size: 14px;
color: #21254C;
}
}
.name {
flex: 9;
opacity: 0.6;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #4B4A4B;
p {
margin-bottom: 17px;
}
}
.number {
flex: 9;
text-align: right;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #4B4A4B;
p {
margin-bottom: 17px;
}
span.orang {
color: rgb(253, 182, 47);
font-weight: 700;
font-family: PingFangSC-Semibold;
}
span.blu {
color: #1D3FFF;
font-weight: 700;
font-family: PingFangSC-Semibold;
}
span.gree {
color: #1BA261;
}
}
}
.or {
background-color:rgba(253, 182, 47,.05);
}
.bl,.gr {
background: #FFFFFF;
box-shadow: 0 1px 5px 0 rgba(219,219,219,0.69);
}
}
}
</style>
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2019-09-29 10:02:11 * @Date: 2019-09-29 10:02:11
* @LastEditTime: 2019-11-03 17:35:19 * @LastEditTime: 2019-11-05 16:14:44
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
--> -->
...@@ -25,53 +25,51 @@ ...@@ -25,53 +25,51 @@
</div> </div>
<h-content v-if="num === 1"> <h-content v-if="num === 1">
<div v-for="(item,index) in submitLists" :key="index" class="contract-list"> <scroll
<div class="item"> ref="scrollList"
<img src="@/assets/constractSigning/Incoming.png" alt="" style="height:18px"> >
<p class="incoming-num">进件号</p> <div class="wrap">
<p class="code">{{ item.project_number }}</p> <div v-for="(item,index) in submitLists" :key="index" class="contract-lists" >
<div class="pro-code" @click="goDetails(item)">
<img src="@/assets/distributorSign/fileIcon.png" alt="" class="file-icon">
<p>
<span>进件号</span>
<span>{{ item.project_number }}</span>
</p>
<img src="@/assets/distributorSign/goDetails.png" alt="" class="arrow">
</div> </div>
<div class="details" @click="goDetails(item)"> <div class="box">
<div class="option"> <div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<p class="name">承租人</p> <div><p>合同租金</p><p class="money">{{ item.total_price|currency }}</p></div>
<p class="full-name normal">{{ item.bp_name }}</p> <div><p>申请时间</p><p>{{ dateConverse(item.confirm_start_date) }}</p></div>
</div>
<div class="option">
<p class="name">合同租金</p>
<p class="normal money">{{ item.total_price | currency }}</p>
<img src="@/assets/distributorSign/goDetails.png" alt="">
</div>
<div class="option">
<p class="name">申请时间</p>
<p class="normal">{{ item.confirm_start_date }}</p>
</div> </div>
</div> </div>
</div> </div>
</scroll>
</h-content> </h-content>
<h-content v-if="num === 2"> <h-content v-if="num === 2">
<div v-for="(item,index) in approvedLists" :key="index" class="contract-list"> <scroll
<div class="item"> ref="scrollList"
<img src="@/assets/constractSigning/Incoming.png" alt="" style="height:18px"> >
<p class="incoming-num">进件号</p> <div class="wrap">
<p class="code">{{ item.project_number }}</p> <div v-for="(item,index) in approvedLists" :key="index" class="contract-lists" >
</div> <div class="pro-code" @click="goDetails(item)">
<div class="details" @click="goDetails(item)"> <img src="@/assets/distributorSign/fileIcon.png" alt="" class="file-icon">
<div class="option"> <p>
<p class="name">承租人</p> <span>进件号</span>
<p class="full-name normal">{{ item.bp_name }}</p> <span>{{ item.project_number }}</span>
</div> </p>
<div class="option"> <img src="@/assets/distributorSign/goDetails.png" alt="" class="arrow">
<p class="name">合同金额</p>
<p class="normal money">{{ item.total_price | currency }}</p>
<img src="@/assets/distributorSign/goDetails.png" alt="">
</div> </div>
<div class="option"> <div class="box">
<p class="name">申请时间</p> <div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<p class="normal">{{ item.confirm_start_date }}</p> <div><p>合同租金</p><p class="money">{{ item.total_price|currency }}</p></div>
<div><p>申请时间</p><p>{{ dateConverse(item.confirm_start_date) }}</p></div>
</div> </div>
</div> </div>
</div> </div>
</scroll>
</h-content> </h-content>
</h-view> </h-view>
</template> </template>
...@@ -109,6 +107,9 @@ export default { ...@@ -109,6 +107,9 @@ export default {
// next() // next()
}, },
methods: { methods: {
dateConverse (date) {
return date.replace(/\//g, '-')
},
// 合同查询 // 合同查询
contractList () { contractList () {
let vm = this let vm = this
...@@ -142,22 +143,6 @@ export default { ...@@ -142,22 +143,6 @@ export default {
<style lang="less" type="text/less"> <style lang="less" type="text/less">
.contract-signing{ .contract-signing{
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.61px;
line-height: 24px;
}
}
.tab-style{ .tab-style{
display:flex; display:flex;
...@@ -236,98 +221,80 @@ export default { ...@@ -236,98 +221,80 @@ export default {
} }
} }
} }
.content{ .wrap {
padding-bottom: 14px; width: 100%;
} padding: 0 8px;
.contract-list { .contract-lists {
width: 100%; width: 100%;
height: 120px;
// border: 1px solid #ccc;
background: #fff; background: #fff;
//margin-bottom: 8px; margin-bottom: 8px;
.item { .pro-code {
height: 44px;
width: 100%; width: 100%;
height: 34px;
background: rgba(00, 70, 156, 0.1);
display: flex; display: flex;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
img { .file-icon {
margin-left: 16.6px; width: 30px;
height: 30px;
margin-left: 10px;
} }
p {
.incoming-num { height: 44px;
line-height: 44px;
margin-left: 10px;
flex: 1;
font-family: PingFangSC-Semibold; font-family: PingFangSC-Semibold;
// width: 42px; font-size: 15px;
height: 20px; color: #4B4A4B;
font-weight: bolder;
line-height: 20px;
font-size: 14px;
color: #00469C;
letter-spacing: 0; letter-spacing: 0;
margin-left: 8.8px; border-bottom: 1px solid #F3F3F7
} }
.arrow {
.code { height: 16px;
font-family: PingFangSC-Semibold; width: 16px;
font-size: 14px; margin-right: 10px;
color: #00469C; margin-left: -8px;
margin-left: 8px;
font-weight: bolder
} }
} }
.box {
.details { height: 96px;
margin-left: 50px;
margin-right: 19px;
div {
width: 100%; width: 100%;
height: 86px; height: 32px;
display: flex; position: relative;
flex-direction: column; .money {
justify-content: space-around; font-family: Verdana-Bold;
padding: 6px 0; font-size: 14px;
color: #4B4A4B;
.option { letter-spacing: 0;
width: 100%; font-weight: 600;
height: 18px;
display: flex;
flex-direction: row;
.name {
font-family: PingFangSC-Regular;
font-size: 13px;
color: rgba(56, 63, 69, 0.60);
width: 80px;
height: 18px;
line-height: 18px;
text-align: right
} }
p {
.normal { height: 32px;
line-height: 32px;
position: absolute;
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 13px; font-size: 14px;
color: #383F45; letter-spacing: 0;
height: 18px;
line-height: 18px;
margin-left: 8px;
} }
p:nth-of-type(1){
.money { left: 0;
color: #FCC800; color: rgba(75,74,75,0.60);
} }
p:nth-of-type(2){
img { right: 0;
margin-left: 47% color: #4B4A4B;
} }
} }
.option:nth-of-type(2) {
position: relative;
img{
position: absolute;
right: 10px;
} }
} }
} }
.content{
padding-bottom: 14px;
} }
} }
</style> </style>
...@@ -20,53 +20,51 @@ ...@@ -20,53 +20,51 @@
</div> </div>
</div> </div>
<h-content v-if="tabNum === 0"> <h-content v-if="tabNum === 0">
<div v-for="(item,index) in submitLists" :key="index" class="contract-list"> <scroll
<div class="item"> ref="scrollList"
<img src="@/assets/distributorSign/icon-进件合同.png" alt=""> >
<p class="incoming-num">进件号</p> <div class="wrap">
<p class="code">{{ item.project_number }}</p> <div v-for="(item,index) in submitLists" :key="index" class="contract-lists" >
<div class="pro-code" @click="goDetails(item)">
<img src="@/assets/distributorSign/fileIcon.png" alt="" class="file-icon">
<p>
<span>进件号</span>
<span>{{ item.project_number }}</span>
</p>
<img src="@/assets/distributorSign/goDetails.png" alt="" class="arrow">
</div> </div>
<div class="details" @click="goDetails(item)"> <div class="box">
<div class="option"> <div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<p class="name">承租人</p> <div><p>合同租金</p><p class="money">{{ item.total_price|currency }}</p></div>
<p class="full-name normal">{{ item.bp_name }}</p> <div><p>申请时间</p><p>{{ dateConverse(item.confirm_start_date) }}</p></div>
</div>
<div class="option">
<p class="name">合同金额</p>
<p class="normal money">{{ item.total_price|currency }}</p>
<img src="@/assets/distributorSign/goDetails.png" alt="">
</div>
<div class="option">
<p class="name">申请时间</p>
<p class="normal">{{ dateConverse(item.confirm_start_date) }}</p>
</div> </div>
</div> </div>
</div> </div>
</scroll>
</h-content> </h-content>
<h-content v-if="tabNum === 1"> <h-content v-if="tabNum === 1">
<div v-for="(item,index) in approvedLists" :key="index" class="contract-list"> <scroll
<div class="item"> ref="scrollList"
<img src="@/assets/distributorSign/icon-进件合同.png" alt=""> >
<p class="incoming-num">进件号</p> <div class="wrap">
<p class="code">{{ item.project_number }}</p> <div v-for="(item,index) in approvedLists" :key="index" class="contract-lists" >
</div> <div class="pro-code" @click="goDetails(item)">
<div class="details" @click="goDetails(item)"> <img src="@/assets/distributorSign/fileIcon.png" alt="" class="file-icon">
<div class="option"> <p>
<p class="name">承租人</p> <span>进件号</span>
<p class="full-name normal">{{ item.bp_name }}</p> <span>{{ item.project_number }}</span>
</p>
<img src="@/assets/distributorSign/goDetails.png" alt="" class="arrow">
</div> </div>
<div class="option"> <div class="box">
<p class="name">合同金额</p> <div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<p class="normal money">{{ parseFloat(item.total_price).toFixed(2)|currency }}</p> <div><p>合同租金</p><p class="money">{{ item.total_price|currency }}</p></div>
<img src="@/assets/distributorSign/goDetails.png" alt=""> <div><p>申请时间</p><p>{{ dateConverse(item.confirm_start_date) }}</p></div>
</div>
<div class="option">
<p class="name">申请时间</p>
<p class="normal">{{ dateConverse(item.confirm_start_date) }}</p>
</div> </div>
</div> </div>
</div> </div>
</scroll>
</h-content> </h-content>
</h-view> </h-view>
...@@ -127,19 +125,76 @@ export default { ...@@ -127,19 +125,76 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
#sign { #sign {
.h-header-btn { .wrap {
img { width: 100%;
width: 16px; padding: 0 8px;
height: 16px; .contract-lists {
margin-left: 4px; width: 100%;
} background: #fff;
margin-bottom: 8px;
.pro-code {
height: 44px;
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
span { .file-icon {
width: 30px;
height: 30px;
margin-left: 10px;
}
p {
height: 44px;
line-height: 44px;
margin-left: 10px;
flex: 1;
font-family: PingFangSC-Semibold; font-family: PingFangSC-Semibold;
margin-left: 16px; font-size: 15px;
font-size: 17px; color: #4B4A4B;
letter-spacing: 0.61px; letter-spacing: 0;
line-height: 24px; border-bottom: 1px solid #F3F3F7
}
.arrow {
height: 16px;
width: 16px;
margin-right: 10px;
margin-left: -8px;
}
}
.box {
height: 96px;
margin-left: 50px;
margin-right: 19px;
div {
width: 100%;
height: 32px;
position: relative;
.money {
font-family: Verdana-Bold;
font-size: 14px;
color: #4B4A4B;
letter-spacing: 0;
font-weight: 600;
}
p {
height: 32px;
line-height: 32px;
position: absolute;
font-family: PingFangSC-Regular;
font-size: 14px;
letter-spacing: 0;
}
p:nth-of-type(1){
left: 0;
color: rgba(75,74,75,0.60);
}
p:nth-of-type(2){
right: 0;
color: #4B4A4B;
}
}
}
} }
} }
...@@ -180,100 +235,6 @@ export default { ...@@ -180,100 +235,6 @@ export default {
} }
} }
.content {
padding-bottom: 14px;
}
.contract-list {
width: 100%;
height: 120px;
// border: 1px solid #ccc;
background: #fff;
//margin-bottom: 8px;
.item {
width: 100%;
height: 34px;
background: rgba(00, 70, 156, 0.1);
display: flex;
flex-direction: row;
align-items: center;
img {
margin-left: 16.6px;
}
.incoming-num {
font-family: PingFangSC-Semibold;
// width: 42px;
height: 20px;
font-weight: bolder;
line-height: 20px;
font-size: 14px;
color: #00469C;
letter-spacing: 0;
margin-left: 8.8px;
}
.code {
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #00469C;
margin-left: 8px;
font-weight: bolder
}
}
.details {
width: 100%;
height: 86px;
display: flex;
flex-direction: column;
justify-content: space-around;
padding: 6px 0;
.option {
width: 100%;
height: 18px;
display: flex;
flex-direction: row;
.name {
font-family: PingFangSC-Regular;
font-size: 13px;
color: rgba(56, 63, 69, 0.60);
width: 80px;
height: 18px;
line-height: 18px;
text-align: right
}
.normal {
font-family: PingFangSC-Regular;
font-size: 13px;
color: #383F45;
height: 18px;
line-height: 18px;
margin-left: 8px;
}
.money {
color: #FCC800;
}
img {
margin-left: 47%
}
}
.option:nth-of-type(2) {
position: relative;
img{
position: absolute;
right: 10px;
}
}
}
}
} }
</style> </style>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Descrip""/>User Settings Edit * @Descrip""/>User Settings Edit
* @Author: your name * @Author: your name
* @Date: 2019-09-29 20:31:00 * @Date: 2019-09-29 20:31:00
* @LastEditTime: 2019-11-01 12:27:20 * @LastEditTime: 2019-11-05 15:35:42
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
--> -->
<template> <template>
...@@ -23,6 +23,11 @@ ...@@ -23,6 +23,11 @@
<div slot="name" class="font-color">设备总价</div> <div slot="name" class="font-color">设备总价</div>
<input slot="content" v-model="equip_price" placeholder="请输入设备总价"> <input slot="content" v-model="equip_price" placeholder="请输入设备总价">
</item> </item>
<item>
<div slot="name" class="font-color">融资金额</div>
<span v-if="!equip_price" slot="content" class="autoColor">融资金额自动填充</span>
<span v-if="equip_price" slot="content">{{ equip_price - equip_price*info.down_payment_ratio_n.replace("%","")/100 | currency }}</span>
</item>
<item> <item>
<div slot="name" class="font-color">首付款比例</div> <div slot="name" class="font-color">首付款比例</div>
<input slot="content" v-model="info.down_payment_ratio_n" placeholder="30%"> <input slot="content" v-model="info.down_payment_ratio_n" placeholder="30%">
...@@ -48,7 +53,20 @@ ...@@ -48,7 +53,20 @@
<item> <item>
<div slot="name" class="font-color">手续费</div> <div slot="name" class="font-color">手续费</div>
<span v-if="!equip_price" slot="content" class="autoColor">手续费金额自动填充</span> <span v-if="!equip_price" slot="content" class="autoColor">手续费金额自动填充</span>
<span v-if="equip_price" slot="content">{{ equip_price*info.lease_charge_ratio_n.replace("%","")/100 | currency }}</span> <span v-if="equip_price" slot="content">{{ (equip_price - equip_price*info.down_payment_ratio_n.replace("%","")/100)*(info.lease_charge_ratio_n.replace("%","")/100) | currency }}</span>
</item>
<item>
<div slot="name" class="font-color">保险押金</div>
<input slot="content" v-model="insurance_fee" placeholder="请输入保险押金">
</item>
<item>
<div slot="name" class="font-color">GPS费用</div>
<input slot="content" v-model="gps_fee" placeholder="请输入GPS费用">
</item>
<item>
<div slot="name" class="font-color">首次付款合计</div>
<span v-if="!equip_price" slot="content" class="autoColor">首次付款合计金额自动填充</span>
<span v-if="equip_price" slot="content">{{ equip_price*info.down_payment_ratio_n.replace("%","")/100 + equip_price*info.deposit_ratio_n.replace("%","")/100 + (equip_price - equip_price*info.down_payment_ratio_n.replace("%","")/100)*(info.lease_charge_ratio_n.replace("%","")/100) | currency }}</span>
</item> </item>
<item> <item>
<div slot="name" class="font-color">预计付款日</div> <div slot="name" class="font-color">预计付款日</div>
...@@ -68,6 +86,10 @@ ...@@ -68,6 +86,10 @@
<div slot="name" class="font-color">年利率</div> <div slot="name" class="font-color">年利率</div>
<input slot="content" v-model="info.int_rate_n" placeholder="6.5%" > <input slot="content" v-model="info.int_rate_n" placeholder="6.5%" >
</item> </item>
<!-- <item>
<div slot="name" class="font-color">产品数量</div>
<input slot="content" v-model="product_num" placeholder="请输入产品数量" >
</item> -->
<item :showArrow="true" @click.native="goRepay"> <item :showArrow="true" @click.native="goRepay">
<div slot="name" class="font-color">查看还款计划</div> <div slot="name" class="font-color">查看还款计划</div>
</item> </item>
...@@ -97,9 +119,12 @@ export default { ...@@ -97,9 +119,12 @@ export default {
return { return {
info: {}, info: {},
dates: '', dates: '',
gps_fee: '', // gps费用
insurance_fee: '', // 保险押金
quotation_id: '', // 试算成功返回id quotation_id: '', // 试算成功返回id
trial_flag: false, // 检测是否通过试算 trial_flag: false, // 检测是否通过试算
equip_price: '', equip_price: null,
product_num: '',
price_date_to: '', price_date_to: '',
product_plan_id: '', product_plan_id: '',
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Descrip: 产品明细 * @Descrip: 产品明细
* @Author: your name * @Author: your name
* @Date: 2019-10-15 14:30:00 * @Date: 2019-10-15 14:30:00
* @LastEditTime: 2019-11-04 19:00:24 * @LastEditTime: 2019-11-04 19:12:44
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
--> -->
<template> <template>
...@@ -112,6 +112,7 @@ export default { ...@@ -112,6 +112,7 @@ export default {
if (from.name === 'ProductList' || from.name === 'MyProductList') { if (from.name === 'ProductList' || from.name === 'MyProductList') {
next(vm => { next(vm => {
vm.tabNum = 0 vm.tabNum = 0
vm.slide = false
vm.product_id = vm.$route.params.product_id vm.product_id = vm.$route.params.product_id
vm.bp_id = vm.$route.params.bp_id vm.bp_id = vm.$route.params.bp_id
vm.baseMsg() vm.baseMsg()
...@@ -136,10 +137,10 @@ export default { ...@@ -136,10 +137,10 @@ export default {
methods: methods:
{ {
returnGo () { returnGo () {
// this.$router.replace({ this.$router.replace({
// name: 'ProductList', name: 'ProductList',
// }) })
this.$router.go(-1) // this.$router.go(-1)
}, },
vueTouch: function (s, e) { vueTouch: function (s, e) {
console.log(s, e) console.log(s, e)
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<h-view id="prolist" class="public-style" title="产品查询"> <h-view id="prolist" class="public-style" title="产品查询">
<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"> <div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()"> <img src="@/assets/userBind/arrow.png" @click="returnGo()">
<span>产品信息</span> <span>产品信息</span>
</div> </div>
</h-header> </h-header>
...@@ -62,6 +62,12 @@ export default { ...@@ -62,6 +62,12 @@ export default {
}, },
methods: methods:
{ {
returnGo () {
this.$router.replace({
name: 'QueryHome',
})
// this.$router.go(-1)
},
// 根据产品线查询列表 // 根据产品线查询列表
proQuery () { proQuery () {
let vm = this let vm = this
......
...@@ -2,14 +2,14 @@ ...@@ -2,14 +2,14 @@
* @Descrip: 查询首页 * @Descrip: 查询首页
* @Author: your name * @Author: your name
* @Date: 2019-10-15 14:30:00 * @Date: 2019-10-15 14:30:00
* @LastEditTime: 2019-11-04 11:15:13 * @LastEditTime: 2019-11-04 19:08:13
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
--> -->
<template> <template>
<h-view id="query" class="public-style" title="产品查询"> <h-view id="query" class="public-style" title="产品查询">
<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"> <div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()"> <img src="@/assets/userBind/arrow.png" @click="returnGo()">
<span>产品信息</span> <span>产品信息</span>
</div> </div>
</h-header> </h-header>
...@@ -74,6 +74,12 @@ export default { ...@@ -74,6 +74,12 @@ export default {
}, },
methods: methods:
{ {
returnGo () {
this.$router.replace({
name: 'HomePage',
})
// this.$router.go(-1)
},
// 产品查询 // 产品查询
proQuery () { proQuery () {
let vm = this let vm = this
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @Author: your name * @Author: your name
* @Date: 2019-09-24 12:34:06 * @Date: 2019-09-24 12:34:06
* @LastEditTime: 2019-10-30 11:24:48 * @LastEditTime: 2019-11-05 11:19:33
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
*/ */
import Vue from 'vue' import Vue from 'vue'
...@@ -49,6 +49,7 @@ import ContractSigning from '../pages/contractSigning/contract-signing' ...@@ -49,6 +49,7 @@ import ContractSigning from '../pages/contractSigning/contract-signing'
import ContractDetail from '@/pages/ContractSigning/contract-detail' import ContractDetail from '@/pages/ContractSigning/contract-detail'
import ContractContent from '@/pages/ContractSigning/contract-content' import ContractContent from '@/pages/ContractSigning/contract-content'
import EntryInfo from '@/pages/ContractSigning/entry-info' import EntryInfo from '@/pages/ContractSigning/entry-info'
import ContractRepayPlan from '@/pages/ContractSigning/contract-repay-plan'
// 首付款支付 // 首付款支付
import FirstPay from '../pages/pay/firstPay/first-pay' import FirstPay from '../pages/pay/firstPay/first-pay'
import PayEntry from '@/pages/pay/firstPay/pay-entry' import PayEntry from '@/pages/pay/firstPay/pay-entry'
...@@ -195,6 +196,7 @@ export default new Router({ ...@@ -195,6 +196,7 @@ export default new Router({
{path: '/contract-detail', component: ContractDetail, name: 'ContractDetail', meta: {keepAlive: true}}, {path: '/contract-detail', component: ContractDetail, name: 'ContractDetail', meta: {keepAlive: true}},
{path: '/contract-content', component: ContractContent, name: 'ContractContent', meta: {keepAlive: true}}, {path: '/contract-content', component: ContractContent, name: 'ContractContent', meta: {keepAlive: true}},
{path: '/entry-info', component: EntryInfo, name: 'EntryInfo', meta: {keepAlive: true}}, {path: '/entry-info', component: EntryInfo, name: 'EntryInfo', meta: {keepAlive: true}},
{path: '/contract-repay-plan', component: ContractRepayPlan, name: 'ContractRepayPlan', meta: {keepAlive: true}},
// 首付款支付 // 首付款支付
{path: '/first-pay', component: FirstPay, name: 'FirstPay', meta: {keepAlive: true}}, {path: '/first-pay', component: FirstPay, name: 'FirstPay', meta: {keepAlive: true}},
{path: '/pay-entry', component: PayEntry, name: 'PayEntry', meta: {keepAlive: true}}, {path: '/pay-entry', component: PayEntry, name: 'PayEntry', meta: {keepAlive: true}},
......
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