Commit 674cf98a authored by wenqy's avatar wenqy

Merge remote-tracking branch 'origin/master'

parents e4faebfb 92071f5c
......@@ -56,6 +56,7 @@ export default {
el.validate((valid) => {
if (!valid) return;
this.loading = true;
console.log('提交了')
this.$post(this.urls.saveUrl || this.pageInfo.saveUrl,
this.beforeSubmit(this.form)
)
......
......@@ -25,22 +25,18 @@ const instance = axios.create({
instance.interceptors.request.use(config => {
// 获取当前页面的主机名和端口号
// const hostname = location.hostname;
const hostname = location.hostname;
// const hostname = location.hostname;
const baseURL =config.baseURL;
// const port = location.port;
const port =process.env.VUE_APP_PORTAL_PORT=='undefined'?'11078':process.env.VUE_APP_PORTAL_PORT;
const port = location.port;
// const port =process.env.VUE_APP_PORTAL_PORT=='undefined'?'11078':process.env.VUE_APP_PORTAL_PORT;
// 测试用
//http://192.168.0.98:11039
// 温
// http://192.168.0.116/17500
// 代
// http://192.168.0.108/17500
//const hostname = '192.168.0.116'
//const port = '17500'
// const hostname = '192.168.0.116'
// const port = '17500'
......
......@@ -12,9 +12,9 @@ export const timestampToTime = (timestamp,transLength) => {
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";
let D = (date.getDate() < 10 ? "0" + date.getDate() : date.getDate());
let h = " "+date.getHours() + ":";
let m = date.getMinutes() + ":";
let s = date.getSeconds();
let h = " "+(date.getHours()<10?'0'+date.getHours():date.getHours()) + ":";
let m = (date.getMinutes()<10?'0'+date.getMinutes():date.getMinutes()) + ":";
let s = (date.getSeconds()<10?'0'+date.getSeconds():date.getSeconds());
switch(transLength){
case 3:
return Y + M + D;
......@@ -94,8 +94,9 @@ export const getdiffdate = (stime,etime) =>{
i++;
}
return diffdate;
}
export const getMyDay = (date) => {
}
// 获取某个日期是周几
export const getMyDay = (date) => {
let week;
if (date.getDay() == 0) week = "周日"
if (date.getDay() == 1) week = "周一"
......@@ -105,4 +106,13 @@ export const getdiffdate = (stime,etime) =>{
if (date.getDay() == 5) week = "周五"
if (date.getDay() == 6) week = "周六"
return week;
}
// 求两个日期的 分钟差
export const getMinu = (s1, s2) => {
var reDate = /\d{4}-\d{1,2}-\d{1,2} /;
s1 = new Date((reDate.test(s1) ? s1 : '2023-01-01 ' + s1).replace(/-/g, '/'));
s2 = new Date((reDate.test(s2) ? s2 : '2023-01-01 ' + s2).replace(/-/g, '/'));
var ms = s2.getTime() - s1.getTime();
if (ms < 0) return 0;
return Math.floor(ms / 1000 / 60); //分钟
}
\ No newline at end of file
......@@ -46,7 +46,7 @@ const formatterAmount = (row, column) => {
const formatterDate = (row, column) => {
const property = column.property;
const time = row[property];
if(!time) return '';
if(!time) return '-';
let date = time.length<13?new Date(Number(time) * 1000) : new Date(Number(time));
let Y = date.getFullYear() + '-';
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
......@@ -67,7 +67,7 @@ const formatterDate = (row, column) => {
const formatterDateOnly = (row, column) => {
const property = column.property;
const time = row[property];
if(!time) return '';
if(!time) return '-';
let date = new Date(Number(time));
let Y = date.getFullYear() + '-';
let M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
......
......@@ -41,7 +41,7 @@
class="el-upload-list__item ele-upload-list__item-content"
v-for="(file, index) in list"
>
<el-link :href="file.url" :underline="false" target="_blank">
<el-link :href="baseUrl+file.url" :underline="false" target="_blank">
<span class="el-icon-document" style="font-size: 12px">
{{ getFileName(file.name) }}
</span>
......@@ -100,11 +100,12 @@ export default {
data() {
return {
number: 0,
uploadFileUrl: "/file/commonupload", // 上传的地址
baseUrl:process.env.VUE_APP_API_BASE_URL+'/',
uploadFileUrl: process.env.VUE_APP_API_BASE_URL+"/attendance/file/commonupload",
uploadList: [],
headers:{},
fileList: [],
};
}
},
/* watch: {
......
......@@ -45,7 +45,7 @@ export default {
baseUrl:process.env.VUE_APP_API_BASE_URL+'/',
dialogVisible: false,
uploadImgUrl: process.env.VUE_APP_API_BASE_URL+"/attendance/file/commonupload", // 上传的图片服务器地址
};
}
},
props: {
value: {
......
......@@ -123,6 +123,7 @@ export default {
this.$store.commit('setThirdPath','')
},
methods:{
tabChildren(name){
this.$store.commit("setCurrentParentName",name)//存储选择路由
let result = this.menu.find(item => item.name === name)
......
......@@ -3,7 +3,7 @@
<el-drawer :title="title" :visible.sync="open" size="55%">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<Field label="班次名称" prop="className" v-model="form.className" placeholder="请输入班次名称"/>
<Field label="班次名称" prop="className" v-model="form.className" placeholder="请输入班次名称" :maxLength="20"/>
<Field label="班次负责人" prop="classResponsiblePersonId" type="select" :enumData="dict.workManId"
v-model="form.classResponsiblePersonId" placeholder="请选择班次负责人"/>
</el-row>
......
......@@ -7,7 +7,8 @@
<tab-pane :activeName="activeName" :thirdList="thirdList"></tab-pane>
<div class="mt20">
<div>考勤组名称</div>
<el-input placeholder="请输入考勤组名称" v-model="setParams.groupName" style="width:220px" class="mt10"></el-input>
<el-input placeholder="请输入考勤组名称" maxlength="20"
v-model="setParams.groupName" style="width:320px" class="mt10"></el-input>
</div>
<div class="flex flex-align-center mt20">
......
......@@ -9,14 +9,15 @@
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<!-- <Field label="请假人" prop="leavePersonId" v-model="form.leavePersonId" placeholder="请输入请假人"/> -->
<Field label="请假人" prop="leavePerson" v-model="form.leavePerson" placeholder="请输入请假人"/>
<Field label="请假人" prop="leavePerson" v-model="form.leavePerson" placeholder="请输入请假人" :maxLength="10"/>
<Field label="所属部门" prop="deptId" v-model="form.deptId" type="select" placeholder="请选择所属部门" :enumData="dict.deptId" />
<!-- <Field label="所属部门" prop="deptName" v-model="form.deptName" type="textarea" placeholder="请输入所属部门"/> -->
<Field label="电话号码" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入电话号码"/>
<Field label="电话号码" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入电话号码" :maxLength="11"/>
<Field label="请假类型" prop="leaveType" v-model="form.leaveType" type="select" :enumData="dict.leaveType" placeholder="请选择请假类型"/>
<Field label="开始时间" prop="startTime" v-model="form.startTime" type="date" />
<Field label="结束时间" prop="endTime" v-model="form.endTime" type="date" />
<Field label="时长" prop="duration" v-model="form.duration" placeholder="请输入时长"/>
<Field label="开始时间" prop="startTime" v-model="form.startTime" type="datetime" @change="changedate" />
<Field label="结束时间" prop="endTime" v-model="form.endTime" type="datetime" @change="changedate" />
<Field label="时长(单位:分钟)" disabled prop="duration" v-model="form.duration" placeholder="请输入时长(分钟)" :maxLength="4"/>
<Field label="请假事由" prop="reason" v-model="form.reason" type="textarea" placeholder="请输入请假事由"/>
<Field label="审批负责人" prop="approverId" type="select" v-model="form.approverId" placeholder="请选择审批负责人" :enumData="dict.approverId"/>
<!-- <Field label="审批负责人" prop="approver" v-model="form.approver" placeholder="请输入审批负责人"/> -->
......@@ -24,9 +25,9 @@
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/>
</el-row>
<el-form-item label="附件路径" prop="attachmentPath">
<FileUpload @input="uploadFn" />
<FileUpload @input="uploadFn" :value="attachmentPath" />
</el-form-item>
<form-buttons @submit='submitForm' noCancelBtn />
<form-buttons @submit="beforeSubmit" noCancelBtn />
</el-form>
</div>
</el-drawer>
......@@ -34,6 +35,8 @@
<script>
import form from "@/assets/mixins/formdialog";
import valid from '@/assets/utils/vaild.js'
import {getMinu} from '@/assets/utils/dateFormat.js'
export default {
name: "AttendanceLeaveRecordDetail",
mixins: [form],
......@@ -45,6 +48,7 @@
},
data() {
return {
baseUrl:process.env.VUE_APP_API_BASE_URL+'/',
// 遮罩层
loading: true,
// 弹出层标题
......@@ -61,13 +65,43 @@
],
// 表单校验
rules: {
}
leavePerson:[{required: true,message: "请输入请假人", trigger: "blur" }],
deptId:[{required: true,message: "请选择部门", trigger: "change" }],
phoneNumber:[
{required: true,message: "请输入电话号码", trigger: "blur" },
{
validator: valid.phone,
message: '电话号码格式不正确',
trigger: ['change', 'blur']
}
],
leaveType:[{required: true,message: "请选择请假类型", trigger: "change" }],
startTime:[{required: true,message: "请选择开始时间", trigger: "change" }],
endTime:[
{required: true,message: "请选择结束时间", trigger: "change" },
],
duration:[{required: true,message: "请输入时长", trigger: "blur" }],
reason:[{required: true,message: "请输入请假理由", trigger: "blur" }],
approverId:[{required: true,message: "请选择审批人", trigger: "change" }],
attachmentPath:[{required: true,message: "请上传附件文件", trigger: "change" }],
},
attachmentPath:''
};
},
methods: {
beforeSubmit(){
if(this.form.endTime.valueOf() > this.form.startTime.valueOf()){
this.submitForm()
}else{
this.$message.error('结束日期需大于请假日期')
}
},
uploadFn(e){
this.form.attachmentPath = e
this.attachmentPath = e
this.form.attachmentPath = this.attachmentPath[0].url
},
/** 编辑 */
edit(row) {
......@@ -101,14 +135,26 @@
},
/**获取数据后弹框 */
afterRender(data) {
this.attachmentPath = [
{ name:'请假附件',
url:this.form.attachmentPath
}
]
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
},
changedate(val){
if(this.form.startTime && this.form.endTime){
if(this.form.endTime.valueOf() > this.form.startTime.valueOf()){
this.form.duration = getMinu(this.form.startTime,this.form.endTime)
}else{
this.$message.error('结束日期需大于请假日期');
}
}
},
// 表单重置
reset() {
this.form = {
......
<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="员工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="goOffDateTime" v-model="form.goOffDateTime" type="date" />
<Field label="异常时间" prop="errorDateTime" v-model="form.errorDateTime" type="date" />
<Field label="实际打卡时间" prop="actualAttendanceDateTime" v-model="form.actualAttendanceDateTime" type="date" />
<Field label="处理时间" prop="operDateTime" v-model="form.operDateTime" type="date" />
<Field label="处理人" prop="opertor" v-model="form.opertor" placeholder="请输入处理人"/>
<Field label="异常状态" prop="errorStatus" v-model="form.errorStatus" type="select" :enumData="dict.errorStatus" placeholder="请选择异常状态"/>
<Field label="处理状态" prop="processStatus" v-model="form.processStatus" type="select" :enumData="dict.processStatus" placeholder="请选择处理状态"/>
<Field label="处理结果" prop="processResult" v-model="form.processResult" 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 @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:[
"errorStatus",
"processStatus",
],
// 表单校验
rules: {
staffName: [
{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 ="attendance/record/error/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改考勤打卡记录异常信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "attendance/record/error/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增考勤打卡记录异常信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/record/error/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 = {
staffId : null,
staffName : "",
workNum : "",
deptId : null,
deptName : "",
positionId : null,
positionName : "",
attendanceGroupId : null,
attendanceGroupName : "",
shiftsId : null,
shiftsName : "",
goOffDateTime : null,
errorDateTime : null,
actualAttendanceDateTime : null,
operDateTime : null,
opertor : "",
errorStatus : 0,
processStatus : 0,
processResult : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script>
......@@ -14,17 +14,23 @@
<span> {{item.staffName}} </span>
<span>{{item.goOrOff}} 时间 {{item.goOffDateTime}} 打卡异常状态</span>
<span class="ml10" style="color:#f56c6c">
<!-- {{dict['errorStatus'][item.errorStatus]}} -->
{{dict['errorStatus'][item.errorStatus]}}
</span>
<span class="ml10">修改为</span>
</div>
<div class="mt10">
<!-- 处理异常状态 -->
<el-select>
<el-option></el-option>
<el-select v-model="dealParams.processResult">
<el-option
v-for='($label, $value) in dict.errorStatus'
:key="$value"
:label="$label"
:value="$label">
</el-option>
</el-select>
<!-- 早退/迟到 -->
<el-input style="width:220px" placeholder="请输入数字" :maxlength="4"
<el-input style="width:220px" placeholder="请输入数字" :maxlength="4" v-model="duration"
v-if="dealParams.processResult == '迟到'|| dealParams.processResult == '早退'"
class="ml20" type="number">
<template slot="append">分钟</template>
</el-input>
......@@ -34,22 +40,21 @@
<el-input placeholder="请输入备注" type="textarea" show-word-limit class="mt10"
:maxlength="50" v-model="dealParams.remark"></el-input>
</div>
</div>
</div>
<div class="mt20">
<el-button type="primary" @click="saveForm">确定</el-button>
<el-button @click="cancleFn">取消</el-button>
</div>
</div>
</el-drawer>
</template>
<script>
import form from "@/assets/mixins/formdialog";
export default {
name: "AttendanceRecordDetail",
mixins: [form],
components: {
},
created() {
this.changePath("attendance/record")
},
data() {
return {
......@@ -72,9 +77,20 @@
},
dealParams:{
remark:'',
processResult:'',
recordErrorEntities:[],//处理员工
processStatus:1//处理状态
},
selection:[],
query:{},
urls:{
currUrl:'',
saveUrl:'attendance/record/error/save'
},
dict:{
errorStatus:''
},
selection:[]
duration:''
}
},
......@@ -85,32 +101,55 @@
},
/** 编辑 */
edit(row,selection) {
console.log(row,selection)
if(this.selection.length<1){
if(selection.length<1){
this.selection = [row]
this.query = { id: row.id };
}else{
this.selection = selection
this.query = {id:this.selection[0].id}
}
this.open = true
this.query = { id: row.id };
this.dealParams.recordErrorEntities = this.selection
this.urls.currUrl ="attendance/record/error/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "处理异常";
},
/**取消按钮 */
cancel() {
this.open = false;
this.getInital(this.query.id)
},
/**获取数据后弹框 */
afterRender(data) {
console.log(data)
this.open = true;
},
afterSubmit(data) {
this.open = false;
this.$emit("ok");
getInital(id){
this.$post(this.urls.currUrl+'?id='+id).then(res => {
if(res.code == 1){
this.afterRender()
this.dict = res.data.dict
}
})
},
// 保存
saveForm(){
if(this.dealParams.processResult == ''){
this.$message.error('请选择处理结果')
return
}
if(this.duration && (this.dealParams.processResult == '早退' || this.dealParams.processResult == '迟到')){
this.dealParams.processResult = this.dealParams.processResult + this.duration +'分钟'
}
// 保存结果处理
this.$post(this.urls.saveUrl,this.dealParams).then(res => {
if(res.code == 1){
this.cancleFn()
}
})
},
cancleFn(){
this.open = false
this.dealParams = {
remark:'',
processResult:'',
recordErrorEntities:[],//处理员工
processStatus:1//处理状态
}
this.$emit("ok")
}
}
}
......
......@@ -48,16 +48,20 @@
// },
morehandle(){
if(this.selection.length < 1){
this.$message.error('请至少选择一条处理')
return
}
let arr = this.tableData.data.filter(item => {
if(this.selection.includes(item.id)){
if(this.selection.includes(item.id) && item.processStatus == 0){
return item
}
})
this.$refs.drawerShow.edit('',arr);
this.$nextTick(() => {
this.selection = arr.map(item => item.id)
})
if(arr.length < 1){
this.$message.error('请至少选择一条处理')
return
}
this.$refs.drawerShow.edit(arr[0],arr);
},
// 处理
handle(err){
......@@ -67,10 +71,11 @@
// 撤销
reCancle(err){
console.log(err)
this.currentParams = err
this.dialogVisible = true
},
resetError(data){
this.$get('attendance/record/error/delete',{id:data.id}).then(res => {
resetError(){
this.$post('attendance/record/error/revokeError',{...this.currentParams}).then(res => {
if(res.code == 1){
this.dialogVisible = false
this.getData()
......@@ -153,7 +158,7 @@
return row.goOrOff+" "+row.goOffDateTime
}},
{label: "实际打卡时间", prop: "actualAttendanceDateTime", formatter: this.formatterDate},
{label: "处理时间", prop: "operDateTime", formatter: this.formatters},
{label: "处理时间", prop: "operDateTime", formatter: this.formatterDate},
{label: "处理状态", prop: "processStatus",formatter: this.formattereDealStatus},
{label: "处理人", prop: "opertor",formatter:this.formatters},
{label: "备注", prop: "remark",formatter:this.formatters},
......@@ -182,8 +187,9 @@
}
]
},
dialogVisible:false
dialogVisible:false,
currentParams:{}
}
}
};
}
</script>
\ No newline at end of file
......@@ -123,16 +123,16 @@
methods: {
// 生成打卡记录
formatData(){
let list = []
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){
list = this.tableData.data.filter(item => {
if(this.selection.includes(item.id)){
return item
}
})
params['idList'] = this.selection
}
this.$post('/attendance/record/hik/addAttendanceRecord',{list}).then(res => {
this.$post('/attendance/record/hik/addAttendanceRecord',{...params}).then(res => {
if(res.code == 1){
}
......
......@@ -5,15 +5,15 @@
</div>
<div class="totalNum flex">
<div class="item flex">
<div>需要打卡人数 <span class="num">{{1}}</span></div>
<div>未出勤 <span class="num">{{1}}</span></div>
<div>出勤率 <span class="num">{{1}}</span></div>
<div>需要打卡人数 <span class="num">{{tableData.attendanceStatus.needAttNum}}</span></div>
<div>未出勤 <span class="num">{{tableData.attendanceStatus.noAtt}}</span></div>
<div>出勤率 <span class="num">{{tableData.attendanceStatus.attPercentage}}</span></div>
</div>
<div class="item flex">
<div>迟到 <span class="num">{{1}}</span></div>
<div>早退 <span class="num">{{1}}</span></div>
<div>缺卡 <span class="num">{{1}}</span></div>
<div>迟到 <span class="num">{{tableData.attendanceStatus.beLate}}</span></div>
<div>早退 <span class="num">{{tableData.attendanceStatus.leaveEarly}}</span></div>
<div>缺卡 <span class="num">{{tableData.attendanceStatus.lackOfCards}}</span></div>
</div>
</div>
<LayoutTable :data="tableData" :config="tableConfig" notDel notAdd>
......@@ -147,6 +147,7 @@
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
import TabPane from "@/components/tabPane.vue"
import {timestampToTime} from '@/assets/utils/dateFormat'
export default {
name: "AttendanceRecordList",
components: {
......@@ -164,8 +165,52 @@
}
},
created() {
this.initalArr = this.config.columns
},
methods: {
// 表格接收数据后
afterRender(data){
console.log(this.tableData)
let addobjArr = []
data.dyncColumns.map(item => {
let obj = {
label:item.name,
prop:'',
formatter:(row) =>{
if(row.attendanceRecordDetailList.length<1){
return '-'
}else{
return this.handleArr(row.attendanceRecordDetailList,item.orderNum,item.property)
}
}
}
addobjArr.push(obj)
})
this.config.columns = [...this.initalArr,...addobjArr]
this.$forceUpdate()
},
// 表格接收数据前
beforeRender(data){
return data
},
// 处理
handleArr(arr,currentorderNum,property){
let index = arr.findIndex(item => item.orderNum === currentorderNum)
if(index > -1){
if(!arr[index][property]){
return '-'
}else if (property === 'goWorkDate' ||property ==="offWorkDate"){
// 打卡时间
return timestampToTime(arr[index][property],6)
}else if(property === 'goWorkResult' || property==="offWorkResult"){
let val = arr[index][property]
return this.tableData.dict.goWorkResult[val]
}
}else{
return '-'
}
},
changeStatus(item){
this.$set(
item,
......@@ -391,7 +436,8 @@
setcolum:[],
checkList:[],
exportList:[],//导出记录
baseUrl:process.env.VUE_APP_API_BASE_URL+'/'
baseUrl:process.env.VUE_APP_API_BASE_URL+'/',
initalArr:[]
}
}
};
......
......@@ -78,8 +78,7 @@
methods: {
// 处理
handleArr(arr,currentTime){
let timeArr = arr.map(item1 => item1.createTime)
let index = timeArr.findIndex(item => item === currentTime)
let index = arr.findIndex(item => item.createTime === currentTime)
if(index > -1){
return arr[index].attendanceSummary
}else{
......@@ -109,9 +108,12 @@
},
beforeRender(row) {
row.data.forEach(element => {
element.attendanceStaffStatEntities.forEach(item1 => {
item1.createTime = timestampToTime(item1.createTime,3)
})
if(element.attendanceStaffStatEntities.length>0){
element.attendanceStaffStatEntities.forEach(item1 => {
item1.createTime = timestampToTime(item1.createTime,3)
})
}
})
return row
},
......
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