更新
This commit is contained in:
@@ -550,12 +550,15 @@ async function loadOverview() {
|
||||
}
|
||||
|
||||
function openPoolDialog(pool?: any) {
|
||||
const selectableMemberIds = new Set(overview.member_options.map((member) => Number(member.id)))
|
||||
Object.assign(poolForm, pool ? {
|
||||
id: Number(pool.id),
|
||||
name: pool.name,
|
||||
fallback_url: pool.fallback_url || '',
|
||||
status: Number(pool.status),
|
||||
member_admin_ids: Array.isArray(pool.member_admin_ids) ? pool.member_admin_ids.map(Number) : [],
|
||||
member_admin_ids: Array.isArray(pool.member_admin_ids)
|
||||
? pool.member_admin_ids.map(Number).filter((memberId: number) => selectableMemberIds.has(memberId))
|
||||
: [],
|
||||
skip_verify: Number(pool.skip_verify) === 1 ? 1 : 0,
|
||||
main_url: pool.main_url || ''
|
||||
} : {
|
||||
|
||||
@@ -758,6 +758,7 @@ class WecomPromotionLogic
|
||||
}
|
||||
$query = Db::name('admin')->alias('a')
|
||||
->whereNull('a.delete_time')
|
||||
->where('a.disable', 0)
|
||||
->where('a.work_wechat_userid', '<>', '');
|
||||
if ($visibleIds !== null) {
|
||||
$query->whereIn('a.id', $visibleIds);
|
||||
|
||||
@@ -32,6 +32,13 @@ foreach ($overview['member_options'] as $member) {
|
||||
throw new RuntimeException('member_options 缺少树形下拉展示部门');
|
||||
}
|
||||
}
|
||||
$memberIds = array_values(array_unique(array_map('intval', array_column($overview['member_options'], 'id'))));
|
||||
if ($memberIds !== []) {
|
||||
$disabledMemberCount = (int) Db::name('admin')->whereIn('id', $memberIds)->where('disable', '<>', 0)->count();
|
||||
if ($disabledMemberCount > 0) {
|
||||
throw new RuntimeException('member_options 返回了已禁用的成员');
|
||||
}
|
||||
}
|
||||
if (!is_array($overview['department_options'])) {
|
||||
throw new RuntimeException('department_options 必须是部门树数组');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user