Commit acf90b99 authored by 王建文's avatar 王建文

融资方案

parents a2bb55d3 1b2c7b7a
......@@ -25,6 +25,10 @@ export default {
// type: Boolean,
// default: true,
// },
readonly: {
type: Boolean,
default: false,
},
content: {
type: String,
default: '',
......@@ -59,6 +63,7 @@ export default {
methods: {
keyboradShow () {
let vm = this
if (!vm.readonly) {
hlsPopup.showNumberKeyborad({
title: '数字键盘',
keyDown: (text) => {
......@@ -68,13 +73,14 @@ export default {
vm.onDelete()
},
})
}
},
onInput (value) {
// if (this.disable) return
if(this.value === '0' || this.value === '0.00') {
if (this.value === '0' || this.value === '0.00') {
this.newVal = ''
this.newVal += ('' + value)
}else{
} else {
this.newVal = this.value
if (this.newVal.includes('.') && value === '.') {
} else {
......
......@@ -36,16 +36,16 @@
</transition>
<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="$routeGo()">
<span>方案详情</span>
</div>
</h-header>
<div class="tab-style">
<div :class="{ 'done': num === 0, 'undone': num !== 0 }" @click="num = 0;">
<img :src="num === 0 ? check1 : uncheck1" >基本信息
<img :src="num === 0 ? check1 : uncheck1">基本信息
</div>
<div :class="{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1;">
<img :src="num === 1 ? check3 : uncheck3" >方案信息
<img :src="num === 1 ? check3 : uncheck3">方案信息
</div>
</div>
<h-content v-if="num === 0" class="business-condition">
......@@ -74,7 +74,7 @@
</item>
<item>
<div slot="name" class="font-color">注册资本</div>
<input slot="content" v-model="baseInfo.registered_capital" >
<input slot="content" v-model="baseInfo.registered_capital">
</item>
<item>
<div slot="name" class="font-color">注册地址</div>
......@@ -82,19 +82,19 @@
</item>
<item>
<div slot="name" class="font-color">经营地址</div>
<input slot="content" v-model="baseInfo.business_address" >
<input slot="content" v-model="baseInfo.business_address">
</item>
<item>
<div slot="name" class="font-color">固定电话</div>
<input slot="content" v-model="baseInfo.phone" >
<input slot="content" v-model="baseInfo.phone">
</item>
<item>
<div slot="name" class="font-color">是否授权</div>
<input slot="content" v-model="baseInfo.auth_flag" >
<h-switch slot="content" v-model="baseInfo.auth_flag"/>
</item>
<item>
<div slot="name" class="font-color">是否征信授权</div>
<input slot="content" v-model="baseInfo.auth_flag" >
<h-switch slot="content" v-model="baseInfo.credit_flag"/>
</item>
</list-item>
<div class="equipment-list">法定代表人</div>
......@@ -113,8 +113,7 @@
</item>
<item>
<div slot="name" class="font-color">联系地址</div>
<input slot="content" v-model="baseInfo.living_address" >
<textarea slot="content" v-model="baseInfo.living_address"></textarea>
</item>
</list-item>
<div class="equipment-list">
......@@ -129,9 +128,9 @@
<span class="card-num">证件号</span>
</div>
<div slot="content" class="right">
<img src="@/assets/intoApproval/introduce.png" >
<img src="@/assets/intoApproval/introduce.png">
<span :title="item.bp_name">{{ item.bp_name }}</span>
<br >
<br>
<span>{{ item.bp_class === 'NP' ? item.id_card_no : item.organization_code }}</span>
</div>
</item>
......@@ -148,22 +147,22 @@
:key="index+'info2'"
class="card-upload"
>
<img :src="item.picture" @click="showBigPicture(item.picture)" >
<img :src="item.picture" @click="showBigPicture(item.picture)">
<div class="close" @click="remove_pic(item.attachment_id,index,'mining')">
<img src="@/assets/userBind/deleteIcon.png" >
<img src="@/assets/userBind/deleteIcon.png">
</div>
</div>
<!--特批 从服务器上下载的图片-->
<div v-for="(pic, index) in dowload_list_mining" :key="index+'mining'">
<div v-if="pic.check_id==miningCheckId" :key="index+'info3'" class="card-upload">
<img :src="pic.url" @click="showBigPicture(pic.url)" >
<img :src="pic.url" @click="showBigPicture(pic.url)">
<div class="close" @click="delete_pic(pic.attachment_id,'mining')">
<img src="@/assets/userBind/deleteIcon.png" >
<img src="@/assets/userBind/deleteIcon.png">
</div>
</div>
</div>
<div class="card-upload plus" @click="ocrShow('采矿权许可证',miningCheckId,'mining')">
<img src="@/assets/userBind/camera.png" class="upload-btn" >
<img src="@/assets/userBind/camera.png" class="upload-btn">
</div>
</div>
</list-item>
......@@ -175,7 +174,7 @@
<div slot="name" class="font-color">纳税人类型</div>
<input
slot="content"
v-model="invoiceInfo.taxpayer_type_n"
v-model="baseInfo.taxpayer_type_n"
type="text"
readonly
placeholder="请选择"
......@@ -186,7 +185,7 @@
<div slot="name" class="font-color">发票类型</div>
<input
slot="content"
v-model="invoiceInfo.invoice_kind_n"
v-model="baseInfo.invoice_kind_n"
type="text"
readonly
placeholder="请选择"
......@@ -195,43 +194,43 @@
</item>
<item>
<div slot="name" class="font-color">发票抬头</div>
<input slot="content" v-model="invoiceInfo.invoice_title" type="text" placeholder="请输入发票抬头" >
<input slot="content" v-model="baseInfo.invoice_title" type="text" placeholder="请输入发票抬头">
</item>
<item>
<div slot="name" class="font-color">发票地址</div>
<textarea
slot="content" ref="myTestarea" v-model="invoiceInfo.invoice_adds" cols="22"
slot="content" ref="myTestarea" v-model="baseInfo.invoice_adds" cols="22"
rows="1"
type="text" placeholder="请输入发票地址" @input="addRows(invoiceInfo.invoice_adds)" />
type="text" placeholder="请输入发票地址" @input="addRows(baseInfo.invoice_adds)"/>
</item>
<item>
<div slot="name" class="font-color">开户电话</div>
<input slot="content" v-model="invoiceInfo.invoice_tel" type="text" placeholder="请输入开户电话" >
<input slot="content" v-model="baseInfo.invoice_tel" type="text" placeholder="请输入开户电话">
</item>
<item>
<div slot="name" class="font-color">发票开户行</div>
<textarea
slot="content"
ref="myTestareaLive"
v-model="invoiceInfo.open_bank"
v-model="baseInfo.open_bank"
cols="22"
rows="1"
type="text"
placeholder="请输入发票开户行"
@input="addRowsLive(invoiceInfo.open_bank)"
@input="addRowsLive(baseInfo.open_bank)"
/>
</item>
<item>
<div slot="name" class="font-color">开户行账号</div>
<input slot="content" v-model="invoiceInfo.open_account" type="text" placeholder="请输入开户行账号" >
<input slot="content" v-model="baseInfo.open_account" type="text" placeholder="请输入开户行账号">
</item>
<item>
<!--<item>
<div slot="name" class="font-color">纳税人识别号</div>
<input
slot="content"
v-model="invoiceInfo.organization_code" placeholder="纳税人识别号" type="text"
>
</item>
</item>-->
</list-item>
<div class="equipment-list">
基本账户信息
......@@ -303,22 +302,22 @@
:key="index+'info2'"
class="card-upload"
>
<img :src="item.picture" @click="showBigPicture(item.picture)" >
<img :src="item.picture" @click="showBigPicture(item.picture)">
<div class="close" @click="remove_pic(item.attachment_id,index,'report')">
<img src="@/assets/userBind/deleteIcon.png" >
<img src="@/assets/userBind/deleteIcon.png">
</div>
</div>
<!--特批 从服务器上下载的图片-->
<div v-for="(pic, index) in dowload_list_report" :key="index+'report'">
<div v-if="pic.check_id==reportCheckId" :key="index+'info3'" class="card-upload">
<img :src="pic.url" @click="showBigPicture(pic.url)" >
<img :src="pic.url" @click="showBigPicture(pic.url)">
<div class="close" @click="delete_pic(pic.attachment_id,'report')">
<img src="@/assets/userBind/deleteIcon.png" >
<img src="@/assets/userBind/deleteIcon.png">
</div>
</div>
</div>
<div class="card-upload plus" @click="ocrShow('财务报表',reportCheckId,'report')">
<img src="@/assets/userBind/camera.png" class="upload-btn" >
<img src="@/assets/userBind/camera.png" class="upload-btn">
</div>
</div>
</list-item>
......@@ -411,7 +410,7 @@
<!-- <p @click="repayPlan">查看还款计划</p>-->
<!-- </div>-->
<div class="equipment-list-fund">
<span />
<span/>
<p>设备清单</p>
<div style="width: 75%;text-align: right;" @click="downNum=true">新增</div>
</div>
......@@ -422,16 +421,16 @@
<!-- </item>-->
<item>
<div slot="name" class="font-color">产品名称</div>
<input slot="content" v-model="item.ref_v02" readonly >
<input slot="content" v-model="item.ref_v02" readonly>
</item>
<item>
<div slot="name" class="font-color">产品数量</div>
<input slot="content" v-model="item.quantity" readonly >
<input slot="content" v-model="item.quantity" readonly>
</item>
</list-item>
</h-content>
<bottom-tab class="add-box">
<tab-button class="next" @click.native="saveData">
<tab-button class="next" @click.native="handleSave">
<img src="@/assets/intoApproval/approve.png" >保存
</tab-button>
</bottom-tab>
......@@ -447,17 +446,17 @@ import unCheck2 from '@/assets/constractSigning/unconstract.png'
import unCheck3 from '@/assets/constractSigning/unLease.png'
import LegalPerson from '@/pages/distributorSign/legal-person'
import Personal from '@/pages/distributorSign/personal'
import PDFJS from 'pdfjs-dist'
import CurrencyInput from '@/components/currencyInput'
import RateInput from '@/components/rateInput'
// import bodyCheck from './body-check'
import axios from 'axios'
import PDFJS from 'pdfjs-dist'
export default {
name: 'ContractDetail',
components: {
Personal,
LegalPerson,
CurrencyInput,
RateInput,
// bodyCheck,
},
data () {
......@@ -481,7 +480,9 @@ export default {
attachArray: [], // 附件数组
bp_class: this.$route.params.item.bp_class, // 承租人性质(自然人,企业)
info: {}, // 租赁信息
baseInfo: {}, // 基本信息
baseInfo: {
credit_flag: true,
}, // 基本信息
project_id: '',
bank_flag: false,
isConfirm: false, // 征信授权书状态
......@@ -510,18 +511,7 @@ export default {
legalPic: '', // 法人授权书图片
abc_deduction_flag: 'N', // 代扣授权书状态
signCheckFlag: false, // 签约校验,为true已认证通过可进行签约,否则不可签约
invoiceInfo: {
invoice_kind: '',
invoice_kind_n: '',
taxpayer_type: '',
invoice_title: '',
taxpayer_type_n: '',
organization_code: '',
invoice_adds: '',
invoice_tel: '',
open_bank: '',
open_account: '',
},
bank_lists: {
bank_account_num: '', // 卡号
bank_account_name: '', // 账户姓名
......@@ -531,7 +521,7 @@ export default {
},
quotationInfo: {},
leaseList: [],
itemInfo:{},
itemInfo: {},
downNum: false,
checkId: '',
reportCheckId: '',
......@@ -711,6 +701,7 @@ export default {
if (res.result === 'S') {
// vm.lists = res.lists
vm.baseInfo = res.info
if (res.info.auth_flag) {
window.localStorage.setItem('auth_flag', res.info.auth_flag)
}
......@@ -718,25 +709,7 @@ export default {
}
})
},
invoiceQuery () {
let vm = this
let url = process.env.basePath + 'bp_invoice_query'
let param = {
bp_id: vm.bp_id,
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
console.log('invoiceInfo', res.info)
vm.invoiceInfo = res.info
vm.invoiceInfo.invoice_title = JSON.parse(window.localStorage.getItem('handleUser')).bp_name
// Object.assign(vm.invoiceInfo, res.info)
vm.addRows(vm.invoiceInfo.invoice_adds)
vm.addRowsLive(vm.invoiceInfo.open_bank)
}
})
},
addRows (e) {
if (e) {
......@@ -845,26 +818,22 @@ export default {
}
})
},
// selectBpTenant (e) {
// let vm = this
// vm.hlsPopup.selectList({
// list: vm.bpTenantList,
// code: 'bp_id',
// object: {},
// returnItem: function (index, obj) {
// debugger
selectBpTenant (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.bpTenantList,
code: 'bp_id',
object: {},
returnItem: function (index, obj) {
debugger
// console.log(vm.bpTenantList[index])
// vm.baseInfo = {
// ...vm.baseInfo,
// ...vm.bpTenantList[index],
// }
// vm.invoiceInfo = {
// ...vm.invoiceInfo,
// ...vm.bpTenantList[index],
// }
// },
// })
// },
vm.baseInfo = {
...vm.baseInfo,
...vm.bpTenantList[index],
}
},
})
},
getAttachmentList (checkId, code) {
let vm = this
let url =
......@@ -934,9 +903,9 @@ export default {
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.$set(vm.invoiceInfo, 'taxpayer_type', obj.bp_type)
vm.$set(vm.invoiceInfo, 'taxpayer_type_n', obj.bp_type_n)
console.log('obj', vm.invoiceInfo)
vm.$set(vm.baseInfo, 'taxpayer_type', obj.bp_type)
vm.$set(vm.baseInfo, 'taxpayer_type_n', obj.bp_type_n)
console.log('obj', vm.baseInfo)
},
})
},
......@@ -947,8 +916,8 @@ export default {
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.$set(vm.invoiceInfo, 'invoice_kind', obj.bp_type)
vm.$set(vm.invoiceInfo, 'invoice_kind_n', obj.bp_type_n)
vm.$set(vm.baseInfo, 'invoice_kind', obj.bp_type)
vm.$set(vm.baseInfo, 'invoice_kind_n', obj.bp_type_n)
},
})
},
......@@ -1170,19 +1139,43 @@ export default {
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.info.annual_pay_times_n = obj.bp_type_n
vm.annual_pay_times = obj.bp_type
vm.$set(vm.quotationInfo,'annual_pay_times_n',obj.bp_type_n)
vm.$set(vm.quotationInfo,'annual_pay_times',obj.bp_type)
},
})
},
// 时间选择
showTime (format) {
let vm = this
hlsPopup.showTime({
nowDate: (new Date()).format('yyyy-MM-dd'),
format: format,
callback: (date) => {
vm.$set(vm.quotationInfo,'lease_start_date',date)
},
})
},
// handleSave
handleSave () {
if (this.num === 0) {
this.prjBaseInfoSave()
} else {
this.calculationSave()
}
},
// 保存融租方案接口
prjBaseInfoSave () {
let vm = this
let url = $config.basePath + 'zm_prj_base_info_save'
let param = {
'project_id': vm.project_id,
'operator_id': '',
...vm.baseInfo,
let master = {
...vm.baseInfo, ...vm.bank_lists,...vm.invoiceInfo
}
master.project_id=vm.project_id
let param={
master
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
......@@ -1220,6 +1213,7 @@ export default {
// 方案信息保存&更新接口
calculationSave () {
let vm = this
<<<<<<< HEAD
if (!vm.quotationInfo.equip_price) {
hlsPopup.showLongCenter('请输入设备总价')
} else if (!vm.quotationInfo.gps_fee) {
......@@ -1256,19 +1250,30 @@ export default {
hlsPopup.showLongCenter(res.message)
}
})
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.quotationInfo.quotation_id = res.quotation_id
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
},
}
</script>
<style lang="less" rel="stylesheet">
#contract-details {
#contract-details {
.outer {
width: 259px;
height: 370px;
background-color: #fff;
overflow-y: scroll;
overflow-x: hidden;
.canvas {
position: relative;
z-index: 0;
......@@ -1285,6 +1290,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
button {
width: 7.172rem;
height: 0.88rem;
......@@ -1297,6 +1303,7 @@ export default {
letter-spacing: 0.2rem;
}
}
.bodyCheck {
width: 100%;
height: 1.1rem;
......@@ -1306,6 +1313,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
button {
width: 7.172rem;
height: 0.88rem;
......@@ -1318,6 +1326,7 @@ export default {
letter-spacing: 0.2rem;
}
}
.footer-button {
.approve {
width: 358.6px;
......@@ -1329,12 +1338,14 @@ export default {
font-size: 15px;
line-height: 20px;
letter-spacing: 10px;
img {
width: 16.8px;
height: 16.8px;
}
}
}
.name-box {
display: inline-block;
text-align: center;
......@@ -1345,6 +1356,7 @@ export default {
background: #cddbec;
border-radius: 4px;
}
.name {
font-family: PingFangSC-Regular;
font-size: 14px;
......@@ -1352,6 +1364,7 @@ export default {
letter-spacing: 0;
margin-left: 10px;
}
.card-num {
font-family: PingFangSC-Regular;
font-size: 14px;
......@@ -1361,9 +1374,11 @@ export default {
margin-left: 31px;
margin-top: 7px;
}
.right {
position: relative;
}
.right span {
float: right;
margin-right: 48px;
......@@ -1380,9 +1395,11 @@ export default {
margin-top: -10px;
text-align: right;
}
.right span:last-child {
margin-top: 7px;
}
.right img {
position: absolute;
top: 30%;
......@@ -1390,14 +1407,17 @@ export default {
width: 14px;
height: 16px;
}
.alert {
padding-bottom: 30px;
width: 100%;
background: #fbf2d2;
}
.alert-fund {
margin-top: -10px;
}
.alert-content {
width: 334px;
margin: 0 auto;
......@@ -1416,6 +1436,7 @@ export default {
display: flex;
align-items: center;
}
.top-word {
p {
font-family: PingFangSC-Regular;
......@@ -1427,6 +1448,7 @@ export default {
text-indent: 16px;
position: relative;
}
p::before {
content: "";
display: block;
......@@ -1439,6 +1461,7 @@ export default {
background-color: #fcc800;
}
}
.top-info {
font-family: PingFangSC-Regular;
font-size: 12px;
......@@ -1456,17 +1479,20 @@ export default {
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;
......@@ -1480,6 +1506,7 @@ export default {
margin-left: 16px;
}
}
.equipment-list-fund {
height: 40px;
line-height: 40px;
......@@ -1496,10 +1523,12 @@ export default {
height: 20px;
background: #00469c;
}
p {
padding-left: 10px;
}
}
.all {
position: absolute;
background-color: transparent;
......@@ -1584,10 +1613,12 @@ export default {
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;
......@@ -1694,6 +1725,7 @@ export default {
letter-spacing: 0;
}
}
.aguremrnt-list {
display: flex;
display: -webkit-flex;
......@@ -1701,11 +1733,13 @@ export default {
-webkit-align-items: center;
width: 100%;
height: 100%;
.unread {
width: 34px;
height: 20px;
margin: 0 10px;
}
.wrap-img {
width: 12%;
height: 100%;
......@@ -1716,11 +1750,13 @@ export default {
justify-content: center;
-webkit-justify-content: center;
background: rgb(254, 251, 233);
img {
width: 22px;
height: 20px;
}
}
.pic {
margin-left: -3px;
}
......@@ -1761,6 +1797,7 @@ export default {
display: flex;
justify-content: center;
align-items: center;
.box {
position: relative;
width: 301px;
......@@ -1769,11 +1806,13 @@ export default {
background: url("../../assets/intoApproval/top.png") no-repeat;
background-size: 301px 24.7px;
background-color: #fff;
img {
position: absolute;
z-index: 999;
width: 301px;
}
button {
width: 240px;
height: 40px;
......@@ -1783,6 +1822,7 @@ export default {
left: 30.5px;
background-color: rgba(56, 63, 69, 0.5);
}
.title-box {
width: 100%;
display: block;
......@@ -1792,6 +1832,7 @@ export default {
font-size: 16px;
color: #00469c;
}
.content-box {
width: 240px;
height: 280px;
......@@ -1801,23 +1842,28 @@ export default {
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 {
width: 240px;
height: 20px;
......@@ -1833,12 +1879,14 @@ export default {
align-items: center;
position: relative;
margin-top: 15px;
input {
width: 16px;
height: 16px;
margin-right: 8px;
background: none;
}
input::before {
content: "";
display: block;
......@@ -1847,15 +1895,18 @@ export default {
}
}
}
.approveContent {
position: absolute;
top: 50%;
background-color: #fafafa;
overflow-y: scroll;
}
.approveBottom {
width: 343px;
margin: 0 auto;
span {
display: block;
width: 100%;
......@@ -1865,16 +1916,19 @@ export default {
height: 21px;
line-height: 21px;
margin: 16px 0;
img {
float: right;
}
}
textarea {
width: 343px;
height: 178px;
border-radius: 2px;
padding: 10px;
}
span::after {
content: "";
display: block;
......@@ -1887,6 +1941,7 @@ export default {
background-size: 14px 14px;
}
}
.reject,
.same {
width: 175px;
......@@ -1894,56 +1949,69 @@ export default {
border-radius: 4px;
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;
border-radius: 4px;
color: #fff;
img {
width: 18px;
}
}
}
input::placeholder{
input::placeholder {
color: #B4B4B5;
}
.font-color {
color: #656464;
}
textarea::placeholder {
color: #b4b4b5;
}
textarea {
text-align: right;
color:#666;
color: #666;
resize: none;
}
.footer-button {
padding-top: 15px;
padding-bottom: 15px;
}
.save {
width: 100%;
height: 45px;
......@@ -1956,11 +2024,13 @@ export default {
background: #fff;
margin-top: 10px;
padding-bottom: 10px;
.plus {
display: flex;
justify-content: center;
align-items: center;
}
.card-upload {
position: relative;
width: 80px;
......@@ -2002,7 +2072,8 @@ export default {
}
}
}
.house:last-child, .house:nth-last-child(2){
.house:last-child, .house:nth-last-child(2) {
// margin-top: 0;
div {
float: left;
......@@ -2013,6 +2084,7 @@ export default {
display: flex;
justify-content: center;
margin-top: 15px;
div {
width: 172px;
height: 120px;
......@@ -2020,53 +2092,63 @@ export default {
text-align: center;
font-size: 14px;
color: #b4b4b5;
.front,
.back {
width: 172px;
height: 120px;
}
}
div:nth-of-type(2) {
margin-left: 7px;
}
img {
margin-top: 32px;
width: 58px;
height: 45px;
}
p {
margin-top: 12px;
font-size: 13px;
}
}
}
.modal {
}
.modal {
background-color: rgba(0, 0, 0, 0) !important;
}
}
.trans-enter-active,
.trans-leave-active {
.trans-enter-active,
.trans-leave-active {
transition: opacity 0.5s;
}
.trans-enter,
.trans-leave-active {
}
.trans-enter,
.trans-leave-active {
opacity: 0;
}
.hide {
}
.hide {
display: flex;
justify-content: flex-start;
align-items: center;
img {
width: 30px;
height: 30px;
margin-left: 65%;
}
}
.wrap {
}
.wrap {
padding-top: 92px;
}
.modal-show {
}
.modal-show {
width: 100%;
height: 100%;
position: absolute;
......@@ -2075,6 +2157,7 @@ export default {
background-color: rgba(56, 63, 69, 0.3);
justify-content: center;
align-items: center;
.down {
position: relative;
width: 314px;
......@@ -2083,6 +2166,7 @@ export default {
background-size: 301px 24.7px;
background-color: #fff;
}
.top {
width: 100%;
height: 44px;
......@@ -2093,6 +2177,7 @@ export default {
line-height: 44px;
color: #fff;
background: #0041c4;
img {
width: 16px;
height: 16px;
......@@ -2101,8 +2186,10 @@ export default {
margin-right: 20px;
}
}
.down-content {
margin-top: 8px;
span:first-child {
font-family: PingFangSC-Regular;
font-size: 13px;
......@@ -2110,6 +2197,7 @@ export default {
letter-spacing: 0;
margin-left: 15px;
}
.photo {
width: 172px;
height: 120px;
......@@ -2119,12 +2207,14 @@ export default {
margin-top: 12px;
background: url("../../assets/contractStart/photo.png") 70px no-repeat;
background-size: 24px 20px;
img {
width: 100%;
height: 100%;
}
}
}
button {
width: 240px;
height: 40px;
......@@ -2135,6 +2225,6 @@ export default {
background-color: #0041c4;
border-radius: 4px;
}
}
}
</style>
<template>
<h-view id="contract-details" 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="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>
</div>
<h-content v-if="num === 0" class="business-condition">
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" class="font-color">业务经办</div>
<input slot="content" v-model="baseInfo.bp_user_id_n" readonly>
</item>
</list-item>
<div class="equipment-list">承租人信息</div>
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" class="font-color">公司名称</div>
<input
slot="content"
v-model="baseInfo.bp_name"
type="text"
readonly
placeholder="请选择"
@click="selectBpTenant"
>
</item>
<item>
<div slot="name" class="font-color">营业执照号</div>
<input slot="content" v-model="baseInfo.organization_code">
</item>
<item>
<div slot="name" class="font-color">注册资本</div>
<input slot="content" v-model="baseInfo.registered_capital">
</item>
<item>
<div slot="name" class="font-color">注册地址</div>
<textarea slot="content" v-model="baseInfo.registered_place"/>
</item>
<item>
<div slot="name" class="font-color">经营地址</div>
<input slot="content" v-model="baseInfo.business_address">
</item>
<item>
<div slot="name" class="font-color">固定电话</div>
<input slot="content" v-model="baseInfo.phone">
</item>
<item>
<div slot="name" class="font-color">是否授权</div>
<h-switch slot="content" v-model="baseInfo.auth_flag"/>
</item>
<item>
<div slot="name" class="font-color">是否征信授权</div>
<h-switch slot="content" v-model="baseInfo.credit_flag"/>
</item>
</list-item>
<div class="equipment-list">法定代表人</div>
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" class="font-color">姓名</div>
<input slot="content" v-model="baseInfo.legal_person" readonly>
</item>
<item>
<div slot="name" class="font-color">证件号</div>
<input slot="content" v-model="baseInfo.id_card_no" readonly>
</item>
<item>
<div slot="name" class="font-color">手机号码</div>
<input slot="content" v-model="baseInfo.cell_phone" readonly>
</item>
<item>
<div slot="name" class="font-color">联系地址</div>
<textarea slot="content" v-model="baseInfo.living_address"/>
</item>
</list-item>
<div class="equipment-list">
采矿权许可证
</div>
<list-item :item-height="76">
<div class="house spec">
<!--待上传图片列表-->
<div
v-for="(item, index) in upload_list_mining"
v-if="item.check_id === miningCheckId"
:key="index+'info2'"
class="card-upload"
>
<img :src="item.picture" @click="showBigPicture(item.picture)">
<div class="close" @click="remove_pic(item.attachment_id,index,'mining')">
<img src="@/assets/userBind/deleteIcon.png">
</div>
</div>
<!--特批 从服务器上下载的图片-->
<div v-for="(pic, index) in dowload_list_mining" :key="index+'mining'">
<div v-if="pic.check_id==miningCheckId" :key="index+'info3'" class="card-upload">
<img :src="pic.url" @click="showBigPicture(pic.url)">
<div class="close" @click="delete_pic(pic.attachment_id,'mining')">
<img src="@/assets/userBind/deleteIcon.png">
</div>
</div>
</div>
<div class="card-upload plus" @click="ocrShow('采矿权许可证',miningCheckId,'mining')">
<img src="@/assets/userBind/camera.png" class="upload-btn">
</div>
</div>
</list-item>
<div class="equipment-list">
开票信息
</div>
<list-item :item-height="44">
<item :showArrow="true">
<div slot="name" class="font-color">纳税人类型</div>
<input
slot="content"
v-model="baseInfo.taxpayer_type_n"
type="text"
readonly
placeholder="请选择"
@click="selectTaxpayer"
>
</item>
<item :showArrow="true">
<div slot="name" class="font-color">发票类型</div>
<input
slot="content"
v-model="baseInfo.invoice_kind_n"
type="text"
readonly
placeholder="请选择"
@click="selectInvoiceType"
>
</item>
<item>
<div slot="name" class="font-color">发票抬头</div>
<input slot="content" v-model="baseInfo.invoice_title" type="text" placeholder="请输入发票抬头">
</item>
<item>
<div slot="name" class="font-color">发票地址</div>
<textarea
slot="content" ref="myTestarea" v-model="baseInfo.invoice_adds" cols="22"
rows="1"
type="text" placeholder="请输入发票地址" @input="addRows(baseInfo.invoice_adds)"/>
</item>
<item>
<div slot="name" class="font-color">开户电话</div>
<input slot="content" v-model="baseInfo.invoice_tel" type="text" placeholder="请输入开户电话">
</item>
<item>
<div slot="name" class="font-color">发票开户行</div>
<textarea
slot="content"
ref="myTestareaLive"
v-model="baseInfo.open_bank"
cols="22"
rows="1"
type="text"
placeholder="请输入发票开户行"
@input="addRowsLive(baseInfo.open_bank)"
/>
</item>
<item>
<div slot="name" class="font-color">开户行账号</div>
<input slot="content" v-model="baseInfo.open_account" type="text" placeholder="请输入开户行账号">
</item>
<!--<item>
<div slot="name" class="font-color">纳税人识别号</div>
<input
slot="content"
v-model="invoiceInfo.organization_code" placeholder="纳税人识别号" type="text" readonly
>
</item>-->
</list-item>
<div class="equipment-list">
基本账户信息
</div>
<list-item :item-height="44">
<item>
<div slot="name">账户名称</div>
<input slot="content" v-model="baseInfo.bank_account_name" placeholder="请输入账户名称">
</item>
<item>
<div slot="name">开户行</div>
<input
slot="content"
v-model="baseInfo.bank_full_name"
placeholder="请输入开户行"
>
</item>
<item>
<div slot="name">银行账号</div>
<input
slot="content"
v-model="baseInfo.bank_account_num"
placeholder="请输入银行账号"
>
</item>
<item>
<div slot="name">联行号</div>
<input slot="content" v-model="baseInfo.bank_branch_name" placeholder="请输入联行号">
</item>
</list-item>
<div class="equipment-list">
联系人信息
</div>
<list-item :item-height="44">
<item>
<div slot="name">联系人姓名</div>
<input slot="content" v-model="baseInfo.contact_name" placeholder="请输入联系人姓名">
</item>
<item>
<div slot="name">身份证号码</div>
<input
slot="content"
v-model="baseInfo.contact_card_no"
placeholder="请输入身份证号码"
>
</item>
<item>
<div slot="name">联系电话</div>
<input
slot="content"
v-model="baseInfo.contact_tel"
placeholder="请输入联系电话"
>
</item>
<item>
<div slot="name">联系地址</div>
<input slot="content" v-model="baseInfo.contact_adds" placeholder="请输入联系地址">
</item>
</list-item>
<div class="equipment-list">
财务报表
</div>
<list-item :item-height="76">
<div class="house spec">
<!--待上传图片列表-->
<div
v-for="(item, index) in upload_list_report"
v-if="item.check_id === reportCheckId"
:key="index+'info2'"
class="card-upload"
>
<img :src="item.picture" @click="showBigPicture(item.picture)">
<div class="close" @click="remove_pic(item.attachment_id,index,'report')">
<img src="@/assets/userBind/deleteIcon.png">
</div>
</div>
<!--特批 从服务器上下载的图片-->
<div v-for="(pic, index) in dowload_list_report" :key="index+'report'">
<div v-if="pic.check_id==reportCheckId" :key="index+'info3'" class="card-upload">
<img :src="pic.url" @click="showBigPicture(pic.url)">
<div class="close" @click="delete_pic(pic.attachment_id,'report')">
<img src="@/assets/userBind/deleteIcon.png">
</div>
</div>
</div>
<div class="card-upload plus" @click="ocrShow('财务报表',reportCheckId,'report')">
<img src="@/assets/userBind/camera.png" class="upload-btn">
</div>
</div>
</list-item>
</h-content>
<h-content v-if="num === 1">
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" class="font-color">设备总价</div>
<CurrencyInput slot="content" v-model="quotationInfo.equip_price" placeholder="请输入设备总价"/>
</item>
<item>
<div slot="name" class="font-color">融资金额</div>
<CurrencyInput slot="content" v-model="quotationInfo.finance_amount" placeholder="请输入融资金额"/>
</item>
<item>
<div slot="name" class="font-color">首付款</div>
<CurrencyInput slot="content" v-model="quotationInfo.down_payment" placeholder="请输入首付款"/>
</item>
<item>
<div slot="name" class="font-color">保证金比例</div>
<RateInput slot="content" v-model="quotationInfo.deposit_ratio_n" placeholder="请输入保证金比例"/>
</item>
<item>
<div slot="name" class="font-color">保证金</div>
<CurrencyInput slot="content" v-model="quotationInfo.deposit" placeholder="请输入保证金"/>
</item>
<item>
<div slot="name" class="font-color">手续费比例</div>
<RateInput slot="content" v-model="quotationInfo.lease_charge_ratio_n" placeholder="请输入手续费比例"/>
</item>
<item>
<div slot="name" class="font-color">手续费</div>
<currency-input slot="content" v-model="quotationInfo.lease_charge" placeholder="请输入手续费"/>
</item>
<item>
<div slot="name" class="font-color">保险押金</div>
<!-- <span slot="content">{{ info.insurance_fee * info.product_num | currency }}</span>-->
<CurrencyInput slot="content" v-model="quotationInfo.insurance_fee" placeholder="请输入保险押金"/>
</item>
<item>
<div slot="name" class="font-color">GPS费用</div>
<CurrencyInput slot="content" v-model="quotationInfo.gps_fee" placeholder="请输入GPS费用"/>
</item>
<item>
<div slot="name">首次付款合计</div>
<CurrencyInput slot="content" v-model="quotationInfo.first_pay" placeholder="请输入首次付款合计"/>
</item>
<item :show-arrow="true" @click.native="showTime('YYYY-MM-DD')">
<div slot="name" class="font-color">预计付款日</div>
<div slot="content" class="autoColor">{{ quotationInfo.lease_start_date }}</div>
</item>
<item :show-arrow="true" @click.native="periodPull">
<div slot="name" class="font-color">还款周期</div>
<span slot="content">{{ quotationInfo.annual_pay_times_n }}</span>
</item>
<item>
<div slot="name" class="font-color">租赁期数</div>
<input slot="content" v-model="quotationInfo.lease_times" placeholder="请输入租赁期数" type="number">
</item>
<item>
<div slot="name" class="font-color">年利率</div>
<RateInput slot="content" v-model="quotationInfo.int_rate_n" placeholder="请输入年利率"/>
</item>
</list-item>
</h-content>
<bottom-tab class="add-box">
<tab-button class="next" @click.native="handleSave()">
<img src="@/assets/intoApproval/approve.png">保存
</tab-button>
</bottom-tab>
</h-view>
</template>
<script>
import LegalPerson from '@/pages/distributorSign/legal-person'
import Personal from '@/pages/distributorSign/personal'
import CurrencyInput from '@/components/currencyInput'
import RateInput from '@/components/rateInput'
import Check1 from '@/assets/constractSigning/business.png'
import Check2 from '@/assets/constractSigning/constract.png'
import Check3 from '@/assets/constractSigning/lease.png'
import unCheck1 from '@/assets/constractSigning/unbusiness.png'
import unCheck2 from '@/assets/constractSigning/unconstract.png'
import unCheck3 from '@/assets/constractSigning/unLease.png'
export default {
name: 'ContractNew',
components: {
Personal,
LegalPerson,
CurrencyInput,
RateInput,
// bodyCheck,
},
data () {
return {
info: {}, // 租赁信息
num: 1,
downNum: false,
leaseList: [],
baseInfo: {
credit_flag: true,
}, // 基本信息
project_id: '',
check1: Check1,
check2: Check2,
check3: Check3,
uncheck1: unCheck1,
uncheck2: unCheck2,
uncheck3: unCheck3,
quotationInfo: {},
itemInfo: {},
upload_list_mining: [],
dowload_list_mining: [],
upload_list_report: [],
dowload_list_report: [],
}
},
computed: {},
watch: {
$route (to, from) {
hlsPopup.hideConfirm()
},
},
activated () {
},
mounted () {
this.getBpTenantSelects()
this.getInvoiceType()
this.getTaxpayer()
this.repayPeriod()
},
methods: {
dateConverse (date) {
return date.replace(/\//g, '-')
},
addRows (e) {
if (e) {
let len = 0
for (let i = 0; i < e.length; i++) {
var c = e.charCodeAt(i)
// 统计字符串的字符长度
if ((c >= 0x0001 && c <= 0x007e) || (c >= 0xff60 && c <= 0xff9f)) {
len += 1
} else {
len += 2
}
}
let addNum = Math.ceil(len / 21)
this.$refs.myTestarea.rows = addNum
}
},
addRowsLive (e) {
if (e) {
let len = 0
for (let i = 0; i < e.length; i++) {
var c = e.charCodeAt(i)
// 统计字符串的字符长度
if ((c >= 0x0001 && c <= 0x007e) || (c >= 0xff60 && c <= 0xff9f)) {
len += 1
} else {
len += 2
}
}
let addNum = Math.ceil(len / 21)
this.$refs.myTestareaLive.rows = addNum
}
},
getBpTenantSelects () {
let vm = this
let url = process.env.basePath + 'bp_tenant_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.bpTenantList = res.lists.map(item => {
item.code = item.bp_id
item.code_name = item.bp_name
return item
})
}
})
},
selectBpTenant (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.bpTenantList,
code: 'bp_id',
object: {},
returnItem: function (index, obj) {
debugger
// console.log(vm.bpTenantList[index])
vm.baseInfo = {
...vm.baseInfo,
...vm.bpTenantList[index],
}
},
})
},
getInvoiceType () {
let vm = this
let url = process.env.basePath + 'bp_invoice_kind_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.invoicList = res.lists.map(item => {
return {
code: item.invoice_kind,
code_name: item.invoice_kind_n,
}
})
}
})
},
getTaxpayer () {
let vm = this
let url = process.env.basePath + 'bp_taxpayer_type_query'
let param = {}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.taxpayerList = res.lists.map(item => {
return {
code: item.taxpayer_type,
code_name: item.taxpayer_type_n,
}
})
}
})
},
selectTaxpayer (e) {
let vm = this
console.log('vm.taxpayerList', vm.taxpayerList)
vm.hlsPopup.selectList({
list: vm.taxpayerList,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.$set(vm.baseInfo, 'taxpayer_type', obj.bp_type)
vm.$set(vm.baseInfo, 'taxpayer_type_n', obj.bp_type_n)
console.log('obj', vm.baseInfo)
},
})
},
selectInvoiceType (e) {
let vm = this
vm.hlsPopup.selectList({
list: vm.invoicList,
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.$set(vm.baseInfo, 'invoice_kind', obj.bp_type)
vm.$set(vm.baseInfo, 'invoice_kind_n', obj.bp_type_n)
},
})
},
// 查看大图
showBigPicture (pic) {
let vm = this
vm.hlsPopup.showBigPicture({
imgUrl: pic,
width: '100% !important',
})
},
// ocr识别入口
ocrShow (desc, id, code) {
let vm = this
hlsPopup.showActionSheet({
titleText: '请选择照片',
buttonArray: ['拍照', '从相册取'],
callback: index => {
if (index === 0) {
vm.openCamera(desc, id, code)
} else {
vm.takePicture(desc, id, code)
}
},
})
},
openCamera (desc, id, code) {
let vm = this
let obj = {
'pkvalue': id,
'source_type': 'PRJ_CDD_ITEM_CHECK',
'picture': '',
'check_id': id,
'filePath': '',
'attachment_id': '',
'user_id': 1,
'fileName': desc + '_' + new Date().getTime(),
}
let cameraoptions = {
quality: 100,
}
let success = function (imgdata) {
obj.filePath = imgdata
obj.picture = hlsUtil.convertImageUrl(imgdata)
let list = []
list.push(obj)
// 拍完一张立马执行保存图片逻辑
vm.save_picture(list, code)
}
let error = function () {
hlsPopup.showLongCenter('请拍照')
}
hlsUtil.openCamera(cameraoptions, success, error)
},
takePicture (desc, checkId, code) {
let vm = this
let cameraoptions = {
quality: 100,
}
let success = function (imgUrl) {
var list = []
for (let i = 0; i < imgUrl.length; i++) {
let obj = {
'pkvalue': checkId,
'source_type': 'PRJ_CDD_ITEM_CHECK',
'picture': '',
'check_id': checkId,
'filePath': '',
'attachment_id': '',
'user_id': 1,
'fileName': desc + '_' + new Date().getTime(),
}
obj.filePath = imgUrl[i]
obj.picture = hlsUtil.convertImageUrl(imgUrl[i])
list.push(obj)
}
vm.save_picture(list, code)
}
let error = function () {
}
vm.hlsUtil.takePicture(cameraoptions, success, error)
},
// 图片保存
save_picture (list, code) {
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
if (code === 'report') {
vm.upload_list_report.push(list[j])
break
} else if (code === 'mining') {
vm.upload_list_mining.push(list[j])
break
}
}
}
} else {
hlsPopup.hideLoading()
}
}
if (!list[i].attachment_id) {
attLength++
hlsUtil.fileUploadSvc(list[i], uploadSuccess)
}
}
} else {
hlsPopup.hideLoading()
}
},
// 移除图片
remove_pic (attachment_id, index, code) {
let vm = this
var delete_list = []
let obj = {'attachment_id': attachment_id}
delete_list.push(obj)
let url = process.env.basePath + 'app_delete_attment' // 附件删除
let param = {
'picturelist': delete_list,
}
hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
hlsPopup.hideLoading()
if (res.result === 'S') {
hlsPopup.showLongCenter('删除成功!')
vm.remove_upload_list(attachment_id, index, code)
} else if (res.result === 'E') {
hlsPopup.showShortCenter(res.message)
}
})
},
remove_upload_list (attachment_id, index, code) {
let vm = this
if (code === 'report') {
vm.upload_list_report.remove(index)
vm.upload_list_report.sort()
} else if (code === 'mining') {
vm.upload_list_mining.remove(index)
vm.upload_list_mining.sort()
}
},
// 删除图片
delete_pic (attachment_id, code) {
let vm = this
let delete_list = []
let obj = {'attachment_id': attachment_id}
delete_list.push(obj)
let url = process.env.basePath + 'app_delete_attment' // 附件删除
let param = {
'picturelist': delete_list,
}
hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
hlsPopup.hideLoading()
if (res.result === 'S') {
hlsPopup.showLongCenter('删除成功!')
vm.remove_dowload_list(attachment_id, code)
} else if (res.result === 'E') {
hlsPopup.showShortCenter(res.message)
}
})
},
remove_dowload_list (attachment_id, code) {
console.log('attachment_id', attachment_id)
let vm = this
if (code === 'report') {
vm.dowload_list_report = vm.dowload_list_report.filter(item => {
return item.attachment_id !== attachment_id
})
} else if (code === 'mining') {
vm.dowload_list_mining = vm.dowload_list_mining.filter(item => {
return item.attachment_id !== attachment_id
})
}
},
// 还款周期查询
repayPeriod () {
let vm = this
let url = $config.basePath + 'annual_pay_times_query'
let param = {
product_plan_id: vm.product_plan_id,
}
vm.hlsPopup.showLoading('数据加载中')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.periodLists = res.lists.map(item => {
return {
code: item.annual_pay_times,
code_name: item.annual_pay_times_n,
}
})
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
// 还款周期选择
periodPull () {
let vm = this
vm.hlsPopup.selectList({
list: vm.periodLists, // 下拉列表
code: 'bp_type',
object: {},
returnItem: function (index, obj) {
vm.$set(vm.quotationInfo, 'annual_pay_times_n', obj.bp_type_n)
vm.$set(vm.quotationInfo, 'annual_pay_times', obj.bp_type)
},
})
},
// 时间选择
showTime (format) {
let vm = this
hlsPopup.showTime({
nowDate: (new Date()).format('yyyy-MM-dd'),
format: format,
callback: (date) => {
vm.$set(vm.quotationInfo, 'lease_start_date', date)
},
})
},
// handleSave
handleSave () {
if (this.num === 0) {
this.prjBaseInfoSave()
} else {
this.calculationSave()
}
},
// 保存融租方案接口
prjBaseInfoSave () {
let vm = this
let url = $config.basePath + 'zm_prj_base_info_save'
let param = {
'project_id': vm.project_id,
'operator_id': '',
...vm.baseInfo,
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
// 方案信息保存&更新接口
calculationSave () {
let vm = this
let url = $config.basePath + 'zm_prj_quotation_save'
let param = {
'project_id': vm.project_id,
'quotation_id': vm.quotationInfo.quotation_id,
'equip_price': vm.quotationInfo.equip_price,
'down_payment': vm.quotationInfo.down_payment,
'deposit': vm.quotationInfo.deposit,
'lease_charge': vm.quotationInfo.lease_charge,
'due_date': vm.quotationInfo.due_date,
'lease_times': vm.quotationInfo.lease_times,
'insurance_fee': vm.quotationInfo.insurance_fee,
'gps_fee': vm.quotationInfo.gps_fee,
'annual_pay_times': vm.quotationInfo.annual_pay_times,
'finance_amount': vm.quotationInfo.finance_amount,
'deposit_ratio': vm.quotationInfo.deposit_ratio,
'lease_charge_ratio': vm.quotationInfo.lease_charge_ratio,
'lease_start_date': vm.quotationInfo.lease_start_date,
'int_rate': vm.quotationInfo.int_rate,
}
vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.quotationInfo.quotation_id = res.quotation_id
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
},
}
</script>
<style lang="less" rel="stylesheet">
#contract-details {
.outer {
width: 259px;
height: 370px;
background-color: #fff;
overflow-y: scroll;
overflow-x: hidden;
.canvas {
position: relative;
z-index: 0;
}
}
.sign-elect {
width: 100%;
height: 1.1rem;
position: fixed;
bottom: 43px;
// margin-top: 20px;
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.4rem;
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 {
width: 358.6px;
height: 44px;
background: @headerColor;
border-radius: 4px;
color: #fff;
font-family: PingFangSC-Semibold;
font-size: 15px;
line-height: 20px;
letter-spacing: 10px;
img {
width: 16.8px;
height: 16.8px;
}
}
}
.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%;
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-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 {
font-family: PingFangSC-Regular;
font-size: 12px;
color: #656464;
letter-spacing: 0.37px;
margin-top: 7px;
line-height: 15px;
span {
color: #fcc800;
}
}
.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;
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;
line-height: 40px;
background-color: #fafafa;
display: flex;
align-items: center;
color: #00469c;
font-size: 15px;
//margin-left: 16px;
position: relative;
//margin-top: -10px;
span {
width: 4px;
height: 20px;
background: #00469c;
}
p {
padding-left: 10px;
}
}
.all {
position: absolute;
background-color: transparent;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 2;
.prompt {
position: absolute;
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;
.top {
height: 105px;
border-bottom: 1px solid #f1f0f5;
div:first-child {
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #e50020;
letter-spacing: 0.5px;
font-weight: 700;
margin-top: 13px;
img {
width: 18px;
line-height: 12px;
display: block;
margin: -3px 5px 0 40%;
float: left;
}
}
div:nth-child(2) {
margin-top: 22px;
font-family: PingFangSC-Regular;
font-size: 13px;
color: #383f45;
letter-spacing: 0.4px;
padding: 0 22px;
line-height: 20px;
}
}
.bottom {
text-align: center;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #00469c;
line-height: 32px;
}
}
}
.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 {
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);
}
.hls-item {
margin-top: 8px;
background-color: #fff;
}
.contents {
padding: 0;
}
.in-detail {
background-color: rgba(0, 70, 156, 0.08);
width: 48px;
height: 56px;
text-align: center;
line-height: 65px;
img {
width: 16px;
}
}
.in-all {
//width: 96px;
display: flex;
img {
width: 16px;
}
div {
width: 48px;
height: 56px;
text-align: center;
line-height: 65px;
}
div:first-child {
background-color: rgba(252, 200, 0, 0.1);
}
div:nth-child(2) {
background-color: rgba(0, 70, 156, 0.08);
}
}
}
}
.business-condition {
.equipment-list {
height: 40px;
line-height: 40px;
background-color: #fafafa;
color: #00469c;
font-size: 15px;
margin-left: 16px;
position: relative;
}
.equipment-list::before {
content: "";
display: block;
width: 4px;
height: 20px;
background-color: #00469c;
position: absolute;
left: -15px;
top: 10px;
}
div {
font-family: PingFangSC-Regular;
color: #656464;
letter-spacing: 0;
}
section {
font-family: PingFangSC-Regular;
color: rgba(56, 63, 69, 0.6);
letter-spacing: 0;
}
}
.aguremrnt-list {
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
width: 100%;
height: 100%;
.unread {
width: 34px;
height: 20px;
margin: 0 10px;
}
.wrap-img {
width: 12%;
height: 100%;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
background: rgb(254, 251, 233);
img {
width: 22px;
height: 20px;
}
}
.pic {
margin-left: -3px;
}
.pics {
// width: 21px;
height: 30px;
}
.read {
height: 16px;
margin-top: 8px;
margin-left: 6px;
}
.second {
// height: 32px;
// line-height: 32px;
font-family: PingFangSC-Regular;
font-size: 14px;
margin-left: 16px;
color: #383f45;
letter-spacing: 0.43px;
}
.first {
margin-left: 13px;
width: 60%;
}
}
.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;
top: -67px;
background: url("../../assets/intoApproval/top.png") no-repeat;
background-size: 301px 24.7px;
background-color: #fff;
img {
position: absolute;
z-index: 999;
width: 301px;
}
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;
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 {
width: 240px;
height: 20px;
background-color: #fff;
// 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;
position: relative;
margin-top: 15px;
input {
width: 16px;
height: 16px;
margin-right: 8px;
background: none;
}
input::before {
content: "";
display: block;
background-image: url("../../assets/intoApproval/top.png");
}
}
}
}
.approveContent {
position: absolute;
top: 50%;
background-color: #fafafa;
overflow-y: scroll;
}
.approveBottom {
width: 343px;
margin: 0 auto;
span {
display: block;
width: 100%;
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #00469c;
height: 21px;
line-height: 21px;
margin: 16px 0;
img {
float: right;
}
}
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 {
width: 175px;
height: 40px;
border-radius: 4px;
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;
border-radius: 4px;
color: #fff;
img {
width: 18px;
}
}
}
input::placeholder {
color: #B4B4B5;
}
.font-color {
color: #656464;
}
textarea::placeholder {
color: #b4b4b5;
}
textarea {
text-align: right;
color: #666;
resize: none;
}
.footer-button {
padding-top: 15px;
padding-bottom: 15px;
}
.save {
width: 100%;
height: 45px;
color: #fff;
border-radius: 4px;
background-color: @headerColor;
}
.house {
background: #fff;
margin-top: 10px;
padding-bottom: 10px;
.plus {
display: flex;
justify-content: center;
align-items: center;
}
.card-upload {
position: relative;
width: 80px;
height: 80px;
border: 1px dashed #dcdcdd;
// display: flex;
// justify-content: center;
// align-items: center;
margin-top: 12px;
margin-left: 16px;
// float: left;
.close {
/* position: relative;
color: #F96F68;
margin-top: -100%;
margin-left: -10%;*/
position: absolute;
color: #F96F68;
top: -6px;
right: -6px;
img {
width: 14px;
height: 14px;
}
}
img {
/*width: 88px;
height: 88px;*/
width: 100%;
height: 100%;
}
.upload-btn {
width: 24px;
height: 24px;
}
}
}
.house:last-child, .house:nth-last-child(2) {
// margin-top: 0;
div {
float: left;
}
}
.upload-box {
display: flex;
justify-content: center;
margin-top: 15px;
div {
width: 172px;
height: 120px;
border: 1px dashed #dcdcdd;
text-align: center;
font-size: 14px;
color: #b4b4b5;
.front,
.back {
width: 172px;
height: 120px;
}
}
div:nth-of-type(2) {
margin-left: 7px;
}
img {
margin-top: 32px;
width: 58px;
height: 45px;
}
p {
margin-top: 12px;
font-size: 13px;
}
}
}
.modal {
background-color: rgba(0, 0, 0, 0) !important;
}
.trans-enter-active,
.trans-leave-active {
transition: opacity 0.5s;
}
.trans-enter,
.trans-leave-active {
opacity: 0;
}
.hide {
display: flex;
justify-content: flex-start;
align-items: center;
img {
width: 30px;
height: 30px;
margin-left: 65%;
}
}
.wrap {
padding-top: 92px;
}
.modal-show {
width: 100%;
height: 100%;
position: absolute;
display: flex;
z-index: 900;
background-color: rgba(56, 63, 69, 0.3);
justify-content: center;
align-items: center;
.down {
position: relative;
width: 314px;
height: 516px;
z-index: 999;
background-size: 301px 24.7px;
background-color: #fff;
}
.top {
width: 100%;
height: 44px;
font-family: PingFangSC-Semibold;
font-size: 16px;
letter-spacing: 0;
text-align: center;
line-height: 44px;
color: #fff;
background: #0041c4;
img {
width: 16px;
height: 16px;
float: right;
margin-top: 13px;
margin-right: 20px;
}
}
.down-content {
margin-top: 8px;
span:first-child {
font-family: PingFangSC-Regular;
font-size: 13px;
color: #656464;
letter-spacing: 0;
margin-left: 15px;
}
.photo {
width: 172px;
height: 120px;
border: 1px solid #dcdcdd;
border-radius: 2px;
margin: 0 auto;
margin-top: 12px;
background: url("../../assets/contractStart/photo.png") 70px no-repeat;
background-size: 24px 20px;
img {
width: 100%;
height: 100%;
}
}
}
button {
width: 240px;
height: 40px;
position: absolute;
color: #fff;
bottom: 10px;
left: 30.5px;
background-color: #0041c4;
border-radius: 4px;
}
}
</style>
<template>
<h-view id="contract-signing">
<h-header :proportion="[5, 1, 1]" class="bar-custom">
<h-header :proportion="[5, 1, 3]" 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="$routeGo()" >
<span>融租方案确认</span>
</div>
<div slot="right" class="h-header-btn" @click="addNew()"><span>新增</span></div>
</h-header>
<!-- <div class="tab-style has-header">
<div :class="{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1; isRadio = false">
......@@ -18,21 +20,22 @@
</div> -->
<!-- 搜索 -->
<div class="search">
<input v-model="searchInput" type="text" placeholder="请输入承租人名称" />
<input v-model="searchInput" type="text" placeholder="请输入承租人名称" >
</div>
<scroll ref="scroll" :updateData="[showLists]" :pullUp="true" @pullingUp="loadMore">
<div class="wrap">
<div v-for="(item,index) in showLists" :key="index" class="contract-lists">
<div class="pro-code" @click="goDetails(item)">
<img src="@/assets/distributorSign/fileIcon.png" alt class="file-icon" />
<img src="@/assets/distributorSign/fileIcon.png" alt class="file-icon" >
<p>
<span>合同编号</span>
<span>{{ item.project_number }}</span>
</p>
<img v-if="item.read_check === 'N'" src="@/assets/constractSigning/unread.png" alt class="unread" />
<img v-if="item.read_check === 'Y'" src="@/assets/constractSigning/read.png" alt class="unread" />
<img src="@/assets/constractSigning/righticon.png" alt class="arrow" />
<img v-if="item.read_check === 'N'" src="@/assets/constractSigning/unread.png" alt class="unread" >
<img v-if="item.read_check === 'Y'" src="@/assets/constractSigning/read.png" alt class="unread" >
<img src="@/assets/constractSigning/righticon.png" alt class="arrow" >
</div>
<div class="box">
<div
......@@ -41,13 +44,13 @@
class="check-box"
@click.stop="clickRadio(item)"
>
<div v-show="!item.checked"></div>
<img v-show="item.checked" src="@/assets/contractCreate/selected.png" alt="已选择" />
<div v-show="!item.checked"/>
<img v-show="item.checked" src="@/assets/contractCreate/selected.png" alt="已选择" >
</div>
<div
:style="{ marginLeft: !isRadio ? '50px' : '0' }"
class="text"
style="flex: 0 1 calc(100vw - 55px)"
:style="{ marginLeft: !isRadio ? '50px' : '0' }"
>
<div>
<p>承租人</p>
......@@ -65,6 +68,7 @@
<!-- <p>产品名称</p>-->
<!-- <p>{{ item.division_n }}</p>-->
<!-- </div>-->
<div>
<p>申请时间</p>
<p>{{ dateConverse(item.sale_date) }}</p>
......@@ -74,27 +78,27 @@
</div>
</div>
</scroll>
<!-- <div class="check-bottom">-->
<!-- <div class="choose" v-show="isRadio">-->
<!-- <div class="radio" @click="allChoose(!chooseAll)">-->
<!-- <img v-show="chooseAll" src="@/assets/login/radio.png" alt="radio" />-->
<!-- <div class="no-check" v-show="!chooseAll"></div>-->
<!-- <span :style="{ color: chooseAll ? '#1d3fff' : 'rgb(212,214,212)' }">全选</span>-->
<!-- </div>-->
<!-- <button class="cancel" @click="cancelRadio">× 取消批量</button>-->
<!-- <button class="sign" @click="signContract">签订征信授权书</button>-->
<!-- </div>-->
<!-- <div class="check-bottom">-->
<!-- <div class="choose" v-show="isRadio">-->
<!-- <div class="radio" @click="allChoose(!chooseAll)">-->
<!-- <img v-show="chooseAll" src="@/assets/login/radio.png" alt="radio" />-->
<!-- <div class="no-check" v-show="!chooseAll"></div>-->
<!-- <span :style="{ color: chooseAll ? '#1d3fff' : 'rgb(212,214,212)' }">全选</span>-->
<!-- </div>-->
<!-- <button class="cancel" @click="cancelRadio">× 取消批量</button>-->
<!-- <button class="sign" @click="signContract">签订征信授权书</button>-->
<!-- </div>-->
<!-- <div class="button-box" v-show="num == 1 && !isRadio">-->
<!-- <div class="go-radio" @click="isRadio = true">-->
<!-- <img src="@/assets/login/write.png" alt="icon" />-->
<!-- <span>批量签署</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="button-box" v-show="num == 1 && !isRadio">-->
<!-- <div class="go-radio" @click="isRadio = true">-->
<!-- <img src="@/assets/login/write.png" alt="icon" />-->
<!-- <span>批量签署</span>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div v-if="showLists.length === 0">
<div class="display">
<img src="@/assets/messageCenter/noMsg.png" alt />
<img src="@/assets/messageCenter/noMsg.png" alt >
</div>
</div>
</h-view>
......@@ -107,7 +111,7 @@ import unCheck1 from '@/assets/constractSigning/no-undone.png'
import unCheck2 from '@/assets/constractSigning/yes-undone.png'
export default {
data() {
data () {
return {
num: 1,
pagenum: 1,
......@@ -131,7 +135,7 @@ export default {
},
watch: {
'num': {
handler(newVal, oldVal) {
handler (newVal, oldVal) {
// this.$refs.scroll.update(false)
if (newVal === 2) {
if (!this.approvedFlag) {
......@@ -145,7 +149,7 @@ export default {
}
},
},
searchInput() {
searchInput () {
let vm = this
if (vm.timeout) {
clearTimeout(vm.timeout)
......@@ -155,13 +159,13 @@ export default {
}, 1000)
},
},
activated() {
activated () {
},
created() {
created () {
},
beforeRouteEnter(to, from, next) {
beforeRouteEnter (to, from, next) {
next(vm => {
if (from.name === 'MyInfo' || from.name === 'MyContract') {
vm.num = 1
......@@ -187,37 +191,37 @@ export default {
})
},
methods: {
signContract() {
let list = this.showLists.filter(item => item.checked);
if (!list.length) return hlsPopup.showLongCenter('请选择合同');
if(list.findIndex(item => item.read_check === 'N') > -1) return hlsPopup.showLongCenter('您有授权书未阅读,请阅读后再签署');
list = list.map(item => {item.checked = false; return item});
window.localStorage.setItem('handleContact', JSON.stringify(list));
this.$router.push({ path: '/batchSign', query: { name: 'contract' } });
signContract () {
let list = this.showLists.filter(item => item.checked)
if (!list.length) return hlsPopup.showLongCenter('请选择合同')
if (list.findIndex(item => item.read_check === 'N') > -1) return hlsPopup.showLongCenter('您有授权书未阅读,请阅读后再签署')
list = list.map(item => { item.checked = false; return item })
window.localStorage.setItem('handleContact', JSON.stringify(list))
this.$router.push({ path: '/batchSign', query: { name: 'contract' } })
},
clickRadio(item) {
item.checked = !item.checked;
clickRadio (item) {
item.checked = !item.checked
this.chooseAll = this.showLists.every(item => item.checked);
this.$forceUpdate();
this.chooseAll = this.showLists.every(item => item.checked)
this.$forceUpdate()
},
allChoose(status) {
this.chooseAll = status;
allChoose (status) {
this.chooseAll = status
this.showLists = this.showLists.map(item => {
item.checked = status;
return item;
});
item.checked = status
return item
})
},
cancelRadio() {
this.isRadio = false; // 关闭多选菜单
this.allChoose(false); // 关闭全选按钮
cancelRadio () {
this.isRadio = false // 关闭多选菜单
this.allChoose(false) // 关闭全选按钮
},
dateConverse(date) {
dateConverse (date) {
return date.replace(/\//g, '-')
},
// 合同查询
contractList() {
contractList () {
let vm = this
if (vm.num === 1) {
let url = $config.basePath + 'zm_prj_list_query'
......@@ -234,8 +238,8 @@ export default {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.submitLists = res.lists.map(item => {
item.checked = false;
return item;
item.checked = false
return item
})
vm.showLists = vm.submitLists
if (res.lists.length > 0 && res.lists.length < 10) {
......@@ -263,8 +267,8 @@ export default {
if (res.result === 'S') {
console.log(res.lists)
vm.approvedLists = res.lists.map(item => {
item.checked = false;
return item;
item.checked = false
return item
})
vm.approvedFlag = true
vm.showLists = vm.approvedLists
......@@ -280,7 +284,7 @@ export default {
}
},
loadMore() {
loadMore () {
let vm = this
if (vm.num === 1) {
vm.submitPagenum++
......@@ -358,7 +362,7 @@ export default {
})
}
},
async submitSearch() {
async submitSearch () {
let vm = this
vm.submitPagenum = 1
let url = $config.basePath + 'zm_prj_list_query'
......@@ -376,8 +380,8 @@ export default {
if (res.result === 'S') {
vm.hlsPopup.hideLoading()
vm.submitLists = res.lists.map(item => {
item.checked = false;
return item;
item.checked = false
return item
})
if (vm.num === 1) {
vm.showLists = vm.submitLists
......@@ -394,7 +398,7 @@ export default {
return false
}
},
approvedearch() {
approvedearch () {
let vm = this
let url = $config.basePath + 'zm_prj_list_query'
vm.approvedPagenum = 1
......@@ -409,8 +413,8 @@ export default {
}
vm.hlsHttp.post(url, param).then(function (res) {
vm.approvedLists = res.lists.map(item => {
item.checked = false;
return item;
item.checked = false
return item
})
if (vm.num === 2) {
vm.showLists = vm.approvedLists
......@@ -423,14 +427,14 @@ export default {
}
})
},
async search() {
async search () {
let res = await this.submitSearch()
if (res) {
this.approvedearch()
}
},
goDetails(item) {
goDetails (item) {
this.$router.push({
name: 'ContractDetail',
params: {
......@@ -441,6 +445,12 @@ export default {
},
})
},
addNew () {
this.$router.push({
name: 'ContractNew',
})
},
},
}
</script>
......
......@@ -68,6 +68,7 @@ const EntryInfo = resolve => require.ensure([], () => { resolve(require('@/pages
const ElectronicSign = resolve => require.ensure([], () => { resolve(require('@/pages/ContractSigning/electronic-sign')) }, 'contractSigning')
/* const BodyCheck = resolve=>require.ensure([],()=>{resolve(require(@/pages/ContractSigning/body-check')) }, 'contractSigning') */
const ContractRepayPlan = resolve => require.ensure([], () => { resolve(require('@/pages/ContractSigning/contract-repay-plan')) }, 'contractSigning')
const ContractNew = resolve => require.ensure([], () => { resolve(require('@/pages/ContractSigning/contract-new')) }, 'contractSigning')
// 首付款支付
const FirstPay = resolve => require.ensure([], () => { resolve(require('@/pages/pay/firstPay/first-pay')) }, 'firstPay')
......@@ -275,6 +276,7 @@ export default new Router({
{path: '/entry-info', component: EntryInfo, name: 'EntryInfo', meta: {keepAlive: true}},
{path: '/contract-repay-plan', component: ContractRepayPlan, name: 'ContractRepayPlan', meta: {keepAlive: false}},
{path: '/electronic-sign', component: ElectronicSign, name: 'ElectronicSign', meta: {keepAlive: false}},
{path: '/contract-new', component: ContractNew, name: 'ContractNew', meta: {keepAlive: false}},
// 首付款支付
{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