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 | 129 +++++++++++++++++++++++++++++++----------- 1 files changed, 94 insertions(+), 35 deletions(-) diff --git a/pages/basics/demo.vue b/pages/basics/demo.vue index 40a3e86..b108a74 100644 --- a/pages/basics/demo.vue +++ b/pages/basics/demo.vue @@ -1,15 +1,16 @@ <template> <view> <scroll-view> - <view class="demo-tab"> + <view> <checkbox-group @change="checkbox"> - <label v-for="(item,index) in data" :key="index" class="demo-list" :class="'bg-'+ item.checked"> - <view class="demo-list-left"><checkbox :value="index+''" :checked="item.checked" /> + <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="width: 90rpx;">璁㈠崟 | </text>{{item.orderNo}}<text>搴忓彿锛歿{index+1}}</text></view> - <view><text >鍟嗗搧缂栫爜锛�</text>{{item.matnr}}</view> - <view :class="'bg-'+item.checked"><text>搴斿叆鏁伴噺锛�</text><view class="text-num">{{item.anfme}}</view><text>鍟嗗搧鍚嶇О锛�</text>{{item.maktx}}</view> + <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> @@ -17,8 +18,19 @@ </view> </scroll-view> <view class="foot flex justify-around"> - <button class="cu-btn bg-yellow lg">涓婃灦</button> - <button class="cu-btn bg-yellow 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> @@ -28,8 +40,9 @@ data() { return { data: [], - background:'unCheck', - color:'' + check:false, + checkText:'鍏ㄩ��', + checkedData:[], } }, mounted() { @@ -49,7 +62,6 @@ } else { that.getData(); } - }, getData() { let that = this @@ -61,28 +73,75 @@ var res = res.data if (res.code === 200) { that.data = res.data.records - that.setCheck() - } } }) }, - setCheck() { - for (var i = 0; i < this.data.length; i++) { - var key = 'checked', - value = false - this.data[i][key] = value - } - }, checkbox: function (e) { - var val = e.detail.value - for (var i = 0; i < val.length; i++) { - val[i] = parseInt(val[i]) - this.data[val[i]].checked = true - + 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) + } } - console.log(this.data) + 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> @@ -92,14 +151,12 @@ background-color: #FFFFFF; } .bg-true { - background-color: #55ffff; + background-color: #ebebeb; } - .demo-tab { - } + .demo-list { - border-bottom: 1px solid #d8d8d8; - height: 160rpx; + height: 150rpx; } .demo-list:last-child { margin-bottom: 99rpx; @@ -108,21 +165,23 @@ display: block; } .demo-list-left { + /* background-color: #007AFF; */ display: inline-block; - width: 100rpx; + float: left; text-align: center; + width: 100rpx; height: 150rpx; line-height: 150rpx; } .demo-list-right { + /* background-color: #55ffff; */ display: inline-block; - width: 650rpx; - float: right; + float: left; + height: 150rpx; } .demo-list-right text { display: inline-block; - width: 150rpx; } .text-num { display: inline-block; -- Gitblit v1.9.1