张延森 2 lat temu
rodzic
commit
d189bea3dc
29 zmienionych plików z 752 dodań i 361 usunięć
  1. BIN
      db/db.mv.db
  2. 97
    1
      resources/static/css/common.css
  3. BIN
      resources/static/images/dashboard/left.png
  4. BIN
      resources/static/images/dashboard/menu_bg.png
  5. BIN
      resources/static/images/dashboard/menu_bg_active.png
  6. BIN
      resources/static/images/dashboard/right.png
  7. BIN
      resources/static/images/dashboard/军供任务明细.png
  8. BIN
      resources/static/images/dashboard/军供任务明细click.png
  9. BIN
      resources/static/images/dashboard/军供供应设备.png
  10. BIN
      resources/static/images/dashboard/军供供应设备click.png
  11. BIN
      resources/static/images/dashboard/军供保障能力.png
  12. BIN
      resources/static/images/dashboard/军供保障能力click.png
  13. BIN
      resources/static/images/dashboard/军供站简介.png
  14. BIN
      resources/static/images/dashboard/军供站简介click.png
  15. BIN
      resources/static/images/dashboard/安防管理.png
  16. BIN
      resources/static/images/dashboard/安防管理click.png
  17. BIN
      resources/static/images/dashboard/年度任务汇总.png
  18. BIN
      resources/static/images/dashboard/年度任务汇总click.png
  19. BIN
      resources/static/images/dashboard/社会保障机构.png
  20. BIN
      resources/static/images/dashboard/社会保障机构click.png
  21. BIN
      resources/static/images/dashboard/社会保障预案.png
  22. BIN
      resources/static/images/dashboard/社会保障预案click.png
  23. BIN
      resources/static/images/logo.png
  24. 124
    1
      resources/static/less/ext-page.less
  25. 1
    1
      resources/static/less/nav-menu.less
  26. 7
    1
      resources/templates/common/common_menu.html
  27. 13
    357
      resources/templates/main.html
  28. 155
    0
      resources/templates/main/dashboard.html
  29. 355
    0
      resources/templates/main/data.html

BIN
db/db.mv.db Wyświetl plik


+ 97
- 1
resources/static/css/common.css Wyświetl plik

@@ -26,7 +26,7 @@
26 26
 .nav-menu {
27 27
   display: flex;
28 28
   justify-content: center;
29
-  max-width: 600px;
29
+  max-width: 800px;
30 30
   height: 100%;
31 31
   margin: 0 auto;
32 32
 }
@@ -330,3 +330,99 @@
330 330
 .table tbody tr:hover {
331 331
   background: rgba(66, 118, 245, 0.2);
332 332
 }
333
+.dashboard-page {
334
+  height: 100%;
335
+  background-color: #081A48;
336
+}
337
+.dashboard-page > div {
338
+  height: 50%;
339
+  overflow: hidden;
340
+}
341
+.dashboard-page .act-list .row {
342
+  height: calc(50% - 64px);
343
+  padding: 0 80px;
344
+}
345
+.dashboard-page .act-list .row + .row {
346
+  margin-top: 64px;
347
+}
348
+.dashboard-page .act-list div[class^="col"] {
349
+  min-width: 280px;
350
+  width: calc(25% - 48px);
351
+  height: 100%;
352
+  position: relative;
353
+}
354
+.dashboard-page .act-list div[class^="col"] + div {
355
+  margin-left: 64px;
356
+}
357
+.dashboard-page .act-list div[class^="col"] .act-body {
358
+  z-index: 1;
359
+  width: 100%;
360
+  height: 100%;
361
+  display: flex;
362
+  flex-direction: column;
363
+  justify-content: center;
364
+  align-items: center;
365
+}
366
+.dashboard-page .act-list div[class^="col"] .act-body .act-icon {
367
+  position: relative;
368
+  width: 64px;
369
+  height: 64px;
370
+  min-height: 64px;
371
+  flex: 0;
372
+}
373
+.dashboard-page .act-list div[class^="col"] .act-body .act-icon img {
374
+  position: absolute;
375
+  left: calc(50% - 32px);
376
+  top: 0;
377
+  display: block;
378
+  width: 100%;
379
+  height: 100%;
380
+  object-fit: contain;
381
+}
382
+.dashboard-page .act-list div[class^="col"] .act-body .act-icon img:nth-child(2) {
383
+  display: none;
384
+}
385
+.dashboard-page .act-list div[class^="col"] .act-body .act-content {
386
+  flex: 0;
387
+  text-align: center;
388
+}
389
+.dashboard-page .act-list div[class^="col"] .act-body .act-content span {
390
+  display: inline-block;
391
+  padding: 0 1em;
392
+  font-size: 24px;
393
+  font-weight: 500;
394
+  color: transparent;
395
+  background: linear-gradient(0deg, #2362E4 0%, #00D5FB 100%);
396
+  vertical-align: middle;
397
+  background-clip: text;
398
+  -webkit-background-clip: text;
399
+}
400
+.dashboard-page .act-list div[class^="col"] .act-bg {
401
+  position: absolute;
402
+  width: 100%;
403
+  height: 100%;
404
+  z-index: 0;
405
+  left: 0;
406
+  top: 0;
407
+}
408
+.dashboard-page .act-list div[class^="col"] .act-bg img {
409
+  display: block;
410
+  width: 100%;
411
+  height: 100%;
412
+  object-fit: contain;
413
+}
414
+.dashboard-page .act-list div[class^="col"] .act-bg img:nth-child(2) {
415
+  display: none;
416
+}
417
+.dashboard-page .act-list div[class^="col"]:hover .act-bg img:nth-child(1),
418
+.dashboard-page .act-list div[class^="col"]:hover .act-icon img:nth-child(1) {
419
+  display: none;
420
+}
421
+.dashboard-page .act-list div[class^="col"]:hover .act-bg img:nth-child(2),
422
+.dashboard-page .act-list div[class^="col"]:hover .act-icon img:nth-child(2) {
423
+  display: block;
424
+}
425
+.dashboard-page .act-list div[class^="col"]:hover .act-content span {
426
+  color: #ffffff;
427
+  background: transparent;
428
+}

BIN
resources/static/images/dashboard/left.png Wyświetl plik


BIN
resources/static/images/dashboard/menu_bg.png Wyświetl plik


BIN
resources/static/images/dashboard/menu_bg_active.png Wyświetl plik


BIN
resources/static/images/dashboard/right.png Wyświetl plik


BIN
resources/static/images/dashboard/军供任务明细.png Wyświetl plik


BIN
resources/static/images/dashboard/军供任务明细click.png Wyświetl plik


BIN
resources/static/images/dashboard/军供供应设备.png Wyświetl plik


BIN
resources/static/images/dashboard/军供供应设备click.png Wyświetl plik


BIN
resources/static/images/dashboard/军供保障能力.png Wyświetl plik


BIN
resources/static/images/dashboard/军供保障能力click.png Wyświetl plik


BIN
resources/static/images/dashboard/军供站简介.png Wyświetl plik


BIN
resources/static/images/dashboard/军供站简介click.png Wyświetl plik


BIN
resources/static/images/dashboard/安防管理.png Wyświetl plik


BIN
resources/static/images/dashboard/安防管理click.png Wyświetl plik


BIN
resources/static/images/dashboard/年度任务汇总.png Wyświetl plik


BIN
resources/static/images/dashboard/年度任务汇总click.png Wyświetl plik


BIN
resources/static/images/dashboard/社会保障机构.png Wyświetl plik


BIN
resources/static/images/dashboard/社会保障机构click.png Wyświetl plik


BIN
resources/static/images/dashboard/社会保障预案.png Wyświetl plik


BIN
resources/static/images/dashboard/社会保障预案click.png Wyświetl plik


BIN
resources/static/images/logo.png Wyświetl plik


+ 124
- 1
resources/static/less/ext-page.less Wyświetl plik

@@ -107,4 +107,127 @@
107 107
       }
