Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zrch-risk-39
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
zrch-risk-39
Commits
517441ba
提交
517441ba
authored
4月 29, 2026
作者:
kxjia
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完善报送工作流
上级
0cfa28bc
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
498 行增加
和
386 行删除
+498
-386
DynamicList.vue
...nt-39/src/views/baosong/flower/components/DynamicList.vue
+151
-0
BaosongTask.data.ts
...ient-39/src/views/baosong/flower/data/BaosongTask.data.ts
+1
-1
BaosongTaskList.vue
...ient-39/src/views/baosong/flower/list/BaosongTaskList.vue
+191
-221
BaosongTaskMainList.vue
...-39/src/views/baosong/flower/list/BaosongTaskMainList.vue
+124
-159
AuditActController.java
...eecg/modules/stm/audit/controller/AuditActController.java
+0
-1
BaosongTaskController.java
...modules/stm/baosong/controller/BaosongTaskController.java
+31
-4
没有找到文件。
zrch-risk-client-39/src/views/baosong/flower/components/DynamicList.vue
0 → 100644
浏览文件 @
517441ba
<
template
>
<div>
<BasicTable
@
register=
"registerTable"
:rowSelection=
"rowSelection"
>
<template
#
tableTitle
>
<a-button
type=
"primary"
@
click=
"handleAdd"
v-if=
"showAdd"
preIcon=
"ant-design:plus-outlined"
>
新增
</a-button>
<a-dropdown
v-if=
"selectedRowKeys.length > 0 && showBatch"
>
<template
#
overlay
>
<a-menu>
<a-menu-item
key=
"1"
@
click=
"batchHandleDelete"
>
<Icon
icon=
"ant-design:delete-outlined"
/>
删除
</a-menu-item>
</a-menu>
</
template
>
<a-button>
批量操作
<Icon
icon=
"mdi:chevron-down"
/></a-button>
</a-dropdown>
</template>
<
template
#
action=
"{ record }"
>
<TableAction
:actions=
"tableActions(record)"
:dropDownActions=
"dropDownActions(record)"
/>
</
template
>
<
template
#
htmlSlot=
"{ text }"
>
<div
v-html=
"text"
></div>
</
template
>
</BasicTable>
<slot
name=
"modals"
></slot>
</div>
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
,
onMounted
}
from
'vue'
;
import
{
BasicTable
,
TableAction
}
from
'/@/components/Table'
;
import
{
useListPage
}
from
'/@/hooks/system/useListPage'
;
interface
ActionItem
{
label
:
string
;
onClick
?:
(
record
:
any
)
=>
void
;
ifShow
?:
boolean
;
popConfirm
?:
{
title
:
string
;
confirm
:
()
=>
void
;
};
disabled
?:
boolean
;
}
interface
Props
{
title
?:
string
;
api
:
any
;
columns
:
any
[];
searchFormSchema
?:
any
[];
canResize
?:
boolean
;
labelWidth
?:
string
|
number
;
showAdvancedButton
?:
boolean
;
autoSubmitOnEnter
?:
boolean
;
beforeFetch
?:
(
params
:
any
)
=>
any
;
actionColumn
?:
any
;
showAdd
?:
boolean
;
showBatch
?:
boolean
;
getTableActions
?:
(
record
:
any
)
=>
ActionItem
[];
getDropDownActions
?:
(
record
:
any
)
=>
ActionItem
[];
deleteApi
?:
(
data
:
any
)
=>
Promise
<
any
>
;
batchDeleteApi
?:
(
data
:
any
)
=>
Promise
<
any
>
;
}
const
props
=
withDefaults
(
defineProps
<
Props
>
(),
{
title
:
'列表'
,
canResize
:
false
,
labelWidth
:
'30%'
,
showAdvancedButton
:
true
,
autoSubmitOnEnter
:
true
,
showAdd
:
true
,
showBatch
:
true
,
});
const
emit
=
defineEmits
([
'add'
,
'reload'
,
'register'
]);
const
{
tableContext
}
=
useListPage
({
tableProps
:
{
title
:
props
.
title
,
api
:
props
.
api
,
columns
:
props
.
columns
,
canResize
:
props
.
canResize
,
formConfig
:
{
labelWidth
:
props
.
labelWidth
,
schemas
:
props
.
searchFormSchema
||
[],
autoSubmitOnEnter
:
props
.
autoSubmitOnEnter
,
showAdvancedButton
:
props
.
showAdvancedButton
,
},
beforeFetch
:
props
.
beforeFetch
,
actionColumn
:
props
.
actionColumn
||
{
width
:
200
,
fixed
:
'right'
,
},
},
});
const
[
registerTable
,
{
reload
},
{
rowSelection
,
selectedRowKeys
}]
=
tableContext
;
// 组件初始化时发出 register 事件
onMounted
(()
=>
{
emit
(
'register'
,
{
register
:
registerTable
,
reload
,
});
});
function
handleAdd
()
{
emit
(
'add'
);
}
async
function
handleDelete
(
record
:
any
)
{
if
(
props
.
deleteApi
)
{
await
props
.
deleteApi
({
id
:
record
.
id
});
handleSuccess
();
}
}
async
function
batchHandleDelete
()
{
if
(
props
.
batchDeleteApi
)
{
await
props
.
batchDeleteApi
({
ids
:
selectedRowKeys
.
value
});
handleSuccess
();
}
}
async
function
handleSuccess
()
{
selectedRowKeys
.
value
=
[];
await
reload
();
emit
(
'reload'
);
}
function
tableActions
(
record
:
any
)
{
if
(
props
.
getTableActions
)
{
return
props
.
getTableActions
(
record
);
}
return
[];
}
function
dropDownActions
(
record
:
any
)
{
if
(
props
.
getDropDownActions
)
{
return
props
.
getDropDownActions
(
record
);
}
return
[];
}
defineExpose
({
reload
,
registerTable
,
});
</
script
>
zrch-risk-client-39/src/views/baosong/flower/data/BaosongTask.data.ts
浏览文件 @
517441ba
...
...
@@ -96,7 +96,7 @@ export const columns: BasicColumn[] = [
status
=
"已启动"
;
}
else
if
(
text
===
"2"
)
{
color
=
"green"
;
status
=
"
运
行中"
;
status
=
"
进
行中"
;
}
else
{
color
=
""
;
status
=
"完成"
;
...
...
zrch-risk-client-39/src/views/baosong/flower/list/BaosongTaskList.vue
浏览文件 @
517441ba
<
template
>
<div>
<BasicTable
@
register=
"registerTable"
:rowSelection=
"rowSelection"
>
<template
#
tableTitle
>
<a-button
type=
"primary"
@
click=
"handleAdd"
preIcon=
"ant-design:plus-outlined"
>
新增
</a-button>
<a-dropdown
v-if=
"selectedRowKeys.length > 0"
>
<template
#
overlay
>
<a-menu>
<a-menu-item
key=
"1"
@
click=
"batchHandleDelete"
>
<Icon
icon=
"ant-design:delete-outlined"
/>
删除
</a-menu-item>
</a-menu>
</
template
>
<a-button>
批量操作
<Icon
icon=
"mdi:chevron-down"
/></a-button>
</a-dropdown>
<DynamicList
:title=
"title"
:api=
"api"
:columns=
"columns"
:searchFormSchema=
"searchFormSchema"
:actionColumn=
"actionColumn"
:getTableActions=
"getTableAction"
:getDropDownActions=
"getDropDownAction"
:deleteApi=
"deleteOne"
:batchDeleteApi=
"batchDelete"
@
add=
"handleAdd"
@
register=
"handleRegister"
>
<template
#
modals
>
<BaosongTaskModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<FlowHistoryDrawer
@
register=
"refFlowHistoryDrawer"
/>
<BaosongTaskDrawer
ref=
"refTaskDrawer"
@
callback=
"handleSuccess"
/>
<TaskAssigneeDrawer
@
register=
"registerAssigneeDrawer"
@
success=
"handlSendSuccess"
@
error=
"handleError"
/>
</
template
>
<
template
#
action=
"{ record }"
>
<TableAction
v-if=
"record.bpmStatus === null"
:actions=
"getTableAction(record)"
:dropDownActions=
"getDropDownAction(record)"
/>
<TableAction
v-else
:actions=
"getTableAction(record)"
/>
</
template
>
</BasicTable>
<BaosongTaskModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<FlowHistoryDrawer
@
register=
"refFlowHistoryDrawer"
/>
<BaosongTaskDrawer
ref=
"refTaskDrawer"
@
callback=
"handleSuccess"
/>
<task-assignee-drawer
@
register=
"registerAssigneeDrawer"
@
success=
"handlSendSuccess"
@
error=
"handleError"
/>
</DynamicList>
</div>
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
}
from
'vue'
;
import
{
BasicTable
,
TableAction
}
from
'/@/components/Table'
;
import
{
useModal
}
from
'/@/components/Modal'
;
import
{
useListPage
}
from
'/@/hooks/system/useListPage'
;
import
BaosongTaskModal
from
'../form/BaosongTaskModal.vue'
;
import
{
columns
,
searchFormSchema
}
from
'../data/BaosongTask.data'
;
import
{
list
,
deleteOne
,
batchDelete
,
saveOrUpdate
}
from
'../api/BaosongTask.api'
;
import
{
definitionStartByDeployId
,
getNodesByTableName
}
from
"/@/components/Process/api/definition"
;
import
{
useDrawer
}
from
'/@/components/Drawer'
;
import
TaskAssigneeDrawer
from
'/@/views/common/TaskAssigneeDrawer.vue'
;
import
FlowHistoryDrawer
from
'/@/views/common/FlowHistoryDrawer.vue'
;
import
BaosongTaskDrawer
from
'/@/views/baosong/task/components/BaosongTaskDrawer.vue'
;
const
[
refFlowHistoryDrawer
,
{
openDrawer
}]
=
useDrawer
();
const
[
registerAssigneeDrawer
,
{
openDrawer
:
openAssigneeDrawer
}]
=
useDrawer
();
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
workflowNodes
=
ref
<
Recordable
[]
>
([]);
const
currentNodeIndex
=
ref
(
0
);
const
userType
=
ref
(
''
);
const
assignee
=
ref
(
''
);
const
dataId
=
ref
(
''
);
const
deployId
=
ref
(
''
);
const
currentNode
=
ref
<
Recordable
>
({});
const
formTableName
=
"baosong_task"
;
const
refTaskDrawer
=
ref
();
const
{
tableContext
}
=
useListPage
({
tableProps
:
{
title
:
'任务表'
,
api
:
list
,
columns
,
canResize
:
false
,
formConfig
:
{
labelWidth
:
'30%'
,
schemas
:
searchFormSchema
,
autoSubmitOnEnter
:
true
,
showAdvancedButton
:
true
,
},
actionColumn
:
{
align
:
'left'
,
width
:
150
,
fixed
:
'right'
,
},
},
});
const
[
registerTable
,
{
reload
},
{
rowSelection
,
selectedRowKeys
}]
=
tableContext
;
function
handleAdd
()
{
openModal
(
true
,
{
isUpdate
:
false
,
showFooter
:
true
});
import
{
ref
}
from
'vue'
;
import
{
useModal
}
from
'/@/components/Modal'
;
import
{
useDrawer
}
from
'/@/components/Drawer'
;
import
BaosongTaskModal
from
'../form/BaosongTaskModal.vue'
;
import
{
columns
,
searchFormSchema
}
from
'../data/BaosongTask.data'
;
import
{
list
,
deleteOne
,
batchDelete
,
saveOrUpdate
}
from
'../api/BaosongTask.api'
;
import
{
definitionStartByDeployId
,
getNodesByTableName
}
from
"/@/components/Process/api/definition"
;
import
TaskAssigneeDrawer
from
'/@/views/common/TaskAssigneeDrawer.vue'
;
import
FlowHistoryDrawer
from
'/@/views/common/FlowHistoryDrawer.vue'
;
import
BaosongTaskDrawer
from
'/@/views/baosong/task/components/BaosongTaskDrawer.vue'
;
import
DynamicList
from
'../components/DynamicList.vue'
;
const
[
refFlowHistoryDrawer
,
{
openDrawer
}]
=
useDrawer
();
const
[
registerAssigneeDrawer
,
{
openDrawer
:
openAssigneeDrawer
}]
=
useDrawer
();
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
workflowNodes
=
ref
<
Recordable
[]
>
([]);
const
currentNodeIndex
=
ref
(
0
);
const
userType
=
ref
(
''
);
const
assignee
=
ref
(
''
);
const
dataId
=
ref
(
''
);
const
deployId
=
ref
(
''
);
const
currentNode
=
ref
<
Recordable
>
({});
const
formTableName
=
"baosong_task"
;
const
refTaskDrawer
=
ref
();
let
reloadTable
:
()
=>
Promise
<
void
>
;
const
title
=
'任务表'
;
const
api
=
list
;
const
actionColumn
=
{
align
:
'left'
,
width
:
150
,
fixed
:
'right'
,
};
function
handleRegister
(
params
:
any
)
{
reloadTable
=
params
.
reload
;
}
function
handleAdd
()
{
openModal
(
true
,
{
isUpdate
:
false
,
showFooter
:
true
});
}
const
handleDefinitionStart
=
async
(
data
:
Recordable
)
=>
{
const
formData
=
{
dataId
:
data
.
id
,
dataName
:
'id'
};
const
startResRaw
=
await
definitionStartByDeployId
(
currentNode
.
value
.
deployId
||
''
,
formData
);
if
(
startResRaw
?.
instanceId
)
{
data
.
procInsId
=
startResRaw
.
instanceId
;
data
.
bpmStatus
=
0
;
data
.
bpmNodeId
=
currentNode
.
value
.
id
;
data
.
deployId
=
currentNode
.
value
.
deployId
;
await
saveOrUpdate
(
data
,
true
);
}
};
const
handleDefinitionStart
=
async
(
data
)
=>
{
const
formData
=
{
dataId
:
data
.
id
,
dataName
:
'id'
};
const
startResRaw
=
await
definitionStartByDeployId
(
currentNode
.
value
.
deployId
||
''
,
formData
);
if
(
startResRaw
?.
instanceId
)
{
data
.
procInsId
=
startResRaw
.
instanceId
;
data
.
bpmStatus
=
0
;
data
.
bpmNodeId
=
currentNode
.
value
.
id
;
data
.
deployId
=
currentNode
.
value
.
deployId
;
await
saveOrUpdate
(
data
,
true
);
}
};
function
handleEdit
(
record
:
Recordable
)
{
openModal
(
true
,
{
record
,
isUpdate
:
true
,
showFooter
:
true
});
}
function
handleEdit
(
record
:
Recordable
)
{
openModal
(
true
,
{
record
,
isUpdate
:
true
,
showFooter
:
tru
e
});
}
function
handleDetail
(
record
:
Recordable
)
{
openModal
(
true
,
{
record
,
isUpdate
:
true
,
showFooter
:
fals
e
});
}
function
handleDetail
(
record
:
Recordable
)
{
openModal
(
true
,
{
record
,
isUpdate
:
true
,
showFooter
:
false
}
);
}
async
function
handleDelete
(
record
:
Recordable
)
{
await
deleteOne
({
id
:
record
.
id
},
handleSuccess
);
}
async
function
handleDelete
(
record
:
Recordable
)
{
await
deleteOne
({
id
:
record
.
id
},
handleSuccess
);
async
function
handleSuccess
()
{
if
(
reloadTable
)
{
await
reloadTable
();
}
async
function
batchHandleDelete
()
{
await
batchDelete
({
ids
:
selectedRowKeys
.
value
},
handleSuccess
);
}
function
handleShowHistory
(
record
:
Recordable
)
{
openDrawer
(
true
,
{
procInsId
:
record
.
procInsId
,
dataId
:
record
.
id
,
deployId
:
record
.
deployId
,
});
}
const
handlSendSuccess
=
async
()
=>
{
currentNode
.
value
=
workflowNodes
.
value
[
1
];
await
saveOrUpdate
({
id
:
dataId
.
value
,
bpmNodeId
:
currentNode
.
value
.
id
,
deployId
:
currentNode
.
value
.
deployId
,
flowtaskName
:
currentNode
.
value
.
name
,
bpmStatus
:
2
,
},
true
);
await
handleSuccess
();
};
const
handleError
=
(
error
:
Error
)
=>
{
console
.
error
(
'任务分配失败:'
,
error
);
};
const
setNextNodeUser
=
async
()
=>
{
currentNodeIndex
.
value
++
;
const
nextNode
=
workflowNodes
.
value
[
currentNodeIndex
.
value
];
const
attributes
=
nextNode
?.
attributes
||
{};
const
userTypes
=
attributes
.
userType
||
[];
if
(
userTypes
.
length
>
0
)
{
userType
.
value
=
userTypes
[
0
].
value
||
''
;
if
(
userType
.
value
===
"role"
)
{
assignee
.
value
=
nextNode
.
candidateGroups
?.[
0
]?.
id
;
}
else
{
assignee
.
value
=
nextNode
.
assignee
;
}
}
};
async
function
handleSuccess
()
{
selectedRowKeys
.
value
=
[];
await
reload
();
const
handleDefinitionSend
=
async
(
data
:
Recordable
)
=>
{
workflowNodes
.
value
=
await
getNodesByTableName
(
formTableName
);
currentNode
.
value
=
workflowNodes
.
value
[
0
];
if
(
!
data
.
procInsId
)
{
await
handleDefinitionStart
(
data
);
}
function
handleShowHistory
(
record
)
{
openDrawer
(
true
,
{
procInsId
:
record
.
procInsId
,
dataId
:
record
.
id
,
deployId
:
record
.
deployId
,
});
};
const
handlSendSuccess
=
async
()
=>
{
await
handleSuccess
();
};
const
handleError
=
(
error
:
Error
)
=>
{
console
.
error
(
'任务分配失败:'
,
error
);
};
const
setNextNodeUser
=
async
()
=>
{
currentNodeIndex
.
value
++
;
const
nextNode
=
workflowNodes
.
value
[
currentNodeIndex
.
value
];
const
attributes
=
nextNode
?.
attributes
||
{};
const
userTypes
=
attributes
.
userType
||
[];
if
(
userTypes
.
length
>
0
)
{
userType
.
value
=
userTypes
[
0
].
value
||
''
;
if
(
userType
.
value
===
"role"
)
{
assignee
.
value
=
nextNode
.
candidateGroups
?.[
0
]?.
id
;
}
else
{
assignee
.
value
=
nextNode
.
assignee
;
}
}
};
const
handleDefinitionSend
=
async
(
data
:
Recordable
)
=>
{
workflowNodes
.
value
=
await
getNodesByTableName
(
formTableName
);
currentNode
.
value
=
workflowNodes
.
value
[
0
];
if
(
!
data
.
procInsId
)
{
await
handleDefinitionStart
(
data
)
}
dataId
.
value
=
data
.
id
;
deployId
.
value
=
currentNode
.
value
.
deployId
||
''
;
await
setNextNodeUser
();
openAssigneeDrawer
(
true
,
{
assignee
:
assignee
.
value
,
assigneeName
:
''
,
userType
:
userType
.
value
,
dataId
:
data
.
id
,
deployId
:
deployId
.
value
,
});
};
function
handleAlloc
(
record
:
Recordable
)
{
refTaskDrawer
.
value
.
setIniData
(
record
);
}
dataId
.
value
=
data
.
id
;
deployId
.
value
=
currentNode
.
value
.
deployId
||
''
;
await
setNextNodeUser
();
openAssigneeDrawer
(
true
,
{
assignee
:
assignee
.
value
,
assigneeName
:
''
,
userType
:
userType
.
value
,
dataId
:
data
.
id
,
deployId
:
deployId
.
value
,
});
};
function
handleAlloc
(
record
:
Recordable
)
{
refTaskDrawer
.
value
?.
setIniData
(
record
);
}
function
getTableAction
(
record
:
Recordable
)
{
return
[
{
label
:
'分配'
,
//disabled:record.sta>1,
onClick
:
handleAlloc
.
bind
(
null
,
record
),
},
{
label
:
'发起任务'
,
ifShow
:
record
.
bpmStatus
===
null
,
popConfirm
:
{
title
:
'是否确认发起任务'
,
confirm
:
()
=>
handleDefinitionSend
(
record
),
},
},
{
label
:
'发送任务'
,
ifShow
:
record
.
bpmStatus
===
"0"
,
popConfirm
:
{
title
:
'是否确认发起任务'
,
confirm
:
()
=>
handleDefinitionSend
(
record
),
},
},
{
label
:
'查看流程'
,
ifShow
:
record
.
bpmStatus
!==
null
,
onClick
:
()
=>
handleShowHistory
(
record
),
},
{
label
:
'归档'
,
ifShow
:
record
.
bpmStatus
===
"3"
,
onClick
:
()
=>
handleShowHistory
(
record
),
function
getTableAction
(
record
:
Recordable
)
{
return
[
{
label
:
'分配'
,
onClick
:
handleAlloc
.
bind
(
null
,
record
),
},
{
label
:
'发起任务'
,
ifShow
:
record
.
bpmStatus
===
null
,
popConfirm
:
{
title
:
'是否确认发起任务'
,
confirm
:
()
=>
handleDefinitionSend
(
record
),
},
];
}
function
getDropDownAction
(
record
:
Recordable
)
{
return
[
{
label
:
'详情'
,
onClick
:
()
=>
handleDetail
(
record
)
},
{
label
:
'编辑'
,
onClick
:
()
=>
handleEdit
(
record
)
},
{
label
:
'删除'
,
popConfirm
:
{
title
:
'是否确认删除'
,
confirm
:
()
=>
handleDelete
(
record
),
},
},
{
label
:
'发送任务'
,
ifShow
:
record
.
bpmStatus
===
"0"
,
popConfirm
:
{
title
:
'是否确认发起任务'
,
confirm
:
()
=>
handleDefinitionSend
(
record
),
},
];
}
defineExpose
({
handleUpdate
:
async
(
dataId
:
string
,
flowNode
:
Recordable
)
=>
{
await
saveOrUpdate
({
id
:
dataId
,
bpmNodeId
:
flowNode
.
id
,
deployId
:
flowNode
.
deployId
,
bpmStatus
:
2
,
},
true
);
await
handleSuccess
();
},
handleStartUpdate
:
async
(
flowData
:
Recordable
)
=>
{
await
saveOrUpdate
({
id
:
flowData
.
dataId
,
procInsId
:
flowData
.
procInsId
,
bpmStatus
:
0
,
},
true
);
await
handleSuccess
();
{
label
:
'查看流程'
,
ifShow
:
record
.
bpmStatus
!==
null
,
onClick
:
()
=>
handleShowHistory
(
record
),
},
});
</
script
>
\ No newline at end of file
{
label
:
'归档'
,
ifShow
:
record
.
bpmStatus
===
"3"
,
onClick
:
()
=>
handleShowHistory
(
record
),
},
];
}
function
getDropDownAction
(
record
:
Recordable
)
{
return
[
{
label
:
'详情'
,
onClick
:
()
=>
handleDetail
(
record
)
},
{
label
:
'编辑'
,
onClick
:
()
=>
handleEdit
(
record
)
},
{
label
:
'删除'
,
popConfirm
:
{
title
:
'是否确认删除'
,
confirm
:
()
=>
handleDelete
(
record
),
},
},
];
}
defineExpose
({
reload
:
handleSuccess
,
});
</
script
>
zrch-risk-client-39/src/views/baosong/flower/list/BaosongTaskMainList.vue
浏览文件 @
517441ba
<
template
>
<div>
<BasicTable
@
register=
"registerTable"
:rowSelection=
"rowSelection"
>
<template
#
tableTitle
>
<a-button
type=
"primary"
@
click=
"handleAdd"
preIcon=
"ant-design:plus-outlined"
>
新增
</a-button>
<a-dropdown
v-if=
"selectedRowKeys.length > 0"
>
<template
#
overlay
>
<a-menu>
<a-menu-item
key=
"1"
@
click=
"batchHandleDelete"
>
<Icon
icon=
"ant-design:delete-outlined"
/>
删除
</a-menu-item>
</a-menu>
</
template
>
<a-button>
批量操作
<Icon
icon=
"mdi:chevron-down"
/></a-button>
</a-dropdown>
<DynamicList
:title=
"title"
:api=
"api"
:columns=
"columns"
:searchFormSchema=
"searchFormSchema"
:actionColumn=
"actionColumn"
:beforeFetch=
"beforeFetch"
:getTableActions=
"getTableAction"
:getDropDownActions=
"getDropDownAction"
:deleteApi=
"deleteOne"
:batchDeleteApi=
"batchDelete"
:showBatch=
"false"
@
add=
"handleAdd"
@
register=
"handleRegister"
>
<template
#
modals
>
<BaosongTaskModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<BaosongAllocDrawer
ref=
"refAllocDrawer"
@
callback=
"handleSuccess"
/>
</
template
>
<
template
#
action=
"{ record }"
>
<TableAction
:actions=
"getTableAction(record)"
/>
</
template
>
</BasicTable>
<BaosongTaskModal
@
register=
"registerModal"
@
success=
"handleSuccess"
/>
<BaosongAllocDrawer
ref=
"refAllocDrawer"
@
callback=
"handleSuccess"
/>
</DynamicList>
</div>
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
,
computed
,
unref
}
from
'vue'
;
import
{
BasicTable
,
TableAction
}
from
'/@/components/Table'
;
import
{
useModal
}
from
'/@/components/Modal'
;
import
{
useListPage
}
from
'/@/hooks/system/useListPage'
;
import
BaosongTaskModal
from
'../form/BaosongTaskModal.vue'
;
import
{
columns
,
searchFormSchema
}
from
'../data/BaosongTask.data'
;
import
{
list
,
deleteOne
,
batchDelete
,
saveOrUpdate
}
from
'../api/BaosongTask.api'
;
import
BaosongAllocDrawer
from
'../form/BaosongAllocDrawer.vue'
;
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
refAllocDrawer
=
ref
();
const
props
=
defineProps
({
todoList
:
{
type
:
Array
as
()
=>
Recordable
[],
default
:
()
=>
[]
},
})
const
{
tableContext
}
=
useListPage
({
tableProps
:
{
title
:
'任务表'
,
api
:
list
,
columns
,
canResize
:
false
,
formConfig
:
{
labelWidth
:
'30%'
,
schemas
:
searchFormSchema
,
autoSubmitOnEnter
:
true
,
showAdvancedButton
:
true
,
},
beforeFetch
(
params
)
{
params
[
'bpmStatus'
]
=
"2"
;
params
[
'todoList'
]
=
props
.
todoList
;
return
params
;
},
actionColumn
:
{
width
:
200
,
fixed
:
'right'
,
},
},
import
{
ref
}
from
'vue'
;
import
{
useModal
}
from
'/@/components/Modal'
;
import
BaosongTaskModal
from
'../form/BaosongTaskModal.vue'
;
import
{
columns
,
searchFormSchema
}
from
'../data/BaosongTask.data'
;
import
{
list
,
deleteOne
,
batchDelete
,
saveOrUpdate
}
from
'../api/BaosongTask.api'
;
import
BaosongAllocDrawer
from
'../form/BaosongAllocDrawer.vue'
;
import
DynamicList
from
'../components/DynamicList.vue'
;
const
[
registerModal
,
{
openModal
}]
=
useModal
();
const
refAllocDrawer
=
ref
();
let
reloadTable
:
()
=>
Promise
<
void
>
;
const
props
=
defineProps
({
todoList
:
{
type
:
Array
as
()
=>
Recordable
[],
default
:
()
=>
[]
},
});
const
title
=
'任务表'
;
const
api
=
list
;
const
actionColumn
=
{
width
:
200
,
fixed
:
'right'
,
};
function
beforeFetch
(
params
:
any
)
{
params
[
'bpmStatus'
]
=
"2"
;
params
[
'todoList'
]
=
props
.
todoList
;
return
params
;
}
function
handleRegister
(
params
:
any
)
{
reloadTable
=
params
.
reload
;
}
function
handleAdd
()
{
openModal
(
true
,
{
isUpdate
:
false
,
showFooter
:
true
,
});
}
const
[
registerTable
,
{
reload
},
{
rowSelection
,
selectedRowKeys
}]
=
tableContext
;
function
handleAdd
()
{
openModal
(
true
,
{
isUpdate
:
false
,
showFooter
:
true
,
});
}
function
handleAlloc
(
record
:
Recordable
)
{
refAllocDrawer
.
value
.
setIniData
(
record
);
}
function
handleAlloc
(
record
:
Recordable
)
{
refAllocDrawer
.
value
?.
setIniData
(
record
);
}
function
handleEdit
(
record
:
Recordable
)
{
openModal
(
true
,
{
record
,
isUpdate
:
true
,
showFooter
:
true
,
});
}
function
handleDetail
(
record
:
Recordable
)
{
openModal
(
true
,
{
record
,
isUpdate
:
true
,
showFooter
:
false
,
});
}
async
function
handleDelete
(
record
:
Recordable
)
{
await
deleteOne
({
id
:
record
.
id
},
handleSuccess
);
}
function
handleEdit
(
record
:
Recordable
)
{
openModal
(
true
,
{
record
,
isUpdate
:
true
,
showFooter
:
true
,
});
}
async
function
batchHandleDelete
()
{
await
batchDelete
({
ids
:
selectedRowKeys
.
value
},
handleSuccess
);
}
function
handleDetail
(
record
:
Recordable
)
{
openModal
(
true
,
{
record
,
isUpdate
:
true
,
showFooter
:
false
,
});
}
async
function
handleSuccess
()
{
selectedRowKeys
.
value
=
[];
await
reload
();
async
function
handleSuccess
()
{
if
(
reloadTable
)
{
await
reload
Table
();
}
}
function
getTableAction
(
record
:
Recordable
)
{
return
[
// {
// label: '分配',
// onClick: handleAlloc.bind(null, record),
// },
// {
// label: '提交',
// onClick: () => emit('sendWorkFlow', record),
// },
{
label
:
'处理'
,
onClick
:
()
=>
emit
(
'open-multi-form'
,
record
),
},
];
}
function
getTableAction
(
record
:
Recordable
)
{
return
[
{
label
:
'处理'
,
onClick
:
()
=>
emit
(
'open-multi-form'
,
record
),
},
];
}
function
getDropDownAction
(
record
:
Recordable
)
{
return
[
{
label
:
'详情'
,
onClick
:
()
=>
handleDetail
(
record
),
},
{
label
:
'编辑'
,
onClick
:
()
=>
handleEdit
(
record
),
},
];
}
function
getDropDownAction
(
record
:
Recordable
)
{
return
[
{
label
:
'详情'
,
onClick
:
()
=>
handleDetail
(
record
),
},
{
label
:
'编辑'
,
onClick
:
()
=>
handleEdit
(
record
),
},
{
label
:
'删除'
,
popConfirm
:
{
title
:
'是否确认删除'
,
confirm
:
()
=>
handleDelete
(
record
),
},
},
];
}
const
emit
=
defineEmits
([
'sendWorkFlow'
,
'open-multi-form'
]);
const
emit
=
defineEmits
([
'sendWorkFlow'
,
'open-multi-form'
]);
const
handleUpdate
=
async
(
dataId
:
string
,
flowNode
:
Recordable
)
=>
{
const
record
=
{
bpmNodeId
:
flowNode
.
id
,
deployId
:
flowNode
.
deployId
,
bpmStatus
:
2
,
id
:
dataId
,
};
await
saveOrUpdate
(
record
,
true
);
await
handleSuccess
();
const
handleUpdate
=
async
(
dataId
:
string
,
flowNode
:
Recordable
)
=>
{
const
record
=
{
bpmNodeId
:
flowNode
.
id
,
deployId
:
flowNode
.
deployId
,
bpmStatus
:
2
,
id
:
dataId
,
};
const
handleStartUpdate
=
async
(
flowData
:
Recordable
)
=>
{
const
record
=
{
procInsId
:
flowData
.
procInsId
,
id
:
flowData
.
dataId
,
bpmStatus
:
0
,
};
await
saveOrUpdate
(
record
,
true
);
await
handleSuccess
();
await
saveOrUpdate
(
record
,
true
);
await
handleSuccess
();
};
const
handleStartUpdate
=
async
(
flowData
:
Recordable
)
=>
{
const
record
=
{
procInsId
:
flowData
.
procInsId
,
id
:
flowData
.
dataId
,
bpmStatus
:
0
,
};
defineExpose
({
handleUpdate
,
handleStartUpdate
,
});
</
script
>
\ No newline at end of file
await
saveOrUpdate
(
record
,
true
);
await
handleSuccess
();
};
defineExpose
({
handleUpdate
,
handleStartUpdate
,
});
</
script
>
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/java/org/jeecg/modules/stm/audit/controller/AuditActController.java
浏览文件 @
517441ba
...
...
@@ -49,7 +49,6 @@ public class AuditActController extends JeecgController<AuditAct, IAuditActServi
@Autowired
private
IAuditActRelOthersService
stActRelOthersService
;
/**
* 分页列表查询
*
...
...
zrch-risk-server-39/jeecg-module-system/jeecg-module-stm/src/main/java/org/jeecg/modules/stm/baosong/controller/BaosongTaskController.java
浏览文件 @
517441ba
...
...
@@ -2,6 +2,7 @@ package org.jeecg.modules.stm.baosong.controller;
import
java.util.*
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
dev.langchain4j.internal.Utils
;
import
jakarta.servlet.http.HttpServletRequest
;
import
jakarta.servlet.http.HttpServletResponse
;
...
...
@@ -16,8 +17,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
lombok.extern.slf4j.Slf4j
;
import
org.jeecg.common.system.base.controller.JeecgController
;
import
org.jeecg.modules.stm.my.entity.MyTask
;
import
org.jeecg.modules.stm.my.entity.MyTaskFlow
;
import
org.jeecg.modules.stm.my.entity.MyTaskFlowHis
;
import
org.jeecg.modules.stm.my.service.IMyTaskFlowHisService
;
import
org.jeecg.modules.stm.my.service.IMyTaskFlowService
;
import
org.jeecg.modules.stm.my.service.IMyTaskService
;
import
org.jeecg.modules.stm.problem.entity.StProblemCheck
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
...
...
@@ -51,6 +56,10 @@ public class BaosongTaskController extends JeecgController<BaosongTask, IBaosong
private
IBaosongTaskReviewService
baosongTaskReviewService
;
@Autowired
private
IMyTaskFlowService
myTaskFlowService
;
@Autowired
private
IMyTaskFlowHisService
myTaskFlowHisService
;
@Autowired
private
IMyTaskService
myTaskService
;
/**
* 分页列表查询
...
...
@@ -149,13 +158,13 @@ public class BaosongTaskController extends JeecgController<BaosongTask, IBaosong
@AutoLog
(
value
=
"任务表-添加"
)
@PostMapping
(
value
=
"/add"
)
public
Result
<
String
>
add
(
@RequestBody
BaosongTask
baosongTask
)
{
public
Result
<
BaosongTask
>
add
(
@RequestBody
BaosongTask
baosongTask
)
{
if
(
baosongTask
.
getTp
()==
null
){
baosongTask
.
setTp
(
1
);
}
baosongTask
.
setSta
(
0
);
baosongTaskService
.
save
(
baosongTask
);
return
Result
.
OK
(
"添加成功!"
);
return
Result
.
OK
(
baosongTask
);
}
/**
...
...
@@ -167,9 +176,9 @@ public class BaosongTaskController extends JeecgController<BaosongTask, IBaosong
@AutoLog
(
value
=
"任务表-编辑"
)
@RequestMapping
(
value
=
"/edit"
,
method
=
{
RequestMethod
.
PUT
,
RequestMethod
.
POST
})
public
Result
<
String
>
edit
(
@RequestBody
BaosongTask
baosongTask
)
{
public
Result
<
BaosongTask
>
edit
(
@RequestBody
BaosongTask
baosongTask
)
{
baosongTaskService
.
updateById
(
baosongTask
);
return
Result
.
OK
(
"编辑成功!"
);
return
Result
.
OK
(
baosongTask
);
}
/**
...
...
@@ -183,6 +192,7 @@ public class BaosongTaskController extends JeecgController<BaosongTask, IBaosong
@DeleteMapping
(
value
=
"/delete"
)
public
Result
<
String
>
delete
(
@RequestParam
(
name
=
"id"
,
required
=
true
)
Integer
id
)
{
baosongTaskService
.
removeById
(
id
);
deleteOther
(
id
);
return
Result
.
OK
(
"删除成功!"
);
}
...
...
@@ -345,6 +355,23 @@ public class BaosongTaskController extends JeecgController<BaosongTask, IBaosong
QueryWrapper
<
BaosongTaskRecord
>
queryRecordWrapper
=
new
QueryWrapper
<>();
queryRecordWrapper
.
eq
(
"taskid"
,
taskId
);
baosongTaskRecordService
.
remove
(
queryRecordWrapper
);
LambdaQueryWrapper
<
MyTaskFlow
>
myTaskFlowWrapper
=
new
LambdaQueryWrapper
<>();
myTaskFlowWrapper
.
eq
(
MyTaskFlow:
:
getFormTableName
,
"baosong_task"
)
.
eq
(
MyTaskFlow:
:
getTaskId
,
taskId
);
myTaskFlowService
.
getBaseMapper
().
delete
(
myTaskFlowWrapper
);
LambdaQueryWrapper
<
MyTask
>
myTaskWrapper
=
new
LambdaQueryWrapper
<>();
myTaskWrapper
.
eq
(
MyTask:
:
getTp
,
5
)
.
eq
(
MyTask:
:
getTargetId
,
taskId
);
myTaskService
.
getBaseMapper
().
delete
(
myTaskWrapper
);
LambdaQueryWrapper
<
MyTaskFlowHis
>
myTaskFlowHistoryWrapper
=
new
LambdaQueryWrapper
<>();
myTaskFlowHistoryWrapper
.
eq
(
MyTaskFlowHis:
:
getFormTableName
,
"baosong_task"
)
.
eq
(
MyTaskFlowHis:
:
getTaskId
,
taskId
);
myTaskFlowHisService
.
getBaseMapper
().
delete
(
myTaskFlowHistoryWrapper
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论