You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

693 lines
24 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return `${[year, month, day].map(formatNumber).join('-')} ${[hour, minute, second].map(formatNumber).join(':')}`
}
const formatTime2 = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
return `${[year, month, day].map(formatNumber).join('-')}`
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : `0${n}`
}
const app = getApp()
const baseURL = app.globalData.url
const monitURL = app.globalData.monitUrl
function request(method, url, data, cookie) {
return new Promise(function (resolve, reject) {
let header = {
'content-type': 'application/json',
// 'content-type': 'application/x-www-form-urlencoded',
'Cookie': 'JSESSIONID=' + cookie
};
wx.request({
url: baseURL + url,
method: method,
data: method === 'POST' ? JSON.stringify(data) : data,
header: header,
success(res) {
resolve(res.data);
},
fail(err) {
//请求失败
reject(err.data)
}
})
})
}
function request2(options, loading) {
return new Promise(function (resolve, reject) {
if (loading) {
wx.showLoading({
title: '请稍后...',
mask: true
})
}
wx.request({
url: baseURL + options.url,
method: options.method,
data: options.data || {},
header: options.header || {
'content-type': 'application/x-www-form-urlencoded'
},
success(res) {
resolve(res.data);
},
fail(err) {
//请求失败
reject(err.data)
},
complete: function (res) {
if (loading) {
wx.hideLoading();
}
}
})
})
}
function md5(string) {
function md5_RotateLeft(lValue, iShiftBits) {
return (lValue << iShiftBits) | (lValue >>> (32 - iShiftBits));
}
function md5_AddUnsigned(lX, lY) {
var lX4, lY4, lX8, lY8, lResult;
lX8 = (lX & 0x80000000);
lY8 = (lY & 0x80000000);
lX4 = (lX & 0x40000000);
lY4 = (lY & 0x40000000);
lResult = (lX & 0x3FFFFFFF) + (lY & 0x3FFFFFFF);
if (lX4 & lY4) {
return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
}
if (lX4 | lY4) {
if (lResult & 0x40000000) {
return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
} else {
return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
}
} else {
return (lResult ^ lX8 ^ lY8);
}
}
function md5_F(x, y, z) {
return (x & y) | ((~x) & z);
}
function md5_G(x, y, z) {
return (x & z) | (y & (~z));
}
function md5_H(x, y, z) {
return (x ^ y ^ z);
}
function md5_I(x, y, z) {
return (y ^ (x | (~z)));
}
function md5_FF(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_F(b, c, d), x), ac));
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
};
function md5_GG(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_G(b, c, d), x), ac));
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
};
function md5_HH(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_H(b, c, d), x), ac));
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
};
function md5_II(a, b, c, d, x, s, ac) {
a = md5_AddUnsigned(a, md5_AddUnsigned(md5_AddUnsigned(md5_I(b, c, d), x), ac));
return md5_AddUnsigned(md5_RotateLeft(a, s), b);
};
function md5_ConvertToWordArray(string) {
var lWordCount;
var lMessageLength = string.length;
var lNumberOfWords_temp1 = lMessageLength + 8;
var lNumberOfWords_temp2 = (lNumberOfWords_temp1 - (lNumberOfWords_temp1 % 64)) / 64;
var lNumberOfWords = (lNumberOfWords_temp2 + 1) * 16;
var lWordArray = Array(lNumberOfWords - 1);
var lBytePosition = 0;
var lByteCount = 0;
while (lByteCount < lMessageLength) {
lWordCount = (lByteCount - (lByteCount % 4)) / 4;
lBytePosition = (lByteCount % 4) * 8;
lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount) << lBytePosition));
lByteCount++;
}
lWordCount = (lByteCount - (lByteCount % 4)) / 4;
lBytePosition = (lByteCount % 4) * 8;
lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80 << lBytePosition);
lWordArray[lNumberOfWords - 2] = lMessageLength << 3;
lWordArray[lNumberOfWords - 1] = lMessageLength >>> 29;
return lWordArray;
};
function md5_WordToHex(lValue) {
var WordToHexValue = "",
WordToHexValue_temp = "",
lByte, lCount;
for (lCount = 0; lCount <= 3; lCount++) {
lByte = (lValue >>> (lCount * 8)) & 255;
WordToHexValue_temp = "0" + lByte.toString(16);
WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length - 2, 2);
}
return WordToHexValue;
};
function md5_Utf8Encode(string) {
string = string.replace(/\r\n/g, "\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if ((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
};
var x = Array();
var k, AA, BB, CC, DD, a, b, c, d;
var S11 = 7,
S12 = 12,
S13 = 17,
S14 = 22;
var S21 = 5,
S22 = 9,
S23 = 14,
S24 = 20;
var S31 = 4,
S32 = 11,
S33 = 16,
S34 = 23;
var S41 = 6,
S42 = 10,
S43 = 15,
S44 = 21;
string = md5_Utf8Encode(string);
x = md5_ConvertToWordArray(string);
a = 0x67452301;
b = 0xEFCDAB89;
c = 0x98BADCFE;
d = 0x10325476;
for (k = 0; k < x.length; k += 16) {
AA = a;
BB = b;
CC = c;
DD = d;
a = md5_FF(a, b, c, d, x[k + 0], S11, 0xD76AA478);
d = md5_FF(d, a, b, c, x[k + 1], S12, 0xE8C7B756);
c = md5_FF(c, d, a, b, x[k + 2], S13, 0x242070DB);
b = md5_FF(b, c, d, a, x[k + 3], S14, 0xC1BDCEEE);
a = md5_FF(a, b, c, d, x[k + 4], S11, 0xF57C0FAF);
d = md5_FF(d, a, b, c, x[k + 5], S12, 0x4787C62A);
c = md5_FF(c, d, a, b, x[k + 6], S13, 0xA8304613);
b = md5_FF(b, c, d, a, x[k + 7], S14, 0xFD469501);
a = md5_FF(a, b, c, d, x[k + 8], S11, 0x698098D8);
d = md5_FF(d, a, b, c, x[k + 9], S12, 0x8B44F7AF);
c = md5_FF(c, d, a, b, x[k + 10], S13, 0xFFFF5BB1);
b = md5_FF(b, c, d, a, x[k + 11], S14, 0x895CD7BE);
a = md5_FF(a, b, c, d, x[k + 12], S11, 0x6B901122);
d = md5_FF(d, a, b, c, x[k + 13], S12, 0xFD987193);
c = md5_FF(c, d, a, b, x[k + 14], S13, 0xA679438E);
b = md5_FF(b, c, d, a, x[k + 15], S14, 0x49B40821);
a = md5_GG(a, b, c, d, x[k + 1], S21, 0xF61E2562);
d = md5_GG(d, a, b, c, x[k + 6], S22, 0xC040B340);
c = md5_GG(c, d, a, b, x[k + 11], S23, 0x265E5A51);
b = md5_GG(b, c, d, a, x[k + 0], S24, 0xE9B6C7AA);
a = md5_GG(a, b, c, d, x[k + 5], S21, 0xD62F105D);
d = md5_GG(d, a, b, c, x[k + 10], S22, 0x2441453);
c = md5_GG(c, d, a, b, x[k + 15], S23, 0xD8A1E681);
b = md5_GG(b, c, d, a, x[k + 4], S24, 0xE7D3FBC8);
a = md5_GG(a, b, c, d, x[k + 9], S21, 0x21E1CDE6);
d = md5_GG(d, a, b, c, x[k + 14], S22, 0xC33707D6);
c = md5_GG(c, d, a, b, x[k + 3], S23, 0xF4D50D87);
b = md5_GG(b, c, d, a, x[k + 8], S24, 0x455A14ED);
a = md5_GG(a, b, c, d, x[k + 13], S21, 0xA9E3E905);
d = md5_GG(d, a, b, c, x[k + 2], S22, 0xFCEFA3F8);
c = md5_GG(c, d, a, b, x[k + 7], S23, 0x676F02D9);
b = md5_GG(b, c, d, a, x[k + 12], S24, 0x8D2A4C8A);
a = md5_HH(a, b, c, d, x[k + 5], S31, 0xFFFA3942);
d = md5_HH(d, a, b, c, x[k + 8], S32, 0x8771F681);
c = md5_HH(c, d, a, b, x[k + 11], S33, 0x6D9D6122);
b = md5_HH(b, c, d, a, x[k + 14], S34, 0xFDE5380C);
a = md5_HH(a, b, c, d, x[k + 1], S31, 0xA4BEEA44);
d = md5_HH(d, a, b, c, x[k + 4], S32, 0x4BDECFA9);
c = md5_HH(c, d, a, b, x[k + 7], S33, 0xF6BB4B60);
b = md5_HH(b, c, d, a, x[k + 10], S34, 0xBEBFBC70);
a = md5_HH(a, b, c, d, x[k + 13], S31, 0x289B7EC6);
d = md5_HH(d, a, b, c, x[k + 0], S32, 0xEAA127FA);
c = md5_HH(c, d, a, b, x[k + 3], S33, 0xD4EF3085);
b = md5_HH(b, c, d, a, x[k + 6], S34, 0x4881D05);
a = md5_HH(a, b, c, d, x[k + 9], S31, 0xD9D4D039);
d = md5_HH(d, a, b, c, x[k + 12], S32, 0xE6DB99E5);
c = md5_HH(c, d, a, b, x[k + 15], S33, 0x1FA27CF8);
b = md5_HH(b, c, d, a, x[k + 2], S34, 0xC4AC5665);
a = md5_II(a, b, c, d, x[k + 0], S41, 0xF4292244);
d = md5_II(d, a, b, c, x[k + 7], S42, 0x432AFF97);
c = md5_II(c, d, a, b, x[k + 14], S43, 0xAB9423A7);
b = md5_II(b, c, d, a, x[k + 5], S44, 0xFC93A039);
a = md5_II(a, b, c, d, x[k + 12], S41, 0x655B59C3);
d = md5_II(d, a, b, c, x[k + 3], S42, 0x8F0CCC92);
c = md5_II(c, d, a, b, x[k + 10], S43, 0xFFEFF47D);
b = md5_II(b, c, d, a, x[k + 1], S44, 0x85845DD1);
a = md5_II(a, b, c, d, x[k + 8], S41, 0x6FA87E4F);
d = md5_II(d, a, b, c, x[k + 15], S42, 0xFE2CE6E0);
c = md5_II(c, d, a, b, x[k + 6], S43, 0xA3014314);
b = md5_II(b, c, d, a, x[k + 13], S44, 0x4E0811A1);
a = md5_II(a, b, c, d, x[k + 4], S41, 0xF7537E82);
d = md5_II(d, a, b, c, x[k + 11], S42, 0xBD3AF235);
c = md5_II(c, d, a, b, x[k + 2], S43, 0x2AD7D2BB);
b = md5_II(b, c, d, a, x[k + 9], S44, 0xEB86D391);
a = md5_AddUnsigned(a, AA);
b = md5_AddUnsigned(b, BB);
c = md5_AddUnsigned(c, CC);
d = md5_AddUnsigned(d, DD);
}
return (md5_WordToHex(a) + md5_WordToHex(b) + md5_WordToHex(c) + md5_WordToHex(d)).toLowerCase();
}
// const api = {
// login: (data) => request('GET', `main/login/toLogin`, data),
// list: (data) => request('GET', `main/projectManage/ajaxForWaitOrder`, data),
// // 电站详情
// entryDetail: (data) => request('GET', `main/projectManage/entryDetail`, data),
// saveOrEditCustomerEntry: (data) => request('GET', `main/projectManage/saveOrEditCustomerEntry`, data),
// // 项目列表
// projectList: (data) => request('GET', `main/projectManage/projectList`, data),
// // 项目删除
// appletsDelete: (data) => request('GET', `main/projectManage/appletsDelete`, data),
// // 安装方式
// installWayList: (data) => request('GET', `main/projectManage/installWayList`, data),
// // 获取省
// getProvinceList: (data) => request('GET', `main/redirect/getProvinceList`, data),
// // 获取市
// getCitysByProName: (data) => request('GET', `main/redirect/getCitysByProName`, data),
// // 获取区
// getAreaByCityName: (data) => request('GET', `main/redirect/getAreaByCityName`, data),
// // 信息录入
// saveOrEditCustomerEntry: (data) => request('GET', `main/projectManage/saveOrEditCustomerEntry`, data),
// // 系统工程师统计
// statistic: (data) => request('GET', `main/projectManage/statistic`, data),
// // 驳回
// appletsFailed: (data) => request('GET', `main/projectManage/appletsFailed`, data),
// // 匹配方案
// findAllPlan: (data) => request('GET', `main/projectManage/findAllPlan`, data),
// // 审核通过并匹配
// appletsToExamine: (data) => request('GET', `main/projectManage/appletsToExamine`, data),
// // 确认下单
// batchOrder: (data) => request('GET', `main/projectManage/batchOrder`, data),
// // 确认下单
// batchReceive: (data) => request('GET', `main/projectManage/batchReceive`, data),
// // 安装完成
// batchInstall: (data) => request('GET', `main/projectManage/batchInstall`, data),
// // 并网验收
// mergeAccept: (data) => request('GET', `main/projectManage/mergeAccept`, data),
// // 验收退回
// notAccept: (data) => request('GET', `main/projectManage/notAccept`, data),
// // 验收确认
// sureAccept: (data) => request('GET', `main/projectManage/sureAccept`, data),
// // 交付
// accept: (data) => request('GET', `main/projectManage/accept`, data),
// //并网验收
// mergeAccept: (data) => request('GET', `main/projectManage/mergeAccept`, data),
// //电站详情
// entryDetail: (data) => request('GET', `main/projectManage/entryDetail`, data),
// //查看方案
// viewMatchedPlan: (data) => request('GET', `main/projectManage/viewMatchedPlan`, data),
// //查看验收报告
// toMergeAccept: (data) => request('GET', `main/projectManage/toMergeAccept`, data),
// //暂存验收报告
// tempSaveReport: (data) => request('GET', `main/projectManage/tempSaveReport`, data),
// //发送短信验证码
// sendMsg: (data) => request('GET', `main/customer/sendMsg`, data),
// //提交忘记密码
// checkConfirmCode: (data, cookie) => request('GET', `main/customer/checkConfirmCode`, data, cookie),
// //根据规格获取方案类型
// findPlanByAssembly: (data) => request('GET', `main/customer/findPlanByAssembly`, data),
// //获取逆变器并网箱
// getElectricPlanAll: (data) => request('GET', `main/projectManage/getElectricPlanAll`, data),
// //根据组件总块数 获取逆变器并网箱
// findElectricPlan: (data) => request('GET', `main/projectManage/findElectricPlan`, data),
// //申请单列表
// applyOrderList: (data) => request2({
// url: 'main/apply/ajaxForApplyOrderList',
// method: 'GET',
// data
// }, true),
// //入库单列表
// inStockList: (data) => request2({
// url: 'main/inStock/inStockList',
// method: 'GET',
// data
// }, true),
// //出库单列表
// outStockList: (data) => request2({
// url: 'main/outStock/outStockList',
// method: 'POST',
// data
// }, true),
// //调拨单列表
// allocationList: (data) => request2({
// url: 'main/allocation/allocationList',
// method: 'GET',
// data
// }, true),
// //盘点单列表
// inventoryList: (data) => request2({
// url: 'main/smInventory/listInventoryOrder',
// method: 'POST',
// data
// }, true),
// //订单查询列表
// allLists: (data) => request2({
// url: 'main/allOrder/list',
// method: 'GET',
// data
// }, true),
// //仓库列表
// warehouseList: (data) => request('GET', `main/apply/warehouseList`, data),
// //调拨单发货方式
// getDelivery: (data) => request('POST', `main/allocation/getDelivery`, data),
// //物料统计
// getIndexNumber: (data) => request('GET', `main/allocation/getIndexNumber`, data),
// //物料组
// listMaterialGroup: (data) => request('GET', `main/apply/listMaterialGroup`, data),
// //物料类型
// listMaterialType: (data) => request('GET', `main/apply/listMaterialType`, data),
// //物料列表
// findMaterialAndBom: (data) => request2({
// url: 'main/apply/findMaterialAndBom',
// method: 'GET',
// data
// }, true),
// //可出库物料列表
// findMaterialList: (data) => request2({
// url: 'main/apply/findMaterialList',
// method: 'GET',
// data
// }, true),
// //保存物料申请单
// saveApplyOrder: (data) => request2({
// url: 'main/apply/saveApplyOrder?userId=' + wx.getStorageSync('userId'),
// method: 'POST',
// header: {
// 'content-type': 'application/json',
// },
// data
// }, true),
// //物料申请单详情
// applyDetail: (data) => request('GET', `main/apply/applyOrderDetail`, data),
// //出库单详情
// outStockOrderDetail: (data) => request2({
// url: 'main/outStock/outStockOrderDetail',
// method: 'POST',
// data
// }, true),
// //调拨单详情
// allocationDetail: (data) => request2({
// url: 'main/allocation/allocationDetail',
// method: 'GET',
// data
// }, true),
// //盘点单详情
// inventoryOrderDetail: (data) => request2({
// url: 'main/smInventory/inventoryOrderDetail',
// method: 'POST',
// data
// }, true),
// //订单查询详情
// allOrderDetail: (data) => request2({
// url: 'main/allOrder/orderDetail',
// method: 'GET',
// data
// }, true),
// //调拨单入库
// inAllocationOrder: (data) => request2({
// url: 'main/allocation/inAllocationOrder?userId=' + wx.getStorageSync('userId'),
// method: 'POST',
// header: {
// 'content-type': 'application/json',
// },
// data
// }, true),
// //调拨单出库
// outAllocationOrder: (data) => request2({
// url: 'main/allocation/outAllocationOrder?userId=' + wx.getStorageSync('userId'),
// method: 'POST',
// header: {
// 'content-type': 'application/json',
// },
// data
// }, true),
// //新增使用出库单
// saveOutStockOrder: (data) => request2({
// url: 'main/outStock/saveOutStockOrder',
// method: 'POST',
// header: {
// 'content-type': 'application/json',
// },
// data
// }, true),
// //入库单详情
// inStockOrderDetail: (data) => request2({
// url: 'main/inStock/inStockOrderDetail',
// method: 'GET',
// data
// }, true),
// //入库单入库
// inStockAdd: (data) => request2({
// url: 'main/inStock/inStock?userId=' + wx.getStorageSync('userId'),
// method: 'POST',
// header: {
// 'content-type': 'application/json',
// },
// data
// }, true),
// //入库单打回
// inStockGiveBack: (data) => request2({
// url: 'main/inStock/giveBack?userId=' + wx.getStorageSync('userId'),
// method: 'POST',
// data
// }, true),
// //订单查询删除
// deleteOrder: (data) => request2({
// url: 'main/allOrder/deleteOrder',
// method: 'POST',
// data
// }, true),
// findPlanByAssembly: (data) => request('GET', `main/projectManage/findPlanByAssembly`, data),
// // 获取民族
// getNationals: (data) => request('GET', `main/projectManage/getNationals`, data),
// // 进件申请(第一次)
// saveIncomingApplication: (data) => request('POST', `main/projectManage/saveIncomingApplication`, data),
// //3、查询征信接口
// lookCreditResult: (data) => request('GET', `main/projectManage/lookCreditResult`, data),
// //进件详情
// getOnceIncomingApplication: (data) => request('GET', `main/projectManage/getOnceIncomingApplication`, data),
// //获取省
// getProvince: (data) => request('GET', `main/projectManage/getProvince`, data),
// //根据省的id 获取市
// getCityByPros: (data) => request('GET', `main/projectManage/getCityByPros`, data),
// //根据市的id 获取区
// getAreaByCity: (data) => request('GET', `main/projectManage/getAreaByCity`, data),
// //进件结果查询
// lookApplyResult: (data) => request('GET', `main/projectManage/lookApplyResult`, data),
// //二次申请
// nextIncomingApplication: (data) => request('POST', `main/projectManage/nextIncomingApplication`, data),
// //
// uploadTwoAttachment: (data) => request('GET', `main/projectManage/uploadTwoAttachment`, data),
// //
// }
const toast = (title, time, icon) => {
wx.showToast({
title: title,
duration: time,
icon: icon,
mask: true
})
}
const req = (url, data, method, header, contentType) => {
let noTokenUrl = ['oauth/miniapp/token','oauth/miniapp/logout'];
if(noTokenUrl.some((item)=>{return item== url})){//不需要加token
var _header = {
'Content-Type': contentType === '1' ? 'application/json' : 'application/x-www-form-urlencoded',
'Authorization': 'Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=',
'Tenant-Id': '000000',
}
}else{//需要加token
var _header = {
'Content-Type': contentType === '1' ? 'application/json' : 'application/x-www-form-urlencoded',
'Authorization': 'Basic c2FiZXIzOnNhYmVyM19zZWNyZXQ=',
'Blade-Requested-With':'BladeHttpRequest',
'Blade-Auth': 'bearer ' + wx.getStorageSync('TOKEN'),
}
}
return new Promise((resolve, reject) => {
wx.request({
url: monitURL + url,
data: data,
method: method,
header: {..._header,...header},
success: function (res) {
resolve(res.data)
},
fail: function (res) {
reject(res);
},
complete: function (res) {
if(res.data.code == '401'){//登录失效
console.log('登录失效')
wx.showModal({
content: '登录过期,是否重新登录?',
success(res) {
if (res.cancel) {} else if (res.confirm) {
wx.clearStorage()
wx.reLaunch({
url: '/pages/index/index',
})
}
}
})
}
}
})
})
}
var turnEmpty = obj => {
if (obj == undefined) {
return ''
} else if (obj == 'undefined') {
return ''
} else if (obj == null) {
return ''
} else if (obj == 'null') {
return ''
} else {
return obj
}
}
/* 防抖函数封装 */
function debounce(fn, interval) {
let timer;
let delay = interval || 1000; // 间隔的时间如果interval不传则默认1秒
return function () {
let that = this;
let args = arguments; // 保存此处的arguments因为setTimeout是全局的arguments不是防抖函数需要的。
if (timer) {
clearTimeout(timer);
}
timer = setTimeout(function () {
fn.apply(that, args); // 用apply指向调用debounce的对象相当于this.fn(args);
}, delay);
};
}
/**
* 根据身份证号,获取精缺周岁年龄
* @param {Object} idNumber 身份证号
*/
function getAgeByPid(idNumber){
var birthYear = idNumber.substr(6,4)
var birthMonth = idNumber.substr(10,2)
var birthDay = idNumber.substr(12,2)
var d = new Date();
var nowYear = d.getFullYear();
var nowMonth = d.getMonth() + 1;
var nowDay = d.getDate();
var returnAge = 0
if(nowYear == birthYear){
returnAge = 0;//同年 则为0岁
}else{
var ageDiff = nowYear - birthYear ; //年之差
if(ageDiff > 0){
if(nowMonth == birthMonth){
var dayDiff = nowDay - birthDay;//日之差
if(dayDiff < 0){
returnAge = ageDiff - 1;
}else{
returnAge = ageDiff ;
}
}else{
var monthDiff = nowMonth - birthMonth;//月之差
if(monthDiff < 0){
returnAge = ageDiff - 1;
}else{
returnAge = ageDiff ;
}
}
}else{
returnAge = -1;//返回-1 表示出生日期输入错误 晚于今天
}
}
return returnAge;//返回周岁年龄
}
var filterItem = function(key, value, arr){
if (!(arr && arr.length > 0)) {
return {}
}
var item = [];
for(var i = 0; i<arr.length; i++){
if(arr[i][key]*1 >= value){
item.push(arr[i])
}
}
return item.length ? item[0] : {}
}
module.exports = {
formatTime,
formatTime2,
// api,
toast,
req,
turnEmpty,
debounce,
getAgeByPid,
md5,
idCard(value,rule, param, models) {
if (!value || !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|X)$/i.test(value)) {
return true;
}
},
validatePhoneNumber(value,rule, param, models) {
if (!value || !/^[1][3-9]\d{9}$/i.test(value)) {
return true;
}
},
validateBankNum(value,rule, param, models) { //长度在15到19位
if (!value || !/^(?:[1-9]\d{14}(?:\d|L|U|C|X|P|S|Q|R|Z|N|G|B|E|K|H|V|W|Y|T)?|\d{15,19})$/.test(value)) {
return true;
}
},
isDate(str){
// 日期字符串的格式yyyy-mm-dd
var datePattern = /^\d{4}-\d{1,2}-\d{1,2}$/;
return datePattern.test(str);
},
num(rule, value, param, models) {
if (!value || !/^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$/.test(value)) {
return rule.message;
}
},
filterItem:filterItem,
}