Pārlūkot izejas kodu

进度图输出调整

Tony Kang 1 gadu atpakaļ
vecāks
revīzija
441efcf460
1 mainītis faili ar 26 papildinājumiem un 21 dzēšanām
  1. 26 21
      app/public/report/js/rpt_figure.js

+ 26 - 21
app/public/report/js/rpt_figure.js

@@ -45,28 +45,33 @@ const JpcFigureOutput = {
             for (let ctIdx = 0; ctIdx < figure.contents.length; ctIdx++) {
 				const content = figure.contents[ctIdx];
 				ctx.beginPath();
+                let firstDraw = true;
                 for (let idx = 0; idx < content.values.length; idx++) {
-					let xPos = figure.area.Left + xStepW * idx + xStepW / 2 + this.offsetX;
-					let yPos = figure.area.Bottom - (content.values[idx] / content.maxValue) * height + this.offsetY;
-                    ctx.lineWidth = 1;
-                    ctx.strokeStyle = content.color;
-                    if (content.style === 'dash') ctx.setLineDash([10, 5]);
-                    switch (figure.config.dispType) {
-						case 'line':
-							//折线图
-							if (idx === 0) {
-								ctx.moveTo(xPos, yPos);
-							} else {
-								ctx.lineTo(xPos, yPos);
-							}
-						break;
-						case 'pole':
-							//柱图
-						break;
-						default:
-							//....
-						break;
-					}
+                    if (content.values[idx] !== null && content.values[idx] !== undefined) {
+                        let xPos = figure.area.Left + xStepW * idx + xStepW / 2 + this.offsetX;
+                        let yPos = figure.area.Bottom - (content.values[idx] / content.maxValue) * height + this.offsetY;
+                        ctx.lineWidth = 1;
+                        ctx.strokeStyle = content.color;
+                        if (content.style === 'dash') ctx.setLineDash([10, 5]);
+                        switch (figure.config.dispType) {
+                            case 'line':
+                                //折线图
+                                if (firstDraw) {
+                                    ctx.moveTo(xPos, yPos);
+                                    firstDraw = false;
+                                } else {
+                                    ctx.lineTo(xPos, yPos);
+                                    firstDraw = false;
+                                }
+                            break;
+                            case 'pole':
+                                //柱图
+                            break;
+                            default:
+                                //....
+                            break;
+                        }
+                    }
 				}
 				ctx.stroke();
 			}