소스 검색

人材机选择页面优化

zhongzewei 6 년 전
부모
커밋
950fc158cd

+ 51 - 20
modules/complementary_glj_lib/models/gljModel.js

@@ -6,10 +6,11 @@ const complementaryGljModel = mongoose.model('complementary_glj_lib');
 const stdGljModel = mongoose.model('std_glj_lib_gljList');
 const stdGljModel = mongoose.model('std_glj_lib_gljList');
 const gljClassModel = mongoose.model('std_glj_lib_gljClass');
 const gljClassModel = mongoose.model('std_glj_lib_gljClass');
 const compleClassModel = mongoose.model('complementary_glj_section');
 const compleClassModel = mongoose.model('complementary_glj_section');
+const _ = require('lodash');
 import counter from "../../../public/counter/counter";
 import counter from "../../../public/counter/counter";
 import async from "async";
 import async from "async";
 import STDGLJLibGLJListModel from "../../common/std/std_glj_lib_glj_list_model";
 import STDGLJLibGLJListModel from "../../common/std/std_glj_lib_glj_list_model";
-const gljType = {
+const libType = {
     stdGLJ: 1,
     stdGLJ: 1,
     complementaryGLJs: 2
     complementaryGLJs: 2
 };
 };
@@ -45,33 +46,63 @@ class GljDao {
         }
         }
     }
     }
 
 
-    getQueryByType ({userID, compilationId, gljLibId, type, classList, search}) {
-        let rst = {
-            model: null,
-            query: {}
-        };
-        if (type === gljType.stdGLJ) {
-            rst.model = stdGljModel;
-            rst.query.repositoryId = gljLibId;
+    async getQueryByType ({userID, compilationId, gljLibId, type, replace, location, classList, search}) {
+        let model = null,
+            query = {};
+        if (type === libType.stdGLJ) {
+            model = stdGljModel;
+            query.repositoryId = gljLibId;
         } else {
         } else {
-            rst.model = complementaryGljModel;
-            rst.query.userId = userID;
-            rst.query.compilationId = compilationId;
+            model = complementaryGljModel;
+            query.userId = userID;
+            query.compilationId = compilationId;
         }
         }
+        // 分类树
         if (classList.length) {
         if (classList.length) {
-            rst.query.gljClass = {$in: classList};
+            query.gljClass = {$in: classList};
+        }
+        // 定位
+        if (location) {
+            // 替换定位,则先看看能不能找到替换的人材机,能找到的话就能定位要被替换人材机所在分类树
+            const replaceQuery = {...query, ...replace};
+            const replaceData = await model.findOne(replaceQuery);
+            if (replaceData) {
+                query.gljClass = replaceData.gljClass;
+            }
+        }
+        // 替换过滤类型
+        if (replace) {
+            // 人材机类型是“混凝土、砂浆、配合比、商品混凝土、商品砂浆”时,筛选的可替换的人材机类型应是“混凝土、或砂浆、或配合比、或商品混凝土、或商品砂浆”。
+            const materialTypes = [202, 203, 204, 205, 206];
+            query.gljType = materialTypes.includes(replace.gljType) ? {$in: materialTypes} : replace.gljType;
         }
         }
+        // 搜索关键字
         if (search) {
         if (search) {
-            rst.query.$or = [{code: {'$regex': search, $options: '$i'}}, {name: {'$regex': search, $options: '$i'}}];
+            query.$or = [{code: {'$regex': search, $options: '$i'}}, {name: {'$regex': search, $options: '$i'}}];
         }
         }
-        return rst;
+        return {
+            model,
+            query
+        };
     }
     }
 
 
