
<view class="page">
<!--页头-->
<view class="page__hd">
<view class="head">
<input bindblur="getstart" value="{{start}}" placeholder="始发地" type="text" />
<image src="/img/to.png" class="to"></image>
<input bindblur="getover" value="{{over}}" placeholder="目的地" auto-focus/>
<image src="/img/date.png" class="dateImg"></image>
<picker mode="date" value="{{date}}" class="date" start="{{minday}}" end="{{maxday}}" bindchange="bindDateChange">
<view class="picker">
{{date}}
</view>
</picker>
</view>
</view>
<!--主体-->
<view class="page__bd">
<view class="weui-tab">
<view class="weui-navbar">
<block wx:for="{{tabs}}" wx:key="*this">
<view id="{{index}}" class="weui-navbar__item {{activeIndex == index ? 'weui-bar__item_on' : ''}}" bindtap="tabClick">
<view class="weui-navbar__title">{{item}}</view>
</view>
</block>
<view class="weui-navbar__slider" style="left: {{sliderLeft}}px; transform: translateX({{sliderOffset}}px); -webkit-transform: translateX({{sliderOffset}}px);"></view>
</view>
<view class="weui-tab__panel">
<view class="weui-tab__content" hidden="{{activeIndex != 0}}">
<view class="weui-panel__bd">
<navigator wx:for="{{list}}" wx:for-index="idx" wx:key="k" wx:for-item="item" url="{{item.url}}" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active">
<view class="weui-media-box__hd weui-media-box__hd_in-appmsg">
<image class="weui-media-box__thumb" src="{{item.avatarUrl}}" ></image>
</view>
<view class="weui-media-box__bd weui-media-box__bd_in-appmsg">
<view class="weui-media-box__title list_title"><text class="list_start">{{item.start}}</text> <image src="/img/to.png" class="to1"></image> <text class="list_over">{{item.over}}</text><text class="list_tm">{{item.tm}}</text></view>
<view class="weui-media-box__desc list_desc">出发:{{item.date}} {{item.time}}</view>
<view class="weui-media-box__info">
<view class="weui-media-box__info__meta list_type_{{item.tp}}">{{item.type}}</view>
<view class="weui-media-box__info__meta"><image src="/img/people.png" class="list_icon"></image><text>{{item.surplus}}</text></view>
</view>
</view>
</navigator>
</view>
</view>
<view class="weui-tab__content" hidden="{{activeIndex != 1}}">
<view class="weui-panel__bd">
<navigator wx:for="{{list1}}" wx:for-index="idx" wx:key="k" wx:for-item="item" url="{{item.url}}" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active">
<view class="weui-media-box__hd weui-media-box__hd_in-appmsg">
<image class="weui-media-box__thumb" src="{{item.avatarUrl}}" />
</view>
<view class="weui-media-box__bd weui-media-box__bd_in-appmsg">
<view class="weui-media-box__title list_title"><text class="list_start">{{item.start}}</text> <image src="/img/to.png" class="to1"></image> <text class="list_over">{{item.over}}</text><text class="list_tm">{{item.tm}}</text></view>
<view class="weui-media-box__desc list_desc">出发:{{item.date}} {{item.time}}</view>
<view class="weui-media-box__info">
<view class="weui-media-box__info__meta list_type_{{item.tp}}">{{item.type}}</view>
<view class="weui-media-box__info__meta"><image src="/img/people.png" class="list_icon"></image><text>{{item.surplus}}</text></view>
</view>
</view>
</navigator>
</view>
</view>
<view class="weui-tab__content" hidden="{{activeIndex != 2}}">
<view class="weui-panel__bd">
<navigator wx:for="{{list2}}" wx:for-index="idx" wx:key="k" wx:for-item="item" url="{{item.url}}" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active">
<view class="weui-media-box__hd weui-media-box__hd_in-appmsg">
<image class="weui-media-box__thumb" src="{{item.avatarUrl}}" />
</view>
<view class="weui-media-box__bd weui-media-box__bd_in-appmsg">
<view class="weui-media-box__title list_title"><text class="list_start">{{item.start}}</text> <image src="/img/to.png" class="to1"></image> <text class="list_over">{{item.over}}</text><text class="list_tm">{{item.tm}}</text></view>
<view class="weui-media-box__desc list_desc">出发:{{item.date}} {{item.time}}</view>
<view class="weui-media-box__info">
<view class="weui-media-box__info__meta list_type_{{item.tp}}">{{item.type}}</view>
<view class="weui-media-box__info__meta"><image src="/img/people.png" class="list_icon"></image><text>{{item.surplus}}</text></view>
</view>
</view>
</navigator>
</view>
</view>
</view>
</view>
</view>
<view class="page__bd">
<view class="weui-loadmore" bindtap="onReachBottom" wx:if="{{!nomore}}">
<view class="weui-loading"></view>
<view class="weui-loadmore__tips">正在加载</view>
</view>
<view class="weui-loadmore weui-loadmore_line" wx:if="{{nomore}}">
<view class="weui-loadmore__tips weui-loadmore__tips_in-line">没有更多了~</view>
</view>
</view>
</view>
<navigator url="/pages/info/add">
<view class="add" bindtap="add">
<image src="/img/adddy.png"></image>
</view>
</navigator>
|
/**index.wxss**/
.head{display:flex;flex-direction: row;background: #f5f5f5;width:100%;padding: 10rpx 0rpx 3rpx 0rpx; align-items: center; justify-content: space-between;}
.head input,.head picker{background: #fff;width: 180rpx;margin:5rpx;height: 70rpx;border-radius: 10rpx;font-size: .8rem;text-align: center;line-height:70rpx;color:#444;}
.dateImg{width: 40rpx;height:40rpx;margin:25rpx 10rpx;}
.to{width: 60rpx;height:60rpx;margin:20rpx 0rpx;}
.date{font-size: .8rem!important;width: 200rpx!important;}
.page__bd{
height: 100%;
}
.page__bd{
padding-bottom: 0;
}
.weui-tab__content{
padding-top: 60px;
text-align: center;
}
.weui-navbar{background: #fff;}
.weui-media-box{position: relative}
.weui-navbar__slider{background: rgb(254,230,50)}
.weui-tab__content{padding-top: 0!important;}
.list_title,.list_desc{text-align: left!important;}
.list_title{color:black;font-size: .85rem;}
.list_desc{margin: 5rpx 0rpx;color: #444}
.list_type_1{background: rgb(254,230,50);padding: 0rpx 5rpx;margin-right:1rem;color:lightseagreen;}
.list_type_2{background: lightseagreen;padding: 0rpx 5rpx;margin-right:1rem;color:rgb(254,230,50);}
.to1{width: 60rpx;height:60rpx;position:absolute;top:12px;}
.list_over{margin-left:60rpx;}
.list_icon{width:30rpx;height:30rpx;position:absolute}
.weui-media-box__info__meta text{margin:0rpx 33rpx;}
.list_tm{float: right;color: indianred;font-size: .8rem;}
.weui-media-box__info__meta{padding-right: .2rem!important;}
.icon-gender{width:30rpx;height: 30rpx;bottom: 16rpx;position:absolute;left:120rpx;}
.add{position: fixed;bottom: 30px;right:30px;}
.add image{width: 80rpx;height: 80rpx;}
|
//index.js
//获取应用实例
var util = require('../../utils/util.js');
var app = getApp();
var today = util.formatTime(new Date((new Date()).getTime()+(1000*60*60*24*7))).split(' ')[0];
var minday = util.formatTime(new Date()).split(' ')[0];
var maxday = util.formatTime(new Date((new Date()).getTime()+(1000*60*60*24*62))).split(' ')[0];
var sliderWidth = 96; // 需要设置slider的宽度,用于计算中间位置
var page = 1;
var list = new Array();
var list1 = new Array();
var list2 = new Array();
Page({
data: {
all:'act',
date:today,
minday:today,
maxday:maxday,
tabs: ["全部", "车找人", "人找车"],
activeIndex: 0,
sliderOffset: 0,
sliderLeft: 0,
start:'',
over:''
},
tabClick: function (e) {
this.setData({
sliderOffset: e.currentTarget.offsetLeft,
activeIndex: e.currentTarget.id
});
},
bindDateChange:function(e){
this.setData({
date:e.detail.value
})
this.getList(e.detail.value,this.data.start,this.data.over);
},
onShareAppMessage: function () {
return {
title: '同城拼车',
path: 'pages/index/index'
}
},
getList:function(date='',start='',over=''){
var that = this;
util.req('info/lists',
{start:start,over:over,date:date,page:page},
function(data){
if(!data.list){
that.setData({nomore:true});
return false;
}
if(page == 1){
list = new Array();
list1 = new Array();
list2 = new Array();
}
var surp = new Array('','空位','人');
data.list.forEach(function(item){
try{
var start = ((item.departure).split('市')[1]).replace(/([u4e00-u9fa5]+[县区]).+/, '$1');
}catch(e){
var start = (item.departure).split(/[县区]/)[0];
}
try {
var over = ((item.destination).split('市')[1]).replace(/([u4e00-u9fa5]+[县区]).+/, '$1');
} catch (e) {
var over = (item.destination).split(/[县区]/)[0];
}
var obj = {
start:start,
over:over,
type:that.data.tabs[item.type],
tp:item.type,
time:util.formatTime(new Date(item.time*1000)),
surplus:item.surplus+surp[item.type],
see:item.see,
gender:item.gender,
avatarUrl:item.avatarUrl,
url:'/pages/info/index?id='+item.id,
tm:util.getDateDiff(item.time*1000)
};
list.push(obj);
if(item.type == 1){
list1.push(obj);
}else{
list2.push(obj);
}
})
that.setData({list:list,list1:list1,list2:list2});
})
},
onPullDownRefresh: function(){
page = 1;
this.getList(this.data.date,this.data.start,this.data.over);
wx.stopPullDownRefresh();
},
getstart:function(e){
this.setData({
start:e.detail.value
})
page = 1;
this.getList(this.data.date,e.detail.value,this.data.over);
},
getover:function(e){
this.setData({
over:e.detail.value
})
page = 1;
this.getList(this.data.date,this.data.start,e.detail.value);
},
onLoad: function () {
var that = this;
wx.getSystemInfo({
success: function(res) {
that.setData({
sliderLeft: (res.windowWidth / that.data.tabs.length - sliderWidth) / 2,
sliderOffset: res.windowWidth / that.data.tabs.length * that.data.activeIndex,
windowHeight: res.windowHeight,
windowWidth: res.windowWidth
});
}
});
wx.getLocation({
success: function (res) {
var latitude = res.latitude
var longitude = res.longitude
wx.request({
url: 'https://api.map.baidu.com/geocoder/v2/?ak=zIOkoO8wWrWA22ObIHPNkCgtLZpkP5lE&location=' + latitude + ',' + longitude + '&output=json&pois=0',
data: {},
method: 'GET',
header: { 'Content-Type': 'application/json' },
success: function(res){
that.setData({
start:res.data.result.addressComponent.city
})
that.getList(that.data.date,res.data.result.addressComponent.city);
}
})
}
})
},
onReachBottom:function(){
if(!this.data.nomore){
page++;
this.getList(this.data.date,this.data.start,this.data.over);
}
}
})
|
模板简介:该模板名称为【微信小程序带城市目的地时间搜索拼车样式制作设计教程】,大小是,文档格式为.,推荐使用打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【小程序教程】栏目查找您需要的精美模板。