Commit 56a8fc689b26392a92821837bbfbed949ab9b67c

Authored by panzhaov5
1 parent c6aa227a

update...

Showing 31 changed files with 516 additions and 258 deletions
src/main/java/com/bsth/controller/staff_view/MaintainPlanController.java renamed to src/main/java/com/bsth/controller/attendace/MaintainPlanController.java
1   -package com.bsth.controller.staff_view;
  1 +package com.bsth.controller.attendace;
2 2  
3 3 import com.bsth.controller.BaseController;
4 4 import com.bsth.entity.staff_view.MaintainPlan;
... ...
src/main/java/com/bsth/entity/BusCard.java
... ... @@ -49,9 +49,8 @@ public class BusCard {
49 49 * 状态
50 50 * 0:空闲卡
51 51 * 1:已绑定车
52   - * -1:屏蔽卡
53 52 */
54   - private int status;
  53 + private int status = 0;
55 54  
56 55 /**
57 56 * 备注
... ...
src/main/java/com/bsth/entity/staff_view/MaintainPlan.java
1 1 package com.bsth.entity.staff_view;
2 2  
3   -import javax.persistence.Entity;
4   -import javax.persistence.GeneratedValue;
5   -import javax.persistence.Id;
6   -import javax.persistence.Table;
  3 +import javax.persistence.*;
  4 +import java.util.Date;
7 5  
8 6 /**
9 7 * 保养计划
... ... @@ -32,6 +30,17 @@ public class MaintainPlan {
32 30  
33 31 private String remarks;
34 32  
  33 + /** 创建日期 */
  34 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  35 + private Date createDate;
  36 +
  37 + private String userName;
  38 +
  39 + /**
  40 + * 出票时间
  41 + */
  42 + private Long pt;
  43 +
35 44 public String getGsbm() {
36 45 return gsbm;
37 46 }
... ... @@ -103,4 +112,28 @@ public class MaintainPlan {
103 112 public void setId(int id) {
104 113 this.id = id;
105 114 }
  115 +
  116 + public String getUserName() {
  117 + return userName;
  118 + }
  119 +
  120 + public void setUserName(String userName) {
  121 + this.userName = userName;
  122 + }
  123 +
  124 + public Date getCreateDate() {
  125 + return createDate;
  126 + }
  127 +
  128 + public void setCreateDate(Date createDate) {
  129 + this.createDate = createDate;
  130 + }
  131 +
  132 + public Long getPt() {
  133 + return pt;
  134 + }
  135 +
  136 + public void setPt(Long pt) {
  137 + this.pt = pt;
  138 + }
106 139 }
... ...
src/main/java/com/bsth/entity/sys/SecurityUser.java
... ... @@ -21,6 +21,8 @@ public class SecurityUser extends SysUser implements UserDetails {
21 21 this.setAgencies(user.getAgencies());
22 22 this.setRoles(user.getRoles());
23 23 this.setEnabled(user.isEnabled());
  24 + this.setCompany(user.getCompany());
  25 + this.setFgsCompany(user.getFgsCompany());
24 26 }
25 27 }
26 28  
... ...
src/main/java/com/bsth/entity/sys/SysUser.java
1 1 package com.bsth.entity.sys;
2 2  
3 3 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
  4 +import org.apache.commons.lang3.StringUtils;
4 5  
5 6 import javax.persistence.*;
6 7 import java.util.Date;
... ... @@ -147,4 +148,18 @@ public class SysUser {
147 148 public void setLineIdx(String lineIdx) {
148 149 this.lineIdx = lineIdx;
149 150 }
  151 +
  152 + public boolean isAuthority(String companyCode, String brancheCompanyCode) {
  153 + if("88".equals(this.company))
  154 + return true;
  155 +
  156 + if(!this.company.equals(companyCode))
  157 + return false;
  158 +
  159 + if(StringUtils.isNotEmpty(this.fgsCompany)
  160 + && !this.fgsCompany.equals(brancheCompanyCode))
  161 + return false;
  162 +
  163 + return true;
  164 + }
150 165 }
... ...
src/main/java/com/bsth/repository/BusCardRepository.java
... ... @@ -3,9 +3,13 @@ package com.bsth.repository;
3 3 import com.bsth.entity.BusCard;
4 4 import org.springframework.stereotype.Repository;
5 5  
  6 +import java.util.List;
  7 +
6 8 /**
7 9 * Created by panzhao on 2017/8/21.
8 10 */
9 11 @Repository
10 12 public interface BusCardRepository extends BaseRepository<BusCard, String>{
  13 +
  14 + List<BusCard> findByIdRfid(String idRfid);
11 15 }
... ...
src/main/java/com/bsth/repository/staff_view/MaintainPlanRepository.java renamed to src/main/java/com/bsth/repository/attendace/MaintainPlanRepository.java
1   -package com.bsth.repository.staff_view;
  1 +package com.bsth.repository.attendace;
2 2  
3 3 import com.bsth.entity.staff_view.MaintainPlan;
4 4 import com.bsth.repository.BaseRepository;
... ...
src/main/java/com/bsth/service/staff_view/MaintainPlanService.java renamed to src/main/java/com/bsth/service/attendace/MaintainPlanService.java
1   -package com.bsth.service.staff_view;
  1 +package com.bsth.service.attendace;
2 2  
3 3 import com.bsth.entity.staff_view.MaintainPlan;
4 4 import com.bsth.service.BaseService;
... ...
src/main/java/com/bsth/service/attendace/AttendaceServiceImpl.java renamed to src/main/java/com/bsth/service/attendace/impl/AttendaceServiceImpl.java
1   -package com.bsth.service.attendace;
  1 +package com.bsth.service.attendace.impl;
2 2  
3 3 import com.bsth.data.attendance.entity.JsyAttendance;
4 4 import com.bsth.data.basic.line.LineDataBuffer;
5 5 import com.bsth.entity.Line;
  6 +import com.bsth.service.attendace.AttendaceService;
