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

739 lines
16 KiB
JavaScript

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.

function CommonUtil() {}
/**
* 如果是null '' 'null' 'undefined'
* @param item
* @returns
*/
CommonUtil.isEmptyCheck = function (value) {
if (value == null || value === "" || value == "null" || typeof value == "undefined") {
return true;
}
return false;
};
/**
* 如果不是是null '' 'null' 'undefined'
* @param item
* @returns
*/
CommonUtil.isNotEmptyCheck = function (value) {
return !this.isEmptyCheck(value);
};
var jobTypeArray = [
{ id: "0", name: "代理招聘", name2: "代理招聘", value: "0", text: "代理招聘", checked: false },
{ id: "1", name: "劳务派遣", name2: "全职", value: "1", text: "劳务派遣", checked: false },
{ id: "2", name: "劳务外包", name2: "兼职", value: "2", text: "劳务外包", checked: false },
{ id: "4", name: "劳务外包挂靠", name2: "劳务外包挂靠", value: "4", text: "劳务外包挂靠", checked: false },
];
CommonUtil.getJobTypeArray = function () {
return jobTypeArray;
};
//初始化picker选中项
CommonUtil.getJobTypeById = function (id) {
let str = "";
jobTypeArray.forEach((item) => {
if (item.id == id) {
str = item.name;
}
});
return str;
};
/**
* 工种类型
*/
var workTypeArray = [
{ id: 0, name: "全职", value: "0", text: "全职", checked: false },
{ id: 1, name: "兼职", value: "1", text: "兼职", checked: false },
{ id: 3, name: "实习生", value: "3", text: "实习生", checked: false },
{ id: 2, name: "寒暑假工", value: "2", text: "寒暑假工", checked: false },
{ id: 4, name: "灵活用工", value: "4", text: "灵活用工", checked: false },
];
CommonUtil.workTypeArray = function () {
return workTypeArray;
};
CommonUtil.getDistanceName = function (distance) {
let str = "";
if (isNotEmptyCheck(distance)) {
if (distance > 1000) {
var dis = distance / 1000;
dis = dis.toFixed(1);
str = dis + "km";
if(dis > 1000){
str = "暂无位置"
}
} else {
str = distance + "m";
}
}
return str;
};
CommonUtil.getStoreAddress = function (district, detailPosition) {
var res = "";
if (isNotEmptyCheck(district)) {
var tmpArr = district.split(",");
if (tmpArr.length == 3 && tmpArr[0] == tmpArr[1]) {
res += tmpArr[1] + tmpArr[2];
} else {
res += district.replace(/,/g, "");
}
}
if (isNotEmptyCheck(detailPosition)) {
res += detailPosition;
}
return res;
};
export function isEmptyCheck(value) {
if (value == null || value === "" || value == "null" || typeof value == "undefined") {
return true;
}
return false;
}
export function isNotEmptyCheck(value) {
return !isEmptyCheck(value);
}
/**
* 根据工种类型ID获取名称
*/
CommonUtil.getWorkTypeById = function (id) {
let str = "";
workTypeArray.forEach((item) => {
if (item.id == id) {
str = item.name;
}
});
return str;
};
/**
* 展示招聘人数
* @param {*} state
* @param {*} numType
* @param {*} numMale
* @param {*} numFemale
*/
CommonUtil.showStoreJobHireTotalNum2 = function (state, numType, numMale, numFemale) {
if (state - 1 != 0) {
return "-";
}
if (numType == 0) {
if (numMale - 0 == 0) {
return "暂不缺人";
}
return numMale + "人";
} else if (numType == 1) {
if (numMale > 0 && numFemale > 0) {
return "男" + numMale + "人" + " " + ("女" + numFemale + "人") /* + ' 女' + numFemale */;
} else if (numMale > 0) {
return "男" + numMale + "人";
} else if (numFemale > 0) {
return "女" + numFemale + "人";
} else {
return "暂不缺人";
}
}
return "-";
};
CommonUtil.getSex = function (sex) {
if (sex == 1) {
return "男";
} else if (sex == 2) {
return "女";
}
return "";
};
CommonUtil.getAgeFromBirthday = function (birth) {
if (this.isEmptyCheck(birth)) {
return "";
}
var birthday = this.formatDateYMDHMS(birth);
var returnAge;
var strBirthdayArr = birthday.split("-");
if (strBirthdayArr.length == 1) {
var d = new Date();
var nowYear = d.getFullYear();
return nowYear - strBirthdayArr[0] + 1;
}
var birthYear = strBirthdayArr[0];
var birthMonth = strBirthdayArr[1];
var birthDay = strBirthdayArr[2];
var d = new Date();
var nowYear = d.getFullYear();
var nowMonth = d.getMonth() + 1;
var nowDay = d.getDate();
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; //返回周岁年龄
};
/**
* 时间格式化 2017-01-01 01:01:01
* @param val
* @returns {string}
*/
CommonUtil.formatDateYMDHMS = function (val) {
// model -> view在更新 `<input>` 元素之前格式化值
if ((val != null || val == "") && typeof val == "string") {
if (val.indexOf("T")) {
val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式处理一下
}
val = val.replace("-", "/").replace("-", "/");
}
var value = new Date(val);
//console.log(val);
var fmt = "yyyy-MM-dd HH:mm:ss";
var o = {
"M+": value.getMonth() + 1, //月份
"d+": value.getDate(), //日
"H+": value.getHours(), //小时
//"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时
"m+": value.getMinutes(), //分
"s+": value.getSeconds(), //秒
//"S": val.getMilliseconds() //毫秒
//"q+": Math.floor((val.getMonth() + 3) / 3) //季度
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
}
}
return fmt;
};
/**
* 稍后处理时间选择
*/
var notifyTimeArray = [
{ id: "0", name: "请选择", name2: "请选择", value: "0", text: "请选择", checked: false },
{ id: "10", name: "10分钟后", name2: "10分钟后", value: "10", text: "10分钟后", checked: false },
{ id: "20", name: "20分钟后", name2: "20分钟后", value: "20", text: "20分钟后", checked: false },
{ id: "30", name: "30分钟后", name2: "30分钟后", value: "30", text: "30分钟后", checked: false },
{ id: "60", name: "1小时后", name2: "1小时后", value: "60", text: "1小时后", checked: false },
{ id: "120", name: "2小时后", name2: "2小时后", value: "120", text: "2小时后", checked: false },
{ id: "240", name: "4小时后", name2: "4小时后", value: "240", text: "4小时后", checked: false },
];
CommonUtil.getNotifyTimeArray = function () {
return notifyTimeArray;
};
/**
* 获取手机号后四位
*/
CommonUtil.getTelAfterFour = function (tel) {
var str = "";
if (this.isNotEmptyCheck(tel)) {
str = tel.substring(tel.length - 4);
}
return str;
};
//=============================ws=↑================================================
(CommonUtil.returnFeeTypeArray = function (value = 0) {
let returnFeeTypeArray = [
{ id: 0, value: "0", text: "按时", name: "小时", name1: `${value}元/小时` },
{ id: 1, value: "1", text: "按日", name: "天", name1: `${value}元/日` },
{ id: 2, value: "2", text: "按月", name: "月", name1: `${value}元/月` },
{ id: 3, value: "3", text: "按次", name: "次", name1: `${value}元/次` },
{ id: 4, value: "4", text: "按件", name: "件", name1: `${value}元/斤` },
{ id: 5, value: "5", text: "百分比", name: "百分比", name1: `工人收入${value}%` },
{ id: 6, value: "6", text: "总计", name: "总计", name1: `${value}` },
{ id: 7, value: "7", text: "费用待定", name: "费用待定", name1: `费用待定` },
];
return returnFeeTypeArray;
}),
(CommonUtil.getReturnFeeTypeNameById = function (id) {
let str = "";
console.log(id);
let array = this.returnFeeTypeArray();
array.forEach((item) => {
if (item.id == id) {
str = item.name;
}
});
return str;
}),
(CommonUtil.getReturnFeeTypeName1ById = function (id, value) {
let str = "";
console.log(id);
console.log(value);
let array = this.returnFeeTypeArray(value);
array.forEach((item) => {
if (item.id == id) {
str = item.name1;
}
});
return str;
}),
(CommonUtil.moneyToFixed = function (money, fixed = 2, multiplicator = 100) {
if (money != 0 && money != null && money != "" && money != undefined) {
return this.cutZero(new Number(money / multiplicator).toFixed(fixed));
}
return "0";
}),
(CommonUtil.cutZero = function (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;
});
/**
* 根据薪资类型和薪资值获取薪资展示
*/
CommonUtil.getSalaryClassifyValue = function (salaryClassify, salaryClassifyValue) {
var hourlyPay = this.moneyToFixed(salaryClassifyValue);
// console.log(hourlyPay);
// console.log(salaryClassify);
if (salaryClassify == 0) {
return `${hourlyPay}元/小时`;
} else if (salaryClassify == 1) {
return `${hourlyPay}元/天`;
} else if (salaryClassify == 2) {
return `${hourlyPay}`;
} else if (salaryClassify == 3) {
return `${hourlyPay}`;
} else if (salaryClassify == 4) {
return "计件";
} else if (salaryClassify == 5) {
return `保底${hourlyPay}`;
} else if (salaryClassify == 6) {
return `面议`;
} else if (salaryClassify == 7) {
return `月薪`;
} else {
// return '请配置薪资';
return "-";
}
};
/*
处理详情地址
*/
CommonUtil.setJobListInfoPosition = function (pos) {
let city = [];
let citys = [];
if (this.isNotEmptyCheck(pos)) {
city = pos.split(",");
}
city.forEach((i, index) => {
if (this.isNotEmptyCheck(i) && index < 2) {
citys.push(i);
}
});
citys = citys.join(",").replace(/,/g, " | ");
return citys || "-";
};
CommonUtil.getCurrentPageUrlWithArgs = function () {
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
const url = currentPage.route;
const options = currentPage.options;
let urlWithArgs = `/${url}?`;
for (let key in options) {
const value = options[key];
urlWithArgs += `${key}=${value}&`;
}
urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1);
return urlWithArgs;
};
/**
* 根据工种类型ID获取名称
*/
CommonUtil.getGenderByMinAge = function (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;
};
/*
处理详情地址
*/
CommonUtil.setJobInfoPosition = function(pos) {
let city = [];
let citys = [];
if (isNotEmptyCheck(pos)) {
city = pos.split(",");
}
city.forEach((i) => {
if (isNotEmptyCheck(i)) {
citys.push(i);
}
});
citys = citys.join(",").replace(/,/g, " | ");
return citys || '-';
}
/**
* 对象深拷贝
*/
CommonUtil.deepClone = function (obj, newObj) {
var newObj = newObj || {};
for (let key in obj) {
if (typeof obj[key] == 'object') {
let isArray = Array.isArray(obj[key]); //判断是否数组
newObj[key] = (isArray == true ? [] : {})
deepClone(obj[key], newObj[key]);
} else {
newObj[key] = obj[key]
}
}
return newObj;
}
/**
* 代理成员权限
*/
CommonUtil.agencyPermissionArray = function() {
//查看职位、报名、查看报名、查看老乡、修改密码、修改手机号、新增成员、修改成员信息、删除成员
let workTypeArray = [
{ id: 1, name: "查看职位", value: "job:list", text: "查看职位", checked: false },
{ id: 2, name: "报名", value: "apply:add", text: "报名", checked: false },
{ id: 3, name: "查看报名", value: "apply:list", text: "查看报名", checked: false },
{ id: 4, name: "查看老乡", value: "apply:user", text: "查看老乡", checked: false },
{ id: 5, name: "修改密码", value: "user:pwd", text: "修改密码", checked: false },
{ id: 6, name: "修改手机号", value: "user:tel", text: "修改手机号", checked: false },
{ id: 7, name: "新增成员", value: "user:add", text: "新增成员", checked: false },
{ id: 8, name: "修改成员信息", value: "user:update", text: "修改成员信息", checked: false },
{ id: 9, name: "删除成员", value: "user:del", text: "删除成员", checked: false },
];
return workTypeArray;
}
/**
* 根据代理权限ID获取名称
*/
CommonUtil.getAgencyPermissionNameById = function(permissionStr) {
let str = "";
let array = this.agencyPermissionArray();
let names = [];
let permissions = permissionStr.split(",");
array.forEach((item) => {
if (permissions.indexOf(item.value) >= 0) {
names.push(item.name);
}
});
return names.join("");
}
/**
* 根据代理角色获取权限
*/
CommonUtil.getAgencyPermissionsByRole = function(role) {
if (role == 1) {
return "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel,user:add,user:update,user:del";
} else {
return "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel";
}
}
CommonUtil.nationArray = [
// 民族的数组
{
name: "请选择民族",
},
{
id: "01",
name: "汉族",
},
{
id: "02",
name: "蒙古族",
},
{
id: "03",
name: "满族",
},
{
id: "04",
name: "朝鲜族",
},
{
id: "05",
name: "赫哲族",
},
{
id: "06",
name: "达斡尔族",
},
{
id: "07",
name: "鄂温克族",
},
{
id: "08",
name: "鄂伦春族",
},
{
id: "09",
name: "回族",
},
{
id: "10",
name: "东乡族",
},
{
id: "11",
name: "土族",
},
{
id: "12",
name: "撒拉族",
},
{
id: "13",
name: "保安族",
},
{
id: "14",
name: "裕固族",
},
{
id: "15",
name: "维吾尔族",
},
{
id: "16",
name: "哈萨克族",
},
{
id: "17",
name: "柯尔克孜族",
},
{
id: "18",
name: "锡伯族",
},
{
id: "19",
name: "塔吉克族",
},
{
id: "20",
name: "乌孜别克族",
},
{
id: "21",
name: "俄罗斯族",
},
{
id: "22",
name: "塔塔尔族",
},
{
id: "23",
name: "藏族",
},
{
id: "24",
name: "门巴族",
},
{
id: "25",
name: "珞巴族",
},
{
id: "26",
name: "羌族",
},
{
id: "27",
name: "彝族",
},
{
id: "28",
name: "白族",
},
{
id: "29",
name: "哈尼族",
},
{
id: "30",
name: "傣族",
},
{
id: "31",
name: "傈僳族",
},
{
id: "32",
name: "佤族",
},
{
id: "33",
name: "拉祜族",
},
{
id: "34",
name: "纳西族",
},
{
id: "35",
name: "景颇族",
},
{
id: "36",
name: "布朗族",
},
{
id: "37",
name: "阿昌族",
},
{
id: "38",
name: "普米族",
},
{
id: "39",
name: "怒族",
},
{
id: "40",
name: "德昂族",
},
{
id: "41",
name: "独龙族",
},
{
id: "42",
name: "基诺族",
},
{
id: "43",
name: "苗族",
},
{
id: "44",
name: "布依族",
},
{
id: "45",
name: "侗族",
},
{
id: "46",
name: "水族",
},
{
id: "47",
name: "仡佬族",
},
{
id: "48",
name: "壮族",
},
{
id: "49",
name: "瑶族",
},
{
id: "50",
name: "仫佬族",
},
{
id: "51",
name: "毛南族",
},
{
id: "52",
name: "京族",
},
{
id: "53",
name: "土家族",
},
{
id: "54",
name: "黎族",
},
{
id: "55",
name: "畲族",
},
{
id: "56",
name: "高山族",
},
];
module.exports = CommonUtil;