main
zzq 2024-03-25 17:22:43 +08:00
commit 0bf6c77e5d
40 changed files with 262 additions and 104 deletions

View File

@ -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 });
}

View File

@ -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});
}

View File

@ -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' //

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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()
}

View File

@ -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 {

View File

@ -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;

View File

@ -179,6 +179,7 @@
},
"workflow":{
"scheme_preview":"流程模板设计",
"create_preview":"流程发起"
"create_preview":"流程发起",
"task_preview":"流程详情"
}
}

View File

@ -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'),
}
],
};

View File

@ -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();

View File

@ -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 {

View File

@ -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 {

View File

@ -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();

View File

@ -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) {

View File

@ -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)) {

View File

@ -117,7 +117,6 @@
nextTick(expandAll);
}
function onBtnClicked(domId) {
console.log(domId)
switch (domId) {
case 'btnAdd':
handleCreate()

View File

@ -27,7 +27,6 @@
setModalProps({ confirmLoading: false });
depeId.value = data.record.id
console.log(data.record)
setFieldsValue({
...data.record,
});

View File

@ -102,7 +102,6 @@
});
}
function onBtnClicked(domId) {
console.log(domId)
switch (domId) {
case 'btnAdd':
handleCreate()

View File

@ -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)) {

View File

@ -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) {

View File

@ -111,7 +111,6 @@
nextTick(expandAll);
}
function onBtnClicked(domId) {
console.log(domId)
switch (domId) {
case 'btnAdd':
handleCreate()

View File

@ -46,7 +46,6 @@
isCanResizeParent: true,
rowKey: 'id',
handleSearchInfoFn(info) {
console.log('handleSearchInfoFn', info);
return info;
},
});

View File

@ -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);
});
}

View File

@ -140,7 +140,6 @@
reload();
}
function onBtnClicked(domId) {
console.log(domId)
switch (domId) {
case 'btnAdd':
handleCreate()

View File

@ -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() {

View File

@ -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() {

View File

@ -26,7 +26,6 @@
});
const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
console.log(data)
resetFields();
setDrawerProps({ confirmLoading: false });
isUpdate.value = !!data?.isUpdate;

View File

@ -149,7 +149,6 @@
nextTick(expandAll);
}
function onBtnClicked(domId) {
console.log(domId)
switch (domId) {
case 'btnAdd':
go('/dashboard/scheme_preview/add');

View File

@ -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) {

View File

@ -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);

View File

@ -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)

View File

@ -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)

View File

@ -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>

View File

@ -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>

View File

@ -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
}

View File

@ -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)

View File

@ -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);
}

View File

@ -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'),