108 108
     }
109 109
   }
110
-}
110
+}
111
+
112
+.dashboard-page {
113
+  height: 100%;
114
+  background-color: #081A48;
115
+
116
+  & > div {
117
+    height: 50%;
118
+    overflow: hidden;
119
+  }
120
+
121
+  .act-list {
122
+    .row {
123
+      height: calc(50% - 64px);
124
+      padding: 0 80px;
125
+
126
+      & + .row {
127
+        margin-top: 64px;
128
+      }
129
+    }
130
+
131
+    div[class^="col"] {
132
+      min-width: 280px;
133
+      // 每行 4 个, 间距 64
134
+      width: calc(25% - 48px);
135
+      height: 100%;
136
+      position: relative;
137
+      
138
+      & + div {
139
+        margin-left: 64px;
140
+      }
141
+
142
+      .act-body {
143
+        z-index: 1;
144
+        width: 100%;
145
+        height: 100%;
146
+        display: flex;
147
+        flex-direction: column;
148
+        justify-content: center;
149
+        align-items: center;
150
+
151
+        .act-icon {
152
+          position: relative;
153
+          width: 64px;
154
+          height: 64px;
155
+          min-height: 64px;
156
+          flex: 0;
157
+
158
+          img {
159
+            position: absolute;
160
+            left: calc(50% - 32px);
161
+            top: 0;
162
+            display: block;
163
+            width: 100%;
164
+            height: 100%;
165
+            object-fit: contain;
166
+  
167
+            &:nth-child(2) {
168
+              display: none;
169
+            }
170
+          }
171
+        }
172
+
173
+        .act-content {
174
+          flex: 0;
175
+          text-align: center;
176
+
177
+          span {
178
+            display: inline-block;
179
+            padding: 0 1em;
180
+            font-size: 24px;
181
+            font-weight: 500;
182
+            color: transparent;
183
+            background: linear-gradient(0deg, #2362E4 0%, #00D5FB 100%);
184
+            vertical-align: middle;
185
+            background-clip: text;
186
+            -webkit-background-clip: text;
187
+          }
188
+        }
189
+
190
+      }
191
+
192
+      .act-bg {
193
+        position: absolute;
194
+        width: 100%;
195
+        height: 100%;
196
+        z-index: 0;
197
+        left: 0;
198
+        top: 0;
199
+
200
+        img {
201
+          display: block;
202
+          width: 100%;
203
+          height: 100%;
204
+          object-fit: contain;
205
+
206
+          &:nth-child(2) {
207
+            display: none;
208
+          }
209
+        }
210
+      }
211
+
212
+      &:hover {
213
+        .act-bg, .act-icon {
214
+          img {
215
+            &:nth-child(1) {
216
+              display: none;
217
+            }
218
+            &:nth-child(2) {
219
+              display: block;
220
+            }
221
+          }
222
+        }
223
+
224
+        .act-content {
225
+          span {
226
+            color: #ffffff;
227
+            background: transparent;
228
+          }
229
+        }
230
+      }
231
+    }
232
+  }
233
+}

+ 1
- 1
resources/static/less/nav-menu.less Wyświetl plik

@@ -1,7 +1,7 @@
1 1
 .nav-menu {
2 2
   display: flex;
3 3
   justify-content: center;
4
-  max-width: 600px;
4
+  max-width: 800px;
5 5
   height: 100%;
6 6
   margin: 0 auto;
7 7
 

+ 7
- 1
resources/templates/common/common_menu.html Wyświetl plik

@@ -8,8 +8,11 @@
8 8
       $('.layout .left').attr("style","display: block");
9 9
 
10 10
       if (menuId == 'nav-menu-index') {
11
+        toPage(ctxPath +"main?t=1");
11 12
         $('.layout .left').attr("style","display: none");
12
-        toPage(ctxPath +"main");
13
+      } else if (menuId == 'nav-menu-data') {
14
+        $('.layout .left').attr("style","display: none");
15
+        toPage(ctxPath +"main?t=2");
13 16
       } else if (menuId == 'nav-menu-doc') {
14 17
         $(".help-doc").get(0).click()
15 18
       } else {
@@ -26,6 +29,9 @@
26 29
   <div class="nav-menu-item active" onclick="onNavMenuClick(this, 'nav-menu-index')">
27 30
     <div><span>首页</span></div>
28 31
   </div>
32
+  <div class="nav-menu-item" onclick="onNavMenuClick(this, 'nav-menu-data')">
33
+    <div><span>数据统计</span></div>
34
+  </div>
29 35
   <div class="nav-menu-item" onclick="onNavMenuClick(this, 'nav-menu-report')">
30 36
     <div><span>数据上报</span></div>
31 37
   </div>

+ 13
- 357
resources/templates/main.html Wyświetl plik

@@ -16,365 +16,21 @@
16 16
 }
17 17
 </style>
18 18
 </head>
19
-
20 19
 <body>
21
-	<div class="chart-page">
22
-		<div class="flex-part">
23
-			<div class="flex-part-3">
24
-
25
-				<div class="count">
26
-					<dl>
27
-						<dt id="totalTask">0</dt>
28
-						<dd>任务总数</dd>
29
-						<img th:src="@{/images/statistic/数字统计.png}" alt="">
30
-					</dl>
31
-					<dl>
32
-						<dt id="totalPerson">0</dt>
33
-						<dd>接待军人总数</dd>
34
-						<img th:src="@{/images/statistic/接待军人总数.png}" alt="">
35
-					</dl>
36
-					<dl>
37
-						<dt id="totalOrg">0</dt>
38
-						<dd>保障机构数</dd>
39
-						<img th:src="@{/images/statistic/保障机构数.png}" alt="">
40
-					</dl>
41
-					<dl>
42
-						<dt id="totalEquipment">0</dt>
43
-						<dd>设备数量</dd>
44
-						<img th:src="@{/images/statistic/设备数量.png}" alt="">
45
-					</dl>
46
-				</div>
47
-			
48
-				<div class="panelGroup flex-part" style="padding-bottom:0;">
49
-					<div class="panel flex-part-2 chart-card">
50
-						<div class="panel-heading">
51
-							<img th:src="@{/images/statistic/任务统计.png}" />
52
-							<span>任务统计</span>
53
-							<!-- <svg>
54
-								<defs>
55
-										<linearGradient id="grad" x1="0" y1="100%" x2="0" y2="0">
56
-												<stop offset="0%" style="stop-color:#6F39B9; stop-opacity:1" />
57
-												<stop offset="100%" style="stop-color:#1EAED1; stop-opacity:1" />
58
-										</linearGradient>
59
-								</defs>
60
-								<text x="0" y="22" fill="url(#grad)" style="font-size:22px">任务统计</text>
61
-							</svg> -->
62
-							<div class="selectGroup">
63
-								<select class="" id="selYear" onchange="taskTimeReport()">
64
-										</select>
65
-							</div>
66
-						</div>
67
-						<div class="panel-body">
68
-							<div class="text-center">
69
-								<div class="text-center" style="height:300px;" id="taskChart"></div>
70
-							</div>
71
-						</div>
72
-					</div>
73
-					<div class="flex-part-1">
74
-						<div class="panel chart-card">
75
-							<div class="panel-heading">
76
-								<img th:src="@{/images/statistic/设备分类统计.png}" />
77
-								<span>设备分类统计</span>
78
-							</div>
79
-							<div class="panel-body">
80
-								<div class="text-center" style="height:260px;" id="devChart"></div>
81
-							</div>
82
-						</div>
83
-					</div>
84
-				</div>
85
-
86
-
87
-			</div>
88
-			<div class="flex-part-1">
89
-				<div class="panel chart-card" style="margin: 15px 30px 0 0; height: calc(100% - 15px)">
90
-					<div class="panel-heading">
91
-						<img th:src="@{/images/statistic/军供保障能力.png}" />
92
-						<span>军供保障能力</span>
93
-					</div>
94
-					<div class="panel-body" style="height: calc(100% - 60px);">
95
-						<div class="info-text">
96
-							
97
-						</div>
98
-						<ul class="info-list" style="overflow-y: auto; height: 100%;">
99
-							<li title="常规单日整体膳食供应能力(人次)"><span id="ztssgynl">0</span>常规单日整体膳食供应能力(人次):</li>
100
-							<li title="常规单次整体膳食供应能力(人)"><span id="dcztssgynl">0</span>常规单次整体膳食供应能力(人):</li>
101
-							<li title="应急单日整体膳食供应能力(人次)"><span id="yjztssgynl">0</span>应急单日整体膳食供应能力(人次):</li>
102
-							<li title="应急单次整体膳食供应能力(人)"><span id="yjdcztssgynl">0</span>应急单次整体膳食供应能力(人):</li>
103
-							<li title="常规整体住宿供应能力(人)"><span id="ztzsgynl">0</span>常规整体住宿供应能力(人):</li>
104
-							<li title="应急整体住宿供应能力(人)"><span id="yjztzsgynl">0</span>应急整体住宿供应能力(人):</li>
105
-						</ul>
106
-					</div>
107
-				</div>
108
-			</div>
109
-		</div>
110
-	<div class="panelGroup">
111
-		<div class="panel panel-row-2 chart-card">
112
-			<div class="panel-heading">
113
-				<img th:src="@{/images/statistic/社会保障机构分类统计.png}" />
114
-				<span>社会保障机构分类统计</span>
115
-			</div>
116
-			<div class="panel-body">
117
-				<div class="text-center" id="guaChart" style="height:320px"></div>
118
-			</div>
119
-		</div>
120
-		<div class="panel panel-row-2 chart-card">
121
-			<div class="panel-heading">
122
-				<img th:src="@{/images/statistic/人员统计.png}" />
123
-				<span>人员统计</span>
124
-			</div>
125
-			<div class="panel-body">
126
-				<div class="col-sm-6 text-center" id="eduChart" style="height:300px;">
127
-				</div>
128
-				<div class="col-sm-6 text-center" id="ageChart" style="height:270px;">
129
-				</div>
130
-			</div>
131
-		</div>
132
-	</div>
133
-	
134
-
135
-		
136
-</div>
20
+	<div th:replace="main/data::main-data"></div>
21
+	<div th:replace="main/dashboard::main-dashboard"></div>
137 22
 </body>
138
- <script>
139
-	function loadPage() {
140
-		let colArr = commentReport();
141
-		$
142
-				.ajax({
143
-					url : urlPre + "getMainData",
144
-					dataType : 'json',
145
- 					success : function(data) {
146
-
147
-						(function mockData(dt) {
148
-							function rand() {
149
-								return Math.floor(100 * Math.random() + 10);
150
-							}
151
-
152
-							dt.countData.ageArrNum = dt.countData.ageArrNum.split(',').map(rand).join(',')
153
-							dt.countData.devArrNum = dt.countData.devArrNum.split(',').map(rand).join(',')
154
-							dt.countData.guaArrNum = dt.countData.guaArrNum.split(',').map(rand).join(',')
155
-							dt.countData.eduNum = dt.countData.eduNum.split(',').map(rand).join(',')
156
-							dt.countData.guaAbiJson.clzs = rand()
157
-							dt.countData.guaAbiJson.dcztssgynl = rand()
158
-							dt.countData.guaAbiJson.yjdcztssgynl = rand()
159
-							dt.countData.guaAbiJson.yjztssgynl = rand()
160
-							dt.countData.guaAbiJson.ztssgynl = rand()
161
-							dt.countData.guaAbiJson.ztzsgynl = rand()
162
-							dt.yearTask = Object.keys(dt.yearTask).map((key) => {
163
-								return {[key]: rand()}
164
-							}).reduce((acc, item) => ({ ...acc, ...item }), {})
165
-						})(data)
166
-
167
-						console.log(data)
168
-
169
- 						$("#totalTask").text(data.totalTask);
170
- 						$("#totalOrg").text(data.totalOrg);
171
- 						$("#totalPerson").text(data.totalPerson);
172
- 						$("#totalEquipment").text(data.totalEquipment);
173
- 						//选择年份 按月统计任务
174
- 						var myDate = new Date();
175
-                        var tYear = myDate.getFullYear();
176
-                        var lasYear = tYear - 1;
177
-                        $("#selYear").html("<option value='"+tYear+"'>"+tYear+"年</option><option value='"+lasYear+"'>"+lasYear+"年</option>");
178
- 						var chartData = {};
179
-                        let yearTask = data.yearTask
180
-                        let xAxisData = []
181
-                        let datas = []
182
-                        for(let key in yearTask){
183
-                        	xAxisData[xAxisData.length] = key
184
-                        	datas[datas.length] = yearTask[key]
185
-                        }                      
186
- 						chartData.datas = datas;
187
- 						chartData.xAxisData = xAxisData;
188
- 						// setLine("taskChart", chartData);
189
-
190
-						setChart("#taskChart", getBar1Option(xAxisData, datas))
191
-                        
192
- 						var comments = data.comments;
193
- 						var commentUl = "";
194
- 						for (var key in comments) {
195
- 							var tmpData = comments[key];
196
- 							commentUl += '<li><a href="###"><h2>'+tmpData.taskNumber+'</h2>'
197
- 							let config_evaluate_item = tmpData.config_evaluate_item.split(",")
198
- 							for(var ky in colArr){
199
- 								if(config_evaluate_item.indexOf(colArr[ky].substring(0,2)) !=-1){
200
- 									if(tmpData[colArr[ky]] != null){
201
- 	 									let num = tmpData[colArr[ky]];
202
- 	 	 								let total = tmpData[colArr[ky].substring(0,2)]
203
- 	 	 								let addNum = (num/total*100).toFixed() + "%"
204
- 	 	 								commentUl += '<span>'+addNum+'</span>'
205
- 	 								}else{
206
- 	 									commentUl += '<span>0%</span>'
207
- 	 								}
208
- 								}else{
209
- 									commentUl += '<span>未选择</span>'
210
- 								}
211
- 							
212
- 								
213
- 							}
214
- 							commentUl += '</li>';		
215
- 						}
216
- 						$("#commentUl").html(commentUl);
217
- 						
218
- 						var taskInfos = data.taskInfos;
219
- 						var taskInfoUl = "";
220
- 						for (var key in taskInfos) {
221
- 							var tmpData = taskInfos[key];
222
- 							taskInfoUl += '<li><a href="###"><h2>'+tmpData.taskNumber+'</h2><span>'+tmpData.data_date.substring(0,10)+'</span><span>'
223
- 							               +tmpData.config_supply_main+'</span></a></li>';
224
- 						}
225
- 						$("#taskInfoUl").html(taskInfoUl);
226
- 						//人员学历统计
227
- 						
228
- 						chartData = {};
229
- 						let eduArrNameArr = data.countData.eduArrName.split(",")
230
- 						let eduNumArr = data.countData.eduNum.split(",")
231
-  						datas = {};
232
- 						datas[eduArrNameArr[0]] = eduNumArr[0];
233
- 						datas[eduArrNameArr[1]] = eduNumArr[1];
234
- 						datas[eduArrNameArr[2]] = eduNumArr[2];
235
-						chartData.datas = datas;
236
-						chartData.subtext = '人员学历统计';
237
-						chartData.seriesName = "学历";
238
-						chartData.addNum = 2
239
-						// setBar("eduChart", chartData);
240
-						setChart("#eduChart", getBar3Option(eduArrNameArr, eduNumArr))
241
-
242
-						
243
-						//人员年龄统计
244
-						let ageArrNameArr = data.countData.ageArrName.split(",")
245
-						let ageArrNum = data.countData.ageArrNum.split(",")
246
-						datas = {};
247
-						datas[ageArrNameArr[0]] = ageArrNum[0];
248
- 						datas[ageArrNameArr[1]] = ageArrNum[1];
249
- 						datas[ageArrNameArr[2]] = ageArrNum[2];
250
- 						datas[ageArrNameArr[3]] = ageArrNum[3];
251
-  					    chartData = {};
252
-					 	chartData.datas = datas;
253
-					 	chartData.subtext = '人员年龄统计';
254
-					 	chartData.seriesName = "年龄";
255
-					 	chartData.isShowLine= false
256
-					 	chartData.isShowTooltip = false
257
-					 	// setPie("ageChart", chartData);	
258
-						 var pie2 = setChart("#ageChart", getPie2Option(datas))
259
-						// 默认选中第一个, 并处理选中逻辑
260
-						var pie2DataIndex = 0
261
-						pie2.on('mousemove', function(e) {
262
-							pie2.dispatchAction({ type: 'downplay', dataIndex: pie2DataIndex });
263
-							pie2.dispatchAction({ type: 'highlight', dataIndex: e.dataIndex });
264
-							pie2DataIndex = e.dataIndex
265
-						});
266
-						pie2.dispatchAction({ type: 'highlight', dataIndex: pie2DataIndex });
267
-
268
-					 	//机构分类统计
269
-					 	let guaArrNameArr = data.countData.guaArrName.split(",");
270
-					 	let guaArrNumArr = data.countData.guaArrNum.split(",");
271
-					 	datas = {};						
272
-					 	for(var i=0;i<guaArrNameArr.length;i++){
273
-					 		datas[guaArrNameArr[i]] = guaArrNumArr[i];
274
-					 	}
275
-					 	chartData = {};
276
-					 	chartData.datas = datas;
277
-					 	chartData.subtext = '';
278
-					 	chartData.seriesName = "保障机构类别";
279
-					 	chartData.isShowLine= false
280
-					 	chartData.isShowTooltip = false
281
-					 	// setBar("guaChart", chartData);
282
-						setChart("#guaChart", getBar2Option(guaArrNameArr, guaArrNumArr))
283
-
284
-					 	//供应设备分类统计
285
-					 	let devArrName = data.countData.devArrName.split(",");
286
-					 	let devArrNum = data.countData.devArrNum.split(",");
287
-					 	datas = {};						
288
-					 	for(var i=0;i<devArrName.length;i++){
289
-					 		datas[devArrName[i]] = devArrNum[i];
290
-					 	}
291
-					 	chartData = {};
292
-					 	chartData.datas = datas;
293
-					 	chartData.subtext = '';
294
-					 	chartData.seriesName = "设备类别";
295
-					 	chartData.isShowLine= false
296
-					 	chartData.isShowTooltip = false
297
-					 	// setPie("devChart", chartData);
298
-						var pie1 = setChart("#devChart", getPie1Option(datas));
299
-						// 默认选中第一个, 并处理选中逻辑
300
-						var pie1DataIndex = 0
301
-						pie1.on('mousemove', function(e) {
302
-							pie1.dispatchAction({ type: 'downplay', dataIndex: pie1DataIndex });
303
-							pie1.dispatchAction({ type: 'highlight', dataIndex: e.dataIndex });
304
-							pie1DataIndex = e.dataIndex
305
-						});
306
-						pie1.dispatchAction({ type: 'highlight', dataIndex: pie1DataIndex });
307
-
308
-					 	let guaAbiJson = data.countData.guaAbiJson
309
-					 	$(".info-list").find("span").each(function(){
310
-					 		let objId = $(this).attr("id")
311
-					 		if(guaAbiJson[objId] != null){
312
-					 			$(this).text(guaAbiJson[objId]);
313
-					 		}					 		
314
-					 	})
315
-					 	let config_service_ability = guaAbiJson.config_service_ability
316
-					 	let serviceArr = config_service_ability.split(",")
317
-					 	for(let key in serviceArr){
318
-					 		if(serviceArr[key] != null && serviceArr[key] != ""){
319
-						 		$(".info-text").append('<span class="label">'+serviceArr[key]+'</span>')
320
-
321
-					 		}
322
-					 	}
323
- 					}
324
- 				});
325
-		        
326
-	}
327
-	function taskTimeReport() {
328
-		let year = $("#selYear").val()
329
-		$
330
-		.ajax({
331
-			url : urlPre + "taskTimeReport?yearTime="+year,
332
-			dataType : 'json',
333
-				success : function(yearTask) {
334
-					var chartData = {};
335
-                    let xAxisData = []
336
-                    let datas = []
337
-                    for(let key in yearTask){
338
-                    	xAxisData[xAxisData.length] = key
339
-                    	datas[datas.length] = yearTask[key]
340
-                    }                      
341
-                    chartData.datas = datas;
342
-					chartData.xAxisData = xAxisData;
343
-					chartData.addNum = 2;
344
-					setLine("taskChart", chartData);	
345
-				}
346
-		})
347
-	}
348
-	function commentReport(){
349
-		let queryParams = {};
350
-		queryParams.schCols = 'itemCode,itemName';
351
-		queryParams.limit = 200
352
-		queryParams["sorts[0].field"] = 'sort';
353
-		queryParams["sorts[0].order"] = 'asc';
354
-		queryParams.search_LENGTH_itemCode = 2;
355
-		let colArr = []
356
-		$.ajax({
357
-			type : 'post',
358
-			async : false,
359
-			url : urlPre + 'api/commentItem/page',
360
-			data:queryParams,
361
-			dataType : 'json',
362
-			success : function(data) {
363
-				var rows = data.rows;
364
-				for(var m = 0; m < rows.length; m++){
365
-					if(m<3){
366
-						let row = rows[m]
367
-						let str = '<span>'+row.itemName+'(优)</span>'
368
-	                    $("#commentLi").append(str)
369
-	                    colArr[colArr.length] = row.itemCode + "_1"
370
-					}
371
-				
372
-				}
373
-			}
374
-		});	
375
-		return colArr;
23
+<script>
24
+	var paramT = '1';
25
+	var matched = /t=(\d)/.exec(location.search);
26
+	if (matched) {
27
+		paramT = matched[1] || '1';
376 28
 	}
377 29
 
378
-	console.log('-------->', window)
379
-</script> 
30
+	if (paramT == '2') {
31
+		document.querySelector('#t2').style.display="block"
32
+	} else {
33
+		document.querySelector('#t1').style.display="block"
34
+	}
35
+</script>
380 36
 </html>

+ 155
- 0
resources/templates/main/dashboard.html Wyświetl plik

@@ -0,0 +1,155 @@
1
+<!DOCTYPE html>
2
+<html lang="zh-CN" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
3
+<div id="t1" th:fragment="main-dashboard" class="dashboard-page" style="display: none;">
4
+  <div></div>
5
+  <div class="act-list">
6
+    <div class="row">
7
+      <div class="col-md-3">
8
+        <div class="act-bg">
9
+          <img th:src="@{/images/dashboard/menu_bg.png}" alt="">
10
+          <img th:src="@{/images/dashboard/menu_bg_active.png}" alt="">
11
+        </div>
12
+
13
+        <div class="act-body">
14
+          <div class="act-icon">
15
+            <img th:src="@{/images/dashboard/年度任务汇总.png}" alt="">
16
+            <img th:src="@{/images/dashboard/年度任务汇总click.png}" alt="">
17
+          </div>
18
+          <div class="act-content">
19
+            <img th:src="@{/images/dashboard/left.png}" alt="">
20
+            <span>年度任务汇总</span>
21
+            <img th:src="@{/images/dashboard/right.png}" alt="">
22
+          </div>
23
+        </div>
24
+      </div>
25
+      <div class="col-md-3">
26
+        <div class="act-bg">
27
+          <img th:src="@{/images/dashboard/menu_bg.png}" alt="">
28
+          <img th:src="@{/images/dashboard/menu_bg_active.png}" alt="">
29
+        </div>
30
+
31
+        <div class="act-body">
32
+          <div class="act-icon">
33
+            <img th:src="@{/images/dashboard/军供任务明细.png}" alt="">
34
+            <img th:src="@{/images/dashboard/军供任务明细click.png}" alt="">
35
+          </div>
36
+          <div class="act-content">
37
+            <img th:src="@{/images/dashboard/left.png}" alt="">
38
+            <span>军供任务明细</span>
39
+            <img th:src="@{/images/dashboard/right.png}" alt="">
40
+          </div>
41
+        </div>
42
+      </div>
43
+      <div class="col-md-3">
44
+        <div class="act-bg">
45
+          <img th:src="@{/images/dashboard/menu_bg.png}" alt="">
46
+          <img th:src="@{/images/dashboard/menu_bg_active.png}" alt="">
47
+        </div>
48
+
49
+        <div class="act-body">
50
+          <div class="act-icon">
51
+            <img th:src="@{/images/dashboard/军供保障能力.png}" alt="">
52
+            <img th:src="@{/images/dashboard/军供保障能力click.png}" alt="">
53
+          </div>
54
+          <div class="act-content">
55
+            <img th:src="@{/images/dashboard/left.png}" alt="">
56
+            <span>军供保障能力</span>
57
+            <img th:src="@{/images/dashboard/right.png}" alt="">
58
+          </div>
59
+        </div>
60
+      </div>
61
+      <div class="col-md-3">
62
+        <div class="act-bg">
63
+          <img th:src="@{/images/dashboard/menu_bg.png}" alt="">
64
+          <img th:src="@{/images/dashboard/menu_bg_active.png}" alt="">
65
+        </div>
66
+
67
+        <div class="act-body">
68
+          <div class="act-icon">
69
+            <img th:src="@{/images/dashboard/社会保障预案.png}" alt="">
70
+            <img th:src="@{/images/dashboard/社会保障预案click.png}" alt="">
71
+          </div>
72
+          <div class="act-content">
73
+            <img th:src="@{/images/dashboard/left.png}" alt="">
74
+            <span>社会保障预案</span>
75
+            <img th:src="@{/images/dashboard/right.png}" alt="">
76
+          </div>
77
+        </div>
78
+      </div>
79
+    </div>
80
+    <div class="row">
81
+      <div class="col-md-3">
82
+        <div class="act-bg">
83
+          <img th:src="@{/images/dashboard/menu_bg.png}" alt="">
84
+          <img th:src="@{/images/dashboard/menu_bg_active.png}" alt="">
85
+        </div>
86
+
87
+        <div class="act-body">
88
+          <div class="act-icon">
89
+            <img th:src="@{/images/dashboard/社会保障机构.png}" alt="">
90
+            <img th:src="@{/images/dashboard/社会保障机构click.png}" alt="">
91
+          </div>
92
+          <div class="act-content">
93
+            <img th:src="@{/images/dashboard/left.png}" alt="">
94
+            <span>社会保障机构</span>
95
+            <img th:src="@{/images/dashboard/right.png}" alt="">
96
+          </div>
97
+        </div>
98
+      </div>
99
+      <div class="col-md-3">
100
+        <div class="act-bg">
101
+          <img th:src="@{/images/dashboard/menu_bg.png}" alt="">
102
+          <img th:src="@{/images/dashboard/menu_bg_active.png}" alt="">
103
+        </div>
104
+
105
+        <div class="act-body">
106
+          <div class="act-icon">
107
+            <img th:src="@{/images/dashboard/军供供应设备.png}" alt="">
108
+            <img th:src="@{/images/dashboard/军供供应设备click.png}" alt="">
109
+          </div>
110
+          <div class="act-content">
111
+            <img th:src="@{/images/dashboard/left.png}" alt="">
112
+            <span>军供供应设备</span>
113
+            <img th:src="@{/images/dashboard/right.png}" alt="">
114
+          </div>
115
+        </div>
116
+      </div>
117
+      <div class="col-md-3">
118
+        <div class="act-bg">
119
+          <img th:src="@{/images/dashboard/menu_bg.png}" alt="">
120
+          <img th:src="@{/images/dashboard/menu_bg_active.png}" alt="">
121
+        </div>
122
+
123
+        <div class="act-body">
124
+          <div class="act-icon">
125
+            <img th:src="@{/images/dashboard/军供站简介.png}" alt="">
126
+            <img th:src="@{/images/dashboard/军供站简介click.png}" alt="">
127
+          </div>
128
+          <div class="act-content">
129
+            <img th:src="@{/images/dashboard/left.png}" alt="">
130
+            <span>军供站简介</span>
131
+            <img th:src="@{/images/dashboard/right.png}" alt="">
132
+          </div>
133
+        </div>
134
+      </div>
135
+      <div class="col-md-3">
136
+        <div class="act-bg">
137
+          <img th:src="@{/images/dashboard/menu_bg.png}" alt="">
138
+          <img th:src="@{/images/dashboard/menu_bg_active.png}" alt="">
139
+        </div>
140
+
141
+        <div class="act-body">
142
+          <div class="act-icon">
143
+            <img th:src="@{/images/dashboard/安防管理.png}" alt="">
144
+            <img th:src="@{/images/dashboard/安防管理click.png}" alt="">
145
+          </div>
146
+          <div class="act-content">
147
+            <img th:src="@{/images/dashboard/left.png}" alt="">
148
+            <span>安防管理</span>
149
+            <img th:src="@{/images/dashboard/right.png}" alt="">
150
+          </div>
151
+        </div>
152
+      </div>
153
+    </div>
154
+  </div>
155
+</div>

+ 355
- 0
resources/templates/main/data.html Wyświetl plik

@@ -0,0 +1,355 @@
1
+<!DOCTYPE html>
2
+<html lang="zh-CN" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5">
3
+<div id="t2" th:fragment="main-data" class="chart-page" style="display: none;">
4
+  <div class="flex-part">
5
+    <div class="flex-part-3">
6
+      <div class="count">
7
+        <dl>
8
+          <dt id="totalTask">0</dt>
9
+          <dd>任务总数</dd>
10
+          <img th:src="@{/images/statistic/数字统计.png}" alt="">
11
+        </dl>
12
+        <dl>
13
+          <dt id="totalPerson">0</dt>
14
+          <dd>接待军人总数</dd>
15
+          <img th:src="@{/images/statistic/接待军人总数.png}" alt="">
16
+        </dl>
17
+        <dl>
18
+          <dt id="totalOrg">0</dt>
19
+          <dd>保障机构数</dd>
20
+          <img th:src="@{/images/statistic/保障机构数.png}" alt="">
21
+        </dl>
22
+        <dl>
23
+          <dt id="totalEquipment">0</dt>
24
+          <dd>设备数量</dd>
25
+          <img th:src="@{/images/statistic/设备数量.png}" alt="">
26
+        </dl>
27
+      </div>
28
+    
29
+      <div class="panelGroup flex-part" style="padding-bottom:0;">
30
+        <div class="panel flex-part-2 chart-card">
31
+          <div class="panel-heading">
32
+            <img th:src="@{/images/statistic/任务统计.png}" />
33
+            <span>任务统计</span>
34
+            <!-- <svg>
35
+              <defs>
36
+                  <linearGradient id="grad" x1="0" y1="100%" x2="0" y2="0">
37
+                      <stop offset="0%" style="stop-color:#6F39B9; stop-opacity:1" />
38
+                      <stop offset="100%" style="stop-color:#1EAED1; stop-opacity:1" />
39
+                  </linearGradient>
40
+              </defs>
41
+              <text x="0" y="22" fill="url(#grad)" style="font-size:22px">任务统计</text>
42
+            </svg> -->
43
+            <div class="selectGroup">
44
+              <select class="" id="selYear" onchange="taskTimeReport()">
45
+                  </select>
46
+            </div>
47
+          </div>
48
+          <div class="panel-body">
49
+            <div class="text-center">
50
+              <div class="text-center" style="height:300px;" id="taskChart"></div>
51
+            </div>
52
+          </div>
53
+        </div>
54
+        <div class="flex-part-1">
55
+          <div class="panel chart-card">
56
+            <div class="panel-heading">
57
+              <img th:src="@{/images/statistic/设备分类统计.png}" />
58
+              <span>设备分类统计</span>
59
+            </div>
60
+            <div class="panel-body">
61
+              <div class="text-center" style="height:260px;" id="devChart"></div>
62
+            </div>
63
+          </div>
64
+        </div>
65
+      </div>
66
+
67
+
68
+    </div>
69
+    <div class="flex-part-1">
70
+      <div class="panel chart-card" style="margin: 15px 30px 0 0; height: calc(100% - 15px)">
71
+        <div class="panel-heading">
72
+          <img th:src="@{/images/statistic/军供保障能力.png}" />
73
+          <span>军供保障能力</span>
74
+        </div>
75
+        <div class="panel-body" style="height: calc(100% - 60px);">
76
+          <div class="info-text">
77
+            
78
+          </div>
79
+          <ul class="info-list" style="overflow-y: auto; height: 100%;">
80
+            <li title="常规单日整体膳食供应能力(人次)"><span id="ztssgynl">0</span>常规单日整体膳食供应能力(人次):</li>
81
+            <li title="常规单次整体膳食供应能力(人)"><span id="dcztssgynl">0</span>常规单次整体膳食供应能力(人):</li>
82
+            <li title="应急单日整体膳食供应能力(人次)"><span id="yjztssgynl">0</span>应急单日整体膳食供应能力(人次):</li>
83
+            <li title="应急单次整体膳食供应能力(人)"><span id="yjdcztssgynl">0</span>应急单次整体膳食供应能力(人):</li>
84
+            <li title="常规整体住宿供应能力(人)"><span id="ztzsgynl">0</span>常规整体住宿供应能力(人):</li>
85
+            <li title="应急整体住宿供应能力(人)"><span id="yjztzsgynl">0</span>应急整体住宿供应能力(人):</li>
86
+          </ul>
87
+        </div>
88
+      </div>
89
+    </div>
90
+  </div>
91
+  <div class="panelGroup">
92
+    <div class="panel panel-row-2 chart-card">
93
+      <div class="panel-heading">
94
+        <img th:src="@{/images/statistic/社会保障机构分类统计.png}" />
95
+        <span>社会保障机构分类统计</span>
96
+      </div>
97
+      <div class="panel-body">
98
+        <div class="text-center" id="guaChart" style="height:320px"></div>
99
+      </div>
100
+    </div>
101
+    <div class="panel panel-row-2 chart-card">
102
+      <div class="panel-heading">
103
+        <img th:src="@{/images/statistic/人员统计.png}" />
104
+        <span>人员统计</span>
105
+      </div>
106
+      <div class="panel-body">
107
+        <div class="col-sm-6 text-center" id="eduChart" style="height:300px;">
108
+        </div>
109
+        <div class="col-sm-6 text-center" id="ageChart" style="height:270px;">
110
+        </div>
111
+      </div>
112
+    </div>
113
+  </div>
114
+  <script>
115
+   function loadPage() {
116
+     let colArr = commentReport();
117
+     $
118
+         .ajax({
119
+           url : urlPre + "getMainData",
120
+           dataType : 'json',
121
+            success : function(data) {
122
+ 
123
+             (function mockData(dt) {
124
+               function rand() {
125
+                 return Math.floor(100 * Math.random() + 10);
126
+               }
127
+ 
128
+               dt.countData.ageArrNum = dt.countData.ageArrNum.split(',').map(rand).join(',')
129
+               dt.countData.devArrNum = dt.countData.devArrNum.split(',').map(rand).join(',')
130
+               dt.countData.guaArrNum = dt.countData.guaArrNum.split(',').map(rand).join(',')
131
+               dt.countData.eduNum = dt.countData.eduNum.split(',').map(rand).join(',')
132
+               dt.countData.guaAbiJson.clzs = rand()
133
+               dt.countData.guaAbiJson.dcztssgynl = rand()
134
+               dt.countData.guaAbiJson.yjdcztssgynl = rand()
135
+               dt.countData.guaAbiJson.yjztssgynl = rand()
136
+               dt.countData.guaAbiJson.ztssgynl = rand()
137
+               dt.countData.guaAbiJson.ztzsgynl = rand()
138
+               dt.yearTask = Object.keys(dt.yearTask).map((key) => {
139
+                 return {[key]: rand()}
140
+               }).reduce((acc, item) => ({ ...acc, ...item }), {})
141
+             })(data)
142
+ 
143
+             console.log(data)
144
+ 
145
+              $("#totalTask").text(data.totalTask);
146
+              $("#totalOrg").text(data.totalOrg);
147
+              $("#totalPerson").text(data.totalPerson);
148
+              $("#totalEquipment").text(data.totalEquipment);
149
+              //选择年份 按月统计任务
150
+              var myDate = new Date();
151
+                         var tYear = myDate.getFullYear();
152
+                         var lasYear = tYear - 1;
153
+                         $("#selYear").html("<option value='"+tYear+"'>"+tYear+"年</option><option value='"+lasYear+"'>"+lasYear+"年</option>");
154
+              var chartData = {};
155
+                         let yearTask = data.yearTask
156
+                         let xAxisData = []
157
+                         let datas = []
158
+                         for(let key in yearTask){
159
+                           xAxisData[xAxisData.length] = key
160
+                           datas[datas.length] = yearTask[key]
161
+                         }                      
162
+              chartData.datas = datas;
163
+              chartData.xAxisData = xAxisData;
164
+              // setLine("taskChart", chartData);
165
+ 
166
+             setChart("#taskChart", getBar1Option(xAxisData, datas))
167
+                         
168
+              var comments = data.comments;
169
+              var commentUl = "";
170
+              for (var key in comments) {
171
+                var tmpData = comments[key];
172
+                commentUl += '<li><a href="###"><h2>'+tmpData.taskNumber+'</h2>'
173
+                let config_evaluate_item = tmpData.config_evaluate_item.split(",")
174
+                for(var ky in colArr){
175
+                  if(config_evaluate_item.indexOf(colArr[ky].substring(0,2)) !=-1){
176
+                    if(tmpData[colArr[ky]] != null){
177
+                       let num = tmpData[colArr[ky]];
178
+                        let total = tmpData[colArr[ky].substring(0,2)]
179
+                        let addNum = (num/total*100).toFixed() + "%"
180
+                        commentUl += '<span>'+addNum+'</span>'
181
+                     }else{
182
+                       commentUl += '<span>0%</span>'
183
+                     }
184
+                  }else{
185
+                    commentUl += '<span>未选择</span>'
186
+                  }
187
+                
188
+                  
189
+                }
190
+                commentUl += '</li>';		
191
+              }
192
+              $("#commentUl").html(commentUl);
193
+              
194
+              var taskInfos = data.taskInfos;
195
+              var taskInfoUl = "";
196
+              for (var key in taskInfos) {
197
+                var tmpData = taskInfos[key];
198
+                taskInfoUl += '<li><a href="###"><h2>'+tmpData.taskNumber+'</h2><span>'+tmpData.data_date.substring(0,10)+'</span><span>'
199
+                               +tmpData.config_supply_main+'</span></a></li>';
200
+              }
201
+              $("#taskInfoUl").html(taskInfoUl);
202
+              //人员学历统计
203
+              
204
+              chartData = {};
205
+              let eduArrNameArr = data.countData.eduArrName.split(",")
206
+              let eduNumArr = data.countData.eduNum.split(",")
207
+               datas = {};
208
+              datas[eduArrNameArr[0]] = eduNumArr[0];
209
+              datas[eduArrNameArr[1]] = eduNumArr[1];
210
+              datas[eduArrNameArr[2]] = eduNumArr[2];
211
+             chartData.datas = datas;
212
+             chartData.subtext = '人员学历统计';
213
+             chartData.seriesName = "学历";
214
+             chartData.addNum = 2
215
+             // setBar("eduChart", chartData);
216
+             setChart("#eduChart", getBar3Option(eduArrNameArr, eduNumArr))
217
+ 
218
+             
219
+             //人员年龄统计
220
+             let ageArrNameArr = data.countData.ageArrName.split(",")
221
+             let ageArrNum = data.countData.ageArrNum.split(",")
222
+             datas = {};
223
+             datas[ageArrNameArr[0]] = ageArrNum[0];
224
+              datas[ageArrNameArr[1]] = ageArrNum[1];
225
+              datas[ageArrNameArr[2]] = ageArrNum[2];
226
+              datas[ageArrNameArr[3]] = ageArrNum[3];
227
+                 chartData = {};
228
+              chartData.datas = datas;
229
+              chartData.subtext = '人员年龄统计';
230
+              chartData.seriesName = "年龄";
231
+              chartData.isShowLine= false
232
+              chartData.isShowTooltip = false
233
+              // setPie("ageChart", chartData);	
234
+              var pie2 = setChart("#ageChart", getPie2Option(datas))
235
+             // 默认选中第一个, 并处理选中逻辑
236
+             var pie2DataIndex = 0
237
+             pie2.on('mousemove', function(e) {
238
+               pie2.dispatchAction({ type: 'downplay', dataIndex: pie2DataIndex });
239
+               pie2.dispatchAction({ type: 'highlight', dataIndex: e.dataIndex });
240
+               pie2DataIndex = e.dataIndex
241
+             });
242
+             pie2.dispatchAction({ type: 'highlight', dataIndex: pie2DataIndex });
243
+ 
244
+              //机构分类统计
245
+              let guaArrNameArr = data.countData.guaArrName.split(",");
246
+              let guaArrNumArr = data.countData.guaArrNum.split(",");
247
+              datas = {};						
248
+              for(var i=0;i<guaArrNameArr.length;i++){
249
+                datas[guaArrNameArr[i]] = guaArrNumArr[i];
250
+              }
251
+              chartData = {};
252
+              chartData.datas = datas;
253
+              chartData.subtext = '';
254
+              chartData.seriesName = "保障机构类别";
255
+              chartData.isShowLine= false
256
+              chartData.isShowTooltip = false
257
+              // setBar("guaChart", chartData);
258
+             setChart("#guaChart", getBar2Option(guaArrNameArr, guaArrNumArr))
259
+ 
260
+              //供应设备分类统计
261
+              let devArrName = data.countData.devArrName.split(",");
262
+              let devArrNum = data.countData.devArrNum.split(",");
263
+              datas = {};						
264
+              for(var i=0;i<devArrName.length;i++){
265
+                datas[devArrName[i]] = devArrNum[i];
266
+              }
267
+              chartData = {};
268
+              chartData.datas = datas;
269
+              chartData.subtext = '';
270
+              chartData.seriesName = "设备类别";
271
+              chartData.isShowLine= false
272
+              chartData.isShowTooltip = false
273
+              // setPie("devChart", chartData);
274
+             var pie1 = setChart("#devChart", getPie1Option(datas));
275
+             // 默认选中第一个, 并处理选中逻辑
276
+             var pie1DataIndex = 0
277
+             pie1.on('mousemove', function(e) {
278
+               pie1.dispatchAction({ type: 'downplay', dataIndex: pie1DataIndex });
279
+               pie1.dispatchAction({ type: 'highlight', dataIndex: e.dataIndex });
280
+               pie1DataIndex = e.dataIndex
281
+             });
282
+             pie1.dispatchAction({ type: 'highlight', dataIndex: pie1DataIndex });
283
+ 
284
+              let guaAbiJson = data.countData.guaAbiJson
285
+              $(".info-list").find("span").each(function(){
286
+                let objId = $(this).attr("id")
287
+                if(guaAbiJson[objId] != null){
288
+                  $(this).text(guaAbiJson[objId]);
289
+                }					 		
290
+              })
291
+              let config_service_ability = guaAbiJson.config_service_ability
292
+              let serviceArr = config_service_ability.split(",")
293
+              for(let key in serviceArr){
294
+                if(serviceArr[key] != null && serviceArr[key] != ""){
295
+                  $(".info-text").append('<span class="label">'+serviceArr[key]+'</span>')
296
+ 
297
+                }
298
+              }
299
+            }
300
+          });
301
+             
302
+   }
303
+   function taskTimeReport() {
304
+     let year = $("#selYear").val()
305
+     $
306
+     .ajax({
307
+       url : urlPre + "taskTimeReport?yearTime="+year,
308
+       dataType : 'json',
309
+         success : function(yearTask) {
310
+           var chartData = {};
311
+                     let xAxisData = []
312
+                     let datas = []
313
+                     for(let key in yearTask){
314
+                       xAxisData[xAxisData.length] = key
315
+                       datas[datas.length] = yearTask[key]
316
+                     }                      
317
+                     chartData.datas = datas;
318
+           chartData.xAxisData = xAxisData;
319
+           chartData.addNum = 2;
320
+           setLine("taskChart", chartData);	
321
+         }
322
+     })
323
+   }
324
+   function commentReport(){
325
+     let queryParams = {};
326
+     queryParams.schCols = 'itemCode,itemName';
327
+     queryParams.limit = 200
328
+     queryParams["sorts[0].field"] = 'sort';
329
+     queryParams["sorts[0].order"] = 'asc';
330
+     queryParams.search_LENGTH_itemCode = 2;
331
+     let colArr = []
332
+     $.ajax({
333
+       type : 'post',
334
+       async : false,
335
+       url : urlPre + 'api/commentItem/page',
336
+       data:queryParams,
337
+       dataType : 'json',
338
+       success : function(data) {
339
+         var rows = data.rows;
340
+         for(var m = 0; m < rows.length; m++){
341
+           if(m<3){
342
+             let row = rows[m]
343
+             let str = '<span>'+row.itemName+'(优)</span>'
344
+                       $("#commentLi").append(str)
345
+                       colArr[colArr.length] = row.itemCode + "_1"
346
+           }
347
+         
348
+         }
349
+       }
350
+     });	
351
+     return colArr;
352
+   }
353
+ 
354
+ </script> 
355
+</div>