更新
This commit is contained in:
@@ -550,12 +550,15 @@ async function loadOverview() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function openPoolDialog(pool?: any) {
|
function openPoolDialog(pool?: any) {
|
||||||
|
const selectableMemberIds = new Set(overview.member_options.map((member) => Number(member.id)))
|
||||||
Object.assign(poolForm, pool ? {
|
Object.assign(poolForm, pool ? {
|
||||||
id: Number(pool.id),
|
id: Number(pool.id),
|
||||||
name: pool.name,
|
name: pool.name,
|
||||||
fallback_url: pool.fallback_url || '',
|
fallback_url: pool.fallback_url || '',
|
||||||
status: Number(pool.status),
|
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,
|
skip_verify: Number(pool.skip_verify) === 1 ? 1 : 0,
|
||||||
main_url: pool.main_url || ''
|
main_url: pool.main_url || ''
|
||||||
} : {
|
} : {
|
||||||
|
|||||||
@@ -758,6 +758,7 @@ class WecomPromotionLogic
|
|||||||
}
|
}
|
||||||
$query = Db::name('admin')->alias('a')
|
$query = Db::name('admin')->alias('a')
|
||||||
->whereNull('a.delete_time')
|
->whereNull('a.delete_time')
|
||||||
|
->where('a.disable', 0)
|
||||||
->where('a.work_wechat_userid', '<>', '');
|
->where('a.work_wechat_userid', '<>', '');
|
||||||
if ($visibleIds !== null) {
|
if ($visibleIds !== null) {
|
||||||
$query->whereIn('a.id', $visibleIds);
|
$query->whereIn('a.id', $visibleIds);
|
||||||
|
|||||||
@@ -32,6 +32,13 @@ foreach ($overview['member_options'] as $member) {
|
|||||||
throw new RuntimeException('member_options 缺少树形下拉展示部门');
|
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'])) {
|
if (!is_array($overview['department_options'])) {
|
||||||
throw new RuntimeException('department_options 必须是部门树数组');
|
throw new RuntimeException('department_options 必须是部门树数组');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user