Commit e79c5054bdf701aa760ec686ade5f9603476cf9d

Authored by 王富生
1 parent 5f08568d

增加unit.js

Showing 1 changed file with 500 additions and 0 deletions
resource/js/unit.js 0 → 100644
  1 +/**
  2 + * Created by mac on 17/5/8.
  3 + */
  4 +sysComm = {
  5 + sysCode: '1001',//企业云系统编码
  6 + gvnSysCode: '1002',//政府系统编码
  7 + grantType: 'PASSWORD',//授权模式
  8 + clientType: 'WEB'//客户端类型
  9 +}
  10 +
  11 +//阿里云测试环境,别删
  12 +//
  13 +// var baseUrl = 'http://192.168.1.196:8088/';// url公用地址
  14 +// var parkcloudbaseUrl = 'http://192.168.1.196:8093/';// url公用地址
  15 +// var authUrl = 'http://192.168.1.196:8088/';// 鉴权URL公用地址s
  16 +
  17 +
  18 + var parkcloudbaseUrl = 'http://localhost:8100/';// url公用地址
  19 +
  20 +
  21 +
  22 +
  23 +
  24 +
  25 +var dataUrl = dataUrl || {};
  26 +
  27 +// dataUrl.util = {
  28 +//
  29 +//
  30 +//
  31 +// }
  32 +
  33 +dataUrl.util = {
  34 +
  35 +
  36 + queryChargerIncomeByPlNos: function () {
  37 + return parkcloudbaseUrl + 'index/new/queryChargerIncomeByPlNos';
  38 + },
  39 +
  40 +
  41 + //获取普通API鉴权token
  42 + getToken: function () {
  43 + var token = sessionStorage.getItem("token");
  44 + if (StrUtil.isEmpty(token)) {
  45 + token = '';
  46 + }
  47 + return token;
  48 + },
  49 + //设置普通API鉴权token
  50 + setToken: function (token) {
  51 + sessionStorage.setItem("token", token);
  52 + },
  53 + getUserAccount: function () {
  54 + return sessionStorage.getItem("userAccount");
  55 + },
  56 + setUserAccount: function (userAccount) {
  57 + sessionStorage.setItem("userAccount", userAccount);
  58 + },
  59 + getUserName: function () {
  60 + return sessionStorage.getItem("userName");
  61 + },
  62 + setUserName: function (userName) {
  63 + sessionStorage.setItem("userName", userName);
  64 + },
  65 + getOpImgPath: function () {
  66 + return sessionStorage.getItem("imgPath");
  67 + },
  68 + setOpImgPath: function (imgPath) {
  69 + sessionStorage.setItem("imgPath", imgPath);
  70 + },
  71 + getUserId: function () {
  72 + return sessionStorage.getItem("userId");
  73 + },
  74 + setUserId: function (userId) {
  75 + sessionStorage.setItem("userId", userId);
  76 + },
  77 + getOrgId: function () {
  78 + return sessionStorage.getItem("orgId");
  79 + },
  80 + setOrgId: function (orgId) {
  81 + sessionStorage.setItem("orgId", orgId);
  82 + },
  83 + getSysShowName: function () {
  84 + return sessionStorage.getItem("sysShowName");
  85 + },
  86 + setSysShowName: function (sysShowName) {
  87 + sessionStorage.setItem("sysShowName", sysShowName);
  88 + },
  89 + //跳转到登录界面
  90 + toLoginPage: function () {
  91 + sessionStorage.setItem("sys_parkLot", '');
  92 + window.location.href = '../../login/login.html'
  93 + },
  94 + //登出系统
  95 + loginOut: function () {
  96 + sessionStorage.clear()
  97 + var token = fn.getToken();
  98 + fn.setToken('');
  99 + if (StrUtil.isNotEmpty()) {
  100 + var req = {'token': token, 'url': dataUrl.util.getLoginOut()}
  101 + sysAjax(req);
  102 +
  103 + }
  104 + fn.toLoginPage();
  105 + }
  106 +
  107 +}
  108 +
  109 +DateUtil = {
  110 + dataFormat: function (longTime, formatStr) {
  111 + //格式化时间
  112 + //longTime 要进行格式化的long类型的时间
  113 + //formatStr 要格式化成的字符串类型
  114 + var data = new Date(longTime);
  115 + return data.Format(formatStr);
  116 + },
  117 + isLongTime: function (longTime) {
  118 + //判断是否是longTime时间类型
  119 +
  120 + }
  121 +}
  122 +
  123 +//cookie操作工具类
  124 +CkUtil = {
  125 + //获取cookie
  126 + getCookie: function (name) {
  127 + var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  128 + if (arr = document.cookie.match(reg))
  129 + return unescape(arr[2]);
  130 + else
  131 + return null;
  132 + },
  133 + //删除cookie
  134 + delCookie: function (name) {
  135 + var exp = new Date();
  136 + exp.setTime(exp.getTime() - 1);
  137 + var cval = CkUtil.getCookie(name);
  138 + if (cval != null)
  139 + document.cookie = name + "=" + cval + ";expires=" + exp.toUTCString();
  140 + },
  141 + //设置cookie,time单位毫秒
  142 + setCookie: function (name, value, time) {
  143 + var exp = new Date();
  144 + exp.setTime(exp.getTime() + time);
  145 + document.cookie = name + "=" + escape(value) + ";expires=" + exp.toUTCString();
  146 + },
  147 + //获取毫秒数 1s的毫秒数为 getSec('s1') 1小时为 getSec('h1')
  148 + getSec: function (str) {
  149 + var str1 = str.substring(1, str.length) * 1;
  150 + var str2 = str.substring(0, 1);
  151 + if (str2 == "s") {
  152 + return str1 * 1000;
  153 + }
  154 + else if (str2 == "h") {
  155 + return str1 * 60 * 60 * 1000;
  156 + }
  157 + else if (str2 == "d") {
  158 + return str1 * 24 * 60 * 60 * 1000;
  159 + }
  160 + }
  161 +
  162 +}
  163 +
  164 +ArrayUtils = {
  165 + /**判断属性是否已经在数组中存在*/
  166 + contains: function (array, obj) {
  167 + var i = array.length;
  168 + while (i--) {
  169 + if (array[i] === obj) {
  170 + return true;
  171 + }
  172 + }
  173 + return false;
  174 + }
  175 +
  176 +}
  177 +
  178 +
  179 +StrUtil = {
  180 + isEmpty: function (str) {
  181 + if (str == undefined || null == str || StrUtil.trim(str).length == 0) {
  182 + return true;
  183 + }
  184 + return false;
  185 + },
  186 + isNotEmpty: function (str) {
  187 + return !StrUtil.isEmpty(str);
  188 + },
  189 + trim: function (str) {
  190 + //删除左右两端的空格
  191 + return str.replace(/(^\s*)|(\s*$)/g, "");
  192 + },
  193 + ltrim: function (str) {
  194 + //删除左边的空格
  195 + return str.replace(/(^\s*)/g, "");
  196 + },
  197 + rtrim: function (str) {
  198 + //删除右边的空格
  199 + return str.replace(/(\s*$)/g, "");
  200 + }
  201 +}
  202 +
  203 +
  204 +// 对Date的扩展,将 Date 转化为指定格式的String
  205 +// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符,
  206 +// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
  207 +// 例子:
  208 +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
  209 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18
  210 +Date.prototype.Format = function (fmt) { //author: meizz
  211 + var o = {
  212 + "M+": this.getMonth() + 1, //月份
  213 + "d+": this.getDate(), //日
  214 + "h+": this.getHours(), //小时
  215 + "m+": this.getMinutes(), //分
  216 + "s+": this.getSeconds(), //秒
  217 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  218 + "S": this.getMilliseconds() //毫秒
  219 + };
  220 + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  221 + for (var k in o)
  222 + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  223 + return fmt;
  224 +}
  225 +
  226 +
  227 +//公用接口调用
  228 +
  229 +function sysAjax(opts) {
  230 +
  231 + //一.设置默认参数
  232 + var defaults = {
  233 + method: 'GET',
  234 + url: '',
  235 + dataType: 'json',
  236 + data: '',
  237 + async: true,
  238 + cache: false,
  239 + contentType: 'application/json; charset=utf-8',
  240 + success: function () {
  241 + },
  242 + error: function () {
  243 + }
  244 + };
  245 +
  246 +
  247 + //二.用户参数覆盖默认参数
  248 + for (var key in opts) {
  249 + defaults[key] = opts[key];
  250 + }
  251 + // console.log("请求相关参数:");
  252 + // console.log(defaults)
  253 + $.ajax({
  254 + type: defaults.method,
  255 + url: defaults.url,
  256 + dataType: defaults.dataType,
  257 + contentType: defaults.contentType,
  258 + data: defaults.data,
  259 + async: defaults.async,
  260 + beforeSend: function (xhr) {
  261 + //设置请求头
  262 + //xhr.setRequestHeader("User-Agent", "headertest");
  263 + //console.log(JSON.stringify(sysComm));
  264 + xhr.setRequestHeader("x-auth-token", fn.getToken());
  265 + },
  266 + success: function (res, status, xhr) {
  267 + //console.log('获取header:'+xhr.getAllResponseHeaders());
  268 + // console.log("服务器响应信息:");
  269 + // console.log(res)
  270 + var msg = (typeof res.msg == 'string') && (res.msg.constructor == String) ? res.msg : res.errMsg;
  271 + //成功
  272 + if (res.code == "2003") {
  273 + //授权令牌不存在或已失效,请重新登录后在尝试
  274 + window.location.href = '../login.html'
  275 + } else if (res.code == "2004") {
  276 + //授权令牌不合法,请重新登录收尝试
  277 + //alert(res.msg);
  278 + window.location.href = '../login.html'
  279 + } else if (res.code == "2005") {
  280 + //无此权限
  281 + alert(msg);
  282 + } else {
  283 + defaults.success(res, status, xhr);
  284 + }
  285 + },
  286 + error: function (XMLHttpRequest, textStatus, errorThrown) {
  287 + if (textStatus == "timeout") {
  288 + //alert('请求超时,请重试');
  289 + } else {
  290 + //alert("请求报错")
  291 + console.log(errorThrown);
  292 + }
  293 +
  294 + }
  295 + });
  296 +}
  297 +
  298 +
  299 +function ajaxCommon(opts) {
  300 + //一.设置默认参数
  301 + var defaults = {
  302 + method: 'GET',
  303 + url: '',
  304 + data: '',
  305 + async: true,
  306 + cache: false,
  307 + contentType: 'application/json; charset=utf-8',
  308 + beforeSend: function (xhr) {
  309 + //设置请求头
  310 + //xhr.setRequestHeader("User-Agent", "headertest");
  311 + //console.log(JSON.stringify(sysComm));
  312 + xhr.setRequestHeader("x-auth-token", fn.getToken());
  313 + },
  314 + success: function () {
  315 + },
  316 + error: function () {
  317 + }
  318 + };
  319 +
  320 + //二.用户参数覆盖默认参数
  321 + for (var key in opts) {
  322 + defaults[key] = opts[key];
  323 + }
  324 +
  325 + defaults.method = defaults.method.toUpperCase(); //处理 method
  326 +
  327 + //三.对数据进行处理
  328 + //如果数据是对象,并且 方法为 get方法时,将data拼接到url后面
  329 + if (typeof defaults.data === 'object' && defaults.method === 'GET') { //处理 data
  330 + var str = '';
  331 + for (var key in defaults.data) {
  332 + str += key + '=' + defaults.data[key] + '&';
  333 + }
  334 + defaults.data = str.substring(0, str.length - 1);
  335 + }
  336 +
  337 + defaults.cache = defaults.cache ? '' : '&' + new Date().getTime();//处理 cache
  338 +
  339 + if (defaults.method === 'GET' && (defaults.data || defaults.cache)) defaults.url += '?' + defaults.data + defaults.cache; //处理 url
  340 +
  341 + //四.开始编写ajax
  342 + //1.创建ajax对象
  343 + var oXhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
  344 + //2.和服务器建立联系,告诉服务器你要取什么文件
  345 + oXhr.open(defaults.method, defaults.url, defaults.async);
  346 + //3.发送请求
  347 + if (defaults.method === 'GET')
  348 + oXhr.send(null);
  349 + else {
  350 + oXhr.setRequestHeader("Content-type", defaults.contentType);
  351 + oXhr.send(defaults.data);
  352 + }
  353 + //4.等待服务器回应
  354 + oXhr.onreadystatechange = function () {
  355 + if (oXhr.readyState === 4) {
  356 + if (oXhr.status === 200)
  357 + defaults.success.call(oXhr, oXhr.responseText);
  358 + else {
  359 + defaults.error();
  360 + }
  361 + }
  362 + };
  363 +}
  364 +
  365 +/**
  366 + * jquery 解绑绑定函数.<br/>
  367 + * wangfs 2018-01-11.<br/>
  368 + */
  369 +var documentBindFunc ={
  370 + /**
  371 + * @param event 事件名称如:click
  372 + * @param element 元素 如:id,class 元素等
  373 + * @param func 函数
  374 + * 例子:documentBindFunc.on('click','#berthmanage-addBtn',function () {});
  375 + */
  376 + on: function (event, element, func) {
  377 + $(document).off(event, element);
  378 + $(document).on(event, element, func);
  379 + }
  380 +
  381 +};
  382 +/*
  383 + @ songcxa
  384 + @ 2018-1-3
  385 + @ 暂时公共方法
  386 +*/
  387 +var commonClass = {
  388 + /*
  389 + @切割字符串
  390 + @str原字符串
  391 + @num字符位数
  392 + */
  393 + cutString: function (str, num) {
  394 + var _str = "";
  395 + if (str.length >= num) {
  396 + var strN = str.substring(0, num);
  397 + strN += "...";
  398 + _str = strN;
  399 + } else {
  400 + _str = str;
  401 + }
  402 + return _str;
  403 + },
  404 +
  405 + /*
  406 + @ popupObject:pop-plug
  407 + @ inputID:输入框id
  408 + @ popID:提示框id
  409 + @ queryOption(url、queryParames请求参数post、itemsSelectCallback提示框选择事件)
  410 + */
  411 + popupObject: function (inputID, popID, queryOption) {
  412 + var _self=this;
  413 + var _inputID = $("#" + inputID), _popID = $("#" + popID);
  414 + _self._popID = _popID;
  415 + _self._tmpXhr = null;
  416 + var url = queryOption.url;
  417 + var queryParames = queryOption.queryParames;
  418 + var itemsSelectCallback = queryOption.itemsSelectCallback || "undefined";
  419 + //注册输入事件
  420 + _inputID.keyup(function () {
  421 + var req = queryParames();
  422 + req.baseRequest.pageSize = 5;//前5条记录
  423 + var self = _self;
  424 + if (req.parkNameOrAddress != "") {
  425 + $(".cancelBtn").css("display", "block");
  426 + self._tmpXhr = $.ajax({
  427 + type: 'POST',
  428 + url: url,//处理页面的url地址
  429 + cache: false,
  430 + data: JSON.stringify(req),//要传递参数
  431 + contentType: 'application/json; charset=utf-8',
  432 + //dataType: 'json',
  433 + success: function (data) {
  434 + if (data != '') {
  435 + dataCallBack(data);
  436 + } else {
  437 + commonClass.setPopupVisible(false);
  438 + }
  439 + },
  440 + error: function (par1, par2) {
  441 + //alert("错误:"+dataUrl.util.queryParkLotByCountryAndParkName());
  442 + }
  443 + });
  444 + } else {
  445 + commonClass.setPopupVisible(false);
  446 + _inputID.val(""); _inputID.focus();
  447 + }
  448 + });
  449 + //格式化数据
  450 + var dataCallBack = function (res) {
  451 + if (res.code == '8888') {
  452 + var tmpArr = res.data.dataList;
  453 + if (tmpArr == null) { commonClass.setPopupVisible(false); return };
  454 + var lists = "<ul class='ser-resPanel-items'>";
  455 + $.each(tmpArr, function (index, obj) {
  456 + //小问题:后台问题【字段应该做统一】
  457 + //PDA和停车场用plName
  458 + if (typeof (obj.plName) != "undefined") {
  459 + lists += "<li>" + obj.plName + "</li>";
  460 + } else {//诱导屏用guideName
  461 + lists += "<li>" + obj.guideName + "</li>";
  462 + }
  463 + });
  464 + lists += "</ul>";
  465 + _popID.html(lists).show();//将搜索到的结果展示出来
  466 + $(".ser-resPanel-items li").click(function (ev) {
  467 + //$("#ser-input").val($(this).text());//点击某个li就会获取当前的值
  468 + if (typeof (itemsSelectCallback) != "undefined") {
  469 + itemsSelectCallback($(this).text());
  470 + }
  471 + commonClass.setPopupVisible(false);
  472 + });
  473 + } else {
  474 + commonClass.setPopupVisible(false);
  475 + }
  476 + };
  477 + },
  478 + /*
  479 + @ setPopupVisible
  480 + @ state:true||false
  481 + */
  482 + setPopupVisible: function (state) {
  483 + if (this._tmpXhr != null) {
  484 + this._tmpXhr.abort(); this._tmpXhr = null;
  485 + }
  486 + if (typeof (this._popID) == "undefined") return;
  487 + var obj = this._popID;
  488 + if (obj.css('display') == "none") return;
  489 + obj.empty();
  490 + if (state) {
  491 + obj.show();
  492 + } else {
  493 + obj.hide();
  494 + }
  495 + }
  496 +}
  497 +
  498 +
  499 +
  500 +
... ...