From ff087240b3dee29ce4e14ad0836e76b9fdf312cf Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 19 八月 2025 09:28:07 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/lianhelihua_sh

---
 admin/src/components/business/OperaManagersWindow.vue |   98 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 92 insertions(+), 6 deletions(-)

diff --git a/admin/src/components/business/OperaManagersWindow.vue b/admin/src/components/business/OperaManagersWindow.vue
index e106aac..5a93fea 100644
--- a/admin/src/components/business/OperaManagersWindow.vue
+++ b/admin/src/components/business/OperaManagersWindow.vue
@@ -6,8 +6,37 @@
     @confirm="confirm"
   >
     <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item  label="閫夋嫨璐熻矗浜猴細" prop="memberId">
-        <el-select v-model="form.memberId" filterable remote :remote-method="loadMember" :loading="loading"  placeholder="鍙緭鍏ュ鍚� | 鎵嬫満鍙� | 閮ㄩ棬鍚嶇О杩涜鎼滅储">
+      <el-form-item label="璁剧疆鑼冨洿" prop="isMember" :required="true">
+        <el-radio-group v-model="form.isMember">
+          <el-radio :label="0">閫夋嫨閮ㄩ棬</el-radio>
+<!--          <el-radio :label="1">閮ㄩ棬鍙婂叾涓嬬骇閮ㄩ棬鍛樺伐</el-radio>-->
+          <el-radio :label="2">鎸囧畾浜哄憳</el-radio>
+        </el-radio-group>
+      </el-form-item>
+      <el-form-item label="鎵�灞炵粍缁�" prop="companyIds" v-if="form.isMember==0 || form.isMember==1"  :required="true">
+<!--        <treeselect
+            v-model="form.companyId"
+            placeholder="璇烽�夋嫨"
+            :options="companyTree"
+            :normalizer="normalizeOptions"
+            :default-expand-level="1"
+            noChildrenText="娌℃湁瀛愰�夐」"
+            noOptionsText="娌℃湁鍙�夐」"
+            noResultsText="娌℃湁鍖归厤鐨勭粨鏋�" />-->
+        <el-tree
+            ref="tree"
+            :data="companyTree"
+            show-checkbox
+            node-key="id"
+            default-expand-all
+            @check-change="changeTree"
+            :expand-on-click-node="false"
+            :check-on-click-node="false"
+            :props="{id:'id',children: 'childList',label: 'name',isLeaf:'isLeaf'}">
+        </el-tree>
+      </el-form-item>
+      <el-form-item  label="閫夋嫨璐熻矗浜猴細" prop="memberIds" v-if="form.isMember==2" :required="true">
+        <el-select v-model="form.memberIds" filterable :multiple="true" :loading="loading"  placeholder="鍙緭鍏ュ鍚� | 鎵嬫満鍙� | 閮ㄩ棬鍚嶇О杩涜鎼滅储">
           <el-option
               v-for="item in memberList"
               :key="item.id"
@@ -35,6 +64,9 @@
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
 import { allList } from '@/api/business/member'
+import { treeList, allList as companyList } from '@/api/business/company'
+import { createRoleMenu } from '@/api/system/role'
+import { create } from '@/api/business/managers'
 
 export default {
   name: 'OperaManagersWindow',
@@ -45,17 +77,28 @@
       // 琛ㄥ崟鏁版嵁
       form: {
         type: '',
+        companyId: null,
         memberId: '',
+        memberIds: [],
+        companyIds: [],
         remark: '',
         isQw: 0,
-        isEmail: 0
+        isEmail: 0,
+        isMember: 0
       },
+      companyTree: [],
       loading: false,
       memberList: [],
       // 楠岃瘉瑙勫垯
       rules: {
-        memberId: [
+        memberIds: [
           { required: true, message: '璇烽�夋嫨璐熻矗浜�' }
+        ],
+        companyIds: [
+          { required: true, message: '璇烽�夋嫨閮ㄩ棬' }
+        ],
+        isMember: [
+          { required: true, message: '閫夋嫨璁剧疆鑼冨洿' }
         ]
       }
     }
@@ -67,10 +110,52 @@
     })
   },
   methods: {
+    loadData (node, resolve) {
+      console.log(node)
+      if(!node.hasChildren  || (node.childList && node.childList.length >0)){
+        return
+      }
+      companyList({ parentId: node.id })
+        .then(res => {
+          node.childList = res
+        })
+    },
+    changeTree (node) {
+      const selectedMenus = this.$refs.tree.getCheckedNodes(false, true)
+      this.form.companyIds = selectedMenus.map(menu => menu.id)
+      console.log(this.form.companyIds)
+    },
+    getfindCompanyTreePage () {
+      treeList({})
+        .then(res => {
+          if (res && res.length > 0) {
+            res[0].fsStatus = 1
+            res[0].isLeaf = res[0].hasChildren
+            this.companyTree = res
+            // 鎵惧嚭鍙惰妭鐐�
+            // this.companyTree = this.companyTree.filter(menu => this.companyTree.findIndex(m => m.parentId === menu.id) === -1)
+            console.log(res)
+            // this.searchForm.erpOrgId = res[0].erpId
+          }
+        })
+    },
+
+    // 瑙勮寖鍖栭�夐」鏁版嵁鐨勬柟娉�
+    normalizeOptions (node) {
+      if (node.childList && !node.childList.length) {
+        delete node.childList
+      }
+      return {
+        id: node.id,
+        label: node.name,
+        children: node.childList
+      }
+    },
     loadMember (query) {
       this.memberList = []
+      console.log(query)
       if (!query || query == '') {
-        return
+        // return
       }
       this.loading = true
       allList({
@@ -95,7 +180,8 @@
         this.form[this.configData['field.id']] = null
       })
       this.memberList = []
-      // this.loadMember()
+      this.getfindCompanyTreePage()
+      this.loadMember()
     }
   }
 }

--
Gitblit v1.9.3