Compare commits
16 Commits
prod-25-05
...
prod-25-05
Author | SHA1 | Date | |
---|---|---|---|
5552b48ec4 | |||
56e56c7839 | |||
851a0e7260 | |||
d2f124e901 | |||
8bc734273b | |||
643ee2c5eb | |||
881ae7e47b | |||
d5af7692f8 | |||
aa52bd2f31 | |||
9df87ac518 | |||
8e20adbba3 | |||
cc083b7551 | |||
0a668e6f57 | |||
c2cc09aef1 | |||
037fbf74fb | |||
de252fceb2 |
@ -40,10 +40,13 @@
|
||||
<div class="time">
|
||||
<span>{{ detailInfo.createTime?.substring(0,10) }}</span><span>{{ detailInfo.areaName }}</span><span>发布</span>
|
||||
</div>
|
||||
<div class="price">
|
||||
售价(含税):
|
||||
<span>{{ formatNumber(detailInfo.minPrice) }}</span>
|
||||
<span>万</span>
|
||||
<div class="priceWrap">
|
||||
<div class="price">
|
||||
售价(含税):
|
||||
<span>{{ formatNumber(detailInfo.minPrice) }}</span>
|
||||
<span>万</span>
|
||||
</div>
|
||||
<div class="viewNum">{{detailInfo.attentionCount}}人想要<span>{{detailInfo.browseCount}}浏览</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detailInfoWrap wrapCommon">
|
||||
@ -106,7 +109,7 @@
|
||||
<div class="descCommon desc">{{detailInfo.desc}}</div>
|
||||
</div>
|
||||
<div class="btnWrap" >
|
||||
<div v-if="isList && !detailInfo.selfSupplierPublish" class="btn commonBtn" @click="noMultipleClicks(handle)">我想要</div>
|
||||
<div v-if="isList && !detailInfo.selfSupplierPublish && detailInfo.status.code !== 6" class="btn commonBtn" @click="noMultipleClicks(handle)">我想要</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -292,6 +295,18 @@ export default {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
.priceWrap{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.viewNum{
|
||||
color: #ccc;
|
||||
margin-right: 15px;
|
||||
span{
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.price{
|
||||
color: #FF5533;
|
||||
line-height: 28px;
|
||||
|
@ -81,6 +81,24 @@
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
<el-input readonly @focus="areaShow = true" v-model="areaName" placeholder="请选择发布省市" :class="{'customSel':true,'customInput':true , 'has-value': areaName }" >
|
||||
<template #suffix>
|
||||
<i
|
||||
v-if="areaName"
|
||||
class="el-icon-circle-close el-input__icon"
|
||||
@click="areaName = ''"
|
||||
></i>
|
||||
</template>
|
||||
</el-input>
|
||||
<el-input readonly @focus="showDatePicker = true" v-model="dateVal" placeholder="请选择发布日期" :class="{'customSel':true,'customInput':true , 'has-value': dateVal }" >
|
||||
<template #suffix>
|
||||
<i
|
||||
v-if="dateVal"
|
||||
class="el-icon-circle-close el-input__icon"
|
||||
@click="dateVal = ''"
|
||||
></i>
|
||||
</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="contentWrap" v-show="!show">
|
||||
<van-pull-refresh v-model="isLoading" @refresh="onRefresh" style="min-height:85vh">
|
||||
@ -104,12 +122,20 @@
|
||||
{{ item.brandModel?.match(/^[\u4e00-\u9fa5]+/)?.[0]?.replace(/牌$/, '') }} | {{item.emissionStandard?.label}} | {{ formatToWan(item.mileage) }}公里</div>
|
||||
<div v-else class="type">{{ item.boardType?.label ? item.boardType?.label+' | ' : ''}} {{item.emissionStandard?.label}}</div>
|
||||
<div class="date" v-show="activeTab==0 && item.registerDate">注册日期: {{item.registerDate?.substring(0,10)}}</div>
|
||||
<div v-if="activeTab==0" class="price">售价(含税):<span>¥</span> <span>{{formatNumber(item.minPrice) }}</span> <span>万</span> </div>
|
||||
<div v-else class="priceRange">
|
||||
售价(含税):
|
||||
<span class="num">{{formatNumber(item.minPrice) }}</span> <span class="danwei">万</span>
|
||||
<span class="su">~</span>
|
||||
<span class="num">{{formatNumber(item.maxPrice) }}</span> <span class="danwei">万</span>
|
||||
<div class="priceWrap" v-if="activeTab==0" >
|
||||
<div class="price">
|
||||
售价(含税):<span>¥</span> <span>{{formatNumber(item.minPrice) }}</span> <span>万</span>
|
||||
</div>
|
||||
<div class="viewNum">{{item.attentionCount}}人想要<span>{{item.browseCount}}浏览</span></div>
|
||||
</div>
|
||||
<div v-else class="priceWrap">
|
||||
<div class="priceRange">
|
||||
售价(含税):
|
||||
<span class="num">{{formatNumber(item.minPrice) }}</span> <span class="danwei">万</span>
|
||||
<span class="su">~</span>
|
||||
<span class="num">{{formatNumber(item.maxPrice) }}</span> <span class="danwei">万</span>
|
||||
</div>
|
||||
<div class="viewNum">{{item.attentionCount}}人想卖<span>{{item.browseCount}}浏览</span></div>
|
||||
</div>
|
||||
<div class="line"></div>
|
||||
</div>
|
||||
@ -134,20 +160,74 @@
|
||||
</div>
|
||||
</div>
|
||||
</van-popup>
|
||||
<van-calendar v-model="showDatePicker" :min-date="minDate"
|
||||
:max-date="maxDate" type="range" @confirm="onConfirm" />
|
||||
<van-popup
|
||||
v-model="areaShow"
|
||||
position="bottom"
|
||||
>
|
||||
<van-area title="标题" :area-list="areaList" :columns-num="2" closeable="true" :value="areaCode ? String(areaCode) : ''"
|
||||
@cancel="areaShow = false" @confirm="confirmHandle"/>
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {myMixins} from "@/utils/myMixins"
|
||||
import {appPageList,userFeedback } from "@/api/secondHandCar"
|
||||
import {areaList} from "@vant/area-data";
|
||||
export default {
|
||||
name: "indexList",
|
||||
mixins:[myMixins],
|
||||
data(){
|
||||
return{
|
||||
areaList: areaList,
|
||||
pageList:[],
|
||||
topSearch:'',
|
||||
activeTab:0,
|
||||
isLoading:"",
|
||||
loading: false,
|
||||
finished: false,
|
||||
pageNum:1,
|
||||
pageSize:10,
|
||||
total:'',
|
||||
licenseType:'',
|
||||
vehicleType:'',
|
||||
priceSort:'',
|
||||
emissionStandard:'',
|
||||
boardType:'',
|
||||
proprietary: '',
|
||||
areaCode:'',
|
||||
areaName:'',
|
||||
startTime:'',
|
||||
endTime:'',
|
||||
licenseTypeOption:[
|
||||
{value:2,label:'黄牌'},{value:3,label:'绿牌'},{value:1,label:'蓝牌'},
|
||||
],
|
||||
vehicleTypeOption:[
|
||||
{value:1,label:'拖车'},{value:2,label:'地库车'},{value:3,label:'牵引车'},{value:4,label:'随车吊'},{value:5,label:'其他'},
|
||||
],
|
||||
priceOption:[
|
||||
{value:1,label:'5~6'},{value:2,label:'7~8'},{value:3,label:'8~9'}
|
||||
],
|
||||
emissionStandardOption:[
|
||||
{value:1,label:'不限'},{value:3,label:'国三'},{value:4,label:'国四'},{value:5,label:'国五'},{value:6,label:'国六'}
|
||||
],
|
||||
boardTypeOption:[
|
||||
{value:1,label:'全落地'},{value:2,label:'斜落一体'},{value:3,label:'普通斜板'},{value:9,label:'不限'}
|
||||
],
|
||||
proprietaryOption: [{value: 1, label: '中道自营'}, {value: 0, label: '服务商发布'}],
|
||||
poupShow:false,
|
||||
suggestContent:'',
|
||||
dateVal: '',
|
||||
showDatePicker: false,
|
||||
areaShow:false,
|
||||
isClearing:false,
|
||||
minDate: new Date(1970, 0, 1), // 设置最小可选日期(1970年1月1日)
|
||||
maxDate: new Date(2099, 11, 31) // 设置最大可选日期(2099年12月31日)
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
/* topSearch(){
|
||||
this.setSearchVal();
|
||||
this.getList()
|
||||
},*/
|
||||
licenseType(){
|
||||
this.setSearchVal();
|
||||
this.getList()
|
||||
@ -167,44 +247,26 @@ export default {
|
||||
proprietary() {
|
||||
this.setSearchVal();
|
||||
this.getList()
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
pageList:[],
|
||||
topSearch:'',
|
||||
activeTab:0,
|
||||
isLoading:"",
|
||||
loading: false,
|
||||
finished: false,
|
||||
pageNum:1,
|
||||
pageSize:10,
|
||||
total:'',
|
||||
licenseType:'',
|
||||
vehicleType:'',
|
||||
priceSort:'',
|
||||
emissionStandard:'',
|
||||
boardType:'',
|
||||
proprietary: '',
|
||||
licenseTypeOption:[
|
||||
{value:2,label:'黄牌'},{value:3,label:'绿牌'},{value:1,label:'蓝牌'},
|
||||
],
|
||||
vehicleTypeOption:[
|
||||
{value:1,label:'拖车'},{value:2,label:'地库车'},{value:3,label:'牵引车'},{value:4,label:'随车吊'},{value:5,label:'其他'},
|
||||
],
|
||||
priceOption:[
|
||||
{value:1,label:'5~6'},{value:2,label:'7~8'},{value:3,label:'8~9'}
|
||||
],
|
||||
emissionStandardOption:[
|
||||
{value:1,label:'不限'},{value:3,label:'国三'},{value:4,label:'国四'},{value:5,label:'国五'},{value:6,label:'国六'}
|
||||
],
|
||||
boardTypeOption:[
|
||||
{value:1,label:'全落地'},{value:2,label:'斜落一体'},{value:3,label:'普通斜板'},{value:9,label:'不限'}
|
||||
],
|
||||
proprietaryOption: [{value: 1, label: '中道自营'}, {value: 0, label: '服务商发布'}],
|
||||
poupShow:false,
|
||||
suggestContent:'',
|
||||
}
|
||||
},
|
||||
areaName() {
|
||||
if (!this.areaName){
|
||||
this.areaCode=''
|
||||
}
|
||||
this.setSearchVal();
|
||||
this.getList()
|
||||
},
|
||||
dateVal(val){
|
||||
if(val){
|
||||
let res= this.formatDateTimeRange(val)
|
||||
this.startTime=res.startTime
|
||||
this.endTime=res.endTime
|
||||
}else{
|
||||
this.startTime=''
|
||||
this.endTime=''
|
||||
}
|
||||
this.setSearchVal();
|
||||
this.getList()
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getSearchVal();
|
||||
@ -214,12 +276,29 @@ export default {
|
||||
if (state == 'hidden') { // 用户离开了
|
||||
}
|
||||
if (state == 'visible') {
|
||||
console.log('visible')
|
||||
// console.log('visible')
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
methods:{
|
||||
confirmHandle(val){
|
||||
if(val[0].name.includes('市')){
|
||||
this.areaName=val[0].name
|
||||
this.areaCode=val[0].code
|
||||
}else{
|
||||
this.areaName=val[0].name +val[1].name
|
||||
this.areaCode=val[1].code
|
||||
}
|
||||
this.areaShow=false
|
||||
},
|
||||
formatDate(date) {
|
||||
return `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`;
|
||||
},
|
||||
onConfirm(date) {
|
||||
const [start, end] = date;
|
||||
this.showDatePicker = false;
|
||||
this.dateVal = `${this.formatDate(start)} - ${this.formatDate(end)}`;
|
||||
},
|
||||
formatToWan(num) {
|
||||
let result = (num / 10000).toString();
|
||||
if (result.includes('.')) {
|
||||
@ -272,6 +351,9 @@ export default {
|
||||
sessionStorage.setItem('emissionStandard',String(this.emissionStandard));
|
||||
sessionStorage.setItem('boardType',String(this.boardType));
|
||||
sessionStorage.setItem('proprietary',String(this.proprietary));
|
||||
sessionStorage.setItem('areaCode',String(this.areaCode));
|
||||
sessionStorage.setItem('areaName',this.areaName);
|
||||
sessionStorage.setItem('dateVal',this.dateVal);
|
||||
},
|
||||
getSearchVal(){
|
||||
this.activeTab = Number(sessionStorage.getItem('indexActiveTab')) || 0;
|
||||
@ -282,6 +364,9 @@ export default {
|
||||
this.emissionStandard = Number(sessionStorage.getItem('emissionStandard')) || '';
|
||||
this.boardType = Number(sessionStorage.getItem('boardType')) || '';
|
||||
this.proprietary = Number(sessionStorage.getItem('proprietary')) || '';
|
||||
this.areaCode=Number(sessionStorage.getItem('areaCode')) || '';
|
||||
this.areaName=sessionStorage.getItem('areaName') || '';
|
||||
this.dateVal=sessionStorage.getItem('dateVal') || '';
|
||||
},
|
||||
goMine(){//我的发布
|
||||
this.$router.push({ name: "mineRelease"})
|
||||
@ -339,7 +424,10 @@ export default {
|
||||
priceSort:this.priceSort,
|
||||
boardType:this.boardType,
|
||||
emissionStandard:this.emissionStandard,
|
||||
proprietary: this.proprietary
|
||||
proprietary: this.proprietary,
|
||||
areaCode:this.areaCode,
|
||||
startTime:this.startTime,
|
||||
endTime:this.endTime,
|
||||
})
|
||||
this.total=res.total
|
||||
if(this.pageNum == 1){// 第一页直接赋值
|
||||
@ -360,7 +448,18 @@ export default {
|
||||
window.android.sendMessage("goBack");
|
||||
}
|
||||
},
|
||||
},
|
||||
formatDateTimeRange(str) {
|
||||
const [startStr, endStr] = str.split(' - ').map(s => s.trim());
|
||||
const startDate = new Date(startStr);
|
||||
const startTime = `${startDate.getFullYear()}-${(startDate.getMonth() + 1).toString().padStart(2, '0')}-${startDate.getDate().toString().padStart(2, '0')} 00:00:00`;
|
||||
const endDate = new Date(endStr);
|
||||
const endTime = `${endDate.getFullYear()}-${(endDate.getMonth() + 1).toString().padStart(2, '0')}-${endDate.getDate().toString().padStart(2, '0')} 23:59:59`;
|
||||
return {
|
||||
startTime,
|
||||
endTime
|
||||
};
|
||||
},
|
||||
},
|
||||
computed:{
|
||||
show() {
|
||||
return (this.pageList.length < 0 || this.pageList.length == 0); // 判断数组长度是否大于 0
|
||||
@ -489,6 +588,9 @@ export default {
|
||||
right: 2px;
|
||||
}
|
||||
}
|
||||
.customInput{
|
||||
width: 130px;
|
||||
}
|
||||
.has-value ::v-deep .el-input__inner{
|
||||
background: #F1F6FF ;
|
||||
color: #007BE9;
|
||||
@ -612,6 +714,18 @@ export default {
|
||||
line-height: 16px;
|
||||
}
|
||||
}
|
||||
.priceWrap{
|
||||
/* display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;*/
|
||||
.viewNum{
|
||||
color: #ccc;
|
||||
margin-right: 15px;
|
||||
span{
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.priceRange{
|
||||
color: #FF5533;
|
||||
display: flex;
|
||||
|
@ -14,11 +14,14 @@
|
||||
<div class="time">
|
||||
<span>{{ detailInfo.createTime?.substring(0,10) }}</span><span>发布</span>
|
||||
</div>
|
||||
<div class="price">
|
||||
售价(含税):
|
||||
<span class="num">{{formatNumber(detailInfo.minPrice) }}</span> <span class="danwei">万</span>
|
||||
<span class="su">~</span>
|
||||
<span class="num">{{formatNumber(detailInfo.maxPrice) }}</span> <span class="danwei">万</span>
|
||||
<div class="priceWrap">
|
||||
<div class="price">
|
||||
售价(含税):
|
||||
<span class="num">{{formatNumber(detailInfo.minPrice) }}</span> <span class="danwei">万</span>
|
||||
<span class="su">~</span>
|
||||
<span class="num">{{formatNumber(detailInfo.maxPrice) }}</span> <span class="danwei">万</span>
|
||||
</div>
|
||||
<div class="viewNum">{{detailInfo.attentionCount}}人想卖<span>{{detailInfo.browseCount}}浏览</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detailInfoWrap wrapCommon">
|
||||
@ -182,6 +185,18 @@ export default {
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
.priceWrap{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.viewNum{
|
||||
color: #ccc;
|
||||
margin-right: 15px;
|
||||
span{
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.price{
|
||||
color: #FF5533;
|
||||
font-weight: 600;
|
||||
|
Reference in New Issue
Block a user