62c953c5d68945a3adb0ae823c5f8af8eb3e02bd.svn-base 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. $(function () {
  2. BWA.ChartOptions = BWA.ChartOptions || {};
  3. var seriesFuelType = new Array();
  4. BWA.ChartOptions.CO2EnergyUsage = {
  5. MakeSeries: function (fuelType) {
  6. seriesFuelType = [];
  7. for (var s = 0; s < fuelType.length; s++) {
  8. var ss = {
  9. type: 'stackedBar',
  10. valueField: fuelType[s].Name(),
  11. name: fuelType[s].Name(),
  12. //visible:false,
  13. label: {
  14. visible: false,
  15. customizeText: function () {
  16. return this.valueText + '';
  17. }
  18. }
  19. };
  20. seriesFuelType.push(ss);
  21. }
  22. },
  23. /*
  24. seriesServiceType = [
  25. {
  26. type: 'stackedBar',
  27. valueField: '냉방',
  28. //name: $G('gas'),
  29. name: '냉방',
  30. label: {
  31. visible: false,
  32. customizeText: function () {
  33. return this.valueText + 'TOE';
  34. }
  35. }
  36. }, {
  37. type: 'stackedBar',
  38. valueField: '난방',
  39. //name: $G('water'),
  40. name: '난방',
  41. label: {
  42. visible: false,
  43. customizeText: function () {
  44. return this.valueText + 'TOE';
  45. }
  46. }
  47. }, {
  48. type: 'stackedBar',
  49. valueField: '환기',
  50. //name: $G('water'),
  51. name: '환기',
  52. label: {
  53. visible: false,
  54. customizeText: function () {
  55. return this.valueText + 'TOE';
  56. }
  57. }
  58. }, {
  59. type: 'stackedBar',
  60. valueField: '냉난방환기',
  61. //name: $G('water'),
  62. name: '냉난방',
  63. label: {
  64. visible: false,
  65. customizeText: function () {
  66. return this.valueText + 'TOE';
  67. }
  68. }
  69. }];
  70. },*/
  71. getPieChartDayOptions: function () {
  72. return _.extend({
  73. palette: "Ocean",
  74. //palette: "Bright",
  75. }, BWA.ChartOptions.CO2EnergyUsage.getPieChartOptions());
  76. },
  77. getPieChartMonthOptions: function () {
  78. return _.extend({
  79. palette: "Ocean",
  80. }, BWA.ChartOptions.CO2EnergyUsage.getPieChartOptions());
  81. },
  82. getBarChartDayOptions: function () {
  83. return _.extend({
  84. palette: "Ocean",
  85. //palette: "Bright",
  86. }, BWA.ChartOptions.CO2EnergyUsage.getBarChartOptions($Code.TimeType.DAY));
  87. },
  88. getBarChartMonthOptions: function (handlePointClick) {
  89. return _.extend({
  90. palette: "Ocean",
  91. }, BWA.ChartOptions.CO2EnergyUsage.getBarChartOptions($Code.TimeType.MONTH, handlePointClick));
  92. },
  93. getPieChartOptions: function () {
  94. return {
  95. legend: {
  96. horizontalAlignment: "right",
  97. verticalAlignment: "top",
  98. margin: 10,
  99. border: {
  100. visible: true
  101. }
  102. },
  103. tooltip: {
  104. enabled: true,
  105. format: 'fixedPoint',
  106. precision: 2,
  107. customizeTooltip: function (point) {
  108. return {
  109. text: [this.argumentText, ': ', this.valueText].join('')
  110. };
  111. }
  112. },
  113. series: [
  114. {
  115. type: "doughnut", // if not, pie.
  116. argumentField: "FuelTypeName",
  117. valueField: "Value",
  118. hoverStyle: {
  119. color: "#ffd700"
  120. },
  121. label: {
  122. visible: true,
  123. connector: {
  124. visible: true
  125. },
  126. customizeText: function (pointInfo) {
  127. //return pointInfo.argumentText;
  128. return pointInfo.percentText;
  129. }
  130. }
  131. }
  132. ]
  133. };
  134. },
  135. getBarChartOptions: function (codeTimeType, handlePointClick) {
  136. //alert('in getBarChartOptions');
  137. var argumentAxis;
  138. switch (codeTimeType) {
  139. case $Code.TimeType.DAY:
  140. argumentAxis = {
  141. label: {
  142. customizeText: function () {
  143. return this.value + '일';
  144. }
  145. },
  146. //min: moment().startOf('month').date(),
  147. //max: moment().endOf('month').date(),
  148. //valueMarginsEnabled: false,
  149. tickInterval: 5,
  150. //minValueMargin: 0.0,
  151. //maxValueMargin: 0.02,
  152. };
  153. break;
  154. case $Code.TimeType.MONTH:
  155. /*
  156. argumentAxis = {
  157. label: {
  158. customizeText: function() {
  159. return this.value + '월';
  160. }
  161. },
  162. //min: 1,
  163. //max: 12,
  164. //valueMarginsEnabled: false,
  165. //tickInterval: 1,
  166. //minValueMargin: 0.0,
  167. //maxValueMargin: 0.02,
  168. };*/
  169. break;
  170. }
  171. //argumentAxis.argumentType = 'string';
  172. return {
  173. pointClick: handlePointClick,
  174. legend: {
  175. visible: false,
  176. verticalAlignment: 'center',
  177. horizontalAlignment: 'right',
  178. border: {
  179. visible: true
  180. }
  181. },
  182. argumentAxis: argumentAxis,
  183. commonSeriesSettings: {
  184. type: 'stackedBar',
  185. argumentField: 'DateTime',
  186. selectionStyle: {
  187. hatching: {
  188. direction: "left"
  189. }
  190. }
  191. },
  192. valueAxis: [{
  193. label: {
  194. //format: 'thousands'
  195. },
  196. title: {
  197. text: 'tCO2'
  198. }
  199. }],
  200. //series: Datas = new Array(),
  201. series:
  202. seriesFuelType,
  203. /*
  204. [
  205. {
  206. type: 'stackedBar',
  207. valueField: '냉방',
  208. //name: $G('gas'),
  209. name: '냉방',
  210. label: {
  211. visible: false,
  212. customizeText: function() {
  213. return this.valueText + 'TOE';
  214. }
  215. }
  216. }, {
  217. type: 'stackedBar',
  218. valueField: '난방',
  219. //name: $G('water'),
  220. name: '난방',
  221. label: {
  222. visible: false,
  223. customizeText: function() {
  224. return this.valueText + 'TOE';
  225. }
  226. }
  227. }, {
  228. type: 'stackedBar',
  229. valueField: '환기',
  230. //name: $G('water'),
  231. name: '환기',
  232. label: {
  233. visible: false,
  234. customizeText: function () {
  235. return this.valueText + 'TOE';
  236. }
  237. }
  238. }, {
  239. type: 'stackedBar',
  240. valueField: '냉난방환기',
  241. //name: $G('water'),
  242. name: '냉난방',
  243. label: {
  244. visible: false,
  245. customizeText: function () {
  246. return this.valueText + 'TOE';
  247. }
  248. }
  249. }], */
  250. tooltip: {
  251. enabled: true,
  252. format: 'fixedPoint',
  253. precision: 2,
  254. argumentFormat: 'shortDate',
  255. customizeTooltip: function (point) {
  256. return {
  257. text: [this.valueText].join('')
  258. };
  259. }
  260. },
  261. crosshair: {
  262. enabled: false,
  263. width: 2,
  264. horizontalLine: {
  265. //color: 'skyblue',
  266. dashStyle: 'dash',
  267. visible: false
  268. },
  269. verticalLine: {
  270. //color: 'limegreen',
  271. dashStyle: 'dash'
  272. },
  273. label: {
  274. visible: true,
  275. backgroundColor: "#949494",
  276. font: {
  277. color: "#fff",
  278. size: 12,
  279. }
  280. }
  281. }
  282. };
  283. }
  284. };
  285. });