From 972b300a12c7d671ac28490693d3affaa1c04f47 Mon Sep 17 00:00:00 2001
From: whycq <whycq>
Date: 星期五, 01 四月 2022 17:09:23 +0800
Subject: [PATCH] #

---
 pages/basics/demo.vue |  158 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 141 insertions(+), 17 deletions(-)

diff --git a/pages/basics/demo.vue b/pages/basics/demo.vue
index 7db179d..b108a74 100644
--- a/pages/basics/demo.vue
+++ b/pages/basics/demo.vue
@@ -2,19 +2,35 @@
 	<view>
 		<scroll-view>
 			<view>
-				<view v-for="(item,index) in data" :key="index"  class="demo-list">
-					<view><text>璁㈠崟锛�</text><text>{{item.orderNo}}</text></view>
-					<view>搴斿叆鏁伴噺锛歿{item.anfme}}</view>
-					<view>宸插叆鏁伴噺锛歿{item.inQty}}</view>
-					<view>鍟嗗搧缂栫爜锛歿{item.matnr}}</view>
-					<view>鍟嗗搧鍚嶇О锛歿{item.maktx}}</view>
-					<view>璁㈠崟鐘舵�侊細{{item.state$}}</view>
-				</view>
+				<checkbox-group @change="checkbox">
+					<label v-for="(item,index) in data" :key="index" class="demo-list bg-false" :class="'bg-'+item.checked" >
+						<view class="demo-list-left">
+							<checkbox :value="item.id+''" :checked="item.checked" style="display: block;" />
+						</view>
+						<view class="demo-list-right">
+							<view><text style="font-weight: bold;">搴忓彿锛歿{index+1}}</text><text>璁㈠崟 | </text>{{item.orderNo}}</view>
+							<view><text style="font-size: 15rpx;">鍟嗗搧缂栫爜锛�</text>{{item.matnr}}</view>
+							<view><text style="font-size: 15rpx;">搴斿叆鏁伴噺锛�</text><view class="text-num">{{item.anfme}}</view><text>鍟嗗搧鍚嶇О锛�</text>{{item.maktx}}</view>
+							<view><text>宸插叆鏁伴噺锛�</text><view class="text-num">{{item.inQty}}</view><text>璁㈠崟鐘舵�侊細</text>{{item.state$}}</view>
+						</view>
+					</label>
+				</checkbox-group>
 			</view>
 		</scroll-view>
 		<view class="foot flex justify-around">
-			<button class="cu-btn bg-blue lg">涓婃灦</button>
-			<button class="cu-btn bg-blue lg">鎾ら攢涓婃灦</button>
+			<label>
+				<checkbox :checked="check" @click="allChecked()">{{checkText}}</checkbox>
+			</label>
+			<label>
+				<text  @click="reChecked()">鍙嶉��</text>
+			</label>
+			<label for="">
+				<button class="cu-btn bg-yellow lg" @click="shangjia()">涓婃灦</button>
+			</label>
+			<label for="">
+				<button class="cu-btn bg-yellow lg">鎾ら攢涓婃灦</button>
+			</label>
+			
 		</view>
 	</view>
 </template>
@@ -23,7 +39,10 @@
 	export default {
 		data() {
 			return {
-				data: []
+				data: [],
+				check:false,
+				checkText:'鍏ㄩ��',
+				checkedData:[],
 			}
 		},
 		mounted() {
@@ -43,7 +62,6 @@
 				} else {
 					that.getData();
 				}
-				
 			},
 			getData() {
 				let that = this
@@ -54,27 +72,133 @@
 					success(res) {
 						var res = res.data
 						if (res.code === 200) {
-							
 							that.data = res.data.records
-							console.log(that.data)
 						}
 					}
 				})
 			},
+			checkbox: function (e) {
+				var items = this.data,
+					values = e.detail.value;
+				for (var i = 0, lenI = items.length; i < lenI; ++i) {
+					const item = items[i]
+					item.id = item.id + ''
+					if(values.indexOf(item.id) >= 0){
+						this.$set(item,'checked',true)
+					}else{
+						this.$set(item,'checked',false)
+					}
+				}
+				if (values.length == items.length) {
+					this.check = true
+					this.checkText = "鍙栨秷鍏ㄩ��"
+				} else {
+					this.check = false
+					this.checkText = "鍏ㄩ��"
+				}
+			},
+			reChecked() { // 鍙嶉��
+				var checkArr = []
+				for (var i = 0; i < this.data.length;i++) {
+					if (this.data[i].checked == true) {
+						this.$set(this.data[i],'checked',false)
+					}else{
+						this.$set(this.data[i],'checked',true)
+					}
+					if (this.data[i].checked == true) {
+						checkArr.push(this.data[i].checked) 
+					}
+				}
+				if (checkArr.length == this.data.length) {
+					this.check = true
+					this.checkText = "鍙栨秷鍏ㄩ��"
+				} else {
+					this.check = false
+					this.checkText = "鍏ㄩ��"
+				}
+			},
+			allChecked(e){ // 鍏ㄩ��
+				if (this.check == true) {
+					for (var i = 0; i < this.data.length;i++) {
+						this.$set(this.data[i],'checked',false)
+					}
+					this.check = false
+					this.checkText = "鍏ㄩ��"
+				} else {
+					for (var i = 0; i < this.data.length;i++) {
+						this.$set(this.data[i],'checked',true)
+					}
+					this.check = true
+					this.checkText = "鍙栨秷鍏ㄩ��"
+				}
+				
+			},
+			shangjia() {
+				this.checkedData = []
+				for (var i = 0; i < this.data.length; i++) {
+					if (this.data[i].checked == true) {
+						this.checkedData.push(this.data[i])
+					}
+				}
+				console.log(this.checkedData)
+			}
 		}
 	}
 </script>
 
 <style>
-	.demo-list {
+	.bg-false {
 		background-color: #FFFFFF;
-		box-shadow: 0px 0px 2px #d3d3d3;
 	}
+	.bg-true {
+		background-color: #ebebeb;
+	}
+	
+	.demo-list {
+		border-bottom: 1px solid #d8d8d8;
+		height: 150rpx;
+	}
+	.demo-list:last-child {
+		margin-bottom: 99rpx;
+	}
+	label {
+		display: block;
+	}
+	.demo-list-left {
+		/* background-color: #007AFF; */
+		display: inline-block;
+		float: left;
+		text-align: center;
+		width: 100rpx;
+		height: 150rpx;
+		line-height: 150rpx;
+	}
+	.demo-list-right {
+		/* background-color: #55ffff; */
+		display: inline-block;
+		float: left;
+		height: 150rpx;
+	}
+
+	.demo-list-right text {
+		display: inline-block;
+	}
+	.text-num {
+		display: inline-block;
+		width: 90rpx;
+	}
+	
 	.foot {
 		width: 100%;
+		height: 100rpx;
+		line-height: 100rpx;
 		background-color: #ffffff;
 		position: fixed;
 		bottom: 0;
-		box-shadow: 0px -2px 5px gray;
+		border-top: 1rpx solid #d8d8d8;
 	}
+	checkbox {
+		/* transform:scale(0.7) */
+	}
+	
 </style>

--
Gitblit v1.9.1