From 450bcae3cfffe9923dc09dea2a4e89312bb373d7 Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 31 七月 2026 15:01:03 +0800
Subject: [PATCH] 库存流水修改

---
 yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/index.vue.vm |  140 +++++++++++++++++++++-------------------------
 1 files changed, 65 insertions(+), 75 deletions(-)

diff --git a/yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/index.vue.vm b/yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/index.vue.vm
index 2d7daaba..acf506e 100644
--- a/yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/index.vue.vm
+++ b/yudao-module-infra/src/main/resources/codegen/vue3_admin_uniapp/views/index.vue.vm
@@ -1,5 +1,5 @@
 <template>
-  <view class="yd-page-container">
+  <view class="yd-page-container yd-page-container-paging">
     <!-- 椤堕儴瀵艰埅鏍� -->
     <wd-navbar
       title="${table.classComment}绠$悊"
@@ -11,14 +11,26 @@
     <SearchForm @search="handleQuery" @reset="handleReset" />
 
     <!-- ${table.classComment}鍒楄〃 -->
-    <view class="p-24rpx">
-      <view
-        v-for="item in list"
-        :key="item.${primaryColumn.javaField}"
-        class="mb-24rpx overflow-hidden rounded-12rpx bg-white shadow-sm"
-        @click="handleDetail(item)"
-      >
-        <view class="p-24rpx">
+    <z-paging
+      ref="pagingRef"
+      v-model="list"
+      :fixed="false"
+      class="min-h-0 flex-1"
+      :default-page-size="10"
+      :refresher-enabled="true"
+      :inside-more="true"
+      :loading-more-default-as-loading="true"
+      empty-view-text="鏆傛棤${table.classComment}鏁版嵁"
+      @query="queryList"
+    >
+      <view class="p-24rpx">
+        <view
+          v-for="item in list"
+          :key="item.${primaryColumn.javaField}"
+          class="mb-24rpx overflow-hidden rounded-12rpx bg-white shadow-sm"
+          @click="handleDetail(item)"
+        >
+          <view class="p-24rpx">
 #set ($titleField = "")
 #set ($statusField = "")
 #set ($statusDictType = "")
@@ -35,14 +47,14 @@
  #if ($titleField == "")
    #set ($titleField = $primaryColumn.javaField)
  #end
-          <view class="mb-16rpx flex items-center justify-between">
-            <view class="text-32rpx text-[#333] font-semibold">
-              {{ item.${titleField} }}
-            </view>
+            <view class="mb-16rpx flex items-center justify-between">
+              <view class="text-32rpx text-[#333] font-semibold">
+                {{ item.${titleField} }}
+              </view>
 #if($statusField != "")
-            <dict-tag :type="DICT_TYPE.${statusDictType.toUpperCase()}" :value="item.${statusField}" />
+              <dict-tag :type="DICT_TYPE.${statusDictType.toUpperCase()}" :value="item.${statusField}" />
 #end
-          </view>
+            </view>
 #foreach($column in $columns)
   #if ($column.listOperationResult && !$column.primaryKey && $column.javaField != $titleField && $column.javaField != $statusField)
     #set ($javaField = $column.javaField)
@@ -50,36 +62,27 @@
     #set ($dictType = $column.dictType)
     #set ($javaType = $column.javaType)
     #if ($dictType && "" != $dictType)
-          <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
-            <text class="mr-8rpx text-[#999]">${comment}锛�</text>
-            <dict-tag :type="DICT_TYPE.${dictType.toUpperCase()}" :value="item.${javaField}" />
-          </view>
+            <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
+              <text class="mr-8rpx text-[#999]">${comment}锛�</text>
+              <dict-tag :type="DICT_TYPE.${dictType.toUpperCase()}" :value="item.${javaField}" />
+            </view>
     #elseif ($javaType == "LocalDateTime")
-          <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
-            <text class="mr-8rpx text-[#999]">${comment}锛�</text>
-            <text class="line-clamp-1">{{ formatDateTime(item.${javaField}) || '-' }}</text>
-          </view>
+            <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
+              <text class="mr-8rpx text-[#999]">${comment}锛�</text>
+              <text class="line-clamp-1">{{ formatDateTime(item.${javaField}) || '-' }}</text>
+            </view>
     #else
