Commit 68461fe7 authored by 786817560's avatar 786817560

'代码提交'

parent 0dfde824
<!--
* @Author: your name
* @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
* @Description: In User Settings Edit
-->
......@@ -22,6 +22,26 @@
<span>合同详情</span>
</div>
</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="{'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>
......@@ -244,7 +264,7 @@
</div>
</div> -->
</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>
......@@ -279,20 +299,30 @@ export default {
baseInfo: {}, // 基本信息
project_id: '',
bank_flag: false,
isConfirm: false, // 征信授权书状态
confirm_id: '',
conditionInfo: {},
check1: Check1,
ischecked: false,
check2: Check2,
check3: Check3,
uncheck1: unCheck1,
uncheck2: unCheck2,
uncheck3: unCheck3,
confirm_status: '',
con_confirm_status: this.$route.params.item.con_confirm_status,
entry_info_flag: false,
}
},
computed: {},
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 () {
if (this.bp_class === 'NP') {
this.bp_flag = false
......@@ -306,10 +336,13 @@ export default {
next(vm => {
if (from.name === 'ContractSigning') {
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.project_id = vm.$route.params.item.project_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') {
vm.bp_flag = false
} else {
......@@ -328,7 +361,29 @@ export default {
activated () {
// this.bankCardQuery()
},
mounted () {
if (this.con_confirm_status !== 'APPROVED') {
this.popProtocol()
}
},
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 () {
let vm = this
......@@ -403,10 +458,10 @@ export default {
// 还款计划
repayPlan () {
this.$router.push({
name: 'FinancDetails',
name: 'ContractRepayPlan',
params: {
project_id: this.project_id,
product_num: this.conditionInfo.product_num,
product_num: this.info.product_num,
},
})
},
......@@ -439,7 +494,7 @@ export default {
let param = {
master: {
confirm_id: vm.confirm_id,
confirm_status: 'APPROVED',
con_confirm_status: 'APPROVED',
},
}
vm.hlsHttp.post(url, param).then(function (res) {
......@@ -541,7 +596,7 @@ export default {
}
.alert {
//height: 100px;
padding-bottom: 10px;
padding-bottom: 84px;
width: 100%;
//margin-top: -10px;
background: #FbF2d2;
......@@ -1013,5 +1068,79 @@ export default {
height: 40px;
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>
<!--
* @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
* @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
* @Description: In User Settings Edit
-->
......@@ -25,53 +25,51 @@
</div>
<h-content v-if="num === 1">
<div v-for="(item,index) in submitLists" :key="index" class="contract-list">
<div class="item">
<img src="@/assets/constractSigning/Incoming.png" alt="" style="height:18px">
<p class="incoming-num">进件号</p>
<p class="code">{{ item.project_number }}</p>
<scroll
ref="scrollList"
>
<div class="wrap">
<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 class="details" @click="goDetails(item)">
<div class="option">
<p class="name">承租人</p>
<p class="full-name normal">{{ item.bp_name }}</p>
</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 class="box">
<div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<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>
</scroll>
</h-content>
<h-content v-if="num === 2">
<div v-for="(item,index) in approvedLists" :key="index" class="contract-list">
<div class="item">
<img src="@/assets/constractSigning/Incoming.png" alt="" style="height:18px">
<p class="incoming-num">进件号</p>
<p class="code">{{ item.project_number }}</p>
</div>
<div class="details" @click="goDetails(item)">
<div class="option">
<p class="name">承租人</p>
<p class="full-name normal">{{ item.bp_name }}</p>
</div>
<div class="option">
<p class="name">合同金额</p>
<p class="normal money">{{ item.total_price | currency }}</p>
<img src="@/assets/distributorSign/goDetails.png" alt="">
<scroll
ref="scrollList"
>
<div class="wrap">
<div v-for="(item,index) in approvedLists" :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 class="option">
<p class="name">申请时间</p>
<p class="normal">{{ item.confirm_start_date }}</p>
<div class="box">
<div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<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>
</scroll>
</h-content>
</h-view>
</template>
......@@ -109,6 +107,9 @@ export default {
// next()
},
methods: {
dateConverse (date) {
return date.replace(/\//g, '-')
},
// 合同查询
contractList () {
let vm = this
......@@ -142,22 +143,6 @@ export default {
<style lang="less" type="text/less">
.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{
display:flex;
......@@ -236,98 +221,80 @@ export default {
}
}
}
.content{
padding-bottom: 14px;
}
.contract-list {
.wrap {
width: 100%;
padding: 0 8px;
.contract-lists {
width: 100%;
height: 120px;
// border: 1px solid #ccc;
background: #fff;
//margin-bottom: 8px;
.item {
margin-bottom: 8px;
.pro-code {
height: 44px;
width: 100%;
height: 34px;
background: rgba(00, 70, 156, 0.1);
display: flex;
flex-direction: row;
align-items: center;
img {
margin-left: 16.6px;
.file-icon {
width: 30px;
height: 30px;
margin-left: 10px;
}
.incoming-num {
p {
height: 44px;
line-height: 44px;
margin-left: 10px;
flex: 1;
font-family: PingFangSC-Semibold;
// width: 42px;
height: 20px;
font-weight: bolder;
line-height: 20px;
font-size: 14px;
color: #00469C;
font-size: 15px;
color: #4B4A4B;
letter-spacing: 0;
margin-left: 8.8px;
border-bottom: 1px solid #F3F3F7
}
.code {
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #00469C;
margin-left: 8px;
font-weight: bolder
.arrow {
height: 16px;
width: 16px;
margin-right: 10px;
margin-left: -8px;
}
}
.details {
.box {
height: 96px;
margin-left: 50px;
margin-right: 19px;
div {
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
height: 32px;
position: relative;
.money {
font-family: Verdana-Bold;
font-size: 14px;
color: #4B4A4B;
letter-spacing: 0;
font-weight: 600;
}
.normal {
p {
height: 32px;
line-height: 32px;
position: absolute;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #383F45;
height: 18px;
line-height: 18px;
margin-left: 8px;
font-size: 14px;
letter-spacing: 0;
}
.money {
color: #FCC800;
p:nth-of-type(1){
left: 0;
color: rgba(75,74,75,0.60);
}
img {
margin-left: 47%
p:nth-of-type(2){
right: 0;
color: #4B4A4B;
}
}
.option:nth-of-type(2) {
position: relative;
img{
position: absolute;
right: 10px;
}
}
}
.content{
padding-bottom: 14px;
}
}
</style>
......@@ -20,53 +20,51 @@
</div>
</div>
<h-content v-if="tabNum === 0">
<div v-for="(item,index) in submitLists" :key="index" class="contract-list">
<div class="item">
<img src="@/assets/distributorSign/icon-进件合同.png" alt="">
<p class="incoming-num">进件号</p>
<p class="code">{{ item.project_number }}</p>
<scroll
ref="scrollList"
>
<div class="wrap">
<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 class="details" @click="goDetails(item)">
<div class="option">
<p class="name">承租人</p>
<p class="full-name normal">{{ item.bp_name }}</p>
</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 class="box">
<div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<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>
</scroll>
</h-content>
<h-content v-if="tabNum === 1">
<div v-for="(item,index) in approvedLists" :key="index" class="contract-list">
<div class="item">
<img src="@/assets/distributorSign/icon-进件合同.png" alt="">
<p class="incoming-num">进件号</p>
<p class="code">{{ item.project_number }}</p>
</div>
<div class="details" @click="goDetails(item)">
<div class="option">
<p class="name">承租人</p>
<p class="full-name normal">{{ item.bp_name }}</p>
<scroll
ref="scrollList"
>
<div class="wrap">
<div v-for="(item,index) in approvedLists" :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 class="option">
<p class="name">合同金额</p>
<p class="normal money">{{ parseFloat(item.total_price).toFixed(2)|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 class="box">
<div><p>承租人</p><p>{{ item.bp_name }}</p></div>
<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>
</scroll>
</h-content>
</h-view>
......@@ -127,19 +125,76 @@ export default {
</script>
<style lang="less" scoped>
#sign {
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
.wrap {
width: 100%;
padding: 0 8px;
.contract-lists {
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;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.61px;
line-height: 24px;
font-size: 15px;
color: #4B4A4B;
letter-spacing: 0;
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 {
}
}
.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>
......@@ -2,7 +2,7 @@
* @Descrip""/>User Settings Edit
* @Author: your name
* @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
-->
<template>
......@@ -23,6 +23,11 @@
<div slot="name" class="font-color">设备总价</div>
<input slot="content" v-model="equip_price" placeholder="请输入设备总价">
</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>
<div slot="name" class="font-color">首付款比例</div>
<input slot="content" v-model="info.down_payment_ratio_n" placeholder="30%">
......@@ -48,7 +53,20 @@
<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.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>
<div slot="name" class="font-color">预计付款日</div>
......@@ -68,6 +86,10 @@
<div slot="name" class="font-color">年利率</div>
<input slot="content" v-model="info.int_rate_n" placeholder="6.5%" >
</item>
<!-- <item>
<div slot="name" class="font-color">产品数量</div>
<input slot="content" v-model="product_num" placeholder="请输入产品数量" >
</item> -->
<item :showArrow="true" @click.native="goRepay">
<div slot="name" class="font-color">查看还款计划</div>
</item>
......@@ -97,9 +119,12 @@ export default {
return {
info: {},
dates: '',
gps_fee: '', // gps费用
insurance_fee: '', // 保险押金
quotation_id: '', // 试算成功返回id
trial_flag: false, // 检测是否通过试算
equip_price: '',
equip_price: null,
product_num: '',
price_date_to: '',
product_plan_id: '',
}
......
......@@ -2,7 +2,7 @@
* @Descrip: 产品明细
* @Author: your name
* @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
-->
<template>
......@@ -112,6 +112,7 @@ export default {
if (from.name === 'ProductList' || from.name === 'MyProductList') {
next(vm => {
vm.tabNum = 0
vm.slide = false
vm.product_id = vm.$route.params.product_id
vm.bp_id = vm.$route.params.bp_id
vm.baseMsg()
......@@ -136,10 +137,10 @@ export default {
methods:
{
returnGo () {
// this.$router.replace({
// name: 'ProductList',
// })
this.$router.go(-1)
this.$router.replace({
name: 'ProductList',
})
// this.$router.go(-1)
},
vueTouch: function (s, e) {
console.log(s, e)
......
......@@ -7,7 +7,7 @@
<h-view id="prolist" class="public-style" title="产品查询">
<h-header :proportion="[5,1,1]" class="bar-custom">
<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>
</div>
</h-header>
......@@ -62,6 +62,12 @@ export default {
},
methods:
{
returnGo () {
this.$router.replace({
name: 'QueryHome',
})
// this.$router.go(-1)
},
// 根据产品线查询列表
proQuery () {
let vm = this
......
......@@ -2,14 +2,14 @@
* @Descrip: 查询首页
* @Author: your name
* @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
-->
<template>
<h-view id="query" class="public-style" title="产品查询">
<h-header :proportion="[5,1,1]" class="bar-custom">
<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>
</div>
</h-header>
......@@ -74,6 +74,12 @@ export default {
},
methods:
{
returnGo () {
this.$router.replace({
name: 'HomePage',
})
// this.$router.go(-1)
},
// 产品查询
proQuery () {
let vm = this
......
......@@ -2,7 +2,7 @@
* @Description: In User Settings Edit
* @Author: your name
* @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
*/
import Vue from 'vue'
......@@ -49,6 +49,7 @@ import ContractSigning from '../pages/contractSigning/contract-signing'
import ContractDetail from '@/pages/ContractSigning/contract-detail'
import ContractContent from '@/pages/ContractSigning/contract-content'
import EntryInfo from '@/pages/ContractSigning/entry-info'
import ContractRepayPlan from '@/pages/ContractSigning/contract-repay-plan'
// 首付款支付
import FirstPay from '../pages/pay/firstPay/first-pay'
import PayEntry from '@/pages/pay/firstPay/pay-entry'
......@@ -195,6 +196,7 @@ export default new Router({
{path: '/contract-detail', component: ContractDetail, name: 'ContractDetail', meta: {keepAlive: true}},
{path: '/contract-content', component: ContractContent, name: 'ContractContent', meta: {keepAlive: true}},
{path: '/entry-info', component: EntryInfo, name: 'EntryInfo', meta: {keepAlive: true}},
{path: '/contract-repay-plan', component: ContractRepayPlan, name: 'ContractRepayPlan', meta: {keepAlive: true}},
// 首付款支付
{path: '/first-pay', component: FirstPay, name: 'FirstPay', 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