瀏覽代碼

feat: 信息价库后台分类的排序应按对应的分类编号排序

vian 4 年之前
父節點
當前提交
61d1a6b2de
共有 2 個文件被更改,包括 15 次插入4 次删除
  1. 4 1
      web/maintain/price_info_lib/js/main.js
  2. 11 3
      web/over_write/crawler/guangdong_2018_price_crawler.js

+ 4 - 1
web/maintain/price_info_lib/js/main.js

@@ -16,7 +16,7 @@ function throttle(fn, time) {
     }
 }
 
-const periodReg = /\d{4}-(0[1-9])|(1[0-2])$/;
+const periodReg = /\d{4}-((0[1-9])|(1[0-2]))$/;
 function createLib() {
     const name = $('#name').val();
     if (!name) {
@@ -176,6 +176,9 @@ function processChecking(key, cb) {
             if (errorMsg) {
                 alert(errorMsg);
             }
+            if (cb) {
+                cb();
+            }
             $.bootstrapLoading.progressEnd();
         }
     }

+ 11 - 3
web/over_write/crawler/guangdong_2018_price_crawler.js

@@ -324,10 +324,10 @@ async function saveData(compilationID, period, areaID, sourceData, classNameMap)
     if (!curClassMap[className]) {
       const classItem = { libID, areaID, ID: uuidV1(), ParentID: '-1', NextSiblingID: '-1', name: className };
       curClassMap[className] = classItem;
-      const preClassData = classData[classData.length - 1];
+      /* const preClassData = classData[classData.length - 1];
       if (preClassData) {
         preClassData.NextSiblingID = classItem.ID;
-      }
+      } */
       classData.push(classItem);
     }
     const classID = curClassMap[className].ID;
@@ -342,6 +342,14 @@ async function saveData(compilationID, period, areaID, sourceData, classNameMap)
       priceData.push(transfromSourceItemToPriceItem(item, classID, item.name, item.noTaxPrice));
     }
   });
+  // 分类按分类编号排序
+  classData.sort((a, b) => a.name.localeCompare(b.name));
+  classData.forEach((classItem, index) => {
+    const preClassItem = classData[index - 1];
+    if (preClassItem) {
+      preClassItem.NextSiblingID = classItem.ID;
+    }
+  });
   if (needOtherClass) {
     const otherClassItem = curClassMap[otherClassName];
     otherClassItem.NextSiblingID = classData[0].ID;
@@ -413,7 +421,7 @@ async function crawlData(from, to, compilationID) {
       if (!sourceData.length) {
         continue;
       }
-      await saveData(compilationID, period, `${city}-${county}`, sourceData, classNameMap);
+      await saveData(compilationID, period, areaItem.ID, sourceData, classNameMap);
     }
   }
   if (hintInfos.length) {