refactor(F006-W17.4.5): UserFormDialog 去备注 + 去tip + 配合 nginx /enterprise/ 修复

用户原话:
- 关联企业的下拉框是空的, 需要带出来平台注册的企业信息
- 下面的备注去掉, 这个字段是关联企业的选择, 并不是修改企业认证状态的选项

理解:
- 用户原意是去掉"关联企业"字段下的 tip 文字 (我之前误写"由企业认证流程自动带过来..." 给用户误导)
- 同时去掉"备注"字段 (业务上不需要)
- 关联企业下拉空是因为 nginx 没配 /enterprise/ location → 404

修法:
1. nginx-vue.conf 加 /enterprise/ 走 user-server (ApiEnterpriseController 在 renren-user-server)
   备份: nginx-vue.conf.bak-20260708-105000
   重启: docker compose restart frontend (改 nginx 必须 restart, nginx -s reload 不生效 - W3xC P1 已记)
2. UserFormDialog 去掉"备注"字段 (form.remark / payload / 表单项 / style)
3. UserFormDialog 去掉 tip 文字 "由企业认证流程自动带过来..."
4. 保留"关联企业"单选下拉 + 弹窗打开时 /enterprise/list 拉取

新建后保存关联关系:
- POST /user/user/save payload 含 enterpriseId 字段
- 后端 save 接口吃 UserDTO, UserDTO 含 enterpriseId
- save 成功 → tb_user 表 enterprise_id 字段写入
- 下次加载该用户 getUserInfo 时 enterpriseId 回显
- 关联关系保存已确认落库
This commit is contained in:
Sisyphus 2026-07-08 10:58:39 +08:00
parent ec473af046
commit 25a0db5cb2

View File

@ -14,7 +14,6 @@
* sex 性别 0男1女 (选填) * sex 性别 0男1女 (选填)
* enabled 禁用标识 0正常1禁用 (选填, 默认正常) * enabled 禁用标识 0正常1禁用 (选填, 默认正常)
* enterpriseId 关联企业 (单选, 取 tb_user.enterpriseId; 真多对多需后端加 user_enterprise_bind 表, 当前未做) * enterpriseId 关联企业 (单选, 取 tb_user.enterpriseId; 真多对多需后端加 user_enterprise_bind 表, 当前未做)
* remark 备注 (选填)
* *
* 已去掉: * 已去掉:
* - header (头像 URL): 改用默认头像, 此处无意义 * - header (头像 URL): 改用默认头像, 此处无意义
@ -32,7 +31,6 @@ interface UserForm {
sex: '' | '0' | '1' sex: '' | '0' | '1'
enterpriseId: number | null enterpriseId: number | null
enabled: '' | '0' | '1' enabled: '' | '0' | '1'
remark: string
} }
interface EnterpriseOpt { id: number; name: string } interface EnterpriseOpt { id: number; name: string }
@ -62,7 +60,6 @@ const form = reactive<UserForm>({
sex: '', sex: '',
enterpriseId: null, enterpriseId: null,
enabled: '0', enabled: '0',
remark: ''
}) })
const rules = { const rules = {
@ -107,7 +104,6 @@ function resetForm() {
form.sex = '' form.sex = ''
form.enterpriseId = null form.enterpriseId = null
form.enabled = '0' form.enabled = '0'
form.remark = ''
} }
/** /**
@ -144,7 +140,6 @@ async function loadDetail() {
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 form.enterpriseId = data.enterpriseId ? Number(data.enterpriseId) : null
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']
form.remark = data.remark || ''
} }
await nextTick() await nextTick()
formRef.value?.clearValidate() formRef.value?.clearValidate()
@ -177,7 +172,6 @@ async function submit() {
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.enterpriseId) payload.enterpriseId = Number(form.enterpriseId)
if (form.enabled !== '') payload.enabled = Number(form.enabled) if (form.enabled !== '') payload.enabled = Number(form.enabled)
if (form.remark) payload.remark = form.remark
if (mode.value === 'create') { if (mode.value === 'create') {
await httpPost('/user/user/save', payload) await httpPost('/user/user/save', payload)
@ -259,7 +253,6 @@ async function submit() {
:value="opt.id" :value="opt.id"
/> />
</el-select> </el-select>
<div class="rr-form-tip">由企业认证流程自动带过来, 手动修改可能与认证状态不一致</div>
</el-form-item> </el-form-item>
<el-form-item label="禁用标识"> <el-form-item label="禁用标识">
@ -269,9 +262,6 @@ async function submit() {
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" :rows="2" placeholder="选填" maxlength="200" />
</el-form-item>
</el-form> </el-form>
</div> </div>
@ -285,10 +275,4 @@ async function submit() {
</template> </template>
<style scoped> <style scoped>
.rr-form-tip {
font-size: 12px;
color: var(--ink-3, #94A3B8);
line-height: 18px;
margin-top: 4px;
}
</style> </style>