解决无法查看工作流信息的bug
This commit is contained in:
parent
6d096e450a
commit
641c4b0c70
@ -29,6 +29,10 @@ https://blog.csdn.net/user990378983/article/details/130324181
|
||||
2、审批表单中的flowCode必须写死,并一一对应flow_definition表中的flow_code(流程定义时的流程定义编码)
|
||||
3、不同业务的列表页还是放到views下,当作业务路由组件,但审批表单bicultural放到components下,作为其他工作流动态组件使用
|
||||
|
||||
4、为节省不必要的操作,暂时考虑使用代码工具生成代码后,将模态组件复制到components目录下并微调(flowCode)即可
|
||||
4、为节省不必要的操作,暂时考虑使用代码工具生成代码后,将模态组件复制到相关目录下并微调(flowCode)即可
|
||||
审批业务和普通业务不一样,需要使用审批功能时
|
||||
1、将servie.bak、serviceimpl.bak、controller.bak分别替换到正常的java类内容(调整flowCode)
|
||||
2、将index.vue.bak的内容替换到index.vue
|
||||
3、将flow.vue.bak转移到src/components/workflow/form路径下(调整flowCode)
|
||||
|
||||
5、使用附件需要有共享存储,后续优化
|
||||
|
||||
@ -3,7 +3,7 @@ import { computed, reactive, ref, watch } from 'vue';
|
||||
import dayjs from 'dayjs';
|
||||
import { useBoolean, useLoading } from '@sa/hooks';
|
||||
import { fetchStartWorkflow } from '@/service/api/workflow';
|
||||
import { fetchCreateDemoDemo1, fetchGetDemoDemo1List, fetchUpdateDemoDemo1 } from '@/service/api/flowdemo/demo-demo1';
|
||||
import { fetchCreateDemoDemo1, fetchGetDemoDemo1Detail, fetchUpdateDemoDemo1 } from '@/service/api/flowdemo/demo-demo1';
|
||||
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
|
||||
import { useDict } from '@/hooks/business/dict';
|
||||
import { $t } from '@/locales';
|
||||
@ -15,6 +15,7 @@ defineOptions({
|
||||
name: 'DemoDemo1Flow'
|
||||
});
|
||||
|
||||
useDict('wf_task_status');
|
||||
|
||||
interface Props {
|
||||
operateType: CommonType.WorkflowTableOperateType;
|
||||
@ -73,12 +74,23 @@ const model: Model = reactive(createDefaultModel());
|
||||
|
||||
function createDefaultModel(): Model {
|
||||
return {
|
||||
flowCode: 'flow1DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
applyCode: '',
|
||||
flowCode: 'DemoDemo1',
|
||||
name: '',
|
||||
flowCode: 'DemoDemo1',
|
||||
age: undefined,
|
||||
flowCode: 'DemoDemo1',
|
||||
remark: '',
|
||||
flowCode: 'DemoDemo1',
|
||||
status: '',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
};
|
||||
}
|
||||
|
||||
@ -90,7 +102,7 @@ const modelDetail: ModelDetail = reactive(createDefaultModelDetail());
|
||||
|
||||
function createDefaultModelDetail(): ModelDetail {
|
||||
return {
|
||||
flowCode: 'flow1DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
applyCode: '',
|
||||
name: '',
|
||||
age: undefined,
|
||||
@ -149,7 +161,7 @@ async function handleUpdateModelWhenEdit() {
|
||||
Object.assign(model, props.rowData);
|
||||
Object.assign(modelDetail, props.rowData);
|
||||
} else {
|
||||
const { error, data } = await fetchGetDemoDemo1List(props.businessId!);
|
||||
const { error, data } = await fetchGetDemoDemo1Detail(props.businessId!);
|
||||
if (error) {
|
||||
window.$message?.error(error.message);
|
||||
return;
|
||||
@ -168,8 +180,6 @@ async function handleOperate() {
|
||||
|
||||
const { id, applyCode, name, age, remark, status } = model;
|
||||
|
||||
console.log(JSON.stringify(model))
|
||||
|
||||
// request
|
||||
if (props.operateType === 'add') {
|
||||
const { error , data } = await fetchCreateDemoDemo1({ applyCode, name, age, remark, status });
|
||||
|
||||
@ -9,6 +9,14 @@ export function fetchGetDemoDemo1List (params?: Api.Flowdemo.DemoDemo1SearchPara
|
||||
});
|
||||
}
|
||||
|
||||
/** 获取业务审批demo1详情 */
|
||||
export function fetchGetDemoDemo1Detail(id: CommonType.IdType) {
|
||||
return request<Api.Flowdemo.DemoDemo1>({
|
||||
url: `/flowdemo/demoDemo1/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/** 新增业务审批demo1 */
|
||||
export function fetchCreateDemoDemo1 (data: Api.Flowdemo.DemoDemo1OperateParams) {
|
||||
return request<boolean>({
|
||||
|
||||
@ -3,7 +3,7 @@ import { computed, reactive, ref, watch } from 'vue';
|
||||
import dayjs from 'dayjs';
|
||||
import { useBoolean, useLoading } from '@sa/hooks';
|
||||
import { fetchStartWorkflow } from '@/service/api/workflow';
|
||||
import { fetchCreateDemoDemo1, fetchGetDemoDemo1Detail, fetchUpdateDemoDemo1 } from '@/service/api/flowDemo/demo-demo1';
|
||||
import { fetchCreateDemoDemo1, fetchGetDemoDemo1Detail, fetchUpdateDemoDemo1 } from '@/service/api/flowdemo/demo-demo1';
|
||||
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
|
||||
import { useDict } from '@/hooks/business/dict';
|
||||
import { $t } from '@/locales';
|
||||
@ -22,7 +22,7 @@ interface Props {
|
||||
businessId?: CommonType.IdType;
|
||||
taskId?: CommonType.IdType;
|
||||
/** the edit row data */
|
||||
rowData?: Api.FlowDemo.DemoDemo1 | null;
|
||||
rowData?: Api.Flowdemo.DemoDemo1 | null;
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
@ -62,10 +62,10 @@ const readonly = computed(() => {
|
||||
|
||||
const taskId = ref<CommonType.IdType>(props.taskId!);
|
||||
|
||||
const respDemoDemo1 = ref<Api.FlowDemo.DemoDemo1>();
|
||||
const respDemoDemo1 = ref<Api.Flowdemo.DemoDemo1>();
|
||||
const startWorkflowResult = ref<Api.Workflow.StartWorkflowResult>();
|
||||
|
||||
type Model = Api.FlowDemo.DemoDemo1OperateParams & {
|
||||
type Model = Api.Flowdemo.DemoDemo1OperateParams & {
|
||||
flowCode: Api.Workflow.FlowCodeType;
|
||||
};
|
||||
|
||||
@ -73,15 +73,27 @@ const model: Model = reactive(createDefaultModel());
|
||||
|
||||
function createDefaultModel(): Model {
|
||||
return {
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
applyCode: '',
|
||||
flowCode: 'DemoDemo1',
|
||||
name: '',
|
||||
flowCode: 'DemoDemo1',
|
||||
age: undefined,
|
||||
flowCode: 'DemoDemo1',
|
||||
remark: '',
|
||||
flowCode: 'DemoDemo1',
|
||||
status: '',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
flowCode: 'DemoDemo1',
|
||||
};
|
||||
}
|
||||
|
||||
type ModelDetail = Api.FlowDemo.DemoDemo1OperateParams & {
|
||||
type ModelDetail = Api.Flowdemo.DemoDemo1OperateParams & {
|
||||
flowCode: Api.Workflow.FlowCodeType;
|
||||
};
|
||||
|
||||
@ -89,6 +101,7 @@ const modelDetail: ModelDetail = reactive(createDefaultModelDetail());
|
||||
|
||||
function createDefaultModelDetail(): ModelDetail {
|
||||
return {
|
||||
flowCode: 'DemoDemo1',
|
||||
applyCode: '',
|
||||
name: '',
|
||||
age: undefined,
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
import { ref } from 'vue';
|
||||
import { NDivider, NTag } from 'naive-ui';
|
||||
import { jsonClone } from '@sa/utils';
|
||||
import { fetchBatchDeleteDemoDemo1, fetchGetDemoDemo1List } from '@/service/api/flowDemo/demo-demo1';
|
||||
import { fetchBatchDeleteDemoDemo1, fetchGetDemoDemo1List } from '@/service/api/flowdemo/demo-demo1';
|
||||
import { useAppStore } from '@/store/modules/app';
|
||||
import { useAuth } from '@/hooks/business/auth';
|
||||
import { useDownload } from '@/hooks/business/download';
|
||||
@ -120,20 +120,20 @@ const {
|
||||
const buttons = [];
|
||||
|
||||
const showEdit =
|
||||
hasAuth('flowDemo:demoDemo1:edit') &&
|
||||
hasAuth('flowdemo:demoDemo1:edit') &&
|
||||
(row.status === 'draft' || row.status === 'cancel' || row.status === 'back');
|
||||
|
||||
const showDelete =
|
||||
hasAuth('flowDemo:demoDemo1:remove') &&
|
||||
hasAuth('flowdemo:demoDemo1:remove') &&
|
||||
(row.status === 'draft' || row.status === 'cancel' || row.status === 'back');
|
||||
|
||||
const showCancel = row.status === 'waiting';
|
||||
if (hasAuth('flowDemo:demoDemo1:query')) {
|
||||
if (hasAuth('flowdemo:demoDemo1:query')) {
|
||||
buttons.push(
|
||||
<ButtonIcon
|
||||
text
|
||||
type="info"
|
||||
local-icon="round-refresh"
|
||||
localIcon="visibility-outline"
|
||||
tooltipContent="查看"
|
||||
onClick={() => view(row.id!)}
|
||||
/>
|
||||
@ -244,8 +244,8 @@ function handleExport() {
|
||||
v-model:columns="columnChecks"
|
||||
:disabled-delete="checkedRowKeys.length === 0"
|
||||
:loading="loading"
|
||||
:show-add="hasAuth('flowDemo:demoDemo1:add')"
|
||||
:show-delete="hasAuth('flowDemo:demoDemo1:remove')"
|
||||
:show-add="hasAuth('flowdemo:demoDemo1:add')"
|
||||
:show-delete="hasAuth('flowdemo:demoDemo1:remove')"
|
||||
:show-export=false
|
||||
@add="handleAdd"
|
||||
@delete="handleBatchDelete"
|
||||
|
||||
@ -9,6 +9,14 @@ export function fetchGet${BusinessName}List (params?: Api.${ModuleName}.${Busine
|
||||
});
|
||||
}
|
||||
|
||||
/** 获取${functionName}详情 */
|
||||
export function fetchGet${BusinessName}Detail(id: CommonType.IdType) {
|
||||
return request<Api.${ModuleName}.${BusinessName}>({
|
||||
url: `/${moduleName}/${businessName}/${id}`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
/** 新增${functionName} */
|
||||
export function fetchCreate${BusinessName} (data: Api.${ModuleName}.${BusinessName}OperateParams) {
|
||||
return request<boolean>({
|
||||
|
||||
@ -3,7 +3,7 @@ import { computed, reactive, ref, watch } from 'vue';
|
||||
import dayjs from 'dayjs';
|
||||
import { useBoolean, useLoading } from '@sa/hooks';
|
||||
import { fetchStartWorkflow } from '@/service/api/workflow';
|
||||
import { fetchCreate${BusinessName}, fetchGet${BusinessName}List, fetchUpdate${BusinessName} } from '@/service/api/${moduleName}/${business__name}';
|
||||
import { fetchCreate${BusinessName}, fetchGet${BusinessName}Detail, fetchUpdate${BusinessName} } from '@/service/api/${moduleName}/${business__name}';
|
||||
import { useFormRules, useNaiveForm } from '@/hooks/common/form';
|
||||
import { useDict } from '@/hooks/business/dict';
|
||||
import { $t } from '@/locales';
|
||||
@ -15,6 +15,8 @@ defineOptions({
|
||||
name: '${BusinessName}Flow'
|
||||
});
|
||||
|
||||
useDict('wf_task_status');
|
||||
|
||||
#if($dictList && $dictList.size() > 0)
|
||||
#foreach($dict in $dictList)
|
||||
const { options: ${dict.name}Options } = useDict('${dict.type}'#if($dict.immediate), false#end);
|
||||
@ -143,7 +145,7 @@ async function handleUpdateModelWhenEdit() {
|
||||
Object.assign(model, props.rowData);
|
||||
Object.assign(modelDetail, props.rowData);
|
||||
} else {
|
||||
const { error, data } = await fetchGet${BusinessName}List(props.businessId!);
|
||||
const { error, data } = await fetchGet${BusinessName}Detail(props.businessId!);
|
||||
if (error) {
|
||||
window.$message?.error(error.message);
|
||||
return;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user