开发计划修改

This commit is contained in:
BianLzhaoMin 2025-02-13 16:10:37 +08:00
parent 1da049357c
commit 8256dbfd40
1 changed files with 344 additions and 197 deletions

View File

@ -1,6 +1,13 @@
<template>
<div class="app-container" id="attSetting">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="名称" prop="groupName">
<el-input
v-model="queryParams.groupName"
@ -20,8 +27,16 @@
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
@ -34,7 +49,7 @@
size="mini"
@click="handleAdd"
v-hasPermi="['att:group:add']"
>新增
>新增
</el-button>
</el-col>
@ -45,36 +60,59 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出
>导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<right-toolbar
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table
v-loading="loading"
:data="userList"
@selection-change="handleSelectionChange"
>
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="序号" align="center" width="80" type="index">
<template slot-scope="scope">
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
<span>{{
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
}}</span>
</template>
</el-table-column>
<el-table-column label="名称" align="center" prop="groupName"/>
<el-table-column label="考勤时间" align="center" prop="attDay" :show-overflow-tooltip="true">
<el-table-column label="名称" align="center" prop="groupName" />
<el-table-column
label="考勤时间"
align="center"
prop="attDay"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
<span>每周</span>
<span v-if="scope.row.attDay.split(',')[0]==1"></span>
<span v-if="scope.row.attDay.split(',')[1]==1"></span>
<span v-if="scope.row.attDay.split(',')[2]==1"></span>
<span v-if="scope.row.attDay.split(',')[3]==1"></span>
<span v-if="scope.row.attDay.split(',')[4]==1"></span>
<span v-if="scope.row.attDay.split(',')[5]==1"></span>
<span v-if="scope.row.attDay.split(',')[6]==1"></span>
<span v-if="scope.row.attDay.split(',')[0] == 1"></span>
<span v-if="scope.row.attDay.split(',')[1] == 1"></span>
<span v-if="scope.row.attDay.split(',')[2] == 1"></span>
<span v-if="scope.row.attDay.split(',')[3] == 1"></span>
<span v-if="scope.row.attDay.split(',')[4] == 1"></span>
<span v-if="scope.row.attDay.split(',')[5] == 1"></span>
<span v-if="scope.row.attDay.split(',')[6] == 1"></span>
</template>
</el-table-column>
<el-table-column label="上班时间" align="center" prop="toWorkTime" :show-overflow-tooltip="true"/>
<el-table-column label="下班时间" align="center" prop="offWorkTime" :show-overflow-tooltip="true"/>
<el-table-column
label="上班时间"
align="center"
prop="toWorkTime"
:show-overflow-tooltip="true"
/>
<el-table-column
label="下班时间"
align="center"
prop="offWorkTime"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
@ -87,21 +125,21 @@
type="primary"
v-hasPermi="['att:group:edit']"
@click="handleUpdate(scope.row)"
>编辑
>编辑
</el-button>
<el-button
size="mini"
type="danger"
v-hasPermi="['att:group:remove']"
@click="handleDelete(scope.row)"
>删除
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@ -110,17 +148,28 @@
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="130px">
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row>
<el-col :span="12">
<el-form-item label="考勤组名称:" prop="groupName">
<el-input v-model="form.groupName" placeholder="请输入考勤组名称" maxlength="30"/>
<el-input
v-model="form.groupName"
placeholder="请输入考勤组名称"
maxlength="30"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="参与考勤人员:" prop="checkList">
<treeselect v-model="form.checkList" :multiple="true" :flat="false" :options="personOptions"
:normalizer="normalizer" placeholder="选择部门和人员" @input="handleSelect"/>
<treeselect
v-model="form.checkList"
:multiple="true"
:flat="false"
:options="personOptions"
:normalizer="normalizer"
placeholder="选择部门和人员"
@input="handleSelect"
/>
</el-form-item>
</el-col>
</el-row>
@ -132,25 +181,38 @@
v-for="dict in typeList"
:key="dict.value"
:label="dict.value"
>{{ dict.label }}
>{{ dict.label }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="是否有法定节假日:" prop="attType">
<el-radio-group>
<el-radio label="是"> </el-radio>
<el-radio label="否"> </el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="考勤时间:" prop="attDays">
<el-checkbox-group v-model="form.attDays">
<el-checkbox v-for="item in attDayList" :key="item.id"
:label="item.id">{{ item.label }}
<el-checkbox
v-for="item in attDayList"
:key="item.id"
:label="item.id"
>{{ item.label }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.attType==1">
<el-row v-if="form.attType == 1">
<el-col :span="12">
<!-- <el-form-item label="上班时间:" prop="toWorkTime">-->
<!-- <el-time-select-->
@ -168,10 +230,10 @@
<el-time-picker
v-model="form.toWorkTime"
format="HH:mm:ss"
placeholder="选择时间">
placeholder="选择时间"
>
</el-time-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<!-- <el-form-item label="下班时间:" prop="offWorkTime">
@ -189,13 +251,14 @@
<el-time-picker
v-model="form.offWorkTime"
format="HH:mm:ss"
placeholder="选择时间">
placeholder="选择时间"
>
</el-time-picker>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.attType==1">
<el-row v-if="form.attType == 1">
<el-col :span="12">
<!-- <el-form-item label="休息开始时间:" prop="breakStartTime">
<el-time-select
@ -212,7 +275,8 @@
<el-time-picker
v-model="form.breakStartTime"
format="HH:mm:ss"
placeholder="选择时间">
placeholder="选择时间"
>
</el-time-picker>
</el-form-item>
</el-col>
@ -232,95 +296,140 @@
<el-time-picker
v-model="form.breakEndTime"
format="HH:mm:ss"
placeholder="选择时间">
placeholder="选择时间"
>
</el-time-picker>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.attType==1">
<el-col :span="10">
<el-row v-if="form.attType == 1">
<el-col :span="12">
<el-form-item label="迟到、早退设置:" prop="lateMinute">
迟到
<el-input v-model.number="form.lateMinute" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.lateMinute"
maxlength="4"
style="width: 100px"
/>
分钟不计迟到,
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="12">
<el-form-item label="" label-width="0" prop="leaveMinute">
早退
<el-input v-model.number="form.leaveMinute" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.leaveMinute"
maxlength="4"
style="width: 100px"
/>
分钟不计早退
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.attType==1">
<el-col :span="10">
<el-row v-if="form.attType == 1">
<el-col :span="12">
<el-form-item label="旷工设置:" prop="absenteeismLateMinute">
迟到
<el-input v-model.number="form.absenteeismLateMinute" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.absenteeismLateMinute"
maxlength="4"
style="width: 100px"
/>
分钟即为旷工,
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="" label-width="0" prop="absenteeismLeaveMinute">
<el-col :span="12">
<el-form-item
label=""
label-width="0"
prop="absenteeismLeaveMinute"
>
早退
<el-input v-model.number="form.absenteeismLeaveMinute" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.absenteeismLeaveMinute"
maxlength="4"
style="width: 100px"
/>
分钟即为旷工
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.attType==1">
<el-row v-if="form.attType == 1">
<el-col :span="24">
<el-form-item label="出入异常设置:" prop="entryAbnormalMinute">
<el-input v-model.number="form.entryAbnormalMinute" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.entryAbnormalMinute"
maxlength="4"
style="width: 100px"
/>
分钟内连续打卡进出即为出入异常
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.attType==2">
<el-row v-if="form.attType == 2">
<el-col :span="8">
<el-form-item label="每天打卡:" prop="todayClockNum">
<el-input v-model.number="form.todayClockNum" maxlength="1" style="width: 100px;" @input="clockNum"/>
<el-input
v-model.number="form.todayClockNum"
maxlength="1"
style="width: 100px"
@input="clockNum"
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="应出勤时长:" prop="attendanceDuration">
<el-input v-model.number="form.attendanceDuration" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.attendanceDuration"
maxlength="4"
style="width: 100px"
/>
分钟
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="打卡范围:" prop="attRange">
<el-input v-model.number="form.attRange" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.attRange"
maxlength="4"
style="width: 100px"
/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.todayClockNum==2">
<el-row v-if="form.todayClockNum == 2">
<el-col :span="24">
<el-form-item label="实际出勤不满足:" prop="absenteeismLateMinute">
<el-input v-model.number="form.absenteeismLateMinute" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.absenteeismLateMinute"
maxlength="4"
style="width: 100px"
/>
分钟记录为早退 <span>早退时长=应出勤时长-实际出勤时长</span>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.todayClockNum==2">
<el-row v-if="form.todayClockNum == 2">
<el-col :span="24">
<el-form-item label="实际出勤不满足:" prop="absenteeismLeaveMinute">
<el-input v-model.number="form.absenteeismLeaveMinute" maxlength="4" style="width: 100px;"/>
<el-input
v-model.number="form.absenteeismLeaveMinute"
maxlength="4"
style="width: 100px"
/>
分钟记录为旷工 <span>旷工时长=应出勤时长-实际出勤时长</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
@ -331,14 +440,21 @@
</template>
<script>
import {listAttGroup, getAttGroup, delAttGroup, addAttGroup, updateAttGroup, selectOrgList} from "@/api/setting/rules";
import {
listAttGroup,
getAttGroup,
delAttGroup,
addAttGroup,
updateAttGroup,
selectOrgList,
} from "@/api/setting/rules";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "AttSetting",
dicts: ['sys_normal_disable'],
components: {Treeselect},
dicts: ["sys_normal_disable"],
components: { Treeselect },
data() {
return {
//
@ -366,111 +482,127 @@ export default {
pageNum: 1,
pageSize: 10,
groupName: undefined,
orgName: undefined
orgName: undefined,
},
allCheckList: [],
personOptions: [],
typeList: [{value: '1', label: '固定班制'}, {value: '2', label: '自由工时'}],
attDayList: [{id: 0, label: '周一'}, {id: 1, label: '周二'}, {id: 2, label: '周三'}, {
id: 3,
label: '周四'
}, {id: 4, label: '周五'}, {id: 5, label: '周六'}, {id: 6, label: '周日'}],
typeList: [
{ value: "1", label: "固定班制" },
{ value: "2", label: "自由工时" },
],
attDayList: [
{ id: 0, label: "周一" },
{ id: 1, label: "周二" },
{ id: 2, label: "周三" },
{
id: 3,
label: "周四",
},
{ id: 4, label: "周五" },
{ id: 5, label: "周六" },
{ id: 6, label: "周日" },
],
//
form: {},
//
rules: {
groupName: [
{required: true, message: "名称不能为空", trigger: "blur"}
{ required: true, message: "名称不能为空", trigger: "blur" },
],
attDays: [
{required: true, message: "考勤时间不能为空", trigger: "blur"}
{ required: true, message: "考勤时间不能为空", trigger: "blur" },
],
checkList: [
{required: true, message: "考勤人员不能为空", trigger: "change"}
{ required: true, message: "考勤人员不能为空", trigger: "change" },
],
toWorkTime: [
{required: true, message: "上班时间不能为空", trigger: "blur"}
{ required: true, message: "上班时间不能为空", trigger: "blur" },
],
offWorkTime: [
{required: true, message: "下班时间不能为空", trigger: "blur"}
{ required: true, message: "下班时间不能为空", trigger: "blur" },
],
breakStartTime: [
{required: true, message: "休息开始时间不能为空", trigger: "blur"}
{ required: true, message: "休息开始时间不能为空", trigger: "blur" },
],
breakEndTime: [
{required: true, message: "休息结束时间不能为空", trigger: "blur"}
{ required: true, message: "休息结束时间不能为空", trigger: "blur" },
],
lateMinute: [
{required: true, message: "时间不能为空", trigger: "blur"},
{type: 'number', message: '必须为数字值', trigger: 'change'},
{ required: true, message: "时间不能为空", trigger: "blur" },
{ type: "number", message: "必须为数字值", trigger: "change" },
],
leaveMinute: [
{required: true, message: "时间不能为空", trigger: "blur"},
{type: 'number', message: '必须为数字值', trigger: 'change'},
{ required: true, message: "时间不能为空", trigger: "blur" },
{ type: "number", message: "必须为数字值", trigger: "change" },
],
absenteeismLateMinute: [
{required: true, message: "时间不能为空", trigger: "blur"},
{type: 'number', message: '必须为数字值', trigger: 'change'},
{ required: true, message: "时间不能为空", trigger: "blur" },
{ type: "number", message: "必须为数字值", trigger: "change" },
],
absenteeismLeaveMinute: [
{required: true, message: "时间不能为空", trigger: "blur"},
{type: 'number', message: '必须为数字值', trigger: 'change'},
{ required: true, message: "时间不能为空", trigger: "blur" },
{ type: "number", message: "必须为数字值", trigger: "change" },
],
entryAbnormalMinute: [
{required: true, message: "出入异常时间不能为空", trigger: "blur"},
{type: 'number', message: '必须为数字值', trigger: 'change'},
{ required: true, message: "出入异常时间不能为空", trigger: "blur" },
{ type: "number", message: "必须为数字值", trigger: "change" },
],
todayClockNum: [
{required: true, message: "每天打卡次数不能为空", trigger: "change"},
{
required: true,
message: "每天打卡次数不能为空",
trigger: "change",
},
{
pattern: /^[1|2]\d{0}$/,
message: "每天打卡次数必须为 1 或 2",
trigger: "change"
}
trigger: "change",
},
],
attendanceDuration: [
{required: true, message: "应出勤时长不能为空", trigger: "blur"},
{type: 'number', message: '必须为数字值', trigger: 'change'},
{ required: true, message: "应出勤时长不能为空", trigger: "blur" },
{ type: "number", message: "必须为数字值", trigger: "change" },
],
attRange: [
{required: true, message: "打卡范围不能为空", trigger: "blur"},
{type: 'number', message: '必须为数字值', trigger: 'change'},
]
}
{ required: true, message: "打卡范围不能为空", trigger: "blur" },
{ type: "number", message: "必须为数字值", trigger: "change" },
],
},
};
},
created() {
this.getList();
},
methods: {
selectOrgList() {
selectOrgList().then(res => {
console.log(res)
this.personOptions = this.changeData(res.data);
// // this.personOptions = this.handleTree(response.data, "id");
// console.log(this.personOptions)
}
);
selectOrgList().then((res) => {
console.log(res);
this.personOptions = this.changeData(res.data);
// // this.personOptions = this.handleTree(response.data, "id");
// console.log(this.personOptions)
});
},
//
changeData(data) { //
data.map(item => {
changeData(data) {
//
data.map((item) => {
if (item.disabled) {
if (item.isChecked) {
item.isDisabled = false
item.isDisabled = false;
} else {
item.isDisabled = true
item.isDisabled = true;
}
} else if (!item.disabled) {
item.isDisabled = false
item.isDisabled = false;
}
item.children && item.children.length > 0 && this.changeData(item.children);
})
item.children &&
item.children.length > 0 &&
this.changeData(item.children);
});
return data;
},
handleSelect(value, instanceId) {
console.log('Selected:', value);
console.log("Selected:", value);
},
/** 转换部门数据结构 */
@ -482,16 +614,16 @@ export default {
id: node.id,
label: node.name,
// isDisabled: node.disabled,
children: node.children
children: node.children,
};
},
changeRadio(v) {
// el-radio aria-hidden
this.$nextTick(() => {
const radios = this.$el.querySelectorAll('.el-radio__original');
radios.forEach(radio => radio.removeAttribute('aria-hidden'));
const radios = this.$el.querySelectorAll(".el-radio__original");
radios.forEach((radio) => radio.removeAttribute("aria-hidden"));
});
console.log(v)
console.log(v);
if (v == 1) {
this.form.attDays = [0, 1, 2, 3, 4];
this.form.toWorkTime = this.setData("08:33:00");
@ -499,26 +631,24 @@ export default {
this.form.breakStartTime = this.setData("12:00:00");
this.form.breakEndTime = this.setData("14:00:00");
this.form.lateMinute = undefined;//
this.form.leaveMinute = undefined;//退
this.form.lateMinute = undefined; //
this.form.leaveMinute = undefined; //退
this.form.todayClockNum = undefined;
this.form.absenteeismLateMinute = undefined;//
this.form.absenteeismLeaveMinute = undefined;//退
this.form.entryAbnormalMinute = undefined;//
this.form.absenteeismLateMinute = undefined; //
this.form.absenteeismLeaveMinute = undefined; //退
this.form.entryAbnormalMinute = undefined; //
}
if (v == 2) {
this.form.attDays = [0, 1, 2, 3, 4, 5, 6];
this.form.todayClockNum = 1;
this.form.attendanceDuration = 360;
this.form.attRange = 300;
this.form.absenteeismLateMinute = undefined;//
this.form.absenteeismLeaveMinute = undefined;//退
this.form.absenteeismLateMinute = undefined; //
this.form.absenteeismLeaveMinute = undefined; //退
}
},
clockNum(v) {
if (v == 1) {
}
if (v == 2) {
}
@ -526,12 +656,11 @@ export default {
/** 查询列表 */
getList() {
this.loading = true;
listAttGroup(this.queryParams).then(response => {
this.userList = response.rows;
this.total = response.total;
this.loading = false;
}
);
listAttGroup(this.queryParams).then((response) => {
this.userList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
@ -550,15 +679,14 @@ export default {
offWorkTime: this.setData("17:30:00"),
breakStartTime: this.setData("12:00:00"),
breakEndTime: this.setData("14:00:00"),
lateMinute: undefined,//
leaveMinute: undefined,//退
absenteeismLateMinute: undefined,//
absenteeismLeaveMinute: undefined,//退
entryAbnormalMinute: undefined,//
lateMinute: undefined, //
leaveMinute: undefined, //退
absenteeismLateMinute: undefined, //
absenteeismLeaveMinute: undefined, //退
entryAbnormalMinute: undefined, //
todayClockNum: undefined,
attendanceDuration: undefined,
attRange: undefined,
};
this.resetForm("form");
},
@ -567,11 +695,11 @@ export default {
setData(time) {
const backendTimeStr = time; //
//
const [hours, minutes, seconds] = backendTimeStr.split(':').map(Number);
const [hours, minutes, seconds] = backendTimeStr.split(":").map(Number);
// Date
const defaultTime = new Date();
defaultTime.setHours(hours, minutes, seconds);
return defaultTime
return defaultTime;
},
/** 搜索按钮操作 */
handleQuery() {
@ -593,108 +721,125 @@ export default {
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.groupId)
this.single = selection.length != 1
this.multiple = !selection.length
this.ids = selection.map((item) => item.groupId);
this.single = selection.length != 1;
this.multiple = !selection.length;
},
/** 修改按钮操作 */
handleUpdate(row) {
// this.reset();
const groupId = row.groupId
getAttGroup(groupId).then(response => {
const groupId = row.groupId;
getAttGroup(groupId).then((response) => {
this.form = response.data;
if(this.form.toWorkTime != "" && this.form.toWorkTime != null){
if (this.form.toWorkTime != "" && this.form.toWorkTime != null) {
this.form.toWorkTime = this.setData(this.form.toWorkTime);
}
if(this.form.offWorkTime != "" && this.form.offWorkTime != null){
if (this.form.offWorkTime != "" && this.form.offWorkTime != null) {
this.form.offWorkTime = this.setData(this.form.offWorkTime);
}
if (this.form.breakStartTime != "" && this.form.breakStartTime != null) {
if (
this.form.breakStartTime != "" &&
this.form.breakStartTime != null
) {
this.form.breakStartTime = this.setData(this.form.breakStartTime);
}
if (this.form.breakEndTime != "" && this.form.breakEndTime != null) {
this.form.breakEndTime = this.setData(this.form.breakEndTime);
}
let arr = []
let arr = [];
this.form.attDay.split(",").forEach((item, index) => {
if (item == '1') {
arr.push(index)
if (item == "1") {
arr.push(index);
}
})
this.$set(this.form, "attDays", arr)
});
this.$set(this.form, "attDays", arr);
this.personOptions = this.changeData(this.form.treeList);
this.form.checkList = []
this.setCheck(this.form.treeList)
this.form.checkList = [];
this.setCheck(this.form.treeList);
// console.log(this.form)
this.open = true;
this.title = "编辑";
});
},
setCheck(data) { //
data.map(item => {
setCheck(data) {
//
data.map((item) => {
if (item.isChecked) {
this.form.checkList.push(item.id)
this.form.checkList.push(item.id);
}
item.children && item.children.length > 0 && this.setCheck(item.children);
})
item.children &&
item.children.length > 0 &&
this.setCheck(item.children);
});
},
/** 提交按钮 */
submitForm: function () {
console.log(this.form)
this.$refs["form"].validate(valid => {
console.log(this.form);
this.$refs["form"].validate((valid) => {
if (valid) {
let arr = [0, 0, 0, 0, 0, 0, 0]
this.form.attDays.forEach(item => {
arr[item] = 1
})
this.form.attDay = arr.join(",")
let arr2 = []
this.form.checkList.forEach(item => {
let arr = [0, 0, 0, 0, 0, 0, 0];
this.form.attDays.forEach((item) => {
arr[item] = 1;
});
this.form.attDay = arr.join(",");
let arr2 = [];
this.form.checkList.forEach((item) => {
if (item.indexOf("|") > -1) {
let obj = {
orgId: item.split('|')[1],
userId: item.split('|')[0]
}
arr2.push(obj)
orgId: item.split("|")[1],
userId: item.split("|")[0],
};
arr2.push(obj);
} else {
let obj = {
orgId: item,
userId: ""
}
arr2.push(obj)
userId: "",
};
arr2.push(obj);
}
})
});
this.form.checkOrgList = arr2;
console.log(this.form)
console.log(this.form);
if(this.form.toWorkTime!="" && this.form.toWorkTime !=null){
this.form.toWorkTime = this.form.toWorkTime.toTimeString().substring(0, 8);
if (this.form.toWorkTime != "" && this.form.toWorkTime != null) {
this.form.toWorkTime = this.form.toWorkTime
.toTimeString()
.substring(0, 8);
}
if(this.form.offWorkTime!="" && this.form.offWorkTime !=null){
this.form.offWorkTime = this.form.offWorkTime.toTimeString().substring(0, 8);
if (this.form.offWorkTime != "" && this.form.offWorkTime != null) {
this.form.offWorkTime = this.form.offWorkTime
.toTimeString()
.substring(0, 8);
}
if(this.form.breakStartTime!="" && this.form.breakStartTime !=null){
this.form.breakStartTime = this.form.breakStartTime.toTimeString().substring(0, 8);
if (
this.form.breakStartTime != "" &&
this.form.breakStartTime != null
) {
this.form.breakStartTime = this.form.breakStartTime
.toTimeString()
.substring(0, 8);
}
if(this.form.breakEndTime!="" && this.form.breakEndTime !=null){
this.form.breakEndTime = this.form.breakEndTime.toTimeString().substring(0, 8);
if (this.form.breakEndTime != "" && this.form.breakEndTime != null) {
this.form.breakEndTime = this.form.breakEndTime
.toTimeString()
.substring(0, 8);
}
if (this.form.groupId != undefined) {
this.form.checkOrgList.forEach(item => {
item.groupId = this.form.groupId
})
updateAttGroup(this.form).then(response => {
this.form.checkOrgList.forEach((item) => {
item.groupId = this.form.groupId;
});
updateAttGroup(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addAttGroup(this.form).then(response => {
addAttGroup(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
@ -706,13 +851,16 @@ export default {
/** 删除按钮操作 */
handleDelete(row) {
const groupIds = row.groupId || this.ids;
this.$modal.confirm('是否确认删除该数据项?').then(function () {
return delAttGroup(groupIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {
});
this.$modal
.confirm("是否确认删除该数据项?")
.then(function () {
return delAttGroup(groupIds);
})
.then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
@ -720,8 +868,7 @@ export default {
// ...this.queryParams
// }, `type_${new Date().getTime()}.xlsx`)
},
}
},
};
</script>