You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

292 lines
9.9 KiB
Vue

<template>
<!-- 离职 -->
<div class="displsy-mod">
<div style="display: flex;">
<div style="height:42px;widht:1px"></div>
<!-- <div class="soc">
<input type="primary" v-model="input" placeholder="搜索" />
</div> -->
</div>
<hr />
<el-table :data="tableData" stripe style="width: 100%" :header-cell-style="{background: 'linear-gradient(#6cb3ff, #1873d4)',color:'#eeeeee'}">
<el-table-column align="center" prop="brandNumber" label="水牌号" min-width="100" sortable></el-table-column>
<el-table-column align="center" prop="staffName" label="员工名称" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="sex" label="性别" sortable min-width="80"></el-table-column>
<el-table-column align="center" prop="mobilePhone" label="手机号码" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="joinedDate" label="入职日期" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="leaveDate" label="离职日期" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="job" label="工种" sortable min-width="80"></el-table-column>
<el-table-column align="center" prop="gradeName" label="APP权限" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="postName" label="职务" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="type" label="员工类型" sortable min-width="100">
<template slot-scope="scope">
{{scope.row.type==0?"高管":scope.row.type==1?"普工":"收银"}}
</template>
</el-table-column>
<el-table-column align="center" prop="source" label="员工来源" sortable min-width="100">
<template slot-scope="scope">
{{scope.row.source==0?"校招":scope.row.source==1?"社招":scope.row.source==2?"介绍":"其他"}}
</template>
</el-table-column>
<el-table-column align="center" prop="identityCard" label="身份证号" sortable min-width="180"></el-table-column>
<el-table-column align="center" prop="deptName" label="部门" sortable min-width="100">
<template slot-scope="scope">
{{scope.row.deptName==0?"美发部":scope.row.deptName==1?"美容部":scope.row.deptName==2?"其他部":"无"}}
</template>
</el-table-column>
<el-table-column align="center" prop="qq" label="QQ" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="wechat" label="微信" sortable min-width="120"></el-table-column>
<el-table-column align="center" prop="popularity" label="人气" sortable min-width="100"></el-table-column>
<!-- <el-table-column align="center" v-if='sessionStorageList.payroll!=1' prop="baseSalary" label="底薪" sortable min-width="190"></el-table-column> -->
<el-table-column align="center" prop="userState" label="是否用户" sortable min-width="100"></el-table-column>
<el-table-column align="center" prop="inputBy" label="操作人" sortable min-width="100"></el-table-column>
<el-table-column align="center" fixed="right" label="查看" width="76" v-role='4002006'>
<template slot-scope="scope">
<el-button @click="examine(scope.row)" size="mini" type="primary" plain>查看</el-button>
</template>
</el-table-column>
<el-table-column align="center" fixed="right" label="复职" width="76" v-role='4002006'>
<template slot-scope="scope">
<el-button @click="giveto(scope.row)" size="mini" type="primary">复职</el-button>
</template>
</el-table-column>
</el-table>
<div class="block" style="margin-top:15px;">
<el-pagination align="left" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pageNum" :page-sizes="[10,20,30,40,50]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="pageInfo.total"></el-pagination>
</div>
<edit ref="edit"></edit>
<editother ref="editother" @editData="leave"></editother>
</div>
</template>
<script>
import { Form } from 'element-ui';
import {
staffPage,
reinstated,
selectOne,
rolepage,
} from "../../../../api/storeManage";
import Bus from "../Bus.js";
import edit from "./edit";
import editother from "./editother.vue";
export default {
props: ["notList"],
components: { edit,editother },
data() {
return {
dialogFormVisible: false, //弹窗开关
sessionStorageList: null, //门店参数合集
input: "",
pageSize: 10,
pageNum: 1,
pageInfo: {
total: 0, //分页总条数
tableList: [],
},
queryFome:{
state: 0,
},
id: {},
dimission: {},
searchTrue: false,
};
},
methods: {
giveto(row){
var id = { id: row.id };
selectOne(id)
.then((res) => {
if ((res.code = "000000")) {
this.$refs.editother.show(row, "修改","复职");
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
})
.catch((err) => {
//console.log(err);
});
},
//查看
examine(row) {
var id = { id: row.id };
selectOne(id)
.then((res) => {
if ((res.code = "000000")) {
this.$refs.edit.show(row, "查看");
} else {
this.$alert(res.message, "提示", {
confirmButtonText: "确定",
confirmButtonClass: "confirmbtnFalses",
type: "warning",
center: true,
callback: (action) => {},
});
}
})
.catch((err) => {
//console.log(err);
});
},
//查看确定
confirm() {
this.pageInfo.tableList[this.examineIndex] = this.examineForm;
},
works() {
this.$router.push("/staffWorks");
},
//分页方法
handleSizeChange(val) {
// //console.log(`每页 ${val} 条`);
if (this.searchTrue == true) {
this.dimission.pageSize = val;
this.search();
} else {
this.pageSize = val;
this.leave();
}
},
handleCurrentChange(val) {
// //console.log(`当前页: ${val}`);
if (this.searchTrue == true) {
this.dimission.pageNum = val;
this.search();
} else {
this.pageNum = val;
this.leave();
}
},
leave() {
// var arr1 = {
// state: 0,
// pageNum: this.pageNum,
// pageSize: this.pageSize,
// };
staffPage({...this.queryFome,pageSize:this.pageSize,pageNum:this.pageNum})
.then((res) => {
var list = [];
res.pageInfo.list.forEach((item) => {
item = JSON.parse(
JSON.stringify(item).replace(/gradeName/g, "grade")
);
if (item.sex == 1) {
item.sex = "男";
} else if (item.sex == 0) {
item.sex = "女";
}
if (item.userState == 1) {
item.userState = "是";
} else if (item.userState == 0) {
item.userState = "否";
}
if (item.state == 0) {
item.state = "已离职";
}
list.push(item);
});
res.pageInfo.tableList = list;
this.pageInfo = res.pageInfo;
})
.catch((err) => {
//console.log(err);
});
},
search() {
this.searchTrue = this.dimission.searchTrue;
staffPage(this.dimission).then((res) => {
if (res.code == "000000") {
var list = [];
res.pageInfo.list.forEach((item) => {
if (item.sex == 1) {
item.sex = "男";
} else if (item.sex == 0) {
item.sex = "女";
}
if (item.userState == 1) {
item.userState = "是";
} else if (item.userState == 0) {
item.userState = "否";
}
if (item.state == 0) {
item.state = "已离职";
}
list.push(item);
});
res.pageInfo.tableList = list;
this.pageInfo = res.pageInfo;
if (this.dimission.searchTrue == false) {
this.$message.success({ message: "已刷新最新数据" });
} else {
if (res.pageInfo.total == 0) {
this.$message.warning({ message: "没有找到符合条件的员工信息" });
}
}
}
});
},
},
created() {
// Bus.$on("dimission", (val) => {
// //取 Bus.$on
// this.dimission = {};
// this.dimission = val;
// this.search();
// });
this.sessionStorageList = JSON.parse(
sessionStorage.getItem("sessionStorageData")
);
let list = JSON.parse(sessionStorage.getItem("list"));
list.forEach((item) => {
if (item.id == 4002001) {
this.leave();
}
});
},
mounted() {
// this.$nextTick(function () {
// this.$on("dimission", function () {
// this.leave();
// });
// });
},
computed: {
//表名列表中搜索
tableData() {
var search = this.input.toString().toLowerCase(); //将用户输入的值变字符串并小写
if (search) {
return this.pageInfo.tableList.filter(function (dataNews) {
return Object.keys(dataNews).some(function (key) {
return String(dataNews[key]).toLowerCase().indexOf(search) > -1;
});
});
}
return this.pageInfo.tableList;
},
},
};
</script>
<style scoped>
.el-button {
margin-bottom: 10px;
}
.el-input {
width: 200px;
}
.examineForm {
display: flex;
justify-content: flex-start;
}
.examineForm .el-form-item {
height: 30px;
}
</style>