merge
commit
0bf6c77e5d
|
|
@ -21,6 +21,8 @@ import {MyUncompletedParams} from './model/WFTaskModel'
|
|||
Revoke='/api/WFProcess/Revoke',
|
||||
// 审核撤销
|
||||
RevokeAudit='/api/WFProcess/RevokeAudit',
|
||||
// 获取流程图详情
|
||||
GetBPMN='/api/WFProcess/GetBPMN'
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -101,4 +103,10 @@ export function create( params?:CreateParams) {
|
|||
params,
|
||||
},
|
||||
);
|
||||
}
|
||||
/**
|
||||
* @description: getPBMN
|
||||
*/
|
||||
export function getBPMN(params?: DeleteDraftParams) {
|
||||
return defHttp.get({ url: Api.GetBPMN, params });
|
||||
}
|
||||
|
|
@ -11,9 +11,13 @@ import {SchemeListParams,GetSchemeModel,AddParams,
|
|||
Delete = '/api/WFSchemeInfo/Delete',
|
||||
UpDateState = '/api/WFSchemeInfo/UpDateState',
|
||||
GetDetail='/api/WFSchemeInfo/Get',
|
||||
// 可用模板合集
|
||||
Load='/api/WFSchemeInfo/Load',
|
||||
// 流程模板详细信息
|
||||
LoadHistoryPage= '/api/WFScheme/LoadPage',
|
||||
UpdateScheme='/api/WFSchemeInfo/UpdateScheme',
|
||||
// 获取某模板历史数据
|
||||
VerisonsLoad='/api/WFScheme/Load',
|
||||
// 获取自定义流程列表(流程发起页)
|
||||
GetInfoList='/api/WFSchemeInfo/GetInfoList'
|
||||
}
|
||||
|
|
@ -27,6 +31,12 @@ export function getLoadPage(params?: SchemeListParams) {
|
|||
export function getDetail(params?: DetailParams){
|
||||
return defHttp.get({ url: Api.GetDetail, params });
|
||||
}
|
||||
/**
|
||||
* @description: getLoad 可用模板列表
|
||||
*/
|
||||
export function getLoad(params?: SchemeListParams) {
|
||||
return defHttp.get<GetSchemeModel>({ url: Api.Load, params });
|
||||
}
|
||||
/**
|
||||
* @description: postAdd
|
||||
*/
|
||||
|
|
@ -57,6 +67,10 @@ export function updateState(params:StateParams){
|
|||
export function getLoadHistoryPage(params?:HistoryParams){
|
||||
return defHttp.get<GetHistoryModel>({url:Api.LoadHistoryPage,params})
|
||||
}
|
||||
export function getVerisonsLoad(params?:HistoryParams){
|
||||
return defHttp.get<GetHistoryModel>({url:Api.VerisonsLoad,params})
|
||||
}
|
||||
|
||||
export function updateScheme(params:SchemeParams){
|
||||
return defHttp.post({ url: Api.UpdateScheme + "?id=" + params.id +"&schemeId="+params.schemeId});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -343,34 +343,45 @@
|
|||
// 审核节点
|
||||
let taskFrom = await !(taskRef.value) ? {} : taskRef.value.getForm();
|
||||
if (taskFrom != undefined) {
|
||||
wfData.push(taskFrom)
|
||||
if (taskFrom.id != '') {
|
||||
wfData.push(taskFrom)
|
||||
}
|
||||
}
|
||||
// 子流程
|
||||
let subprocessFrom = await !(subprocessRef.value) ? {} : subprocessRef.value.getForm();
|
||||
if (subprocessFrom != undefined) {
|
||||
wfData.push(subprocessFrom)
|
||||
if (subprocessFrom.id != '') {
|
||||
wfData.push(subprocessFrom)
|
||||
}
|
||||
}
|
||||
// 排他网关
|
||||
let gatewayInclusiveFrom = await !(exclusiveGatewayRef.value) ? {} : exclusiveGatewayRef.value.getForm();
|
||||
if (gatewayInclusiveFrom != undefined) {
|
||||
wfData.push(gatewayInclusiveFrom)
|
||||
if (gatewayInclusiveFrom.id != '') {
|
||||
wfData.push(gatewayInclusiveFrom)
|
||||
}
|
||||
}
|
||||
// 并排网关
|
||||
let parallelGatewayFrom = await !(parallelGatewayRef.value) ? {} : parallelGatewayRef.value.getForm();
|
||||
if (parallelGatewayFrom != undefined) {
|
||||
wfData.push(parallelGatewayFrom)
|
||||
if (parallelGatewayFrom.id != '') {
|
||||
wfData.push(parallelGatewayFrom)
|
||||
}
|
||||
}
|
||||
// 包含网关
|
||||
let inclusiveGatewayFrom = await !(inclusiveGatewayRef.value) ? {} : inclusiveGatewayRef.value.getForm();
|
||||
if (inclusiveGatewayFrom != undefined) {
|
||||
wfData.push(inclusiveGatewayFrom)
|
||||
if(inclusiveGatewayFrom.id != ''){
|
||||
wfData.push(inclusiveGatewayFrom)
|
||||
}
|
||||
}
|
||||
console.log(wfData)
|
||||
// 3.流程节点信息
|
||||
wfData.forEach(node => {
|
||||
if (node.type == 'myline' && !node.isInit) {
|
||||
node.isInit = true
|
||||
node.lineConditions = ''
|
||||
const fromNode = this.wfData.find(t => t.id == node.from)
|
||||
const fromNode = wfData.find(t => t.id == node.from)
|
||||
if (fromNode.type == 'userTask') {
|
||||
if (fromNode.btnlist.findIndex(t => t.code == 'agree' && !t.hidden) != -1) {
|
||||
node.lineConditions = 'agree' // 流转条件
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@
|
|||
watch(
|
||||
() => props.element,
|
||||
(newVal, oldVal) => {
|
||||
console.log(newVal)
|
||||
if (newVal.type == "bpmn:ExclusiveGateway") {
|
||||
node.value.id = newVal.id
|
||||
node.value.type = newVal.type
|
||||
|
|
|
|||
|
|
@ -60,7 +60,6 @@
|
|||
watch(
|
||||
() => props.element,
|
||||
(newVal, oldVal) => {
|
||||
console.log(newVal)
|
||||
if (newVal.type == "bpmn:ExclusiveGateway") {
|
||||
node.value.id = newVal.id
|
||||
node.value.type = newVal.type
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@
|
|||
watch(
|
||||
() => props.element,
|
||||
(newVal, oldVal) => {
|
||||
console.log(newVal)
|
||||
if (newVal.type == "bpmn:ParallelGateway") {
|
||||
node.value.id = newVal.id
|
||||
node.value.type = newVal.type
|
||||
|
|
|
|||
|
|
@ -9,11 +9,11 @@
|
|||
<a-switch v-model:checked="node.isAsync" />
|
||||
</a-form-item>
|
||||
<a-form-item label="流程模版">
|
||||
<a-select v-model:value="node.wfschemeId" :options="data.list">
|
||||
<a-select v-model:value="node.wfschemeId" :options="list" @change="changeScheme" :fieldNames="{ value: 'id', label: 'name' }">
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="流程版本">
|
||||
<a-select v-model:value="node.wfVersionId" :options="data.verisons">
|
||||
<a-select v-model:value="node.wfVersionId" :options="verisons" :fieldNames="{value:'id',label:'createDate'}">
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
<script lang="ts" setup>
|
||||
import { reactive, defineProps, computed, inject, ref, watch, h ,onMounted} from 'vue'
|
||||
import { getDetail } from '@/api/sys/WFSchemeInfo'
|
||||
import { getDetail ,getLoad,getVerisonsLoad} from '@/api/sys/WFSchemeInfo'
|
||||
const labelCol = { span: 7 };
|
||||
const wrapperCol = { span: 17 };
|
||||
const props = defineProps({
|
||||
|
|
@ -37,6 +37,11 @@
|
|||
wfschemeId: '',
|
||||
wfVersionId: '',
|
||||
})
|
||||
const data = reactive({
|
||||
componentDisabled: props.pageType == 'detail' ? true : false
|
||||
})
|
||||
const list = ref([])
|
||||
const verisons = ref([])
|
||||
watch(
|
||||
() => props.element,
|
||||
(newVal, oldVal) => {
|
||||
|
|
@ -60,6 +65,10 @@
|
|||
}
|
||||
});
|
||||
}
|
||||
async function getSchemeList(){
|
||||
const data = await getLoad()
|
||||
list.value = data
|
||||
}
|
||||
async function getDetailInfo() {
|
||||
let data = await getDetail({ code: props.schemeCode })
|
||||
let scheme = JSON.parse(data.scheme.content);
|
||||
|
|
@ -71,13 +80,12 @@
|
|||
});
|
||||
|
||||
}
|
||||
const data = reactive({
|
||||
list: [],
|
||||
verisons: [],
|
||||
componentDisabled: props.pageType == 'detail' ? true : false
|
||||
|
||||
})
|
||||
async function changeScheme(){
|
||||
const data = await getVerisonsLoad({id:node.value.wfschemeId})
|
||||
verisons.value = data
|
||||
}
|
||||
onMounted(() => {
|
||||
getSchemeList()
|
||||
if (props.schemeCode) {
|
||||
getDetailInfo()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -334,6 +334,7 @@
|
|||
let wfData = scheme.wfData
|
||||
wfData.forEach(element => {
|
||||
if (element.id == node.value.id) {
|
||||
console.log(element)
|
||||
node.value = element
|
||||
}
|
||||
});
|
||||
|
|
@ -418,7 +419,8 @@
|
|||
node.value.btnlist = node.value.btnlist.filter(item => item.code !== key);
|
||||
}
|
||||
function getForm() {
|
||||
if (node.value.id != '') {
|
||||
console.log(node.value)
|
||||
if (node.value.overtimeMessageType != '' ) {
|
||||
if (node.value.overtimeMessageType.length > 1) {
|
||||
node.value.overtimeMessageType = node.value.overtimeMessageType.join(',')
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -124,7 +124,6 @@
|
|||
|
||||
// Close the current tab
|
||||
function handleEdit(targetKey: string) {
|
||||
console.log(targetKey)
|
||||
// Added operation to hide, currently only use delete operation
|
||||
if (unref(unClose)) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -179,6 +179,7 @@
|
|||
},
|
||||
"workflow":{
|
||||
"scheme_preview":"流程模板设计",
|
||||
"create_preview":"流程发起"
|
||||
"create_preview":"流程发起",
|
||||
"task_preview":"流程详情"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,6 +47,18 @@ const dashboard: AppRouteModule = {
|
|||
},
|
||||
component: () => import('@/views/demo/workflow/create/preview.vue'),
|
||||
},
|
||||
{
|
||||
path: 'task_preview/:id',
|
||||
name: 'TaskPreview',
|
||||
meta: {
|
||||
hideMenu: true,
|
||||
title: t('routes.demo.workflow.task_preview'),
|
||||
ignoreKeepAlive: true,
|
||||
showMenu: false,
|
||||
currentActiveMenu: '/workflow/create',
|
||||
},
|
||||
component: () => import('@/views/demo/workflow/task/detail.vue'),
|
||||
}
|
||||
],
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
>
|
||||
<template #toolbar>
|
||||
<PermissionBtn @btn-event="onBtnClicked" />
|
||||
<Upload
|
||||
<!-- <Upload
|
||||
:multiple="multiple"
|
||||
helpText="只能导入json文件"
|
||||
:show-upload-list="false"
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
:api="uploadApi"
|
||||
>
|
||||
<a-button type="primary">导入</a-button>
|
||||
</Upload>
|
||||
</Upload> -->
|
||||
<a-button type="primary" @click="handleDownByData">导出</a-button>
|
||||
</template>
|
||||
<!-- <template #bodyCell="{ column, record }">
|
||||
|
|
@ -41,9 +41,10 @@
|
|||
<!-- 预览弹窗 -->
|
||||
<PreviewModal @register="previewModal" />
|
||||
<!-- 表单列表新增和编辑弹窗 -->
|
||||
<TableModal @register="tableModal" />
|
||||
<!-- <TableModal @register="tableModal" /> -->
|
||||
<!-- 历史记录列表弹窗 -->
|
||||
<HistoryModal @register="historyModal" />
|
||||
<FormModal @submitsuccess="submitsuccess" @register="registerModal" v-if="formModalVisible" />
|
||||
</PageWrapper>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
|
|
@ -56,13 +57,14 @@
|
|||
import PermissionBtn from '@/components/PermissionBtn/index.vue';
|
||||
import { useModal } from '@/components/Modal';
|
||||
import { downloadByData } from '@/utils/file/download';
|
||||
import { Upload } from 'ant-design-vue';
|
||||
// import { Upload } from 'ant-design-vue';
|
||||
import PreviewModal from './modal/PreviewModal.vue';
|
||||
import TableModal from './modal/PageStepTableModal.vue';
|
||||
// import TableModal from './modal/PageStepTableModal.vue';
|
||||
import HistoryModal from './modal/HistoryModal.vue';
|
||||
import FormSchemeDrawer from './FormSchemeDrawer.vue';
|
||||
import FormSchemeTree from './FormSchemeTree.vue';
|
||||
import { uploadApi } from '/@/api/sys/upload';
|
||||
import FormModal from '@/views/demo/onlineform/formdesign/FormModal.vue';
|
||||
// import { uploadApi } from '/@/api/sys/upload';
|
||||
|
||||
import { columns, searchFormSchema } from './formScheme.data';
|
||||
import { functionLoadFormPage, functionGetForm, functionDeleteForm } from '@/api/demo/formScheme';
|
||||
|
|
@ -103,7 +105,31 @@
|
|||
// 预览弹窗
|
||||
const [previewModal, { openModal: handlePreviewModal }] = useModal();
|
||||
// 表单列表新增和编辑弹窗
|
||||
const [tableModal, { openModal: handleTableModal }] = useModal();
|
||||
// const [tableModal, { openModal: handleTableModal }] = useModal();
|
||||
const [registerModal, { openModal }] = useModal();
|
||||
const formModalVisible = ref(true);
|
||||
|
||||
function handleAddForm() {
|
||||
formModalVisible.value = true;
|
||||
openModal(true, {});
|
||||
}
|
||||
function handleEdit() {
|
||||
formModalVisible.value = true;
|
||||
let rows = getSelectRows();
|
||||
if (rows.length == 0) {
|
||||
return createMessage.warn('请选择一个表单进行编辑');
|
||||
}
|
||||
// var query = {
|
||||
// id: rows[0].id,
|
||||
// };
|
||||
// const record = await functionGetForm(query);
|
||||
openModal(true, rows[0]);
|
||||
}
|
||||
function submitsuccess() {
|
||||
reload();
|
||||
formModalVisible.value = false;
|
||||
}
|
||||
|
||||
// 历史记录列表弹窗
|
||||
const [historyModal, { openModal: handleHistoryModal }] = useModal();
|
||||
|
||||
|
|
@ -133,23 +159,23 @@
|
|||
});
|
||||
}
|
||||
|
||||
// 表单-新增
|
||||
function formTableModalCreate() {
|
||||
const record = null;
|
||||
handleTableModal(true, { record, isUpdate: false });
|
||||
}
|
||||
// 表单-编辑
|
||||
async function formTableModalEdit() {
|
||||
let rows = getSelectRows();
|
||||
if (rows.length == 0) {
|
||||
return createMessage.warn('请选择一个表单进行编辑');
|
||||
}
|
||||
var query = {
|
||||
id: rows[0].id,
|
||||
};
|
||||
const record = await functionGetForm(query);
|
||||
handleTableModal(true, { record, isUpdate: true });
|
||||
}
|
||||
// // 表单-新增
|
||||
// function formTableModalCreate() {
|
||||
// const record = null;
|
||||
// handleTableModal(true, { record, isUpdate: false });
|
||||
// }
|
||||
// // 表单-编辑
|
||||
// async function formTableModalEdit() {
|
||||
// let rows = getSelectRows();
|
||||
// if (rows.length == 0) {
|
||||
// return createMessage.warn('请选择一个表单进行编辑');
|
||||
// }
|
||||
// var query = {
|
||||
// id: rows[0].id,
|
||||
// };
|
||||
// const record = await functionGetForm(query);
|
||||
// handleTableModal(true, { record, isUpdate: true });
|
||||
// }
|
||||
// 表单-删除
|
||||
async function handleDelete() {
|
||||
let rows = getSelectRows();
|
||||
|
|
@ -210,7 +236,7 @@
|
|||
}
|
||||
|
||||
// 导入
|
||||
const uploadApi = null;
|
||||
// const uploadApi = null;
|
||||
|
||||
// 导出
|
||||
async function handleDownByData() {
|
||||
|
|
@ -231,10 +257,12 @@
|
|||
function onBtnClicked(domId) {
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
formTableModalCreate();
|
||||
// formTableModalCreate();
|
||||
handleAddForm();
|
||||
break;
|
||||
case 'btnEdit':
|
||||
formTableModalEdit();
|
||||
// formTableModalEdit();
|
||||
handleEdit();
|
||||
break;
|
||||
case 'btnDelete':
|
||||
handleDelete();
|
||||
|
|
|
|||
|
|
@ -48,7 +48,6 @@
|
|||
setModalProps({ confirmLoading: true });
|
||||
const data = await addAccount(values)
|
||||
// TODO custom api
|
||||
console.log(values);
|
||||
closeModal();
|
||||
emit('success', { isUpdate: unref(isUpdate), values: { ...values, id: rowId.value } });
|
||||
} finally {
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@
|
|||
}
|
||||
const data = await userRoles(query)
|
||||
// TODO custom api
|
||||
console.log(query);
|
||||
closeModal();
|
||||
emit('success', { isUpdate: unref(isUpdate), values: { ...values, id: rowId.value } });
|
||||
} finally {
|
||||
|
|
|
|||
|
|
@ -80,7 +80,6 @@
|
|||
}
|
||||
}
|
||||
for (let key in duplicates) {
|
||||
console.log(`${key}: ${duplicates[key]}`);
|
||||
if (duplicates[key] > 1) {
|
||||
return createMessage.warn('一个部门只能选择一个职级');
|
||||
}
|
||||
|
|
@ -88,14 +87,11 @@
|
|||
var query = {}
|
||||
const arrs = posList.value.map(item => {
|
||||
const data = orgList.value.find(i => item.orgId == i.orgId)
|
||||
console.log(item)
|
||||
console.log(data)
|
||||
return {
|
||||
...data,
|
||||
...item,
|
||||
}
|
||||
})
|
||||
console.log(arrs)
|
||||
if (posList.value.length == 0) {
|
||||
query = {
|
||||
userId: rowId.value,
|
||||
|
|
@ -112,7 +108,6 @@
|
|||
orgPoses: arrs
|
||||
}
|
||||
}
|
||||
console.log(query)
|
||||
const data = await userOrgs(query)
|
||||
setModalProps({ confirmLoading: true });
|
||||
closeModal();
|
||||
|
|
|
|||
|
|
@ -56,7 +56,6 @@
|
|||
showTableSetting: true,
|
||||
bordered: true,
|
||||
handleSearchInfoFn(info) {
|
||||
console.log('handleSearchInfoFn', info);
|
||||
return info;
|
||||
},
|
||||
});
|
||||
|
|
@ -110,7 +109,6 @@
|
|||
go('/system/account_detail/' + record.id);
|
||||
}
|
||||
function onBtnClicked(domId) {
|
||||
console.log(domId)
|
||||
let rows = getSelectRows();
|
||||
const record = rows[0]
|
||||
switch (domId) {
|
||||
|
|
|
|||
|
|
@ -52,9 +52,7 @@
|
|||
const values = await validate();
|
||||
setDrawerProps({ confirmLoading: true });
|
||||
// TODO custom api
|
||||
console.log(values)
|
||||
if (values.type == '1') {
|
||||
console.log("新增菜单")
|
||||
delete values.type
|
||||
// 新增菜单
|
||||
if (!unref(isUpdate)) {
|
||||
|
|
@ -65,7 +63,6 @@
|
|||
closeDrawer();
|
||||
emit('success');
|
||||
} else {
|
||||
console.log("新增按钮")
|
||||
// 新增按钮
|
||||
delete values.type
|
||||
if (!unref(isUpdate)) {
|
||||
|
|
|
|||
|
|
@ -117,7 +117,6 @@
|
|||
nextTick(expandAll);
|
||||
}
|
||||
function onBtnClicked(domId) {
|
||||
console.log(domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
handleCreate()
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
setModalProps({ confirmLoading: false });
|
||||
|
||||
depeId.value = data.record.id
|
||||
console.log(data.record)
|
||||
setFieldsValue({
|
||||
...data.record,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -102,7 +102,6 @@
|
|||
});
|
||||
}
|
||||
function onBtnClicked(domId) {
|
||||
console.log(domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
handleCreate()
|
||||
|
|
|
|||
|
|
@ -53,7 +53,6 @@
|
|||
setDrawerProps({ confirmLoading: true });
|
||||
// TODO custom api
|
||||
if (values.type == '1') {
|
||||
console.log("新增菜单")
|
||||
delete values.type
|
||||
// 新增菜单
|
||||
if (!unref(isUpdate)) {
|
||||
|
|
@ -64,7 +63,6 @@
|
|||
closeDrawer();
|
||||
emit('success');
|
||||
} else {
|
||||
console.log("新增按钮")
|
||||
// 新增按钮
|
||||
delete values.type
|
||||
if (!unref(isUpdate)) {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@
|
|||
const { passwordOld, passwordNew } = values;
|
||||
|
||||
// TODO custom api
|
||||
console.log(passwordOld, passwordNew);
|
||||
// const { router } = useRouter();
|
||||
// router.push(pageEnum.BASE_LOGIN);
|
||||
} catch (error) {
|
||||
|
|
|
|||
|
|
@ -111,7 +111,6 @@
|
|||
nextTick(expandAll);
|
||||
}
|
||||
function onBtnClicked(domId) {
|
||||
console.log(domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
handleCreate()
|
||||
|
|
|
|||
|
|
@ -46,7 +46,6 @@
|
|||
isCanResizeParent: true,
|
||||
rowKey: 'id',
|
||||
handleSearchInfoFn(info) {
|
||||
console.log('handleSearchInfoFn', info);
|
||||
return info;
|
||||
},
|
||||
});
|
||||
|
|
|
|||
|
|
@ -79,10 +79,8 @@
|
|||
menusForRol.moduleIds.forEach(element => {
|
||||
btnIterator(element, treeData.value)
|
||||
});
|
||||
console.log(btnData.value)
|
||||
unref(asyncExpandTreeRef)?.setCheckedKeys(menusForRol.moduleIds);
|
||||
nextTick(() => {
|
||||
console.log(btnData.value)
|
||||
unref(asyncBtnExpandTreeRef)?.setCheckedKeys(menusForRol.elementIds);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -140,7 +140,6 @@
|
|||
reload();
|
||||
}
|
||||
function onBtnClicked(domId) {
|
||||
console.log(domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
handleCreate()
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
const prefixCls = 'list-card';
|
||||
let cardList = ref()
|
||||
function launch(code){
|
||||
console.log(code)
|
||||
go('/dashboard/create_preview/add?code='+code);
|
||||
}
|
||||
async function getList() {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@
|
|||
|
||||
const userStore = useUserStore();
|
||||
const userInfo = userStore.getUserInfo
|
||||
console.log(userInfo)
|
||||
const prefixCls = 'preview-box'
|
||||
const tabStore = useMultipleTabStore();
|
||||
const router = useRouter();
|
||||
|
|
@ -101,30 +100,12 @@
|
|||
let content = JSON.parse(data.scheme.content)
|
||||
let wfData = content.wfData
|
||||
const currentNode = wfData.find(t => t.type == "bpmn:StartEvent")
|
||||
console.log(currentNode)
|
||||
designerData.isCustmerTitle = currentNode.isCustmerTitle
|
||||
// var result = {
|
||||
// // 流程图xml
|
||||
// flowContent: "",
|
||||
// // 流程图节点id
|
||||
// flowViewer: {
|
||||
// // 完成节点id集合
|
||||
// finishedTaskSet: [],
|
||||
// // 完成线条节点id集合
|
||||
// finishedSequenceFlowSet: [],
|
||||
// // 当前节点id集合
|
||||
// unfinishedTaskSet: [],
|
||||
// // 拒绝节点id集合(暂无示例)
|
||||
// rejectedTaskSet: [],
|
||||
// }
|
||||
// // 后续还需确定需不需要节点的一些审核信息,需要的话还需要增加返回字段
|
||||
// }
|
||||
}
|
||||
async function getDelegateUsers() {
|
||||
const data = await getLoadMyUserList({
|
||||
code: code
|
||||
})
|
||||
console.log(data)
|
||||
designerData.delegateUsers = data
|
||||
}
|
||||
async function handleSaveDraft() {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@
|
|||
});
|
||||
|
||||
const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
|
||||
console.log(data)
|
||||
resetFields();
|
||||
setDrawerProps({ confirmLoading: false });
|
||||
isUpdate.value = !!data?.isUpdate;
|
||||
|
|
|
|||
|
|
@ -149,7 +149,6 @@
|
|||
nextTick(expandAll);
|
||||
}
|
||||
function onBtnClicked(domId) {
|
||||
console.log(domId)
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
go('/dashboard/scheme_preview/add');
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
let validateData = await modelDesigner.value.validateFlow()
|
||||
if (validateData) {
|
||||
let formData = await modelDesigner.value.getFlow()
|
||||
console.log(formData)
|
||||
// 1正式 2草稿
|
||||
formData.scheme.type = Number(type)
|
||||
if (!schemeCode) {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ export const columns: BasicColumn[] = [
|
|||
dataIndex: 'enabledMark',
|
||||
width: 80,
|
||||
customRender: ({ record }) => {
|
||||
if (!record.type) {
|
||||
if (record.type == 2) {
|
||||
const color = 'blue';
|
||||
const text = '草稿';
|
||||
return h(Tag, { color: color }, () => text);
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@
|
|||
import { PageWrapper } from '@/components/Page';
|
||||
import { getLoadMyCompletedPage } from '@/api/sys/WFTask'
|
||||
import { Tag, Switch } from 'ant-design-vue';
|
||||
import { useGo } from '@/hooks/web/usePage';
|
||||
const go = useGo();
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
const [registerTable, { reload, expandAll, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||
api: getLoadMyCompletedPage,
|
||||
|
|
@ -109,7 +111,7 @@
|
|||
},
|
||||
});
|
||||
function handleDetail(record){
|
||||
console.log(record)
|
||||
go('/dashboard/task_preview/detail?id=' + record.id);
|
||||
}
|
||||
function handleRevocation(record){
|
||||
console.log(record)
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@
|
|||
import { PageWrapper } from '@/components/Page';
|
||||
import { getLoadMyDelegatePage } from '@/api/sys/WFTask'
|
||||
import { Tag, Switch } from 'ant-design-vue';
|
||||
import { useGo } from '@/hooks/web/usePage';
|
||||
const go = useGo();
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
const [registerTable, { reload, expandAll, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||
api: getLoadMyDelegatePage,
|
||||
|
|
@ -105,7 +107,7 @@
|
|||
},
|
||||
});
|
||||
function handleDetail(record){
|
||||
console.log(record)
|
||||
go('/dashboard/task_preview/detail?id=' + record.id);
|
||||
}
|
||||
function handleRevocation(record){
|
||||
console.log(record)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,109 @@
|
|||
<template>
|
||||
<PageWrapper :class="prefixCls">
|
||||
<a-tabs v-model:activeKey="activeName">
|
||||
<a-tab-pane key="form" tab="表单信息">
|
||||
|
||||
</a-tab-pane>
|
||||
<a-tab-pane key="flow" tab="流程信息" force-render>
|
||||
<div class="process-design" :style="'display: flex; height:' + designerData.height">
|
||||
<process-viewer :key="`designer-${id}`" :xml="flowContent" :flowViewer="flowViewer"/>
|
||||
</div>
|
||||
</a-tab-pane>
|
||||
</a-tabs>
|
||||
|
||||
</PageWrapper>
|
||||
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { h, ref, provide, reactive, onMounted, defineProps, computed, defineEmits, onBeforeMount } from 'vue';
|
||||
import ProcessViewer from '@/components/ProcessViewer/index.vue';
|
||||
import { PageWrapper } from '@/components/Page';
|
||||
import { SendOutlined, SaveOutlined, CloseCircleOutlined, ZoomInOutlined, RotateLeftOutlined, RotateRightOutlined, ClearOutlined } from '@ant-design/icons-vue';
|
||||
import { getBPMN } from '@/api/sys/WFProcess'
|
||||
import { getLoadMyUserList } from '@/api/sys/WFDelegate'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { useMultipleTabStore } from '@/store/modules/multipleTab';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { buildGUID } from '@/utils/uuid';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
const { createConfirm, createMessage } = useMessage();
|
||||
|
||||
const prefixCls = 'preview-box'
|
||||
const tabStore = useMultipleTabStore();
|
||||
const router = useRouter();
|
||||
const content = ref('')
|
||||
const flowContent = ref('')
|
||||
const flowViewer = ref({})
|
||||
const route = useRoute()
|
||||
const id = route.query.id
|
||||
const designerOpen = ref(false)
|
||||
const formRef = ref();
|
||||
const labelCol = { span: 7 };
|
||||
const wrapperCol = { span: 13 };
|
||||
|
||||
const designerData = reactive({
|
||||
loading: false,
|
||||
xmlString: '',
|
||||
controlForm: {
|
||||
prefix: 'flowable',
|
||||
},
|
||||
height: document.documentElement.clientHeight - 230.5 + "px;",
|
||||
midVisible: false,
|
||||
isCustmerTitle: false,
|
||||
nodeUsers: [],
|
||||
selectUsersVisible: false,
|
||||
|
||||
isDraft: false,
|
||||
delegateUsers: []
|
||||
})
|
||||
const activeName = ref('flow')
|
||||
async function getDetailInfo() {
|
||||
let data = await getBPMN({ id: id })
|
||||
flowContent.value = data.flowContent
|
||||
flowViewer.value = data.flowViewer
|
||||
// var result = {
|
||||
// // 流程图xml
|
||||
// flowContent: "",
|
||||
// // 流程图节点id
|
||||
// flowViewer: {
|
||||
// // 完成节点id集合
|
||||
// finishedTaskSet: [],
|
||||
// // 完成线条节点id集合
|
||||
// finishedSequenceFlowSet: [],
|
||||
// // 当前节点id集合
|
||||
// unfinishedTaskSet: [],
|
||||
// // 拒绝节点id集合(暂无示例)
|
||||
// rejectedTaskSet: [],
|
||||
// }
|
||||
// // 后续还需确定需不需要节点的一些审核信息,需要的话还需要增加返回字段
|
||||
// }
|
||||
}
|
||||
function closePreview() {
|
||||
if (!id) {
|
||||
tabStore.closeTabByKey('/dashboard/task_preview/detail', router);
|
||||
} else {
|
||||
// /dashboard/create_preview/add?id=测试1
|
||||
tabStore.closeTabByKey('/dashboard/task_preview/detail?id=' + id, router);
|
||||
}
|
||||
}
|
||||
onBeforeMount(() => {
|
||||
getDetailInfo()
|
||||
})
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.preview-box {
|
||||
background-color: @component-background;
|
||||
|
||||
.btn-box {
|
||||
padding: 10px;
|
||||
justify-content: flex-end;
|
||||
display: flex;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.form-box {
|
||||
width: 480px;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -8,6 +8,10 @@
|
|||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'action'">
|
||||
<TableAction :actions="[
|
||||
{
|
||||
label:'详情',
|
||||
onClick: handleDetail.bind(null, record),
|
||||
},
|
||||
{
|
||||
label:'删除',
|
||||
color: 'error',
|
||||
|
|
@ -32,7 +36,8 @@
|
|||
import { getLoadMyDraftPage, deleteDraft } from '@/api/sys/WFProcess'
|
||||
import { Tag, Switch } from 'ant-design-vue';
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
|
||||
import { useGo } from '@/hooks/web/usePage';
|
||||
const go = useGo();
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
const { createConfirm, createMessage } = useMessage();
|
||||
|
||||
|
|
@ -104,5 +109,8 @@
|
|||
return createMessage.error('删除失败');
|
||||
}
|
||||
}
|
||||
function handleDetail(record) {
|
||||
go('/dashboard/task_preview/detail?id=' + record.id);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
|
@ -41,6 +41,8 @@
|
|||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
const { createConfirm, createMessage } = useMessage();
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
import { useGo } from '@/hooks/web/usePage';
|
||||
const go = useGo();
|
||||
const [registerTable, { reload, expandAll, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||
api: getLoadMyPage,
|
||||
columns: [
|
||||
|
|
@ -120,7 +122,7 @@
|
|||
},
|
||||
});
|
||||
function handleDetail(record) {
|
||||
console.log(record)
|
||||
go('/dashboard/task_preview/detail?id=' + record.id);
|
||||
}
|
||||
async function handleUrge(record) {
|
||||
var query = {
|
||||
|
|
@ -135,7 +137,6 @@
|
|||
}
|
||||
}
|
||||
async function handleRevocation(record) {
|
||||
console.log(record)
|
||||
var query = {
|
||||
id: record.id
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@
|
|||
import { getLoadMyReadPage } from '@/api/sys/WFTask'
|
||||
import { Tag, Switch } from 'ant-design-vue';
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
import { useGo } from '@/hooks/web/usePage';
|
||||
const go = useGo();
|
||||
const [registerTable, { reload, expandAll, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||
api: getLoadMyReadPage,
|
||||
columns: [
|
||||
|
|
@ -105,7 +107,7 @@
|
|||
},
|
||||
});
|
||||
function handleDetail(record){
|
||||
console.log(record)
|
||||
go('/dashboard/task_preview/detail?id=' + record.id);
|
||||
}
|
||||
function handleRevocation(record){
|
||||
console.log(record)
|
||||
|
|
|
|||
|
|
@ -26,6 +26,8 @@
|
|||
import { getLoadMyUncompletedPage } from '@/api/sys/WFTask'
|
||||
import { Tag, Switch } from 'ant-design-vue';
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
import { useGo } from '@/hooks/web/usePage';
|
||||
const go = useGo();
|
||||
const [registerTable, { reload, expandAll, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||
api: getLoadMyUncompletedPage,
|
||||
columns: [
|
||||
|
|
@ -101,7 +103,7 @@
|
|||
},
|
||||
});
|
||||
function handleDetail(record){
|
||||
console.log(record)
|
||||
go('/dashboard/task_preview/detail?id=' + record.id);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@
|
|||
mode: 'modal', //不要默认的错误提示
|
||||
});
|
||||
console.log(userInfo)
|
||||
|
||||
localStorage.setItem('fireUserLoginName',userInfo.name)
|
||||
if (userInfo) {
|
||||
notification.success({
|
||||
|
|
@ -143,7 +142,6 @@
|
|||
}
|
||||
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
createErrorModal({
|
||||
title: t('sys.api.errorTip'),
|
||||
content: (error as unknown as Error).message || t('sys.api.networkExceptionMsg'),
|
||||
|
|
|
|||
Loading…
Reference in New Issue