Browse Source

bug fixing

zhangweicheng 8 years ago
parent
commit
2ec92c8c4b

+ 3 - 3
modules/ration_glj/facade/glj_calculate_facade.js

@@ -31,7 +31,7 @@ async function calculateQuantity(query,isMarkPriceAjust){
              glj_result:[],
              rationID:query.rationID
          };
-         let impactRation = await ration.findOne({projectID:query.projectID,ID:query.rationID});
+         let impactRation = await ration.findOne({projectID:query.projectID,ID:query.rationID,deleteInfo:null});
          let gljList = await ration_glj.find(query)//{projectID:query.projectID,rationID:query.rationID}
          let coeList = await ration_coe.find({projectID:query.projectID,rationID:query.rationID}).sort('seq').exec();
          let assList=[];
@@ -58,7 +58,7 @@ async function calculateQuantity(query,isMarkPriceAjust){
          adjustState= _.sortByOrder(adjustState, ['index'], ['asc']);
          adjustState=_.map(adjustState, _.property('content'));
          let adjustStateString = adjustState.join(';');
-         await ration.update({projectID:query.projectID,ID:query.rationID},{adjustState:adjustStateString});
+         await ration.update({projectID:query.projectID,ID:query.rationID,deleteInfo: null},{adjustState:adjustStateString});
          result.adjustState=adjustStateString;
          return result;
     }catch (err){
@@ -152,7 +152,7 @@ function generateAdjustState(glj,coeList,adjustState) {
         }
     }
     //市场单价调整
