This commit is contained in:
cdf
2024-04-17 17:58:57 +08:00
parent 02ad259e30
commit 54b88797b0
7 changed files with 583 additions and 46 deletions

View File

@@ -17,7 +17,7 @@ export function updateTemplateActive(data) {
}
//获取报表模板 //部门树查询
export function getTemplateList(data) {
export function getTemplateList(data:any) {
return createAxios({
url: '/harmonic-boot/customReport/getTemplateList',
// url:'/api3/harmonic-boot/customReport/getTemplateList',

154
src/api/task/definition.ts Normal file
View File

@@ -0,0 +1,154 @@
import request from "@/utils/request";
// 流程节点数据
export function flowXmlAndNode(query) {
return request({
url: '/process-boot/flowable/task/flowXmlAndNode',
method: 'get',
params: query
})
}
// 查询流程定义列表
export function listDefinition(query) {
return request({
url: '/process-boot/flowable/definition/list',
method: 'get',
params: query
})
}
// 部署流程实例
export function definitionStart(procDefId, data) {
return request({
url: '/process-boot/flowable/definition/start/' + procDefId,
method: 'post',
data: data
})
}
// 获取流程变量
export function getProcessVariables(taskId) {
return request({
url: '/process-boot/flowable/task/processVariables/' + taskId,
method: 'get'
})
}
// 激活/挂起流程
export function updateState(params) {
return request({
url: '/flowable/definition/updateState',
method: 'put',
params: params
})
}
// 指定流程办理人员列表
export function userList(query) {
return request({
url: '/flowable/definition/userList',
method: 'get',
params: query
})
}
// 指定流程办理组列表
export function roleList(query) {
return request({
url: '/flowable/definition/roleList',
method: 'get',
params: query
})
}
// 指定流程表达式
export function expList(query) {
return request({
url: '/flowable/definition/expList',
method: 'get',
params: query
})
}
// 读取xml文件
export function readXml(deployId) {
return request({
url: 'process-boot/flowable/definition/readXml',
method: 'get',
params: deployId
})
}
// 读取image文件
export function readImage(deployId) {
return request({
url: '/flowable/definition/readImage/' + deployId,
method: 'get'
})
}
// 获取流程执行节点
export function getFlowViewer(procInsId, executionId) {
return request({
url: '/flowable/task/flowViewer/' + procInsId + '/' + executionId,
method: 'get'
})
}
// 保存xml文件
export function saveXml(data) {
return request({
url: 'process-boot/flowable/definition/save',
method: 'post',
data: data
})
}
// 新增流程定义
export function addDeployment(data) {
return request({
url: '/system/deployment',
method: 'post',
data: data
})
}
// 修改流程定义
export function updateDeployment(data) {
return request({
url: '/system/deployment',
method: 'put',
data: data
})
}
// 删除流程定义
export function delDeployment(deployId) {
return request({
url: 'process-boot/flowable/definition/delete',
method: 'post',
data: deployId
})
}
// 导出流程定义
export function exportDeployment(query) {
return request({
url: '/system/deployment/export',
method: 'get',
params: query
})
}
export function assFormWithDeploy(data) {
return request({
url: 'process-boot/flowable/definition/assFormWithDeploy',
method: 'get',
params: data
})
}

81
src/api/task/finished.ts Normal file
View File

@@ -0,0 +1,81 @@
import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da";
// 查询已办任务列表
export function finishedList(query) {
return request({
url: 'process-boot/flowable/task/finishedList',
method: 'get',
params: query
})
}
// 任务流转记录
export function flowRecord(query) {
return request({
url: '/process-boot/flowable/task/flowRecord',
method: 'get',
params: query
})
}
// 撤回任务
export function revokeProcess(data) {
return request({
url: '/flowable/task/revokeProcess',
method: 'post',
data: data
})
}
// 部署流程实例
export function deployStart(deployId) {
return request({
url: '/flowable/process/startFlow/' + deployId,
method: 'get',
})
}
// 查询流程定义详细
export function getDeployment(id) {
return request({
url: '/system/deployment/' + id,
method: 'get'
})
}
// 新增流程定义
export function addDeployment(data) {
return request({
url: '/system/deployment',
method: 'post',
data: data
})
}
// 修改流程定义
export function updateDeployment(data) {
return request({
url: '/system/deployment',
method: 'put',
data: data
})
}
// 删除流程定义
export function delDeployment(data) {
return request({
url: 'process-boot/flowable/instance/delete',
method: 'get',
params: data
})
}
// 导出流程定义
export function exportDeployment(query) {
return request({
url: '/system/deployment/export',
method: 'get',
params: query
})
}

106
src/api/task/process.ts Normal file
View File

@@ -0,0 +1,106 @@
import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da";
// 我的发起的流程
export function myProcessList(query) {
return request({
url: '/process-boot/flowable/task/myProcess',
method: 'get',
params: query
})
}
export function flowFormData(query) {
return request({
url: '/flowable/task/flowFormData',
method: 'get',
params: query
})
}
// 完成任务
export function complete(data) {
return request({
url: '/flowable/task/complete',
method: 'post',
data: data
})
}
// 取消申请
export function stopProcess(data) {
return request({
url: 'process-boot/flowable/task/stopProcess',
method: 'post',
data: data
})
}
// 驳回任务
export function rejectTask(data) {
return request({
url: '/flowable/task/reject',
method: 'post',
data: data
})
}
// 可退回任务列表
export function returnList(data) {
return request({
url: '/flowable/task/returnList',
method: 'post',
data: data
})
}
// 部署流程实例
export function deployStart(deployId) {
return request({
url: '/flowable/process/startFlow/' + deployId,
method: 'get',
})
}
// 查询流程定义详细
export function getDeployment(id) {
return request({
url: '/system/deployment/' + id,
method: 'get'
})
}
// 新增流程定义
export function addDeployment(data) {
return request({
url: '/system/deployment',
method: 'post',
data: data
})
}
// 修改流程定义
export function updateDeployment(data) {
return request({
url: '/system/deployment',
method: 'put',
data: data
})
}
// 删除流程定义
export function delDeployment(id) {
return request({
url: '/system/deployment/' + id,
method: 'delete'
})
}
// 导出流程定义
export function exportDeployment(query) {
return request({
url: '/system/deployment/export',
method: 'get',
params: query
})
}

133
src/api/task/todo.ts Normal file
View File

@@ -0,0 +1,133 @@
import request from '@/utils/request'
import da from "element-ui/src/locale/lang/da";
// 查询待办任务列表
export function todoList(query) {
return request({
url: 'process-boot/flowable/task/todoList',
method: 'get',
params: query
})
}
// 完成任务
export function complete(data) {
return request({
url: '/flowable/task/complete',
method: 'post',
data: data
})
}
// 委派任务
export function delegate(data) {
return request({
url: '/flowable/task/delegate',
method: 'post',
data: data
})
}
// 退回任务
export function returnTask(data) {
return request({
url: '/flowable/task/return',
method: 'post',
data: data
})
}
// 驳回任务
export function rejectTask(data) {
return request({
url: '/flowable/task/reject',
method: 'post',
data: data
})
}
// 可退回任务列表
export function returnList(data) {
return request({
url: '/flowable/task/returnList',
method: 'post',
data: data
})
}
// 下一节点
export function getNextFlowNode(data) {
return request({
url: '/flowable/task/nextFlowNode',
method: 'post',
data: data
})
}
// 下一节点
export function getNextFlowNodeByStart(data) {
return request({
url: '/flowable/task/nextFlowNodeByStart',
method: 'post',
data: data
})
}
// 部署流程实例
export function deployStart(deployId) {
return request({
url: '/flowable/process/startFlow/' + deployId,
method: 'get',
})
}
// 查询流程定义详细
export function getDeployment(id) {
return request({
url: '/system/deployment/' + id,
method: 'get'
})
}
// 新增流程定义
export function addDeployment(data) {
return request({
url: '/system/deployment',
method: 'post',
data: data
})
}
// 修改流程定义
export function updateDeployment(data) {
return request({
url: '/system/deployment',
method: 'put',
data: data
})
}
// 删除流程定义
export function delDeployment(id) {
return request({
url: '/system/deployment/' + id,
method: 'delete'
})
}
// 导出流程定义
export function exportDeployment(query) {
return request({
url: '/system/deployment/export',
method: 'get',
params: query
})
}
// 流程节点表单
export function flowTaskForm(query) {
return request({
url: '/flowable/task/flowTaskForm',
method: 'get',
params: query
})
}

View File

@@ -1,11 +1,74 @@
<template>
<div> 已办</div>
<div class='default-main'>
<TableHeader>
<template v-slot:select>
<el-form-item label='筛选数据'>
<el-input v-model='tableStore.table.params.name' clearable placeholder='筛选数据' />
</el-form-item>
</template>
<template v-slot:operation>
<el-button type='primary' @click='exportEvent' class='ml10' icon='el-icon-Download'>导出</el-button>
</template>
</TableHeader>
<!--表格-->
<Table ref='tableRef'></Table>
</div>
</template>
<script setup lang='ts'>
import { ref, reactive } from 'vue'
import { ElMessage } from 'element-plus'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { onMounted, provide, ref } from 'vue'
import { useDictData } from '@/stores/dictData'
defineOptions({
name: 'admin/flowTask/mytask'
})
const tableStore = new TableStore({
url: '/process-boot/flowable/task/todoList',
method: 'GET',
column: [
{ title: '序号', width: 60 },
{ title: '流程名称', field: 'procDefName', width: 200 },
{ title: '流程类别', field: 'category', width: 200 },
{ title: '流程版本', field: 'procDefVersion' },
{ title: '提交时间', field: 'createTime' },
{
title: '流程状态', field: 'finishTime',
render: 'tag',
custom: {
0: 'warning',
1: 'success'
},
replaceValue: {
0: '进行中',
1: '已完成'
},
formatter(row: any) {
return row.finishTime == null ? '0' : '1'
}
},
{ title: '耗时', field: 'duration' },
{ title: '当前节点', field: 'taskName' },
{ title: '审核人', field: 'superiorsSubstation' }
],
beforeSearchFun: () => {
tableStore.table.params.beginTime = tableStore.table.params.startTime
tableStore.table.params.deptId = tableStore.table.params.deptIndex
}
})
onMounted(() => {
// 加载数据
tableStore.index()
})
</script>
<style lang="scss" scoped>
</style>

View File

@@ -1,74 +1,74 @@
<!--业务用户管理界面-->
<template>
<div class="default-main">
<TableHeader >
<div class='default-main'>
<TableHeader>
<template v-slot:select>
<el-form-item label="筛选数据">
<el-input v-model="tableStore.table.params.name" clearable placeholder="筛选数据" />
<el-form-item label='流程名称'>
<el-input v-model='tableStore.table.params.name' clearable placeholder='流程名称' />
</el-form-item>
<el-form-item label='流程分类'>
<el-select v-model="tableStore.table.params.searchState" clearable placeholder="请选择流程分类">
<el-option v-for="item in categoryList" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
</template>
<template v-slot:operation>
<el-button type="primary" @click="exportEvent" class="ml10" icon="el-icon-Download">导出</el-button>
<el-button type='primary' @click='exportReport' class='ml10' icon='el-icon-Download'>导出</el-button>
</template>
</TableHeader>
<!--表格-->
<Table ref="tableRef"></Table>
<Table ref='tableRef'></Table>
</div>
</template>
<script setup lang="ts">
<script setup lang='ts'>
import { ElMessage } from 'element-plus'
import TableStore from '@/utils/tableStore'
import Table from '@/components/table/index.vue'
import TableHeader from '@/components/table/header/index.vue'
import { onMounted, provide, ref } from 'vue'
import { useDictData } from '@/stores/dictData'
import { pageTable } from '@/api/harmonic-boot/luckyexcel'
import { myProcessList } from '@/api/task/process'
defineOptions({
name: 'harmonic-boot/reate/word'
name: 'admin/flowTask/mytask'
})
const dictData = useDictData()
//区域联级选择
const industry = dictData.getBasicData('Interference_Source')
const categoryList: any = ref([
{ id: 0, name: '未启用' },
{ id: 1, name: '启用' }
])
//用户信息弹出框
const tableRef = ref()
const tableStore = new TableStore({
url: '/process-boot/flowable/task/todoList',
url: '/process-boot/flowable/task/myProcess',
method: 'GET',
column: [
{ title: '序号', type: 'seq',width: 60 },
{ title: '流程名称', field: 'procDefName', width: 200 },
{ title: '流程类别', field: 'category', width: 200 },
{ title: '流程版本', field: 'procDefVersion' },
{ title: '提交时间', field: 'createTime' },
{
title: '序号',
width: 60,
formatter: (row: any) => {
return (tableStore.table.params.pageNum - 1) * tableStore.table.params.pageSize + row.rowIndex + 1
title: '流程状态', field: 'finishTime',
render: 'tag',
custom: {
0: 'warning',
1: 'success'
},
formatter(row: any) {
return row.finishTime == null ? 0 : 1
}
},
{ title: '变电站', field: 'subName', width: 200 },
{ title: '监测点名称', field: 'lineName', width: 200 },
{
title: '行业类型',
field: 'businessType',
formatter: (row: any) => {
return industry.find((item: any) => item.id == row.cellValue)?.name || '/'
}
},
{
title: '分类等级',
field: 'calssificationGrade',
formatter: (row: any) => {
return row.cellValue || '/'
}
},
{ title: '电压等级', field: 'voltageScale' },
{
title: '上级变电站',
field: 'superiorsSubstation',
formatter: (row: any) => {
return row.cellValue || '/'
}
}
{ title: '耗时', field: 'duration' },
{ title: '当前节点', field: 'taskName' },
{ title: '审核人', field: 'superiorsSubstation' }
],
beforeSearchFun: () => {
tableStore.table.params.beginTime = tableStore.table.params.startTime
@@ -83,18 +83,18 @@ onMounted(() => {
tableStore.table.params.name = ''
provide('tableStore', tableStore)
// 导出
const exportEvent = () => {
const exportReport = () => {
let form = JSON.parse(JSON.stringify(tableStore.table.params))
form.pageNum = 1
form.pageSize = tableStore.table.total
pageTable(form).then(res => {
myProcessList(form).then(res => {
tableRef.value.getRef().exportData({
filename: '合格率报告', // 文件名字
sheetName: 'Sheet1',
type: 'xlsx', //导出文件类型 xlsx 和 csv
useStyle: true,
data: res.data.records, // 数据源 // 过滤那个字段导出
columnFilterMethod: function (column: any) {
columnFilterMethod: function(column: any) {
return !(column.$columnIndex === 0)
}
})