Commit a4f3a8490a854a83441e3a1864dcd804bfb5a6a9

Authored by 王通
1 parent fc5dde8e

1.临加子任务中进出场原因加入“路救抛锚”

src/main/resources/static/real_control_v2/js/common.js
1   -var gb_common = (function () {
2   -
3   - var flatpickrDateTimeConfig = {
4   - enableTime: true,
5   - time_24hr: true,
6   - "locale": "zh",
7   - onOpen: function () {
8   - $(this.calendarContainer).addClass('showTimeInput');
9   - }
10   - };
11   - var reqCode80 = {
12   - 0xA1: '请求恢复运营',
13   - 0xA2: '申请调档',
14   - 0xA3: '出场请求',
15   - 0xA5: '进场请求',
16   - 0xA7: '加油请求',
17   - 0x50: '车辆故障',
18   - 0x70: '路阻报告',
19   - 0x60: '事故报告',
20   - 0x11: '扣证纠纷',
21   - 0x12: '报警'
22   - };
23   -
24   - var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '路救抛锚', '其他'];
25   - var inOutExps = ['故障', '肇事', '纠纷', '其他'];
26   -
27   - var groupBy = function (list, field) {
28   - var rs = {},
29   - key;
30   - $.each(list, function () {
31   - key = this[field];
32   - if (!rs[key])
33   - rs[key] = [];
34   -
35   - rs[key].push(this);
36   - });
37   -
38   - return rs;
39   - };
40   -
41   - /**
42   - * 从班次集合里提取驾驶员
43   - * @param list
44   - */
45   - var extractJsy = function (list) {
46   - var rs = {};
47   - $.each(list, function () {
48   - rs[this.jGh + '/' + this.jName]=1;
49   - });
50   - return rs;
51   - };
52   -
53   - /**
54   - * 从班次集合里提取路牌
55   - * @param list
56   - */
57   - var extractLpName = function (list) {
58   - var rs = {};
59   - $.each(list, function () {
60   - rs[this.lpName]=1;
61   - });
62   - return rs;
63   - };
64   -
65   - /**
66   - * 从班次集合里提取车辆
67   - * @param list
68   - */
69   - var extractNbbm = function (list) {
70   - var rs = {};
71   - $.each(list, function () {
72   - rs[this.clZbh]=1;
73   - });
74   - return rs;
75   - };
76   -
77   - var compileTempByDom = function (dom, opts) {
78   - var tps = {},
79   - id;
80   - $('script[type="text/html"]', dom).each(function () {
81   - id = $(this).attr('id');
82   - if (id)
83   - tps[id] = template.compile($(this).html(), opts);
84   - });
85   - return tps;
86   - };
87   -
88   - var $get = function (url, data, successFun) {
89   - $.ajax({
90   - url: url,
91   - data: data,
92   - complete: function (xhr, ts) {
93   - ajaxComplete(xhr, ts, successFun);
94   - }
95   - });
96   - };
97   -
98   - var $post = function (url, data, successFun, errFun) {
99   - $.ajax({
100   - url: url,
101   - method: 'POST',
102   - data: data,
103   - complete: function (xhr, ts) {
104   - ajaxComplete(xhr, ts, successFun, errFun);
105   - }
106   - });
107   - };
108   -
109   - var $post_arr = function (url, data, successFun) {
110   - $.ajax({
111   - url: url,
112   - method: 'POST',
113   - traditional: true,
114   - data: data,
115   - complete: function (xhr, ts) {
116   - ajaxComplete(xhr, ts, successFun);
117   - }
118   - });
119   - };
120   -
121   - var $del = function (url, successFun) {
122   - $post(url, {'_method': 'delete'}, function (rs) {
123   - successFun && successFun(rs);
124   - });
125   - };
126   -
127   - var errorHead = '<span style="color:red;">异常:</span>';
128   -
129   - function successHandle(json, handle, err) {
130   - var status = json.status;
131   - if (status == 407) {
132   - location.href = '/login.html';
133   - return;
134   - }
135   -
136   - if (!status) {
137   - handle && handle(json);
138   - return;
139   - }
140   -
141   - if (status == 'ERROR'){
142   - UIkit.modal.alert(errorHead + (json.msg ? json.msg : '未知异常'), {labels: {Ok: '确定'}});
143   - //关闭wait窗口
144   - hide_wait_modal();
145   - err && err();
146   - }
147   - else
148   - handle && handle(json);
149   - }
150   -
151   - function ajaxComplete(xhr, ts, succ, err) {
152   - if (ts == 'success') {
153   - successHandle(JSON.parse(xhr.responseText), succ, err);
154   - } else if (ts == 'error') {
155   - UIkit.modal.alert(errorHead + xhr.responseText, {labels: {Ok: '确定'}});
156   - //关闭wait窗口
157   - hide_wait_modal();
158   - err && err();
159   - }
160   - }
161   -
162   - var get_vals = function (json) {
163   - var array = [];
164   - for (var key in json) {
165   - array.push(json[key]);
166   - }
167   -
168   - return array;
169   - };
170   -
171   - var get_keys = function (json) {
172   - var array = [];
173   - for (var key in json) {
174   - array.push(key);
175   - }
176   - return array;
177   - };
178   -
179   - var get_device_tree_data = function (allGps, idBefore) {
180   - if (!idBefore)
181   - idBefore = '';
182   - var treeData = [];
183   - //var data = groupBy(get_vals(gb_data_gps.allGps), 'lineId');
184   - var data = groupBy(get_vals(allGps), 'lineId');
185   - var name;
186   - for (var code in data) {
187   - try {
188   - name = gb_data_basic.codeToLine[code].name;
189   - } catch (e) {
190   - continue;
191   - }
192   -
193   - data[name] = groupBy(data[code], 'upDown');
194   - treeData.push({
195   - 'text': name,
196   - 'a_attr': {'type': 'line', 'id': idBefore + 'line_' + code},
197   - 'children': [{
198   - 'text': '上行',
199   - 'children': grabs(data[name][0], idBefore),
200   - 'a_attr': {
201   - 'type': 'route',
202   - 'route': code + '_0',
203   - 'id': idBefore + 'route_' + code + '_0'
204   - }
205   - }, {
206   - 'text': '下行',
207   - 'children': grabs(data[name][1], idBefore),
208   - 'a_attr': {
209   - 'type': 'route',
210   - 'route': code + '_1',
211   - 'id': idBefore + 'route_' + code + '_1'
212   - }
213   - }]
214   - });
215   - }
216   -
217   - function grabs(array, idBefore) {
218   - if (!array)
219   - return;
220   - var rs = [];
221   - $.each(array, function () {
222   - rs.push({
223   - 'text': this.nbbm,
224   - 'a_attr': {
225   - 'type': 'device',
226   - 'device': this.deviceId,
227   - 'id': idBefore + 'device_' + this.nbbm
228   - },
229   - 'data': {lineId: this.lineId, upDown: this.upDown},
230   - 'icon': 'uk-icon-bus'
231   - });
232   - });
233   - return rs;
234   - }
235   -
236   - return treeData;
237   - };
238   -
239   - var lineAutocomplete = function (element) {
240   - //construction data
241   - var data = [],
242   - code2Name = gb_data_basic.lineCode2NameAll(),
243   - name;
244   - for (var code in code2Name) {
245   - name = code2Name[code];
246   - data.push({
247   - value: name,
248   - code: code,
249   - fullChars: pinyin.getFullChars(name),
250   - camelChars: pinyin.getCamelChars(name)
251   - });
252   - }
253   - init_autocom_pinyin(element, data);
254   - };
255   -
256   - var personAutocomplete = function (element, personMaps) {
257   - /*var data = [],name;
258   - for(var jobCode in personMaps){
259   - name=personMaps[jobCode];
260   - data.push({
261   - value: jobCode+'/'+name,
262   - fullChars: pinyin.getFullChars(name).toUpperCase(),
263   - camelChars: pinyin.getCamelChars(name)
264   - });
265   - }*/
266   - //init_autocom_pinyin(element, data);
267   - init_autocom_pinyin(element, gb_data_basic.allPersonnel());
268   - };
269   -
270   - var remarksAutocomplete = function (element) {
271   - init_autocom_pinyin(element, gb_data_basic.remarksMapps());
272   - };
273   -
274   - var carAutocomplete = function (element, list) {
275   - var data = [];
276   - $.each(list, function () {
277   - data.push({value: this});
278   - });
279   - init_autocomplete(element, data);
280   - };
281   -
282   - var init_autocom_pinyin = function (element, data) {
283   - // init autocomplete
284   - var autocomplete = UIkit.autocomplete(element, {
285   - minLength: 1,
286   - delay: 50,
287   - source: function (release) {
288   - var q = $('input', element).val().toUpperCase(),
289   - rs = [],
290   - count = 0;
291   -
292   - $.each(data, function () {
293   - if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1) {
294   - rs.push(this);
295   - count++;
296   - }
297   -
298   - if (count >= 10)
299   - return false;
300   - });
301   -
302   - release && release(rs);
303   - }
304   - });
305   - };
306   -
307   - var init_autocomplete = function (element, data) {
308   - var autocomplete = UIkit.autocomplete(element, {
309   - minLength: 1,
310   - delay: 50,
311   - source: function (release) {
312   - var q = $('input', element).val().toUpperCase(),
313   - rs = [],
314   - count = 0;
315   -
316   - $.each(data, function () {
317   - if (this.value.indexOf(q) != -1) {
318   - rs.push(this);
319   - count++;
320   - }
321   - if (count >= 10)
322   - return false;
323   - });
324   - release && release(rs);
325   - }
326   - });
327   - };
328   -
329   - var accAdd = function (a, b) {
330   - var c, d, e;
331   - try {
332   - c = a.toString().split(".")[1].length;
333   - } catch (f) {
334   - c = 0;
335   - }
336   - try {
337   - d = b.toString().split(".")[1].length;
338   - } catch (f) {
339   - d = 0;
340   - }
341   - return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
342   - };
343   -
344   - function accDiv(arg1,arg2){
345   - var t1=0,t2=0,r1,r2;
346   - try{t1=arg1.toString().split(".")[1].length}catch(e){}
347   - try{t2=arg2.toString().split(".")[1].length}catch(e){}
348   - with(Math){
349   - r1=Number(arg1.toString().replace(".",""))
350   - r2=Number(arg2.toString().replace(".",""))
351   - return (r1/r2)*pow(10,t2-t1);
352   - }
353   - }
354   -
355   - function mul(a, b) {
356   - var c = 0,
357   - d = a.toString(),
358   - e = b.toString();
359   - try {
360   - c += d.split(".")[1].length;
361   - } catch (f) {
362   - }
363   - try {
364   - c += e.split(".")[1].length;
365   - } catch (f) {
366   - }
367   - return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
368   - }
369   -
370   - var numSubtr = function (a, b) {
371   - var c, d, e;
372   - try {
373   - c = a.toString().split(".")[1].length;
374   - } catch (f) {
375   - c = 0;
376   - }
377   - try {
378   - d = b.toString().split(".")[1].length;
379   - } catch (f) {
380   - d = 0;
381   - }
382   - return e = Math.pow(10, Math.max(c, d)), (a * e - b * e) / e;
383   - };
384   -
385   - var trim = function (str, is_global) {
386   - var result;
387   - result = str.replace(/(^\s+)|(\s+$)/g, "");
388   - if (is_global.toLowerCase() == "g") {
389   - result = result.replace(/\s/g, "");
390   - }
391   - return result;
392   - };
393   -
394   - var inverse = function (map) {
395   - var rs = {};
396   - for(var k in map){
397   - rs[map[k]] = k;
398   - }
399   -
400   - return rs;
401   - };
402   -
403   - var next_elem = function (clazz, e) {
404   - var ne = e.next();
405   - if(ne.length==0)
406   - return [];
407   - else if(ne.hasClass(clazz))
408   - return ne;
409   - else
410   - return next_elem(clazz, ne);
411   - };
412   -
413   - var getDisabledVal = function (f) {
414   - var rs = {};
415   - $('input,select', f).each(function () {
416   - if($(this).attr('disabled')){
417   - rs[$(this).attr('name')]=$(this).val();
418   - }
419   - });
420   - return rs;
421   - };
422   -
423   - return {
424   - reqCode80: reqCode80,
425   - groupBy: groupBy,
426   - extractJsy: extractJsy,
427   - extractLpName: extractLpName,
428   - compileTempByDom: compileTempByDom,
429   - $get: $get,
430   - $post: $post,
431   - $post_arr: $post_arr,
432   - $del: $del,
433   - get_vals: get_vals,
434   - get_keys: get_keys,
435   - get_device_tree_data: get_device_tree_data,
436   - lineAutocomplete: lineAutocomplete,
437   - personAutocomplete: personAutocomplete,
438   - carAutocomplete: carAutocomplete,
439   - init_autocomplete: init_autocomplete,
440   - init_autocom_pinyin: init_autocom_pinyin,
441   - accAdd: accAdd,
442   - numSubtr: numSubtr,
443   - trim: trim,
444   - remarksAutocomplete: remarksAutocomplete,
445   - flatpickrDateTimeConfig: flatpickrDateTimeConfig,
446   - inverse: inverse,
447   - accDiv: accDiv,
448   - mul: mul,
449   - adjustExps: adjustExps,
450   - inOutExps: inOutExps,
451   - next_elem: next_elem,
452   - getDisabledVal: getDisabledVal,
453   - extractNbbm: extractNbbm
454   -
455   - //whichTransitionEvent:whichTransitionEvent
456   - };
457   -})();
  1 +var gb_common = (function () {
  2 +
  3 + var flatpickrDateTimeConfig = {
  4 + enableTime: true,
  5 + time_24hr: true,
  6 + "locale": "zh",
  7 + onOpen: function () {
  8 + $(this.calendarContainer).addClass('showTimeInput');
  9 + }
  10 + };
  11 + var reqCode80 = {
  12 + 0xA1: '请求恢复运营',
  13 + 0xA2: '申请调档',
  14 + 0xA3: '出场请求',
  15 + 0xA5: '进场请求',
  16 + 0xA7: '加油请求',
  17 + 0x50: '车辆故障',
  18 + 0x70: '路阻报告',
  19 + 0x60: '事故报告',
  20 + 0x11: '扣证纠纷',
  21 + 0x12: '报警'
  22 + };
  23 +
  24 + var adjustExps = ['配车', '保养', '故障', '肇事', '路阻', '纠纷', '缺人', '客稀', '缺车', '气候', '援外', '吊慢', '抽减', '路救抛锚', '其他'];
  25 + var inOutExps = ['故障', '肇事', '纠纷', '路救抛锚', '其他'];
  26 +
  27 + var groupBy = function (list, field) {
  28 + var rs = {},
  29 + key;
  30 + $.each(list, function () {
  31 + key = this[field];
  32 + if (!rs[key])
  33 + rs[key] = [];
  34 +
  35 + rs[key].push(this);
  36 + });
  37 +
  38 + return rs;
  39 + };
  40 +
  41 + /**
  42 + * 从班次集合里提取驾驶员
  43 + * @param list
  44 + */
  45 + var extractJsy = function (list) {
  46 + var rs = {};
  47 + $.each(list, function () {
  48 + rs[this.jGh + '/' + this.jName]=1;
  49 + });
  50 + return rs;
  51 + };
  52 +
  53 + /**
  54 + * 从班次集合里提取路牌
  55 + * @param list
  56 + */
  57 + var extractLpName = function (list) {
  58 + var rs = {};
  59 + $.each(list, function () {
  60 + rs[this.lpName]=1;
  61 + });
  62 + return rs;
  63 + };
  64 +
  65 + /**
  66 + * 从班次集合里提取车辆
  67 + * @param list
  68 + */
  69 + var extractNbbm = function (list) {
  70 + var rs = {};
  71 + $.each(list, function () {
  72 + rs[this.clZbh]=1;
  73 + });
  74 + return rs;
  75 + };
  76 +
  77 + var compileTempByDom = function (dom, opts) {
  78 + var tps = {},
  79 + id;
  80 + $('script[type="text/html"]', dom).each(function () {
  81 + id = $(this).attr('id');
  82 + if (id)
  83 + tps[id] = template.compile($(this).html(), opts);
  84 + });
  85 + return tps;
  86 + };
  87 +
  88 + var $get = function (url, data, successFun) {
  89 + $.ajax({
  90 + url: url,
  91 + data: data,
  92 + complete: function (xhr, ts) {
  93 + ajaxComplete(xhr, ts, successFun);
  94 + }
  95 + });
  96 + };
  97 +
  98 + var $post = function (url, data, successFun, errFun) {
  99 + $.ajax({
  100 + url: url,
  101 + method: 'POST',
  102 + data: data,
  103 + complete: function (xhr, ts) {
  104 + ajaxComplete(xhr, ts, successFun, errFun);
  105 + }
  106 + });
  107 + };
  108 +
  109 + var $post_arr = function (url, data, successFun) {
  110 + $.ajax({
  111 + url: url,
  112 + method: 'POST',
  113 + traditional: true,
  114 + data: data,
  115 + complete: function (xhr, ts) {
  116 + ajaxComplete(xhr, ts, successFun);
  117 + }
  118 + });
  119 + };
  120 +
  121 + var $del = function (url, successFun) {
  122 + $post(url, {'_method': 'delete'}, function (rs) {
  123 + successFun && successFun(rs);
  124 + });
  125 + };
  126 +
  127 + var errorHead = '<span style="color:red;">异常:</span>';
  128 +
  129 + function successHandle(json, handle, err) {
  130 + var status = json.status;
  131 + if (status == 407) {
  132 + location.href = '/login.html';
  133 + return;
  134 + }
  135 +
  136 + if (!status) {
  137 + handle && handle(json);
  138 + return;
  139 + }
  140 +
  141 + if (status == 'ERROR'){
  142 + UIkit.modal.alert(errorHead + (json.msg ? json.msg : '未知异常'), {labels: {Ok: '确定'}});
  143 + //关闭wait窗口
  144 + hide_wait_modal();
  145 + err && err();
  146 + }
  147 + else
  148 + handle && handle(json);
  149 + }
  150 +
  151 + function ajaxComplete(xhr, ts, succ, err) {
  152 + if (ts == 'success') {
  153 + successHandle(JSON.parse(xhr.responseText), succ, err);
  154 + } else if (ts == 'error') {
  155 + UIkit.modal.alert(errorHead + xhr.responseText, {labels: {Ok: '确定'}});
  156 + //关闭wait窗口
  157 + hide_wait_modal();
  158 + err && err();
  159 + }
  160 + }
  161 +
  162 + var get_vals = function (json) {
  163 + var array = [];
  164 + for (var key in json) {
  165 + array.push(json[key]);
  166 + }
  167 +
  168 + return array;
  169 + };
  170 +
  171 + var get_keys = function (json) {
  172 + var array = [];
  173 + for (var key in json) {
  174 + array.push(key);
  175 + }
  176 + return array;
  177 + };
  178 +
  179 + var get_device_tree_data = function (allGps, idBefore) {
  180 + if (!idBefore)
  181 + idBefore = '';
  182 + var treeData = [];
  183 + //var data = groupBy(get_vals(gb_data_gps.allGps), 'lineId');
  184 + var data = groupBy(get_vals(allGps), 'lineId');
  185 + var name;
  186 + for (var code in data) {
  187 + try {
  188 + name = gb_data_basic.codeToLine[code].name;
  189 + } catch (e) {
  190 + continue;
  191 + }
  192 +
  193 + data[name] = groupBy(data[code], 'upDown');
  194 + treeData.push({
  195 + 'text': name,
  196 + 'a_attr': {'type': 'line', 'id': idBefore + 'line_' + code},
  197 + 'children': [{
  198 + 'text': '上行',
  199 + 'children': grabs(data[name][0], idBefore),
  200 + 'a_attr': {
  201 + 'type': 'route',
  202 + 'route': code + '_0',
  203 + 'id': idBefore + 'route_' + code + '_0'
  204 + }
  205 + }, {
  206 + 'text': '下行',
  207 + 'children': grabs(data[name][1], idBefore),
  208 + 'a_attr': {
  209 + 'type': 'route',
  210 + 'route': code + '_1',
  211 + 'id': idBefore + 'route_' + code + '_1'
  212 + }
  213 + }]
  214 + });
  215 + }
  216 +
  217 + function grabs(array, idBefore) {
  218 + if (!array)
  219 + return;
  220 + var rs = [];
  221 + $.each(array, function () {
  222 + rs.push({
  223 + 'text': this.nbbm,
  224 + 'a_attr': {
  225 + 'type': 'device',
  226 + 'device': this.deviceId,
  227 + 'id': idBefore + 'device_' + this.nbbm
  228 + },
  229 + 'data': {lineId: this.lineId, upDown: this.upDown},
  230 + 'icon': 'uk-icon-bus'
  231 + });
  232 + });
  233 + return rs;
  234 + }
  235 +
  236 + return treeData;
  237 + };
  238 +
  239 + var lineAutocomplete = function (element) {
  240 + //construction data
  241 + var data = [],
  242 + code2Name = gb_data_basic.lineCode2NameAll(),
  243 + name;
  244 + for (var code in code2Name) {
  245 + name = code2Name[code];
  246 + data.push({
  247 + value: name,
  248 + code: code,
  249 + fullChars: pinyin.getFullChars(name),
  250 + camelChars: pinyin.getCamelChars(name)
  251 + });
  252 + }
  253 + init_autocom_pinyin(element, data);
  254 + };
  255 +
  256 + var personAutocomplete = function (element, personMaps) {
  257 + /*var data = [],name;
  258 + for(var jobCode in personMaps){
  259 + name=personMaps[jobCode];
  260 + data.push({
  261 + value: jobCode+'/'+name,
  262 + fullChars: pinyin.getFullChars(name).toUpperCase(),
  263 + camelChars: pinyin.getCamelChars(name)
  264 + });
  265 + }*/
  266 + //init_autocom_pinyin(element, data);
  267 + init_autocom_pinyin(element, gb_data_basic.allPersonnel());
  268 + };
  269 +
  270 + var remarksAutocomplete = function (element) {
  271 + init_autocom_pinyin(element, gb_data_basic.remarksMapps());
  272 + };
  273 +
  274 + var carAutocomplete = function (element, list) {
  275 + var data = [];
  276 + $.each(list, function () {
  277 + data.push({value: this});
  278 + });
  279 + init_autocomplete(element, data);
  280 + };
  281 +
  282 + var init_autocom_pinyin = function (element, data) {
  283 + // init autocomplete
  284 + var autocomplete = UIkit.autocomplete(element, {
  285 + minLength: 1,
  286 + delay: 50,
  287 + source: function (release) {
  288 + var q = $('input', element).val().toUpperCase(),
  289 + rs = [],
  290 + count = 0;
  291 +
  292 + $.each(data, function () {
  293 + if (this.value.indexOf(q) != -1 || this.fullChars.indexOf(q) != -1 || this.camelChars.indexOf(q) != -1) {
  294 + rs.push(this);
  295 + count++;
  296 + }
  297 +
  298 + if (count >= 10)
  299 + return false;
  300 + });
  301 +
  302 + release && release(rs);
  303 + }
  304 + });
  305 + };
  306 +
  307 + var init_autocomplete = function (element, data) {
  308 + var autocomplete = UIkit.autocomplete(element, {
  309 + minLength: 1,
  310 + delay: 50,
  311 + source: function (release) {
  312 + var q = $('input', element).val().toUpperCase(),
  313 + rs = [],
  314 + count = 0;
  315 +
  316 + $.each(data, function () {
  317 + if (this.value.indexOf(q) != -1) {
  318 + rs.push(this);
  319 + count++;
  320 + }
  321 + if (count >= 10)
  322 + return false;
  323 + });
  324 + release && release(rs);
  325 + }
  326 + });
  327 + };
  328 +
  329 + var accAdd = function (a, b) {
  330 + var c, d, e;
  331 + try {
  332 + c = a.toString().split(".")[1].length;
  333 + } catch (f) {
  334 + c = 0;
  335 + }
  336 + try {
  337 + d = b.toString().split(".")[1].length;
  338 + } catch (f) {
  339 + d = 0;
  340 + }
  341 + return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
  342 + };
  343 +
  344 + function accDiv(arg1,arg2){
  345 + var t1=0,t2=0,r1,r2;
  346 + try{t1=arg1.toString().split(".")[1].length}catch(e){}
  347 + try{t2=arg2.toString().split(".")[1].length}catch(e){}
  348 + with(Math){
  349 + r1=Number(arg1.toString().replace(".",""))
  350 + r2=Number(arg2.toString().replace(".",""))
  351 + return (r1/r2)*pow(10,t2-t1);
  352 + }
  353 + }
  354 +
  355 + function mul(a, b) {
  356 + var c = 0,
  357 + d = a.toString(),
  358 + e = b.toString();
  359 + try {
  360 + c += d.split(".")[1].length;
  361 + } catch (f) {
  362 + }
  363 + try {
  364 + c += e.split(".")[1].length;
  365 + } catch (f) {
  366 + }
  367 + return Number(d.replace(".", "")) * Number(e.replace(".", "")) / Math.pow(10, c);
  368 + }
  369 +
  370 + var numSubtr = function (a, b) {
  371 + var c, d, e;
  372 + try {
  373 + c = a.toString().split(".")[1].length;
  374 + } catch (f) {
  375 + c = 0;
  376 + }
  377 + try {
  378 + d = b.toString().split(".")[1].length;
  379 + } catch (f) {
  380 + d = 0;
  381 + }
  382 + return e = Math.pow(10, Math.max(c, d)), (a * e - b * e) / e;
  383 + };
  384 +
  385 + var trim = function (str, is_global) {
  386 + var result;
  387 + result = str.replace(/(^\s+)|(\s+$)/g, "");
  388 + if (is_global.toLowerCase() == "g") {
  389 + result = result.replace(/\s/g, "");
  390 + }
  391 + return result;
  392 + };
  393 +
  394 + var inverse = function (map) {
  395 + var rs = {};
  396 + for(var k in map){
  397 + rs[map[k]] = k;
  398 + }
  399 +
  400 + return rs;
  401 + };
  402 +
  403 + var next_elem = function (clazz, e) {
  404 + var ne = e.next();
  405 + if(ne.length==0)
  406 + return [];
  407 + else if(ne.hasClass(clazz))
  408 + return ne;
  409 + else
  410 + return next_elem(clazz, ne);
  411 + };
  412 +
  413 + var getDisabledVal = function (f) {
  414 + var rs = {};
  415 + $('input,select', f).each(function () {
  416 + if($(this).attr('disabled')){
  417 + rs[$(this).attr('name')]=$(this).val();
  418 + }
  419 + });
  420 + return rs;
  421 + };
  422 +
  423 + return {
  424 + reqCode80: reqCode80,
  425 + groupBy: groupBy,
  426 + extractJsy: extractJsy,
  427 + extractLpName: extractLpName,
  428 + compileTempByDom: compileTempByDom,
  429 + $get: $get,
  430 + $post: $post,
  431 + $post_arr: $post_arr,
  432 + $del: $del,
  433 + get_vals: get_vals,
  434 + get_keys: get_keys,
  435 + get_device_tree_data: get_device_tree_data,
  436 + lineAutocomplete: lineAutocomplete,
  437 + personAutocomplete: personAutocomplete,
  438 + carAutocomplete: carAutocomplete,
  439 + init_autocomplete: init_autocomplete,
  440 + init_autocom_pinyin: init_autocom_pinyin,
  441 + accAdd: accAdd,
  442 + numSubtr: numSubtr,
  443 + trim: trim,
  444 + remarksAutocomplete: remarksAutocomplete,
  445 + flatpickrDateTimeConfig: flatpickrDateTimeConfig,
  446 + inverse: inverse,
  447 + accDiv: accDiv,
  448 + mul: mul,
  449 + adjustExps: adjustExps,
  450 + inOutExps: inOutExps,
  451 + next_elem: next_elem,
  452 + getDisabledVal: getDisabledVal,
  453 + extractNbbm: extractNbbm
  454 +
  455 + //whichTransitionEvent:whichTransitionEvent
  456 + };
  457 +})();
... ...