From accaf01dabdf317e67b7f24c13c81c1023d51cd4 Mon Sep 17 00:00:00 2001
From: qingyiay <2386314947@qq.com>
Date: 星期四, 23 三月 2023 16:49:50 +0800
Subject: [PATCH] 首页增加历史提煤单

---
 api/publicInterface.js                                                         |    2 
 pages/login/userPassword.vue                                                   |    2 
 uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue        |  465 +++++++++++++++++++++++++++++++
 uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json         |    5 
 uni_modules/uni-pagination/package.json                                        |   83 +++++
 pages/customer-page/customer-index/customer-index.vue                          |   65 ++++
 uni_modules/uni-pagination/components/uni-pagination/i18n/en.json              |    5 
 uni_modules/uni-pagination/components/uni-pagination/i18n/es.json              |    5 
 uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json              |    5 
 api/globalApi.js                                                               |    9 
 api/request.js                                                                 |    4 
 manifest.json                                                                  |  146 ++++----
 uni_modules/uni-pagination/components/uni-pagination/i18n/index.js             |   12 
 uni_modules/uni-pagination/changelog.md                                        |   27 +
 pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue |   10 
 uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json         |    5 
 uni_modules/uni-pagination/readme.md                                           |   11 
 17 files changed, 775 insertions(+), 86 deletions(-)

diff --git a/api/globalApi.js b/api/globalApi.js
index 0cc3752..badd8ce 100644
--- a/api/globalApi.js
+++ b/api/globalApi.js
@@ -36,7 +36,7 @@
 	// 	method: "POST"
 	// },
 	/**
-	 * @杞彂淇敼
+	 * @description 杞彂淇敼
 	 */
 	forward: {
 		url: "/wrzs/userOperation/forwardList",
@@ -56,6 +56,13 @@
 		url: "/wrzs/userOperation/deleteForward",
 		method: "POST"
 	},
+	/**
+	 * @description 鑾峰彇鍘嗗彶鎻愮叅鍗�
+	 */
+	getJhOrderPlanDataPage: {
+		url: '/wrzs/userOperation/getJhOrderPlanDataPage',
+		method: "GET"
+	},
 	// 璐т唬棣栭〉鍒楄〃
 	// huoDaiList: {
 	// 	url: "/wrzs/wx/huoDaiList",
diff --git a/api/publicInterface.js b/api/publicInterface.js
index bba27cf..c295cff 100644
--- a/api/publicInterface.js
+++ b/api/publicInterface.js
@@ -4,7 +4,7 @@
 // const BaseUrl = "http://192.168.3.159:9999/";
 import {BaseUrl as wrBaseUrl} from '@/api/request.js'
 // const BaseUrl = "http://192.168.0.120:9999"
-const BaseUrl = "http://192.168.3.109:9999"
+const BaseUrl = "http://192.168.110.101:9999"
 
 // 鐧诲綍
 // function apiLogin({
diff --git a/api/request.js b/api/request.js
index ed6e018..1912f06 100644
--- a/api/request.js
+++ b/api/request.js
@@ -80,8 +80,8 @@
 
 // const BaseUrl = "http://192.168.0.120:9997"
 // const webSocketUrl = "ws://192.168.0.120:9997/wrzs/ws/info"
