From 078a5c4ced367fdbd5a16c27c8bada6e44e632d5 Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期四, 09 十月 2025 16:00:33 +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