/**
* //2.0检测方式(目测,测量,专用仪器测试等)
function GetCheckType() {
$.ajax({
url: '@Url.Action("GetCheckType", "SCM_RMInspection_Report")',
type: "get",
asycn: false,
success: function (data) {
if (data) {
var list = utils.filterProperties(data, ['ID as id', 'ParentID as pid', 'Name as text']);
var treeData = utils.toTreeData(list, "id", "pid", "children");
$('#CheckTypeID').combotree('loadData', treeData);
}
},
error: function (err) {
parent.sy.messagerAlert('提示', '出错!', err);
}
})
}
**/ var utils = {}; /**
* 格式化字符串
* 用法:
.formatString("{0}-{1}","a","b");
*/
utils.formatString = function () {
for (var i = 1; i < arguments.length; i++) {
var exp = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
arguments[0] = arguments[0].replace(exp, arguments[i]);
}
return arguments[0];
}; /**
* 格式化时间显示方式
* 用法:format="yyyy-MM-dd hh:mm:ss";
*/
utils.formatDate = function (v, format) {
if (!v) return "";
var d = v;
if (typeof v === 'string') {
if (v.indexOf("/Date(") > -1)
d = new Date(parseInt(v.replace("/Date(", "").replace(")/", ""), 10));
else
d = new Date(Date.parse(v.replace(/-/g, "/").replace("T", " ").split(".")[0]));//.split(".")[0] 用来处理出现毫秒的情况,截取掉.xxx,否则会出错
}
var o = {
"M+": d.getMonth() + 1, //month
"d+": d.getDate(), //day
"h+": d.getHours(), //hour
"m+": d.getMinutes(), //minute
"s+": d.getSeconds(), //second
"q+": Math.floor((d.getMonth() + 3) / 3), //quarter
"S": d.getMilliseconds() //millisecond
};
if (/(y+)/.test(format)) {
format = format.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return format;
}; /**
* 格式化数字显示方式
* 用法
* formatNumber(12345.999,'#,##0.00');
* formatNumber(12345.999,'#,##0.##');
* formatNumber(123,'000000');
*/
utils.formatNumber = function (v, pattern) {
if (v == null)
return v;
var strarr = v ? v.toString().split('.') : ['0'];
var fmtarr = pattern ? pattern.split('.') : [''];
var retstr = '';
// 整数部分
var str = strarr[0];
var fmt = fmtarr[0];
var i = str.length - 1;
var comma = false;
for (var f = fmt.length - 1; f >= 0; f--) {
switch (fmt.substr(f, 1)) {
case '#':
if (i >= 0) retstr = str.substr(i--, 1) + retstr;
break;
case '0':
if (i >= 0) retstr = str.substr(i--, 1) + retstr;
else retstr = '0' + retstr;
break;
case ',':
comma = true;
retstr = ',' + retstr;
break;
}
}
if (i >= 0) {
if (comma) {
var l = str.length;
for (; i >= 0; i--) {
retstr = str.substr(i, 1) + retstr;
if (i > 0 && ((l - i) % 3) == 0) retstr = ',' + retstr;
}
}
else retstr = str.substr(0, i + 1) + retstr;
}
retstr = retstr + '.';
// 处理小数部分
str = strarr.length > 1 ? strarr[1] : '';
fmt = fmtarr.length > 1 ? fmtarr[1] : '';
i = 0;
for (var f = 0; f < fmt.length; f++) {
switch (fmt.substr(f, 1)) {
case '#':
if (i < str.length) retstr += str.substr(i++, 1);
break;
case '0':
if (i < str.length) retstr += str.substr(i++, 1);
else retstr += '0';
break;
}
}
return retstr.replace(/^,+/, '').replace(/\.$/, '');
}; /**
* json格式转树状结构
* @param {json} json数据
* @param {String} id的字符串
* @param {String} 父id的字符串
* @param {String} children的字符串
* @return {Array} 数组
*/
utils.toTreeData = function (a, idStr, pidStr, childrenStr) {
var r = [], hash = {},len = (a||[]).length;
for (var i=0; i < len; i++) {
hash[a[i][idStr]] = a[i];
}
for (var j=0; j < len; j++) {
var aVal = a[j], hashVP = hash[aVal[pidStr]];
if (hashVP) {
!hashVP[childrenStr] && (hashVP[childrenStr] = []);
hashVP[childrenStr].push(aVal);
} else {
r.push(aVal);
}
}
return r;
}; utils.eachTreeRow = function(treeData,eachHandler) {
for (var i in treeData) {
if (eachHandler(treeData[i]) == false) break;
if (treeData[i].children)
utils.eachTreeRow(treeData[i].children, eachHandler);
}
}; utils.isInChild = function (treeData,pid,id) {
var isChild = false;
utils.eachTreeRow(treeData, function (curNode) {
if (curNode.id == pid) {
utils.eachTreeRow([curNode], function (row) {
if (row.id == id) {
isChild = true;
return false;
}
});
return false;
}
});
return isChild;
}; utils.fnValueToText = function (list, value, text) {
var map = {};
for (var i in list) {
map[list[i][value || 'value']] = list[i][text || 'text'];
}
var fnConvert = function (v, r) {
return map[v];
};
return fnConvert;
}; utils.compareObject = function (v1, v2) {
var countProps = function (obj) {
var count = 0;
for (k in obj) if (obj.hasOwnProperty(k)) count++;
return count;
}; if (typeof (v1) !== typeof (v2)) {
return false;
} if (typeof (v1) === "function") {
return v1.toString() === v2.toString();
} if (v1 instanceof Object && v2 instanceof Object) {
if (countProps(v1) !== countProps(v2)) {
return false;
}
var r = true;
for (k in v1) {
r = utils.compareObject(v1[k], v2[k]);
if (!r) {
return false;
}
}
return true;
} else {
return v1 === v2;
}
}; utils.minusArray = function (arr1, arr2) {
var arr = [];
for (var i in arr1) {
var b = true;
for (var j in arr2) {
if (utils.compareObject(arr1[i],arr2[j])) {
b = false;
break;
}
}
if (b) {
arr.push(arr1[i]);
}
}
return arr;
}; utils.diffrence = function (obj1, obj2, reserve,ignore) {
var obj = {}, reserve = reserve || [], ignore = ignore || [], reserveMap = {}, ignoreMap = {};
for (var i in reserve)
reserveMap[reserve[i]] = true; for (var i in ignore)
ignoreMap[ignore[i]] = true; for (var k in obj1) {
if (!ignoreMap[k] && (obj1[k] != obj2[k] || reserveMap[k])) {
obj[k] = obj1[k];
}
}
return obj;
}; utils.filterProperties = function (obj, props, ignore) {
var ret;
if (obj instanceof Array || Object.prototype.toString.call(obj) === "[object Array]") {
ret = [];
for (var k in obj) {
ret.push(utils.filterProperties(obj[k], props, ignore));
}
}
else if (typeof obj === 'object') {
ret = {};
if (ignore) {
var map = {};
for (var k in props)
map[props[k]] = true; for (var i in obj) {
if (!map[i]) ret[i] = obj[i];
}
}
else {
for (var i in props) {
var arr = props[i].split(" as ");
ret[arr[1] || arr[0]] = obj[arr[0]];
}
}
}
else {
ret = obj;
}
return ret;
}; utils.copyProperty = function (obj, sourcePropertyName, newPropertyName, overWrite) {
if (obj instanceof Array || Object.prototype.toString.call(obj) === "[object Array]") {
for (var k in obj)
utils.copyProperty(obj[k], sourcePropertyName, newPropertyName);
}
else if (typeof obj === 'object') {
if (sourcePropertyName instanceof Array || Object.prototype.toString.call(sourcePropertyName) === "[object Array]") {
for (var i in sourcePropertyName) {
utils.copyProperty(obj, sourcePropertyName[i], newPropertyName[i]);
}
}
else if (typeof sourcePropertyName === 'string') {
if ((obj[newPropertyName] && overWrite) || (!obj[newPropertyName]))
obj[newPropertyName] = obj[sourcePropertyName];
}
}
return obj;
}; utils.clearIframe = function (context) {
var frame = $('iframe', context).add(parent.$('iframe', context));
if (frame.length > 0) {
frame[0].contentWindow.document.write('');
frame[0].contentWindow.close();
frame.remove();
if ($.browser.msie) {
CollectGarbage();
}
}
}; utils.getThisIframe = function () {
if (!parent) return null;
var iframes = parent.document.getElementsByTagName('iframe');
if (iframes.length == 0) return null;
for (var i = 0; i < iframes.length; ++i) {
var iframe = iframes[i];
if (iframe.contentWindow === self) {
return iframe;
}
}
return null;
} utils.functionComment = function(fn){
return fn.toString().replace(/^.*\r?\n?.*\/\*|\*\/([.\r\n]*).+?$/gm,'');
}; utils.uuid = (function () { var a = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""); return function (b, f) { var h = a, e = [], d = Math.random; f = f || h.length; if (b) { for (var c = 0; c < b; c++) { e[c] = h[0 | d() * f]; } } else { var g; e[8] = e[13] = e[18] = e[23] = "-"; e[14] = "4"; for (var c = 0; c < 36; c++) { if (!e[c]) { g = 0 | d() * 16; e[c] = h[(c == 19) ? (g & 3) | 8 : g & 15]; } } } return e.join("").toLowerCase(); }; })(); utils.getRequest = function (name, url) {
var url = url|| window.location.href;
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.split("?")[1];
strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest[name];
};