-          <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
-            <text class="mr-8rpx text-[#999]">${comment}锛�</text>
-            <text class="line-clamp-1">{{ item.${javaField} }}</text>
-          </view>
+            <view class="mb-12rpx flex items-center text-28rpx text-[#666]">
+              <text class="mr-8rpx text-[#999]">${comment}锛�</text>
+              <text class="line-clamp-1">{{ item.${javaField} }}</text>
+            </view>
     #end
   #end
 #end
+          </view>
         </view>
       </view>
-
-      <!-- 鍔犺浇鏇村 -->
-      <view v-if="loadMoreState !== 'loading' && list.length === 0" class="py-100rpx text-center">
-        <wd-status-tip image="content" tip="鏆傛棤${table.classComment}鏁版嵁" />
-      </view>
-      <wd-loadmore
-        v-if="list.length > 0"
-        :state="loadMoreState"
-        @reload="loadMore"
-      />
-    </view>
+    </z-paging>
 
     <!-- 鏂板鎸夐挳 -->
     <wd-fab
@@ -108,8 +111,7 @@
   #end
 #end
 import type { ${simpleClassName} } from '@/api/${table.moduleName}/${table.businessName}'
-import type { LoadMoreState } from '@/http/types'
-import { onReachBottom } from '@dcloudio/uni-app'
+import { onUnload } from '@dcloudio/uni-app'
 import { onMounted, ref } from 'vue'
 import { get${simpleClassName}Page } from '@/api/${table.moduleName}/${table.businessName}'
 import { useAccess } from '@/hooks/useAccess'
@@ -130,13 +132,9 @@
 })
 
 const { hasAccessByCodes } = useAccess()
-const total = ref(0)
-const list = ref<${simpleClassName}[]>([])
-const loadMoreState = ref<LoadMoreState>('loading')
-const queryParams = ref({
-  pageNo: 1,
-  pageSize: 10,
-})
+const list = ref<${simpleClassName}[]>([]) // 鍒楄〃鏁版嵁
+const pagingRef = ref<any>() // 鍒嗛〉缁勪欢寮曠敤
+const queryParams = ref<Record<string, any>>({}) // 鏌ヨ鍙傛暟
 
 /** 杩斿洖涓婁竴椤� */
 function handleBack() {
@@ -144,28 +142,24 @@
 }
 
 /** 鏌ヨ${table.classComment}鍒楄〃 */
-async function getList() {
-  loadMoreState.value = 'loading'
+async function queryList(pageNo: number, pageSize: number) {
   try {
-    const data = await get${simpleClassName}Page(queryParams.value)
-    list.value = [...list.value, ...data.list]
-    total.value = data.total
-    loadMoreState.value = list.value.length >= total.value ? 'finished' : 'loading'
+    const params = {
+      ...queryParams.value,
+      pageNo,
+      pageSize,
+    }
+    const data = await get${simpleClassName}Page(params)
+    pagingRef.value?.completeByTotal(data.list, data.total)
   } catch {
-    queryParams.value.pageNo = queryParams.value.pageNo > 1 ? queryParams.value.pageNo - 1 : 1
-    loadMoreState.value = 'error'
+    pagingRef.value?.complete(false)
   }
 }
 
 /** 鎼滅储鎸夐挳鎿嶄綔 */
 function handleQuery(data?: Record<string, any>) {
-  queryParams.value = {
-    ...data,
-    pageNo: 1,
-    pageSize: queryParams.value.pageSize,
-  }
-  list.value = []
-  getList()
+  queryParams.value = { ...data }
+  reload()
 }
 
 /** 閲嶇疆鎸夐挳鎿嶄綔 */
@@ -173,13 +167,9 @@
   handleQuery()
 }
 
-/** 鍔犺浇鏇村 */
-function loadMore() {
-  if (loadMoreState.value === 'finished') {
-    return
-  }
-  queryParams.value.pageNo++
-  getList()
+/** 閲嶆柊鍔犺浇 */
+function reload() {
+  pagingRef.value?.reload()
 }
 
 /** 鏂板${table.classComment} */
@@ -196,14 +186,14 @@
   })
 }
 
-/** 瑙﹀簳鍔犺浇鏇村 */
-onReachBottom(() => {
-  loadMore()
-})
-
 /** 鍒濆鍖� */
 onMounted(() => {
-  getList()
+  uni.$on('${table.moduleName}:${table.businessName}:reload', reload)
+})
+
+/** 鍗歌浇 */
+onUnload(() => {
+  uni.$off('${table.moduleName}:${table.businessName}:reload', reload)
 })
 </script>
 

--
Gitblit v1.9.3