|
@@ -1,92 +1,141 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<el-row :gutter="15">
|
|
|
- <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px" class="qjform">
|
|
|
+ <el-form ref="form" :model="form" :rules="rules" size="medium" label-width="100px" class="qjform" :data="leaveList">
|
|
|
<el-col :span="24">
|
|
|
<h2 align="center">请假单</h2>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="请假人" prop="field101">
|
|
|
- <el-input v-model="formData.field101" placeholder="请输入请假人" clearable :style="{width: '100%'}">
|
|
|
- </el-input>
|
|
|
+ <el-form-item label="请假事由" prop="activitiKey" v-show="false">
|
|
|
+ <el-input v-model="form.activitiKey"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="请假人" prop="leavename">
|
|
|
+ <el-input
|
|
|
+ v-model="form.leavename"
|
|
|
+ placeholder="请输入请假人"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="部门" prop="field102">
|
|
|
- <el-input v-model="formData.field102" placeholder="请输入部门" clearable :style="{width: '100%'}">
|
|
|
- </el-input>
|
|
|
+ <el-form-item label="部门" prop="deptname">
|
|
|
+ <el-input
|
|
|
+ v-model="form.deptname"
|
|
|
+ placeholder="请输入部门"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="职务" prop="field103">
|
|
|
- <el-input v-model="formData.field103" placeholder="请输入职务" clearable :style="{width: '100%'}">
|
|
|
- </el-input>
|
|
|
+ <el-form-item label="职物" prop="positions">
|
|
|
+ <el-input
|
|
|
+ v-model="form.positions"
|
|
|
+ placeholder="请输入职物"
|
|
|
+ size="small"
|
|
|
+ clearable :style="{width: '100%'}"
|
|
|
+
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="请假类别" prop="field106">
|
|
|
- <el-radio-group v-model="formData.field106" size="medium">
|
|
|
- <el-radio v-for="(item, index) in field106Options" :key="index" :label="item.value"
|
|
|
- :disabled="item.disabled">{{item.label}}
|
|
|
- </el-radio>
|
|
|
+ <el-form-item label="请假类别" prop="options">
|
|
|
+<!-- <el-radio-group v-model="form.options" size="medium">-->
|
|
|
+<!-- <el-radio v-for="(item, index) in field106Options" :key="index" :label="item.value"-->
|
|
|
+<!-- :disabled="item.disabled">{{item.label}}-->
|
|
|
+<!-- </el-radio>-->
|
|
|
+<!-- </el-radio-group>-->
|
|
|
+ <el-radio-group v-model="form.options"size="medium">
|
|
|
+ <el-radio
|
|
|
+ v-for="dict in options"
|
|
|
+ :key="dict.dictValue"
|
|
|
+ :label="dict.dictValue"
|
|
|
+ >{{dict.dictLabel}}</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <el-form-item label="请假事由" prop="field107">
|
|
|
- <el-input v-model="formData.field107" type="textarea" placeholder="请输入请假事由"
|
|
|
+ <el-form-item label="请假事由" prop="reason">
|
|
|
+ <el-input v-model="form.reason" type="textarea" placeholder="请输入请假事由"
|
|
|
:autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="18">
|
|
|
- <el-form-item label="日期范围" prop="field102">
|
|
|
- <el-date-picker type="daterange" v-model="formData.field102" format="yyyy-MM-dd"
|
|
|
- value-format="yyyy-MM-dd" :style="{width: '100%'}" start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期" range-separator="至" clearable></el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="共" prop="field110">
|
|
|
- <el-input v-model="formData.field110" placeholder="" show-word-limit clearable
|
|
|
- :style="{width: '100%'}">
|
|
|
- <template slot="append">天</template>
|
|
|
- </el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
+<!-- <el-row :span="24">-->
|
|
|
+ <el-col :span="18">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="请假开始时间" prop="daterange">
|
|
|
+ <!-- <el-date-picker type="daterange" v-model="form.daterange" format="yyyy-MM-dd"-->
|
|
|
+ <!-- value-format="yyyy-MM-dd" :style="{width: '100%'}" start-placeholder="开始日期"-->
|
|
|
+ <!-- end-placeholder="结束日期" range-separator="至" clearable></el-date-picker>-->
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.daterange"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="请假结束时间" prop="endTime">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="form.endTime"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="共" prop="statistics">
|
|
|
+ <el-input v-model="form.statistics" placeholder="" show-word-limit clearable
|
|
|
+ :style="{width: '100%'}">
|
|
|
+ <template slot="append">天</template>
|
|
|
+ </el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+<!-- </el-row>-->
|
|
|
+
|
|
|
<el-col :span="24">
|
|
|
<p style="padding-left: 100px;color:#ff4949;">
|
|
|
1.请假半天可以写0.5不能写0.1,0.2等小数。2.全天假以00:00:00开始以23:59:59结束,下午请假以12:00:00开始</p>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="休息期间联系方式" prop="field111">
|
|
|
- <el-input v-model="formData.field111" placeholder="请输入休息期间联系方式" clearable
|
|
|
+ <el-form-item label="休息期间联系方式" prop="phone">
|
|
|
+ <el-input v-model="form.phone" placeholder="请输入休息期间联系方式" clearable
|
|
|
:style="{width: '100%'}"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="休息期间应急工作委托人" prop="field112">
|
|
|
- <el-input v-model="formData.field112" placeholder="请输入休息期间应急工作委托人" clearable
|
|
|
+ <el-form-item label="休息期间应急工作委托人" prop="consignor">
|
|
|
+ <el-input v-model="form.consignor" placeholder="请输入休息期间应急工作委托人" clearable
|
|
|
:style="{width: '100%'}"></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="部门主管(经理)意见" prop="field114">
|
|
|
- <el-input v-model="formData.field114" type="textarea" placeholder="请输入部门主管(经理)意见"
|
|
|
- :autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="人力资源部(行政办)意见" prop="field115">
|
|
|
- <el-input v-model="formData.field115" type="textarea" placeholder="请输入人力资源部(行政办)意见"
|
|
|
- :autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="总经理意见" prop="field116">
|
|
|
- <el-input v-model="formData.field116" type="textarea" placeholder="请输入总经理意见"
|
|
|
- :autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
+
|
|
|
+ <!-- <el-col :span="12">-->
|
|
|
+ <!-- <el-form-item label="部门主管(经理)意见" prop="field114">-->
|
|
|
+ <!-- <el-input v-model="formData.field114" type="textarea" placeholder="请输入部门主管(经理)意见"-->
|
|
|
+ <!-- :autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- </el-col>-->
|
|
|
+ <!-- <el-col :span="12">-->
|
|
|
+ <!-- <el-form-item label="人力资源部(行政办)意见" prop="field115">-->
|
|
|
+ <!-- <el-input v-model="formData.field115" type="textarea" placeholder="请输入人力资源部(行政办)意见"-->
|
|
|
+ <!-- :autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- </el-col>-->
|
|
|
+ <!-- <el-col :span="12">-->
|
|
|
+ <!-- <el-form-item label="总经理意见" prop="field116">-->
|
|
|
+ <!-- <el-input v-model="formData.field116" type="textarea" placeholder="请输入总经理意见"-->
|
|
|
+ <!-- :autosize="{minRows: 4, maxRows: 4}" :style="{width: '100%'}"></el-input>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <!-- </el-col>-->
|
|
|
<el-col :span="12">
|
|
|
<p>
|
|
|
说明: 1.返回公司报到时间为销假时间。 2.所有员工3天及以上请假需总经理批准。 3.本表存人力资源部(行政办)备案。"
|
|
@@ -100,109 +149,147 @@
|
|
|
</el-col>
|
|
|
</el-form>
|
|
|
</el-row>
|
|
|
+
|
|
|
+<!-- <el-form-item label="actkey:" prop="mailTheme">-->
|
|
|
+<!-- <el-input v-model="form.actkey" type="textarea" placeholder="" />-->
|
|
|
+<!-- </el-form-item>-->
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
+ import { addLeave } from "@/api/activiti/leave/leave";
|
|
|
export default {
|
|
|
+ name: "Leave",
|
|
|
components: {},
|
|
|
- props: [],
|
|
|
+ props: {
|
|
|
+ data:'',
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
- formData: {
|
|
|
- field101: undefined,
|
|
|
- field102: undefined,
|
|
|
- field103: undefined,
|
|
|
- field106: undefined,
|
|
|
- field107: undefined,
|
|
|
- field109: null,
|
|
|
- field110: undefined,
|
|
|
- field111: undefined,
|
|
|
- field112: undefined,
|
|
|
- field114: undefined,
|
|
|
- field115: undefined,
|
|
|
- field116: undefined,
|
|
|
- field119: undefined
|
|
|
+ leaveList: [],
|
|
|
+ form: {
|
|
|
+ leavename: undefined,
|
|
|
+ deptname: undefined,
|
|
|
+ positions: undefined,
|
|
|
+ options: undefined,
|
|
|
+ reason: undefined,
|
|
|
+ daterange: undefined,
|
|
|
+ endTime:undefined,
|
|
|
+ // daterange : Date.parse(this.form.daterange),
|
|
|
+ // endTime : Date.parse(this.form.endTime),
|
|
|
+ // statistics: parseInt((daterange-endTime)/ (1000 * 60 * 60 * 24)),
|
|
|
+ phone: undefined,
|
|
|
+ consignor: undefined,
|
|
|
},
|
|
|
rules: {
|
|
|
- field101: [{
|
|
|
- required: true,
|
|
|
- message: '请输入请假人',
|
|
|
- trigger: 'blur'
|
|
|
- }],
|
|
|
- field102: [{
|
|
|
- required: true,
|
|
|
- message: '请输入部门',
|
|
|
- trigger: 'blur'
|
|
|
- }],
|
|
|
- field103: [],
|
|
|
- field106: [{
|
|
|
- required: true,
|
|
|
- message: '请假类别不能为空',
|
|
|
- trigger: 'change'
|
|
|
- }],
|
|
|
- field107: [{
|
|
|
- required: true,
|
|
|
- message: '请输入请假事由',
|
|
|
- trigger: 'blur'
|
|
|
- }],
|
|
|
- field109: [{
|
|
|
- required: true,
|
|
|
- message: '时间范围不能为空',
|
|
|
- trigger: 'change'
|
|
|
- }],
|
|
|
- field110: [],
|
|
|
- field111: [],
|
|
|
- field112: [],
|
|
|
- field114: [],
|
|
|
- field115: [],
|
|
|
- field116: [],
|
|
|
- field119: []
|
|
|
+ leavename: [
|
|
|
+ { required: true, message: "请假人不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ deptname: [
|
|
|
+ { required: true, message: "部门不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ positions: [
|
|
|
+ { required: true, message: "职物不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ options: [
|
|
|
+ { required: true, message: "请假类别不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ reason: [
|
|
|
+ { required: true, message: "请假事由不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ daterange: [
|
|
|
+ { required: true, message: "请假开始时间不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ endTime: [
|
|
|
+ { required: true, message: "请假结束时间不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ statistics: [
|
|
|
+ { required: true, message: "请假天数不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
},
|
|
|
- field106Options: [{
|
|
|
- 'label': '病假',
|
|
|
- 'value': 1
|
|
|
- }, {
|
|
|
- 'label': '事假',
|
|
|
- 'value': 2
|
|
|
- }, {
|
|
|
- 'label': '年假',
|
|
|
- 'value': 3
|
|
|
- }, {
|
|
|
- 'label': '婚假',
|
|
|
- 'value': 4
|
|
|
- }, {
|
|
|
- 'label': '产假',
|
|
|
- 'value': 5
|
|
|
- }, {
|
|
|
- 'label': '丧假',
|
|
|
- 'value': 6
|
|
|
- }, {
|
|
|
- 'label': '探亲假',
|
|
|
- 'value': 7
|
|
|
- }, {
|
|
|
- 'label': '护理假',
|
|
|
- 'value': 8
|
|
|
- }, {
|
|
|
- 'label': '其他',
|
|
|
- 'value': 9
|
|
|
- }]
|
|
|
+ options: []
|
|
|
}
|
|
|
},
|
|
|
computed: {},
|
|
|
watch: {},
|
|
|
created() {
|
|
|
+ this.form.activitiKey = this.data;
|
|
|
+ this.getList();
|
|
|
},
|
|
|
mounted() {
|
|
|
},
|
|
|
methods: {
|
|
|
+ // GetNumberOfDays(date1,date2){//获得天数
|
|
|
+ // //date1:开始日期,date2结束日期
|
|
|
+ //
|
|
|
+ // var day = parseInt((a2-a1)/ (1000 * 60 * 60 * 24));//核心:时间戳相减,然后除以天数
|
|
|
+ // // var a1="12-19-2018";
|
|
|
+ // //var a2="2019/1/7";
|
|
|
+ // var b=GetNumberOfDays(a1,a2)
|
|
|
+ // console.log(b);
|
|
|
+ // this.getDicts("options").then(response => {
|
|
|
+ // this.options = response.data;
|
|
|
+ // });
|
|
|
+ // },
|
|
|
+ getList(){
|
|
|
+ this.getDicts("options").then(response => {
|
|
|
+ this.options = response.data;
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 表单重置
|
|
|
+ reset() {
|
|
|
+ this.form = {
|
|
|
+ id: undefined,
|
|
|
+ leavename: undefined,
|
|
|
+ deptname: undefined,
|
|
|
+ position: undefined,
|
|
|
+ option: undefined,
|
|
|
+ reason: undefined,
|
|
|
+ daterange: undefined,
|
|
|
+ statistics: undefined,
|
|
|
+ phone: undefined,
|
|
|
+ consignor: undefined,
|
|
|
+ createTime: undefined
|
|
|
+ };
|
|
|
+ this.resetForm("form");
|
|
|
+ },
|
|
|
submitForm() {
|
|
|
- this.$refs['elForm'].validate(valid => {
|
|
|
- if (!valid) return
|
|
|
- // TODO 提交表单
|
|
|
+ this.$refs['form'].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ // TODO 提交表单
|
|
|
+ this.getDicts("options").then(response => {
|
|
|
+ this.options = response.data;
|
|
|
+ });
|
|
|
+ var a1 = Date.parse(this.form.daterange);
|
|
|
+ var a2 = Date.parse(this.form.endTime);
|
|
|
+ // this.form.statistics=.parse(this.form.daterange)-this.form.endTime.parse()
|
|
|
+ var day = parseInt((a2-a1)/ (1000 * 60 * 60 * 24));//核心:时间戳相减,然后除以天数
|
|
|
+ console.log(a1)
|
|
|
+ console.log(a2)
|
|
|
+ console.log(day)
|
|
|
+ if (day==0){
|
|
|
+ alert(day)
|
|
|
+ this.form.statistics=1;
|
|
|
+ console.log( this.form.statistics)
|
|
|
+ }else{
|
|
|
+ this.form.statistics=day
|
|
|
+ alert(this.form.statistics)
|
|
|
+ }
|
|
|
+ addLeave(this.form).then(response => {
|
|
|
+
|
|
|
+ if (response.code === 200) {
|
|
|
+ console.log(response.code)
|
|
|
+ this.msgSuccess("新增成功");
|
|
|
+ this.resetForm("form");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
resetForm() {
|
|
|
- this.$refs['elForm'].resetFields()
|
|
|
+ this.form=[];
|
|
|
+ // this.$refs['form'].resetFields()
|
|
|
}
|
|
|
}
|
|
|
}
|