hd_real_name/target/classes/static/js/registration.js

723 lines
19 KiB
JavaScript
Raw Normal View History

2025-03-17 15:01:27 +08:00
$(function(){
$("#uuid").val(uuid());
$("#uuid2").val(uuid());
jeDate({
dateCell: "#registDate",
format: "YYYY-MM-DD",
isTime: false,
minDate: "2001-01-01 00:00:00",
maxDate: "2099-12-01 00:00:00",
});
initTree();
findOrgType();//获取单位类型
findRegisterAddressCode();//注册地区行政区划代码
$("#orgName").blur(function(){
var orgName = $("#orgName").val();
$.ajax({
type: 'POST',
url: ctxPath + '/register/getOrgNameByName',
data: {
orgName:orgName,//名称
},
success: function(data) {
if(data == "error"){
layer.msg('企业事业单位名称已存在,请重新输入');
$("#orgName").focus();
}
}
});
});
})
function clickBtn(num){
if(num=="1"){
$("#companyDiv").css("display", "block");
$("#userDiv").css("display", "none");
document.getElementById("companyBtn").style.borderBottom = "#007DDB solid 2px";
document.getElementById("userBtn").style.borderBottom = "#007DDB solid 0px";
}else if(num=="2"){
$("#companyDiv").css("display", "none");
$("#userDiv").css("display", "block");
document.getElementById("companyBtn").style.borderBottom = "#007DDB solid 0px";
document.getElementById("userBtn").style.borderBottom = "#007DDB solid 2px";
findCompany();//获取单位集合
// findPost();//获取岗位集合
}
}
var list=[];
var userList=[];
//分公司/企业注册
function addCompany(){
// 加载提示
var loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
var orgName=$("#orgName").val();//名称
var reg = /^[\u4e00-\u9fa5_a-zA-Z]{1,100}$/;
if(!reg.test(orgName)){
layer.msg('企业事业单位名称:请输入1-100位中英文');
return false;
}
var orgCreditCode=$("#orgCreditCode").val();//统一社会信用代码
var reg = /^[A-Z0-9]{18}/;
if(!reg.test(orgCreditCode)){
layer.msg('请输入18位统一社会信用代码字母大写');
return false;
}
var legalPersonName=$("#legalPersonName").val();//法定代表人姓名
var reg = /^[\u4e00-\u9fa5_]{2,20}$/;
if(!reg.test(legalPersonName)){
layer.msg('法定代表人姓名:请输入2-20位中文真实姓名');
return false;
}
var legalPersonIdcard=$("#legalPersonIdcard").val();//法定代表人证件号码
var reg = /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
if(!reg.test(legalPersonIdcard)){
layer.msg('法定代表人证件号码:请输入正确的身份证号码');
return false;
}
var legalPersonPhone=$("#legalPersonPhone").val();//法定代表人联系方式
var reg = /^1[3456789]\d{9}$/;
if(!reg.test(legalPersonPhone)){
layer.msg('法定代表人联系电话:请正确输入的负责人电话');
return false;
}
var orgType=$("#orgType").val();//单位类型
var registerCapital=$("#registerCapital").val();//注册资本(元)
var reg = /^\d+(.\d{1,2})?$/;
if(!reg.test(registerCapital)){
layer.msg('注册资本:请输入正确的数字最大保留2位小数');
return false;
}
var registerAddressCode=$("#registerAddressCode").val();//注册地行政区划代码
/*var reg = /^[0-9]{12}/;
if(!reg.test(registerAddressCode)){
layer.msg('注册地区行政区划代码:请输入12位行政区划码');
return false;
}*/
var postalCode=$("#postalCode").val();//邮政编码
var reg = /^[1-9]\d{5,11}$/;
if(!reg.test(postalCode)){
layer.msg('邮政编码:请输入6-12位正整数');
return false;
}
var registerAddress=$("#registerAddress").val();//注册地址
var reg = /^[\u4e00-\u9fa5_a-zA-Z]{1,200}$/;
if(!reg.test(registerAddress)){
layer.msg('注册地址:请输入1-200位中英文');
return false;
}
var laborerPersonName=$("#laborerPersonName").val();//劳资负责人姓名
var reg = /^[\u4e00-\u9fa5_]{2,20}$/;
if(!reg.test(laborerPersonName)){
layer.msg('劳资负责人姓名:请输入2-20位中文真实姓名');
return false;
}
var laborerPersonIdcard=$("#laborerPersonIdcard").val();//劳资负责人公民身份证号码
var reg = /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
if(!reg.test(laborerPersonIdcard)){
layer.msg('劳资负责人公民身份证号码:请输入正确的身份证号码');
return false;
}
var laborerPersonPhone=$("#laborerPersonPhone").val();//劳资负责人联系电话
var reg = /^1[3456789]\d{9}$/;
if(!reg.test(laborerPersonPhone)){
layer.msg('劳资负责人联系电话:请正确输入的负责人电话');
return false;
}
var contactPerson=$("#contactPerson").val();//企业联系人姓名
var reg = /^[\u4e00-\u9fa5_]{2,20}$/;
if(!reg.test(contactPerson)){
layer.msg('企业联系人姓名:请输入2-20位中文真实姓名');
return false;
}
var contactPersonPhone=$("#contactPersonPhone").val();//企业系人电话
var reg = /^1[3456789]\d{9}$/;
if(!reg.test(contactPersonPhone)){
layer.msg('企业联系人电话:请正确输入的电话号码');
return false;
}
var officeAddress=$("#officeAddress").val();//办公地址
var reg = /^[\u4e00-\u9fa5_a-zA-Z]{1,200}$/;
if(!reg.test(officeAddress)){
layer.msg('办公地址:请输入1-200位中英文');
return false;
}
var registDate=$("#registDate").val();//注册日期
var userName=$("#userName").val();//用户名
var reg = /^[\u4e00-\u9fa5_a-zA-Z]{2,50}$/;
if(!reg.test(userName)){
layer.msg('用户名:请输入2-50位中英文');
return false;
}
var userPhone=$("#userPhone").val();//手机号
var reg = /^1[3456789]\d{9}$/;
if(!reg.test(userPhone)){
layer.msg('手机号:请正确输入的负责人电话');
return false;
}
var verCode=$("#verCode").val();//验证码
list=[];
list.push(orgName);
list.push(orgCreditCode);
list.push(legalPersonName);
list.push(legalPersonIdcard);
list.push(legalPersonPhone);
list.push(orgType);
list.push(registerCapital);
list.push(registerAddressCode);
list.push(postalCode);
list.push(registerAddress);
list.push(laborerPersonName);
list.push(laborerPersonIdcard);
list.push(laborerPersonPhone);
list.push(contactPerson);
list.push(contactPersonPhone);
list.push(officeAddress);
list.push(registDate);
list.push(userName);
list.push(userPhone);
console.log("list:"+list);
var tf=isNull(list);
if(tf){
if(random !='' && random==verCode){
$.ajax({
type: 'POST',
url: ctxPath + '/register/addRegister',
data: {
orgName:orgName,//名称
orgCreditCode:orgCreditCode,//统一社会信用代码
legalPersonName:legalPersonName,//法定代表人姓名
legalPersonCard:legalPersonIdcard,//法定代表人证件号码
legalPersonPhone:legalPersonPhone,//法定代表人联系方式
orgType:orgType,//单位类型
registerCapital:registerCapital,//注册资本(元)
registerAddressCode:registerAddressCode,//注册地行政区划代码
postalCode:postalCode,//邮政编码
registerAddress:registerAddress,//注册地址
laborerPersonName:laborerPersonName,//劳资负责人姓名
laborerPersonCard:laborerPersonIdcard,//劳资负责人公民身份证号码
laborerPersonPhone:laborerPersonPhone,//劳资负责人联系电话
contactPerson:contactPerson,//企业联系人姓名
contactPersonPhone:contactPersonPhone,//企业系人电话
officeAddress:officeAddress,//办公地址
registerDate:registDate,//注册日期
userName:userName,//用户名
phone:userPhone,//手机号
loginType:"1",//公司
createType: "1"
},
dataType: "json",
success: function(data) {
if(data.resMsg=="保存成功"){
layer.alert('注册信息已提交,等待管理员审核',{
icon: 1,
time: 3000,
yes:function(){
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);//关闭当前页
},end: function(){
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);//关闭当前页
}
});
}else{
layer.alert(data.resMsg, {
icon: 2,
time: 3000
});
}
}
});
}else if(random ==''){
layer.alert("请获取验证码!", {
icon: 2,
time: 3000
});
}else if(random !='' && random !=verCode){
layer.alert("验证码错误!", {
icon: 2,
time: 3000
});
}else{
layer.alert("系统错误!", {
icon: 2,
time: 3000
});
}
}else{
layer.alert("您有信息未填写!", {
icon: 2,
time: 3000
});
}
parent.layer.close(loadingMsg);
}
function isNull(list){
for(var i=0;i<list.length;i++){
if(list[i]==null || list[i]=='' || list[i]=="-1"){
return false;
}
}
return true;
}
//获取单位类型
function findOrgType(){
$.ajax({
type: 'POST',
url: ctxPath + '/register/getOrgType',
data: {},
dataType: "json",
success: function(data) {
var list=data;
var html="";
html += '<option value="">请选择单位类型</option>';
for(var i=0;i<list.length;i++){
html += '<option value="' + list[i].id + '">' + list[i].orgType + '</option>';
}
$("#orgType").append(html);
}
});
}
//注册地区行政区划代码
function findRegisterAddressCode(){
$.ajax({
type: 'POST',
url: ctxPath + '/register/getRegisterAddressCode',
data: {},
dataType: "json",
success: function(data) {
var list=data;
var html="";
html += '<option value="">请选择行政区划代码</option>';
for(var i=0;i<list.length;i++){
html += '<option value="' + list[i].id + '">' + list[i].registerAddressCode + '</option>';
}
$("#registerAddressCode").append(html);
}
});
}
/**
* 用户注册
*/
//获取单位集合
function findCompany(){
$.ajax({
type: 'POST',
url: ctxPath + '/register/getCompanys',
data: {},
dataType: "json",
success: function(data) {
var html="";
html += '<option value="">请选择公司</option>';
for(var i=0;i<data.length;i++){
html += '<option value="' + data[i].id + '">' + data[i].orgName + '</option>';
}
$("#orgId").append(html);
}
});
};
/**
* 获取工程
* */
function getProject(companyId) {
$("#proId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/register/getProject',
data: {
"companyId":companyId,
},
dataType: 'json',
success: function (data) {
if(data.length>0){
var str = '<option selected value="">请选择工程</option>';
for(var i = 0; i < data.length; i++) {
str += '<option value=\'' + data[i].id + '\'>' + data[i].name + '</option>';
}
$("#proId").append(str);
layui.form.render('select'); //这里就是我们要渲染的地方了
}
}
})
}
//获取角色集合
function findRole(companyId){
$("#roleId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/register/getRoles',
data: {orgId:companyId},
dataType: "json",
success: function(data) {
var html="";
html += '<option value="">请选择角色</option>';
for(var i=0;i<data.length;i++){
html += '<option value="' + data[i].id + '">' + data[i].name + '</option>';
}
$("#roleId").append(html);
}
});
findRoleType("");
};
var roleType="";
//获取角色Type
function findRoleType(roleId) {
var pro=document.getElementById("proTr");
var sub=document.getElementById("subTr");
var span=document.getElementById("qxSpan");
if(roleId !=""){
$.ajax({
type: 'POST',
url: ctxPath + '/register/findRoleType',
data: {roleId:roleId},
dataType: "json",
success: function(data) {
var type=data.type;
roleType=type;
console.log(type);
var info = "角色权限:";
if(type.indexOf("3") !="-1"){
pro.style.display="table-row";
sub.style.display="none";
info = info + "施工端 ";
}else if(type.indexOf("4") !="-1"){
pro.style.display="none";
sub.style.display="table-row";
info = info + "监督端 ";
}else{
pro.style.display="none";
sub.style.display="none";
}
if (type.indexOf("2") !="-1") {
if (type.indexOf("3") !="-1" || type.indexOf("4") !="-1") {
info = info + "、后台";
}else {
info = info + "后台";
}
}
if (type.indexOf("1") !="-1"){
if (type.indexOf("3") !="-1" || type.indexOf("4") !="-1" || type.indexOf("2") !="-1") {
info = info + "、大屏";
}else {
info = info + "大屏";
}
}
span.innerHTML = info;
span.style.display="inline-block";
}
});
}else{
pro.style.display="none";
sub.style.display="none";
// jdSpan.style.display="none";
// sgSpan.style.display="none";
}
}
//获取岗位集合
function findSub(companyId){
$("#subId").empty();
$.ajax({
type: 'POST',
url: ctxPath + '/register/findSubList',
data: {
companyId: companyId
},
dataType: "json",
success: function(data) {
var html="";
html += '<option value="">请选择</option>';
for(var i=0;i<data.length;i++){
html += '<option value="' + data[i].id + '">' + data[i].name + '</option>';
}
$("#subId").append(html);
}
});
};
//用户注册
function addUser(){
// 加载提示
var loadingMsg = layer.msg('数据上传中,请稍候...', {icon: 16, scrollbar: false, time: 0, shade: [0.8, '#393D49']});
var userName=$("#uName").val();//用户名
var reg = /^[\u4e00-\u9fa5_]{2,20}$/;
if(!reg.test(userName)){
layer.msg('用户名:请输入2-20位中文真实姓名');
return false;
}
var phone=$("#phone").val();//联系方式
var reg = /^1[3456789]\d{9}$/;
if(!reg.test(phone)){
layer.msg('联系方式:请正确输入的负责人电话');
return false;
}
var sex=$("#sex").val();//性别
var orgId=$("#orgId").val();//公司名称
var proId=$("#proId").val();//工程名称
var subId=$("#subId").val();//岗位名称
var roleId=$("#roleId").val();//角色
if(roleType.indexOf("3") !="-1"){
if(proId==null || proId=='' || proId=="-1"){
layer.msg('请选择工程!');
return false;
}
}else if(roleType.indexOf("4") !="-1"){
if(subId==null || subId=='' || subId=="-1"){
layer.msg('请选择分包商!');
return false;
}
}
userList=[];
userList.push(userName);
userList.push(phone);
userList.push(sex);
userList.push(orgId);
userList.push(roleId);
console.log("list:"+list);
var tf=isNull(userList);
if(tf){
$.ajax({
type: 'POST',
url: ctxPath + '/register/getPhone',
data: {
phone: phone
},
dataType: "json",
success: function(data) {
if(data == '0'){
layer.msg("该手机号已注册");
return false;
}else{
$.ajax({
type: 'POST',
url: ctxPath + '/register/addRegister',
data: {
userName:userName,//用户名
phone:phone,//联系方式
sex:sex,//性别
orgId:orgId,//公司名称
proId:proId,//工程名称
subId:subId,//分包商
roleId:roleId,//角色
type:roleType,//权限类型
loginType:"2",//用户
},
dataType: "json",
success: function(data) {
if(data.resMsg=="保存成功"){
layer.alert('注册信息已提交,等待管理员审核 通过后我们会以短信的形式将账户、密码发送到您的手机上',{
icon: 1,
time: 3000,
yes:function(){
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);//关闭当前页
},end: function(){
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);//关闭当前页
}
});
}else{
layer.alert(data.resMsg, {
icon: 2,
time: 3000
});
}
}
});
}
}
});
}else{
layer.alert("您有信息未填写!", {
icon: 2,
time: 3000
});
}
parent.layer.close(loadingMsg);
}
var msgNum=60*3;
var msgInterval=null;
var random="";
//获取验证码
function findMsg(){
random="";
var userPhone=$("#userPhone").val();//手机号
if(userPhone=="" || userPhone==null){
layer.alert("请输入手机号!", {
icon: 2,
time: 3000
});
}else{
if(userPhone.length<11){
layer.alert("请输入11位手机号码", {
icon: 2,
time: 3000
});
}else{
$.ajax({
type: 'POST',
url: ctxPath + '/register/getPhone',
data: {
phone: userPhone
},
dataType: "json",
success: function(data) {
if(data == '0'){
layer.msg("该手机号已注册");
return false;
}else{
for(var i=0;i<4;i++){
random+=parseInt(Math.random()*(9+1),10);
}
var content="【产业工人管理平台】您注册的验证码为:"+random+",有效期为3分钟若非本人操作请勿泄露。";
$.ajax({
type: 'POST',
url:"http://api.ktsms.cn/sms_token",
data: {ddtkey:"bonus",
secretkey:"KtyBns@Admin2023!",
mobile:userPhone,
content:content,
},
dataType: "json",
success: function(data) {}
});
document.getElementById("msg").style.pointerEvents="none";
document.getElementById("msg").style.width="11%";
document.getElementById("msg").style.marginLeft="48%";
msgInterval=setInterval(stopMsg, 1000);
layer.alert("验证码已发送", {
icon: 1,
time: 3000
});
}
}
});
}
}
}
//验证码停用动画
function stopMsg(){
document.getElementById("msg").innerHTML=msgNum+"秒后获取验证码";
if(msgNum !=0){
msgNum--;
}else{
document.getElementById("msg").style.pointerEvents="auto";
document.getElementById("msg").style.width="7%";
document.getElementById("msg").style.marginLeft="51%";
document.getElementById("msg").innerHTML="获取验证码";
clearInterval(msgInterval);
msgNum=60;
}
}
// 初始化树节点
function initTree() {
$.ajax({
type: 'POST',
url: ctxPath + '/register/getCompanyTreeList',
data: {},
dataType: 'json',
success: function (data) {
$.fn.zTree.init($("#orgTree"),{
view:{
dblClickExpand:false,
selectedMulti:false,
nameIsHTML:true
},
data:{
simpleData:{
enable: true
}
},
callback:{
onClick:clickRole
}
}, data.obj);
},
error: function (e) {
console.log(e.resMsg);
},
});
}
var preisShow=false;//窗口是否显示
function showRole() {
if(preisShow){
hideRole();
}else{
var obj = $("#orgNamesPersonal");
var offpos = $("#orgNamesPersonal").position();
$("#orgContent").css({left:offpos.left+"px",top:offpos.top+obj.heigth+"px"}).slideDown("fast");
preisShow=true;
}
}
function emptyRole(){
$("#orgNamesPersonal").prop("value","");
$("#auForm input[name$='orgId']").prop("value","");
}
function hideRole(n,c){
$("#orgId").val(n);
$("#orgContent").fadeOut("fast");
preisShow=false;
loadCompanyInfo(n,c);
}
function clickRole(e, treeId, treeNode) {
// var check = (treeNode && !treeNode.isParent);
var check = (treeNode);
if(check){
var zTree = $.fn.zTree.getZTreeObj("orgTree"),
nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p="",c="";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";//获取name值
n += nodes[i].id + ",";//获取id值
o += nodes[i].other + ",";//获取自定义值
c += nodes[i].companyId + ",";
var pathNodes=nodes[i].getPath();
for(var y=0;y<pathNodes.length;y++){
p+=pathNodes[y].name+"/";//获取path/name值
}
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
if (n.length > 0 ) n = n.substring(0, n.length-1);
if (o.length > 0 ) o = o.substring(0, o.length-1);
if (p.length > 0 ) p = p.substring(0, p.length-1);
if (c.length > 0 ) c = c.substring(0, c.length-1);
$("#orgNamesPersonal").val(p);
$("#companyId").val(c);
$("#auForm input[name$='orgId']").prop("value",n);
hideRole(n,c);
}
}
function loadCompanyInfo(n,c){ //分公司工程联动
var orgId = n;
var companyId = c;
findRole(companyId);
getProject(companyId);
findSub(companyId);
}