From e268cb55fa740e5775bdeccc7c60e71c9cfdf30b Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 30 十月 2025 10:15:16 +0800
Subject: [PATCH] 重复扫码验证
---
src/components/z-paging-swiper-item/z-paging-swiper-item.vue | 303 ++++++++++++++++++++++++++------------------------
1 files changed, 157 insertions(+), 146 deletions(-)
diff --git a/src/components/z-paging-swiper-item/z-paging-swiper-item.vue b/src/components/z-paging-swiper-item/z-paging-swiper-item.vue
index bf40f14..5852b81 100644
--- a/src/components/z-paging-swiper-item/z-paging-swiper-item.vue
+++ b/src/components/z-paging-swiper-item/z-paging-swiper-item.vue
@@ -5,156 +5,167 @@
<!-- 婊戝姩鍒囨崲閫夐」鍗wiper-item锛屾缁勪欢鏀寔easycom瑙勮寖锛屽彲浠ュ湪椤圭洰涓洿鎺ュ紩鐢� -->
<template>
- <view class="zp-swiper-item-container">
- <z-paging ref="paging" :fixed="false"
- :auto="false" :useVirtualList="useVirtualList" :useInnerList="useInnerList" :cellKeyName="cellKeyName" :innerListStyle="innerListStyle"
- :preloadPage="preloadPage" :cellHeightMode="cellHeightMode" :virtualScrollFps="virtualScrollFps" :virtualListCol="virtualListCol"
- @query="_queryList" @listChange="_updateList">
- <slot />
- <template #header>
- <slot name="header"/>
- </template>
- <template #cell="{item,index}">
- <slot name="cell" :item="item" :index="index"/>
- </template>
- <template #footer>
- <slot name="footer"/>
- </template>
- </z-paging>
- </view>
+ <view class="zp-swiper-item-container">
+ <z-paging
+ ref="paging"
+ :fixed="false"
+ :auto="false"
+ :useVirtualList="useVirtualList"
+ :useInnerList="useInnerList"
+ :cellKeyName="cellKeyName"
+ :innerListStyle="innerListStyle"
+ :preloadPage="preloadPage"
+ :cellHeightMode="cellHeightMode"
+ :virtualScrollFps="virtualScrollFps"
+ :virtualListCol="virtualListCol"
+ @query="_queryList"
+ @listChange="_updateList"
+ >
+ <slot />
+ <template #header>
+ <slot name="header" />
+ </template>
+ <template #cell="{ item, index }">
+ <slot name="cell" :item="item" :index="index" />
+ </template>
+ <template #footer>
+ <slot name="footer" />
+ </template>
+ </z-paging>
+ </view>
</template>
<script>
- import zPaging from '../z-paging/z-paging'
- /**
- * z-paging-swiper-item 缁勪欢
- * @description swiper+list鏋佺畝鍐欐硶涓娇鐢ㄥ埌锛屽疄闄呬笂灏辨槸瀵规櫘閫氱殑swiper+list涓璼wiper-item鐨勫寘瑁呭皝瑁咃紝鐢ㄤ互绠�鍖栧啓娉曪紝浣嗕釜鎬у寲閰嶇疆灞�闄愯緝澶�
- * @tutorial https://z-paging.zxlee.cn/api/sub-components/main.html#z-paging-swiper-item閰嶇疆
- * @notice 浠ヤ笅涓� z-paging-swiper-item 鐨勯厤缃」
- * @property {Number} tabIndex 褰撳墠缁勪欢鐨� index锛屼篃灏辨槸褰撳墠缁勪欢鏄� swiper 涓殑绗嚑涓紝榛樿涓� 0
- * @property {Number} currentIndex 褰撳墠 swiper 鍒囨崲鍒扮鍑犱釜 index锛岄粯璁や负 0
- * @property {Boolean} useVirtualList 鏄惁浣跨敤铏氭嫙鍒楄〃锛岄粯璁や负 false
- * @property {Boolean} useInnerList 鏄惁鍦� z-paging 鍐呴儴寰幆娓叉煋鍒楄〃锛堝唴缃垪琛級锛岄粯璁や负 false銆傝嫢 useVirtualList 涓� true锛屽垯姝ら」鎭掍负 true
- * @property {String} cellKeyName 鍐呯疆鍒楄〃 cell 鐨� key 鍚嶇О锛屼粎 nvue 鏈夋晥锛屽湪 nvue 涓紑鍚� useInnerList 鏃跺繀椤诲~姝ら」锛岄粯璁や负 ''
- * @property {Object} innerListStyle innerList 鏍峰紡锛岄粯璁や负 {}
- * @property {Number|String} preloadPage 棰勫姞杞界殑鍒楄〃鍙鑼冨洿锛堝垪琛ㄩ珮搴︼級椤垫暟锛岄粯璁や负 12銆傛鏁板�艰秺澶э紝鍒欒櫄鎷熷垪琛ㄤ腑鍔犺浇鐨� dom 瓒婂锛屽唴瀛樻秷鑰楄秺澶э紙浼氱淮鎸佸湪涓�涓ǔ瀹氬�硷級锛屼絾澧炲姞棰勫姞杞介〉闈㈡暟閲忓彲缂撹В蹇�熸粴鍔ㄧ煭鏆傜櫧灞忛棶棰�
- * @property {String} cellHeightMode 铏氭嫙鍒楄〃 cell 楂樺害妯″紡锛岄粯璁や负 'fixed'锛屼篃灏辨槸姣忎釜 cell 楂樺害瀹屽叏鐩稿悓锛屽皢浠ョ涓�涓� cell 楂樺害涓哄噯杩涜璁$畻銆傚彲閫夊�笺�恉ynamic銆戯紝鍗充唬琛ㄩ珮搴︽槸鍔ㄦ�侀潪鍥哄畾鐨勶紝銆恉ynamic銆戞�ц兘浣庝簬銆恌ixed銆�
- * @property {Number|String} virtualListCol 铏氭嫙鍒楄〃鍒楁暟锛岄粯璁や负 1銆傚父鐢ㄤ簬姣忚鏈夊鍒楃殑鎯呭喌锛屼緥濡傛瘡琛屾湁 2 鍒楁暟鎹紝闇�瑕佸皢姝ゅ�艰缃负 2
- * @property {Number|String} virtualScrollFps 铏氭嫙鍒楄〃 scroll 鍙栨牱甯х巼锛岄粯璁や负 60锛岃繃楂樺彲鑳藉嚭鐜板崱椤跨瓑闂
- * @example <z-paging-swiper-item ref="swiperItem" :tabIndex="index" :currentIndex="current" @query="queryList" @updateList="updateList"></z-paging-swiper-item>
- */
- export default {
- name: "z-paging-swiper-item",
- components: { zPaging },
- data() {
- return {
- firstLoaded: false
- }
- },
- props: {
- // 褰撳墠缁勪欢鐨刬ndex锛屼篃灏辨槸褰撳墠缁勪欢鏄痵wiper涓殑绗嚑涓�
- tabIndex: {
- type: Number,
- default: function() {
- return 0
- }
- },
- // 褰撳墠swiper鍒囨崲鍒扮鍑犱釜index
- currentIndex: {
- type: Number,
- default: function() {
- return 0
- }
- },
- // 鏄惁浣跨敤铏氭嫙鍒楄〃锛岄粯璁や负鍚�
- useVirtualList: {
- type: Boolean,
- default: false
- },
- // 鏄惁鍦▃-paging鍐呴儴寰幆娓叉煋鍒楄〃(鍐呯疆鍒楄〃)锛岄粯璁や负鍚︺�傝嫢use-virtual-list涓簍rue锛屽垯姝ら」鎭掍负true
- useInnerList: {
- type: Boolean,
- default: false
- },
- // 鍐呯疆鍒楄〃cell鐨刱ey鍚嶇О锛屼粎nvue鏈夋晥锛屽湪nvue涓紑鍚痷se-inner-list鏃跺繀椤诲~姝ら」
- cellKeyName: {
- type: String,
- default: ''
- },
- // innerList鏍峰紡
- innerListStyle: {
- type: Object,
- default: function() {
- return {};
- }
- },
- // 棰勫姞杞界殑鍒楄〃鍙鑼冨洿(鍒楄〃楂樺害)椤垫暟锛岄粯璁や负12锛屽嵆棰勫姞杞藉綋鍓嶉〉鍙婁笂涓嬪悇12椤电殑cell銆傛鏁板�艰秺澶э紝鍒欒櫄鎷熷垪琛ㄤ腑鍔犺浇鐨刣om瓒婂锛屽唴瀛樻秷鑰楄秺澶�(浼氱淮鎸佸湪涓�涓ǔ瀹氬��)锛屼絾澧炲姞棰勫姞杞介〉闈㈡暟閲忓彲缂撹В蹇�熸粴鍔ㄧ煭鏆傜櫧灞忛棶棰�
- preloadPage: {
- type: [Number, String],
- default: 12
- },
- // 铏氭嫙鍒楄〃cell楂樺害妯″紡锛岄粯璁や负fixed锛屼篃灏辨槸姣忎釜cell楂樺害瀹屽叏鐩稿悓锛屽皢浠ョ涓�涓猚ell楂樺害涓哄噯杩涜璁$畻銆傚彲閫夊�笺�恉ynamic銆戯紝鍗充唬琛ㄩ珮搴︽槸鍔ㄦ�侀潪鍥哄畾鐨勶紝銆恉ynamic銆戞�ц兘浣庝簬銆恌ixed銆戙��
- cellHeightMode: {
- type: String,
- default: 'fixed'
- },
- // 铏氭嫙鍒楄〃鍒楁暟锛岄粯璁や负1銆傚父鐢ㄤ簬姣忚鏈夊鍒楃殑鎯呭喌锛屼緥濡傛瘡琛屾湁2鍒楁暟鎹紝闇�瑕佸皢姝ゅ�艰缃负2
- virtualListCol: {
- type: [Number, String],
- default: 1
- },
- // 铏氭嫙鍒楄〃scroll鍙栨牱甯х巼锛岄粯璁や负60锛岃繃楂樺彲鑳藉嚭鐜板崱椤跨瓑闂
- virtualScrollFps: {
- type: [Number, String],
- default: 60
- },
- },
- watch: {
- currentIndex: {
- handler(newVal, oldVal) {
- if (newVal === this.tabIndex) {
- // 鎳掑姞杞斤紝褰撴粦鍔ㄥ埌褰撳墠鐨刬tem鏃讹紝鎵嶅幓鍔犺浇
- if (!this.firstLoaded) {
- this.$nextTick(()=>{
- let delay = 5;
- // #ifdef MP-TOUTIAO
- delay = 100;
- // #endif
- setTimeout(() => {
- this.$refs.paging.reload().catch(() => {});
- }, delay);
- })
- }
- }
- },
- immediate: true
- }
- },
- methods: {
- reload(data) {
- return this.$refs.paging.reload(data);
- },
- complete(data) {
- this.firstLoaded = true;
- return this.$refs.paging.complete(data);
- },
- _queryList(pageNo, pageSize, from) {
- this.$emit('query', pageNo, pageSize, from);
- },
- _updateList(list) {
- this.$emit('updateList', list);
- }
- }
- }
+import zPaging from "../z-paging/z-paging";
+/**
+ * z-paging-swiper-item 缁勪欢
+ * @description swiper+list鏋佺畝鍐欐硶涓娇鐢ㄥ埌锛屽疄闄呬笂灏辨槸瀵规櫘閫氱殑swiper+list涓璼wiper-item鐨勫寘瑁呭皝瑁咃紝鐢ㄤ互绠�鍖栧啓娉曪紝浣嗕釜鎬у寲閰嶇疆灞�闄愯緝澶�
+ * @tutorial https://z-paging.zxlee.cn/api/sub-components/main.html#z-paging-swiper-item閰嶇疆
+ * @notice 浠ヤ笅涓� z-paging-swiper-item 鐨勯厤缃」
+ * @property {Number} tabIndex 褰撳墠缁勪欢鐨� index锛屼篃灏辨槸褰撳墠缁勪欢鏄� swiper 涓殑绗嚑涓紝榛樿涓� 0
+ * @property {Number} currentIndex 褰撳墠 swiper 鍒囨崲鍒扮鍑犱釜 index锛岄粯璁や负 0
+ * @property {Boolean} useVirtualList 鏄惁浣跨敤铏氭嫙鍒楄〃锛岄粯璁や负 false
+ * @property {Boolean} useInnerList 鏄惁鍦� z-paging 鍐呴儴寰幆娓叉煋鍒楄〃锛堝唴缃垪琛級锛岄粯璁や负 false銆傝嫢 useVirtualList 涓� true锛屽垯姝ら」鎭掍负 true
+ * @property {String} cellKeyName 鍐呯疆鍒楄〃 cell 鐨� key 鍚嶇О锛屼粎 nvue 鏈夋晥锛屽湪 nvue 涓紑鍚� useInnerList 鏃跺繀椤诲~姝ら」锛岄粯璁や负 ''
+ * @property {Object} innerListStyle innerList 鏍峰紡锛岄粯璁や负 {}
+ * @property {Number|String} preloadPage 棰勫姞杞界殑鍒楄〃鍙鑼冨洿锛堝垪琛ㄩ珮搴︼級椤垫暟锛岄粯璁や负 12銆傛鏁板�艰秺澶э紝鍒欒櫄鎷熷垪琛ㄤ腑鍔犺浇鐨� dom 瓒婂锛屽唴瀛樻秷鑰楄秺澶э紙浼氱淮鎸佸湪涓�涓ǔ瀹氬�硷級锛屼絾澧炲姞棰勫姞杞介〉闈㈡暟閲忓彲缂撹В蹇�熸粴鍔ㄧ煭鏆傜櫧灞忛棶棰�
+ * @property {String} cellHeightMode 铏氭嫙鍒楄〃 cell 楂樺害妯″紡锛岄粯璁や负 'fixed'锛屼篃灏辨槸姣忎釜 cell 楂樺害瀹屽叏鐩稿悓锛屽皢浠ョ涓�涓� cell 楂樺害涓哄噯杩涜璁$畻銆傚彲閫夊�笺�恉ynamic銆戯紝鍗充唬琛ㄩ珮搴︽槸鍔ㄦ�侀潪鍥哄畾鐨勶紝銆恉ynamic銆戞�ц兘浣庝簬銆恌ixed銆�
+ * @property {Number|String} virtualListCol 铏氭嫙鍒楄〃鍒楁暟锛岄粯璁や负 1銆傚父鐢ㄤ簬姣忚鏈夊鍒楃殑鎯呭喌锛屼緥濡傛瘡琛屾湁 2 鍒楁暟鎹紝闇�瑕佸皢姝ゅ�艰缃负 2
+ * @property {Number|String} virtualScrollFps 铏氭嫙鍒楄〃 scroll 鍙栨牱甯х巼锛岄粯璁や负 60锛岃繃楂樺彲鑳藉嚭鐜板崱椤跨瓑闂
+ * @example <z-paging-swiper-item ref="swiperItem" :tabIndex="index" :currentIndex="current" @query="queryList" @updateList="updateList"></z-paging-swiper-item>
+ */
+export default {
+ name: "z-paging-swiper-item",
+ components: { zPaging },
+ props: {
+ // 褰撳墠缁勪欢鐨刬ndex锛屼篃灏辨槸褰撳墠缁勪欢鏄痵wiper涓殑绗嚑涓�
+ tabIndex: {
+ type: Number,
+ default: function () {
+ return 0;
+ },
+ },
+ // 褰撳墠swiper鍒囨崲鍒扮鍑犱釜index
+ currentIndex: {
+ type: Number,
+ default: function () {
+ return 0;
+ },
+ },
+ // 鏄惁浣跨敤铏氭嫙鍒楄〃锛岄粯璁や负鍚�
+ useVirtualList: {
+ type: Boolean,
+ default: false,
+ },
+ // 鏄惁鍦▃-paging鍐呴儴寰幆娓叉煋鍒楄〃(鍐呯疆鍒楄〃)锛岄粯璁や负鍚︺�傝嫢use-virtual-list涓簍rue锛屽垯姝ら」鎭掍负true
+ useInnerList: {
+ type: Boolean,
+ default: false,
+ },
+ // 鍐呯疆鍒楄〃cell鐨刱ey鍚嶇О锛屼粎nvue鏈夋晥锛屽湪nvue涓紑鍚痷se-inner-list鏃跺繀椤诲~姝ら」
+ cellKeyName: {
+ type: String,
+ default: "",
+ },
+ // innerList鏍峰紡
+ innerListStyle: {
+ type: Object,
+ default: function () {
+ return {};
+ },
+ },
+ // 棰勫姞杞界殑鍒楄〃鍙鑼冨洿(鍒楄〃楂樺害)椤垫暟锛岄粯璁や负12锛屽嵆棰勫姞杞藉綋鍓嶉〉鍙婁笂涓嬪悇12椤电殑cell銆傛鏁板�艰秺澶э紝鍒欒櫄鎷熷垪琛ㄤ腑鍔犺浇鐨刣om瓒婂锛屽唴瀛樻秷鑰楄秺澶�(浼氱淮鎸佸湪涓�涓ǔ瀹氬��)锛屼絾澧炲姞棰勫姞杞介〉闈㈡暟閲忓彲缂撹В蹇�熸粴鍔ㄧ煭鏆傜櫧灞忛棶棰�
+ preloadPage: {
+ type: [Number, String],
+ default: 12,
+ },
+ // 铏氭嫙鍒楄〃cell楂樺害妯″紡锛岄粯璁や负fixed锛屼篃灏辨槸姣忎釜cell楂樺害瀹屽叏鐩稿悓锛屽皢浠ョ涓�涓猚ell楂樺害涓哄噯杩涜璁$畻銆傚彲閫夊�笺�恉ynamic銆戯紝鍗充唬琛ㄩ珮搴︽槸鍔ㄦ�侀潪鍥哄畾鐨勶紝銆恉ynamic銆戞�ц兘浣庝簬銆恌ixed銆戙��
+ cellHeightMode: {
+ type: String,
+ default: "fixed",
+ },
+ // 铏氭嫙鍒楄〃鍒楁暟锛岄粯璁や负1銆傚父鐢ㄤ簬姣忚鏈夊鍒楃殑鎯呭喌锛屼緥濡傛瘡琛屾湁2鍒楁暟鎹紝闇�瑕佸皢姝ゅ�艰缃负2
+ virtualListCol: {
+ type: [Number, String],
+ default: 1,
+ },
+ // 铏氭嫙鍒楄〃scroll鍙栨牱甯х巼锛岄粯璁や负60锛岃繃楂樺彲鑳藉嚭鐜板崱椤跨瓑闂
+ virtualScrollFps: {
+ type: [Number, String],
+ default: 60,
+ },
+ },
+ data() {
+ return {
+ firstLoaded: false,
+ };
+ },
+ watch: {
+ currentIndex: {
+ handler(newVal, oldVal) {
+ if (newVal === this.tabIndex) {
+ // 鎳掑姞杞斤紝褰撴粦鍔ㄥ埌褰撳墠鐨刬tem鏃讹紝鎵嶅幓鍔犺浇
+ if (!this.firstLoaded) {
+ this.$nextTick(() => {
+ let delay = 5;
+ // #ifdef MP-TOUTIAO
+ delay = 100;
+ // #endif
+ setTimeout(() => {
+ this.$refs.paging.reload().catch(() => {});
+ }, delay);
+ });
+ }
+ }
+ },
+ immediate: true,
+ },
+ },
+ methods: {
+ reload(data) {
+ return this.$refs.paging.reload(data);
+ },
+ complete(data) {
+ this.firstLoaded = true;
+ return this.$refs.paging.complete(data);
+ },
+ _queryList(pageNo, pageSize, from) {
+ this.$emit("query", pageNo, pageSize, from);
+ },
+ _updateList(list) {
+ this.$emit("updateList", list);
+ },
+ },
+};
</script>
<style scoped>
- .zp-swiper-item-container {
- /* #ifndef APP-NVUE */
- height: 100%;
- /* #endif */
- /* #ifdef APP-NVUE */
- flex: 1;
- /* #endif */
- }
+.zp-swiper-item-container {
+ /* #ifndef APP-NVUE */
+ height: 100%;
+ /* #endif */
+ /* #ifdef APP-NVUE */
+ flex: 1;
+ /* #endif */
+}
</style>
--
Gitblit v1.9.3