Переглянути джерело

标段列表,标段管理,添加排序机制

MaiXinRong 5 роки тому
батько
коміт
591288c937

+ 47 - 0
app/public/js/shares/tender_list_order.js

@@ -0,0 +1,47 @@
+'use strict';
+
+/**
+ *
+ *
+ * @author Mai
+ * @date
+ * @version
+ */
+
+const tenderListOrder = (function () {
+    let orderSetting = getLocalCache('zh-calc-tender-list-order');
+    if (!orderSetting) orderSetting = 'name|up';
+    function reOrderTenders (orderStr) {
+        if (orderStr) {
+            orderSetting = orderStr;
+            setLocalCache('zh-calc-tender-list-order', orderStr);
+        }
+        const orders = orderSetting.split('|');
+        if (orders[0] === 'name') {
+            tenders.sort(function (a, b) {
+                return orders[1] === 'up'
+                    ? a[orders[0]].localeCompare(b[orders[0]], 'zh-CN')
+                    : -a[orders[0]].localeCompare(b[orders[0]], 'zh-CN')
+            });
+        } else if (orders[0] === 'create_time') {
+            tenders.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]]);
+            })
+        }
+        initTenderTree();
+        $('.c-body').html(getTenderTreeHtml());
+        localHideList();
+    }
+    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="tenderListOrder.reOrderTenders(\'' + field + '|down' + '\')"></i>'
+                : '<i class="fa fa-sort-amount-desc" aria-hidden="true" onclick="tenderListOrder.reOrderTenders(\'' + field + '|up' + '\')"></i>')
+            : '<i class="fa fa-sort" aria-hidden="true" onclick="tenderListOrder.reOrderTenders(\'' + field + '|up' + '\')"></i>';
+        return '<a href="javascript:void(0)" class="btn btn-sm ml-1">' + button + '</a>';
+    }
+    return { reOrderTenders, getOrderButton }
+})();

+ 4 - 2
app/public/js/tender_list.js

@@ -319,9 +319,9 @@ function getTenderTreeHtml () {
         const html = [];
         html.push('<table class="table table-hover table-bordered" style="margin-top: 25px">');
         html.push('<thead style="position: fixed;left:56px;top: 34px">', '<tr>');
-        html.push('<th class="text-center">', '标段名称', '</th>');
+        html.push('<th class="text-center">', '标段名称', tenderListOrder.getOrderButton('name'), '</th>');
         html.push('<th class="text-center">', '创建人', '</th>');
-        html.push('<th class="text-center">', '创建时间', '</th>');
+        html.push('<th class="text-center">', '创建时间', tenderListOrder.getOrderButton('create_time'), '</th>');
         html.push('<th class="text-center">', '计量期数', '</th>');
         html.push('<th class="text-center">', '审批状态', '</th>');
         html.push('</tr>', '</thead>');
@@ -341,6 +341,7 @@ function bindTenderUrl() {
         const tender = _.find(tenders, function (t) {
             return t.id === tenderId;
         });
+        if (!tender) return;
         if (tender.measure_type) {
             window.location.href = '/tender/' + tenderId;
         } else {
@@ -359,6 +360,7 @@ $(document).ready(() => {
     initCategoryLevelNode();
     $('.modal-body', '#add-bd').append(getCategoryHtml());
     // 初始化标段树结构
+    tenderListOrder.reOrderTenders();
     initTenderTree();
     $('.c-body').html(getTenderTreeHtml());
     bindTenderUrl();

+ 3 - 2
app/public/js/tender_list_manage.js

@@ -303,9 +303,9 @@ function getTenderTreeHeaderHtml() {
     const html = [];
     html.push('<table class="table table-hover table-bordered" style="margin-top: 25px">');
     html.push('<thead style="position: fixed;left:56px;top: 34px">', '<tr>');
-    html.push('<th class="text-center">', '标段名称', '</th>');
+    html.push('<th class="text-center">', '标段名称', tenderListOrder.getOrderButton('name'), '</th>');
     html.push('<th class="text-center">', '创建人', '</th>');
-    html.push('<th class="text-center">', '创建时间', '</th>');
+    html.push('<th class="text-center">', '创建时间', tenderListOrder.getOrderButton('create_time'), '</th>');
     html.push('<th class="text-center">', '完成期数', '</th>');
     html.push('<th class="text-center">', '管理', '</th>');
     html.push('</tr>', '</thead>');
@@ -371,6 +371,7 @@ $(document).ready(() => {
     $('.modal-body', '#add-bd').append(getCategoryHtml());
     $('.modal-body', '#edit-bd').append(getCategoryHtml());
     // 初始化标段树结构
+    tenderListOrder.reOrderTenders();
     initTenderTree();
     $('.c-body').html(getTenderTreeHtml());
     bindTenderUrl();

+ 4 - 0
config/web.js

@@ -62,6 +62,7 @@ const JsFiles = {
                 ],
                 mergeFiles: [
                     "/public/js/zh_calc.js",
+                    "/public/js/shares/tender_list_order.js",
                     "/public/js/tender_showhide.js",
                     "/public/js/tender_list.js"
                 ],
@@ -75,6 +76,7 @@ const JsFiles = {
                 ],
                 mergeFiles: [
                     "/public/js/zh_calc.js",
+                    "/public/js/shares/tender_list_order.js",
                     "/public/js/tender_showhide.js",
                     "/public/js/tender_list_info.js"
                 ],
@@ -88,6 +90,7 @@ const JsFiles = {
                 ],
                 mergeFiles: [
                     "/public/js/zh_calc.js",
+                    "/public/js/shares/tender_list_order.js",
                     "/public/js/tender_showhide.js",
                     "/public/js/tender_list_progress.js"
                 ],
@@ -102,6 +105,7 @@ const JsFiles = {
                 ],
                 mergeFiles: [
                     "/public/js/zh_calc.js",
+                    "/public/js/shares/tender_list_order.js",
                     "/public/js/tender_showhide.js",
                     "/public/js/tender_list_manage.js",
                 ],