From 1b944efc839c270699310def8d0781ce4497e43d Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期四, 07 八月 2025 10:10:05 +0800
Subject: [PATCH] Merge branch 'doing' of http://8.140.179.55:20000/r/wm/pipIrr into doing
---
pages/valveList/valveList.js | 210 +++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 198 insertions(+), 12 deletions(-)
diff --git a/pages/valveList/valveList.js b/pages/valveList/valveList.js
index 78d4eb5..1aee367 100644
--- a/pages/valveList/valveList.js
+++ b/pages/valveList/valveList.js
@@ -1,21 +1,28 @@
// pages/valveList/valveList.js 寮�鍏抽榾璁板綍
+const {
+ get,
+ post
+} = require('../../api/request.js');
+
Page({
/**
* 椤甸潰鐨勫垵濮嬫暟鎹�
*/
data: {
- listData: [{
- intakeNum: "1023356646612"
- }, {
- intakeNum: "1023356646612"
- }, {
- intakeNum: "1023356646612"
- }, {
- intakeNum: "1023356646612"
- }, {
- intakeNum: "1023356646612"
- }]
+ listVirtualData: [],
+ listPhysicalData: [],
+ currentTab: 0,
+ isVirtualRefreshing: false, //铏氭嫙鍗″埛鏂颁腑
+ isPhysicalRefreshing: false, //瀹炰綋鍗″埛鏂颁腑
+ physicalPageCurr: 1, //瀹炰綋鍗″綋鍓嶉〉鏁�
+ pageSize: 20,
+ virtualPageCurr: 1, //铏氭嫙鍗″綋鍓嶉〉鏁�
+ virtualhasMore: true,
+ physicalHasMore: true,
+ virtualIsLoding: false,
+ physicalIsLoding: false,
+ useTestData: false, // 娣诲姞娴嬭瘯鏁版嵁鏍囧織
},
/**
@@ -29,7 +36,8 @@
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
*/
onReady() {
-
+ this.getPhysicalListData();
+ this.getVirtualListData();
},
/**
@@ -72,5 +80,183 @@
*/
onShareAppMessage() {
+ },
+ switchTab(e) {
+ const tab = parseInt(e.currentTarget.dataset.tab);
+ this.setData({
+ currentTab: tab
+ });
+ },
+ //铏氭嫙鍗″埛鏂�
+ onPullVirtualDownRefresh() {
+ this.setData({
+ isVirtualRefreshing: true,
+ })
+ this.getVirtualListData(true);
+ },
+ //瀹炰綋鍗″埛鏂�
+ onPullPhysicalDownRefresh() {
+ this.setData({
+ isPhysicalRefreshing: true,
+ })
+ this.getPhysicalListData(true);
+ },
+ // 鐢熸垚铏氭嫙鍗℃祴璇曟暟鎹�
+ generateVirtualTestData() {
+ return Array(10).fill().map((_, index) => ({
+ expense: (Math.random() * 100).toFixed(2),
+ cardNum: `VC${Math.floor(Math.random() * 10000).toString().padStart(4, '0')}`,
+ intakeNum: `IN${Math.floor(Math.random() * 1000).toString().padStart(3, '0')}`,
+ openType: ['鎵嬪姩寮�闃�', '鑷姩寮�闃�', '璁″垝寮�闃�'][Math.floor(Math.random() * 3)],
+ openTime: this.generateRandomTime(),
+ closeTime: this.generateRandomTime(),
+ duration: Math.floor(Math.random() * 120),
+ amount: (Math.random() * 50).toFixed(2)
+ }));
+ },
+
+ // 鐢熸垚瀹炰綋鍗℃祴璇曟暟鎹�
+ generatePhysicalTestData() {
+ return Array(10).fill().map((_, index) => ({
+ expense: (Math.random() * 100).toFixed(2),
+ cardNum: `PC${Math.floor(Math.random() * 10000).toString().padStart(4, '0')}`,
+ intakeNum: `IN${Math.floor(Math.random() * 1000).toString().padStart(3, '0')}`,
+ openType: ['鎵嬪姩寮�闃�', '鑷姩寮�闃�', '璁″垝寮�闃�'][Math.floor(Math.random() * 3)],
+ openTime: this.generateRandomTime(),
+ closeTime: this.generateRandomTime(),
+ duration: Math.floor(Math.random() * 120),
+ amount: (Math.random() * 50).toFixed(2)
+ }));
+ },
+
+ // 鐢熸垚闅忔満鏃堕棿
+ generateRandomTime() {
+ const now = new Date();
+ const randomHours = Math.floor(Math.random() * 24);
+ const randomMinutes = Math.floor(Math.random() * 60);
+ const randomSeconds = Math.floor(Math.random() * 60);
+
+ const date = new Date(now);
+ date.setHours(randomHours);
+ date.setMinutes(randomMinutes);
+ date.setSeconds(randomSeconds);
+
+ return date.toLocaleString();
+ },
+
+ //鑾峰彇瀹炰綋鍗″垪琛�
+ getPhysicalListData(isRefresh) {
+ if (this.data.useTestData) {
+ // 浣跨敤娴嬭瘯鏁版嵁
+ const testData = this.generatePhysicalTestData();
+ this.setData({
+ listPhysicalData: isRefresh ? testData : this.data.listPhysicalData.concat(testData),
+ isPhysicalRefreshing: false,
+ physicalIsLoding: false,
+ physicalHasMore: this.data.physicalPageCurr < 3 // 妯℃嫙3椤垫暟鎹�
+ });
+ return;
+ }
+
+ get({
+ url: 'wx/intake/getCardOpenClose',
+ data: {
+ clientId: getApp().globalData.clientId,
+ pageCurr: this.data.physicalPageCurr,
+ pageSize: this.data.pageSize
+ }
+ })
+ .then((data) => {
+ this.setData({
+ isPhysicalRefreshing: false,
+ physicalIsLoding: false
+ });
+ if (data.success && data.code === "0001") {
+ const filteredData = data.content.obj.filter(item => item.openTime !== null && item.closeTime !== null);
+ this.setData({
+ listPhysicalData: isRefresh ? filteredData : this.data.listPhysicalData.concat(filteredData),
+ physicalHasMore: this.data.physicalPageCurr < data.content.pageTotal,
+ });
+ } else {
+ wx.showToast({
+ title: data.msg,
+ })
+ }
+ })
+ .catch((error) => {
+ this.setData({
+ isPhysicalRefreshing: false
+ });
+ console.error('Failed to add item:', error);
+ });
+ },
+
+ //鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍
+ getVirtualListData(isRefresh) {
+ if (this.data.useTestData) {
+ // 浣跨敤娴嬭瘯鏁版嵁
+ const testData = this.generateVirtualTestData();
+ this.setData({
+ listVirtualData: isRefresh ? testData : this.data.listVirtualData.concat(testData),
+ isVirtualRefreshing: false,
+ virtualIsLoding: false,
+ virtualhasMore: this.data.virtualPageCurr < 3 // 妯℃嫙3椤垫暟鎹�
+ });
+ return;
+ }
+
+ get({
+ url: 'wx/intake/getVcCardOpenClose',
+ data: {
+ clientId: getApp().globalData.clientId,
+ pageCurr: this.data.physicalPageCurr,
+ pageSize: this.data.pageSize
+ }
+ })
+ .then((data) => {
+ this.setData({
+ isVirtualRefreshing: false,
+ virtualIsLoding: false
+ });
+ if (data.success && data.code === "0001") {
+ const filteredData = data.content.obj.filter(item => item.openTime !== null && item.closeTime !== null);
+ this.setData({
+ listVirtualData: isRefresh ? filteredData : this.data.listVirtualData.concat(filteredData),
+ virtualhasMore: this.data.virtualPageCurr < data.content.pageTotal,
+ });
+ } else {
+ wx.showToast({
+ title: data.msg,
+ })
+ }
+ })
+ .catch((error) => {
+ this.setData({
+ isVirtualRefreshing: false
+ });
+ console.error('Failed to add item:', error);
+ });
+ },
+ //鍔犺浇鏇村鐨勫疄浣撳崱
+ loadPhysicalMore() {
+ if (this.data.physicalHasMore) {
+ this.setData({
+ physicalIsLoding: true,
+ physicalPageCurr: this.data.physicalPageCurr + 1
+ })
+ this.getPhysicalListData();
+ }
+ },
+ //鍔犺浇鏇村鐨勮櫄鎷熷崱
+ loadVirtualMore() {
+ if (this.data.virtualhasMore) {
+ this.setData({
+ virtualIsLoding: true,
+ virtualPageCurr: this.data.virtualPageCurr + 1
+ })
+ this.getVirtualListData();
+ }
+
}
+
})
\ No newline at end of file
--
Gitblit v1.8.0