yxk-20260430-党委会流程办理页面改造,将流程审批相关页面集成到表单下方一起办理
This commit is contained in:
@@ -13,6 +13,7 @@ enum Api {
|
||||
importExcel = '/bgpartymatter/bgPartymatter/importExcel',
|
||||
exportXls = '/bgpartymatter/bgPartymatter/exportXls',
|
||||
saveBpmForm = '/bgpartymatter/bgPartymatter/saveBpmForm',
|
||||
setProcessVariable = '/act/process/setProcessVariable',
|
||||
bgPartymatterFeedbackList = '/bgpartymatter/bgPartymatter/listBgPartymatterFeedbackByMainId',
|
||||
bgPartymatterFeedbackSave= '/bgpartymatter/bgPartymatter/addBgPartymatterFeedback',
|
||||
bgPartymatterFeedbackEdit= '/bgpartymatter/bgPartymatter/editBgPartymatterFeedback',
|
||||
@@ -78,6 +79,10 @@ export const saveBpmForm = (params) => {
|
||||
return defHttp.post({ url: Api.saveBpmForm, params }, { isTransformResponse: false });
|
||||
}
|
||||
|
||||
export const setProcessVariable = (params) => {
|
||||
return defHttp.post({ url: Api.setProcessVariable, params }, { isTransformResponse: false });
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表接口
|
||||
* @param params
|
||||
|
||||
@@ -144,6 +144,17 @@
|
||||
<a-button type="primary" :loading="savingFeedback" @click="saveFeedback">保存反馈</a-button>
|
||||
</div>
|
||||
</a-form>
|
||||
|
||||
<template v-if="showProcessHandle">
|
||||
<a-divider />
|
||||
<div class="section-title">流程办理</div>
|
||||
<TaskHandleInnerContent
|
||||
:form-data="formData"
|
||||
:claim="claim"
|
||||
@success="handleProcessSuccess"
|
||||
@claimSuccess="handleClaimSuccess"
|
||||
/>
|
||||
</template>
|
||||
</div>
|
||||
</a-spin>
|
||||
</template>
|
||||
@@ -155,18 +166,20 @@
|
||||
import JSelectDept from '/@/components/Form/src/jeecg/components/JSelectDept.vue';
|
||||
import { bgPartymatterFeedbackList, bgPartymatterFeedbackSaveOrUpdate, saveBpmForm } from '../BgPartymatter.api';
|
||||
import { usePermission } from '/@/hooks/web/usePermission';
|
||||
import TaskHandleInnerContent from '/@/views/super/bpm/process/personalOffice/myHandleTask/content/TaskHandleInnerContent.vue';
|
||||
const { isDisabledAuth, hasPermission, initBpmFormData} = usePermission();
|
||||
|
||||
const props = defineProps({
|
||||
formDisabled: { type: Boolean, default: false },
|
||||
formData: { type: Object, default: () => ({}) },
|
||||
formBpm: { type: Boolean, default: true },
|
||||
claim: { type: Boolean, default: false },
|
||||
});
|
||||
|
||||
initBpmFormData(props.formData);
|
||||
|
||||
|
||||
const emit = defineEmits(['ok']);
|
||||
const emit = defineEmits(['ok', 'success', 'claimSuccess']);
|
||||
const { createMessage } = useMessage();
|
||||
const queryByIdUrl = '/bgpartymatter/bgPartymatter/queryById';
|
||||
|
||||
@@ -238,6 +251,8 @@
|
||||
return props.formDisabled;
|
||||
});
|
||||
|
||||
const showProcessHandle = computed(() => props.formBpm && !!props.formData?.taskId);
|
||||
|
||||
const processInfo = computed(() => ({
|
||||
taskId: props.formData?.taskId,
|
||||
taskDefKey: props.formData?.taskDefKey,
|
||||
@@ -341,6 +356,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
function handleProcessSuccess() {
|
||||
emit('success');
|
||||
}
|
||||
|
||||
function handleClaimSuccess() {
|
||||
emit('claimSuccess');
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
submitForm,
|
||||
initFormData,
|
||||
|
||||
@@ -15,7 +15,15 @@
|
||||
<div v-else class="component_div">
|
||||
<Suspense v-if="path">
|
||||
<template #default>
|
||||
<component v-if="path" :is="currentComponent" :formData="formData" form-bpm></component>
|
||||
<component
|
||||
v-if="path"
|
||||
:is="currentComponent"
|
||||
:formData="formData"
|
||||
:claim="claim"
|
||||
form-bpm
|
||||
@success="handleSuccess"
|
||||
@claimSuccess="handleClaimSuccess"
|
||||
></component>
|
||||
</template>
|
||||
<template #fallback>
|
||||
<div style="width: 100%; text-align: center; padding-top: 60px">
|
||||
@@ -51,8 +59,13 @@
|
||||
},
|
||||
// 父级html
|
||||
parentNode: { type: Object as PropType<HTMLElement> },
|
||||
claim: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
emits: ['success', 'claimSuccess'],
|
||||
setup(props, { emit }) {
|
||||
const height = window.innerHeight - 120 + 'px';
|
||||
|
||||
/**
|
||||
@@ -136,11 +149,21 @@
|
||||
return /^http[s]?:\/\/.*/.test(s);
|
||||
}
|
||||
|
||||
function handleSuccess() {
|
||||
emit('success');
|
||||
}
|
||||
|
||||
function handleClaimSuccess() {
|
||||
emit('claimSuccess');
|
||||
}
|
||||
|
||||
return {
|
||||
height,
|
||||
iframeUrl,
|
||||
currentComponent,
|
||||
designFormInfo
|
||||
designFormInfo,
|
||||
handleSuccess,
|
||||
handleClaimSuccess
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<a-card style="margin-top: 10px">
|
||||
<template #title> <audit-outlined /><span style="margin-left: 10px">我的审批</span> </template>
|
||||
<!-- <template #title> <audit-outlined /><span style="margin-left: 10px">我的审批</span> </template>-->
|
||||
<a-spin :spinning="loading">
|
||||
<a-list itemLayout="vertical">
|
||||
<a-list-item>
|
||||
@@ -20,9 +20,9 @@
|
||||
</div>
|
||||
</a-list-item>
|
||||
|
||||
<a-list-item>
|
||||
<j-upload text="添加文件" bizPath="bpm" :returnUrl="false" v-model:value="model.fileList"></j-upload>
|
||||
</a-list-item>
|
||||
<!-- <a-list-item>-->
|
||||
<!-- <j-upload text="添加文件" bizPath="bpm" :returnUrl="false" v-model:value="model.fileList"></j-upload>-->
|
||||
<!-- </a-list-item>-->
|
||||
|
||||
<!-- 选择分支 -->
|
||||
<a-list-item>
|
||||
@@ -41,7 +41,7 @@
|
||||
</span>
|
||||
|
||||
<span v-show="model.processModel == 3" v-if="historyCount > 0">
|
||||
<a-select v-model:value="model.rejectModelNode" :getPopupContainer="(target) => target?.parentNode" style="width: 150px">
|
||||
<a-select v-model:value="model.rejectModelNode" :getPopupContainer="(target) => target?.parentNode" style="width: 250px">
|
||||
<template v-for="(item, index) in historyList">
|
||||
<a-select-option v-if="item.NAME_ != currentTaskName" :value="item.TASK_DEF_KEY_">{{ item.NAME_ }}</a-select-option>
|
||||
</template>
|
||||
|
||||
@@ -14,13 +14,20 @@
|
||||
<a-tabs v-model="activeKey" tabPosition="left">
|
||||
<a-tab-pane key="1">
|
||||
<template #tab> <file-text-outlined /><span>附加单据</span> </template>
|
||||
<BpmDynamicForm :path="taskFormUrl" :form-data="taskFormData" :parentNode="parentNode"/>
|
||||
<BpmDynamicForm
|
||||
:path="taskFormUrl"
|
||||
:form-data="taskFormData"
|
||||
:claim="claimStatus"
|
||||
:parentNode="parentNode"
|
||||
@success="handleSuccess"
|
||||
@claimSuccess="claimSuccess"
|
||||
/>
|
||||
</a-tab-pane>
|
||||
|
||||
<a-tab-pane key="2">
|
||||
<template #tab> <user-outlined /><span>任务处理</span> </template>
|
||||
<task-handle-inner-content @success="handleSuccess" :form-data="taskFormData" :claim="claimStatus" @claimSuccess="claimSuccess"></task-handle-inner-content>
|
||||
</a-tab-pane>
|
||||
<!-- <a-tab-pane v-if="!isEmbeddedHandleForm" key="2">-->
|
||||
<!-- <template #tab> <user-outlined /><span>任务处理</span> </template>-->
|
||||
<!-- <task-handle-inner-content @success="handleSuccess" :form-data="taskFormData" :claim="claimStatus" @claimSuccess="claimSuccess"></task-handle-inner-content>-->
|
||||
<!-- </a-tab-pane>-->
|
||||
|
||||
<a-tab-pane key="3">
|
||||
<template #tab> <partition-outlined /><span>流程图</span> </template>
|
||||
@@ -73,6 +80,7 @@
|
||||
});
|
||||
|
||||
const activeKey = ref('1');
|
||||
const isEmbeddedHandleForm = computed(() => taskFormUrl.value?.includes('BgPartymatterBPMForm'));
|
||||
|
||||
// desformView 父级滚动条,只有传了此参数才会突破内部弹窗
|
||||
const modalRef = ref();
|
||||
@@ -100,7 +108,8 @@
|
||||
claimStatus,
|
||||
claimSuccess,
|
||||
modalRef,
|
||||
parentNode
|
||||
parentNode,
|
||||
isEmbeddedHandleForm
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user