6 7 import com.bsth.service.impl.BaseServiceImpl;
7 8 import org.springframework.data.domain.Page;
8 9 import org.springframework.data.domain.Pageable;
... ... @@ -14,7 +15,7 @@ import java.util.Map;
14 15 * Created by panzhao on 2018/2/23.
15 16 */
16 17 @Service
17   -public class AttendaceServiceImpl extends BaseServiceImpl<JsyAttendance, Long> implements AttendaceService{
  18 +public class AttendaceServiceImpl extends BaseServiceImpl<JsyAttendance, Long> implements AttendaceService {
18 19  
19 20 @Override
20 21 public Page<JsyAttendance> list(Map<String, Object> map, Pageable pageable) {
... ...
src/main/java/com/bsth/service/attendace/impl/MaintainPlanServiceImpl.java 0 → 100644
  1 +package com.bsth.service.attendace.impl;
  2 +
  3 +import com.bsth.common.ResponseCode;
  4 +import com.bsth.data.basic.bus.BusDataBuffer;
  5 +import com.bsth.entity.Bus;
  6 +import com.bsth.entity.staff_view.MaintainPlan;
  7 +import com.bsth.entity.sys.SysUser;
  8 +import com.bsth.security.util.SecurityUtils;
  9 +import com.bsth.service.attendace.MaintainPlanService;
  10 +import com.bsth.service.impl.BaseServiceImpl;
  11 +import org.slf4j.Logger;
  12 +import org.slf4j.LoggerFactory;
  13 +import org.springframework.stereotype.Service;
  14 +
  15 +import java.util.HashMap;
  16 +import java.util.Map;
  17 +
  18 +@Service
  19 +public class MaintainPlanServiceImpl extends BaseServiceImpl<MaintainPlan, Integer> implements MaintainPlanService {
  20 +
  21 + Logger logger = LoggerFactory.getLogger(this.getClass());
  22 +
  23 + @Override
  24 + public Map<String, Object> save(MaintainPlan mp) {
  25 + Map<String, Object> rs = new HashMap<>();
  26 + try {
  27 + SysUser u = SecurityUtils.getCurrentUser();
  28 +
  29 + //校验车辆
  30 + Bus b = BusDataBuffer.findOne(mp.getNbbm());
  31 + if (null == b) {
  32 + rs.put("status", ResponseCode.ERROR);
  33 + rs.put("msg", "失败,找不到自编号为【" + mp.getNbbm() + "】的车辆!");
  34 + return rs;
  35 + } else if (!u.isAuthority(b.getCompanyCode(), b.getBrancheCompanyCode())) {
  36 +
  37 + rs.put("status", ResponseCode.ERROR);
  38 + rs.put("msg", "失败,当前账号没有权限操作【" + mp.getNbbm() + "】!");
  39 + return rs;
  40 + }
  41 +
  42 + mp.setGsbm(b.getCompanyCode());
  43 + mp.setFgsbm(b.getBrancheCompanyCode());
  44 + mp.setLineCode(b.getLineCode());
  45 +
  46 + mp.setUserName(u.getUserName());
  47 +
  48 + rs = super.save(mp);
  49 + } catch (Exception e) {
  50 + logger.error("", e);
  51 + rs.put("status", ResponseCode.ERROR);
  52 + rs.put("msg", "服务器出现异常!");
  53 + }
  54 + return rs;
  55 + }
  56 +}
... ...
src/main/java/com/bsth/service/basic/impl/BusServiceImpl.java
... ... @@ -8,6 +8,8 @@ import com.bsth.data.basic.bus.BusDataBuffer;
8 8 import com.bsth.data.utils.ListFilterUtils;
9 9 import com.bsth.data.utils.ListPageQueryUtils;
10 10 import com.bsth.entity.Bus;
  11 +import com.bsth.entity.BusCard;
  12 +import com.bsth.repository.BusCardRepository;
11 13 import com.bsth.service.basic.BusService;
12 14 import org.apache.commons.lang3.StringUtils;
13 15 import org.apache.poi.ss.usermodel.Cell;
... ... @@ -37,6 +39,9 @@ public class BusServiceImpl implements BusService {
37 39 @Autowired
38 40 BusDataBuffer busDataBuffer;
39 41  
  42 + @Autowired
  43 + BusCardRepository cardRepository;
  44 +
40 45 @Override
41 46 public Map<String, Object> list(Map<String, Object> map, int page, int pageSize) {
42 47 Map<String, Object> rs = new HashMap();
... ... @@ -225,6 +230,32 @@ public class BusServiceImpl implements BusService {
225 230 public Map<String, Object> save(Bus nb) {
226 231 Map<String, Object> rs = new HashMap<>();
227 232 try {
  233 + /**
  234 + * 校验卡信息
  235 + */
  236 + if(StringUtils.isNotEmpty(nb.getIdRfid())) {
  237 + List<BusCard> list = cardRepository.findByIdRfid(nb.getIdRfid());
  238 +
  239 + if(null == list || list.size() == 0){
  240 + rs.put("status", ResponseCode.ERROR);
  241 + rs.put("msg", "不存在的车卡【" + nb.getIdRfid() + "】");
  242 + return rs;
  243 + }
  244 +
  245 + BusCard card = list.get(0);
  246 +
  247 + if(card.getStatus() == 1){
  248 + rs.put("status", ResponseCode.ERROR);
  249 + rs.put("msg", "绑定失败,该卡已经被车辆【" + card.getNbbm() + "】绑定!");
  250 + return rs;
  251 + }
  252 +
  253 + nb.setTagRfid(card.getTagRfid());
  254 + }
  255 + else{
  256 + nb.setTagRfid(null);
  257 + }
  258 +
228 259 Bus b = BusDataBuffer.updateCardInfo(nb);
229 260 rs.put("t", b);
230 261 rs.put("status", ResponseCode.SUCCESS);
... ...
src/main/java/com/bsth/service/staff_view/impl/MaintainPlanServiceImpl.java deleted 100644 → 0
1   -package com.bsth.service.staff_view.impl;
2   -
3   -import com.bsth.entity.staff_view.MaintainPlan;
4   -import com.bsth.service.impl.BaseServiceImpl;
5   -import com.bsth.service.staff_view.MaintainPlanService;
6   -import org.springframework.stereotype.Service;
7   -
8   -@Service
9   -public class MaintainPlanServiceImpl extends BaseServiceImpl<MaintainPlan, Integer> implements MaintainPlanService {
10   -}
src/main/resources/static/index.html
... ... @@ -81,13 +81,13 @@
81 81 <!-- 主JS 文件 -->
82 82 <script src="/js/main.js"></script>
83 83 <script src="/js/ct_autocompleter.js"></script>
  84 +<script src="/js/gb_basic_data.js"></script>
84 85 <!-- websocket -->
85 86 <script src="/assets/plugins/sockjs-client/sockjs.min.js"></script>
86 87 <script src="/js/_websocket.js"></script>
87 88 <!-- 异常监管 JS -->
88 89 <script src="/pages/abnormal/js/o_s_card.js"></script>
89 90 <script src="/pages/abnormal/js/o_s_abnormal.js"></script>
90   -<script src="/pages/abnormal/js/o_s_basic_data.js"></script>
91 91 <script src="/pages/abnormal/js/o_s_websocket.js"></script>
92 92 <script src="/pages/abnormal/js/o_s_charts.js"></script>
93 93 </body>
... ...
src/main/resources/static/js/common.js
... ... @@ -88,7 +88,7 @@ var gb_common = (function () {
88 88 return;
89 89 }
90 90  
91   - if (status == 'ERROR'){
  91 + if (status == 'ERROR') {
92 92 UIkit.notification('异常,' + json.msg, 'danger');
93 93 err && err();
94 94 }
... ... @@ -136,14 +136,20 @@ var gb_common = (function () {
136 136 return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
137 137 };
138 138  
139   - function accDiv(arg1,arg2){
140   - var t1=0,t2=0,r1,r2;
141   - try{t1=arg1.toString().split(".")[1].length}catch(e){}
142   - try{t2=arg2.toString().split(".")[1].length}catch(e){}
143   - with(Math){
144   - r1=Number(arg1.toString().replace(".",""))
145   - r2=Number(arg2.toString().replace(".",""))
146   - return (r1/r2)*pow(10,t2-t1);
  139 + function accDiv(arg1, arg2) {
  140 + var t1 = 0, t2 = 0, r1, r2;
  141 + try {
  142 + t1 = arg1.toString().split(".")[1].length
  143 + } catch (e) {
  144 + }
  145 + try {
  146 + t2 = arg2.toString().split(".")[1].length
  147 + } catch (e) {
  148 + }
  149 + with (Math) {
  150 + r1 = Number(arg1.toString().replace(".", ""))
  151 + r2 = Number(arg2.toString().replace(".", ""))
  152 + return (r1 / r2) * pow(10, t2 - t1);
147 153 }
148 154 }
149 155  
... ... @@ -188,18 +194,18 @@ var gb_common = (function () {
188 194  
189 195 var inverse = function (map) {
190 196 var rs = {};
191   - for(var k in map){
  197 + for (var k in map) {
192 198 rs[map[k]] = k;
193 199 }
194 200  
195 201 return rs;
196 202 };
197   -
  203 +
198 204 var next_elem = function (clazz, e) {
199 205 var ne = e.next();
200   - if(ne.length==0)
  206 + if (ne.length == 0)
201 207 return [];
202   - else if(ne.hasClass(clazz))
  208 + else if (ne.hasClass(clazz))
203 209 return ne;
204 210 else
205 211 return next_elem(clazz, ne);
... ... @@ -208,8 +214,8 @@ var gb_common = (function () {
208 214 var getDisabledVal = function (f) {
209 215 var rs = {};
210 216 $('input,select', f).each(function () {
211   - if($(this).attr('disabled')){
212   - rs[$(this).attr('name')]=$(this).val();
  217 + if ($(this).attr('disabled')) {
  218 + rs[$(this).attr('name')] = $(this).val();
213 219 }
214 220 });
215 221 return rs;
... ... @@ -225,31 +231,25 @@ var gb_common = (function () {
225 231 comSelect.on('change', function () {
226 232 var c = $(this).val();
227 233 var opts;
228   - if(!c){
  234 + if (!c || '88' == c)
229 235 fgsSelect.empty().attr('disabled', 'disabled');
230   - return;
231   - }
232   - else if('88' != c){
  236 + else {
233 237 var fgss = company_json[c].fgs;
234   - opts='<option value="">请选择...</option>';
  238 + opts = '<option value="">请选择...</option>';
235 239  
236   - for(var f in fgss){
237   - opts += '<option value="'+f+'">'+fgss[f]+'</option>';
  240 + for (var f in fgss) {
  241 + opts += '<option value="' + f + '">' + fgss[f] + '</option>';
238 242 }
239 243  
240   - fgsSelect.removeAttr('disabled');
241   - }
242   - else{
243   - fgsSelect.empty().attr('disabled', 'disabled');
244   - return;
  244 + fgsSelect.html(opts).removeAttr('disabled');
245 245 }
246 246  
247   - fgsSelect.html(opts).removeAttr('disabled').trigger('change');
  247 + fgsSelect.trigger('change');
248 248 });
249 249  
250 250 var opts = '';
251   - for(var c in company_json){
252   - opts += '<option value="'+c+'">'+company_json[c].name+'</option>'
  251 + for (var c in company_json) {
  252 + opts += '<option value="' + c + '">' + company_json[c].name + '</option>'
253 253 }
254 254  
255 255 //opts+='<option value="88">总公司</option>';
... ... @@ -269,13 +269,13 @@ var gb_common = (function () {
269 269 var selize = lineSelect[0].selectize;
270 270 selize.clearOptions();
271 271 var array;
272   - if(f)
273   - array = groupLineArrays[c+'_'+f];
  272 + if (f)
  273 + array = groupLineArrays[c + '_' + f];
274 274 else
275 275 array = mergeArrays(get_vals(groupLineArrays));
276 276  
277 277 $.each(array, function () {
278   - selize.addOption({value:this.lineCode,text:this.name});
  278 + selize.addOption({value: this.lineCode, text: this.name});
279 279 });
280 280 });
281 281  
... ... @@ -283,25 +283,25 @@ var gb_common = (function () {
283 283 comSelect.on('change', function () {
284 284 var c = $(this).val();
285 285 var fgss = company_json[c].fgs;
286   - var opts='<option value="">请选择...</option>';
  286 + var opts = '<option value="">请选择...</option>';
287 287  
288   - for(var f in fgss){
289   - opts += '<option value="'+f+'">'+fgss[f]+'</option>';
  288 + for (var f in fgss) {
  289 + opts += '<option value="' + f + '">' + fgss[f] + '</option>';
290 290 }
291 291  
292 292 fgsSelect.html(opts).trigger('change');
293 293 });
294 294  
295 295 var opts = '';
296   - for(var c in company_json){
297   - opts += '<option value="'+c+'">'+company_json[c].name+'</option>'
  296 + for (var c in company_json) {
  297 + opts += '<option value="' + c + '">' + company_json[c].name + '</option>'
298 298 }
299 299 comSelect.html(opts).trigger('change');
300 300 };
301 301  
302 302 var mergeArrays = function (arrays) {
303   - var all=[];
304   - for(var i=0,arr;arr=arrays[i++];)
  303 + var all = [];
  304 + for (var i = 0, arr; arr = arrays[i++];)
305 305 all = all.concat(arr);
306 306  
307 307 return all;
... ... @@ -313,22 +313,22 @@ var gb_common = (function () {
313 313 * @param data
314 314 */
315 315 var open_modal = function (page, title, data) {
316   - if(!data)
317   - data={};
  316 + if (!data)
  317 + data = {};
318 318 var id = 'uk3_' + Math.random().toString(36).substr(2);
319   - var modal_wrap = '<div id="'+id+'" uk-modal>' +
320   - '<div class="uk-modal-dialog">' +
321   - '<button class="uk-modal-close-default" type="button" uk-close></button>' +
322   - '<div class="uk-modal-header">' +
323   - '<h2 class="uk-modal-title">'+title+'</h2>' +
324   - '</div>' +
325   - '<div class="uk-modal-body"><div uk-spinner></div></div>' +
326   - '<div class="uk-modal-footer uk-text-right">' +
327   - '<button class="uk-button uk-button-default uk-modal-close" type="button">取消</button>&nbsp;' +
328   - '<button class="uk-button uk-button-primary submit-btn" type="button">提交</button>' +
329   - '</div>' +
330   - '</div>' +
331   - '</div>';
  319 + var modal_wrap = '<div id="' + id + '" uk-modal>' +
  320 + '<div class="uk-modal-dialog">' +
  321 + '<button class="uk-modal-close-default" type="button" uk-close></button>' +
  322 + '<div class="uk-modal-header">' +
  323 + '<h2 class="uk-modal-title">' + title + '</h2>' +
  324 + '</div>' +
  325 + '<div class="uk-modal-body"><div uk-spinner></div></div>' +
  326 + '<div class="uk-modal-footer uk-text-right">' +
  327 + '<button class="uk-button uk-button-default uk-modal-close" type="button">取消</button>&nbsp;' +
  328 + '<button class="uk-button uk-button-primary submit-btn" type="button">提交</button>' +
  329 + '</div>' +
  330 + '</div>' +
  331 + '</div>';
332 332  
333 333 show_modal(id, modal_wrap, page, data);
334 334 };
... ... @@ -339,16 +339,16 @@ var gb_common = (function () {
339 339 * @param data
340 340 */
341 341 var open_modal_default = function (page, title, data, width) {
342   - if(!data)
343   - data={};
344   - if(!width)
  342 + if (!data)
  343 + data = {};
  344 + if (!width)
345 345 width = 600;
346 346 var id = 'uk3_' + Math.random().toString(36).substr(2);
347   - var modal_wrap = '<div id="'+id+'" uk-modal>' +
348   - '<div class="uk-modal-dialog" style="width: '+width+'px">' +
  347 + var modal_wrap = '<div id="' + id + '" uk-modal>' +
  348 + '<div class="uk-modal-dialog" style="width: ' + width + 'px">' +
349 349 '<div class="uk-modal-body">' +
350 350 '<button class="uk-modal-close-default" type="button" uk-close></button>' +
351   - '<h2 class="uk-modal-title">'+title+'</h2>' +
  351 + '<h2 class="uk-modal-title">' + title + '</h2>' +
352 352 '<div uk-spinner></div></div>' +
353 353 '</div>' +
354 354 '</div>';
... ... @@ -363,14 +363,14 @@ var gb_common = (function () {
363 363 * @param data
364 364 */
365 365 var open_modal_2 = function (page, title, data) {
366   - if(!data)
367   - data={};
  366 + if (!data)
  367 + data = {};
368 368 var id = 'uk3_' + Math.random().toString(36).substr(2);
369   - var modal_wrap = '<div id="'+id+'" uk-modal>' +
  369 + var modal_wrap = '<div id="' + id + '" uk-modal>' +
370 370 '<div class="uk-modal-dialog">' +
371 371 '<button class="uk-modal-close-default" type="button" uk-close></button>' +
372 372 '<div class="uk-modal-header">' +
373   - '<h2 class="uk-modal-title">'+title+'</h2>' +
  373 + '<h2 class="uk-modal-title">' + title + '</h2>' +
374 374 '</div>' +
375 375 '<div class="uk-modal-body"><div uk-spinner></div></div>' +
376 376 '</div>' +
... ... @@ -386,14 +386,14 @@ var gb_common = (function () {
386 386 * @param data
387 387 */
388 388 var open_modal_3 = function (page, title, data) {
389   - if(!data)
390   - data={};
  389 + if (!data)
  390 + data = {};
391 391 var id = 'uk3_' + Math.random().toString(36).substr(2);
392   - var modal_wrap = '<div id="'+id+'" class="uk-modal-container" uk-modal>' +
  392 + var modal_wrap = '<div id="' + id + '" class="uk-modal-container" uk-modal>' +
393 393 '<div class="uk-modal-dialog">' +
394 394 '<button class="uk-modal-close-default" type="button" uk-close></button>' +
395 395 '<div class="uk-modal-header">' +
396   - '<h2 class="uk-modal-title">'+title+'</h2>' +
  396 + '<h2 class="uk-modal-title">' + title + '</h2>' +
397 397 '</div>' +
398 398 '<div class="uk-modal-body"><div uk-spinner></div></div>' +
399 399 '</div>' +
... ... @@ -401,10 +401,10 @@ var gb_common = (function () {
401 401  
402 402 show_modal(id, modal_wrap, page, data);
403 403 };
404   -
  404 +
405 405 var show_modal = function (id, e, page, data) {
406 406 $(document.body).append(e);
407   - UIkit.modal('#'+id, {bgClose: false, escClose: false, stack: true}).show();
  407 + UIkit.modal('#' + id, {bgClose: false, escClose: false, stack: true}).show();
408 408  
409 409 var cont = $('.uk-modal-body', '#' + id);
410 410 $.get(page, function (dom) {
... ... @@ -422,17 +422,17 @@ var gb_common = (function () {
422 422 var pad_left = function (oriStr, len, alexin) {
423 423 var str = '';
424 424 var strlen = oriStr.length;
425   - if(strlen < len){
426   - for(var i=0;i<len-strlen;i++){
427   - str = str+alexin;
  425 + if (strlen < len) {
  426 + for (var i = 0; i < len - strlen; i++) {
  427 + str = str + alexin;
428 428 }
429 429 }
430 430 str = str + oriStr;
431 431 return str;
432 432 };
433   -
  433 +
434 434 var alt_confirm = function (text, okBtn, fun) {
435   - UIkit.modal.confirm(text,{
  435 + UIkit.modal.confirm(text, {
436 436 labels: {
437 437 ok: okBtn,
438 438 cancel: '取消'
... ... @@ -447,7 +447,7 @@ var gb_common = (function () {
447 447 ok: okBtn,
448 448 cancel: '取消'
449 449 }
450   - }).then(function(v) {
  450 + }).then(function (v) {
451 451 cb && cb(v);
452 452 });
453 453 };
... ...
src/main/resources/static/js/ct_autocompleter.js
... ... @@ -109,7 +109,7 @@ var ct_autocompleter = (function () {
109 109 var initPerson = function (wrap) {
110 110 init(wrap, function (v) {
111 111 v = v.toUpperCase();
112   - var data = gb_o_s_basic_data.findAllPerson(),
  112 + var data = gb_basic_data.findAllPerson(),
113 113 list = [];
114 114  
115 115 for(var i=0,p;p=data[i++];){
... ... @@ -132,7 +132,7 @@ var ct_autocompleter = (function () {
132 132 var initBus = function (wrap) {
133 133 init(wrap, function (v) {
134 134 v = v.toUpperCase();
135   - var data = gb_o_s_basic_data.findAllBus(),
  135 + var data = gb_basic_data.findAllBus(),
136 136 list = [];
137 137  
138 138 for(var i=0,nbbm;nbbm=data[i++];){
... ... @@ -148,7 +148,7 @@ var ct_autocompleter = (function () {
148 148 };
149 149  
150 150 var initLine = function (wrap, lineIdx) {
151   - var _data = gb_o_s_basic_data.findAllLine();
  151 + var _data = gb_basic_data.findAllLine();
152 152 if(lineIdx){//过滤线路
153 153 var array = lineIdx.split(','), newData = [];
154 154 for(var i=0,line;line=_data[i++];){
... ... @@ -226,7 +226,7 @@ var ct_autocompleter = (function () {
226 226  
227 227  
228 228 var initLineAndOpenSch = function (wrap, lineIdx) {
229   - var _data = gb_o_s_basic_data.findAllLine();
  229 + var _data = gb_basic_data.findAllLine();
230 230 if(lineIdx){//过滤线路
231 231 var array = lineIdx.split(','), newData = [];
232 232 for(var i=0,line;line=_data[i++];){
... ... @@ -252,7 +252,7 @@ var ct_autocompleter = (function () {
252 252 }
253 253 return list;
254 254 }, null , function (item, input) {
255   - var code = gb_o_s_basic_data.getCodeByName($(item).text());
  255 + var code = gb_basic_data.getCodeByName($(item).text());
256 256 $(input).val('');
257 257 gb_common.open_modal_default('/pages/abnormal/fragments/expand_card_modal.html'
258 258 , '出场班次明细(' + current_tcc_name + ')', {lineCode: code}, 1020);
... ...
src/main/resources/static/pages/abnormal/js/o_s_basic_data.js renamed to src/main/resources/static/js/gb_basic_data.js
1 1 /**
2 2 * 相关基础数据
3 3 */
4   -var gb_o_s_basic_data = (function () {
  4 +var gb_basic_data = (function () {
5 5  
6 6 var lineArray;//线路集合,包含拼音映射
7 7 var lineCode2NameMaps;
... ...
src/main/resources/static/js/main.js
... ... @@ -8,7 +8,6 @@ var toast_top_center_opts = {&quot;positionClass&quot;: &quot;toast-top-center&quot;};
8 8 var groupLineArrays;
9 9 var all_line_maps;
10 10  
11   -
12 11 //loading end...
13 12 var ep = EventProxy.create('load_company', 'load_lines', function (companyData, linesData) {
14 13 groupLineArrays = {};
... ... @@ -24,6 +23,7 @@ var ep = EventProxy.create(&#39;load_company&#39;, &#39;load_lines&#39;, function (companyData,
24 23 });
25 24 //默认显示
26 25 $('.ct-btn-link[data-name=b_p_manager]').trigger('click');
  26 + gb_basic_data.init();
27 27 });
28 28  
29 29 $('.ct-btn-link', top_btn_list).on('click', function () {
... ...
src/main/resources/static/pages/abnormal/fragments/expand_card_modal.html
... ... @@ -119,7 +119,7 @@
119 119 var initSelect = function () {
120 120 var f = $('form', wrap);
121 121 var codeArray = storage.getItem("abnormal_line_idx").split(','),
122   - all = gb_o_s_basic_data.findAllLine();
  122 + all = gb_basic_data.findAllLine();
123 123  
124 124 var opts = '';
125 125 for(var i=0,line;line=all[i++];){
... ...
src/main/resources/static/pages/abnormal/fragments/m_tzrc.html
... ... @@ -147,7 +147,7 @@
147 147 var initSelect = function () {
148 148 var f = $('form', wrap);
149 149 var codeArray = storage.getItem("abnormal_line_idx").split(','),
150   - all = gb_o_s_basic_data.findAllLine();
  150 + all = gb_basic_data.findAllLine();
151 151  
152 152 var opts = '';
153 153 for (var i = 0, line; line = all[i++];) {
... ...
src/main/resources/static/pages/abnormal/js/o_s_abnormal.js
... ... @@ -17,7 +17,7 @@ var gb_o_s_abnormal = (function () {
17 17 return a['planTime'] - b['planTime'];
18 18 });
19 19 for (var i = 0, obj; obj = list[i++];) {
20   - obj.lineName = gb_o_s_basic_data.findLineNameByCode(obj.lineCode);
  20 + obj.lineName = gb_basic_data.findLineNameByCode(obj.lineCode);
21 21 _data[obj['schId'] + '_' + obj['type']] = obj;
22 22 }
23 23  
... ... @@ -84,7 +84,7 @@ var gb_o_s_abnormal = (function () {
84 84 else {
85 85 var htmlStr = '';
86 86 for (var i = 0, code; code = array[i++];) {
87   - htmlStr += '<span class="red_btn" data-code="' + code + '">' + gb_o_s_basic_data.findLineNameByCode(code) + '</span>';
  87 + htmlStr += '<span class="red_btn" data-code="' + code + '">' + gb_basic_data.findLineNameByCode(code) + '</span>';
88 88 }
89 89  
90 90 $panel.empty().html(htmlStr);
... ...
src/main/resources/static/pages/abnormal/main.html
... ... @@ -396,10 +396,9 @@
396 396  
397 397 var start = function (cb) {
398 398 var eq = new EventProxy();
399   - eq.once('init_basic_data', function () {
400   - gb_os_card.init(lineIdx, function () {
401   - eq.emitLater('init_os_card');
402   - });
  399 +
  400 + gb_os_card.init(lineIdx, function () {
  401 + eq.emitLater('init_os_card');
403 402 });
404 403  
405 404 eq.once('init_os_card', function () {
... ... @@ -416,10 +415,6 @@
416 415 !initFlag && cb && cb();
417 416 initFlag = true;
418 417 });
419   -
420   - gb_o_s_basic_data.init(function () {
421   - eq.emitLater('init_basic_data');
422   - });
423 418 };
424 419  
425 420 function run() {
... ...
src/main/resources/static/pages/attendance/add_maintain_btn.html 0 → 100644
  1 +<div class="maintain_add_page edit-form-modal">
  2 + <form class="uk-form-horizontal">
  3 + <div class="uk-margin">
  4 + <label class="uk-form-label">车辆:</label>
  5 + <div class="uk-form-controls">
  6 + <div class="ct_auto_wrap" id="nbbmAutoCompleter" style="width: 100%;">
  7 + <input class="uk-input" name="nbbm" type="text" placeholder="车辆自编号" autocomplete="off">
  8 + </div>
  9 + </div>
  10 + </div>
  11 + <div class="uk-margin">
  12 + <label class="uk-form-label">日期:</label>
  13 + <div class="uk-form-controls">
  14 + <input class="uk-input flatpickr_input" type="text" name="rq" required >
  15 + </div>
  16 + </div>
  17 + <div class="uk-margin">
  18 + <label class="uk-form-label">时段:</label>
  19 + <div class="uk-form-controls">
  20 + <select class="uk-select" name="timeStr">
  21 + <option value="">请选择..</option>
  22 + <option>上午</option>
  23 + <option>下午</option>
  24 + <option>晚上</option>
  25 + </select>
  26 + </div>
  27 + </div>
  28 + <div class="uk-margin">
  29 + <label class="uk-form-label">保养等级:</label>
  30 + <div class="uk-form-controls">
  31 + <select class="uk-select" name="level">
  32 + <option value="">请选择..</option>
  33 + <option value="一级保养">一级保养</option>
  34 + <option value="二级保养">二级保养</option>
  35 + <option value="三级保养">三级保养</option>
  36 + <option value="四级保养">四级保养</option>
  37 + <option value="季度保养">季度保养</option>
  38 + <option value="年度保养">年度保养</option>
  39 + <option value="进场小修">进场小修</option>
  40 + <option value="进场做事故">进场做事故</option>
  41 + <option value="空调保养">空调保养</option>
  42 + </select>
  43 + </div>
  44 + </div>
  45 + </form>
  46 +
  47 + <script>
  48 + (function () {
  49 + var wrap = '.maintain_add_page', modalId;
  50 +
  51 + //日期控件
  52 + flatpickr(wrap + ' .flatpickr_input', {"locale": "zh",minDate: 'today'});
  53 + ct_autocompleter.initBus($('#nbbmAutoCompleter', wrap));
  54 + $(wrap).on('init', function (e, data) {
  55 + e.stopPropagation();
  56 + modalId = '#'+data.modalId;
  57 +
  58 + data && data.caller && data.caller();
  59 + });
  60 +
  61 +
  62 + var f = $('form', wrap).formValidation(gb_form_validation_opts);
  63 + $('.submit-btn', modalId).on('click', function () {
  64 + f.submit();
  65 + });
  66 + f.on('success.form.fv', function(e) {
  67 + e.preventDefault();
  68 + var data = $(this).serializeJSON();
  69 +
  70 + gb_common.$post('/maintain', data, function (rs) {
  71 + UIkit.notification("添加成功!", {status:'success'});
  72 + UIkit.modal(modalId).hide();
  73 + //刷新list
  74 + $('#maintain_plan_list_wrap').trigger('refresh', {resetPagination: true});
  75 + });
  76 + });
  77 + })();
  78 + </script>
  79 +</div>
0 80 \ No newline at end of file
... ...
src/main/resources/static/pages/attendance/maintain_plan_list.html
1 1 <div id="maintain_plan_list_wrap" style="padding: 25px;height: calc(100% - 50px);">
2   -
3 2 <div class="ct_cont" style="height: 100%;">
  3 + <div class="uk-alert-warning" uk-alert>
  4 + <a class="uk-alert-close" uk-close></a>
  5 + <p>此处录入的车辆保养计划,会打印在驾驶员签到的出门证上</p>
  6 + </div>
4 7 <div class="ct_search_form_wrap">
5 8 <form>
6 9 <div class="ct_field">
7 10 <label>公司:
8   - <select class="uk-select" name="company_eq">
  11 + <select class="uk-select" name="gsbm_eq">
9 12 </select>
10 13 </label>
11 14 </div>
12 15 <div class="ct_field">
13 16 <label>分公司:
14   - <select class="uk-select" name="fgsCompany_eq">
  17 + <select class="uk-select" name="fgsbm_eq">
15 18 </select>
16 19 </label>
17 20 </div>
... ... @@ -23,23 +26,23 @@
23 26 </div>
24 27 <div class="ct_field">
25 28 <label>车辆自编号:
26   - <input class="uk-input" name="">
  29 + <input class="uk-input" name="nbbm_eq">
27 30 </label>
28 31 </div>
29 32 <div class="ct_field">
30 33 <label>保养日期:
31   - <input class="uk-input flatpickr_input" name="">
  34 + <input class="uk-input flatpickr_input" name="rq_eq">
32 35 </label>
33 36 </div>
34 37 <div class="ct_field">
35 38 <button class="uk-button uk-button-primary search"><i uk-icon="icon: search"></i>搜索</button>
36 39 </div>
37 40 <div class="ct_field" style="vertical-align: bottom;">
38   - <a class="uk-button uk-button-text" id="import_person_excel">添加保养计划</a>
  41 + <a class="uk-button uk-button-text add_maintain_btn">添加保养计划</a>
39 42 </div>
40 43 </form>
41 44 </div>
42   - <div class="ct_table_wrap">
  45 + <div class="ct_table_wrap" style="height: calc(100% - 125px);">
43 46 <table class="uk-table uk-table-small maintain_p_tab_width" style="margin-bottom: 0;">
44 47 <thead>
45 48 <tr>
... ... @@ -56,94 +59,9 @@
56 59 </tr>
57 60 </thead>
58 61 </table>
59   - <div class="t_body_wrap">
  62 + <div class="t_body_wrap" style="max-height: calc(100% - 75px);">
60 63 <table class="uk-table uk-table-divider uk-table-hover uk-table-small maintain_p_list_table maintain_p_tab_width">
61   - <tbody>
62   - <tr>
63   - <td>1</td>
64   - <td><a>S0N-001</a></td>
65   - <td>2018-04-19</td>
66   - <td>上午</td>
67   - <td>一级保养</td>
68   - <td>
69   - <small class="_green">04:20小票已出</small>
70   - </td>
71   - <td>1003路</td>
72   - <td>一分公司</td>
73   - <td>上南公司</td>
74   - <td><a class="delete_icon" uk-icon="icon: trash"></a></td>
75   - </tr>
76   - <tr>
77   - <td>2</td>
78   - <td><a>S0N-001</a></td>
79   - <td>2018-04-19</td>
80   - <td>上午</td>
81   - <td>一级保养</td>
82   - <td>
83   - <small class="_green">04:20小票已出</small>
84   - </td>
85   - <td>1003路</td>
86   - <td>一分公司</td>
87   - <td>上南公司</td>
88   - <td><a class="delete_icon" uk-icon="icon: trash"></a></td>
89   - </tr>
90   - <tr>
91   - <td>3</td>
92   - <td><a>S0N-001</a></td>
93   - <td>2018-04-19</td>
94   - <td>上午</td>
95   - <td>一级保养</td>
96   - <td>
97   - <small class="_green">04:20小票已出</small>
98   - </td>
99   - <td>1003路</td>
100   - <td>一分公司</td>
101   - <td>上南公司</td>
102   - <td><a class="delete_icon" uk-icon="icon: trash"></a></td>
103   - </tr>
104   - <tr>
105   - <td>4</td>
106   - <td><a>S0N-001</a></td>
107   - <td>2018-04-19</td>
108   - <td>上午</td>
109   - <td>一级保养</td>
110   - <td>
111   - <small class="_green">04:20小票已出</small>
112   - </td>
113   - <td>1003路</td>
114   - <td>一分公司</td>
115   - <td>上南公司</td>
116   - <td><a class="delete_icon" uk-icon="icon: trash"></a></td>
117   - </tr>
118   - <tr>
119   - <td>5</td>
120   - <td><a>S0N-001</a></td>
121   - <td>2018-04-19</td>
122   - <td>上午</td>
123   - <td>一级保养</td>
124   - <td>
125   - <small class="ct_grey">录入时间(2018-04-19 10:20)</small>
126   - </td>
127   - <td>1003路</td>
128   - <td>一分公司</td>
129   - <td>上南公司</td>
130   - <td><a class="delete_icon" uk-icon="icon: trash"></a></td>
131   - </tr>
132   - <tr>
133   - <td>6</td>
134   - <td><a>S0N-001</a></td>
135   - <td>2018-04-19</td>
136   - <td>上午</td>
137   - <td>一级保养</td>
138   - <td>
139   - <small class="ct_grey">录入时间(2018-04-19 10:20)</small>
140   - </td>
141   - <td>1003路</td>
142   - <td>一分公司</td>
143   - <td>上南公司</td>
144   - <td><a class="delete_icon" uk-icon="icon: trash"></a></td>
145   - </tr>
146   - </tbody>
  64 + <tbody></tbody>
147 65 </table>
148 66 </div>
149 67 <div class="pagination-holder"></div>
... ... @@ -152,22 +70,46 @@
152 70 </div>
153 71  
154 72 <script id="maintain_plan_list_body-temp" type="text/html">
155   -
  73 + {{each list as item i}}
  74 + <tr>
  75 + <td>{{i + si}}</td>
  76 + <td><a>{{item.nbbm}}</a></td>
  77 + <td>{{item.rq}}</td>
  78 + <td>{{item.timeStr}}</td>
  79 + <td>{{item.level}}</td>
  80 + <td>
  81 + {{if item.pt != null}}
  82 + <small class="_green" title="{{item.ptFullStr}}">{{item.ptStr}}小票已出</small>
  83 + {{else}}
  84 + <small class="ct_grey">{{item.userName}}({{item.createDateStr}})</small>
  85 + {{/if}}
  86 + </td>
  87 + <td>{{item.lineName}}</td>
  88 + <td>{{company_ns[item.gsbm+'_'+item.fgsbm]}}</td>
  89 + <td>{{company_ns[item.gsbm]}}</td>
  90 + <td>
  91 + {{if item.pt == null}}
  92 + <a class="delete_icon" data-id="{{item.id}}" uk-icon="icon: trash"></a>
  93 + {{/if}}
  94 + </td>
  95 + </tr>
  96 + {{/each}}
156 97 </script>
157 98  
158 99 <script>
159 100 (function () {
160 101 var wrap = '#maintain_plan_list_wrap', ps = $('.t_body_wrap', wrap);
161 102  
162   - var page = 0, pageSize = 14, fs = 'YYYY-MM-DD HH:mm';
  103 + var page = 0, pageSize = 12, fs = 'YYYY-MM-DD HH:mm';
163 104 //日期控件
164 105 flatpickr(wrap + ' .flatpickr_input', flatpickrDateTimeConfig);
165 106 //初始化公司——>分公司 ——> 线路级联下拉框
166   - var comp = $('[name=company_eq]', wrap);
167   - var fgsComp = $('[name=fgsCompany_eq]', wrap);
  107 + var comp = $('[name=gsbm_eq]', wrap);
  108 + var fgsComp = $('[name=fgsbm_eq]', wrap);
168 109 var lineSelect = $('[name=lineCode_eq]', wrap);
169 110 gb_common.companySelect(comp, fgsComp, lineSelect);
170 111  
  112 + ps.perfectScrollbar();//滚动条
171 113 query();
172 114  
173 115 function query() {
... ... @@ -175,6 +117,29 @@
175 117 data.page = page;
176 118 data.size = pageSize;
177 119  
  120 + $.get('/maintain', data, function (rs) {
  121 + $.each(rs.content, function () {
  122 + this.createDateStr = moment(this.createDate).format('YYYY-MM-DD HH:mm');
  123 + if (this.pt) {
  124 + this.ptFullStr = moment(this.pt).format('YYYY-MM-DD HH:mm');
  125 + this.ptStr = moment(this.pt).format('HH:mm');
  126 + }
  127 +
  128 + if (this.lineCode)
  129 + this.lineName = gb_basic_data.findLineNameByCode(this.lineCode);
  130 + });
  131 + var htmlStr = template('maintain_plan_list_body-temp', {
  132 + list: rs.content,
  133 + si: (rs.number * rs.size) + 1,
  134 + company_ns: company_code_name
  135 + });
  136 + $('.maintain_p_list_table>tbody', wrap).html(htmlStr);
  137 +
  138 + if (resetPagination){
  139 + pagination(rs['totalPages'], rs.number);
  140 + $('.count_text', wrap).text('共:' + rs['totalElements']);
  141 + }
  142 + });
178 143 }
179 144  
180 145 var resetPagination = true;
... ... @@ -200,6 +165,37 @@
200 165 query();
201 166 return false;
202 167 });
  168 +
  169 + $(wrap).on('refresh', function (e, data) {
  170 + if (data && data['resetPagination']) {
  171 + resetPagination = true;
  172 + page = 0;
  173 + }
  174 + query();
  175 + });
  176 +
  177 + //添加保养计划
  178 + $('.add_maintain_btn', wrap).on('click', function () {
  179 + gb_common.open_modal('/pages/attendance/add_maintain_btn.html', ' 添加保养计划', {});
  180 + });
  181 +
  182 + //delete icon click
  183 + $(wrap).on('click', '.delete_icon', function () {
  184 + var id = $(this).data('id')
  185 + ,row = $(this).parents('tr')
  186 + ,tds = row[0].cells
  187 + ,nbbm = $('a', tds[1]).text()
  188 + ,rq = $(tds[2]).text()
  189 + ,sd = $(tds[3]).text();
  190 + UIkit.modal.confirm('确定要删除 ' + nbbm + ' ('+rq + sd +') 的保养计划?'
  191 + , {labels : {ok: '确定删除', cancel: '取消'}})
  192 + .then(function() {
  193 + gb_common.$del('/maintain/' + id, function () {
  194 + UIkit.notification('删除成功!', 'success');
  195 + query();
  196 + });
  197 + });
  198 + });
203 199 })();
204 200 </script>
205 201 </div>
206 202 \ No newline at end of file
... ...
src/main/resources/static/pages/basic_data/bus/edit.html
... ... @@ -44,22 +44,16 @@
44 44 <div class="uk-margin">
45 45 <label class="uk-form-label">卡ID号:</label>
46 46 <div class="uk-form-controls">
47   - <input class="uk-input" name="idRfid" type="text" readonly value="{{b.idRfid}}" placeholder="10位数的卡号">
  47 + <input class="uk-input" name="idRfid" type="text" value="{{b.idRfid}}">
48 48 </div>
49 49 </div>
50   -
51   - <div class="uk-margin">
52   - <label class="uk-form-label">卡标签号:</label>
53   - <div class="uk-form-controls">
54   - <input class="uk-input" name="tagRfid" type="text" readonly value="{{b.tagRfid}}" placeholder="卡片上的标签序列号">
55   - </div>
56 50 </div>
57 51  
58 52 <div class="uk-margin">
59   - <label class="uk-form-label"></label>
  53 + <label class="uk-form-label">卡标签号:</label>
60 54 <div class="uk-form-controls">
61   - <button class="uk-button uk-button-link" style="color: red;">解除卡</button>&nbsp;&nbsp;
62   - <button class="uk-button uk-button-link">选择车卡</button>
  55 + <input class="uk-input" name="tagRfid" type="text" disabled value="{{b.tagRfid}}"
  56 + placeholder="卡片上的标签序列号">
63 57 </div>
64 58 </div>
65 59 </script>
... ... @@ -71,13 +65,13 @@
71 65  
72 66 $(wrap).on('init', function (e, data) {
73 67 e.stopPropagation();
74   - modalId = '#'+data.modalId;
  68 + modalId = '#' + data.modalId;
75 69  
76   - gb_common.$get('/bus/'+data.nbbm, {}, function (rs) {
  70 + gb_common.$get('/bus/' + data.nbbm, {}, function (rs) {
77 71 bus = rs['bus'];
78 72  
79 73 bus.companyName = company_code_name[bus.companyCode];
80   - bus.fgsName = company_code_name[bus.companyCode+'_'+bus.brancheCompanyCode];
  74 + bus.fgsName = company_code_name[bus.companyCode + '_' + bus.brancheCompanyCode];
81 75  
82 76 var htmlStr = template('bus_edit_modal_form-temp', {b: bus});
83 77 $('form', wrap).html(htmlStr);
... ... @@ -87,15 +81,28 @@
87 81  
88 82 //提交
89 83 $('.submit-btn', modalId).on('click', function () {
90   - var data = $('form', modalId).serializeJSON();
  84 + var data = $('form', modalId).serializeJSON()
  85 + , that = this;
  86 +
  87 + if (!$.trim(data.idRfid)) {
  88 + gb_common.alt_confirm('确定要解除车辆【' + data.nbbm + '】的车卡绑定信息?', '我确定解除', function () {
  89 + _submit(that, data);
  90 + });
  91 + }
  92 + else
  93 + _submit(that, data);
  94 + });
91 95  
92   - $(this).attr('disabled', 'disabled');
  96 + function _submit(that,data) {
  97 + $(that).attr('disabled', 'disabled');
93 98 gb_common.$post('/bus/save', data, function (rs) {
94 99 UIkit.modal(modalId).hide();
95 100 UIkit.notification('操作成功!!', 'success');
96   - $('#bus_card_list_wrap').trigger('refresh');
  101 + $('#bus_car_list_wrap').trigger('refresh');
  102 + }, function () {
  103 + $(that).removeAttr('disabled');
97 104 });
98   - });
  105 + }
99 106 })();
100 107 </script>
101 108 </div>
102 109 \ No newline at end of file
... ...
src/main/resources/static/pages/basic_data/bus/excel_cards.html
... ... @@ -78,26 +78,36 @@
78 78 }
79 79  
80 80 function uploadFileBase64(content, name) {
81   - //隐藏关闭按钮
82   - $(wrap).parents('.uk-modal-dialog').find('button.uk-close').hide();
83   - //show loading
84   - $('.uk-form-custom', wrap).hide();
85   - $('.uploading', wrap).show();
  81 + disabledModal();
86 82 //upload base64 data
87 83 gb_common.$post('/bus/parseFile', {base64: content, fileName: name}, function (rs) {
88 84 showExcel(rs);
89 85 }, function () {
90   - console.log('modalIdmodalId', modalId);
91 86 UIkit.modal('#'+modalId).hide();
92 87 });
93 88 }
94 89  
  90 + function disabledModal() {
  91 + //隐藏关闭按钮
  92 + //$(wrap).parents('.uk-modal-dialog').find('button.uk-close').hide();
  93 + //show loading
  94 + $('.uk-form-custom', wrap).hide();
  95 + $('.uploading', wrap).show();
  96 + }
  97 +
  98 + function enableModal() {
  99 + $('.uploading', wrap).hide();
  100 + $('.uk-form-custom', wrap).show();
  101 + //$(wrap).parents('.uk-modal-dialog').find('button.uk-close').show();
  102 + }
  103 +
95 104 /**
96 105 * 显示excel内容
97 106 * @param data
98 107 */
99 108 function showExcel(data) {
100   - console.log('datadata', data);
  109 + setTimeout(enableModal, 1000);
  110 + clearFileInput();
101 111 gb_common.open_modal_3('/pages/basic_data/bus/show_excel_detail.html', 'EXCEL预览' ,{data: data});
102 112 }
103 113 })();
... ...
src/main/resources/static/pages/basic_data/bus/show_excel_detail.html
... ... @@ -192,6 +192,12 @@
192 192 }
193 193  
194 194 function startSubmit(all) {
  195 + if(!all || all.length==0){
  196 + UIkit.modal('#'+modalId).hide();
  197 + UIkit.modal.alert('没有可以导入的数据!!');
  198 + return;
  199 + }
  200 +
195 201 var index = 0;
196 202 var stepSize = 200;
197 203 var size = all.length;
... ... @@ -202,11 +208,6 @@
202 208 var n_t = $('#importExcel_submitBtn>.run_count_text', '#'+modalId);
203 209 (function () {
204 210 if(index > size){
205   - /*//刷新车卡数据
206   - $.post('/bus/refresh', function () {
207   - $('#bus_card_list_wrap').trigger('refresh');
208   - UIkit.modal('#'+modalId).hide();
209   - });*/
210 211 $('#bus_car_list_wrap').trigger('refresh');
211 212 UIkit.modal('#'+modalId).hide();
212 213 UIkit.notification('成功导入' + success + ' !', 'success');
... ...
src/main/resources/static/pages/basic_data/bus_card/add.html
... ... @@ -24,12 +24,12 @@
24 24 <textarea class="uk-textarea" rows="5" name="remark" data-fv-stringlength="true" data-fv-stringlength-max="50" placeholder="不超过50个字符"></textarea>
25 25 </div>
26 26 </div>
27   - <div class="uk-margin">
  27 +<!-- <div class="uk-margin">
28 28 <label class="uk-form-label"></label>
29 29 <div class="uk-form-controls">
30 30 <label><input class="uk-checkbox" type="checkbox" name="status" value="-1"> 屏蔽卡</label>
31 31 </div>
32   - </div>
  32 + </div>-->
33 33 </form>
34 34  
35 35 <script>
... ...
src/main/resources/static/pages/basic_data/bus_card/bus_card_list.html
1 1 <div id="bus_card_list_wrap" style="padding: 25px;height: calc(100% - 50px);">
2 2  
3 3 <div class="ct_cont" style="height: 100%;">
  4 + <div class="uk-alert-warning" uk-alert>
  5 + <a class="uk-alert-close" uk-close></a>
  6 + <p>空闲的临时卡,不会自动同步到其他场站</p>
  7 + </div>
  8 +
4 9 <div class="ct_search_form_wrap">
5 10 <form>
6 11 <div class="ct_field">
... ... @@ -15,8 +20,11 @@
15 20 </div>
16 21 <div class="ct_field">
17 22 <label>日期:
18   - <input class="uk-input" name="rq_eq" >
  23 + <input class="uk-input flatpickr_input" name="rq_eq" >
19 24 </label>
  25 + <a class="input-button" title="clear" data-clear>
  26 + <i class="icon-close"></i>
  27 + </a>
20 28 </div>
21 29 <div class="ct_field">
22 30 <label>状态:
... ... @@ -24,7 +32,7 @@
24 32 <option value="">全部</option>
25 33 <option value="1">已绑定车辆</option>
26 34 <option value="0">空闲卡</option>
27   - <option value="-1">屏蔽卡</option>
  35 + <!--<option value="-1">屏蔽卡</option>-->
28 36 </select>
29 37 </label>
30 38 </div>
... ... @@ -34,7 +42,7 @@
34 42 </div>
35 43 </form>
36 44 </div>
37   - <div class="ct_table_wrap" style="height: calc(100% - 76px);">
  45 + <div class="ct_table_wrap" style="height: calc(100% - 126px);">
38 46 <table class="uk-table uk-table-small ct_bus_card_tab_width" style="margin-bottom: 0;">
39 47 <thead>
40 48 <tr>
... ... @@ -88,9 +96,13 @@
88 96 (function () {
89 97 var wrap = '#bus_card_list_wrap', ps = $('.t_body_wrap', wrap);
90 98  
91   - var page=0, pageSize=14;
  99 + var page=0, pageSize=13;
92 100 ps.perfectScrollbar();//滚动条
93 101 query();
  102 +
  103 + //日期控件
  104 + flatpickr(wrap + ' .flatpickr_input', {"locale": "zh"});
  105 + $('.flatpickr_input', wrap).removeAttr('readonly');
94 106 function query() {
95 107 var data = $('.ct_search_form_wrap>form', wrap).serializeJSON();
96 108 data.page=page;
... ...
src/main/resources/static/pages/basic_data/person_card/excel_cards.html
... ... @@ -79,11 +79,7 @@
79 79 }
80 80  
81 81 function uploadFileBase64(content, name) {
82   - //隐藏关闭按钮
83   - $(wrap).parents('.uk-modal-dialog').find('button.uk-close').hide();
84   - //show loading
85   - $('.uk-form-custom', wrap).hide();
86   - $('.uploading', wrap).show();
  82 + disabledModal();
87 83 //upload base64 data
88 84 gb_common.$post('/person/parseFile', {base64: content, fileName: name}, function (rs) {
89 85 showExcel(rs);
... ... @@ -93,11 +89,28 @@
93 89 });
94 90 }
95 91  
  92 + function disabledModal() {
  93 + //隐藏关闭按钮
  94 + //$(wrap).parents('.uk-modal-dialog').find('button.uk-close').hide();
  95 + //show loading
  96 + $('.uk-form-custom', wrap).hide();
  97 + $('.uploading', wrap).show();
  98 + }
  99 +
  100 + function enableModal() {
  101 + $('.uploading', wrap).hide();
  102 + $('.uk-form-custom', wrap).show();
  103 + //$(wrap).parents('.uk-modal-dialog').find('button.uk-close').show();
  104 + }
  105 +
  106 +
96 107 /**
97 108 * 显示excel内容
98 109 * @param data
99 110 */
100 111 function showExcel(data) {
  112 + setTimeout(enableModal, 1000);
  113 + clearFileInput();
101 114 gb_common.open_modal_3('/pages/basic_data/person_card/show_excel_detail.html', 'EXCEL预览' ,{data: data});
102 115 }
103 116 })();
... ...
src/main/resources/static/pages/basic_data/person_card/show_excel_detail.html
... ... @@ -194,6 +194,12 @@
194 194 }
195 195  
196 196 function startSubmit(all) {
  197 + if(!all || all.length==0){
  198 + UIkit.modal('#'+modalId).hide();
  199 + UIkit.modal.alert('没有可以导入的数据!!');
  200 + return;
  201 + }
  202 +
197 203 var index = 0;
198 204 var stepSize = 200;
199 205 var size = all.length;
... ...
src/main/resources/static/pages/system_manager/user/line_config.html
... ... @@ -41,6 +41,7 @@
41 41  
42 42 //加载线路信息
43 43 gb_common.$get('/line/all', {}, function (rs) {
  44 + rs.list.sort(line_name_sort);
44 45 var htmlStr = template('line_config_all_list-temp', {list: rs.list});
45 46 $('.all_lines', wrap).html(htmlStr);
46 47  
... ... @@ -51,8 +52,9 @@
51 52 //选中线路
52 53 initSelectItems();
53 54 createLineSearchMapps(rs.list);
  55 +
  56 + data && data.caller && data.caller();
54 57 });
55   - data && data.caller && data.caller();
56 58 });
57 59  
58 60  
... ... @@ -101,6 +103,8 @@
101 103  
102 104 array.push(obj);
103 105 }
  106 +
  107 + array.sort(line_name_sort);
104 108 //渲染
105 109 var htmlStr = template('line_config_all_list-temp', {list: array});
106 110 $('.all_lines', wrap).html(htmlStr);
... ... @@ -175,12 +179,16 @@
175 179 var array = rs.split(',');
176 180  
177 181 $.each(array, function () {
178   - if(!this)
  182 + if(!this || this=='')
179 183 return true;
180 184 $('.all_lines>span[data-code='+this+']').trigger('click');
181 185 });
182 186 });
183 187 }
  188 +
  189 + function line_name_sort(a, b) {
  190 + return $.trim(a.name).localeCompare($.trim(b.name), 'zh-CN');
  191 + }
184 192 })();
185 193 </script>
186 194 </div>
187 195 \ No newline at end of file
... ...