|
@@ -41,7 +41,10 @@ let repositoryGljObj = {
|
|
gljList: [],
|
|
gljList: [],
|
|
allowComponent: [202, 203, 204, 301, 4],//可带组成物类型:混凝土、砂浆、配合比、机械台班
|
|
allowComponent: [202, 203, 204, 301, 4],//可带组成物类型:混凝土、砂浆、配合比、机械台班
|
|
componentGljType: [201, 302, 303, 4],//可成为组成物的工料机类型: 普通材料、 机械组成物、 机上人工
|
|
componentGljType: [201, 302, 303, 4],//可成为组成物的工料机类型: 普通材料、 机械组成物、 机上人工
|
|
- materialType: ['钢材', '木材', '水泥', '钢筋', '标准砖'],//三材类别
|
|
|
|
|
|
+ //materialType: ['钢材', '木材', '水泥', '钢筋', '标准砖'],//三材类型:钢材1、钢筋101、木材2、水泥3、标准砖4
|
|
|
|
+ materialType: {textArr: ['钢材', '钢筋', '木材', '水泥', '标准砖'], comboItems: [{text: '钢材', value: 1}, {text: '钢筋', value: 2},{text: '木材', value: 3},//三材类型:钢材1、钢筋101、木材2、水泥3、标准砖4
|
|
|
|
+ {text: '水泥', value: 4}, {text: '标准砖', value: 5}]},
|
|
|
|
+ materialTypeIdx: {'1': '钢材', '2': '钢筋', '3': '木材', '4': '水泥', '5': '标准砖'},
|
|
distTypeTree: null,//add
|
|
distTypeTree: null,//add
|
|
setting: {
|
|
setting: {
|
|
owner: "glj",
|
|
owner: "glj",
|
|
@@ -190,9 +193,9 @@ let repositoryGljObj = {
|
|
if (me.workBook) {
|
|
if (me.workBook) {
|
|
let cacheSection = data;
|
|
let cacheSection = data;
|
|
sheetCommonObj.cleanData(me.workBook.getSheet(0), me.setting, -1);
|
|
sheetCommonObj.cleanData(me.workBook.getSheet(0), me.setting, -1);
|
|
- sheetsOprObj.showData(me.workBook.getSheet(0), me.setting, cacheSection, me.distTypeTree);
|
|
|
|
|
|
+ sheetsOprObj.showData(me.workBook.getSheet(0), me.setting, cacheSection, me.distTypeTree, me.materialTypeIdx);
|
|
sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), 0, 5, me.workBook.getActiveSheet().getRowCount(), me.distTypeTree.comboDatas, false, 'text');
|
|
sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), 0, 5, me.workBook.getActiveSheet().getRowCount(), me.distTypeTree.comboDatas, false, 'text');
|
|
- sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), 0, 7, me.workBook.getActiveSheet().getRowCount(), me.materialType, false, 'text');
|
|
|
|
|
|
+ sheetCommonObj.setDynamicCombo(me.workBook.getActiveSheet(), 0, 7, me.workBook.getActiveSheet().getRowCount(), me.materialType.comboItems, false, 'text');
|
|
cacheSection = null;
|
|
cacheSection = null;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -425,11 +428,13 @@ let repositoryGljObj = {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
onCellEditEnd: function(sender, args) {
|
|
onCellEditEnd: function(sender, args) {
|
|
|
|
+ console.log(args);
|
|
let me = repositoryGljObj, that = gljComponentOprObj,
|
|
let me = repositoryGljObj, that = gljComponentOprObj,
|
|
rObj = sheetsOprObj.combineRowData(me.workBook.getSheet(0), me.setting, args.row, me),
|
|
rObj = sheetsOprObj.combineRowData(me.workBook.getSheet(0), me.setting, args.row, me),
|
|
updateArr = [], addArr = [], updateBasePrcArr = [];
|
|
updateArr = [], addArr = [], updateBasePrcArr = [];
|
|
me.editingRowIdx = args.row;
|
|
me.editingRowIdx = args.row;
|
|
rObj.basePrice = rObj.basePrice ? rObj.basePrice : 0;
|
|
rObj.basePrice = rObj.basePrice ? rObj.basePrice : 0;
|
|
|
|
+ console.log(rObj);
|
|
//更新
|
|
//更新
|
|
if (me.currentEditingGlj["ID"] && me.currentGlj) {
|
|
if (me.currentEditingGlj["ID"] && me.currentGlj) {
|
|
rObj["ID"] = me.currentEditingGlj["ID"];
|
|
rObj["ID"] = me.currentEditingGlj["ID"];
|
|
@@ -666,7 +671,8 @@ let repositoryGljObj = {
|
|
that = gljComponentOprObj,
|
|
that = gljComponentOprObj,
|
|
tempObj = me.currentCache[rowIdx],
|
|
tempObj = me.currentCache[rowIdx],
|
|
reCalBasePrc = false,
|
|
reCalBasePrc = false,
|
|
- isValid = true;
|
|
|
|
|
|
+ isValid = true,
|
|
|
|
+ materialTypeValid = true;
|
|
//备份原始数据
|
|
//备份原始数据
|
|
for(let atr in tempObj){
|
|
for(let atr in tempObj){
|
|
backUpObj[atr] = tempObj[atr];
|
|
backUpObj[atr] = tempObj[atr];
|
|
@@ -701,13 +707,14 @@ let repositoryGljObj = {
|
|
let isExsit = false;
|
|
let isExsit = false;
|
|
for(let i = 0; i < me.distTypeTree.comboDatas.length; i++){
|
|
for(let i = 0; i < me.distTypeTree.comboDatas.length; i++){
|
|
if(pasteObj.gljType === me.distTypeTree.comboDatas[i].text){
|
|
if(pasteObj.gljType === me.distTypeTree.comboDatas[i].text){
|
|
|
|
+ pasteObj.gljType = me.distTypeTree.comboDatas[i].value;
|
|
isExsit = true;
|
|
isExsit = true;
|
|
reCalBasePrc = true;
|
|
reCalBasePrc = true;
|
|
//调整系数
|
|
//调整系数
|
|
- if(me.distTypeTree.comboDatas[i].value !== 1 && me.distTypeTree.comboDatas[i].value !== 303){
|
|
|
|
|
|
+ if(pasteObj.gljType !== 1 && pasteObj.gljType !== 303){
|
|
tempObj.adjCoe = null;
|
|
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) {
|
|
|
|
|
|
+ else if((pasteObj.gljType === 1 || pasteObj.gljType === 303) && typeof pasteObj.adjCoe !== 'undefined' && !isNaN(pasteObj.adjCoe) && pasteObj.adjCoe % 1 === 0) {
|
|
tempObj.adjCoe = pasteObj.adjCoe;
|
|
tempObj.adjCoe = pasteObj.adjCoe;
|
|
}
|
|
}
|
|
if(me.componentGljType.indexOf(tempObj.gljType) !== -1 &&
|
|
if(me.componentGljType.indexOf(tempObj.gljType) !== -1 &&
|
|
@@ -723,11 +730,11 @@ let repositoryGljObj = {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- tempObj.component = tempObj.gljType === me.distTypeTree.comboDatas[i].value ? tempObj.component : [];
|
|
|
|
|
|
+ tempObj.component = tempObj.gljType === pasteObj.gljType ? tempObj.component : [];
|
|
/*if(me.allowComponent.indexOf(tempObj.gljType) !== -1){//更改成可含组成物的工料机类型,定额价设置为零
|
|
/*if(me.allowComponent.indexOf(tempObj.gljType) !== -1){//更改成可含组成物的工料机类型,定额价设置为零
|
|
tempObj.basePrice = tempObj.gljType === me.distTypeTree.comboDatas[i].value ? tempObj.basePrice : 0;
|
|
tempObj.basePrice = tempObj.gljType === me.distTypeTree.comboDatas[i].value ? tempObj.basePrice : 0;
|
|
}*/
|
|
}*/
|
|
- tempObj.gljType = me.distTypeTree.comboDatas[i].value;
|
|
|
|
|
|
+ tempObj.gljType = pasteObj.gljType;
|
|
tempObj.shortName = me.distTypeTree.distTypes[me.distTypeTree.prefix + tempObj.gljType].data.shortName;
|
|
tempObj.shortName = me.distTypeTree.distTypes[me.distTypeTree.prefix + tempObj.gljType].data.shortName;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -762,15 +769,23 @@ let repositoryGljObj = {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(typeof pasteObj.materialType !== 'undefined'){
|
|
if(typeof pasteObj.materialType !== 'undefined'){
|
|
- if(!me.materialType.includes(pasteObj.materialType)){
|
|
|
|
|
|
+ if(!me.materialType.textArr.includes(pasteObj.materialType)){
|
|
isValid = false;
|
|
isValid = false;
|
|
|
|
+ materialTypeValid = false;
|
|
}
|
|
}
|
|
else {
|
|
else {
|
|
- tempObj.materialType = pasteObj.materialType;
|
|
|
|
|
|
+ me.materialType.comboItems.forEach(function (item) {
|
|
|
|
+ if(item.text === pasteObj.materialType){
|
|
|
|
+ tempObj.materialType = item.value;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(typeof pasteObj.materialCoe !== 'undefined'){
|
|
if(typeof pasteObj.materialCoe !== 'undefined'){
|
|
- if(isNaN(pasteObj.materialCoe) || (!tempObj.materialType && !pasteObj.materialType)){
|
|
|
|
|
|
+ if(isNaN(pasteObj.materialCoe) ||
|
|
|
|
+ (!tempObj.materialType && (!pasteObj.materialType || !me.materialType.textArr.includes(pasteObj.materialType)))){
|
|
|
|
+ tempObj.materialType = '';
|
|
|
|
+ tempObj.materialCoe = null;
|
|
isValid = false;
|
|
isValid = false;
|
|
}
|
|
}
|
|
else{
|
|
else{
|
|
@@ -827,9 +842,16 @@ let repositoryGljObj = {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(pasteObj.materialType){
|
|
if(pasteObj.materialType){
|
|
- if(!me.materialType.includes(pasteObj.materialType)){
|
|
|
|
|
|
+ if(!me.materialType.textArr.includes(pasteObj.materialType)){
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
|
|
+ else {
|
|
|
|
+ me.materialType.comboItems.forEach(function (item) {
|
|
|
|
+ if(item.text === pasteObj.materialType){
|
|
|
|
+ pasteObj.materialType = item.value;
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if(pasteObj.materialCoe){
|
|
if(pasteObj.materialCoe){
|
|
if(isNaN(pasteObj.materialCoe) || !pasteObj.materialType){
|
|
if(isNaN(pasteObj.materialCoe) || !pasteObj.materialType){
|
|
@@ -902,9 +924,6 @@ let repositoryGljObj = {
|
|
updateBasePrcArr = updateBasePrcArr.concat(updateObj.updateBasePrcArr);
|
|
updateBasePrcArr = updateBasePrcArr.concat(updateObj.updateBasePrcArr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- else{
|
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else if(beginRow <= maxRow && endRow > maxRow){
|
|
else if(beginRow <= maxRow && endRow > maxRow){
|
|
@@ -917,9 +936,6 @@ let repositoryGljObj = {
|
|
updateBasePrcArr = updateBasePrcArr.concat(updateObj.updateBasePrcArr);
|
|
updateBasePrcArr = updateBasePrcArr.concat(updateObj.updateBasePrcArr);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- else{
|
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
//if(info.cellRange.colCount === me.setting.header.length){
|
|
//if(info.cellRange.colCount === me.setting.header.length){
|
|
if(info.cellRange.colCount >= me.setting.header.length - 3 && info.cellRange.colCount <= me.setting.header.length){
|
|
if(info.cellRange.colCount >= me.setting.header.length - 3 && info.cellRange.colCount <= me.setting.header.length){
|
|
@@ -932,14 +948,6 @@ let repositoryGljObj = {
|
|
}*/
|
|
}*/
|
|
addArr.push(items[i]);
|
|
addArr.push(items[i]);
|
|
}
|
|
}
|
|
- else{
|
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- else{
|
|
|
|
- for(let i = updateCount ; i < items.length; i++){
|
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -954,29 +962,28 @@ let repositoryGljObj = {
|
|
}*/
|
|
}*/
|
|
addArr.push(items[i]);
|
|
addArr.push(items[i]);
|
|
}
|
|
}
|
|
- else{
|
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- else{
|
|
|
|
- for(let i = 0; i < items.length; i++){
|
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//repaint
|
|
//repaint
|
|
|
|
+ for(let i = 0; i < info.cellRange.rowCount; i++){
|
|
|
|
+ resumeArr.push(info.cellRange.row + i);
|
|
|
|
+ }
|
|
if(resumeArr.length > 0){
|
|
if(resumeArr.length > 0){
|
|
info.sheet.suspendPaint();
|
|
info.sheet.suspendPaint();
|
|
for(let i = 0; i < resumeArr.length ; i++){
|
|
for(let i = 0; i < resumeArr.length ; i++){
|
|
if(resumeArr[i] < me.currentCache.length){
|
|
if(resumeArr[i] < me.currentCache.length){
|
|
for(let col = 0; col < me.setting.header.length; col++){
|
|
for(let col = 0; col < me.setting.header.length; col++){
|
|
- if(me.setting.header[col].dataCode === 'gljType'){
|
|
|
|
- let gljType = me.currentCache[resumeArr[i]][me.setting.header[col].dataCode];
|
|
|
|
|
|
+ let dCode = me.setting.header[col].dataCode;
|
|
|
|
+ if(dCode === 'gljType'){
|
|
|
|
+ let gljType = me.currentCache[resumeArr[i]][dCode];
|
|
info.sheet.setValue(resumeArr[i], col, me.distTypeTree.distTypes["gljType" + gljType].data.fullName);
|
|
info.sheet.setValue(resumeArr[i], col, me.distTypeTree.distTypes["gljType" + gljType].data.fullName);
|
|
}
|
|
}
|
|
|
|
+ else if(dCode === 'materialType'){
|
|
|
|
+ info.sheet.setValue(resumeArr[i], col, me.currentCache[resumeArr[i]][dCode] ? me.materialTypeIdx[me.currentCache[resumeArr[i]][dCode]]: '');
|
|
|
|
+ }
|
|
else{
|
|
else{
|
|
- info.sheet.setValue(resumeArr[i], col, me.currentCache[resumeArr[i]][me.setting.header[col].dataCode]);
|
|
|
|
|
|
+ info.sheet.setValue(resumeArr[i], col, me.currentCache[resumeArr[i]][dCode]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|