|
|
import request from './ajax.js';
|
|
|
let data = {
|
|
|
/* 固定数据
|
|
|
*/
|
|
|
store () {
|
|
|
return {
|
|
|
appid: 'wxa7b4864efbcff191', //
|
|
|
localBaseImg: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/pugongying/", // 图片前缀
|
|
|
cdnBaseImg: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/dailibaoming/", // 图片公共前缀路径
|
|
|
svgBaseImg: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/",// svg
|
|
|
fadanBaseImg: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/dailibaoming/",
|
|
|
loginText: '请登录',
|
|
|
// #ifdef MP-WEIXIN
|
|
|
version: uni.getAccountInfoSync().miniProgram.version || "1.0.16",
|
|
|
mapKey: 'LHQBZ-MLTEG-BO4QK-QJ2TH-NLGZJ-7GFAS',
|
|
|
// #endif
|
|
|
// #ifdef H5 || APP-PLUS || MP-TOUTIAO || MP-KUAISHOU
|
|
|
version: "1.0.16"
|
|
|
// #endif
|
|
|
}
|
|
|
},
|
|
|
/* 清除登录信息存储
|
|
|
*/
|
|
|
clearLocalStorage () {
|
|
|
uni.removeStorageSync("apply-avatar");
|
|
|
uni.removeStorageSync("apply-username");
|
|
|
uni.removeStorageSync("apply-tel");
|
|
|
uni.removeStorageSync("apply-token");
|
|
|
uni.removeStorageSync("apply-userinfo");
|
|
|
uni.removeStorageSync("apply-userinfo-copy");
|
|
|
uni.removeStorageSync("apply-agencyId");
|
|
|
uni.removeStorageSync("apply-supplierAccount");
|
|
|
uni.removeStorageSync("IS_MINIAPP_MEMBER");
|
|
|
},
|
|
|
/* 分享给好友
|
|
|
*/
|
|
|
shareFun (
|
|
|
path = "/pages/home/index",
|
|
|
image = "",
|
|
|
title = getApp().globalData.title
|
|
|
) {
|
|
|
console.log(uni.getStorageSync('miniApp-info'));
|
|
|
let appInfo = uni.getStorageSync('miniApp-info')
|
|
|
|
|
|
let params = {
|
|
|
path: path + `?userId=${uni.getStorageSync("apply-userinfo") ? uni.getStorageSync("apply-userinfo").user.id : ''}`,
|
|
|
// imageUrl: this.store().localBaseImg + 'share.png', // image ? image :
|
|
|
imageUrl: appInfo.sharePoster || "https://matripe-cms.oss-cn-beijing.aliyuncs.com/pugongying/share.jpeg", // image ? image :
|
|
|
title: appInfo.slogan || ' '
|
|
|
};
|
|
|
console.log('分享数据:', params)
|
|
|
return params;
|
|
|
},
|
|
|
/* 交互反馈:取消确认弹窗
|
|
|
*/
|
|
|
handleConfirm (
|
|
|
$content = "",
|
|
|
callback = () => { },
|
|
|
failback = () => { },
|
|
|
$title = "",
|
|
|
$showCancel = true,
|
|
|
$confirmText = "确定",
|
|
|
$confirmColor = "#576b95",
|
|
|
|
|
|
) {
|
|
|
uni.showModal({
|
|
|
title: $title,
|
|
|
content: $content,
|
|
|
showCancel: $showCancel,
|
|
|
confirmText: $confirmText,
|
|
|
confirmColor: $confirmColor,
|
|
|
success: function (res) {
|
|
|
if (res.confirm) {
|
|
|
callback();
|
|
|
} else if (res.cancel) {
|
|
|
failback();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
/* 判断是否登录,未登录,强制跳转至登录页
|
|
|
*/
|
|
|
isLogin () {
|
|
|
let that = this;
|
|
|
if (!uni.getStorageSync("apply-token")) {
|
|
|
uni.reLaunch({
|
|
|
url: '/pages/login/index?path=' + that.getPath().path + '&level=' + that.getPath().level
|
|
|
});
|
|
|
return false;
|
|
|
} else {
|
|
|
return true;
|
|
|
}
|
|
|
},
|
|
|
/* 获取当前path
|
|
|
*/
|
|
|
getPath () {
|
|
|
const pages = getCurrentPages();
|
|
|
if (pages.length > 0) {
|
|
|
let _path = pages[pages.length - 1].route;
|
|
|
return {
|
|
|
path: _path,
|
|
|
level: _path.slice(0, 4)
|
|
|
}
|
|
|
} else {
|
|
|
return {
|
|
|
path: '',
|
|
|
level: ''
|
|
|
};
|
|
|
}
|
|
|
},
|
|
|
/* 一键复制文案
|
|
|
*/
|
|
|
copyText ($text = '默认文案', $toast = "复制成功") {
|
|
|
uni.setClipboardData({
|
|
|
data: $text,
|
|
|
success: function () {
|
|
|
uni.showToast({
|
|
|
title: $toast
|
|
|
})
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
/* 上传图片
|
|
|
*/
|
|
|
uploadImage ($num = 1, callback = () => { }, $sourceType = ['album', 'camera']) {
|
|
|
uni.chooseImage({
|
|
|
crop: {
|
|
|
width: 100,
|
|
|
height: 100
|
|
|
},
|
|
|
count: $num, //默认9
|
|
|
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
|
|
sourceType: $sourceType, //album 从相册选图,camera 使用相机
|
|
|
success: function (res) {
|
|
|
console.log('选取文件数据:', res)
|
|
|
callback(JSON.stringify(res.tempFilePaths));
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
/* 上传视频和图片
|
|
|
*/
|
|
|
uploadM ($num = 1, callback = () => { }) {
|
|
|
uni.chooseMedia({
|
|
|
count: $num, //默认9
|
|
|
sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
|
|
sourceType: ['album', 'camera'], //从相册选择
|
|
|
success: function (res) {
|
|
|
console.log('选取文件数据:', res)
|
|
|
callback(JSON.stringify(res.tempFilePaths));
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
/* 格式转化
|
|
|
* 临时路径转base数据
|
|
|
*/
|
|
|
temToBase ($path) {
|
|
|
if ($path) {
|
|
|
uni.getFileSystemManager().readFile({
|
|
|
filePath: $path,
|
|
|
encoding: 'base64',
|
|
|
success: res => {
|
|
|
let base64 = 'data:image/jpeg;base64,' + res.data; //不加上这串字符,在页面无法显示
|
|
|
console.log('base64:', base64)
|
|
|
return base64;
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
/* 设置导航条
|
|
|
*/
|
|
|
setNavStyle ($form = 'default') {
|
|
|
if ($form == 'home') {
|
|
|
// uni.setNavigationBarColor({
|
|
|
// backgroundColor: "#3578f6",
|
|
|
// frontColor: "#000000"
|
|
|
// })
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
* 时间格式转换
|
|
|
* @params str 时间戳或者标准时间
|
|
|
* @params type 类型
|
|
|
* @returns
|
|
|
*/
|
|
|
getPointTime (str = '', type = 'default') {
|
|
|
let that = this;
|
|
|
let year, month, date, hours, minute, second;
|
|
|
let time;
|
|
|
if (type == "pointDate") {
|
|
|
// 近N天
|
|
|
time = new Date(new Date(new Date().getTime() - (str - 1) * 24 * 60 * 60 * 1000))
|
|
|
type = "YY--MM--DD"
|
|
|
} else if (type == "yesterday") {
|
|
|
// 昨日
|
|
|
time = new Date(new Date(new Date()).setDate(new Date(new Date()).getDate() - 1))
|
|
|
type = "YY--MM--DD"
|
|
|
} else if (type == "thisweek") {
|
|
|
// 本周 实际是上周日到当前周的周六。周日的截止时间需特殊处理
|
|
|
if (str == 'first') {
|
|
|
let currentDate = new Date();
|
|
|
let currentDay = currentDate.getDay();
|
|
|
let daysToSunday = currentDay === 0 ? 7 : currentDay;
|
|
|
let lastSunday = new Date(currentDate.getTime() - daysToSunday * 24 * 60 * 60 * 1000);
|
|
|
let lastSundayYear = lastSunday.getFullYear();
|
|
|
let lastSundayMonth = lastSunday.getMonth() + 1; // 注意月份是从 0 开始的,需要加 1
|
|
|
let lastSundayDate = lastSunday.getDate();
|
|
|
let formattedDate = lastSundayYear + '-' + String(lastSundayMonth).padStart(2, '0') + '-' + String(lastSundayDate).padStart(2, '0');
|
|
|
time = formattedDate;
|
|
|
type = "first-week"
|
|
|
} else if (str == 'last') {
|
|
|
const today = new Date();
|
|
|
if (today.getDay() === 0) {
|
|
|
// 周日
|
|
|
time = new Date()
|
|
|
} else {
|
|
|
// 周一~周六
|
|
|
time = new Date()
|
|
|
}
|
|
|
type = "YY--MM--DD"
|
|
|
}
|
|
|
} else if (type == "lastweek") {
|
|
|
// 上周 上上周日到上周六。周日需特殊处理
|
|
|
const isSun = new Date();
|
|
|
if (isSun.getDay() === 0) {
|
|
|
// 周日。实际开始时间为上周日到这周六
|
|
|
if (str == 'first') {
|
|
|
let currentDate = new Date();
|
|
|
let currentDay = currentDate.getDay();
|
|
|
let daysToSunday = currentDay === 0 ? 7 : currentDay;
|
|
|
let lastSunday = new Date(currentDate.getTime() - daysToSunday * 24 * 60 * 60 * 1000);
|
|
|
let lastSundayYear = lastSunday.getFullYear();
|
|
|
let lastSundayMonth = lastSunday.getMonth() + 1; // 注意月份是从 0 开始的,需要加 1
|
|
|
let lastSundayDate = lastSunday.getDate();
|
|
|
let formattedDate = lastSundayYear + '-' + String(lastSundayMonth).padStart(2, '0') + '-' + String(lastSundayDate).padStart(2, '0');
|
|
|
time = formattedDate;
|
|
|
type = "first-week"
|
|
|
} else if (str == 'last') {
|
|
|
const today = new Date();
|
|
|
const dayOfWeek = today.getDay();
|
|
|
const diff = 6 - dayOfWeek; // 6 表示周六
|
|
|
const targetSaturday = new Date(today.getFullYear(), today.getMonth(), today.getDate() + diff);
|
|
|
const year = targetSaturday.getFullYear();
|
|
|
const month = targetSaturday.getMonth() + 1; // 月份从 0 开始,需加 1
|
|
|
const date = targetSaturday.getDate();
|
|
|
const formattedDate = `${year}-${month < 10 ? '0' + month : month}-${date < 10 ? '0' + date : date}`;
|
|
|
time = formattedDate;
|
|
|
type = "end-week"
|
|
|
}
|
|
|
} else {
|
|
|
// 周一~周六
|
|
|
if (str == 'first') {
|
|
|
function getPreviousSundayDate () {
|
|
|
const today = new Date();
|
|
|
const dayOfWeek = today.getDay();
|
|
|
const daysSinceLastSunday = (dayOfWeek + 6) % 7 + 8;
|
|
|
const previousSunday = new Date(today);
|
|
|
previousSunday.setDate(today.getDate() - daysSinceLastSunday);
|
|
|
return previousSunday;
|
|
|
}
|
|
|
time = new Date(getPreviousSundayDate());
|
|
|
type = "YY--MM--DD"
|
|
|
} else if (str == 'last') {
|
|
|
function getPreviousSaturdayDate () {
|
|
|
const today = new Date();
|
|
|
const dayOfWeek = today.getDay();
|
|
|
const daysSinceLastSaturday = (dayOfWeek + 6) % 7 + 2;
|
|
|
const previousSaturday = new Date(today);
|
|
|
previousSaturday.setDate(today.getDate() - daysSinceLastSaturday);
|
|
|
return previousSaturday;
|
|
|
}
|
|
|
time = new Date(getPreviousSaturdayDate());
|
|
|
type = "YY--MM--DD"
|
|
|
}
|
|
|
}
|
|
|
} else if (type == "thismonth") {
|
|
|
// 本月 当前月份一号到当天
|
|
|
time = new Date(new Date().getFullYear(), new Date().getMonth(), 1)
|
|
|
type = "YY--MM--DD"
|
|
|
} else if (type == "lastmonth") {
|
|
|
// 上月 上月的第一天到最后一天
|
|
|
if (str == 'first') {
|
|
|
time = new Date(new Date().getFullYear(), new Date().getMonth() - 1, 1);
|
|
|
} else if (str == 'last') {
|
|
|
time = new Date(new Date().getFullYear(), new Date().getMonth() - 1 + 1, 0);
|
|
|
}
|
|
|
type = "YY--MM--DD"
|
|
|
} else if (type == "first-week") { } else {
|
|
|
// 时间戳
|
|
|
time = str ? new Date(str) : new Date(new Date().getTime());
|
|
|
}
|
|
|
if (time && typeof time == 'object') {
|
|
|
year = time.getFullYear()
|
|
|
month = (time.getMonth() + 1).toString().padStart(2, '0')
|
|
|
date = (time.getDate()).toString().padStart(2, '0')
|
|
|
hours = (time.getHours()).toString().padStart(2, '0')
|
|
|
minute = (time.getMinutes()).toString().padStart(2, '0')
|
|
|
second = (time.getSeconds()).toString().padStart(2, '0')
|
|
|
}
|
|
|
let result;
|
|
|
|
|
|
switch (type) {
|
|
|
case 'default': // 2023-10-31 09:00:00
|
|
|
result = year + '-' + month + '-' + date + ' ' + hours + ':' + minute + ':' + second;
|
|
|
break;
|
|
|
case 'small': // 2023-10-31 09:00:00
|
|
|
result = year + month + date + hours + minute + second;
|
|
|
break;
|
|
|
case 'YY--MM--DD HH:MM': // 2023-10-31 09:00
|
|
|
result = year + '-' + month + '-' + date + ' ' + hours + ':' + minute;
|
|
|
break;
|
|
|
case 'MM--DD HH:MM': // 2023-10-31 09:00
|
|
|
result = month + '-' + date + ' ' + hours + ':' + minute;
|
|
|
break;
|
|
|
case 'YY--MM--DD': // 2023-10-31
|
|
|
result = year + '-' + month + '-' + date;
|
|
|
break;
|
|
|
case 'HH:MM:SS': // 09:00:00
|
|
|
result = hours + ':' + minute + ':' + second;
|
|
|
break;
|
|
|
case 'first-week': // 09:00:00
|
|
|
result = time;
|
|
|
break;
|
|
|
case 'end-week': // 09:00:00
|
|
|
result = time;
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
return result;
|
|
|
},
|
|
|
/* 设置倒计时
|
|
|
* @params time 字符串
|
|
|
*/
|
|
|
setDeadLine (time, type) {
|
|
|
|
|
|
if (type) {
|
|
|
// 交付助手的倒计时
|
|
|
let differenceTime = new Date().getTime() - new Date(time).getTime()
|
|
|
let absTime = Math.abs(differenceTime)
|
|
|
var D = Math.floor(absTime / (24 * 60 * 60 * 1000));
|
|
|
var leave1 = absTime % (24 * 3600 * 1000);
|
|
|
var H = Math.floor(leave1 / (3600 * 1000));
|
|
|
var leave2 = leave1 % (3600 * 1000);
|
|
|
var M = Math.floor(leave2 / (60 * 1000));
|
|
|
var leave3 = leave2 % (60 * 1000);
|
|
|
var S = Math.floor(leave3 / 1000);
|
|
|
// 时间正负的判断标识
|
|
|
let symbol = true
|
|
|
if (differenceTime < 0) {
|
|
|
symbol = false
|
|
|
}
|
|
|
if (type == 'jiaofu') {
|
|
|
if (D > 0) {
|
|
|
return D + (symbol ? "天前" : '天后');
|
|
|
} else if (H > 0) {
|
|
|
return H + (symbol ? "小时前" : '小时后');
|
|
|
} else if (M > 0) {
|
|
|
return M + (symbol ? "分钟前" : '分钟后');
|
|
|
} else {
|
|
|
// return S + (symbol ? "秒前" : '秒后');
|
|
|
return '刚刚';
|
|
|
}
|
|
|
} else if (type == '在职') {
|
|
|
// 处理在职中的时间显示
|
|
|
if (D > 0) {
|
|
|
return type + D + '天'
|
|
|
} else if (H > 0) {
|
|
|
return type + H + '小时'
|
|
|
} else if (M > 0) {
|
|
|
return type + M + '分钟'
|
|
|
} else {
|
|
|
return type + S + '秒'
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
let differenceTime = new Date(time).getTime() - new Date().getTime()
|
|
|
let absTime = Math.abs(differenceTime)
|
|
|
let D = Math.floor(absTime / (24 * 60 * 60 * 1000))
|
|
|
let leave1 = absTime % (24 * 3600 * 1000)
|
|
|
let H = Math.floor(leave1 / (3600 * 1000)) > 9 ? Math.floor(leave1 / (3600 * 1000)) : '0' + Math.floor(leave1 / (3600 * 1000))
|
|
|
let leave2 = leave1 % (3600 * 1000)
|
|
|
let M = Math.floor(leave2 / (60 * 1000)) > 9 ? Math.floor(leave2 / (60 * 1000)) : '0' + Math.floor(leave2 / (60 * 1000))
|
|
|
let leave3 = leave2 % (60 * 1000)
|
|
|
let S = Math.floor(leave3 / 1000) > 9 ? Math.floor(leave3 / 1000) : '0' + Math.floor(leave3 / 1000)
|
|
|
// 倒计时到期的判断
|
|
|
let symbol = ''
|
|
|
// if (differenceTime < 0) {
|
|
|
// symbol = '-'
|
|
|
// }
|
|
|
if (D > 0) {
|
|
|
return symbol + D + '天'
|
|
|
} else if (H > 0) {
|
|
|
return symbol + H + ':' + M + ':' + S
|
|
|
} else if (M > 0) {
|
|
|
return symbol + M + ':' + S
|
|
|
} else {
|
|
|
return symbol + S + '秒'
|
|
|
// return '刚刚'
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
// /**
|
|
|
// * 获取服务费类型
|
|
|
// * @params returnFeeType 类型
|
|
|
// * @params $type 1:共享 0 普通
|
|
|
// */
|
|
|
// setReturnFee (returnFee, returnFeeType, $type) {
|
|
|
// console.log('here1');
|
|
|
// let servetype = '-', $num = 100;
|
|
|
// if (returnFeeType === 0) {
|
|
|
// servetype = `${returnFee / $num || "--"}元/小时`;
|
|
|
// } else if (returnFeeType === 1) {
|
|
|
// servetype = `${returnFee / $num || "--"}元/日`;
|
|
|
// } else if (returnFeeType === 2) {
|
|
|
// servetype = `${returnFee / $num || "--"}元/月`;
|
|
|
// } else if (returnFeeType === 3) {
|
|
|
// servetype = `${returnFee / $num || "--"}元/次`;
|
|
|
// } else if (returnFeeType === 4) {
|
|
|
// servetype = `${returnFee / $num || "--"}元/件`;
|
|
|
// } else if (returnFeeType === 5) {
|
|
|
// servetype = `收入${returnFee / $num || "--"}%`;
|
|
|
// } else if (returnFeeType === 6) {
|
|
|
// servetype = `共${returnFee / $num || "--"}元`;
|
|
|
// } else if (returnFeeType === 7) {
|
|
|
// servetype = `费用待定`;
|
|
|
// }
|
|
|
// return servetype
|
|
|
// },
|
|
|
/* 省市区格式转化
|
|
|
* 转化前:河南省郑州市
|
|
|
* 转化后:河南省 | 郑州市 |
|
|
|
* @params $list 数组
|
|
|
*/
|
|
|
toGetAddress ($list) {
|
|
|
if ($list && $list.length > 0) {
|
|
|
$list.forEach(item => {
|
|
|
var districtStr = "";
|
|
|
let storeDistrict = item.storeAddr || item.storeDistrict;
|
|
|
if (storeDistrict) {
|
|
|
var districtArr = storeDistrict.split(",");
|
|
|
var districtArr1 = [];
|
|
|
districtArr.forEach((item1, index) => {
|
|
|
if (item1.length != 0) {
|
|
|
item1 = item1 + "丨";
|
|
|
if (index < 2) {
|
|
|
districtArr1.push(item1);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
districtStr = districtArr1.join("");
|
|
|
if (storeDistrict.indexOf("undefined") > -1) {
|
|
|
districtStr = "-丨";
|
|
|
}
|
|
|
}
|
|
|
item["district"] = districtStr;
|
|
|
});
|
|
|
return $list;
|
|
|
} else {
|
|
|
return [];
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
* 稻田工作特供
|
|
|
*/
|
|
|
toGetAddressv3 ($list) {
|
|
|
if ($list && $list.length > 0) {
|
|
|
$list.forEach(item => {
|
|
|
let storeDistrict = item.storeAddr || item.storeDistrict;
|
|
|
item["district"] = this.setJobInfoPositionv3(storeDistrict);
|
|
|
});
|
|
|
return $list;
|
|
|
} else {
|
|
|
return [];
|
|
|
}
|
|
|
},
|
|
|
setJobInfoPositionv3 (str) {
|
|
|
str = str.replace(/;/g, '');
|
|
|
var reg = /.+?(省|市|自治区|自治州|县|区)/g; // 省市区的正则
|
|
|
let matches = str.match(reg);
|
|
|
let result = '';
|
|
|
|
|
|
if (matches && matches.length > 0) {
|
|
|
switch (matches.length) {
|
|
|
case 1:
|
|
|
result = matches[0];
|
|
|
break;
|
|
|
case 2:
|
|
|
if (matches[0].includes('省') || matches[0].includes('自治区') || matches[0].includes('自治州')) {
|
|
|
result = `${matches[0]}丨${matches[1]}`;
|
|
|
} else {
|
|
|
result = `${matches[0]}丨${matches[1]}`;
|
|
|
}
|
|
|
break;
|
|
|
case 3:
|
|
|
if (matches[0].includes('省') || matches[0].includes('自治区') || matches[0].includes('自治州')) {
|
|
|
if (matches[1].includes('市') && matches[2].includes('市')) {
|
|
|
result = `${matches[0]}丨${matches[2]}`;
|
|
|
} else {
|
|
|
if (matches[2].includes('县')) {
|
|
|
result = `${matches[0]}丨${matches[2]}`;
|
|
|
} else {
|
|
|
result = `${matches[0]}丨${matches[1]}`;
|
|
|
}
|
|
|
}
|
|
|
} else if (matches[1].includes('市')) {
|
|
|
result = `${matches[0]}丨${matches[2]}`;
|
|
|
} else {
|
|
|
result = `${matches[1]}丨${matches[2]}`;
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
|
result = str;
|
|
|
break;
|
|
|
}
|
|
|
} else {
|
|
|
result = str;
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
},
|
|
|
/* 年龄转化
|
|
|
* @params $list 数组
|
|
|
*/
|
|
|
toGetAge ($list) {
|
|
|
if ($list && $list.length > 0) {
|
|
|
$list.forEach(item => {
|
|
|
if (item.minAge && item.maxAge) {
|
|
|
item["age"] = item.minAge + '-' + item.maxAge + '岁';
|
|
|
} else if (item.minAge) {
|
|
|
item["age"] = item.minAge + "岁以上";
|
|
|
} else if (item.maxAge) {
|
|
|
item["age"] = item.maxAge + "岁以下";
|
|
|
} else {
|
|
|
let newArr = [item.minAgeMan, item.maxAgeMan, item.minAgeWoman, item.maxAgeWoman]
|
|
|
newArr.sort()
|
|
|
// console.log('newArr', newArr)
|
|
|
let minAge = (newArr[0] == 0) ? newArr[2] : newArr[0]
|
|
|
let maxAge = newArr[3]
|
|
|
item["age"] = minAge + '-' + maxAge + '岁';
|
|
|
}
|
|
|
});
|
|
|
return $list;
|
|
|
} else {
|
|
|
return "";
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
* 根据薪资类型和薪资值获取薪资展示
|
|
|
*/
|
|
|
getSalaryClassifyValue (salaryClassify, salaryClassifyValue, salaryClassifyValue1) {
|
|
|
|
|
|
var salary = this.moneyToFixed(salaryClassifyValue);
|
|
|
var salary1 = this.moneyToFixed(salaryClassifyValue1);
|
|
|
|
|
|
if (salaryClassify == 0) {
|
|
|
return `${salary}元/小时`;
|
|
|
} else if (salaryClassify == 1) {
|
|
|
return `${salary}元/天`;
|
|
|
} else if (salaryClassify == 2) {
|
|
|
return `补${salary}元`;
|
|
|
} else if (salaryClassify == 3) {
|
|
|
return `返${salary}元`;
|
|
|
} else if (salaryClassify == 4) {
|
|
|
return `计件`;
|
|
|
} else if (salaryClassify == 5) {
|
|
|
return `保底${salary}元`;
|
|
|
} else if (salaryClassify == 6) {
|
|
|
return `面议`;
|
|
|
} else if (salaryClassify == 7) {
|
|
|
return `月薪`;
|
|
|
} else {
|
|
|
return "-";
|
|
|
}
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 根据薪资类型和薪资值获取薪资展示
|
|
|
*/
|
|
|
getSalaryClassifyValueHtml (salaryClassify, salaryClassifyValue, salaryClassifyValue1) {
|
|
|
var salary = this.moneyToFixed(salaryClassifyValue);
|
|
|
var salary1 = this.moneyToFixed(salaryClassifyValue1);
|
|
|
|
|
|
if (salaryClassify == 0) {
|
|
|
return `<span style='font-size:18px'>${salary}<span style='font-size:14px'>元/小时</span></span>`;
|
|
|
} else if (salaryClassify == 1) {
|
|
|
return `<span style='font-size:18px'>${salary}<span style='font-size:14px'>元/天</span></span>`;
|
|
|
} else if (salaryClassify == 2) {
|
|
|
return `<span style='font-size:18px'><span style='font-size:14px'>补</span>${salary}<span style='font-size:14px'>元</span></span>`;
|
|
|
} else if (salaryClassify == 3) {
|
|
|
return `<span style='font-size:18px'><span style='font-size:14px'>返</span>${salary}<span style='font-size:14px'>元</span></span>`;
|
|
|
} else if (salaryClassify == 4) {
|
|
|
return `<span style='font-size:18px'>计件</span>`;
|
|
|
} else if (salaryClassify == 5) {
|
|
|
return `<span style='font-size:14px'>保底</span>${salary}<span style='font-size:14px'>元</span>`;
|
|
|
} else if (salaryClassify == 6) {
|
|
|
return `<span style='font-size:18px'>面议</span>`;
|
|
|
} else if (salaryClassify == 7) {
|
|
|
// return salary + '-' + salary1 + `<span style='font-size:14px'>元/月</span>`;
|
|
|
return `<span style='font-size:18px'>月薪</span>`;
|
|
|
} else {
|
|
|
return "-";
|
|
|
}
|
|
|
},
|
|
|
/* 同步 */
|
|
|
moneyToFixed (money, fixed = 2, multiplicator = 100) {
|
|
|
if (money != 0 && money != null && money != "" && money != undefined) {
|
|
|
return this.cutZero(new Number(money / multiplicator).toFixed(fixed));
|
|
|
} else {
|
|
|
return "0";
|
|
|
}
|
|
|
},
|
|
|
/* 同步 */
|
|
|
cutZero (old) {
|
|
|
//拷贝一份 返回去掉零的新串
|
|
|
let newstr = old;
|
|
|
//循环变量 小数部分长度
|
|
|
var leng = old.length - old.indexOf(".") - 1;
|
|
|
//判断是否有效数
|
|
|
if (old.indexOf(".") > -1) {
|
|
|
//循环小数部分
|
|
|
for (var i = leng; i > 0; i--) {
|
|
|
//如果newstr末尾有0
|
|
|
if (newstr.lastIndexOf("0") > -1 && newstr.substr(newstr.length - 1, 1) == 0) {
|
|
|
var k = newstr.lastIndexOf("0");
|
|
|
//如果小数点后只有一个0 去掉小数点
|
|
|
if (newstr.charAt(k - 1) == ".") {
|
|
|
return newstr.substring(0, k - 1);
|
|
|
} else {
|
|
|
//否则 去掉一个0
|
|
|
newstr = newstr.substring(0, k);
|
|
|
}
|
|
|
} else {
|
|
|
//如果末尾没有0
|
|
|
return newstr;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return old;
|
|
|
},
|
|
|
/* 处理职位列表的方法
|
|
|
*/
|
|
|
disposeJobListData (jobList) {
|
|
|
let that = this;
|
|
|
if (jobList !== undefined) {
|
|
|
if (Array.isArray(jobList)) {
|
|
|
jobList.forEach((item) => {
|
|
|
item["workType"] = that.getWorkTypeById(item.workTypeMulti);
|
|
|
|
|
|
if (that.isNotEmptyCheck(item.distance)) {
|
|
|
item["distanceKm"] = that.getDistanceName(item.distance);
|
|
|
}
|
|
|
if (that.isNotEmptyCheck(item.jobDesp)) {
|
|
|
item["jobDesp"] = item["jobDesp"].replaceAll("*****", "");
|
|
|
}
|
|
|
//年龄
|
|
|
// console.log(jobList);
|
|
|
var ageStr = "";
|
|
|
if (that.isNotEmptyCheck(item.minAge) && that.isNotEmptyCheck(item.maxAge)) {
|
|
|
ageStr = item.minAge + "-" + item.maxAge + "岁";
|
|
|
} else if (that.isNotEmptyCheck(item.minAge)) {
|
|
|
ageStr = item.minAge + "岁以上";
|
|
|
} else if (that.isNotEmptyCheck(item.maxAge)) {
|
|
|
ageStr = item.maxAge + "岁以下";
|
|
|
}
|
|
|
item["age"] = ageStr;
|
|
|
item.updateTime = that.getPointTime(item.updateTime, 'YY--MM--DD HH:MM');
|
|
|
// 更新时间距离现在的差距
|
|
|
let differenceTime = new Date().getTime() - new Date(item.updateTime || new Date()).getTime();
|
|
|
var D = Math.floor(differenceTime / (24 * 60 * 60 * 1000));
|
|
|
var leave1 = differenceTime % (24 * 3600 * 1000);
|
|
|
var H = Math.floor(leave1 / (3600 * 1000));
|
|
|
var leave2 = leave1 % (3600 * 1000);
|
|
|
var M = Math.floor(leave2 / (60 * 1000));
|
|
|
var leave3 = leave2 % (60 * 1000);
|
|
|
var S = Math.floor(leave3 / 1000);
|
|
|
item.diffTime = null;
|
|
|
if (D > 0) {
|
|
|
item.diffTime = D + "天前";
|
|
|
} else if (H > 0) {
|
|
|
item.diffTime = H + "小时前";
|
|
|
} else if (M > 0) {
|
|
|
item.diffTime = M + "分钟前";
|
|
|
} else {
|
|
|
item.diffTime = S + "秒前";
|
|
|
}
|
|
|
if (item.returnFeeType) {
|
|
|
if (item.returnFeeType === 0) {
|
|
|
item.servetype = `${item.returnFee || "--"}元/小时`;
|
|
|
} else if (item.returnFeeType === 1) {
|
|
|
item.servetype = `${item.returnFee || "--"}元/日`;
|
|
|
} else if (item.returnFeeType === 2) {
|
|
|
item.servetype = `${item.returnFee || "--"}元/月`;
|
|
|
} else if (item.returnFeeType === 3) {
|
|
|
item.servetype = `${item.returnFee || "--"}元/次`;
|
|
|
} else if (item.returnFeeType === 4) {
|
|
|
item.servetype = `${item.returnFee || "--"}元/件`;
|
|
|
} else if (item.returnFeeType === 5) {
|
|
|
item.servetype = `工人收入${item.returnFee || "--"}%`;
|
|
|
} else if (item.returnFeeType === 6) {
|
|
|
item.servetype = `共${item.returnFee || "--"}元`;
|
|
|
} else if (item.returnFeeType === 7) {
|
|
|
item.servetype = `费用待定`;
|
|
|
}
|
|
|
} else {
|
|
|
item.servetype = `${item.returnFee || "--"}元/小时`;
|
|
|
}
|
|
|
//地址深圳丨龙岗区丨
|
|
|
var districtStr = "";
|
|
|
if (that.isNotEmptyCheck(item.district)) {
|
|
|
var districtArr = item.district.split(",");
|
|
|
var districtArr1 = [];
|
|
|
districtArr.forEach((item1, index) => {
|
|
|
// console.log('item1',item1)
|
|
|
if (item1.length != 0 && index < 2) {
|
|
|
item1 = item1 + "丨";
|
|
|
districtArr1.push(item1);
|
|
|
}
|
|
|
});
|
|
|
if (districtArr.length < 3) {
|
|
|
districtStr = districtArr1[districtArr1.length - 1];
|
|
|
} else {
|
|
|
districtStr = districtArr1.join("");
|
|
|
}
|
|
|
if (item.district.indexOf("undefined") > -1) {
|
|
|
districtStr = "-丨";
|
|
|
}
|
|
|
}
|
|
|
item["district"] = districtStr;
|
|
|
//职位特色
|
|
|
item["jobSpecialLabelNames"] = that.getJobSpecialLabelNamesArray(item.jobSpecialLabelNames);
|
|
|
// 特色标签
|
|
|
const jobSpecialLabelNames = [];
|
|
|
if (that.isNotEmptyCheck(item.jobSpecialLabelNames) && Array.isArray(item.jobSpecialLabelNames)) {
|
|
|
item.jobSpecialLabelNames.forEach((item, index) => {
|
|
|
if (index <= 2) {
|
|
|
jobSpecialLabelNames.push(item);
|
|
|
} else {
|
|
|
return;
|
|
|
}
|
|
|
});
|
|
|
item.jobSpecialLabelNames = jobSpecialLabelNames;
|
|
|
}
|
|
|
// 年龄限制
|
|
|
// item.gender = that.getGenderByMinAge(item)
|
|
|
if (Boolean(item.minAgeWoman) === true && Boolean(item.minAgeMan) === false) {
|
|
|
item.gender = "女丨";
|
|
|
} else if (Boolean(item.minAgeWoman) === false && Boolean(item.minAgeMan) === true) {
|
|
|
item.gender = "男丨";
|
|
|
} else {
|
|
|
item.gender = "男女不限丨";
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
jobList["workType"] = that.getWorkTypeById(jobList.workTypeMulti);
|
|
|
|
|
|
if (that.isNotEmptyCheck(jobList.distance)) {
|
|
|
jobList["distanceKm"] = that.getDistanceName(jobList.distance);
|
|
|
}
|
|
|
if (that.isNotEmptyCheck(jobList.jobDesp)) {
|
|
|
jobList["jobDesp"] = jobList["jobDesp"].replaceAll("*****", "");
|
|
|
}
|
|
|
// 性别限制
|
|
|
if (Boolean(jobList.minAgeWoman) === true && Boolean(jobList.minAgeMan) === false) {
|
|
|
jobList.genderAge = "女" + '丨' + jobList.minAgeWoman + "-" + jobList.maxAgeWoman + "岁";
|
|
|
} else if (Boolean(jobList.minAgeWoman) === false && Boolean(jobList.minAgeMan) === true) {
|
|
|
jobList.genderAge = "男" + '丨' + jobList.minAgeMan + "-" + jobList.maxAgeMan + "岁";
|
|
|
} else if ((jobList.minAgeWoman != jobList.minAgeMan) || (jobList.maxAgeWoman != jobList.maxAgeMan)) {
|
|
|
jobList.genderAge = "男" + jobList.minAgeMan + "-" + jobList.maxAgeMan + "岁" + "丨" + "女" + jobList.minAgeWoman + "-" + jobList.maxAgeWoman + "岁"
|
|
|
} else {
|
|
|
jobList.genderAge = "男女不限" + '丨' + jobList.minAge + "-" + jobList.maxAge + "岁";
|
|
|
}
|
|
|
|
|
|
//年龄
|
|
|
var ageStr = "";
|
|
|
if (that.isNotEmptyCheck(jobList.minAge) && that.isNotEmptyCheck(jobList.maxAge)) {
|
|
|
ageStr = jobList.minAge + "-" + jobList.maxAge + "岁";
|
|
|
} else if (that.isNotEmptyCheck(jobList.minAge)) {
|
|
|
ageStr = jobList.minAge + "岁以上";
|
|
|
} else if (that.isNotEmptyCheck(jobList.maxAge)) {
|
|
|
ageStr = jobList.maxAge + "岁以下";
|
|
|
}
|
|
|
jobList["age"] = ageStr;
|
|
|
if (jobList.returnFeeType) {
|
|
|
if (jobList.returnFeeType === 0) {
|
|
|
jobList.servetype = `${jobList.returnFee || "--"}元/小时`;
|
|
|
} else if (jobList.returnFeeType === 1) {
|
|
|
jobList.servetype = `${jobList.returnFee || "--"}元/日`;
|
|
|
} else if (jobList.returnFeeType === 2) {
|
|
|
jobList.servetype = `${jobList.returnFee || "--"}元/月`;
|
|
|
} else if (jobList.returnFeeType === 3) {
|
|
|
jobList.servetype = `${jobList.returnFee || "--"}元/次`;
|
|
|
} else if (jobList.returnFeeType === 4) {
|
|
|
jobList.servetype = `${jobList.returnFee || "--"}元/件`;
|
|
|
} else if (jobList.returnFeeType === 5) {
|
|
|
jobList.servetype = `工人收入${jobList.returnFee || "--"}%`;
|
|
|
} else if (jobList.returnFeeType === 6) {
|
|
|
jobList.servetype = `共${jobList.returnFee || "--"}元`;
|
|
|
} else if (jobList.returnFeeType === 7) {
|
|
|
jobList.servetype = `费用待定`;
|
|
|
}
|
|
|
} else {
|
|
|
jobList.servetype = `${jobList.returnFee || "--"}元/小时`;
|
|
|
}
|
|
|
//地址深圳丨龙岗区丨
|
|
|
var districtStr = "";
|
|
|
var shortDistrictStr = ""; // 详情中的省市较短的地址
|
|
|
if (that.isNotEmptyCheck(jobList.district) || that.isNotEmptyCheck(jobList.storeDistrict)) {
|
|
|
var districtArr
|
|
|
|
|
|
districtArr = that.isNotEmptyCheck(jobList.district) ? jobList.district.split(",") : jobList.storeDistrict.split(",")
|
|
|
// console.log(districtArr);
|
|
|
var districtArr1 = [];
|
|
|
var shortDistrictArr = [];
|
|
|
// console.log(districtArr);
|
|
|
districtArr.forEach((item1, index) => {
|
|
|
if (item1.length != 0 && index <= 2) {
|
|
|
districtArr1.push(item1 + "丨");
|
|
|
}
|
|
|
if (item1.length != 0 && index < 2) {
|
|
|
shortDistrictArr.push(item1 + "丨");
|
|
|
|
|
|
}
|
|
|
});
|
|
|
// console.log(districtArr1);
|
|
|
if (districtArr.length > 3) {
|
|
|
districtStr = districtArr1[districtArr1.length - 1];
|
|
|
} else {
|
|
|
districtStr = districtArr1.join("");
|
|
|
shortDistrictStr = shortDistrictArr.join("");
|
|
|
}
|
|
|
// console.log(districtStr);
|
|
|
// console.log(jobList.district);
|
|
|
if (jobList.district == undefined && jobList.storeDistrict == undefined) {
|
|
|
districtStr = "-丨";
|
|
|
}
|
|
|
}
|
|
|
// console.log(districtStr);
|
|
|
jobList["district"] = districtStr;
|
|
|
jobList["shortDistrict"] = shortDistrictStr;
|
|
|
//职位特色
|
|
|
jobList["jobSpecialLabelNames"] = that.getJobSpecialLabelNamesArray(jobList.jobSpecialLabelNames);
|
|
|
jobList["jobRequestLabelNames"] = that.getJobSpecialLabelNamesArray(jobList.jobRequestLabelNames);
|
|
|
console.log('jobList', JSON.parse(JSON.stringify(jobList)));
|
|
|
// 特色标签
|
|
|
const jobSpecialLabelNames = [];
|
|
|
if (that.isNotEmptyCheck(jobList.jobSpecialLabelNames) && Array.isArray(jobList.jobSpecialLabelNames)) {
|
|
|
jobList.jobSpecialLabelNames.forEach((item, index) => {
|
|
|
// if (index <= 4) {
|
|
|
jobSpecialLabelNames.push(item);
|
|
|
// } else {
|
|
|
// return;
|
|
|
// }
|
|
|
});
|
|
|
jobList.jobSpecialLabelNames = jobSpecialLabelNames;
|
|
|
}
|
|
|
const jobSpecialLabelNames1 = [];
|
|
|
if (that.isNotEmptyCheck(jobList.jobRequestLabelNames) && Array.isArray(jobList.jobRequestLabelNames)) {
|
|
|
jobList.jobRequestLabelNames.forEach((item, index) => {
|
|
|
// if (index <= 4) {
|
|
|
jobSpecialLabelNames1.push(item);
|
|
|
// } else {
|
|
|
// return;
|
|
|
// }
|
|
|
});
|
|
|
jobList.jobRequestLabelNames = jobSpecialLabelNames1;
|
|
|
}
|
|
|
console.log('jobList11', JSON.parse(JSON.stringify(jobList)));
|
|
|
console.log('jobList1111', Array.isArray(jobList.jobRequestLabelNames));
|
|
|
}
|
|
|
}
|
|
|
return jobList;
|
|
|
},
|
|
|
yijobCopy (recordList) {
|
|
|
var that = this;
|
|
|
console.log(recordList);
|
|
|
recordList.forEach((item, index) => {
|
|
|
//月薪
|
|
|
var monthlyPayStr = "";
|
|
|
if (that.isNotEmptyCheck(item.minMonthlyPay) && that.isNotEmptyCheck(item.maxMonthlyPay)) {
|
|
|
if (item.minMonthlyPay == item.maxMonthlyPay) {
|
|
|
monthlyPayStr = item.minMonthlyPay / 100;
|
|
|
} else {
|
|
|
monthlyPayStr = item.minMonthlyPay / 100 + "-" + item.maxMonthlyPay / 100;
|
|
|
}
|
|
|
} else if (that.isNotEmptyCheck(item.minMonthlyPay)) {
|
|
|
monthlyPayStr = item.minMonthlyPay / 100;
|
|
|
} else if (that.isNotEmptyCheck(item.maxMonthlyPay)) {
|
|
|
monthlyPayStr = item.maxMonthlyPay / 100;
|
|
|
}
|
|
|
item["monthlyPay"] = monthlyPayStr;
|
|
|
|
|
|
//职位特色
|
|
|
item.jobSpecialLabelNameArray = [];
|
|
|
that.getJobSpecialLabelNamesArray(item.jobSpecialLabelNames).forEach((i, index) => {
|
|
|
// if (index <= 3) {
|
|
|
item["jobSpecialLabelNameArray"].push(i);
|
|
|
// }
|
|
|
});
|
|
|
});
|
|
|
recordList = that.setMark(recordList)
|
|
|
|
|
|
return recordList;
|
|
|
|
|
|
},
|
|
|
/**
|
|
|
* 根据工种类型ID获取名称
|
|
|
*/
|
|
|
getWorkTypeById (id) {
|
|
|
let str = "";
|
|
|
let array = this.workTypeArray();
|
|
|
array.forEach((item) => {
|
|
|
if (item.id == id) {
|
|
|
str = item.name;
|
|
|
}
|
|
|
});
|
|
|
return str;
|
|
|
},
|
|
|
/**
|
|
|
* 工种类型
|
|
|
*/
|
|
|
workTypeArray () {
|
|
|
let workTypeArray = [{
|
|
|
id: 0,
|
|
|
name: "全职",
|
|
|
value: "0",
|
|
|
text: "全职",
|
|
|
checked: false,
|
|
|
},
|
|
|
{
|
|
|
id: 1,
|
|
|
name: "兼职",
|
|
|
value: "1",
|
|
|
text: "兼职",
|
|
|
checked: false,
|
|
|
},
|
|
|
{
|
|
|
id: 2,
|
|
|
name: "寒暑假工",
|
|
|
value: "2",
|
|
|
text: "寒暑假工",
|
|
|
checked: false,
|
|
|
},
|
|
|
{
|
|
|
id: 3,
|
|
|
name: "实习生",
|
|
|
value: "3",
|
|
|
text: "实习生",
|
|
|
checked: false,
|
|
|
},
|
|
|
{
|
|
|
id: 4,
|
|
|
name: "零工",
|
|
|
value: "4",
|
|
|
text: "零工",
|
|
|
checked: false,
|
|
|
},
|
|
|
];
|
|
|
return workTypeArray;
|
|
|
},
|
|
|
/**
|
|
|
* 如果不是是null '' 'null' 'undefined'
|
|
|
* @param item
|
|
|
* @returns
|
|
|
*/
|
|
|
isNotEmptyCheck (value) {
|
|
|
return !this.isEmptyCheck(value);
|
|
|
},
|
|
|
/**
|
|
|
* 如果是null '' 'null' 'undefined'
|
|
|
* @param item
|
|
|
* @returns
|
|
|
*/
|
|
|
isEmptyCheck (value) {
|
|
|
if (value == null || value === "" || value == "null" || typeof value == "undefined") {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
return false;
|
|
|
},
|
|
|
/**
|
|
|
* 根据状态工单类型ID获取名称
|
|
|
*/
|
|
|
getDistanceName (distance) {
|
|
|
let str = "";
|
|
|
|
|
|
if (this.isNotEmptyCheck(distance)) {
|
|
|
if (distance > 1000) {
|
|
|
var dis = distance / 1000;
|
|
|
dis = dis.toFixed(1);
|
|
|
str = dis + "km";
|
|
|
} else {
|
|
|
str = distance + "m";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return str;
|
|
|
},
|
|
|
/* 综合月薪 正则规则
|
|
|
* 价格中间的特殊字符
|
|
|
*/
|
|
|
specStrReg ($str) {
|
|
|
let list = [
|
|
|
'~', '!', '@', '#', '%', '^', '&', '*', '(', ')',
|
|
|
'!', '(', ')', '+', '`', '-', '=', '·',
|
|
|
'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '{', '}', '|', '|',
|
|
|
'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', ':', "'", '"', ':', '“', '”',
|
|
|
'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', '<', '>', '?', '《', '》', '?',
|
|
|
'Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P',
|
|
|
'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L',
|
|
|
'Z', 'X', 'C', 'V', 'B', 'N', 'M', ' ', '——'
|
|
|
|
|
|
],
|
|
|
obj = {
|
|
|
min: 0,
|
|
|
max: 0
|
|
|
}
|
|
|
if ($str) {
|
|
|
list.forEach((item, index) => {
|
|
|
if ($str.indexOf(item) > -1 && $str.split(item)[1]) {
|
|
|
let newlist = [$str.split(item)[0], $str.split(item)[1]]
|
|
|
newlist.sort(function (a, b) {
|
|
|
return a - b
|
|
|
})
|
|
|
obj = {
|
|
|
min: newlist[0],
|
|
|
max: newlist[1],
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
return obj;
|
|
|
},
|
|
|
getJobSpecialLabelNamesArray (jobSpecialLabelNames) {
|
|
|
if (this.isNotEmptyCheck(jobSpecialLabelNames)) {
|
|
|
return jobSpecialLabelNames.split(", ");
|
|
|
}
|
|
|
return [];
|
|
|
},
|
|
|
/* 对象重组成字符串 */
|
|
|
objToStr (obj = {}, type = 'url') {
|
|
|
let str = '';
|
|
|
if (type == 'url') {
|
|
|
str = Object.keys(obj)
|
|
|
.map(key => `${key}=${obj[key]}`)
|
|
|
.join('&');
|
|
|
} else if (type == 'copy') {
|
|
|
str = Object.keys(obj)
|
|
|
.map(key => `${key}${obj[key]}`)
|
|
|
.join('');
|
|
|
}
|
|
|
return str;
|
|
|
},
|
|
|
getUUID () {
|
|
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
|
|
|
return (c === 'x' ? (Math.random() * 16) | 0 : 'r&0x3' | '0x8').toString(16)
|
|
|
})
|
|
|
},
|
|
|
getOrderStatusNew () {
|
|
|
return [{
|
|
|
id: '0',
|
|
|
name: '已报名',
|
|
|
value: 0,
|
|
|
text: '已报名',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '1',
|
|
|
name: '已报名',
|
|
|
value: 1,
|
|
|
text: '已报名',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '2',
|
|
|
name: '已报名',
|
|
|
value: 2,
|
|
|
text: '已报名',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '10',
|
|
|
name: '已报名',
|
|
|
value: 10,
|
|
|
text: '已报名',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '20',
|
|
|
name: '待面试',
|
|
|
value: 20,
|
|
|
text: '待面试',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '21',
|
|
|
name: '已报名',
|
|
|
value: 21,
|
|
|
text: '已报名',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '25',
|
|
|
name: '待面试',
|
|
|
value: 25,
|
|
|
text: '待面试',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '26',
|
|
|
name: '未面试',
|
|
|
value: 26,
|
|
|
text: '未面试',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '30',
|
|
|
name: '待入职',
|
|
|
value: 30,
|
|
|
text: '待入职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '35',
|
|
|
name: '未通过',
|
|
|
value: 35,
|
|
|
text: '未通过',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '40',
|
|
|
name: '已入职',
|
|
|
value: 40,
|
|
|
text: '已入职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '48',
|
|
|
name: '约离职',
|
|
|
value: 48,
|
|
|
text: '约离职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '45',
|
|
|
name: '未入职',
|
|
|
value: 45,
|
|
|
text: '未入职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '50',
|
|
|
name: '已离职',
|
|
|
value: 50,
|
|
|
text: '已离职',
|
|
|
num: 0
|
|
|
}
|
|
|
]
|
|
|
},
|
|
|
getOrderStatus () {
|
|
|
return [{
|
|
|
id: '0',
|
|
|
name: '新简历',
|
|
|
value: 0,
|
|
|
text: '新简历',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '1',
|
|
|
name: '推工作',
|
|
|
value: 1,
|
|
|
text: '推工作',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '2',
|
|
|
name: '已放弃',
|
|
|
value: 2,
|
|
|
text: '已放弃',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '10',
|
|
|
name: '待审核',
|
|
|
value: 10,
|
|
|
text: '待审核',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '20',
|
|
|
name: '待接待',
|
|
|
value: 20,
|
|
|
text: '待接待',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '21',
|
|
|
name: '审核未通过',
|
|
|
value: 21,
|
|
|
text: '审核未通过',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '25',
|
|
|
name: '待面试',
|
|
|
value: 25,
|
|
|
text: '待面试',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '26',
|
|
|
name: '未接到',
|
|
|
value: 26,
|
|
|
text: '未接到',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '30',
|
|
|
name: '待入职',
|
|
|
value: 30,
|
|
|
text: '待入职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '35',
|
|
|
name: '面试未通过',
|
|
|
value: 35,
|
|
|
text: '面试未通过',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '40',
|
|
|
name: '已入职',
|
|
|
value: 40,
|
|
|
text: '已入职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '48',
|
|
|
name: '约离职',
|
|
|
value: 48,
|
|
|
text: '约离职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '45',
|
|
|
name: '通过未入职',
|
|
|
value: 45,
|
|
|
text: '通过未入职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: '50',
|
|
|
name: '已离职',
|
|
|
value: 50,
|
|
|
text: '已离职',
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: "100",
|
|
|
name: "待确认",
|
|
|
value: "50",
|
|
|
text: "待确认",
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: "101",
|
|
|
name: "已取消",
|
|
|
value: "50",
|
|
|
text: "已取消",
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: "102",
|
|
|
name: "官方审核中",
|
|
|
value: "50",
|
|
|
text: "官方审核中",
|
|
|
num: 0
|
|
|
},
|
|
|
{
|
|
|
id: "103",
|
|
|
name: "审核不通过",
|
|
|
value: "50",
|
|
|
text: "审核不通过",
|
|
|
num: 0
|
|
|
},
|
|
|
]
|
|
|
},
|
|
|
/* 预览图
|
|
|
*/
|
|
|
viewBigImage ($url = "") {
|
|
|
uni.previewImage({
|
|
|
urls: [$url],
|
|
|
longPressActions: {
|
|
|
itemList: ['保存图片'],
|
|
|
success: function (data) { },
|
|
|
fail: function (err) { }
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
/* 正则
|
|
|
*/
|
|
|
setReg ($str, $type = 'default') {
|
|
|
if ($type == 'tel') {
|
|
|
return /^[1][3,4,5,7,8,9][0-9]{9}$/.test($str);
|
|
|
}
|
|
|
if ($type == 'idcard') {
|
|
|
return /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test($str);
|
|
|
}
|
|
|
},
|
|
|
/* 姓名/性别/年龄/民族
|
|
|
*/
|
|
|
titleToStr ($obj) {
|
|
|
let _sex = '',
|
|
|
_age = '',
|
|
|
_nation = '';
|
|
|
|
|
|
if ($obj.sex == 0) {
|
|
|
_sex = ''
|
|
|
} else if ($obj.sex == 1) {
|
|
|
_sex = '/男'
|
|
|
} else if ($obj.sex == 2) {
|
|
|
_sex = '/女'
|
|
|
} else {
|
|
|
_sex = ''
|
|
|
}
|
|
|
|
|
|
if ($obj.age) {
|
|
|
_age = '/' + $obj.age
|
|
|
} else {
|
|
|
_age = ''
|
|
|
}
|
|
|
|
|
|
if ($obj.nation) {
|
|
|
_nation = '/' + $obj.nation
|
|
|
} else {
|
|
|
_nation = ''
|
|
|
}
|
|
|
|
|
|
return _sex + _age + _nation;
|
|
|
},
|
|
|
/**
|
|
|
* app端 获取手机自定义导航高度
|
|
|
*/
|
|
|
getMobileInfo () {
|
|
|
let info = {
|
|
|
top: uni.getSystemInfoSync().statusBarHeight,
|
|
|
height: 32,
|
|
|
};
|
|
|
return info;
|
|
|
},
|
|
|
/**
|
|
|
* 获取头部nav高度
|
|
|
*/
|
|
|
getNavInfo () {
|
|
|
if (uni.getSystemInfoSync()) {
|
|
|
var { statusBarHeight, platform, windowHeight } = uni.getSystemInfoSync();
|
|
|
}
|
|
|
// #ifdef APP-PLUS || H5 || MP-TOUTIAO || MP-KUAISHOU
|
|
|
var { top, height } = this.getMobileInfo;
|
|
|
// #endif
|
|
|
// #ifdef MP-WEIXIN
|
|
|
if (uni.getMenuButtonBoundingClientRect()) {
|
|
|
var { top, height } = uni.getMenuButtonBoundingClientRect();
|
|
|
}
|
|
|
// #endif
|
|
|
let info = {}
|
|
|
info.statusBarHeight = statusBarHeight;
|
|
|
info.menuButtonHeight = height ? height : 32;
|
|
|
info.windowHeight = windowHeight;
|
|
|
if (top && top !== 0 && height && height !== 0) {
|
|
|
const navigationBarHeight = (top - statusBarHeight) * 2 + height;
|
|
|
// 导航栏高度
|
|
|
info.navigationBarHeight = navigationBarHeight;
|
|
|
} else {
|
|
|
info.navigationBarHeight = platform === "android" ? 48 : 40;
|
|
|
}
|
|
|
return info
|
|
|
},
|
|
|
// 身份证号获取年龄等信息
|
|
|
getInfoByIDcard (idCard) {
|
|
|
let info = {}
|
|
|
let birthday
|
|
|
// 获取性别
|
|
|
if (idCard.length === 15) {
|
|
|
info.sex = ['女', '男'][idCard.substr(14, 1) % 2]
|
|
|
birthday = Y + [idCard.substr(6, 2), idCard.substr(8, 2), idCard.substr(10, 2)].join('-')
|
|
|
} else if (idCard.length === 18) {
|
|
|
info.sex = ['女', '男'][idCard.substr(16, 1) % 2]
|
|
|
birthday = [idCard.substr(6, 4), idCard.substr(10, 2), idCard.substr(12, 2)].join('-')
|
|
|
}
|
|
|
// 获取年龄
|
|
|
let currentYear = new Date().getFullYear() //当前的年份
|
|
|
let calculationYear = new Date(birthday).getFullYear() //计算的年份
|
|
|
const wholeTime = currentYear + birthday.substring(4) //周岁时间
|
|
|
const calculationAge = currentYear - calculationYear //按照年份计算的年龄
|
|
|
//判断是否过了生日
|
|
|
if (new Date().getTime() > new Date(wholeTime).getTime()) {
|
|
|
info.age = calculationAge
|
|
|
} else {
|
|
|
info.age = calculationAge - 1
|
|
|
}
|
|
|
console.log('info', info);
|
|
|
return info
|
|
|
},
|
|
|
/**
|
|
|
* 根据传递的scene参数,获取里面的内容
|
|
|
*/
|
|
|
sceneToJson (sceneStr) {
|
|
|
let json = {};
|
|
|
let array = sceneStr.split(",");
|
|
|
array.forEach((item) => {
|
|
|
let arr = item.split("=");
|
|
|
let key = arr[0];
|
|
|
let value = arr[1];
|
|
|
json[key] = value;
|
|
|
});
|
|
|
return json;
|
|
|
},
|
|
|
/* 扫一扫
|
|
|
*/
|
|
|
handleScanCode () {
|
|
|
let that = this;
|
|
|
|
|
|
function errorMsg () {
|
|
|
that.handleConfirm('无法识别该二维码', () => { }, () => { });
|
|
|
}
|
|
|
|
|
|
uni.scanCode({
|
|
|
success: function (res) {
|
|
|
console.log('获取扫码结果:', res.result)
|
|
|
if (res.result) {
|
|
|
if (res.result.indexOf('=') > -1) {
|
|
|
// 前往详情页
|
|
|
let params = {
|
|
|
id: res.result.split('=')[1],
|
|
|
isShowMore: false,
|
|
|
isShowJob: false
|
|
|
};
|
|
|
uni.navigateTo({
|
|
|
url: "/root/detail/user?" + that.objToStr(params),
|
|
|
});
|
|
|
} else {
|
|
|
errorMsg();
|
|
|
}
|
|
|
} else {
|
|
|
errorMsg();
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
|
|
|
policyNumToHanZi (i, type = 'other') {
|
|
|
let pickerStr;
|
|
|
if (i <= 9) {
|
|
|
switch (i) {
|
|
|
case 1:
|
|
|
pickerStr = type == 'add' ? '一条政策' : "政策一";
|
|
|
break;
|
|
|
case 2:
|
|
|
pickerStr = type == 'add' ? '二条政策' : "政策二";
|
|
|
break;
|
|
|
case 3:
|
|
|
pickerStr = type == 'add' ? '三条政策' : "政策三";
|
|
|
break;
|
|
|
case 4:
|
|
|
pickerStr = type == 'add' ? '四条政策' : "政策四";
|
|
|
break;
|
|
|
case 5:
|
|
|
pickerStr = type == 'add' ? '五条政策' : "政策五";
|
|
|
break;
|
|
|
case 6:
|
|
|
pickerStr = type == 'add' ? '六条政策' : "政策六";
|
|
|
break;
|
|
|
case 7:
|
|
|
pickerStr = type == 'add' ? '七条政策' : "政策七";
|
|
|
break;
|
|
|
case 8:
|
|
|
pickerStr = type == 'add' ? '八条政策' : "政策八";
|
|
|
break;
|
|
|
case 9:
|
|
|
pickerStr = type == 'add' ? '九条政策' : "政策九";
|
|
|
break;
|
|
|
case 10:
|
|
|
pickerStr = type == 'add' ? '十条政策' : "政策十";
|
|
|
break;
|
|
|
default:
|
|
|
pickerStr = type == 'add' ? (i + 1) + '条政策' : "政策" + (i + 1);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
return pickerStr
|
|
|
},
|
|
|
/**
|
|
|
* 获取服务费类型
|
|
|
* @params returnFeeType 类型
|
|
|
* @params $type 1:共享 0 普通
|
|
|
*/
|
|
|
setReturnFee (returnFee, returnFeeType, $type) {
|
|
|
let servetype = '', $num = 1;
|
|
|
if ($type == 1) {
|
|
|
$num = 1;
|
|
|
} else {
|
|
|
$num = 100;
|
|
|
}
|
|
|
if (returnFeeType === 0) {
|
|
|
servetype = `${returnFee / $num || "--"}元/小时`;
|
|
|
} else if (returnFeeType === 1) {
|
|
|
servetype = `${returnFee / $num || "--"}元/日`;
|
|
|
} else if (returnFeeType === 2) {
|
|
|
servetype = `${returnFee / $num || "--"}元/月`;
|
|
|
} else if (returnFeeType === 3) {
|
|
|
servetype = `${returnFee / $num || "--"}元/次`;
|
|
|
} else if (returnFeeType === 4) {
|
|
|
servetype = `${returnFee / $num || "--"}元/件`;
|
|
|
} else if (returnFeeType === 5) {
|
|
|
servetype = `工人收入${returnFee / $num || "--"}%`;
|
|
|
} else if (returnFeeType === 6) {
|
|
|
servetype = `共${returnFee / $num || "--"}元`;
|
|
|
} else if (returnFeeType === 7) {
|
|
|
servetype = `费用待定`;
|
|
|
}
|
|
|
return servetype
|
|
|
},
|
|
|
/**
|
|
|
* 分割电话号
|
|
|
*/
|
|
|
splitPhone (str) {
|
|
|
// 判断是否为11位
|
|
|
console.log(str);
|
|
|
if (str.length != 11) return str;
|
|
|
|
|
|
var arr = str.split('');
|
|
|
|
|
|
arr.splice(3, 0, ' ');
|
|
|
arr.splice(8, 0, ' ');
|
|
|
|
|
|
return arr.join('')
|
|
|
},
|
|
|
/**
|
|
|
* canvas绘图 start
|
|
|
*/
|
|
|
/**
|
|
|
* 文字绘制
|
|
|
*/
|
|
|
fillTextLineBreak (ctx, text, x, y, lw, lh, color = "#333", font = "32", weight = "500") {
|
|
|
// , align = "center"
|
|
|
var i = 0;
|
|
|
var n = 0;
|
|
|
var r = -1;
|
|
|
// var initHeight = 0;
|
|
|
ctx.font = weight + " " + font + "px Arial"; //字体大小
|
|
|
ctx.fillStyle = color; //字体颜色
|
|
|
// ctx.textBaseline = align;
|
|
|
// ctx.textAlign = align;
|
|
|
while (i < text.length) {
|
|
|
while (ctx.measureText(text.substring(n, i)).width < lw && i < text.length) {
|
|
|
i++;
|
|
|
}
|
|
|
r++;
|
|
|
ctx.fillText(text.substring(n, i), x, y + lh * r);
|
|
|
n = i;
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
* 背景图绘制
|
|
|
*/
|
|
|
roundRect (ctx, img, bg_x, bg_y, bg_w, bg_h, bg_r) {
|
|
|
// 开始绘制
|
|
|
ctx.save();
|
|
|
ctx.beginPath();
|
|
|
ctx.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5);
|
|
|
ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2);
|
|
|
ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_h - bg_r, bg_r, 0, Math.PI * 0.5);
|
|
|
ctx.arc(bg_x + bg_r, bg_y + bg_h - bg_r, bg_r, Math.PI * 0.5, Math.PI);
|
|
|
ctx.clip();
|
|
|
ctx.drawImage(img, bg_x, bg_y, bg_w, bg_h);
|
|
|
// 恢复之前保存的绘图上下文
|
|
|
ctx.restore();
|
|
|
},
|
|
|
roundRect_yuan (ctx, x, y, size) {
|
|
|
// 开始绘制
|
|
|
ctx.save(); // 保存
|
|
|
ctx.beginPath(); // 开始绘制
|
|
|
// ctx.arc(100, 75, 50, 0, 2 * Math.PI)
|
|
|
ctx.arc(size / 2 + x, size / 2 + y, size / 2, 0, Math.PI * 2, false);
|
|
|
ctx.clip();
|
|
|
// 恢复之前保存的绘图上下文
|
|
|
ctx.restore();
|
|
|
},
|
|
|
|
|
|
roundRect1 (ctx, x, y, w, h, r, color) {
|
|
|
//绘制圆角矩形(无填充色))
|
|
|
ctx.save();
|
|
|
ctx.fillStyle = color;
|
|
|
ctx.strokeStyle = color;
|
|
|
ctx.lineJoin = "round"; //交点设置成圆角
|
|
|
ctx.lineWidth = r;
|
|
|
ctx.strokeRect(x + r / 2, y + r / 2, w - r, h - r);
|
|
|
ctx.fillRect(x + r, y + r, w - r * 2, h - r * 2);
|
|
|
ctx.stroke();
|
|
|
ctx.closePath();
|
|
|
},
|
|
|
/**
|
|
|
* canvas绘图 end
|
|
|
*/
|
|
|
/**
|
|
|
* 全拷贝
|
|
|
*/
|
|
|
fullCopy (data) {
|
|
|
return JSON.parse(JSON.stringify(data))
|
|
|
},
|
|
|
/**
|
|
|
* 最大最小年龄获取性别限制
|
|
|
*/
|
|
|
|
|
|
getGenderByMinAge (res) {
|
|
|
// console.log("==================", res);
|
|
|
let str = "";
|
|
|
if (res.minAgeMan && res.minAgeWoman) {
|
|
|
str = "男女不限";
|
|
|
} else if (res.minAgeMan && !res.minAgeWoman) {
|
|
|
str = "仅限男性";
|
|
|
} else if (!res.minAgeMan && res.minAgeWoman) {
|
|
|
str = "仅限女性";
|
|
|
}
|
|
|
return str;
|
|
|
},
|
|
|
//对职位标签进行排序
|
|
|
setMark (val) {
|
|
|
// 24 * 60 * 60 * 1000
|
|
|
let list = uni.getStorageSync('JOB_REQUIRE_LIST').data
|
|
|
// console.log('val', val);
|
|
|
val.forEach(item => {
|
|
|
let newList = []
|
|
|
if (item.jobSpecialLabelNameArray.length > 0) {
|
|
|
item.jobSpecialLabelNameArray.forEach((a) => {
|
|
|
if (list.some((b) => a == b.name)) {
|
|
|
newList.push(a)
|
|
|
} else {
|
|
|
newList.unshift(a)
|
|
|
}
|
|
|
})
|
|
|
// console.log('newList', newList);
|
|
|
item.jobSpecialLabelNameArray = newList
|
|
|
}
|
|
|
});
|
|
|
return val
|
|
|
}
|
|
|
}
|
|
|
|
|
|
export default data;
|