Commit 5ce8dc1b authored by Mac's avatar Mac

司导列表

parent 58a04509
......@@ -313,6 +313,8 @@
}
},{
"path":"pickcarcity"
},{
"path":"guidecarList"
},{
"path": "orderList"
}]
......
<template>
<div class="guidecarList" style="height: 100%;">
<div class='g_top'>
<view class="topB" @click="">
<span class='ztext'>{{STime.month}}{{STime.day}}</span>
<span class='titext'>{{STime.week+' '+STime.hour+':'+STime.minute}}</span>
</view>
<view class="topB" style="height: 20px;align-items: center;">
<span style='font-size: 11px;color: #1C1E1F;'>{{intervalDay}}</span>
<image src="../../static/images/sanjiao.png" mode="aspectFill" style="width: 55px;height: 4px;"></image>
</view>
<view class="topB" @click="">
<span class='ztext'>{{ETime.month}}{{ETime.day}}</span>
<span class='titext'>{{ETime.week+' '+ETime.hour+':'+ETime.minute}}</span>
</view>
</div>
<view style="padding: 10px 0 0; background: #fff;width: 100%;border-bottom: 1px solid #E2E2E2;">
<u-tabs :list="list" :is-scroll="false" :current="current" @change="change" :active-color="mainColor"></u-tabs>
</view>
<div style='display: flex;width: 100%;'>
<div class="left-slider">
<sidebar
:active="tic"
name="Name"
:active-color="mainColor"
:border="false"
:list="classList"
@change="changeHandler"
></sidebar>
</div>
<div class="right-slider">
<u-empty v-if="g.length == 0" text="暂无相关车辆信息" mode="data"></u-empty>
<scroll-view
:scroll-y="true"
:enable-back-to-top="true"
:enable-flex="true"
@scrolltolower="lower"
style=" height: calc(100vh - (44px+10px+50px)) ;width: calc(100vw - 85px);"
>
<view style="width: 100%;display: flex;flex-direction: column;align-items: center;padding: 10px;">
<view class="c_list_item" v-for="(x, i) in g" :key="i">
<view class="itemb" >
<view class="c_t_l">
<image :src="x.cover_pic" mode="aspectFill" style="width: 100%;height: 100%;"></image>
</view>
<view class="c_t_r">
<span class='ctr_name'>{{x.name}}</span>
<span style='font-size: 11px;color: #111111;'>{{x.guidecartype}} · 可乘坐{{x.goods_stock}}人 · {{x.carcolorName}}</span>
</view>
</view>
<view class="itemb" style="justify-content: space-between;margin-top: 10px;">
<view class="itemb">
<image :src="x.guidephoto" mode="aspectFill" style="width: 30px;height: 30px;border-radius: 15px;"></image>
<view style="display: flex;flex-direction: column;justify-content: space-between;height: 30px;margin-left: 8px;">
<view class="itemb">
<span style='font-size: 11px;color: #111111;'>{{x.guidename}}</span>
<view style="background-image: linear-gradient( to right,#FF8585, #EE4454);color: #FFF;font-size: 10px;border-radius: 1px;margin-left: 5px;padding: 0 2px;">
{{x.guidescore}}
</view>
</view>
<view class="itemb" style='font-size: 11px;color: #666666;'>
<view class="itemb">
<image src="../../static/images/sidao/time.png" mode="aspectFill" style="width: 11px;height: 11px;margin-right: 2px;"></image>
<span >从业{{x.guideworkyears}}</span>
<image src="../../static/images/sidao/time.png" mode="aspectFill" style="width: 9px;height: 11px;margin-left: 5px;margin-right: 2px"></image>
<span>{{x.guidetelephone}}</span>
</view>
</view>
</view>
</view>
<view style="display: flex;flex-direction: column;align-items: flex-end;">
<view class="price" :style="{ color: mainColor }">¥{{x.price}}/天</view>
<view style=" color: #999999;font-size: 11px; ">总价¥{{x.price*msg.RideNum}}</view>
</view>
</view>
<view class="line"></view>
</view>
</view>
</scroll-view>
</div>
</div>
</div>
</template>
<script>
import sidebar from "../../components/sidebar/index.vue";
export default {
components: {
sidebar,
},
data() {
return {
mainColor: "",
activeStyle: "",
pageTitle: "订车",
classList:[],
current:0,
tic:0,
msg:{
pageIndex:1,
pageSize:15,
Name:"",
GoodsType:1,
OrderBy:1,
StartTime:'',
EndTime:'',
CarType:0,
LineName:'',
LineDescription:'',
RideNum:0,
CarClass:'',
CarBrandId:0,
RegionIds:0
},
list: [{name: '综合排序'}, {name: '品牌'}],
STime:'',
ETime:'',
intervalDay:'',
g: [],
page_count: 1,
status: "loadmore",
loadText: {
loadmore: "轻轻上拉,加载更多",
loading: "努力加载中",
nomore: "没有更多了",
},
};
},
components: {
sidebar,
},
onLoad(options) {
if(options && options.item){
let item = JSON.parse(decodeURIComponent(options.item))
this.msg.CarClass = item.CarClass
this.msg.CarType = item.CarType
this.msg.EndTime = item.EndTime
this.msg.LineDescription = item.LineDescription
this.msg.LineName = item.LineName
this.msg.RegionIds = item.RegionIds
this.msg.RideNum = item.RideNum
this.msg.StartTime = item.StartTime
}
if(options && options.STime){
this.STime = JSON.parse(decodeURIComponent(options.STime))
}
if(options && options.ETime){
this.ETime = JSON.parse(decodeURIComponent(options.ETime))
}
if(options && options.intervalDay){
this.intervalDay = options.intervalDay
}
if(options && options.tic){
this.tic = options.tic
}
this.getCarClassList()
this.init();
},
created() {
this.mainColor = this.$uiConfig.mainColor;
this.activeStyle = `background:${this.mainColor};`;
uni.setNavigationBarTitle({
title: this.pageTitle,
});
},
methods: {
init(){
uni.showLoading({
title: "加载中",
});
this.request2(
{
url: '/api/AppletGuideCar/GetAppletGoodsPageListForZY',
data: this.msg
},
res => {
uni.hideLoading();
if(res.resultCode==1){
res.data.pageData=[
{
"id":367471,
"sign":"",
"name":"超高性比价|九寨沟•黄龙•灌县古城•都江堰•平乐古镇6日游|当地特色美食",
"cover_pic":"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/uploads/mall1285/20200403/2fe8017933680b58437f8f98c9cbec6c.jpg",
"video_url":"",
"original_price":3000.00,
"unit":null,
"page_url":"/pages/goods/goods?id=367471",
"is_negotiable":2,
"is_level":1,
"level_price":200.0000,
"price":"2000.00",
"price_content":"¥2000.00",
"is_sales":1,
"sales":"已售0件",
"attr_groups":[
],
"attr":[],
"goods_stock":4,
"goods_num":4,
"marketingLogo":"\u0022\\\u0022{\\\\\\\u0022iswords\\\\\\\u0022:0,\\\\\\\u0022words\\\\\\\u0022:\\\\\\\u0022\\\\\\\u0022,\\\\\\\u0022wordsColor\\\\\\\u0022:\\\\\\\u0022\\\\\\\u0022,\\\\\\\u0022wordsBack\\\\\\\u0022:\\\\\\\u0022\\\\\\\u0022,\\\\\\\u0022ico\\\\\\\u0022:\\\\\\\u0022\\\\\\\u0022}\\\u0022\u0022",
"carclass":null,
"carcolorName":"红色",
"guidename":"晓东",
"guideworkyears":6.00,
"guidescore":0.00,
"guidetelephone":"1515151515151",
"guidephoto":"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Upload/Goods/1599127018000_23.jpeg"
}
]
this.g = this.g.concat(res.data.pageData);
this.page_count = res.data.pageCount;
if (this.page_count == 1) {
this.status = "nomore";
}
}
}
);
},
getCarClassList(){
this.request2(
{
url: "/api/AppletGuideCar/GetCarClassList",
data: {},
},
(res) => {
this.classList = res.data;
let obj = {Name: "全部", Id: 0}
this.classList.unshift(obj)
}
);
},
changeHandler(val){
this.tic = val;
this.msg.CarClass = this.classList[val].ID;
this.msg.pageIndex=1;
this.g = [];
this.init()
},
change(val){
console.log(val)
this.current= val
},
onItemSelect(){
},
lower(e) {
if (this.msg.pageIndex < this.page_count) {
this.msg.pageIndex++;
this.status = "loading";
this.init();
} else {
this.status = "nomore";
}
},
},
};
</script>
<style>
.guidecarList {
display: flex;
flex-direction: column;
align-items: center;
}
.guidecarList .left-slider {
width: 85px;
height: 100%;
background: #f5f5f5;
}
.guidecarList .right-slider {
/* padding: 10px; */
height: 100%;
width: 1px;
flex: 1;
}
.g_top{
width: 92%;
height: 45px;
border-radius: 22.5px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-around;
background: #FAF8F9;
padding: 0 20px;
}
.guidecarList .topB{
display: flex;
flex-direction: column;
justify-content: space-between;
/* align-items: center; */
}
.guidecarList .titext{
font-size: 22rpx;
color: #929292;
}
.guidecarList .ztext{
font-size: 28rpx;
color: #1C1E1F;
}
.guidecarList .c_list_item{
width: 96%;
display: flex;
flex-direction: column;
}
.guidecarList .itemb{
display: flex;flex-direction: row;align-items: center;
}
.c_list_item .c_t_l{
width: 111px;
height: 62px;
}
.c_list_item .c_t_r{
display: flex;
flex-direction: column;
height: 62px;
padding:5px 10px;
justify-content: space-around;
}
.c_t_r .ctr_name{
width: 300rpx;
font-size: 15px;
color: #111111;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-weight: bold;
}
.c_t_r .price{
font-size: 14px;
color: #ff4544;
}
.guidecarList .line{
width: 100%;
height: 1px;
margin-top: 10px;
background: #E2E2E2;
}
</style>
......@@ -34,7 +34,7 @@
</view>
<view class="topB" v-if="info.IsShowCarpooling==1&& msg.CarType==5" style="align-items: center;">
<span class='titext'>是否拼车</span>
<u-switch v-model="iscarpool" size='30'></u-switch>
<u-switch v-model="msg.IsSpell" size='30' active-value="1" inactive-value="2"></u-switch>
</view>
</view>
<view class="c_row">
......@@ -55,6 +55,17 @@
<input class="uni-input" v-model="msg.RideNum" style="width: 50px;text-align: center;"/>
</view>
</view>
<view class="c_row" v-if="msg.CarType==5">
<view class="topB" >
<span class='titext'>线路名称</span>
<input class="uni-input" v-model="msg.LineName" style="width: 80px;" placeholder="请输入"/>
</view>
<view class="topB" >
<span class='titext'>关联城市或景点</span>
<input class="uni-input" v-model="msg.LineDescription" style="width: 80px;" placeholder="请输入"/>
</view>
<view class="topB" style="width: 50px;"></view>
</view>
<view class="c_row" v-if="info.IsShowDate==1">
<view class="topB" @click="showStart=true,timeType=1,defaultTime = msg.StartTime">
<span class='ztext'>{{STime.month}}{{STime.day}}</span>
......@@ -74,7 +85,7 @@
<image :src="info.TipsIco" mode="aspectFill" style="width: 13px;height: 11px;"></image>
<span style='font-size: 11px;color: #121212;margin-left: 5px;'>{{info.Tips}}</span>
</view>
<view class="btnstyle" :style="{'color':info.ButtonTextColor,'background':info.ButtonColor,'border-radius':info.ButtonFilletPX+'px'}">
<view class="btnstyle" :style="{'color':info.ButtonTextColor,'background':info.ButtonColor,'border-radius':info.ButtonFilletPX+'px'}" @click="goList">
{{info.ButtonText}}
</view>
</view>
......@@ -141,7 +152,6 @@
</view>
</view>
</scroll-view>
</view>
</u-popup>
<u-picker v-model="showStart" mode="time" :params="params" @confirm='btnStart' :default-time='defaultTime'></u-picker>
......@@ -149,10 +159,10 @@
</template>
<script>
import AddressParse from '../address/zh-address-parse.min.js'
export default{
data(){
return{
info:{},
contentHeight: 0,
mainColor:'',
......@@ -176,12 +186,13 @@
msg:{
StartTime:'',//取车时间
EndTime:'',//还车时间
CarType:'',//服务类型
CarType:0,//服务类型
LineName:'',//线路名称
LineDescription:'',//关联城市/景点
RideNum:0,//出行人数
CarClass:'',//车辆类型
RegionIds:'',//地区(省市区:1,2,3)
RideNum:1,//出行人数
CarClass:0,//车辆类型
RegionIds:0,//地区(省市区:1,2,3)
IsSpell:2,//是否拼座 1是 2否
},
params: {//时间的配置
year: true,
......@@ -213,10 +224,11 @@
this.ETime = obj;
this.msg.StartTime = obj.year+'-'+obj.month+'-'+obj.day+' '+obj.hour+':'+obj.minute+':00';
this.msg.EndTime = obj.year+'-'+obj.month+'-'+obj.day+' '+obj.hour+':'+obj.minute+':00';
},
onLoad(options){
this.init()//获取司导首页配置
this.getGetCarClassList()//车辆分类下拉
this.getCarClassList()//车辆分类下拉
this.getOrderListExportEnumList()//获取出行类型
},
methods:{
......@@ -235,7 +247,7 @@
}
);
},
getGetCarClassList(){
getCarClassList(){
this.request2(
{
url: "/api/AppletGuideCar/GetCarClassList",
......@@ -246,7 +258,9 @@
this.classList.forEach(x=>{
x.checked = false
})
this.carName = this.classList[0].Name;
this.msg.CarClass = this.classList[0].Id;
this.classList[0].checked = true
}
);
},
......@@ -261,7 +275,9 @@
this.EnumList.forEach(x=>{
x.checked = false
})
this.EnumName = this.EnumList[0].Name;
this.msg.CarType = this.EnumList[0].Id;
this.EnumList[0].checked = true
}
);
},
......@@ -356,14 +372,53 @@
success: function (res) {
console.log(res)
that.address = res.address
let parseResult = AddressParse(that.address, 0)
let nameList = [parseResult.province, parseResult.city, parseResult.area];
that.getDestination(nameList);
}
});
},
getDestination(nameList) {
this.request2(
{
url: '/api/AppletUser/GetDestinationListByNames',
data: {
area: nameList
}
},
res => {
console.log('res', res);
if(res.data.length==3){
this.msg.RegionIds = res.data[0].ID+','+res.data[1].ID+','+res.data[2].ID
}else{
this.msg.RegionIds = res.data[0].ID+','+res.data[1].ID+',0'
}
}
);
},
gocity(){
uni.navigateTo({
url:'/pages/guidecar/pickcarcity'
})
},
goList(){
let that = this
let tic= 0;
that.classList.forEach((x,i)=>{
if(x.Id == that.msg.CarClass){
tic = i+1
console.log(tic)
}
})
uni.navigateTo({
url: "/pages/guidecar/guidecarList?item=" + encodeURIComponent(JSON.stringify(that.msg))
+'&STime='+encodeURIComponent(JSON.stringify(that.STime))+'&ETime='+encodeURIComponent(JSON.stringify(that.ETime))
+'&intervalDay='+that.intervalDay+'&tic='+tic
});
}
}
......
......@@ -20,7 +20,8 @@
{{item.RegionName}}
</view>
</view>
<template>
<div style='height: calc(100vh - 50px);'>
<u-index-list :scrollTop="scrollTop">
<view v-for="(item, index) in indexList" :key="index">
<u-index-anchor :index="item.ti" />
......@@ -30,7 +31,8 @@
</view>
</u-index-list>
</template>
</div>
</view>
</view>
......@@ -132,7 +134,6 @@
background: #FFFFFF;
}
.pickcarcity .qcity{
}
.pickcarcity .list-cell {
display: flex;
......
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