zhongzewei 6 lat temu
rodzic
commit
6dd8f4f4fb

+ 11 - 2
web/building_saas/main/js/models/calc_base.js

@@ -976,7 +976,7 @@ let baseFigureTemplate = {
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
             if(glj.type === gljType.MAIN_MATERIAL && glj.ratio_data.length === 0){
-                rst = (rst + parseFloat(glj.supply_quantity * glj.unit_price.market_price).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+                rst = (rst + parseFloat(glj.supply_quantity * glj.unit_price.base_price).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
         return rst;
@@ -1061,7 +1061,7 @@ let baseFigureTemplate = {
         return rst;
     },
     'JDZCF': function (tender) {//甲定主材费
-        const quantityType = tender ? 'tenderQuantity' : 'quantity';
+       /* const quantityType = tender ? 'tenderQuantity' : 'quantity';
         let rst = 0;
         let projGljs = calcBase.project.projectGLJ.datas.gljList;
         for(let glj of projGljs){
@@ -1070,6 +1070,15 @@ let baseFigureTemplate = {
                 rst = (rst + parseFloat(glj[quantityType] * marketPrice).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
             }
         }
+        return rst;*/
+        const quantityType = tender ? 'tenderQuantity' : 'quantity';
+        let rst = 0;
+        let projGljs = calcBase.project.projectGLJ.datas.gljList;
+        for(let glj of projGljs){
+            if(glj.type === gljType.MAIN_MATERIAL && (glj.supply === supplyType.JDYG || glj.supply === supplyText.JDYG)){
+                rst = (rst + parseFloat(glj[quantityType] * glj.unit_price.base_price).toDecimal(decimalObj.bills.totalPrice)).toDecimal(decimalObj.bills.totalPrice);
+            }
+        }
         return rst;
     },
     'JDSBF': function (tender) {//甲定设备费

+ 55 - 5
web/building_saas/main/js/views/calc_base_view.js

@@ -183,11 +183,10 @@ let calcBaseView = {
             }
             //显示清单基数分类
             $('#cbClassList').show();
-           // $('#qd-jsjs .modal-content').css('width', '670px');
             $('#cbRowDiv').addClass('row');
             $('#billsBaseSpread').addClass('col-9');
-            //
-            let node = projectObj.project.mainTree.selected;
+            let row = projectObj.mainSpread.getActiveSheet().getActiveRowIndex();
+            let node = projectObj.project.mainTree.items[row];
             //输入框显示原本的
             if (me.isDef(node.data.calcBase)) {
                 me.inputExpr.val(cbParser.toFExpr(node.data.calcBase));
@@ -203,7 +202,7 @@ let calcBaseView = {
             //$('#qd-jsjs .modal-content').css('width', '');
             $('#cbRowDiv').removeClass('row');
             $('#billsBaseSpread').removeClass('col-9');
-
+            console.log(calcProgramManage.getSelectionInfo());
             let calcItem = calcProgramManage.getSelectionInfo().calcItem;
             if (calcItem.dispExprUser) {
                 me.inputExpr.val(calcItem.dispExpr);
@@ -390,7 +389,7 @@ let calcBaseView = {
                 sheetArea: context.sheetArea
             };
         };
-        CalcBaseCellType.prototype.processMouseDown = function (hitinfo) {
+        /*CalcBaseCellType.prototype.processMouseDown = function (hitinfo) {
             let me=calcBaseView;
             me.pmLeave = false;
             if(me.editingCell==null){
@@ -428,6 +427,57 @@ let calcBaseView = {
                 hitinfo.sheet.repaint();
                 calcBaseView.pmLeave = true;
             }
+        };*/
+        CalcBaseCellType.prototype.processMouseDown = function (hitinfo) {
+            let me = calcBaseView;
+            if(me.editingCell && hitinfo.row==me.editingCell.row){
+                var offset=hitinfo.cellRect.x+hitinfo.cellRect.width-6;
+                var imageMagin=3;
+                var imageHeight = hitinfo.cellRect.height-2*imageMagin;
+                var imageWidth = hitinfo.cellRect.width*2/7;
+                if(hitinfo.x<offset&&hitinfo.x>offset-imageWidth){
+                    if(!projectReadOnly && me.ifEdit(type, hitinfo.row)){
+                        hitinfo.sheet.setActiveCell(hitinfo.row, hitinfo.col);
+                        if(hitinfo.sheet.getParent() === projectObj.mainSpread){
+                            projectObj.project.mainTree.selected = projectObj.project.mainTree.items[hitinfo.row] ? projectObj.project.mainTree.items[hitinfo.row] : null;
+                        }
+                        calcBaseView.confirmBtn.attr('toggle', 'calcBase');
+                        changeCalcBaseFeeRate('calcBase');
+                        $('#tabCalcBase').tab('show');
+                        calcBaseView.initCalctor(type);
+                    }
+                }else {//鼠标点击其它地方,消失
+                    hideButton(hitinfo);
+                }
+            }
+        };
+        CalcBaseCellType.prototype.processMouseEnter = function (hitinfo){
+            let me = calcBaseView;
+            me.pmLeave = false;
+            if(me.editingCell==null){
+                var showSelectBtn = true;
+                showSelectBtn=me.ifEdit(type, hitinfo.row);
+                if(showSelectBtn){
+                    me.editingCell={
+                        row:hitinfo.row,
+                        col:hitinfo.col
+                    };
+                    hitinfo.sheet.invalidateLayout();
+                    hitinfo.sheet.repaint();
+                }
+            }
+        };
+        CalcBaseCellType.prototype.processMouseLeave = function (hitinfo) {
+            hideButton(hitinfo);
+        };
+
+        function hideButton(hitinfo) {
+            if(!calcBaseView.pmLeave){
+                calcBaseView.editingCell=null;
+                hitinfo.sheet.invalidateLayout();
+                hitinfo.sheet.repaint();
+                calcBaseView.pmLeave = true;
+            }
         }
         return new CalcBaseCellType();
     },

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

@@ -106,6 +106,7 @@ let ConfirmModal = {
                 datas.push({'code': std.code, 'name': std.name, 'unit': unit});
             }
             SheetDataHelper.loadSheetData(this.setting, sheet, datas);
+            this.spread.getActiveSheet().setActiveCell(0, 0);
             this.modalObj.modal('show');  
             ConfirmModal.stdBillsUnit.spread.refresh();  
         }

+ 67 - 14
web/building_saas/main/js/views/project_view.js

@@ -48,7 +48,7 @@ var projectObj = {
     },
     refreshBaseActn: function (tree) {
         let setButtonValid = function (valid, btn) {
-            if (valid) {
+            if (!projectReadOnly && valid) {
                 btn.removeClass('disabled');
             } else {
                 btn.addClass('disabled');
@@ -234,7 +234,7 @@ var projectObj = {
         let fieldCol = colSettingObj.getColByField(field);
         if(fieldCol){
             if(moveScroll){
-                mainSheet.showColumn(fieldCol, GC.Spread.Sheets.HorizontalPosition.left);
+                mainSheet.showColumn(fieldCol, GC.Spread.Sheets.HorizontalPosition.center);
             }
             mainSheet.setActiveCell(projectObj.project.mainTree.selected.serialNo(), fieldCol);
         }
@@ -1761,7 +1761,7 @@ var projectObj = {
                 sheetArea: context.sheetArea
             };
         };
-        CommonTotalFeeCellType.prototype.processMouseDown = function (hitinfo) {
+        /*CommonTotalFeeCellType.prototype.processMouseDown = function (hitinfo) {
             let me=calcBaseView;
             me.pmLeave = false;
             if(me.editingCell==null){
@@ -1800,6 +1800,58 @@ var projectObj = {
                 hitinfo.sheet.repaint();
                 calcBaseView.pmLeave = true;
             }
+        };*/
+        CommonTotalFeeCellType.prototype.processMouseDown = function (hitinfo) {
+            let me = calcBaseView;
+            if(me.editingCell && hitinfo.row==me.editingCell.row){
+                var offset=hitinfo.cellRect.x+hitinfo.cellRect.width-6;
+                var imageMagin=3;
+                var imageHeight = hitinfo.cellRect.height-2*imageMagin;
+                var imageWidth = hitinfo.cellRect.width*2/7;
+                if(hitinfo.x<offset&&hitinfo.x>offset-imageWidth){
+                    if(!projectReadOnly && me.ifEdit(type, hitinfo.row)){
+                        if(hitinfo.sheet.getParent() === projectObj.mainSpread){
+                            projectObj.project.mainTree.selected = projectObj.project.mainTree.items[hitinfo.row] ? projectObj.project.mainTree.items[hitinfo.row] : null;
+                        }
+                        hitinfo.sheet.setActiveCell(hitinfo.row, hitinfo.col);
+                        calcBaseView.confirmBtn.attr('toggle', 'commonTotalFee');
+                        changeCalcBaseFeeRate('commonTotalFee');
+                        $('#tabCalcBase').tab('show');
+                        calcBaseView.initCalctor(type);
+                        feeRateObject.showSelectModal(hitinfo);
+                    }
+                }else {//鼠标点击其它地方,消失
+                    hideButton(hitinfo);
+                }
+            }
+        };
+        CommonTotalFeeCellType.prototype.processMouseEnter = function (hitinfo){
+            let me = calcBaseView;
+            me.pmLeave = false;
+            if(me.editingCell==null){
+                var showSelectBtn = true;
+                showSelectBtn=me.ifEdit(type, hitinfo.row);
+                if(showSelectBtn){
+                    me.editingCell={
+                        row:hitinfo.row,
+                        col:hitinfo.col
+                    };
+                    hitinfo.sheet.invalidateLayout();
+                    hitinfo.sheet.repaint();
+                }
+            }
+        };
+        CommonTotalFeeCellType.prototype.processMouseLeave = function (hitinfo) {
+            hideButton(hitinfo);
+        };
+
+        function hideButton(hitinfo) {
+            if(!calcBaseView.pmLeave){
+                calcBaseView.editingCell=null;
+                hitinfo.sheet.invalidateLayout();
+                hitinfo.sheet.repaint();
+                calcBaseView.pmLeave = true;
+            }
         }
         return new CommonTotalFeeCellType();
     },
@@ -2682,16 +2734,17 @@ $(function () {
 //项目只读,处理不可操作的工具栏
 function disableTools(){
     //造价书按钮
-    $('#insertRation').remove();
-    $('#delete').remove();
-    $('#upLevel').remove();
-    $('#downLevel').remove();
-    $('#upMove').remove();
-    $('#downMove').remove();
-    $('#ZLFB_btn').remove();
-    $('#switchTznr').remove();
-    $('#importSpan').remove();
-    $('a[name="lockBills"]').remove();
+    $('#insertRation').addClass('disabled');
+    $('#delete').addClass('disabled');
+    $('#upLevel').addClass('disabled');
+    $('#downLevel').addClass('disabled');
+    $('#upMove').addClass('disabled');
+    $('#downMove').addClass('disabled');
+    $('#ZLFB_btn').addClass('disabled');
+    $('#switchTznr').addClass('disabled');
+    $('#uploadLj').addClass('disabled');
+    $('#uploadGld').addClass('disabled');
+    $('a[name="lockBills"]').addClass('disabled');
     //关于计算
     $('#poj-settings-4').find('input').prop('disabled', 'disabled');
     //小数位数
@@ -2808,7 +2861,7 @@ $('#calcBaseFeeRateConf').click(function () {
     if(!projectObj.project.calcBase.success){
         return;
     }
-    else if(!validateFeeRate && needToSave) {
+    else if((!validateFeeRate || selected.data.feeRateID === parseInt(feeRateObject.feeRateSelection.ID)) && needToSave) {
         projectObj.project.calcProgram.calcAndSave(selected);
     }
 });

+ 10 - 9
web/building_saas/main/js/views/std_bills_lib.js

@@ -501,15 +501,16 @@ if($('#stdBillsSpread').height() === 0 || $('#qd').find('.bottom-content').heigh
 }
 
 $('#stdBillsTab').bind('click', function () {
-    refreshSubSpread();//subSpread、jobSpread、itemSpread显示问题
-    //$(".main-data-side-q").height($(window).height() - $(".header").height() - $(".toolsbar").height() -  $(".tools-bar-height-q").height() - 202);
-    var select = $('#stdBillsLibSelect');
-    billsLibObj.refreshBillsSpread();
-    billsLibObj.refreshBillsRelaSpread();
-    billsLibObj.checkBillsSpread();
-    if (select[0].options.length === 0) {
-        billsLibObj.loadStdBillsLib();
-    };
+    if(!projectReadOnly){
+        refreshSubSpread();//subSpread、jobSpread、itemSpread显示问题
+        var select = $('#stdBillsLibSelect');
+        billsLibObj.refreshBillsSpread();
+        billsLibObj.refreshBillsRelaSpread();
+        billsLibObj.checkBillsSpread();
+        if (select[0].options.length === 0) {
+            billsLibObj.loadStdBillsLib();
+        };
+    }
 });
 $('#stdBillsLibSelect').change(function () {
     $('#stdBillsSearchResult').hide();

+ 9 - 7
web/building_saas/main/js/views/std_ration_lib.js

@@ -415,12 +415,14 @@ if($('#stdRationChapter').height() === 0 || $('#stdSectionRations').height() ===
 }
 
 $('#stdRationTab').bind('click', function () {
-    var select = $('#stdRationLibSelect');
-    rationLibObj.checkSpread();
-    if (select[0].options.length === 0) {
-        rationLibObj.loadStdRationLibs();
-        rationLibObj.loadStdRationContextMenu();
-    };
+    if(!projectReadOnly){
+        var select = $('#stdRationLibSelect');
+        rationLibObj.checkSpread();
+        if (select[0].options.length === 0) {
+            rationLibObj.loadStdRationLibs();
+            rationLibObj.loadStdRationContextMenu();
+        };
+    }
 });
 $('#stdRationLibSelect').change(function () {
     var select = $(this);
@@ -456,7 +458,7 @@ $('#rationSearch').click(function () {
     var showResult = function (result) {
         let resultSpread = SheetDataHelper.createNewSpread($('.main-data-side-search')[0]);
         rationLibObj.resultSpread = resultSpread;
-        rationLibObj.setTagForHint(datas);
+        rationLibObj.setTagForHint(result);
         SheetDataHelper.loadSheetHeader(rationLibObj.sectionRationsSetting, resultSpread.getActiveSheet());
         SheetDataHelper.loadSheetData(rationLibObj.sectionRationsSetting, resultSpread.getActiveSheet(), result);