-const BaseUrl = "http://192.168.3.109:9997";
-const webSocketUrl = "ws://192.168.3.109:9997/wrzs/ws/info"
+const BaseUrl = "http://192.168.110.101:9997";
+const webSocketUrl = "ws://192.168.110.101:9997/wrzs/ws/info"
 
 // 璇锋眰鎷︽埅
 const fetch = (url, opt) => {
diff --git a/manifest.json b/manifest.json
index c97e162..3570baa 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,75 +1,75 @@
 {
-    "name" : "unattended-app",
-    "appid" : "__UNI__103882A",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    /* 5+App鐗规湁鐩稿叧 */
-    "app-plus" : {
-        "usingComponents" : true,
-        "nvueStyleCompiler" : "uni-app",
-        "compilerVersion" : 3,
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        /* 妯″潡閰嶇疆 */
-        "modules" : {},
-        /* 搴旂敤鍙戝竷淇℃伅 */
-        "distribute" : {
-            /* android鎵撳寘閰嶇疆 */
-            "android" : {
-                "permissions" : [
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ]
-            },
-            /* ios鎵撳寘閰嶇疆 */
-            "ios" : {},
-            /* SDK閰嶇疆 */
-            "sdkConfigs" : {}
-        }
-    },
-    /* 蹇簲鐢ㄧ壒鏈夌浉鍏� */
-    "quickapp" : {},
-    /* 灏忕▼搴忕壒鏈夌浉鍏� */
-    "mp-weixin" : {
-        "appid" : "wx4a62fc1684c429a9",
-        "setting" : {
-            "urlCheck" : false,
-            "es6" : true,
-            "minified" : true,
-            "postcss" : false
-        },
-        "usingComponents" : true
-    },
-    "mp-alipay" : {
-        "usingComponents" : true
-    },
-    "mp-baidu" : {
-        "usingComponents" : true
-    },
-    "mp-toutiao" : {
-        "usingComponents" : true
-    },
-    "uniStatistics" : {
-        "enable" : false
-    },
-    "vueVersion" : "2"
+	"name": "unattended-app",
+	"appid": "__UNI__103882A",
+	"description": "",
+	"versionName": "1.0.0",
+	"versionCode": "100",
+	"transformPx": false,
+	/* 5+App鐗规湁鐩稿叧 */
+	"app-plus": {
+		"usingComponents": true,
+		"nvueStyleCompiler": "uni-app",
+		"compilerVersion": 3,
+		"splashscreen": {
+			"alwaysShowBeforeRender": true,
+			"waiting": true,
+			"autoclose": true,
+			"delay": 0
+		},
+		/* 妯″潡閰嶇疆 */
+		"modules": {},
+		/* 搴旂敤鍙戝竷淇℃伅 */
+		"distribute": {
+			/* android鎵撳寘閰嶇疆 */
+			"android": {
+				"permissions": [
+					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
+					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+					"<uses-feature android:name=\"android.hardware.camera\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+				]
+			},
+			/* ios鎵撳寘閰嶇疆 */
+			"ios": {},
+			/* SDK閰嶇疆 */
+			"sdkConfigs": {}
+		}
+	},
+	/* 蹇簲鐢ㄧ壒鏈夌浉鍏� */
+	"quickapp": {},
+	/* 灏忕▼搴忕壒鏈夌浉鍏� */
+	"mp-weixin": {
+		"appid": "wx2463f9b1ba3b9651",
+		"setting": {
+			"urlCheck": false,
+			"es6": true,
+			"minified": true,
+			"postcss": false
+		},
+		"usingComponents": true
+	},
+	"mp-alipay": {
+		"usingComponents": true
+	},
+	"mp-baidu": {
+		"usingComponents": true
+	},
+	"mp-toutiao": {
+		"usingComponents": true
+	},
+	"uniStatistics": {
+		"enable": false
+	},
+	"vueVersion": "2"
 }
diff --git a/pages/customer-page/customer-index/customer-index.vue b/pages/customer-page/customer-index/customer-index.vue
index 7afe7a7..d35997e 100644
--- a/pages/customer-page/customer-index/customer-index.vue
+++ b/pages/customer-page/customer-index/customer-index.vue
@@ -46,7 +46,32 @@
 				</template>
 			</card>
 		</view>
-
+		<view class="history-numbers">
+			<combined-title title="鍘嗗彶鎻愮叅鍗�"></combined-title>
+			<scroll-view :scroll-top="scrollTop" scroll-y="true" class="scroll-Y">
+				<uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁" :loading="loading">
+					<uni-tr>
+						<uni-th width="100" align="center">鍙戣繍鏃ユ湡</uni-th>
+						<uni-th width="100" align="center">鎵�灞炲崟浣�</uni-th>
+						<uni-th align="center" width="150">鐓ゅ満鍚嶇О</uni-th>
+						<uni-th align="center" width="100">鐓ょ鍚嶇О</uni-th>
+						<uni-th align="center" width="150">璁㈠崟缂栧彿</uni-th>
+						<uni-th align="center" width="100">璁㈠崟鍓╀綑閲�</uni-th>
+						<uni-th align="center" width="80">鎻愮叅鍗曚釜鏁�</uni-th>
+					</uni-tr>
+					<uni-tr v-for="(item, index) in historyCoalData" :key="index">
+						<uni-td align="center">{{ item.sendDate }}</uni-td>
+						<uni-td align="left">{{ item.deptName }}</uni-td>
+						<uni-td align="center">{{ item.filedName }}</uni-td>
+						<uni-td align="center">{{ item.coalName }}</uni-td>
+						<uni-td align="center">{{ item.orderCode }}</uni-td>
+						<uni-td align="center">{{ item.carNumSurplus }}</uni-td>
+						<uni-td align="center">{{ item.tmCount }}</uni-td>
+					</uni-tr>
+				</uni-table>
+			</scroll-view>
+			<view class="uni-pagination-box"><uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total" @change="change2" /></view>
+		</view>
 		<!-- 棰嗗彇寮瑰嚭妗� -->
 		<u-popup :show="show" @close="close" @open="open" mode="center" round="10">
 			<view class="receiverPopup">
@@ -60,10 +85,12 @@
 
 <script>
 import card from '@/components/card/card.vue';
+import combinedTitle from '@/components/combined-title/combined-title.vue';
 import { customerId } from '@/utils/status';
 export default {
 	components: {
-		card
+		card,
+		combinedTitle
 	},
 	data() {
 		return {
@@ -73,15 +100,27 @@
 			getOrderNum: {
 				num: '',
 				id: null
-			}
+			},
+			historyCoalData: [],
+			// 琛ㄦ牸鍔犺浇鐘舵��
+			loading: false,
+			scrollTop: 0,
+			// 姣忛〉鏁版嵁閲�
+			pageSize: 5,
+			// 褰撳墠椤�
+			pageCurrent: 1,
+			// 鏁版嵁鎬婚噺
+			total: 0
 		};
 	},
+	onLoad() {},
 	onShow() {
 		this.init();
 	},
 	methods: {
 		init() {
 			this.GetOrderPlan();
+			this.getJhOrderPlanDataPage();
 		},
 		// 鑾峰彇鍙戣繍璁″垝鍒楄〃
 		GetOrderPlan() {
@@ -92,6 +131,20 @@
 				this.orderPlanData = res.data;
 				uni.hideLoading();
 			});
+		},
+		// 鑾峰彇鍘嗗彶鎻愮叅鍗�
+		getJhOrderPlanDataPage() {
+			this.loading = true;
+			this.$reqGet('getJhOrderPlanDataPage', { current: this.pageCurrent, size: this.pageSize }).then(res => {
+				this.historyCoalData = res.data.records;
+				this.total = res.data.total;
+				this.loading = false;
+			});
+		},
+		change2(e) {
+			console.log(e, '椤电爜鏀瑰彉');
+			this.pageCurrent = e.current;
+			this.getJhOrderPlanDataPage();
 		},
 		popupDetermineClick() {
 			if (this.receiveNum) {
@@ -161,6 +214,12 @@
 </script>
 
 <style lang="scss" scoped>
+.uni-pagination-box {
+	height: 60rpx;
+}
+.scroll-Y {
+	height: 600rpx;
+}
 ::v-deep.customer-index {
 	width: 94%;
 	margin: 0 auto;
diff --git a/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue b/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue
index 06b9046..18699c5 100644
--- a/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue
+++ b/pages/freight-forwarder-page/freightForwarder-index/freightForwarder-index.vue
@@ -14,17 +14,17 @@
 					<view class="right-top">
 						<view class="card-right-top-row">
 							<view>
-								<text>杞彂鍓╀綑锛歿{ item.carNumSurplusHuodai||'' }}</text>
+								<text>杞彂鍓╀綑锛歿{ item.carNumSurplusHuodai || '' }}</text>
 							</view>
 							<view>
-								<text>{{ item.coalName||'' }}</text>
+								<text>{{ item.coalName || '' }}</text>
 							</view>
 						</view>
 					</view>
 				</template>
 				<template v-slot:right-bottom>
 					<view class="code">
-						<text>缂栧彿锛歿{ item.orderCode||'' }}</text>
+						<text>缂栧彿锛歿{ item.orderCode || '' }}</text>
 					</view>
 				</template>
 			</card>