-    async getGLJPaging (data) {
-        let queryData = this.getQueryByType(data);
-        let gljs = await queryData.model.find(queryData.query).lean().sort({code: 1}).skip(data.index).limit(data.limit),
-            total = await queryData.model.find(queryData.query).count();
-        return data.type === gljType.stdGLJ
+    async getGLJPaging (condition) {
+        const queryData = await this.getQueryByType(condition);
+        // 定位(替换初始化)
+        // 替换触发的人材机选择界面,只有在初始化时才定位,其他操作下是正常的分页
+        if (condition.location) {
+            // 返回的数据,为编码小于等于替换的编码,再加附加条数
+            const limitQuery = _.cloneDeep(queryData.query);
+            limitQuery.code = {$lte: condition.replace.code};
+            const lteLimit = await queryData.model.count(limitQuery);
+            const additionalLimit = 10;
+            const limit = lteLimit + additionalLimit;
+            // 显示的数据不能太少,否则数据没有占满整个表格区域(实际上数据条目应该超过表格显示区域),让人误以为数据只有那么点,不再滚动触发分页
+            condition.limit = limit > condition.limit ? limit : condition.limit;
+        }
+        const gljs = await queryData.model.find(queryData.query).lean().sort({code: 1}).skip(condition.index).limit(condition.limit);
+        const total = await queryData.model.find(queryData.query).count();
+        return condition.type === libType.stdGLJ
             ? {stdGLJ: gljs, complementaryGLJs: [], total: total}
             ? {stdGLJ: gljs, complementaryGLJs: [], total: total}
             : {stdGLJ: [], complementaryGLJs: gljs, total: total}
             : {stdGLJ: [], complementaryGLJs: gljs, total: total}
     }
     }

+ 5 - 18
web/building_saas/main/js/models/ration_glj.js

