|
@@ -9,37 +9,39 @@
|
|
|
<input name="siteName" v-model="formMess.siteName" @click="toggleShow" @focus="focusfns"
|
|
|
@input="handleInput()" placeholder="请输入或选择所属线路"></input>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
</view>
|
|
|
<view class="cu-bar search bg-gray filter-section">
|
|
|
<view class="search-form round bg-white">
|
|
|
<text class="cuIcon-search"></text>
|
|
|
- <input class="" @focus="InputFocus" v-model="siteName" @blur="InputBlur" :adjust-position="false" type="text"
|
|
|
- placeholder="请输入站点名称"></input>
|
|
|
+ <input class="" @focus="InputFocus" v-model="siteName" @blur="InputBlur" :adjust-position="false"
|
|
|
+ type="text" placeholder="请输入站点名称"></input>
|
|
|
</view>
|
|
|
<view class="action">
|
|
|
<button class="cu-btn bg-blue round" @click="searchData()">查询</button>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
</view>
|
|
|
<view class="siteItems" v-if="isShow2" style="max-height:60vh;overflow:auto;position:absolute;z-index:999; margin: 0 32rpx;
|
|
|
width: calc(100% - 64rpx);top:100rpx">
|
|
|
- <view class=" site-item" v-if="!siteItemData.length">暂无结果</view>
|
|
|
- <view class="site-item" v-for="(item,index) in siteItemData" @click="changeModel(item,index)" :key="index" style="padding:16rpx 22rpx">
|
|
|
- {{item.route_name}}
|
|
|
- </view>
|
|
|
+ <view class=" site-item" v-if="!siteItemData.length">暂无结果</view>
|
|
|
+ <view class="site-item" v-for="(item,index) in siteItemData" @click="changeModel(item,index)" :key="index"
|
|
|
+ style="padding:16rpx 22rpx">
|
|
|
+ {{item.route_name}}
|
|
|
</view>
|
|
|
+ </view>
|
|
|
<!-- 筛选框end -->
|
|
|
|
|
|
|
|
|
<!-- 站点列表start -->
|
|
|
<view class="site-items" style="margin-top: 0px">
|
|
|
<view class="cu-list menu-avatar longPressUl">
|
|
|
- <view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''" v-for="(item,index) in newSiteListData"
|
|
|
- :key="index" :data-target="'move-box-' + index">
|
|
|
- <view class="cu-avatar round lg" style="background-image: url(../../static/site-icon-alarm.png);"></view>
|
|
|
+ <view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''"
|
|
|
+ v-for="(item,index) in newSiteListData" :key="index" :data-target="'move-box-' + index">
|
|
|
+ <view class="cu-avatar round lg" style="background-image: url(../../static/site-icon-alarm.png);">
|
|
|
+ </view>
|
|
|
<view class="content" @tap="goDeviceType(item)" @longpress="showDetail(item)">
|
|
|
<view class="text-grey site-tit">
|
|
|
<text style="width:350rpx;" class="inOneLine">{{item.siteName}}</text>
|
|
@@ -58,6 +60,9 @@
|
|
|
</view>
|
|
|
|
|
|
<view v-if="!siteListData.length&&siteListRes==1" class="text-center margin-top"> 暂无数据</view>
|
|
|
+ <view v-show="isLoadMore&&this.currentPage>1">
|
|
|
+ <uni-load-more :status="loadStatus"></uni-load-more>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<!-- 站点列表end -->
|
|
|
|
|
@@ -80,13 +85,18 @@
|
|
|
listTouchStart: 0,
|
|
|
listTouchDirection: null,
|
|
|
CustomBar: this.CustomBar,
|
|
|
-
|
|
|
+
|
|
|
isShow2: false,
|
|
|
formMess: {
|
|
|
"siteName": "",
|
|
|
},
|
|
|
siteItemDataOrigin: [],
|
|
|
siteItemData: [],
|
|
|
+
|
|
|
+ currentPage: 1,
|
|
|
+ size: 10,
|
|
|
+ loadStatus: 'loading', //加载样式:more-加载前样式,loading-加载中样式,nomore-没有数据样式
|
|
|
+ isLoadMore: false, //是否加载中
|
|
|
};
|
|
|
},
|
|
|
|
|
@@ -104,7 +114,6 @@
|
|
|
return item
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
},
|
|
|
|
|
|
|
|
@@ -117,15 +126,21 @@
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+
|
|
|
+ onReachBottom() { //上拉触底函数
|
|
|
+ if (!this.isLoadMore) { //此处判断,上锁,防止重复请求
|
|
|
+ this.isLoadMore = true
|
|
|
+ this.currentPage += 1;
|
|
|
+ this.searchData()
|
|
|
+ }
|
|
|
+ },
|
|
|
onLoad() {
|
|
|
- this.getSiteList();
|
|
|
+ this.searchData();
|
|
|
this.getRoutrBox()
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
//线路名称下拉数据请求
|
|
|
async getRoutrBox(params = {}) {
|
|
|
const res = await this.$myRequest({
|
|
@@ -135,7 +150,7 @@
|
|
|
})
|
|
|
// this.routeListData = res.data.data;
|
|
|
// console.log(this.routeListData)
|
|
|
-
|
|
|
+
|
|
|
this.siteItemData = res.data.data;
|
|
|
this.siteItemDataOrigin = res.data.data;
|
|
|
this.siteItemData = this.siteItemDataOrigin;
|
|
@@ -145,7 +160,7 @@
|
|
|
this.isShow2 = false;
|
|
|
this.formMess.siteName = item.route_name;
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
// 输入框点击 显示隐藏下拉框
|
|
|
toggleShow: function() {
|
|
|
this.isShow2 = !this.isShow2;
|
|
@@ -162,14 +177,17 @@
|
|
|
this.siteItemData = this.siteItemData.filter(item => item.route_name.indexOf(this.formMess.siteName) >
|
|
|
-1);
|
|
|
},
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
searchData() {
|
|
|
+ this.currentPage=1
|
|
|
this.getSiteList({
|
|
|
"siteName": this.siteName,
|
|
|
- "route_name": this.formMess.siteName
|
|
|
+ "route_name": this.formMess.siteName,
|
|
|
+ currentPage: this.currentPage,
|
|
|
+ size: this.size,
|
|
|
})
|
|
|
},
|
|
|
|
|
@@ -181,8 +199,22 @@
|
|
|
data: ming
|
|
|
})
|
|
|
this.siteListRes = 1;
|
|
|
- console.log(res.data.data)
|
|
|
- this.siteListData = res.data.data
|
|
|
+ // this.siteListData = res.data.data
|
|
|
+
|
|
|
+ if (res.data.total) {
|
|
|
+ this.siteListData = this.siteListData.concat(res.data.data)
|
|
|
+ if (res.data.data.length < this.size) { //判断接口返回数据量小于请求数据量,则表示此为最后一页
|
|
|
+ this.isLoadMore = true
|
|
|
+ this.loadStatus = 'nomore'
|
|
|
+ } else {
|
|
|
+ this.isLoadMore = false
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.isLoadMore = true
|
|
|
+ this.loadStatus = 'nomore'
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
|
|
|
|
|
@@ -251,13 +283,13 @@
|
|
|
-ms-user-select: none;
|
|
|
user-select: none;
|
|
|
}
|
|
|
+
|
|
|
input {
|
|
|
- -webkit-touch-callout:initial !important;
|
|
|
- -webkit-user-select:initial !important;
|
|
|
- -khtml-user-select:initial !important;
|
|
|
- -moz-user-select:initial !important;
|
|
|
- -ms-user-select:initial !important;
|
|
|
+ -webkit-touch-callout: initial !important;
|
|
|
+ -webkit-user-select: initial !important;
|
|
|
+ -khtml-user-select: initial !important;
|
|
|
+ -moz-user-select: initial !important;
|
|
|
+ -ms-user-select: initial !important;
|
|
|
user-select: initial !important;
|
|
|
}
|
|
|
-
|
|
|
</style>
|