|
|
@@ -14,9 +14,6 @@ var gljOprObj = {
|
|
|
detailSheet: null,
|
|
|
detailData: [],
|
|
|
GLJSelection: [],
|
|
|
- // 由于分页需求,重新点击分类树等,会重新获取数据,因此需要一个缓存,来解决一次性添加多个分类树人材机的问题
|
|
|
- // 人材机选择页面,当前选中人材机的缓存
|
|
|
- selectedList: [],
|
|
|
pagingType: {
|
|
|
stdGLJ: 1,
|
|
|
complementaryGLJs: 2
|
|
|
@@ -81,8 +78,8 @@ var gljOprObj = {
|
|
|
me.gljCurTypeId = treeNode.ID;
|
|
|
/* me.filterLibGLJSheetData();
|
|
|
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 {
|
|
|
if (treeNode.isParent) {
|
|
|
@@ -334,13 +331,14 @@ var gljOprObj = {
|
|
|
}
|
|
|
if (curRecord.length -1 === bottomRow) {
|
|
|
// 获取第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) {
|
|
|
sheetCommonObj.appendData(sheet, condition.index, 0, gljOprObj.gljLibSheetSetting, data);
|
|
|
+ gljOprObj.initSelection({row: gljOprObj.gljLibSheet.getActiveRowIndex()});
|
|
|
});
|
|
|
},
|
|
|
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 = {
|
|
|
+ // 是否重置数据
|
|
|
+ reset,
|
|
|
+ // 是否定位
|
|
|
+ location,
|
|
|
// 开始取数据的位置
|
|
|
index,
|
|
|
// 限制条数
|
|
|
@@ -1044,6 +1052,21 @@ var gljOprObj = {
|
|
|
// 搜索文本
|
|
|
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) {
|
|
|
return condition;
|
|
|
}
|
|
|
@@ -1110,17 +1133,12 @@ var gljOprObj = {
|
|
|
}
|
|
|
},
|
|
|
addGLJsSelection: function (args, newVal) {
|
|
|
- const curGLJ = this.gljLibSheetData[args.row];
|
|
|
+ const curGLJ = this.AllRecode[args.row];
|
|
|
const con_key = this.getIndex(curGLJ, gljLibKeyArray);
|
|
|
- curGLJ.connectKey = con_key;
|
|
|
if (newVal == 1) {
|
|
|
this.GLJSelection.push(con_key);
|
|
|
- this.selectedList.push(curGLJ);
|
|
|
- //curGLJ.select = 1;
|
|
|
} else if (newVal == 0) {
|
|
|
_.pull(this.GLJSelection, con_key);
|
|
|
- _.remove(this.selectedList, glj => glj.connectKey === con_key);
|
|
|
- //curGLJ.select = 0;
|
|
|
}
|
|
|
},
|
|
|
replaceGLJSelection: function (args, newVal) {
|
|
|
@@ -1130,21 +1148,20 @@ var gljOprObj = {
|
|
|
args.sheet.getCell(args.row, args.col).value(1);
|
|
|
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);
|
|
|
return oldSelection == i_key;
|
|
|
});
|
|
|
if (oindex != -1) {
|
|
|
args.sheet.getCell(oindex, args.col).value(0);
|
|
|
- this.gljLibSheetData[oindex].select = 0;
|
|
|
} else {
|
|
|
var oldData = _.find(gljOprObj.AllRecode, function (item) {
|
|
|
var i_key = me.getIndex(item, gljLibKeyArray);
|
|
|
return oldSelection == i_key;
|
|
|
});
|
|
|
- oldData ? oldData.select = 0 : "";
|
|
|
}
|
|
|
},
|
|
|
filterLibGLJByType: function () {
|
|
|
@@ -1188,7 +1205,6 @@ var gljOprObj = {
|
|
|
distTypeTree.comboDatas.push({text: distTypeObj.data.fullName, value: distTypeObj.data.ID});
|
|
|
}
|
|
|
});
|
|
|
- console.log(distTypeTree);
|
|
|
return distTypeTree;
|
|
|
},
|
|
|
doInsertGLJ: function () {
|
|
|
@@ -1229,7 +1245,6 @@ var gljOprObj = {
|
|
|
doAddGLJ: function () {
|
|
|
var selected = projectObj.project.mainTree.selected;
|
|
|
var project = projectObj.project;
|
|
|
- debugger;
|
|
|
gljOprObj.GLJSelection = _.filter(gljOprObj.GLJSelection, function (n) {
|
|
|
var rg = _.find(gljOprObj.sheetData, function (item) {
|
|
|
if(item.isMixRatio == true){
|
|
|
@@ -1588,10 +1603,13 @@ var gljOprObj = {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// 人材机选择界面的功能进行了适合分页的重构
|
|
|
+// 重构时,只有添加、替换、批量替换的入口。因此只对这三个入口相关的地方进行重构,其他入口的代码没有变更
|
|
|
+// 若以后放开其他入口,需要将其他入口的相应方法进行重构
|
|
|
$(function () {
|
|
|
$('#glj_tree_div').on('hidden.bs.modal', function () {
|
|
|
- // 清除选中人材机缓存数据
|
|
|
- gljOprObj.selectedList = [];
|
|
|
+ // 清空搜索框
|
|
|
+ $('#gljSearchKeyword').val('');
|
|
|
});
|
|
|
$('#glj_tree_div').on('shown.bs.modal', function (e) {
|
|
|
if (gljOprObj.gljLibSpresd == undefined) {
|
|
|
@@ -1606,43 +1624,30 @@ $(function () {
|
|
|
gljOprObj.gljLibSheet.name('glj_lib');
|
|
|
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') {//插入,添加
|
|
|
gljOprObj.GLJSelection = [];
|
|
|
} 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];
|
|
|
- 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 = [];
|
|
|
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);
|
|
|
- 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.setActiveCell(index, 0);
|
|
|
gljOprObj.initSelection({row: index});
|
|
|
@@ -1653,7 +1658,9 @@ $(function () {
|
|
|
gljOprObj.gljLibSheet.showRow(0, GC.Spread.Sheets.VerticalPosition.top);
|
|
|
gljOprObj.gljLibSheet.setActiveCell(0, 0);
|
|
|
gljOprObj.initSelection({row: 0});
|
|
|
- } else gljOprObj.showLibGLJSheetData();
|
|
|
+ } else {
|
|
|
+ gljOprObj.showLibGLJSheetData();
|
|
|
+ }
|
|
|
console.timeEnd('getGLJData');
|
|
|
});
|
|
|
|
|
|
@@ -1662,46 +1669,19 @@ $(function () {
|
|
|
gljOprObj.showScopeDatas();
|
|
|
});
|
|
|
|
|
|
-
|
|
|
- $('#glj_tree_div').on('hidden.bs.modal', function () {
|
|
|
- $('#gljSearchKeyword').val('');
|
|
|
- });
|
|
|
-
|
|
|
+ // 人材机选择界面标准、补充单选
|
|
|
$('.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 {
|
|
|
- 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() {
|
|
|
- gljOprObj.loadPageData(gljOprObj.gljLibSheet, 0);
|
|
|
- /*gljOprObj.filterLibGLJSheetData();
|
|
|
- gljOprObj.showLibGLJSheetData();
|
|
|
- gljOprObj.initSelection({row: 0});*/
|
|
|
+ gljOprObj.loadPageData(gljOprObj.gljLibSheet, true, 0);
|
|
|
}, 500));
|
|
|
|
|
|
$('#glj_selected_conf').click(function () {
|