|
@@ -38,10 +38,11 @@ let repositoryGljObj = {
|
|
|
header:[
|
|
|
{headerName:"编码",headerWidth:120,dataCode:"code", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
|
|
|
{headerName:"名称",headerWidth:260,dataCode:"name", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
|
|
|
- {headerName:"规格型号",headerWidth:260,dataCode:"specs", dataType: "String", formatter: "@", hAlign: "left", vAlign: "center"},
|
|
|
+ {headerName:"规格型号",headerWidth:220,dataCode:"specs", dataType: "String", formatter: "@", 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:"gljType", dataType: "String", hAlign: "center", vAlign: "center"}
|
|
|
+ {headerName:"类型",headerWidth:120,dataCode:"gljType", dataType: "String", hAlign: "center", vAlign: "center"},
|
|
|
+ {headerName:"调整系数",headerWidth:80,dataCode:"adjCoe", dataType: "Number", hAlign: "center", vAlign: "center"},
|
|
|
],
|
|
|
view:{
|
|
|
comboBox:[
|
|
@@ -167,6 +168,7 @@ let repositoryGljObj = {
|
|
|
me.gljList = result.data;
|
|
|
me.workBook.getSheet(0).setRowCount(result.data.length);
|
|
|
me.sortGlj();
|
|
|
+ me.currentGlj = me.gljList.length > 0 ? me.gljList[0] : null;//初始
|
|
|
let rootNode = me.treeObj.getNodes()[0];
|
|
|
if(rootNode && rootNode.isParent && rootNode.isFirstNode){
|
|
|
me.treeObj.selectNode(rootNode);
|
|
@@ -403,6 +405,9 @@ let repositoryGljObj = {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if(me.currentEditingGlj.gljType !== 1 && me.currentEditingGlj.gljType !== 303 && me.setting.header[args.col].dataCode === 'adjCoe'){
|
|
|
+ args.cancel = true;
|
|
|
+ }
|
|
|
},
|
|
|
onCellEditEnd: function(sender, args) {
|
|
|
let me = repositoryGljObj, that = gljComponentOprObj,
|
|
@@ -411,7 +416,7 @@ let repositoryGljObj = {
|
|
|
me.editingRowIdx = args.row;
|
|
|
rObj.basePrice = rObj.basePrice ? rObj.basePrice : 0;
|
|
|
//更新
|
|
|
- if (me.currentEditingGlj["ID"]) {
|
|
|
+ if (me.currentEditingGlj["ID"] && me.currentGlj) {
|
|
|
rObj["ID"] = me.currentEditingGlj["ID"];
|
|
|
rObj.gljClass = me.currentEditingGlj.gljClass;
|
|
|
if(me.currentEditingGlj[me.setting.header[args.col].dataCode] !== rObj[me.setting.header[args.col].dataCode]){
|
|
@@ -424,6 +429,10 @@ let repositoryGljObj = {
|
|
|
if(me.allowComponent.indexOf(rObj.gljType) !== -1){
|
|
|
rObj.basePrice = 0;
|
|
|
}
|
|
|
+ //调整系数,工料机类型为人工和机上人工时,可输入整数
|
|
|
+ if((me.currentEditingGlj.gljType === 1 || me.currentEditingGlj.gljType === 303) && !(rObj.gljType === 1 || rObj.gljType === 303)){
|
|
|
+ rObj.adjCoe = null;
|
|
|
+ }
|
|
|
if(me.componentGljType.indexOf(me.currentEditingGlj.gljType) !== -1 &&
|
|
|
!(me.currentEditingGlj.gljType === 302 && rObj.gljType === 303) && !(me.currentEditingGlj.gljType === 303 && rObj.gljType === 302)){//修改了原本是组成物的工料机
|
|
|
//寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
|
|
@@ -439,6 +448,14 @@ let repositoryGljObj = {
|
|
|
}
|
|
|
sheetCommonObj.cleanData(that.workBook.getSheet(0), that.setting, 5);
|
|
|
}
|
|
|
+ else if(rObj.adjCoe !== me.currentEditingGlj.adjCoe){//修改调整系数,整数控制
|
|
|
+ if(isNaN(rObj.adjCoe) || rObj.adjCoe % 1 !== 0){
|
|
|
+ args.sheet.setValue(args.row, args.col, me.currentEditingGlj.adjCoe ? me.currentEditingGlj.adjCoe : '');
|
|
|
+ alert('调整系数只能输入整数!');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
else if(rObj.basePrice !== me.currentEditingGlj.basePrice){//修改了单价,可修改单价的必为可成为组成物的
|
|
|
//寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
|
|
|
let updateGljs = me.getUpdateGljs(rObj);
|
|
@@ -667,7 +684,13 @@ let repositoryGljObj = {
|
|
|
if(pasteObj.gljType === me.distTypeTree.comboDatas[i].text){
|
|
|
isExsit = true;
|
|
|
reCalBasePrc = true;
|
|
|
- //
|
|
|
+ //调整系数
|
|
|
+ if(me.distTypeTree.comboDatas[i].value !== 1 && me.distTypeTree.comboDatas[i].value !== 303){
|
|
|
+ tempObj.adjCoe = null;
|
|
|
+ }
|
|
|
+ else if((me.distTypeTree.comboDatas[i].value === 1 || me.distTypeTree.comboDatas[i].value === 303) && typeof pasteObj.adjCoe !== 'undefined' && !isNaN(pasteObj.adjCoe) && pasteObj.adjCoe % 1 === 0) {
|
|
|
+ tempObj.adjCoe = pasteObj.adjCoe;
|
|
|
+ }
|
|
|
if(me.componentGljType.indexOf(tempObj.gljType) !== -1 &&
|
|
|
!(tempObj.gljType === 302 && pasteObj.gljType === 303) && !(tempObj.gljType === 303 && pasteObj.gljType === 302)){//修改了原本是组成物的工料机
|
|
|
//寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
|
|
@@ -689,7 +712,17 @@ let repositoryGljObj = {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
- if(!isExsit) isValid = false;
|
|
|
+ if(!isExsit) {
|
|
|
+ isValid = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(typeof pasteObj.adjCoe !== 'undefined' && typeof pasteObj.gljType === 'undefined'){
|
|
|
+ if(tempObj.gljType && (tempObj.gljType === 1 || tempObj.gljType === 303) && typeof pasteObj.adjCoe !== 'undefined' && !isNaN(pasteObj.adjCoe) && pasteObj.adjCoe % 1 === 0) {
|
|
|
+ tempObj.adjCoe = pasteObj.adjCoe;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ isValid = false;
|
|
|
+ }
|
|
|
}
|
|
|
if(typeof pasteObj.basePrice !== 'undefined'){
|
|
|
pasteObj.basePrice = !isNaN(parseFloat(pasteObj.basePrice)) && (pasteObj.basePrice && typeof pasteObj.basePrice !== 'undefined') ? that.round(parseFloat(pasteObj.basePrice), 2) :
|
|
@@ -752,6 +785,11 @@ let repositoryGljObj = {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if(pasteObj.adjCoe && typeof pasteObj.adjCoe !== 'undefined'){
|
|
|
+ if(isNaN(pasteObj.adjCoe) || pasteObj.adjCoe % 1 !== 0){
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
pasteObj.basePrice = !isNaN(parseFloat(pasteObj.basePrice)) && (pasteObj.basePrice && typeof pasteObj.basePrice !== 'undefined') ? parseFloat(pasteObj.basePrice) : 0;
|
|
|
pasteObj.gljClass = me.gljCurTypeId;
|
|
|
return true;
|
|
@@ -779,7 +817,7 @@ let repositoryGljObj = {
|
|
|
//updateItems = items;
|
|
|
for(let i = 0; i < items.length; i++){
|
|
|
let updateObj = me.validUpdateObj(items[i], info.cellRange.row + i);
|
|
|
- if(updateObj && typeof updateObj.updateGlj !== 'undefined'){
|
|
|
+ if(updateObj && typeof updateObj.updateGlj !== 'undefined' && updateObj.updateGlj.length > 0){
|
|
|
//updateArr = updateObj.updateGlj;
|
|
|
updateArr = updateArr.concat(updateObj.updateGlj);
|
|
|
if(typeof updateObj.updateBasePrc !== 'undefined'){
|
|
@@ -1019,19 +1057,14 @@ let gljTypeTreeOprObj = {
|
|
|
sheetCommonObj.cleanSheet(that.workBook.getSheet(0), that.setting, 5);
|
|
|
that.workBook.getSheet(0).getRange(-1, 0 , -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(true);
|
|
|
that.workBook.getSheet(0).getRange(-1, 4 , -1, 1, GC.Spread.Sheets.SheetArea.viewport).locked(true);
|
|
|
- //that.workBook.getSheet(0).options.isProtected = true;
|
|
|
if (me.parentNodeIds["_pNodeId_" + treeNode.ID]) {
|
|
|
me.currentOprParent = 1;
|
|
|
me.currentCache = me.getParentCache(me.parentNodeIds["_pNodeId_" + treeNode.ID]);
|
|
|
sheetsOprObj.lockCodeCells(me.workBook.getSheet(0), me.currentCache.length);
|
|
|
me.workBook.getSheet(0).setRowCount(me.currentCache.length);
|
|
|
- //sheetCommonObj.shieldAllCells(me.workBook.getSheet(0), me.setting);
|
|
|
} else {
|
|
|
me.currentOprParent = 0;
|
|
|
me.currentCache = me.getCache();
|
|
|
- //sheetCommonObj.unShieldAllCells(me.workBook.getSheet(0));
|
|
|
- /*sheetCommonObj.unLockAllCells(me.workBook.getSheet(0));
|
|
|
- sheetCommonObj.lockSomeCodes(me.workBook.getSheet(0), 0, me.currentCache.length);*/
|
|
|
sheetCommonObj.unLockAllCells(me.workBook.getSheet(0));
|
|
|
sheetsOprObj.reLockSomeCodes(me.workBook.getSheet(0), 0, me.currentCache.length);
|
|
|
}
|