Commit a5552edf authored by 李晓兵's avatar 李晓兵

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

parents 372ece22 0dfde824
src/assets/payment/select.png

1.25 KB | W: | H:

src/assets/payment/select.png

1.13 KB | W: | H:

src/assets/payment/select.png
src/assets/payment/select.png
src/assets/payment/select.png
src/assets/payment/select.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -28,11 +28,11 @@
</item>
<item>
<div slot="name">车辆型号 </div>
<input slot="content" v-model="info.type" readonly placeholder="自动识别车辆型号" >
<input slot="content" v-model="rentInfo.type" readonly placeholder="自动识别车辆型号" >
</item>
<item>
<div slot="name">合格证编号 </div>
<input slot="content" v-model="info.number" readonly placeholder="自动识别合格证编号" >
<input slot="content" v-model="rentInfo.number" readonly placeholder="自动识别合格证编号" >
</item>
<item>
<div slot="name">厂商型号</div>
......@@ -53,6 +53,15 @@
placeholder="请输入车牌号"
>
</item>
<item>
<div slot="name">发车日期</div>
<input
slot="content"
v-model="rentInfo.date"
readonly
placeholder="请输入发车日期"
>
</item>
</list-item>
</div>
</div>
......@@ -98,10 +107,10 @@
</list-item>
<div class="userInfo">设备清单</div>
<div
v-for="(item,index) in numInt"
v-for="(item,index) in equip"
:key="index"
class="equipment"
@click="downNum=true;getRent()"
@click="downNum=true;getRent(item.contract_id)"
>
<div class="left">
<span>
......@@ -134,15 +143,15 @@ export default {
downNum: false,
show: false,
info: {
product_plan_id: '29',
product_num: '1',
first_pay: '102500',
division_n: '平地机',
gps_fee: '500',
bp_name: '黄冲',
project_number: 'PJ2019050043',
bp_agent_name: '上海汉得信息技术股份有限公司 ',
product_plan_id_n: 'PDJ',
product_plan_id: '',
product_num: '',
first_pay: '',
division_n: '',
gps_fee: '',
bp_name: '',
project_number: '',
bp_agent_name: ' ',
product_plan_id_n: '',
},
rentInfo: {
frame_number: '',
......@@ -161,18 +170,11 @@ export default {
}
},
computed: {
numInt () {
if (this.info.product_num !== null && this.info.product_num !== '') {
return parseInt(this.info.product_num)
} else {
return 0
}
},
},
beforeRouteEnter (to, from, next) {
next(vm => {
// vm.getDetail()
// vm.getEquipment()
vm.getDetail()
vm.getEquipment()
})
},
methods: {
......@@ -223,11 +225,11 @@ export default {
}
})
},
getRent () {
getRent (e) {
let vm = this
let url = process.env.basePath + 'leases_info_query'
let param = {
contract_id: vm.equip.contract_id,
contract_id: e,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
......@@ -297,7 +299,7 @@ export default {
.down {
position: relative;
width: 314px;
height: 466px;
height: 506px;
background-size: 301px 24.7px;
background-color: #fff;
}
......
......@@ -59,30 +59,7 @@ export default {
return {
contructs: [],
tabNum: 0,
lists: [{
'project_id': '48812',
'project_number': '',
'bp_name': '张三',
'total_price': '51',
'division_n': 'PDJ',
'confirm_status': 'SUBMIT',
},
{
'project_id': '48800',
'project_number': '',
'bp_name': '李四',
'total_price': '51',
'division_n': 'PDJ',
'confirm_status': 'APPROVED',
},
{
'project_id': '48800',
'project_number': '',
'bp_name': '王五',
'total_price': '51',
'division_n': 'PDJ',
'confirm_status': 'APPROVED',
}],
lists: [],
showList: [],
undo: [],
done: [],
......@@ -101,7 +78,13 @@ export default {
},
},
created () {
this.selectShowList()
},
beforeRouteEnter (to, from, next) {
next(vm => {
if (from.name === 'MyInfo') {
vm.getList()
}
})
},
methods: {
selectShowList () {
......@@ -136,6 +119,31 @@ export default {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.lists = res.lists
// vm.lists = [{
// 'project_id': '48812',
// 'project_number': '',
// 'bp_name': '张三',
// 'total_price': '51',
// 'division_n': 'PDJ',
// 'confirm_status': 'SUBMIT',
// },
// {
// 'project_id': '48800',
// 'project_number': '',
// 'bp_name': '李四',
// 'total_price': '51',
// 'division_n': 'PDJ',
// 'confirm_status': 'APPROVED',
// },
// {
// 'project_id': '48800',
// 'project_number': '',
// 'bp_name': '王五',
// 'total_price': '51',
// 'division_n': 'PDJ',
// 'confirm_status': 'APPROVED',
// }]
vm.selectShowList()
} else {
hlsPopup.showLongCenter(res.message)
}
......
<!--
* @Author: your name
* @Date: 2019-09-29 10:02:11
* @LastEditTime: 2019-10-30 14:28:29
* @LastEditTime: 2019-11-04 18:34:35
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
-->
......@@ -23,102 +23,81 @@
</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?check2:uncheck2" >合同文本</div>
<div :class="{'done':num === 0,'undone':num !== 0}" @click="num = 0;"><img :src="num === 0?check1:uncheck1">基本信息</div>
<div :class="{'done':num === 1,'undone':num !== 1}" @click="num = 1;"><img :src="num === 1?check3:uncheck3" >租赁信息</div>
<div :class="{'done':num === 2,'undone':num !== 2}" @click="num = 2;"><img :src="num === 2?check2:uncheck2" >合同文本</div>
</div>
<h-content v-if="num === 0" class="business-condition">
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" >商务政策</div>
<section slot="content">{{ conditionInfo.product_plan_id_n }}</section>
</item>
<item>
<div slot="name" >设备总价</div>
<section slot="content">{{ conditionInfo.equip_price * conditionInfo.product_num | currency }}</section>
</item>
<item>
<div slot="name" >融资金额</div>
<section slot="content">{{ Math.round(conditionInfo.finance_amount) * conditionInfo.product_num | currency }}</section>
</item>
<item>
<div slot="name" >首付款</div>
<section slot="content">{{ Math.round(conditionInfo.down_payment) * conditionInfo.product_num | currency }}</section>
</item>
<item>
<div slot="name" >保证金比例</div>
<section slot="content">{{ conditionInfo.deposit_ratio_n }}</section>
</item>
<item>
<div slot="name" >保证金</div>
<section slot="content">{{ Math.round(conditionInfo.deposit) * conditionInfo.product_num | currency }}</section>
</item>
<item>
<div slot="name" >手续费比例</div>
<section slot="content">{{ conditionInfo.lease_charge_ratio_n }}</section>
</item>
<item>
<div slot="name" >手续费</div>
<section slot="content">{{ Math.round(conditionInfo.lease_charge) * conditionInfo.product_num | currency }}</section>
</item>
<item>
<div slot="name" >gps费用</div>
<section slot="content">{{ conditionInfo.gps_fee * conditionInfo.product_num | currency }}</section>
</item>
<item>
<div slot="name" >保险押金</div>
<section slot="content">{{ conditionInfo.insurance_fee * conditionInfo.product_num | currency }}</section>
</item>
<item>
<div slot="name" >预计付款日</div>
<section slot="content">{{ conditionInfo.lease_start_date }}</section>
</item>
<item>
<div slot="name" >还款周期</div>
<section slot="content">{{ conditionInfo.annual_pay_times_n }}</section>
</item>
<item>
<div slot="name" >租赁期数</div>
<section slot="content">{{ conditionInfo.lease_times }}</section>
</item>
<item>
<div slot="name" >年利率</div>
<section slot="content">{{ conditionInfo.int_rate_n }}</section>
<!-- 法人信息 -->
<LegalPerson v-if="bp_flag" :baseInfo="baseInfo"/>
<!-- 个人信息(自然人) -->
<Personal v-if="!bp_flag" :baseInfo="baseInfo"/>
<div class="equipment-list">担保人信息<span v-if="guarantorInfo.length === 0">(无)</span></div>
<list-item v-if="guarantorInfo.length && guarantorInfo[0].bp_class === 'NP'" :item-height="76">
<item v-for="(item,index) in guarantorInfo" :key="index">
<div slot="name">
<span class="name-box">{{ index+1 }}</span>
<span class="name">担保人{{ index+1 }}姓名</span>
<span class="card-num">证件号</span>
</div>
<div slot="content" class="right">
<img src="@/assets/intoApproval/introduce.png" >
<span :title="item.bp_name">{{ item.bp_name }}</span>
<br >
<span>{{ item.id_card_no }}</span>
</div>
</item>
</list-item>
<div class="repay-plan">
<p @click="repayPlan">查看还款计划</p>
</div>
<div class="equipment-list">设备清单</div>
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" >参数项</div>
<section slot="content">{{ conditionInfo.product_code }}</section>
</item>
<item>
<div slot="name" >产品线</div>
<section slot="content">{{ conditionInfo.product_name }}</section>
</item>
<item>
<div slot="name" >产品数量</div>
<section slot="content">{{ conditionInfo.product_num }}</section>
<list-item v-if="guarantorInfo.length && guarantorInfo[0].bp_class === 'ORG'" :item-height="76">
<item v-for="(item,index) in guarantorInfo" :key="index">
<div slot="name">
<span class="name-box">{{ index+1 }}</span>
<span class="name">担保人{{ index+1 }}姓名</span>
<span class="card-num">证件号</span>
</div>
<div slot="content" class="right">
<img src="@/assets/intoApproval/introduce.png" >
<span :title="item.bp_name">{{ item.bp_name }}</span>
<br >
<span>{{ item.organization_code }}</span>
</div>
</item>
</list-item>
<div class="bottom-call">
<div class="left">
<img src="@/assets/constractSigning/work.png" alt="" style="width:32px">
</div>
<div class="center">
<p>业务经办:{{ conditionInfo.bp_user_id_n }}</p>
<p>联系电话:{{ conditionInfo.agent_phone }}</p>
<!-- 联系人 -->
<!-- <div class="bottom-call-wrap">
<div class="bottom-call">
<div class="left">
<img src="@/assets/distributorSign/call.png" alt="">
</div>
<div class="center">
<p>业务经办:{{ baseInfo.bp_user_id_n }}</p>
<p>联系电话:{{ baseInfo.agent_phone }}</p>
</div>
<div class="right1" @click="callUp(baseInfo.agent_phone)">
<img src="@/assets/distributorSign/calls.png" alt="">
</div>
</div>
<div class="right">
<img src="@/assets/constractSigning/phone.png" alt="" style="width:30px">
</div> -->
<div class="alert">
<div class="alert-content">
<div class="title">
<img src="@/assets/intoApproval/info.png" >
<span class="info-word">温馨提示</span>
</div>
<p class="top-info">绑定成功后,您即可使用APP中合同查询、还款查询等功能。</p>
<div class="top-word">
<p>本人保证所提供信息的真实性、完整性及准确性。</p>
<p>本人在此授权徐工融资租赁有限公司通过中国人民银行个人信用信息基础数据库及其他征信机构、金融机构查询本人的个人信息、信用记录和工作情况。</p>
<p>本人同意接收来自于徐工融资租赁有限公司或第三方发出的提醒付款、确认付款、催款等短信(不含广告),同意接收来自于徐工融资租赁有限公司的录音电话,并积极配合。</p>
</div>
</div>
</div>
</h-content>
<h-content v-if="num === 1">
<h-content v-if="num === 2">
<list-item :item-height="56" class="contract-text" style="background-color:rgb(250,250,250);">
<item :proportion="[4,1]">
<div slot="name" class="aguremrnt-list">
......@@ -157,6 +136,114 @@
</item>
</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>
<input slot="content" v-model="info.product_plan_id_n" readonly>
</item>
<item>
<div slot="name" class="font-color">设备总价</div>
<span slot="content">{{ info.equip_price * info.product_num | currency }}</span>
</item>
<item>
<div slot="name" class="font-color">融资金额</div>
<span slot="content">{{ info.finance_amount * info.product_num | currency }}</span>
</item>
<item>
<div slot="name" class="font-color">首付款</div>
<span slot="content">{{ info.down_payment * info.product_num | currency }}</span>
</item>
<item>
<div slot="name" class="font-color">保证金比例</div>
<span slot="content">{{ info.deposit_ratio_n }}</span>
</item>
<item>
<div slot="name" class="font-color">保证金</div>
<span slot="content">{{ info.deposit * info.product_num | currency }}</span>
</item>
<item>
<div slot="name" class="font-color">手续费比例</div>
<input slot="content" v-model="info.lease_charge_ratio_n" readonly>
</item>
<item>
<div slot="name" class="font-color">手续费</div>
<span slot="content">{{ parseFloat(info.lease_charge * info.product_num).toFixed(2) | currency }}</span>
</item>
<item>
<div slot="name" class="font-color">保险押金</div>
<span slot="content">{{ info.insurance_fee * info.product_num | currency }}</span>
</item>
<item>
<div slot="name" class="font-color">GPS费用</div>
<span slot="content">{{ info.gps_fee * info.product_num | currency }}</span>
</item>
<item>
<div slot="name">首次付款合计</div>
<span slot="content">{{ parseFloat(info.first_pay).toFixed(2) | currency }}</span>
</item>
<item>
<div slot="name" class="font-color">预计付款日</div>
<span slot="content">{{ dateConverse(info.lease_start_date) }}</span>
</item>
<item>
<div slot="name" class="font-color">还款周期</div>
<input slot="content" v-model="info.annual_pay_times_n" readonly>
</item>
<item>
<div slot="name" class="font-color">租赁期数</div>
<input slot="content" v-model="info.lease_times" readonly>
</item>
<item>
<div slot="name" class="font-color">年利率</div>
<input slot="content" v-model="info.int_rate_n" readonly>
</item>
</list-item>
<div class="repay-plan">
<p @click="repayPlan">查看还款计划</p>
</div>
<div class="equipment-list-fund">
<span/>
<p>设备清单</p></div>
<list-item :item-height="44" class="second-part">
<item>
<div slot="name" class="font-color">参数项</div>
<input slot="content" v-model="info.product_code" readonly>
</item>
<item>
<div slot="name" class="font-color">产品线</div>
<input slot="content" v-model="info.product_name" readonly>
</item>
<item>
<div slot="name" class="font-color">产品数量</div>
<input slot="content" v-model="info.product_num" readonly>
</item>
</list-item>
<div class="alert">
<div class="alert-content">
<div class="title">
<img src="@/assets/intoApproval/info.png">
<span class="info-word">提示</span>
</div>
<p class="top-info">绑定成功后,您即可使用APP中合同查询、还款查询等功能。
<span>为了确保您的权益,请查看全部</span></p>
</div>
</div>
<!-- <div class="bottom-call-wrap">
<div class="bottom-call">
<div class="left">
<img src="@/assets/distributorSign/call.png" alt="">
</div>
<div class="center">
<p>业务经办:{{ baseInfo.bp_user_id_n }}</p>
<p>联系电话:{{ baseInfo.agent_phone }}</p>
</div>
<div class="right1" @click="callUp(baseInfo.agent_phone)">
<img src="@/assets/distributorSign/calls.png" alt="">
</div>
</div>
</div> -->
</h-content>
<bottom-tab v-show="num === 1 && confirm_status === 'SUBMIT'">
<tab-button class="footer" @click.native="inSure">
确认签约
......@@ -168,42 +255,71 @@
<script>
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'
import LegalPerson from '@/pages/distributorSign/legal-person'
import Personal from '@/pages/distributorSign/personal'
export default {
name: 'ContractDetail',
components: {
Personal,
LegalPerson,
},
data () {
return {
isshow: false, // 提示框的显示与隐藏
bp_flag: false, // 判断自然人和法人
num: 0,
bp_name: '',
guarantorInfo: [], // 担保人信息
bp_class: this.$route.params.item.bp_class, // 承租人性质(自然人,企业)
info: {}, // 租赁信息
baseInfo: {}, // 基本信息
project_id: '',
bank_flag: false,
confirm_id: '',
conditionInfo: {},
check1: Check1,
check2: Check2,
check3: Check3,
uncheck1: unCheck1,
uncheck2: unCheck2,
uncheck3: unCheck3,
confirm_status: '',
entry_info_flag: false,
}
},
computed: {},
watch: {},
watch: {
bp_class () {
if (this.bp_class === 'NP') {
this.bp_flag = false
// this.getBseMsg()
} else {
this.bp_flag = true
}
},
},
beforeRouteEnter (to, from, next) {
next(vm => {
if (from.name === 'ContractSigning') {
vm.bank_flag = false
vm.bp_name = vm.$route.params.bp_name
vm.project_id = vm.$route.params.project_id
vm.confirm_id = vm.$route.params.confirm_id
vm.confirm_status = vm.$route.params.confirm_status
vm.bp_name = vm.$route.params.item.bp_name
vm.project_id = vm.$route.params.item.project_id
vm.confirm_id = vm.$route.params.item.confirm_id
vm.confirm_status = vm.$route.params.item.confirm_status
if (vm.$route.params.item.bp_class === 'NP') {
vm.bp_flag = false
} else {
vm.bp_flag = true
}
vm.conditionQuery()
vm.bankCardQuery()
vm.getBseMsg()
vm.getLease()
vm.getGuarantor()
} else if (from.name === 'EntryInfo') {
vm.bankCardQuery()
}
......@@ -213,12 +329,66 @@ export default {
// this.bankCardQuery()
},
methods: {
// 担保人
getGuarantor () {
let vm = this
let url = $config.basePath + 'prj_guarantor_list_query'
let param = {
project_id: vm.project_id,
}
vm.hlsPopup.showLoading('数据加载中')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.guarantorInfo = res.lists
}
})
},
dateConverse (date) {
return date.replace(/\//g, '-')
},
getLease () {
let vm = this
let url = $config.basePath + 'prj_lease_query'
let param = {
project_id: vm.project_id,
}
// 租赁信息
vm.hlsPopup.showLoading('数据加载中')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.info = res.info
}
})
},
getBseMsg () {
let vm = this
let url = ''
let url1 = $config.basePath + 'prj_np_info_query'
let url2 = $config.basePath + 'prj_org_info_query'
vm.$route.params.item.bp_class === 'NP' ? url = url1 : url = url2
let param = {
project_id: vm.project_id,
}
vm.hlsPopup.showLoading('数据加载中')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
// vm.lists = res.lists
vm.baseInfo = res.info
if (res.info.auth_flag) {
window.sessionStorage.setItem('auth_flag', res.info.auth_flag)
}
}
})
},
// 合同商务条件查询
conditionQuery () {
let vm = this
let url = $config.basePath + 'con_business_query'
let param = {
project_id: this.$route.params.project_id,
project_id: this.$route.params.item.project_id,
}
vm.hlsPopup.showLoading('数据加载中')
vm.hlsHttp.post(url, param).then(function (res) {
......@@ -314,6 +484,222 @@ export default {
</script>
<style lang='less' type="text/less">
#contract-details {
.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 {
//height: 100px;
padding-bottom: 10px;
width: 100%;
//margin-top: -10px;
background: #FbF2d2;
}
.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: rgba(0,70,156,0.03);
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;
}
}
.bottom-call-wrap{
width: 100%;
height: 100px;
display: flex;
justify-content: center;
align-items: flex-start;
background: #ffffff;
margin-top: -10px;
.bottom-call {
width: 100%;
height: 58%;
display: flex;
justify-content: center;
align-items: center;
.left {
width: 16%;
height: 60px;
// background: rgba(0,70,156,0.03);
background: #F2F2F2;
display: flex;
justify-content: center;
align-items: center
}
.center {
height: 100%;
width: 66%;
margin-left: 2px;
// background: rgba(0,70,156,0.03);
background: #F2F2F2;
p {
height: 30px;
line-height: 30px;
margin-left: 10px;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #656464;
letter-spacing: 0.43px;
}
}
.right1 {
height: 100%;
width: 16%;
//background: rgba(0,70,156,0.20);
background: #CCCCCC;
display: flex;
justify-content: center;
align-items: center
}
}
}
.all{
position: absolute;
background-color: transparent;
......@@ -423,10 +809,10 @@ export default {
}
img{
width: 20px;
width: 16px;
display: block;
float: left;
margin: 6px 5px 0 43px;
margin: 8px 5px 0 20px;
}
span:nth-of-type(2){
......
<!--
* @Author: your name
* @Date: 2019-09-29 10:02:11
* @LastEditTime: 2019-10-30 09:34:22
* @LastEditTime: 2019-11-03 17:35:19
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
-->
......@@ -31,7 +31,7 @@
<p class="incoming-num">进件号</p>
<p class="code">{{ item.project_number }}</p>
</div>
<div class="details" @click="goDetails(item.project_id,item.con_confirm_status,item.confirm_id,item.bp_name)">
<div class="details" @click="goDetails(item)">
<div class="option">
<p class="name">承租人</p>
<p class="full-name normal">{{ item.bp_name }}</p>
......@@ -56,7 +56,7 @@
<p class="incoming-num">进件号</p>
<p class="code">{{ item.project_number }}</p>
</div>
<div class="details" @click="goDetails(item.project_id,item.con_confirm_status,item.confirm_id,item.bp_name)">
<div class="details" @click="goDetails(item)">
<div class="option">
<p class="name">承租人</p>
<p class="full-name normal">{{ item.bp_name }}</p>
......@@ -109,6 +109,7 @@ export default {
// next()
},
methods: {
// 合同查询
contractList () {
let vm = this
let url = $config.basePath + 'con_confirm_list_query'
......@@ -127,14 +128,11 @@ export default {
})
},
// val: project_id, status: confirm_status, bpName: 承租人
goDetails (val, status, id, bpName) {
goDetails (item) {
this.$router.push({
name: 'ContractDetail',
params: {
project_id: val,
confirm_id: id,
bp_name: bpName,
confirm_status: status,
item: item,
},
})
},
......
<!--
* @Author: your name
* @Date: 2019-09-29 10:02:11
* @LastEditTime: 2019-10-30 14:29:27
* @LastEditTime: 2019-11-02 19:54:08
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
-->
......@@ -30,7 +30,7 @@
<div slot="name" >银行卡卡号</div>
<input
slot="content" v-model="bank_lists[0].bank_account_num" type="text"
placeholder="上传银行卡自动填充" readonly
placeholder="上传银行卡自动填充"
>
</item>
<item>
......@@ -43,7 +43,7 @@
<div slot="name" >银行名称</div>
<input
slot="content" v-model="bank_lists[0].bank_full_name" type="text"
placeholder="请输入银行名称" readonly>
placeholder="请输入银行名称">
</item>
<item>
<div slot="name" >支行名称</div>
......
......@@ -42,6 +42,10 @@
<div slot="name">车牌号</div>
<input slot="content" v-model="info.license_plate_number" placeholder="请输入车牌号" >
</item>
<item>
<div slot="name">发车日期</div>
<input slot="content" v-model="showDate" placeholder="请输入发车日期" @click="showTime('YYYY-MM-DD')">
</item>
<!-- <item :showArrow="true" @click.native="showModalValue=true">
<div slot="name">产品参数</div>
<input slot="content" v-model="info.bank_branch_name" placeholder="请选择产品参数" @click="changeHeight">
......@@ -141,7 +145,7 @@
v-for="(item,index) in equip"
:key="index"
class="equipment"
@click="downNum = true;addContractId(item.contract_id)"
@click="downNum = true;getRent(item.contract_id)"
>
<div class="left">
<span>
......@@ -217,7 +221,8 @@ export default {
num: null,
downNum: false,
show: false,
read: false,
read: false, // 表示只读
showDate: '',
productLine: [
{
code: '5',
......@@ -282,6 +287,7 @@ export default {
license_plate_number: '',
type: '',
number: '',
date: '',
},
detail: {
product_num: '',
......@@ -298,23 +304,37 @@ export default {
project_id: '',
bp_id: '',
},
equip: [
{
product_id: '3',
product_code: 'GTC389',
contract_id: '231',
},
],
equip: [],
// {
// product_id: '3',
// product_code: 'GTC389',
// contract_id: '231',
// },
}
},
computed: {
numInt () {
numInt () { // 添加设备的时候处理值为空或者nul的情况
if (this.detail.product_num !== null && this.detail.product_num !== '') {
return parseInt(this.detail.product_num)
} else {
return 0
}
},
carDate () {
let date = new Date()
let y = date.getFullYear()
let m = date.getMonth() + 1
let d = date.getDate()
if ((m.toString()).length < 2) {
m = `0${m}`
} else if ((d.toString()).length < 2) {
d = `0${d}`
}
return `${y}-${m}-${d}`
},
},
created () {
this.showDate = this.carDate
},
beforeRouteEnter (to, from, next) {
next(vm => {
......@@ -331,9 +351,19 @@ export default {
})
},
methods: {
showTime (format) {
this.hlsPopup.showTime({
nowDate: `${this.carDate}`,
format: format,
callback: (date) => {
this.showDate = date
},
})
},
save () {
let vm = this
let url = process.env.basePath + 'leases_info_save'
this.info.date = this.showDate
let param = {
master: this.info,
}
......@@ -369,11 +399,12 @@ export default {
},
})
},
getRent () {
getRent (e) {
let vm = this
vm.info.contract_id = e
let url = process.env.basePath + 'leases_info_query'
let param = {
contract_id: vm.equip.contract_id,
contract_id: e,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
......@@ -385,9 +416,7 @@ export default {
}
})
},
addContractId (e) {
this.info.contract_id = e
},
approve () {
let vm = this
let url = process.env.basePath + 'car_apply_submit'
......@@ -417,7 +446,6 @@ export default {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.equip = res.lists
vm.getRent()
} else {
hlsPopup.showLongCenter(res.message)
}
......@@ -488,33 +516,33 @@ export default {
})
},
getDetail () {
let obj = {
product_plan_id: '29',
product_num: '1',
first_pay: '102500',
division_n: '平地机',
gps_fee: '500',
bp_name: '黄冲',
project_number: 'PJ2019050043',
bp_agent_name: '上海汉得信息技术股份有限公司 ',
product_plan_id_n: 'PDJ',
total_price: '1111111111',
}
Object.assign(this.detail, obj)
// let vm = this
// let url = process.env.basePath + 'con_contract_detial'
// let param = {
// project_id: this.$route.params.project_id,
// let obj = {
// product_plan_id: '29',
// product_num: '1',
// first_pay: '102500',
// division_n: '平地机',
// gps_fee: '500',
// bp_name: '黄冲',
// project_number: 'PJ2019050043',
// bp_agent_name: '上海汉得信息技术股份有限公司 ',
// product_plan_id_n: 'PDJ',
// total_price: '1111111111',
// }
// hlsPopup.showLoading('请稍候')
// vm.$post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading()
// if (res.result === 'S') {
// Object.assign(vm.detail, res.info)
// } else {
// hlsPopup.showLongCenter(res.message)
// }
// })
// Object.assign(this.detail, obj)
let vm = this
let url = process.env.basePath + 'con_contract_detial'
let param = {
project_id: this.$route.params.project_id,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
Object.assign(vm.detail, res.info)
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
changeHeight () {
let popClient = document.querySelector('.bottom-content')
......@@ -631,7 +659,7 @@ export default {
.down {
position: relative;
width: 314px;
height: 536px;
height: 586px;
background-size: 301px 24.7px;
background-color: #fff;
}
......
......@@ -63,24 +63,7 @@ export default {
return {
tabNum: 0,
contructs: [],
lists: [
{
project_id: '48812',
project_number: '',
bp_name: '李四',
total_price: '51',
division_n: 'PDJ',
leases_status: 'Y',
},
{
project_id: '48800',
project_number: '',
bp_name: '张三',
total_price: '51',
division_n: 'PDJ',
leases_status: 'N',
},
],
lists: [],
showList: [],
undo: [],
done: [],
......@@ -106,7 +89,6 @@ export default {
},
},
created () {
this.selectShowList()
},
methods: {
selectShowList () {
......@@ -148,6 +130,25 @@ export default {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.lists = res.lists
// vm.lists = [
// {
// project_id: '48812',
// project_number: '',
// bp_name: '李四',
// total_price: '51',
// division_n: 'PDJ',
// leases_status: 'Y',
// },
// {
// project_id: '48800',
// project_number: '',
// bp_name: '张三',
// total_price: '51',
// division_n: 'PDJ',
// leases_status: 'N',
// },
// ]
vm.selectShowList()
} else {
hlsPopup.showLongCenter(res.message)
}
......
......@@ -188,7 +188,7 @@ export default {
background-color: #00469C;
.now-pay {
background: url('../../../assets/payment/background.png');
// background: url('../../../assets/payment/background.png');
background-size: 365px;
background-position: -5px;
position: absolute;
......
......@@ -2,47 +2,59 @@
<h-view id="first-pay" 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="goHome">
<img src="@/assets/userBind/arrow.png" @click="goHome" >
<span>首付款支付</span>
</div>
</h-header>
<div class="center">
<div class="now-pay">
<div>当前应付</div>
<div><span></span>{{ money |currency }}</div>
<h-content>
<div class="top-head">
<div class="center">
<div class="now-pay">
<div class="title">当前应付</div>
<div class="data">
<span></span>
{{ money |currency }}
</div>
</div>
</div>
</div>
</div>
<h-content class="pay-content">
<div class="pay-money">
<div class="pay-icon"><img src="@/assets/payment/first-pay.png" alt="">首付款支付</div>
<div class="pay-input">
<span>应还首付款</span>
<input v-model="money" type="text" placeholder="请输入支付金额">
<div @click="createOrder"><i class="icon ion-ios-arrow-right"/></div>
<section class="pay-content">
<div class="pos">
<div class="pay-money">
<div class="pay-icon">
<img src="@/assets/payment/first-pay.png" >首付款支付
</div>
<div class="pay-input">
<span>应还首付款</span>
<input v-model="money" type="text" placeholder="请输入支付金额" >
<div @click="createOrder">
<i class="icon ion-ios-arrow-right" />
</div>
</div>
</div>
</div>
</section>
<div class="prompt">
<div>
<img src="@/assets/payment/prompt.png" alt >
</div>
<div>
<p>温馨提示</p>
<p>推荐使用农行卡,农行卡支付免收手续费!</p>
</div>
</div>
</h-content>
<div class="prompt">
<div><img src="@/assets/payment/prompt.png" alt=""></div>
<div>
<p>温馨提示</p>
<p>推荐使用农行卡,农行卡支付免收手续费!</p>
</div>
</div>
<bottom-tab>
<tab-button class="footer" @click.native="pay">
&nbsp;&nbsp;
</tab-button>
<tab-button class="footer" @click.native="pay">&nbsp;&nbsp;</tab-button>
</bottom-tab>
</h-view>
</template>
<script>
export default {
name: 'FirstPay',
components: {
},
components: {},
data () {
return {
money: 0,
......@@ -54,7 +66,9 @@ export default {
if (from.name === 'MyInfo') {
vm.getDownPayment()
} else if (from.name === 'Success') {
vm.money = parseInt(vm.default) - parseInt(window.sessionStorage.getItem('money'))
vm.money =
parseInt(vm.default) -
parseInt(window.sessionStorage.getItem('money'))
vm.default = vm.money
}
})
......@@ -156,80 +170,64 @@ export default {
</script>
<style lang='less' >
#first-pay {
.h-header {
background-color: #00469C;
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.61px;
line-height: 24px;
}
}
}
.center {
position: relative;
height: 50px;
background-color: #00469C;
.top-head {
width: 100%;
height: 206px;
background: url("../../../assets/payment/back1.png");
background-size: 100% 206px;
.now-pay {
background: url('../../../assets/payment/background.png');
background-size: 365px;
background-position: -5px;
position: absolute;
left: 10px;
z-index: 2;
text-align: center;
width: 355px;
height: 89px;
border-radius: 4px;
box-shadow: 0 1px 3px 2px rgba(168,168,168,0.14);
:first-child {
width: 90px;
margin: 0 auto;
display: flex;
justify-content: center;
flex-wrap: wrap;
.title {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #383F45;
height: 35px;
line-height: 42px;
color: #ffffff;
margin-top: 20px;
}
:last-child {
font-family: DIN-Bold;
.data {
font-family: Verdana-Bold;
font-size: 24px;
color: #FF8300;
font-weight: 700;
span {
font-size: 16px;
margin-right: 5px;
}
color: #ffffff;
letter-spacing: 0;
line-height: 18px;
text-align: center;
margin-top: 16px;
}
}
}
.pay-content {
padding-top: 50px;
position: relative;
top: -47px;
width: 100%;
height: 94px;
display: flex;
justify-content: center;
.pos {
width: 96%;
height: 100%;
background: #ffffff;
box-shadow: 0 1px 3px 2px rgba(168, 168, 168, 0.14);
}
.pay-money {
height: 74px;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
flex: 1;
background-color: #fff;
padding-left: 16px;
.pay-icon {
height: 50%;
display: flex;
align-items: center;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #00469C;
padding-top: 12px;
color: #00469c;
img{
img {
width: 18px;
display: block;
float: left;
......@@ -238,17 +236,21 @@ export default {
}
.pay-input {
margin-top: 11px;
display: flex;
height: 50%;
display: flex;
align-items: center;
flex:1;
font-family: PingFangSC-Regular;
font-size: 14px;
color: #656464;
height: 37px;
span {
flex: 2;
text-align: left;
line-height: 37px;
height: 100%;
display: flex;
align-items: center;
}
input {
......@@ -257,14 +259,16 @@ export default {
padding-right: 5px;
}
div{
div {
display: flex;
height: 100%;
align-items: center;
flex: 1;
text-align: center;
line-height: 37px;
background: rgba(0,70,156,0.08);
background: rgba(0, 70, 156, 0.08);
i {
color: #00469C;
color: #00469c;
font-size: 16px;
}
}
......@@ -272,17 +276,19 @@ export default {
input::placeholder {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #B4B4B5;
color: #b4b4b5;
}
}
}
}
.prompt {
background: rgba(142,195,30,0.10);
background: rgba(142, 195, 30, 0.1);
height: 77px;
display: flex;
position: absolute;
width: 100%;
bottom: 0;
div:first-child {
flex: 1;
padding: 16px 0 0 16px;
......@@ -294,13 +300,13 @@ export default {
}
div:last-child {
flex:12;
flex: 12;
p:first-child {
padding-top: 16px;
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #8EC31E;
color: #8ec31e;
letter-spacing: 0.5px;
}
......@@ -308,16 +314,16 @@ export default {
padding-top: 15px;
font-family: PingFangSC-Regular;
font-size: 12px;
color: rgba(101,100,100,0.80);
color: rgba(101, 100, 100, 0.8);
letter-spacing: 0.37px;
}
}
}
.bottom-tab-button{
background: #00469C;
.bottom-tab-button {
background: #00469c;
border-radius: 4px;
color:white;
color: white;
height: 40px;
margin: 4px 2% 0 2%;
}
......
......@@ -13,6 +13,13 @@
<div>{{ money |currency }}</div>
</div>
<list-item :item-height="56" class="pay-way">
<item v-for="(item,index) in nongBank" :proportion="[7,1,1]" :key="index" @click.native="isSelect(`nong${index}`)">
<div slot="name" style="flex=3"> <img :src="selectImg(item)" alt="" class="icon"> {{ item.bank_full_name }}({{ selectLast(item) }})<img v-show="item.recommand" class="push" src="@/assets/payment/push.png"></div>
<section slot="content">
<img v-show="select === `nong${index}`" src="@/assets/payment/select.png" alt="">
<img v-show="select !== `nong${index}`" src="@/assets/payment/unselect.png" alt="">
</section>
</item>
<item :proportion="[7,1,1]" @click.native="isSelect('one')">
<div slot="name"> <img src="@/assets/payment/alipay.png" alt="" class="icon1"> 支付宝</div>
<section slot="content">
......@@ -40,7 +47,7 @@
</h-content>
<bottom-tab>
<tab-button class="footer" @click.native="pay">
<tab-button class="foot" @click.native="pay">
立即付款
</tab-button>
</bottom-tab>
......@@ -75,22 +82,22 @@ export default {
recommand: false,
flag: false, // 用于判断是否有农业银行卡
lists: [],
nongBank: [], // 存农行卡
}
},
computed: {
newList () {
let vm = this
let value
let flag
vm.lists.forEach((item, i) => {
if (item.bank_full_name.indexOf('农业') !== -1) {
value = vm.lists.splice(i, 1)
vm.lists.unshift(...value)
flag = true
vm.nongBank.push(...value)
vm.flag = true
}
})
if (flag) {
vm.select = 'three0'
if (vm.flag) {
vm.select = 'nong0'
} else {
vm.select = 'one'
}
......@@ -195,24 +202,7 @@ export default {
margin-left:10px;
width:35px;
}
.h-header {
background-color: #00469C;
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.61px;
line-height: 24px;
}
}
}
.entry-content {
.amount {
height: 166px;
......@@ -281,13 +271,9 @@ export default {
}
}
.bottom-tab-button{
background: #00469C;
border-radius: 4px;
color:white;
height: 40px;
margin: 4px 2% 0 2%;
}
.foot{
background-color: @headerColor;
color: #fff;
}
}
</style>
......@@ -106,7 +106,7 @@ export default {
background-color: #00469C;
.now-pay {
background: url('../../../assets/payment/background.png');
// background: url('../../../assets/payment/background.png');
background-size: 365px;
background-position: -5px;
position: absolute;
......
......@@ -6,7 +6,6 @@
<span>支付中心</span>
</div>
</h-header>
<h-content class="entry-content">
<div class="amount">
<p>首付还款</p>
......
......@@ -46,7 +46,7 @@
</section>
<list-item :item-height="44">
<item>
<div slot="name">应还违约金</div>
<div slot="name">逾期利息</div>
<span slot="content">{{ money|currency }}</span>
</item>
</list-item></h-content>
......@@ -221,7 +221,7 @@ export default {
background-color: #00469C;
.now-pay {
background: url('../../../assets/payment/background.png');
// background: url('../../../assets/payment/background.png');
background-size: 365px;
background-position: -5px;
position: absolute;
......
......@@ -187,7 +187,7 @@ export default {
background-color: #00469C;
.now-pay {
background: url('../../../assets/payment/background.png');
// background: url('../../../assets/payment/background.png');
background-size: 365px;
background-position: -5px;
position: absolute;
......
......@@ -13,6 +13,13 @@
<div>{{ money |currency }}</div>
</div>
<list-item :item-height="56" class="pay-way">
<item v-for="(item,index) in nongBank" :proportion="[7,1,1]" :key="index" @click.native="isSelect(`nong${index}`)">
<div slot="name" style="flex=3"> <img :src="selectImg(item)" alt="" class="icon"> {{ item.bank_full_name }}({{ selectLast(item) }})<img v-show="item.recommand" class="push" src="@/assets/payment/push.png"></div>
<section slot="content">
<img v-show="select === `nong${index}`" src="@/assets/payment/select.png" alt="">
<img v-show="select !== `nong${index}`" src="@/assets/payment/unselect.png" alt="">
</section>
</item>
<item :proportion="[7,1,1]" @click.native="isSelect('one')">
<div slot="name"> <img src="@/assets/payment/alipay.png" alt="" class="icon1"> 支付宝</div>
<section slot="content">
......@@ -67,7 +74,8 @@ export default {
data () {
return {
money: '',
select: 'three0',
select: 'one',
nongBank: [], // 存农行卡
flag: false, // 用于判断是否有农业银行卡
lists: [],
}
......@@ -76,16 +84,15 @@ export default {
newList () {
let vm = this
let value
let flag
vm.lists.forEach((item, i) => {
if (item.bank_full_name.indexOf('农业') !== -1) {
value = vm.lists.splice(i, 1)
vm.lists.unshift(...value)
flag = true
vm.nongBank.push(...value)
vm.flag = true
}
})
if (flag) {
vm.select = 'three0'
if (vm.flag) {
vm.select = 'nong0'
} else {
vm.select = 'one'
}
......@@ -191,30 +198,19 @@ export default {
</script>
<style lang='less' >
#payment-pay-entry {
.icon {
width: 30px;
display: block;
float: left;
position: relative;
margin: 12px 8px 0 3px;
}
.push{
position: absolute;
top:10px;
margin-left:10px;
width:35px;
}
.h-header {
background-color: #00469C;
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.61px;
line-height: 24px;
}
}
}
.entry-content {
.amount {
height: 166px;
......@@ -265,13 +261,7 @@ export default {
margin-top: 12px;
margin-right: 8px;
}
.icon {
width: 30px;
display: block;
float: left;
position: relative;
margin: 12px 8px 0 3px;
}
}
.add-content {
......@@ -283,13 +273,9 @@ export default {
}
}
.bottom-tab-button{
background: #00469C;
border-radius: 4px;
color:white;
height: 40px;
margin: 4px 2% 0 2%;
}
.footer{
color: #fff;
background-color: @headerColor;
}
}
</style>
......@@ -80,23 +80,6 @@ export default {
<style lang="less" scoped>
#result {
background-color: #fafafa;
.h-header {
background-color: #00469c;
.h-header-btn {
img {
width: 16px;
height: 16px;
margin-left: 4px;
}
span {
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.61px;
line-height: 24px;
}
}
}
.my-content {
height: 400px;
background-color: #fff;
......
......@@ -2,53 +2,58 @@
* @Descrip: 产品明细
* @Author: your name
* @Date: 2019-10-15 14:30:00
* @LastEditTime: 2019-11-01 16:32:46
* @LastEditTime: 2019-11-04 19:00:24
* @LastEditors: Please set LastEditors
-->
<template>
<h-view id="detailed" class="public-style" title="产品查询">
<h-view
v-swipeup="(e)=>vueTouch('上滑',e)" v-swipedown="(e)=>vueTouch('下滑',e)" id="detailed" class="public-style"
title="产品查询">
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()">
<img src="@/assets/userBind/arrow.png" @click="returnGo()">
<span>产品明细</span>
</div>
</h-header>
<!-- <Tab :tabNums="tabNum" @getTabNum="getTabNum"/> -->
<Tab v-if="slide" :tabNums="tabNum" @getTabNum="getTabNum"/>
<!-- 基本信息 -->
<h-content @touchmove="moves" @mousemove="mousemove">
<img :src="picLists[0].url" alt="" class="detail-pic">
<div class="base-content">
<div class="top-code">
<div>参数项 &nbsp;{{ baseInfo.product_code }}</div>
<div>{{ baseInfo.division_n }}</div>
</div>
<div class="pro-name">{{ baseInfo.product_name }}</div>
<div class="pro-price">
<p>参考价 <span class="prices">{{ baseInfo.plan_price | currency }}</span></p>
<p class="dates">价格有效期 &nbsp;{{ baseInfo.price_date_to | dateFormat }}</p>
</div>
<div class="agent">
<div class="items">
<img src="@/assets/productQuery/agent.png" alt="">
<p>{{ baseInfo.agent_bp_name }}</p>
</div>
<div class="items">
<img src="@/assets/productQuery/address.png" alt="">
<p>{{ baseInfo.business_address }} .{{ baseInfo.province_name }}</p>
<h-content class="hcontent">
<div id="baseInfo" class="base">
<img :src="picLists[0].url" alt="" class="detail-pic">
<div class="base-content">
<div class="top-code">
<div>参数项 &nbsp;{{ baseInfo.product_code }}</div>
<div>{{ baseInfo.division_n }}</div>
</div>
<div class="items">
<img src="@/assets/productQuery/call.png" alt="">
<p>{{ baseInfo.phone }}</p>
<div class="pro-name">{{ baseInfo.product_name }}</div>
<div class="pro-price">
<p>参考价 <span class="prices">{{ baseInfo.plan_price | currency }}</span></p>
<p class="dates">价格有效期 &nbsp;{{ baseInfo.price_date_to | dateFormat }}</p>
</div>
<div class="items">
<img src="@/assets/productQuery/house.png" alt="">
<p>{{ baseInfo.factory_bp_name }}</p>
<div class="agent">
<div class="items">
<img src="@/assets/productQuery/agent.png" alt="">
<p>{{ baseInfo.agent_bp_name }}</p>
</div>
<div class="items">
<img src="@/assets/productQuery/address.png" alt="">
<p>{{ baseInfo.business_address }} .{{ baseInfo.province_name }}</p>
</div>
<div class="items">
<img src="@/assets/productQuery/call.png" alt="">
<p>{{ baseInfo.phone }}</p>
</div>
<div class="items">
<img src="@/assets/productQuery/house.png" alt="">
<p>{{ baseInfo.factory_bp_name }}</p>
</div>
</div>
</div>
</div>
<!-- 商品详情 -->
<div class="pro-details">
<div id="prodetail" ref="detail" class="pro-details prodetail">
<div class="equipment-list">商品详情</div>
<div v-for="item in picLists" :key="item.product_attachment_id" class="proPic">
......@@ -57,7 +62,7 @@
</div>
<!-- 产品配置 -->
<div class="pro-details">
<div id="procfg" class="pro-details procnf">
<div class="equipment-list">产品配置</div>
<div class="table-wrap" v-html="confgInfo.product_properties"/>
</div>
......@@ -89,17 +94,20 @@ export default {
return {
text: '',
tabNum: 0,
picLists: [],
baseInfo: {},
picLists: [], // 图片列表
baseInfo: {}, // 基本信息
show_text: '',
confgInfo: {},
detailInfo: {},
bgc_flag: true,
confgInfo: {}, // 配置信息
detailInfo: {}, // 详情
bgc_flag: true, // 背景图切换
collect_flag: false,
slide: false,
}
},
computed: {},
watch: {},
watch: {
},
beforeRouteEnter (to, from, next) {
if (from.name === 'ProductList' || from.name === 'MyProductList') {
next(vm => {
......@@ -127,11 +135,27 @@ export default {
},
methods:
{
moves () {
console.log('moves')
returnGo () {
// this.$router.replace({
// name: 'ProductList',
// })
this.$router.go(-1)
},
mousemove () {
console.log('mousemove')
vueTouch: function (s, e) {
console.log(s, e)
this.slide = true
// console.log(this.$refs.detail.style)
let clientHeight = document.body.clientHeight // 屏幕可视高度
let procnfGather = document.getElementsByClassName('procnf')[0].getBoundingClientRect() // 配置信息元素集合
let detailGather = document.getElementsByClassName('prodetail')[0].getBoundingClientRect() // 详情信息元素集合
let baseGather = document.getElementsByClassName('base')[0].getBoundingClientRect() // 基本信息元素集合
if (clientHeight - procnfGather.top >= procnfGather.height) {
this.tabNum = 2
} else if (clientHeight - detailGather.top >= detailGather.height) {
this.tabNum = 1
} else if (clientHeight - baseGather.top >= baseGather.height) {
this.tabNum = 0
}
},
getTabNum (i) {
console.log(i)
......@@ -262,6 +286,18 @@ export default {
</script>
<style lang='less'>
#detailed {
// .hcontent {
// .base {
// position: relative;
// }
// .prodetail {
// position: absolute;
// top: 500px;
// }
// .procnf {
// margin-bottom: 70px
// }
// }
.detail-pic {
width: 100%;
}
......@@ -290,7 +326,8 @@ export default {
}
div:nth-of-type(2) {
margin-left: 16px;
width: 73px;
// width: 73px;
padding: 0 4px;
}
}
.pro-name {
......@@ -378,6 +415,9 @@ export default {
top: 10px;
}
}
.procnf {
margin-bottom: 70px
}
.footer-button {
.butt {
width: 48%;
......
......@@ -20,7 +20,7 @@
</div>
<div class="division-box">
<list-item v-for="item in lists" :key="item.product_id">
<list-item v-for="(item,index) in lists" :key="index">
<item :proportion="[1,4]" @click.native="goDetailed(item.product_id,item.collect_status,item.bp_id)">
<div slot="name" class="item-pic">
<img src="@/assets/homePage/WechatIMG2 Copy@2x.png" alt="">
......
......@@ -2,7 +2,7 @@
* @Descrip: 查询首页
* @Author: your name
* @Date: 2019-10-15 14:30:00
* @LastEditTime: 2019-11-01 10:21:19
* @LastEditTime: 2019-11-04 11:15:13
* @LastEditors: Please set LastEditors
-->
<template>
......@@ -36,7 +36,7 @@
<p class="product">{{ item.factory_bp_name }}</p>
</div>
<div class="second">
<p class="product-class">产品线</p>
<p class="product-class">产品名称</p>
<div class="product">
<p>{{ item.division_n }}</p>
</div>
......
......@@ -2,17 +2,17 @@
* @Description: 详情tab
* @Author: your name
* @Date: 2019-09-25 19:47:59
* @LastEditTime: 2019-10-22 14:38:34
* @LastEditTime: 2019-11-04 14:34:16
* @LastEditors: Please set LastEditors
-->
<template>
<div class="tab-style">
<div :class="{'tab-content-bg':tabNum == 0}" class="tab-content" @click="tabNum = 0;sendTabNum()"><img :src="tabNum == 0?baseInfo:unBaseInfo"><span
:class="{'colored':tabNum == 0}">基本信息</span></div>
<div :class="{'tab-content-bg':tabNum == 1}" class="tab-content" @click="tabNum = 1;sendTabNum()"><img :src="tabNum == 1?detail:unDetail"><span
:class="{'colored':tabNum == 1}">商品详情</span></div>
<div :class="{'tab-content-bg':tabNum == 2}" class="tab-content" @click="tabNum = 2;sendTabNum()"><img :src="tabNum == 2?config:unConfig"><span
:class="{'colored':tabNum == 2}">产品配置</span></div>
<a :class="{'tab-content-bg':tabNum == 0}" class="tab-content" href="#baseInfo" @click="tabNum = 0;sendTabNum()"><img :src="tabNum == 0?baseInfo:unBaseInfo"><span
:class="{'colored':tabNum == 0}">基本信息</span></a>
<a :class="{'tab-content-bg':tabNum == 1}" class="tab-content" href="#prodetail" @click="tabNum = 1;sendTabNum()"><img :src="tabNum == 1?detail:unDetail"><span
:class="{'colored':tabNum == 1}">商品详情</span></a>
<a :class="{'tab-content-bg':tabNum == 2}" class="tab-content" href="#procfg" @click="tabNum = 2;sendTabNum()"><img :src="tabNum == 2?config:unConfig"><span
:class="{'colored':tabNum == 2}">产品配置</span></a>
</div>
</template>
<script>
......
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