From 1f478b4b033d518f6de21f931d828d2a175b2a3e Mon Sep 17 00:00:00 2001
From: wzp <2880584989@qq.com>
Date: 星期二, 08 三月 2022 13:40:51 +0800
Subject: [PATCH] 最新版本,修复bug

---
 assetMgtH5/pages/assets/list.vue |  271 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 232 insertions(+), 39 deletions(-)

diff --git a/assetMgtH5/pages/assets/list.vue b/assetMgtH5/pages/assets/list.vue
index 7e63687..31d3424 100644
--- a/assetMgtH5/pages/assets/list.vue
+++ b/assetMgtH5/pages/assets/list.vue
@@ -9,7 +9,8 @@
 		</view>
 		<view class="search-box">
 			<view class="item">
-				<u-search placeholder="璇疯緭鍏ュ叧閿瓧" v-model="keyword" :clearabled="true" :show-action="false"></u-search>
+				<u-search placeholder="璇疯緭鍏ュ叧閿瓧" v-model="keyword" :clearabled="true" :show-action="false"
+					@search="onSearch"></u-search>
 			</view>
 		</view>
 		<view class="">
@@ -19,56 +20,63 @@
 						mode="widthFix"></image>
 				</u-cell>
 			</u-cell-group>
-			<u-picker :show="show" ref="uPicker" :columns="columns" @confirm="confirm" @cancel="cancel"
+			<u-picker :show="show" ref="uPicker" :columns="columns" keyName="name" @confirm="confirm" @cancel="cancel"
 				@change="changeHandler">
 			</u-picker>
 		</view>
 
-		<!-- 鎼滅储缁撴灉 -->
-		<view class="cu-list menu-avatar">
-			<view class="cu-item">
-				<view class="cu-avatar radius lg"
-					style="background-image:url(https://ossweb-img.qq.com/images/lol/web201310/skin/big81007.jpg);">
-				</view>
-				<view class="content">
-					<view>
-						<view class="text-cut text-bold text-xl">璇炬</view>
-						<view class="cu-tag radius bg-orange sm">鏁伴噺锛�100</view>
-					</view>
-					<view class="text-gray text-sm flex">
-						<view class="text-cut">瑙勬牸锛�120*120 鐧借壊 缂栫爜锛�1234533333</view>
-					</view>
-				</view>
 
+		<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback">
+			<view class="cu-list menu-avatar ">
+				<view class="cu-item" v-for="(item,index) in assetsList" :key="index">
+					<view class="cu-avatar radius lg bg-white" style="background-image:url(../../static/device.png)">
+					</view>
+					<view class="content">
+						<view>
+							<view class="text-cut text-bold text-xl">{{item.assets.name}}</view>
+							<view class="cu-tag radius bg-orange sm">宸茬敵璇锋暟閲忥細{{item.quantity}}</view>
+
+						</view>
+						<view class="text-gray text-sm flex">
+							<view class="text-cut">瑙勬牸锛歿{item.model?item.model:'鏃�'}} 缂栫爜锛歿{item.serialNumber}}</view>
+						</view>
+					</view>
+				</view>
 			</view>
-		</view>
+		</mescroll-body>
 
-		<view class="">
+		<!-- <view class="">
 			<u-empty mode="search" icon="http://cdn.uviewui.com/uview/empty/search.png">
 			</u-empty>
-		</view>
+		</view> -->
+		<u-toast ref="uToast"></u-toast>
 	</view>
 </template>
 
 <script>
