diff --git a/resource/js/unit.js b/resource/js/unit.js new file mode 100644 index 0000000..36021eb --- /dev/null +++ b/resource/js/unit.js @@ -0,0 +1,500 @@ +/** + * Created by mac on 17/5/8. + */ +sysComm = { + sysCode: '1001',//企业云系统编码 + gvnSysCode: '1002',//政府系统编码 + grantType: 'PASSWORD',//授权模式 + clientType: 'WEB'//客户端类型 +} + +//阿里云测试环境,别删 +// +// var baseUrl = 'http://192.168.1.196:8088/';// url公用地址 +// var parkcloudbaseUrl = 'http://192.168.1.196:8093/';// url公用地址 +// var authUrl = 'http://192.168.1.196:8088/';// 鉴权URL公用地址s + + + var parkcloudbaseUrl = 'http://localhost:8100/';// url公用地址 + + + + + + +var dataUrl = dataUrl || {}; + +// dataUrl.util = { +// +// +// +// } + +dataUrl.util = { + + + queryChargerIncomeByPlNos: function () { + return parkcloudbaseUrl + 'index/new/queryChargerIncomeByPlNos'; + }, + + + //获取普通API鉴权token + getToken: function () { + var token = sessionStorage.getItem("token"); + if (StrUtil.isEmpty(token)) { + token = ''; + } + return token; + }, + //设置普通API鉴权token + setToken: function (token) { + sessionStorage.setItem("token", token); + }, + getUserAccount: function () { + return sessionStorage.getItem("userAccount"); + }, + setUserAccount: function (userAccount) { + sessionStorage.setItem("userAccount", userAccount); + }, + getUserName: function () { + return sessionStorage.getItem("userName"); + }, + setUserName: function (userName) { + sessionStorage.setItem("userName", userName); + }, + getOpImgPath: function () { + return sessionStorage.getItem("imgPath"); + }, + setOpImgPath: function (imgPath) { + sessionStorage.setItem("imgPath", imgPath); + }, + getUserId: function () { + return sessionStorage.getItem("userId"); + }, + setUserId: function (userId) { + sessionStorage.setItem("userId", userId); + }, + getOrgId: function () { + return sessionStorage.getItem("orgId"); + }, + setOrgId: function (orgId) { + sessionStorage.setItem("orgId", orgId); + }, + getSysShowName: function () { + return sessionStorage.getItem("sysShowName"); + }, + setSysShowName: function (sysShowName) { + sessionStorage.setItem("sysShowName", sysShowName); + }, + //跳转到登录界面 + toLoginPage: function () { + sessionStorage.setItem("sys_parkLot", ''); + window.location.href = '../../login/login.html' + }, + //登出系统 + loginOut: function () { + sessionStorage.clear() + var token = fn.getToken(); + fn.setToken(''); + if (StrUtil.isNotEmpty()) { + var req = {'token': token, 'url': dataUrl.util.getLoginOut()} + sysAjax(req); + + } + fn.toLoginPage(); + } + +} + +DateUtil = { + dataFormat: function (longTime, formatStr) { + //格式化时间 + //longTime 要进行格式化的long类型的时间 + //formatStr 要格式化成的字符串类型 + var data = new Date(longTime); + return data.Format(formatStr); + }, + isLongTime: function (longTime) { + //判断是否是longTime时间类型 + + } +} + +//cookie操作工具类 +CkUtil = { + //获取cookie + getCookie: function (name) { + var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); + if (arr = document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; + }, + //删除cookie + delCookie: function (name) { + var exp = new Date(); + exp.setTime(exp.getTime() - 1); + var cval = CkUtil.getCookie(name); + if (cval != null) + document.cookie = name + "=" + cval + ";expires=" + exp.toUTCString(); + }, + //设置cookie,time单位毫秒 + setCookie: function (name, value, time) { + var exp = new Date(); + exp.setTime(exp.getTime() + time); + document.cookie = name + "=" + escape(value) + ";expires=" + exp.toUTCString(); + }, + //获取毫秒数 1s的毫秒数为 getSec('s1') 1小时为 getSec('h1') + getSec: function (str) { + var str1 = str.substring(1, str.length) * 1; + var str2 = str.substring(0, 1); + if (str2 == "s") { + return str1 * 1000; + } + else if (str2 == "h") { + return str1 * 60 * 60 * 1000; + } + else if (str2 == "d") { + return str1 * 24 * 60 * 60 * 1000; + } + } + +} + +ArrayUtils = { + /**判断属性是否已经在数组中存在*/ + contains: function (array, obj) { + var i = array.length; + while (i--) { + if (array[i] === obj) { + return true; + } + } + return false; + } + +} + + +StrUtil = { + isEmpty: function (str) { + if (str == undefined || null == str || StrUtil.trim(str).length == 0) { + return true; + } + return false; + }, + isNotEmpty: function (str) { + return !StrUtil.isEmpty(str); + }, + trim: function (str) { + //删除左右两端的空格 + return str.replace(/(^\s*)|(\s*$)/g, ""); + }, + ltrim: function (str) { + //删除左边的空格 + return str.replace(/(^\s*)/g, ""); + }, + rtrim: function (str) { + //删除右边的空格 + return str.replace(/(\s*$)/g, ""); + } +} + + +// 对Date的扩展,将 Date 转化为指定格式的String +// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, +// 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) +// 例子: +// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 +// (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 +Date.prototype.Format = function (fmt) { //author: meizz + var o = { + "M+": this.getMonth() + 1, //月份 + "d+": this.getDate(), //日 + "h+": this.getHours(), //小时 + "m+": this.getMinutes(), //分 + "s+": this.getSeconds(), //秒 + "q+": Math.floor((this.getMonth() + 3) / 3), //季度 + "S": this.getMilliseconds() //毫秒 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) + if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); + return fmt; +} + + +//公用接口调用 + +function sysAjax(opts) { + + //一.设置默认参数 + var defaults = { + method: 'GET', + url: '', + dataType: 'json', + data: '', + async: true, + cache: false, + contentType: 'application/json; charset=utf-8', + success: function () { + }, + error: function () { + } + }; + + + //二.用户参数覆盖默认参数 + for (var key in opts) { + defaults[key] = opts[key]; + } + // console.log("请求相关参数:"); + // console.log(defaults) + $.ajax({ + type: defaults.method, + url: defaults.url, + dataType: defaults.dataType, + contentType: defaults.contentType, + data: defaults.data, + async: defaults.async, + beforeSend: function (xhr) { + //设置请求头 + //xhr.setRequestHeader("User-Agent", "headertest"); + //console.log(JSON.stringify(sysComm)); + xhr.setRequestHeader("x-auth-token", fn.getToken()); + }, + success: function (res, status, xhr) { + //console.log('获取header:'+xhr.getAllResponseHeaders()); + // console.log("服务器响应信息:"); + // console.log(res) + var msg = (typeof res.msg == 'string') && (res.msg.constructor == String) ? res.msg : res.errMsg; + //成功 + if (res.code == "2003") { + //授权令牌不存在或已失效,请重新登录后在尝试 + window.location.href = '../login.html' + } else if (res.code == "2004") { + //授权令牌不合法,请重新登录收尝试 + //alert(res.msg); + window.location.href = '../login.html' + } else if (res.code == "2005") { + //无此权限 + alert(msg); + } else { + defaults.success(res, status, xhr); + } + }, + error: function (XMLHttpRequest, textStatus, errorThrown) { + if (textStatus == "timeout") { + //alert('请求超时,请重试'); + } else { + //alert("请求报错") + console.log(errorThrown); + } + + } + }); +} + + +function ajaxCommon(opts) { + //一.设置默认参数 + var defaults = { + method: 'GET', + url: '', + data: '', + async: true, + cache: false, + contentType: 'application/json; charset=utf-8', + beforeSend: function (xhr) { + //设置请求头 + //xhr.setRequestHeader("User-Agent", "headertest"); + //console.log(JSON.stringify(sysComm)); + xhr.setRequestHeader("x-auth-token", fn.getToken()); + }, + success: function () { + }, + error: function () { + } + }; + + //二.用户参数覆盖默认参数 + for (var key in opts) { + defaults[key] = opts[key]; + } + + defaults.method = defaults.method.toUpperCase(); //处理 method + + //三.对数据进行处理 + //如果数据是对象,并且 方法为 get方法时,将data拼接到url后面 + if (typeof defaults.data === 'object' && defaults.method === 'GET') { //处理 data + var str = ''; + for (var key in defaults.data) { + str += key + '=' + defaults.data[key] + '&'; + } + defaults.data = str.substring(0, str.length - 1); + } + + defaults.cache = defaults.cache ? '' : '&' + new Date().getTime();//处理 cache + + if (defaults.method === 'GET' && (defaults.data || defaults.cache)) defaults.url += '?' + defaults.data + defaults.cache; //处理 url + + //四.开始编写ajax + //1.创建ajax对象 + var oXhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); + //2.和服务器建立联系,告诉服务器你要取什么文件 + oXhr.open(defaults.method, defaults.url, defaults.async); + //3.发送请求 + if (defaults.method === 'GET') + oXhr.send(null); + else { + oXhr.setRequestHeader("Content-type", defaults.contentType); + oXhr.send(defaults.data); + } + //4.等待服务器回应 + oXhr.onreadystatechange = function () { + if (oXhr.readyState === 4) { + if (oXhr.status === 200) + defaults.success.call(oXhr, oXhr.responseText); + else { + defaults.error(); + } + } + }; +} + +/** + * jquery 解绑绑定函数.
+ * wangfs 2018-01-11.
+ */ +var documentBindFunc ={ + /** + * @param event 事件名称如:click + * @param element 元素 如:id,class 元素等 + * @param func 函数 + * 例子:documentBindFunc.on('click','#berthmanage-addBtn',function () {}); + */ + on: function (event, element, func) { + $(document).off(event, element); + $(document).on(event, element, func); + } + +}; +/* + @ songcxa + @ 2018-1-3 + @ 暂时公共方法 +*/ +var commonClass = { + /* + @切割字符串 + @str原字符串 + @num字符位数 + */ + cutString: function (str, num) { + var _str = ""; + if (str.length >= num) { + var strN = str.substring(0, num); + strN += "..."; + _str = strN; + } else { + _str = str; + } + return _str; + }, + + /* + @ popupObject:pop-plug + @ inputID:输入框id + @ popID:提示框id + @ queryOption(url、queryParames请求参数post、itemsSelectCallback提示框选择事件) + */ + popupObject: function (inputID, popID, queryOption) { + var _self=this; + var _inputID = $("#" + inputID), _popID = $("#" + popID); + _self._popID = _popID; + _self._tmpXhr = null; + var url = queryOption.url; + var queryParames = queryOption.queryParames; + var itemsSelectCallback = queryOption.itemsSelectCallback || "undefined"; + //注册输入事件 + _inputID.keyup(function () { + var req = queryParames(); + req.baseRequest.pageSize = 5;//前5条记录 + var self = _self; + if (req.parkNameOrAddress != "") { + $(".cancelBtn").css("display", "block"); + self._tmpXhr = $.ajax({ + type: 'POST', + url: url,//处理页面的url地址 + cache: false, + data: JSON.stringify(req),//要传递参数 + contentType: 'application/json; charset=utf-8', + //dataType: 'json', + success: function (data) { + if (data != '') { + dataCallBack(data); + } else { + commonClass.setPopupVisible(false); + } + }, + error: function (par1, par2) { + //alert("错误:"+dataUrl.util.queryParkLotByCountryAndParkName()); + } + }); + } else { + commonClass.setPopupVisible(false); + _inputID.val(""); _inputID.focus(); + } + }); + //格式化数据 + var dataCallBack = function (res) { + if (res.code == '8888') { + var tmpArr = res.data.dataList; + if (tmpArr == null) { commonClass.setPopupVisible(false); return }; + var lists = ""; + _popID.html(lists).show();//将搜索到的结果展示出来 + $(".ser-resPanel-items li").click(function (ev) { + //$("#ser-input").val($(this).text());//点击某个li就会获取当前的值 + if (typeof (itemsSelectCallback) != "undefined") { + itemsSelectCallback($(this).text()); + } + commonClass.setPopupVisible(false); + }); + } else { + commonClass.setPopupVisible(false); + } + }; + }, + /* + @ setPopupVisible + @ state:true||false + */ + setPopupVisible: function (state) { + if (this._tmpXhr != null) { + this._tmpXhr.abort(); this._tmpXhr = null; + } + if (typeof (this._popID) == "undefined") return; + var obj = this._popID; + if (obj.css('display') == "none") return; + obj.empty(); + if (state) { + obj.show(); + } else { + obj.hide(); + } + } +} + + + +