-
-
+
-
투입 작업자 수
Index: arms/js/analysis/resource/chart/basicRadar.js
===================================================================
diff -u -r3c402275f940e1e3b23886bf24d751dbcf2c3198 -ra1a2392c0bd811971cdeda48acb29145c2c56abc
--- arms/js/analysis/resource/chart/basicRadar.js (.../basicRadar.js) (revision 3c402275f940e1e3b23886bf24d751dbcf2c3198)
+++ arms/js/analysis/resource/chart/basicRadar.js (.../basicRadar.js) (revision a1a2392c0bd811971cdeda48acb29145c2c56abc)
@@ -114,12 +114,12 @@
name: {
textStyle: {
color: 'white', // 데이터 전체의 이름 폰트 색상 설정
- fontSize: 11 // 데이터 전체의 이름 폰트 크기 설정
+ fontSize: 12 // 데이터 전체의 이름 폰트 크기 설정
}
},
nameGap: 30,
- center: ["50%","65%"],
- radius: "60%",
+ center: ["52%","63%"],
+ radius: "55%",
axisLine: {
lineStyle: {
color: 'rgba(244, 244, 244, 0.5)'
@@ -177,4 +177,126 @@
};
option && myChart.setOption(option,true);
+}
+
+function drawBasicRadarForDashBoard(target,objectiveArr,currentProgressArr) {
+ let chartDom = document.getElementById(target);
+ let myChart = echarts.init(chartDom);
+ let option;
+ let scheduleMax ="-";
+ let titleText = "";
+ let titleColor = "white";
+ let progress = "";
+ if(objectiveArr.length !== 0) {
+ if (objectiveArr[1] !== "" || objectiveArr[1] !== 0) {
+ progress = (currentProgressArr[1]*100/objectiveArr[1]).toFixed(1);
+ titleText+= "진행률: " + progress + "%, ";
+ }
+ let dateDiff = Math.abs(objectiveArr[2] - currentProgressArr[2]).toFixed(0);
+
+ if (objectiveArr[2] >= currentProgressArr[2]) {
+ scheduleMax = objectiveArr[2];
+ titleText += "일정: " + dateDiff +"일 남음";
+ titleColor = 'rgb(164,198,255)';
+ } else {
+ scheduleMax = currentProgressArr[2];
+ titleText += "일정: " + dateDiff +"일 초과";
+ titleColor = 'rgb(219,42,52)';
+ }
+ }
+
+ let titleOption = {text: titleText, top: 25,
+ textStyle: {
+ color: titleColor,
+ fontSize: 13
+ }
+ };
+
+ option = {
+ title: titleOption,
+ /*tooltip: {
+ trigger: 'axis'
+ },*/
+ /*legend: {
+ data: ['제품(서비스) 설정기준','현재 진행상황'], //
+ left: "left",
+ textStyle: {
+ color: 'white', // 이름의 텍스트 색상 설정
+ fontStyle: 'normal', // 이름의 텍스트 스타일 설정 (예: italic, normal)
+ fontSize: 11 // 이름의 텍스트 크기 설정
+ }
+ },*/
+ radar: {
+ // shape: 'circle',
+ indicator: [
+ { name: '작업자수: ' + objectiveArr[0]+'명', max: objectiveArr[0] },
+ { name: '요구사항: ' + objectiveArr[1]+'개', max: objectiveArr[1] },
+ { name: '일정: ' + objectiveArr[2]+'일', max: scheduleMax }
+ ],
+ name: {
+ textStyle: {
+ color: 'white', // 데이터 전체의 이름 폰트 색상 설정
+ fontSize: 12 // 데이터 전체의 이름 폰트 크기 설정
+ }
+ },
+ nameGap: 25,
+ center: ["50%","50%"],
+ radius: "50%",
+ axisLine: {
+ lineStyle: {
+ color: 'rgba(244, 244, 244, 0.5)'
+ }
+ },
+ splitLine: {
+ lineStyle: {
+ color: 'gray'
+ }
+ }
+ },
+ series: [
+ {
+ name: 'Budget vs spending',
+ type: 'radar',
+ tooltip: {
+ trigger: 'item'
+ },
+ areaStyle: {},
+ data: [
+ {
+ value: objectiveArr,
+ name: '제품(서비스) 설정기준',
+ symbol:'triangle',
+ symbolSize: 10,
+ areaStyle: {
+ opacity: 0.3
+ }
+ },
+ {
+ value: currentProgressArr,
+ name: '현재 진행상황',
+ symbol:'roundRect', // circle, rect, roundRect, triangle, diamond, pin, arrow
+ symbolSize: 10,
+ label: {
+ show: true,
+ textStyle: {
+ color: 'rgb(162,198,255)',
+ fontsize: 12,
+ backgroundColor: 'rgba(51,51,51,0.8)',
+ padding: [3, 5],
+ borderRadius: 3,
+ },
+ formatter: function (params) {
+ return params.value;
+ }
+ },
+ areaStyle: {
+ opacity: 0.6
+ }
+ }
+ ]
+ }
+ ]
+ };
+
+ option && myChart.setOption(option,true);
}
\ No newline at end of file