-    if(glj._doc.hasOwnProperty('marketPriceAdjust')&&glj.marketPriceAdjust!=0){
+    if(glj._doc.hasOwnProperty('marketPriceAdjust')&&glj.marketPriceAdjust&&glj.marketPriceAdjust!=0){
         //0101005价66.00
         adjustState.push({index:stateSeq.adjMak,content:glj.code+'价'+glj.marketPriceAdjust});
     }

+ 1 - 1
modules/ration_glj/facade/ration_ass_facade.js

@@ -75,7 +75,7 @@ async function doRationAssAdjust(ration,doc) {
         cal_result:[]
     }
     try{
-        await rationModel.update({projectID:ration.projectID,ID:ration.ID},doc);
+        await rationModel.update({projectID:ration.projectID,ID:ration.ID,deleteInfo: null},doc);
         let cal_result = await glj_calculate_facade.calculateQuantity({projectID:ration.projectID,rationID:ration.ID});
         result.cal_result=cal_result;
         return result;

+ 8 - 2
modules/ration_glj/facade/ration_glj_facade.js

@@ -281,10 +281,16 @@ async function updateprojectGljAndRationGLJ(query,doc) {
     let returnresult={};
     try {
         let gljListModel = new GLJListModel();
+        let temp = doc.market_price;
+        if(doc.market_price==null){
+            doc.market_price = doc.base_price;
+        }
+        delete doc.base_price;
+
         let result = await gljListModel.modifyMarketPrice(doc);
         let updateDoc ={
             marketPrice:result.unit_price.market_price,
-            marketPriceAdjust:doc.market_price,
+            marketPriceAdjust:temp,
             projectGLJID:result.id,
             isEstimate:result.is_evaluate,
             name : result.name,
@@ -383,7 +389,7 @@ function startingTask(processName){
 
 function  getRationsByBill(datas) {
     return function (results,callback) {
-        ration.find({projectID:datas.updateData.projectID,billsItemID:datas.updateData.ID},function (err,rations) {
+        ration.find({projectID:datas.updateData.projectID,billsItemID:datas.updateData.ID,deleteInfo: null},function (err,rations) {
             if(err){
                 callback(err,'')
             }else {

+ 5 - 1
public/web/sheet/sheet_common.js

@@ -121,7 +121,11 @@ var sheetCommonObj = {
                 //var cell = sheet.getCell(row, col, GC.Spread.Sheets.SheetArea.viewport);
                 var val = data[row][setting.header[col].dataCode];
                 if(val&&setting.header[col].dataType === "Number"){
-                    val =parseFloat(val).toFixed(2);
+                    if(setting.header[col].hasOwnProperty('tofix')){
+                        val =parseFloat(val).toFixed(setting.header[col].tofix);
+                    }else {
+                        val =parseFloat(val).toFixed(2);
+                    }
                 }
                 if(val!=null&&setting.header[col].cellType === "checkBox"){
                     this.setCheckBoxCell(row,col,sheet,val)

+ 16 - 9
web/building_saas/main/js/models/ration_glj.js

@@ -64,20 +64,23 @@ var ration_glj = {
             // SheetDataHelper.loadSheetData(setting, rationLibObj.sectionRationsSpread.getActiveSheet(), datas);
         };
         ration_glj.prototype.refreshAfterUpdate=function(data){
-            console.log(data);
-            var rationID =0;
             var me = this;
             if(data.quantityRefresh){
                 data.glj_result.forEach(function (item) {
-                    rationID= me.refreshEachItme(item.doc,item.query);
+                    me.refreshEachItme(item.doc,item.query);
                 })
             }else {
-                rationID= me.refreshEachItme(data.doc,data.query);
+                me.refreshEachItme(data.doc,data.query);
+            }
+            var selected = projectObj.project.mainTree.selected
+            if(selected==null){
+                return;
+            }
+            if(selected.sourceType==ModuleNames.ration){
+                var showList = _.filter(projectObj.project.ration_glj.datas,{'rationID':selected.data.ID});
+                gljOprObj.sheetData=showList;
+                sheetCommonObj.showData(gljOprObj.sheet,gljOprObj.setting,showList);
             }
-            //to do   ---refresh by selected ration id
-            var showList = _.filter(projectObj.project.ration_glj.datas,{'rationID':rationID});
-            gljOprObj.sheetData=showList;
-            sheetCommonObj.showData(gljOprObj.sheet,gljOprObj.setting,showList);
         };
         ration_glj.prototype.refreshEachItme = function (doc,query) {
             var glj_list = projectObj.project.ration_glj.datas;
@@ -247,13 +250,17 @@ var ration_glj = {
             project.pushNow('updateRationGLJ',[this.getSourceType()],updateData);
 
         };
-        ration_glj.prototype.marketPriceAdjustUpdate = function (recode,newVal) {
+        ration_glj.prototype.marketPriceAdjustUpdate = function (recode,newVal,text) {
+            if(text===null){
+                newVal=null;
+            }
             var query = {
                 'ID':recode.ID,
                 'projectID': recode.projectID,
                 'rationID':recode.rationID
             };
             var doc ={
+                base_price:Number(recode.basePrice),
                 market_price:newVal,
                 code:recode.code,
                 name:recode.name,

+ 27 - 22
web/building_saas/main/js/views/glj_view.js

@@ -20,12 +20,12 @@ var gljOprObj = {
             {headerName: "单位", headerWidth: 60, dataCode: "unit", dataType: "String", hAlign: "center"},
             {headerName: "类别", headerWidth: 50, dataCode: "gljDistType", dataType: "String", hAlign: "center"},
             {headerName: "定额消耗量", headerWidth: 80, dataCode: "rationItemQuantity", dataType: "Number", hAlign: "right"},    // dataType: "Number", formatter: "0.00"
-            {headerName: "自定义消耗量", headerWidth: 80, dataCode: "customQuantity", dataType: "Number", hAlign: "right"},
-            {headerName: "消耗量", headerWidth: 80, dataCode: "quantity", dataType: "Number", hAlign: "right"},
-            {headerName: "基价单价", headerWidth: 80, dataCode: "basePrice", dataType: "Number", hAlign: "right"},
-            {headerName: "调整基价", headerWidth: 80, dataCode: "adjustPrice", dataType: "String", hAlign: "right"},
-            {headerName: "市场单价", headerWidth: 80, dataCode: "marketPrice", dataType: "String", hAlign: "right"},
-            {headerName: "市场单价调整", headerWidth: 80, dataCode: "marketPriceAdjust", dataType: "String", hAlign: "right"},
+            {headerName: "自定义消耗量", headerWidth: 80, dataCode: "customQuantity", dataType: "Number", hAlign: "right",formatter:"0.00"},
+            {headerName: "消耗量", headerWidth: 80, dataCode: "quantity", dataType: "Number", hAlign: "right",formatter:"0.00"},
+            {headerName: "基价单价", headerWidth: 80, dataCode: "basePrice", dataType: "Number", hAlign: "right",formatter:"0.0"},
+            {headerName: "调整基价", headerWidth: 80, dataCode: "adjustPrice", dataType: "Number", hAlign: "right",formatter:"0.0"},
+            {headerName: "市场单价", headerWidth: 80, dataCode: "marketPrice", dataType: "Number", hAlign: "right",formatter:"0.0"},
+            {headerName: "市场单价调整", headerWidth: 80, dataCode: "marketPriceAdjust", dataType: "Number", hAlign: "right",formatter:"0.0",tofix:1},
             {headerName: "是否暂估", headerWidth: 80, dataCode: "isEstimate", dataType: "String", hAlign: "center",vAlign:"center",cellType:"checkBox"}
         ],
         view: {
@@ -39,7 +39,7 @@ var gljOprObj = {
         header:[
             {headerName: "调整", headerWidth: 100, dataCode: "isAdjust", dataType: "String",cellType:"checkBox"},
             {headerName: "条件", headerWidth: 120, dataCode: "name", dataType: "String",cellType:"button"},
-            {headerName: "内容", headerWidth: 350, dataCode: "content", dataType: "String", hAlign: "center"}
+            {headerName: "内容", headerWidth: 350, dataCode: "content", dataType: "String", hAlign: "left"}
         ],
         view:{
             lockColumns:[0,1,2]
@@ -48,8 +48,8 @@ var gljOprObj = {
     assSetting:{
         header:[
             {headerName: "调整名称", headerWidth: 100, dataCode: "name", dataType: "String"},
-            {headerName: "定额值", headerWidth: 120, dataCode: "stdValue", dataType: "Number"},
-            {headerName: "实际值", headerWidth: 120, dataCode: "actualValue", dataType: "Number"}
+            {headerName: "定额值", headerWidth: 120, dataCode: "stdValue", dataType: "Number",tofix:0},
+            {headerName: "实际值", headerWidth: 120, dataCode: "actualValue", dataType: "Number",tofix:0}
         ],
         view:{
             lockColumns:[0,1]
@@ -60,6 +60,7 @@ var gljOprObj = {
         var me = this;
         me.sheet = sheet;
         sheetCommonObj.initSheet(me.sheet, me.setting, 30);
+        sheet.name('ration_glj');
         me.bindSheetEvent(sheet);
         sheet.bind(GC.Spread.Sheets.Events.CellClick, me.onCellClick);
         this.loadGLJSpreadContextMenu();
@@ -259,6 +260,8 @@ var gljOprObj = {
                 $('#manchine').val(newValue);
                 $('#main').val(newValue);
                 $('#equipment').val(newValue);
+            }else {
+                $('#'+id).val(newValue);
             }
         }else {
             $('#'+id).val(coe.coes[name].amount);
@@ -342,9 +345,12 @@ var gljOprObj = {
         gljOprObj.coeSheet.repaint();
     },
     onRangeChanged: function(sender, args) {
+        var me = gljOprObj;
         if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
-            if (!confirm(`确定要删除选中的 ${args.rowCount} 条辅助定额吗?`)){return; }
-            // your code...
+            if(args.sheetName=='ration_glj'){
+                args.editingText=null;
+                me.onEditGLJSheet(args);
+            }
         };
     },
     generateHtmlString:function () {
@@ -391,11 +397,11 @@ var gljOprObj = {
         if(!isShow){
             this.clearSheetData();
         }
-  /*      this.lockRationGLJCell();
-        this.lockRationCoeCell();*/
         //hide floatingObject
         var floatingObject = this.coeSheet.floatingObjects.get('customerCoe');
-        floatingObject.isVisible(false);
+        if(floatingObject){
+            floatingObject.isVisible(false);
+        }
      //   $('#dropdown').hide();
     },
     showRationGLJData:function (node) {
@@ -486,15 +492,14 @@ var gljOprObj = {
         var me = gljOprObj;
         var newval = this.numberValueChecking(args.editingText);
         var recode = me.sheetData[args.row];
-        updateFunction.apply(projectObj.project.ration_glj,[recode,newval,args.editingText]);
-        if(newval){
-            newval = parseFloat(recode.customQuantity).toFixed(2);
-        }
         if(args.editingText===null){
-            newval=null;
+            updateFunction.apply(projectObj.project.ration_glj,[recode,null,args.editingText]);
+        }else if(newval!=null){
+            updateFunction.apply(projectObj.project.ration_glj,[recode,newval,args.editingText]);
+        }else {
+            newval = recode[me.setting.header[args.col].dataCode];
+            me.sheet.getCell(args.row, args.col).value(newval);
         }
-        me.sheet.getCell(args.row, args.col).value(newval);
-
     },
     updateRationAss:function (args) {
         var me = gljOprObj;
@@ -520,7 +525,7 @@ var gljOprObj = {
     numberValueChecking:function (val) {
         var newval = Number(val);
         if(number_util.isNumber(newval)){
-            newval = newval.toFixed(2);
+            return newval;
         }else {
             if(val){
                 alert('您输入的数据类型不正确,请重新输入。');

+ 3 - 3
web/building_saas/main/js/views/sub_view.js

@@ -9,16 +9,16 @@ var subSpread = sheetCommonObj.createSpread($("#subSpread")[0], 7);
 // 工料机
 gljOprObj.initSheet(subSpread.getSheet(0));
 //sheetCommonObj.shieldAllCells(subSpread.getSheet(0), gljOprObj.setting);
-
+SheetDataHelper.protectdSheet(subSpread.getSheet(0));
 // assistOprObj.initSheet(subSpread.getSheet(1));
 // sheetCommonObj.shieldAllCells(subSpread.getSheet(1), assistOprObj.setting);
 //附注条件
 gljOprObj.initCoeSheet(subSpread.getSheet(2));
-
+SheetDataHelper.protectdSheet(subSpread.getSheet(2));
 //辅助定额
 
 gljOprObj.initAssSheet(subSpread.getSheet(1));
-
+SheetDataHelper.protectdSheet(subSpread.getSheet(1));
 $("#linkGLJ").click(function(){
     subSpread.setActiveSheetIndex(0);