Преглед на файлове

造价对比,数据显示调整

MaiXinRong преди 2 години
родител
ревизия
e77b31cb31
променени са 3 файла, в които са добавени 22 реда и са изтрити 5 реда
  1. 2 2
      app/public/js/budget_compare.js
  2. 19 2
      app/public/js/spreadjs_rela/spreadjs_zh.js
  3. 1 1
      app/view/budget/compare.ejs

+ 2 - 2
app/public/js/budget_compare.js

@@ -239,9 +239,9 @@ $(document).ready(() => {
             setLocalCache(compareTypeKey, this.compareType);
         },
         setStackedBarCover(cover){
-            this.stackedBarCover = cover || '1';
+            this.stackedBarCover = '1'; //cover || '1';
             const colIndex = spreadSetting.cols.findIndex(x => { return x.field === 'stackedBar'});
-            spreadSetting.cols[colIndex].stackedBarCover = parseInt(cover);
+            spreadSetting.cols[colIndex].stackedBarCover = parseInt(this.stackedBarCover);
             SpreadJsObj.reloadColData(compareSheet, colIndex);
             setLocalCache(stackedBarCoverKey, this.stackedBarCover);
         }

+ 19 - 2
app/public/js/spreadjs_rela/spreadjs_zh.js

@@ -2548,7 +2548,7 @@ const SpreadJsObj = {
              * @param {String} fillColor - 填充颜色
              */
             // roundRect方法在Chrome99版本以后才支持
-            const drawBarbefore99 = function (canvas, x, y, w, h, r, color) {
+            const drawBarBefore99 = function (canvas, x, y, w, h, r, color) {
                 canvas.save();
                 // 设置偏移量
                 canvas.translate(0.5, 0.5);
@@ -2576,6 +2576,22 @@ const SpreadJsObj = {
                 canvas.fill();
                 canvas.restore();
             };
+            const drawSB = function (canvas, x, y, w, h, r, color) {
+                canvas.save();
+                // 设置偏移量
+                canvas.translate(0.5, 0.5);
+                canvas.strokeStyle = color;
+                canvas.beginPath();
+                canvas.moveTo(x, y);
+                canvas.lineTo(x+w, y);
+                canvas.arcTo(x+w, y+h, x, y+h, Math.min(r, w));
+                canvas.lineTo(x, y+h);
+                canvas.lineTo(x, y);
+                canvas.stroke();
+                canvas.fillStyle = color;
+                canvas.fill();
+                canvas.restore();
+            };
             const proto = stackedBarCellType.prototype;
             /**
              * 绘制方法
@@ -2606,7 +2622,8 @@ const SpreadJsObj = {
                     let width = ZhCalc.mul(validWidth, bd.percent, 2);
                     if (width < defaultR) continue;
                     const top = col.stackedBarCover ? startTop : startTop + height * i + i - 1;
-                    drawBarbefore99(canvas, left, top, width, height, ZhCalc.mul(height, defaultR, 2), bd.color);
+                    //drawBarBefore99(canvas, left, top, width, height, ZhCalc.mul(height, defaultR, 2), bd.color);
+                    drawSB(canvas, left, top, width, height, ZhCalc.mul(height, 0.5, 2), bd.color);
                 }
             };
 

+ 1 - 1
app/view/budget/compare.ejs

@@ -78,7 +78,7 @@
                 </div>
                 <div class="d-inline-block">
                     <div class="dropdown">
-                        <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="dp-cover" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                        <button class="btn btn-sm btn-light dropdown-toggle text-primary" type="button" id="dp-cover" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" style="display: none">
                             <i class="fa fa-exchange"></i> 图表样式
                         </button>
                         <div class="dropdown-menu" aria-labelledby="dp-cover">