|
|
@@ -40,7 +40,9 @@
|
|
|
<% group.groupList.forEach(item => { %>
|
|
|
<dd class="border-bottom p-2 mb-0 " data-id="<%- item.id %>">
|
|
|
<p class="mb-0 d-flex"><span class="text-primary"><%- item.name %></span><span
|
|
|
- class="ml-auto"><%- item.mobile %></span></p>
|
|
|
+ class="ml-auto"><%- item.mobile %></span>
|
|
|
+ <span class="selected-mark text-success ml-2" style="display:none;"><i class="fa fa-check"></i></span>
|
|
|
+ </p>
|
|
|
<span class="text-muted"><%- item.role %></span>
|
|
|
</dd>
|
|
|
<% });%>
|
|
|
@@ -130,12 +132,15 @@
|
|
|
accountList.filter(item => item && (item.name.indexOf(newVal) !== -1 || (item.mobile && item.mobile.indexOf(newVal) !== -1))).forEach(item => {
|
|
|
html += `<dd class="border-bottom p-2 mb-0 " data-id="${item.id}" >
|
|
|
<p class="mb-0 d-flex"><span class="text-primary">${item.name}</span><span
|
|
|
- class="ml-auto">${item.mobile || ''}</span></p>
|
|
|
+ class="ml-auto">${item.mobile || ''}</span>
|
|
|
+ <span class="selected-mark text-success ml-2" style="display:none;"><i class="fa fa-check"></i></span>
|
|
|
+ </p>
|
|
|
<span class="text-muted">${item.role || ''}</span>
|
|
|
</dd>`
|
|
|
})
|
|
|
$('#authority-list .book-list').empty()
|
|
|
$('#authority-list .book-list').append(html)
|
|
|
+ syncSelectedMarks();
|
|
|
} else {
|
|
|
if (!$('#authority-list .acc-btn').length) {
|
|
|
accountGroup.forEach((group, idx) => {
|
|
|
@@ -146,7 +151,9 @@
|
|
|
group.groupList.forEach(item => {
|
|
|
html += `<dd class="border-bottom p-2 mb-0 " data-id="${item.id}" >
|
|
|
<p class="mb-0 d-flex"><span class="text-primary">${item.name}</span><span
|
|
|
- class="ml-auto">${item.mobile || ''}</span></p>
|
|
|
+ class="ml-auto">${item.mobile || ''}</span>
|
|
|
+ <span class="selected-mark text-success ml-2" style="display:none;"><i class="fa fa-check"></i></span>
|
|
|
+ </p>
|
|
|
<span class="text-muted">${item.role || ''}</span>
|
|
|
</dd>`
|
|
|
});
|
|
|
@@ -154,6 +161,7 @@
|
|
|
})
|
|
|
$('#authority-list .book-list').empty()
|
|
|
$('#authority-list .book-list').append(html)
|
|
|
+ syncSelectedMarks();
|
|
|
}
|
|
|
}
|
|
|
}, 400);
|
|
|
@@ -177,11 +185,13 @@
|
|
|
return false
|
|
|
});
|
|
|
// 添加到成员中
|
|
|
- $('body').on('click', '#authority-list dl dd', function () {
|
|
|
+ $('body').on('click', '#authority-list dl dd', function (e) {
|
|
|
+ e.stopPropagation();
|
|
|
const id = parseInt($(this).data('id'));
|
|
|
if (!isNaN(id) && id !== 0) {
|
|
|
postData(auditSaveUrl, {type: 'add-audit', id: id}, function (result) {
|
|
|
setList(result);
|
|
|
+ syncSelectedMarks();
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
@@ -244,8 +254,43 @@
|
|
|
}
|
|
|
$('#contract-audit-list').html(list);
|
|
|
$("#contract-audit-table").bootstrapTable('resetView');
|
|
|
+ syncSelectedMarks();
|
|
|
}
|
|
|
|
|
|
+ // --- 新增:同步下拉菜单选中状态的函数 ---
|
|
|
+ function syncSelectedMarks() {
|
|
|
+ // 1. 获取表格中所有用户的 UID
|
|
|
+ const tableUids = new Set(); // 使用 Set 提高查找效率
|
|
|
+ $('#contract-audit-list tr').each(function() {
|
|
|
+ // 假设每个权限复选框的 value 都是用户的 uid
|
|
|
+ const $firstCheckbox = $(this).find('.permission-checkbox').first();
|
|
|
+ if ($firstCheckbox.length) {
|
|
|
+ const uid = parseInt($firstCheckbox.val(), 10);
|
|
|
+ if (!isNaN(uid)) {
|
|
|
+ tableUids.add(uid);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ // 2. 遍历下拉菜单中的所有用户项 (dd),并根据 UID 状态更新 .selected-mark
|
|
|
+ $('.dropdown-menu .book-list dd[data-id]').each(function() {
|
|
|
+ const userId = parseInt($(this).data('id'), 10); // 获取 dd 的 data-id
|
|
|
+ const $mark = $(this).find('.selected-mark'); // 找到对应的标记 span
|
|
|
+
|
|
|
+ if (!isNaN(userId) && $mark.length > 0) {
|
|
|
+ if (tableUids.has(userId)) {
|
|
|
+ // 如果用户已在表格中,则显示勾选标记
|
|
|
+ $mark.show();
|
|
|
+ } else {
|
|
|
+ // 如果用户不在表格中,则隐藏勾选标记
|
|
|
+ $mark.hide();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ // --- 新增结束 ---
|
|
|
+
|
|
|
+
|
|
|
$('body').on('click', '.del-contract-audit-a', function () {
|
|
|
$('#del-audit-ids').val($(this).attr('data-id'));
|
|
|
$('#del-contract-audit').modal('show');
|
|
|
@@ -257,6 +302,7 @@
|
|
|
// toastr.success(`成功添加 位用户`);
|
|
|
$('#del-contract-audit').modal('hide');
|
|
|
setList(result);
|
|
|
+ syncSelectedMarks();
|
|
|
})
|
|
|
});
|
|
|
|