<template> <!-- 弹出框表单 --> <el-dialog :title="title" :visible.sync="open" width="90%" append-to-body> <el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-row> <Field 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="birthday" v-model="form.birthday" type="date" /> <Field label="照片" prop="photoPath" v-model="form.photoPath" type="textarea" placeholder="请输入照片"/> <Field label="联系电话" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入联系电话"/> <Field label="身份证号码" prop="idCard" v-model="form.idCard" placeholder="请输入身份证号码"/> <Field label="工号" prop="workNum" v-model="form.workNum" placeholder="请输入工号"/> <Field label="政治面貌 " prop="politicalstatus" v-model="form.politicalstatus" type="select" :enumData="dict.politicalstatus" placeholder="请选择政治面貌 "/> <Field label="所属部门" prop="deptId" v-model="form.deptId" placeholder="请输入所属部门"/> <Field label="所属部门名称" prop="deptName" v-model="form.deptName" 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="status" v-model="form.status" type="select" :enumData="dict.status" 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="请输入备注"/> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" v-if="pageInfo.type !== 'view'" @click="submitForm">确 定</el-button> <el-button @click="cancel">取 消</el-button> </div> </el-dialog> </template> <script> import form from "@/assets/mixins/formdialog"; import dialogShow from "./dialogshow"; export default { mixins: [form], components: { dialogShow , }, data() { return { // 遮罩层 loading: true, // 弹出层标题 title: "员工基本信息", // 是否显示弹出层 open: false, toString:[ "gender", "politicalstatus", "staffType", "status", ], // 表单校验 rules: { name: [ {required: true,message: "请输入员工姓名", trigger: "blur" }, {max: 64,message: "最多只能录入64个字符",trigger: "blur",}, ], createTime: [ {required: true,message: "请选择创建时间" }, ], } }; }, methods: { /** 编辑 */ edit(row) { this.reset() this.query = { id: row.id }; this.urls.currUrl ="staff/edit"; this.getData(); this.pageInfo.type="edit" this.title = "修改员工基本信息"; }, /** 新增 */ add(row) { this.reset() this.urls.currUrl = "staff/add"; this.getData(); this.pageInfo.type="add" this.title = "新增员工基本信息"; }, /** 查看*/ view(row) { this.reset() this.query = { id: row.id }; this.urls.currUrl ="staff/view"; this.getData(); this.pageInfo.type="view" this.title = "员工基本信息详细"; }, /**取消按钮 */ cancel() { this.open = false; }, /**获取数据后弹框 */ afterRender(data) { this.open = true; }, afterSubmit(data) { this.open = false; this.$emit("ok"); }, // 表单重置 reset() { this.form = { name : "", gender : 1, birthday : null, photoPath : "", phoneNumber : "", idCard : "", workNum : "", politicalstatus : 1, deptId : null, deptName : "", positionId : null, positionName : "", staffType : 1, status : 1, registerPath : "", entryDate : null, regularDate : null, leaveDate : null, remark : "", }; this.resetForm("form"); }, resetForm(refName) { if (this.$refs[refName]) { this.$refs[refName].resetFields(); } }, }, }; </script>