Commit 6ebda363a815497d1bae16a60424ef70d442c84e

Authored by panzhaov5
1 parent 56a8fc68

update...

src/main/resources/auths.json
... ... @@ -33,6 +33,11 @@
33 33 "page": "/pages/attendance/att_data_main.html",
34 34 "items": [
35 35 {
  36 + "code": "maintain_plan",
  37 + "name": "保养计划",
  38 + "page": "/pages/attendance/maintain_plan_list.html"
  39 + },
  40 + {
36 41 "code": "att_list",
37 42 "name": "签到退记录",
38 43 "page": "/pages/attendance/list.html"
... ... @@ -40,6 +45,18 @@
40 45 ]
41 46 },
42 47 {
  48 + "code": "schedule_plan",
  49 + "name": "计划排班",
  50 + "page": "/pages/plan_schedule/p_s_main.html",
  51 + "items": [
  52 + {
  53 + "code": "p_s_tzrc",
  54 + "name": "调整人车",
  55 + "page": "/pages/plan_schedule/tzrc/list.html"
  56 + }
  57 + ]
  58 + },
  59 + {
43 60 "code": "basic_data",
44 61 "name": "基础数据",
45 62 "page": "/pages/basic_data/main.html",
... ... @@ -85,16 +102,6 @@
85 102 "code": "user",
86 103 "name": "用户和账号",
87 104 "page": "/pages/system_manager/user/user_list.html"
88   - },
89   - {
90   - "code": "logs",
91   - "name": "日志",
92   - "page": ""
93   - },
94   - {
95   - "code": "config",
96   - "name": "参数配置",
97   - "page": ""
98 105 }
99 106 ]
100 107 }
... ...
src/main/resources/static/index.html
... ... @@ -28,16 +28,14 @@
28 28 <div class="uk-card uk-card-default uk-card-body uk-width-1-1@m top_tools">
29 29 <h3 class="uk-card-title"><img src="/assets/svg/park.svg"> 调派系统</h3>
30 30 <div class="ct-btn-list">
31   - <span class="ct-btn-link lasting" data-name="b_p_manager" data-page="/pages/b_p_manager/b_p_main.html">停放监管</span>
32   - <span class="ct-btn-link lasting" data-name="abnormal_data" data-page="/pages/abnormal/main.html">异常监管</span>
33   - <span class="ct-btn-link" data-name="inout_data" data-page="/pages/inout/in_out_main.html">进出场</span>
34   - <span class="ct-btn-link" data-name="attendance_data" data-page="/pages/attendance/att_data_main.html">签到/退</span>
35   - <span class="ct-btn-link" data-name="schedule_plan" data-page="/pages/plan_schedule/p_s_main.html">计划排班</span>
36   - <span class="ct-btn-link" data-name="basic_data" data-page="/pages/basic_data/main.html">基础数据</span>
37   - <span class="ct-btn-link" data-name="system_manager" data-page="/pages/system_manager/sm_main.html">系统管理</span>
38   -
  31 + <div class="menu_list" style="display: inline-block;"></div>
39 32 <span class="ct-user-info">
40   - <i uk-icon="icon: user;"></i> admin,在线
  33 + <div><i uk-icon="icon: user;"></i> <span id="user_name_t_span"></span>,在线</div>
  34 + <div uk-dropdown="">
  35 + <ul class="uk-nav uk-dropdown-nav">
  36 + <li><a href="/logout">退出登陆</a></li>
  37 + </ul>
  38 + </div>
41 39 </span>
42 40 </div>
43 41 </div>
... ... @@ -45,6 +43,18 @@
45 43 <div class="ct-cont-body"></div>
46 44 </div>
47 45  
  46 +<script id="index_menu_list-temp" type="text/html">
  47 + {{each list as obj i}}
  48 + <span class="ct-btn-link" data-name="{{obj.code}}" data-page="{{obj.page}}">{{obj.name}}</span>
  49 + {{/each}}
  50 +</script>
  51 +
  52 +<script id="sub_menu_list-temp" type="text/html">
  53 + {{each list as obj i}}
  54 + <li class="ct-btn-link" data-name="{{obj.code}}" data-page="{{obj.page}}">{{obj.name}}</li>
  55 + {{/each}}
  56 +</script>
  57 +