+	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+
 	export default {
+		mixins: [MescrollMixin], // 浣跨敤mixin
 		data() {
 			return {
 				keyword: '',
 				show: false,
-				columns: [
-					['涓浗', '缇庡浗'],
-					['娣卞湷', '鍘﹂棬', '涓婃捣', '鎷夎惃']
-				],
-				columnData: [
-					['娣卞湷', '鍘﹂棬', '涓婃捣', '鎷夎惃'],
-					['寰楀窞', '鍗庣洓椤�', '绾界害', '闃挎媺鏂姞']
-				]
+				columns: [],
+				columnData: [],
+				newColumnData: [],
+				assetsList: [],
+				flag: false,
+				category: null,
+				type: null,
+				resData:[]
 			}
 		},
-		onShow() {
-			this.getAssetList();
+		onLoad() {
+			this.getAssetsCategoryList();
 		},
+		onReady() {},
+
 		methods: {
 			changeHandler(e) {
 				const {
@@ -79,6 +87,7 @@
 					// 寰俊灏忕▼搴忔棤娉曞皢picker瀹炰緥浼犲嚭鏉ワ紝鍙兘閫氳繃ref鎿嶄綔
 					picker = this.$refs.uPicker
 				} = e
+				// console.log(e)
 				// 褰撶涓�鍒楀�煎彂鐢熷彉鍖栨椂锛屽彉鍖栫浜屽垪(鍚庝竴鍒�)瀵瑰簲鐨勯�夐」
 				if (columnIndex === 0) {
 					// picker涓洪�夋嫨鍣╰his瀹炰緥锛屽彉鍖栫浜屽垪瀵瑰簲鐨勯�夐」
@@ -87,8 +96,26 @@
 			},
 			// 鍥炶皟鍙傛暟涓哄寘鍚玞olumnIndex銆乿alue銆乿alues
 			confirm(e) {
-				console.log('confirm', e)
-				this.show = false
+				const index0 = e.indexs[0]; //绗竴鍒�
+				const index1 = e.indexs[1]; //绗簩鍒�
+				console.log('confirm1', index0)
+				console.log('confirm2', index1)
+
+				let item1 = index0;
+				let item2 = 0;
+				if (index1 !== undefined) {
+					item2 = index1;
+				}
+				this.show = false;
+
+				this.category = this.columns[0][item1].id;
+				this.type = this.columnData[item1][item2].id;
+
+
+				this.page = 1;
+				let page = {};
+				page.num = 1;
+				this.upCallback(page);
 			},
 			cancel() {
 				// console.log('cancel');
@@ -98,20 +125,186 @@
 				this.show = true;
 			},
 
-			//璇锋眰
-			getAssetList() {
-				this.$http.get('/assets/approval/search',{params:{pageNum:"1",pageSize:"10",keyStr:''}})
+			onSearch(e) {
+				console.log("鎼滅储锛�" + this.keyword)
+				this.page = 1;
+				let page = {};
+				page.num = 1;
+				this.upCallback(page);
+			},
+
+			upCallback(page) {
+
+				let pageNum = page.num; //椤电爜锛岄粯璁や粠1寮�濮�
+				let pageSize = 10; //椤甸暱锛岄粯璁ゆ瘡椤�10鏉�
+
 				
+				this.$http.get('/assets/approval/myAssets', {
+						params: {
+							pageNum: pageNum,
+							pageSize: pageSize,
+							keyStr: this.keyword,
+							category: this.category,
+							type: this.type
+						}
+					})
 					.then(res => {
 						// debugger;
-						let data = res.data;
-						console.log(JSON.stringify(data.data))
-						let tt = data.data;
-						console.log(tt.length)
+						if (res.data.code === 0) {
+							let data = res.data.data;
+							// console.log('鎬昏祫浜�' + data.length)
+							if (page.num == 1) this.assetsList = []; //濡傛灉鏄涓�椤碉紝闇�鎵嬪姩缃┖鍒楄〃
+							this.assetsList = this.assetsList.concat(data); //杩藉姞鏂版暟鎹�
+							// console.log(this.assetsList.length)
+							this.mescroll.endBySize(this.assetsList.length, res.data.total);
+						} else {
+							this.mescroll.endBySize(0, 0);
+						}
+
+					})
+					.catch(err => {
+						this.mescroll.endErr();
+						console.log('寮傚父', err);
+					});
+			},
+
+
+
+
+
+			//璧勪骇绫诲埆
+			getAssetsCategoryList() {
+				 // await this.getTest(22);
+				this.$http.get('/assets/approval/getAssetsCategory')
+					.then(async res => {
+						// debugger;
+						let tt = []
+						if (res.data.code === 0) {
+							let data = res.data.data;
+							
+							this.resData = data;
+							// for (let i = 0; i < data.length; i++) {
+							// 	let jsonData = {
+							// 		id: data[i].id,
+							// 		name: data[i].name
+							// 	}
+							// 	tt.push(jsonData);
+							// 	 await this.getTest(data[i].id);
+							// }
+							
+							tt = data.map(item => ({id: item.id, name: item.name}));
+							// await Promise.all(data.map(item => this.getTest(item.id)))
+							this.dealth();
+						}
+						// this.dealth();
 						
+						this.columns.push(tt);
+						console.log(this.columns);
+						console.log(this.columnData)
 					}).catch(err => {
 						console.log(err.data)
 					})
+			},
+			
+			async dealth(){
+				let data = this.resData;
+				for (let i = 0; i < data.length; i++) {					
+					 await this.getTest(data[i].id);
+				}
+			},
+			
+
+			 getTest(id) {
+				 console.log("浼犲弬"+id)
+				 // let Authorization="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2NDYzNjY4NDgsInVzZXJuYW1lIjoiMTM2MTE0NTIxNzUifQ.3QLykIpMBJ__R2s5ReJp53mmPp3WLEWF0xZgvi0rL_I";
+				 let Authorization=""
+				 try {
+				 	Authorization = uni.getStorageSync('token')
+				} catch (e) {}
+				return new Promise((resolve, reject) => {
+					// 灏佽涓讳綋锛氱綉缁滆姹�
+					 uni.request({
+						url: this.$ApiUrl+ '/assets/approval/getAssetsTypes', //浠呬负绀轰緥锛屽苟闈炵湡瀹炴帴鍙e湴鍧�銆�
+						data: {
+							parentId: id
+						},
+						header: {
+							'Authorization': Authorization //鑷畾涔夎姹傚ご淇℃伅
+						},
+						
+						success: (res) => {
+							console.log('杩旇繕:',id); // 鎺у埗鍙版樉绀烘暟鎹俊鎭�
+							// this.$refs.uToast.show({
+							// 	type: 'success',
+							// 	message: "鑾峰彇鎴愬姛"
+							// });
+							let typeData = []
+							if (res.data.code === 0) {
+								let data = res.data.data;
+								for (let i = 0; i < data.length; i++) {
+									let jsonData = {
+										id: data[i].id,
+										name: data[i].name
+									}
+									typeData.push(jsonData);
+								}
+							}
+							// console.log('typeData=',typeData)
+							this.columnData.push(typeData);
+							
+							if (!this.flag) {
+								this.columns.push(typeData);
+								this.flag = true;
+							}
+							
+							// debugger;
+							resolve(res.data.data)
+						},
+						fail: (err) => {
+							this.$refs.uToast.show({
+								type: 'error',
+								message: "澶辫触锛�"+err
+							});
+							// 杩斿洖閿欒娑堟伅
+							reject(err)
+						}
+					})
+				})
+			},
+			
+			//浣滃簾
+			getAssetsTypes(id) {
+				console.log("浼犲弬=" + id)
+				this.$http.get('/assets/approval/getAssetsTypes', {
+						params: {
+							parentId: id
+						}
+					})
+					.then(res => {
+						console.log('杩斿洖锛�',id);
+						// debugger;
+						let typeData = []
+						if (res.data.code === 0) {
+							let data = res.data.data;
+							for (let i = 0; i < data.length; i++) {
+								let jsonData = {
+									id: data[i].id,
+									name: data[i].name
+								}
+								typeData.push(jsonData);
+							}
+						}
+						// console.log('typeData=',typeData)
+						this.columnData.push(typeData);
+
+						if (!this.flag) {
+							this.columns.push(typeData);
+							this.flag = true;
+						}
+
+					}).catch(err => {
+						console.log('閿欒', err)
+					})
 			}
 
 

--
Gitblit v1.9.1