fangmingyue 2 jaren geleden
bovenliggende
commit
65812a86a0

+ 32
- 33
resources/static/css/common.css Bestand weergeven

@@ -1,6 +1,6 @@
1 1
 :root {
2
-  --main-bg: #0D267C;
3
-  --primary-bg: #4276F5;
2
+  --main-bg: #0d267c;
3
+  --primary-bg: #4276f5;
4 4
 }
5 5
 .panel {
6 6
   border-radius: 12px;
@@ -51,14 +51,14 @@
51 51
 }
52 52
 .nav-menu .nav-menu-item.active div {
53 53
   position: relative;
54
-  border-bottom: 4px solid #3CBAF5;
54
+  border-bottom: 4px solid #3cbaf5;
55 55
 }
56 56
 .nav-menu .nav-menu-item.active div::after {
57
-  content: "";
57
+  content: '';
58 58
   width: 0;
59 59
   height: 0;
60 60
   border: 8px solid transparent;
61
-  border-bottom-color: #3CBAF5;
61
+  border-bottom-color: #3cbaf5;
62 62
   position: absolute;
63 63
   left: calc(50% - 8px);
64 64
   bottom: 0;
@@ -76,7 +76,7 @@
76 76
   width: 100%;
77 77
   height: 100%;
78 78
   overflow-y: auto;
79
-  background: #071C51;
79
+  background: #071c51;
80 80
 }
81 81
 .chart-page .flex-part {
82 82
   display: flex;
@@ -114,9 +114,9 @@
114 114
 }
115 115
 .chart-page .count dl::before,
116 116
 .chart-page .count dl::after {
117
-  content: "";
117
+  content: '';
118 118
   position: absolute;
119
-  background: #FFFFFF;
119
+  background: #ffffff;
120 120
   opacity: 0.1;
121 121
   border-radius: 50%;
122 122
   font-size: 0;
@@ -135,16 +135,16 @@
135 135
   top: 81px;
136 136
 }
