员工修改
parent
21f66198a6
commit
79a7898819
@ -0,0 +1,349 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog :close-on-click-modal="false" :title="title+'员工'" :visible.sync="dialogFormVisible" width="70vw" v-dialogDrag :before-close="handleClose">
|
||||||
|
<el-form :model="form" :rules="title=='明细'?rule:rules" inline ref="form" class="max-height-60 " label-width="100px">
|
||||||
|
<el-form-item label="员工编码" prop="staffNum">
|
||||||
|
<div class="form-width">
|
||||||
|
<el-input :disabled="title=='修改'" placeholder="请输入员工编码" oninput="this.value=this.value.replace(/[^\w_]/g,'');" v-model="form.staffNum" autocomplete="on"></el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="水牌号" prop="brandNumber">
|
||||||
|
<div class="form-width">
|
||||||
|
<el-input type="number" :disabled="title=='查看'" placeholder="请输入水牌号" ref="brandNumber" v-model="form.brandNumber" autocomplete="on"></el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="员工名称" prop="staffName">
|
||||||
|
<div class="form-width">
|
||||||
|
<el-input :disabled="title=='修改'" placeholder="请输入员工名称" oninput="value=value.replace(/[\d]/g,'')" v-model="form.staffName" autocomplete="on"></el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="手机号码" prop="mobilePhone">
|
||||||
|
<div class="form-width">
|
||||||
|
<el-input :disabled="title=='修改'" placeholder="请输入手机号" oninput="this.value=this.value.replace(/\D/g,'')" pattern="[0-9]*" v-model="form.mobilePhone" autocomplete="on" :maxlength="11" show-word-limit></el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
|
||||||
|
<el-form-item label="工种">
|
||||||
|
<el-select :disabled="title=='修改'" v-model="form.wordTypeName" placeholder="请选择" @change="jobchange">
|
||||||
|
<el-option v-for="item in jobList" :key="item.id" :label="item.wordTypeName" :value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="部门">
|
||||||
|
<el-select :disabled="title=='修改'" v-model="form.deptName" placeholder="请选择">
|
||||||
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="员工类型" prop="type">
|
||||||
|
<el-radio-group :disabled="title=='修改'" v-model="form.type">
|
||||||
|
<el-radio :label="0">高管</el-radio>
|
||||||
|
<el-radio :label="1">普工</el-radio>
|
||||||
|
<el-radio :label="2">收银</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label=" ">
|
||||||
|
<div>
|
||||||
|
<el-button size="mini" type="primary" plain @click="handleClose">取 消</el-button>
|
||||||
|
<el-button size="mini" v-if="title!='查看'" type="primary" @click="confirm()">确 定</el-button>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
addStaff,
|
||||||
|
rolePage,
|
||||||
|
editStaff,
|
||||||
|
pageBasePost,
|
||||||
|
pageBaseWorkType,
|
||||||
|
reinstated,
|
||||||
|
staffStart
|
||||||
|
} from "@/api/storeManage.js";
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogFormVisible: false, //弹窗开关
|
||||||
|
title: "", //弹窗标题
|
||||||
|
form: {}, //主对象
|
||||||
|
sessionStorageData: JSON.parse(
|
||||||
|
sessionStorage.getItem("sessionStorageData")
|
||||||
|
), //门店参数合集
|
||||||
|
options: [
|
||||||
|
//部门下拉选项
|
||||||
|
{ value: 0, label: "美发部" },
|
||||||
|
{ value: 1, label: "美容部" },
|
||||||
|
{ value: 2, label: "其他部" },
|
||||||
|
],
|
||||||
|
jobList: [],
|
||||||
|
rule: {},
|
||||||
|
rules: {
|
||||||
|
staffName: {
|
||||||
|
required: true,
|
||||||
|
message: "请输入员工名字",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
brandNumber: {
|
||||||
|
required: true,
|
||||||
|
message: "请输入员工水牌号",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
sex: {
|
||||||
|
required: true,
|
||||||
|
message: "请选择员工性别",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
// mobilePhone: [
|
||||||
|
// {
|
||||||
|
// required: true,
|
||||||
|
// message: "请输入手机号",
|
||||||
|
// trigger: ["blur", "change"],
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// max: 11,
|
||||||
|
// message: "请输入11位手机号",
|
||||||
|
// trigger: ["blur", "change"],
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
// identityCard: [
|
||||||
|
// {
|
||||||
|
// required: true,
|
||||||
|
// message: "请输入身份证号",
|
||||||
|
// trigger: ["blur", "change"],
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// max: 18,
|
||||||
|
// message: "请输入18位身份证号",
|
||||||
|
// trigger: ["blur", "change"],
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
type: {
|
||||||
|
required: true,
|
||||||
|
message: "请选择员工类型!",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
roleName: {
|
||||||
|
required: true,
|
||||||
|
message: "请分配角色!",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
joinedDate: {
|
||||||
|
required: true,
|
||||||
|
message: "请选择入职日期",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
grade: [
|
||||||
|
{
|
||||||
|
label: "店长",
|
||||||
|
value: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "美发经理",
|
||||||
|
value: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "美容经理",
|
||||||
|
value: 3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "总监",
|
||||||
|
value: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "美发师",
|
||||||
|
value: 5,
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
label: "1级美发师",
|
||||||
|
value: 51,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "2级美发师",
|
||||||
|
value: 52,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "3级美发师",
|
||||||
|
value: 53,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "4级美发师",
|
||||||
|
value: 54,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "5级美发师",
|
||||||
|
value: 55,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "6级美发师",
|
||||||
|
value: 56,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "7级美发师",
|
||||||
|
value: 57,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "8级美发师",
|
||||||
|
value: 58,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "9级美发师",
|
||||||
|
value: 59,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "员工",
|
||||||
|
value: 6,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
job: [
|
||||||
|
{
|
||||||
|
label: "美发师",
|
||||||
|
value: 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "技师",
|
||||||
|
value: 2,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "助理",
|
||||||
|
value: 3,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "收银员",
|
||||||
|
value: 4,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "美容师",
|
||||||
|
value: 5,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
headOffice: sessionStorage.getItem("headOffice") * 1, //是否总店
|
||||||
|
rowForm: {}, //修改表单前备份表单
|
||||||
|
roleLists: [], //角色列表
|
||||||
|
gradeList: [], //职务列表
|
||||||
|
type:''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
//关闭弹窗前的回调方法
|
||||||
|
handleClose() {
|
||||||
|
this.form = {};
|
||||||
|
this.dialogFormVisible = false;
|
||||||
|
this.$refs.form.clearValidate();
|
||||||
|
},
|
||||||
|
//组件传值
|
||||||
|
show(row, title,type) {
|
||||||
|
this.type=type
|
||||||
|
if (row == "添加") {
|
||||||
|
this.title = row;
|
||||||
|
this.form = { type: 1, deptName: 0 };
|
||||||
|
} else {
|
||||||
|
this.title = "修改";
|
||||||
|
this.form = { ...row };
|
||||||
|
this.rowForm = { ...row };
|
||||||
|
if (this.form.row == 1) {
|
||||||
|
this.form.row = true;
|
||||||
|
} else {
|
||||||
|
this.form.row = false;
|
||||||
|
}
|
||||||
|
if (this.form.userState == 1) {
|
||||||
|
this.form.userState = true;
|
||||||
|
} else {
|
||||||
|
this.form.userState = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
this.dialogFormVisible = true;
|
||||||
|
this.getData();
|
||||||
|
},
|
||||||
|
//获取数据
|
||||||
|
async getData() {
|
||||||
|
var arr = {
|
||||||
|
state: 1,
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 1000,
|
||||||
|
industry: JSON.parse(sessionStorage.getItem("storeInfo")).industry,
|
||||||
|
};
|
||||||
|
rolePage(arr).then((res) => {
|
||||||
|
this.roleLists = res.pageInfo.list;
|
||||||
|
});
|
||||||
|
pageBasePost({ pageSize: 999 }).then((res) => {
|
||||||
|
res.pageInfo.list.forEach((item) => {
|
||||||
|
item.value = item.postNum;
|
||||||
|
item.label = item.postName;
|
||||||
|
});
|
||||||
|
this.gradeList = res.pageInfo.list;
|
||||||
|
});
|
||||||
|
pageBaseWorkType({}).then((res) => {
|
||||||
|
res.data.forEach((item) => {
|
||||||
|
item.value = item.wordTypeNum;
|
||||||
|
item.label = item.wordTypeName;
|
||||||
|
});
|
||||||
|
this.jobList = res.data;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//确定返回方法
|
||||||
|
confirm() {
|
||||||
|
if(this.type=="复职"){
|
||||||
|
reinstated({
|
||||||
|
id: this.rowForm.id,
|
||||||
|
mobilePhone: this.rowForm.mobilePhone,
|
||||||
|
brandNumber:this.form.brandNumber,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
//console.log(res);
|
||||||
|
if (res.code == "000000") {
|
||||||
|
this.$message.success({
|
||||||
|
message: "已经将该员工复职!",
|
||||||
|
});
|
||||||
|
this.$emit("editData");
|
||||||
|
this.dialogFormVisible = false;
|
||||||
|
} else {
|
||||||
|
this.$alert(res.message, "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
confirmButtonClass: "confirmbtnFalses",
|
||||||
|
type: "warning",
|
||||||
|
center: true,
|
||||||
|
callback: (action) => {},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error(err);
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
staffStart({ id: this.rowForm.id, mobilePhone: this.rowForm.mobilePhone,brandNumber:this.form.brandNumber }).then(
|
||||||
|
(res) => {
|
||||||
|
console.log(res);
|
||||||
|
if (res.code == "000000") {
|
||||||
|
this.$message.success({
|
||||||
|
message: "已经将该员工账户重新启用!",
|
||||||
|
});
|
||||||
|
this.$emit("editData");
|
||||||
|
this.dialogFormVisible = false;
|
||||||
|
} else {
|
||||||
|
this.$alert(res.message, "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
confirmButtonClass: "confirmbtnFalses",
|
||||||
|
type: "warning",
|
||||||
|
center: true,
|
||||||
|
callback: (action) => {},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue