Commit b5d3f8ba authored by 姬鋆屾's avatar 姬鋆屾

推添加表格动态设置展示列

parent 73f0498f
...@@ -87,7 +87,6 @@ export default { ...@@ -87,7 +87,6 @@ export default {
return; return;
} }
this.tableData.loading = true; this.tableData.loading = true;
console.log(this.query);
this.$post(this.pageInfo.list, this.query, { this.$post(this.pageInfo.list, this.query, {
cancelToken: this.source.token, cancelToken: this.source.token,
}) })
......
<template>
<el-table
size="small"
:data="tableData"
:row-key="handleRowKeyMethod"
:span-method="handleSpanMethod"
:toggleRowSelection="toggleRowSelection"
@selection-change="handleSelectionChange"
@sort-change="handleSortChange"
@row-click="handleRowClick"
@cell-click="handleCellClick"
:row-class-name="tableRowClassName"
:empty-text="emptytxt ? emptytxt : emptyText"
border
style="width: 100%"
>
<template v-for="column in columns">
<el-table-column
v-if="column.show"
:key="column.prop"
:type="column.type"
:index="handleIndexMethod"
:selectable="handleSelectableMethod"
:prop="column.prop"
:label="column.label"
:width="column.width"
:sortable="column.sortable"
:show-overflow-tooltip="column.tooltip"
:align="column.align || 'left'"
:formatter="column.formatter"
:reserve-selection="column.reserveSelection"
:subColumns="column.subColumns"
:fixed="column.fixed"
>
<el-table-column
v-for="sunColumn in column.subColumns"
:key="sunColumn.prop"
:type="sunColumn.type"
:prop="sunColumn.prop"
:label="sunColumn.label"
:width="sunColumn.width"
:sortable="sunColumn.sortable"
:align="sunColumn.align || 'left'"
:formatter="sunColumn.formatter"
/>
</el-table-column>
</template>
</el-table>
</template>
<script>
export default {
props: {
handleRowKeyMethod: {
type: Function,
required: false,
default: (row) => {
return row.id;
},
},
handleSelectableMethod: {
type: Function,
required: false,
default: () => {},
},
handleIndexMethod: {
type: Function,
required: false,
default: () => {},
},
handleSpanMethod: {
type: Function,
required: false,
default: () => {},
},
handleSelectionChange: {
type: Function,
required: false,
default: () => {},
},
handleRowClick: {
type: Function,
required: false,
default: () => {},
},
handleCellClick: {
type: Function,
required: false,
default: () => {},
},
handleSortChange: {
type: Function,
required: false,
default: () => {},
},
tableRowClassName: {
type: Function,
required: false,
default: () => {},
},
loading: {
type: Boolean,
required: false,
default: true,
},
tableData: {
type: Array,
required: false,
default: () => [],
},
columns: {
type: Array,
required: false,
default: () => [],
},
},
computed: {
emptyText() {
return !this.loading && !this.tableData.length ? "暂无数据" : "加载中...";
},
},
mounted() {},
watch: {
tableData(val) {
val.length == 0 || val.length > 0
? (this.emptytxt = "暂无数据")
: (this.emptytxt = "加载中...");
// if (val.length > 0) {
// val.forEach((v) => {
// for (let key in v) {
// v[key] ? "" : (v[key] = "--");
// }
// });
// console.log(val);
// }
},
columns: {
deep: true,
handler(val) {
this.$forceUpdate(this.columns);
},
},
},
methods: {},
data() {
return {
emptytxt: "",
};
},
};
</script>
...@@ -184,6 +184,20 @@ ...@@ -184,6 +184,20 @@
:handleRowClick="config.methods.handleRowClick" :handleRowClick="config.methods.handleRowClick"
:handleCellClick="config.methods.handleCellClick" :handleCellClick="config.methods.handleCellClick"
/> />
<DataTableSelect
v-if="showType == 'tableSelect'"
:tableData="data.data"
:columns="config.columns"
:loading="data.loading"
:tableRowClassName="config.methods.tableRowClassName"
:handleSpanMethod="config.methods.handleSpanMethod"
:handleSortChange="config.methods.handleSortChange"
:handleIndexMethod="config.methods.handleIndexMethod"
:handleSelectableMethod="config.methods.handleSelectableMethod"
:handleSelectionChange="config.methods.handleSelectionChange"
:handleRowClick="config.methods.handleRowClick"
:handleCellClick="config.methods.handleCellClick"
/>
<DataTableFlow <DataTableFlow
v-if="showType == 'tableFlow'" v-if="showType == 'tableFlow'"
...@@ -232,8 +246,9 @@ import Pagination from "@/components/Pagination.vue"; ...@@ -232,8 +246,9 @@ import Pagination from "@/components/Pagination.vue";
import SearchForm from "@/components/SearchForm.vue"; import SearchForm from "@/components/SearchForm.vue";
import Confirm from "@/components/Confirm.vue"; import Confirm from "@/components/Confirm.vue";
import DataTable from "@/components/DataTable.vue"; import DataTable from "@/components/DataTable.vue";
import DataTableSelect from "@/components/DataTableSelect.vue";
import DataTableMobile from "./DataTableMobile.js"; import DataTableMobile from "./DataTableMobile.js";
import DataTableFlow from "./DataTableFlow.vue"; import DataTableFlow from "@/components/DataTableFlow.vue";
import DataTreeTable from "@/components/DataTreeTable.vue"; import DataTreeTable from "@/components/DataTreeTable.vue";
import TabPane from "@/components/tabPane.vue"; import TabPane from "@/components/tabPane.vue";
export default { export default {
...@@ -257,10 +272,10 @@ export default { ...@@ -257,10 +272,10 @@ export default {
DataTableMobile, DataTableMobile,
DataTableFlow, DataTableFlow,
DataTreeTable, DataTreeTable,
DataTableSelect,
TabPane, TabPane,
}, },
mounted() {
},
methods: { methods: {
// 根据url的query参数判断是否展示查询条件 // 根据url的query参数判断是否展示查询条件
isShowSearch(query) { isShowSearch(query) {
......
...@@ -36,7 +36,13 @@ ...@@ -36,7 +36,13 @@
</div> </div>
</div> </div>
</div> --> </div> -->
<LayoutTable :data="tableData" :config="tableConfig" notDel notAdd> <LayoutTable
:data="tableData"
:config="tableConfig"
notDel
notAdd
ref="layoutTable"
>
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px" style="margin-left: 10px"
...@@ -69,9 +75,17 @@ ...@@ -69,9 +75,17 @@
style="margin-left: 10px" style="margin-left: 10px"
icon="el-icon-tickets" icon="el-icon-tickets"
size="mini" size="mini"
@click="setdialog" @click="setdialog(2)"
>表格设置</el-button >表格设置</el-button
> >
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="setdialog(1)"
>导出表格设置</el-button
>
</LayoutTable> </LayoutTable>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
<!-- 导出记录查看 --> <!-- 导出记录查看 -->
...@@ -118,7 +132,7 @@ ...@@ -118,7 +132,7 @@
</div> </div>
</div> </div>
</el-drawer> </el-drawer>
<!-- 表格设置 --> <!-- 导出表格设置 -->
<el-dialog :visible.sync="isdialog" title="导出表格设置"> <el-dialog :visible.sync="isdialog" title="导出表格设置">
<div class="tipsword"> <div class="tipsword">
请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。 请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。
...@@ -133,8 +147,27 @@ ...@@ -133,8 +147,27 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<div class="mt20" style="text-align:right"> <div class="mt20" style="text-align:right">
<el-button @click="handleCancel">取消</el-button> <el-button @click="handleCancel(1)">取消</el-button>
<el-button type="primary" @click="handleSubmit">确定</el-button> <el-button type="primary" @click="handleSubmit(1)">确定</el-button>
</div>
</el-dialog>
<!-- 显示表格设置 -->
<el-dialog :visible.sync="setDialog" title="表格显示设置">
<div class="tipsword">
请选择表格展示字段,表格中的内容与选中的字段将保持一致。
</div>
<el-checkbox-group v-model="checkTableList">
<el-checkbox
v-for="(item, index) in setcolum"
:key="index"
:label="item.prop"
>
{{ item.label }}
</el-checkbox>
</el-checkbox-group>
<div class="mt20" style="text-align:right">
<el-button @click="handleCancel(2)">取消</el-button>
<el-button type="primary" @click="handleSubmit(2)">确定</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 上传 --> <!-- 上传 -->
...@@ -219,14 +252,33 @@ export default { ...@@ -219,14 +252,33 @@ export default {
}, },
methods: { methods: {
// 表格设置弹窗取消操作 // 表格设置弹窗取消操作
handleCancel() { handleCancel(i) {
if (i == 1) {
this.checkList = []; this.checkList = [];
this.isdialog = false; this.isdialog = false;
} else {
this.setDialog = false;
}
}, },
// 表格设置提交操作 // 表格设置提交操作
handleSubmit() { handleSubmit(i) {
if (i == 1) {
this.doExport(); this.doExport();
this.isdialog = false; this.isdialog = false;
} else {
this.config.columns.forEach((v) => {
v.prop && v.prop != "attendanceStaffStatEntities"
? (v.show = false)
: (v.show = true);
this.checkTableList.forEach((val) => {
if (v.prop == val) {
v.show = true;
}
});
});
this.$forceUpdate(this.config.columns);
this.setDialog = false;
}
}, },
// 表格接收数据后 // 表格接收数据后
afterRender(data) { afterRender(data) {
...@@ -249,6 +301,7 @@ export default { ...@@ -249,6 +301,7 @@ export default {
}; };
}); });
this.config.columns = [...this.initalArr, ...addobjArr]; this.config.columns = [...this.initalArr, ...addobjArr];
this.$refs.layoutTable.showType = "tableSelect";
this.$forceUpdate(); this.$forceUpdate();
}, },
// 表格接收数据前 // 表格接收数据前
...@@ -401,12 +454,24 @@ export default { ...@@ -401,12 +454,24 @@ export default {
} }
return false; return false;
}, },
setdialog() { setdialog(i) {
if (i == 1) {
this.isdialog = true; this.isdialog = true;
this.setcolum = this.config.columns.filter( this.setcolum = this.config.columns.filter(
(item) => item.label && item.prop (item) => item.label && item.prop
); );
console.log(this.setcolum); } else {
this.setDialog = true;
this.setcolum = this.config.columns.filter(
(item) => item.label && item.prop
);
this.checkTableList = this.config.columns.map((item) => {
if (item.show) {
return item.prop;
}
});
}
}, },
renderTable(tableData) { renderTable(tableData) {
return ( return (
...@@ -463,33 +528,38 @@ export default { ...@@ -463,33 +528,38 @@ export default {
}, },
/** 子表列元素 */ /** 子表列元素 */
columnSet: [ columnSet: [
{ prop: "shiftsName", label: "班次名称", width: 150 }, { prop: "shiftsName", label: "班次名称", width: 150, show: true },
{ {
prop: "goWorkDate", prop: "goWorkDate",
label: "上班打卡时间", label: "上班打卡时间",
width: 100, width: 100,
formatter: this.formatterDate, formatter: this.formatterDate,
show: true,
}, },
{ {
prop: "goWorkResult", prop: "goWorkResult",
label: "上班打卡结果", label: "上班打卡结果",
width: 100, width: 100,
formatter: this.formatterString, formatter: this.formatterString,
show: true,
}, },
{ {
prop: "offWorkDate", prop: "offWorkDate",
label: "下班打卡时间", label: "下班打卡时间",
width: 100, width: 100,
formatter: this.formatterDate, formatter: this.formatterDate,
show: true,
}, },
{ {
prop: "offWorkResult", prop: "offWorkResult",
label: "下班打卡结果", label: "下班打卡结果",
width: 100, width: 100,
formatter: this.formatterString, formatter: this.formatterString,
show: true,
}, },
], ],
config: { config: {
showType: "tableSelect",
search: [ search: [
{ {
name: "staffName", name: "staffName",
...@@ -548,39 +618,59 @@ export default { ...@@ -548,39 +618,59 @@ export default {
}, },
], ],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60, show: true },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50, show: true },
{ {
label: "打卡日期", label: "打卡日期",
prop: "attendanceDate", prop: "attendanceDate",
formatter: this.formatterDateOnly, formatter: this.formatterDateOnly,
show: true,
}, },
{ label: "员工姓名", prop: "staffName" }, { label: "员工姓名", prop: "staffName", show: true },
{ label: "员工工号", prop: "workNum" }, { label: "员工工号", prop: "workNum", show: true },
{ {
label: "考勤组", label: "考勤组",
prop: "attendanceGroupName", prop: "attendanceGroupName",
show: true,
},
{ label: "部门", prop: "deptName", show: true },
{ label: "职位", prop: "positionName", show: true },
{
label: "班次",
prop: "classId",
formatter: this.formatter,
show: true,
}, },
{ label: "部门", prop: "deptName" },
{ label: "职位", prop: "positionName" },
{ label: "班次", prop: "classId", formatter: this.formatter },
{ {
label: "签到结果", label: "签到结果",
prop: "signInResult", prop: "signInResult",
formatter: this.formatter, formatter: this.formatter,
show: true,
}, },
{ {
label: "签退结果", label: "签退结果",
prop: "signOutResult", prop: "signOutResult",
formatter: this.formatter, formatter: this.formatter,
show: true,
},
{
label: "打卡结果",
prop: "punchResult",
formatter: this.formatter,
show: true,
},
{
label: "考勤类型",
prop: "attendType",
formatter: this.formatter,
show: true,
}, },
{ label: "打卡结果", prop: "punchResult", formatter: this.formatter },
{ label: "考勤类型", prop: "attendType", formatter: this.formatter },
{ {
label: "考勤打卡记录详细信息", label: "考勤打卡记录详细信息",
width: 120, width: 120,
prop: "subColumns", prop: "subColumns",
show: true,
formatter: (row) => { formatter: (row) => {
let widthsize = this.columnSet.reduce((pre, cur) => { let widthsize = this.columnSet.reduce((pre, cur) => {
return pre + Number(cur.width); return pre + Number(cur.width);
...@@ -611,6 +701,8 @@ export default { ...@@ -611,6 +701,8 @@ export default {
isdialog: false, isdialog: false,
setcolum: [], setcolum: [],
checkList: [], checkList: [],
setDialog: false,
checkTableList: [],
exportList: [], //导出记录 exportList: [], //导出记录
baseUrl: process.env.VUE_APP_API_BASE_URL + "/", baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
initalArr: [], initalArr: [],
......
<template> <template>
<div class="page"> <div class="page">
<LayoutTable :data="tableData" :config="tableConfig" notAdd notDel> <LayoutTable
:data="tableData"
:config="tableConfig"
notAdd
notDel
ref="layoutTable"
>
<el-button <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px" style="margin-left: 10px"
...@@ -25,9 +31,17 @@ ...@@ -25,9 +31,17 @@
style="margin-left: 10px" style="margin-left: 10px"
icon="el-icon-tickets" icon="el-icon-tickets"
size="mini" size="mini"
@click="setdialog" @click="setdialog(2)"
>表格设置</el-button >表格设置</el-button
> >
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="setdialog(1)"
>导出表格设置</el-button
>
<!-- <el-button <!-- <el-button
slot="table-head-left2" slot="table-head-left2"
style="margin-left: 10px" style="margin-left: 10px"
...@@ -38,7 +52,7 @@ ...@@ -38,7 +52,7 @@
> --> > -->
</LayoutTable> </LayoutTable>
<dialog-show ref="dialogform" @ok="getData" /> <dialog-show ref="dialogform" @ok="getData" />
<!-- 表格设置 --> <!-- 导出表格设置 -->
<el-dialog :visible.sync="isdialog" title="导出表格设置"> <el-dialog :visible.sync="isdialog" title="导出表格设置">
<div class="tipsword"> <div class="tipsword">
请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。 请选择表格展示字段,导出的表格中的内容选中的字段将保持一致。
...@@ -53,8 +67,27 @@ ...@@ -53,8 +67,27 @@
</el-checkbox> </el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<div class="mt20" style="text-align:right"> <div class="mt20" style="text-align:right">
<el-button @click="handleCancel">取消</el-button> <el-button @click="handleCancel(1)">取消</el-button>
<el-button type="primary" @click="handleSubmit">确定</el-button> <el-button type="primary" @click="handleSubmit(1)">确定</el-button>
</div>
</el-dialog>
<!-- 显示表格设置 -->
<el-dialog :visible.sync="setDialog" title="表格显示设置">
<div class="tipsword">
请选择表格展示字段,表格中的内容与选中的字段将保持一致。
</div>
<el-checkbox-group v-model="checkTableList">
<el-checkbox
v-for="(item, index) in setcolum"
:key="index"
:label="item.prop"
>
{{ item.label }}
</el-checkbox>
</el-checkbox-group>
<div class="mt20" style="text-align:right">
<el-button @click="handleCancel(2)">取消</el-button>
<el-button type="primary" @click="handleSubmit(2)">确定</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 导出记录查看 --> <!-- 导出记录查看 -->
...@@ -102,14 +135,33 @@ export default { ...@@ -102,14 +135,33 @@ export default {
}, },
methods: { methods: {
// 表格设置弹窗取消操作 // 表格设置弹窗取消操作
handleCancel() { handleCancel(i) {
if (i == 1) {
this.checkList = []; this.checkList = [];
this.isdialog = false; this.isdialog = false;
} else {
this.setDialog = false;
}
}, },
// 表格设置提交操作 // 表格设置提交操作
handleSubmit() { handleSubmit(i) {
if (i == 1) {
this.doExport(); this.doExport();
this.isdialog = false; this.isdialog = false;
} else {
this.config.columns.forEach((v) => {
v.prop && v.prop != "attendanceStaffStatEntities"
? (v.show = false)
: (v.show = true);
this.checkTableList.forEach((val) => {
if (v.prop == val) {
v.show = true;
}
});
});
this.$forceUpdate(this.config.columns);
this.setDialog = false;
}
}, },
// 处理 // 处理
handleArr(arr, currentTime) { handleArr(arr, currentTime) {
...@@ -138,6 +190,7 @@ export default { ...@@ -138,6 +190,7 @@ export default {
let addobjArr = []; let addobjArr = [];
this.addColumn.map((item, index) => { this.addColumn.map((item, index) => {
let obj = { let obj = {
show: true,
label: item + "(" + getMyDay(new Date(item)) + ")", label: item + "(" + getMyDay(new Date(item)) + ")",
prop: "attendanceStaffStatEntities", prop: "attendanceStaffStatEntities",
formatter: (row) => { formatter: (row) => {
...@@ -156,6 +209,7 @@ export default { ...@@ -156,6 +209,7 @@ export default {
let arr1 = this.initalArr.slice(0, 8); let arr1 = this.initalArr.slice(0, 8);
let arr2 = this.initalArr.slice(8); let arr2 = this.initalArr.slice(8);
this.config.columns = [...arr1, ...addobjArr, ...arr2]; this.config.columns = [...arr1, ...addobjArr, ...arr2];
this.$refs.layoutTable.showType = "tableSelect";
this.$forceUpdate(); this.$forceUpdate();
}, },
beforeRender(row) { beforeRender(row) {
...@@ -183,7 +237,8 @@ export default { ...@@ -183,7 +237,8 @@ export default {
toView(row) { toView(row) {
this.$refs.dialogform.view(row); this.$refs.dialogform.view(row);
}, },
setdialog() { setdialog(i) {
if (i == 1) {
this.isdialog = true; this.isdialog = true;
this.setcolum = this.config.columns.filter( this.setcolum = this.config.columns.filter(
(item) => item.label && item.prop (item) => item.label && item.prop
...@@ -191,6 +246,20 @@ export default { ...@@ -191,6 +246,20 @@ export default {
this.setcolum = this.setcolum.filter( this.setcolum = this.setcolum.filter(
(val) => val.prop !== "attendanceStaffStatEntities" (val) => val.prop !== "attendanceStaffStatEntities"
); );
} else {
this.setDialog = true;
this.setcolum = this.config.columns.filter(
(item) => item.label && item.prop
);
this.setcolum = this.setcolum.filter(
(val) => val.prop !== "attendanceStaffStatEntities"
);
this.checkTableList = this.config.columns.map((item) => {
if (item.show) {
return item.prop;
}
});
}
}, },
lookexportHis() { lookexportHis() {
this.drawerhistory = true; this.drawerhistory = true;
...@@ -231,6 +300,7 @@ export default { ...@@ -231,6 +300,7 @@ export default {
data() { data() {
return { return {
config: { config: {
showType: "tableSelect",
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
...@@ -277,20 +347,43 @@ export default { ...@@ -277,20 +347,43 @@ export default {
}, },
], ],
columns: [ columns: [
{ type: "selection", width: 60, fixed: "left" }, { type: "selection", width: 60, fixed: "left", show: true },
{ type: "index", label: "序号", width: 50, fixed: "left" }, {
type: "index",
label: "序号",
width: 50,
fixed: "left",
show: true,
},
{ {
label: "窗口类别", label: "窗口类别",
prop: "windowCategory", prop: "windowCategory",
fixed: "left", fixed: "left",
width: 100, width: 100,
show: true,
}, },
{ label: "员工姓名", prop: "staffName", fixed: "left", width: 100 }, {
{ label: "部门", prop: "deptName" }, label: "员工姓名",
{ label: "应到", prop: "workDays", formatter: this.formatter }, prop: "staffName",
{ label: "实到", prop: "goTimes", formatter: this.formatter }, fixed: "left",
width: 100,
show: true,
},
{ label: "部门", prop: "deptName", show: true },
{
label: "应到",
prop: "workDays",
formatter: this.formatter,
show: true,
},
{
label: "实到",
prop: "goTimes",
formatter: this.formatter,
show: true,
},
{ {
label: "出勤率%", label: "出勤率%",
prop: "attendanceRate", prop: "attendanceRate",
...@@ -299,11 +392,13 @@ export default { ...@@ -299,11 +392,13 @@ export default {
? (Number(row.attendanceRate) * 100).toFixed(2) + "%" ? (Number(row.attendanceRate) * 100).toFixed(2) + "%"
: "--"; : "--";
}, },
show: true,
}, },
{ {
label: "缺卡次数", label: "缺卡次数",
prop: "morningTimes", prop: "morningTimes",
formatter: this.formatter, formatter: this.formatter,
show: true,
}, },
// { // {
// label: "上午缺卡次数", // label: "上午缺卡次数",
...@@ -316,61 +411,79 @@ export default { ...@@ -316,61 +411,79 @@ export default {
// prop: "afternoonTimes", // prop: "afternoonTimes",
// formatter: this.formatter, // formatter: this.formatter,
// }, // },
{ label: "回单位(天)", prop: "backToUnit" }, { label: "回单位(天)", prop: "backToUnit", show: true },
{ label: "因公请假(天)", prop: "onDutyLeave" }, { label: "因公请假(天)", prop: "onDutyLeave", show: true },
{ label: "外出勘验(天)", prop: "outOfOffice" }, { label: "外出勘验(天)", prop: "outOfOffice", show: true },
{ label: "值班补班(天)", prop: "shiftCompensation" }, { label: "值班补班(天)", prop: "shiftCompensation", show: true },
{ label: "体检(天)", prop: "physicalExamination" }, { label: "体检(天)", prop: "physicalExamination", show: true },
{ label: "隔离(天)", prop: "quarantine" }, { label: "隔离(天)", prop: "quarantine", show: true },
{ label: "因公外出(与窗口工作无关/天)", prop: "businessTrip" }, {
label: "因公外出(与窗口工作无关/天)",
prop: "businessTrip",
show: true,
},
{ label: "公休(天)", prop: "publicHoliday" }, { label: "公休(天)", prop: "publicHoliday", show: true },
{ label: "病假(天)", prop: "sickLeave" }, { label: "病假(天)", prop: "sickLeave", show: true },
{ label: "丧假(天)", prop: "funeralLeave" }, { label: "丧假(天)", prop: "funeralLeave", show: true },
{ label: "婚假(天)", prop: "marriageLeave" }, { label: "婚假(天)", prop: "marriageLeave", show: true },
{ label: "育儿假(天)", prop: "childRearingLeave" }, { label: "育儿假(天)", prop: "childRearingLeave", show: true },
{ label: "产假(陪护假/天)", prop: "maternityLeave" }, { label: "产假(陪护假/天)", prop: "maternityLeave", show: true },
{ label: "调回单位(或离职/天)", prop: "transferBack" }, { label: "调回单位(或离职/天)", prop: "transferBack", show: true },
{ label: "探亲假(天)", prop: "homeLeave" }, { label: "探亲假(天)", prop: "homeLeave", show: true },
{ label: "事假(天)", prop: "personalLeave" }, { label: "事假(天)", prop: "personalLeave", show: true },
{ label: "旷工(天)", prop: "absenteeismDays" }, { label: "旷工(天)", prop: "absenteeismDays", show: true },
{ label: "其他(天)", prop: "otherDays" }, { label: "其他(天)", prop: "otherDays", show: true },
{ label: "未按规定打卡(含忘记打卡)", prop: "nonCompliancePunch" }, {
label: "未按规定打卡(含忘记打卡)",
prop: "nonCompliancePunch",
show: true,
},
{ label: "迟到(次)", prop: "lateTimes" }, { label: "迟到(次)", prop: "lateTimes", show: true },
{ label: "上网耍手机(次)", prop: "surfingMobileTimes" }, { label: "上网耍手机(次)", prop: "surfingMobileTimes", show: true },
{ label: "溜班(次)", prop: "overtimeTimes" }, { label: "溜班(次)", prop: "overtimeTimes", show: true },
{ label: "空岗(次)", prop: "vacancy" }, { label: "空岗(次)", prop: "vacancy", show: true },
{ label: "未规范着装(次)", prop: "nonStandardDressTimes" }, {
label: "未规范着装(次)",
prop: "nonStandardDressTimes",
show: true,
},
{ label: "无故缺席会议(次)", prop: "unexcusedMeetingAbsence" }, {
label: "无故缺席会议(次)",
prop: "unexcusedMeetingAbsence",
show: true,
},
{ label: "会议早退", prop: "earlyLeaveMeeting" }, { label: "会议早退", prop: "earlyLeaveMeeting", show: true },
], ],
}, },
setcolum: [], setcolum: [],
isdialog: false, isdialog: false,
setDialog: false,
checkTableList: [],
checkList: [], checkList: [],
drawerhistory: false, drawerhistory: false,
// 动态新增列表 // 动态新增列表
......
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