48 58 <script src="/assets/plugins/d3/d3.min.js" ></script>
49 59 <script src="/assets/plugins/d3/radialprogress/vizuly_core.min.js" ></script>
50 60 <script src="/assets/plugins/d3/radialprogress/vizuly_radialprogress.min.js" ></script>
... ... @@ -76,7 +86,6 @@
76 86 <script src="/assets/plugins/toastr/toastr.min.js"></script>
77 87 <script src="/js/tts.js"></script>
78 88  
79   -
80 89 <script src="/js/common.js"></script>
81 90 <!-- 主JS 文件 -->
82 91 <script src="/js/main.js"></script>
... ...
src/main/resources/static/js/main.js
  1 +/**
  2 + * 动态菜单相关 ----- start -----
  3 + */
  4 +var cUser, cMenus, allAuths;
  5 +$.get('/user/currentUser', function (rs) {
  6 + cUser = rs;
  7 + $('#user_name_t_span').text(cUser.userName);
  8 +
  9 + //用户的菜单权限
  10 + cMenus = {};
  11 + var arr1 = cUser.roles[0]['menuStr'].split('$')
  12 + , arr2;
  13 +
  14 + for (var i = 0, len = arr1.length; i < len; i++) {
  15 + if (!arr1[i] || arr1[i] == '')
  16 + continue;
  17 +
  18 + arr2 = arr1[i].split('^');
  19 + cMenus[arr2[0]] = [];
  20 +
  21 + if (arr2.length == 1)
  22 + continue;
  23 +
  24 + for (var j = 1; j < arr2.length; j++) {
  25 + cMenus[arr2[0]].push(arr2[j]);
  26 + }
  27 + }
  28 +
  29 + all_auths(function (auths) {
  30 + allAuths = auths;
  31 +
  32 + //渲染一级菜单
  33 + var menu1 = gb_common.get_keys(cMenus)
  34 + , data = [];
  35 +
  36 + for (var i = 0, t; t = menu1[i++];) {
  37 + if (!auths[t])
  38 + continue;
  39 + data.push({
  40 + code: t,
  41 + name: auths[t].name,
  42 + page: auths[t].page
  43 + });
  44 + }
  45 +
  46 + var mentWrap = '.ct-container>.top_tools .menu_list';
  47 + var htmlStr = template('index_menu_list-temp', {list: data});
  48 + $(mentWrap).html(htmlStr);
  49 +
  50 + //默认选中第一项
  51 + $('.ct-btn-link:eq(0)', mentWrap).trigger('click');
  52 + });
  53 +});
  54 +
  55 +function all_auths(cb) {
  56 + $.get('/role/auth_json', function (rs) {
  57 + var list = JSON.parse(rs).list;
  58 +
  59 + var data = {};
  60 +
  61 + for (var i = 0, obj; obj = list[i++];) {
  62 + data[obj.code] = {
  63 + name: obj.name,
  64 + page: obj.page
  65 + }
  66 +
  67 + if (!obj.items)
  68 + continue;
  69 +
  70 + for (var j = 0, item; item = obj.items[j++];) {
  71 + data[obj.code + '$' + item.code] = {
  72 + name: item.name,
  73 + page: item.page
  74 + }
  75 + }
  76 + }
  77 +
  78 + cb && cb(data);
  79 + });
  80 +}
  81 +
  82 +/**
  83 + * 渲染二级菜单
  84 + */
  85 +function renderSubmmenu(wrap) {
  86 + var pCode = $('.ct-btn-link.active', top_btn_list).data('name');
  87 + var mList = cMenus[pCode];
  88 +
  89 + if(mList){
  90 + var data = [];
  91 + for(var i=0,t;t=mList[i++];){
  92 + data.push({
  93 + code: t,
  94 + name: allAuths[pCode+'$'+ t].name,
  95 + page: allAuths[pCode+'$'+ t].page
  96 + })
  97 + }
  98 +
  99 + var menuStr = template('sub_menu_list-temp', {list: data});
  100 + $('.left-menus>ul', wrap).html(menuStr);
  101 +
  102 + //默认选中第一项
  103 + $('.left-menus .ct-btn-link:eq(0)', wrap).trigger('click');
  104 + }
  105 +}
  106 +/**
  107 + * 动态菜单相关 ----- end -----
  108 + */
  109 +
  110 +
1 111 var company_json, company_code_name = {};
2 112 var cont = $('.ct-container');
3 113 var top_btn_list = $('.ct-btn-list', cont);
... ... @@ -21,19 +131,29 @@ var ep = EventProxy.create(&#39;load_company&#39;, &#39;load_lines&#39;, function (companyData,
21 131  
22 132 groupLineArrays[key].push(this);
23 133 });
24   - //默认显示
25   - $('.ct-btn-link[data-name=b_p_manager]').trigger('click');
  134 +
