TaskSystem-admin/src/views/examined/examinedFlow.vue
2023-08-01 09:33:03 +08:00

249 lines
9.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div>
<!-- <el-card class="!border-none mb-4" shadow="never">
<el-form
class="mb-[-16px]"
:model="queryParams"
inline
>
<el-form-item label="审批流名称" prop="name">
<el-input class="w-[280px]" v-model="queryParams.name" clearable placeholder="请输入审批流名称" />
</el-form-item>
<el-form-item label="1固定审批,2授权审批人" prop="check_type">
<el-input class="w-[280px]" v-model="queryParams.check_type" clearable placeholder="请输入1固定审批,2授权审批人" />
</el-form-item>
<el-form-item label="应用模块,1假勤,2行政,3财务,4人事,5其他,6报销,7发票,8合同" prop="type">
<el-input class="w-[280px]" v-model="queryParams.type" clearable placeholder="请输入应用模块,1假勤,2行政,3财务,4人事,5其他,6报销,7发票,8合同" />
</el-form-item>
<el-form-item label="应用审批类型id" prop="flow_cate">
<el-input class="w-[280px]" v-model="queryParams.flow_cate" clearable placeholder="请输入应用审批类型id" />
</el-form-item>
<el-form-item label="应用部门ID0为全部1,2,3" prop="department_ids">
<el-input class="w-[280px]" v-model="queryParams.department_ids" clearable placeholder="请输入应用部门ID0为全部1,2,3" />
</el-form-item>
<el-form-item label="抄送人ID" prop="copy_uids">
<el-input class="w-[280px]" v-model="queryParams.copy_uids" clearable placeholder="请输入抄送人ID" />
</el-form-item>
<el-form-item label="流程说明" prop="remark">
<el-input class="w-[280px]" v-model="queryParams.remark" clearable placeholder="请输入流程说明" />
</el-form-item>
<el-form-item label="流程数据序列化" prop="flow_list">
<el-input class="w-[280px]" v-model="queryParams.flow_list" clearable placeholder="请输入流程数据序列化" />
</el-form-item>
<el-form-item label="创建人ID" prop="admin_id">
<el-input class="w-[280px]" v-model="queryParams.admin_id" clearable placeholder="请输入创建人ID" />
</el-form-item>
<el-form-item label="状态 1启用0禁用" prop="status">
<el-input class="w-[280px]" v-model="queryParams.status" clearable placeholder="请输入状态 1启用0禁用" />
</el-form-item>
<el-form-item label="删除人ID" prop="delete_user_id">
<el-input class="w-[280px]" v-model="queryParams.delete_user_id" clearable placeholder="请输入删除人ID" />
</el-form-item>
<el-form-item>
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
</el-form-item>
</el-form>
</el-card> -->
<el-card class="!border-none" v-loading="pager.loading" shadow="never">
<el-button v-perms="['flow/add']" type="primary" @click="handleAdd">
<template #icon>
<icon name="el-icon-Plus" />
</template>
新增
</el-button>
<!-- <el-button
v-perms="['flow/delete']"
:disabled="!selectData.length"
@click="handleDelete(selectData)"
>
删除
</el-button> -->
<div class="mt-4">
<el-table :data="pager.lists" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column
label="审批流名称"
prop="name"
show-overflow-tooltip
/>
<!-- <el-table-column label="1固定审批,2授权审批人" prop="check_type" show-overflow-tooltip /> -->
<el-table-column label="应用模块" prop="type" show-overflow-tooltip>
<template #default="{ row }">
<span v-if="row.type == 1">假勤</span>
<span v-if="row.type == 2">行政</span>
<span v-if="row.type == 3">财务</span>
<span v-if="row.type == 4">人事</span>
<span v-if="row.type == 5">其他</span>
<span v-if="row.type == 6">报销</span>
<span v-if="row.type == 7">发票</span>
<span v-if="row.type == 8">合同</span>
</template>
</el-table-column>
<el-table-column
label="应用审批类型id"
prop="flow_cate"
show-overflow-tooltip
/>
<el-table-column
label="应用部门"
prop="department"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
label="抄送人ID"
prop="copy_uids"
show-overflow-tooltip
/>
<el-table-column
label="流程说明"
prop="remark"
show-overflow-tooltip
/>
<el-table-column
label="流程数据序列化"
prop="flow_list"
show-overflow-tooltip
/>
<el-table-column
label="创建人ID"
prop="admin_id"
show-overflow-tooltip
/>
<!-- <el-table-column label="状态" prop="status" show-overflow-tooltip>
<template #default="{ row }">
<span v-if="row.status == 1">启用</span>
<span v-if="row.status == 0">禁用</span>
</template>
</el-table-column> -->
<el-table-column
label="账号状态"
min-width="100"
v-perms="['auth.admin/edit']"
>
<template #default="{ row }">
<el-switch
v-if="row.root != 1"
v-model="row.status"
:active-value="1"
:inactive-value="0"
@change="changeStatus(row)"
/>
</template>
</el-table-column>
<el-table-column
label="删除人ID"
prop="delete_user_id"
show-overflow-tooltip
/>
<el-table-column label="操作" width="120" fixed="right">
<template #default="{ row }">
<el-button
v-perms="['flow/edit']"
type="primary"
link
@click="handleEdit(row)"
>
编辑
</el-button>
<el-button
v-perms="['flow/delete']"
type="danger"
link
@click="handleDelete(row.id)"
>
删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="flex mt-4 justify-end">
<pagination v-model="pager" @change="getLists" />
</div>
</el-card>
<edit-popup
v-if="showEdit"
ref="editRef"
:dict-data="dictData"
@success="getLists"
@close="showEdit = false"
/>
</div>
</template>
<script lang="ts" setup name="flowLists">
import { usePaging } from "@/hooks/usePaging";
import { useDictData } from "@/hooks/useDictOptions";
import { apiFlowLists, apiFlowDetil, apiFlowStatus } from "@/api/examined";
import { timeFormat } from "@/utils/util";
import feedback from "@/utils/feedback";
import EditPopup from "./editFlow.vue";
const editRef = shallowRef<InstanceType<typeof EditPopup>>();
// 是否显示编辑框
const showEdit = ref(false);
// 查询条件
const queryParams = reactive({
name: "",
check_type: "",
type: "",
flow_cate: "",
department_ids: "",
copy_uids: "",
remark: "",
flow_list: "",
admin_id: "",
status: "",
delete_user_id: "",
});
// 选中数据
const selectData = ref<any[]>([]);
// 表格选择后回调事件
const handleSelectionChange = (val: any[]) => {
selectData.value = val.map(({ id }) => id);
};
// 获取字典数据
const { dictData } = useDictData("");
// 分页相关
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: apiFlowLists,
params: queryParams,
});
// 添加
const handleAdd = async () => {
showEdit.value = true;
await nextTick();
editRef.value?.open("add");
};
// 编辑
const handleEdit = async (data: any) => {
showEdit.value = true;
await nextTick();
editRef.value?.open("edit");
editRef.value?.setFormData(data);
};
// 状态
const changeStatus = (row: any) => {
console.log(row.status);
apiFlowStatus({ id: row.id, status: row.status });
};
// 删除
// const handleDelete = async (id: number | any[]) => {
// await feedback.confirm("确定要删除?");
// await apiFlowDelete({ id });
// getLists();
// };
getLists();
</script>