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 = "