Commit 202450cf authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents 585a838a 0f12e5c8
......@@ -8,43 +8,47 @@
<div class="title" style="margin-bottom:40px">今日数据洞察</div>
<div class="cell1">
<div class="title">人事数据</div>
<div class="datas flex flex-align-center flex-pack-justify flex_warp">
<div
class="datas flex flex-align-center flex-pack-justify flex_warp"
>
<div class="item">
<div>总人数</div>
<div>{{homeStat.totalPersonNum}}</div>
<div>{{ homeStat.totalPersonNum }}</div>
</div>
<div class="item">
<div>部门人数</div>
<div>{{homeStat.totalDeptNum}}</div>
<div>{{ homeStat.totalDeptNum }}</div>
</div>
</div>
</div>
<div class="cell1">
<div class="title">考勤数据</div>
<div class="datas flex flex-align-center flex-pack-justify flex_warp">
<div
class="datas flex flex-align-center flex-pack-justify flex_warp"
>
<div class="item">
<div>打卡人数</div>
<div>{{homeStat.attendPersonNum}}</div>
<div>{{ homeStat.attendPersonNum }}</div>
</div>
<div class="item">
<div>出勤率</div>
<div>{{homeStat.attendRadio}}%</div>
<div>{{ homeStat.attendRadio }}%</div>
</div>
<div class="item">
<div>请假人数</div>
<div>{{homeStat.levealPersonNum}}</div>
<div>{{ homeStat.levealPersonNum }}</div>
</div>
<div class="item">
<div>迟到人数</div>
<div>{{homeStat.latePersonNum}}</div>
<div>{{ homeStat.latePersonNum }}</div>
</div>
<div class="item">
<div>早退人数</div>
<div>{{homeStat.leftEarlyPersonNum}}</div>
<div>{{ homeStat.leftEarlyPersonNum }}</div>
</div>
<div class="item">
<div>缺卡人数</div>
<div>{{homeStat.missCardPersonNum}}</div>
<div>{{ homeStat.missCardPersonNum }}</div>
</div>
</div>
</div>
......@@ -56,14 +60,20 @@
<div class="data_right">
<div class="title">科学化、精细化、以人为本知行合一的管理理念</div>
<div class="textWord">
坚持政治性与人民性的根本遵循、制度化与规范化的根本依托、考人与考事的相互结合<br>
坚持政治性与人民性的根本遵循、制度化与规范化的根本依托、考人与考事的相互结合<br />
创新性与技术性的重要支撑以及效能性与发展性的不懈追求
</div>
<div class="selectBars flex flex-align-center flex-pack-justify flex_warp">
<div class="Bar_item" v-for="(item, index) in barList" :key="index"
@click="tabChildren(item.barName)">
<div
class="selectBars flex flex-align-center flex-pack-justify flex_warp"
>
<div
class="Bar_item"
v-for="(item, index) in barList"
:key="index"
@click="tabChildren(item.barName)"
>
<div class="icon">
<img :src="item.icon">
<img :src="item.icon" />
</div>
<div class="barnam">{{ item.barName }}</div>
<div class="des" v-html="item.desc"></div>
......@@ -83,40 +93,43 @@ export default {
return this.$store.state.userData;
},
menu() {
return this.mapMenu(this.userData.barList)
}
return this.mapMenu(this.userData.barList);
},
},
data() {
return {
// 数据洞察
homeStat:{
totalPersonNum:0,//总人数
totalDeptNum:0,//部门数
attendPersonNum:0,//考勤人数
attendRadio:0,//出勤率
levealPersonNum:0,//请假人数
latePersonNum:0,//迟到人数
leftEarlyPersonNum:0,//早退人数
missCardPersonNum:0,//缺卡人数
homeStat: {
totalPersonNum: 0, //总人数
totalDeptNum: 0, //部门数
attendPersonNum: 0, //考勤人数
attendRadio: 0, //出勤率
levealPersonNum: 0, //请假人数
latePersonNum: 0, //迟到人数
leftEarlyPersonNum: 0, //早退人数
missCardPersonNum: 0, //缺卡人数
},
barList: [
{
icon: require('@/assets/images/u148.png'),
barName: '智能人事',
desc: '提供包括组织管理、职位管理、人事管理、人事<br>统计报表等相关功能',
navList: []
icon: require("@/assets/images/u148.png"),
barName: "智能人事",
desc:
"提供包括组织管理、职位管理、人事管理、人事<br>统计报表等相关功能",
navList: [],
},
{
icon: require('@/assets/images/u153.png'),
barName: '考勤打卡',
desc: '提供包括组织管理、职位管理、人事管理、人事<br>统计报表等相关功能',
navList: []
icon: require("@/assets/images/u153.png"),
barName: "考勤打卡",
desc:
"提供包括组织管理、职位管理、人事管理、人事<br>统计报表等相关功能",
navList: [],
},
{
icon: require('@/assets/images/u158.png'),
barName: '绩效管理',
desc: '根据部门/个人承担的目标和任务完成情况以及工作<br>评价结果、加减分纪实现考核结果自动生成。',
navList: []
icon: require("@/assets/images/u158.png"),
barName: "绩效管理",
desc:
"根据部门/个人承担的目标和任务完成情况以及工作<br>评价结果、加减分纪实现考核结果自动生成。",
navList: [],
},
// {
// icon: require('@/assets/images/u167.png'),
......@@ -131,45 +144,48 @@ export default {
// navList: []
// },
{
icon: require('@/assets/images/u177.png'),
barName: '系统设置',
desc: '提供包括RBAC用户-角色-权限管理、版本管理、<br>操作及登录日志管理等功能',
navList: []
}
]
}
icon: require("@/assets/images/u177.png"),
barName: "系统设置",
desc:
"提供包括RBAC用户-角色-权限管理、版本管理、<br>操作及登录日志管理等功能",
navList: [],
},
],
};
},
created() {
this.$store.commit('setHeadBar', [])
this.$store.commit("setCurrentParentName", '')
this.$store.commit('setCurrentThirdArr', [])
this.$store.commit('setCurrentSecondPath', '')
this.$store.commit('setThirdPath', '')
this.homeNum()
this.$store.commit("setHeadBar", []);
this.$store.commit("setCurrentParentName", "");
this.$store.commit("setCurrentThirdArr", []);
this.$store.commit("setCurrentSecondPath", "");
this.$store.commit("setThirdPath", "");
this.homeNum();
},
methods: {
tabChildren(name) {
console.log("name:" + name)
this.$store.commit("setCurrentParentName", name)//存储选择路由
let result = this.menu.find(item => item.name === name)
this.$store.commit('setHeadBar', result)
console.log("name:" + name);
this.$store.commit("setCurrentParentName", name); //存储选择路由
let result = this.menu.find((item) => item.name === name);
this.$store.commit("setHeadBar", result);
console.log("result:", result)
console.log("result:", result);
if (result) {
// 路由跳转
if (result.children.length > 0) {
this.$store.commit('setCurrentThirdArr', result.children[0].children)
this.$store.commit('setCurrentSecondPath', result.children[0].path)
this.$store.commit('setThirdPath', result.children[0].path)
this.$router.push({ path: result.children[0].path })
this.$store.commit("setCurrentThirdArr", result.children[0].children);
this.$store.commit("setCurrentSecondPath", result.children[0].path);
this.$store.commit("setThirdPath", result.children[0].path);
this.$router.push({ path: result.children[0].path });
} else {
this.$message.error('暂未完成添加');
this.$message.error("暂未完成添加");
}
} else {
this.$message.error("暂无权限");
}
},
mapMenu(arr) {
if (arr.length === 0) return []
let result = arr.map(item => {
if (arr.length === 0) return [];
let result = arr.map((item) => {
const url = item.url
? item.url
: item.childList[0]
......@@ -180,23 +196,24 @@ export default {
path: url,
id: item.id,
icon: item.imgPath,
children: item.childList.length === 0 ? [] : this.mapMenu(item.childList)
}
})
return result
children:
item.childList.length === 0 ? [] : this.mapMenu(item.childList),
};
});
return result;
},
// 查询统计数据
homeNum() {
this.$post("/login/index").then((res) => {
const { code, data } = res
const { code, data } = res;
if (code == 1) {
this.homeStat = Object.assign({},this.homeStat,data.homeStat)
console.log(data,"####")
this.homeStat = Object.assign({}, this.homeStat, data.homeStat);
console.log(data, "####");
}
});
}
}
}
},
},
};
</script>
<style scoped lang="less">
.page-home {
......@@ -214,7 +231,7 @@ export default {
font-size: 16px;
.title {
color: #409EFF;
color: #409eff;
margin-bottom: 20px;
}
......@@ -234,20 +251,20 @@ export default {
}
.cell1:last-child {
border: none
border: none;
}
}
// 数据标题
.data_left>.title,
.data_right>.title {
.data_left > .title,
.data_right > .title {
text-align: center;
font-size: 22px;
font-weight: bold;
}
.right_card {
background-image: url('~@/assets/images/u162.svg');
background-image: url("~@/assets/images/u162.svg");
background-repeat: no-repeat;
background-size: 100% auto;
background-position: bottom;
......@@ -274,7 +291,11 @@ export default {
border-radius: 10px;
padding: 20px 0;
text-align: center;
background: linear-gradient(90deg, rgba(187, 193, 255, 0.3), rgb(235, 235, 235));
background: linear-gradient(
90deg,
rgba(187, 193, 255, 0.3),
rgb(235, 235, 235)
);
cursor: pointer;
.icon img {
......@@ -302,4 +323,5 @@ export default {
::v-deep .el-card {
height: 100%;
}</style>
}
</style>
......@@ -3,39 +3,118 @@
<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="员工ID" prop="staffId" v-model="form.staffId" placeholder="请输入员工ID"/>
<Field label="员工姓名" prop="staffName" v-model="form.staffName" placeholder="请输入员工姓名"/>
<Field label="工号" prop="workNum" v-model="form.workNum" 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="所属考勤组ID" prop="attendanceGroupId" v-model="form.attendanceGroupId" placeholder="请输入所属考勤组ID"/>
<Field label="所属考勤组名称" prop="attendanceGroupName" v-model="form.attendanceGroupName" placeholder="请输入所属考勤组名称"/>
<Field label="班次ID" prop="shiftsId" v-model="form.shiftsId" placeholder="请输入班次ID"/>
<Field label="班次名称" prop="shiftsName" v-model="form.shiftsName" placeholder="请输入班次名称"/>
<Field label="考勤日期" prop="attendanceDate" v-model="form.attendanceDate" type="date" />
<Field label="考勤点名称" prop="attendanceAddress" v-model="form.attendanceAddress" placeholder="请输入考勤点名称"/>
<Field label="事件源" prop="eventSource" v-model="form.eventSource" placeholder="请输入事件源"/>
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
<Field
label="员工ID"
prop="staffId"
v-model="form.staffId"
placeholder="请输入员工ID"
/>
<Field
label="员工姓名"
prop="staffName"
v-model="form.staffName"
placeholder="请输入员工姓名"
/>
<Field
label="工号"
prop="workNum"
v-model="form.workNum"
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="所属考勤组ID"
prop="attendanceGroupId"
v-model="form.attendanceGroupId"
placeholder="请输入所属考勤组ID"
/>
<Field
label="所属考勤组名称"
prop="attendanceGroupName"
v-model="form.attendanceGroupName"
placeholder="请输入所属考勤组名称"
/>
<Field
label="班次ID"
prop="shiftsId"
v-model="form.shiftsId"
placeholder="请输入班次ID"
/>
<Field
label="班次名称"
prop="shiftsName"
v-model="form.shiftsName"
placeholder="请输入班次名称"
/>
<Field
label="考勤日期"
prop="attendanceDate"
v-model="form.attendanceDate"
type="date"
/>
<Field
label="考勤点名称"
prop="attendanceAddress"
v-model="form.attendanceAddress"
placeholder="请输入考勤点名称"
/>
<Field
label="事件源"
prop="eventSource"
v-model="form.eventSource"
placeholder="请输入事件源"
/>
<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
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 {
import form from "@/assets/mixins/formdialog";
import dialogShow from "./dialogshow";
export default {
mixins: [form],
components: {
dialogShow ,
dialogShow,
},
data() {
return {
......@@ -45,46 +124,43 @@
title: "海康考勤打卡记录汇总信息",
// 是否显示弹出层
open: false,
toString:[
],
toString: [],
// 表单校验
rules: {
staffName: [
{required: true,message: "请输入员工姓名", trigger: "blur" },
{max: 64,message: "最多只能录入64个字符",trigger: "blur",},
],
createTime: [
{required: true,message: "请选择创建时间" },
{ required: true, message: "请输入员工姓名", trigger: "blur" },
{ max: 64, message: "最多只能录入64个字符", trigger: "blur" },
],
}
createTime: [{ required: true, message: "请选择创建时间" }],
},
};
},
methods: {
/** 编辑 */
edit(row) {
this.reset()
this.reset();
this.query = { id: row.id };
this.urls.currUrl ="attendance/record/hik/edit";
this.urls.currUrl = "attendance/record/hik/edit";
this.getData();
this.pageInfo.type="edit"
this.pageInfo.type = "edit";
this.title = "修改海康考勤打卡记录汇总信息";
},
/** 新增 */
add(row) {
this.reset()
this.reset();
this.urls.currUrl = "attendance/record/hik/add";
this.getData();
this.pageInfo.type="add"
this.pageInfo.type = "add";
this.title = "新增海康考勤打卡记录汇总信息";
},
/** 查看*/
view(row) {
this.reset()
this.reset();
this.query = { id: row.id };
this.urls.currUrl ="attendance/record/hik/view";
this.urls.currUrl = "attendance/record/hik/view";
this.getData();
this.pageInfo.type="view"
this.pageInfo.type = "view";
this.title = "海康考勤打卡记录汇总信息详细";
},
/**取消按钮 */
......@@ -104,21 +180,21 @@
// 表单重置
reset() {
this.form = {
staffId : null,
staffName : "",
workNum : "",
deptId : null,
deptName : "",
positionId : null,
positionName : "",
attendanceGroupId : null,
attendanceGroupName : "",
shiftsId : null,
shiftsName : "",
attendanceDate : null,
attendanceAddress : "",
eventSource : "",
remark : "",
staffId: null,
staffName: "",
workNum: "",
deptId: null,
deptName: "",
positionId: null,
positionName: "",
attendanceGroupId: null,
attendanceGroupName: "",
shiftsId: null,
shiftsName: "",
attendanceDate: null,
attendanceAddress: "",
eventSource: "",
remark: "",
};
this.resetForm("form");
},
......@@ -128,5 +204,5 @@
}
},
},
};
};
</script>
......@@ -7,7 +7,8 @@
icon="el-icon-tickets"
size="mini"
@click="handleImport"
>导入</el-button>
>导入</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
......@@ -16,7 +17,8 @@
type="primary"
@click="doExport"
:disabled="isExport"
>导出</el-button>
>导出</el-button
>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
......@@ -24,9 +26,16 @@
size="mini"
type="success"
@click="lookexportHis"
>导出记录</el-button>
<el-button type="primary" size="mini" slot="table-head-left2"
style="margin-left: 10px" @click="formatData">生成打卡记录</el-button>
>导出记录</el-button
>
<!-- <el-button
type="primary"
size="mini"
slot="table-head-left2"
style="margin-left: 10px"
@click="formatData"
>生成打卡记录</el-button
> -->
</LayoutTable>
<dialog-show ref="dialogform" @ok="getData" />
<el-dialog
......@@ -53,10 +62,11 @@
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-checkbox
v-model="upload.updateSupport"
/>是否更新已经存在的数据
<el-link type="primary" style="font-size: 14px" @click="downloadTemplate"
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的数据
<el-link
type="primary"
style="font-size: 14px"
@click="downloadTemplate"
>下载模板</el-link
>
</div>
......@@ -73,34 +83,40 @@
<el-drawer
title="导出记录"
:visible.sync="drawerhistory"
:direction="direction">
:direction="direction"
>
<div class="hisList">
<div class="list mt10" v-for="(item,index) in exportList" :key="index" @click="changeStatus(item)">
<div
class="list mt10"
v-for="(item, index) in exportList"
:key="index"
@click="changeStatus(item)"
>
<div class="flex flex-align-center flex-pack-justify">
<div>打卡记录汇总</div>
<el-button type="text">导出成功</el-button>
</div>
<div class="details" v-if="item.islook">
<div class="mt10" v-if="item.recordIdList">
选择列表id: {{item.recordIdList}}
选择列表id: {{ item.recordIdList }}
</div>
<div class="mt10" v-if="item.deptName">
选择部门:{{item.deptName}}
选择部门:{{ item.deptName }}
</div>
<div class="mt10" v-if="item.groupName">
选择考勤组:{{item.groupName}}
选择考勤组:{{ item.groupName }}
</div>
<div class="mt10" v-if="item.className">
选择班次:{{item.className}}
选择班次:{{ item.className }}
</div>
<div class="mt10">
<el-link :href="item.filePath" target="_blank" type="primary">重新下载</el-link>
</div>
<el-link :href="item.filePath" target="_blank" type="primary"
>重新下载</el-link
>
</div>
<div class="times mt10">
导出时间:{{item.createTime}}
</div>
<div class="times mt10">导出时间:{{ item.createTime }}</div>
</div>
</div>
</el-drawer>
......@@ -108,58 +124,59 @@
</template>
<script>
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
import {timestampToTime} from '@/assets/utils/dateFormat'
export default {
/** 表单弹出框模式需引入 */
import dialogShow from "./dialogshow";
import table from "@/assets/mixins/table";
import { timestampToTime } from "@/assets/utils/dateFormat";
export default {
name: "AttendanceRecordHikList",
components: {
dialogShow
},
mixins: [table],
created() {
dialogShow,
},
mixins: [table],
created() {},
methods: {
// 生成打卡记录
formatData(){
let params = {}
for(let value of this.config.search){
if(this.query[value.name]){
params[value.name] = this.query[value.name]
formatData() {
let params = {};
for (let value of this.config.search) {
if (this.query[value.name]) {
params[value.name] = this.query[value.name];
}
}
if(this.selection.length>0){
params['idList'] = this.selection
if (this.selection.length > 0) {
params["idList"] = this.selection;
}
this.$post('/attendance/record/hik/addAttendanceRecord',{...params}).then(res => {
if(res.code == 1){
this.$message.success("生成打卡记录成功!")
this.$post("/attendance/record/hik/addAttendanceRecord", {
...params,
}).then((res) => {
if (res.code == 1) {
this.$message.success("生成打卡记录成功!");
}
})
});
},
// 更改状态
changeStatus(item){
this.$set(
item,
'islook',
!item.islook
)
changeStatus(item) {
this.$set(item, "islook", !item.islook);
},
// 导出记录
lookexportHis(){
this.$post('/attendance/export/record/list',{type:1,page:1,size:-1}).then(res => {
if(res.code == 1){
let arr = res.data.data
this.exportList = arr.map(item => {
item.createTime = timestampToTime(item.createTime,6)
item.islook = false
return item
})
lookexportHis() {
this.$post("/attendance/export/record/list", {
type: 1,
page: 1,
size: -1,
}).then((res) => {
if (res.code == 1) {
let arr = res.data.data;
this.exportList = arr.map((item) => {
item.createTime = timestampToTime(item.createTime, 6);
item.islook = false;
return item;
});
}
})
});
// 导出记录
this.drawerhistory = true
this.drawerhistory = true;
},
/** 导入 */
handleImport() {
......@@ -169,12 +186,16 @@
/** 下载模板操作 */
downloadTemplate() {
this.isExport = true;
this.$download("/attendance/record/hik/downloadTemplate", {}, { type: "excel" })
this.$download(
"/attendance/record/hik/downloadTemplate",
{},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
})
});
},
/** 文件上传中处理 */
handleFileUploadProgress(event, file, fileList) {
......@@ -195,23 +216,29 @@
/** 导出Excel */
doExport() {
this.isExport = true;
let params = {}
for(let value of this.config.search){
if(this.query[value.name]){
params[value.name] = this.query[value.name]
let params = {};
for (let value of this.config.search) {
if (this.query[value.name]) {
params[value.name] = this.query[value.name];
}
}
if(this.selection.length>0){
params['idList'] = this.selection
if (this.selection.length > 0) {
params["idList"] = this.selection;
}
this.$download("/attendance/record/hik/exportExcel", {
this.$download(
"/attendance/record/hik/exportExcel",
{
...params,
}, { type: "excel" }).then(() => this.isExport = false).catch(error => {
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
})
});
},
/** 重写新增方法 */
toAdd(row) {
......@@ -226,14 +253,14 @@
this.$refs.dialogform.view(row);
},
afterRender(data) {
console.log(this.tableData.data)
console.log(this.tableData.data);
},
},
data() {
return {
upload: {
headers:{
Authorization:window.sessionStorage.getItem('token') || ''
headers: {
Authorization: window.sessionStorage.getItem("token") || "",
},
// 是否显示弹出层(员工关怀信息导入)
open: false,
......@@ -244,22 +271,24 @@
// 是否更新已经存在的数据
updateSupport: 0,
// 上传的地址
url: process.env.VUE_APP_API_BASE_URL +"/attendance/attendance/record/hik/importData",
url:
process.env.VUE_APP_API_BASE_URL +
"/attendance/attendance/record/hik/importData",
},
config: {
isshowTabPane:true,
isshowTabPane: true,
search: [
{
name: "staffName",
type: "text",
label: "员工姓名",
fuzzy: false
fuzzy: false,
},
{
name:'workNum',
type:'text',
label:'工号',
fuzzy: false
name: "workNum",
type: "text",
label: "工号",
fuzzy: false,
},
// {
// name: "deptId",
......@@ -280,30 +309,34 @@
// fuzzy: false
// },
{
name:'attendanceDateStart',
name: "attendanceDateStart",
type: "date",
label: "考勤开始时间",
fuzzy: false
fuzzy: false,
},
{
name:'attendanceDateEnd',
name: "attendanceDateEnd",
type: "date",
label: "考勤结束时间",
fuzzy: false
}
fuzzy: false,
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{label: "员工姓名", prop: "staffName"},
{label: "工号", prop: "workNum"},
{label: "部门", prop: "deptName"},
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{ label: "员工姓名", prop: "staffName" },
{ label: "工号", prop: "workNum" },
{ label: "部门", prop: "deptName" },
// {label: "考勤组", prop: "attendanceGroupName"},
// {label: "职位", prop: "positionName"},
// {label: "班次", prop: "shiftsName"},
{label: "考勤时间", prop: "attendanceDate",formatter: this.formatterDate},
{label: "考勤点名称", prop: "attendanceAddress"},
{label: "事件源", prop: "eventSource"},
{
label: "考勤时间",
prop: "attendanceDate",
formatter: this.formatterDate,
},
{ label: "考勤点名称", prop: "attendanceAddress" },
{ label: "事件源", prop: "eventSource" },
// {
// label: "操作",
// width: 240,
......@@ -314,32 +347,31 @@
// )
// }
// }
]
],
},
drawerhistory:false,
exportList:[],
baseUrl:process.env.VUE_APP_API_BASE_URL+'/'
}
}
drawerhistory: false,
exportList: [],
baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
};
},
};
</script>
<style scoped lang="scss">
.hisList{
.hisList {
padding: 15px;
.list{
.list {
background-color: rgba(64, 158, 255, 0.1);
font-size: 14px;
border-radius: 10px;
padding: 10px;
.times{
.times {
font-size: 12px;
color: #999;
}
cursor: pointer;
}
}
.details{
.details {
cursor: pointer;
}
</style>
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