zhongzewei 8 lat temu
rodzic
commit
d4430602bd

+ 66 - 7
web/maintain/ration_repository/js/ration_glj.js

@@ -4,6 +4,7 @@
 var rationGLJOprObj = {
     sheet: null,
     currentRationItem: null,
+    distTypeTree: null,
     cache: {},
     setting: {
         header:[
@@ -19,15 +20,71 @@ var rationGLJOprObj = {
             lockColumns:[1,2,3,5,6]
         }
     },
+    getDistTypeTree: function (gljDistType) {
+        let me = this;
+        let distType;
+        let distTypeTree = {
+            prefix : 'gljDistType',
+            distTypes: {},
+            comboDatas: [],
+            distTypesArr: []
+        };
+        gljDistType.forEach(function (typeData) {
+            let typeObj = {
+                data: typeData,
+                children: [],
+                parent: null
+            }
+            distTypeTree.distTypes[distTypeTree.prefix + typeData.ID] = typeObj;
+            distTypeTree.distTypesArr.push(typeObj);
+        });
+        gljDistType.forEach(function (typeData) {
+            distType = distTypeTree.distTypes[distTypeTree.prefix + typeData.ID];
+            let parent = distTypeTree.distTypes[distTypeTree.prefix + typeData.ParentID];
+            if(parent){
+                distType.parent = parent;
+                parent.children.push(distType);
+            }
+        });
+        distTypeTree.distTypesArr.forEach(function (distTypeObj) {
+            if(distTypeObj.children.length === 0 && distTypeObj.data.fullName !== '普通机械' &&distTypeObj.data.fullName !== '机械组成物'
+                && distTypeObj.data.fullName !== '机上人工'){
+                distTypeTree.comboDatas.push({text: distTypeObj.data.fullName, value: distTypeObj.data.ID});
+            }
+            if(distTypeObj.data.fullName === '机械'){
+                distTypeTree.comboDatas.push({text: distTypeObj.data.fullName, value: distTypeObj.data.ID});
+            }
+        });
+        //me.distTypeTree = distTypeTree;
+        return distTypeTree;
+        //return distTypeTree.comboDatas;
+    },
+    getGljDistType: function (callback) {
+        let me = this;
+        $.ajax({
+            type: 'post',
+            url: "api/getGljDistType",
+            dataType: 'json',
+            success: function (result) {
+                if(!result.error && callback){
+                    me.distTypeTree = me.getDistTypeTree(result.data);
+                    callback();
+                }
+            }
+        })
+    },
     buildSheet: function(sheet) {
         var me = this;
         me.sheet = sheet;
-        sheetCommonObj.initSheet(me.sheet, me.setting, 30);
-
-        me.sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
-        me.sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
-        me.sheet.bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
-        me.sheet.bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
+        me.getGljDistType(function () {
+            console.log(`distTypeTree`);
+            console.log(me.distTypeTree);
+            sheetCommonObj.initSheet(me.sheet, me.setting, 30);
+            me.sheet.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
+            me.sheet.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
+            me.sheet.bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
+            me.sheet.bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
+        });
     },
     onRangeChanged: function(sender, args) {
         if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
@@ -219,6 +276,8 @@ var rationGLJOprObj = {
                             }
                         }
                         me.cache["_GLJ_" + rationID] = cacheArr;
+                        console.log(`cache`);
+                        console.log(me.cache["_GLJ_" + rationID] );
                         me.showGljItems(rationID);
                     }
                     sheetCommonObj.lockCells(me.sheet, me.setting);
@@ -232,7 +291,7 @@ var rationGLJOprObj = {
     showGljItems: function(rationID) {
         var me = this;
         if (me.cache["_GLJ_" + rationID]) {
-            sheetCommonObj.showData(me.sheet, me.setting, me.cache["_GLJ_" + rationID]);
+            sheetCommonObj.showData(me.sheet, me.setting, me.cache["_GLJ_" + rationID], me.distTypeTree);
         }
     }
 }

+ 5 - 7
web/maintain/ration_repository/js/repository_glj.js

@@ -30,7 +30,7 @@ var pageOprObj = {
         }
     }
 }
-repositoryGljObj = {
+ repositoryGljObj = {
     treeObj : null,
     workBook: null,
     gljCurTypeId: -1,
@@ -91,7 +91,8 @@ repositoryGljObj = {
                 distTypeTree.comboDatas.push({text: distTypeObj.data.fullName, value: distTypeObj.data.ID});
             }
         });
-        me.distTypeTree = distTypeTree;
+        //me.distTypeTree = distTypeTree;
+        return distTypeTree;
         //return distTypeTree.comboDatas;
     },
     getGljDistType: function (callback) {
@@ -102,7 +103,7 @@ repositoryGljObj = {
             dataType: 'json',
             success: function (result) {
                 if(!result.error && callback){
-                    me.getComboData(result.data);
+                    me.distTypeTree = me.getComboData(result.data);
                     let combo = new GC.Spread.Sheets.CellTypes.ComboBox();
                     combo.items(me.distTypeTree.comboDatas).editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.text);
                     me.workBook.getSheet(0).getCell(-1, 5, GC.Spread.Sheets.SheetArea.viewport).cellType(combo).value(me.distTypeTree.comboDatas[0].text);
@@ -170,8 +171,6 @@ repositoryGljObj = {
                     cacheSection.push(data[i]);
                 }
             }
-            console.log(`cacheSection`);//add
-            console.log(cacheSection);//add
             sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
             sheetCommonObj.showData(me.workBook.getSheet(0), me.setting, cacheSection, me.distTypeTree);
             cacheSection = null;
@@ -293,8 +292,6 @@ repositoryGljObj = {
                     me.updateCache(addArr, updateArr, removeIds, result);
                     me.sortGlj();
                     me.currentCache = me.getCache();
-                    console.log(`cache`);
-                    console.log(me.currentCache);
                     me.showGljItems(me.gljList, me.gljCurTypeId);
                 }
             },
@@ -364,6 +361,7 @@ var gljTypeTreeOprObj = {
         var me = repositoryGljObj,
             gljTypeId = treeNode.ID;
         me.gljCurTypeId = treeNode.ID;
+        console.log(`gljcurtypeId: ${me.gljCurTypeId}`);
         me.currentCache = me.getCache();
         me.showGljItems(me.gljList, gljTypeId);
         if (me.parentNodeIds["_pNodeId_" + treeNode.ID]) {