zhangweicheng 7 anos atrás
pai
commit
ffa61edeae

+ 4 - 3
public/web/gljUtil.js

@@ -181,10 +181,11 @@ let gljUtil = {
         }
         return result;
     },
-    getMarketPrice:function (glj,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil) {
+    getMarketPrice:function (glj,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil,tenderCoe) {
         let price_decimal = decimalObj.glj.unitPrice;
         let quantity_decimal = decimalObj.glj.quantity;
         let process_decimal = decimalObj.process;
+        let priceCoe = this.isDef(tenderCoe)?tenderCoe:1;
         if (this.notEditType.indexOf(glj.unit_price.type)!=-1&&glj.ratio_data.length>0) {//对于混凝土、配合比、砂浆、机械台班等有组成物的材料,价格需根据组成物计算得出。
             let p =0;
             for(let ratio of glj.ratio_data){
@@ -197,13 +198,13 @@ let gljUtil = {
                 });
                 if(tem){
                     let priceData=this.getGLJPrice(tem,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,true,_,scMathUtil);
-                    p+=scMathUtil.roundForObj(priceData.marketPrice*scMathUtil.roundForObj(ratio.consumption,quantity_decimal),process_decimal);
+                    p+=scMathUtil.roundForObj(priceData.marketPrice* priceCoe * scMathUtil.roundForObj(ratio.consumption,quantity_decimal),process_decimal);
                 }
             }
             return scMathUtil.roundForObj(p,price_decimal);
         }else {
             let tem_decimal = isRadio==true?process_decimal:price_decimal;
-            return scMathUtil.roundForObj(glj.unit_price.market_price,tem_decimal);
+            return scMathUtil.roundForObj(parseFloat(glj.unit_price.market_price)*priceCoe,tem_decimal);
         }
     },
     getBasePrice:function (glj,projectGLJDatas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil) {

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

@@ -14,6 +14,7 @@ var sheetCommonObj = {
         spreadBook.options.allowUserDragDrop = true;
         spreadBook.options.allowContextMenu = false;
         spreadBook.options.allowUserEditFormula = false;
+        spreadBook.options.showDragFillSmartTag = false;
         return spreadBook;
     },
 

+ 1 - 0
public/web/sheet/sheet_data_helper.js

@@ -56,6 +56,7 @@ var SheetDataHelper = {
         spread.options.allowUserDragDrop = false;
         spread.options.allowUndo = false;//that.mainSpread.commandManager().setShortcutKey(undefined, GC.Spread.Commands.Key.z, true, false, false, false); 屏蔽undo
         spread.options. allowUserEditFormula = false;
+        spread.options.showDragFillSmartTag = false;
         spread.getActiveSheet().setRowCount(3);
         return spread;
     },

+ 10 - 1
web/building_saas/main/html/tender_price.html

@@ -1,3 +1,12 @@
+<style>
+    input::-webkit-outer-spin-button,
+    input::-webkit-inner-spin-button {
+        -webkit-appearance: none;
+    }
+    input[type="number"]{
+        -moz-appearance: textfield;
+    }
+</style>
 <div class="toolsbar px-1">
     <div class="btn-toolbar py-1">
         <div class="input-group input-group-sm mr-2">
@@ -6,7 +15,7 @@
                 <option value="priceBase" >根据报价计算调整系数</option>
             </select>
         </div>
-        <div class="input-group input-group-sm mr-2" style="width:240px">
+        <div class="input-group input-group-sm mr-2" style="width:200px">
             <div class="input-group-prepend">
                 <span class="input-group-text" id="inputGroup-sizing-sm">人材机单价调整系数</span>
             </div>

+ 27 - 0
web/building_saas/main/js/main.js

@@ -224,6 +224,33 @@ function setDefaultSize(tag,eles,type) {
     }
 }
 
