张延森 2 лет назад
Родитель
Сommit
83c07c3934

Двоичные данные
db/db.mv.db Просмотреть файл


+ 122
- 12
resources/static/css/common.css Просмотреть файл

@@ -24,22 +24,23 @@
24 24
   margin: 0 1em;
25 25
   border-bottom: 4px solid rgba(0, 0, 0, 0);
26 26
 }
27
-.nav-menu .nav-menu-item + .nav-menu-item::before {
28
-  content: '';
29
-  height: 0.8em;
30
-  border-left: 2px solid #547EF5;
31
-  transform: rotate(20deg);
32
-  display: block;
33
-  position: absolute;
34
-  top: calc(50% - 0.4em);
35
-}
36 27
 .nav-menu .nav-menu-item span {
37 28
   font-size: 20px;
38 29
   color: rgba(255, 255, 255, 0.8);
39 30
 }
40 31
 .nav-menu .nav-menu-item.active div {
32
+  position: relative;
41 33
   border-bottom: 4px solid #3CBAF5;
42
-  background: linear-gradient(rgba(36, 103, 176, 0), #2467b0);
34
+}
35
+.nav-menu .nav-menu-item.active div::after {
36
+  content: "";
37
+  width: 0;
38
+  height: 0;
39
+  border: 8px solid transparent;
40
+  border-bottom-color: #3CBAF5;
41
+  position: absolute;
42
+  left: calc(50% - 8px);
43
+  bottom: 0;
43 44
 }
44 45
 .nav-menu .nav-menu-item.active span {
45 46
   color: #fff;
@@ -53,8 +54,77 @@
53 54
 .chart-page {
54 55
   width: 100%;
55 56
   height: 100%;
57
+  overflow-y: auto;
56 58
   background: #071C51;
57 59
 }
60
+.chart-page .flex-part {
61
+  display: flex;
62
+  justify-content: space-between;
63
+}
64
+.chart-page .flex-part .flex-part-3 {
65
+  flex: 3;
66
+}
67
+.chart-page .flex-part .flex-part-2 {
68
+  flex: 3;
69
+}
70
+.chart-page .flex-part .flex-part-1 {
71
+  flex: 1;
72
+}
73
+.chart-page .count {
74
+  border-radius: 20px;
75
+}
76
+.chart-page .count dl {
77
+  overflow: hidden;
78
+  position: relative;
79
+  box-sizing: border-box;
80
+  padding-left: 150px;
81
+}
82
+.chart-page .count dl dt,
83
+.chart-page .count dl dd {
84
+  padding: 0;
85
+}
86
+.chart-page .count dl img {
87
+  position: absolute;
88
+  display: block;
89
+  top: 24px;
90
+  left: 30px;
91
+  width: 88px;
92
+  height: 88px;
93
+}
94
+.chart-page .count dl::before,
95
+.chart-page .count dl::after {
96
+  content: "";
97
+  position: absolute;
98
+  background: #FFFFFF;
99
+  opacity: 0.1;
100
+  border-radius: 50%;
101
+  font-size: 0;
102
+}
103
+.chart-page .count dl::before {
104
+  width: 166px;
105
+  height: 140px;
106
+  left: calc(100% - 88px);
107
+  top: -40px;
108
+}
109
+.chart-page .count dl::after {
110
+  width: 281px;
111
+  height: 177px;
112
+  border-radius: 50%;
113
+  left: calc(100% - 160px);
114
+  top: 81px;
115
+}
116
+.chart-page .count dl:nth-child(1) {
117
+  background: linear-gradient(90deg, #3886D6, #003789);
118
+}
119
+.chart-page .count dl:nth-child(2) {
120
+  background: linear-gradient(90deg, #29A0B1, #3C1A63);
121
+}
122
+.chart-page .count dl:nth-child(3) {
123
+  background: linear-gradient(90deg, #1570AB, #343894);
124
+}
125
+.chart-page .count dl:nth-child(4) {
126
+  background: linear-gradient(90deg, #2788B6, #083A8C);
127
+}
58 128
 .chart-card {
59 129
   position: relative;
60 130
   z-index: 0;
@@ -69,8 +139,19 @@
69 139
   box-sizing: border-box;
70 140
 }
71 141
 .chart-card.panel .panel-heading {
142
+  position: relative;
72 143
   box-sizing: border-box;
73
-  padding: 1em;
144
+  padding: 1em 1em 0 1em;
145
+}
146
+.chart-card.panel .panel-heading .selectGroup {
147
+  position: absolute;
148
+  top: 1em;
149
+  right: 1em;
150
+}
151
+.chart-card.panel .panel-heading .selectGroup select {
152
+  background: transparent;
153
+  border: 0;
154
+  color: #FFFFFF;
74 155
 }
75 156
 .chart-card.panel .panel-heading img {
76 157
   width: 28px;
@@ -83,14 +164,43 @@
83 164
   font-size: 22px;
84 165
   font-weight: 500;
85 166
   color: transparent;
86
-  background-clip: text;
87 167
   background-image: linear-gradient(0deg, #6F39B9 0%, #1EAED1 100%);
88 168
   vertical-align: middle;
169
+  background-clip: text;
170
+  -webkit-background-clip: text;
89 171
 }
90 172
 .chart-card.panel .panel-body {
91 173
   padding: 0;
92 174
   background: #071C51;
93 175
 }
176
+.chart-card.panel .panel-body .info-list li {
177
+  color: rgba(255, 255, 255, 0.6);
178
+  background: transparent;
179
+  height: 45px;
180
+  line-height: 45px;
181
+  font-size: 16px;
182
+  padding: 0 1em;
183
+  margin: 0 1em;
184
+  width: calc(100% - 2em);
185
+  box-sizing: border-box;
186
+}
187
+.chart-card.panel .panel-body .info-list li span {
188
+  color: #fff;
189
+}
190
+.chart-card.panel .panel-body .info-list li:nth-child(odd) {
191
+  color: #fff;
192
+  background-color: rgba(255, 255, 255, 0.05);
193
+}
194
+.chart-card.panel .panel-body .info-list li::before {
195
+  content: '';
196
+  display: inline-block;
197
+  width: 4px;
198
+  height: 4px;
199
+  border-radius: 50%;
200
+  background-color: rgba(255, 255, 255, 0.5);
201
+  vertical-align: middle;
202
+  margin-right: 1em;
203
+}
94 204
 @keyframes chart-card-rotate {
95 205
   100% {
96 206
     transform: rotate(1turn);

+ 1
- 1
resources/static/css/public.css Просмотреть файл

@@ -22,7 +22,7 @@ img{border: 0;}
22 22
 
23 23
 .header{position:absolute;z-index:100;top:0;left:0;width:100%;}
24 24
 .left{position:absolute;z-index:98;top:98px;bottom:40px;left:0;}
25
-.layout-content{position:absolute;z-index:97;top:98px;bottom:40px;left:240px;right:0;}
25
+.layout-content{position:absolute;z-index:97;top:74px;bottom:40px;left:240px;right:0;}
26 26
 
27 27
 .footer{background:var(--main-bg);text-align:center;height:40px;line-height:40px;color:#FFF;position:absolute;left:0;right:0;bottom:0;}
28 28
 

Двоичные данные
resources/static/images/statistic/保障机构数.png Просмотреть файл


Двоичные данные
resources/static/images/statistic/接待军人总数.png Просмотреть файл


Двоичные данные
resources/static/images/statistic/数字统计.png Просмотреть файл


Двоичные данные
resources/static/images/statistic/设备数量.png Просмотреть файл


+ 6
- 0
resources/static/js/chart/chart.js Просмотреть файл

@@ -95,6 +95,12 @@ function getBar2Option(xAxisData, seriesData) {
95 95
       },
96 96
       type: 'value'
97 97
     },
98
+    grid: {
99
+      top: 20,
100
+      left: 50,
101
+      right: 20,
102
+      bottom: 70,
103
+    },
98 104
     color: ['#9242D1'],
99 105
     animationEasing: 'elasticOut',
100 106
     series: [

+ 1
- 1
resources/templates/common/common_menu.html Просмотреть файл

@@ -20,7 +20,7 @@
20 20
       }
21 21
     }
22 22
   </script>
23
-  <a class="help-doc" download="操作手册.pdf" th:href="@{/js/操作手册.pdf}" target="_blank" style="width: 0"></a>
23
+  <a class="help-doc" th:href="@{/js/操作手册.pdf}" target="_blank" style="width: 0"></a>
24 24
   <div class="nav-menu-item active" onclick="onNavMenuClick(this, 'nav-menu-index')">
25 25
     <div><span>首页</span></div>
26 26
   </div>

+ 83
- 62
resources/templates/main.html Просмотреть файл

@@ -19,73 +19,94 @@
19 19
 
20 20
 <body>
21 21
 	<div class="chart-page">
22
-	<div class="count">
23
-		<dl>
24
-			<dt id="totalTask">0</dt>
25
-			<dd>任务总数</dd>
26
-		</dl>
27
-		<dl>
28
-			<dt id="totalPerson">0</dt>
29
-			<dd>接待军人总数</dd>
30
-		</dl>
31
-		<dl>
32
-			<dt id="totalOrg">0</dt>
33
-			<dd>保障机构数</dd>
34
-		</dl>
35
-		<dl>
36
-			<dt id="totalEquipment">0</dt>
37
-			<dd>设备数量</dd>
38
-		</dl>
39
-	</div>
22
+		<div class="flex-part">
23
+			<div class="flex-part-3">
40 24
 
41
-	<div class="panelGroup" style="padding-bottom:0;">
42
-		<div class="panel panel-row-2 chart-card">
43
-			<div class="panel-heading">
44
-				<img th:src="@{/images/statistic/任务统计.png}" />
45
-				<span>任务统计</span>
46
-			</div>
47
-			<div class="panel-body">
48
-				<div class="selectGroup">
49
-					<label>选择年份</label>
50
-					<select class="" id="selYear" onchange="taskTimeReport()">
51
-			        </select>
52
-				</div>
53
-				<div class="text-center">
54
-					<div class="text-center" style="height:300px;" id="taskChart"></div>
55
-				</div>
56
-			</div>
57
-		</div>
58
-		<div class="panel-row-2" style="width: 50%;">
59
-			<div class="panel panel-row-2 chart-card">
60
-				<div class="panel-heading">
61
-					<img th:src="@{/images/statistic/设备分类统计.png}" />
62
-					<span>设备分类统计</span>
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>
63 46
 				</div>
64
-				<div class="panel-body">
65
-					<div class="text-center" style="height:260px;" id="devChart"></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>
66 84
 				</div>
85
+
86
+
67 87
 			</div>
68
-			<div class="panel panel-row-2 chart-card">
69
-				<div class="panel-heading">
70
-					<img th:src="@{/images/statistic/军供保障能力.png}" />
71
-					<span>军供保障能力</span>
72
-				</div>
73
-				<div class="panel-body" style="overflow-y: auto;">
74
-					<div class="info-text">
75
-						
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>
76 106
 					</div>
77
-					<ul class="info-list">
78
-						<li title="常规单日整体膳食供应能力(人次)"><span id="ztssgynl">0</span>常规单日整体膳食供应能力(人次):</li>
79
-						<li title="常规单次整体膳食供应能力(人)"><span id="dcztssgynl">0</span>常规单次整体膳食供应能力(人):</li>
80
-						<li title="应急单日整体膳食供应能力(人次)"><span id="yjztssgynl">0</span>应急单日整体膳食供应能力(人次):</li>
81
-						<li title="应急单次整体膳食供应能力(人)"><span id="yjdcztssgynl">0</span>应急单次整体膳食供应能力(人):</li>
82
-						<li title="常规整体住宿供应能力(人)"><span id="ztzsgynl">0</span>常规整体住宿供应能力(人):</li>
83
-						<li title="应急整体住宿供应能力(人)"><span id="yjztzsgynl">0</span>应急整体住宿供应能力(人):</li>
84
-					</ul>
85 107
 				</div>
86 108
 			</div>
87 109
 		</div>
88
-	</div>
89 110
 	<div class="panelGroup">
90 111
 		<div class="panel panel-row-2 chart-card">
91 112
 			<div class="panel-heading">
@@ -93,7 +114,7 @@
93 114
 				<span>社会保障机构分类统计</span>
94 115
 			</div>
95 116
 			<div class="panel-body">
96
-				<div class="text-center" id="guaChart" style="height:320px;margin-top: -40px;"></div>
117
+				<div class="text-center" id="guaChart" style="height:320px"></div>
97 118
 			</div>
98 119
 		</div>
99 120
 		<div class="panel panel-row-2 chart-card">
@@ -102,9 +123,9 @@
102 123
 				<span>人员统计</span>
103 124
 			</div>
104 125
 			<div class="panel-body">
105
-				<div class="col-sm-6 text-center" id="eduChart" style="height:300px;margin-top: -15px;">
126
+				<div class="col-sm-6 text-center" id="eduChart" style="height:300px;">
106 127
 				</div>
107
-				<div class="col-sm-6 text-center" id="ageChart" style="height:270px;margin-top: -15px;">
128
+				<div class="col-sm-6 text-center" id="ageChart" style="height:270px;">
108 129
 				</div>
109 130
 			</div>
110 131
 		</div>