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) {
// 切换失败,恢复原状态