临时外出添加培训报备
This commit is contained in:
parent
9ade6a5bdf
commit
b84687c39b
|
|
@ -1,7 +1,18 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container" id="outApply">
|
<div class="app-container" id="outApply">
|
||||||
<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="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
|
<el-date-picker
|
||||||
v-model="queryParams.leaveDate" :clearable="false"
|
v-model="queryParams.leaveDate" :clearable="false"
|
||||||
type="date" value-format="yyyy-MM-dd" style="width: 95%"
|
type="date" value-format="yyyy-MM-dd" style="width: 95%"
|
||||||
|
|
@ -84,6 +95,11 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="外出时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true"
|
<el-table-column label="外出时长(天)" align="center" prop="leaveDuration" :show-overflow-tooltip="true"
|
||||||
width="180"/>
|
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">
|
<el-table-column label="审批状态" align="center" prop="examineStatus" :show-overflow-tooltip="true" width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag :options="dict.type.apply_status" :value="scope.row.examineStatus"/>
|
<dict-tag :options="dict.type.apply_status" :value="scope.row.examineStatus"/>
|
||||||
|
|
@ -253,6 +269,18 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</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-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
|
|
@ -307,8 +335,8 @@ export default {
|
||||||
components: {Treeselect},
|
components: {Treeselect},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
userInfo: this.$store.state.user,
|
userInfo: {},
|
||||||
orgList: this.$store.state.user.orgList,
|
orgList: [],
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: false,
|
loading: false,
|
||||||
// 选中数组
|
// 选中数组
|
||||||
|
|
@ -322,19 +350,7 @@ export default {
|
||||||
// 总条数
|
// 总条数
|
||||||
total: 0,
|
total: 0,
|
||||||
// 表格数据
|
// 表格数据
|
||||||
tableList: [
|
tableList: [],
|
||||||
{
|
|
||||||
userName: "张三",
|
|
||||||
orgName: "公司机关/分公司机关/×××项目部",
|
|
||||||
createTime: "2024-08-28 17:28",
|
|
||||||
leaveStartDate: "2024-08-29",
|
|
||||||
leaveStartInterval: "1",
|
|
||||||
leaveEndDate: "2024-08-29",
|
|
||||||
leaveEndInterval: "2",
|
|
||||||
leaveDuration: "1",
|
|
||||||
examineStatus: "0",
|
|
||||||
}
|
|
||||||
],
|
|
||||||
// 弹出层标题
|
// 弹出层标题
|
||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
|
|
@ -350,9 +366,9 @@ export default {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
leaveType: "临时外出",
|
userName: undefined,
|
||||||
leaveDate: undefined,
|
attStatus: undefined,
|
||||||
examineStatus: undefined
|
isTrain: undefined
|
||||||
},
|
},
|
||||||
personOptions: [],
|
personOptions: [],
|
||||||
typeList: [{value: '1', label: '固定班制'}, {value: '2', label: '自由工时'}],
|
typeList: [{value: '1', label: '固定班制'}, {value: '2', label: '自由工时'}],
|
||||||
|
|
@ -361,44 +377,64 @@ export default {
|
||||||
label: '周四'
|
label: '周四'
|
||||||
}, {id: 4, label: '周五'}, {id: 5, label: '周六'}, {id: 6, 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: {
|
rules: {
|
||||||
userName: [
|
userName: [
|
||||||
{required: true, message: "申请人不能为空", trigger: "blur"}
|
{ required: true, message: "申请人不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
postName: [
|
postName: [
|
||||||
{required: true, message: "职务不能为空", trigger: "blur"}
|
{ required: true, message: "职务不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
orgId: [
|
orgId: [
|
||||||
{required: true, message: "所属部门不能为空", trigger: "blur"}
|
{ required: true, message: "所属部门不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
leaveStartDate: [
|
leaveStartDate: [
|
||||||
{required: true, message: "外出开始时间不能为空", trigger: "blur"}
|
{ required: true, message: "外出开始时间不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
leaveStartInterval: [
|
leaveStartInterval: [
|
||||||
{required: true, message: "不能为空", trigger: "change"}
|
{ required: true, message: "不能为空", trigger: "change" }
|
||||||
],
|
],
|
||||||
leaveEndDate: [
|
leaveEndDate: [
|
||||||
{required: true, message: "外出结束时间不能为空", trigger: "blur"}
|
{ required: true, message: "外出结束时间不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
leaveEndInterval: [
|
leaveEndInterval: [
|
||||||
{required: true, message: "不能为空", trigger: "change"}
|
{ required: true, message: "不能为空", trigger: "change" }
|
||||||
],
|
],
|
||||||
leaveDuration: [
|
leaveDuration: [
|
||||||
{required: true, message: "外出时长不能为空", trigger: "blur"}
|
{ required: true, message: "外出时长不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
location: [
|
location: [
|
||||||
{required: true, message: "是否请示领导不能为空", trigger: "blur"}
|
{ required: true, message: "地点不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
isAgree: [
|
isAgree: [
|
||||||
{required: true, message: "是否请示领导不能为空", trigger: "blur"}
|
{ required: true, message: "是否请示领导不能为空", trigger: "blur" }
|
||||||
|
],
|
||||||
|
isTrain: [
|
||||||
|
{ required: true, message: "是否培训不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
hostUserId: [
|
hostUserId: [
|
||||||
{required: true, message: "代理主持工作人员不能为空", trigger: "blur"}
|
{ required: true, message: "代理主持工作人员不能为空", trigger: "blur" }
|
||||||
],
|
],
|
||||||
leaveReason: [
|
leaveReason: [
|
||||||
{required: true, message: "外出事由不能为空", trigger: "blur"}
|
{ required: true, message: "外出事由不能为空", trigger: "blur" }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
// 开始日期选择限制
|
// 开始日期选择限制
|
||||||
|
|
@ -432,11 +468,18 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.initUserInfo();
|
||||||
this.getList();
|
this.getList();
|
||||||
this.getUserLists();
|
this.getUserLists();
|
||||||
this.getDeptList();
|
this.getDeptList();
|
||||||
},
|
},
|
||||||
methods: {
|
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() {
|
async handleDateChange() {
|
||||||
if (this.form.leaveStartDate && this.form.leaveEndDate) {
|
if (this.form.leaveStartDate && this.form.leaveEndDate) {
|
||||||
await this.daysBetween(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 => {
|
await getDaysDate(data).then(response => {
|
||||||
this.daysNumber = response.data.date;
|
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() {
|
getList() {
|
||||||
|
|
@ -499,8 +537,8 @@ export default {
|
||||||
// 表单重置
|
// 表单重置
|
||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
userId: this.userInfo.id,
|
userId: undefined,
|
||||||
userName: this.userInfo.name,
|
userName: undefined,
|
||||||
orgId: undefined,
|
orgId: undefined,
|
||||||
leaveStartDate: undefined,
|
leaveStartDate: undefined,
|
||||||
leaveStartInterval: undefined,
|
leaveStartInterval: undefined,
|
||||||
|
|
@ -510,8 +548,11 @@ export default {
|
||||||
leaveType: "临时外出",
|
leaveType: "临时外出",
|
||||||
examineStatus: "0",
|
examineStatus: "0",
|
||||||
isAgree: "0",
|
isAgree: "0",
|
||||||
|
isTrain: "0",
|
||||||
hostUserId: [],
|
hostUserId: [],
|
||||||
leaveReason: undefined,
|
leaveReason: undefined,
|
||||||
|
location: undefined,
|
||||||
|
remark: undefined
|
||||||
};
|
};
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
},
|
},
|
||||||
|
|
@ -524,6 +565,7 @@ export default {
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.dateRange = [];
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
|
this.queryParams.isTrain = undefined;
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
|
|
@ -624,7 +666,7 @@ export default {
|
||||||
const containsZero = userIdArray.includes('0');
|
const containsZero = userIdArray.includes('0');
|
||||||
const containsOtherValues = userIdArray.some(id => id !== '0');
|
const containsOtherValues = userIdArray.some(id => id !== '0');
|
||||||
if (containsZero && containsOtherValues) {
|
if (containsZero && containsOtherValues) {
|
||||||
this.$modal.msgError("选择’/‘后不能在选择其他人员");
|
this.$modal.msgError("选择'/'后不能在选择其他人员");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue