Commit 7c9a052f authored by 李晓兵's avatar 李晓兵

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

parents e9ed2635 9d44e4cf
src/assets/myInfo/about.png

893 Bytes | W: | H:

src/assets/myInfo/about.png

936 Bytes | W: | H:

src/assets/myInfo/about.png
src/assets/myInfo/about.png
src/assets/myInfo/about.png
src/assets/myInfo/about.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/back.png

70.6 KB | W: | H:

src/assets/myInfo/back.png

31.4 KB | W: | H:

src/assets/myInfo/back.png
src/assets/myInfo/back.png
src/assets/myInfo/back.png
src/assets/myInfo/back.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/carConfirm.png

2.27 KB | W: | H:

src/assets/myInfo/carConfirm.png

2.7 KB | W: | H:

src/assets/myInfo/carConfirm.png
src/assets/myInfo/carConfirm.png
src/assets/myInfo/carConfirm.png
src/assets/myInfo/carConfirm.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/collect.png

1.88 KB | W: | H:

src/assets/myInfo/collect.png

1.77 KB | W: | H:

src/assets/myInfo/collect.png
src/assets/myInfo/collect.png
src/assets/myInfo/collect.png
src/assets/myInfo/collect.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/exit.png

952 Bytes | W: | H:

src/assets/myInfo/exit.png

908 Bytes | W: | H:

src/assets/myInfo/exit.png
src/assets/myInfo/exit.png
src/assets/myInfo/exit.png
src/assets/myInfo/exit.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/help.png

2.01 KB | W: | H:

src/assets/myInfo/help.png

1.91 KB | W: | H:

src/assets/myInfo/help.png
src/assets/myInfo/help.png
src/assets/myInfo/help.png
src/assets/myInfo/help.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/myRefund.png

831 Bytes | W: | H:

src/assets/myInfo/myRefund.png

773 Bytes | W: | H:

src/assets/myInfo/myRefund.png
src/assets/myInfo/myRefund.png
src/assets/myInfo/myRefund.png
src/assets/myInfo/myRefund.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/pay.png

11 KB | W: | H:

src/assets/myInfo/pay.png

8.81 KB | W: | H:

src/assets/myInfo/pay.png
src/assets/myInfo/pay.png
src/assets/myInfo/pay.png
src/assets/myInfo/pay.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/refresh.png

1.41 KB | W: | H:

src/assets/myInfo/refresh.png

1.43 KB | W: | H:

src/assets/myInfo/refresh.png
src/assets/myInfo/refresh.png
src/assets/myInfo/refresh.png
src/assets/myInfo/refresh.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/refund.png

11.2 KB | W: | H:

src/assets/myInfo/refund.png

9.7 KB | W: | H:

src/assets/myInfo/refund.png
src/assets/myInfo/refund.png
src/assets/myInfo/refund.png
src/assets/myInfo/refund.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/repay.png

2.2 KB | W: | H:

src/assets/myInfo/repay.png

2.1 KB | W: | H:

src/assets/myInfo/repay.png
src/assets/myInfo/repay.png
src/assets/myInfo/repay.png
src/assets/myInfo/repay.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/unConfirm.png

2.32 KB | W: | H:

src/assets/myInfo/unConfirm.png

2.36 KB | W: | H:

src/assets/myInfo/unConfirm.png
src/assets/myInfo/unConfirm.png
src/assets/myInfo/unConfirm.png
src/assets/myInfo/unConfirm.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/unFace.png

2.44 KB | W: | H:

src/assets/myInfo/unFace.png

2.31 KB | W: | H:

src/assets/myInfo/unFace.png
src/assets/myInfo/unFace.png
src/assets/myInfo/unFace.png
src/assets/myInfo/unFace.png
  • 2-up
  • Swipe
  • Onion skin
src/assets/myInfo/unSign.png

1.92 KB | W: | H:

src/assets/myInfo/unSign.png

1.96 KB | W: | H:

