Commit 8de956dca7d86dcc3e4c3ac8513b6e9a72c45a31
1 parent
64d242d5
add tts模块, 加入班次搜索框
Showing
10 changed files
with
179 additions
and
100 deletions
src/main/resources/static/real_control_v2/js/data/data_basic.js
| ... | ... | @@ -2,11 +2,12 @@ |
| 2 | 2 | |
| 3 | 3 | var gb_data_basic = (function() { |
| 4 | 4 | |
| 5 | - var stationRoutes,lineCode2NameAll,lineInformations; | |
| 6 | - var ep = EventProxy.create("stationRoutes", "lineCode2Name", "lineInformations", function(routes, code2Name, informations) { | |
| 5 | + var stationRoutes,lineCode2NameAll,lineInformations, nbbm2deviceMap; | |
| 6 | + var ep = EventProxy.create("stationRoutes", "lineCode2Name", "lineInformations", "nbbm2deviceId", function(routes, code2Name, informations, nbbm2device) { | |
| 7 | 7 | stationRoutes = routes; |
| 8 | 8 | lineCode2NameAll = code2Name; |
| 9 | 9 | lineInformations = informations; |
| 10 | + nbbm2deviceMap = nbbm2device; | |
| 10 | 11 | gb_main_ep.emitLater('data-basic'); |
| 11 | 12 | }); |
| 12 | 13 | |
| ... | ... | @@ -46,6 +47,11 @@ var gb_data_basic = (function() { |
| 46 | 47 | ep.emit('lineCode2Name', rs); |
| 47 | 48 | }); |
| 48 | 49 | |
| 50 | + //nbbm to device id | |
| 51 | + $.get('/basic/nbbm2deviceId', function(rs){ | |
| 52 | + ep.emit('nbbm2deviceId', rs); | |
| 53 | + }); | |
| 54 | + | |
| 49 | 55 | function findLineByCodes(codeArr){ |
| 50 | 56 | var rs=[]; |
| 51 | 57 | $.each(codeArr, function(){ |
| ... | ... | @@ -73,6 +79,7 @@ var gb_data_basic = (function() { |
| 73 | 79 | activeLines: activeLines, |
| 74 | 80 | line_idx: line_idx, |
| 75 | 81 | codeToLine: codeToLine, |
| 82 | + nbbm2deviceMap: function(){return nbbm2deviceMap;}, | |
| 76 | 83 | getLineInformation: getLineInformation, |
| 77 | 84 | stationRoutes: function(lineCode){return stationRoutes[lineCode]}, |
| 78 | 85 | findLineByCodes: findLineByCodes, | ... | ... |
src/main/resources/static/real_control_v2/js/data/data_gps.js
| ... | ... | @@ -76,11 +76,16 @@ var gb_data_gps = (function() { |
| 76 | 76 | return realData[deviceId]; |
| 77 | 77 | } |
| 78 | 78 | |
| 79 | + var findGpsByNbbm = function(nbbm){ | |
| 80 | + return realData[gb_data_basic.nbbm2deviceMap()[nbbm]]; | |
| 81 | + } | |
| 82 | + | |
| 79 | 83 | return { |
| 80 | 84 | fixedTimeRefresh: fixedTimeRefresh, |
| 81 | 85 | registerCallback: registerCallback, |
| 82 | 86 | allGps: realData, |
| 83 | 87 | gpsByLineCode: gpsByLineCode, |
| 84 | - findOne: findOne | |
| 88 | + findOne: findOne, | |
| 89 | + findGpsByNbbm: findGpsByNbbm | |
| 85 | 90 | }; |
| 86 | 91 | })(); | ... | ... |
src/main/resources/static/real_control_v2/js/data/data_schedule.js deleted
100644 → 0
src/main/resources/static/real_control_v2/js/data/json/north_toolbar.json
src/main/resources/static/real_control_v2/js/line_schedule/sch_table.js
| ... | ... | @@ -5,7 +5,8 @@ var gb_schedule_table = (function() { |
| 5 | 5 | var temps; |
| 6 | 6 | //线路分组的班次数据 |
| 7 | 7 | var line2Schedule = {}; |
| 8 | - | |
| 8 | + //车辆应发未发车辆数 | |
| 9 | + var car_yfwf_map = {}; | |
| 9 | 10 | var schedule_sort = function(s1, s2) { |
| 10 | 11 | return s1.dfsjT - s2.dfsjT; |
| 11 | 12 | } |
| ... | ... | @@ -64,7 +65,7 @@ var gb_schedule_table = (function() { |
| 64 | 65 | //dbclick event |
| 65 | 66 | gb_schedule_table_dbclick.init(); |
| 66 | 67 | |
| 67 | - cb&&cb(); | |
| 68 | + cb && cb(); | |
| 68 | 69 | }); |
| 69 | 70 | } |
| 70 | 71 | |
| ... | ... | @@ -97,44 +98,44 @@ var gb_schedule_table = (function() { |
| 97 | 98 | } |
| 98 | 99 | |
| 99 | 100 | //新增一个班次,附带更新的班次 |
| 100 | - var insertSchedule=function(sch, upArr){ | |
| 101 | - line2Schedule[sch.xlBm][sch.id]=sch; | |
| 102 | - //update | |
| 103 | - if(isArray(upArr)){ | |
| 104 | - $.each(upArr, function(){ | |
| 105 | - line2Schedule[this.xlBm][this.id]=this; | |
| 106 | - }); | |
| 107 | - } | |
| 108 | - | |
| 109 | - //重新渲染表格 | |
| 110 | - var data=gb_common.get_vals(line2Schedule[sch.xlBm]).sort(schedule_sort) | |
| 111 | - ,dirData = gb_common.groupBy(data, 'xlDir') | |
| 112 | - ,tabCont=$('li.line_schedule[data-id='+sch.xlBm+']'); | |
| 113 | - | |
| 114 | - for (var upDown in dirData) { | |
| 115 | - htmlStr = temps['line-schedule-table-temp']({ | |
| 116 | - dir: upDown, | |
| 117 | - line: gb_data_basic.codeToLine[sch.xlBm], | |
| 118 | - list: dirData[upDown] | |
| 119 | - }); | |
| 120 | - $('.schedule-wrap .card-panel:eq(' + upDown + ')', tabCont).html(htmlStr); | |
| 121 | - } | |
| 122 | - calc_yfwf_num(sch.xlBm); | |
| 123 | - //定位到新添加的班次 | |
| 124 | - scroToDl(sch); | |
| 101 | + var insertSchedule = function(sch, upArr) { | |
| 102 | + line2Schedule[sch.xlBm][sch.id] = sch; | |
| 103 | + //update | |
| 104 | + if (isArray(upArr)) { | |
| 105 | + $.each(upArr, function() { | |
| 106 | + line2Schedule[this.xlBm][this.id] = this; | |
| 107 | + }); | |
| 108 | + } | |
| 109 | + | |
| 110 | + //重新渲染表格 | |
| 111 | + var data = gb_common.get_vals(line2Schedule[sch.xlBm]).sort(schedule_sort), | |
| 112 | + dirData = gb_common.groupBy(data, 'xlDir'), | |
| 113 | + tabCont = $('li.line_schedule[data-id=' + sch.xlBm + ']'); | |
| 114 | + | |
| 115 | + for (var upDown in dirData) { | |
| 116 | + htmlStr = temps['line-schedule-table-temp']({ | |
| 117 | + dir: upDown, | |
| 118 | + line: gb_data_basic.codeToLine[sch.xlBm], | |
| 119 | + list: dirData[upDown] | |
| 120 | + }); | |
| 121 | + $('.schedule-wrap .card-panel:eq(' + upDown + ')', tabCont).html(htmlStr); | |
| 122 | + } | |
| 123 | + calc_yfwf_num(sch.xlBm); | |
| 124 | + //定位到新添加的班次 | |
| 125 | + scroToDl(sch); | |
| 125 | 126 | } |
| 126 | 127 | |
| 127 | 128 | //删除一个班次 |
| 128 | - var deheteSchedule = function(sch){ | |
| 129 | - sch = line2Schedule[sch.xlBm][sch.id]; | |
| 130 | - if(sch){ | |
| 131 | - var dl = $('li.line_schedule[data-id=' + sch.xlBm + '] .ct_table_body dl[data-id=' + sch.id + ']') | |
| 132 | - ,dls=dl.parent().find('dl'); | |
| 133 | - delete line2Schedule[sch.xlBm][sch.id]; | |
| 134 | - dl.remove(); | |
| 135 | - reset_seq_no(dls); | |
| 136 | - calc_yfwf_num(sch.xlBm); | |
| 137 | - } | |
| 129 | + var deheteSchedule = function(sch) { | |
| 130 | + sch = line2Schedule[sch.xlBm][sch.id]; | |
| 131 | + if (sch) { | |
| 132 | + var dl = $('li.line_schedule[data-id=' + sch.xlBm + '] .ct_table_body dl[data-id=' + sch.id + ']'), | |
| 133 | + dls = dl.parent().find('dl'); | |
| 134 | + delete line2Schedule[sch.xlBm][sch.id]; | |
| 135 | + dl.remove(); | |
| 136 | + reset_seq_no(dls); | |
| 137 | + calc_yfwf_num(sch.xlBm); | |
| 138 | + } | |
| 138 | 139 | } |
| 139 | 140 | |
| 140 | 141 | //更新班次 |
| ... | ... | @@ -150,7 +151,7 @@ var gb_schedule_table = (function() { |
| 150 | 151 | |
| 151 | 152 | //update dom |
| 152 | 153 | var updateDom = function(sch) { |
| 153 | - if(!sch) return; | |
| 154 | + if (!sch) return; | |
| 154 | 155 | var dl = $('li.line_schedule[data-id=' + sch.xlBm + '] .ct_table_body dl[data-id=' + sch.id + ']'); |
| 155 | 156 | var dds = $('dd', dl); |
| 156 | 157 | $(dds[1]).find('a').text(sch.lpName); |
| ... | ... | @@ -169,17 +170,17 @@ var gb_schedule_table = (function() { |
| 169 | 170 | calc_sch_real_shift(sch); |
| 170 | 171 | var sfsjDd = temps['line-schedule-sfsj-temp'](sch); |
| 171 | 172 | $(dds[7]).replaceWith(sfsjDd); |
| 172 | - if(sch.remarks) | |
| 173 | - $(dds[8]).html('<span title="'+sch.remarks+'" data-uk-tooltip="{pos:\'top-left\'}">'+sch.remarks+'</span>'); | |
| 173 | + if (sch.remarks) | |
| 174 | + $(dds[8]).html('<span title="' + sch.remarks + '" data-uk-tooltip="{pos:\'top-left\'}">' + sch.remarks + '</span>'); | |
| 174 | 175 | else |
| 175 | - $(dds[8]).html(''); | |
| 176 | + $(dds[8]).html(''); | |
| 176 | 177 | } |
| 177 | 178 | |
| 178 | 179 | //拖拽选中... |
| 179 | 180 | var seq_nos = '.line-schedule-table .ct_table_body>dl>dd.seq_no'; |
| 180 | 181 | var drag_strat; |
| 181 | 182 | $(document).on('mousedown', seq_nos, function(e) { |
| 182 | - if(e.button != 0) return; | |
| 183 | + if (e.button != 0) return; | |
| 183 | 184 | var dl = $(this).parent(); |
| 184 | 185 | if (dl.hasClass('drag-active')) |
| 185 | 186 | dl.removeClass('drag-active'); |
| ... | ... | @@ -196,14 +197,14 @@ var gb_schedule_table = (function() { |
| 196 | 197 | |
| 197 | 198 | reset_drag_active_all(this); |
| 198 | 199 | //向上选中 |
| 199 | - if(e <= drag_strat){ | |
| 200 | - for (var i = drag_strat; i > e-2; i--) | |
| 201 | - $(dls[i]).addClass('drag-active'); | |
| 200 | + if (e <= drag_strat) { | |
| 201 | + for (var i = drag_strat; i > e - 2; i--) | |
| 202 | + $(dls[i]).addClass('drag-active'); | |
| 202 | 203 | } |
| 203 | 204 | //向下选中 |
| 204 | - else{ | |
| 205 | - for (var j = drag_strat; j < e; j++) | |
| 206 | - $(dls[j]).addClass('drag-active'); | |
| 205 | + else { | |
| 206 | + for (var j = drag_strat; j < e; j++) | |
| 207 | + $(dls[j]).addClass('drag-active'); | |
| 207 | 208 | } |
| 208 | 209 | } |
| 209 | 210 | }).on('click', seq_nos, function() { |
| ... | ... | @@ -220,22 +221,22 @@ var gb_schedule_table = (function() { |
| 220 | 221 | schArr = gb_common.get_vals(line2Schedule[lineCode]).filter(function(item) { |
| 221 | 222 | return item.clZbh == sch.clZbh; |
| 222 | 223 | }).sort(schedule_sort), |
| 223 | - nextSch,tempDL; | |
| 224 | + nextSch, tempDL; | |
| 224 | 225 | $.each(schArr, function(i) { |
| 225 | - tempDL=$('dl[data-id=' + this.id + ']', contWrap); | |
| 226 | + tempDL = $('dl[data-id=' + this.id + ']', contWrap); | |
| 226 | 227 | tempDL.addClass('relevance-active'); |
| 227 | - if (i < schArr.length - 1 && this.id == id){ | |
| 228 | - nextSch = schArr[i + 1]; | |
| 229 | - tempDL.addClass('intimity'); | |
| 228 | + if (i < schArr.length - 1 && this.id == id) { | |
| 229 | + nextSch = schArr[i + 1]; | |
| 230 | + tempDL.addClass('intimity'); | |
| 230 | 231 | } |
| 231 | 232 | }); |
| 232 | 233 | |
| 233 | - if(nextSch){ | |
| 234 | - $('dl[data-id=' + nextSch.id + ']', contWrap).addClass('intimity'); | |
| 235 | - if (nextSch.xlDir == sch.xlDir) | |
| 236 | - return; | |
| 237 | - //滚动到下一个班次 | |
| 238 | - scroToDl(nextSch); | |
| 234 | + if (nextSch) { | |
| 235 | + $('dl[data-id=' + nextSch.id + ']', contWrap).addClass('intimity'); | |
| 236 | + if (nextSch.xlDir == sch.xlDir) | |
| 237 | + return; | |
| 238 | + //滚动到下一个班次 | |
| 239 | + scroToDl(nextSch); | |
| 239 | 240 | } |
| 240 | 241 | }); |
| 241 | 242 | |
| ... | ... | @@ -282,25 +283,33 @@ var gb_schedule_table = (function() { |
| 282 | 283 | $(dd).parents('.uk-grid.schedule-wrap').find('.relevance-active').removeClass('relevance-active intimity'); |
| 283 | 284 | } |
| 284 | 285 | |
| 285 | - //计算应发未发数量 | |
| 286 | - var calc_yfwf_num = function(lineCode){ | |
| 287 | 286 | |
| 288 | - var schArr=gb_common.get_vals(line2Schedule[lineCode]).sort(schedule_sort) | |
| 289 | - ,yfwf_num=0 | |
| 290 | - ,t = new Date().valueOf(); | |
| 287 | + //计算应发未发数量 car_yfwf_map | |
| 288 | + var calc_yfwf_num = function(lineCode) { | |
| 291 | 289 | |
| 292 | - $.each(schArr, function(){ | |
| 293 | - if(this.fcsjT > t) | |
| 294 | - return false; | |
| 290 | + var schArr = gb_common.get_vals(line2Schedule[lineCode]).sort(schedule_sort), | |
| 291 | + yfwf_num = 0, | |
| 292 | + t = new Date().valueOf(); | |
| 295 | 293 | |
| 296 | - if(this.fcsjActual == null && this.fcsjActualTime == null && this.status != -1) | |
| 297 | - yfwf_num ++; | |
| 298 | - }); | |
| 294 | + var carYfwfMap={}, nbbm; | |
| 295 | + $.each(schArr, function() { | |
| 296 | + if (this.fcsjT > t) | |
| 297 | + return false; | |
| 298 | + | |
| 299 | + if (this.fcsjActual == null && this.fcsjActualTime == null && this.status != -1){ | |
| 300 | + yfwf_num++; | |
| 301 | + nbbm=this.clZbh; | |
| 302 | + if(carYfwfMap[nbbm]) | |
| 303 | + carYfwfMap[nbbm]++; | |
| 304 | + else | |
| 305 | + carYfwfMap[nbbm]=1; | |
| 306 | + } | |
| 307 | + }); | |
| 308 | + car_yfwf_map[lineCode]=carYfwfMap; | |
| 299 | 309 | |
| 300 | - $('#badge_yfwf_num_'+lineCode).text(yfwf_num); | |
| 310 | + $('#badge_yfwf_num_' + lineCode).text(yfwf_num); | |
| 301 | 311 | } |
| 302 | 312 | |
| 303 | - | |
| 304 | 313 | return { |
| 305 | 314 | show: show, |
| 306 | 315 | findScheduleByLine: findScheduleByLine, |
| ... | ... | @@ -308,6 +317,7 @@ var gb_schedule_table = (function() { |
| 308 | 317 | deheteSchedule: deheteSchedule, |
| 309 | 318 | insertSchedule: insertSchedule, |
| 310 | 319 | schedule_sort: schedule_sort, |
| 311 | - calc_yfwf_num: calc_yfwf_num | |
| 320 | + calc_yfwf_num: calc_yfwf_num, | |
| 321 | + car_yfwf_map: function(lineCode){return car_yfwf_map[lineCode];} | |
| 312 | 322 | }; |
| 313 | 323 | })(); | ... | ... |
src/main/resources/static/real_control_v2/js/line_schedule/search.js
| ... | ... | @@ -8,7 +8,7 @@ var gb_sch_search = (function() { |
| 8 | 8 | ' <li data-value="{{ $item.value }}">' + |
| 9 | 9 | ' <a>' + |
| 10 | 10 | ' {{ $item.value }}' + |
| 11 | - ' <small >执行班次 07:00</small>' + | |
| 11 | + ' <small >{{$item.exec}}</small>' + | |
| 12 | 12 | ' <small class="search-result-desc">{{{ $item.desc }}}</small>' + |
| 13 | 13 | ' </a>' + |
| 14 | 14 | ' </li>' + |
| ... | ... | @@ -20,7 +20,7 @@ var gb_sch_search = (function() { |
| 20 | 20 | _input, schArr, lineCode, group_cars; |
| 21 | 21 | $(document) |
| 22 | 22 | .on('focus', ips, function() { |
| 23 | - $(this).addClass('active'); | |
| 23 | + $(this).parent().addClass('active'); | |
| 24 | 24 | lineCode = $(this).parents('li.line_schedule').data('id'); |
| 25 | 25 | schArr = gb_common.get_vals(gb_schedule_table.findScheduleByLine(lineCode)); |
| 26 | 26 | |
| ... | ... | @@ -28,10 +28,15 @@ var gb_sch_search = (function() { |
| 28 | 28 | _input = $(this); |
| 29 | 29 | }) |
| 30 | 30 | .on('blur', ips, function() { |
| 31 | - if ($(this).val() == '') | |
| 32 | - $(this).removeClass('active'); | |
| 31 | + if ($(this).val() == ''){ | |
| 32 | + reset_all(); | |
| 33 | + } | |
| 33 | 34 | }); |
| 34 | 35 | |
| 36 | + $(document).on('click', '.search_sch_panel i.cancel', function(){ | |
| 37 | + reset_all(); | |
| 38 | + }); | |
| 39 | + | |
| 35 | 40 | var elements = '.search_sch_panel .sch-search-autocom'; |
| 36 | 41 | var init = function() { |
| 37 | 42 | $(elements).each(function() { |
| ... | ... | @@ -43,32 +48,67 @@ var gb_sch_search = (function() { |
| 43 | 48 | var constructor = function(e) { |
| 44 | 49 | UIkit.autocomplete(e, { |
| 45 | 50 | minLength: 1, |
| 46 | - delay: 50, | |
| 51 | + delay: 10, | |
| 47 | 52 | source: autocomplete_source |
| 48 | 53 | }).on('selectitem.uk.autocomplete', selectitem); |
| 49 | 54 | } |
| 50 | 55 | |
| 51 | 56 | var autocomplete_source = function(release) { |
| 52 | 57 | var rs = [], |
| 53 | - v = _input.val().toUpperCase(); | |
| 58 | + v = _input.val().toUpperCase(), | |
| 59 | + gps, yfwf_map = gb_schedule_table.car_yfwf_map(lineCode); | |
| 60 | + | |
| 54 | 61 | for (var car in group_cars) { |
| 55 | - if (car.indexOf(v) != -1) | |
| 62 | + if (car.indexOf(v) != -1) { | |
| 63 | + //车辆对应的gps | |
| 64 | + gps = gb_data_gps.findGpsByNbbm(car) | |
| 56 | 65 | rs.push({ |
| 57 | 66 | value: car, |
| 58 | - desc: '应发未发:0,已完成 8 个班次' | |
| 67 | + desc: '应发未发:' + (yfwf_map[car] == null ? 0 : yfwf_map[car]), | |
| 68 | + exec: execSch(gps) | |
| 59 | 69 | }); |
| 70 | + } | |
| 60 | 71 | } |
| 61 | 72 | |
| 62 | - console.log(rs); | |
| 63 | 73 | release && release(rs); |
| 64 | 74 | } |
| 65 | 75 | |
| 66 | - var selectitem = function(event, data, acobject){ | |
| 67 | - var cont='li.line_schedule[data-id='+lineCode+']' | |
| 68 | - ,tbodys=$('.line-schedule-table .ct_table_body', cont); | |
| 76 | + var reset_all = function() { | |
| 77 | + var cont = 'li.line_schedule[data-id=' + lineCode + ']'; | |
| 78 | + //uikit 会记住上一次搜索值,触发keyup以清空该值 | |
| 79 | + $('.sch-search-autocom input', cont).val('').trigger('keyup').parent().removeClass('active'); | |
| 80 | + $('.line-schedule-table .ct_table_body dl._search_hide', cont).removeClass('_search_hide'); | |
| 81 | + } | |
| 82 | + | |
| 83 | + function execSch(gps) { | |
| 84 | + if (gps && gps.schId) { | |
| 85 | + var sch = gb_schedule_table.findScheduleByLine(gps.lineId)[gps.schId]; | |
| 86 | + if (sch) | |
| 87 | + return '(执行' + (sch.xlDir == 0 ? '上行' : '下行') + sch.dfsj + ')'; | |
| 88 | + } | |
| 89 | + return ''; | |
| 90 | + } | |
| 91 | + | |
| 92 | + var selectitem = function(event, data, acobject) { | |
| 93 | + var cont = 'li.line_schedule[data-id=' + lineCode + ']', | |
| 94 | + tbodys = $('.line-schedule-table .ct_table_body', cont); | |
| 95 | + | |
| 96 | + $('.sch-search-autocom input', cont).val(data.value).parent().addClass('active'); | |
| 97 | + | |
| 98 | + $.each(tbodys, function() { | |
| 99 | + filterScheduleByNbbm(this, data.value); | |
| 100 | + }); | |
| 101 | + } | |
| 69 | 102 | |
| 70 | - $('.sch-search-autocom input', cont).val(data.value).addClass('active'); | |
| 71 | - console.log(tbodys); | |
| 103 | + var filterScheduleByNbbm = function(tbody, car) { | |
| 104 | + var dls = $('dl', tbody), | |
| 105 | + dds; | |
| 106 | + dls.removeClass('_search_hide'); | |
| 107 | + $.each(dls, function() { | |
| 108 | + dds = $('dd', this); | |
| 109 | + if (car != $(dds[2]).data('nbbm')) | |
| 110 | + $(this).addClass('_search_hide'); | |
| 111 | + }); | |
| 72 | 112 | } |
| 73 | 113 | |
| 74 | 114 | return { | ... | ... |
src/main/resources/static/real_control_v2/js/main.js
src/main/resources/static/real_control_v2/js/north/toolbar.js
| ... | ... | @@ -46,6 +46,9 @@ var gb_northToolbar = (function() { |
| 46 | 46 | }, |
| 47 | 47 | directive_history: function(){ |
| 48 | 48 | open_modal('/real_control_v2/fragments/north/nav/directive_history.html', {}, modal_opts); |
| 49 | + }, | |
| 50 | + tts_config: function(){ | |
| 51 | + open_modal('/real_control_v2/fragments/north/nav/tts_config.html', {}, modal_opts); | |
| 49 | 52 | } |
| 50 | 53 | } |
| 51 | 54 | })(); | ... | ... |
src/main/resources/static/real_control_v2/js/websocket/sch_websocket.js
| ... | ... | @@ -44,7 +44,11 @@ var gb_sch_websocket = (function() { |
| 44 | 44 | msg.dateStr = moment(msg.timestamp).format('HH:mm'); |
| 45 | 45 | msg.text = gb_common.reqCode80[msg.data.requestCode]; |
| 46 | 46 | |
| 47 | - findMailBox(msg.data.lineId).prepend(temps['sys-note-80-temp'](msg)); | |
| 47 | + var $item=$(temps['sys-note-80-temp'](msg)); | |
| 48 | + findMailBox(msg.data.lineId).prepend($item); | |
| 49 | + //tts | |
| 50 | + var ttsMsg=$item.find('.uk-panel-title').text(); | |
| 51 | + gb_tts.speak(ttsMsg, msg.data.lineId); | |
| 48 | 52 | } |
| 49 | 53 | |
| 50 | 54 | var waitRemoves = []; |
| ... | ... | @@ -53,12 +57,16 @@ var gb_sch_websocket = (function() { |
| 53 | 57 | gb_schedule_table.updateSchedule(msg.t); |
| 54 | 58 | msg.domId = 'fache_' + msg.t.id + '_' + parseInt(Math.random() * 10000); |
| 55 | 59 | |
| 56 | - findMailBox(msg.t.xlBm).prepend(temps['sys-note-42-temp'](msg)); | |
| 60 | + var $item=$(temps['sys-note-42-temp'](msg)); | |
| 61 | + findMailBox(msg.t.xlBm).prepend($item); | |
| 57 | 62 | waitRemoves.push({ |
| 58 | 63 | t: currentSecond(), |
| 59 | 64 | dom: msg.domId |
| 60 | 65 | }); |
| 61 | 66 | |
| 67 | + //tts | |
| 68 | + var ttsMsg=$item.find('.title').text(); | |
| 69 | + gb_tts.speak(ttsMsg, msg.t.xlBm); | |
| 62 | 70 | gb_schedule_table.calc_yfwf_num(msg.t.xlBm); |
| 63 | 71 | } |
| 64 | 72 | |
| ... | ... | @@ -67,11 +75,15 @@ var gb_sch_websocket = (function() { |
| 67 | 75 | gb_schedule_table.updateSchedule(msg.t); |
| 68 | 76 | msg.domId = 'zhongDian_' + msg.t.id + '_' + parseInt(Math.random() * 10000); |
| 69 | 77 | |
| 70 | - findMailBox(msg.t.xlBm).prepend(temps['sys-note-42_1-temp'](msg)); | |
| 78 | + var $item=$(temps['sys-note-42_1-temp'](msg)); | |
| 79 | + findMailBox(msg.t.xlBm).prepend($item); | |
| 71 | 80 | waitRemoves.push({ |
| 72 | 81 | t: currentSecond(), |
| 73 | 82 | dom: msg.domId |
| 74 | 83 | }); |
| 84 | + //tts | |
| 85 | + var ttsMsg=$item.find('.title').text(); | |
| 86 | + gb_tts.speak(ttsMsg, msg.t.xlBm); | |
| 75 | 87 | } |
| 76 | 88 | |
| 77 | 89 | //服务器通知刷新班次 | ... | ... |
src/main/resources/static/real_control_v2/main.html
| ... | ... | @@ -126,6 +126,8 @@ |
| 126 | 126 | <!-- websocket --> |
| 127 | 127 | <script src="/assets/js/sockjs.min.js"></script> |
| 128 | 128 | <script src="/real_control_v2/js/websocket/sch_websocket.js"></script> |
| 129 | + <!-- tts --> | |
| 130 | + <script src="/real_control_v2/js/utils/tts.js"></script> | |
| 129 | 131 | </body> |
| 130 | 132 | |
| 131 | 133 | </html> | ... | ... |