diff --git a/App.vue b/App.vue
index 742be3b..17e4368 100644
--- a/App.vue
+++ b/App.vue
@@ -26,6 +26,7 @@
// uni.removeStorageSync(val);
// }
// });
+ // uni.clearStorageSync();
//以上代码仅在开发时使用,否则会出现不可预知的问题。
uni.getSystemInfo({success:function(res){
diff --git a/config/index.js b/config/index.js
index a0bcd76..dfb50b2 100644
--- a/config/index.js
+++ b/config/index.js
@@ -5,14 +5,14 @@ const config = {
BASE_URL: 'http://192.168.110.56:8000',
API_PREFIX: '',
// MQTT 配置
- MQTT_HOST: '47.120.79.150',
+ MQTT_HOST: 'www.cnxhyc.com',
MQTT_PORT: 8083,
MQTT_USERNAME: 'admin',
MQTT_PASSWORD: '#YtvpSfCNG'
},
// 生产环境
production: {
- BASE_URL: 'https://www.cnxhyc.com/jingquan',
+ BASE_URL: 'https://www.cnxhyc.com/jq',
API_PREFIX: '',
// MQTT 配置
MQTT_HOST: 'www.cnxhyc.com',
diff --git a/pages/6170/deviceControl/index.vue b/pages/6170/deviceControl/index.vue
index 31b2306..a5e8c61 100644
--- a/pages/6170/deviceControl/index.vue
+++ b/pages/6170/deviceControl/index.vue
@@ -48,7 +48,9 @@
设备状态
- {{ deviceInfo.onlineStatus === 0 ? '离线' : '在线' }}
+
+ {{ deviceInfo.onlineStatus === 0 ? '离线' : deviceInfo.onlineStatus === 2 ? '故障' : '在线' }}
+
定位信息
diff --git a/pages/common/index/index.vue b/pages/common/index/index.vue
index 9a8962a..b65e4e4 100644
--- a/pages/common/index/index.vue
+++ b/pages/common/index/index.vue
@@ -23,55 +23,59 @@
位置
发送信息
-
-
-
-
-
-
+
+
+
+
+
+
+ 加载中...
+ 没有更多数据了
+
+
@@ -207,23 +211,25 @@
auto: false
},
upOption: {
- auto: false,
- noMoreSize: 1,
- offset: 80,
- empty: {
- tip: '暂无相关数据'
- }
+ auto: false,
+ noMoreSize: 0,
+ offset: 50,
+ isLock: false,
+ empty: {
+ tip: '暂无数据',
+ hideScroll: false
+ }
},
-
page: 1, // 当前页码
- size: 10, // 每页条数
+ size: 12, // 每页条数
total: 0, // 总数据量
loadedCount: 0,
loading: false,
finished: false,
deviceId: '',
deviceName: "", //重命名
- activeTabInfo: ''
+ activeTabInfo: '',
+ mescrollHeight: 0,
}
},
methods: {
@@ -234,39 +240,34 @@
downCallback() {
const currentDeviceType = this.activeTabInfo?.id === '' ? undefined : this.activeTabInfo?.id;
const tempList = [...this.deviceList];
-
// 重置分页参数
this.page = 1;
this.finished = false;
this.loadedCount = 0;
-
+ this.total = 0; // 重置总数
this.getData(currentDeviceType)
.then(() => {
-
this.mescroll.endDownScroll(true);
})
.catch(() => {
-
this.deviceList = tempList;
this.mescroll.endDownScroll(false);
});
},
// 上拉加载
upCallback() {
- // 防止重复加载
- if (this.finished || this.loading) {
+ if (this.loading) {
this.mescroll.endUpScroll(false);
return;
}
const currentDeviceType = this.activeTabInfo?.id === '' ? undefined : this.activeTabInfo?.id;
this.getData(currentDeviceType)
.then(() => {
- const hasMore = this.loadedCount < this.total;
- console.log(`上拉加载 - 已加载: ${this.loadedCount}, 总数: ${this.total}, 是否还有更多: ${hasMore}`);
+ // 如果本次加载的数据量为0,则说明没有更多数据
+ const hasMore = this.deviceList.length > 0 && this.deviceList.length % this.size === 0;
this.mescroll.endUpScroll(hasMore);
})
.catch(() => {
- // 失败时回退页码
this.page--;
this.mescroll.endUpScroll(false);
});
@@ -329,54 +330,48 @@
this.page = 1;
this.finished = false;
this.loadedCount = 0;
-
+ this.total = 0; // 重置总数
const deviceType = tab.id === '' ? undefined : tab.id;
+ this.$nextTick(() => {
+ this.getSystemInfoSyncH();
+ });
this.getData(deviceType);
-
if (this.mescroll) {
this.mescroll.resetUpScroll();
}
},
- // 获取设备列表 - 核心修复
+ // 获取设备列表
getData(deviceType = '') {
return new Promise((resolve, reject) => {
if (this.loading || this.finished) {
reject('正在加载或已无更多数据');
return;
}
-
this.loading = true;
let data = {
pageNum: this.page,
pageSize: this.size,
deviceType: deviceType
}
-
deviceInfo(data).then((res) => {
if (res.code == 200) {
- // 第一页加载时初始化总数据量
- if (this.page === 1) {
- this.total = res.total;
- this.loadedCount = 0; // 重置计数
- console.log(`第1页加载 - 总数据量: ${this.total}`);
- }
const newDevices = res.rows.map(device => ({
...device,
showConfirm: false
}));
- this.loadedCount += newDevices.length;
- console.log(`第${this.page}页加载 - 新增: ${newDevices.length}, 累计: ${this.loadedCount}`);
- // 数据累加
if (this.page === 1) {
+ this.total = Number(res.total) || 0;
this.deviceList = newDevices;
+ this.loadedCount = newDevices.length;
} else {
this.deviceList = [...this.deviceList, ...newDevices];
+ this.loadedCount += newDevices.length;
}
- // 关键:正确判断是否加载完成
- if (this.loadedCount >= this.total || newDevices.length < this.size) {
+ const hasMoreData = this.loadedCount < this.total;
+ if (!hasMoreData) {
this.finished = true;
- console.log(`加载完成 - 已加载${this.loadedCount}/${this.total}`);
- } else {
+ }
+ if (hasMoreData) {
this.page++;
}
resolve();
@@ -384,7 +379,6 @@
reject(res.msg || '获取数据失败');
}
}).catch((err) => {
- console.error('获取设备列表失败:', err);
reject(err);
}).finally(() => {
this.loading = false;
@@ -564,7 +558,8 @@
onIntall() {
this.page = 1;
this.finished = false;
- this.loadedCount = 0; // 重置计数
+ this.loadedCount = 0;
+ this.total = 0;
const deviceType = this.activeTabInfo?.id === '' ? undefined : this.activeTabInfo?.id;
this.getData(deviceType);
setTimeout(() => {
@@ -594,8 +589,19 @@
})
.filter(Boolean);
},
+ // 动态计算屏幕高度
+ getSystemInfoSyncH() {
+ const sysInfo = uni.getSystemInfoSync();
+ const tabBarHeight = 80;
+ const sendBarHeight = 60;
+ const padding = 60;
+ const totalTopHeight = (this.navBarHeight) + (tabBarHeight + sendBarHeight + padding) * (sysInfo
+ .screenWidth / 750);
+ this.mescrollHeight = sysInfo.screenHeight - totalTopHeight;
+ }
},
onLoad() {
+ this.getSystemInfoSyncH()
this.getTab()
this.onIntall()
uni.$on('refreshDeviceList', () => {
@@ -974,4 +980,4 @@
width: 16px;
height: 16px;
}
-
+
\ No newline at end of file