Browse Source

code sync

TonyKang 6 years ago
parent
commit
75fa1eff72

+ 8 - 3
modules/reports/util/rpt_yanghu_data_util.js

@@ -259,6 +259,7 @@ class Rpt_Data_Extractor {
                         gljAssitantObj.componentGljIds[COMPONENT_GLJID_PRE + gljItem.glj_id] = gljItem;
                     }
                 }
+                //顺便做个排序(跟UI一致的排序)
             }
             let rationGLJDatas = getModuleDataByKey(rawDataObj.prjData, "ration_glj");
             let rationDatas = getModuleDataByKey(rawDataObj.prjData, "ration");
@@ -1163,9 +1164,13 @@ function sortData(sourceData, sortCfg, prjData) {
             break;
         case "self_define":
             if (sortCfg[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC]) {
-                let selfDefFunc = null;
-                eval('selfDefFunc = ' + sortCfg[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC]);
-                tempRstArr.sort(selfDefFunc);
+                let selfDefFuncA = null;
+                eval('selfDefFuncA = ' + sortCfg[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC]);
+                if (selfDefFuncA !== null) {
+                    tempRstArr.sort(selfDefFuncA);
+                } else {
+                    console.log('sorting function is null!!!');
+                }
             }
             replaceActDataArr(sourceData, tempRstArr);
             break;

+ 5 - 0
web/maintain/report/html/rpt_tpl_dtl_pre_hdl_sort.html

@@ -50,3 +50,8 @@
         </div>
     </div>
 </div>
+<div class="form-group row" id="div_sort_self_define">
+    <div class="col-md-6">
+        <textarea rows="15" cols="50" style="width: 100%; height: 100%; overflow: auto; work-break: break-all;" id="selfDefineSort" onkeyup="preHandleSortObj.changeSelfDefineExpression(this)"></textarea>
+    </div>
+</div>

+ 16 - 0
web/maintain/report/js/rpt_tpl_pre_handle.js

@@ -423,6 +423,7 @@ let preHandleObj = {
         $("#div_sort_type_according_to_parent")[0].style.display = "none";
         $("#div_sort_type_parent_data")[0].style.display = "none";
         $("#div_sort_tree")[0].style.display = "none";
+        $("#div_sort_self_define")[0].style.display = "none";
     },
     onPreHandleClick: function(event,treeId,treeNode) {
         //点击预处理环节 节点
@@ -612,6 +613,7 @@ let preHandleSortObj = {
                 break;
             case 3 :
                 //self define
+                dest[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC] = src[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC];
                 break;
             default:
                 break;
@@ -692,6 +694,8 @@ let preHandleSortObj = {
                     break;
                 case 3 :
                     //self define
+                    $("#div_sort_self_define")[0].style.display = "";
+                    $("#selfDefineSort")[0].value = preHandleObj.currentNode[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC];
                     break;
                 default:
                     break;
@@ -809,9 +813,20 @@ let preHandleSortObj = {
         } else if (dom.selectedIndex === 1) {
             $("#div_sort_tree")[0].style.display = "";
             preHandleSortObj.normalTreeObj = $.fn.zTree.init($("#bills_top_nodes"), sortingTreeSetting, fixed_top_bills_nodes);
+        } else {
+            //自定义
+            $("#div_sort_self_define")[0].style.display = "";
+            $("#selfDefineSort")[0].value = "";
+            me.currentNode[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC] = '';
         }
         me.currentNode[JV.PROP_SORT_TYPE] = dom.value;
     },
+    changeSelfDefineExpression: function (dom) {
+        let me = preHandleObj;
+        if (me.currentNode) {
+            me.currentNode[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC] = dom.value;
+        }
+    },
     extractTabFields: function (handleObj) {
         let me = this, rst = {};
         rst[JV.PROP_HANDLE_TYPE] = handleObj[JV.PROP_HANDLE_TYPE];
@@ -847,6 +862,7 @@ let preHandleSortObj = {
                 break;
             case 3 :
                 //self define
+                rst[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC] = handleObj[JV.PROP_SORT_TYPE_SELF_DEFINE_LOGIC];
                 break;
             default:
                 break;