@@ -64,7 +64,7 @@
 		// 杞彂
 		forwardClick(value) {
 			uni.navigateTo({
-				url: `/pages/public-page/forward/forward?orderPlanId=${value.id}&carNumSurplusHuodai=${value.carNumSurplusHuodai}`
+				url: `/pages/public-page/forward/forward?orderPlanId=${value.orderPlanId}&carNumSurplusHuodai=${value.carNumSurplusHuodai}`
 			});
 		}
 	}
@@ -81,7 +81,7 @@
 
 		// 鍗$墖鏍峰紡
 		.card-left__top {
-			margin-top:vww(26);
+			margin-top: vww(26);
 			text-align: center;
 			color: #ffffff;
 			text {
diff --git a/pages/login/userPassword.vue b/pages/login/userPassword.vue
index 053900f..8886b53 100644
--- a/pages/login/userPassword.vue
+++ b/pages/login/userPassword.vue
@@ -44,7 +44,7 @@
 	data() {
 		return {
 			// username: '12222222222', // 瀹㈡埛
-			username: '13333333332', // 鍙告満
+			username: '13333333332',// 鍙告満
 			password: '123456',
 			remember: true,
 			baseUrl: ''
diff --git a/uni_modules/uni-pagination/changelog.md b/uni_modules/uni-pagination/changelog.md
new file mode 100644
index 0000000..2e94adc
--- /dev/null
+++ b/uni_modules/uni-pagination/changelog.md
@@ -0,0 +1,27 @@
+## 1.2.4锛�2022-09-19锛�
+- 淇锛屾湭瀵逛富棰樿壊璁剧疆榛樿鑹诧紝瀵艰嚧鏈紩鍏� uni-scss 鍙橀噺鏂囦欢鎶ラ敊銆�
+- 淇锛屾湭瀵圭Щ鍔ㄧ褰撳墠椤垫枃瀛楀仛涓婚鑹查�傞厤銆�
+## 1.2.3锛�2022-09-15锛�
+- 淇鏈娇鐢� uni-scss 涓婚鑹茬殑 bug銆�
+## 1.2.2锛�2022-07-06锛�
+- 淇 es 璇█ i18n 閿欒
+## 1.2.1锛�2021-11-22锛�
+- 淇 vue3涓煇浜泂css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰�
+## 1.2.0锛�2021-11-19锛�
+- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
+- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-pagination](https://uniapp.dcloud.io/component/uniui/uni-pagination)
+## 1.1.2锛�2021-10-08锛�
+- 淇 current 銆乿alue 灞炴�ф湭鐩戝惉锛屽鑷撮珮浜牱寮忓け鏁堢殑 bug
+## 1.1.1锛�2021-08-20锛�
+- 鏂板 鏀寔鍥介檯鍖�
+## 1.1.0锛�2021-07-30锛�
+- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
+## 1.0.7锛�2021-05-12锛�
+- 鏂板 缁勪欢绀轰緥鍦板潃
+## 1.0.6锛�2021-04-12锛�
+- 鏂板 PC 鍜� 绉诲姩绔�傞厤涓嶅悓鐨� ui 
+## 1.0.5锛�2021-02-05锛�
+- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
+
+## 1.0.4锛�2021-02-05锛�
+- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json
new file mode 100644
index 0000000..d6e2897
--- /dev/null
+++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json
@@ -0,0 +1,5 @@
+{
+	"uni-pagination.prevText": "prev",
+	"uni-pagination.nextText": "next",
+	"uni-pagination.piecePerPage": "piece/page"
+}
diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json
new file mode 100644
index 0000000..604a113
--- /dev/null
+++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json
@@ -0,0 +1,5 @@
+{
+	"uni-pagination.prevText": "anterior",
+	"uni-pagination.nextText": "prxima",
+	"uni-pagination.piecePerPage": "Artículo/Página"
+}
diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json
new file mode 100644
index 0000000..a7a0c77
--- /dev/null
+++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json
@@ -0,0 +1,5 @@
+{
+	"uni-pagination.prevText": "pr茅c茅dente",
+	"uni-pagination.nextText": "suivante",
+	"uni-pagination.piecePerPage": "Articles/Pages"
+}
diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js b/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js
new file mode 100644
index 0000000..2469dd0
--- /dev/null
+++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js
@@ -0,0 +1,12 @@
+import en from './en.json'
+import es from './es.json'
+import fr from './fr.json'
+import zhHans from './zh-Hans.json'
+import zhHant from './zh-Hant.json'
+export default {
+	en,
+	es,
+	fr,
+	'zh-Hans': zhHans,
+	'zh-Hant': zhHant
+}
diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json
new file mode 100644
index 0000000..782bbe4
--- /dev/null
+++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json
@@ -0,0 +1,5 @@
+{
+	"uni-pagination.prevText": "涓婁竴椤�",
+	"uni-pagination.nextText": "涓嬩竴椤�",
+	"uni-pagination.piecePerPage": "鏉�/椤�"
+}
diff --git a/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json b/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json
new file mode 100644
index 0000000..180fddb
--- /dev/null
+++ b/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json
@@ -0,0 +1,5 @@
+{
+	"uni-pagination.prevText": "涓婁竴闋�",
+	"uni-pagination.nextText": "涓嬩竴闋�",
+	"uni-pagination.piecePerPage": "姊�/闋�"
+}
diff --git a/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue b/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue
new file mode 100644
index 0000000..5305b5f
--- /dev/null
+++ b/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue
@@ -0,0 +1,465 @@
+<template>
+	<view class="uni-pagination">
+		<!-- #ifndef MP -->
+		<picker v-if="showPageSize === true || showPageSize === 'true'" class="select-picker" mode="selector"
+			:value="pageSizeIndex" :range="pageSizeRange" @change="pickerChange" @cancel="pickerClick"
+			@click.native="pickerClick">
+			<button type="default" size="mini" :plain="true">
+				<text>{{pageSizeRange[pageSizeIndex]}} {{piecePerPage}}</text>
+				<uni-icons class="select-picker-icon" type="arrowdown" size="12" color="#999"></uni-icons>
+			</button>
+		</picker>
+		<!-- #endif -->
+		<!-- #ifndef APP-NVUE -->
+		<view class="uni-pagination__total is-phone-hide">鍏� {{ total }} 鏉�</view>
+		<!-- #endif -->
+		<view class="uni-pagination__btn"
+			:class="currentIndex === 1 ? 'uni-pagination--disabled' : 'uni-pagination--enabled'"
+			:hover-class="currentIndex === 1 ? '' : 'uni-pagination--hover'" :hover-start-time="20"
+			:hover-stay-time="70" @click="clickLeft">
+			<template v-if="showIcon === true || showIcon === 'true'">
+				<uni-icons color="#666" size="16" type="left" />
+			</template>
+			<template v-else>
+				<text class="uni-pagination__child-btn">{{ prevPageText }}</text>
+			</template>
+		</view>
+		<view class="uni-pagination__num uni-pagination__num-flex-none">
+			<view class="uni-pagination__num-current">
+				<text class="uni-pagination__num-current-text is-pc-hide current-index-text">{{ currentIndex }}</text>
+				<text class="uni-pagination__num-current-text is-pc-hide">/{{ maxPage || 0 }}</text>
+				<!-- #ifndef APP-NVUE -->
+				<view v-for="(item, index) in paper" :key="index" :class="{ 'page--active': item === currentIndex }"
+					class="uni-pagination__num-tag tag--active is-phone-hide" @click.top="selectPage(item, index)">
+					<text>{{ item }}</text>
+				</view>
+				<!-- #endif -->
+
+			</view>
+		</view>
+		<view class="uni-pagination__btn"
+			:class="currentIndex >= maxPage ? 'uni-pagination--disabled' : 'uni-pagination--enabled'"
+			:hover-class="currentIndex === maxPage ? '' : 'uni-pagination--hover'" :hover-start-time="20"
+			:hover-stay-time="70" @click="clickRight">
+			<template v-if="showIcon === true || showIcon === 'true'">
+				<uni-icons color="#666" size="16" type="right" />
+			</template>
+			<template v-else>
+				<text class="uni-pagination__child-btn">{{ nextPageText }}</text>
+			</template>
+		</view>
+	</view>
+</template>
+
+<script>
+	/**
+	 * Pagination 鍒嗛〉鍣�
+	 * @description 鍒嗛〉鍣ㄧ粍浠讹紝鐢ㄤ簬灞曠ず椤电爜銆佽姹傛暟鎹瓑
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=32
+	 * @property {String} prevText 宸︿晶鎸夐挳鏂囧瓧
+	 * @property {String} nextText 鍙充晶鎸夐挳鏂囧瓧
+	 * @property {String} piecePerPageText 鏉�/椤垫枃瀛�
+	 * @property {Number} current 褰撳墠椤�
+	 * @property {Number} total 鏁版嵁鎬婚噺
+	 * @property {Number} pageSize 姣忛〉鏁版嵁閲�
+	 * @property {Boolean} showIcon = [true|false] 鏄惁浠� icon 褰㈠紡灞曠ず鎸夐挳
+	 * @property {Boolean} showPageSize = [true|false] 鏄惁灞曠ず姣忛〉鏉℃暟
+	 * @property {Array} pageSizeRange = [20, 50, 100, 500] 姣忛〉鏉℃暟閫夋
+	 * @event {Function} change 鐐瑰嚮椤电爜鎸夐挳鏃惰Е鍙� ,e={type,current} current涓哄綋鍓嶉〉锛宼ype鍊间负锛歯ext/prev锛岃〃绀虹偣鍑荤殑鏄笂涓�椤佃繕鏄笅涓�涓�
+	 * * @event {Function} pageSizeChange 褰撳墠姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� ,e={pageSize} pageSize 涓哄綋鍓嶆墍閫夌殑姣忛〉鏉℃暟
+	 */
+
+	import {
+		initVueI18n
+	} from '@dcloudio/uni-i18n'
+	import messages from './i18n/index.js'
+	const {
+		t
+	} = initVueI18n(messages)
+	export default {
+		name: 'UniPagination',
+		emits: ['update:modelValue', 'input', 'change', 'pageSizeChange'],
+		props: {
+			value: {
+				type: [Number, String],
+				default: 1
+			},
+			modelValue: {
+				type: [Number, String],
+				default: 1
+			},
+			prevText: {
+				type: String,
+			},
+			nextText: {
+				type: String,
+			},
+			piecePerPageText: {
+				type: String
+			},
+			current: {
+				type: [Number, String],
+				default: 1
+			},
+			total: {
+				// 鏁版嵁鎬婚噺
+				type: [Number, String],
+				default: 0
+			},
+			pageSize: {
+				// 姣忛〉鏁版嵁閲�
+				type: [Number, String],
+				default: 10
+			},
+			showIcon: {
+				// 鏄惁浠� icon 褰㈠紡灞曠ず鎸夐挳
+				type: [Boolean, String],
+				default: false
+			},
+			showPageSize: {
+				// 鏄惁浠� icon 褰㈠紡灞曠ず鎸夐挳
+				type: [Boolean, String],
+				default: false
+			},
+			pagerCount: {
+				type: Number,
+				default: 7
+			},
+			pageSizeRange: {
+				type: Array,
+				default: () => [20, 50, 100, 500]
+			}
+		},
+		data() {
+			return {
+				pageSizeIndex: 0,
+				currentIndex: 1,
+				paperData: [],
+				pickerShow: false
+			}
+		},
+		computed: {
+			piecePerPage() {
+				return this.piecePerPageText || t('uni-pagination.piecePerPage')
+			},
+			prevPageText() {
+				return this.prevText || t('uni-pagination.prevText')
+			},
+			nextPageText() {
+				return this.nextText || t('uni-pagination.nextText')
+			},
+			maxPage() {
+				let maxPage = 1
+				let total = Number(this.total)
+				let pageSize = Number(this.pageSize)
+				if (total && pageSize) {
+					maxPage = Math.ceil(total / pageSize)
+				}
+				return maxPage
+			},
+			paper() {
+				const num = this.currentIndex
+				// TODO 鏈�澶ч〉鏁�
+				const pagerCount = this.pagerCount
+				// const total = 181
+				const total = this.total
+				const pageSize = this.pageSize
+				let totalArr = []
+				let showPagerArr = []
+				let pagerNum = Math.ceil(total / pageSize)
+				for (let i = 0; i < pagerNum; i++) {
+					totalArr.push(i + 1)
+				}
+				showPagerArr.push(1)
+				const totalNum = totalArr[totalArr.length - (pagerCount + 1) / 2]
+				totalArr.forEach((item, index) => {
+					if ((pagerCount + 1) / 2 >= num) {
+						if (item < pagerCount + 1 && item > 1) {
+							showPagerArr.push(item)
+						}
+					} else if (num + 2 <= totalNum) {
+						if (item > num - (pagerCount + 1) / 2 && item < num + (pagerCount + 1) / 2) {
+							showPagerArr.push(item)
+						}
+					} else {
+						if ((item > num - (pagerCount + 1) / 2 || pagerNum - pagerCount < item) && item < totalArr[
+								totalArr.length - 1]) {
+							showPagerArr.push(item)
+						}
+					}
+				})
+				if (pagerNum > pagerCount) {
+					if ((pagerCount + 1) / 2 >= num) {
+						showPagerArr[showPagerArr.length - 1] = '...'
+					} else if (num + 2 <= totalNum) {
+						showPagerArr[1] = '...'
+						showPagerArr[showPagerArr.length - 1] = '...'
+					} else {
+						showPagerArr[1] = '...'
+					}
+					showPagerArr.push(totalArr[totalArr.length - 1])
+				} else {
+					if ((pagerCount + 1) / 2 >= num) {} else if (num + 2 <= totalNum) {} else {
+						showPagerArr.shift()
+						showPagerArr.push(totalArr[totalArr.length - 1])
+					}
+				}
+
+				return showPagerArr
+			}
+		},
+		watch: {
+			current: {
+				immediate: true,
+				handler(val, old) {
+					if (val < 1) {
+						this.currentIndex = 1
+					} else {
+						this.currentIndex = val
+					}
+				}
+			},
+			value: {
+				immediate: true,
+				handler(val) {
+					if (Number(this.current) !== 1) return
+					if (val < 1) {
+						this.currentIndex = 1
+					} else {
+						this.currentIndex = val
+					}
+				}
+			},
+			pageSizeIndex(val) {
+				this.$emit('pageSizeChange', this.pageSizeRange[val])
+			}
+		},
+		methods: {
+			pickerChange(e) {
+				this.pageSizeIndex = e.detail.value
+				this.pickerClick()
+			},
+			pickerClick() {
+				// #ifdef H5
+				const body = document.querySelector('body')
+				if (!body) return
+
+				const className = 'uni-pagination-picker-show'
+				this.pickerShow = !this.pickerShow
+
+				if (this.pickerShow) {
+					body.classList.add(className)
+				} else {
+					setTimeout(() => body.classList.remove(className), 300)
+				}
+				// #endif
+			},
+			// 閫夋嫨鏍囩
+			selectPage(e, index) {
+				if (parseInt(e)) {
+					this.currentIndex = e
+					this.change('current')
+				} else {
+					let pagerNum = Math.ceil(this.total / this.pageSize)
+					// let pagerNum = Math.ceil(181 / this.pageSize)
+					// 涓婁竴椤�
+					if (index <= 1) {
+						if (this.currentIndex - 5 > 1) {
+							this.currentIndex -= 5
+						} else {
+							this.currentIndex = 1
+						}
+						return
+					}
+					// 涓嬩竴椤�
+					if (index >= 6) {
+						if (this.currentIndex + 5 > pagerNum) {
+							this.currentIndex = pagerNum
+						} else {
+							this.currentIndex += 5
+						}
+						return
+					}
+				}
+			},
+			clickLeft() {
+				if (Number(this.currentIndex) === 1) {
+					return
+				}
+				this.currentIndex -= 1
+				this.change('prev')
+			},
+			clickRight() {
+				if (Number(this.currentIndex) >= this.maxPage) {
+					return
+				}
+				this.currentIndex += 1
+				this.change('next')
+			},
+			change(e) {
+				this.$emit('input', this.currentIndex)
+				this.$emit('update:modelValue', this.currentIndex)
+				this.$emit('change', {
+					type: e,
+					current: this.currentIndex
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	$uni-primary: #2979ff !default;
+	.uni-pagination {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		position: relative;
+		overflow: hidden;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.uni-pagination__total {
+		font-size: 14px;
+		color: #999;
+		margin-right: 15px;
+	}
+
+	.uni-pagination__btn {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		cursor: pointer;
+		/* #endif */
+		padding: 0 8px;
+		line-height: 30px;
+		font-size: 12px;
+		position: relative;
+		background-color: #F0F0F0;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+		text-align: center;
+		border-radius: 5px;
+		// border-width: 1px;
+		// border-style: solid;
+		// border-color: $uni-border-color;
+	}
+
+	.uni-pagination__child-btn {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		font-size: 12px;
+		position: relative;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+		text-align: center;
+		color: #666;
+		font-size: 12px;
+	}
+
+	.uni-pagination__num {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex: 1;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+		height: 30px;
+		line-height: 30px;
+		font-size: 12px;
+		color: #666;
+		margin: 0 5px;
+	}
+
+	.uni-pagination__num-tag {
+		/* #ifdef H5 */
+		cursor: pointer;
+		min-width: 30px;
+		/* #endif */
+		margin: 0 5px;
+		height: 30px;
+		text-align: center;
+		line-height: 30px;
+		// border: 1px red solid;
+		color: #999;
+		border-radius: 4px;
+		// border-width: 1px;
+		// border-style: solid;
+		// border-color: $uni-border-color;
+	}
+
+	.uni-pagination__num-current {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+	}
+
+	.uni-pagination__num-current-text {
+		font-size: 15px;
+	}
+
+	.current-index-text{
+		color: $uni-primary;
+	}
+
+	.uni-pagination--enabled {
+		color: #333333;
+		opacity: 1;
+	}
+
+	.uni-pagination--disabled {
+		opacity: 0.5;
+		/* #ifdef H5 */
+		cursor: default;
+		/* #endif */
+	}
+
+	.uni-pagination--hover {
+		color: rgba(0, 0, 0, 0.6);
+		background-color: #eee;
+	}
+
+	.tag--active:hover {
+		color: $uni-primary;
+	}
+
+	.page--active {
+		color: #fff;
+		background-color: $uni-primary;
+	}
+
+	.page--active:hover {
+		color: #fff;
+	}
+
+	/* #ifndef APP-NVUE */
+	.is-pc-hide {
+		display: block;
+	}
+
+	.is-phone-hide {
+		display: none;
+	}
+
+	@media screen and (min-width: 450px) {
+		.is-pc-hide {
+			display: none;
+		}
+
+		.is-phone-hide {
+			display: block;
+		}
+
+		.uni-pagination__num-flex-none {
+			flex: none;
+		}
+	}
+
+	/* #endif */
+</style>
diff --git a/uni_modules/uni-pagination/package.json b/uni_modules/uni-pagination/package.json
new file mode 100644
index 0000000..862d5ab
--- /dev/null
+++ b/uni_modules/uni-pagination/package.json
@@ -0,0 +1,83 @@
+{
+  "id": "uni-pagination",
+  "displayName": "uni-pagination 鍒嗛〉鍣�",
+  "version": "1.2.4",
+  "description": "Pagination 鍒嗛〉鍣ㄧ粍浠讹紝鐢ㄤ簬灞曠ず椤电爜銆佽姹傛暟鎹瓑銆�",
+  "keywords": [
+    "uni-ui",
+    "uniui",
+    "鍒嗛〉鍣�",
+    "椤电爜"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": ""
+  },
+  "directories": {
+    "example": "../../temps/example_temps"
+  },
+"dcloudext": {
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "鏃�",
+      "data": "鏃�",
+      "permissions": "鏃�"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
+    "type": "component-vue"
+  },
+  "uni_modules": {
+    "dependencies": ["uni-scss","uni-icons"],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "y",
+          "app-nvue": "y"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "寰俊娴忚鍣�(Android)": "y",
+          "QQ娴忚鍣�(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "灏忕▼搴�": {
+          "寰俊": "y",
+          "闃块噷": "y",
+          "鐧惧害": "y",
+          "瀛楄妭璺冲姩": "y",
+          "QQ": "y"
+        },
+        "蹇簲鐢�": {
+          "鍗庝负": "u",
+          "鑱旂洘": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/uni_modules/uni-pagination/readme.md b/uni_modules/uni-pagination/readme.md
new file mode 100644
index 0000000..97ea1d6
--- /dev/null
+++ b/uni_modules/uni-pagination/readme.md
@@ -0,0 +1,11 @@
+
+
+## Pagination 鍒嗛〉鍣�
+> **缁勪欢鍚嶏細uni-pagination**
+> 浠g爜鍧楋細 `uPagination`
+
+
+鍒嗛〉鍣ㄧ粍浠讹紝鐢ㄤ簬灞曠ず椤电爜銆佽姹傛暟鎹瓑銆�
+
+### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-pagination)
+#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 

--
Gitblit v1.9.1