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

723 lines
19 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$(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);
}