@@ -513,16 +513,12 @@ let ration_glj = {
                 if (condition.init) {
                 if (condition.init) {
                     gljOprObj.treeData = data.treeData;
                     gljOprObj.treeData = data.treeData;
                     gljOprObj.distTypeTree = gljOprObj.getComboData(data.distTypeTree);
                     gljOprObj.distTypeTree = gljOprObj.getComboData(data.distTypeTree);
-                    /*gljOprObj.stdGLJ = data.stdGLJ;
-                    gljOprObj.complementaryGLJs = data.complementaryGLJs;
-                    gljOprObj.AllRecode = [...gljOprObj.stdGLJ, ...gljOprObj.complementaryGLJs];*/
                 }
                 }
-                // 获取的数据从0开始,说明需要重置当前页面数据(点击了分类树、搜索等等)
-                if (condition.index === 0) {
+                // 需要重置当前页面数据(点击了分类树、搜索等等)
+                if (condition.reset) {
                     gljOprObj.stdGLJ = data.stdGLJ;
                     gljOprObj.stdGLJ = data.stdGLJ;
                     gljOprObj.complementaryGLJs = data.complementaryGLJs;
                     gljOprObj.complementaryGLJs = data.complementaryGLJs;
                     gljOprObj.AllRecode = [...gljOprObj.stdGLJ, ...gljOprObj.complementaryGLJs];
                     gljOprObj.AllRecode = [...gljOprObj.stdGLJ, ...gljOprObj.complementaryGLJs];
-                    gljOprObj.gljLibSheetData = gljOprObj.AllRecode;
                 } else {
                 } else {
                     gljOprObj[gljType].splice(condition.index, 0, ...newData);
                     gljOprObj[gljType].splice(condition.index, 0, ...newData);
                     gljOprObj.AllRecode.splice(condition.index, 0, ...newData);
                     gljOprObj.AllRecode.splice(condition.index, 0, ...newData);
@@ -530,8 +526,7 @@ let ration_glj = {
                 // 根据缓存选中数据,设置人材机是否选中
                 // 根据缓存选中数据,设置人材机是否选中
                 newData.forEach(item => {
                 newData.forEach(item => {
                     const connectKey = gljOprObj.getIndex(item, gljLibKeyArray);
                     const connectKey = gljOprObj.getIndex(item, gljLibKeyArray);
-                    const cacheItem = gljOprObj.selectedList.find(selItem => selItem.connectKey === connectKey);
-                    if (cacheItem) {
+                    if (gljOprObj.GLJSelection.includes(connectKey)) {
                         item.select = 1;
                         item.select = 1;
                     }
                     }
                 });
                 });
@@ -722,23 +717,15 @@ let ration_glj = {
         ration_glj.prototype.addGLJByLib = function (GLJSelection, ration, callback) {
         ration_glj.prototype.addGLJByLib = function (GLJSelection, ration, callback) {
             const me = this,
             const me = this,
                   gljList = [],
                   gljList = [],
-                  allGLJ = gljOprObj.selectedList;
+                  allGLJ = gljOprObj.AllRecode;
             GLJSelection.sort();
             GLJSelection.sort();
             GLJSelection.forEach(selKey => {
             GLJSelection.forEach(selKey => {
-                const glj = allGLJ.find(item => item.connectKey === selKey);
+                const glj = allGLJ.find(item => gljOprObj.getIndex(item, gljLibKeyArray) === selKey);
                 if (glj) {
                 if (glj) {
                     const rationGLJ = me.getAddDataByStd(glj, ration.ID, ration.billsItemID, ration.projectID);
                     const rationGLJ = me.getAddDataByStd(glj, ration.ID, ration.billsItemID, ration.projectID);
                     gljList.push(rationGLJ);
                     gljList.push(rationGLJ);
                 }
                 }
             });
             });
-            /*_.forEach(GLJSelection, function (g) {
-                let glj = _.find(allGLJ, function (item) {
-                    let i_key = gljOprObj.getIndex(item, gljLibKeyArray);
-                    return i_key == g;
-                });
-                let ration_glj = me.getAddDataByStd(glj,ration.ID,ration.billsItemID,ration.projectID);
-                gljList.push(ration_glj);
-            });*/
             $.bootstrapLoading.start();
             $.bootstrapLoading.start();
             CommonAjax.post('/rationGlj/addGLJ', gljList, callback, function () {
             CommonAjax.post('/rationGlj/addGLJ', gljList, callback, function () {
                 $.bootstrapLoading.end();
                 $.bootstrapLoading.end();

+ 70 - 90
web/building_saas/main/js/views/glj_view.js

@@ -14,9 +14,6 @@ var gljOprObj = {
     detailSheet: null,
     detailSheet: null,
     detailData: [],
     detailData: [],
     GLJSelection: [],
     GLJSelection: [],
-    // 由于分页需求,重新点击分类树等,会重新获取数据,因此需要一个缓存,来解决一次性添加多个分类树人材机的问题
-    // 人材机选择页面,当前选中人材机的缓存
-    selectedList: [],
     pagingType: {
     pagingType: {
         stdGLJ: 1,
         stdGLJ: 1,
         complementaryGLJs: 2
         complementaryGLJs: 2
@@ -81,8 +78,8 @@ var gljOprObj = {
                         me.gljCurTypeId = treeNode.ID;
                         me.gljCurTypeId = treeNode.ID;
                         /* me.filterLibGLJSheetData();
                         /* me.filterLibGLJSheetData();
                          me.showLibGLJSheetData();*/
                          me.showLibGLJSheetData();*/
-                        me.loadPageData(gljOprObj.gljLibSheet, 0);
-                        gljOprObj.initSelection({row: me.gljLibSheet.getActiveRowIndex()});
+                        me.loadPageData(gljOprObj.gljLibSheet, true, 0);
+                        //gljOprObj.initSelection({row: me.gljLibSheet.getActiveRowIndex()});
                     }
                     }
                 } else {
                 } else {
                     if (treeNode.isParent) {
                     if (treeNode.isParent) {
@@ -334,13 +331,14 @@ var gljOprObj = {
         }
         }
         if (curRecord.length -1 === bottomRow) {
         if (curRecord.length -1 === bottomRow) {
             // 获取第curRecord.length行开始的数据
             // 获取第curRecord.length行开始的数据
-            me.loadPageData(args.sheet, curRecord.length);
+            me.loadPageData(args.sheet, false, curRecord.length);
         }
         }
     },
     },
-    loadPageData: function (sheet, index) {
-        let condition = this.getPagingCondition(false, index);
+    loadPageData: function (sheet, reset, index) {
+        let condition = this.getPagingCondition(false, reset, false, index);
         projectObj.project.ration_glj.getGLJDataPaging(condition, function (data) {
         projectObj.project.ration_glj.getGLJDataPaging(condition, function (data) {
             sheetCommonObj.appendData(sheet, condition.index, 0, gljOprObj.gljLibSheetSetting, data);
             sheetCommonObj.appendData(sheet, condition.index, 0, gljOprObj.gljLibSheetSetting, data);
+            gljOprObj.initSelection({row: gljOprObj.gljLibSheet.getActiveRowIndex()});
         });
         });
     },
     },
     getSelStyle: function (selected,settingStyle) {
     getSelStyle: function (selected,settingStyle) {
@@ -1024,11 +1022,21 @@ var gljOprObj = {
             }
             }
         });
         });
     },
     },
-    // 获取分页查询所需要的条件数据
-    // @param {Boolean}init 是否是初始化
-    getPagingCondition: function (init, index) {
+    /*
+    * 获取分页查询所需要的条件数据
+    * @param  {Boolean}init 是否是初始化
+    *         {Boolean}reset 是否重置数据 (点击分类树等)
+    *         {Boolean}location 是否定位(替换初始化)
+    *         {Number}index 分页数据开始索引
+    * @return {Object}
+    * */
+    getPagingCondition: function (init, reset, location, index) {
         // 初始化情况下的条件
         // 初始化情况下的条件
         let condition = {
         let condition = {
+            // 是否重置数据
+            reset,
+            // 是否定位
+            location,
             // 开始取数据的位置
             // 开始取数据的位置
             index,
             index,
             // 限制条数
             // 限制条数
@@ -1044,6 +1052,21 @@ var gljOprObj = {
             // 搜索文本
             // 搜索文本
             search: ''
             search: ''
         };
         };
+        // 触发入口(添加、替换、批量替换)
+        const actionType = $('#actionType').val();
+        const replaceActions = ['replace', 'm_replace'];
+        // 替换相关
+        if (replaceActions.includes(actionType)) {
+            // 定额人材机界面选中的人材机
+            const selected = gljOprObj.sheetData[gljContextMenu.selectedRow];
+            condition.replace = {
+                code: selected.code,
+                name: selected.name,
+                specs: selected.specs,
+                unit: selected.unit,
+                gljType: selected.type
+            };
+        }
         if (init) {
         if (init) {
             return condition;
             return condition;
         }
         }
@@ -1110,17 +1133,12 @@ var gljOprObj = {
         }
         }
     },
     },
     addGLJsSelection: function (args, newVal) {
     addGLJsSelection: function (args, newVal) {
-        const curGLJ = this.gljLibSheetData[args.row];
+        const curGLJ = this.AllRecode[args.row];
         const con_key = this.getIndex(curGLJ, gljLibKeyArray);
         const con_key = this.getIndex(curGLJ, gljLibKeyArray);
-        curGLJ.connectKey = con_key;
         if (newVal == 1) {
         if (newVal == 1) {
             this.GLJSelection.push(con_key);
             this.GLJSelection.push(con_key);
-            this.selectedList.push(curGLJ);
-            //curGLJ.select = 1;
         } else if (newVal == 0) {
         } else if (newVal == 0) {
             _.pull(this.GLJSelection, con_key);
             _.pull(this.GLJSelection, con_key);
-            _.remove(this.selectedList, glj => glj.connectKey === con_key);
-            //curGLJ.select = 0;
         }
         }
     },
     },
     replaceGLJSelection: function (args, newVal) {
     replaceGLJSelection: function (args, newVal) {
@@ -1130,21 +1148,20 @@ var gljOprObj = {
             args.sheet.getCell(args.row, args.col).value(1);
             args.sheet.getCell(args.row, args.col).value(1);
             return;
             return;
         }
         }
-        this.GLJSelection = [me.getIndex(this.gljLibSheetData[args.row], gljLibKeyArray)];
-        this.gljLibSheetData[args.row].select = 1;
-        var oindex = _.findIndex(this.gljLibSheetData, function (item) {
+        const curGLJ = this.AllRecode[args.row];
+        const connectKey = this.getIndex(curGLJ, gljLibKeyArray);
+        this.GLJSelection = [connectKey];
+        var oindex = _.findIndex(this.AllRecode, function (item) {
             var i_key = me.getIndex(item, gljLibKeyArray);
             var i_key = me.getIndex(item, gljLibKeyArray);
             return oldSelection == i_key;
             return oldSelection == i_key;
         });
         });
         if (oindex != -1) {
         if (oindex != -1) {
             args.sheet.getCell(oindex, args.col).value(0);
             args.sheet.getCell(oindex, args.col).value(0);
-            this.gljLibSheetData[oindex].select = 0;
         } else {
         } else {
             var oldData = _.find(gljOprObj.AllRecode, function (item) {
             var oldData = _.find(gljOprObj.AllRecode, function (item) {
                 var i_key = me.getIndex(item, gljLibKeyArray);
                 var i_key = me.getIndex(item, gljLibKeyArray);
                 return oldSelection == i_key;
                 return oldSelection == i_key;
             });
             });
-            oldData ? oldData.select = 0 : "";
         }
         }
     },
     },
     filterLibGLJByType: function () {
     filterLibGLJByType: function () {
@@ -1188,7 +1205,6 @@ var gljOprObj = {
                 distTypeTree.comboDatas.push({text: distTypeObj.data.fullName, value: distTypeObj.data.ID});
                 distTypeTree.comboDatas.push({text: distTypeObj.data.fullName, value: distTypeObj.data.ID});
             }
             }
         });
         });
-        console.log(distTypeTree);
         return distTypeTree;
         return distTypeTree;
     },
     },
     doInsertGLJ: function () {
     doInsertGLJ: function () {
@@ -1229,7 +1245,6 @@ var gljOprObj = {
     doAddGLJ: function () {
     doAddGLJ: function () {
         var selected = projectObj.project.mainTree.selected;
         var selected = projectObj.project.mainTree.selected;
         var project = projectObj.project;
         var project = projectObj.project;
-        debugger;
         gljOprObj.GLJSelection = _.filter(gljOprObj.GLJSelection, function (n) {
         gljOprObj.GLJSelection = _.filter(gljOprObj.GLJSelection, function (n) {
             var rg = _.find(gljOprObj.sheetData, function (item) {
             var rg = _.find(gljOprObj.sheetData, function (item) {
                 if(item.isMixRatio == true){
                 if(item.isMixRatio == true){
@@ -1588,10 +1603,13 @@ var gljOprObj = {
     }
     }
 }
 }
 
 
+// 人材机选择界面的功能进行了适合分页的重构
+// 重构时,只有添加、替换、批量替换的入口。因此只对这三个入口相关的地方进行重构,其他入口的代码没有变更
+// 若以后放开其他入口,需要将其他入口的相应方法进行重构
 $(function () {
 $(function () {
     $('#glj_tree_div').on('hidden.bs.modal', function () {
     $('#glj_tree_div').on('hidden.bs.modal', function () {
-        // 清除选中人材机缓存数据
-        gljOprObj.selectedList = [];
+        // 清空搜索框
+        $('#gljSearchKeyword').val('');
     });
     });
     $('#glj_tree_div').on('shown.bs.modal', function (e) {
     $('#glj_tree_div').on('shown.bs.modal', function (e) {
         if (gljOprObj.gljLibSpresd == undefined) {
         if (gljOprObj.gljLibSpresd == undefined) {
@@ -1606,43 +1624,30 @@ $(function () {
             gljOprObj.gljLibSheet.name('glj_lib');
             gljOprObj.gljLibSheet.name('glj_lib');
             sheetCommonObj.setSheetBySetting(gljOprObj.gljLibSheet, gljOprObj.gljLibSheetSetting);
             sheetCommonObj.setSheetBySetting(gljOprObj.gljLibSheet, gljOprObj.gljLibSheetSetting);
         }
         }
-        gljOprObj.gljLibSheet.setRowCount(0);
-        //gljOprObj.gljLibSheetData = gljOprObj.AllRecode;
-        let gljClass = 0, selectMap = {};
+        let gljClass = 0,
+            selected,
+            connect_key;
         if ($('#actionType').val() == 'add' || $('#actionType').val() == 'insert') {//插入,添加
         if ($('#actionType').val() == 'add' || $('#actionType').val() == 'insert') {//插入,添加
             gljOprObj.GLJSelection = [];
             gljOprObj.GLJSelection = [];
         } else if($('#actionType').val() =='m_replace' || $('#actionType').val() == 'replace'){//替换、批量替换
         } else if($('#actionType').val() =='m_replace' || $('#actionType').val() == 'replace'){//替换、批量替换
-            let selected = gljOprObj.sheetData[gljContextMenu.selectedRow];
-            let connect_key = gljOprObj.getIndex(selected, gljKeyArray);
+            selected = gljOprObj.sheetData[gljContextMenu.selectedRow];
+            connect_key = gljOprObj.getIndex(selected, gljKeyArray);
             gljOprObj.GLJSelection = [connect_key];
             gljOprObj.GLJSelection = [connect_key];
-            selectMap[connect_key] = true;
-            gljOprObj.filterLibGLJByType();
-        }else if($('#actionType').val() =='addMix'){//添加组成物
+            // 找到定位的分类树
+            const locatedItem = gljOprObj.AllRecode.find(item => gljOprObj.getIndex(item, gljLibKeyArray) === connect_key);
+            if (locatedItem) {
+                gljClass = locatedItem.gljClass;
+                locatedItem.select = 1;
+            }
+        } else if($('#actionType').val() =='addMix'){//添加组成物
             gljOprObj.GLJSelection = [];
             gljOprObj.GLJSelection = [];
             projectGljObject.filterLibGLJForMixRatio();
             projectGljObject.filterLibGLJForMixRatio();
-
-            /*selections = projectGljObject.mixRatioData;  添加组成物的时候先不选中
-            gljOprObj.GLJSelection = [];
-            for(let s of selections){
-                let s_key = gljOprObj.getIndex(s, gljKeyArray);
-                selectMap[s_key] = true;
-                gljOprObj.GLJSelection.push(s_key);
-            }*/
-        }
-        if (Object.keys(selectMap).length) {
-            for(let item of gljOprObj.gljLibSheetData){
-                let item_key = gljOprObj.getIndex(item, gljLibKeyArray);
-                if(selectMap[item_key]){
-                    item.select = 1 ;
-                    gljClass = item.gljClass;
-                }
-            }
         }
         }
         //替换,焦点定位至当前选中人材机
         //替换,焦点定位至当前选中人材机
-        if($('#actionType').val() =='m_replace' || $('#actionType').val() == 'replace'){
+        if ($('#actionType').val() =='m_replace' || $('#actionType').val() == 'replace') {
             gljOprObj.locateZTree(gljClass);
             gljOprObj.locateZTree(gljClass);
-            let selected = gljOprObj.sheetData[gljContextMenu.selectedRow];
-            let index = _.findIndex(gljOprObj.gljLibSheetData, {code: selected.code});
+            sheetCommonObj.appendData(gljOprObj.gljLibSheet, 0, 0, gljOprObj.gljLibSheetSetting, gljOprObj.AllRecode);
+            const index = gljOprObj.AllRecode.findIndex(item => gljOprObj.getIndex(item, gljLibKeyArray) === connect_key);
             gljOprObj.gljLibSheet.showRow(index, GC.Spread.Sheets.VerticalPosition.center);
             gljOprObj.gljLibSheet.showRow(index, GC.Spread.Sheets.VerticalPosition.center);
             gljOprObj.gljLibSheet.setActiveCell(index, 0);
             gljOprObj.gljLibSheet.setActiveCell(index, 0);
             gljOprObj.initSelection({row: index});
             gljOprObj.initSelection({row: index});
@@ -1653,7 +1658,9 @@ $(function () {
             gljOprObj.gljLibSheet.showRow(0, GC.Spread.Sheets.VerticalPosition.top);
             gljOprObj.gljLibSheet.showRow(0, GC.Spread.Sheets.VerticalPosition.top);
             gljOprObj.gljLibSheet.setActiveCell(0, 0);
             gljOprObj.gljLibSheet.setActiveCell(0, 0);
             gljOprObj.initSelection({row: 0});
             gljOprObj.initSelection({row: 0});
-        } else gljOprObj.showLibGLJSheetData();
+        } else {
+            gljOprObj.showLibGLJSheetData();
+        }
         console.timeEnd('getGLJData');
         console.timeEnd('getGLJData');
     });
     });
 
 
@@ -1662,46 +1669,19 @@ $(function () {
         gljOprObj.showScopeDatas();
         gljOprObj.showScopeDatas();
     });
     });
 
 
-
-    $('#glj_tree_div').on('hidden.bs.modal', function () {
-        $('#gljSearchKeyword').val('');
-    });
-
+    // 人材机选择界面标准、补充单选
     $('.glj-radio').change(function () {
     $('.glj-radio').change(function () {
-        let val = $("input[name='glj']:checked").val();
-        if (val == 'allGljs') {
-            gljOprObj.gljLibSheetData = gljOprObj.AllRecode;
-            gljOprObj.filterLibGLJSheetData();
-            gljOprObj.showLibGLJSheetData();
+        const val = $("input[name='glj']:checked").val();
+        if (val === 'stdGLJ') {
+            gljOprObj.initClassTree('std', gljOprObj.treeData.std, true);
         } else {
         } else {
-            if(val === 'stdGLJ') {
-                gljOprObj.initClassTree('std', gljOprObj.treeData.std, true);
-            } else {
-                gljOprObj.initClassTree('comple', gljOprObj.treeData.comple, true);
-            }
-            gljOprObj.initSelection({row: 0});
-            //gljOprObj.gljLibSheetData = gljOprObj[val];
-            /*gljOprObj.filterLibGLJSheetData();
-            gljOprObj.showLibGLJSheetData();*/
+            gljOprObj.initClassTree('comple', gljOprObj.treeData.comple, true);
         }
         }
+        gljOprObj.initSelection({row: 0});
     });
     });
-/*    //工料机搜索
-    $('#gljSearchKeyword').change(function () {
-        gljOprObj.filterLibGLJSheetData();
-        gljOprObj.showLibGLJSheetData();
-    });
-     $('#gljSearchKeyword').bind('keypress', function (e) {
-        if(e.keyCode === 13){
-            alert('2');
-            $(this).blur();
-            return false;
-        }
-    });*/
+    // 人材机选择页面搜索框
     $('#gljSearchKeyword').bind('keyup', _.debounce(function() {
     $('#gljSearchKeyword').bind('keyup', _.debounce(function() {
-        gljOprObj.loadPageData(gljOprObj.gljLibSheet, 0);
-        /*gljOprObj.filterLibGLJSheetData();
-         gljOprObj.showLibGLJSheetData();
-         gljOprObj.initSelection({row: 0});*/
+        gljOprObj.loadPageData(gljOprObj.gljLibSheet, true, 0);
     }, 500));
     }, 500));
 
 
     $('#glj_selected_conf').click(function () {
     $('#glj_selected_conf').click(function () {

+ 10 - 30
web/building_saas/main/js/views/glj_view_contextMenu.js

@@ -375,8 +375,17 @@ var gljContextMenu = {
 
 
 function getGLJData(actionType) {
 function getGLJData(actionType) {
     $('#actionType').val(actionType);
     $('#actionType').val(actionType);
+    // 清除选中人材机缓存数据
+    gljOprObj.GLJSelection = [];
     $.bootstrapLoading.start();
     $.bootstrapLoading.start();
-    let condition = gljOprObj.getPagingCondition(true, 0);
+    let location = false;
+    const replaceActions = ['replace', 'm_replace'];
+    if (replaceActions.includes(actionType)) {
+        location = true;
+    }
+    const init = true;
+    const reset = true;
+    const condition = gljOprObj.getPagingCondition(init, reset, location, 0);
     console.time('getGLJData');
     console.time('getGLJData');
     projectObj.project.ration_glj.getGLJDataPaging(condition, function (result) {
     projectObj.project.ration_glj.getGLJDataPaging(condition, function (result) {
         gljOprObj.initClassTree('std', gljOprObj.treeData.std);
         gljOprObj.initClassTree('std', gljOprObj.treeData.std);
@@ -395,35 +404,6 @@ function getGLJData(actionType) {
             gljOprObj.gljLibSpresd ? gljOprObj.gljLibSpresd.refresh() : '';
             gljOprObj.gljLibSpresd ? gljOprObj.gljLibSpresd.refresh() : '';
         }, 200);
         }, 200);
     });
     });
-    /*projectObj.project.ration_glj.getGLJData(function (result) {
-        console.log(+new Date());
-        gljOprObj.treeData =  result.datas.treeData;
-        //zTreeHelper.createTree(result.datas.treeData, gljOprObj.gljTreeSetting, "gljTree", gljOprObj);
-        gljOprObj.initClassTree('std', gljOprObj.treeData.std);
-        gljOprObj.stdGLJ=result.datas.stdGLJ;
-        gljOprObj.complementaryGLJs=result.datas.complementaryGLJs;
-        for(let compleGlj of gljOprObj.complementaryGLJs){
-            //是否新增
-            compleGlj.isComplementary = true;
-        }
-        gljOprObj.AllRecode=gljOprObj.stdGLJ.concat(gljOprObj.complementaryGLJs);
-        //gljOprObj.AllRecode=gljOprObj.stdGLJ;
-        gljOprObj.distTypeTree=gljOprObj.getComboData(result.datas.distTypeTree);
-        $('#modalCon').width($(window).width()*0.5);
-        $("input[name='glj']").get(0).checked=true;
-        $.bootstrapLoading.end();
-        if(actionType == "m_replace"){
-            $('#glj_selected_conf').hide();
-            $('#replace_next_btn').show();
-        }else {
-            $('#glj_selected_conf').show();
-            $('#replace_next_btn').hide();
-        }
-        $("#glj_tree_div").modal({show:true});
-        setTimeout(function(){
-            gljOprObj.gljLibSpresd?gljOprObj.gljLibSpresd.refresh():'';
-        }, 200);
-    })*/
 }
 }
 
 
 function showGLJClassTree(record) {
 function showGLJClassTree(record) {