Commit 2582d12c authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 7da271f3 75109fcd
<template> <template>
<!-- 弹出框表单 --> <!-- 弹出框表单 -->
<el-drawer <el-drawer
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
size="60%"> size="60%"
<div style="padding:15px"> >
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <div style="padding:15px">
<el-row> <el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- <Field label="请假人" prop="leavePersonId" v-model="form.leavePersonId" placeholder="请输入请假人"/> --> <el-row>
<Field label="请假人" prop="leavePerson" v-model="form.leavePerson" placeholder="请输入请假人" :maxLength="10"/> <!-- <Field label="请假人" prop="leavePersonId" v-model="form.leavePersonId" placeholder="请输入请假人"/> -->
<Field label="所属部门" prop="deptId" v-model="form.deptId" type="select" placeholder="请选择所属部门" :enumData="dict.deptId" /> <Field
<!-- <Field label="所属部门" prop="deptName" v-model="form.deptName" type="textarea" placeholder="请输入所属部门"/> --> label="请假人"
<Field label="电话号码" prop="phoneNumber" v-model="form.phoneNumber" placeholder="请输入电话号码" :maxLength="11"/> prop="leavePerson"
<Field label="请假类型" prop="leaveType" v-model="form.leaveType" type="select" :enumData="dict.leaveType" placeholder="请选择请假类型"/> v-model="form.leavePerson"
<Field label="开始时间" prop="startTime" v-model="form.startTime" type="datetime" @change="changedate" /> placeholder="请输入请假人"
<Field label="结束时间" prop="endTime" v-model="form.endTime" type="datetime" @change="changedate" /> :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="请输入电话号码"
: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="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
<Field label="请假事由" prop="reason" v-model="form.reason" type="textarea" placeholder="请输入请假事由"/> label="时长(单位:分钟)"
<Field label="审批负责人" prop="approverId" type="select" v-model="form.approverId" placeholder="请选择审批负责人" :enumData="dict.approverId"/> disabled
<!-- <Field label="审批负责人" prop="approver" v-model="form.approver" placeholder="请输入审批负责人"/> --> prop="duration"
<!-- <Field label="附件" prop="attachment" v-model="form.attachment" type="textarea" placeholder="请输入附件"/> --> v-model="form.duration"
<Field label="备注" prop="remark" v-model="form.remark" type="textarea" placeholder="请输入备注"/> placeholder="请输入时长(分钟)"
</el-row> :maxLength="4"
<el-form-item label="附件路径" prop="attachmentPath"> />
<FileUpload @input="uploadFn" :value="attachmentPath" /> <Field
</el-form-item> label="请假事由"
<form-buttons @submit="beforeSubmit" noCancelBtn /> prop="reason"
</el-form> v-model="form.reason"
</div> type="textarea"
</el-drawer> placeholder="请输入请假事由"
/>
<Field
label="审批负责人"
prop="approverId"
type="select"
v-model="form.approverId"
placeholder="请选择审批负责人"
:enumData="dict.approverId"
/>
<!-- <Field label="审批负责人" prop="approver" v-model="form.approver" placeholder="请输入审批负责人"/> -->
<!-- <Field label="附件" prop="attachment" v-model="form.attachment" type="textarea" placeholder="请输入附件"/> -->
<Field
label="备注"
prop="remark"
v-model="form.remark"
type="textarea"
placeholder="请输入备注"
/>
</el-row>
<el-form-item label="附件路径" prop="attachmentPath">
<FileUpload @input="uploadFn" :value="attachmentPath" />
</el-form-item>
<form-buttons @submit="beforeSubmit" noCancelBtn />
</el-form>
</div>
</el-drawer>
</template> </template>
<script> <script>
import form from "@/assets/mixins/formdialog"; import form from "@/assets/mixins/formdialog";
import valid from '@/assets/utils/vaild.js' import valid from "@/assets/utils/vaild.js";
import {getMinu} from '@/assets/utils/dateFormat.js' import { getMinu } from "@/assets/utils/dateFormat.js";
export default { export default {
name: "AttendanceLeaveRecordDetail", name: "AttendanceLeaveRecordDetail",
mixins: [form], mixins: [form],
components: { components: {},
created() {
}, this.changePath("attendance/leave/record");
created() { },
this.changePath("attendance/leave/record") data() {
}, return {
data() { baseUrl: process.env.VUE_APP_API_BASE_URL + "/",
return { // 遮罩层
baseUrl:process.env.VUE_APP_API_BASE_URL+'/', loading: true,
// 遮罩层 // 弹出层标题
loading: true, title: "请假记录信息",
// 弹出层标题 // 是否显示弹出层
title: "请假记录信息", open: false,
// 是否显示弹出层 direction: "rtl",
open: false, toString: ["leaveType"],
direction:"rtl", toDate: ["startTime", "endTime"],
toString:[ // 表单校验
"leaveType", rules: {
], leavePerson: [
toDate:[ { required: true, message: "请输入请假人", trigger: "blur" },
"startTime", ],
"endTime", deptId: [{ required: true, message: "请选择部门", trigger: "change" }],
], phoneNumber: [
// 表单校验 { required: true, message: "请输入电话号码", trigger: "blur" },
rules: { {
leavePerson:[{required: true,message: "请输入请假人", trigger: "blur" }], validator: valid.phone,
deptId:[{required: true,message: "请选择部门", trigger: "change" }], message: "电话号码格式不正确",
phoneNumber:[ trigger: ["change", "blur"],
{required: true,message: "请输入电话号码", trigger: "blur" }, },
{ ],
validator: valid.phone, leaveType: [
message: '电话号码格式不正确', { required: true, message: "请选择请假类型", trigger: "change" },
trigger: ['change', 'blur'] ],
} startTime: [
], { required: true, message: "请选择开始时间", trigger: "change" },
leaveType:[{required: true,message: "请选择请假类型", trigger: "change" }], ],
startTime:[{required: true,message: "请选择开始时间", trigger: "change" }], endTime: [
endTime:[ { required: true, message: "请选择结束时间", trigger: "change" },
{required: true,message: "请选择结束时间", trigger: "change" }, ],
duration: [{ required: true, message: "请输入时长", trigger: "blur" }],
], reason: [
duration:[{required: true,message: "请输入时长", trigger: "blur" }], { required: true, message: "请输入请假理由", trigger: "blur" },
reason:[{required: true,message: "请输入请假理由", trigger: "blur" }], ],
approverId:[{required: true,message: "请选择审批人", trigger: "change" }], approverId: [
attachmentPath:[{required: true,message: "请上传附件文件", trigger: "change" }], { required: true, message: "请选择审批人", trigger: "change" },
}, ],
attachmentPath:'' attachmentPath: [
}; { required: true, message: "请上传附件文件", trigger: "change" },
}, ],
},
methods: { attachmentPath: "",
beforeSubmit(){
if(this.form.endTime.valueOf() > this.form.startTime.valueOf()){
this.submitForm()
}else{
this.$message.error('结束日期需大于请假日期')
}
},
uploadFn(e){
this.attachmentPath = e
this.form.attachmentPath = this.attachmentPath[0].url
},
/** 编辑 */
edit(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/leave/record/edit";
this.getData();
this.pageInfo.type="edit"
this.title = "修改请假记录信息";
},
/** 新增 */
add(row) {
this.reset()
this.urls.currUrl = "attendance/leave/record/add";
this.getData();
this.pageInfo.type="add"
this.title = "新增请假记录信息";
},
/** 查看*/
view(row) {
this.reset()
this.query = { id: row.id };
this.urls.currUrl ="attendance/leave/record/view";
this.getData();
this.pageInfo.type="view"
this.title = "请假记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
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 = {
leavePersonId : null,
leavePerson : "",
deptId : null,
deptName : "",
phoneNumber : "",
leaveType : null,
startTime : null,
endTime : null,
duration : null,
reason : "",
approverId : null,
approver : "",
attachment : "",
attachmentPath : "",
remark : "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
}; };
},
methods: {
beforeSubmit() {
if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) {
this.submitForm();
} else {
this.$message.error("结束日期需大于请假日期");
}
},
uploadFn(e) {
this.attachmentPath = e;
this.form.attachmentPath = this.attachmentPath[0].url;
},
/** 编辑 */
edit(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "attendance/leave/record/edit";
this.getData();
this.pageInfo.type = "edit";
this.title = "修改请假记录信息";
},
/** 新增 */
add(row) {
this.reset();
this.urls.currUrl = "attendance/leave/record/add";
this.getData();
this.pageInfo.type = "add";
this.title = "新增请假记录信息";
},
/** 查看*/
view(row) {
this.reset();
this.query = { id: row.id };
this.urls.currUrl = "attendance/leave/record/view";
this.getData();
this.pageInfo.type = "view";
this.title = "请假记录信息详细";
},
/**取消按钮 */
cancel() {
this.open = false;
},
/**获取数据后弹框 */
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 = {
leavePersonId: null,
leavePerson: "",
deptId: null,
deptName: "",
phoneNumber: "",
leaveType: null,
startTime: null,
endTime: null,
duration: null,
reason: "",
approverId: null,
approver: "",
attachment: "",
attachmentPath: "",
remark: "",
};
this.resetForm("form");
},
resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
},
},
};
</script> </script>
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