feat:发布前校验当前流程模型下是否存在正在审批中的单据信息

This commit is contained in:
smallNorthLee 2025-02-11 23:59:45 +08:00
parent 1b0fe23292
commit c039696288
3 changed files with 43 additions and 15 deletions

View File

@ -159,7 +159,7 @@
<el-button
link
type="primary"
@click="openModelForm('update', scope.row.id, scope.row.processDefinition.id)"
@click="openModelForm('update', scope.row.id, scope.row.processDefinition?.id)"
v-if="hasPermiUpdate"
:disabled="!isManagerUser(scope.row)"
>
@ -448,7 +448,7 @@ const handleDeploy = async (row: any) => {
//
await message.confirm('是否发布该流程!!')
//
const res = await ModelApi.getProcessInstance(row.processDefinition.id)
const res = await ModelApi.getProcessInstance(row.id)
if (res) {
message.error('当前版本下存在正在进行中的单据,请先结束单据后再发布')
return
@ -593,14 +593,14 @@ const handleDeleteCategory = async () => {
/** 添加流程模型弹窗 */
const tagsView = useTagsView()
const openModelForm = async (type: string, id?: number, processDefinitionId?: string) => {
alert(processDefinitionId)
const openModelForm = async (type: string, id?: number, processDefinitionId?: any) => {
if (type === 'create') {
await push({ name: 'BpmModelCreate' })
} else {
const params = processDefinitionId ? { id, type, processDefinitionId } : { id, type }
await push({
name: 'BpmModelUpdate',
params: { id, type }
params: params
})
//
if (type === 'copy') {

View File

@ -179,6 +179,8 @@ const userList = ref<UserApi.UserVO[]>([])
/** 初始化数据 */
const initData = async () => {
console.log(route.params);
const modelId = route.params.id as string
if (modelId) {
//
@ -295,7 +297,7 @@ const handleSave = async () => {
//
await router.push({
name: 'BpmModelUpdate',
params: { id: formData.value.id, processDefinitionId: formData.value.processDefinitionId }
params: { id: formData.value.id}
})
} catch {
//
@ -312,6 +314,8 @@ const handleSave = async () => {
/** 发布操作 */
const handleDeploy = async () => {
console.log(route.params);
try {
//
if (!formData.value.id) {
@ -319,7 +323,7 @@ const handleDeploy = async () => {
}
//
const res = await ModelApi.getProcessInstance(row.processDefinition.id)
const res = await ModelApi.getProcessInstance(formData.value.id)
if (res) {
message.error('当前版本下存在正在进行中的单据,请先结束单据后再发布')
return
@ -352,11 +356,6 @@ const handleDeploy = async () => {
}
}
const validateProcessInstance = async (processDefinitionId) => {
const valid = await ModelApi.getProcessInstance(processDefinitionId)
console.log(valid)
}
/** 步骤切换处理 */
const handleStepClick = async (index: number) => {
try {

View File

@ -58,7 +58,16 @@
>
<template #default>
<div class="flex">
<el-image :src="definition.icon" class="w-32px h-32px" />
<el-image
v-if="definition.icon"
:src="definition.icon"
class="w-32px h-32px"
/>
<div v-else class="flow-icon">
<span style="font-size: 12px; color: #fff">{{
sliceName(definition.name)
}}</span>
</div>
<el-text class="!ml-10px" size="large">{{ definition.name }}</el-text>
</div>
</template>
@ -275,6 +284,14 @@ const availableCategories = computed(() => {
)
})
//
const sliceName = (name: string) => {
if (name.length > 2) {
return name.slice(0, 2)
}
return name
}
/** 初始化 */
onMounted(() => {
getList()
@ -282,13 +299,25 @@ onMounted(() => {
</script>
<style lang="scss" scoped>
.flow-icon {
display: flex;
width: 32px;
height: 32px;
margin-right: 10px;
background-color: var(--el-color-primary);
border-radius: 0.25rem;
align-items: center;
justify-content: center;
}
.process-definition-container::before {
content: '';
border-left: 1px solid #e6e6e6;
position: absolute;
left: 20.8%;
height: 100%;
border-left: 1px solid #e6e6e6;
content: '';
}
:deep() {
.definition-item-card {
.el-card__body {