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

View File

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

View File

@@ -162,10 +162,6 @@
placeholder="同步模板后自动填充" placeholder="同步模板后自动填充"
/> />
</div> </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> </div>
</div> </div>
@@ -588,9 +584,7 @@
.mapping-row__grid { .mapping-row__grid {
display: grid; display: grid;
grid-template-columns: grid-template-columns: repeat(4, minmax(0, 1fr));
minmax(120px, 1.1fr) minmax(140px, 1.3fr) minmax(120px, 1fr) minmax(100px, 0.8fr)
minmax(140px, 1.2fr);
gap: 12px; gap: 12px;
} }
@@ -631,10 +625,6 @@
.mapping-row__grid { .mapping-row__grid {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
.mapping-field--option {
grid-column: 1 / -1;
}
} }
} }
@@ -642,10 +632,6 @@
.mapping-row__grid { .mapping-row__grid {
grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr));
} }
.mapping-field--option {
grid-column: 1 / -1;
}
} }
@media (max-width: 768px) { @media (max-width: 768px) {

View File

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