|
@@ -23,12 +23,9 @@ const imgUrl = ref('')
|
|
const doneListVisible = ref(false)
|
|
const doneListVisible = ref(false)
|
|
const doneList = ref([])
|
|
const doneList = ref([])
|
|
|
|
|
|
-const handleData = ref({})
|
|
|
|
-
|
|
|
|
const handleVisible = ref(false)
|
|
const handleVisible = ref(false)
|
|
const handleComponent = ref(null)
|
|
const handleComponent = ref(null)
|
|
const businessId = ref(null)
|
|
const businessId = ref(null)
|
|
-const taskId = ref(null)
|
|
|
|
|
|
|
|
const queryConfig: FormConfigType[] = [
|
|
const queryConfig: FormConfigType[] = [
|
|
{
|
|
{
|
|
@@ -83,12 +80,12 @@ const columnConfig: ColumnConfigType[] = [
|
|
label: '审批人'
|
|
label: '审批人'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- prop: 'transferredBy',
|
|
|
|
- label: '转办人'
|
|
|
|
|
|
+ prop: 'cooperateType',
|
|
|
|
+ label: '协作类型'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- prop: 'delegate',
|
|
|
|
- label: '委派人'
|
|
|
|
|
|
+ prop: 'collaborator',
|
|
|
|
+ label: '协作人'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
prop: 'flowStatus',
|
|
prop: 'flowStatus',
|
|
@@ -96,19 +93,14 @@ const columnConfig: ColumnConfigType[] = [
|
|
dict: 'flow_status'
|
|
dict: 'flow_status'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- prop: 'activityStatus',
|
|
|
|
- label: '激活状态',
|
|
|
|
- dict: 'activity_status'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
prop: 'createTime',
|
|
prop: 'createTime',
|
|
- label: '创建时间'
|
|
|
|
|
|
+ label: '审批时间'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- width: 200,
|
|
|
|
|
|
+ width: 250,
|
|
handleConfig: [
|
|
handleConfig: [
|
|
{
|
|
{
|
|
- text: '办理',
|
|
|
|
|
|
+ text: '流程明细',
|
|
click(row) {
|
|
click(row) {
|
|
const path = `/src/views/${row.formPath}`
|
|
const path = `/src/views/${row.formPath}`
|
|
const module = modules[path]
|
|
const module = modules[path]
|
|
@@ -117,26 +109,25 @@ const columnConfig: ColumnConfigType[] = [
|
|
return
|
|
return
|
|
}
|
|
}
|
|
businessId.value = row.businessId
|
|
businessId.value = row.businessId
|
|
- taskId.value = row.id
|
|
|
|
handleComponent.value = markRaw(defineAsyncComponent(module))
|
|
handleComponent.value = markRaw(defineAsyncComponent(module))
|
|
handleVisible.value = true
|
|
handleVisible.value = true
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- text: '流程图',
|
|
|
|
|
|
+ text: '审批记录',
|
|
click(row) {
|
|
click(row) {
|
|
- getChartApi(row.instanceId).then((resp) => {
|
|
|
|
- chartVisible.value = true
|
|
|
|
- imgUrl.value = 'data:image/gif;base64,' + resp
|
|
|
|
|
|
+ getDoneListApi(row.instanceId).then((resp) => {
|
|
|
|
+ doneListVisible.value = true
|
|
|
|
+ doneList.value = resp
|
|
})
|
|
})
|
|
}
|
|
}
|
|
},
|
|
},
|
|
{
|
|
{
|
|
- text: '审批记录',
|
|
|
|
|
|
+ text: '流程图',
|
|
click(row) {
|
|
click(row) {
|
|
- getDoneListApi(row.instanceId).then((resp) => {
|
|
|
|
- doneListVisible.value = true
|
|
|
|
- doneList.value = resp
|
|
|
|
|
|
+ getChartApi(row.instanceId).then((resp) => {
|
|
|
|
+ chartVisible.value = true
|
|
|
|
+ imgUrl.value = 'data:image/gif;base64,' + resp
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -168,21 +159,6 @@ const doneListColumnConfig: ColumnConfigType[] = [
|
|
}
|
|
}
|
|
]
|
|
]
|
|
|
|
|
|
-const handleConfig: FormConfigType[] = [
|
|
|
|
- {
|
|
|
|
- type: 'input',
|
|
|
|
- itemType: 'textarea',
|
|
|
|
- label: '审批意见',
|
|
|
|
- prop: 'message',
|
|
|
|
- rows: 5
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- type: 'slot',
|
|
|
|
- label: '审批类型',
|
|
|
|
- prop: 'handle'
|
|
|
|
- }
|
|
|
|
-]
|
|
|
|
-
|
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
getPage()
|
|
getPage()
|
|
})
|
|
})
|
|
@@ -194,14 +170,6 @@ function getPage() {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
|
|
-function handle(handleType) {
|
|
|
|
- const message = handleData.value.message
|
|
|
|
- handleApi({ taskId: taskId.value, handleType, message }).then(() => {
|
|
|
|
- getPage()
|
|
|
|
- ElMessage.success('办理成功')
|
|
|
|
- this.handleVisible = false
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<template>
|
|
<template>
|
|
@@ -224,22 +192,7 @@ function handle(handleType) {
|
|
</a-table>
|
|
</a-table>
|
|
|
|
|
|
<a-dialog title="" v-model="handleVisible" width="1200px" :footer="false">
|
|
<a-dialog title="" v-model="handleVisible" width="1200px" :footer="false">
|
|
- <el-card shadow="always">
|
|
|
|
- <template #header>流程明细</template>
|
|
|
|
- <component :is="handleComponent" :businessId="businessId" />
|
|
|
|
- </el-card>
|
|
|
|
-
|
|
|
|
- <el-card shadow="always" style="margin-top: 20px">
|
|
|
|
- <template #header>办理参数</template>
|
|
|
|
- <a-form v-model="handleData" :config="handleConfig" :span="24">
|
|
|
|
- <template #handle>
|
|
|
|
- <el-button type="primary" @click="handle(1)">通 过</el-button>
|
|
|
|
- <el-button type="primary" @click="handle(2)">回 退</el-button>
|
|
|
|
- <el-button type="primary" @click="handle(3)">拒 绝</el-button>
|
|
|
|
- <el-button @click="handleVisible = false">关 闭</el-button>
|
|
|
|
- </template>
|
|
|
|
- </a-form>
|
|
|
|
- </el-card>
|
|
|
|
|
|
+ <component :is="handleComponent" :businessId="businessId" />
|
|
</a-dialog>
|
|
</a-dialog>
|
|
|
|
|
|
<a-dialog title="流程图" v-model="chartVisible" width="1200px" :footer="false">
|
|
<a-dialog title="流程图" v-model="chartVisible" width="1200px" :footer="false">
|