|
@@ -28,6 +28,7 @@
|
|
|
#copy-contract-col-set { z-index: 1060; }
|
|
#copy-contract-col-set { z-index: 1060; }
|
|
|
#copy-contract-col-set .copy-target-list { max-height: 420px; overflow-y: auto; }
|
|
#copy-contract-col-set .copy-target-list { max-height: 420px; overflow-y: auto; }
|
|
|
#copy-contract-col-set .copy-target-row { min-height: 34px; }
|
|
#copy-contract-col-set .copy-target-row { min-height: 34px; }
|
|
|
|
|
+ #copy-contract-col-set .copy-target-row.copy-target-hidden { display: none !important; }
|
|
|
</style>
|
|
</style>
|
|
|
<div class="modal fade" id="col-set" data-backdrop="static">
|
|
<div class="modal fade" id="col-set" data-backdrop="static">
|
|
|
<div class="modal-dialog modal-xl" role="document">
|
|
<div class="modal-dialog modal-xl" role="document">
|
|
@@ -99,13 +100,17 @@
|
|
|
<% if (!contractColCopyTargets.some(item => !item.is_folder && !item.current)) { %><div class="text-muted p-3">暂无其他可设置的<%- contractColCopyScope === 'tender' ? '标段' : '子项目' %></div><% } %>
|
|
<% if (!contractColCopyTargets.some(item => !item.is_folder && !item.current)) { %><div class="text-muted p-3">暂无其他可设置的<%- contractColCopyScope === 'tender' ? '标段' : '子项目' %></div><% } %>
|
|
|
<% for (const target of contractColCopyTargets) { %>
|
|
<% for (const target of contractColCopyTargets) { %>
|
|
|
<div class="copy-target-row d-flex align-items-center border-bottom px-2"
|
|
<div class="copy-target-row d-flex align-items-center border-bottom px-2"
|
|
|
|
|
+ data-tree-level="<%- target.tree_level || 1 %>"
|
|
|
style="padding-left: <%- 12 + ((target.tree_level || 1) - 1) * 24 %>px !important;">
|
|
style="padding-left: <%- 12 + ((target.tree_level || 1) - 1) * 24 %>px !important;">
|
|
|
<% if (target.is_folder) { %>
|
|
<% if (target.is_folder) { %>
|
|
|
- <i class="fa fa-folder-o text-warning mr-2"></i><span><%- target.name %></span>
|
|
|
|
|
|
|
+ <% if ((target.children && target.children.length) || target.has_children) { %>
|
|
|
|
|
+ <button type="button" class="copy-target-expand btn btn-link btn-sm p-0 mr-2" aria-expanded="true" aria-label="展开或收起分类"><i class="fa fa-minus-square-o"></i></button>
|
|
|
|
|
+ <% } else { %><span class="mr-3"></span><% } %>
|
|
|
|
|
+ <i class="fa fa-folder-o text-warning mr-2"></i><span><%= target.name %></span>
|
|
|
<% } else { %>
|
|
<% } else { %>
|
|
|
<label class="mb-0 w-100">
|
|
<label class="mb-0 w-100">
|
|
|
<input type="checkbox" class="copy-contract-col-target mr-2" value="<%- target.id %>" <%- target.current ? 'disabled' : '' %>>
|
|
<input type="checkbox" class="copy-contract-col-target mr-2" value="<%- target.id %>" <%- target.current ? 'disabled' : '' %>>
|
|
|
- <i class="fa <%- contractColCopyScope === 'tender' ? 'fa-flag-o' : 'fa-file-o' %> text-muted mr-1"></i><%- target.name %><% if (target.current) { %><span class="text-muted ml-2">(当前)</span><% } %>
|
|
|
|
|
|
|
+ <i class="fa <%- contractColCopyScope === 'tender' ? 'fa-flag-o' : 'fa-file-o' %> text-muted mr-1"></i><%= target.name %><% if (target.current) { %><span class="text-muted ml-2">(当前)</span><% } %>
|
|
|
</label>
|
|
</label>
|
|
|
<% } %>
|
|
<% } %>
|
|
|
</div>
|
|
</div>
|
|
@@ -210,4 +215,18 @@ $('#copy-contract-col-set-ok').on('click', function() {
|
|
|
toastr.success(msg || ('已设置至' + data.count + '个目标'));
|
|
toastr.success(msg || ('已设置至' + data.count + '个目标'));
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
|
|
+$('#copy-contract-col-set').on('click', '.copy-target-expand', function() {
|
|
|
|
|
+ const $folder = $(this).closest('.copy-target-row');
|
|
|
|
|
+ const collapsed = $folder.toggleClass('is-collapsed').hasClass('is-collapsed');
|
|
|
|
|
+ $(this).attr('aria-expanded', !collapsed)
|
|
|
|
|
+ .find('i').toggleClass('fa-minus-square-o', !collapsed).toggleClass('fa-plus-square-o', collapsed);
|
|
|
|
|
+ const collapsedLevels = [];
|
|
|
|
|
+ $('#copy-contract-col-set .copy-target-row').each(function() {
|
|
|
|
|
+ const $row = $(this);
|
|
|
|
|
+ const level = Number($row.data('tree-level'));
|
|
|
|
|
+ while (collapsedLevels.length && collapsedLevels[collapsedLevels.length - 1] >= level) collapsedLevels.pop();
|
|
|
|
|
+ $row.toggleClass('copy-target-hidden', collapsedLevels.length > 0);
|
|
|
|
|
+ if ($row.hasClass('is-collapsed')) collapsedLevels.push(level);
|
|
|
|
|
+ });
|
|
|
|
|
+});
|
|
|
</script>
|
|
</script>
|