From 6a3a559f4ed3a38926fb2aee3101940d3927704d Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 07 四月 2025 17:19:32 +0800
Subject: [PATCH] 优化

---
 admin/src/components/business/OperaMemberWindow.vue |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/admin/src/components/business/OperaMemberWindow.vue b/admin/src/components/business/OperaMemberWindow.vue
index cc748e7..d5ee026 100644
--- a/admin/src/components/business/OperaMemberWindow.vue
+++ b/admin/src/components/business/OperaMemberWindow.vue
@@ -7,13 +7,21 @@
       <el-form-item label="鎵�灞炵粍缁�" prop="companyId">
 <!--        <el-cascader v-model="form.company" :options="department" @change="handleChangeCompany" :show-all-levels="false"
           clearable filterable :props="departprops"></el-cascader>-->
-        <el-select v-model="form.companyId"  clearable filterable placeholder="璇烽�夋嫨">
-          <template v-for="item in companyList">
-<!--              v-if="item.countNum && item.countNum>0"-->
-            <el-option  :key="item.id" :label="item.companyNamePath" :value="item.id">
-            </el-option>
-          </template>
-        </el-select>
+<!--        <el-select v-model="form.companyId"  clearable filterable placeholder="璇烽�夋嫨">-->
+<!--          <template v-for="item in companyList">-->
+<!--            <el-option  :key="item.id" :label="item.companyNamePath" :value="item.id">-->
+<!--            </el-option>-->
+<!--          </template>-->
+<!--        </el-select>-->
+        <treeselect
+            v-model="form.companyId"
+            placeholder="璇烽�夋嫨"
+            :options="treeData"
+            :normalizer="normalizeOptions"
+            :default-expand-level="1"
+            noChildrenText="娌℃湁瀛愰�夐」"
+            noOptionsText="娌℃湁鍙�夐」"
+            noResultsText="娌℃湁鍖归厤鐨勭粨鏋�" />
         <div style="font-size: 12px;color: #F56C6C">
           娉細浠呮敮鎸侀�夋嫨 銆恵{ companyType === 0 ? '鐩稿叧鏂圭粍缁�' : '鍐呴儴缁勭粐' }}銆�
         </div>
@@ -153,6 +161,7 @@
         positionId: null,
         faceImgFull: ''
       },
+      treeData: [],
       // 楠岃瘉瑙勫垯
       rules: {
         name: [{ required: true, message: '璇疯緭鍏ュ憳宸ュ鍚�', trigger: 'blur' }],
@@ -170,6 +179,21 @@
     })
   },
   methods: {
+    // 瑙勮寖鍖栭�夐」鏁版嵁鐨勬柟娉�
+    normalizeOptions(node) {
+      // node: 鍘熷鐨勯�夐」鏁版嵁
+      // 鍦ㄨ繖閲屾牴鎹渶瑕佽繘琛岄�夐」鏁版嵁鐨勮鑼冨寲鎿嶄綔锛屽苟杩斿洖瑙勮寖鍖栧悗鐨勯�夐」鏁版嵁
+      // 渚嬪锛屽彲浠ュ皢鍘熷鐨勯�夐」鏁版嵁杞崲涓虹鍚堟彃浠惰姹傜殑缁撴瀯
+      if (node.childList && !node.childList.length) {
+        // 鍘绘帀children=[]鐨刢hildren灞炴��
+        delete node.childList;
+      }
+      return {
+        id: node.id,
+        label: node.name,
+        children: node.childList,
+      };
+    },
     getCompany() {
       companyGetList({
         model: {type:this.companyType } ,

--
Gitblit v1.9.3