From 26ebe244b9f52749d7b268ea03d069a5c999f0e1 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 03 七月 2026 10:18:36 +0800
Subject: [PATCH] 提交
---
admin/src/components/business/OperaInternalCompanyWindow.vue | 98 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 93 insertions(+), 5 deletions(-)
diff --git a/admin/src/components/business/OperaInternalCompanyWindow.vue b/admin/src/components/business/OperaInternalCompanyWindow.vue
index b383ad0..4f7ae9a 100644
--- a/admin/src/components/business/OperaInternalCompanyWindow.vue
+++ b/admin/src/components/business/OperaInternalCompanyWindow.vue
@@ -25,6 +25,24 @@
<el-radio :label="1" v-if="sysConfig() && sysConfig().orgUserDataOrigin!=3">鍐呴儴缁勭粐</el-radio>
</el-radio-group>
</el-form-item>
+ <el-form-item label="瀵规帴閮ㄩ棬" prop="relationCompanyId" v-if="form.type === 0">
+ <treeselect
+ @input="changeSel"
+ v-model="form.relationCompanyId"
+ placeholder="璇烽�夋嫨"
+ :options="companyTree"
+ :normalizer="normalizeOptions"
+ :default-expand-level="1"
+ noChildrenText="娌℃湁瀛愰�夐」"
+ noOptionsText="娌℃湁鍙�夐」"
+ noResultsText="娌℃湁鍖归厤鐨勭粨鏋�" />
+ </el-form-item>
+ <el-form-item label="瀵规帴浜哄憳" prop="relationUserId" v-if="form.type === 0">
+ <el-select v-model="form.relationUserId" clearable filterable placeholder="璇烽�夋嫨">
+ <el-option v-for="item in memberList" :key="item.id" :label="item.name" :value="item.id">
+ </el-option>
+ </el-select>
+ </el-form-item>
</el-form>
</GlobalWindow>
</template>
@@ -33,6 +51,8 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalWindow from '@/components/common/GlobalWindow'
import companySelect from '@/components/common/companySelect'
+import { allList } from '@/api/business/member'
+import { fetchList as companyTree } from '@/api/business/company'
export default {
name: 'OperaInternalCompanyWindow',
extends: BaseOpera,
@@ -40,6 +60,9 @@
data () {
return {
options: [],
+ memberList: [],
+ companyTree: [],
+ isInit: false,
// 琛ㄥ崟鏁版嵁
form: {
id: null,
@@ -48,7 +71,9 @@
parentId: null,
disable: false,
parentName: '',
- sortnum: ''
+ sortnum: '',
+ relationCompanyId: null,
+ relationUserId: null
},
editType: '',
parentId: null,
@@ -79,12 +104,14 @@
open (title, target, row, editType) {
this.title = title
this.editType = editType
+ this.isInit = false
if (editType === 'edit') {
this.parentId = row.parentId
} else if (editType === 'add') {
this.parentId = target.parentId
}
this.visible = true
+ this.getfindCompanyTreePage()
this.form = {
id: null,
type: 0,
@@ -93,7 +120,9 @@
disable: false,
parentName: '',
parentType: null,
- sortnum: null
+ sortnum: null,
+ relationCompanyId: null,
+ relationUserId: null
}
if (target != null) {
this.form.parentId = target.id
@@ -106,19 +135,74 @@
this.$refs.form.resetFields()
this.form[this.configData['field.id']] = null
this.form.type = 0
+ this.isInit = true
})
return
}
// 缂栬緫
+ const savedRelationUserId = row.relationUserId
this.$nextTick(() => {
this.originPermissionCode = target.code
for (const key in this.form) {
- this.form[key] = row[key]
+ if (row[key] !== undefined) {
+ this.form[key] = row[key]
+ }
}
if (target.type == 0) {
this.form.type = 0
}
+
+ setTimeout(() => {
+ this.form.relationUserId = savedRelationUserId
+ }, 500)
+
+ this.loadMember().then(() => {
+ this.isInit = true
+ })
})
+ },
+ normalizeOptions (node) {
+ if (!node.childList || !node.childList.length) {
+ delete node.childList
+ }
+ return {
+ id: node.id,
+ label: node.name,
+ children: node.childList
+ }
+ },
+ changeSel () {
+ const { form } = this
+ if (form.relationCompanyId) {
+ this.loadMember().then(() => {
+ if (this.isInit) {
+ this.form.relationUserId = ''
+ }
+ })
+ }
+ },
+ getfindCompanyTreePage () {
+ companyTree(1)
+ .then(res => {
+ if (res && res.length > 0) {
+ this.companyTree = res
+ }
+ })
+ },
+ loadMember () {
+ const { form } = this
+ return allList({
+ type: 2,
+ companyId: form.relationCompanyId
+ })
+ .then(res => {
+ this.memberList = res
+ })
+ .catch(e => {
+ })
+ .finally(() => {
+ this.isWorking = false
+ })
},
// 纭鏂板缓/淇敼
confirm () {
@@ -133,7 +217,9 @@
parentId: this.form.parentId,
name: this.form.name,
type: this.form.type,
- sortnum: this.form.sortnum
+ sortnum: this.form.sortnum,
+ relationCompanyId: this.form.relationCompanyId,
+ relationUserId: this.form.relationUserId
})
.then(() => {
this.visible = false
@@ -152,7 +238,9 @@
parentId: this.form.parentId,
name: this.form.name,
type: this.form.type,
- sortnum: this.form.sortnum
+ sortnum: this.form.sortnum,
+ relationCompanyId: this.form.relationCompanyId,
+ relationUserId: this.form.relationUserId
})
.then(() => {
this.visible = false
--
Gitblit v1.9.3