|
@@ -1,30 +1,52 @@
|
|
<template>
|
|
<template>
|
|
<div class="mod-demo__leaveapplication">
|
|
<div class="mod-demo__leaveapplication">
|
|
<el-form :inline="true" :model="state.dataForm" @keyup.enter="state.getDataList()">
|
|
<el-form :inline="true" :model="state.dataForm" @keyup.enter="state.getDataList()">
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-input v-model="state.dataForm.creator" placeholder="姓名" clearable></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button @click="state.getDataList()">查询</el-button>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
<el-button v-if="state.hasPermission('emergency:leaveapplication:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
|
<el-button v-if="state.hasPermission('emergency:leaveapplication:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
<el-button v-if="state.hasPermission('emergency:leaveapplication:delete')" type="danger" @click="state.deleteHandle()">删除</el-button>
|
|
<el-button v-if="state.hasPermission('emergency:leaveapplication:delete')" type="danger" @click="state.deleteHandle()">删除</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <!-- 审阅 -->
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button v-if="state.hasPermission('emergency:leaveapplication:review')" type="danger" @click="reviewHandle()">审阅</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button v-if="state.hasPermission('emergency:leaveapplication:export')" type="info" @click="state.exportHandle()">导出</el-button>
|
|
|
|
+ </el-form-item>
|
|
</el-form>
|
|
</el-form>
|
|
<el-table v-loading="state.dataListLoading" :data="state.dataList" border @selection-change="state.dataListSelectionChangeHandle" style="width: 100%">
|
|
<el-table v-loading="state.dataListLoading" :data="state.dataList" border @selection-change="state.dataListSelectionChangeHandle" style="width: 100%">
|
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
|
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
|
|
<el-table-column prop="id" label="请假单ID" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="id" label="请假单ID" header-align="center" align="center"></el-table-column>
|
|
- <el-table-column prop="leaveType" label="请假类型" header-align="center" align="center"></el-table-column>
|
|
|
|
|
|
+ <el-table-column prop="leaveType" label="请假类型" header-align="center" align="center">
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
+ {{ state.getDictLabel("askLeave", scope.row.leaveType) }}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column prop="startTime" label="开始时间" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="startTime" label="开始时间" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="endTime" label="结束时间" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="endTime" label="结束时间" header-align="center" align="center"></el-table-column>
|
|
- <el-table-column prop="status" label="审批状态" header-align="center" align="center"></el-table-column>
|
|
|
|
|
|
+ <el-table-column prop="status" label="审批状态" header-align="center" align="center">
|
|
|
|
+ <template v-slot="scope">
|
|
|
|
+ {{ state.getDictLabel("approvalStatus", scope.row.status) }}
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column prop="approvalComment" label="审批意见" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="approvalComment" label="审批意见" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="creator" label="创建人" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="creator" label="创建人" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="createDate" label="创建时间" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="createDate" label="创建时间" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="updater" label="更新人" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="updater" label="更新人" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="updateDate" label="更新时间" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="updateDate" label="更新时间" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="remark" label="备注" header-align="center" align="center"></el-table-column>
|
|
<el-table-column prop="remark" label="备注" header-align="center" align="center"></el-table-column>
|
|
- <el-table-column label="操作" fixed="right" header-align="center" align="center" width="150">
|
|
|
|
|
|
+ <el-table-column label="操作" fixed="right" header-align="center" align="center" width="180">
|
|
<template v-slot="scope">
|
|
<template v-slot="scope">
|
|
<el-button v-if="state.hasPermission('emergency:leaveapplication:update')" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
|
<el-button v-if="state.hasPermission('emergency:leaveapplication:update')" type="primary" link @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
|
|
<el-button v-if="state.hasPermission('emergency:leaveapplication:delete')" type="primary" link @click="state.deleteHandle(scope.row.id)">删除</el-button>
|
|
<el-button v-if="state.hasPermission('emergency:leaveapplication:delete')" type="primary" link @click="state.deleteHandle(scope.row.id)">删除</el-button>
|
|
|
|
+ <el-button v-if="state.hasPermission('emergency:leaveapplication:review')" type="primary" link @click="reviewHandle(scope.row.id)">审阅</el-button>
|
|
</template>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
@@ -37,6 +59,8 @@
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
import useView from "@/hooks/useView";
|
|
import useView from "@/hooks/useView";
|
|
import { reactive, ref, toRefs } from "vue";
|
|
import { reactive, ref, toRefs } from "vue";
|
|
|
|
+import baseService from "@/service/baseService";
|
|
|
|
+import { ElMessage, ElMessageBox } from "element-plus";
|
|
import AddOrUpdate from "./leaveapplication-add-or-update.vue";
|
|
import AddOrUpdate from "./leaveapplication-add-or-update.vue";
|
|
|
|
|
|
const view = reactive({
|
|
const view = reactive({
|
|
@@ -53,4 +77,38 @@ const addOrUpdateRef = ref();
|
|
const addOrUpdateHandle = (id?: number) => {
|
|
const addOrUpdateHandle = (id?: number) => {
|
|
addOrUpdateRef.value.init(id);
|
|
addOrUpdateRef.value.init(id);
|
|
};
|
|
};
|
|
|
|
+
|
|
|
|
+// 审阅
|
|
|
|
+const reviewHandle = (id?: string) => {
|
|
|
|
+ if (!id && state.dataListSelections && state.dataListSelections.length <= 0) {
|
|
|
|
+ return ElMessage({
|
|
|
|
+ message: "请选择操作项",
|
|
|
|
+ type: "warning",
|
|
|
|
+ duration: 500
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ const reviewData = id
|
|
|
|
+ ? { id: Number(id)}
|
|
|
|
+ : (state.dataListSelections || []).map((item: IObject) => {return { id: item.id};});
|
|
|
|
+
|
|
|
|
+ ElMessageBox.confirm("确定进行[审阅]操作?", "提示", {
|
|
|
|
+ confirmButtonText: "确定",
|
|
|
|
+ cancelButtonText: "取消",
|
|
|
|
+ type: "warning"
|
|
|
|
+ })
|
|
|
|
+ .then(() => {
|
|
|
|
+ baseService.put("/emergency/leaveapplication/review", reviewData).then((res) => {
|
|
|
|
+ ElMessage.success({
|
|
|
|
+ message: "审阅成功",
|
|
|
|
+ duration: 500,
|
|
|
|
+ onClose: () => {
|
|
|
|
+ state.getDataList();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ })
|
|
|
|
+ .catch(() => {
|
|
|
|
+ //
|
|
|
|
+ });
|
|
|
|
+};
|
|
</script>
|
|
</script>
|