feat(F006): 用户编辑弹窗关联企业改多选 - 一人可属多个企业, 回显enterpriseIdList, 提交enterpriseIds
This commit is contained in:
parent
b6033c65d5
commit
220852aeca
@ -13,7 +13,7 @@
|
|||||||
* password 密码 (新建必填, 修改可选-留空表示不修改)
|
* password 密码 (新建必填, 修改可选-留空表示不修改)
|
||||||
* sex 性别 0男1女 (选填)
|
* sex 性别 0男1女 (选填)
|
||||||
* enabled 禁用标识 0正常1禁用 (选填, 默认正常)
|
* enabled 禁用标识 0正常1禁用 (选填, 默认正常)
|
||||||
* enterpriseId 关联企业 (单选, 取 tb_user.enterpriseId; 真多对多需后端加 user_enterprise_bind 表, 当前未做)
|
* enterpriseIds 关联企业 (多选, 一人可属多个企业; 后端维护 tb_supplier_enterprise 绑定表, C端可切换企业身份)
|
||||||
*
|
*
|
||||||
* 已去掉:
|
* 已去掉:
|
||||||
* - header (头像 URL): 改用默认头像, 此处无意义
|
* - header (头像 URL): 改用默认头像, 此处无意义
|
||||||
@ -29,7 +29,7 @@ interface UserForm {
|
|||||||
mobile: string
|
mobile: string
|
||||||
password: string
|
password: string
|
||||||
sex: '' | '0' | '1'
|
sex: '' | '0' | '1'
|
||||||
enterpriseId: number | null
|
enterpriseIds: number[]
|
||||||
enabled: '' | '0' | '1'
|
enabled: '' | '0' | '1'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ const form = reactive<UserForm>({
|
|||||||
mobile: '',
|
mobile: '',
|
||||||
password: '',
|
password: '',
|
||||||
sex: '',
|
sex: '',
|
||||||
enterpriseId: null,
|
enterpriseIds: [],
|
||||||
enabled: '0',
|
enabled: '0',
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ function resetForm() {
|
|||||||
form.mobile = ''
|
form.mobile = ''
|
||||||
form.password = ''
|
form.password = ''
|
||||||
form.sex = ''
|
form.sex = ''
|
||||||
form.enterpriseId = null
|
form.enterpriseIds = []
|
||||||
form.enabled = '0'
|
form.enabled = '0'
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -155,7 +155,11 @@ async function loadDetail() {
|
|||||||
form.mobile = data.mobile || ''
|
form.mobile = data.mobile || ''
|
||||||
form.password = ''
|
form.password = ''
|
||||||
form.sex = (data.sex === 0 || data.sex === 1 ? String(data.sex) : '') as UserForm['sex']
|
form.sex = (data.sex === 0 || data.sex === 1 ? String(data.sex) : '') as UserForm['sex']
|
||||||
form.enterpriseId = data.enterpriseId ? Number(data.enterpriseId) : null
|
// 多企业关联回显: 后端 getUserInfo 返回 enterpriseIdList; 兼容旧数据单值 enterpriseId
|
||||||
|
const ids = Array.isArray(data.enterpriseIdList)
|
||||||
|
? data.enterpriseIdList.map((v: any) => Number(v)).filter((v: any) => Number.isFinite(v) && v > 0)
|
||||||
|
: (data.enterpriseId ? [Number(data.enterpriseId)] : [])
|
||||||
|
form.enterpriseIds = ids
|
||||||
form.enabled = (data.enabled === 0 || data.enabled === 1 ? String(data.enabled) : '0') as UserForm['enabled']
|
form.enabled = (data.enabled === 0 || data.enabled === 1 ? String(data.enabled) : '0') as UserForm['enabled']
|
||||||
}
|
}
|
||||||
await nextTick()
|
await nextTick()
|
||||||
@ -187,7 +191,7 @@ async function submit() {
|
|||||||
}
|
}
|
||||||
if (form.password) payload.password = form.password
|
if (form.password) payload.password = form.password
|
||||||
if (form.sex !== '') payload.sex = Number(form.sex)
|
if (form.sex !== '') payload.sex = Number(form.sex)
|
||||||
if (form.enterpriseId) payload.enterpriseId = Number(form.enterpriseId)
|
if (form.enterpriseIds.length) payload.enterpriseIds = form.enterpriseIds
|
||||||
if (form.enabled !== '') payload.enabled = Number(form.enabled)
|
if (form.enabled !== '') payload.enabled = Number(form.enabled)
|
||||||
|
|
||||||
if (mode.value === 'create') {
|
if (mode.value === 'create') {
|
||||||
@ -259,12 +263,13 @@ async function submit() {
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="关联企业">
|
<el-form-item label="关联企业" prop="enterpriseIds">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.enterpriseId"
|
v-model="form.enterpriseIds"
|
||||||
placeholder="请选择关联企业 (可选)"
|
placeholder="请选择关联企业 (可多选, 一人可属多个企业)"
|
||||||
clearable
|
multiple
|
||||||
filterable
|
filterable
|
||||||
|
clearable
|
||||||
:loading="enterpriseLoading"
|
:loading="enterpriseLoading"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
>
|
>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user