Commit 01ce88ac authored by 赵啸非's avatar 赵啸非

修改员工属性

parent 7f6c1192
...@@ -202,7 +202,7 @@ CREATE TABLE mortals_xhx_staff( ...@@ -202,7 +202,7 @@ CREATE TABLE mortals_xhx_staff(
`gender` tinyint(2) DEFAULT '1' COMMENT '性别(1.男,2.女)', `gender` tinyint(2) DEFAULT '1' COMMENT '性别(1.男,2.女)',
`birthday` datetime COMMENT '出生日期', `birthday` datetime COMMENT '出生日期',
`photoPath` varchar(255) COMMENT '照片', `photoPath` varchar(255) COMMENT '照片',
`Email` varchar(128) COMMENT '邮件地址', `email` varchar(128) COMMENT '邮件地址',
`phoneNumber` varchar(128) NOT NULL COMMENT '联系电话', `phoneNumber` varchar(128) NOT NULL COMMENT '联系电话',
`idCard` varchar(128) COMMENT '身份证号码', `idCard` varchar(128) COMMENT '身份证号码',
`workNum` varchar(128) COMMENT '工号', `workNum` varchar(128) COMMENT '工号',
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<Field :span="20" label="职位" prop="positionId" v-model="form.positionId" type="select" :enum-data="dict.positionId" placeholder="请输入职位ID"/> <Field :span="20" label="职位" prop="positionId" v-model="form.positionId" type="select" :enum-data="dict.positionId" placeholder="请输入职位ID"/>
<Field :span="20" label="联系电话" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入联系电话"/> <Field :span="20" label="联系电话" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入联系电话"/>
<Field :span="20" label="头像" prop="photoPath" placeholder="请输入照片"><imageUpload v-model="form.photoPath" prePath="/file/preview"/> </Field> <Field :span="20" label="头像" prop="photoPath" placeholder="请输入照片"><imageUpload v-model="form.photoPath" prePath="/file/preview"/> </Field>
<Field :span="20" label="邮件地址" prop="Email" v-model="form.Email" placeholder="请输入邮件地址"/> <Field :span="20" label="邮件地址" prop="email" v-model="form.email" placeholder="请输入邮件地址"/>
<Field :span="20" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> <Field :span="20" label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
...@@ -37,7 +37,33 @@ ...@@ -37,7 +37,33 @@
this.changePath("staff") this.changePath("staff")
}, },
data() { data() {
var checkEmail = (rule, value, callback) => {
let mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/;
if (!value) { //如果输入为空直接返回
callback();
} else {
//如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
if (mailReg.test(value)) { //匹配成功返回
callback();
} else { //匹配不成功返回错误显示
callback(new Error("邮箱格式:xx@xx.xx,只含数字、大小写字母、下划线、横杠"));
}
}
};
var checkPhone = (rule,value,callback) =>{
let phoneReg = /^1[3|4|5|7|8][0-9]{9}$/
if(!value){
callback()
}else{
if(phoneReg.test(value)){
callback()
}else{
callback(new Error("电话格式:13、14、15、17、18开头+9位阿拉伯数字"))
}
}
}
return { return {
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
...@@ -66,17 +92,21 @@ ...@@ -66,17 +92,21 @@
{required: true,message: "请输入员工姓名", trigger: "blur" }, {required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",}, {max: 64,message: "最多只能录入64个字符",trigger: "blur",},
], ],
positionId: [
{required: true,message: "请选择职位", trigger: "blur" }
],
companyIds: [
{required: true,message: "请选择所属企业", trigger: "blur" }
],
phoneNumber: [ phoneNumber: [
{required: true,message: "请输入联系电话", trigger: "blur" }, {required: true,message: "请输入联系电话", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",}, { validator: checkPhone,trigger: "blur" },
], {max: 11,message: "最多只能录入11个字符",trigger: "blur",},
companyIds: [
{required: true,message: "请输入所属公司", trigger: "blur" },
{max: 128,message: "最多只能录入128个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
], ],
email: [
{ validator: checkEmail,trigger: "blur" }
],
} }
}; };
}, },
......
...@@ -76,12 +76,12 @@ ...@@ -76,12 +76,12 @@
{label: "联系电话", prop: "phoneNumber"}, {label: "联系电话", prop: "phoneNumber"},
{label: "邮件地址", prop: "Email"}, {label: "邮件地址", prop: "email"},
{label: "所属公司", prop: "companyId",formatter: this.formatters}, {label: "所属公司", prop: "companyIds",formatter: this.formatters},
{label: "职位", prop: "positionName"}, {label: "职位", prop: "positionId",formatter:this.formatter},
{label: "发送名片次数", prop: "sendBusinessCardTimes"}, {label: "发送名片次数", prop: "sendBusinessCardTimes"},
{label: "累计查看次数", prop: "sumViews"}, {label: "累计查看次数", prop: "sumViews"},
......
...@@ -11,110 +11,110 @@ import com.mortals.framework.model.BaseEntityLong; ...@@ -11,110 +11,110 @@ import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.staff.model.vo.StaffVo; import com.mortals.xhx.module.staff.model.vo.StaffVo;
import lombok.Data; import lombok.Data;
/** /**
* 员工基本信息实体对象 * 员工基本信息实体对象
* *
* @author zxfei * @author zxfei
* @date 2023-09-18 * @date 2023-09-28
*/ */
@Data @Data
public class StaffEntity extends StaffVo { public class StaffEntity extends StaffVo {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 员工姓名 * 员工姓名
*/ */
private String name; private String name;
/** /**
* 性别(1.男,2.女) * 性别(1.男,2.女)
*/ */
private Integer gender; private Integer gender;
/** /**
* 出生日期 * 出生日期
*/ */
private Date birthday; private Date birthday;
/** /**
* 照片 * 照片
*/ */
private String photoPath; private String photoPath;
/** /**
* 邮件地址 * 联系电话
*/ */
private String Email;
/**
* 联系电话
*/
private String phoneNumber; private String phoneNumber;
/** /**
* 身份证号码 * 身份证号码
*/ */
private String idCard; private String idCard;
/** /**
* 工号 * 工号
*/ */
private String workNum; private String workNum;
/** /**
* 所属公司 * 所属公司
*/ */
private String companyIds; private String companyIds;
/** /**
* 所属公司名称 * 所属公司名称
*/ */
private String companyName; private String companyName;
/** /**
* 职位ID * 职位ID
*/ */
private Long positionId; private Long positionId;
/** /**
* 职位名称 * 职位名称
*/ */
private String positionName; private String positionName;
/** /**
* 员工类型(1.全职,2.兼职,3.实习) * 员工类型(1.全职,2.兼职,3.实习)
*/ */
private Integer staffType; private Integer staffType;
/** /**
* 员工状态(1.正式,2.试用,3.离职) * 员工状态(1.正式,2.试用,3.离职)
*/ */
private Integer staffStatus; private Integer staffStatus;
/** /**
* 员工来源(1.企业内部,2.外部人员) * 员工来源(1.企业内部,2.外部人员)
*/ */
private Integer source; private Integer source;
/** /**
* 入职登记表 * 入职登记表
*/ */
private String registerPath; private String registerPath;
/** /**
* 入职时间 * 入职时间
*/ */
private Date entryDate; private Date entryDate;
/** /**
* 转正时间 * 转正时间
*/ */
private Date regularDate; private Date regularDate;
/** /**
* 离职时间 * 离职时间
*/ */
private Date leaveDate; private Date leaveDate;
/** /**
* 备注 * 备注
*/ */
private String remark; private String remark;
/** /**
* 累计查看次数 * 累计查看次数
*/ */
private Integer sumViews; private Integer sumViews;
/** /**
* 当日查看次数 * 当日查看次数
*/ */
private Integer viewsByDay; private Integer viewsByDay;
/** /**
* 发送名片次数 * 发送名片次数
*/ */
private Integer sendBusinessCardTimes; private Integer sendBusinessCardTimes;
/**
* 邮件地址
*/
private String email;
@Override @Override
public int hashCode() { public int hashCode() {
return this.getId().hashCode(); return this.getId().hashCode();
} }
@Override @Override
public boolean equals(Object obj) { public boolean equals(Object obj) {
...@@ -122,35 +122,35 @@ public class StaffEntity extends StaffVo { ...@@ -122,35 +122,35 @@ public class StaffEntity extends StaffVo {
if (obj instanceof StaffEntity) { if (obj instanceof StaffEntity) {
StaffEntity tmp = (StaffEntity) obj; StaffEntity tmp = (StaffEntity) obj;
if (this.getId() == tmp.getId()) { if (this.getId() == tmp.getId()) {
return true; return true;
} }
} }
return false; return false;
} }
public void initAttrValue(){ public void initAttrValue(){
this.name = ""; this.name = "";
this.gender = 1; this.gender = 1;
this.birthday = new Date(); this.birthday = new Date();
this.photoPath = ""; this.photoPath = "";
this.Email = ""; this.phoneNumber = "";
this.phoneNumber = ""; this.idCard = "";
this.idCard = ""; this.workNum = "";
this.workNum = ""; this.companyIds = null;
this.companyIds = null; this.companyName = "";
this.companyName = ""; this.positionId = null;
this.positionId = null; this.positionName = "";
this.positionName = ""; this.staffType = 1;
this.staffType = 1; this.staffStatus = 1;
this.staffStatus = 1; this.source = 1;
this.source = 1; this.registerPath = "";
this.registerPath = ""; this.entryDate = new Date();
this.entryDate = new Date(); this.regularDate = new Date();
this.regularDate = new Date(); this.leaveDate = new Date();
this.leaveDate = new Date(); this.remark = "";
this.remark = ""; this.sumViews = 0;
this.sumViews = 0; this.viewsByDay = 0;
this.viewsByDay = 0; this.sendBusinessCardTimes = 0;
this.sendBusinessCardTimes = 0; this.email = "";
} }
} }
\ No newline at end of file
...@@ -93,7 +93,7 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ ...@@ -93,7 +93,7 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
} }
if(!ObjectUtils.isEmpty(entity.getPositionId())){ if(!ObjectUtils.isEmpty(entity.getPositionId())){
PositionEntity positionEntity = positionService.get(entity.getPositionId(), getContext()); PositionEntity positionEntity = positionService.get(entity.getPositionId(), getContext());
entity.setCompanyName(positionEntity.getPositionName()); entity.setPositionName(positionEntity.getPositionName());
} }
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment