fix: 修复角色id, 企微审批场景
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 10m25s

This commit is contained in:
luo
2026-07-28 14:27:55 +08:00
parent 2706c52a47
commit 0e8a11430a
4 changed files with 31 additions and 36 deletions

View File

@@ -631,7 +631,7 @@
const getActions = (row: any) => {
const actions: any[] = []
if (hasAuth(JULY_PERMISSIONS.wecom.binding)) {
if (row.user_type === 2 && hasAuth(JULY_PERMISSIONS.wecom.binding)) {
actions.push({
label: '绑定账号',
handler: () => showWecomBindingDialog(row),
@@ -667,6 +667,11 @@
}
const showWecomBindingDialog = (row: any) => {
if (row.user_type !== 2) {
ElMessage.warning('只有平台用户可以绑定企微账号')
return
}
currentWecomAccount.value = row
wecomBindingForm.application_id = undefined
wecomBindingForm.userid = ''
@@ -706,6 +711,11 @@
const valid = await wecomBindingFormRef.value?.validate().catch(() => false)
if (!valid || !currentWecomAccount.value || !wecomBindingForm.application_id) return
if (currentWecomAccount.value.user_type !== 2) {
ElMessage.error('只有平台用户可以绑定企微账号')
return
}
const accountId = Number(currentWecomAccount.value.id ?? currentWecomAccount.value.ID)
if (!accountId) {
ElMessage.error('当前账号缺少账号标识,无法绑定企微')

View File

@@ -304,7 +304,6 @@
:deep(.el-card__body) {
display: flex;
height: auto;
min-height: 108px;
flex-direction: column;
justify-content: space-between;
gap: 10px;

View File

@@ -162,10 +162,6 @@
placeholder="同步模板后自动填充"
/>
</div>
<div class="mapping-field mapping-field--option">
<span class="mapping-field__label">选择项映射</span>
<ElInput v-model="mapping.option_mapping" placeholder="JSON可为空对象" />
</div>
</div>
</div>
</div>
@@ -588,9 +584,7 @@
.mapping-row__grid {
display: grid;
grid-template-columns:
minmax(120px, 1.1fr) minmax(140px, 1.3fr) minmax(120px, 1fr) minmax(100px, 0.8fr)
minmax(140px, 1.2fr);
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 12px;
}
@@ -631,10 +625,6 @@
.mapping-row__grid {
grid-template-columns: 1fr;
}
.mapping-field--option {
grid-column: 1 / -1;
}
}
}
@@ -642,10 +632,6 @@
.mapping-row__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.mapping-field--option {
grid-column: 1 / -1;
}
}
@media (max-width: 768px) {

View File

@@ -25,7 +25,7 @@
<!-- 表格 -->
<ArtTable
ref="tableRef"
row-key="id"
row-key="id"
:loading="loading"
:data="roleList"
:currentPage="pagination.page"
@@ -466,10 +466,8 @@
width: 150,
formatter: (row: PlatformRole) => {
if (row.role_type !== RoleType.CUSTOMER) return '-'
return h(
ElTag,
{ type: row.default_credit_enabled ? 'success' : 'info' },
() => (row.default_credit_enabled ? '启用' : '未启用')
return h(ElTag, { type: row.default_credit_enabled ? 'success' : 'info' }, () =>
row.default_credit_enabled ? '启用' : '未启用'
)
}
},
@@ -508,10 +506,10 @@
label: '角色描述'
},
{
prop: 'created_at',
prop: 'created_at',
label: '创建时间',
width: 180,
formatter: (row: any) => formatDateTime(row.created_at)
formatter: (row: any) => formatDateTime(row.created_at)
},
{
prop: 'actions',
@@ -1011,7 +1009,13 @@
// 显示分配权限对话框
const showPermissionDialog = async (row: PlatformRole) => {
currentRoleId.value = getRoleId(row)
const roleId = getRoleId(row)
if (!roleId) {
ElMessage.error('缺少角色 ID无法分配权限')
return
}
currentRoleId.value = roleId
currentRole.value = {
role_name: row.role_name,
role_type: row.role_type
@@ -1024,7 +1028,7 @@
try {
// 加载当前角色的权限
const res = await RoleService.getRolePermissions(row.ID)
const res = await RoleService.getRolePermissions(roleId)
if (res.code === 0 || Array.isArray(res.data)) {
// 提取权限ID数组
@@ -1120,7 +1124,7 @@
if (type === 'edit' && row) {
let roleDetail = row
try {
const res = await RoleService.getRole(getRoleId(row))
const res = await RoleService.getRole(getRoleId(row))
if (res.code === 0 && res.data) {
roleDetail = res.data
}
@@ -1128,17 +1132,13 @@
console.error('获取角色详情失败:', error)
}
form.id = getRoleId(roleDetail)
form.id = getRoleId(roleDetail)
form.role_name = roleDetail.role_name
form.role_desc = roleDetail.role_desc
form.role_type = roleDetail.role_type
form.status = roleDetail.status
form.credit_enabled = Boolean(
roleDetail.default_credit_enabled ?? roleDetail.credit_enabled
)
form.credit_limit_yuan = fenToYuan(
roleDetail.default_credit_limit ?? roleDetail.credit_limit
)
form.credit_enabled = Boolean(roleDetail.default_credit_enabled ?? roleDetail.credit_enabled)
form.credit_limit_yuan = fenToYuan(roleDetail.default_credit_limit ?? roleDetail.credit_limit)
} else {
form.id = 0
form.role_name = ''
@@ -1161,7 +1161,7 @@
})
.then(async () => {
try {
await RoleService.deleteRole(getRoleId(row))
await RoleService.deleteRole(getRoleId(row))
ElMessage.success('删除成功')
await getTableData()
} catch (error) {
@@ -1226,7 +1226,7 @@
// 先更新UI
row.status = newStatus
try {
await RoleService.updateRoleStatus(getRoleId(row), newStatus as 0 | 1)
await RoleService.updateRoleStatus(getRoleId(row), newStatus as 0 | 1)
ElMessage.success('状态切换成功')
} catch (error) {
// 切换失败,恢复原状态