/** * Created by mac on 17/5/8. */ sysComm = { sysCode: '1001',//企业云系统编码 gvnSysCode: '1002',//政府系统编码 grantType: 'PASSWORD',//授权模式 clientType: 'WEB'//客户端类型 } //阿里云测试环境,别删 //var parkcloudbaseUrl = 'http://localhost:8101/';// url公用地址 var parkcloudbaseUrl = 'http://47.96.41.38:8101/';// url公用地址 var dataUrl = dataUrl || {}; // dataUrl.util = { // // // // } dataUrl.util = { //登录 login: function () { return parkcloudbaseUrl + 'oauth/login'; }, //退出登录 getLoginOut:function(){ return parkcloudbaseUrl + 'oauth/loginout'; }, //日报系统-员工管理 queryAsraOpPage: function () { return parkcloudbaseUrl + 'asraOp/queryAsraOpPage'; }, //日报系统-工时填报查询 queryAsraDailyList: function () { return parkcloudbaseUrl + 'asraDaily/queryAsraDailyList'; }, //日报系统-工时填报 saveOrUpdateAsraDaily: function () { return parkcloudbaseUrl + 'asraDaily/saveOrUpdateAsraDaily'; }, //查询项目列表 queryAsraProjectForList:function(){ return parkcloudbaseUrl + 'asraProject/queryAsraProjectForList'; }, //工时查询-当天填报人数统计(汇总) queryAsraDailyOpNumForCurrentDay:function(){ return parkcloudbaseUrl + 'asraDaily/queryAsraDailyOpNumForCurrentDay'; }, //工时查询-所有员工及自己或者自己日报 queryAsraDailyAllForList:function(){ return parkcloudbaseUrl + 'asraDaily/queryAsraDailyAllForList'; } } var fn ={ //获取普通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); }, getRoleId: function () { return sessionStorage.getItem("userRoleId"); }, setRoleId: function (userRoleId) { sessionStorage.setItem("userRoleId", userRoleId); }, 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 () { fn.toLoginPage(); sessionStorage.clear(); fn.setToken(''); var token = fn.getToken(); if (token != "" && token != null) { var opt = { method: "post", url: dataUrl.util.getLoginOut(), success: function(res){ console.log(" redis session has been cleared...") } }; sysAjax(opt); } }, //跳转到登录界面 toLoginPage: function () { sessionStorage.setItem("sys_parkLot", ''); window.location.href = '../login/login.html' }, /** * 查询项目信息 * @param projectId 可以为空 */ getAsraProject: function (projectId, callBack) { if(projectId == null || projectId == ""){ projectId=null; } var req = { id: projectId }; var opt = { data: JSON.stringify(req), method: "POST", async: false, url: dataUrl.util.queryAsraProjectForList(), success: function (res) { callBack(res.data); } } sysAjax(opt); }, }; 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(fn.getToken()); if(fn.getToken() == null || fn.getToken() == "" || fn.getToken() == undefined){ //window.location.href = '../../workreport/login/login.html' xhr.setRequestHeader("X-Auth-Token", ""); }else{ xhr.setRequestHeader("X-Auth-Token", fn.getToken()); } }, success: function (res, status, xhr) { debugger; var msg = (typeof res.msg == 'string') && (res.msg.constructor == String) ? res.msg : res.errMsg; //成功 if (res.code=='2003') { //授权令牌不存在或已失效,请重新登录后在尝试 window.location.href = '../../workreport/login/login.html' } else if (res.code=='2004') { //授权令牌不合法,请重新登录收尝试 //alert(res.msg); window.location.href = '../../workreport/login/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(); } } } /** * 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); } }; $("#loginShowName").text(fn.getUserName());