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

融资方案

parents a2bb55d3 1b2c7b7a
...@@ -25,6 +25,10 @@ export default { ...@@ -25,6 +25,10 @@ export default {
// type: Boolean, // type: Boolean,
// default: true, // default: true,
// }, // },
readonly: {
type: Boolean,
default: false,
},
content: { content: {
type: String, type: String,
default: '', default: '',
...@@ -59,6 +63,7 @@ export default { ...@@ -59,6 +63,7 @@ export default {
methods: { methods: {
keyboradShow () { keyboradShow () {
let vm = this let vm = this
if (!vm.readonly) {
hlsPopup.showNumberKeyborad({ hlsPopup.showNumberKeyborad({
title: '数字键盘', title: '数字键盘',
keyDown: (text) => { keyDown: (text) => {
...@@ -68,13 +73,14 @@ export default { ...@@ -68,13 +73,14 @@ export default {
vm.onDelete() vm.onDelete()
}, },
}) })
}
}, },
onInput (value) { onInput (value) {
// if (this.disable) return // if (this.disable) return
if(this.value === '0' || this.value === '0.00') { if (this.value === '0' || this.value === '0.00') {
this.newVal = '' this.newVal = ''
this.newVal += ('' + value) this.newVal += ('' + value)
}else{ } else {
this.newVal = this.value this.newVal = this.value
if (this.newVal.includes('.') && value === '.') { if (this.newVal.includes('.') && value === '.') {
} else { } else {
......
...@@ -36,16 +36,16 @@ ...@@ -36,16 +36,16 @@
</transition> </transition>
<h-header :proportion="[5, 1, 1]" class="bar-custom"> <h-header :proportion="[5, 1, 1]" class="bar-custom">
<div slot="left" class="h-header-btn"> <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> <span>方案详情</span>
</div> </div>
</h-header> </h-header>
<div class="tab-style"> <div class="tab-style">
<div :class="{ 'done': num === 0, 'undone': num !== 0 }" @click="num = 0;"> <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>
<div :class="{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1;"> <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>
</div> </div>
<h-content v-if="num === 0" class="business-condition"> <h-content v-if="num === 0" class="business-condition">
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
</item> </item>
<item> <item>
<div slot="name" class="font-color">注册资本</div> <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>
<item> <item>
<div slot="name" class="font-color">注册地址</div> <div slot="name" class="font-color">注册地址</div>
...@@ -82,19 +82,19 @@ ...@@ -82,19 +82,19 @@
</item> </item>
<item> <item>
<div slot="name" class="font-color">经营地址</div> <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>
<item> <item>
<div slot="name" class="font-color">固定电话</div> <div slot="name" class="font-color">固定电话</div>
<input slot="content" v-model="baseInfo.phone" > <input slot="content" v-model="baseInfo.phone">
</item> </item>
<item> <item>
<div slot="name" class="font-color">是否授权</div> <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>
<item> <item>
<div slot="name" class="font-color">是否征信授权</div> <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> </item>
</list-item> </list-item>
<div class="equipment-list">法定代表人</div> <div class="equipment-list">法定代表人</div>
...@@ -113,8 +113,7 @@ ...@@ -113,8 +113,7 @@
</item> </item>
<item> <item>
<div slot="name" class="font-color">联系地址</div> <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> </item>
</list-item> </list-item>
<div class="equipment-list"> <div class="equipment-list">
...@@ -129,9 +128,9 @@ ...@@ -129,9 +128,9 @@
<span class="card-num">证件号</span> <span class="card-num">证件号</span>
</div> </div>
<div slot="content" class="right"> <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> <span :title="item.bp_name">{{ item.bp_name }}</span>
<br > <br>
<span>{{ item.bp_class === 'NP' ? item.id_card_no : item.organization_code }}</span> <span>{{ item.bp_class === 'NP' ? item.id_card_no : item.organization_code }}</span>
</div> </div>
</item> </item>
...@@ -148,22 +147,22 @@ ...@@ -148,22 +147,22 @@
:key="index+'info2'" :key="index+'info2'"
class="card-upload" 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')"> <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> </div>
<!--特批 从服务器上下载的图片--> <!--特批 从服务器上下载的图片-->
<div v-for="(pic, index) in dowload_list_mining" :key="index+'mining'"> <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"> <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')"> <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>
</div> </div>
<div class="card-upload plus" @click="ocrShow('采矿权许可证',miningCheckId,'mining')"> <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>
</div> </div>
</list-item> </list-item>
...@@ -175,7 +174,7 @@ ...@@ -175,7 +174,7 @@
<div slot="name" class="font-color">纳税人类型</div> <div slot="name" class="font-color">纳税人类型</div>
<input <input
slot="content" slot="content"
v-model="invoiceInfo.taxpayer_type_n" v-model="baseInfo.taxpayer_type_n"
type="text" type="text"
readonly readonly
placeholder="请选择" placeholder="请选择"
...@@ -186,7 +185,7 @@ ...@@ -186,7 +185,7 @@
<div slot="name" class="font-color">发票类型</div> <div slot="name" class="font-color">发票类型</div>
<input <input
slot="content" slot="content"
v-model="invoiceInfo.invoice_kind_n" v-model="baseInfo.invoice_kind_n"
type="text" type="text"
readonly readonly
placeholder="请选择" placeholder="请选择"
...@@ -195,43 +194,43 @@ ...@@ -195,43 +194,43 @@
</item> </item>
<item> <item>
<div slot="name" class="font-color">发票抬头</div> <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>
<item> <item>
<div slot="name" class="font-color">发票地址</div> <div slot="name" class="font-color">发票地址</div>
<textarea <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" rows="1"
type="text" placeholder="请输入发票地址" @input="addRows(invoiceInfo.invoice_adds)" /> type="text" placeholder="请输入发票地址" @input="addRows(baseInfo.invoice_adds)"/>
</item> </item>
<item> <item>
<div slot="name" class="font-color">开户电话</div> <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>
<item> <item>
<div slot="name" class="font-color">发票开户行</div> <div slot="name" class="font-color">发票开户行</div>
<textarea <textarea
slot="content" slot="content"
ref="myTestareaLive" ref="myTestareaLive"
v-model="invoiceInfo.open_bank" v-model="baseInfo.open_bank"
cols="22" cols="22"
rows="1" rows="1"
type="text" type="text"
placeholder="请输入发票开户行" placeholder="请输入发票开户行"
@input="addRowsLive(invoiceInfo.open_bank)" @input="addRowsLive(baseInfo.open_bank)"
/> />
</item> </item>
<item> <item>
<div slot="name" class="font-color">开户行账号</div> <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> <!--<item>
<div slot="name" class="font-color">纳税人识别号</div> <div slot="name" class="font-color">纳税人识别号</div>
<input <input
slot="content" slot="content"
v-model="invoiceInfo.organization_code" placeholder="纳税人识别号" type="text" v-model="invoiceInfo.organization_code" placeholder="纳税人识别号" type="text"
> >
</item> </item>-->
</list-item> </list-item>
<div class="equipment-list"> <div class="equipment-list">
基本账户信息 基本账户信息
...@@ -303,22 +302,22 @@ ...@@ -303,22 +302,22 @@
:key="index+'info2'" :key="index+'info2'"
class="card-upload" 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')"> <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> </div>
<!--特批 从服务器上下载的图片--> <!--特批 从服务器上下载的图片-->
<div v-for="(pic, index) in dowload_list_report" :key="index+'report'"> <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"> <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')"> <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>
</div> </div>
<div class="card-upload plus" @click="ocrShow('财务报表',reportCheckId,'report')"> <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>
</div> </div>
</list-item> </list-item>
...@@ -411,7 +410,7 @@ ...@@ -411,7 +410,7 @@
<!-- <p @click="repayPlan">查看还款计划</p>--> <!-- <p @click="repayPlan">查看还款计划</p>-->
<!-- </div>--> <!-- </div>-->
<div class="equipment-list-fund"> <div class="equipment-list-fund">
<span /> <span/>
<p>设备清单</p> <p>设备清单</p>
<div style="width: 75%;text-align: right;" @click="downNum=true">新增</div> <div style="width: 75%;text-align: right;" @click="downNum=true">新增</div>
</div> </div>
...@@ -422,16 +421,16 @@ ...@@ -422,16 +421,16 @@
<!-- </item>--> <!-- </item>-->
<item> <item>
<div slot="name" class="font-color">产品名称</div> <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>
<item> <item>
<div slot="name" class="font-color">产品数量</div> <div slot="name" class="font-color">产品数量</div>
<input slot="content" v-model="item.quantity" readonly > <input slot="content" v-model="item.quantity" readonly>
</item> </item>
</list-item> </list-item>
</h-content> </h-content>
<bottom-tab class="add-box"> <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" >保存 <img src="@/assets/intoApproval/approve.png" >保存
</tab-button> </tab-button>
</bottom-tab> </bottom-tab>
...@@ -447,17 +446,17 @@ import unCheck2 from '@/assets/constractSigning/unconstract.png' ...@@ -447,17 +446,17 @@ import unCheck2 from '@/assets/constractSigning/unconstract.png'
import unCheck3 from '@/assets/constractSigning/unLease.png' import unCheck3 from '@/assets/constractSigning/unLease.png'
import LegalPerson from '@/pages/distributorSign/legal-person' import LegalPerson from '@/pages/distributorSign/legal-person'
import Personal from '@/pages/distributorSign/personal' import Personal from '@/pages/distributorSign/personal'
import PDFJS from 'pdfjs-dist'
import CurrencyInput from '@/components/currencyInput' import CurrencyInput from '@/components/currencyInput'
import RateInput from '@/components/rateInput' import RateInput from '@/components/rateInput'
// import bodyCheck from './body-check'
import axios from 'axios'
import PDFJS from 'pdfjs-dist'
export default { export default {
name: 'ContractDetail', name: 'ContractDetail',
components: { components: {
Personal, Personal,
LegalPerson, LegalPerson,
CurrencyInput,
RateInput,
// bodyCheck, // bodyCheck,
}, },
data () { data () {
...@@ -481,7 +480,9 @@ export default { ...@@ -481,7 +480,9 @@ export default {
attachArray: [], // 附件数组 attachArray: [], // 附件数组
bp_class: this.$route.params.item.bp_class, // 承租人性质(自然人,企业) bp_class: this.$route.params.item.bp_class, // 承租人性质(自然人,企业)
info: {}, // 租赁信息 info: {}, // 租赁信息
baseInfo: {}, // 基本信息 baseInfo: {
credit_flag: true,
}, // 基本信息
project_id: '', project_id: '',
bank_flag: false, bank_flag: false,
isConfirm: false, // 征信授权书状态 isConfirm: false, // 征信授权书状态
...@@ -510,18 +511,7 @@ export default { ...@@ -510,18 +511,7 @@ export default {
legalPic: '', // 法人授权书图片 legalPic: '', // 法人授权书图片
abc_deduction_flag: 'N', // 代扣授权书状态 abc_deduction_flag: 'N', // 代扣授权书状态
signCheckFlag: false, // 签约校验,为true已认证通过可进行签约,否则不可签约 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_lists: {
bank_account_num: '', // 卡号 bank_account_num: '', // 卡号
bank_account_name: '', // 账户姓名 bank_account_name: '', // 账户姓名
...@@ -531,7 +521,7 @@ export default { ...@@ -531,7 +521,7 @@ export default {
}, },
quotationInfo: {}, quotationInfo: {},
leaseList: [], leaseList: [],
itemInfo:{}, itemInfo: {},
downNum: false, downNum: false,
checkId: '', checkId: '',
reportCheckId: '', reportCheckId: '',
...@@ -711,6 +701,7 @@ export default { ...@@ -711,6 +701,7 @@ export default {
if (res.result === 'S') { if (res.result === 'S') {
// vm.lists = res.lists // vm.lists = res.lists
vm.baseInfo = res.info vm.baseInfo = res.info
if (res.info.auth_flag) { if (res.info.auth_flag) {
window.localStorage.setItem('auth_flag', res.info.auth_flag) window.localStorage.setItem('auth_flag', res.info.auth_flag)
} }
...@@ -718,25 +709,7 @@ export default { ...@@ -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) { addRows (e) {
if (e) { if (e) {
...@@ -845,26 +818,22 @@ export default { ...@@ -845,26 +818,22 @@ export default {
} }
}) })
}, },
// selectBpTenant (e) { selectBpTenant (e) {
// let vm = this let vm = this
// vm.hlsPopup.selectList({ vm.hlsPopup.selectList({
// list: vm.bpTenantList, list: vm.bpTenantList,
// code: 'bp_id', code: 'bp_id',
// object: {}, object: {},
// returnItem: function (index, obj) { returnItem: function (index, obj) {
// debugger debugger
// console.log(vm.bpTenantList[index]) // console.log(vm.bpTenantList[index])
// vm.baseInfo = { vm.baseInfo = {
// ...vm.baseInfo, ...vm.baseInfo,
// ...vm.bpTenantList[index], ...vm.bpTenantList[index],
// } }
// vm.invoiceInfo = { },
// ...vm.invoiceInfo, })
// ...vm.bpTenantList[index], },
// }
// },
// })
// },
getAttachmentList (checkId, code) { getAttachmentList (checkId, code) {
let vm = this let vm = this
let url = let url =
...@@ -934,9 +903,9 @@ export default { ...@@ -934,9 +903,9 @@ export default {
code: 'bp_type', code: 'bp_type',
object: {}, object: {},
returnItem: function (index, obj) { returnItem: function (index, obj) {
vm.$set(vm.invoiceInfo, 'taxpayer_type', obj.bp_type) vm.$set(vm.baseInfo, 'taxpayer_type', obj.bp_type)
vm.$set(vm.invoiceInfo, 'taxpayer_type_n', obj.bp_type_n) vm.$set(vm.baseInfo, 'taxpayer_type_n', obj.bp_type_n)
console.log('obj', vm.invoiceInfo) console.log('obj', vm.baseInfo)
}, },
}) })
}, },
...@@ -947,8 +916,8 @@ export default { ...@@ -947,8 +916,8 @@ export default {
code: 'bp_type', code: 'bp_type',
object: {}, object: {},
returnItem: function (index, obj) { returnItem: function (index, obj) {
vm.$set(vm.invoiceInfo, 'invoice_kind', obj.bp_type) vm.$set(vm.baseInfo, 'invoice_kind', obj.bp_type)
vm.$set(vm.invoiceInfo, 'invoice_kind_n', obj.bp_type_n) vm.$set(vm.baseInfo, 'invoice_kind_n', obj.bp_type_n)
}, },
}) })
}, },
...@@ -1170,19 +1139,43 @@ export default { ...@@ -1170,19 +1139,43 @@ export default {
code: 'bp_type', code: 'bp_type',
object: {}, object: {},
returnItem: function (index, obj) { returnItem: function (index, obj) {
vm.info.annual_pay_times_n = obj.bp_type_n vm.$set(vm.quotationInfo,'annual_pay_times_n',obj.bp_type_n)
vm.annual_pay_times = obj.bp_type 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 () { prjBaseInfoSave () {
let vm = this let vm = this
let url = $config.basePath + 'zm_prj_base_info_save' let url = $config.basePath + 'zm_prj_base_info_save'
let param = { let master = {
'project_id': vm.project_id, ...vm.baseInfo, ...vm.bank_lists,...vm.invoiceInfo
'operator_id': '', }
...vm.baseInfo, master.project_id=vm.project_id
let param={
master
} }
vm.hlsPopup.showLoading('请稍候') vm.hlsPopup.showLoading('请稍候')
vm.hlsHttp.post(url, param).then(function (res) { vm.hlsHttp.post(url, param).then(function (res) {
...@@ -1220,6 +1213,7 @@ export default { ...@@ -1220,6 +1213,7 @@ export default {
// 方案信息保存&更新接口 // 方案信息保存&更新接口
calculationSave () { calculationSave () {
let vm = this let vm = this
<<<<<<< HEAD
if (!vm.quotationInfo.equip_price) { if (!vm.quotationInfo.equip_price) {
hlsPopup.showLongCenter('请输入设备总价') hlsPopup.showLongCenter('请输入设备总价')
} else if (!vm.quotationInfo.gps_fee) { } else if (!vm.quotationInfo.gps_fee) {
...@@ -1256,19 +1250,30 @@ export default { ...@@ -1256,19 +1250,30 @@ export default {
hlsPopup.showLongCenter(res.message) 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> </script>
<style lang="less" rel="stylesheet"> <style lang="less" rel="stylesheet">
#contract-details { #contract-details {
.outer { .outer {
width: 259px; width: 259px;
height: 370px; height: 370px;
background-color: #fff; background-color: #fff;
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
.canvas { .canvas {
position: relative; position: relative;
z-index: 0; z-index: 0;
...@@ -1285,6 +1290,7 @@ export default { ...@@ -1285,6 +1290,7 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
button { button {
width: 7.172rem; width: 7.172rem;
height: 0.88rem; height: 0.88rem;
...@@ -1297,6 +1303,7 @@ export default { ...@@ -1297,6 +1303,7 @@ export default {
letter-spacing: 0.2rem; letter-spacing: 0.2rem;
} }
} }
.bodyCheck { .bodyCheck {
width: 100%; width: 100%;
height: 1.1rem; height: 1.1rem;
...@@ -1306,6 +1313,7 @@ export default { ...@@ -1306,6 +1313,7 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
button { button {
width: 7.172rem; width: 7.172rem;
height: 0.88rem; height: 0.88rem;
...@@ -1318,6 +1326,7 @@ export default { ...@@ -1318,6 +1326,7 @@ export default {
letter-spacing: 0.2rem; letter-spacing: 0.2rem;
} }
} }
.footer-button { .footer-button {
.approve { .approve {
width: 358.6px; width: 358.6px;
...@@ -1329,12 +1338,14 @@ export default { ...@@ -1329,12 +1338,14 @@ export default {
font-size: 15px; font-size: 15px;
line-height: 20px; line-height: 20px;
letter-spacing: 10px; letter-spacing: 10px;
img { img {
width: 16.8px; width: 16.8px;
height: 16.8px; height: 16.8px;
} }
} }
} }
.name-box { .name-box {
display: inline-block; display: inline-block;
text-align: center; text-align: center;
...@@ -1345,6 +1356,7 @@ export default { ...@@ -1345,6 +1356,7 @@ export default {
background: #cddbec; background: #cddbec;
border-radius: 4px; border-radius: 4px;
} }
.name { .name {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 14px; font-size: 14px;
...@@ -1352,6 +1364,7 @@ export default { ...@@ -1352,6 +1364,7 @@ export default {
letter-spacing: 0; letter-spacing: 0;
margin-left: 10px; margin-left: 10px;
} }
.card-num { .card-num {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 14px; font-size: 14px;
...@@ -1361,9 +1374,11 @@ export default { ...@@ -1361,9 +1374,11 @@ export default {
margin-left: 31px; margin-left: 31px;
margin-top: 7px; margin-top: 7px;
} }
.right { .right {
position: relative; position: relative;
} }
.right span { .right span {
float: right; float: right;
margin-right: 48px; margin-right: 48px;
...@@ -1380,9 +1395,11 @@ export default { ...@@ -1380,9 +1395,11 @@ export default {
margin-top: -10px; margin-top: -10px;
text-align: right; text-align: right;
} }
.right span:last-child { .right span:last-child {
margin-top: 7px; margin-top: 7px;
} }
.right img { .right img {
position: absolute; position: absolute;
top: 30%; top: 30%;
...@@ -1390,14 +1407,17 @@ export default { ...@@ -1390,14 +1407,17 @@ export default {
width: 14px; width: 14px;
height: 16px; height: 16px;
} }
.alert { .alert {
padding-bottom: 30px; padding-bottom: 30px;
width: 100%; width: 100%;
background: #fbf2d2; background: #fbf2d2;
} }
.alert-fund { .alert-fund {
margin-top: -10px; margin-top: -10px;
} }
.alert-content { .alert-content {
width: 334px; width: 334px;
margin: 0 auto; margin: 0 auto;
...@@ -1416,6 +1436,7 @@ export default { ...@@ -1416,6 +1436,7 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.top-word { .top-word {
p { p {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
...@@ -1427,6 +1448,7 @@ export default { ...@@ -1427,6 +1448,7 @@ export default {
text-indent: 16px; text-indent: 16px;
position: relative; position: relative;
} }
p::before { p::before {
content: ""; content: "";
display: block; display: block;
...@@ -1439,6 +1461,7 @@ export default { ...@@ -1439,6 +1461,7 @@ export default {
background-color: #fcc800; background-color: #fcc800;
} }
} }
.top-info { .top-info {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 12px; font-size: 12px;
...@@ -1456,17 +1479,20 @@ export default { ...@@ -1456,17 +1479,20 @@ export default {
width: 18px; width: 18px;
height: 18px; height: 18px;
} }
.font-color { .font-color {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 14px; font-size: 14px;
color: #656464; color: #656464;
letter-spacing: 0; letter-spacing: 0;
} }
.repay-plan { .repay-plan {
height: 44px; height: 44px;
width: 100%; width: 100%;
margin-top: -10px; margin-top: -10px;
background: #f2f2f2; background: #f2f2f2;
p { p {
font-family: PingFangSC-Semibold; font-family: PingFangSC-Semibold;
font-size: 14px; font-size: 14px;
...@@ -1480,6 +1506,7 @@ export default { ...@@ -1480,6 +1506,7 @@ export default {
margin-left: 16px; margin-left: 16px;
} }
} }
.equipment-list-fund { .equipment-list-fund {
height: 40px; height: 40px;
line-height: 40px; line-height: 40px;
...@@ -1496,10 +1523,12 @@ export default { ...@@ -1496,10 +1523,12 @@ export default {
height: 20px; height: 20px;
background: #00469c; background: #00469c;
} }
p { p {
padding-left: 10px; padding-left: 10px;
} }
} }
.all { .all {
position: absolute; position: absolute;
background-color: transparent; background-color: transparent;
...@@ -1584,10 +1613,12 @@ export default { ...@@ -1584,10 +1613,12 @@ export default {
margin: 0 4px; margin: 0 4px;
line-height: 32px; line-height: 32px;
} }
.undone { .undone {
background: rgba(220, 220, 221, 0.26); background: rgba(220, 220, 221, 0.26);
color: #383f45; color: #383f45;
} }
.done { .done {
background: rgba(0, 70, 156, 0.1); background: rgba(0, 70, 156, 0.1);
color: #00469c; color: #00469c;
...@@ -1694,6 +1725,7 @@ export default { ...@@ -1694,6 +1725,7 @@ export default {
letter-spacing: 0; letter-spacing: 0;
} }
} }
.aguremrnt-list { .aguremrnt-list {
display: flex; display: flex;
display: -webkit-flex; display: -webkit-flex;
...@@ -1701,11 +1733,13 @@ export default { ...@@ -1701,11 +1733,13 @@ export default {
-webkit-align-items: center; -webkit-align-items: center;
width: 100%; width: 100%;
height: 100%; height: 100%;
.unread { .unread {
width: 34px; width: 34px;
height: 20px; height: 20px;
margin: 0 10px; margin: 0 10px;
} }
.wrap-img { .wrap-img {
width: 12%; width: 12%;
height: 100%; height: 100%;
...@@ -1716,11 +1750,13 @@ export default { ...@@ -1716,11 +1750,13 @@ export default {
justify-content: center; justify-content: center;
-webkit-justify-content: center; -webkit-justify-content: center;
background: rgb(254, 251, 233); background: rgb(254, 251, 233);
img { img {
width: 22px; width: 22px;
height: 20px; height: 20px;
} }
} }
.pic { .pic {
margin-left: -3px; margin-left: -3px;
} }
...@@ -1761,6 +1797,7 @@ export default { ...@@ -1761,6 +1797,7 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.box { .box {
position: relative; position: relative;
width: 301px; width: 301px;
...@@ -1769,11 +1806,13 @@ export default { ...@@ -1769,11 +1806,13 @@ export default {
background: url("../../assets/intoApproval/top.png") no-repeat; background: url("../../assets/intoApproval/top.png") no-repeat;
background-size: 301px 24.7px; background-size: 301px 24.7px;
background-color: #fff; background-color: #fff;
img { img {
position: absolute; position: absolute;
z-index: 999; z-index: 999;
width: 301px; width: 301px;
} }
button { button {
width: 240px; width: 240px;
height: 40px; height: 40px;
...@@ -1783,6 +1822,7 @@ export default { ...@@ -1783,6 +1822,7 @@ export default {
left: 30.5px; left: 30.5px;
background-color: rgba(56, 63, 69, 0.5); background-color: rgba(56, 63, 69, 0.5);
} }
.title-box { .title-box {
width: 100%; width: 100%;
display: block; display: block;
...@@ -1792,6 +1832,7 @@ export default { ...@@ -1792,6 +1832,7 @@ export default {
font-size: 16px; font-size: 16px;
color: #00469c; color: #00469c;
} }
.content-box { .content-box {
width: 240px; width: 240px;
height: 280px; height: 280px;
...@@ -1801,23 +1842,28 @@ export default { ...@@ -1801,23 +1842,28 @@ export default {
margin: 0 auto; margin: 0 auto;
margin-top: 12px; margin-top: 12px;
overflow-y: scroll; overflow-y: scroll;
div { div {
height: 20px; height: 20px;
line-height: 20px; line-height: 20px;
} }
p { p {
text-indent: 22px; text-indent: 22px;
line-height: 16px; line-height: 16px;
margin-top: 6px; margin-top: 6px;
} }
.font-blod { .font-blod {
font-weight: bold; font-weight: bold;
text-indent: 0; text-indent: 0;
} }
.sec { .sec {
text-indent: 22px; text-indent: 22px;
} }
} }
.confirm { .confirm {
width: 240px; width: 240px;
height: 20px; height: 20px;
...@@ -1833,12 +1879,14 @@ export default { ...@@ -1833,12 +1879,14 @@ export default {
align-items: center; align-items: center;
position: relative; position: relative;
margin-top: 15px; margin-top: 15px;
input { input {
width: 16px; width: 16px;
height: 16px; height: 16px;
margin-right: 8px; margin-right: 8px;
background: none; background: none;
} }
input::before { input::before {
content: ""; content: "";
display: block; display: block;
...@@ -1847,15 +1895,18 @@ export default { ...@@ -1847,15 +1895,18 @@ export default {
} }
} }
} }
.approveContent { .approveContent {
position: absolute; position: absolute;
top: 50%; top: 50%;
background-color: #fafafa; background-color: #fafafa;
overflow-y: scroll; overflow-y: scroll;
} }
.approveBottom { .approveBottom {
width: 343px; width: 343px;
margin: 0 auto; margin: 0 auto;
span { span {
display: block; display: block;
width: 100%; width: 100%;
...@@ -1865,16 +1916,19 @@ export default { ...@@ -1865,16 +1916,19 @@ export default {
height: 21px; height: 21px;
line-height: 21px; line-height: 21px;
margin: 16px 0; margin: 16px 0;
img { img {
float: right; float: right;
} }
} }
textarea { textarea {
width: 343px; width: 343px;
height: 178px; height: 178px;
border-radius: 2px; border-radius: 2px;
padding: 10px; padding: 10px;
} }
span::after { span::after {
content: ""; content: "";
display: block; display: block;
...@@ -1887,6 +1941,7 @@ export default { ...@@ -1887,6 +1941,7 @@ export default {
background-size: 14px 14px; background-size: 14px 14px;
} }
} }
.reject, .reject,
.same { .same {
width: 175px; width: 175px;
...@@ -1894,56 +1949,69 @@ export default { ...@@ -1894,56 +1949,69 @@ export default {
border-radius: 4px; border-radius: 4px;
font-family: PingFangSC-Semibold; font-family: PingFangSC-Semibold;
font-size: 15px; font-size: 15px;
img { img {
width: 13px; width: 13px;
height: 13px; height: 13px;
} }
} }
.reject { .reject {
color: #656464; color: #656464;
border: 1px solid #656464; border: 1px solid #656464;
} }
.same { .same {
color: #ffffff; color: #ffffff;
background: #00469c; background: #00469c;
border: 1px solid #00469c; border: 1px solid #00469c;
} }
.add-box { .add-box {
.before { .before {
border: 1px solid #fdb62f; border: 1px solid #fdb62f;
border-radius: 4px; border-radius: 4px;
color: #fdb62f; color: #fdb62f;
img { img {
width: 18px; width: 18px;
} }
} }
.next { .next {
background: #1d3fff; background: #1d3fff;
border-radius: 4px; border-radius: 4px;
color: #fff; color: #fff;
img { img {
width: 18px; width: 18px;
} }
} }
} }
input::placeholder{
input::placeholder {
color: #B4B4B5; color: #B4B4B5;
} }
.font-color { .font-color {
color: #656464; color: #656464;
} }
textarea::placeholder { textarea::placeholder {
color: #b4b4b5; color: #b4b4b5;
} }
textarea { textarea {
text-align: right; text-align: right;
color:#666; color: #666;
resize: none; resize: none;
} }
.footer-button { .footer-button {
padding-top: 15px; padding-top: 15px;
padding-bottom: 15px; padding-bottom: 15px;
} }
.save { .save {
width: 100%; width: 100%;
height: 45px; height: 45px;
...@@ -1956,11 +2024,13 @@ export default { ...@@ -1956,11 +2024,13 @@ export default {
background: #fff; background: #fff;
margin-top: 10px; margin-top: 10px;
padding-bottom: 10px; padding-bottom: 10px;
.plus { .plus {
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
} }
.card-upload { .card-upload {
position: relative; position: relative;
width: 80px; width: 80px;
...@@ -2002,7 +2072,8 @@ export default { ...@@ -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; // margin-top: 0;
div { div {
float: left; float: left;
...@@ -2013,6 +2084,7 @@ export default { ...@@ -2013,6 +2084,7 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
margin-top: 15px; margin-top: 15px;
div { div {
width: 172px; width: 172px;
height: 120px; height: 120px;
...@@ -2020,53 +2092,63 @@ export default { ...@@ -2020,53 +2092,63 @@ export default {
text-align: center; text-align: center;
font-size: 14px; font-size: 14px;
color: #b4b4b5; color: #b4b4b5;
.front, .front,
.back { .back {
width: 172px; width: 172px;
height: 120px; height: 120px;
} }
} }
div:nth-of-type(2) { div:nth-of-type(2) {
margin-left: 7px; margin-left: 7px;
} }
img { img {
margin-top: 32px; margin-top: 32px;
width: 58px; width: 58px;
height: 45px; height: 45px;
} }
p { p {
margin-top: 12px; margin-top: 12px;
font-size: 13px; font-size: 13px;
} }
} }
} }
.modal {
.modal {
background-color: rgba(0, 0, 0, 0) !important; background-color: rgba(0, 0, 0, 0) !important;
} }
.trans-enter-active, .trans-enter-active,
.trans-leave-active { .trans-leave-active {
transition: opacity 0.5s; transition: opacity 0.5s;
} }
.trans-enter,
.trans-leave-active { .trans-enter,
.trans-leave-active {
opacity: 0; opacity: 0;
} }
.hide {
.hide {
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; align-items: center;
img { img {
width: 30px; width: 30px;
height: 30px; height: 30px;
margin-left: 65%; margin-left: 65%;
} }
} }
.wrap {
.wrap {
padding-top: 92px; padding-top: 92px;
} }
.modal-show {
.modal-show {
width: 100%; width: 100%;
height: 100%; height: 100%;
position: absolute; position: absolute;
...@@ -2075,6 +2157,7 @@ export default { ...@@ -2075,6 +2157,7 @@ export default {
background-color: rgba(56, 63, 69, 0.3); background-color: rgba(56, 63, 69, 0.3);
justify-content: center; justify-content: center;
align-items: center; align-items: center;
.down { .down {
position: relative; position: relative;
width: 314px; width: 314px;
...@@ -2083,6 +2166,7 @@ export default { ...@@ -2083,6 +2166,7 @@ export default {
background-size: 301px 24.7px; background-size: 301px 24.7px;
background-color: #fff; background-color: #fff;
} }
.top { .top {
width: 100%; width: 100%;
height: 44px; height: 44px;
...@@ -2093,6 +2177,7 @@ export default { ...@@ -2093,6 +2177,7 @@ export default {
line-height: 44px; line-height: 44px;
color: #fff; color: #fff;
background: #0041c4; background: #0041c4;
img { img {
width: 16px; width: 16px;
height: 16px; height: 16px;
...@@ -2101,8 +2186,10 @@ export default { ...@@ -2101,8 +2186,10 @@ export default {
margin-right: 20px; margin-right: 20px;
} }
} }
.down-content { .down-content {
margin-top: 8px; margin-top: 8px;
span:first-child { span:first-child {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 13px; font-size: 13px;
...@@ -2110,6 +2197,7 @@ export default { ...@@ -2110,6 +2197,7 @@ export default {
letter-spacing: 0; letter-spacing: 0;
margin-left: 15px; margin-left: 15px;
} }
.photo { .photo {
width: 172px; width: 172px;
height: 120px; height: 120px;
...@@ -2119,12 +2207,14 @@ export default { ...@@ -2119,12 +2207,14 @@ export default {
margin-top: 12px; margin-top: 12px;
background: url("../../assets/contractStart/photo.png") 70px no-repeat; background: url("../../assets/contractStart/photo.png") 70px no-repeat;
background-size: 24px 20px; background-size: 24px 20px;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
} }
} }
button { button {
width: 240px; width: 240px;
height: 40px; height: 40px;
...@@ -2135,6 +2225,6 @@ export default { ...@@ -2135,6 +2225,6 @@ export default {
background-color: #0041c4; background-color: #0041c4;
border-radius: 4px; border-radius: 4px;
} }
} }
</style> </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> <template>
<h-view id="contract-signing"> <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"> <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> <span>融租方案确认</span>
</div> </div>
<div slot="right" class="h-header-btn" @click="addNew()"><span>新增</span></div>
</h-header> </h-header>
<!-- <div class="tab-style has-header"> <!-- <div class="tab-style has-header">
<div :class="{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1; isRadio = false"> <div :class="{ 'done': num === 1, 'undone': num !== 1 }" @click="num = 1; isRadio = false">
...@@ -18,21 +20,22 @@ ...@@ -18,21 +20,22 @@
</div> --> </div> -->
<!-- 搜索 --> <!-- 搜索 -->
<div class="search"> <div class="search">
<input v-model="searchInput" type="text" placeholder="请输入承租人名称" /> <input v-model="searchInput" type="text" placeholder="请输入承租人名称" >
</div> </div>
<scroll ref="scroll" :updateData="[showLists]" :pullUp="true" @pullingUp="loadMore"> <scroll ref="scroll" :updateData="[showLists]" :pullUp="true" @pullingUp="loadMore">
<div class="wrap"> <div class="wrap">
<div v-for="(item,index) in showLists" :key="index" class="contract-lists"> <div v-for="(item,index) in showLists" :key="index" class="contract-lists">
<div class="pro-code" @click="goDetails(item)"> <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> <p>
<span>合同编号</span> <span>合同编号</span>
<span>{{ item.project_number }}</span> <span>{{ item.project_number }}</span>
</p> </p>
<img v-if="item.read_check === 'N'" src="@/assets/constractSigning/unread.png" alt class="unread" /> <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 v-if="item.read_check === 'Y'" src="@/assets/constractSigning/read.png" alt class="unread" >
<img src="@/assets/constractSigning/righticon.png" alt class="arrow" /> <img src="@/assets/constractSigning/righticon.png" alt class="arrow" >
</div> </div>
<div class="box"> <div class="box">
<div <div
...@@ -41,13 +44,13 @@ ...@@ -41,13 +44,13 @@
class="check-box" class="check-box"
@click.stop="clickRadio(item)" @click.stop="clickRadio(item)"
> >
<div v-show="!item.checked"></div> <div v-show="!item.checked"/>
<img v-show="item.checked" src="@/assets/contractCreate/selected.png" alt="已选择" /> <img v-show="item.checked" src="@/assets/contractCreate/selected.png" alt="已选择" >
</div> </div>
<div <div
:style="{ marginLeft: !isRadio ? '50px' : '0' }"
class="text" class="text"
style="flex: 0 1 calc(100vw - 55px)" style="flex: 0 1 calc(100vw - 55px)"
:style="{ marginLeft: !isRadio ? '50px' : '0' }"
> >
<div> <div>
<p>承租人</p> <p>承租人</p>
...@@ -65,6 +68,7 @@ ...@@ -65,6 +68,7 @@
<!-- <p>产品名称</p>--> <!-- <p>产品名称</p>-->
<!-- <p>{{ item.division_n }}</p>--> <!-- <p>{{ item.division_n }}</p>-->
<!-- </div>--> <!-- </div>-->
<div> <div>
<p>申请时间</p> <p>申请时间</p>
<p>{{ dateConverse(item.sale_date) }}</p> <p>{{ dateConverse(item.sale_date) }}</p>
...@@ -74,27 +78,27 @@ ...@@ -74,27 +78,27 @@
</div> </div>
</div> </div>
</scroll> </scroll>
<!-- <div class="check-bottom">--> <!-- <div class="check-bottom">-->
<!-- <div class="choose" v-show="isRadio">--> <!-- <div class="choose" v-show="isRadio">-->
<!-- <div class="radio" @click="allChoose(!chooseAll)">--> <!-- <div class="radio" @click="allChoose(!chooseAll)">-->
<!-- <img v-show="chooseAll" src="@/assets/login/radio.png" alt="radio" />--> <!-- <img v-show="chooseAll" src="@/assets/login/radio.png" alt="radio" />-->
<!-- <div class="no-check" v-show="!chooseAll"></div>--> <!-- <div class="no-check" v-show="!chooseAll"></div>-->
<!-- <span :style="{ color: chooseAll ? '#1d3fff' : 'rgb(212,214,212)' }">全选</span>--> <!-- <span :style="{ color: chooseAll ? '#1d3fff' : 'rgb(212,214,212)' }">全选</span>-->
<!-- </div>--> <!-- </div>-->
<!-- <button class="cancel" @click="cancelRadio">× 取消批量</button>--> <!-- <button class="cancel" @click="cancelRadio">× 取消批量</button>-->
<!-- <button class="sign" @click="signContract">签订征信授权书</button>--> <!-- <button class="sign" @click="signContract">签订征信授权书</button>-->
<!-- </div>--> <!-- </div>-->
<!-- <div class="button-box" v-show="num == 1 && !isRadio">--> <!-- <div class="button-box" v-show="num == 1 && !isRadio">-->
<!-- <div class="go-radio" @click="isRadio = true">--> <!-- <div class="go-radio" @click="isRadio = true">-->
<!-- <img src="@/assets/login/write.png" alt="icon" />--> <!-- <img src="@/assets/login/write.png" alt="icon" />-->
<!-- <span>批量签署</span>--> <!-- <span>批量签署</span>-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<div v-if="showLists.length === 0"> <div v-if="showLists.length === 0">
<div class="display"> <div class="display">
<img src="@/assets/messageCenter/noMsg.png" alt /> <img src="@/assets/messageCenter/noMsg.png" alt >
</div> </div>
</div> </div>
</h-view> </h-view>
...@@ -107,7 +111,7 @@ import unCheck1 from '@/assets/constractSigning/no-undone.png' ...@@ -107,7 +111,7 @@ import unCheck1 from '@/assets/constractSigning/no-undone.png'
import unCheck2 from '@/assets/constractSigning/yes-undone.png' import unCheck2 from '@/assets/constractSigning/yes-undone.png'
export default { export default {
data() { data () {
return { return {
num: 1, num: 1,
pagenum: 1, pagenum: 1,
...@@ -131,7 +135,7 @@ export default { ...@@ -131,7 +135,7 @@ export default {
}, },
watch: { watch: {
'num': { 'num': {
handler(newVal, oldVal) { handler (newVal, oldVal) {
// this.$refs.scroll.update(false) // this.$refs.scroll.update(false)
if (newVal === 2) { if (newVal === 2) {
if (!this.approvedFlag) { if (!this.approvedFlag) {
...@@ -145,7 +149,7 @@ export default { ...@@ -145,7 +149,7 @@ export default {
} }
}, },
}, },
searchInput() { searchInput () {
let vm = this let vm = this
if (vm.timeout) { if (vm.timeout) {
clearTimeout(vm.timeout) clearTimeout(vm.timeout)
...@@ -155,13 +159,13 @@ export default { ...@@ -155,13 +159,13 @@ export default {
}, 1000) }, 1000)
}, },
}, },
activated() { activated () {
}, },
created() { created () {
}, },
beforeRouteEnter(to, from, next) { beforeRouteEnter (to, from, next) {
next(vm => { next(vm => {
if (from.name === 'MyInfo' || from.name === 'MyContract') { if (from.name === 'MyInfo' || from.name === 'MyContract') {
vm.num = 1 vm.num = 1
...@@ -187,37 +191,37 @@ export default { ...@@ -187,37 +191,37 @@ export default {
}) })
}, },
methods: { methods: {
signContract() { signContract () {
let list = this.showLists.filter(item => item.checked); let list = this.showLists.filter(item => item.checked)
if (!list.length) return hlsPopup.showLongCenter('请选择合同'); if (!list.length) return hlsPopup.showLongCenter('请选择合同')
if(list.findIndex(item => item.read_check === 'N') > -1) return hlsPopup.showLongCenter('您有授权书未阅读,请阅读后再签署'); if (list.findIndex(item => item.read_check === 'N') > -1) return hlsPopup.showLongCenter('您有授权书未阅读,请阅读后再签署')
list = list.map(item => {item.checked = false; return item}); list = list.map(item => { item.checked = false; return item })
window.localStorage.setItem('handleContact', JSON.stringify(list)); window.localStorage.setItem('handleContact', JSON.stringify(list))
this.$router.push({ path: '/batchSign', query: { name: 'contract' } }); this.$router.push({ path: '/batchSign', query: { name: 'contract' } })
}, },
clickRadio(item) { clickRadio (item) {
item.checked = !item.checked; item.checked = !item.checked
this.chooseAll = this.showLists.every(item => item.checked); this.chooseAll = this.showLists.every(item => item.checked)
this.$forceUpdate(); this.$forceUpdate()
}, },
allChoose(status) { allChoose (status) {
this.chooseAll = status; this.chooseAll = status
this.showLists = this.showLists.map(item => { this.showLists = this.showLists.map(item => {
item.checked = status; item.checked = status
return item; return item
}); })
}, },
cancelRadio() { cancelRadio () {
this.isRadio = false; // 关闭多选菜单 this.isRadio = false // 关闭多选菜单
this.allChoose(false); // 关闭全选按钮 this.allChoose(false) // 关闭全选按钮
}, },
dateConverse(date) { dateConverse (date) {
return date.replace(/\//g, '-') return date.replace(/\//g, '-')
}, },
// 合同查询 // 合同查询
contractList() { contractList () {
let vm = this let vm = this
if (vm.num === 1) { if (vm.num === 1) {
let url = $config.basePath + 'zm_prj_list_query' let url = $config.basePath + 'zm_prj_list_query'
...@@ -234,8 +238,8 @@ export default { ...@@ -234,8 +238,8 @@ export default {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
vm.submitLists = res.lists.map(item => { vm.submitLists = res.lists.map(item => {
item.checked = false; item.checked = false
return item; return item
}) })
vm.showLists = vm.submitLists vm.showLists = vm.submitLists
if (res.lists.length > 0 && res.lists.length < 10) { if (res.lists.length > 0 && res.lists.length < 10) {
...@@ -263,8 +267,8 @@ export default { ...@@ -263,8 +267,8 @@ export default {
if (res.result === 'S') { if (res.result === 'S') {
console.log(res.lists) console.log(res.lists)
vm.approvedLists = res.lists.map(item => { vm.approvedLists = res.lists.map(item => {
item.checked = false; item.checked = false
return item; return item
}) })
vm.approvedFlag = true vm.approvedFlag = true
vm.showLists = vm.approvedLists vm.showLists = vm.approvedLists
...@@ -280,7 +284,7 @@ export default { ...@@ -280,7 +284,7 @@ export default {
} }
}, },
loadMore() { loadMore () {
let vm = this let vm = this
if (vm.num === 1) { if (vm.num === 1) {
vm.submitPagenum++ vm.submitPagenum++
...@@ -358,7 +362,7 @@ export default { ...@@ -358,7 +362,7 @@ export default {
}) })
} }
}, },
async submitSearch() { async submitSearch () {
let vm = this let vm = this
vm.submitPagenum = 1 vm.submitPagenum = 1
let url = $config.basePath + 'zm_prj_list_query' let url = $config.basePath + 'zm_prj_list_query'
...@@ -376,8 +380,8 @@ export default { ...@@ -376,8 +380,8 @@ export default {
if (res.result === 'S') { if (res.result === 'S') {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
vm.submitLists = res.lists.map(item => { vm.submitLists = res.lists.map(item => {
item.checked = false; item.checked = false
return item; return item
}) })
if (vm.num === 1) { if (vm.num === 1) {
vm.showLists = vm.submitLists vm.showLists = vm.submitLists
...@@ -394,7 +398,7 @@ export default { ...@@ -394,7 +398,7 @@ export default {
return false return false
} }
}, },
approvedearch() { approvedearch () {
let vm = this let vm = this
let url = $config.basePath + 'zm_prj_list_query' let url = $config.basePath + 'zm_prj_list_query'
vm.approvedPagenum = 1 vm.approvedPagenum = 1
...@@ -409,8 +413,8 @@ export default { ...@@ -409,8 +413,8 @@ export default {
} }
vm.hlsHttp.post(url, param).then(function (res) { vm.hlsHttp.post(url, param).then(function (res) {
vm.approvedLists = res.lists.map(item => { vm.approvedLists = res.lists.map(item => {
item.checked = false; item.checked = false
return item; return item
}) })
if (vm.num === 2) { if (vm.num === 2) {
vm.showLists = vm.approvedLists vm.showLists = vm.approvedLists
...@@ -423,14 +427,14 @@ export default { ...@@ -423,14 +427,14 @@ export default {
} }
}) })
}, },
async search() { async search () {
let res = await this.submitSearch() let res = await this.submitSearch()
if (res) { if (res) {
this.approvedearch() this.approvedearch()
} }
}, },
goDetails(item) { goDetails (item) {
this.$router.push({ this.$router.push({
name: 'ContractDetail', name: 'ContractDetail',
params: { params: {
...@@ -441,6 +445,12 @@ export default { ...@@ -441,6 +445,12 @@ export default {
}, },
}) })
}, },
addNew () {
this.$router.push({
name: 'ContractNew',
})
},
}, },
} }
</script> </script>
......
...@@ -68,6 +68,7 @@ const EntryInfo = resolve => require.ensure([], () => { resolve(require('@/pages ...@@ -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 ElectronicSign = resolve => require.ensure([], () => { resolve(require('@/pages/ContractSigning/electronic-sign')) }, 'contractSigning')
/* const BodyCheck = resolve=>require.ensure([],()=>{resolve(require(@/pages/ContractSigning/body-check')) }, '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 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') const FirstPay = resolve => require.ensure([], () => { resolve(require('@/pages/pay/firstPay/first-pay')) }, 'firstPay')
...@@ -275,6 +276,7 @@ export default new Router({ ...@@ -275,6 +276,7 @@ export default new Router({
{path: '/entry-info', component: EntryInfo, name: 'EntryInfo', meta: {keepAlive: true}}, {path: '/entry-info', component: EntryInfo, name: 'EntryInfo', meta: {keepAlive: true}},
{path: '/contract-repay-plan', component: ContractRepayPlan, name: 'ContractRepayPlan', meta: {keepAlive: false}}, {path: '/contract-repay-plan', component: ContractRepayPlan, name: 'ContractRepayPlan', meta: {keepAlive: false}},
{path: '/electronic-sign', component: ElectronicSign, name: 'ElectronicSign', 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: '/first-pay', component: FirstPay, name: 'FirstPay', meta: {keepAlive: true}},
{path: '/pay-entry', component: PayEntry, name: 'PayEntry', meta: {keepAlive: true}}, {path: '/pay-entry', component: PayEntry, name: 'PayEntry', meta: {keepAlive: true}},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment