私人订制功能

dev
Tuzki 2 years ago
parent c7133048de
commit 4f08ffad58
  1. 1
      common/param.js
  2. 15
      manifest.json
  3. 244
      pages.json
  4. 2
      pages/feiyi/feiyilist/feiyilist.vue
  5. 2
      pages/hotevent/hoteventlist/hoteventlist.vue
  6. 4
      pages/index/index.vue
  7. 357
      pages/sirendingzhi/sirendingzhidetail/sirendingzhidetail.css
  8. 187
      pages/sirendingzhi/sirendingzhidetail/sirendingzhidetail.vue
  9. 40
      pages/sirendingzhi/sirendingzhilist/sirendingzhilist.css
  10. 512
      pages/sirendingzhi/sirendingzhilist/sirendingzhilist.vue
  11. 40
      pages/welcome/welcome.vue

@ -20,6 +20,7 @@ module.exports = {
specialgoodType: "2909" ,//特产类型
methodType: "2907" ,//攻略类型
hotevent:"2906", //活动类型
siren:"2931", //私人订制
hoteventType: "21" ,//活动筛选类型
hoteventTypeKey:"sub_column1", //活动类型key对应的后台字段
hoteventPhoneKey:"sub_column2", //活动电话key对应的后台字段

@ -9,8 +9,8 @@
"app-plus" : {
"usingComponents" : true,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"alwaysShowBeforeRender" : false,
"waiting" : false,
"autoclose" : true,
"delay" : 0
},
@ -50,7 +50,10 @@
/* ios */
"ios" : {},
/* SDK */
"sdkConfigs" : {}
"sdkConfigs" : {},
"splashscreen" : {
"androidStyle" : "common"
}
}
},
/* */
@ -64,9 +67,9 @@
"postcss" : true,
"es6" : true
},
"optimization" : {
"subPackages" : true
},
"optimization" : {
"subPackages" : true
},
"usingComponents" : true,
"permission" : {
"scope.userLocation" : {

@ -1,6 +1,13 @@
{
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
// {
// "path": "pages/welcome/welcome",
// "style": {
// "navigationBarTitleText": "衡水老白干",
// "enablePullDownRefresh": false
// }
// },
{
"path": "pages/index/index",
"style": {
@ -20,7 +27,7 @@
}
},
{
"path": "pages/hotevent/hoteventlist/hoteventlist",
"style": {
@ -76,7 +83,7 @@
"navigationBarTitleText": "数字导览"
}
},
{
"path": "pages/myComment/list/list",
"style": {
@ -86,7 +93,7 @@
{
"path": "pages/index/login/login",
"style": {}
}, {
}, {
"path": "pages/index/lvfadahui/lvfadahui",
"style": {
"navigationBarTitleText": "详情",
@ -135,8 +142,8 @@
"navigationBarTitleText": "投诉填报"
}
},
},
{
"path": "pages/myReserve/myReserve",
"style": {
@ -151,7 +158,7 @@
}
},
{
"path": "pages/personcenter/scanCodeRecord/scanCodeRecord",
@ -248,7 +255,7 @@
"style": {
"navigationBarTitleText": "隐私政策"
}
},
},
{
@ -275,13 +282,26 @@
"style": {
"navigationBarTitleText": "数字导览"
}
}, {
"path": "pages/sirendingzhi/sirendingzhilist/sirendingzhilist",
"style": {
"navigationBarTitleText": "私人订制",
"enablePullDownRefresh": false
}
}, {
"path": "pages/sirendingzhi/sirendingzhidetail/sirendingzhidetail",
"style": {
"navigationBarTitleText": "私人订制详情",
"enablePullDownRefresh": false
}
}
],
//
"subPackages": [{
"root": "sunPackIndex", //
"pages": [
{
"pages": [{
"path": "cate/destination",
"style": {
"navigationBarTitleText": "详情",
@ -302,7 +322,7 @@
"path": "scenic/sceniclist/sceniclist",
"style": {
"navigationBarTitleText": "景点推荐"
}
},
{
@ -323,7 +343,7 @@
{
"path": "scenic/imageshow/imageshow",
"style": {}
},
},
{
"path": "scenic/scenicdetial/url720/url720",
"style": {
@ -334,129 +354,127 @@
"style": {
"navigationBarTitleText": "数字导览"
}
},{
"path": "scenic/scenicdetial/ticket/ticket",
"style": {
"navigationStyle": "custom",
"app-plus": {
"titleView": false
}
}
}, {
"path": "scenic/subscribe/subscribe",
"style": {
"navigationBarTitleText": "详情",
"navigationStyle": "custom",
"app-plus": {
"titleView": false
}, {
"path": "scenic/scenicdetial/ticket/ticket",
"style": {
"navigationStyle": "custom",
"app-plus": {
"titleView": false
}
}
}, {
"path": "scenic/subscribe/subscribe",
"style": {
"navigationBarTitleText": "详情",
"navigationStyle": "custom",
"app-plus": {
"titleView": false
}
}
},{
"path": "scenic/subscribe/yue_form",
"style": {
"navigationBarTitleText": "景区预约",
"navigationStyle": "custom",
"app-plus": {
"titleView": false
}
}, {
"path": "scenic/subscribe/yue_form",
"style": {
"navigationBarTitleText": "景区预约",
"navigationStyle": "custom",
"app-plus": {
"titleView": false
}
}
},{
"path": "scenic/subscribe/qrcode/qrcode",
"style": {
"navigationBarTitleText": "二维码"
}
}, {
"path": "scenic/subscribe/qrcode/qrcode",
"style": {
"navigationBarTitleText": "二维码"
}
},
{
"path": "scenic/subscribe/qrcode/erweima",
"style": {
"navigationBarTitleText": "二维码"
}
},
{
"path": "scenic/subscribe/qrcode/erweima",
"style": {
"navigationBarTitleText": "二维码"
}
},
}
},
{
"path": "scenic/subscribe/qrcode/reserve_detail",
"style": {
"navigationBarTitleText": "预约详情"
{
"path": "scenic/subscribe/qrcode/reserve_detail",
"style": {
"navigationBarTitleText": "预约详情"
}
},
{
"path": "scenic/subscribe/qrcode/reserve_detail_2",
"style": {
"navigationBarTitleText": "预约详情"
}
},
{
"path": "scenic/subscribe/qrcode/reserve_detail_2",
"style": {
"navigationBarTitleText": "预约详情"
}
},
{
"path": "scenic/subscribe/qrcode/yue_detail",
"style": {
"navigationBarTitleText": "预约详情"
}
},
{
"path": "scenic/subscribe/qrcode/yue_detail",
"style": {
"navigationBarTitleText": "预约详情"
}
},
{
"path": "scenic/subscribe/yuyue/yue_detail_2",
"style": {
"navigationBarTitleText": "预约详情"
}
},
{
"path": "scenic/subscribe/yuyue/yue_detail_2",
"style": {
"navigationBarTitleText": "预约详情"
}
},
}
},
{
"path": "scenic/subscribe/yuyue/yue_form_2",
"style": {
"navigationBarTitleText": "预约详情"
{
"path": "scenic/subscribe/yuyue/yue_form_2",
"style": {
"navigationBarTitleText": "预约详情"
}
},
{
"path": "scenic/subscribe/yuyue/yue_list",
"style": {
"navigationBarTitleText": "预约景区"
}
},
{
"path": "scenic/subscribe/yuyue/yue_list",
"style": {
"navigationBarTitleText": "预约景区"
}
},
{
"path": "scenic/subscribe/yuyue/yue_time",
"style": {
"navigationBarTitleText": "预约景区详情"
}
},
{
"path": "scenic/subscribe/yuyue/yue_time",
"style": {
"navigationBarTitleText": "预约景区详情"
}
},{
"path": "scenic/subscribe/yuyue/yue_list_js",
"style": {
"navigationBarTitleText": "预约景区"
}
}, {
"path": "scenic/subscribe/yuyue/yue_list_js",
"style": {
"navigationBarTitleText": "预约景区"
}
}, {
"path": "scenic/subscribe/yuyue/yue_time_js",
"style": {
"navigationBarTitleText": "预约景区详情",
"app-plus": {
"titleNView": {
"type": "transparent"
}
}, {
"path": "scenic/subscribe/yuyue/yue_time_js",
"style": {
"navigationBarTitleText": "预约景区详情",
"app-plus": {
"titleNView": {
"type": "transparent"
}
}
}
}
}, {
"path": "scenic/subscribe/yuyue/yue_form_js",
"style": {
"navigationBarTitleText": "填写预约表单"
}
}, {
"path": "scenic/subscribe/yuyue/yue_detail_js",
"style": {
"navigationBarTitleText": "预约详情"
}, {
"path": "scenic/subscribe/yuyue/yue_form_js",
"style": {
"navigationBarTitleText": "填写预约表单"
}
}, {
"path": "scenic/subscribe/yuyue/yue_detail_js",
"style": {
"navigationBarTitleText": "预约详情"
}
}
}
]
}],

@ -245,7 +245,6 @@ export default {
this.get_data();
},
getData: function() {
debugger
var that = this;
var data = {
"key": this.$param.userkey + "_feiyi_list"
@ -431,7 +430,6 @@ export default {
}
},
get_data: function() {
debugger
uni.showLoading({
title: '加载中',
mask: true

@ -387,6 +387,7 @@ export default {
a.noData || a.finished || a.loading || this.get_data();
},
getRedisData: function() {
debugger
var that = this;
var data = {
key: this.$param.userkey + '_hotEvent_list'
@ -422,6 +423,7 @@ export default {
});
},
get_data: function() {
debugger
this.param.loading = true;
// var type = this.selectcondition.type;
// if (type != undefined && type != null && type != '') {

@ -601,9 +601,9 @@ export default {
url: '/pages/traffic/outTraffic'
});
} else if (type == 'dingzhi') {
//
//
uni.navigateTo({
url: '/pages/traffic/outTraffic'
url: '/pages/sirendingzhi/sirendingzhilist/sirendingzhilist'
});
} else if (type == 'shop') {
uni.navigateToMiniProgram({

@ -0,0 +1,357 @@
page {
background: #fff;
}
.lh-swiper {
width: 100%;
height: 425rpx;
position: relative;
}
.slide-image {
width: 100%;
height: 416rpx;
}
.swiper-info {
color: #c8c8c8;
height: 50rpx;
line-height: 50rpx;
position: absolute;
right: 0;
bottom: 0;
left: 0;
padding: 0 30rpx;
font-size: 24rpx;
background: rgba(0,0,0,.6);
}
.pdc-common-info {
width: 100%;
padding: 0rpx 30rpx;
margin-bottom: 16rpx;
box-sizing: border-box;
background: #fff;
}
.info-box {
padding: 30rpx 0;
}
.info-list {
display: -webkit-box;
padding: 10rpx 0;
}
.info-list:last-child {
border-bottom: none;
}
.info-list .pic {
width: 50rpx;
height: 37rpx;
display: flex;
flex-direction: column;
justify-content: center;
}
.info-list .pic image {
width: 32rpx;
height: 32rpx;
}
.info-list .address {
-webkit-box-flex: 1;
font-size: 28rpx;
color: #666;
}
.info-list .txt {
-webkit-box-flex: 1;
font-size: 26rpx;
color: #2a2a2a;
}
.info-list .title {
font-size: 36rpx;
font-weight:bold;
padding: 20rpx 0 0 0;
}
.swiper-tab-wrap {
width: 100%;
background: #fff;
}
.swiper-tab-bar {
width: 100%;
height: 80rpx;
line-height: 80rpx;
border-bottom: 2rpx solid #e6e6e6;
text-align: center;
}
.swiper-tab-nav {
width: 33.33%;
height: 76rpx;
display: inline-block;
font-size: 32rpx;
}
.on {
color: #00b7ee;
border-bottom: 4rpx solid #00b7ee;
}
.swiper-tab-box {
display: none;
}
.show {
display: block;
}
.line-type-wrap {
padding: 0 30rpx;
}
.line-type-item {
display: flex;
padding: 20rpx 0;
border-bottom: 2rpx solid #e6e6e6;
}
.line-type-item:last-child {
border-bottom: none;
}
.l-info {
flex: 1;
}
.l-info .tit {
font-size: 28rpx;
}
.l-info .txt {
color: #969696;
padding-top: 15rpx;
font-size: 22rpx;
}
.r-info {
width: 150rpx;
margin-left: 20rpx;
text-align: center;
}
.r-info .pri {
color: #ff6b1a;
font-size: 24rpx;
}
.r-info .pri .num {
font-size: 28rpx;
}
.r-info .booking-btn {
color: #fff;
display: inline-block;
height: 42rpx;
line-height: 42rpx;
padding: 0 24rpx;
border-radius: 8rpx;
font-size: 28rpx;
background: #f63;
}
.r-info .booking-btnhui {
color: #fff;
display: inline-block;
height: 42rpx;
line-height: 42rpx;
padding: 0 24rpx;
border-radius: 8rpx;
font-size: 28rpx;
background: #c8c8c8;
}
.line-show-wrap {
}
.line-show-item {
padding: 20rpx 30rpx;
}
.yd-box {
padding: 15rpx 30rpx;
border-top: 1rpx solid #bfbfc3;
}
.yd-box .yd-btn {
color: #fff;
display: block;
width: 100%;
height: 70rpx;
line-height: 70rpx;
text-align: center;
font-size: 28rpx;
border-radius: 5rpx;
background: #f63;
border: 1rpx solid #f63;
}
.line-show-item .item-title {
font-size: 32rpx;
font-weight:bold;
color: #05A9F0;
padding: 20rpx 0 ;
border-bottom: 2rpx solid #05A9F0;
}
.line-show-item .item-txt {
color: #2a2a2a;
line-height: 50rpx;
padding-top: 10rpx;
font-size: 28rpx;
}
.line-show-item .item-txt image {
max-width: 100%!important;
}
.day-block {
}
.day-block .day-tit {
display: flex;
padding-top: 20rpx;
font-size: 26rpx;
}
.day-block .day-tit .sz {
width: 108rpx;
}
.day-block .day-tit .bt {
flex: 1;
}
.day-block .attr {
display: flex;
padding-top: 20rpx;
font-size: 24rpx;
}
.day-block .attr .hd {
width: 108rpx;
line-height: 40rpx;
}
.day-block .attr .bd {
color: #666;
flex: 1;
line-height: 40rpx;
}
.day-block .attr .bd .label {
display: block;
}
.day-block .attr .icon {
width: 24rpx;
height: 24rpx;
vertical-align: middle;
margin: -8rpx 6rpx 0 0;
}
.comment-container {
}
.comment-container .tip-bar {
display: flex;
padding: 0 30rpx;
justify-content: space-between;
border-bottom: 1px solid #e6e6e6;
}
.comment-container .tip-bar .item {
line-height: 80rpx;
font-size: 28rpx;
}
.comment-container .tip-bar .item .num {
color: #f80;
}
.conment-list {
padding: 30rpx;
border-bottom: 1px solid #e6e6e6;
}
.conment-list .comt-info {
display: flex;
}
.conment-list .comt-info .pic {
width: 86rpx;
height: 86rpx;
}
.conment-list .comt-info .pic image {
width: 86rpx;
height: 86rpx;
border-radius: 50%;
}
.conment-list .comt-info .user {
flex: 1;
padding: 0 20rpx;
}
.conment-list .comt-info .user .name {
line-height: 40rpx;
font-size: 28rpx;
}
.conment-list .comt-info .user .date {
color: #999;
line-height: 40rpx;
font-size: 24rpx;
}
/* .info-list .more {
width: 40rpx;
height: 40rpx;
position: relative;
} */
.info-list .more:after {
content: "";
width: 16rpx;
height: 16rpx;
position: absolute;
top: 50%;
border-top: 4rpx solid #c7c7cc;
border-right: 4rpx solid #c7c7cc;
transform: rotate(45deg) translateY(-70%);
}

@ -0,0 +1,187 @@
<template>
<view class="">
<!--
<swiper :autoplay="autoplay" class="lh-swiper" :duration="duration" :indicator-dots="indicatorDots" :interval="interval">
<swiper-item v-for="(item,index) in pic_list" :key="index"> -->
<image class="slide-image" :src="rootPath+info.imagelist[0]" mode="aspectFill"></image>
<!-- </swiper-item>
</swiper> -->
<view class="news_info shadow_fg">
<view class="arc_t_pd">
<view class="news_tit">{{info.title}}</view>
</view>
<view>
<text class="new_adr">阅读 {{info.browsenum}}</text>
<text class="new_adr" @click="dianzan(info.guid)" v-if="zan == true"><image src="../../../static/images/icn_like.png" class="pic_zan"></image>{{info.upnum}} </text>
<text class="new_adr" v-if="zan == false"><image src="../../../static/images/zan.png" class="pic_zan"></image>{{info.upnum}} </text>
</view>
<!--<view class="info-list">
<view>
<image src="../../../static/images/list-icon6.png" class="pic_hd_icon"></image> -->
<!-- <text class="txt">{{info.llnum}}人浏览</text>
</view>
<view>
<image src="../../../static/images/list-icon6.png" class="pic_hd_icon"></image>
<text class="txt">{{info.djnum}}人点赞</text>
</view>
</view>-->
</view>
<view class="news_info shadow_fg">
<view class="info-box hoteven_inf">
<!-- <view bindtap="showMap" class="info-list" @click="daohang()">
<view class="pic">
<image src="../../../static/images/list-icon1_h.png" class="pic_hd_icon"></image>
</view>
<view class="txt">{{info.eaddress}}</view>
<view class="more"></view>
</view> -->
</view>
</view>
<view class="swiper-tab-wrap">
<view class="line-show-wrap">
<view class="mode_com mt_1">
<!-- <view class="item-title">活动详情</view> -->
<view class="nr_cot">
<u-parse :content="info.content" :loading="loading" @preview="preview" @navigate="navigate" />
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import uParse from '@/components/gaoyia-parse/parse.vue'
export default {
components: {
uParse
},
data() {
return {
priceSymbol: "",
indicatorDots: false,
autoplay: true,
interval: 3000,
duration: 500,
info: {},
zan:true,
rootPath:this.$config.ROOTPATH,
netType:true
}
},
onLoad: function(options) {
var that = this;
this.$util.getNetworkType(
function(res){
if(res.networkType === 'none'){
uni.showToast({
title:that.$param.netMsg,
icon:"none",
duration:2000
})
that.netType = false;
}
},function(){
uni.showToast({
title:that.$param.netMsg,
icon:"none",
duration:2000
})
that.netType = false;
}
)
if(!that.netType){
return;
}
this.$util.hideLoadingByTime();
this.detailInfo(options.id);
this.jilu(options.id);
that.$util.saveOperatorLog(that,"HOTEVENT",options.id);
},
methods: {
detailInfo: function(id) {
var that = this;
var data = {
"userkey":this.$param.userkey,
"type":this.$param.siren,
"guid":id
}
this.$Request.post(this.$config.getMessgeInfoDetailFormId, data).then(res => {
console.log(res);
if(!that.$util.isSuccess(res)){
return;
}
this.info = res.data;
this.info.logo = this.$config.ROOTPATH + this.info.logo;
})
},
daohang:function(){
// #ifdef H5
if (this.$wechat.isWechat()) {
var mapParam = {
latitude: this.info.lat,
longitude: this.info.lng,
scale: 18,
name: this.info.ename,
address: this.info.eaddress
};
this.$util.openLocation(mapParam);
return;
}
window.location.href = "https://uri.amap.com/navigation?from="+this.$param.clng+","+this.$param.clat+",我的位置&to="+this.info.lng+","+this.info.lat+","+this.info.eaddress+"&mode=walk&src=sjz_uniapp&callnative=1"
// #endif
},
callPhone:function(tel){
if(tel == "暂无"){
return;
}
uni.makePhoneCall({
phoneNumber:tel
})
},
jilu: function(id){
var that = this;
var data = {
guid: id,
browsenum:"1"
};
this.$Request.post(this.$config.updateMessageInfoUBFeildFormId, data).then(res => {
if(that.$util.isSuccess(res)){
console.log("已阅读");
}
});
},
dianzan: function(guid){
var that = this;
var data = {
guid: guid,
upnum:"1"
};
this.$Request.post(this.$config.updateMessageInfoUBFeildFormId, data).then(res => {
if(that.$util.isSuccess(res)){
this.zan = false;
this.info.upnum+=1;
}
});
}
}
}
</script>
<style>
@import url("../../../static/css/common.css");
@import url("sirendingzhidetail.css");
</style>

@ -0,0 +1,40 @@
page{position:relative;overflow-y:hidden;height:100%;}
/* .search-container{position:relative;z-index:3;overflow:hidden;width:100%;height:100%;background:#fff;}
.search-tip-bar{display:flex;height:60rpx;border-bottom:2rpx solid #e5e5e5;justify-content:space-between;}
.search-tip-item{width:33.333333%;height:60rpx;text-align:center;font-size:28rpx;line-height:60rpx;}
.search-tip-item:after{display:inline-block;margin:-2rpx 0 0 6rpx;width:0;height:0;border-top:8rpx solid #666;border-right:8rpx solid transparent;border-left:8rpx solid transparent;content:"";vertical-align:middle;}
.search-tip-item.active:after{border-top:0;border-right:8rpx solid transparent;border-bottom:8rpx solid #666;border-left:8rpx solid transparent;} */
.scroll-view{position:absolute;top:80rpx;right:0;bottom:0;left:0;z-index:4;}
.list-container{width:100%;background:#fff;}
.list-wrap{box-sizing:border-box;padding:0 30rpx;width:100%;}
.list-item{position:relative;margin-top:40rpx; width:100%;box-shadow: rgba(0,0,0,.1) 0 0 20rpx;border-radius:10rpx;}
.list-item .item-pic{margin:0;width:100%;height:350rpx;border-radius:10rpx 10rpx 0 0;}
.list-item .item-info .bt{overflow:hidden;padding:10px 2% 15px;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:14px;-webkit-line-clamp:1;-webkit-box-orient:vertical;}
.item-city{position:absolute;top:10px;right:10px;padding:8rpx 15rpx;border:2rpx solid rgba(255,194,48,1);border-radius:25rpx 0 20rpx 0rpx;background:rgba(255,194,48,1);color:#510202;font-size:24rpx;}
.item-city text{margin:auto 5px;}
.item-title{position:absolute;top:80px;overflow:hidden;margin-left:5%;width:90%;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:16px;}
.hd_wp_2{/* position:absolute; bottom: 0;background:linear-gradient(bottom,rgba(0,0,0,.8),rgba(0,0,0,0)); */ padding: 20rpx 0; width: 100%;}
.hd_bt{color:#333;font-size:30rpx; padding-left: 20rpx; font-weight: 700; padding-bottom: 10rpx;text-overflow:ellipsis;white-space:pre-wrap;-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden; position: relative; }
.hd_bt:before{ content: ''; display: inline-block; width: 6rpx; height: 24rpx; border-radius: 50%; background: rgb(22, 119, 255); vertical-align: middle; position: absolute; left: 0rpx; top:10rpx }
.hd_time{color:#999; font-size: 28rpx;padding-left: 20rpx;}
/* .item-desc{position:absolute;top:140px;bottom:20rpx;display:block;overflow:hidden;padding:20rpx 0;width:100%;border-bottom-right-radius:10rpx;border-bottom-left-radius:10rpx;background:linear-gradient(bottom,rgba(0,0,0,.8),rgba(0,0,0,0));color:#fff;text-indent:30rpx;text-overflow:ellipsis;text-shadow:1px 2px 5px #000;text-shadow:0 0 10rpx rgba(0,0,0,.5);white-space:nowrap;font-weight:600;font-size:32rpx;}
.item-eventdate{position:absolute;top:175px;overflow:hidden;margin-left:5%;width:90%;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:25rpx;opacity:.6;} */
.sort-page{position:absolute;top:62rpx;right:0;bottom:0;left:0;z-index:10;background:rgba(0,0,0,.5);}
.sort-group{background:#fff;}
.sort-item{position:relative;padding:0 30rpx;height:78rpx;border-bottom:2rpx solid #e5e5e5;color:#666;font-size:28rpx;line-height:78rpx;}
.sort-item-active{color:#1677ff;}
.sort-item-active:after{position:absolute;top:50%;right:20rpx;display:inline-block;margin-top:-14rpx;width:22rpx;height:18rpx;background:url("") center no-repeat;background-size:contain;content:"";}
.filter-page{position:absolute;top:62rpx;right:0;bottom:0;left:0;z-index:10;background:#fff;}
.filter-box{position:absolute;top:0;right:0;bottom:108rpx;left:0;display:-webkit-box;}
.filter-hd{width:220rpx;height:100%;background:#f2f6f9;}
.filter-hd-item{position:relative;padding:0 20rpx;height:80rpx;font-size:28rpx;line-height:80rpx;}
.filter-bd-item-active,.filter-hd-item-active{background:#fff;color:#1677ff;}
.filter-bd-item-active:after{position:absolute;top:50%;right:20rpx;display:inline-block;margin-top:-14rpx;width:22rpx;height:18rpx;background:url("") center no-repeat;background-size:contain;content:"";}
.filter-bd{padding:0 20rpx;height:100%;-webkit-box-flex:1;}
.filter-bd-item{position:relative;padding:0 20rpx;height:78rpx;border-bottom:2rpx solid #e5e5e5;font-size:28rpx;line-height:78rpx;}
.control-bar-block{position:absolute;right:0;bottom:0;left:0;display:-webkit-box;padding:14rpx 20rpx;height:80rpx;background:#fafafa;}
.control-back-btn{margin-right:20rpx;width:170rpx;height:76rpx;border:2rpx solid #b8b8b8;border-radius:10rpx;color:#8a8a8a;text-align:center;font-size:26rpx;line-height:76rpx;}
.control-confirm-btn{height:80rpx;border-radius:10rpx;background:#1677ff;color:#fff;text-align:center;font-size:30rpx;line-height:80rpx;-webkit-box-flex:1;}
.goTop{position:fixed;right:30rpx;bottom:50rpx;width:80rpx;height:80rpx;border-radius:50%;}

@ -0,0 +1,512 @@
<template>
<!-- <mescroll-uni :up="upOption" @down="downCallback" @up="upCallback"> -->
<view>
<view class="an_box_mes wc_sbox pb_15">
<view class="dy_fx an_sch">
<view class="fx_1">
<input v-model="searchValue" @confirm="search" type="text" class="an_sch_ipt" confirm-type="search" placeholder-style="color:#999" placeholder="输入定制内容名称" />
</view>
<view class="an_sch_img" @click="search"><image src="../../../static/animg/icon-search.png" class="ac_size_1"></image></view>
</view>
<!-- <view class="search-container box_1 amt_30">
<view class="search-tip-bar">
<view @tap="changeRegionPanel" :class="[searchItemClass, selectedParam.hiddenRegionPanel ? 'active' : '']" data-type="hiddenRegionPanel">
{{ regionname }}
</view>
<view @tap="changePanel" :class="[searchItemClass, selectedParam.hiddenSortPanel ? 'active' : '']" data-type="hiddenSortPanel">智能排序</view>
<view @tap="changePanel" :class="[searchItemClass, selectedParam.hiddenAttributePanel ? 'active' : '']" data-type="hiddenAttributePanel">分类筛选</view>
</view>
</view> -->
</view>
<view>
<scroll-view @scroll="onReachScroll" @bindscrolltolower="lower" class="" :scroll-top="topNum" scrollY="true" style="top:200rpx;height:100vh">
<view class="list-container" style="background: none;">
<view class="aml_30 amr_30">
<navigator
class="amt_30"
hover-class="none"
:url="'/pages/sirendingzhi/sirendingzhidetail/sirendingzhidetail?id=' + item.id"
v-for="(item, index) in listDatas"
:key="index"
>
<view class="ls_inf_box lunb_img">
<image class="swp_2_img" mode="aspectFill" :src="item.elogo"></image>
<!-- <view class="item-city" v-if="item.etype">
<text>{{item.etype}}</text>
</view> -->
<view class="an_v_inf">
<view class="lst_tit word_1" v-if="item.ename">{{ item.ename }}</view>
</view>
</view>
</navigator>
<view class="data-is-bottom" v-if="param.finished">{{ this.$param.pageMsg }}</view>
</view>
</view>
<!-- <view class="data-loading" v-if="param.loading">
<image class="icon" src="../../../static/images/loading-icon.png"></image>
加载中
</view> -->
<!-- <view class="no-data-info" v-if="param.noData">{{ this.$param.dataMsg }}</view> -->
</scroll-view>
</view>
<view class="sort-page" :hidden="selectedParam.hiddenSortPanel">
<view class="sort-group">
<view
@tap="selected"
:class="[pageClass.sortItemClass, selectedParam.sortId == item.id ? 'sort-item-active' : '']"
data-panel="hiddenSortPanel"
data-type="sortId"
:data-id="item.id"
v-for="(item, index) in filter.sort"
:key="index"
>
{{ item.name }}
</view>
</view>
</view>
<view class="sort-page" :hidden="selectedParam.hiddenRegionPanel">
<view class="sort-group">
<view
@tap="regionSelected"
:class="[pageClass.sortItemClass, selectedParam.bm == item.bm ? 'sort-item-active' : '']"
data-panel="hiddenRegionPanel"
:data-name="item.title"
data-type="bm"
:data-id="item.bm"
v-for="(item, index) in regionList"
:key="index"
>
{{ item.title }}
</view>
</view>
</view>
<view class="filter-page" :hidden="selectedParam.hiddenAttributePanel">
<view class="filter-box">
<scroll-view scrollY class="filter-hd">
<view
@tap="parentLevel"
:class="[pageClass.filterHdItemClass, parentLevelItem == 'attribute_' + items.type ? 'filter-hd-item-active' : '']"
:data-parentLevelItem="'attribute_' + items.type"
v-for="(items, index) in filter.attribute"
:key="index"
>
{{ items.name }}
</view>
</scroll-view>
<scroll-view scrollY class="filter-bd">
<view class="filter-group" v-if="parentLevelItem=='attribute_'+items.type" v-for="(items,index) in filter.attribute"
:key="items.dicnum">
<view @tap="childLevel" :class="[pageClass.filterBdItem,selectedFIlter['attribute_'+items.type]==0?'filter-bd-item-active':'']"
data-id="0" :data-type="'attribute_'+items.type">全部</view>
<view @tap="childLevel" :class="[pageClass.filterBdItem,selectedFIlter['attribute_'+items.type]==item.dicnum?'filter-bd-item-active':'']"
:data-id="item.dicnum" :data-type="'attribute_'+items.type" v-for="(item,childIndex) in items.child" :key="childIndex">{{item.dicname}}</view>
</view>
</scroll-view>
</view>
<view class="control-bar-block">
<view @tap="resetFilter" class="control-back-btn">恢复默认</view>
<view @tap="confirmClick" class="control-confirm-btn">确定</view>
</view>
</view>
</view>
<!-- </mescroll-uni> -->
</template>
<script>
export default {
data() {
return {
searchItemClass: 'search-tip-item',
pageClass: {
sortItemClass: 'sort-item',
filterHdItemClass: 'filter-hd-item',
filterBdItem: 'filter-bd-item'
},
priceSymbol: '',
destinationBak: 'all',
destination: 'all',
filter: [],
regionList: [],
parentLevelItem: 'attribute_hoventKey',
defaultFilter: {
attribute_hoventKey:0
},
latitude: 0,
longitude: 0,
selectedFIlterBak: {
attribute_hoventKey:0
},
selectedFIlter: {
attribute_hoventKey:0
},
selectedParam: {
sortId: 3,
bm: '',
hiddenSortPanel: !0,
hiddenAttributePanel: !0,
hiddenRegionPanel: !0
},
param: {
page: 1,
noData: !1,
loading: !1,
finished: !1
},
listDatas: [],
topNum: 0,
rootPaht: this.$config.ROOTPATH,
selectcondition: {
bm: '',
sortId: 3,
type: ''
},
regionname: '区域',
searchValue:"",
netType:true
};
},
onLoad(option) {
var that = this;
this.$util.getNetworkType(
function(res){
if(res.networkType === 'none'){
uni.showToast({
title:that.$param.netMsg,
icon:"none",
duration:2000
})
that.netType = false;
}
},function(){
uni.showToast({
title:that.$param.netMsg,
icon:"none",
duration:2000
})
that.netType = false;
}
)
if(!that.netType){
return;
}
this.$util.hideLoadingByTime();
uni.showLoading({
title: '加载中',
mask: true
});
/* this.selectedFIlter['attribute_' + this.$param.hoteventTypeKey] = 0;
this.parentLevelItem = 'attribute_' + this.$param.hoteventTypeKey; */
this.initData();
// var region = option.region;
// if (region != null && region != '') {
// this.selectcondition.bm = region;
this.get_data();
// } else {
// this.getRedisData();
// }
this.getRedisRegion();
that.$util.saveOperatorLog(that, 'FUN', '活动');
},
onShow() {
this.destinationBak != this.destination && (this.initData(), this.get_data());
},
methods: {
initData: function() {
uni.showLoading({
title: '加载中',
mask: true
});
var param = {};
param.page = 1;
param.noData = false;
param.finished = false;
this.param = param;
this.listDatas = [];
this.destinationBak = this.destination;
},
selected: function(event) {
this.initData();
var dataset = event.currentTarget.dataset;
var param = this.selectedParam;
param[dataset.type] = dataset.id;
param.hiddenSortPanel = !0;
//console.log(dataset.id);
this.selectedParam = param;
this.selectcondition.sortId = dataset.id;
this.get_data();
},
regionSelected: function(event) {
this.initData();
var dataset = event.currentTarget.dataset;
var param = this.selectedParam;
param[dataset.type] = dataset.id;
param.hiddenRegionPanel = !0;
//console.log(dataset.id);
this.selectedParam = param;
this.selectcondition.bm = this.selectedParam.bm;
this.regionname = dataset.name;
this.get_data();
},
changePanel: function(event) {
var dataSet = event.currentTarget.dataset,
selectedParam = this.selectedParam;
'hiddenSortPanel' == dataSet.type ? (selectedParam.hiddenAttributePanel = !0,selectedParam.hiddenRegionPanel = !0) : (selectedParam.hiddenSortPanel = !0),
(selectedParam[dataSet.type] = !selectedParam[dataSet.type]),
(this.selectedParam = selectedParam);
},
changeRegionPanel: function(event) {
var dataSet = event.currentTarget.dataset,
selectedParam = this.selectedParam;
if ('hiddenRegionPanel' == dataSet.type) {
selectedParam.hiddenAttributePanel = !0;
selectedParam.hiddenSortPanel = !0;
} else {
selectedParam.hiddenRegionPanel = !0;
}
(selectedParam[dataSet.type] = !selectedParam[dataSet.type]), (this.selectedParam = selectedParam);
},
resetFilter: function() {
this.selectedFIlter = {
attribute_hoventKey:0
}
},
confirmClick: function() {
this.initData();
//
var selectedParam = this.selectedParam;
(selectedParam.hiddenAttributePanel = true), (this.selectedFIlterBak = this.selectedFIlter);
this.parentLevelItem = 'attribute_hoventKey'
this.selectedParam = selectedParam;
this.get_data();
},
parentLevel: function(t) {
var currentTarget = t.currentTarget.dataset;
//console.log("aaaaaaaaaaaaaaaaa"+a.parentlevelitem);
this.parentLevelItem = currentTarget.parentlevelitem;
},
childLevel: function(t) {
var a = t.currentTarget.dataset,
e = this.selectedFIlter;
this.selectedFIlterBak = e;
e[a.type] = a.id;
this.selectedFIlter = {};
this.selectedFIlter = e;
this.selectcondition.type = a.id;
},
search: function() {
this.initData();
this.get_data();
},
getRedisRegion: function() {
var data = {
key: this.$param.userkey + '_mdd_list'
};
this.$Request.post(this.$config.getRedisData, data).then(res => {
if (res.status == 200) {
this.regionList = res.data.mddList;
var all = {
bm: '',
title: '全部'
};
this.regionList.unshift(all);
for (var i = 0; i < this.regionList.length; i++) {
if (this.regionList[i].bm == this.selectcondition.bm) {
this.regionname = this.regionList[i].title;
}
}
} else {
this.getRegion();
}
});
},
getRegion: function() {
var that = this;
var url = this.$config.getMessageInfoFormFilter;
var data = {
type: this.$param.mddType,
userkey: this.$param.userkey,
pageSize: 100,
sort: '2'
};
this.$Request.post(url, data).then(res => {
var flag = that.$util.isSuccess(res);
if (!flag) {
return;
}
that.regionList = res.data;
for (var i = 0; i < that.regionList.length; i++) {
if (that.regionList[i].bm == that.selectcondition.bm) {
that.regionname = that.regionList[i].title;
}
}
});
},
get_attribute: function() {
var that = this;
var url = this.$config.getCondition;
var data = {
type: 'hotevent',
userkey: this.$param.userkey,
condition: this.$param.hoteventType
};
this.$Request.post(url, data).then(res => {
var flag = that.$util.isSuccess(res);
if (!flag) {
return;
}
/* if (res.data.attribute != null && res.data.attribute.length > 0) {
res.data.attribute[0].type = this.$param.hoteventTypeKey;
} */
this.filter = res.data;
});
},
onReachScroll: function(t) {
//console.log(t);
t.detail.scrollTop > 100 ? (this.floorstatus = true) : (this.floorstatus = false);
var a = this.param;
a.noData || a.finished || a.loading || this.get_data();
},
getRedisData: function() {
debugger
var that = this;
var data = {
key: this.$param.userkey + '_hotEvent_list'
};
that.$Request.post(that.$config.getRedisData, data).then(res => {
if(res.status == 200){
var listDatas = that.listDatas,
dataListLen = res.data.hoteventList.length,
data = res.data.hoteventList;
if (
(dataListLen == 10 ? (this.param.page += 1) : (this.param.page = 1 && 0 == dataListLen ? (this.param.noData = true) : (this.param.finished = true)),
(this.param.loading = false),
dataListLen > 0)
) {
for (var i = 0; i < dataListLen; i++) {
var item = {
id: data[i].guid,
elogo: this.rootPaht + data[i].logo,
ename: data[i].title,
eventdate: data[i].jointime,
eaddress: data[i].address,
distance: this.$util.formatDistance(data[i].distance)
};
this.listDatas.push(item);
uni.hideLoading();
}
}
}else{
that.get_data();
}
});
},
get_data: function() {
debugger
this.param.loading = true;
// var type = this.selectcondition.type;
// if (type != undefined && type != null && type != '') {
// if (type == 0) {
// type = '';
// } else {
// type = this.$param.hoteventTypeKey + '&' + type + '&select';
// }
// }
var type = this.selectedFIlterBak['attribute_hoventKey'];
if(type != 0){
var sub_column1 = "sub_column1&"+type+"&select"
}
var that = this;
var url = this.$config.getMessageInfoFormFilter_two;
var data = {
type: this.$param.siren,
userkey: this.$param.userkey,
pageno: this.param.page,
pageSize: 10,
region: this.selectcondition.bm,
sort: this.selectcondition.sortId,
lng: this.$param.clng,
lat: this.$param.clat,
title:this.searchValue,
sub_column1:sub_column1
};
console.log(data)
//data[this.$param.hoteventTypeKey] = type;
this.$Request.post(url, data).then(res => {
var flag = that.$util.isSuccess(res);
if (!flag) {
uni.hideLoading();
return;
}
var listDatas = this.listDatas,
dataListLen = res.data.length;
if (
(dataListLen == data.pageSize ? (this.param.page += 1) : (this.param.page = 1 && 0 == dataListLen ? (this.param.noData = true) : (this.param.finished = true)),
(this.param.loading = false),
dataListLen > 0)
) {
for (var i = 0; i < dataListLen; i++) {
var item = {
id: res.data[i].guid,
elogo: this.rootPaht + res.data[i].logo,
ename: res.data[i].title,
eventdate: res.data[i].jointime,
eaddress: res.data[i].address,
distance: this.$util.formatDistance(res.data[i].distance)
};
this.listDatas.push(item);
}
//console.log(this.param.finished);
}
uni.hideLoading();
});
}
/* requestLocation:function(){
this.longitude = 31.22;
uni.getLocation({
type: 'wgs84',
success: function (res) {
this.longitude = res.longitude;
this.latitude = res.latitude;
console.log('当前位置的经度:' + res.longitude);
console.log('当前位置的纬度:' + res.latitude);
}
});
} */
}
};
</script>
<style>
/* @import url("../../../static/css/common.css");*/
@import url('sirendingzhilist.css');
.list-item {
padding: 0;
}
.sort-page{ top:200rpx}
.filter-page {
top: 200rpx;
}
</style>

@ -0,0 +1,40 @@
<template>
<view>
<view class="bg-video">
<video class="vio" :object-fit="'cover'" muted loop :controls="false" autoplay src="https://jielixiaoxiong.oss-cn-zhangjiakou.aliyuncs.com/laobaigan/laobaiganjinjiangchuanqipian.mp4"></video>
</view>
<button :size="mini" class="inBtn" @click="go">欢迎</button>
</view>
</template>
<script>
export default {
data() {
return {
};
},
methods:{
go(){
uni.switchTab({
url:'/pages/index/index'
})
}
}
}
</script>
<style lang="scss">
.bg-video{
width: 100%;
height: 100vh;
.vio{
width: 100%;
height: 100%;
}
}
.inBtn{
position: fixed;
bottom: 50rpx;
}
</style>
Loading…
Cancel
Save