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

2 years ago
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;