临时外出添加培训报备

This commit is contained in:
fl 2025-03-04 13:51:44 +08:00
parent 9ade6a5bdf
commit b84687c39b
1 changed files with 82 additions and 40 deletions

View File

@ -1,7 +1,18 @@
<template>
<div class="app-container" id="outApply">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="申请时间" prop="leaveDate">
<el-form-item label="姓名" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入姓名" clearable style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否培训" prop="isTrain">
<el-select v-model="queryParams.isTrain" placeholder="是否培训" clearable style="width: 240px">
<el-option label="是" value="1"/>
<el-option label="否" value="0"/>
</el-select>
</el-form-item>
<el-form-item label="日期">
<el-date-picker
v-model="queryParams.leaveDate" :clearable="false"
type="date" value-format="yyyy-MM-dd" style="width: 95%"
@ -84,6 +95,11 @@
</el-table-column>
<el-table-column label="外出时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true"
width="180"/>
<el-table-column label="是否培训" align="center" prop="isTrain" width="100">
<template slot-scope="scope">
<span>{{ scope.row.isTrain === '1' ? '是' : '否' }}</span>
</template>
</el-table-column>
<el-table-column label="审批状态" align="center" prop="examineStatus" :show-overflow-tooltip="true" width="100">
<template slot-scope="scope">
<dict-tag :options="dict.type.apply_status" :value="scope.row.examineStatus"/>
@ -253,6 +269,18 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否培训:" prop="isTrain">
<el-radio-group v-model="form.isTrain">
<el-radio
v-for="item in isAgreeList"
:key="item.id"
:label="item.id"
>{{ item.name }}
</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
@ -307,8 +335,8 @@ export default {
components: {Treeselect},
data() {
return {
userInfo: this.$store.state.user,
orgList: this.$store.state.user.orgList,
userInfo: {},
orgList: [],
//
loading: false,
//
@ -322,19 +350,7 @@ export default {
//
total: 0,
//
tableList: [
{
userName: "张三",
orgName: "公司机关/分公司机关/×××项目部",
createTime: "2024-08-28 1728",
leaveStartDate: "2024-08-29",
leaveStartInterval: "1",
leaveEndDate: "2024-08-29",
leaveEndInterval: "2",
leaveDuration: "1",
examineStatus: "0",
}
],
tableList: [],
//
title: "",
//
@ -350,9 +366,9 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
leaveType: "临时外出",
leaveDate: undefined,
examineStatus: undefined
userName: undefined,
attStatus: undefined,
isTrain: undefined
},
personOptions: [],
typeList: [{value: '1', label: '固定班制'}, {value: '2', label: '自由工时'}],
@ -361,7 +377,24 @@ export default {
label: '周四'
}, {id: 4, label: '周五'}, {id: 5, label: '周六'}, {id: 6, label: '周日'}],
//
form: {},
form: {
userId: undefined,
userName: undefined,
orgId: undefined,
leaveStartDate: undefined,
leaveStartInterval: undefined,
leaveEndDate: undefined,
leaveEndInterval: undefined,
leaveDuration: undefined,
leaveType: "临时外出",
examineStatus: "0",
isAgree: "0",
isTrain: "0",
hostUserId: [],
leaveReason: undefined,
location: undefined,
remark: undefined
},
//
rules: {
userName: [
@ -389,11 +422,14 @@ export default {
{ required: true, message: "外出时长不能为空", trigger: "blur" }
],
location: [
{required: true, message: "是否请示领导不能为空", trigger: "blur"}
{ required: true, message: "地点不能为空", trigger: "blur" }
],
isAgree: [
{ required: true, message: "是否请示领导不能为空", trigger: "blur" }
],
isTrain: [
{ required: true, message: "是否培训不能为空", trigger: "blur" }
],
hostUserId: [
{ required: true, message: "代理主持工作人员不能为空", trigger: "blur" }
],
@ -432,11 +468,18 @@ export default {
};
},
created() {
this.initUserInfo();
this.getList();
this.getUserLists();
this.getDeptList();
},
methods: {
initUserInfo() {
this.userInfo = this.$store.state.user;
this.orgList = this.$store.state.user.orgList;
this.form.userId = this.userInfo.id;
this.form.userName = this.userInfo.name;
},
async handleDateChange() {
if (this.form.leaveStartDate && this.form.leaveEndDate) {
await this.daysBetween(this.form.leaveStartDate, this.form.leaveEndDate)
@ -468,11 +511,6 @@ export default {
await getDaysDate(data).then(response => {
this.daysNumber = response.data.date;
});
// const oneDay = 24 * 60 * 60 * 1000;
// const date1Ms = new Date(date1).getTime()
// const date2Ms = new Date(date2).getTime()
// const diff = Math.abs(date1Ms - date2Ms); //
// return diff / oneDay; //
},
/** 查询列表 */
getList() {
@ -499,8 +537,8 @@ export default {
//
reset() {
this.form = {
userId: this.userInfo.id,
userName: this.userInfo.name,
userId: undefined,
userName: undefined,
orgId: undefined,
leaveStartDate: undefined,
leaveStartInterval: undefined,
@ -510,8 +548,11 @@ export default {
leaveType: "临时外出",
examineStatus: "0",
isAgree: "0",
isTrain: "0",
hostUserId: [],
leaveReason: undefined,
location: undefined,
remark: undefined
};
this.resetForm("form");
},
@ -524,6 +565,7 @@ export default {
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.queryParams.isTrain = undefined;
this.handleQuery();
},
/** 新增按钮操作 */
@ -624,7 +666,7 @@ export default {
const containsZero = userIdArray.includes('0');
const containsOtherValues = userIdArray.some(id => id !== '0');
if (containsZero && containsOtherValues) {
this.$modal.msgError("选择/后不能在选择其他人员");
this.$modal.msgError("选择'/'后不能在选择其他人员");
return;
}