|
|
@@ -616,7 +616,7 @@ let sectionTreeObj = {
|
|
|
}
|
|
|
},
|
|
|
//模仿默认点击
|
|
|
- initSelection: function (node) {
|
|
|
+ initSelection: function (node, doAfterGetRation = null) {
|
|
|
if (node && node.tree){
|
|
|
node.tree.selected = node ? node : null;
|
|
|
}
|
|
|
@@ -637,10 +637,17 @@ let sectionTreeObj = {
|
|
|
me.removeBtn.addClass('disabled');
|
|
|
rationOprObj.canRations = true;
|
|
|
rationOprObj.workBook.getSheet(0).clearSelection();
|
|
|
- rationOprObj.getRationItems(node.data.ID, function () {
|
|
|
- rationOprObj.workBook.getActiveSheet().setActiveCell(0, 0);
|
|
|
- rationOprObj.rationSelInit(0, true);
|
|
|
- });
|
|
|
+ //获取定额后的回调操作:1.正常变更章节树节点,则默认获取定额后定位至首行定额 2.搜索定额后,获取定额后定位至匹配到的定额
|
|
|
+ if (doAfterGetRation && typeof doAfterGetRation === 'function') {
|
|
|
+ rationOprObj.doAfterGetRation = doAfterGetRation;
|
|
|
+ } else {
|
|
|
+ rationOprObj.doAfterGetRation = function (rations) {
|
|
|
+ rationOprObj.workBook.getActiveSheet().setActiveCell(0, 0);
|
|
|
+ rationOprObj.rationSelInit(0, true);
|
|
|
+ rationOprObj.workBook.getActiveSheet().showRow(0, GC.Spread.Sheets.VerticalPosition.top);
|
|
|
+ };
|
|
|
+ }
|
|
|
+ rationOprObj.getRationItems(node.data.ID, rationOprObj.doAfterGetRation);
|
|
|
rationOprObj.setCombo(rationOprObj.workBook.getSheet(0), 'dynamic');
|
|
|
}
|
|
|
else {
|
|
|
@@ -660,5 +667,47 @@ let sectionTreeObj = {
|
|
|
sheetCommonObj.cleanSheet(rationInstObj.sheet, rationInstObj.setting, -1);
|
|
|
}
|
|
|
me.workBook.focus(true);
|
|
|
+ },
|
|
|
+ //根据定额定位至章节树
|
|
|
+ locateToSection: function (rationCode) {
|
|
|
+ let me = this;
|
|
|
+ //去后台搜索该定额
|
|
|
+ CommonAjax.post('/rationRepository/api/getRationItem', {rationLibId: pageOprObj.rationLibId, code: rationCode}, function (rstData) {
|
|
|
+ if (!rstData) {
|
|
|
+ alert(`不存在定额${rationCode}`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //定位至相关章节
|
|
|
+ let sectionId = rstData.sectionId;
|
|
|
+ if (!sectionId) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let sectionNode = me.tree.nodes[`id_${sectionId}`];
|
|
|
+ if (!sectionNode) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ me.sheet.setActiveCell(sectionNode.serialNo(), 1);
|
|
|
+ let doAfterGetRation = function (rations) {
|
|
|
+ let findRation = _.find(rations, {code: rationCode}),
|
|
|
+ rIdx = rations.indexOf(findRation),
|
|
|
+ rationSheet = rationOprObj.workBook.getActiveSheet();
|
|
|
+ rationSheet.setActiveCell(rIdx, 0);
|
|
|
+ rationOprObj.rationSelInit(rIdx, true);
|
|
|
+ rationOprObj.workBook.getActiveSheet().showRow(rIdx, GC.Spread.Sheets.VerticalPosition.top);
|
|
|
+ };
|
|
|
+ me.initSelection(sectionNode, doAfterGetRation);
|
|
|
+ }, function () {
|
|
|
+ });
|
|
|
}
|
|
|
-};
|
|
|
+};
|
|
|
+$(document).ready(function () {
|
|
|
+ $('#rationSearch').keydown(function (event) {
|
|
|
+ if(event.keyCode === 13){
|
|
|
+ $(this).blur();
|
|
|
+ let rationCode = $(this).val().toUpperCase();
|
|
|
+ if (rationCode) {
|
|
|
+ sectionTreeObj.locateToSection(rationCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+});
|