|
@@ -418,9 +418,9 @@ let repositoryGljObj = {
|
|
|
if(me.currentGlj){
|
|
|
me.currentGlj.component = [];
|
|
|
}
|
|
|
- if(me.allowComponent.indexOf(rObj.gljType) !== -1){
|
|
|
+ /* if(me.allowComponent.indexOf(rObj.gljType) !== -1){
|
|
|
rObj.basePrice = 0;
|
|
|
- }
|
|
|
+ }*/
|
|
|
if(me.componentGljType.indexOf(me.currentEditingGlj.gljType) !== -1 &&
|
|
|
!(me.currentEditingGlj.gljType === 302 && rObj.gljType === 303) && !(me.currentEditingGlj.gljType === 303 && rObj.gljType === 302)){//修改了原本是组成物的工料机
|
|
|
//寻找所有引用了此组成物的工料机,并从组成物中删去此工料机,并重算单价
|
|
@@ -506,9 +506,9 @@ let repositoryGljObj = {
|
|
|
me.addGljObj = null;
|
|
|
rObj.component = [];
|
|
|
//如果类型为混凝土、砂浆、配合比、机械台班时,添加时填写的单价清空
|
|
|
- if(me.allowComponent.indexOf(rObj.gljType) !== -1){
|
|
|
+ /* if(me.allowComponent.indexOf(rObj.gljType) !== -1){
|
|
|
rObj.basePrice = 0;
|
|
|
- }
|
|
|
+ }*/
|
|
|
rObj.basePrice = !isNaN(parseFloat(rObj.basePrice)) && (rObj.basePrice && typeof rObj.basePrice !== 'undefined') ? parseFloat(rObj.basePrice) : 0;
|
|
|
addArr.push(rObj);
|
|
|
}
|
|
@@ -668,6 +668,7 @@ let repositoryGljObj = {
|
|
|
let isExsit = false;
|
|
|
for(let i = 0; i < me.distTypeTree.comboDatas.length; i++){
|
|
|
if(pasteObj.gljType === me.distTypeTree.comboDatas[i].text){
|
|
|
+ pasteObj.gljType = me.distTypeTree.comboDatas[i].value;
|
|
|
isExsit = true;
|
|
|
reCalBasePrc = true;
|
|
|
//
|
|
@@ -685,9 +686,9 @@ let repositoryGljObj = {
|
|
|
}
|
|
|
}
|
|
|
tempObj.component = tempObj.gljType === me.distTypeTree.comboDatas[i].value ? 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.gljType = me.distTypeTree.comboDatas[i].value;
|
|
|
tempObj.shortName = me.distTypeTree.distTypes[me.distTypeTree.prefix + tempObj.gljType].data.shortName;
|
|
|
break;
|
|
@@ -804,125 +805,99 @@ let repositoryGljObj = {
|
|
|
}
|
|
|
},
|
|
|
onClipboardPasted: function(e, info) {
|
|
|
- // if(info.pasteData.text.trim().length > 0){
|
|
|
- let me = repositoryGljObj;
|
|
|
- let updateArr = [], addArr = [];
|
|
|
- let items = sheetOpr.analyzePasteData(me.setting, info);
|
|
|
- let beginRow = info.cellRange.row, endRow = info.cellRange.row + info.cellRange.rowCount - 1,//复制的起始行数和结束行数
|
|
|
- maxRow = me.currentCache.length - 1,//当前数据最大行数
|
|
|
- updateBasePrcArr = [] ,
|
|
|
- updateCount, resumeArr = [];
|
|
|
- if(endRow <= maxRow){
|
|
|
- //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' && updateObj.updateGlj.length > 0){
|
|
|
- //updateArr = updateObj.updateGlj;
|
|
|
- updateArr = updateArr.concat(updateObj.updateGlj);
|
|
|
- if(typeof updateObj.updateBasePrcArr !== 'undefined'){
|
|
|
- updateBasePrcArr = updateBasePrcArr.concat(updateObj.updateBasePrcArr);
|
|
|
- }
|
|
|
- }
|
|
|
- else{
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
+ // if(info.pasteData.text.trim().length > 0){
|
|
|
+ let me = repositoryGljObj;
|
|
|
+ let updateArr = [], addArr = [];
|
|
|
+ let items = sheetOpr.analyzePasteData(me.setting, info);
|
|
|
+ let beginRow = info.cellRange.row, endRow = info.cellRange.row + info.cellRange.rowCount - 1,//复制的起始行数和结束行数
|
|
|
+ maxRow = me.currentCache.length - 1,//当前数据最大行数
|
|
|
+ updateBasePrcArr = [] ,
|
|
|
+ updateCount, resumeArr = [];
|
|
|
+ if(endRow <= maxRow){
|
|
|
+ //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' && updateObj.updateGlj.length > 0){
|
|
|
+ //updateArr = updateObj.updateGlj;
|
|
|
+ updateArr = updateArr.concat(updateObj.updateGlj);
|
|
|
+ if(typeof updateObj.updateBasePrcArr !== 'undefined'){
|
|
|
+ updateBasePrcArr = updateBasePrcArr.concat(updateObj.updateBasePrcArr);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else if(beginRow <= maxRow && endRow > maxRow){
|
|
|
- updateCount = maxRow - beginRow + 1;
|
|
|
- for(let i = 0; i < updateCount; i++){
|
|
|
- let updateObj = me.validUpdateObj(items[i], info.cellRange.row + i);
|
|
|
- if(updateObj && typeof updateObj.updateGlj !== 'undefined'){
|
|
|
- //updateArr = updateObj.updateGlj;
|
|
|
- updateArr = updateArr.concat(updateObj.updateGlj);
|
|
|
- if(typeof updateObj.updateBasePrcArr !== 'undefined'){
|
|
|
- updateBasePrcArr = updateBasePrcArr.concat(updateObj.updateBasePrcArr);
|
|
|
- }
|
|
|
- }
|
|
|
- else{
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
+ }
|
|
|
+ else if(beginRow <= maxRow && endRow > maxRow){
|
|
|
+ updateCount = maxRow - beginRow + 1;
|
|
|
+ for(let i = 0; i < updateCount; i++){
|
|
|
+ let updateObj = me.validUpdateObj(items[i], info.cellRange.row + i);
|
|
|
+ if(updateObj && typeof updateObj.updateGlj !== 'undefined'){
|
|
|
+ //updateArr = updateObj.updateGlj;
|
|
|
+ updateArr = updateArr.concat(updateObj.updateGlj);
|
|
|
+ if(typeof updateObj.updateBasePrcArr !== 'undefined'){
|
|
|
+ updateBasePrcArr = updateBasePrcArr.concat(updateObj.updateBasePrcArr);
|
|
|
}
|
|
|
}
|
|
|
- if(info.cellRange.colCount === me.setting.header.length -1){
|
|
|
- for(let i = updateCount ; i < items.length; i++){
|
|
|
- if(me.isValidObj(items[i])){
|
|
|
- items[i].component = [];
|
|
|
- //类型为混凝土、砂浆、配合比、机械时,基价只能组成物计算
|
|
|
- if(me.allowComponent.indexOf(items[i].gljType) !== -1){
|
|
|
- items[i].basePrice = 0;
|
|
|
- }
|
|
|
- addArr.push(items[i]);
|
|
|
- }
|
|
|
- else{
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
- }
|
|
|
+ }
|
|
|
+ if(info.cellRange.colCount === me.setting.header.length -1){
|
|
|
+ for(let i = updateCount ; i < items.length; i++){
|
|
|
+ if(me.isValidObj(items[i])){
|
|
|
+ items[i].component = [];
|
|
|
+ //类型为混凝土、砂浆、配合比、机械时,基价只能组成物计算
|
|
|
+ /* if(me.allowComponent.indexOf(items[i].gljType) !== -1){
|
|
|
+ items[i].basePrice = 0;
|
|
|
+ }*/
|
|
|
+ addArr.push(items[i]);
|
|
|
}
|
|
|
}
|
|
|
- else{
|
|
|
- for(let i = updateCount ; i < items.length; i++){
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ if(info.cellRange.colCount === me.setting.header.length -1){
|
|
|
+ for(let i = 0; i < items.length; i++){
|
|
|
+ if(me.isValidObj(items[i])){
|
|
|
+ items[i].component = [];
|
|
|
+ /*if(me.allowComponent.indexOf(items[i].gljType) !== -1){
|
|
|
+ items[i].basePrice = 0;
|
|
|
+ }*/
|
|
|
+ addArr.push(items[i]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- else{
|
|
|
- if(info.cellRange.colCount === me.setting.header.length -1){
|
|
|
- for(let i = 0; i < items.length; i++){
|
|
|
- if(me.isValidObj(items[i])){
|
|
|
- items[i].component = [];
|
|
|
- if(me.allowComponent.indexOf(items[i].gljType) !== -1){
|
|
|
- items[i].basePrice = 0;
|
|
|
- }
|
|
|
- addArr.push(items[i]);
|
|
|
+ }
|
|
|
+ //repaint
|
|
|
+ for(let i = 0; i < info.cellRange.rowCount; i++){
|
|
|
+ resumeArr.push(info.cellRange.row + i);
|
|
|
+ }
|
|
|
+ if(resumeArr.length > 0){
|
|
|
+ let sheet = me.workBook.getActiveSheet();
|
|
|
+ sheet.suspendPaint();
|
|
|
+ for(let i = 0; i < resumeArr.length ; i++){
|
|
|
+ if(resumeArr[i] < me.currentCache.length){
|
|
|
+ for(let col = 0; col < me.setting.header.length -1; col++){
|
|
|
+ if(me.setting.header[col].dataCode === 'gljType'){
|
|
|
+ let gljType = me.currentCache[resumeArr[i]][me.setting.header[col].dataCode];
|
|
|
+ sheet.setValue(resumeArr[i], col, me.distTypeTree.distTypes["gljType" + gljType].data.fullName);
|
|
|
}
|
|
|
else{
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
+ sheet.setValue(resumeArr[i], col, me.currentCache[resumeArr[i]][me.setting.header[col].dataCode]);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
- for(let i = 0; i < items.length; i++){
|
|
|
- resumeArr.push(info.cellRange.row + i);
|
|
|
+ for(let col = 0; col < me.setting.header.length - 1; col++){
|
|
|
+ sheet.setValue(resumeArr[i], col, '', GC.Spread.Sheets.SheetArea.viewport);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- //repaint
|
|
|
- if(resumeArr.length > 0){
|
|
|
- let sheet = me.workBook.getActiveSheet();
|
|
|
- sheet.suspendPaint();
|
|
|
- for(let i = 0; i < resumeArr.length ; i++){
|
|
|
- if(resumeArr[i] < me.currentCache.length){
|
|
|
- for(let col = 0; col < me.setting.header.length -1; col++){
|
|
|
- if(me.setting.header[col].dataCode === 'gljType'){
|
|
|
- let gljType = me.currentCache[resumeArr[i]][me.setting.header[col].dataCode];
|
|
|
- sheet.setValue(resumeArr[i], col, me.distTypeTree.distTypes["gljType" + gljType].data.fullName);
|
|
|
- }
|
|
|
- else{
|
|
|
- sheet.setValue(resumeArr[i], col, me.currentCache[resumeArr[i]][me.setting.header[col].dataCode]);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- else{
|
|
|
- for(let col = 0; col < me.setting.header.length - 1; col++){
|
|
|
- sheet.setValue(resumeArr[i], col, '', GC.Spread.Sheets.SheetArea.viewport);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- sheet.resumePaint();
|
|
|
- }
|
|
|
- if (updateArr.length > 0 || addArr.length > 0) {
|
|
|
- me.mixUpdateRequest(updateArr, addArr, []);
|
|
|
- }
|
|
|
- if(updateBasePrcArr.length > 0 && me.rationLibs.length > 0){
|
|
|
- me.updateRationBasePrcRq(updateBasePrcArr);
|
|
|
- }
|
|
|
- // }
|
|
|
- /* else{//解决bug: 从原本的sheet复制一行数据,会两次调用粘贴事件函数..,todo:找出原因
|
|
|
- for(let i = 0, len = info.cellRange.rowCount; i < len; i++){
|
|
|
- for(let col = 0; col < 6; col++){
|
|
|
- info.sheet.setValue(info.cellRange.row + i, col, '');
|
|
|
- }
|
|
|
- }
|
|
|
- }*/
|
|
|
+ sheet.resumePaint();
|
|
|
+ }
|
|
|
+ if (updateArr.length > 0 || addArr.length > 0) {
|
|
|
+ me.mixUpdateRequest(updateArr, addArr, []);
|
|
|
+ }
|
|
|
+ if(updateBasePrcArr.length > 0 && me.rationLibs.length > 0){
|
|
|
+ me.updateRationBasePrcRq(updateBasePrcArr);
|
|
|
+ }
|
|
|
+ // }
|
|
|
},
|
|
|
updateRationBasePrcRq: function (basePrcArr) {
|
|
|
CommonAjax.post('complementartGlj/api/updateRationBasePrc', {basePrcArr: basePrcArr}, function (rstData) {
|