2022-06-08 14:51:11 +08:00
|
|
|
|
import axios from 'axios'
|
|
|
|
|
|
//获取前天-2,昨天-1,今天0,明天1等时间 yyyy/MM/dd format,分隔符
|
|
|
|
|
|
export function GetDateStr(AddDayCount, format, from) {
|
2025-09-11 10:11:38 +08:00
|
|
|
|
var dd = !from ? new Date() : stringToDate(from, format);
|
2022-06-08 14:51:11 +08:00
|
|
|
|
dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期
|
|
|
|
|
|
var year = dd.getFullYear();
|
|
|
|
|
|
var month = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
|
|
|
|
|
|
var date = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
|
|
|
|
|
|
return year + format + month + format + date;
|
|
|
|
|
|
}
|
|
|
|
|
|
//计算时间间隔
|
|
|
|
|
|
export function GetTimeDiff(startTime, endTime) {
|
2025-09-11 10:11:38 +08:00
|
|
|
|
var startTime = new Date(Date.parse(startTime.replace(/-/g, "-"))).getTime();
|
|
|
|
|
|
var endTime = new Date(Date.parse(endTime.replace(/-/g, "-"))).getTime();
|
|
|
|
|
|
var hours = Math.abs((startTime - endTime)) / (1000 * 60 * 60);
|
|
|
|
|
|
return hours;
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
export function GetTimeStr(AddDayCount, format, from) {
|
2025-09-11 10:11:38 +08:00
|
|
|
|
var dd = !from ? new Date() : stringToDate(from, format);
|
|
|
|
|
|
dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期
|
|
|
|
|
|
var year = dd.getFullYear();
|
|
|
|
|
|
var month = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
|
|
|
|
|
|
var date = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
|
|
|
|
|
|
var hour = dd.getHours() < 10 ? "0" + dd.getHours() : dd.getHours();
|
|
|
|
|
|
var min = dd.getMinutes() < 10 ? "0" + dd.getMinutes() : dd.getMinutes();
|
|
|
|
|
|
var second = dd.getSeconds() < 10 ? "0" + dd.getSeconds() : dd.getSeconds();
|
|
|
|
|
|
return year + format + month + format + date + " " + hour + ":" + min + ":" + second;
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
//手机号码验证
|
2025-09-11 10:11:38 +08:00
|
|
|
|
export function checkPhone(phone) {
|
|
|
|
|
|
if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(phone))) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
return false;
|
2025-09-11 10:11:38 +08:00
|
|
|
|
} else {
|
|
|
|
|
|
return true;
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//获取随机颜色
|
2025-09-11 10:11:38 +08:00
|
|
|
|
export function getRandomColor() {
|
|
|
|
|
|
var r = Math.floor(Math.random() * 256);
|
|
|
|
|
|
var g = Math.floor(Math.random() * 256);
|
|
|
|
|
|
var b = Math.floor(Math.random() * 256);
|
|
|
|
|
|
return "rgba(" + r + "," + g + "," + b + ",0.6)";
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
//将时间戳转换成日期格式
|
2025-09-11 10:11:38 +08:00
|
|
|
|
export function timestampToTime(timestamp, type) {
|
|
|
|
|
|
if (timestamp.length < 13) {
|
|
|
|
|
|
timestamp = timestamp * 1000
|
|
|
|
|
|
}
|
|
|
|
|
|
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let Y = date.getFullYear() + '-';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let h = ' ' + date.getHours() + ':';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let m = date.getMinutes() + ':';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let s = date.getSeconds();
|
|
|
|
|
|
if (type == 'date') {
|
|
|
|
|
|
return Y + M + D;
|
|
|
|
|
|
} else if (type == 'time') {
|
|
|
|
|
|
return Y + M + D + h + m + s;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
2022-06-08 14:51:11 +08:00
|
|
|
|
//身份证号合法性验证
|
|
|
|
|
|
//支持15位和18位身份证号
|
|
|
|
|
|
//支持地址编码、出生日期、校验位验证
|
2025-09-11 10:11:38 +08:00
|
|
|
|
export function IdentityCodeValid(code) {
|
|
|
|
|
|
var city = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江 ", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北 ", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏 ", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外 " };
|
2022-06-08 14:51:11 +08:00
|
|
|
|
var tip = "";
|
2025-09-11 10:11:38 +08:00
|
|
|
|
var pass = true;
|
|
|
|
|
|
|
|
|
|
|
|
if (!code || !/^\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(code)) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
tip = "身份证号格式错误";
|
|
|
|
|
|
pass = false;
|
2025-09-11 10:11:38 +08:00
|
|
|
|
} else if (!city[code.substr(0, 2)]) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
tip = "地址编码错误";
|
|
|
|
|
|
pass = false;
|
|
|
|
|
|
}
|
2024-04-18 20:40:15 +08:00
|
|
|
|
// else{
|
|
|
|
|
|
// //18位身份证需要验证最后一位校验位
|
|
|
|
|
|
// if(code.length == 18){
|
|
|
|
|
|
// code = code.split('');
|
|
|
|
|
|
// //∑(ai×Wi)(mod 11)
|
|
|
|
|
|
// //加权因子
|
|
|
|
|
|
// var factor = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 ];
|
|
|
|
|
|
// //校验位
|
|
|
|
|
|
// var parity = [ 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 ];
|
|
|
|
|
|
// var sum = 0;
|
|
|
|
|
|
// var ai = 0;
|
|
|
|
|
|
// var wi = 0;
|
|
|
|
|
|
// for (var i = 0; i < 17; i++)
|
|
|
|
|
|
// {
|
|
|
|
|
|
// ai = code[i];
|
|
|
|
|
|
// wi = factor[i];
|
|
|
|
|
|
// sum += ai * wi;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// var last = parity[sum % 11];
|
|
|
|
|
|
// if(parity[sum % 11] != code[17]){
|
|
|
|
|
|
// tip = "校验位错误";
|
|
|
|
|
|
// pass =false;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
console.log(tip)
|
2022-06-08 14:51:11 +08:00
|
|
|
|
return pass;
|
2025-09-11 10:11:38 +08:00
|
|
|
|
}
|
2022-06-08 14:51:11 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-09-11 10:11:38 +08:00
|
|
|
|
//验证企业 社会统一信用代码
|
2022-06-08 14:51:11 +08:00
|
|
|
|
export function CheckSocialCreditCode(Code) {
|
|
|
|
|
|
// var Code = el.val()
|
|
|
|
|
|
var patrn = /^[0-9A-Z]+$/;
|
|
|
|
|
|
//18位校验及大写校验
|
|
|
|
|
|
if ((Code.length != 18) || (patrn.test(Code) == false)) {
|
2025-09-11 10:11:38 +08:00
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// el.focus()
|
|
|
|
|
|
return false;
|
2025-09-11 10:11:38 +08:00
|
|
|
|
} else {
|
|
|
|
|
|
var Ancode; //统一社会信用代码的每一个值
|
|
|
|
|
|
var Ancodevalue; //统一社会信用代码每一个值的权重
|
|
|
|
|
|
var total = 0;
|
|
|
|
|
|
var weightedfactors = [1, 3, 9, 27, 19, 26, 16, 17, 20, 29, 25, 13, 8, 24, 10, 30, 28]; //加权因子
|
|
|
|
|
|
var str = '0123456789ABCDEFGHJKLMNPQRTUWXY';
|
|
|
|
|
|
//不用I、O、S、V、Z
|
|
|
|
|
|
for (var i = 0; i < Code.length - 1; i++) {
|
|
|
|
|
|
Ancode = Code.substring(i, i + 1);
|
|
|
|
|
|
Ancodevalue = str.indexOf(Ancode);
|
|
|
|
|
|
total = total + Ancodevalue * weightedfactors[i];
|
|
|
|
|
|
//权重与加权因子相乘之和
|
|
|
|
|
|
}
|
|
|
|
|
|
var logiccheckcode = 31 - total % 31;
|
|
|
|
|
|
|
|
|
|
|
|
if (logiccheckcode == 31) {
|
|
|
|
|
|
logiccheckcode = 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
var Str = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,J,K,L,M,N,P,Q,R,T,U,W,X,Y";
|
|
|
|
|
|
var Array_Str = Str.split(',');
|
|
|
|
|
|
logiccheckcode = Array_Str[logiccheckcode];
|
|
|
|
|
|
|
|
|
|
|
|
var checkcode = Code.substring(17, 18);
|
|
|
|
|
|
if (logiccheckcode != checkcode) {
|
|
|
|
|
|
// showTipsDialog("不是有效的统一社会信用编码!");
|
|
|
|
|
|
// el.focus()
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
return true;
|
2025-09-11 10:11:38 +08:00
|
|
|
|
}
|
2022-06-08 14:51:11 +08:00
|
|
|
|
//获取天气
|
|
|
|
|
|
// export function loadWeather(type,cityCode,_this){
|
|
|
|
|
|
// var weatherJson = {
|
|
|
|
|
|
// 'key': 'a3217cf9335d333c307abee2fce600b5',
|
|
|
|
|
|
// 'city': cityCode,
|
|
|
|
|
|
// 'extensions': type,//可选值:base/all base:返回实况天气 all:返回预报天气
|
|
|
|
|
|
// 'output': 'JSON'
|
|
|
|
|
|
// };
|
|
|
|
|
|
// axios.get('http://restapi.amap.com/v3/weather/weatherInfo',{params:weatherJson}).then((res)=>{
|
|
|
|
|
|
// console.log(res)
|
|
|
|
|
|
// if (res.data.status == "1") {
|
|
|
|
|
|
// //
|
|
|
|
|
|
// if(type=='base'){
|
|
|
|
|
|
// return res.data.lives[0]
|
|
|
|
|
|
// }else{
|
|
|
|
|
|
// var json = res.data.forecasts[0];
|
|
|
|
|
|
// var list = json.casts
|
|
|
|
|
|
// list.forEach(element => {
|
|
|
|
|
|
// element.date = element.date.substring(5,element.date.length)
|
|
|
|
|
|
// switch (element.week) {
|
|
|
|
|
|
// case "1":
|
|
|
|
|
|
// element.week='周一'
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "2":
|
|
|
|
|
|
// element.week='周二'
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "3":
|
|
|
|
|
|
// element.week='周三'
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "4":
|
|
|
|
|
|
// element.week='周四'
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "5":
|
|
|
|
|
|
// element.week='周五'
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "6":
|
|
|
|
|
|
// element.week='周六'
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "7":
|
|
|
|
|
|
// element.week='周日'
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// switch (element.dayweather) {
|
|
|
|
|
|
// case "小雨":
|
|
|
|
|
|
// element.url = require('@/assets/images/weather/rain_s.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "阵雨":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/rain_b.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "大雨":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/rain_b.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "雷阵雨":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/thunder_rain.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "多云":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/cloudy.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "少云":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/cloudy.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "晴":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/sunny.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "小雪":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/snow_s.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "大雪":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/snow_b.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "雨夹雪":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/rain_snow.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "雾":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/flog.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// case "霾":
|
|
|
|
|
|
// element.url=require('@/assets/images/weather/flog.png')
|
|
|
|
|
|
// break;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// });
|
|
|
|
|
|
// json.casts = list
|
|
|
|
|
|
// // return json
|
|
|
|
|
|
// console.log(_this.weatherInfo)
|
|
|
|
|
|
// _this.weatherInfo=json
|
|
|
|
|
|
// console.log(_this.weatherInfo)
|
|
|
|
|
|
// }
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
// }
|
|
|
|
|
|
/**
|
2025-09-11 10:11:38 +08:00
|
|
|
|
* 根据日期字符串获取星期几
|
|
|
|
|
|
* @param dateString 日期字符串(如:2020-05-02)
|
|
|
|
|
|
* @returns {String}
|
|
|
|
|
|
*/
|
|
|
|
|
|
function getWeek(dateString) {
|
|
|
|
|
|
var dateArray = dateString.split("-");
|
|
|
|
|
|
var date = new Date(dateArray[0], parseInt(dateArray[1] - 1), dateArray[2]);
|
|
|
|
|
|
return "周" + "日一二三四五六".charAt(date.getDay());
|
|
|
|
|
|
};
|
|
|
|
|
|
export function loadWeather(_this) {
|
|
|
|
|
|
// ?version=v1&appid=79112751&appsecret=EBqjU987&vue=1
|
|
|
|
|
|
axios.get('https://tianqiapi.com/api', {
|
|
|
|
|
|
params: {
|
|
|
|
|
|
version: 'v1',
|
|
|
|
|
|
appid: '79112751',
|
|
|
|
|
|
appsecret: 'EBqjU987',
|
|
|
|
|
|
vue: 1
|
|
|
|
|
|
},
|
|
|
|
|
|
headers: { 'Authorization': '' }
|
|
|
|
|
|
}).then((res) => {
|
|
|
|
|
|
var json = res.data;
|
2022-06-08 14:51:11 +08:00
|
|
|
|
var list = json.data
|
|
|
|
|
|
list.forEach(element => {
|
2025-09-11 10:11:38 +08:00
|
|
|
|
element.week = getWeek(element.date)
|
|
|
|
|
|
element.date = element.date.substring(5, element.date.length)
|
|
|
|
|
|
element.url = require('@/assets/images/weather/' + element.wea_img + '.png')
|
2022-06-08 14:51:11 +08:00
|
|
|
|
});
|
|
|
|
|
|
json.data = list
|
2025-09-11 10:11:38 +08:00
|
|
|
|
_this.weatherInfo = json
|
|
|
|
|
|
})
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|