+function disableRightMenu(id,spread,rowChangeFunction) {
+    let me = this;
+    $.contextMenu({
+        selector: '#'+id,
+        build: function ($trigger, e) {
+            let oldRow = spread.getActiveSheet().getSelections()[0].row;
+            var target = SheetDataHelper.safeRightClickSelection($trigger, e, spread);
+            if(rowChangeFunction){
+                if(oldRow != target.row){
+                    rowChangeFunction(target.row)
+                }
+            }
+            return target.hitTestType === GC.Spread.Sheets.SheetArea.viewport || target.hitTestType === GC.Spread.Sheets.SheetArea.rowHeader;
+        },
+        items: {
+            "disable": {
+                name: "",
+                visible: function () {
+                    return false;
+                },
+                callback: function (key, opt) {
+                }
+            },
+        }
+    });
+}
+
 /*window.onunload=show;  页面唯一性可以用session storage 来做
 
 function show()

+ 12 - 0
web/building_saas/main/js/models/project_glj.js

@@ -681,6 +681,18 @@ ProjectGLJ.prototype.getMarketPrice = function (glj,isRadio) {
     return gljUtil.getMarketPrice(glj,proGLJ.datas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil);
 };
 
+ProjectGLJ.prototype.getTenderMarketPrice = function (glj,isRadio) {
+    let proGLJ =  projectObj.project.projectGLJ;
+    let calcOptions=projectInfoObj.projectInfo.property.calcOptions;
+    let decimalObj = projectInfoObj.projectInfo.property.decimal;
+    let labourCoeDatas =  projectObj.project.labourCoe.datas;
+    let tenderCoe = 1;
+    if (projectObj.project.property.tenderSetting && gljUtil.isDef(projectObj.project.property.tenderSetting.gljPriceTenderCoe) ){
+        tenderCoe = parseFloat(projectObj.project.property.tenderSetting.gljPriceTenderCoe);
+    }
+    return gljUtil.getMarketPrice(glj,proGLJ.datas,calcOptions,labourCoeDatas,decimalObj,isRadio,_,scMathUtil,tenderCoe);
+};
+
 ProjectGLJ.prototype.isEstimateType = function(type){
     let typeString = type + "";
     if (typeString.startsWith("2")||typeString=='4'||typeString=='5') {//只有材料、主材、设备类型才显示是否暂估

+ 4 - 4
web/building_saas/main/js/models/quantity_detail.js

@@ -145,7 +145,7 @@ var quantity_detail = {
                         }, function () {
                             doc.refreshQuantity=false;
                             me.doSaveAction(doc,args,batchCallback);
-                        },['确定','取消']);
+                        },['确定','取消'],false);
                         return;
                     }
                 }
@@ -304,7 +304,7 @@ var quantity_detail = {
                             me.updateQuantityRegex(query,doc,args,batchCallback)
                         }, function () {
                             me.cleanQuantityDetail(selected,true);
-                        },['确定','取消']);
+                        },['确定','取消'],false);
                         return;
                     }
                 }
@@ -346,7 +346,7 @@ var quantity_detail = {
                 }, function () {
                     query.refreshQuantity=false;
                     summationUpdate(args,detailList,newval,query);
-                },['确定','取消']);
+                },['确定','取消'],false);
                 return;
             }
             summationUpdate(args,detailList,newval,query);
@@ -612,7 +612,7 @@ var quantity_detail = {
                         me.updateMainTreeNodeQuantity(value,node,editingText);
                     }, function () {
                         projectObj.mainController.refreshTreeNode([node]);
-                    },['确定','取消']);
+                    },['确定','取消'],false);
                     return;
                 }
                 me.updateMainTreeNodeQuantity(value,node,editingText);

+ 1 - 1
web/building_saas/main/js/models/ration.js

@@ -667,7 +667,7 @@ var Ration = {
                     me.doContainUpdate(value,node);
                 }, function () {
                     projectObj.mainController.refreshTreeNode([node]);
-                },['确定','取消']);
+                },['确定','取消'],false);
             }else {
                 me.doContainUpdate(value,node);
             }

+ 9 - 0
web/building_saas/main/js/views/fee_rate_view.js

@@ -396,6 +396,11 @@ var feeRateObject={
             }
         });
         this.mainFeeRateSheet.name('mainFeeRateSheet');
+        disableRightMenu("divFee",this.mainFeeRateSpread,this.rightClickCallback);
+    },
+    rightClickCallback:function (row) {
+        let me = feeRateObject;
+        me.onMainFeeRateSelect(row);
     },
     showMainFeeRateData:function () {
         let me = this;
@@ -517,6 +522,10 @@ var feeRateObject={
     onMainFeeRateSelectChanged:function (e, info) {
         let me = feeRateObject;
         let row = info.newSelections[0].row;
+        me.onMainFeeRateSelect(row);
+    },
+    onMainFeeRateSelect:function (row) {
+        let me = this;
         if(row!=-1){
             subRateObject.initSubRateSpread(me.mainFeeRateData[row]);
         }

+ 1 - 1
web/building_saas/main/js/views/installation_fee_view.js

@@ -1426,7 +1426,7 @@ $(function () {
             });
         }, function () {
 
-        },['确定','取消']);
+        },['确定','取消'],false);
     });
 
     $("input[name='install_setting_radios']").each(function(){

+ 19 - 4
web/building_saas/main/js/views/project_glj_view.js

@@ -90,6 +90,7 @@ projectGljObject={
         this.projectGljSpread.bind(GC.Spread.Sheets.Events.RangeChanged, this.onProjectGljRangeChange);
         this.initProjectGljSheet();
         this.initMaterialTreeSheet();
+        disableRightMenu("project_glj_sheet",this.projectGljSpread,this.rightClickCallback);
     },
     initProjectGljSheet:function () {
         this.projectGljSheet = this.projectGljSpread .getSheet(0);
@@ -189,7 +190,7 @@ projectGljObject={
                 gljId = me.projectGljSheetData[srow].id;
                 gljType = me.projectGljSheetData[srow].type;
             }
-        }else if(sheet.name() == 'materialTreeSheet' ){
+        }else if(sheet.name() == 'materialTreeSheet'){
             if(this.materialTree.selected){
                 gljId = this.materialTree.selected.data.id;
                 gljType = this.materialTree.selected.data.type;
@@ -281,7 +282,7 @@ projectGljObject={
     },
     onSelectionChange:function (){
         let me = projectGljObject;
-        me.showMixRatioData();
+        me.projectGljRowChang();
         me.materialTreeSheet.repaint();
     },
     onProjectGljSelectionChange:function (sender, args) {
@@ -289,11 +290,24 @@ projectGljObject={
         let newSel = args.newSelections[0];
         let oldSel = args.oldSelections?args.oldSelections[0]:{};
         if(newSel.row != oldSel.row){
-            me.mixRatioSheet.getSelections()[0].row = -1;
-            me.showMixRatioData();
+           me.projectGljRowChang();
         }
         me.projectGljSheet.repaint();
     },
+    projectGljRowChang:function(row){
+        let me = projectGljObject;
+        me.mixRatioSheet.getSelections()[0].row = -1;
+        me.showMixRatioData();
+    },
+    rightClickCallback:function (row) {
+        let me = projectGljObject;
+        let sheet =  me.projectGljSpread.getActiveSheet();
+        if(sheet.name() == 'projectGljSheet'){
+            me.projectGljRowChang(row);
+        }else if(sheet.name() == 'materialTreeSheet'){
+            me.materialTreeController.setTreeSelected(me.materialTreeController.tree.items[row]);
+        }
+    },
     onProjectGljRangeChange:function (sender,info) {
         let me = projectGljObject;
         let changeInfo=[];
@@ -533,6 +547,7 @@ projectGljObject={
             remark:glj.remark
         };
         gljOprObj.setGLJPrice(data,glj);
+
         data.is_main_material = glj.is_main_material == 1?1:0;
         //供货方式为完全甲供时设置甲供数量为总消耗量
         if (data.supply == 2) {

+ 1 - 0
web/building_saas/main/js/views/sub_fee_rate_views.js

@@ -96,6 +96,7 @@ var subRateObject={
         console.log(subRateObject.datas);
         console.log(subRateObject.valueMap);
         subRateObject.showSubRateData();
+        disableRightMenu("subRate",this.subRateSpread);
     },
     showSubRateData:function () {
         this.subRateSheet.setRowCount(0);

+ 5 - 0
web/building_saas/main/js/views/tender_price_view.js

@@ -53,6 +53,11 @@ let tender_obj={
         this.tenderSheet.bind(GC.Spread.Sheets.Events.EditStarting,this.onEditStarting);
         this.tenderController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, this.treeSelectedChanged);
        // this.tenderController.bind(TREE_SHEET_CONTROLLER.eventName.treeSelectedChanged, this.onSelectionChange);
+        disableRightMenu("tenderSpread", this.tenderSpread,this.rightClickCallback);
+    },
+    rightClickCallback:function (row) {
+        let me = tender_obj;
+        me.tenderController.setTreeSelected(me.tenderController.tree.items[row]);
     },
     createTenderTreeSetting:function () {
        return sheetCommonObj.transferToTreeSetting(this.tenderSetting,this.tenderTreeSetting,MainTreeCol);