Commit a1be51fd authored by linxin's avatar linxin

Merge branch 'liuxin' into develop

parents 56a74f52 fb4171fd
Pipeline #3203 canceled with stages
<template>
<h-view id="startList">
<h-view id="confirmList">
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" >
......@@ -7,47 +7,40 @@
</div>
</h-header>
<Tab @getTabNum="getTabNum" />
<div class="search">
<div class="search has-header">
<input v-model="keyWord" placeholder="请输入合同号/产品线/承租人名称" >
</div>
<h-content class="my-content">
<scroll
ref="scroll"
:updateData="[showList]"
:pullUp="true"
@pullingUp="getList"
>
<div v-for="(item,index) in showList" :key="index" class="item" @click="changePage(item)">
<div class="left">
<span>
<img src="@/assets/contractStart/icon.png" >
</span>
<scroll ref="scroll" :updateData="[showList]" :pullUp="true" @pullingUp="getList">
<div v-for="(item,index) in showList" :key="index" class="item" @click="changePage(item)">
<div class="left">
<span>
<img src="@/assets/contractStart/icon.png" >
</span>
</div>
<div class="right">
<div class="right-top">
<span>合同号</span>
<span>{{ item.project_number }}</span>
</div>
<div class="right">
<div class="right-top">
<span>合同号</span>
<span>{{ item.project_number }}</span>
</div>
<div class="right-bottom">
<ul>
<li>
承租人
<span>{{ item.bp_name }}</span>
</li>
<li>
产品线
<span>{{ item.division_n }}</span>
</li>
<li>
合同金额
<span class="number">{{ item.total_price|currency }}</span>
</li>
</ul>
</div>
<div class="right-bottom">
<ul>
<li>
承租人
<span>{{ item.bp_name }}</span>
</li>
<li>
产品线
<span>{{ item.division_n }}</span>
</li>
<li>
合同金额
<span class="number">{{ item.total_price|currency }}</span>
</li>
</ul>
</div>
</div>
</scroll>
</h-content>
</div>
</scroll>
</h-view>
</template>
<script>
......@@ -68,7 +61,7 @@ export default {
}
},
watch: {
'tabNum': {
tabNum: {
handler (newVal, oldVal) {
if (newVal === 0) {
this.showList = this.undo
......@@ -82,8 +75,7 @@ export default {
this.search()
},
},
created () {
},
created () {},
beforeRouteEnter (to, from, next) {
next(vm => {
vm.pagenum = 1
......@@ -95,7 +87,11 @@ export default {
search () {
let vm = this
let randomString = Math.floor(Math.random() * 21)
let url = process.env.basePath + 'car_confirm_list_query' + '&index' + `'${randomString}'`
let url =
process.env.basePath +
'car_confirm_list_query' +
'&index' +
`'${randomString}'`
let param = {
user_phone: window.localStorage.getItem('user_phone'),
searchInput: vm.keyWord,
......@@ -138,7 +134,11 @@ export default {
getList () {
let vm = this
let randomString = Math.floor(Math.random() * 21)
let url = process.env.basePath + 'car_confirm_list_query' + '&index' + `'${randomString}'`
let url =
process.env.basePath +
'car_confirm_list_query' +
'&index' +
`'${randomString}'`
let param = {
user_phone: window.localStorage.getItem('user_phone'),
pagesize: 10,
......@@ -175,14 +175,16 @@ export default {
},
}
</script>
<style lang="less" scoped>
#startList {
<style lang="less">
#confirmList {
.search {
height: 52px;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
padding: 8px 12px;
position: absolute;
width: 100%;
z-index: 100;
margin-top: 52px;
margin-bottom: 8px;
input {
width: 351px;
height: 36px;
......@@ -210,7 +212,6 @@ export default {
border: 2px solid #bcc6ff;
}
}
.my-content {
.item {
width: 359px;
height: 148px;
......@@ -260,12 +261,12 @@ export default {
width: 285px;
margin-top: 10px;
.number {
font-family: Verdana-Bold;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
font-weight:bold;
}
font-family: Verdana-Bold;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
font-weight: bold;
}
li {
font-family: PingFangSC-Regular;
font-size: 14px;
......@@ -280,6 +281,44 @@ export default {
}
}
}
.content {
position: absolute;
top: 0;
}
.scrollContent {
padding-top: 2.92rem;
padding-bottom: 20px;
}
.tab-style {
width: 100%;
position: absolute;
}
}
.platform-ios {
#confirmList {
.scrollContent {
padding-top: 3.32rem;
}
}
}
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#confirmList {
.scrollContent {
padding-top: 3.72rem;
}
}
}
}
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#confirmList {
.scrollContent {
padding-top: 3.72rem;
}
}
}
}
</style>
......@@ -6,27 +6,28 @@
<span>合同还款</span>
</div>
</h-header>
<h-content v-if="data!==null" class="pay-content">
<scroll ref="scroll" :updateData="[lists]" :pullUp="true" @pullingUp="getList">
<div v-for="(item,index) in lists" :key="index" class="contract-item">
<div class="header">
<img src="@/assets/contractRepayment/contract.png" alt="">
<h2>{{ item.project_number }}</h2>
<!-- 状态用类名控制 待还款orange,待签约blue,还款中green -->
<p :class="{'green':item.repayment_status==='首付还款中','blue':item.repayment_status==='待首付','orange':item.repayment_status==='还款中','grey':item.repayment_status==='已结清'}">{{ item.repayment_status }}</p>
</div>
<div class="center">
<div><span>合同金额</span><p>{{ item.total_price|currency }}</p></div>
<div><span>已还金额</span><p class="bold">{{ item.recivied_amount|currency }}</p></div>
<span v-if="item.overdue_status==='已逾期'" class="red">已逾期</span>
<section @click="toRepayDetails(item)">
<img src="@/assets/contractRepayment/view.png" alt="">
<span>查看合同明细</span>
</section>
</div>
<scroll
v-if="data!==null"
ref="scroll" :updateData="[lists]" :pullUp="true" class="pay-content has-header"
@pullingUp="getList">
<div v-for="(item,index) in lists" :key="index" class="contract-item">
<div class="header">
<img src="@/assets/contractRepayment/contract.png" alt="">
<h2>{{ item.project_number }}</h2>
<!-- 状态用类名控制 待还款orange,待签约blue,还款中green -->
<p :class="{'green':item.repayment_status==='首付还款中','blue':item.repayment_status==='待首付','orange':item.repayment_status==='还款中','grey':item.repayment_status==='已结清'}">{{ item.repayment_status }}</p>
</div>
<div class="center">
<div><span>合同金额</span><p>{{ item.total_price|currency }}</p></div>
<div><span>已还金额</span><p class="bold">{{ item.recivied_amount|currency }}</p></div>
<span v-if="item.overdue_status==='已逾期'" class="red">已逾期</span>
<section @click="toRepayDetails(item)">
<img src="@/assets/contractRepayment/view.png" alt="">
<span>查看合同明细</span>
</section>
</div>
</scroll></h-content>
</div>
</scroll>
<h-content v-if="data===null" class="null">
<div class="display">
<img src="@/assets/contractRepayment/null.png" alt="">
......@@ -325,6 +326,41 @@ export default {
}
}
.content {
position: absolute;
top: 0;
}
.scrollContent {
padding-top: 0.8rem;
padding-bottom: 20px;
}
}
.platform-ios {
#contract-repayment {
.scrollContent {
padding-top: 1.2rem;
}
}
}
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#contract-repayment {
.scrollContent {
padding-top: 1.6rem;
}
}
}
}
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#contract-repayment {
.scrollContent {
padding-top: 1.6rem;
}
}
}
}
</style>
......@@ -6,48 +6,41 @@
<span>合同发车</span>
</div>
</h-header>
<Tab :fatherTabNum = "tabNum" @getTabNum="getTabNum" />
<div class="search">
<Tab :fatherTabNum="tabNum" @getTabNum="getTabNum" />
<div class="search has-header">
<input v-model="keyWord" placeholder="请输入合同号/产品线/承租人名称" >
</div>
<h-content class="my-content">
<scroll ref="scroll" :updateData="[lists]" :pullUp="true" @pullingUp="getList">
<div
v-for="(item,index) in showList"
:key="index"
class="item"
@click="changePage(item)"
>
<div class="left">
<span>
<img src="@/assets/contractStart/icon.png" >
</span>
<scroll ref="scroll" :updateData="[lists]" :pullUp="true" @pullingUp="getList">
<div v-for="(item,index) in showList" :key="index" class="item" @click="changePage(item)">
<div class="left">
<span>
<img src="@/assets/contractStart/icon.png" >
</span>
</div>
<div class="right">
<div class="right-top">
<span>合同号</span>
<span>{{ item.project_number }}</span>
</div>
<div class="right">
<div class="right-top">
<span>合同号</span>
<span>{{ item.project_number }}</span>
</div>
<div class="right-bottom">
<ul>
<li>
承租人
<span>{{ item.bp_name }}</span>
</li>
<li>
产品线
<span>{{ item.division_n }}</span>
</li>
<li>
合同金额
<span class="number">{{ item.total_price|currency }}</span>
</li>
</ul>
</div>
<div class="right-bottom">
<ul>
<li>
承租人
<span>{{ item.bp_name }}</span>
</li>
<li>
产品线
<span>{{ item.division_n }}</span>
</li>
<li>
合同金额
<span class="number">{{ item.total_price|currency }}</span>
</li>
</ul>
</div>
</div>
</scroll>
</h-content>
</div>
</scroll>
<bottom-tab>
<tab-button class="add" @click.native="goAdd">新增发车</tab-button>
</bottom-tab>
......@@ -94,13 +87,16 @@ export default {
this.search()
},
},
created () {
},
created () {},
methods: {
search () {
let vm = this
let randomString = Math.floor(Math.random() * 21)
let url = process.env.basePath + 'car_apply_list_query' + '&index' + `'${randomString}'`
let url =
process.env.basePath +
'car_apply_list_query' +
'&index' +
`'${randomString}'`
let param = {
user_phone: window.localStorage.getItem('user_phone'),
searchInput: vm.keyWord,
......@@ -120,7 +116,9 @@ export default {
vm.done = []
vm.tabNum = 0
vm.undo = vm.lists.filter(i => {
return i.car_start_status === 'REJECTED' || i.car_start_status === 'NEW'
return (
i.car_start_status === 'REJECTED' || i.car_start_status === 'NEW'
)
})
vm.done = vm.lists.filter(i => {
return i.car_start_status === 'APPROVED'
......@@ -149,7 +147,11 @@ export default {
getList () {
let vm = this
let randomString = Math.floor(Math.random() * 21)
let url = process.env.basePath + 'car_apply_list_query' + '&index' + `'${randomString}'`
let url =
process.env.basePath +
'car_apply_list_query' +
'&index' +
`'${randomString}'`
let param = {
user_phone: window.localStorage.getItem('user_phone'),
pagesize: 10,
......@@ -186,14 +188,16 @@ export default {
},
}
</script>
<style lang="less" scoped>
<style lang="less">
#startList {
.search {
height: 52px;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
padding: 8px 12px;
position: absolute;
width: 100%;
z-index: 100;
margin-top: 52px;
margin-bottom: 8px;
input {
width: 351px;
height: 36px;
......@@ -221,72 +225,70 @@ export default {
border: 2px solid #bcc6ff;
}
}
.my-content {
.item {
width: 359px;
height: 148px;
background-color: #fff;
border-radius: 2px;
margin: 0 auto;
margin-top: 9px;
.left {
width: 15%;
height: 100%;
float: left;
span {
display: block;
width: 30px;
height: 30px;
background-color: #e8e9ed;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-left: 10px;
margin-top: 8px;
img {
width: 11px;
height: 14px;
}
.item {
width: 359px;
height: 148px;
background-color: #fff;
border-radius: 2px;
margin: 0 auto;
margin-top: 9px;
.left {
width: 15%;
height: 100%;
float: left;
span {
display: block;
width: 30px;
height: 30px;
background-color: #e8e9ed;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
margin-left: 10px;
margin-top: 8px;
img {
width: 11px;
height: 14px;
}
}
}
.right {
height: 100%;
width: 85%;
float: right;
.right-top {
width: 285px;
height: 45px;
font-family: PingFangSC-Semibold;
font-size: 15px;
color: #4b4a4b;
letter-spacing: 0;
line-height: 45px;
border-bottom: 1px solid #f3f3f7;
span:last-child {
float: right;
}
}
.right {
height: 100%;
width: 85%;
float: right;
.right-top {
width: 285px;
height: 45px;
font-family: PingFangSC-Semibold;
font-size: 15px;
.right-bottom {
width: 285px;
margin-top: 10px;
.number {
font-family: Verdana-Bold;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
line-height: 45px;
border-bottom: 1px solid #f3f3f7;
span:last-child {
float: right;
}
font-weight: bold;
}
.right-bottom {
width: 285px;
margin-top: 10px;
.number {
font-family: Verdana-Bold;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
font-weight: bold;
}
li {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
height: 30px;
width: 100%;
span {
float: right;
}
li {
font-family: PingFangSC-Regular;
font-size: 14px;
color: #4b4a4b;
letter-spacing: 0;
height: 30px;
width: 100%;
span {
float: right;
}
}
}
......@@ -296,5 +298,45 @@ export default {
color: #fff;
background-color: #0041c4;
}
.content {
position: absolute;
top: 0;
}
.scrollContent {
padding-top: 2.92rem;
padding-bottom: 20px;
}
.tab-style {
width: 100%;
position: absolute;
}
}
.platform-ios {
#startList {
.scrollContent {
padding-top: 3.32rem;
}
}
}
@media (device-width: 375px) and (device-height: 812px) and (-webkit-min-device-pixel-ratio: 3) {
.platform-ios {
#startList {
.scrollContent {
padding-top: 3.72rem;
}
}
}
}
// iPhoneXR适配
@media (device-width: 414px) and (device-height: 896px) {
.platform-ios {
#startList {
.scrollContent {
padding-top: 3.72rem;
}
}
}
}
</style>
......@@ -59,40 +59,40 @@
</template>
<script>
export default {
name: 'FinancingTrial',
data() {
return {
lists: [],
plan_price: '',
price_date_to: '',
export default {
name: 'FinancingTrial',
data () {
return {
lists: [],
plan_price: '',
price_date_to: '',
}
},
computed: {},
watch: {},
beforeRouteEnter (to, from, next) {
next(vm => {
if (from.name === 'ProDetailed') {
vm.price_date_to = vm.$route.params.price_date_to // 有效日期
vm.plan_price = vm.$route.params.plan_price // 参考价
vm.calculationQuery('collect')
} else if (from.name === 'HomePage') {
vm.calculationQuery()
vm.price_date_to = '' // 清除缓存(从收藏带来的数据)
vm.plan_price = ''
}
},
computed: {},
watch: {},
beforeRouteEnter(to, from, next) {
next(vm => {
if (from.name === 'ProDetailed') {
vm.price_date_to = vm.$route.params.price_date_to // 有效日期
vm.plan_price = vm.$route.params.plan_price // 参考价
vm.calculationQuery('collect')
} else if (from.name === 'HomePage') {
vm.calculationQuery()
vm.price_date_to = '' // 清除缓存(从收藏带来的数据)
vm.plan_price = ''
}
})
next()
},
activated() {
})
next()
},
activated () {
},
created() {
},
created () {
},
methods:
},
methods:
{
goDetails(val) {
goDetails (val) {
this.$router.push({
name: 'FinancingDetails',
params: {
......@@ -103,7 +103,7 @@
})
},
// 试算查询
calculationQuery(val) {
calculationQuery (val) {
let vm = this
if (val) {
let url = $config.basePath + 'prd_product_calculation_query'
......@@ -140,7 +140,7 @@
}
},
},
}
}
</script>
<style lang='less'>
#trial {
......
<template>
<h-view id="startList">
<h-view id="videoList">
<h-header :proportion="[5,1,1]" class="bar-custom">
<div slot="left" class="h-header-btn">
<img src="@/assets/userBind/arrow.png" @click="$routeGo()" >
......@@ -171,7 +171,7 @@ export default {
}
</script>
<style lang="less" scoped>
#startList {
#videoList {
.search {
height: 52px;
background-color: #fff;
......
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