26 135 gb_basic_data.init();
27 136 });
28 137  
29   -$('.ct-btn-link', top_btn_list).on('click', function () {
  138 +/**
  139 + * 一级菜单点击事件
  140 + */
  141 +var _loading;
  142 +top_btn_list.on('click', '.ct-btn-link', function () {
  143 + if(_loading)
  144 + return;
  145 +
  146 + _loading = true;
  147 +
30 148 var page = $(this).data('page');
31 149 if (!page)
32 150 return;
33   - var that = this;
  151 +
  152 + $('.ct-btn-link.active', top_btn_list).removeClass('active');
  153 + $(this).addClass('active');
  154 +
34 155 $('.ct-cont-body', cont).trigger('exit').empty().load(page, function () {
35   - $('.ct-btn-link.active', top_btn_list).removeClass('active');
36   - $(that).addClass('active');
  156 + _loading = false;
37 157 });
38 158 });
39 159  
... ...
src/main/resources/static/pages/attendance/att_data_main.html
1 1 <div id="att_data_wrap" class="l_r_split_screen">
2 2  
3 3 <div class="left-menus">
4   - <ul class="uk-list">
5   - <li class="ct-btn-link" data-name="maintain_plan" data-page="/pages/attendance/maintain_plan_list.html">保养计划</li>
6   - <li class="ct-btn-link" data-name="att_list" data-page="/pages/attendance/list.html">签到退记录</li>
7   - </ul>
  4 + <ul class="uk-list"></ul>
8 5 </div>
9 6 <div class="right-body">
10 7  
... ... @@ -14,7 +11,7 @@
14 11 (function () {
15 12 var wrap = '#att_data_wrap', $body = $('.right-body', wrap);
16 13  
17   - $('.left-menus .ct-btn-link', wrap).on('click', function () {
  14 + $(wrap).on('click', '.left-menus .ct-btn-link', function () {
18 15 var page = $(this).data('page');
19 16 if(!page)
20 17 return;
... ... @@ -26,8 +23,8 @@
26 23 });
27 24 });
28 25  
29   - //默认选中第一项
30   - $('.left-menus .ct-btn-link:eq(0)', wrap).trigger('click');
  26 + //渲染二级菜单
  27 + renderSubmmenu(wrap);
31 28 })();
32 29 </script>
33 30 </div>
34 31 \ No newline at end of file
... ...
src/main/resources/static/pages/basic_data/main.html
... ... @@ -2,13 +2,7 @@
2 2 <div id="basic_data_wrap" class="l_r_split_screen">
3 3  
4 4 <div class="left-menus">
5   - <ul class="uk-list">
6   - <li class="ct-btn-link" data-name="person_card" data-page="/pages/basic_data/person_card/list.html">人员/人卡</li>
7   - <li class="ct-btn-link" data-name="bus" data-page="/pages/basic_data/bus/list.html">车辆信息</li>
8   - <li class="ct-btn-link" data-name="bus_card" data-page="/pages/basic_data/bus_card/bus_card_list.html">车卡信息</li>
9   - <li class="ct-btn-link" data-name="private_car" data-page="/pages/basic_data/car/car_list.html">私家车</li>
10   - <li class="ct-btn-link" data-name="berth" data-page="/pages/basic_data/berth/berth_main.html">区域和泊位</li>
11   - </ul>
  5 + <ul class="uk-list"></ul>
12 6 </div>
13 7 <div class="right-body">
14 8  
... ... @@ -20,7 +14,7 @@
20 14  
21 15 var wrap = '#basic_data_wrap', $body = $('.right-body', wrap);
22 16  
23   - $('.left-menus .ct-btn-link', wrap).on('click', function () {
  17 + $(wrap).on('click', '.left-menus .ct-btn-link', function () {
24 18 var page = $(this).data('page');
25 19 if(!page)
26 20 return;
... ... @@ -32,8 +26,9 @@
32 26 });
33 27 });
34 28  
35   - //默认选中第一项
36   - $('.left-menus .ct-btn-link:eq(0)', wrap).trigger('click');
  29 +
  30 + //渲染二级菜单
  31 + renderSubmmenu(wrap);
37 32 })();
38 33 </script>
39 34 </div>
40 35 \ No newline at end of file
... ...
src/main/resources/static/pages/inout/in_out_main.html
1 1 <div id="inout_data_wrap" class="l_r_split_screen">
2 2  
3 3 <div class="left-menus">
4   - <ul class="uk-list">
5   - <li class="ct-btn-link" data-name="in_out_schedule" data-page="/pages/inout/in_out_schedule/list.html">计划出场</li>
6   - <li class="ct-btn-link" data-name="rfid_cljcc_list" data-page="/pages/inout/signal/signal_inout_list.html">车辆进出场</li>
7   - </ul>
  4 + <ul class="uk-list"></ul>