src/assets/myInfo/unSign.png
src/assets/myInfo/unSign.png
src/assets/myInfo/unSign.png
src/assets/myInfo/unSign.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -89,6 +89,9 @@ export default { ...@@ -89,6 +89,9 @@ export default {
methods: { methods: {
selectShowList () { selectShowList () {
let vm = this let vm = this
vm.undo = []
vm.done = []
vm.tabNum = 0
this.lists.forEach(item => { this.lists.forEach(item => {
if (item.confirm_status === 'SUBMIT') { if (item.confirm_status === 'SUBMIT') {
vm.undo.push(item) vm.undo.push(item)
...@@ -96,6 +99,7 @@ export default { ...@@ -96,6 +99,7 @@ export default {
vm.done.push(item) vm.done.push(item)
} }
}) })
this.showList = this.undo
}, },
getTabNum (i) { getTabNum (i) {
this.tabNum = i this.tabNum = i
...@@ -119,30 +123,6 @@ export default { ...@@ -119,30 +123,6 @@ export default {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
vm.lists = res.lists 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() vm.selectShowList()
} else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2019-09-29 10:02:11 * @Date: 2019-09-29 10:02:11
* @LastEditTime: 2019-11-05 18:15:37 * @LastEditTime: 2019-11-06 16:47:37
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
--> -->
...@@ -113,7 +113,7 @@ export default { ...@@ -113,7 +113,7 @@ export default {
// 合同查询 // 合同查询
contractList () { contractList () {
let vm = this let vm = this
let url = $config.basePath + 'con_confirm_list_query' let url = $config.basePath + 'prj_confirm_list_query'
let param = { let param = {
user_phone: window.localStorage.user_phone, user_phone: window.localStorage.user_phone,
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<span>合同发车</span> <span>合同发车</span>
</div> </div>
</h-header> </h-header>
<Tab :tabNum="tabNum" @getTabNum="getTabNum" /> <Tab @getTabNum="getTabNum" />
<div class="search"> <div class="search">
<input placeholder="请输入合同号/产品线/承租人名称" > <input placeholder="请输入合同号/产品线/承租人名称" >
</div> </div>
...@@ -61,7 +61,7 @@ export default { ...@@ -61,7 +61,7 @@ export default {
}, },
data () { data () {
return { return {
tabNum: 0, tabNum: '',
contructs: [], contructs: [],
lists: [], lists: [],
showList: [], showList: [],
...@@ -91,18 +91,18 @@ export default { ...@@ -91,18 +91,18 @@ export default {
created () { created () {
}, },
methods: { methods: {
selectShowList (e) { selectShowList () {
let vm = this let vm = this
vm.undo = [] vm.undo = []
vm.done = [] vm.done = []
vm.tabNum = 0 vm.tabNum = 0
e.forEach(item => { vm.undo = vm.lists.filter(i => {
if (item.leases_status === 'N') { return i.leases_status === 'N'
vm.undo.push(item) })
} else if (item.leases_status === 'Y') { vm.done = vm.lists.filter(i => {
vm.done.push(item) return i.leases_status === 'Y'
}
}) })
this.showList = this.undo
}, },
getTabNum (i) { getTabNum (i) {
this.tabNum = i this.tabNum = i
...@@ -133,7 +133,7 @@ export default { ...@@ -133,7 +133,7 @@ export default {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
vm.lists = res.lists vm.lists = res.lists
vm.selectShowList(res.lists) vm.selectShowList()
} else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
} }
......
...@@ -20,15 +20,15 @@ import sign from '@/assets/contractStart/1.png' ...@@ -20,15 +20,15 @@ import sign from '@/assets/contractStart/1.png'
import finish from '@/assets/contractStart/3.png' import finish from '@/assets/contractStart/3.png'
export default { export default {
props: { // props: {
'tabNum': { // 'tabNum': {
type: Number, // type: Number,
default: 0, // default: 0,
}, // },
}, // },
data () { data () {
return { return {
// tabNum: 0, tabNum: 0,
signed: signed, signed: signed,
finished: finished, finished: finished,
sign: sign, sign: sign,
......
/**
* @Author Sean
* @Date 2019/10/22
*/
<template>
<h-view id="reimburseDetail" class="public-style" style="height: 100%">
<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>
<h-content>
<list-item :item-height="44">
<item>
<div slot="name">交易流水号</div>
<div slot="content">{{ detail.order_number }}</div>
</item>
<item>
<div slot="name">交易时间</div>
<div slot="content">{{ detail.order_date }}</div>
</item>
<item>
<div slot="name">收款账号</div>
<div slot="content">{{ '暂无字段' }}</div>
</item>
<item>
<div slot="name">收款账户名称</div>
<div slot="content">{{ '暂无字段' }}</div>
</item>
<item>
<div slot="name">商业伙伴</div>
<div slot="content">{{ detail.bp_name }}</div>
</item>
<item>
<div slot="name">商业伙伴类型</div>
<div slot="content">{{ detail.bp_type_n }}</div>
</item>
<item>
<div slot="name">付款账号</div>
<div slot="content">{{ '暂无字段' }}</div>
</item>
<item>
<div slot="name">付款账户名称</div>
<div slot="content">{{ '暂无字段' }}</div>
</item>
</list-item>
<div v-for="(list,index) in conList" :key="index" class="contract">
<div>
<div class="top">
<img src="@/assets/reimburseMyself/q.png" >
<span class="number">合同号</span>
<span>{{ list.project_number }}</span>
</div>
<div v-for="(item,indexTwo) in list.con_lists" :key="indexTwo" class="bottom">
<list-item >
<item>
<div slot="name">首付款</div>
<div slot="content">{{ item.down_payment | currency }}</div>
</item>
<item>
<div slot="name">保证金</div>
<div slot="content">{{ item.deposit | currency }}</div>
</item>
<item>
<div slot="name">手续费</div>
<div slot="content">{{ item.lease_charge | currency }}</div>
</item>
<item>
<div slot="name">GPS费用</div>
<div slot="content">{{ item.gps_fee | currency }}</div>
</item>
<item>
<div slot="name">保险押金</div>
<div slot="content">{{ item.insurance_fee | currency }}</div>
</item>
</list-item>
</div>
</div>
</div>
</h-content>
</h-view>
</template>
<script>
export default {
data () {
return {
detail: {},
conList: [],
}
},
beforeRouteEnter (to, from, next) {
next(vm => {
vm.getDetail()
vm.getConList()
})
},
created: function () {},
mounted: function () {},
updated: function () {},
destroyed: function () {},
methods: {
getDetail () {
let vm = this
let url = process.env.basePath + 'my_repayment_detial_query'
let param = {
order_id: vm.$route.params.order_id,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.detail = res.info
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
getConList () {
let vm = this
let url = process.env.basePath + 'my_con_list_query'
let param = {
order_id: vm.$route.params.order_id,
}
hlsPopup.showLoading('请稍候')
vm.$post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
vm.conList = res.prj_lists
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
},
}
</script>
<style lang="less" rel="stylesheet">
#reimburseDetail {
.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;
}
}
.hls-item .contents .add-name .left-icon {
width: 30px;
}
.list-wrap {
margin: 10px;
}
.add-name {
.time-font {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #656464;
}
}
.add-content {
.money-font {
font-family: Verdana-Bold;
font-size: 15px;
color: rgba(56, 63, 69, 0.6);
font-weight: 600;
}
.time-font {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #656464;
}
}
.contract {
width: 359px;
background-color: #fff;
margin: 0 auto;
margin-top: 8px;
.top {
height: 43px;
display: flex;
align-items: center;
display: flex;
img {
width: 30px;
height: 30px;
margin-left: 10px;
}
.number {
margin-left: 10px;
font-family: PingFangSC-Semibold;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
line-height: 18px;
}
span:last-child {
margin-left: 116px;
font-family: PingFangSC-Semibold;
font-size: 14px;
color: rgba(75, 74, 75, 0.97);
letter-spacing: 0;
line-height: 18px;
}
}
.bottom {
width: 300px;
margin: 0 auto;
display: flex;
}
.left {
flex: 1;
}
.right {
flex: 1;
text-align: right;
}
}
}
</style>
<template>
<h-view id="reimburse" class="public-style" style="height: 100%">
<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="hinput">
<input v-model="keyWords" type="text" placeholder="请输入退款金额" >
</div>
<scroll ref="scroll" :updateData="[reimburseList]" :pullUp="true">
<section class="reimburse-wrap">
<list-item
v-for="(list,index) in reimburseList"
:key="index"
@click.native="godetail(list.order_id)"
>
<item>
<img slot="left-icon" src="@/assets/reimburseMyself/reimburse.png" class="left-icon" >
<div slot="name">退款金额</div>
<div slot="content" class="money-font">{{ list.orderamount | currency }}</div>
</item>
<item>
<div slot="left-icon" class="left-icon" />
<div slot="name" class="time-font">还款时间</div>
<div slot="content" class="time-font">{{ list.order_date }}</div>
</item>
</list-item>
</section>
</scroll>
</h-view>
</template>
<script>
export default {
data () {
return {
reimburseList: [],
keyWords: '',
}
},
beforeRouteEnter (to, from, next) {
next(vm => {
vm.getList()
})
},
methods: {
godetail (e) {
this.$router.push({
name: 'DrawbackDetail',
params: {
order_id: e,
},
})
},
getList () {
// let vm = this
// let url = process.env.basePath + 'my_repayment_query'
// let param = {
// user_phone: window.localStorage.getItem('user_phone'),
// }
// vm.hlsPopup.showLoading('数据加载中,请稍后!')
// vm.hlsHttp.post(url, param).then(function (res) {
// vm.hlsPopup.hideLoading()
// if (res.result === 'S') {
// vm.reimburseList = res.lists
this.reimburseList = [
{
order_date: '2019/10/24',
orderamount: '0',
order_id: '16',
},
]
// if (res.lists.length > 0 && res.lists.length < 10) {
// vm.$refs.scroll.update(true)
// }
// }
// })
},
},
}
</script>
<style lang="less" rel="stylesheet">
#reimburse {
.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;
}
}
.hinput {
position: relative;
z-index: 50;
width: 100%;
height: 68px;
display: flex;
justify-content: center;
align-items: center;
margin-top: 3px;
background: #fff;
input {
width: 351px;
height: 36px;
padding-left: 20px;
margin: 0 auto;
opacity: 0.4;
border: none;
line-height: 34px;
border: none;
background: url("../../assets/drawback/uncheck.png") 310px no-repeat;
background-size: 16px 16px;
background-color: rgba(239, 239, 239, 0.55);
}
input:focus {
background-color: #fff;
background: url("../../assets/drawback/check.png") 310px no-repeat;
background-size: 16px 16px;
border: 1px solid #1d3fff;
}
}
.content {
margin-top: 10px;
}
.scrollContent {
padding-bottom: 70px;
}
.reimburse-wrap {
margin: 10px;
}
.hls-item .contents .add-name .left-icon {
width: 30px;
}
.add-name {
.time-font {
font-family: PingFangSC-Regular;
font-size: 14px;
color: rgba(56, 63, 69, 0.6);
}
}
.add-content {
.money-font {
font-family: Verdana-Bold;
font-size: 15px;
color: #1d3fff;
}
.time-font {
font-family: PingFangSC-Regular;
font-size: 14px;
color: rgba(56, 63, 69, 0.6);
}
}
}
</style>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Descrip""/>User Settings Edit * @Descrip""/>User Settings Edit
* @Author: your name * @Author: your name
* @Date: 2019-09-29 20:31:00 * @Date: 2019-09-29 20:31:00
* @LastEditTime: 2019-11-05 15:35:42 * @LastEditTime: 2019-11-06 15:14:34
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
--> -->
<template> <template>
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
<item> <item>
<div slot="name" class="font-color">手续费</div> <div slot="name" class="font-color">手续费</div>
<span v-if="!equip_price" slot="content" class="autoColor">手续费金额自动填充</span> <span v-if="!equip_price" slot="content" class="autoColor">手续费金额自动填充</span>
<span v-if="equip_price" slot="content">{{ (equip_price - equip_price*info.down_payment_ratio_n.replace("%","")/100)*(info.lease_charge_ratio_n.replace("%","")/100) | currency }}</span> <span v-if="equip_price" slot="content">{{ parseFloat((equip_price - equip_price*info.down_payment_ratio_n.replace("%","")/100)*(info.lease_charge_ratio_n.replace("%","")/100)).toFixed(2) | currency }}</span>
</item> </item>
<item> <item>
<div slot="name" class="font-color">保险押金</div> <div slot="name" class="font-color">保险押金</div>
...@@ -67,15 +67,16 @@ ...@@ -67,15 +67,16 @@
<item> <item>
<div slot="name" class="font-color">首次付款合计</div> <div slot="name" class="font-color">首次付款合计</div>
<span v-if="!equip_price" slot="content" class="autoColor">首次付款合计金额自动填充</span> <span v-if="!equip_price" slot="content" class="autoColor">首次付款合计金额自动填充</span>
<span v-if="equip_price" slot="content">{{ equip_price*info.down_payment_ratio_n.replace("%","")/100 + equip_price*info.deposit_ratio_n.replace("%","")/100 + (equip_price - equip_price*info.down_payment_ratio_n.replace("%","")/100)*(info.lease_charge_ratio_n.replace("%","")/100) | currency }}</span> <!-- 合计 = 首付款+保证金+手续费+GPS费用+保险押金 -->
<span v-if="equip_price" slot="content">{{ parseFloat(equip_price*info.down_payment_ratio_n.replace("%","")/100 + equip_price*info.deposit_ratio_n.replace("%","")/100 + (equip_price - equip_price*info.down_payment_ratio_n.replace("%","")/100)*(info.lease_charge_ratio_n.replace("%","")/100) + Number(gps_fee) + Number(insurance_fee)).toFixed(2) | currency }}</span>
</item> </item>
<item> <item>
<div slot="name" class="font-color">预计付款日</div> <div slot="name" class="font-color">预计付款日</div>
<!-- <input slot="content" placeholder="YYYY-MM-DD" readonly> --> <!-- <input slot="content" placeholder="YYYY-MM-DD" readonly> -->
<div slot="content" class="autoColor">{{ price_date_to | dateFormat }}</div> <div slot="content" class="autoColor">{{ price_date_to }}</div>
<img src="@/assets/trial/date.png" alt="" class="date-pic" @click="showTime('YYYY-MM-DD')"> <img src="@/assets/trial/date.png" alt="" class="date-pic" @click="showTime('YYYY-MM-DD')">
</item> </item>
<item> <item @click.native="periodPull" :show-arrow="true">
<div slot="name" class="font-color">还款周期</div> <div slot="name" class="font-color">还款周期</div>
<input slot="content" v-model="info.annual_pay_times_n" placeholder="月"> <input slot="content" v-model="info.annual_pay_times_n" placeholder="月">
</item> </item>
...@@ -114,50 +115,52 @@ ...@@ -114,50 +115,52 @@
</template> </template>
<script> <script>
export default { export default {
name: 'FinancingDetails', name: 'FinancingDetails',
data() { data () {
return { return {
info: {}, info: {},
dates: '', dates: '',
gps_fee: '', // gps费用 gps_fee: '', // gps费用
insurance_fee: '', // 保险押金 insurance_fee: '', // 保险押金
quotation_id: '', // 试算成功返回id quotation_id: '', // 试算成功返回id
trial_flag: false, // 检测是否通过试算 trial_flag: false, // 检测是否通过试算
equip_price: null, equip_price: null,
product_num: '', periodLists: [], // 还款周期
price_date_to: '', product_num: '',
product_plan_id: '', price_date_to: '',
} product_plan_id: '',
}, }
computed: {}, },
watch: { computed: {},
equip_price() { watch: {
equip_price () {
}, },
}, },
beforeRouteEnter(to, from, next) { beforeRouteEnter (to, from, next) {
next(vm => { next(vm => {
if (from.name === 'FinancingTrial') { if (from.name === 'FinancingTrial') {
vm.price_date_to = vm.$route.params.price_date_to // 有效日期 // vm.price_date_to = vm.$route.params.price_date_to // 有效日期
vm.equip_price = vm.$route.params.plan_price // 参考价 vm.equip_price = vm.$route.params.plan_price // 参考价
if (vm.product_plan_id !== vm.$route.params.product_plan_id) { if (vm.product_plan_id !== vm.$route.params.product_plan_id) {
vm.product_plan_id = vm.$route.params.product_plan_id vm.product_plan_id = vm.$route.params.product_plan_id
vm.quotation_id = '' vm.quotation_id = ''
vm.trial_flag = false vm.trial_flag = false
} vm.insurance_fee = ''
vm.detailsQuery() vm.gps_fee = ''
} }
}) vm.detailsQuery()
next() vm.repayPeriod()
}, }
created() { })
next()
}, },
created () {},
methods: methods:
{ {
// 还款计划 // 还款计划
goRepay() { goRepay() {
if (this.trial_flag) { if (this.trial_flag) {
this.$router.push({ this.$router.push({
name: 'TrialRepayPlan', name: 'TrialRepayPlan',
...@@ -170,68 +173,108 @@ ...@@ -170,68 +173,108 @@
} }
}, },
// 时间选择 // 时间选择
showTime(format) { showTime (format) {
let vm = this let vm = this
hlsPopup.showTime({ hlsPopup.showTime({
nowDate: (new Date()).format('yyyy-MM-dd'), nowDate: (new Date()).format('yyyy-MM-dd'),
format: format, format: format,
callback: (date) => { callback: (date) => {
vm.price_date_to = date vm.price_date_to = date
}, },
}) })
}, },
// 试算明细查询
detailsQuery() { // 还款周期查询
let vm = this repayPeriod () {
let url = $config.basePath + 'finance_detial' let vm = this
let param = { let url = $config.basePath + 'annual_pay_times_query'
product_plan_id: vm.product_plan_id, let param = {
} product_plan_id: vm.product_plan_id,
vm.hlsPopup.showLoading('数据加载中') }
vm.hlsHttp.post(url, param).then(function (res) { vm.hlsPopup.showLoading('数据加载中')
vm.hlsPopup.hideLoading() vm.hlsHttp.post(url, param).then(function (res) {
if (res.result === 'S') { vm.hlsPopup.hideLoading()
vm.info = res.info if (res.result === 'S') {
} else { vm.periodLists = res.lists.map(item => {
hlsPopup.showLongCenter(res.message) return {
} code: item.annual_pay_times,
}) code_name: item.annual_pay_times_n,
}, }
// 试算保存 })
calculationSave() {
if (!this.equip_price) {
hlsPopup.showLongCenter('请输入设备总价') } else {
} else if (!this.price_date_to) { hlsPopup.showLongCenter(res.message)
hlsPopup.showLongCenter('请选择时间') }
} else { })
let vm = this },
let url = $config.basePath + 'prd_calculation_save' periodPull () {
let param = { let vm = this
'master': { vm.hlsPopup.selectList({
'product_plan_id': vm.info.product_plan_id, list: vm.periodLists, // 下拉列表
'equip_price': vm.equip_price, code: 'bp_type',
'down_payment': vm.equip_price * (vm.info.down_payment_ratio_n.replace('%', '') / 100), object: {},
'deposit': vm.equip_price * (vm.info.deposit_ratio_n.replace('%', '') / 100), returnItem: function (index, obj) {
'lease_charge': vm.equip_price * (vm.info.lease_charge_ratio_n.replace('%', '') / 100),
'due_date': (vm.price_date_to).substr(0, 10), vm.info.annual_pay_times_n = obj.bp_type_n
},
} },
vm.hlsPopup.showLoading('试算中,请稍后') })
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading() },
if (res.result === 'S') {
hlsPopup.showLongCenter('试算成功') // 试算明细查询
vm.quotation_id = res.quotation_id detailsQuery () {
vm.trial_flag = true let vm = this
} else { let url = $config.basePath + 'finance_detial'
hlsPopup.showLongCenter(res.message) 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.info = res.info
} else {
hlsPopup.showLongCenter(res.message)
}
})
},
// 试算保存
calculationSave () {
if (!this.equip_price) {
hlsPopup.showLongCenter('请输入设备总价')
} else if (!this.price_date_to) {
hlsPopup.showLongCenter('请选择时间')
} else {
let vm = this
let url = $config.basePath + 'prd_calculation_save'
let param = {
'master': {
'product_plan_id': vm.info.product_plan_id,
'equip_price': vm.equip_price,
'down_payment': vm.equip_price * (vm.info.down_payment_ratio_n.replace('%', '') / 100),
'deposit': vm.equip_price * (vm.info.deposit_ratio_n.replace('%', '') / 100),
'lease_charge': vm.equip_price * (vm.info.lease_charge_ratio_n.replace('%', '') / 100),
'due_date': (vm.price_date_to).substr(0, 10),
},
}
vm.hlsPopup.showLoading('试算中,请稍后')
vm.hlsHttp.post(url, param).then(function (res) {
vm.hlsPopup.hideLoading()
if (res.result === 'S') {
hlsPopup.showLongCenter('试算成功')
vm.quotation_id = res.quotation_id
vm.trial_flag = true
} else {
hlsPopup.showLongCenter(res.message)
}
})
}
},
},
}
</script> </script>
<style lang='less' scoped> <style lang='less' scoped>
#details1 { #details1 {
......
<!-- <!--
* @Author: your name * @Author: your name
* @Date: 2019-10-30 19:29:24 * @Date: 2019-10-30 19:29:24
* @LastEditTime: 2019-10-31 10:26:52 * @LastEditTime: 2019-11-06 15:56:54
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
* @Description: In User Settings Edit * @Description: In User Settings Edit
* @FilePath: \hls-xcmg-vue-app\src\pages\financingTrial\trial-repay-plan.vue * @FilePath: \hls-xcmg-vue-app\src\pages\financingTrial\trial-repay-plan.vue
...@@ -36,15 +36,15 @@ ...@@ -36,15 +36,15 @@
</div> </div>
<h-content id="content" class="plan-content"> <h-content id="content" class="plan-content">
<!-- 已结清 black , 逾期 orange , 还款中 blue , 未还款 green --> <!-- 已结清 black , 逾期 orange , 还款中 blue , 未还款 green -->
<div v-for="(item,index) in 5" :key="index" :class="{'plan-list':true,'or':statu==='orange','bl':statu==='blue','gr':statu==='green'}"> <div v-for="(item,index) in repayLists" :key="index" :class="{'plan-list':true,'or':statu==='orange','bl':statu==='blue','gr':statu==='green'}">
<div :class="{'period':true,'orange':statu==='orange','blue':statu==='blue','green':statu==='green'}">{{ index + 1 }}</div> <div :class="{'period':true,'orange':statu==='orange','blue':statu==='blue','green':statu==='green'}">{{ index + 1 }}</div>
<img v-if="statu === 'black'" src="@/assets/contractInquire/black.png" alt="" class="left"> <img v-if="statu === 'black'" src="@/assets/contractInquire/black.png" alt="" class="left">
<img v-if="statu === 'orange'" src="@/assets/contractInquire/orange.png" alt="" class="left"> <img v-if="statu === 'orange'" src="@/assets/contractInquire/orange.png" alt="" class="left">
<img v-if="statu === 'blue'" src="@/assets/contractInquire/blue.png" alt="" class="left"> <img v-if="statu === 'blue'" src="@/assets/contractInquire/blue.png" alt="" class="left">
<img v-if="statu === 'green'" src="@/assets/contractInquire/green.png" alt="" class="left"> <img v-if="statu === 'green'" src="@/assets/contractInquire/green.png" alt="" class="left">
<div class="time"> <div class="time">
<p>2019</p> <p>{{ item.due_date.substr(0,4) }}</p>
<span>01-01</span> <span>{{ dateConverse(item.due_date).substr(5,10) }}</span>
</div> </div>
<div class="name"> <div class="name">
<p>现金流项目</p> <p>现金流项目</p>
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</div> </div>
<div class="number"> <div class="number">
<p>租金</p> <p>租金</p>
<span :class="{'orang':statu==='orange','blu':statu==='blue','gree':statu==='green'}">90,000.00</span> <span :class="{'orang':statu==='orange','blu':statu==='blue','gree':statu==='green'}">{{ item.rental |currency }}</span>
</div> </div>
<img v-if="statu === 'black'" src="@/assets/contractInquire/done.png" alt="" class="status"> <img v-if="statu === 'black'" src="@/assets/contractInquire/done.png" alt="" class="status">
<img v-if="statu === 'orange'" src="@/assets/contractInquire/prompt.png" alt="" class="status"> <img v-if="statu === 'orange'" src="@/assets/contractInquire/prompt.png" alt="" class="status">
...@@ -71,12 +71,13 @@ export default { ...@@ -71,12 +71,13 @@ export default {
data () { data () {
return { return {
// 已结清 black , 逾期 orange , 还款中 blue , 未还款 green // 已结清 black , 逾期 orange , 还款中 blue , 未还款 green
statu: 'black', statu: 'orange',
info: {}, info: {},
show: false, show: false,
height: 0, height: 0,
oldHeight: 0, oldHeight: 0,
newHeight: 0, newHeight: 0,
repayLists: [], // 每期还款
} }
}, },
computed: {}, computed: {},
...@@ -90,6 +91,16 @@ export default { ...@@ -90,6 +91,16 @@ export default {
next() next()
}, },
methods: { methods: {
dateConverse (date) {
return date.replace(/\//g, '-')
},
arrSort (property) {
return function (a, b) {
var value1 = a[property]
var value2 = b[property]
return value1 - value2
}
},
showDetails () { showDetails () {
if (!this.flag) { if (!this.flag) {
this.flag = true this.flag = true
...@@ -124,6 +135,8 @@ export default { ...@@ -124,6 +135,8 @@ export default {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
vm.info = res.info vm.info = res.info
vm.repayLists = res.lists.sort(vm.arrSort('times')) // 根据还款期排序
} else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
} }
...@@ -283,7 +296,7 @@ export default { ...@@ -283,7 +296,7 @@ export default {
display: flex; display: flex;
padding-right: 20px; padding-right: 20px;
padding-left: 10px; padding-left: 10px;
padding-top: 16px; padding-top: 20px;
margin-bottom: 10px; margin-bottom: 10px;
.left { .left {
...@@ -306,13 +319,14 @@ export default { ...@@ -306,13 +319,14 @@ export default {
left: 0; left: 0;
background: rgba(75,74,75,.5); background: rgba(75,74,75,.5);
border-radius: 4px 0 4px 0; border-radius: 4px 0 4px 0;
width: 30px; // width: 30px;
height: 15px; padding: 1px 2px;
height: 20px;
color: #fff; color: #fff;
font-family: PingFangSC-Semibold; font-family: PingFangSC-Semibold;
font-size: 12px; font-size: 12px;
letter-spacing: 1.09px; letter-spacing: 1.09px;
line-height: 15px; line-height: 20px;
text-align: center; text-align: center;
} }
...@@ -336,7 +350,7 @@ export default { ...@@ -336,7 +350,7 @@ export default {
font-size: 12px; font-size: 12px;
color: rgba(56,63,69,0.60); color: rgba(56,63,69,0.60);
margin-bottom: 4px; margin-bottom: 4px;
margin-top: 5px; margin-top: 8px;
} }
span { span {
......
...@@ -4,12 +4,18 @@ ...@@ -4,12 +4,18 @@
<h-header class="header"> <h-header class="header">
<div slot="center" class="top-word">个人中心</div> <div slot="center" class="top-word">个人中心</div>
</h-header> </h-header>
<div class="card-top">
<img src="@/assets/myInfo/1.png" @click="showActionSheet" >
<div class="sign">
<span>{{ user_phone }}</span>
<div>
电子签
<p :class="[elecStatus?'across':'un-across']">{{ elecStatus?'已通过':'未通过' }}</p>
</div>
</div>
</div>
<div class="card"> <div class="card">
<div class="card-info"> <div class="card-info">
<div class="card-top">
<img src="@/assets/myInfo/1.jpg" @click="changePageHead" >
<span>{{ user_phone }}</span>
</div>
<div class="card-bottom"> <div class="card-bottom">
<div @click="goStart"> <div @click="goStart">
<img src="@/assets/myInfo/car.png" > <img src="@/assets/myInfo/car.png" >
...@@ -28,62 +34,73 @@ ...@@ -28,62 +34,73 @@
</div> </div>
</div> </div>
<h-content class="my-content"> <h-content class="my-content">
<div class="userInfo">我的合同</div> <div class="content-top">
<div class="my-contract"> <div class="userInfo">我的合同</div>
<div class="content-wrap" @click="goSign"> <div class="my-contract">
<span :class="{'content-wrap-class-width':signCount>99, 'content-wrap-class':signCount<99}">{{ signCount > 99 ? '99+' : signCount }}</span> <div class="content-wrap" @click="goSign">
<img src="@/assets/myInfo/unSign.png" > <span
<p>待签约</p> :class="{'content-wrap-class-width':signCount>99, 'content-wrap-class':signCount<99}"
</div> >{{ signCount > 99 ? '99+' : signCount }}</span>
<!--<div class="content-wrap" @click="goConfirm"> <img src="@/assets/myInfo/unSign.png" >
<span :class="{'content-wrap-class-width':confirmCount>99, 'content-wrap-class':confirmCount<99}">{{ confirmCount > 99 ? '99+' : confirmCount }}</span> <p>待签约</p>
<img src="@/assets/myInfo/unConfirm.png" > </div>
<p>待确认</p> <!-- <div class="content-wrap" @click="goConfirm">
</div>--> <span
<div class="content-wrap"> :class="{'content-wrap-class-width':confirmCount>99, 'content-wrap-class':confirmCount<99}"
<span :class="{'content-wrap-class-width':vedioCount>99, 'content-wrap-class':vedioCount<99}">{{ vedioCount > 99 ? '99+' : vedioCount }}</span> >{{ confirmCount > 99 ? '99+' : confirmCount }}</span>
<img src="@/assets/myInfo/unFace.png" > <img src="@/assets/myInfo/unConfirm.png" >
<p>待面签</p> <p>待确认</p>
</div> </div> -->
<div @click="goCarConfirm"> <div class="content-wrap">
<img src="@/assets/myInfo/carConfirm.png" > <span
<p>发车确认</p> :class="{'content-wrap-class-width':vedioCount>99, 'content-wrap-class':vedioCount<99}"
>{{ vedioCount > 99 ? '99+' : vedioCount }}</span>
<img src="@/assets/myInfo/unFace.png" >
<p>待面签</p>
</div>
<div @click="goCarConfirm">
<img src="@/assets/myInfo/carConfirm.png" >
<p>发车确认</p>
</div>
</div> </div>
</div> <list-item :item-height="44" class="list">
<list-item :item-height="44" class="list"> <item @click.native="goReimburse">
<item :show-arrow="true" @click.native="goReimburse"> <img slot="left-icon" src="@/assets/myInfo/myRefund.png" class="left-icon" >
<img slot="left-icon" src="@/assets/myInfo/myRefund.png" class="left-icon" > <div slot="name">我的还款</div>
<div slot="name">我的还款</div> </item>
</item> <item @click.native="changeDrawbackList">
<item :show-arrow="true"> <img slot="left-icon" src="@/assets/myInfo/repay.png" class="left-icon" >
<img slot="left-icon" src="@/assets/myInfo/repay.png" class="left-icon" > <div slot="name">业务退款</div>
<div slot="name">业务退款</div> </item>
</item> <item @click.native="goMyProduct">
<item :show-arrow="true" @click.native="goMyProduct"> <img slot="left-icon" src="@/assets/myInfo/collect.png" class="left-icon" >
<img slot="left-icon" src="@/assets/myInfo/collect.png" class="left-icon" > <div slot="name">我的收藏</div>
<div slot="name">我的收藏</div> <div
<div slot="right-icon" :class="{'right-icon-width':productCount>99, 'right-icon':productCount<99}">{{ productCount > 99 ? '99+' : productCount }}</div> slot="right-icon"
</item> :class="{'right-icon-width':productCount>99, 'right-icon':productCount<99}"
<item :show-arrow="true" @click.native="changeHelp"> >{{ productCount > 99 ? '99+' : productCount }}</div>
<img slot="left-icon" src="@/assets/myInfo/help.png" class="left-icon" > </item>
<div slot="name">帮助与反馈</div> <item @click.native="changeHelp">
</item> <img slot="left-icon" src="@/assets/myInfo/help.png" class="left-icon" >
<item :show-arrow="true"> <div slot="name">帮助与反馈</div>
<img slot="left-icon" src="@/assets/myInfo/about.png" class="left-icon" > </item>
<div slot="name">关于徐工</div> <item>
</item> <img slot="left-icon" src="@/assets/myInfo/about.png" class="left-icon" >
<item @click.native="updateVersion"> <div slot="name">关于徐工</div>
<img slot="left-icon" src="@/assets/myInfo/refresh.png" class="left-icon" > </item>
<div slot="name">检查更新</div> <item @click.native="updateVersion">
</item> <img slot="left-icon" src="@/assets/myInfo/refresh.png" class="left-icon" >
<item @click.native="logOut"> <div slot="name">检查更新</div>
<img slot="left-icon" src="@/assets/myInfo/exit.png" class="left-icon" > </item>
<div slot="name">退出登录</div> <item @click.native="logOut">
</item> <img slot="left-icon" src="@/assets/myInfo/exit.png" class="left-icon" >
<!-- <button v-if="flag" @click="changePageHead">用户绑定</button> <div slot="name">退出登录</div>
<button v-if="!flag" @click="unBind">解除绑定</button>--> </item>
<!-- <button v-if="flag" @click="changePageHead">用户绑定</button>
<button v-if="!flag" @click="unBind">解除绑定</button>-->
</list-item>
<button @click="approveBtn ? unBind() : changePageHead()">{{ description }}</button> <button @click="approveBtn ? unBind() : changePageHead()">{{ description }}</button>
</list-item> </div>
</h-content> </h-content>
</h-view> </h-view>
</template> </template>
...@@ -105,10 +122,11 @@ export default { ...@@ -105,10 +122,11 @@ export default {
productCount: '0', productCount: '0',
description: '', description: '',
approveBtn: false, approveBtn: false,
elecStatus: false,
} }
}, },
watch: { watch: {
/*'user_bp_status' (newVal, oldVal) { /* 'user_bp_status' (newVal, oldVal) {
console.log('@@@@@@@@@@@@@@@@@') console.log('@@@@@@@@@@@@@@@@@')
if (!this.bp_id && newVal === 'NEW') { if (!this.bp_id && newVal === 'NEW') {
this.description = '用户绑定' this.description = '用户绑定'
...@@ -127,8 +145,8 @@ export default { ...@@ -127,8 +145,8 @@ export default {
} else { } else {
this.flag = true this.flag = true
} *!/ } *!/
},*/ }, */
'user_bp_type' (newVal, oldVal) { user_bp_type (newVal, oldVal) {
if (newVal === 'AGENT') { if (newVal === 'AGENT') {
this.isAGENT = true this.isAGENT = true
} else { } else {
...@@ -137,7 +155,7 @@ export default { ...@@ -137,7 +155,7 @@ export default {
}, },
}, },
created () { created () {
/* if (this.user_bp_status === 'APPROVED') { /* if (this.user_bp_status === 'APPROVED') {
this.flag = false this.flag = false
} else { } else {
this.flag = true this.flag = true
...@@ -146,7 +164,7 @@ export default { ...@@ -146,7 +164,7 @@ export default {
this.isAGENT = true this.isAGENT = true
} else { } else {
this.isAGENT = false this.isAGENT = false
}*/ } */
}, },
beforeRouteEnter (to, from, next) { beforeRouteEnter (to, from, next) {
next(vm => { next(vm => {
...@@ -163,7 +181,7 @@ export default { ...@@ -163,7 +181,7 @@ export default {
activated () {}, activated () {},
methods: { methods: {
// 监听用户状态 // 监听用户状态
watchBpStatus(){ watchBpStatus () {
if (!this.bp_id && this.user_bp_status === 'NEW') { if (!this.bp_id && this.user_bp_status === 'NEW') {
this.description = '用户绑定' this.description = '用户绑定'
} else if (this.bp_id && this.user_bp_status === 'NEW') { } else if (this.bp_id && this.user_bp_status === 'NEW') {
...@@ -171,7 +189,10 @@ export default { ...@@ -171,7 +189,10 @@ export default {
} else if (this.bp_id && this.user_bp_status === 'APPROVED') { } else if (this.bp_id && this.user_bp_status === 'APPROVED') {
this.description = '解除绑定' this.description = '解除绑定'
this.approveBtn = true this.approveBtn = true
} else if ((this.bp_id && this.user_bp_status === 'RETURN') || (this.bp_id && this.user_bp_status === 'REJECT')) { } else if (
(this.bp_id && this.user_bp_status === 'RETURN') ||
(this.bp_id && this.user_bp_status === 'REJECT')
) {
this.description = '审核未通过' this.description = '审核未通过'
} else { } else {
this.description = '审批中' this.description = '审批中'
...@@ -191,9 +212,9 @@ export default { ...@@ -191,9 +212,9 @@ export default {
}, },
// 进入待确认,(进件确认) // 进入待确认,(进件确认)
goConfirm () { goConfirm () {
/* this.$router.push({ /* this.$router.push({
name: 'IntoList', name: 'IntoList',
})*/ }) */
this.$router.push({ this.$router.push({
name: 'IframTest', name: 'IframTest',
}) })
...@@ -227,6 +248,11 @@ export default { ...@@ -227,6 +248,11 @@ export default {
name: 'HelpList', name: 'HelpList',
}) })
}, },
changeDrawbackList () {
this.$router.push({
name: 'DrawbackList',
})
},
changePay () { changePay () {
this.$router.push({ this.$router.push({
name: 'FirstPay', name: 'FirstPay',
...@@ -274,6 +300,14 @@ export default { ...@@ -274,6 +300,14 @@ export default {
}, },
}) })
}, },
showActionSheet () {
this.hlsPopup.showActionSheet({
buttonArray: ['查看头像', '选择头像'],
callback: (index) => {
console.log(index)
},
})
},
unBind () { unBind () {
let vm = this let vm = this
hlsPopup.showConfirm({ hlsPopup.showConfirm({
...@@ -300,7 +334,7 @@ export default { ...@@ -300,7 +334,7 @@ export default {
if (res.result === 'S') { if (res.result === 'S') {
vm.hlsPopup.showLongCenter('解绑成功') vm.hlsPopup.showLongCenter('解绑成功')
vm.userQuery() vm.userQuery()
//vm.flag = true // vm.flag = true
vm.approveBtn = false vm.approveBtn = false
} else { } else {
vm.hlsPopup.showLongCenter(res.message) vm.hlsPopup.showLongCenter(res.message)
...@@ -316,7 +350,11 @@ export default { ...@@ -316,7 +350,11 @@ export default {
changePageHead () { changePageHead () {
let vm = this let vm = this
if (vm.bp_id) { if (vm.bp_id) {
if (vm.user_bp_status === 'NEW' || vm.user_bp_status === 'REJECT' || vm.user_bp_status === 'RETURN') { if (
vm.user_bp_status === 'NEW' ||
vm.user_bp_status === 'REJECT' ||
vm.user_bp_status === 'RETURN'
) {
vm.flag = true vm.flag = true
if (vm.user_bp_class === 'NP') { if (vm.user_bp_class === 'NP') {
vm.$router.push({ vm.$router.push({
...@@ -418,6 +456,58 @@ export default { ...@@ -418,6 +456,58 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
#my-info { #my-info {
.card-top {
width: 330px;
margin: 0 auto;
height: 110px;
display: flex;
align-items: center;
.sign {
margin-left: 24px;
height:55px;
span {
font-family: PingFangSC-Semibold;
font-size: 18px;
color: #fff;
margin-top: 10px;
}
div {
display: flex;
align-items: center;
margin-top: 20px;
font-family: PingFangSC-Regular;
font-size: 12px;
color: #ffffff;
letter-spacing: 0;
p {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 20px;
margin-left: 10px;
border: 1px solid #fff;
border-radius: 4px;
font-family: PingFangSC-Regular;
font-size: 12px;
color: #ffffff;
letter-spacing: 0;
}
.across{
background-color: #1D3FFF;
}
.un-across{
background: #0523ce;
}
}
}
img {
width: 59px;
height: 59px;
border-radius: 50%;
border: 1px solid #00469c;
}
}
.top { .top {
width: 100%; width: 100%;
height: 206px; height: 206px;
...@@ -433,37 +523,18 @@ export default { ...@@ -433,37 +523,18 @@ export default {
} }
} }
.card { .card {
width: 343px; width: 359px;
height: 217px; height: 108px;
margin: 0 auto; margin: 0 auto;
z-index: 10; z-index: 10;
position: relative; position: relative;
top: 0px; top: 0px;
left: 0px; left: 0px;
background-color: #fff; background-color: #fff;
box-shadow: 0 2px 17px -1px rgba(0, 0, 0, 0.1);
border-radius: 4px; border-radius: 4px;
.card-info { .card-info {
width: 295px; width: 295px;
margin: 0 auto; margin: 0 auto;
.card-top {
height: 110px;
display: flex;
align-items: center;
border-bottom: 1px solid #d9dbdf;
img {
width: 59px;
height: 59px;
border-radius: 50%;
border: 1px solid #00469c;
}
span {
font-family: PingFangSC-Semibold;
font-size: 18px;
color: #383f45;
margin-left: 24px;
}
}
.card-bottom { .card-bottom {
height: 100px; height: 100px;
width: 285px; width: 285px;
...@@ -487,21 +558,29 @@ export default { ...@@ -487,21 +558,29 @@ export default {
} }
} }
.my-content { .my-content {
background-color: #efefef;
.content-top {
width: 359px;
height: 121px;
margin: 0 auto;
margin-top: 82px;
background-color: #fff;
border-radius: 4px;
}
.userInfo { .userInfo {
height: 45px; height: 45px;
line-height: 45px; line-height: 45px;
color: #00469c; color: @headerColor;
font-size: 15px; font-size: 15px;
margin-left: 16px; margin-left: 16px;
position: relative; position: relative;
margin-top: 70px;
} }
.userInfo::before { .userInfo::before {
content: ""; content: "";
display: block; display: block;
width: 4px; width: 4px;
height: 20px; height: 20px;
background-color: #00469c; background-color: @headerColor;
position: absolute; position: absolute;
left: -15px; left: -15px;
top: 12px; top: 12px;
...@@ -513,9 +592,9 @@ export default { ...@@ -513,9 +592,9 @@ export default {
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
text-align: center; text-align: center;
.content-wrap{ .content-wrap {
position: relative; position: relative;
.content-wrap-class{ .content-wrap-class {
position: absolute; position: absolute;
top: -10px; top: -10px;
left: 25px; left: 25px;
...@@ -528,7 +607,7 @@ export default { ...@@ -528,7 +607,7 @@ export default {
color: #fff; color: #fff;
border-radius: 50%; border-radius: 50%;
} }
.content-wrap-class-width{ .content-wrap-class-width {
position: absolute; position: absolute;
top: -10px; top: -10px;
left: 25px; left: 25px;
...@@ -554,47 +633,49 @@ export default { ...@@ -554,47 +633,49 @@ export default {
} }
} }
.list { .list {
width: 359px;
margin: 0 auto;
background-color: #fff;
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 14px; font-size: 14px;
color: #656464; color: #656464;
letter-spacing: 0; letter-spacing: 0;
line-height: 18px; line-height: 18px;
border-top: 1px solid rgba(0, 0, 0, 0.1); margin-top: 25px;
margin-top: 20px;
} }
} }
button { button {
width: 359px; width: 359px;
height: 40px; height: 40px;
background: #00469c; background: @headerColor;
border-radius: 4px; border-radius: 4px;
color: #fff; color: #fff;
margin: 0 auto;
margin-bottom: 68px; margin-bottom: 68px;
margin-left:2%; margin-top: 10px;
margin-top: 20px;
} }
} }
.content { .content {
background-color: #fff; background-color: #fff;
} }
.right-icon{ .right-icon {
width: 18px; width: 18px;
height: 18px; height: 18px;
font-size: 10px; font-size: 10px;
text-align: center; text-align: center;
line-height: 18px; line-height: 18px;
background-color: red; background-color: red;
color: #fff; color: #fff;
border-radius: 50%; border-radius: 50%;
} }
.right-icon-width{ .right-icon-width {
width: 24px; width: 24px;
height: 18px; height: 18px;
font-size: 10px; font-size: 10px;
text-align: center; text-align: center;
line-height: 18px; line-height: 18px;
background-color: red; background-color: red;
color: #fff; color: #fff;
border-radius: 50%; border-radius: 50%;
} }
</style> </style>
...@@ -122,21 +122,22 @@ export default { ...@@ -122,21 +122,22 @@ export default {
newList () { newList () {
let vm = this let vm = this
vm.nongBank = [] vm.nongBank = []
let newList = vm.lists.map(i => {
return i.bank_full_name.indexOf('农业') === -1
})
vm.lists.forEach((item, i) => { vm.lists.forEach((item, i) => {
if (item.bank_full_name.indexOf('农业') !== -1) { if (item.bank_full_name.indexOf('农业') !== -1) {
vm.nongBank.push(vm.lists[i]) vm.nongBank.push(vm.lists[i])
vm.flag = true vm.flag = true
} }
}) })
let notNong = vm.lists.filter(i => {
return (i.bank_full_name.indexOf('农业') === -1)
})
console.log(notNong)
if (vm.flag) { if (vm.flag) {
vm.select = 'nong0' vm.select = 'nong0'
} else { } else {
vm.select = 'one' vm.select = 'one'
} }
return newList return notNong
}, },
}, },
watch: {}, watch: {},
......
...@@ -121,20 +121,23 @@ export default { ...@@ -121,20 +121,23 @@ export default {
computed: { computed: {
newList () { newList () {
let vm = this let vm = this
let value vm.nongBank = []
vm.lists.forEach((item, i) => { vm.lists.forEach((item, i) => {
if (item.bank_full_name.indexOf('农业') !== -1) { if (item.bank_full_name.indexOf('农业') !== -1) {
value = vm.lists.splice(i, 1) vm.nongBank.push(vm.lists[i])
vm.nongBank.push(...value)
vm.flag = true vm.flag = true
} }
}) })
let notNong = vm.lists.filter(i => {
return (i.bank_full_name.indexOf('农业') === -1)
})
console.log(notNong)
if (vm.flag) { if (vm.flag) {
vm.select = 'nong0' vm.select = 'nong0'
} else { } else {
vm.select = 'one' vm.select = 'one'
} }
return vm.lists return notNong
}, },
}, },
watch: {}, watch: {},
......
...@@ -112,20 +112,23 @@ export default { ...@@ -112,20 +112,23 @@ export default {
computed: { computed: {
newList () { newList () {
let vm = this let vm = this
let value vm.nongBank = []
vm.lists.forEach((item, i) => { vm.lists.forEach((item, i) => {
if (item.bank_full_name.indexOf('农业') !== -1) { if (item.bank_full_name.indexOf('农业') !== -1) {
value = vm.lists.splice(i, 1) vm.nongBank.push(vm.lists[i])
vm.nongBank.push(...value)
vm.flag = true vm.flag = true
} }
}) })
let notNong = vm.lists.filter(i => {
return (i.bank_full_name.indexOf('农业') === -1)
})
console.log(notNong)
if (vm.flag) { if (vm.flag) {
vm.select = 'nong0' vm.select = 'nong0'
} else { } else {
vm.select = 'one' vm.select = 'one'
} }
return vm.lists return notNong
}, },
}, },
watch: {}, watch: {},
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Descrip: 产品明细 * @Descrip: 产品明细
* @Author: your name * @Author: your name
* @Date: 2019-10-15 14:30:00 * @Date: 2019-10-15 14:30:00
* @LastEditTime: 2019-11-06 10:36:40 * @LastEditTime: 2019-11-06 16:35:55
* @LastEditors: Please set LastEditors * @LastEditors: Please set LastEditors
--> -->
<template> <template>
...@@ -23,11 +23,14 @@ ...@@ -23,11 +23,14 @@
<!-- <Tab v-if="slide" :tabNums="tabNum" @getTabNum="getTabNum"/> --> <!-- <Tab v-if="slide" :tabNums="tabNum" @getTabNum="getTabNum"/> -->
<!-- 基本信息 --> <!-- 基本信息 -->
<h-content v-swipeup="(e)=>vueTouch('上滑',e)" v-swipedown="(e)=>vueTouch('下滑',e)" class="hcontent"> <h-content v-swipeup="(e)=>vueTouch('上滑',e)" v-swipedown="(e)=>vueTouch('下滑',e)" class="hcontent">
<scroll class="scrolls"> <scroll class="scrolls" ref="scrolls">
<!-- 基本信息 -->
<div id="baseInfo" class="base"> <div id="baseInfo" class="base">
<swipe :interval="5000" class="hls-swipe">
<img :src="picLists[0].url" alt="" class="detail-pic"> <swipe-item v-for="(item,index) in picLists" :key="index" class="hls-swipe">
<img :src="item.url" alt="">
</swipe-item>
</swipe>
<div class="base-content"> <div class="base-content">
<div class="top-code"> <div class="top-code">
<div>参数项 &nbsp;{{ baseInfo.product_code }}</div> <div>参数项 &nbsp;{{ baseInfo.product_code }}</div>
...@@ -155,23 +158,33 @@ export default { ...@@ -155,23 +158,33 @@ export default {
} }
}, },
methods: methods:
{ {
// tab切换 // tab切换
tabCheck (num) { tabCheck (num) {
let scrollContent = document.getElementsByClassName('scrollContent')[0]
if(num === 0){ if(num === 0){
this.num = 0 this.num = 0
console.log('基本信息',document.getElementsByClassName('base')[0].getBoundingClientRect().top)
this.height = document.getElementsByClassName('base')[0].getBoundingClientRect().top - 83
// console.log(height)
scrollContent.style.transition = 'all .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s'
scrollContent.style.transform = 'translate(0px, -' + this.height + 'px) scale(1) translateZ(0px)'
}else if(num === 1){ }else if(num === 1){
this.num = 1 this.num = 1
console.log('详情信息',document.getElementsByClassName('prodetail')[0].getBoundingClientRect().top)
this.height = document.getElementsByClassName('prodetail')[0].getBoundingClientRect().top - 83
console.log(this.height)
scrollContent.style.transition = 'all .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s'
scrollContent.style.transform = 'translate(0px, -' + this.height + 'px) scale(1) translateZ(0px)'
}else{ }else{
this.num = 2 this.num = 2
console.log('配置信息',document.getElementsByClassName('procnf')[0].getBoundingClientRect().top) console.log('配置信息',document.getElementsByClassName('procnf')[0].getBoundingClientRect().top)
this.height = document.getElementsByClassName('procnf')[0].getBoundingClientRect().top - 83 this.height = document.getElementsByClassName('procnf')[0].getBoundingClientRect().top - 83
// console.log(height) // console.log(height)
document.getElementsByClassName('scrollContent')[0].style.transition = 'all .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s' scrollContent.style.transition = 'all .3s cubic-bezier(0.165, 0.84, 0.44, 1) 0s'
document.getElementsByClassName('scrollContent')[0].style.transform = 'translate(0px, -' + this.height + 'px) scale(1) translateZ(0px)' scrollContent.style.transform = 'translate(0px, -' + this.height + 'px) scale(1) translateZ(0px)'
} }
}, },
returnGo () { returnGo () {
...@@ -183,12 +196,7 @@ export default { ...@@ -183,12 +196,7 @@ export default {
vueTouch: function (s, e) { vueTouch: function (s, e) {
// console.log(s, e) // console.log(s, e)
this.slide = true this.slide = true
this.height = 0 // this.height = 0
// document.getElementsByTagName('hcontent')[0].addEventListener('touchmove',function(e){
// console.log("开始滑动了touchstart");
// let a = document.documentElement.scrollTop;
// console.log("滑动距离为:",a);
// });
// console.log(this.$refs.detail.style) // console.log(this.$refs.detail.style)
let clientHeight = document.body.clientHeight // 屏幕可视高度 let clientHeight = document.body.clientHeight // 屏幕可视高度
let procnfGather = document.getElementsByClassName('procnf')[0].getBoundingClientRect() // 配置信息元素集合 let procnfGather = document.getElementsByClassName('procnf')[0].getBoundingClientRect() // 配置信息元素集合
...@@ -198,7 +206,7 @@ export default { ...@@ -198,7 +206,7 @@ export default {
this.num = 2 this.num = 2
} else if (clientHeight - detailGather.top >= detailGather.height) { } else if (clientHeight - detailGather.top >= detailGather.height) {
this.num = 1 this.num = 1
} else if (clientHeight - baseGather.top >= baseGather.height) { } else if ( -(baseGather.top) <= baseGather.height/2) {
this.num = 0 this.num = 0
} }
}, },
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<list-item v-for="(item,index) in lists" :key="index"> <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)"> <item :proportion="[1,4]" @click.native="goDetailed(item.product_id,item.collect_status,item.bp_id)">
<div slot="name" class="item-pic"> <div slot="name" class="item-pic">
<img src="@/assets/homePage/WechatIMG2 Copy@2x.png" alt=""> <img :src="item.url" alt="">
</div> </div>
<div slot="content" class="item-content"> <div slot="content" class="item-content">
<div class="pro-name"> <div class="pro-name">
...@@ -81,6 +81,11 @@ export default { ...@@ -81,6 +81,11 @@ export default {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
if (res.result === 'S') { if (res.result === 'S') {
vm.lists = res.lists vm.lists = res.lists
res.lists.forEach(item => {
item['url'] = process.env.filePath + 'attachment_id=' + item.product_attachment_id + '&access_token=' + window.localStorage.access_token
})
// vm.picLists = res.lists
// console.log('........',vm.picLists)
} else { } else {
hlsPopup.showLongCenter(res.message) hlsPopup.showLongCenter(res.message)
} }
......
...@@ -96,6 +96,10 @@ import ContractRecords from '@/pages/contractInquire/contract-records' ...@@ -96,6 +96,10 @@ import ContractRecords from '@/pages/contractInquire/contract-records'
import RepayDetail from '@/pages/contractInquire/repay-detail' import RepayDetail from '@/pages/contractInquire/repay-detail'
import RepayPlans from '@/pages/contractInquire/repay-plans' import RepayPlans from '@/pages/contractInquire/repay-plans'
// 业务退款
import DrawbackList from '@/pages/drawback/drawback-list'
import DrawbackDetail from '@/pages/drawback/drawback-detail'
Vue.use(Router) Vue.use(Router)
export default new Router({ export default new Router({
...@@ -239,6 +243,11 @@ export default new Router({ ...@@ -239,6 +243,11 @@ export default new Router({
{path: '/repay-detail', component: RepayDetail, name: 'RepayDetail', meta: {keepAlive: true}}, {path: '/repay-detail', component: RepayDetail, name: 'RepayDetail', meta: {keepAlive: true}},
{path: '/repay-plans', component: RepayPlans, name: 'RepayPlans', meta: {keepAlive: true}}, {path: '/repay-plans', component: RepayPlans, name: 'RepayPlans', meta: {keepAlive: true}},
{path: '/ifram-test', component: IframTest, name: 'IframTest', meta: {keepAlive: false}}, {path: '/ifram-test', component: IframTest, name: 'IframTest', meta: {keepAlive: false}},
// 业务退款
{path: '/drawback-list', component: DrawbackList, name: 'DrawbackList', meta: {keepAlive: false}},
{path: '/drawback-detail', component: DrawbackDetail, name: 'DrawbackDetail', meta: {keepAlive: false}},
], ],
scrollBehavior (to, from, savedPosition) { scrollBehavior (to, from, savedPosition) {
if (to.hash) { if (to.hash) {
......
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