From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 11 九月 2025 18:43:14 +0800
Subject: [PATCH] 最新版本541200007

---
 admin/src/components/business/OperaMemberWindow.vue |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/admin/src/components/business/OperaMemberWindow.vue b/admin/src/components/business/OperaMemberWindow.vue
index ff2e2f6..b7b678a 100644
--- a/admin/src/components/business/OperaMemberWindow.vue
+++ b/admin/src/components/business/OperaMemberWindow.vue
@@ -5,8 +5,23 @@
         <el-input v-model="form.name" placeholder="璇疯緭鍏ュ鍚�" v-trim />
       </el-form-item>
       <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-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">-->
+<!--            <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>
@@ -97,6 +112,7 @@
 import { checkMobile, validIdCardNo, validIdCardNoNew } from '@/utils/form'
 import { allList } from '@/api/business/position'
 import { upload } from '@/api/system/common'
+import {companyGetList} from "@/api/business/company";
 export default {
   name: 'OperaCompanyWindow',
   extends: BaseOpera,
@@ -124,6 +140,7 @@
       companyType: 0,
       department: [],
       positionList: [],
+      companyList: [],
       // 琛ㄥ崟鏁版嵁
       form: {
         id: null,
@@ -144,6 +161,7 @@
         positionId: null,
         faceImgFull: ''
       },
+      treeData: [],
       // 楠岃瘉瑙勫垯
       rules: {
         name: [{ required: true, message: '璇疯緭鍏ュ憳宸ュ鍚�', trigger: 'blur' }],
@@ -161,9 +179,35 @@
     })
   },
   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 } ,
+        capacity: 10000,
+        page: 1,
+      }).then(res => {
+        this.companyList = res.records || []
+
+      })
+    },
     openCamera() {
       this.paisheModal = true
       this.isShowCamera = true
+      this.blobFileCamera = ''
       const that = this
       this.$nextTick(() => {
         var mediaOpts = { audio: false, video: true }
@@ -201,6 +245,7 @@
     // 鐐瑰嚮鎷嶆憚
     setImage() {
       const that = this
+      this.blobFileCamera = ''
       that.isShowCamera = false
       const video = document.querySelector('#videoCamera')
       const canvas = document.querySelector('#canvasCamera')
@@ -243,6 +288,7 @@
           // this.updateImg = false
           this.form.faceImg = res.imgaddr
           this.form.faceImgFull = res.url
+          this.isShowCropper = false
           // this.$emit('uploadSuccess', { imgurl: res.imgaddr, imgurlfull: res.url, name: res.originname })
           // this.$emit('uploadEnd')
         }, () => {
@@ -311,6 +357,7 @@
         faceImgFull: ''
       }
       this.companyType = companyType
+      this.getCompany()
       this.getPositionList()
       // 鏂板缓
       if (target == null) {
@@ -319,6 +366,8 @@
           this.form[this.configData['field.id']] = null
           this.form.company = []
         })
+
+        this.getCompany()
         return
       }
       // 缂栬緫

--
Gitblit v1.9.3