Эх сурвалжийг харах

perf(views): 优化"创建角色"步骤树形组件全选逻辑

wangshun 2 долоо хоног өмнө
parent
commit
0b592d724d

+ 1 - 0
src/i18n/locales/zh.json

@@ -445,6 +445,7 @@
     "excellent": "优",
     "excellent": "优",
     "fanAirHumiditySetting": "送风湿度设置",
     "fanAirHumiditySetting": "送风湿度设置",
     "fanTemperatureSetting": "送风温度设置",
     "fanTemperatureSetting": "送风温度设置",
+    "hanValue": "焓值",
     "humidity": "湿度",
     "humidity": "湿度",
     "humidityTemperatureControl": "湿温度控制模式",
     "humidityTemperatureControl": "湿温度控制模式",
     "indoor": "室内",
     "indoor": "室内",

+ 2 - 2
src/views/create-customer/AddAccount.vue

@@ -45,10 +45,10 @@ const deleteAccount = () => {
               :placeholder="$t('common.plzSelect')"
               :placeholder="$t('common.plzSelect')"
             />
             />
           </AFormItem>
           </AFormItem>
-          <AFormItem label="到期时间" name="name">
+          <AFormItem label="到期时间">
             <ADatePicker class="input-width" />
             <ADatePicker class="input-width" />
           </AFormItem>
           </AFormItem>
-          <AFormItem label="启用" name="name">
+          <AFormItem label="启用">
             <ASwitch />
             <ASwitch />
           </AFormItem>
           </AFormItem>
         </AFlex>
         </AFlex>

+ 12 - 13
src/views/create-customer/CreateCharacter.vue

@@ -1,5 +1,5 @@
 <script setup lang="ts">
 <script setup lang="ts">
-import { onMounted, ref, useTemplateRef, watch } from 'vue';
+import { onMounted, ref, useTemplateRef } from 'vue';
 
 
 import ConfirmModal from '@/components/ConfirmModal.vue';
 import ConfirmModal from '@/components/ConfirmModal.vue';
 import SvgIcon from '@/components/SvgIcon.vue';
 import SvgIcon from '@/components/SvgIcon.vue';
@@ -60,12 +60,17 @@ const characterDelete = (index: number) => {
   modalComponentRef.value?.showView();
   modalComponentRef.value?.showView();
 };
 };
 const addMenu = () => {
 const addMenu = () => {
-  console.log(checkedKeys.value);
-  console.log(checkedAll.value);
+  if (checkedKeys.value.length === 0) {
+    checked.value = false;
+    indeterminate.value = false;
+    return;
+  }
   if (checkedAll.value.length !== checkedKeys.value.length) {
   if (checkedAll.value.length !== checkedKeys.value.length) {
     indeterminate.value = true;
     indeterminate.value = true;
+    checked.value = false;
   } else {
   } else {
     indeterminate.value = false;
     indeterminate.value = false;
+    checked.value = true;
   }
   }
 };
 };
 const selectAll = () => {
 const selectAll = () => {
@@ -100,20 +105,12 @@ const transformTreeData = (data: TreeStructure[]): DataNode[] => {
   }));
   }));
 };
 };
 
 
-watch(
-  () => checkedAll.value,
-  (count) => {
-    if (count) {
-      console.log(count);
-    }
-  },
-);
-
 onMounted(() => {
 onMounted(() => {
   handleRequest(async () => {
   handleRequest(async () => {
     const data = await getSubPermList(0);
     const data = await getSubPermList(0);
     const treeData = transformTreeData(data);
     const treeData = transformTreeData(data);
     treeStructure.value = treeData[0].subPermissions;
     treeStructure.value = treeData[0].subPermissions;
+    checkedAll.value = getAllKeys(treeStructure.value);
   });
   });
 });
 });
 </script>
 </script>
@@ -172,7 +169,9 @@ onMounted(() => {
         </AFormItem>
         </AFormItem>
         <AFormItem label="菜单权限配置">
         <AFormItem label="菜单权限配置">
           <div class="permission-configuration">
           <div class="permission-configuration">
-            <ACheckbox class="select-all" v-model:checked="checked" @change="selectAll">全选</ACheckbox>
+            <ACheckbox class="select-all" :indeterminate="indeterminate" v-model:checked="checked" @change="selectAll"
+              >全选</ACheckbox
+            >
             <ATree
             <ATree
               v-model:expanded-keys="expandedKeys"
               v-model:expanded-keys="expandedKeys"
               v-model:selected-keys="selectedKeys"
               v-model:selected-keys="selectedKeys"