| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- import store from '../store';
- // 日期格式化
- export function parseTime(time, pattern) {
- if (time != 'null') {
- if (arguments.length === 0 || !time) {
- return null;
- }
- const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}';
- let date;
- if (typeof time === 'object') {
- date = time;
- } else {
- if (typeof time === 'string' && /^[0-9]+$/.test(time)) {
- time = parseInt(time);
- } else if (typeof time === 'string') {
- time = time
- .replace(new RegExp(/-/gm), '/')
- .replace('T', ' ')
- .replace(new RegExp(/\.[\d]{3}/gm), '');
- }
- if (typeof time === 'number' && time.toString().length === 10) {
- time = time * 1000;
- }
- date = new Date(time);
- }
- const formatObj = {
- y: date.getFullYear(),
- m: date.getMonth() + 1,
- d: date.getDate(),
- h: date.getHours(),
- i: date.getMinutes(),
- s: date.getSeconds(),
- a: date.getDay(),
- };
- const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
- let value = formatObj[key];
- // Note: getDay() returns 0 on Sunday
- if (key === 'a') {
- return ['日', '一', '二', '三', '四', '五', '六'][value];
- }
- if (result.length > 0 && value < 10) {
- value = '0' + value;
- }
- return value || 0;
- });
- return time_str;
- } else {
- return '';
- }
- }
- // 千分号
- export function Micrometer(num) {
- if (num != null) {
- let numt = (num || 0).toString().split('.');
- if (numt[1] == undefined) {
- return numt[0].replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
- } else {
- return numt[0].replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') + '.' + numt[1];
- }
- } else {
- return 0.0;
- }
- }
- export function weeklyTimeDivision(time, type) {
- if (type == 0) {
- return time.split(' ')[0] + ' ';
- } else {
- return time.split(' ')[1];
- }
- }
- export function parseTimeParagraph(dayTime) {
- var currentDate = new Date(dayTime);
- var timesStamp = currentDate.getTime();
- var currenDay = currentDate.getDay();
- var dates = [];
- var tabTime = [];
- for (var i = 0; i < 14; i++) {
- var dataTime = new Date(timesStamp + 24 * 60 * 60 * 1000 * (i - ((currenDay + 6) % 7)))
- .toLocaleDateString()
- .replace(/\//g, '-');
- var dataTimeArr = dataTime.split('-');
- if (dataTimeArr[1] < 10) {
- dataTimeArr[1] = '0' + dataTimeArr[1];
- }
- if (dataTimeArr[2] < 10) {
- dataTimeArr[2] = '0' + dataTimeArr[2];
- }
- dates.push(
- dataTimeArr.join('-') +
- ' ' +
- ['周日', '周一', '周二', '周三', '周四', '周五', '周六'][
- new Date(dataTime.toString().replace(/-/g, '/')).getDay()
- ]
- );
- }
- tabTime.push(dates[0]);
- tabTime.push(dates[4]);
- return dates;
- }
- export function weeklay(dataTime) {
- return ['周日', '周一', '周二', '周三', '周四', '周五', '周六'][new Date(dataTime).getDay()];
- }
- // 回显数据字典
- export function selectDictLabel(datas, value) {
- var actions = [];
- Object.keys(datas).some((key) => {
- if (datas[key].dictValue == '' + value) {
- actions.push(datas[key].dictLabel);
- return true;
- }
- });
- return actions.join('');
- }
- export function selectDictLabelu(datas, value) {
- var actions = [];
- Object.keys(datas).some((key) => {
- if (datas[key].dictValue == '' + value) {
- actions.push(datas[key].text);
- return true;
- }
- });
- return actions.join('');
- }
- // 回显数据字典(字符串数组)
- export function selectDictLabels(datas, value, separator) {
- var actions = [];
- var currentSeparator = undefined === separator ? ',' : separator;
- var temp = value.split(currentSeparator);
- Object.keys(value.split(currentSeparator)).some((val) => {
- Object.keys(datas).some((key) => {
- if (datas[key].dictValue == '' + temp[val]) {
- actions.push(datas[key].dictLabel + currentSeparator);
- }
- });
- });
- return actions.join('').substring(0, actions.join('').length - 1);
- }
- // 字符串格式化(%s )
- export function sprintf(str) {
- var args = arguments,
- flag = true,
- i = 1;
- str = str.replace(/%s/g, function () {
- var arg = args[i++];
- if (typeof arg === 'undefined') {
- flag = false;
- return '';
- }
- return arg;
- });
- return flag ? str : '';
- }
- // 转换字符串,undefined,null等转化为""
- export function praseStrEmpty(str) {
- if (!str || str == 'undefined' || str == 'null') {
- return '';
- }
- return str;
- }
- //
- export function twoPointSum(latA, lonA, latB, lonB) {
- var coordinate = 6371000;
- var PI = 3.14159265358979324;
- var x =
- Math.cos((latA * PI) / 180) *
- Math.cos((latB * PI) / 180) *
- Math.cos(((lonA - lonB) * PI) / 180);
- var y = Math.sin((latA * PI) / 180) * Math.sin((latB * PI) / 180);
- var s = x + y;
- if (s > 1) s = 1;
- if (s < -1) s = -1;
- var alphabet = Math.acos(s);
- var PointSum = alphabet * coordinate;
- return PointSum;
- }
- export function CJ02BD(gcjLat, gcjLon) {
- var x = gcjLon,
- y = gcjLat;
- var x_pi = (3.14159265358979324 * 3000.0) / 180.0;
- var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * x_pi);
- var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * x_pi);
- var bdLon = z * Math.cos(theta) + 0.0065;
- var bdLat = z * Math.sin(theta) + 0.006;
- return {
- lat: bdLat,
- lon: bdLon,
- };
- }
- export function gcj02BD(gcjLat, gcjLon) {
- var x = gcjLon - 0.0065,
- y = gcjLat - 0.006;
- var x_pi = (3.14159265358979324 * 3000.0) / 180.0;
- var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * x_pi);
- var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * x_pi);
- var bdLon = z * Math.cos(theta);
- var bdLat = z * Math.sin(theta);
- return { lat: bdLat, lon: bdLon };
- }
- /**
- *门店类型集合,返回对应的类型
- *@param {*String} dictValue //类型
- * */
- export function verifyStoreType(dictValue) {
- if (!dictValue) return null;
- let storeData = null;
- storeData = store.getters.storeType.find((val) => val.dictValue == dictValue);
- let remarkType = storeData ? JSON.parse(storeData.remark) : null;
- return remarkType;
- }
|