|
@@ -46,7 +46,7 @@ var pageOprObj = {
|
|
|
{headerName:"规格",headerWidth:260,dataCode:"specs", dataType: "String", hAlign: "left", vAlign: "center"},
|
|
|
{headerName:"单位",headerWidth:120,dataCode:"unit", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
|
{headerName:"基价单价",headerWidth:120,dataCode:"basePrice", dataType: "Number", formatter: "0.00", hAlign: "right", vAlign: "center"},
|
|
|
- {headerName:"类型",headerWidth:120,dataCode:"gljDistType", dataType: "String", hAlign: "center", vAlign: "center"}
|
|
|
+ {headerName:"类型",headerWidth:120,dataCode:"gljType", dataType: "String", hAlign: "center", vAlign: "center"}
|
|
|
],
|
|
|
view:{
|
|
|
comboBox:[
|
|
@@ -60,7 +60,7 @@ var pageOprObj = {
|
|
|
let me = this;
|
|
|
let distType;
|
|
|
let distTypeTree = {
|
|
|
- prefix : 'gljDistType',
|
|
|
+ prefix : 'gljType',
|
|
|
distTypes: {},
|
|
|
comboDatas: [],
|
|
|
distTypesArr: []
|
|
@@ -164,9 +164,9 @@ var pageOprObj = {
|
|
|
var cacheSection = [];
|
|
|
var pArr = me.parentNodeIds["_pNodeId_" + type];
|
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
- if (pArr && pArr.indexOf(data[i].gljType) >= 0) {
|
|
|
+ if (pArr && pArr.indexOf(data[i].gljClass) >= 0) {
|
|
|
cacheSection.push(data[i]);
|
|
|
- } else if (type == data[i].gljType) {
|
|
|
+ } else if (type == data[i].gljClass) {
|
|
|
//data[i].gljDistType = me.distTypeTree.distTypes[me.distTypeTree.prefix + data[i].gljDistType].data.fullName;
|
|
|
cacheSection.push(data[i]);
|
|
|
}
|
|
@@ -184,18 +184,76 @@ var pageOprObj = {
|
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditStarting, me.onCellEditStart);
|
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
|
|
|
me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
|
|
|
+ me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onEnterCell);
|
|
|
},
|
|
|
+ onEnterCell: function (sender, args) {
|
|
|
+ let me = repositoryGljObj;
|
|
|
+ me.cellRowIdx = args.row;
|
|
|
+ let isHasData = false;
|
|
|
+ if(me.addGljObj){
|
|
|
+ for(let i=0; i<me.setting.header.length; i++){
|
|
|
+ if(me.addGljObj[me.setting.header[i].dataCode]){
|
|
|
+ isHasData = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(isHasData){
|
|
|
+ console.log(`enterHasData`);
|
|
|
+ if(me.editingRowIdx !== me.cellRowIdx) {
|
|
|
+ let isComple = true;
|
|
|
+ let focusToCol;
|
|
|
+ function getFocusToCol (me){
|
|
|
+ for(let i=0; i< me.setting.header.length; i++){
|
|
|
+ if(!me.addGljObj[me.setting.header[i].dataCode]){
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ focusToCol = getFocusToCol(me);
|
|
|
+ console.log(`focusTocol: ${focusToCol}`);
|
|
|
+ for(let i=0; i< me.setting.header.length; i++){
|
|
|
+ if(!me.addGljObj[me.setting.header[i].dataCode]){
|
|
|
+ isComple = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(isComple){
|
|
|
+
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ $('#gljAlertBtn').click();
|
|
|
+ me.workBook.getSheet(0).options.isProtected = true;
|
|
|
+ $('#aleCanceBtn').click(function () {
|
|
|
+ me.workBook.getSheet(0).options.isProtected = false;
|
|
|
+ me.workBook.getSheet(0).setActiveCell(me.editingRowIdx, focusToCol);
|
|
|
+ });
|
|
|
+ $('#gljAleClose').click(function () {
|
|
|
+ me.workBook.getSheet(0).options.isProtected = false;
|
|
|
+ me.workBook.getSheet(0).setActiveCell(me.editingRowIdx, focusToCol);
|
|
|
+ });
|
|
|
+ $('#aleConfBtn').click(function () {
|
|
|
+ me.workBook.getSheet(0).options.isProtected = false;
|
|
|
+ me.addGljObj = null;
|
|
|
+ for(let col=0; col<me.setting.header.length; col++){
|
|
|
+ me.workBook.getSheet(0).getCell(me.editingRowIdx, col).value('');
|
|
|
+ }
|
|
|
+ me.workBook.getSheet(0).setActiveCell(me.editingRowIdx, 0);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
onCellEditStart: function(sender, args) {
|
|
|
var me = repositoryGljObj;
|
|
|
var rObj = sheetCommonObj.combineRowData(me.workBook.getSheet(0), me.setting, args.row);
|
|
|
me.currentEditingGlj = rObj;
|
|
|
- console.log(me.currentEditingGlj);//add
|
|
|
+ console.log(`currentEditingGlj`);
|
|
|
+ console.log(me.currentEditingGlj);
|
|
|
+ me.orgCode = me.workBook.getSheet(0).getValue(args.row, 0);
|
|
|
var cacheSection = me.gljList;
|
|
|
- console.log(`cacheSection`);
|
|
|
- console.log(cacheSection);
|
|
|
if (cacheSection) {
|
|
|
for (var j = 0; j < cacheSection.length; j++) {
|
|
|
- if (cacheSection[j][me.setting.header[0].dataCode] == rObj[me.setting.header[0].dataCode]) {
|
|
|
+ if (cacheSection[j][me.setting.header[0].dataCode] && cacheSection[j][me.setting.header[0].dataCode] == rObj[me.setting.header[0].dataCode]) {
|
|
|
rObj["ID"] = cacheSection[j]["ID"];
|
|
|
break;
|
|
|
}
|
|
@@ -203,17 +261,32 @@ var pageOprObj = {
|
|
|
}
|
|
|
},
|
|
|
onCellEditEnd: function(sender, args) {
|
|
|
- var me = repositoryGljObj, rObj = sheetCommonObj.combineRowData(me.workBook.getSheet(0), me.setting, args.row, me.distTypeTree),
|
|
|
+ var me = repositoryGljObj, rObj = sheetCommonObj.combineRowData(me.workBook.getSheet(0), me.setting, args.row, me),
|
|
|
updateArr = [], addArr = [];
|
|
|
+ me.editingRowIdx = args.row;
|
|
|
if (me.currentEditingGlj["ID"]) {
|
|
|
rObj["ID"] = me.currentEditingGlj["ID"];
|
|
|
updateArr.push(rObj);
|
|
|
} else {
|
|
|
- addArr.push(rObj);
|
|
|
+ //add
|
|
|
+ me.addGljObj = rObj;
|
|
|
+ let isCanSav = true;
|
|
|
+ for(let i=0; i<me.setting.header.length; i++){
|
|
|
+ if(!rObj[me.setting.header[i].dataCode]){
|
|
|
+ isCanSav = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(isCanSav){
|
|
|
+ me.addGljObj = null;
|
|
|
+ addArr.push(rObj);
|
|
|
+ }
|
|
|
}
|
|
|
rObj.gljType = me.gljCurTypeId;
|
|
|
me.currentEditingGlj = null;
|
|
|
- me.mixUpdateRequest(updateArr, addArr, []);
|
|
|
+ if(updateArr.length >0 || addArr.length >0){
|
|
|
+ me.mixUpdateRequest(updateArr, addArr, []);
|
|
|
+ }
|
|
|
},
|
|
|
onRangeChanged: function(sender, args) {
|
|
|
if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
|
|
@@ -247,6 +320,8 @@ var pageOprObj = {
|
|
|
},
|
|
|
onClipboardPasting: function(sender, args) {
|
|
|
var me = repositoryGljObj;
|
|
|
+ console.log(`me.parentNodeIds`);
|
|
|
+ console.log(me.parentNodeIds);
|
|
|
if (args.cellRange.colCount != me.setting.header.length || me.gljCurTypeId < 0 || me.parentNodeIds["_pNodeId_" + me.gljCurTypeId]) {
|
|
|
args.cancel = true;
|
|
|
}
|
|
@@ -293,6 +368,8 @@ var pageOprObj = {
|
|
|
me.sortGlj();
|
|
|
me.currentCache = me.getCache();
|
|
|
me.showGljItems(me.gljList, me.gljCurTypeId);
|
|
|
+ console.log(`me.cC`);
|
|
|
+ console.log(me.currentCache);
|
|
|
}
|
|
|
},
|
|
|
error:function(err){
|
|
@@ -303,7 +380,7 @@ var pageOprObj = {
|
|
|
getCache: function() {
|
|
|
var me = this, rst = [];
|
|
|
for (var i = 0; i < me.gljList.length; i++) {
|
|
|
- if (me.gljList[i].gljType == me.gljCurTypeId) {
|
|
|
+ if (me.gljList[i].gljClass == me.gljCurTypeId) {
|
|
|
rst.push(me.gljList[i]);
|
|
|
}
|
|
|
}
|
|
@@ -363,6 +440,10 @@ var gljTypeTreeOprObj = {
|
|
|
me.gljCurTypeId = treeNode.ID;
|
|
|
console.log(`gljcurtypeId: ${me.gljCurTypeId}`);
|
|
|
me.currentCache = me.getCache();
|
|
|
+ console.log(`gljList`);
|
|
|
+ console.log(me.gljList);
|
|
|
+ console.log(`nowCache`);
|
|
|
+ console.log(me.currentCache);
|
|
|
me.showGljItems(me.gljList, gljTypeId);
|
|
|
if (me.parentNodeIds["_pNodeId_" + treeNode.ID]) {
|
|
|
sheetCommonObj.shieldAllCells(me.workBook.getSheet(0), me.setting);
|