137 137
 .chart-page .count dl:nth-child(1) {
138
-  background: linear-gradient(90deg, #3886D6, #003789);
138
+  background: linear-gradient(90deg, #3886d6, #003789);
139 139
 }
140 140
 .chart-page .count dl:nth-child(2) {
141
-  background: linear-gradient(90deg, #29A0B1, #3C1A63);
141
+  background: linear-gradient(90deg, #29a0b1, #3c1a63);
142 142
 }
143 143
 .chart-page .count dl:nth-child(3) {
144
-  background: linear-gradient(90deg, #1570AB, #343894);
144
+  background: linear-gradient(90deg, #1570ab, #343894);
145 145
 }
146 146
 .chart-page .count dl:nth-child(4) {
147
-  background: linear-gradient(90deg, #2788B6, #083A8C);
147
+  background: linear-gradient(90deg, #2788b6, #083a8c);
148 148
 }
149 149
 .chart-card {
150 150
   position: relative;
@@ -172,7 +172,7 @@
172 172
 .chart-card.panel .panel-heading .selectGroup select {
173 173
   background: transparent;
174 174
   border: 0;
175
-  color: #FFFFFF;
175
+  color: #ffffff;
176 176
 }
177 177
 .chart-card.panel .panel-heading img {
178 178
   width: 28px;
@@ -185,14 +185,14 @@
185 185
   font-size: 22px;
186 186
   font-weight: 500;
187 187
   color: transparent;
188
-  background-image: linear-gradient(0deg, #6F39B9 0%, #1EAED1 100%);
188
+  background-image: linear-gradient(0deg, #6f39b9 0%, #1eaed1 100%);
189 189
   vertical-align: middle;
190 190
   background-clip: text;
191 191
   -webkit-background-clip: text;
192 192
 }
193 193
 .chart-card.panel .panel-body {
194 194
   padding: 0;
195
-  background: #071C51;
195
+  background: #071c51;
196 196
 }
197 197
 .chart-card.panel .panel-body .info-list li {
198 198
   color: rgba(255, 255, 255, 0.6);
@@ -235,10 +235,16 @@
235 235
   top: -450%;
236 236
   width: 1000%;
237 237
   height: 1000%;
238
-  background-color: #1E5983;
238
+  background-color: #1e5983;
239 239
   background-repeat: no-repeat;
240 240
   background-position: 0 0, 100% 100%;
241
-  background-image: conic-gradient(from 0, transparent, #a8efff, transparent 20%), conic-gradient(from 180deg, transparent, #a8efff, transparent 20%);
241
+  background-image: conic-gradient(
242
+      from 0,
243
+      transparent,
244
+      #a8efff,
245
+      transparent 20%
246
+    ),
247
+    conic-gradient(from 180deg, transparent, #a8efff, transparent 20%);
242 248
   animation: chart-card-rotate 10s linear infinite;
243 249
 }
244 250
 .chart-card::after {
@@ -249,9 +255,10 @@
249 255
   top: 2px;
250 256
   width: calc(100% - 4px);
251 257
   height: calc(100% - 4px);
252
-  background: #071C51;
258
+  background: #071c51;
253 259
   border-radius: 18px;
254
-  box-shadow: 2px 2px 10px rgba(255, 255, 255, 0.2) inset, -2px -2px 10px rgba(255, 255, 255, 0.2) inset;
260
+  box-shadow: 2px 2px 10px rgba(255, 255, 255, 0.2) inset,
261
+    -2px -2px 10px rgba(255, 255, 255, 0.2) inset;
255 262
 }
256 263
 .ext-page .page-title {
257 264
   font-size: 20px;
@@ -314,19 +321,6 @@
314 321
   line-height: 36px;
315 322
   height: 36px;
316 323
 }
317
-.ext-page #wizard .export-io {
318
-  position: absolute;
319
-  top: 30px;
320
-  left: -45px;
321
-}
322
-.ext-page #wizard .export-io li {
323
-  display: flex;
324
-  float: none;
325
-}
326
-.ext-page #wizard div span {
327
-  margin-left: 6px;
328
-  font-weight: bold;
329
-}
330 324
 .editBar {
331 325
   display: flex;
332 326
   flex-direction: row-reverse;
@@ -416,7 +410,12 @@
416 410
   height: 100%;
417 411
   object-fit: contain;
418 412
 }
419
-.dashboard-page .act-list div[class^='col'] .act-body .act-icon img:nth-child(2) {
413
+.dashboard-page
414
+  .act-list
415
+  div[class^='col']
416
+  .act-body
417
+  .act-icon
418
+  img:nth-child(2) {
420 419
   display: none;
421 420
 }
422 421
 .dashboard-page .act-list div[class^='col'] .act-body .act-content {

+ 3
- 2
resources/static/css/public.css Bestand weergeven

@@ -480,7 +480,8 @@ a.btn-warning ,a:visited.btn-warning,
480 480
 
481 481
 /*服务评价统计*/
482 482
 .serve {overflow: hidden;clear: both;}
483
-.serve dl{background:#f5f5f5;width: calc(33.333% - 10px);margin:0 5px;float:left;}
483
+.serve dl{width: calc(33.333% - 10px);float:left; min-height: 300px;}
484
+.serve dl:nth-of-type(n+4) { margin-top: 40px; }
484 485
 .serve dl dt{width:100%;text-align:center;height:30px;font-size: 16px;margin-top:8px;}
485 486
 .serve dl dd{background:#fff; padding:15px 0;text-align:center;margin:0 8px 8px 8px;}
486 487
 .serve dl dd a{width:32%;display:inline-block;text-align:center;text-decoration:none;color:#555;}
@@ -509,7 +510,7 @@ a.btn-warning ,a:visited.btn-warning,
509 510
 .checkboxStyle input:disabled+label {opacity: 0.6;background: #f5f5f5;}
510 511
 
511 512
 /* 下拉菜单多选 */
512
-.panel-body .chosen-container-multi .chosen-choices{border-radius:0;height:36px;line-height:26px;padding: 2px 10px;border-right:0;min-width: 220px;display: flex;}
513
+.panel-body .chosen-container-multi .chosen-choices{border-radius:4px;line-height:26px;padding: 2px 10px;border-right:0;min-width: 220px;display: flex;}
513 514
 .panel-body .chosen-container-multi .chosen-choices li.search-choice{line-height: 24px;padding-top:0;padding-bottom:0;margin:2px 3px;float: left;}
514 515
 .panel-body .chosen-container-multi .chosen-choices li.search-choice span{white-space:nowrap;}
515 516
 .panel-body .chosen-container-multi .chosen-choices li.search-choice .search-choice-close{line-height:20px;}

+ 3
- 0
resources/static/js/common.js Bestand weergeven

@@ -40,9 +40,12 @@ window.onload = function() {
40 40
 		}
41 41
 	}  
42 42
 	loadPage();
43
+	loadPage2();
43 44
 };
44 45
 function loadPage() {
45 46
 }
47
+function loadPage2() {
48
+}
46 49
 function setSchColSpan(schColSpan){
47 50
 	$("#schCol_span").append(schColSpan);
48 51
 }

+ 4
- 3
resources/static/js/equipment/list.js Bestand weergeven

@@ -12,9 +12,10 @@ function loadPage(){
12 12
 	$("#schSel").append(getDictValueByDictName("config_dev_type"));
13 13
 	$("#schSel")[0].style.display = "";
14 14
 	$('select.chosen-select').chosen({
15
-	    no_results_text: '没有找到',    // 当检索时没有找到匹配项时显示的提示文本
16
-	    disable_search_threshold: 10, // 10 个以下的选择项则不显示检索框
17
-	    search_contains: true         // 从任意位置开始检索
15
+		inherit_select_classes: true,
16
+		no_results_text: '没有找到',    // 当检索时没有找到匹配项时显示的提示文本
17
+		disable_search_threshold: 10, // 10 个以下的选择项则不显示检索框
18
+		search_contains: true         // 从任意位置开始检索
18 19
 	});	
19 20
 }
20 21
 function beforeQuery() {

+ 4
- 3
resources/static/js/guaranteeOrg/list.js Bestand weergeven

@@ -6,9 +6,10 @@ function loadPage(){
6 6
 	$("#schSel").append(getDictValueByDictName("config_guaranteeorg_type"));
7 7
 	$("#schSel")[0].style.display = "";
8 8
 	$('select.chosen-select').chosen({
9
-	    no_results_text: '没有找到',    // 当检索时没有找到匹配项时显示的提示文本
10
-	    disable_search_threshold: 10, // 10 个以下的选择项则不显示检索框
11
-	    search_contains: true         // 从任意位置开始检索
9
+		inherit_select_classes: true,
10
+		no_results_text: '没有找到',    // 当检索时没有找到匹配项时显示的提示文本
11
+		disable_search_threshold: 10, // 10 个以下的选择项则不显示检索框
12
+		search_contains: true         // 从任意位置开始检索
12 13
 	});
13 14
 	datagrid();
14 15
 }

+ 188
- 58
resources/static/js/task/details.js Bestand weergeven

@@ -7,7 +7,61 @@ function loadPage(){
7 7
 	 
8 8
 	 let dictArr = getDictValByDictType("config_if")
9 9
 	 $('#iflyyl').append(getDictText(dictArr,$("#iflyyl").attr("selOpt")));
10
-	 $('#ifjyyl').append(getDictText(dictArr,$("#ifjyyl").attr("selOpt")));	 
10
+	 $('#ifjyyl').append(getDictText(dictArr,$("#ifjyyl").attr("selOpt")));
11
+
12
+	 var optTpl = {
13
+		color: ['#3DE0A4', '#FF8940', '#CB55E9'],
14
+		series: [
15
+			{
16
+				type: 'gauge',
17
+				anchor: {
18
+					show: true,
19
+					showAbove: true,
20
+					size: 8,
21
+					itemStyle: {
22
+						color: '#3FC9F4'
23
+					}
24
+				},
25
+				pointer: {
26
+					icon: 'path://M2.9,0.7L2.9,0.7c1.4,0,2.6,1.2,2.6,2.6v115c0,1.4-1.2,2.6-2.6,2.6l0,0c-1.4,0-2.6-1.2-2.6-2.6V3.3C0.3,1.9,1.4,0.7,2.9,0.7z',
27
+					width: 4,
28
+					length: '80%',
29
+					offsetCenter: [0, '8%']
30
+				},
31
+				progress: {
32
+					show: true,
33
+					overlap: true,
34
+					roundCap: true,
35
+					width: 4
36
+				},
37
+				axisLine: {
38
+					roundCap: true,
39
+					lineStyle: {
40
+						width: 4
41
+					}
42
+				},
43
+				axisLabel: {
44
+					fontSize: 10
45
+				},
46
+				data: [],
47
+				title: {
48
+					fontSize: 14
49
+				},
50
+				detail: {
51
+					width: 40,
52
+					height: 14,
53
+					fontSize: 14,
54
+					color: '#fff',
55
+					backgroundColor: 'auto',
56
+					borderRadius: 3,
57
+					formatter: '{value}%'
58
+				}
59
+			}
60
+		]
61
+	};
62
+
63
+	var echartInsts = {};
64
+	var ids = [];
11 65
 	
12 66
 	 let queryParams = {};
13 67
 		queryParams.schCols = 'itemCode,itemName';
@@ -25,22 +79,44 @@ function loadPage(){
25 79
 			dataType : 'json',
26 80
 			success : function(data) {
27 81
 				var rows = data.rows;
28
-				let itemTxt = [];
29
-				for(var m = 0; m < rows.length; m++){
30
-					let row = rows[m]
31
-					let str = '<dl class="gray" id="'+row.itemCode+'_div"><dt>'+row.itemName+'评价</dt><dd>'+
32
-                   	    '<a href="javascript:;"><span id="'+row.itemCode+'_1">0%</span> 优</a>'+
33
-                    '<a href="javascript:;"><span id="'+row.itemCode+'_2">0%</span> 良</a>'+
34
-                    '<a href="javascript:;"><span id="'+row.itemCode+'_3">0%</span> 差</a></dd></dl>'
35
-                    $("#commentDiv").append(str)
36
-                    for(let n=0;n<itemArr.length;n++){
37
-                    	if(itemArr[n] == row.itemCode){
38
-                    		itemTxt[itemTxt.length] = row.itemName
39
-                    		$("#"+ row.itemCode + "_div").removeClass("gray")
40
-                    	}
41
-                    }
42
-				}
43
-				$("#config_evaluate_item").text(itemTxt.join("、"))
82
+
83
+				var dlHtml = rows.map(function(item) {
84
+					var domId = 'dl_'+item.itemCode;
85
+					ids.push(item.itemCode)
86
+					return '<dl id="'+domId+'"></dl>';
87
+				}).join('');
88
+				$("#commentDiv").append(dlHtml)
89
+
90
+				var evalText = rows.filter(function(item) {
91
+					var found = itemArr.filter(function(x) { return x == item.itemCode })[0];
92
+					return !!found;
93
+				}).map(function(x) { return x.itemName }).join("、")
94
+
95
+				ids.reduce(function(insts, id) {
96
+					var el = document.querySelector("#dl_"+id);
97
+					var echartInst = echarts.init(el);
98
+					var title = rows.filter(function(x){ return x.itemCode == id; })[0].itemName;
99
+					echartInst.setOption(Object.assign({}, optTpl, { title: { text: title + '评价', left: 'center' } }));
100
+					insts[id] = echartInst;
101
+					return insts;
102
+				}, echartInsts);
103
+
104
+				// let itemTxt = [];
105
+				// for(var m = 0; m < rows.length; m++){
106
+				// 	let row = rows[m]
107
+				// 	let str = '<dl class="gray" id="'+row.itemCode+'_div"><dt>'+row.itemName+'评价</dt><dd>'+
108
+        //            	    '<a href="javascript:;"><span id="'+row.itemCode+'_1">0%</span> 优</a>'+
109
+        //             '<a href="javascript:;"><span id="'+row.itemCode+'_2">0%</span> 良</a>'+
110
+        //             '<a href="javascript:;"><span id="'+row.itemCode+'_3">0%</span> 差</a></dd></dl>'
111
+        //             $("#commentDiv").append(str)
112
+        //             for(let n=0;n<itemArr.length;n++){
113
+        //             	if(itemArr[n] == row.itemCode){
114
+        //             		itemTxt[itemTxt.length] = row.itemName
115
+        //             		$("#"+ row.itemCode + "_div").removeClass("gray")
116
+        //             	}
117
+        //             }
118
+				// }
119
+				$("#config_evaluate_item").text(evalText)
44 120
 			}
45 121
 		});	
46 122
 		$.ajax({
@@ -48,53 +124,107 @@ function loadPage(){
48 124
 			async: false,
49 125
 			dataType:"json",
50 126
 			success:function(datas){
51
-				let json = {};
52
-				if(datas.length > 0){
53
-					for(let m=0;m<datas.length;m++){
54
-						let data = datas[m]
55
-						for(let key in data){
56
-							if(isRealNum(data[key])){
57
-								if(json[key] != null){
58
-									json[key] = data[key]+json[key] 
59
-								}else{
60
-									json[key] = data[key]
61
-								}
127
+
128
+				for (data of (datas || [])) {
129
+					var keys = Object.keys(data);
130
+					var id = keys.filter(function(key) { return ids.indexOf(key) > -1; })[0];
131
+					var totalNum = data[id];
132
+
133
+					var perfect = (data[id + "_1"] || 0) * 100 / totalNum;
134
+					var good = (data[id + "_2"] || 0) * 100 / totalNum;
135
+					var poor = (data[id + "_3"] || 0) * 100 / totalNum;
136
+
137
+					var gaugeData = [
138
+						{
139
+							value: Number(perfect).toFixed(2) - 0,
140
+							name: '优',
141
+							title: {
142
+								offsetCenter: ['-100%', '90%']
143
+							},
144
+							detail: {
145
+								offsetCenter: ['-100%', '120%']
146
+							}
147
+						},
148
+						{
149
+							value: Number(good).toFixed(2) - 0,
150
+							name: '良',
151
+							title: {
152
+								offsetCenter: ['0%', '90%']
153
+							},
154
+							detail: {
155
+								offsetCenter: ['0%', '120%']
156
+							}
157
+						},
158
+						{
159
+							value: Number(poor).toFixed(2) - 0,
160
+							name: '差',
161
+							title: {
162
+								offsetCenter: ['100%', '90%']
163
+							},
164
+							detail: {
165
+								offsetCenter: ['100%', '120%']
62 166
 							}
63 167
 						}
64
-					}
65
-					for(let key in json){					
66
-						if($("#"+key).length > 0){
67
-								let val = json[key]
68
-								let totalNum = json[key.substring(0,2)]
69
-								let tmpNum = (val/totalNum*100).toFixed()
70
-								$("#"+key).text(tmpNum + "%");
71
-								$("#"+key).attr("hidNum",tmpNum)
72
-						}
73
-					}
74
-					$('#commentDiv').find("dl").each(function(){
75
-						var val=$(this).attr("class");
76
-						if(val.indexOf("gray") == -1){
77
-							let differId = null
78
-							let tmpNm = 100;
79
-							$(this).find("span").each(function(){
80
-								if(typeof($(this).attr("hidnum"))!="undefined"){
81
-									tmpNm = tmpNm - $(this).attr("hidnum")*1;
82
-								}else{
83
-									differId = $(this).attr("id")
84
-								}
85
-							})
86
-							if($("#"+differId).text()!="0%"){
87
-								$("#"+differId).text(tmpNm +"%")
168
+					];
88 169
 
170
+					var echartInst = echartInsts[id];
171
+					echartInst.setOption({
172
+						series: [
173
+							{
174
+								data: gaugeData
89 175
 							}
90
-						}else{
91
-							$(this).find("span").each(function(){
92
-								$(this).text("0%");
93
-							})
94
-						}
95
-						
176
+						]
96 177
 					})
97 178
 				}
179
+
180
+				// let json = {};
181
+				// if(datas.length > 0){
182
+				// 	for(let m=0;m<datas.length;m++){
183
+				// 		let data = datas[m]
184
+				// 		for(let key in data){
185
+				// 			if(isRealNum(data[key])){
186
+				// 				if(json[key] != null){
187
+				// 					json[key] = data[key]+json[key] 
188
+				// 				}else{
189
+				// 					json[key] = data[key]
190
+				// 				}
191
+				// 			}
192
+				// 		}
193
+				// 	}
194
+
195
+				// 	for(let key in json){					
196
+				// 		if($("#"+key).length > 0){
197
+				// 				let val = json[key]
198
+				// 				let totalNum = json[key.substring(0,2)]
199
+				// 				let tmpNum = (val/totalNum*100).toFixed()
200
+				// 				$("#"+key).text(tmpNum + "%");
201
+				// 				$("#"+key).attr("hidNum",tmpNum)
202
+				// 		}
203
+				// 	}
204
+				// 	$('#commentDiv').find("dl").each(function(){
205
+				// 		var val=$(this).attr("class");
206
+				// 		if(val.indexOf("gray") == -1){
207
+				// 			let differId = null
208
+				// 			let tmpNm = 100;
209
+				// 			$(this).find("span").each(function(){
210
+				// 				if(typeof($(this).attr("hidnum"))!="undefined"){
211
+				// 					tmpNm = tmpNm - $(this).attr("hidnum")*1;
212
+				// 				}else{
213
+				// 					differId = $(this).attr("id")
214
+				// 				}
215
+				// 			})
216
+				// 			if($("#"+differId).text()!="0%"){
217
+				// 				$("#"+differId).text(tmpNm +"%")
218
+
219
+				// 			}
220
+				// 		}else{
221
+				// 			$(this).find("span").each(function(){
222
+				// 				$(this).text("0%");
223
+				// 			})
224
+				// 		}
225
+						
226
+				// 	})
227
+				// }
98 228
 				
99 229
 			}
100 230
 		});

+ 277
- 279
resources/static/less/ext-page.less Bestand weergeven

@@ -1,279 +1,277 @@
1
-@ext-txt-color: #121212;
2
-
3
-.ext-page {
4
-  .page-title {
5
-    font-size: 20px;
6
-    color: @ext-txt-color;
7
-    margin: 0;
8
-  }
9
-
10
-  .search-bar {
11
-    .form-control {
12
-      width: 200px;
13
-    }
14
-
15
-    .input-group-addon {
16
-      background: transparent;
17
-      border: none;
18
-      font-size: 16px;
19
-    }
20
-  }
21
-
22
-  .btn-group {
23
-    .btn + .btn {
24
-      margin-left: 1em;
25
-    }
26
-  }
27
-
28
-  .wd-m {
29
-    width: 1000px;
30
-  }
31
-
32
-  .pd-m {
33
-    box-sizing: border-box;
34
-    padding: 30px;
35
-  }
36
-
37
-  .ext-card {
38
-    margin: 10px;
39
-    margin-bottom: 30px;
40
-    box-shadow: 0px 8px 20px 0px rgba(0, 0, 0, 0.08);
41
-    border-radius: 20px;
42
-    overflow: hidden;
43
-
44
-    h1 {
45
-      margin: 0;
46
-      margin-bottom: 30px;
47
-      background: rgba(66, 118, 245, 0.08);
48
-      font-size: 22px;
49
-      line-height: 60px;
50
-      height: 60px;
51
-      font-weight: 500;
52
-      color: @ext-txt-color;
53
-      padding: 0 20px;
54
-    }
55
-
56
-    .icon-info-sign {
57
-      color: rgba(0, 0, 0, 0.2);
58
-    }
59
-
60
-    .view-info {
61
-      margin-top: -1em;
62
-      padding-bottom: 30px;
63
-      overflow: hidden;
64
-
65
-      .info-title {
66
-        font-size: 16px;
67
-        color: #999999;
68
-        line-height: 36px;
69
-        height: 36px;
70
-      }
71
-
72
-      .info-text {
73
-        font-size: 18px;
74
-        color: @ext-txt-color;
75
-        line-height: 36px;
76
-        height: 36px;
77
-      }
78
-    }
79
-  }
80
-
81
-  #wizard {
82
-    .export-io {
83
-      // list-style: none;
84
-      position: absolute;
85
-      top: 30px;
86
-      left: -45px;
87
-      li {
88
-        display: flex;
89
-        float: none;
90
-      }
91
-    }
92
-    div span {
93
-      margin-left: 6px;
94
-      font-weight: bold;
95
-    }
96
-  }
97
-}
98
-
99
-.editBar {
100
-  display: flex;
101
-  flex-direction: row-reverse;
102
-  justify-content: start;
103
-}
104
-
105
-.table {
106
-  thead {
107
-    tr {
108
-      th {
109
-        background: rgba(66, 118, 245, 0.08);
110
-        padding: 16px;
111
-        border: none;
112
-      }
113
-    }
114
-  }
115
-  tbody {
116
-    tr {
117
-      &:nth-of-type(even) {
118
-        background: rgba(91, 91, 91, 0.04);
119
-      }
120
-
121
-      &:hover {
122
-        background: rgba(66, 118, 245, 0.2);
123
-      }
124
-    }
125
-  }
126
-}
127
-
128
-.dashboard-page {
129
-  height: 100%;
130
-  background-color: #081a48;
131
-
132
-  & > div {
133
-    height: 50%;
134
-    overflow: hidden;
135
-  }
136
-
137
-  .dash-carousel {
138
-    max-width: 1200px;
139
-    margin: 0 auto;
140
-    height: 100%;
141
-
142
-    .ratio-static {
143
-      height: 0;
144
-      padding-bottom: 32%; // 大约 10:3
145
-      position: relative;
146
-      overflow: hidden;
147
-
148
-      & > div {
149
-        position: absolute;
150
-        top: 0;
151
-        left: 0;
152
-        width: 100%;
153
-        height: 100%;
154
-        background: transparent;
155
-      }
156
-
157
-      .left {
158
-        width: auto;
159
-        background: transparent;
160
-        box-shadow: none;
161
-      }
162
-    }
163
-  }
164
-
165
-  .act-list {
166
-    .row {
167
-      height: calc(50% - 64px);
168
-      padding: 0 80px;
169
-
170
-      & + .row {
171
-        margin-top: 64px;
172
-      }
173
-    }
174
-
175
-    div[class^='col'] {
176
-      min-width: 280px;
177
-      // 每行 4 个, 间距 64
178
-      width: calc(25% - 48px);
179
-      height: 100%;
180
-      position: relative;
181
-
182
-      & + div {
183
-        margin-left: 64px;
184
-      }
185
-
186
-      .act-body {
187
-        z-index: 1;
188
-        width: 100%;
189
-        height: 100%;
190
-        display: flex;
191
-        flex-direction: column;
192
-        justify-content: center;
193
-        align-items: center;
194
-
195
-        .act-icon {
196
-          position: relative;
197
-          width: 64px;
198
-          height: 64px;
199
-          min-height: 64px;
200
-          flex: 0;
201
-
202
-          img {
203
-            position: absolute;
204
-            left: calc(50% - 32px);
205
-            top: 0;
206
-            display: block;
207
-            width: 100%;
208
-            height: 100%;
209
-            object-fit: contain;
210
-
211
-            &:nth-child(2) {
212
-              display: none;
213
-            }
214
-          }
215
-        }
216
-
217
-        .act-content {
218
-          flex: 0;
219
-          text-align: center;
220
-
221
-          span {
222
-            display: inline-block;
223
-            padding: 0 1em;
224
-            font-size: 24px;
225
-            font-weight: 500;
226
-            color: transparent;
227
-            background: linear-gradient(0deg, #2362e4 0%, #00d5fb 100%);
228
-            vertical-align: middle;
229
-            background-clip: text;
230
-            -webkit-background-clip: text;
231
-          }
232
-        }
233
-      }
234
-
235
-      .act-bg {
236
-        position: absolute;
237
-        width: 100%;
238
-        height: 100%;
239
-        z-index: 0;
240
-        left: 0;
241
-        top: 0;
242
-
243
-        img {
244
-          display: block;
245
-          width: 100%;
246
-          height: 100%;
247
-          object-fit: contain;
248
-
249
-          &:nth-child(2) {
250
-            display: none;
251
-          }
252
-        }
253
-      }
254
-
255
-      &:hover {
256
-        cursor: pointer;
257
-
258
-        .act-bg,
259
-        .act-icon {
260
-          img {
261
-            &:nth-child(1) {
262
-              display: none;
263
-            }
264
-            &:nth-child(2) {
265
-              display: block;
266
-            }
267
-          }
268
-        }
269
-
270
-        .act-content {
271
-          span {
272
-            color: #fff;
273
-            background: none;
274
-          }
275
-        }
276
-      }
277
-    }
278
-  }
279
-}
1
+
2
+@ext-txt-color: #121212;
3
+
4
+.ext-page {
5
+  .page-title {
6
+    font-size: 20px;
7
+    color: @ext-txt-color;
8
+    margin: 0;
9
+  }
10
+  
11
+  .search-bar {
12
+    .form-control {
13
+      width: 200px;
14
+    }
15
+
16
+    .input-group-addon {
17
+      background: transparent;
18
+      border: none;
19
+      font-size: 16px;
20
+    }
21
+  }
22
+
23
+  .btn-group {
24
+    .btn + .btn {
25
+      margin-left: 1em;
26
+    }
27
+  }
28
+
29
+  .wd-m {
30
+    width: 1000px;
31
+  }
32
+
33
+  .pd-m {
34
+    box-sizing: border-box;
35
+    padding: 30px;
36
+  }
37
+
38
+  .ext-card {
39
+    margin: 10px;
40
+    margin-bottom: 30px;
41
+    box-shadow: 0px 8px 20px 0px rgba(0,0,0,0.08);
42
+    border-radius: 20px;
43
+    overflow: hidden;
44
+
45
+    h1 {
46
+      margin: 0;
47
+      margin-bottom: 30px;
48
+      background: rgba(66,118,245,0.08);
49
+      font-size: 22px;
50
+      line-height: 60px;
51
+      height: 60px;
52
+      font-weight: 500;
53
+      color: @ext-txt-color;
54
+      padding: 0 20px;
55
+    }
56
+
57
+    .icon-info-sign {
58
+      color: rgba(0,0,0, .2);
59
+    }
60
+
61
+    .view-info {
62
+      margin-top: -1em;
63
+      padding-bottom: 30px;
64
+      overflow: hidden;
65
+
66
+      .info-title {
67
+        font-size: 16px;
68
+        color: #999999;
69
+        line-height: 36px;
70
+        height: 36px;
71
+      }
72
+
73
+      .info-text {
74
+        font-size: 18px;
75
+        color: @ext-txt-color;
76
+        line-height: 36px;
77
+        height: 36px;
78
+      }
79
+    }
80
+  }
81
+
82
+  .chosen-container.form-control {
83
+    padding: 0;
84
+
85
+    &.chosen-container-active, &.chosen-container-multi {
86
+      .chosen-choices {
87
+        border: none;
88
+        box-shadow: none;
89
+      }
90
+    }
91
+  }
92
+}
93
+
94
+.editBar {
95
+  display: flex;
96
+  flex-direction: row-reverse;
97
+  justify-content: start;
98
+}
99
+
100
+.table {
101
+  thead {
102
+    tr {
103
+      th {
104
+        background: rgba(66,118,245,0.08);
105
+        padding: 16px;
106
+        border: none;
107
+      }
108
+    }
109
+  }
110
+  tbody {
111
+    tr {
112
+      &:nth-of-type(even) {
113
+        background: rgba(91,91,91,0.04);
114
+      }
115
+
116
+      &:hover {
117
+        background: rgba(66,118,245,0.2);
118
+      }
119
+    }
120
+  }
121
+}
122
+
123
+.dashboard-page {
124
+  height: 100%;
125
+  background-color: #081A48;
126
+
127
+  & > div {
128
+    height: 50%;
129
+    overflow: hidden;
130
+  }
131
+
132
+  .dash-carousel {
133
+    max-width: 1200px;
134
+    margin: 0 auto;
135
+    height: 100%;
136
+
137
+    .ratio-static {
138
+      height: 0;
139
+      padding-bottom: 32%; // 大约 10:3
140
+      position: relative;
141
+      overflow: hidden;
142
+
143
+      & > div {
144
+        position: absolute;
145
+        top: 0;
146
+        left: 0;
147
+        width: 100%;
148
+        height: 100%;
149
+        background: transparent;
150
+      }
151
+
152
+      .left {
153
+        width: auto;
154
+        background: transparent;
155
+        box-shadow: none;
156
+      }
157
+    }
158
+
159
+  }
160
+  
161
+
162
+  .act-list {
163
+    .row {
164
+      height: calc(50% - 64px);
165
+      padding: 0 80px;
166
+
167
+      & + .row {
168
+        margin-top: 64px;
169
+      }
170
+    }
171
+
172
+    div[class^="col"] {
173
+      min-width: 280px;
174
+      // 每行 4 个, 间距 64
175
+      width: calc(25% - 48px);
176
+      height: 100%;
177
+      position: relative;
178
+      
179
+      & + div {
180
+        margin-left: 64px;
181
+      }
182
+
183
+      .act-body {
184
+        z-index: 1;
185
+        width: 100%;
186
+        height: 100%;
187
+        display: flex;
188
+        flex-direction: column;
189
+        justify-content: center;
190
+        align-items: center;
191
+
192
+        .act-icon {
193
+          position: relative;
194
+          width: 64px;
195
+          height: 64px;
196
+          min-height: 64px;
197
+          flex: 0;
198
+
199
+          img {
200
+            position: absolute;
201
+            left: calc(50% - 32px);
202
+            top: 0;
203
+            display: block;
204
+            width: 100%;
205
+            height: 100%;
206
+            object-fit: contain;
207
+  
208
+            &:nth-child(2) {
209
+              display: none;
210
+            }
211
+          }
212
+        }
213
+
214
+        .act-content {
215
+          flex: 0;
216
+          text-align: center;
217
+
218
+          span {
219
+            display: inline-block;
220
+            padding: 0 1em;
221
+            font-size: 24px;
222
+            font-weight: 500;
223
+            color: transparent;
224
+            background: linear-gradient(0deg, #2362E4 0%, #00D5FB 100%);
225
+            vertical-align: middle;
226
+            background-clip: text;
227
+            -webkit-background-clip: text;
228
+          }
229
+        }
230
+
231
+      }
232
+
233
+      .act-bg {
234
+        position: absolute;
235
+        width: 100%;
236
+        height: 100%;
237
+        z-index: 0;
238
+        left: 0;
239
+        top: 0;
240
+
241
+        img {
242
+          display: block;
243
+          width: 100%;
244
+          height: 100%;
245
+          object-fit: contain;
246
+
247
+          &:nth-child(2) {
248
+            display: none;
249
+          }
250
+        }
251
+      }
252
+
253
+      &:hover {
254
+        cursor: pointer;
255
+
256
+        .act-bg, .act-icon {
257
+          img {
258
+            &:nth-child(1) {
259
+              display: none;
260
+            }
261
+            &:nth-child(2) {
262
+              display: block;
263
+            }
264
+          }
265
+        }
266
+
267
+        .act-content {
268
+          span {
269
+            color: #fff;
270
+            background: none;
271
+          }
272
+        }
273
+      }
274
+    }
275
+  }
276
+}
277
+>>>>>>> 268768cf2fee2e747ce9459fa2ded365d1c962d0

+ 5
- 4
resources/templates/common/common_list.html Bestand weergeven

@@ -9,7 +9,7 @@
9 9
 			<h2 class="page-title">[[${title}]]</h2>
10 10
 		</div>
11 11
 	</div>
12
-	<div class="panel">
12
+	<div class="panel" style="position: relative; z-index: 20;">
13 13
 		<div class="panel-body search-bar">
14 14
 			<!--<span id="schSpan"
15 15
 				class="input-group"> <span class="input-group-addon">
@@ -37,10 +37,11 @@
37 37
 	<div class="panel">
38 38
 		<div class="panel-body">
39 39
 			<div class="editBar" id="schBar">
40
-				<span class="btn-group" id="btnSpan" th:if="${haveAuth != null && haveAuth == '1'}">
40
+				<span class="btn-group" id="btnSpan">
41
+					<!-- th:if="${haveAuth != null && haveAuth == '1'}" -->
41 42
 					<a class="btn btn-primary" onclick="toAdd();" id="addBtn"><i class="icon icon-plus"></i>添加</a>
42
-					<!-- <a class="btn btn-info" onclick="toUpdate();" id="updateBtn"><i class="icon icon-edit"></i> 编辑</a>
43
-						<a class="btn btn-danger" onclick="deleteObj();" id="deleteBtn"><i class="icon icon-trash"></i>删除</a> -->
43
+					<a class="btn btn-info" onclick="toUpdate();" id="updateBtn"><i class="icon icon-edit"></i> 编辑</a>
44
+					<a class="btn btn-danger" onclick="deleteObj();" id="deleteBtn"><i class="icon icon-trash"></i>删除</a>
44 45
 				</span>
45 46
 
46 47
 			</div>

+ 1
- 1
resources/templates/equipment/list.html Bestand weergeven

@@ -9,7 +9,7 @@
9 9
 <script type="text/javascript" th:src="@{/js/zui/dist/lib/chosen/chosen.min.js}"></script>
10 10
 <link th:href="@{/js/zui/dist/lib/chosen/chosen.min.css}" rel="stylesheet" type="text/css"/>
11 11
 </head>
12
-<body th:replace="common/common_list::common_list('军供供应设备',~{::div},'1')"> 
12
+<body th:replace="common/common_list::common_list('军供供应设备',~{::div},'1')" class="ext-page"> 
13 13
     <div id="uploaderExample" class="uploader" style="display:none">
14 14
 	  <div class="file-list" data-drag-placeholder="请拖拽文件到此处"></div>
15 15
 	  <button type="button" class="btn btn-primary uploader-btn-browse" id="uploadBtn"><i class="icon icon-cloud-upload"></i>导入</button>

+ 39
- 23
resources/templates/main/dashboard.html Bestand weergeven

@@ -13,30 +13,10 @@
13 13
     <div class="dash-carousel">
14 14
       <div class="ratio-static">
15 15
         
16
-    <div id="myNiceCarousel" class="carousel slide" data-ride="carousel">
16
+
17
+    <div id="myNiceCarousel" class="carousel slide">
17 18
       <!-- 轮播项目 -->
18 19
       <div class="carousel-inner">
19
-        <div class="item active">
20
-          <img alt="First slide" src="http://openzui.com/docs/img/slide1.jpg">
21
-          <div class="carousel-caption">
22
-            <h3>我是第一张幻灯片</h3>
23
-            <p>:)</p>
24
-          </div>
25
-        </div>
26
-        <div class="item">
27
-          <img alt="Second slide" src="http://openzui.com/docs/img/slide2.jpg">
28
-          <div class="carousel-caption">
29
-            <h3>我是第二张幻灯片</h3>
30
-            <p>0.0</p>
31
-          </div>
32
-        </div>
33
-        <div class="item">
34
-          <img alt="Third slide" src="http://openzui.com/docs/img/slide3.jpg">
35
-          <div class="carousel-caption">
36
-            <h3>我是第三张幻灯片</h3>
37
-            <p>最后一张咯~</p>
38
-          </div>
39
-        </div>
40 20
       </div>
41 21
     
42 22
       <!-- 项目切换按钮 -->
@@ -201,4 +181,40 @@
201 181
       </div>
202 182
     </div>
203 183
   </div>
204
-</div>
184
+
185
+  <script>
186
+    function loadPage2() {
187
+      var TH_SERVER = 'http://192.168.89.147:8087/api'
188
+
189
+      var itemTpl = [
190
+        '<div class="item {active}">',
191
+        '  <img alt="" src="{src}">',
192
+        '  <div class="carousel-caption">',
193
+        '    <h3>{title}</h3>',
194
+        '  </div>',
195
+        '</div>',
196
+      ].join('');
197
+
198
+      $.ajax({
199
+        url: TH_SERVER+'/banner?pageNum=1&pageSize=20',
200
+        success: function (resp) {
201
+          if (resp.code != 1000) return;
202
+          var list = resp.data.records
203
+          if (list && list.length > 0) {
204
+            var html = list.map(function(item, index) {
205
+              var active = index == 0 ? 'active' : '';
206
+              var src = item.image;
207
+              var title = item.desc || '';
208
+
209
+              return itemTpl.replace('{active}', active).replace('{src}', src).replace('{title}', title);
210
+            }).join('')
211
+
212
+            $("#myNiceCarousel .carousel-inner").children().remove();
213
+            $("#myNiceCarousel .carousel-inner").append(html);
214
+            $('#myNiceCarousel').carousel()
215
+          }
216
+        }
217
+      })
218
+    }
219
+  </script>
220
+</div>

+ 1
- 0
resources/templates/task/details.html Bestand weergeven

@@ -3,6 +3,7 @@
3 3
 	th:replace="common/common_header::common_header(~{},~{},~{::style},~{::script},'')">
4 4
 <meta charset="utf-8">
5 5
 <script th:src="@{/js/task/details.js}"></script>
6
+<script th:src="@{/js/chart/echarts.min.js}" type="text/javascript"></script>
6 7
 <style type="text/css">
7 8
 .view-info>div>label{min-width: 148px;}
8 9
 </style>