fix(platform): constrain delivery account role

This commit is contained in:
czl231
2026-08-10 21:06:12 +08:00
parent cb1dbb52b4
commit 7f594eb608
4 changed files with 73 additions and 7 deletions

View File

@@ -152,7 +152,9 @@
<a-input v-model="accountForm.display_name" />
</a-form-item>
<a-form-item label="角色编码">
<a-input v-model="accountForm.role_code" />
<!-- 配送点后台当前仅支持 admin其他账户资源仍保留原有输入方式 -->
<a-input v-if="definition.accountManagement?.resource !== '/delivery_account'" v-model="accountForm.role_code" />
<a-input v-else model-value="配送点管理员" disabled />
</a-form-item>
</a-form>
</a-modal>
@@ -674,10 +676,12 @@ async function loadManagedAccounts() {
}
function resetAccountForm(row?: Row) {
// 配送点账户使用服务端唯一支持的管理员角色,避免生成无法登录的账号。
const fixedRoleCode = props.definition.accountManagement?.resource === '/delivery_account' ? 'admin' : undefined;
accountForm.username = row?.username ?? '';
accountForm.password = '';
accountForm.display_name = row?.display_name ?? '';
accountForm.role_code = row?.role_code ?? '';
accountForm.role_code = fixedRoleCode ?? row?.role_code ?? '';
}
function openAccountCreate() {
@@ -712,7 +716,7 @@ async function saveAccount() {
try {
const payload: Record<string, unknown> = {
display_name: String(accountForm.display_name ?? '').trim(),
role_code: String(accountForm.role_code ?? '').trim(),
role_code: management.resource === '/delivery_account' ? 'admin' : String(accountForm.role_code ?? '').trim(),
[management.relationKey]: ownerIdentity,
};
if (!accountEditingIdentity.value) {