diff --git a/src/views/account-management/account/index.vue b/src/views/account-management/account/index.vue index 43d3a2b..3b693f8 100644 --- a/src/views/account-management/account/index.vue +++ b/src/views/account-management/account/index.vue @@ -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('当前账号缺少账号标识,无法绑定企微') diff --git a/src/views/settings/wecom/members/index.vue b/src/views/settings/wecom/members/index.vue index 1f8821f..d8b215d 100644 --- a/src/views/settings/wecom/members/index.vue +++ b/src/views/settings/wecom/members/index.vue @@ -304,7 +304,6 @@ :deep(.el-card__body) { display: flex; height: auto; - min-height: 108px; flex-direction: column; justify-content: space-between; gap: 10px; diff --git a/src/views/settings/wecom/scenes/index.vue b/src/views/settings/wecom/scenes/index.vue index 45c97a4..b3b27c9 100644 --- a/src/views/settings/wecom/scenes/index.vue +++ b/src/views/settings/wecom/scenes/index.vue @@ -162,10 +162,6 @@ placeholder="同步模板后自动填充" /> -
- 选择项映射 - -
@@ -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) { diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index a70aeb2..67cf5e0 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -25,7 +25,7 @@ { 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) { // 切换失败,恢复原状态