Vue 函數封裝 ...
Vue 函數封裝
- 格式化瀏覽器時間
/** * 格式化時間 * @param params * @param blo 預設為true * @returns {string} * @constructor 馮剛 2019年6月12日11點01分 */ function TimeConversion(params,blo=true){ var stamp = Date.parse(params); var newDate= new Date(stamp); var year = newDate.getFullYear(); var month = newDate.getMonth() + 1; var date = newDate.getDate(); var h = newDate.getHours(); var m = newDate.getMinutes(); var s = newDate.getSeconds(); if(blo) return year + '-' + getNow(month) + "-" + getNow(date); return year + '-' + getNow(month) + "-" + getNow(date) + " " + getNow(h) + ':' + getNow(m) + ":" + getNow(s); }
- 校驗字元串最後是否存在斜杠
/** * 驗證最後是否有反斜杠 * @param value * @returns {*} * @constructor 馮剛 2019年6月12日 */ function Verification(value) { if (value.length > 0 && value !== '') { var str = value.substr(value.length - 1, 1); if (str !== '/' && str !== '') { value += '/'; } } return value; }
- 字元串加密
/** * 加密 * @param code 要加密的字元串 * @returns {string} */ function compileStr(code) { var c = String.fromCharCode(code.charCodeAt(0) + code.length); for (var i = 1; i < code.length; i++) { c += String.fromCharCode(code.charCodeAt(i) + code.charCodeAt(i - 1)); } return escape(c); }
- 字元串解密
/** * 解密 * @param code 要解密的字元串 * @returns {string} */ function uncompileStr(code) { code = unescape(code); var c = String.fromCharCode(code.charCodeAt(0) - code.length); for (var i = 1; i < code.length; i++) c += String.fromCharCode(code.charCodeAt(i) - c.charCodeAt(i - 1)); return c; }
- 根據key獲取瀏覽器地址後參數
/** * js獲取url傳遞指定參數,解決url中帶中文亂碼的問題(根據key獲取value) * @param key * @returns {string|null} */ function getQueryString(key) { var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r !== null) return decodeURI(r[2]); return null; }
- 文本框非空校驗,文本框添加紅色樣式
/** * 文本框非空驗證 * @param type 自定義類型(.或#) * @param name 頁面中自定義類型名稱 * @author 馮剛 2019年6月12日 */ function isNotNull(type, name) { var temp, select; var isNull = false; if (checkValue(type, name)) isNull = true; temp = type + name; if (!isNull) $($(temp)).each(function () { var _this = $(this); _this = reductionStyle(_this); temp = _this.children('input').val(); select = _this.children('div').children('input').val(); if (temp === '' || temp === null) { isNull = true; _this.children('input').css('border', 'solid red 1px'); } if (select === '' || select === null) { isNull = true; _this.children('div').children('input').css('border', 'solid red 1px'); } }); return isNull; }
- 重置初始化樣式
/** * 重置初始化樣式 * @param type * @param name * @returns {boolean} */ function resetStyle(type, name) { var temp; var isBool = false; if (checkValue(type, name)) isBool = true; temp = type + name; if (!isBool) $($(temp)).each(function () { var _this = $(this); _this = reductionStyle(_this); isBool = true; }); return isBool; }
- 數據封裝成 data 對象,並且去除空格
/** * 封裝數據 * @param data 數據對象(用於添加修改)部分可用 */ function packData(data){ var vmData={}; for (var o in data) { if (data[o] !== null && data[o] instanceof Array) vmData[o]=null; else{ if(typeof data[o] === 'string' && data[o].length > 0) vmData[o]=data[o].trim(); } } return vmData; }
- 動態綁定數據
/** * 動態賦值(用於查看編輯) * @param orgObj * @param newObj * @returns {*} * @constructor fg 2019年6月12日 */ function AssignmentObject(orgObj, newObj){ for (var o in orgObj) { if (!(orgObj[o] !== null && orgObj[o] instanceof Array)) { for (var n in newObj){ if(o==n){ orgObj[o]=newObj[n]; break; } } } } return orgObj; }
- 清空文本框內容,重置內容
/** * 按鈕重置內容 * @param data */ function clearContent(data) { var v_data = {}; for (var o in data) { if (data[o] !== null && data[o] instanceof Array) v_data[o] = data[o]; else { v_data[o] = null; } } return v_data; }
- 部分函數校驗
/** * 內部引用 還原樣式 * @param obj * @returns {*} */ function reductionStyle(obj) { obj.children('input').css('border', '1px solid #dcdfe6'); obj.children('div').children('input').css('border', '1px solid #dcdfe6'); return obj; } /** * 內部引用 檢測選擇器以及類型名稱是否輸入全 * @param key * @param value * @returns {boolean} */ function checkValue(key, value) { var isBool = false; if (isCheck(key) && isCheck(value)) { isBool = true; alert('請檢查選擇器類型及名稱'); } if (isCheck(key)) { isBool = true; alert('選擇器類型不能為空:(./#)'); } if (isCheck(value)) { isBool = true; alert('選擇器名稱不能為空'); } return isBool; } /** * 內部引用 校驗值是否為空 * @param value * @returns {boolean} */ function isCheck(value) { value = value.trim(); if (value === null || value === '' || value === 'undefined') return true; return false; }
- 獲取當前時間
/** * 校驗時間 * @param s * @returns {string} */ function getNow(s) { return s < 10 ? '0' + s : s; } /** * 獲取當前時間 * @returns {string} */ function getDate() { var myDate = new Date(); var year = myDate.getFullYear(); var month = myDate.getMonth() + 1; var date = myDate.getDate(); var h = myDate.getHours(); var m = myDate.getMinutes(); var s = myDate.getSeconds(); return year + '-' + getNow(month) + "-" + getNow(date) + " " + getNow(h) + ':' + getNow(m) + ":" + getNow(s); }