utils.js的更多相关文章

  1. nodejs自己在项目中使用的一个工具库utils.js文件

    文件内容如下: /** * utils.js */ var crypto = require('crypto'); var url = require('url'); var querystring ...

  2. vue-cli脚手架npm相关文件解读(4)utils.js

    系列文章传送门: 1.build/webpack.base.conf.js 2.build/webpack.prod.conf.js 3.build/webpack.dev.conf.js 4.bui ...

  3. 手撕vue-cli配置——utils.js篇

    utils.js文件主要是用来处理各种css loader的,比如css-loader,less-loader等. //引入path模块 const path = require('path') // ...

  4. vue-cli的utils.js文件详解

    转载自:http://www.cnblogs.com/ye-hcj/p/7078047.html utils.js文件 // 引入nodejs路径模块var path = require('path' ...

  5. vue-cli脚手架build目录下utils.js工具配置文件详解

    此文章用来解释vue-cli脚手架build目录中的utils.js配置文件 此配置文件是vue开发环境的wepack相关配置文件,主要用来处理css-loader和vue-style-loader ...

  6. DCloud-JS-MUI-JS:utils.js

    ylbtech-DCloud-JS:utils.js 1. 导航返回返回顶部 1. var oldBack = mui.back; mui.back = function () { mui.back ...

  7. vue项目工具文件utils.js javascript常用工具类,javascript常用工具类,util.js

    vue项目工具文件utils.js :https://blog.csdn.net/Ajaxguan/article/details/79924249 javascript常用工具类,util.js : ...

  8. Javascript Utils.js

    \ var Utils ={//字符串格式化StringFormat: function () {if (arguments.length == 0)return null;var str = arg ...

  9. utils.js和vue-loader.conf.js

    var utils = require('./utils')var config = require('../config')var isProduction = process.env.NODE_E ...

随机推荐

  1. jquery.smint.js 页面菜单浮动之谷歌浏览器异常

    jquery.smint.js 做公司项目时,谷歌测试,页面向下拉,刷新后,导航栏菜单与顶部距离发生变动,并不在设置的relative元素top下固定像素 我的relative元素的高为80,然后在j ...

  2. poj 3280 Cheapest Palindrome

    链接:http://poj.org/problem?id=3280 思路:题目给出n种m个字符,每个字符都有对应的添加和删除的代价,求出构成最小回文串的代价 dp[i][j]代表区间i到区间j成为回文 ...

  3. 【翻译】ASP.NET MVC 5属性路由(转)

    转载链接:http://www.cnblogs.com/thestartdream/p/4246533.html 原文链接:http://blogs.msdn.com/b/webdev/archive ...

  4. 【MyEcplise】build workspace卡死

    1.window-Perferences-MyEclipse-Validation 将Manual全部勾掉,Build只留Classpath DependencyValidator,其它全部勾掉. 2 ...

  5. VS2010 OpenCV 2.4.6 配置 (Win7 32位)

    1.下载安装OpenCV 下载OpenCV-2.4.6.0 (文件大小 291M),下载地址如下,下载完成后解压缩到路径%OpenCV%下,本文%OpenCV%=E:\图像处理与计算机视觉. http ...

  6. js判断是iOS还是Android

    <script type="text/javascript"> var ua = navigator.userAgent.toLowerCase(); if (/iph ...

  7. 区间dp总结篇

    前言:这两天没有写什么题目,把前两周做的有些意思的背包题和最长递增.公共子序列写了个总结.反过去写总结,总能让自己有一番收获......就区间dp来说,一开始我完全不明白它是怎么应用的,甚至于看解题报 ...

  8. Daily Scrum02 12.06

    由于一些原因,我们的会议没有在昨天如期举行.今天,我们首先将到目前为止的进度进行了总结. 我们第二轮迭代的主要目标是优化算法,美化界面,增加单词软件的趣味性. 我们准备将软件做的更亲民,界面更友好,我 ...

  9. JS base64 加密和 后台 base64解密(防止中文乱码)

    直接上代码 1,js(2个文件,网上找的)  不要觉的长,直接复制下来就OK //UnicodeAnsi.js文件 //把Unicode转成Ansi和把Ansi转换成Unicode function ...

  10. 谢欣伦 - OpenDev原创教程 - 串口类CxSerial

    这是一个精练的串口类,类名.函数名和变量名均采用匈牙利命名法.小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合. 串口类CxSerial的使用如下(以某个叫做CSomeClass ...