8 5 </div>
9 6 <div class="right-body">
10 7  
... ... @@ -14,7 +11,7 @@
14 11 (function () {
15 12 var wrap = '#inout_data_wrap', $body = $('.right-body', wrap);
16 13  
17   - $('.left-menus .ct-btn-link', wrap).on('click', function () {
  14 + $(wrap).on('click', '.left-menus .ct-btn-link', function () {
18 15 var page = $(this).data('page');
19 16 if(!page)
20 17 return;
... ... @@ -26,8 +23,8 @@
26 23 });
27 24 });
28 25  
29   - //默认选中第一项
30   - $('.left-menus .ct-btn-link:eq(0)', wrap).trigger('click');
  26 + //渲染二级菜单
  27 + renderSubmmenu(wrap);
31 28 })();
32 29 </script>
33 30 </div>
34 31 \ No newline at end of file
... ...
src/main/resources/static/pages/plan_schedule/p_s_main.html
... ... @@ -2,9 +2,7 @@
2 2 <div id="plan_schedule_data_wrap" class="l_r_split_screen">
3 3  
4 4 <div class="left-menus">
5   - <ul class="uk-list">
6   - <li class="ct-btn-link" data-name="p_s_tzrc" data-page="/pages/plan_schedule/tzrc/list.html">调整人车</li>
7   - </ul>
  5 + <ul class="uk-list"></ul>
8 6 </div>
9 7 <div class="right-body">
10 8  
... ... @@ -16,7 +14,7 @@
16 14  
17 15 var wrap = '#plan_schedule_data_wrap', $body = $('.right-body', wrap);
18 16  
19   - $('.left-menus .ct-btn-link', wrap).on('click', function () {
  17 + $(wrap).on('click', '.left-menus .ct-btn-link', function () {
20 18 var page = $(this).data('page');
21 19 if(!page)
22 20 return;
... ... @@ -28,8 +26,8 @@
28 26 });
29 27 });
30 28  
31   - //默认选中第一项
32   - $('.left-menus .ct-btn-link:eq(0)', wrap).trigger('click');
  29 + //渲染二级菜单
  30 + renderSubmmenu(wrap);
33 31 })();
34 32 </script>
35 33 </div>
36 34 \ No newline at end of file
... ...
src/main/resources/static/pages/system_manager/role/auths.html
... ... @@ -19,7 +19,7 @@
19 19 <div class="fun_s_list"></div>
20 20 </div>
21 21 <div class="footer_wrap">
22   - <button class="uk-button uk-width-1-1 uk-margin-small-bottom save_btn">保存</button>
  22 + <button class="uk-button uk-button-primary uk-width-1-1 save_btn">保存</button>
23 23 </div>
24 24 </div>
25 25  
... ...
src/main/resources/static/pages/system_manager/sm_main.html
... ... @@ -3,10 +3,8 @@
3 3  
4 4 <div class="left-menus">
5 5 <ul class="uk-list">
6   - <li class="ct-btn-link" data-name="role" data-page="/pages/system_manager/role/auths.html">角色和权限</li>
7   - <li class="ct-btn-link" data-name="user" data-page="/pages/system_manager/user/user_list.html">用户和账号</li>
8   - <li class="ct-btn-link" data-name="logs" data-page="">日志</li>
9   - <li class="ct-btn-link" data-name="config" data-page="">参数配置</li>
  6 +<!-- <li class="ct-btn-link" data-name="logs" data-page="">日志</li>
  7 + <li class="ct-btn-link" data-name="config" data-page="">参数配置</li>-->
10 8 </ul>
11 9 </div>
12 10 <div class="right-body">
... ... @@ -19,7 +17,7 @@
19 17  
20 18 var wrap = '#system_manager_wrap', $body = $('.right-body', wrap);
21 19  
22   - $('.left-menus .ct-btn-link', wrap).on('click', function () {
  20 + $(wrap).on('click', '.left-menus .ct-btn-link', function () {
23 21 var page = $(this).data('page');
24 22 if(!page)
25 23 return;
... ... @@ -31,8 +29,8 @@
31 29 });
32 30 });
33 31  
34   - //默认选中第一项
35   - $('.left-menus .ct-btn-link:eq(0)', wrap).trigger('click');
  32 + //渲染二级菜单
  33 + renderSubmmenu(wrap);
36 34 })();
37 35 </script>
38 36 </div>
39 37 \ No newline at end of file
... ...