12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- '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 class="text-center">序号</th>
- <th class="text-center">单位名称 ${unitListOrder.getOrderButton('name')}</th>
- <th class="text-center">账号数</th>
- <th class="text-center">类型 ${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 class="text-center" width="50px">${index+1}</td>
- <td ><a href="javascript:void(0)">${u.name}</a></td>
- <td class="text-right" 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 }
- })();
|