tender_list_order.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author Mai
  6. * @date
  7. * @version
  8. */
  9. const tenderListOrder = (function () {
  10. let orderSetting = getLocalCache('zh-calc-tender-list-order');
  11. if (!orderSetting) orderSetting = 'name|up';
  12. function reOrderTenders (orderStr) {
  13. if (orderStr) {
  14. orderSetting = orderStr;
  15. setLocalCache('zh-calc-tender-list-order', orderStr);
  16. }
  17. const orders = orderSetting.split('|');
  18. if (orders[0] === 'name') {
  19. tenders.sort(function (a, b) {
  20. return orders[1] === 'up'
  21. ? a[orders[0]].localeCompare(b[orders[0]], 'zh-CN')
  22. : -a[orders[0]].localeCompare(b[orders[0]], 'zh-CN')
  23. });
  24. } else if (orders[0] === 'create_time') {
  25. tenders.sort(function (a, b){
  26. return orders[1] === 'up'
  27. ? Date.parse(a[orders[0]]) - Date.parse(b[orders[0]])
  28. : Date.parse(b[orders[0]]) - Date.parse(a[orders[0]]);
  29. })
  30. }
  31. initTenderTree();
  32. $('.c-body').html(getTenderTreeHtml());
  33. localHideList();
  34. }
  35. function getOrderButton(field) {
  36. const orders = orderSetting.split('|');
  37. const button = field === orders[0]
  38. ? (orders[1] === 'up'
  39. ? '<i class="fa fa-sort-amount-asc" aria-hidden="true" onclick="tenderListOrder.reOrderTenders(\'' + field + '|down' + '\')"></i>'
  40. : '<i class="fa fa-sort-amount-desc" aria-hidden="true" onclick="tenderListOrder.reOrderTenders(\'' + field + '|up' + '\')"></i>')
  41. : '<i class="fa fa-sort" aria-hidden="true" onclick="tenderListOrder.reOrderTenders(\'' + field + '|up' + '\')"></i>';
  42. return '<a href="javascript:void(0)" class="btn btn-sm ml-1">' + button + '</a>';
  43. }
  44. return { reOrderTenders, getOrderButton }
  45. })();