Browse Source

fix:全选的逻辑处理

chenzhen2 1 year ago
parent
commit
daa90cf55d
1 changed files with 63 additions and 3 deletions
  1. 63 3
      src/views/choiceSpace/choiceSpace.vue

+ 63 - 3
src/views/choiceSpace/choiceSpace.vue

@@ -55,7 +55,18 @@
       </template>
     </div>
     <div class="next-btn-box" v-if="spaceData && spaceData.length">
-      <button @click="goNext">下一步</button>
+      <!-- <div class="check-all">
+        <van-checkbox
+          class="check-all-item"
+          v-model="checkallStatus"
+          @click="checkAll"
+          shape="square"
+        ></van-checkbox>
+        <span>全选</span>
+      </div> -->
+      <button :class="setAllStausFlag ? 'disabled-btn' : ''" @click="goNext">
+        下一步
+      </button>
     </div>
     <!--弹出模块-->
     <van-popup v-model:show="show" position="bottom">
@@ -138,7 +149,7 @@ export default defineComponent({
     ];
     let positionArr: any = [];
     let checkPositon: any = {
-      buildingName:''
+      buildingName: "",
     };
     const defaultSpaceData: any = {};
     const buildingData: any = [];
@@ -195,6 +206,28 @@ export default defineComponent({
       showPounp() {
         proxyData.show = !proxyData.show;
       },
+      //  全选
+      setAllStausFlag: false,
+      checkallStatus: false,
+      checkAll() {
+        let data: any = [];
+        proxyData.spaceData.map((item: any) => {
+          let obj: any = {
+            spaceId: item.spaceId,
+            isMajorSpace: 0,
+            macAddress: proxyData.userInfo.mac,
+          };
+          data.push(obj);
+        });
+        proxyGlobal.proxy.$loadingStart(0);
+        proxyData.setAllStausFlag = true;
+        if (proxyData.checkallStatus) {
+          // 全选
+          console.log(proxyData.spaceData);
+        } else {
+          // 反选择
+        }
+      },
       showSpaceTypePounp() {
         proxyData.showSpaceType = !proxyData.showSpaceType;
       },
@@ -311,7 +344,8 @@ export default defineComponent({
         getDefaultLocation(paramsStr).then((res) => {
           let resData: any = res;
           proxyData.defaultSpaceData = resData?.data ?? {};
-          proxyData.checkPositon.buildingId =proxyData.defaultSpaceData.buildingId;
+          proxyData.checkPositon.buildingId =
+            proxyData.defaultSpaceData.buildingId;
           proxyData.setCheckPersiton();
           proxyData.getBuildingList();
         });
@@ -342,6 +376,10 @@ export default defineComponent({
       },
       // 设置主空间
       goNext() {
+        if (proxyData.setAllStausFlag) {
+          Toast("正在设置工作空间,请等loding结束后再操作下一步!");
+          return;
+        }
         proxyGlobal.proxy.$loadingStart(0);
         proxyData.querySpaceList();
       },
@@ -707,6 +745,25 @@ export default defineComponent({
     box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.05),
       0px 4px 15px rgba(0, 0, 0, 0.05);
     text-align: center;
+    .check-all {
+      position: absolute;
+      left: 30px;
+      top: 20px;
+      text-align: left;
+      display: inline-block;
+      vertical-align: middle;
+      // width: 54%;
+      .check-all-item {
+        font-size: 18px;
+        display: inline-block;
+        vertical-align: middle;
+      }
+      span {
+        display: inline-block;
+        vertical-align: middle;
+        padding-left: 10px;
+      }
+    }
     button {
       width: 46%;
       height: 40px;
@@ -726,6 +783,9 @@ export default defineComponent({
         background: $elActiveColor;
       }
     }
+    .disabled-btn {
+      opacity: 0.2;
+    }
   }
 }
 </style>