Commit 54e7c10a06f4a704587ff96c1496b5029708522d
1 parent
991ce210
完成 bpm oa 请假的 create 和 detail 前端
Showing
10 changed files
with
95 additions
and
187 deletions
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/BpmOALeaveController.java
| 1 | package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa; | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.controller.oa; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveCreateReqVO; | 3 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; |
| 4 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeavePageReqVO; | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeavePageReqVO; |
| 5 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveRespVO; | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveRespVO; |
| 6 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.OALeaveConvert; | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.convert.oa.OALeaveConvert; |
| @@ -39,7 +39,7 @@ public class BpmOALeaveController { | @@ -39,7 +39,7 @@ public class BpmOALeaveController { | ||
| 39 | 39 | ||
| 40 | @PostMapping("/create") | 40 | @PostMapping("/create") |
| 41 | @ApiOperation("创建请求申请") | 41 | @ApiOperation("创建请求申请") |
| 42 | - public CommonResult<Long> createLeave(@Valid @RequestBody OALeaveCreateReqVO createReqVO) { | 42 | + public CommonResult<Long> createLeave(@Valid @RequestBody BpmOALeaveCreateReqVO createReqVO) { |
| 43 | return success(leaveService.createLeave(getLoginUserId(), createReqVO)); | 43 | return success(leaveService.createLeave(getLoginUserId(), createReqVO)); |
| 44 | } | 44 | } |
| 45 | 45 |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/OALeaveCreateReqVO.java renamed to yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/controller/oa/vo/BpmOALeaveCreateReqVO.java
| @@ -14,5 +14,5 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ | @@ -14,5 +14,5 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ | ||
| 14 | @Data | 14 | @Data |
| 15 | @EqualsAndHashCode(callSuper = true) | 15 | @EqualsAndHashCode(callSuper = true) |
| 16 | @ToString(callSuper = true) | 16 | @ToString(callSuper = true) |
| 17 | -public class OALeaveCreateReqVO extends BpmOALeaveBaseVO { | 17 | +public class BpmOALeaveCreateReqVO extends BpmOALeaveBaseVO { |
| 18 | } | 18 | } |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/oa/OALeaveConvert.java
| 1 | package cn.iocoder.yudao.adminserver.modules.bpm.convert.oa; | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.convert.oa; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveCreateReqVO; | 3 | +import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.BpmOALeaveCreateReqVO; |
| 4 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveRespVO; | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.oa.vo.OALeaveRespVO; |
| 5 | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; |
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| @@ -19,7 +19,7 @@ public interface OALeaveConvert { | @@ -19,7 +19,7 @@ public interface OALeaveConvert { | ||
| 19 | 19 | ||
| 20 | OALeaveConvert INSTANCE = Mappers.getMapper(OALeaveConvert.class); | 20 | OALeaveConvert INSTANCE = Mappers.getMapper(OALeaveConvert.class); |
| 21 | 21 | ||
| 22 | - OALeaveDO convert(OALeaveCreateReqVO bean); | 22 | + OALeaveDO convert(BpmOALeaveCreateReqVO bean); |
| 23 | 23 | ||
| 24 | OALeaveRespVO convert(OALeaveDO bean); | 24 | OALeaveRespVO convert(OALeaveDO bean); |
| 25 | 25 |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/BpmOALeaveService.java
| @@ -6,8 +6,6 @@ import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | @@ -6,8 +6,6 @@ import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave.OALeaveDO; | ||
| 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 6 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 7 | 7 | ||
| 8 | import javax.validation.Valid; | 8 | import javax.validation.Valid; |
| 9 | -import java.util.Collection; | ||
| 10 | -import java.util.List; | ||
| 11 | 9 | ||
| 12 | /** | 10 | /** |
| 13 | * 请假申请 Service 接口 | 11 | * 请假申请 Service 接口 |
| @@ -24,7 +22,7 @@ public interface BpmOALeaveService { | @@ -24,7 +22,7 @@ public interface BpmOALeaveService { | ||
| 24 | * @param createReqVO 创建信息 | 22 | * @param createReqVO 创建信息 |
| 25 | * @return 编号 | 23 | * @return 编号 |
| 26 | */ | 24 | */ |
| 27 | - Long createLeave(Long userId, @Valid OALeaveCreateReqVO createReqVO); | 25 | + Long createLeave(Long userId, @Valid BpmOALeaveCreateReqVO createReqVO); |
| 28 | 26 | ||
| 29 | /** | 27 | /** |
| 30 | * 删除请假申请 | 28 | * 删除请假申请 |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/oa/impl/OALeaveServiceImpl.java
| @@ -44,7 +44,7 @@ public class OALeaveServiceImpl implements BpmOALeaveService { | @@ -44,7 +44,7 @@ public class OALeaveServiceImpl implements BpmOALeaveService { | ||
| 44 | 44 | ||
| 45 | @Override | 45 | @Override |
| 46 | @Transactional(rollbackFor = Exception.class) | 46 | @Transactional(rollbackFor = Exception.class) |
| 47 | - public Long createLeave(Long userId, OALeaveCreateReqVO createReqVO) { | 47 | + public Long createLeave(Long userId, BpmOALeaveCreateReqVO createReqVO) { |
| 48 | // TODO 芋道源码 | 48 | // TODO 芋道源码 |
| 49 | // 校验是否超过请假天数的上限; | 49 | // 校验是否超过请假天数的上限; |
| 50 | long day = DateUtil.betweenDay(createReqVO.getStartTime(), createReqVO.getEndTime(), false); | 50 | long day = DateUtil.betweenDay(createReqVO.getStartTime(), createReqVO.getEndTime(), false); |
yudao-admin-ui/src/api/oa/leave.js
| @@ -3,7 +3,7 @@ import request from '@/utils/request' | @@ -3,7 +3,7 @@ import request from '@/utils/request' | ||
| 3 | // 创建请假申请 | 3 | // 创建请假申请 |
| 4 | export function createLeave(data) { | 4 | export function createLeave(data) { |
| 5 | return request({ | 5 | return request({ |
| 6 | - url: '/oa/leave/create', | 6 | + url: '/bpm/oa/leave/create', |
| 7 | method: 'post', | 7 | method: 'post', |
| 8 | data: data | 8 | data: data |
| 9 | }) | 9 | }) |
| @@ -20,7 +20,7 @@ export function deleteLeave(id) { | @@ -20,7 +20,7 @@ export function deleteLeave(id) { | ||
| 20 | // 获得请假申请 | 20 | // 获得请假申请 |
| 21 | export function getLeave(id) { | 21 | export function getLeave(id) { |
| 22 | return request({ | 22 | return request({ |
| 23 | - url: '/oa/leave/get?id=' + id, | 23 | + url: '/bpm/oa/leave/get?id=' + id, |
| 24 | method: 'get' | 24 | method: 'get' |
| 25 | }) | 25 | }) |
| 26 | } | 26 | } |
| @@ -33,18 +33,3 @@ export function getLeavePage(query) { | @@ -33,18 +33,3 @@ export function getLeavePage(query) { | ||
| 33 | params: query | 33 | params: query |
| 34 | }) | 34 | }) |
| 35 | } | 35 | } |
| 36 | - | ||
| 37 | -export function createFormKeyLeave(data) { | ||
| 38 | - return request({ | ||
| 39 | - url: '/oa/leave/form-key/create', | ||
| 40 | - method: 'post', | ||
| 41 | - data: data | ||
| 42 | - }) | ||
| 43 | -} | ||
| 44 | - | ||
| 45 | -export function getLeaveApplyMembers() { | ||
| 46 | - return request({ | ||
| 47 | - url: '/oa/leave/getLeaveApplyMembers', | ||
| 48 | - method: 'get' | ||
| 49 | - }) | ||
| 50 | -} |
yudao-admin-ui/src/router/index.js
| @@ -123,16 +123,21 @@ export const constantRoutes = [ | @@ -123,16 +123,21 @@ export const constantRoutes = [ | ||
| 123 | ] | 123 | ] |
| 124 | }, | 124 | }, |
| 125 | { | 125 | { |
| 126 | - path: '/flow', | 126 | + path: '/bpm', |
| 127 | component: Layout, | 127 | component: Layout, |
| 128 | hidden: true, | 128 | hidden: true, |
| 129 | redirect: 'noredirect', | 129 | redirect: 'noredirect', |
| 130 | children: [ | 130 | children: [ |
| 131 | { | 131 | { |
| 132 | - path: 'leave/apply', | 132 | + path: 'oa/leave/create', |
| 133 | component: (resolve) => require(['@/views/bpm/oa/leave/create'], resolve), | 133 | component: (resolve) => require(['@/views/bpm/oa/leave/create'], resolve), |
| 134 | - name: '请假表单-申请', | ||
| 135 | - meta: { title: '请假表单-申请', icon: 'form' } | 134 | + name: '发起 OA 请假', |
| 135 | + meta: { title: '发起 OA 请假', icon: 'form' } | ||
| 136 | + }, { | ||
| 137 | + path: 'oa/leave/detail', | ||
| 138 | + component: (resolve) => require(['@/views/bpm/oa/leave/detail'], resolve), | ||
| 139 | + name: '查看 OA 请假', | ||
| 140 | + meta: { title: '查看 OA 请假', icon: 'view' } | ||
| 136 | } | 141 | } |
| 137 | ] | 142 | ] |
| 138 | }, | 143 | }, |
yudao-admin-ui/src/views/bpm/oa/leave/create.vue
| @@ -8,38 +8,26 @@ | @@ -8,38 +8,26 @@ | ||
| 8 | <el-form-item label="结束时间" prop="endTime"> | 8 | <el-form-item label="结束时间" prop="endTime"> |
| 9 | <el-date-picker clearable size="small" v-model="form.endTime" type="date" value-format="timestamp" placeholder="选择结束时间" /> | 9 | <el-date-picker clearable size="small" v-model="form.endTime" type="date" value-format="timestamp" placeholder="选择结束时间" /> |
| 10 | </el-form-item> | 10 | </el-form-item> |
| 11 | - <el-form-item label="请假类型" prop="leaveType"> | ||
| 12 | - <el-select v-model="form.leaveType" placeholder="请选择"> | ||
| 13 | - <el-option | ||
| 14 | - v-for="dict in leaveTypeDictData" | ||
| 15 | - :key="parseInt(dict.value)" | ||
| 16 | - :label="dict.label" | ||
| 17 | - :value="parseInt(dict.value)" | ||
| 18 | - /> | 11 | + <el-form-item label="请假类型" prop="type"> |
| 12 | + <el-select v-model="form.type" placeholder="请选择"> | ||
| 13 | + <el-option v-for="dict in typeDictData" :key="parseInt(dict.value)" :label="dict.label" :value="parseInt(dict.value)"/> | ||
| 19 | </el-select> | 14 | </el-select> |
| 20 | </el-form-item> | 15 | </el-form-item> |
| 21 | <el-form-item label="原因" prop="reason"> | 16 | <el-form-item label="原因" prop="reason"> |
| 22 | <el-col :span="10"> | 17 | <el-col :span="10"> |
| 23 | - <el-input | ||
| 24 | - type="textarea" | ||
| 25 | - :rows="3" | ||
| 26 | - v-model="form.reason" | ||
| 27 | - placeholder="请输入原因" /> | 18 | + <el-input type="textarea" :rows="3" v-model="form.reason" placeholder="请输入原因" /> |
| 28 | </el-col> | 19 | </el-col> |
| 29 | </el-form-item> | 20 | </el-form-item> |
| 30 | - <el-form-item label="申请时间" prop="applyTime"> | ||
| 31 | - <el-date-picker clearable size="small" v-model="form.applyTime" type="date" value-format="timestamp" placeholder="选择申请时间" /> | ||
| 32 | - </el-form-item> | ||
| 33 | <el-form-item> | 21 | <el-form-item> |
| 34 | - <el-button type="primary" @click="submitForm">确 定</el-button> | 22 | + <el-button type="primary" @click="submitForm">提 交</el-button> |
| 35 | </el-form-item> | 23 | </el-form-item> |
| 36 | </el-form> | 24 | </el-form> |
| 37 | </div> | 25 | </div> |
| 38 | </template> | 26 | </template> |
| 39 | 27 | ||
| 40 | <script> | 28 | <script> |
| 41 | -import { createFormKeyLeave} from "@/api/oa/leave" | ||
| 42 | -import { getDictDataLabel, getDictDatas, DICT_TYPE } from '@/utils/dict' | 29 | +import { createLeave} from "@/api/oa/leave" |
| 30 | +import { getDictDatas, DICT_TYPE } from '@/utils/dict' | ||
| 43 | export default { | 31 | export default { |
| 44 | name: "LeaveCreate", | 32 | name: "LeaveCreate", |
| 45 | components: { | 33 | components: { |
| @@ -48,31 +36,23 @@ export default { | @@ -48,31 +36,23 @@ export default { | ||
| 48 | return { | 36 | return { |
| 49 | // 表单参数 | 37 | // 表单参数 |
| 50 | form: { | 38 | form: { |
| 51 | - processKey: 'leave-update', | ||
| 52 | - taskVariables:{ | ||
| 53 | - hr: "", | ||
| 54 | - pm: "", | ||
| 55 | - bm: "" | ||
| 56 | - } | 39 | + startTime: undefined, |
| 40 | + endTime: undefined, | ||
| 41 | + type: undefined, | ||
| 42 | + reason: undefined, | ||
| 57 | }, | 43 | }, |
| 58 | // 表单校验 | 44 | // 表单校验 |
| 59 | rules: { | 45 | rules: { |
| 60 | startTime: [{ required: true, message: "开始时间不能为空", trigger: "blur" }], | 46 | startTime: [{ required: true, message: "开始时间不能为空", trigger: "blur" }], |
| 61 | endTime: [{ required: true, message: "结束时间不能为空", trigger: "blur" }], | 47 | endTime: [{ required: true, message: "结束时间不能为空", trigger: "blur" }], |
| 62 | - applyTime: [{ required: true, message: "申请时间不能为空", trigger: "blur" }], | 48 | + type: [{ required: true, message: "请假类型不能为空", trigger: "change" }], |
| 49 | + reason: [{ required: true, message: "请假原因不能为空", trigger: "change" }], | ||
| 63 | }, | 50 | }, |
| 64 | 51 | ||
| 65 | - statusFormat(row, column) { | ||
| 66 | - return getDictDataLabel(DICT_TYPE.OA_LEAVE_STATUS, row.status) | ||
| 67 | - }, | ||
| 68 | - leaveTypeDictData: getDictDatas(DICT_TYPE.BPM_OA_LEAVE_TYPE), | ||
| 69 | - leaveStatusData: getDictDatas(DICT_TYPE.OA_LEAVE_STATUS) | 52 | + typeDictData: getDictDatas(DICT_TYPE.BPM_OA_LEAVE_TYPE), |
| 70 | }; | 53 | }; |
| 71 | }, | 54 | }, |
| 72 | created() { | 55 | created() { |
| 73 | - this.form.taskVariables.hr = this.$route.query.hr; | ||
| 74 | - this.form.taskVariables.pm = this.$route.query.pm; | ||
| 75 | - this.form.taskVariables.bm = this.$route.query.bm; | ||
| 76 | }, | 56 | }, |
| 77 | methods: { | 57 | methods: { |
| 78 | /** 提交按钮 */ | 58 | /** 提交按钮 */ |
| @@ -83,13 +63,10 @@ export default { | @@ -83,13 +63,10 @@ export default { | ||
| 83 | } | 63 | } |
| 84 | 64 | ||
| 85 | // 添加的提交 | 65 | // 添加的提交 |
| 86 | - createFormKeyLeave(this.form).then(response => { | ||
| 87 | - this.msgSuccess("新增成功"); | ||
| 88 | - this.$store.dispatch('tagsView/delView', this.$route).then(({ visitedViews }) => { | ||
| 89 | - //if (this.isActive(this.$route)) { | ||
| 90 | - this.$router.push({path: '/oa/todo'}) | ||
| 91 | - //} | ||
| 92 | - }) | 66 | + createLeave(this.form).then(response => { |
| 67 | + this.msgSuccess("发起成功"); | ||
| 68 | + this.$store.dispatch("tagsView/delView", this.$route); | ||
| 69 | + this.$router.push({ path: "/bpm/oa/leave"}); | ||
| 93 | }); | 70 | }); |
| 94 | }); | 71 | }); |
| 95 | } | 72 | } |
yudao-admin-ui/src/views/bpm/oa/leave/detail.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="app-container"> | ||
| 3 | + <!-- 对话框(添加 / 修改) --> | ||
| 4 | + <el-form ref="form" :model="form" :rules="rules" label-width="100px"> | ||
| 5 | + <el-form-item label="开始时间:" prop="startTime"> {{parseTime(form.startTime, '{y}-{m}-{d}')}} </el-form-item> | ||
| 6 | + <el-form-item label="结束时间:" prop="endTime"> {{parseTime(form.endTime, '{y}-{m}-{d}')}} </el-form-item> | ||
| 7 | + <el-form-item label="请假类型:" prop="type">{{ typeFormat(form) }}</el-form-item> | ||
| 8 | + <el-form-item label="原因:" prop="reason"> {{ form.reason }}</el-form-item> | ||
| 9 | + </el-form> | ||
| 10 | + </div> | ||
| 11 | +</template> | ||
| 12 | + | ||
| 13 | +<script> | ||
| 14 | +import { getLeave} from "@/api/oa/leave" | ||
| 15 | +import {getDictDatas, DICT_TYPE, getDictDataLabel} from '@/utils/dict' | ||
| 16 | +export default { | ||
| 17 | + name: "LeaveDetail", | ||
| 18 | + components: { | ||
| 19 | + }, | ||
| 20 | + data() { | ||
| 21 | + return { | ||
| 22 | + id: undefined, // 请假编号 | ||
| 23 | + // 表单参数 | ||
| 24 | + form: { | ||
| 25 | + startTime: undefined, | ||
| 26 | + endTime: undefined, | ||
| 27 | + type: undefined, | ||
| 28 | + reason: undefined, | ||
| 29 | + }, | ||
| 30 | + | ||
| 31 | + typeDictData: getDictDatas(DICT_TYPE.BPM_OA_LEAVE_TYPE), | ||
| 32 | + }; | ||
| 33 | + }, | ||
| 34 | + created() { | ||
| 35 | + this.id = this.$route.query.id; | ||
| 36 | + if (!this.id) { | ||
| 37 | + this.$message.error('未传递 id 参数,无法查看 OA 请假信息'); | ||
| 38 | + return; | ||
| 39 | + } | ||
| 40 | + this.getDetail(); | ||
| 41 | + }, | ||
| 42 | + methods: { | ||
| 43 | + /** 获得请假信息 */ | ||
| 44 | + getDetail() { | ||
| 45 | + getLeave(this.id).then(response => { | ||
| 46 | + this.form = response.data; | ||
| 47 | + }); | ||
| 48 | + }, | ||
| 49 | + typeFormat(row) { | ||
| 50 | + return getDictDataLabel(DICT_TYPE.BPM_OA_LEAVE_TYPE, row.type) | ||
| 51 | + } | ||
| 52 | + } | ||
| 53 | +}; | ||
| 54 | +</script> |
yudao-admin-ui/src/views/bpm/oa/leave/index.vue
| @@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
| 30 | <!-- 操作工具栏 --> | 30 | <!-- 操作工具栏 --> |
| 31 | <el-row :gutter="10" class="mb8"> | 31 | <el-row :gutter="10" class="mb8"> |
| 32 | <el-col :span="1.5"> | 32 | <el-col :span="1.5"> |
| 33 | - <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">新增</el-button> | 33 | + <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd">发起请假</el-button> |
| 34 | </el-col> | 34 | </el-col> |
| 35 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> | 35 | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| 36 | </el-row> | 36 | </el-row> |
| @@ -58,7 +58,7 @@ | @@ -58,7 +58,7 @@ | ||
| 58 | </el-table-column> | 58 | </el-table-column> |
| 59 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> | 59 | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| 60 | <template slot-scope="scope"> | 60 | <template slot-scope="scope"> |
| 61 | - <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDetail(scope.row)">详情</el-button> | 61 | + <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">详情</el-button> |
| 62 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProcessDetail(scope.row)">审批进度</el-button> | 62 | <el-button size="mini" type="text" icon="el-icon-edit" @click="handleProcessDetail(scope.row)">审批进度</el-button> |
| 63 | </template> | 63 | </template> |
| 64 | </el-table-column> | 64 | </el-table-column> |
| @@ -67,58 +67,6 @@ | @@ -67,58 +67,6 @@ | ||
| 67 | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" | 67 | <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize" |
| 68 | @pagination="getList"/> | 68 | @pagination="getList"/> |
| 69 | 69 | ||
| 70 | - <!-- 对话框(添加 / 修改) --> | ||
| 71 | - <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> | ||
| 72 | - <el-form ref="form" :model="form" :rules="rules" label-width="80px"> | ||
| 73 | - <el-form-item label="开始时间" prop="startTime"> | ||
| 74 | - <el-date-picker clearable size="small" v-model="form.startTime" type="date" value-format="timestamp" placeholder="选择开始时间" /> | ||
| 75 | - </el-form-item> | ||
| 76 | - <el-form-item label="结束时间" prop="endTime"> | ||
| 77 | - <el-date-picker clearable size="small" v-model="form.endTime" type="date" value-format="timestamp" placeholder="选择结束时间" /> | ||
| 78 | - </el-form-item> | ||
| 79 | - <el-form-item label="请假类型" prop="leaveType"> | ||
| 80 | - <el-select v-model="form.leaveType" placeholder="请选择"> | ||
| 81 | - <el-option | ||
| 82 | - v-for="dict in leaveTypeDictData" | ||
| 83 | - :key="dict.value" | ||
| 84 | - :label="dict.label" | ||
| 85 | - :value="dict.value" | ||
| 86 | - /> | ||
| 87 | - </el-select> | ||
| 88 | - </el-form-item> | ||
| 89 | - <el-form-item label="原因" prop="reason"> | ||
| 90 | - <el-input v-model="form.reason" placeholder="请输入原因" /> | ||
| 91 | - </el-form-item> | ||
| 92 | - <el-form-item label="申请时间" prop="applyTime"> | ||
| 93 | - <el-date-picker clearable size="small" v-model="form.applyTime" type="date" value-format="timestamp" placeholder="选择申请时间" /> | ||
| 94 | - </el-form-item> | ||
| 95 | - </el-form> | ||
| 96 | - <div slot="footer" class="dialog-footer"> | ||
| 97 | - <el-button type="primary" @click="submitForm">确 定</el-button> | ||
| 98 | - <el-button @click="cancel">取 消</el-button> | ||
| 99 | - </div> | ||
| 100 | - </el-dialog> | ||
| 101 | - | ||
| 102 | - <el-dialog :title="title" :visible.sync="dialogDetailVisible" width="500px" append-to-body> | ||
| 103 | - <el-form ref="form" :model="form" label-width="80px"> | ||
| 104 | - <el-form-item label="状态" > | ||
| 105 | - {{ getDictDataLabel(DICT_TYPE.OA_LEAVE_STATUS, form.status) }} | ||
| 106 | - </el-form-item> | ||
| 107 | - <el-form-item label="申请人id" >{{form.userId}}</el-form-item> | ||
| 108 | - <el-form-item label="开始时间" >{{ parseTime(form.startTime) }}</el-form-item> | ||
| 109 | - <el-form-item label="结束时间" prop="endTime">{{ parseTime(form.endTime) }}</el-form-item> | ||
| 110 | - <el-form-item label="请假类型" prop="leaveType"> | ||
| 111 | - {{ getDictDataLabel(DICT_TYPE.BPM_OA_LEAVE_TYPE, form.leaveType) }} | ||
| 112 | - </el-form-item> | ||
| 113 | - <el-form-item label="原因" prop="reason">{{form.reason}}</el-form-item> | ||
| 114 | - <el-form-item label="申请时间" prop="applyTime">{{ parseTime(form.applyTime) }}</el-form-item> | ||
| 115 | - </el-form> | ||
| 116 | - <div slot="footer" class="dialog-footer"> | ||
| 117 | - <el-button type="primary" @click="dialogDetailVisible = false">确 定</el-button> | ||
| 118 | - <el-button @click="dialogDetailVisible = false">取 消</el-button> | ||
| 119 | - </div> | ||
| 120 | - </el-dialog> | ||
| 121 | - | ||
| 122 | </div> | 70 | </div> |
| 123 | </template> | 71 | </template> |
| 124 | 72 | ||
| @@ -156,17 +104,9 @@ export default { | @@ -156,17 +104,9 @@ export default { | ||
| 156 | leaveType: null, | 104 | leaveType: null, |
| 157 | reason: null, | 105 | reason: null, |
| 158 | }, | 106 | }, |
| 159 | - // 表单参数 | ||
| 160 | - form: {}, | ||
| 161 | - // 表单校验 | ||
| 162 | - rules: { | ||
| 163 | - startTime: [{ required: true, message: "开始时间不能为空", trigger: "blur" }], | ||
| 164 | - endTime: [{ required: true, message: "结束时间不能为空", trigger: "blur" }], | ||
| 165 | - }, | 107 | + |
| 166 | leaveTypeDictData: getDictDatas(DICT_TYPE.BPM_OA_LEAVE_TYPE), | 108 | leaveTypeDictData: getDictDatas(DICT_TYPE.BPM_OA_LEAVE_TYPE), |
| 167 | leaveResultData: getDictDatas(DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT), | 109 | leaveResultData: getDictDatas(DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT), |
| 168 | - | ||
| 169 | - dialogDetailVisible: false, // TODO 芋艿:后面挪到详情页 | ||
| 170 | }; | 110 | }; |
| 171 | }, | 111 | }, |
| 172 | created() { | 112 | created() { |
| @@ -186,25 +126,6 @@ export default { | @@ -186,25 +126,6 @@ export default { | ||
| 186 | this.loading = false; | 126 | this.loading = false; |
| 187 | }); | 127 | }); |
| 188 | }, | 128 | }, |
| 189 | - /** 取消按钮 */ | ||
| 190 | - cancel() { | ||
| 191 | - this.open = false; | ||
| 192 | - this.reset(); | ||
| 193 | - }, | ||
| 194 | - /** 表单重置 */ | ||
| 195 | - reset() { | ||
| 196 | - this.form = { | ||
| 197 | - id: undefined, | ||
| 198 | - status: undefined, | ||
| 199 | - userId: undefined, | ||
| 200 | - startTime: undefined, | ||
| 201 | - endTime: undefined, | ||
| 202 | - leaveType: undefined, | ||
| 203 | - reason: undefined, | ||
| 204 | - applyTime: undefined, | ||
| 205 | - }; | ||
| 206 | - this.resetForm("form"); | ||
| 207 | - }, | ||
| 208 | /** 搜索按钮操作 */ | 129 | /** 搜索按钮操作 */ |
| 209 | handleQuery() { | 130 | handleQuery() { |
| 210 | this.queryParams.pageNo = 1; | 131 | this.queryParams.pageNo = 1; |
| @@ -212,54 +133,22 @@ export default { | @@ -212,54 +133,22 @@ export default { | ||
| 212 | }, | 133 | }, |
| 213 | /** 重置按钮操作 */ | 134 | /** 重置按钮操作 */ |
| 214 | resetQuery() { | 135 | resetQuery() { |
| 215 | - this.dateRangeStartTime = []; | ||
| 216 | - this.dateRangeEndTime = []; | ||
| 217 | this.dateRangeCreateTime = []; | 136 | this.dateRangeCreateTime = []; |
| 218 | this.resetForm("queryForm"); | 137 | this.resetForm("queryForm"); |
| 219 | this.handleQuery(); | 138 | this.handleQuery(); |
| 220 | }, | 139 | }, |
| 221 | /** 新增按钮操作 */ | 140 | /** 新增按钮操作 */ |
| 222 | handleAdd() { | 141 | handleAdd() { |
| 223 | - getLeaveApplyMembers().then(response => { | ||
| 224 | - const route = { | ||
| 225 | - path: '/flow/leave/apply', | ||
| 226 | - query: { | ||
| 227 | - hr: response.data.hr, | ||
| 228 | - pm: response.data.pm, | ||
| 229 | - bm : response.data.bm | ||
| 230 | - } | ||
| 231 | - } | ||
| 232 | - this.$router.replace(route); | ||
| 233 | - }); | 142 | + this.$router.push({ path: "/bpm/oa/leave/create"}); |
| 234 | }, | 143 | }, |
| 235 | /** 详情按钮操作 */ | 144 | /** 详情按钮操作 */ |
| 236 | handleDetail(row) { | 145 | handleDetail(row) { |
| 237 | - this.reset(); | ||
| 238 | - const id = row.id; | ||
| 239 | - getLeave(id).then(response => { | ||
| 240 | - this.form = response.data; | ||
| 241 | - this.dialogDetailVisible = true | ||
| 242 | - this.title = "请假详情"; | ||
| 243 | - }); | 146 | + this.$router.push({ path: "/bpm/oa/leave/detail", query: { id: row.id}}); |
| 244 | }, | 147 | }, |
| 245 | /** 查看审批进度的操作 */ | 148 | /** 查看审批进度的操作 */ |
| 246 | handleProcessDetail(row) { | 149 | handleProcessDetail(row) { |
| 247 | this.$router.push({ path: "/bpm/process-instance/detail", query: { id: row.processInstanceId}}); | 150 | this.$router.push({ path: "/bpm/process-instance/detail", query: { id: row.processInstanceId}}); |
| 248 | }, | 151 | }, |
| 249 | - /** 提交按钮 */ | ||
| 250 | - submitForm() { | ||
| 251 | - this.$refs["form"].validate(valid => { | ||
| 252 | - if (!valid) { | ||
| 253 | - return; | ||
| 254 | - } | ||
| 255 | - // 添加的提交 | ||
| 256 | - createLeave(this.form).then(response => { | ||
| 257 | - this.msgSuccess("新增成功"); | ||
| 258 | - this.open = false; | ||
| 259 | - this.getList(); | ||
| 260 | - }); | ||
| 261 | - }); | ||
| 262 | - }, | ||
| 263 | resultFormat(row, column) { | 152 | resultFormat(row, column) { |
| 264 | return getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT, row.result) | 153 | return getDictDataLabel(DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT, row.result) |
| 265 | }, | 154 | }, |