Commit 043bd71c authored by 赵啸非's avatar 赵啸非

修改员工属性

parent 3ada4bf7
...@@ -328,14 +328,11 @@ ...@@ -328,14 +328,11 @@
// 渲染前置处理 // 渲染前置处理
beforeRender(data) { beforeRender(data) {
if(data.entity.companyLabelsList) { if(data.entity.companyLabelsList) {
data.entity.companyLabelsList.forEach(item => { data.entity.companyLabelsList.forEach(item => {
//如果相等做操作 //如果相等做操作
item['labelId'] = item[ 'labelId']+ ''; item['labelId'] = item[ 'labelId']+ '';
}) })
this.companyLabelsList = data.entity.companyLabelsList; this.companyLabelsList = data.entity.companyLabelsList;
} }
if(data.entity.companyPatentsList) { if(data.entity.companyPatentsList) {
......
...@@ -39,6 +39,12 @@ ...@@ -39,6 +39,12 @@
return { return {
config: { config: {
search: [ search: [
{
name: "labelName",
type: "text",
label: "标签名称"
}
], ],
columns: [ columns: [
{type: "selection", width: 60}, {type: "selection", width: 60},
......
...@@ -8,11 +8,8 @@ ...@@ -8,11 +8,8 @@
size="50%"> size="50%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<Field label="分组id" prop="groupId" v-model="form.groupId" placeholder="请输入分组id"/>
<Field label="分组名称" prop="groupName" v-model="form.groupName" placeholder="请输入分组名称"/>
<Field label="职位编码" prop="positionCode" v-model="form.positionCode" placeholder="请输入职位编码"/>
<Field label="职位名称" prop="positionName" v-model="form.positionName" placeholder="请输入职位名称"/> <Field label="职位名称" prop="positionName" v-model="form.positionName" placeholder="请输入职位名称"/>
<Field label="节点类型" prop="type" v-model="form.type" type="select" :enumData="dict.type" placeholder="请选择节点类型"/> <Field label="职位编码" prop="positionCode" v-model="form.positionCode" placeholder="请输入职位编码"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> <Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row> </el-row>
......
...@@ -44,13 +44,11 @@ ...@@ -44,13 +44,11 @@
{type: "selection", width: 60}, {type: "selection", width: 60},
{type: "index",label: "序号",width: 50}, {type: "index",label: "序号",width: 50},
{label: "分组名称", prop: "groupName"},
{label: "职位编码", prop: "positionCode"},
{label: "职位名称", prop: "positionName"}, {label: "职位名称", prop: "positionName"},
{label: "节点类型", prop: "type",formatter: this.formatter}, {label: "职位编码", prop: "positionCode"},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
......
...@@ -8,29 +8,14 @@ ...@@ -8,29 +8,14 @@
size="50%"> size="50%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row> <el-row>
<Field label="员工姓名" prop="name" v-model="form.name" placeholder="请输入员工姓名"/> <Field :span="20" label="员工姓名" prop="name" v-model="form.name" placeholder="请输入员工姓名"/>
<Field label="性别" prop="gender" v-model="form.gender" type="select" :enumData="dict.gender" placeholder="请选择性别"/> <Field label="所属公司" prop="companyIds" v-model="form.companyIds" :multiple="true" type="select" :enum-data="dict.companyId" placeholder="请输入所属公司"/>
<Field label="出生日期" prop="birthday" v-model="form.birthday" type="date" /> <Field label="职位" prop="positionId" v-model="form.positionId" type="select" placeholder="请输入职位ID"/>
<Field label="照片" prop="photoPath" v-model="form.photoPath" type="textarea" placeholder="请输入照片"/>
<Field label="邮件地址" prop="Email" v-model="form.Email" placeholder="请输入邮件地址"/>
<Field label="联系电话" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入联系电话"/> <Field label="联系电话" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入联系电话"/>
<Field label="身份证号码" prop="idCard" v-model="form.idCard" placeholder="请输入身份证号码"/> <Field label="头像" prop="photoPath" placeholder="请输入照片"><imageUpload v-model="form.photoPath" prePath="/file/preview"/> </Field>
<Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/> <Field label="邮件地址" prop="Email" v-model="form.Email" placeholder="请输入邮件地址"/>
<Field label="所属公司" prop="companyIds" v-model="form.companyIds" placeholder="请输入所属公司"/>
<Field label="所属公司名称" prop="companyName" v-model="form.companyName" placeholder="请输入所属公司名称"/>
<Field label="职位ID" prop="positionId" v-model="form.positionId" placeholder="请输入职位ID"/>
<Field label="职位名称" prop="positionName" v-model="form.positionName" placeholder="请输入职位名称"/>
<Field label="员工类型" prop="staffType" v-model="form.staffType" type="select" :enumData="dict.staffType" placeholder="请选择员工类型"/>
<Field label="员工状态" prop="staffStatus" v-model="form.staffStatus" type="select" :enumData="dict.staffStatus" placeholder="请选择员工状态"/>
<Field label="员工来源" prop="source" v-model="form.source" type="select" :enumData="dict.source" placeholder="请选择员工来源"/>
<Field label="入职登记表" prop="registerPath" v-model="form.registerPath" type="textarea" placeholder="请输入入职登记表"/>
<Field label="入职时间" prop="entryDate" v-model="form.entryDate" type="date" />
<Field label="转正时间" prop="regularDate" v-model="form.regularDate" type="date" />
<Field label="离职时间" prop="leaveDate" v-model="form.leaveDate" type="date" />
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> <Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field label="累计查看次数" prop="sumViews" v-model="form.sumViews" placeholder="请输入累计查看次数"/>
<Field label="当日查看次数" prop="viewsByDay" v-model="form.viewsByDay" placeholder="请输入当日查看次数"/>
<Field label="发送名片次数" prop="sendBusinessCardTimes" v-model="form.sendBusinessCardTimes" placeholder="请输入发送名片次数"/>
</el-row> </el-row>
...@@ -66,6 +51,8 @@ ...@@ -66,6 +51,8 @@
"staffStatus", "staffStatus",
"source", "source",
], ],
toArrays:["companyIds"],
toDate:[ toDate:[
"birthday", "birthday",
"entryDate", "entryDate",
...@@ -129,6 +116,13 @@ ...@@ -129,6 +116,13 @@
this.open = true; this.open = true;
}, },
beforeSubmit(data) {
data.companyIds=data.companyIds.join(",")
return data
},
afterSubmit(data) { afterSubmit(data) {
this.open = false; this.open = false;
this.$emit("ok"); this.$emit("ok");
......
...@@ -39,36 +39,52 @@ ...@@ -39,36 +39,52 @@
return { return {
config: { config: {
search: [ search: [
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "name"},
{label: "性别", prop: "gender",formatter: this.formatter}, {
name: "companyId",
type: "select",
label: "所属企业"
},
{label: "照片", prop: "photoPath"}, {
name: "name",
type: "text",
label: "员工姓名"
},
{label: "邮件地址", prop: "Email"},
{label: "联系电话", prop: "phoneNumber"}, ],
columns: [
{type: "index",label: "序号",width: 50},
{label: "职位名称", prop: "positionName"}, {label: "员工姓名", prop: "name"},
{label: "员工类型", prop: "staffType",formatter: this.formatter}, {label: "头像", prop: "photoPath",formatter: (row) => {
return row.photoPath != "" ? (
<el-image
style="width: 70px; height: 70px"
src={row.photoPath}
preview-src-list={[row.photoPath]}
></el-image>
) : (
"--"
);
},},
{label: "员工状态", prop: "staffStatus",formatter: this.formatter}, {label: "联系电话", prop: "phoneNumber"},
{label: "员工来源", prop: "source",formatter: this.formatter}, {label: "邮件地址", prop: "Email"},
{label: "入职时间", prop: "entryDate", formatter: this.formatterDate}, {label: "所属公司", prop: "companyId",formatter: this.formatters},
{label: "转正时间", prop: "regularDate", formatter: this.formatterDate},
{label: "离职时间", prop: "leaveDate", formatter: this.formatterDate}, {label: "职位", prop: "positionName"},
{label: "发送名片次数", prop: "sendBusinessCardTimes"},
{label: "累计查看次数", prop: "sumViews"},
{label: "创建用户", prop: "createUserId", formatter: this.formatter}, {label: "最近更新时间", prop: "updateTime", formatter: this.formatterDate},
{label: "更新人员", prop: "updateUserId", formatter: this.formatter},
{ {
label: "操作", label: "操作",
width: 240, width: 240,
......
package com.mortals.xhx.module.staff.web; package com.mortals.xhx.module.staff.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.module.company.model.CompanyQuery;
import com.mortals.xhx.module.company.service.CompanyService;
import com.mortals.xhx.module.position.model.PositionQuery;
import com.mortals.xhx.module.position.service.PositionService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.staff.model.StaffEntity; import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.service.StaffService; import com.mortals.xhx.module.staff.service.StaffService;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Arrays; import java.util.Arrays;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
/** /**
* * 员工基本信息
* 员工基本信息 *
* * @author zxfei
* @author zxfei * @date 2023-09-18
* @date 2023-09-18 */
*/
@RestController @RestController
@RequestMapping("staff") @RequestMapping("staff")
public class StaffController extends BaseCRUDJsonBodyMappingController<StaffService,StaffEntity,Long> { public class StaffController extends BaseCRUDJsonBodyMappingController<StaffService, StaffEntity, Long> {
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
@Autowired
private CompanyService companyService;
@Autowired
private PositionService positionService;
public StaffController(){
super.setModuleDesc( "员工基本信息"); public StaffController() {
super.setModuleDesc("员工基本信息");
} }
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "gender", paramService.getParamBySecondOrganize("Staff","gender")); this.addDict(model, "gender", paramService.getParamBySecondOrganize("Staff", "gender"));
this.addDict(model, "staffType", paramService.getParamBySecondOrganize("Staff","staffType")); this.addDict(model, "staffType", paramService.getParamBySecondOrganize("Staff", "staffType"));
this.addDict(model, "staffStatus", paramService.getParamBySecondOrganize("Staff","staffStatus")); this.addDict(model, "staffStatus", paramService.getParamBySecondOrganize("Staff", "staffStatus"));
this.addDict(model, "source", paramService.getParamBySecondOrganize("Staff","source")); this.addDict(model, "source", paramService.getParamBySecondOrganize("Staff", "source"));
this.addDict(model, "companyId", companyService.find(new CompanyQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getCompanyName(), (o, n) -> n)));
this.addDict(model, "positionId", positionService.find(new PositionQuery()).stream().collect(Collectors.toMap(x -> x.getId().toString(), y -> y.getPositionName(), (o, n) -> n)));
super.init(model, context); super.init(model, context);
} }
......
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