|
@@ -0,0 +1,82 @@
|
|
|
+'use strict';
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ *
|
|
|
+ * @author Mai
|
|
|
+ * @date
|
|
|
+ * @version
|
|
|
+ */
|
|
|
+
|
|
|
+const unitListOrder = (function () {
|
|
|
+ let orderSetting = getLocalCache('zh-calc-unit-list-order');
|
|
|
+ if (!orderSetting) orderSetting = 'create_time|up';
|
|
|
+ const pinyin = new PinYinOrder();
|
|
|
+ function CompareStr (x, y) {
|
|
|
+ return pinyin.compareWord(x, y);
|
|
|
+ }
|
|
|
+ function reOrderUnits (orderStr, htmlClass = '#unit_list') {
|
|
|
+ if (orderStr) {
|
|
|
+ orderSetting = orderStr;
|
|
|
+ setLocalCache('zh-calc-unit-list-order', orderStr);
|
|
|
+ }
|
|
|
+ const orders = orderSetting.split('|');
|
|
|
+ if (orders[0] === 'name') {
|
|
|
+ unitList.sort(function (a, b) {
|
|
|
+ return orders[1] === 'up'
|
|
|
+ ? CompareStr(a[orders[0]], b[orders[0]])
|
|
|
+ : CompareStr(b[orders[0]], a[orders[0]]);
|
|
|
+ });
|
|
|
+ } else if (orders[0] === 'create_time') {
|
|
|
+ unitList.sort(function (a, b){
|
|
|
+ return orders[1] === 'up'
|
|
|
+ ? Date.parse(a[orders[0]]) - Date.parse(b[orders[0]])
|
|
|
+ : Date.parse(b[orders[0]]) - Date.parse(a[orders[0]]);
|
|
|
+ })
|
|
|
+ } else if (orders[0] === 'type') {
|
|
|
+ unitList.sort(function (a, b){
|
|
|
+ return orders[1] === 'up'
|
|
|
+ ? a[orders[0]] - b[orders[0]]
|
|
|
+ : b[orders[0]] - a[orders[0]];
|
|
|
+ })
|
|
|
+ }
|
|
|
+ resetHeaderHtml();
|
|
|
+ $(htmlClass).html(getUnitsHtml());
|
|
|
+ setUnitRightHtml(unitList[0].id);
|
|
|
+ }
|
|
|
+ function getOrderButton(field) {
|
|
|
+ const orders = orderSetting.split('|');
|
|
|
+ const button = field === orders[0]
|
|
|
+ ? (orders[1] === 'up'
|
|
|
+ ? '<i class="fa fa-sort-amount-asc" aria-hidden="true" onclick="unitListOrder.reOrderUnits(\'' + field + '|down' + '\')"></i>'
|
|
|
+ : '<i class="fa fa-sort-amount-desc" aria-hidden="true" onclick="unitListOrder.reOrderUnits(\'' + field + '|up' + '\')"></i>')
|
|
|
+ : '<i class="fa fa-sort" aria-hidden="true" onclick="unitListOrder.reOrderUnits(\'' + field + '|up' + '\')"></i>';
|
|
|
+ return '<a href="javascript:void(0)" class="btn btn-sm ml-1">' + button + '</a>';
|
|
|
+ }
|
|
|
+
|
|
|
+ function resetHeaderHtml() {
|
|
|
+ $('#unit_header').html(`<tr>
|
|
|
+ <th>序号</th>
|
|
|
+ <th>单位名称 ${unitListOrder.getOrderButton('name')}</th>
|
|
|
+ <th>账号数</th>
|
|
|
+ <th>类型 ${unitListOrder.getOrderButton('type')}</th>
|
|
|
+ <th class="text-center">备注</th></tr>`);
|
|
|
+ }
|
|
|
+
|
|
|
+ function getUnitsHtml() {
|
|
|
+ let html = '';
|
|
|
+ if (unitList.length > 0) {
|
|
|
+ for (const [index, u] of unitList.entries()) {
|
|
|
+ html += `<tr ${index === 0 ? 'class="table-warning"' : ''} data-id="${u.id}">
|
|
|
+ <td width="50px">${index+1}</td>
|
|
|
+ <td ><a href="javascript:void(0)">${u.name}</a></td>
|
|
|
+ <td width="80px">${u.account_num}</td>
|
|
|
+ <td width="100px">${accountGroup[u.type]}</td>
|
|
|
+ <td width="150px">${u.basic ? u.basic : ''}</td>
|
|
|
+ </tr>`;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return html;
|
|
|
+ }
|
|
|
+ return { reOrderUnits, getOrderButton, resetHeaderHtml }
|
|
|
+})();
|