|
@@ -4,6 +4,7 @@
|
|
|
*/
|
|
|
|
|
|
var billsLibObj = {
|
|
|
+ doAfterLoadBills: null, //外部设置拉取清单数据后的回调
|
|
|
stdBillsTree: null,
|
|
|
stdBillsSpread: null,
|
|
|
stdBillsJobSpread: null,
|
|
@@ -164,52 +165,52 @@ var billsLibObj = {
|
|
|
}
|
|
|
return true;
|
|
|
},
|
|
|
+ showBillsRela: function (node) {
|
|
|
+ if (node && node.children.length === 0) {
|
|
|
+ billsLibObj.showJobsAndFeatures(node);
|
|
|
+ } else {
|
|
|
+ billsLibObj.showBillsRemark(node);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ showJobs:function (jobs) {
|
|
|
+ SheetDataHelper.loadSheetHeader(billsLibObj.jobsSetting, billsLibObj.stdBillsJobSpread.getActiveSheet());
|
|
|
+ SheetDataHelper.loadSheetData(billsLibObj.jobsSetting, billsLibObj.stdBillsJobSpread.getActiveSheet(), jobs);
|
|
|
+ },
|
|
|
+ showFeatures: function (features) {
|
|
|
+ SheetDataHelper.loadSheetHeader(billsLibObj.featuresSetting, billsLibObj.stdBillsFeatureSpread.getActiveSheet());
|
|
|
+ SheetDataHelper.loadSheetData(billsLibObj.featuresSetting, billsLibObj.stdBillsFeatureSpread.getActiveSheet(), features);
|
|
|
+ },
|
|
|
+ showJobsAndFeatures: function (node) {
|
|
|
+ $('#stdBillsJobTab').show();
|
|
|
+ $('#stdBillsRemarkTab').hide();
|
|
|
+ billsLibObj.refreshBillsRelaSpread();
|
|
|
+ billsLibObj.checkBillsRelaSpread();
|
|
|
+ this.showJobs(billsLibObj.getBillsJobs(billsLibObj.stdBillsJobData, node));
|
|
|
+ this.showFeatures(billsLibObj.getBillsFeatures(billsLibObj.stdBillsFeatureData, node));
|
|
|
+ },
|
|
|
+ showBillsRemark: function (node) {
|
|
|
+ $('#stdBillsJobTab').hide();
|
|
|
+ $('#stdBillsRemarkTab').show();
|
|
|
+ $('#stdBillsRemark').text(node && node.data.recharge ? node.data.recharge : '');
|
|
|
+ },
|
|
|
loadStdBills: function (stdBillsLibID) {
|
|
|
var that = this;
|
|
|
- var stdBillsJobData, stdBillsFeatureData, stdBills;
|
|
|
+ var stdBills;
|
|
|
if(that.stdBillsTree){
|
|
|
that.stdBillsTree = null;
|
|
|
}
|
|
|
that.stdBillsTree = idTree.createNew({id: 'ID', pid: 'ParentID', nid: 'NextSiblingID', rootId: -1, autoUpdate: true});
|
|
|
var stdBillsTreeController = TREE_SHEET_CONTROLLER.createNew(that.stdBillsTree, billsLibObj.stdBillsSpread.getActiveSheet(), billsLibObj.stdBillsTreeSetting);
|
|
|
- var showJobs = function (jobs) {
|
|
|
- SheetDataHelper.loadSheetHeader(billsLibObj.jobsSetting, billsLibObj.stdBillsJobSpread.getActiveSheet());
|
|
|
- SheetDataHelper.loadSheetData(billsLibObj.jobsSetting, billsLibObj.stdBillsJobSpread.getActiveSheet(), jobs);
|
|
|
- };
|
|
|
- var showFeatures = function (features) {
|
|
|
- SheetDataHelper.loadSheetHeader(billsLibObj.featuresSetting, billsLibObj.stdBillsFeatureSpread.getActiveSheet());
|
|
|
- SheetDataHelper.loadSheetData(billsLibObj.featuresSetting, billsLibObj.stdBillsFeatureSpread.getActiveSheet(), features);
|
|
|
- };
|
|
|
- var showJobsAndFeatures = function (node) {
|
|
|
- $('#stdBillsJobTab').show();
|
|
|
- $('#stdBillsRemarkTab').hide();
|
|
|
- billsLibObj.refreshBillsRelaSpread();
|
|
|
- billsLibObj.checkBillsRelaSpread();
|
|
|
- showJobs(billsLibObj.getBillsJobs(stdBillsJobData, node));
|
|
|
- showFeatures(billsLibObj.getBillsFeatures(stdBillsFeatureData, node));
|
|
|
- };
|
|
|
- var showBillsRemark = function (node) {
|
|
|
- $('#stdBillsJobTab').hide();
|
|
|
- $('#stdBillsRemarkTab').show();
|
|
|
- $('#stdBillsRemark').text(node && node.data.recharge ? node.data.recharge : '');
|
|
|
- };
|
|
|
- var showBillsRela = function (node) {
|
|
|
- if (node && node.children.length === 0) {
|
|
|
- showJobsAndFeatures(node);
|
|
|
- } else {
|
|
|
- showBillsRemark(node);
|
|
|
- }
|
|
|
- };
|
|
|
$.bootstrapLoading.start();
|
|
|
CommonAjax.post('/stdBillsEditor/getJobContent', {userId: userID, billsLibId: stdBillsLibID}, function (datas) {
|
|
|
- stdBillsJobData = datas;
|
|
|
+ that.stdBillsJobData = datas;
|
|
|
}, function () {
|
|
|
- stdBillsJobData = [];
|
|
|
+ that.stdBillsJobData = [];
|
|
|
});
|
|
|
CommonAjax.post('/stdBillsEditor/getItemCharacter', {userId: userID, billsLibId: stdBillsLibID}, function (datas) {
|
|
|
- stdBillsFeatureData = datas;
|
|
|
+ that.stdBillsFeatureData = datas;
|
|
|
}, function () {
|
|
|
- stdBillsFeatureData = [];
|
|
|
+ that.stdBillsFeatureData = [];
|
|
|
});
|
|
|
CommonAjax.post('/stdBillsEditor/getBills', {userId: userID, billsLibId: stdBillsLibID}, function (datas) {
|
|
|
stdBills = datas;
|
|
@@ -225,14 +226,14 @@ var billsLibObj = {
|
|
|
}
|
|
|
stdBillsTreeController.showTreeData();
|
|
|
billsLibObj.setTagForHint(that.stdBillsTree.items);
|
|
|
- showBillsRela(that.stdBillsTree.firstNode());
|
|
|
- stdBillsTreeController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, showBillsRela);
|
|
|
+ that.showBillsRela(that.stdBillsTree.firstNode());
|
|
|
+ stdBillsTreeController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, that.showBillsRela);
|
|
|
that.stdBillsSpread.unbind(GC.Spread.Sheets.Events.CellDoubleClick);
|
|
|
that.stdBillsSpread.bind(GC.Spread.Sheets.Events.CellDoubleClick, function (sender, args) {
|
|
|
let selectNode = that.stdBillsTree.items[args.row];
|
|
|
let name = selectNode.data.name;
|
|
|
if (that.stdBillsTree.items[args.row].children.length === 0) {
|
|
|
- billsLibObj.insertBills(stdBillsJobData, stdBillsFeatureData, selectNode);
|
|
|
+ billsLibObj.insertBills(that.stdBillsJobData, that.stdBillsFeatureData, selectNode);
|
|
|
}
|
|
|
else{
|
|
|
let me = billsLibObj;
|
|
@@ -253,6 +254,9 @@ var billsLibObj = {
|
|
|
args.sheet.repaint();
|
|
|
}
|
|
|
});
|
|
|
+ if(that.doAfterLoadBills){
|
|
|
+ that.doAfterLoadBills();
|
|
|
+ }
|
|
|
$.bootstrapLoading.end();
|
|
|
}, function () {
|
|
|
that.stdBillsSpread.unbind(GC.Spread.Sheets.Events.CellDoubleClick);
|
|
@@ -329,6 +333,22 @@ var billsLibObj = {
|
|
|
TREE_SHEET_HELPER.refreshNodesVisible(that.stdBillsTree.roots, that.stdBillsSpread.getActiveSheet(), true);
|
|
|
});
|
|
|
},
|
|
|
+ locateAtBills: function (code) {
|
|
|
+ let nineCode = code.substring(0, 9);
|
|
|
+ let items = this.stdBillsTree.items;
|
|
|
+ let locateBills = _.find(items, function(item){
|
|
|
+ return item.data.code === nineCode;
|
|
|
+ });
|
|
|
+ if(locateBills){
|
|
|
+ this.expandSearchNodes([locateBills]);
|
|
|
+ sessionStorage.setItem('stdBillsLibExpState', this.stdBillsTree.getExpState(this.stdBillsTree.items));
|
|
|
+ }
|
|
|
+ let stdBillsSheet = this.stdBillsSpread.getActiveSheet();
|
|
|
+ let locateRow = locateBills ? locateBills.serialNo() : 0;
|
|
|
+ stdBillsSheet.setActiveCell(locateRow, 0);
|
|
|
+ this.showBillsRela(locateBills);
|
|
|
+ stdBillsSheet.showRow(locateRow, GC.Spread.Sheets.VerticalPosition.center);
|
|
|
+ },
|
|
|
stdBillsTreeSetting: {
|
|
|
"emptyRowHeader": true,
|
|
|
"rowHeaderWidth": 15,
|