From 64fa2c33cd645e86d4e2a8c34c7881ea4aa678cf Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 17 六月 2025 18:33:37 +0800
Subject: [PATCH] 代码初始化

---
 admin/src/components/business/OperaManagersWindow.vue |  169 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 130 insertions(+), 39 deletions(-)

diff --git a/admin/src/components/business/OperaManagersWindow.vue b/admin/src/components/business/OperaManagersWindow.vue
index daa5157..2180c04 100644
--- a/admin/src/components/business/OperaManagersWindow.vue
+++ b/admin/src/components/business/OperaManagersWindow.vue
@@ -6,41 +6,55 @@
     @confirm="confirm"
   >
     <el-form :model="form" ref="form" :rules="rules">
-      <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator">
-        <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/>
+      <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="createDate">
-        <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker>
+      <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="true"
+            :props="{children: 'childList',label: 'name'}">
+        </el-tree>
       </el-form-item>
-      <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor">
-        <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
+      <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"
+              :label="item.name +' | '+(item.phone||'鏃�')+' | '+ item.companyName"
+              :value="item.id">
+          </el-option>
+        </el-select>
       </el-form-item>
-      <el-form-item label="鏇存柊鏃堕棿" prop="editDate">
-        <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker>
+      <el-form-item v-if="form.type==3" label="鏄惁浼佸井閫氱煡" prop="isQw" class="form-item-switch"  >
+        <el-switch v-model="form.isQw"  :active-value="1" :inactive-value="0"/>
+        <span class="switch-text"> </span>
       </el-form-item>
-      <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted">
-        <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/>
-      </el-form-item>
-      <el-form-item label="鎵�灞炲垎绫荤紪锛堝叧鑱攃ategory)" prop="categoryId">
-        <el-input v-model="form.categoryId" placeholder="璇疯緭鍏ユ墍灞炲垎绫荤紪锛堝叧鑱攃ategory)" v-trim/>
+      <el-form-item v-if="form.type==3" label="鏄惁閭欢閫氱煡" prop="isEmail" class="form-item-switch"  >
+        <el-switch v-model="form.isEmail"  :active-value="1" :inactive-value="0"/>
+        <span class="switch-text"></span>
       </el-form-item>
       <el-form-item label="澶囨敞" prop="remark">
         <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/>
-      </el-form-item>
-      <el-form-item label="鐘舵�� 0鍚敤 1绂佺敤" prop="status">
-        <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0鍚敤 1绂佺敤" v-trim/>
-      </el-form-item>
-      <el-form-item label="鎺掑簭鐮�" prop="sortnum">
-        <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
-      </el-form-item>
-      <el-form-item label="绫诲瀷 0DCA璐d换浜�1瀹夊叏椋庨櫓鐗╀笟涓荤 2瀹夊叏椋庨櫓澶勭悊宸ョ▼甯� 4SHE璐熻矗浜� 5SHE宸ュ崟閭鎶勯�佷汉" prop="type">
-        <el-input v-model="form.type" placeholder="璇疯緭鍏ョ被鍨� 0DCA璐d换浜�1瀹夊叏椋庨櫓鐗╀笟涓荤 2瀹夊叏椋庨櫓澶勭悊宸ョ▼甯� 4SHE璐熻矗浜� 5SHE宸ュ崟閭鎶勯�佷汉" v-trim/>
-      </el-form-item>
-      <el-form-item label="浜哄憳缂栫爜锛堝叧鑱攎ember)" prop="memberId">
-        <el-input v-model="form.memberId" placeholder="璇疯緭鍏ヤ汉鍛樼紪鐮侊紙鍏宠仈member)" v-trim/>
-      </el-form-item>
-      <el-form-item label="" prop="column13">
-        <el-input v-model="form.column13" placeholder="璇疯緭鍏�" v-trim/>
       </el-form-item>
     </el-form>
   </GlobalWindow>
@@ -49,6 +63,11 @@
 <script>
 import BaseOpera from '@/components/base/BaseOpera'
 import GlobalWindow from '@/components/common/GlobalWindow'
+import { allList } from '@/api/business/member'
+import { treeList } from '@/api/business/company'
+import { createRoleMenu } from '@/api/system/role'
+import { create } from '@/api/business/managers'
+
 export default {
   name: 'OperaManagersWindow',
   extends: BaseOpera,
@@ -57,22 +76,30 @@
     return {
       // 琛ㄥ崟鏁版嵁
       form: {
-        id: null,
-        creator: '',
-        createDate: '',
-        editor: '',
-        editDate: '',
-        isdeleted: '',
-        categoryId: '',
-        remark: '',
-        status: '',
-        sortnum: '',
         type: '',
+        companyId: null,
         memberId: '',
-        column13: ''
+        memberIds: [],
+        companyIds: [],
+        remark: '',
+        isQw: 0,
+        isEmail: 0,
+        isMember: 0
       },
+      companyTree: [],
+      loading: false,
+      memberList: [],
       // 楠岃瘉瑙勫垯
       rules: {
+        memberIds: [
+          { required: true, message: '璇烽�夋嫨璐熻矗浜�' }
+        ],
+        companyIds: [
+          { required: true, message: '璇烽�夋嫨閮ㄩ棬' }
+        ],
+        isMember: [
+          { required: true, message: '閫夋嫨璁剧疆鑼冨洿' }
+        ]
       }
     }
   },
@@ -81,6 +108,70 @@
       api: '/business/managers',
       'field.id': 'id'
     })
+  },
+  methods: {
+    changeTree(){
+      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
+            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
+      }
+      this.loading = true
+      allList({
+        keyword: query
+      })
+        .then(res => {
+          this.memberList = res
+        })
+        .catch(e => {
+        })
+        .finally(() => {
+          this.loading = false
+        })
+    },
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      // 鏂板缓
+      this.$nextTick(() => {
+        this.$refs.form.resetFields()
+        this.form.type = target != null ? target.type : null
+        this.form[this.configData['field.id']] = null
+      })
+      this.memberList = []
+      this.getfindCompanyTreePage()
+      this.loadMember()
+    }
   }
 }
 </script>

--
Gitblit v1.9.3