diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/components/drawer/approverDrawer.vue b/src/components/drawer/approverDrawer.vue index 0f8a37d..7f5cd2f 100644 --- a/src/components/drawer/approverDrawer.vue +++ b/src/components/drawer/approverDrawer.vue @@ -148,9 +148,6 @@ return } - // if (approverConfig.value.settype === 11) { - // approverConfig.value.settype = 1 - // } // 把审批设置反应在流程图里面 approverConfig.value.error = !$func.setApproverStr(approverConfig.value) // 保存设置 diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/components/drawer/approverDrawer.vue b/src/components/drawer/approverDrawer.vue index 0f8a37d..7f5cd2f 100644 --- a/src/components/drawer/approverDrawer.vue +++ b/src/components/drawer/approverDrawer.vue @@ -148,9 +148,6 @@ return } - // if (approverConfig.value.settype === 11) { - // approverConfig.value.settype = 1 - // } // 把审批设置反应在流程图里面 approverConfig.value.error = !$func.setApproverStr(approverConfig.value) // 保存设置 diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index edac0e5..6f516aa 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -202,6 +202,18 @@ activeMenu: '/process/list', }, }, + { + path: 'add', + name: 'ProcessListAdd', + component: () => import('@/views/system/process/addProcess.vue'), + meta: { + title: '流程管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/process/list', + }, + }, ], }, { diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/components/drawer/approverDrawer.vue b/src/components/drawer/approverDrawer.vue index 0f8a37d..7f5cd2f 100644 --- a/src/components/drawer/approverDrawer.vue +++ b/src/components/drawer/approverDrawer.vue @@ -148,9 +148,6 @@ return } - // if (approverConfig.value.settype === 11) { - // approverConfig.value.settype = 1 - // } // 把审批设置反应在流程图里面 approverConfig.value.error = !$func.setApproverStr(approverConfig.value) // 保存设置 diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index edac0e5..6f516aa 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -202,6 +202,18 @@ activeMenu: '/process/list', }, }, + { + path: 'add', + name: 'ProcessListAdd', + component: () => import('@/views/system/process/addProcess.vue'), + meta: { + title: '流程管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/process/list', + }, + }, ], }, { diff --git a/src/views/setting.vue b/src/views/setting.vue index c03a0bf..8c6d0c0 100644 --- a/src/views/setting.vue +++ b/src/views/setting.vue @@ -8,7 +8,7 @@ import approverDrawer from '@/components/drawer/approverDrawer.vue' import copyerDrawer from '@/components/drawer/copyerDrawer.vue' import conditionDrawer from '@/components/drawer/conditionDrawer.vue' -import { efitProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' +import { addProcess, editProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' import userStore from '@/store/modules/user' const props = defineProps({ allowEditNode: { @@ -20,6 +20,10 @@ default: () => {}, }, selectFormId: String, + isAddProcess: { + type: Boolean, + default: false, + }, }) const user = userStore() @@ -38,31 +42,58 @@ return res.data } onMounted(async () => { - const res = await getDirectorLevel('1615620539758731266') - console.log('=====', res, user.id) - let max - // const res = await getDirectorLevel(user.id) - if (res.code === 200) { + let max = 0 // 审批主管最大层级 + + // 获取此用户的审批主管的最大层级 + getDirectorLevel(user.id).then((res) => { max = res.data.level - } + }) const route = useRoute() - nextTick(() => { - initDetail(props.selectFormId).then((data) => { - processConfig.value = data - const { - nodeConfig: nodes, - flowPermission: flows, - directorMaxLevel: directors, - workFlowDef: works, - tableId, - } = data - nodeConfig.value = nodes - flowPermission.value = flows - // directorMaxLevel.value = directors - directorMaxLevel.value = max - workFlowDef.value = works - workFlowStore.setTableId(tableId) - }) + nextTick(async () => { + let data + if (!props.isAddProcess) { // 非新建流程--调流程详情接口 + data = await initDetail(props.selectFormId) + } + else { // 新建流程 + data = { + tableId: 1, + workFlowDef: { + name: '合同审批', + }, + directorMaxLevel: max, + flowPermission: [], + nodeConfig: { + nodeName: '发起人', + type: 0, + priorityLevel: '', + settype: '', + selectMode: '', + selectRange: '', + directorLevel: '', + examineMode: '', + noHanderAction: '', + examineEndDirectorLevel: '', + ccSelfSelectFlag: '', + conditionList: [], + nodeUserList: [], + conditionNodes: [], + }, + } + } + processConfig.value = data + const { + nodeConfig: nodes, + flowPermission: flows, + directorMaxLevel: directors, + workFlowDef: works, + tableId, + } = data + nodeConfig.value = nodes + flowPermission.value = flows + // directorMaxLevel.value = directors + directorMaxLevel.value = max + workFlowDef.value = works + workFlowStore.setTableId(tableId) }) }) const toReturn = () => { @@ -100,13 +131,23 @@ } } const saveSet = async () => { - processConfig.value.formId = props.getRowData.formId - processConfig.value.formName = props.getRowData.formName - processConfig.value.formDesc = props.getRowData.formDesc - processConfig.value.formContent = props.getRowData.formDesc - processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey - processConfig.value.workFlowDef.directorId = props.getRowData.directorId - processConfig.value.workFlowDef.name = props.getRowData.name + if (!props.isAddProcess) { + processConfig.value.formId = props.getRowData.formId + processConfig.value.formName = props.getRowData.formName + processConfig.value.formDesc = props.getRowData.formDesc + processConfig.value.formContent = props.getRowData.formDesc + processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey + processConfig.value.workFlowDef.directorId = props.getRowData.directorId + processConfig.value.workFlowDef.name = props.getRowData.name + } + else { + processConfig.value.formId = props.getRowData.formID + processConfig.value.formName = props.getRowData.name + processConfig.value.formDesc = props.getRowData.desc + processConfig.value.formContent = props.getRowData.desc + processConfig.value.workFlowDef.directorId = user.id + } + workFlowStore.setIsTried(true) tipList.value = [] reErr(nodeConfig.value) @@ -117,9 +158,17 @@ } processConfig.value.flowPermission = flowPermission.value - const res = await efitProcess(processConfig.value) - if (res.code == 200) { - ElMessage.success('保存成功') + if (!props.isAddProcess) { + const res = await editProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('编辑流程成功') + } + } + else { + const res = await addProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('创建流程成功') + } } } defineExpose({ diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/components/drawer/approverDrawer.vue b/src/components/drawer/approverDrawer.vue index 0f8a37d..7f5cd2f 100644 --- a/src/components/drawer/approverDrawer.vue +++ b/src/components/drawer/approverDrawer.vue @@ -148,9 +148,6 @@ return } - // if (approverConfig.value.settype === 11) { - // approverConfig.value.settype = 1 - // } // 把审批设置反应在流程图里面 approverConfig.value.error = !$func.setApproverStr(approverConfig.value) // 保存设置 diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index edac0e5..6f516aa 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -202,6 +202,18 @@ activeMenu: '/process/list', }, }, + { + path: 'add', + name: 'ProcessListAdd', + component: () => import('@/views/system/process/addProcess.vue'), + meta: { + title: '流程管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/process/list', + }, + }, ], }, { diff --git a/src/views/setting.vue b/src/views/setting.vue index c03a0bf..8c6d0c0 100644 --- a/src/views/setting.vue +++ b/src/views/setting.vue @@ -8,7 +8,7 @@ import approverDrawer from '@/components/drawer/approverDrawer.vue' import copyerDrawer from '@/components/drawer/copyerDrawer.vue' import conditionDrawer from '@/components/drawer/conditionDrawer.vue' -import { efitProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' +import { addProcess, editProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' import userStore from '@/store/modules/user' const props = defineProps({ allowEditNode: { @@ -20,6 +20,10 @@ default: () => {}, }, selectFormId: String, + isAddProcess: { + type: Boolean, + default: false, + }, }) const user = userStore() @@ -38,31 +42,58 @@ return res.data } onMounted(async () => { - const res = await getDirectorLevel('1615620539758731266') - console.log('=====', res, user.id) - let max - // const res = await getDirectorLevel(user.id) - if (res.code === 200) { + let max = 0 // 审批主管最大层级 + + // 获取此用户的审批主管的最大层级 + getDirectorLevel(user.id).then((res) => { max = res.data.level - } + }) const route = useRoute() - nextTick(() => { - initDetail(props.selectFormId).then((data) => { - processConfig.value = data - const { - nodeConfig: nodes, - flowPermission: flows, - directorMaxLevel: directors, - workFlowDef: works, - tableId, - } = data - nodeConfig.value = nodes - flowPermission.value = flows - // directorMaxLevel.value = directors - directorMaxLevel.value = max - workFlowDef.value = works - workFlowStore.setTableId(tableId) - }) + nextTick(async () => { + let data + if (!props.isAddProcess) { // 非新建流程--调流程详情接口 + data = await initDetail(props.selectFormId) + } + else { // 新建流程 + data = { + tableId: 1, + workFlowDef: { + name: '合同审批', + }, + directorMaxLevel: max, + flowPermission: [], + nodeConfig: { + nodeName: '发起人', + type: 0, + priorityLevel: '', + settype: '', + selectMode: '', + selectRange: '', + directorLevel: '', + examineMode: '', + noHanderAction: '', + examineEndDirectorLevel: '', + ccSelfSelectFlag: '', + conditionList: [], + nodeUserList: [], + conditionNodes: [], + }, + } + } + processConfig.value = data + const { + nodeConfig: nodes, + flowPermission: flows, + directorMaxLevel: directors, + workFlowDef: works, + tableId, + } = data + nodeConfig.value = nodes + flowPermission.value = flows + // directorMaxLevel.value = directors + directorMaxLevel.value = max + workFlowDef.value = works + workFlowStore.setTableId(tableId) }) }) const toReturn = () => { @@ -100,13 +131,23 @@ } } const saveSet = async () => { - processConfig.value.formId = props.getRowData.formId - processConfig.value.formName = props.getRowData.formName - processConfig.value.formDesc = props.getRowData.formDesc - processConfig.value.formContent = props.getRowData.formDesc - processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey - processConfig.value.workFlowDef.directorId = props.getRowData.directorId - processConfig.value.workFlowDef.name = props.getRowData.name + if (!props.isAddProcess) { + processConfig.value.formId = props.getRowData.formId + processConfig.value.formName = props.getRowData.formName + processConfig.value.formDesc = props.getRowData.formDesc + processConfig.value.formContent = props.getRowData.formDesc + processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey + processConfig.value.workFlowDef.directorId = props.getRowData.directorId + processConfig.value.workFlowDef.name = props.getRowData.name + } + else { + processConfig.value.formId = props.getRowData.formID + processConfig.value.formName = props.getRowData.name + processConfig.value.formDesc = props.getRowData.desc + processConfig.value.formContent = props.getRowData.desc + processConfig.value.workFlowDef.directorId = user.id + } + workFlowStore.setIsTried(true) tipList.value = [] reErr(nodeConfig.value) @@ -117,9 +158,17 @@ } processConfig.value.flowPermission = flowPermission.value - const res = await efitProcess(processConfig.value) - if (res.code == 200) { - ElMessage.success('保存成功') + if (!props.isAddProcess) { + const res = await editProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('编辑流程成功') + } + } + else { + const res = await addProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('创建流程成功') + } } } defineExpose({ diff --git a/src/views/system/process/addProcess.vue b/src/views/system/process/addProcess.vue new file mode 100644 index 0000000..f840c40 --- /dev/null +++ b/src/views/system/process/addProcess.vue @@ -0,0 +1,258 @@ + + + + + + diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/components/drawer/approverDrawer.vue b/src/components/drawer/approverDrawer.vue index 0f8a37d..7f5cd2f 100644 --- a/src/components/drawer/approverDrawer.vue +++ b/src/components/drawer/approverDrawer.vue @@ -148,9 +148,6 @@ return } - // if (approverConfig.value.settype === 11) { - // approverConfig.value.settype = 1 - // } // 把审批设置反应在流程图里面 approverConfig.value.error = !$func.setApproverStr(approverConfig.value) // 保存设置 diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index edac0e5..6f516aa 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -202,6 +202,18 @@ activeMenu: '/process/list', }, }, + { + path: 'add', + name: 'ProcessListAdd', + component: () => import('@/views/system/process/addProcess.vue'), + meta: { + title: '流程管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/process/list', + }, + }, ], }, { diff --git a/src/views/setting.vue b/src/views/setting.vue index c03a0bf..8c6d0c0 100644 --- a/src/views/setting.vue +++ b/src/views/setting.vue @@ -8,7 +8,7 @@ import approverDrawer from '@/components/drawer/approverDrawer.vue' import copyerDrawer from '@/components/drawer/copyerDrawer.vue' import conditionDrawer from '@/components/drawer/conditionDrawer.vue' -import { efitProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' +import { addProcess, editProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' import userStore from '@/store/modules/user' const props = defineProps({ allowEditNode: { @@ -20,6 +20,10 @@ default: () => {}, }, selectFormId: String, + isAddProcess: { + type: Boolean, + default: false, + }, }) const user = userStore() @@ -38,31 +42,58 @@ return res.data } onMounted(async () => { - const res = await getDirectorLevel('1615620539758731266') - console.log('=====', res, user.id) - let max - // const res = await getDirectorLevel(user.id) - if (res.code === 200) { + let max = 0 // 审批主管最大层级 + + // 获取此用户的审批主管的最大层级 + getDirectorLevel(user.id).then((res) => { max = res.data.level - } + }) const route = useRoute() - nextTick(() => { - initDetail(props.selectFormId).then((data) => { - processConfig.value = data - const { - nodeConfig: nodes, - flowPermission: flows, - directorMaxLevel: directors, - workFlowDef: works, - tableId, - } = data - nodeConfig.value = nodes - flowPermission.value = flows - // directorMaxLevel.value = directors - directorMaxLevel.value = max - workFlowDef.value = works - workFlowStore.setTableId(tableId) - }) + nextTick(async () => { + let data + if (!props.isAddProcess) { // 非新建流程--调流程详情接口 + data = await initDetail(props.selectFormId) + } + else { // 新建流程 + data = { + tableId: 1, + workFlowDef: { + name: '合同审批', + }, + directorMaxLevel: max, + flowPermission: [], + nodeConfig: { + nodeName: '发起人', + type: 0, + priorityLevel: '', + settype: '', + selectMode: '', + selectRange: '', + directorLevel: '', + examineMode: '', + noHanderAction: '', + examineEndDirectorLevel: '', + ccSelfSelectFlag: '', + conditionList: [], + nodeUserList: [], + conditionNodes: [], + }, + } + } + processConfig.value = data + const { + nodeConfig: nodes, + flowPermission: flows, + directorMaxLevel: directors, + workFlowDef: works, + tableId, + } = data + nodeConfig.value = nodes + flowPermission.value = flows + // directorMaxLevel.value = directors + directorMaxLevel.value = max + workFlowDef.value = works + workFlowStore.setTableId(tableId) }) }) const toReturn = () => { @@ -100,13 +131,23 @@ } } const saveSet = async () => { - processConfig.value.formId = props.getRowData.formId - processConfig.value.formName = props.getRowData.formName - processConfig.value.formDesc = props.getRowData.formDesc - processConfig.value.formContent = props.getRowData.formDesc - processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey - processConfig.value.workFlowDef.directorId = props.getRowData.directorId - processConfig.value.workFlowDef.name = props.getRowData.name + if (!props.isAddProcess) { + processConfig.value.formId = props.getRowData.formId + processConfig.value.formName = props.getRowData.formName + processConfig.value.formDesc = props.getRowData.formDesc + processConfig.value.formContent = props.getRowData.formDesc + processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey + processConfig.value.workFlowDef.directorId = props.getRowData.directorId + processConfig.value.workFlowDef.name = props.getRowData.name + } + else { + processConfig.value.formId = props.getRowData.formID + processConfig.value.formName = props.getRowData.name + processConfig.value.formDesc = props.getRowData.desc + processConfig.value.formContent = props.getRowData.desc + processConfig.value.workFlowDef.directorId = user.id + } + workFlowStore.setIsTried(true) tipList.value = [] reErr(nodeConfig.value) @@ -117,9 +158,17 @@ } processConfig.value.flowPermission = flowPermission.value - const res = await efitProcess(processConfig.value) - if (res.code == 200) { - ElMessage.success('保存成功') + if (!props.isAddProcess) { + const res = await editProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('编辑流程成功') + } + } + else { + const res = await addProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('创建流程成功') + } } } defineExpose({ diff --git a/src/views/system/process/addProcess.vue b/src/views/system/process/addProcess.vue new file mode 100644 index 0000000..f840c40 --- /dev/null +++ b/src/views/system/process/addProcess.vue @@ -0,0 +1,258 @@ + + + + + + diff --git a/src/views/system/process/detailProcess.vue b/src/views/system/process/detailProcess.vue index 97d1f7b..9fedcbb 100644 --- a/src/views/system/process/detailProcess.vue +++ b/src/views/system/process/detailProcess.vue @@ -98,7 +98,7 @@ - + @@ -119,7 +119,7 @@ - + + @@ -146,7 +146,7 @@ - + diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/components/drawer/approverDrawer.vue b/src/components/drawer/approverDrawer.vue index 0f8a37d..7f5cd2f 100644 --- a/src/components/drawer/approverDrawer.vue +++ b/src/components/drawer/approverDrawer.vue @@ -148,9 +148,6 @@ return } - // if (approverConfig.value.settype === 11) { - // approverConfig.value.settype = 1 - // } // 把审批设置反应在流程图里面 approverConfig.value.error = !$func.setApproverStr(approverConfig.value) // 保存设置 diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index edac0e5..6f516aa 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -202,6 +202,18 @@ activeMenu: '/process/list', }, }, + { + path: 'add', + name: 'ProcessListAdd', + component: () => import('@/views/system/process/addProcess.vue'), + meta: { + title: '流程管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/process/list', + }, + }, ], }, { diff --git a/src/views/setting.vue b/src/views/setting.vue index c03a0bf..8c6d0c0 100644 --- a/src/views/setting.vue +++ b/src/views/setting.vue @@ -8,7 +8,7 @@ import approverDrawer from '@/components/drawer/approverDrawer.vue' import copyerDrawer from '@/components/drawer/copyerDrawer.vue' import conditionDrawer from '@/components/drawer/conditionDrawer.vue' -import { efitProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' +import { addProcess, editProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' import userStore from '@/store/modules/user' const props = defineProps({ allowEditNode: { @@ -20,6 +20,10 @@ default: () => {}, }, selectFormId: String, + isAddProcess: { + type: Boolean, + default: false, + }, }) const user = userStore() @@ -38,31 +42,58 @@ return res.data } onMounted(async () => { - const res = await getDirectorLevel('1615620539758731266') - console.log('=====', res, user.id) - let max - // const res = await getDirectorLevel(user.id) - if (res.code === 200) { + let max = 0 // 审批主管最大层级 + + // 获取此用户的审批主管的最大层级 + getDirectorLevel(user.id).then((res) => { max = res.data.level - } + }) const route = useRoute() - nextTick(() => { - initDetail(props.selectFormId).then((data) => { - processConfig.value = data - const { - nodeConfig: nodes, - flowPermission: flows, - directorMaxLevel: directors, - workFlowDef: works, - tableId, - } = data - nodeConfig.value = nodes - flowPermission.value = flows - // directorMaxLevel.value = directors - directorMaxLevel.value = max - workFlowDef.value = works - workFlowStore.setTableId(tableId) - }) + nextTick(async () => { + let data + if (!props.isAddProcess) { // 非新建流程--调流程详情接口 + data = await initDetail(props.selectFormId) + } + else { // 新建流程 + data = { + tableId: 1, + workFlowDef: { + name: '合同审批', + }, + directorMaxLevel: max, + flowPermission: [], + nodeConfig: { + nodeName: '发起人', + type: 0, + priorityLevel: '', + settype: '', + selectMode: '', + selectRange: '', + directorLevel: '', + examineMode: '', + noHanderAction: '', + examineEndDirectorLevel: '', + ccSelfSelectFlag: '', + conditionList: [], + nodeUserList: [], + conditionNodes: [], + }, + } + } + processConfig.value = data + const { + nodeConfig: nodes, + flowPermission: flows, + directorMaxLevel: directors, + workFlowDef: works, + tableId, + } = data + nodeConfig.value = nodes + flowPermission.value = flows + // directorMaxLevel.value = directors + directorMaxLevel.value = max + workFlowDef.value = works + workFlowStore.setTableId(tableId) }) }) const toReturn = () => { @@ -100,13 +131,23 @@ } } const saveSet = async () => { - processConfig.value.formId = props.getRowData.formId - processConfig.value.formName = props.getRowData.formName - processConfig.value.formDesc = props.getRowData.formDesc - processConfig.value.formContent = props.getRowData.formDesc - processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey - processConfig.value.workFlowDef.directorId = props.getRowData.directorId - processConfig.value.workFlowDef.name = props.getRowData.name + if (!props.isAddProcess) { + processConfig.value.formId = props.getRowData.formId + processConfig.value.formName = props.getRowData.formName + processConfig.value.formDesc = props.getRowData.formDesc + processConfig.value.formContent = props.getRowData.formDesc + processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey + processConfig.value.workFlowDef.directorId = props.getRowData.directorId + processConfig.value.workFlowDef.name = props.getRowData.name + } + else { + processConfig.value.formId = props.getRowData.formID + processConfig.value.formName = props.getRowData.name + processConfig.value.formDesc = props.getRowData.desc + processConfig.value.formContent = props.getRowData.desc + processConfig.value.workFlowDef.directorId = user.id + } + workFlowStore.setIsTried(true) tipList.value = [] reErr(nodeConfig.value) @@ -117,9 +158,17 @@ } processConfig.value.flowPermission = flowPermission.value - const res = await efitProcess(processConfig.value) - if (res.code == 200) { - ElMessage.success('保存成功') + if (!props.isAddProcess) { + const res = await editProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('编辑流程成功') + } + } + else { + const res = await addProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('创建流程成功') + } } } defineExpose({ diff --git a/src/views/system/process/addProcess.vue b/src/views/system/process/addProcess.vue new file mode 100644 index 0000000..f840c40 --- /dev/null +++ b/src/views/system/process/addProcess.vue @@ -0,0 +1,258 @@ + + + + + + diff --git a/src/views/system/process/detailProcess.vue b/src/views/system/process/detailProcess.vue index 97d1f7b..9fedcbb 100644 --- a/src/views/system/process/detailProcess.vue +++ b/src/views/system/process/detailProcess.vue @@ -98,7 +98,7 @@ - + @@ -119,7 +119,7 @@ - + + @@ -146,7 +146,7 @@ - + diff --git a/src/views/system/process/editProcess.vue b/src/views/system/process/editProcess.vue index dc288a4..330dda1 100644 --- a/src/views/system/process/editProcess.vue +++ b/src/views/system/process/editProcess.vue @@ -158,9 +158,10 @@ - {{ form.number }} + + - + - + + - {{ form.name }} + - + + - {{ form.business }} + + - + diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/components/drawer/approverDrawer.vue b/src/components/drawer/approverDrawer.vue index 0f8a37d..7f5cd2f 100644 --- a/src/components/drawer/approverDrawer.vue +++ b/src/components/drawer/approverDrawer.vue @@ -148,9 +148,6 @@ return } - // if (approverConfig.value.settype === 11) { - // approverConfig.value.settype = 1 - // } // 把审批设置反应在流程图里面 approverConfig.value.error = !$func.setApproverStr(approverConfig.value) // 保存设置 diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index edac0e5..6f516aa 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -202,6 +202,18 @@ activeMenu: '/process/list', }, }, + { + path: 'add', + name: 'ProcessListAdd', + component: () => import('@/views/system/process/addProcess.vue'), + meta: { + title: '流程管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/process/list', + }, + }, ], }, { diff --git a/src/views/setting.vue b/src/views/setting.vue index c03a0bf..8c6d0c0 100644 --- a/src/views/setting.vue +++ b/src/views/setting.vue @@ -8,7 +8,7 @@ import approverDrawer from '@/components/drawer/approverDrawer.vue' import copyerDrawer from '@/components/drawer/copyerDrawer.vue' import conditionDrawer from '@/components/drawer/conditionDrawer.vue' -import { efitProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' +import { addProcess, editProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' import userStore from '@/store/modules/user' const props = defineProps({ allowEditNode: { @@ -20,6 +20,10 @@ default: () => {}, }, selectFormId: String, + isAddProcess: { + type: Boolean, + default: false, + }, }) const user = userStore() @@ -38,31 +42,58 @@ return res.data } onMounted(async () => { - const res = await getDirectorLevel('1615620539758731266') - console.log('=====', res, user.id) - let max - // const res = await getDirectorLevel(user.id) - if (res.code === 200) { + let max = 0 // 审批主管最大层级 + + // 获取此用户的审批主管的最大层级 + getDirectorLevel(user.id).then((res) => { max = res.data.level - } + }) const route = useRoute() - nextTick(() => { - initDetail(props.selectFormId).then((data) => { - processConfig.value = data - const { - nodeConfig: nodes, - flowPermission: flows, - directorMaxLevel: directors, - workFlowDef: works, - tableId, - } = data - nodeConfig.value = nodes - flowPermission.value = flows - // directorMaxLevel.value = directors - directorMaxLevel.value = max - workFlowDef.value = works - workFlowStore.setTableId(tableId) - }) + nextTick(async () => { + let data + if (!props.isAddProcess) { // 非新建流程--调流程详情接口 + data = await initDetail(props.selectFormId) + } + else { // 新建流程 + data = { + tableId: 1, + workFlowDef: { + name: '合同审批', + }, + directorMaxLevel: max, + flowPermission: [], + nodeConfig: { + nodeName: '发起人', + type: 0, + priorityLevel: '', + settype: '', + selectMode: '', + selectRange: '', + directorLevel: '', + examineMode: '', + noHanderAction: '', + examineEndDirectorLevel: '', + ccSelfSelectFlag: '', + conditionList: [], + nodeUserList: [], + conditionNodes: [], + }, + } + } + processConfig.value = data + const { + nodeConfig: nodes, + flowPermission: flows, + directorMaxLevel: directors, + workFlowDef: works, + tableId, + } = data + nodeConfig.value = nodes + flowPermission.value = flows + // directorMaxLevel.value = directors + directorMaxLevel.value = max + workFlowDef.value = works + workFlowStore.setTableId(tableId) }) }) const toReturn = () => { @@ -100,13 +131,23 @@ } } const saveSet = async () => { - processConfig.value.formId = props.getRowData.formId - processConfig.value.formName = props.getRowData.formName - processConfig.value.formDesc = props.getRowData.formDesc - processConfig.value.formContent = props.getRowData.formDesc - processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey - processConfig.value.workFlowDef.directorId = props.getRowData.directorId - processConfig.value.workFlowDef.name = props.getRowData.name + if (!props.isAddProcess) { + processConfig.value.formId = props.getRowData.formId + processConfig.value.formName = props.getRowData.formName + processConfig.value.formDesc = props.getRowData.formDesc + processConfig.value.formContent = props.getRowData.formDesc + processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey + processConfig.value.workFlowDef.directorId = props.getRowData.directorId + processConfig.value.workFlowDef.name = props.getRowData.name + } + else { + processConfig.value.formId = props.getRowData.formID + processConfig.value.formName = props.getRowData.name + processConfig.value.formDesc = props.getRowData.desc + processConfig.value.formContent = props.getRowData.desc + processConfig.value.workFlowDef.directorId = user.id + } + workFlowStore.setIsTried(true) tipList.value = [] reErr(nodeConfig.value) @@ -117,9 +158,17 @@ } processConfig.value.flowPermission = flowPermission.value - const res = await efitProcess(processConfig.value) - if (res.code == 200) { - ElMessage.success('保存成功') + if (!props.isAddProcess) { + const res = await editProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('编辑流程成功') + } + } + else { + const res = await addProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('创建流程成功') + } } } defineExpose({ diff --git a/src/views/system/process/addProcess.vue b/src/views/system/process/addProcess.vue new file mode 100644 index 0000000..f840c40 --- /dev/null +++ b/src/views/system/process/addProcess.vue @@ -0,0 +1,258 @@ + + + + + + diff --git a/src/views/system/process/detailProcess.vue b/src/views/system/process/detailProcess.vue index 97d1f7b..9fedcbb 100644 --- a/src/views/system/process/detailProcess.vue +++ b/src/views/system/process/detailProcess.vue @@ -98,7 +98,7 @@ - + @@ -119,7 +119,7 @@ - + + @@ -146,7 +146,7 @@ - + diff --git a/src/views/system/process/editProcess.vue b/src/views/system/process/editProcess.vue index dc288a4..330dda1 100644 --- a/src/views/system/process/editProcess.vue +++ b/src/views/system/process/editProcess.vue @@ -158,9 +158,10 @@ - {{ form.number }} + + - + - + + - {{ form.name }} + - + + - {{ form.business }} + + - + diff --git a/src/views/system/process/process.ts b/src/views/system/process/process.ts index dc53552..4c3671d 100644 --- a/src/views/system/process/process.ts +++ b/src/views/system/process/process.ts @@ -33,6 +33,7 @@ name: string // 名称 business: string // 关联业务 desc?: string // 流程描述 + formID?: string selectDecision: string // 选择的决策 rejectTo?: string // 可驳回至 changeData?: string // 驳回修改数据 diff --git a/src/api/system/process.ts b/src/api/system/process.ts index f1f5e7b..e459424 100644 --- a/src/api/system/process.ts +++ b/src/api/system/process.ts @@ -49,7 +49,7 @@ } // 流程定义编辑 -export function efitProcess(params: Object) { +export function editProcess(params: Object) { const param = { _value: params, } @@ -60,6 +60,18 @@ }) } +// 新建流程 +export function addProcess(params: Object) { + const param = { + _value: params, + } + return request({ + url: `${prefix}/jsonToBpmn`, + method: 'post', + data: param, + }) +} + // 获取流程定义详情 export function getProcessDetail(formId: string) { const param = { @@ -100,7 +112,7 @@ beginTime: string endTime: string status: string - ids: string[] + // ids: string[] }) { return request({ url: `${prefix}/listExport`, diff --git a/src/components/drawer/approverDrawer.vue b/src/components/drawer/approverDrawer.vue index 0f8a37d..7f5cd2f 100644 --- a/src/components/drawer/approverDrawer.vue +++ b/src/components/drawer/approverDrawer.vue @@ -148,9 +148,6 @@ return } - // if (approverConfig.value.settype === 11) { - // approverConfig.value.settype = 1 - // } // 把审批设置反应在流程图里面 approverConfig.value.error = !$func.setApproverStr(approverConfig.value) // 保存设置 diff --git a/src/router/modules/system.ts b/src/router/modules/system.ts index edac0e5..6f516aa 100644 --- a/src/router/modules/system.ts +++ b/src/router/modules/system.ts @@ -202,6 +202,18 @@ activeMenu: '/process/list', }, }, + { + path: 'add', + name: 'ProcessListAdd', + component: () => import('@/views/system/process/addProcess.vue'), + meta: { + title: '流程管理', + icon: 'ep:key', + sidebar: false, + breadcrumb: true, + activeMenu: '/process/list', + }, + }, ], }, { diff --git a/src/views/setting.vue b/src/views/setting.vue index c03a0bf..8c6d0c0 100644 --- a/src/views/setting.vue +++ b/src/views/setting.vue @@ -8,7 +8,7 @@ import approverDrawer from '@/components/drawer/approverDrawer.vue' import copyerDrawer from '@/components/drawer/copyerDrawer.vue' import conditionDrawer from '@/components/drawer/conditionDrawer.vue' -import { efitProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' +import { addProcess, editProcess, getDirectorLevel, getProcessDetail, unloadProcess } from '@/api/system/process' import userStore from '@/store/modules/user' const props = defineProps({ allowEditNode: { @@ -20,6 +20,10 @@ default: () => {}, }, selectFormId: String, + isAddProcess: { + type: Boolean, + default: false, + }, }) const user = userStore() @@ -38,31 +42,58 @@ return res.data } onMounted(async () => { - const res = await getDirectorLevel('1615620539758731266') - console.log('=====', res, user.id) - let max - // const res = await getDirectorLevel(user.id) - if (res.code === 200) { + let max = 0 // 审批主管最大层级 + + // 获取此用户的审批主管的最大层级 + getDirectorLevel(user.id).then((res) => { max = res.data.level - } + }) const route = useRoute() - nextTick(() => { - initDetail(props.selectFormId).then((data) => { - processConfig.value = data - const { - nodeConfig: nodes, - flowPermission: flows, - directorMaxLevel: directors, - workFlowDef: works, - tableId, - } = data - nodeConfig.value = nodes - flowPermission.value = flows - // directorMaxLevel.value = directors - directorMaxLevel.value = max - workFlowDef.value = works - workFlowStore.setTableId(tableId) - }) + nextTick(async () => { + let data + if (!props.isAddProcess) { // 非新建流程--调流程详情接口 + data = await initDetail(props.selectFormId) + } + else { // 新建流程 + data = { + tableId: 1, + workFlowDef: { + name: '合同审批', + }, + directorMaxLevel: max, + flowPermission: [], + nodeConfig: { + nodeName: '发起人', + type: 0, + priorityLevel: '', + settype: '', + selectMode: '', + selectRange: '', + directorLevel: '', + examineMode: '', + noHanderAction: '', + examineEndDirectorLevel: '', + ccSelfSelectFlag: '', + conditionList: [], + nodeUserList: [], + conditionNodes: [], + }, + } + } + processConfig.value = data + const { + nodeConfig: nodes, + flowPermission: flows, + directorMaxLevel: directors, + workFlowDef: works, + tableId, + } = data + nodeConfig.value = nodes + flowPermission.value = flows + // directorMaxLevel.value = directors + directorMaxLevel.value = max + workFlowDef.value = works + workFlowStore.setTableId(tableId) }) }) const toReturn = () => { @@ -100,13 +131,23 @@ } } const saveSet = async () => { - processConfig.value.formId = props.getRowData.formId - processConfig.value.formName = props.getRowData.formName - processConfig.value.formDesc = props.getRowData.formDesc - processConfig.value.formContent = props.getRowData.formDesc - processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey - processConfig.value.workFlowDef.directorId = props.getRowData.directorId - processConfig.value.workFlowDef.name = props.getRowData.name + if (!props.isAddProcess) { + processConfig.value.formId = props.getRowData.formId + processConfig.value.formName = props.getRowData.formName + processConfig.value.formDesc = props.getRowData.formDesc + processConfig.value.formContent = props.getRowData.formDesc + processConfig.value.workFlowDef.flowKey = props.getRowData.flowKey + processConfig.value.workFlowDef.directorId = props.getRowData.directorId + processConfig.value.workFlowDef.name = props.getRowData.name + } + else { + processConfig.value.formId = props.getRowData.formID + processConfig.value.formName = props.getRowData.name + processConfig.value.formDesc = props.getRowData.desc + processConfig.value.formContent = props.getRowData.desc + processConfig.value.workFlowDef.directorId = user.id + } + workFlowStore.setIsTried(true) tipList.value = [] reErr(nodeConfig.value) @@ -117,9 +158,17 @@ } processConfig.value.flowPermission = flowPermission.value - const res = await efitProcess(processConfig.value) - if (res.code == 200) { - ElMessage.success('保存成功') + if (!props.isAddProcess) { + const res = await editProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('编辑流程成功') + } + } + else { + const res = await addProcess(processConfig.value) + if (res.code == 200) { + ElMessage.success('创建流程成功') + } } } defineExpose({ diff --git a/src/views/system/process/addProcess.vue b/src/views/system/process/addProcess.vue new file mode 100644 index 0000000..f840c40 --- /dev/null +++ b/src/views/system/process/addProcess.vue @@ -0,0 +1,258 @@ + + + + + + diff --git a/src/views/system/process/detailProcess.vue b/src/views/system/process/detailProcess.vue index 97d1f7b..9fedcbb 100644 --- a/src/views/system/process/detailProcess.vue +++ b/src/views/system/process/detailProcess.vue @@ -98,7 +98,7 @@ - + @@ -119,7 +119,7 @@ - + + @@ -146,7 +146,7 @@ - + diff --git a/src/views/system/process/editProcess.vue b/src/views/system/process/editProcess.vue index dc288a4..330dda1 100644 --- a/src/views/system/process/editProcess.vue +++ b/src/views/system/process/editProcess.vue @@ -158,9 +158,10 @@ - {{ form.number }} + + - + - + + - {{ form.name }} + - + + - {{ form.business }} + + - + diff --git a/src/views/system/process/process.ts b/src/views/system/process/process.ts index dc53552..4c3671d 100644 --- a/src/views/system/process/process.ts +++ b/src/views/system/process/process.ts @@ -33,6 +33,7 @@ name: string // 名称 business: string // 关联业务 desc?: string // 流程描述 + formID?: string selectDecision: string // 选择的决策 rejectTo?: string // 可驳回至 changeData?: string // 驳回修改数据 diff --git a/src/views/system/process/process.vue b/src/views/system/process/process.vue index ff43037..3051061 100644 --- a/src/views/system/process/process.vue +++ b/src/views/system/process/process.vue @@ -149,6 +149,9 @@ const handleEdit = (row: IlistQuery, pageType: 'edit' | 'detail') => { $router.push({ path: `/process/${pageType}`, query: { rowData: JSON.stringify(row) } }) } +const add = () => { + $router.push({ path: '/process/add' }) +} // 废止 const abolish = (row: IlistQuery) => { const state = row.status === '激活' ? 2 : 1 @@ -191,7 +194,7 @@ beginTime: '', // 开始时间 endTime: '', // 结束时间 status: '', // 当前流程状态, - ids: checkoutList.value, + // ids: checkoutList.value, } exportProcessList(params).then((res) => { const blob = new Blob([res.data]) @@ -269,7 +272,7 @@ placeholder="关联业务" clearable /> --> - +