v3.7.2 删除报错代码暂时无用

pull/7570/head^2
JEECG 2024-12-10 15:42:10 +08:00
parent a626b6a4d0
commit ef16814216
2 changed files with 0 additions and 425 deletions

View File

@ -1,76 +0,0 @@
<template>
<div>
<keep-alive>
<component
v-if="currentModal"
v-bind="bindParams"
:key="currentModal"
:is="currentModal"
@register="modalRegCache[currentModal].register"
@reply="handReply"
@selected="reloadPage"
/>
</keep-alive>
<!-- 历史弹出框 -->
<HisTaskDealModal ref="taskDealRef" v-bind="bindParams" />
<!-- 系统公告弹窗 -->
<DynamicNotice ref="showDynamNotice" v-bind="bindParams" />
<!-- eoa查看详情 -->
<EoaDetailModal ref="detailRef" />
<!-- 表单设计器弹窗 -->
<DesformDataModal ref="desformRef" v-bind="bindParams" @added="handleDesformDataAdded" />
<!-- 我的计划弹窗 -->
<PlanModal ref="planRef" v-bind="bindParams" @success="reloadPage" />
</div>
</template>
<script lang="ts">
import { defineComponent, onMounted } from 'vue';
import { useDragNotice } from '/@/hooks/web/useDragNotice';
import EoaMailBoxInModal from '/@/views/super/eoa/email/components/EoaMailBoxInModal.vue';
import DynamicNotice from '@/views/monitor/mynews/DynamicNotice.vue';
import EoaDetailModal from '@/views/super/eoa/cmsoa/modules/EoaDetailModal.vue';
import PlanModal from '/@/views/super/eoa/plan/components/PlanModal.vue';
export default defineComponent({
name: 'JDragNotice',
components: {
EoaDetailModal,
DynamicNotice,
EoaMailBoxInModal,
PlanModal,
},
setup() {
const {
initDragWebSocket,
currentModal,
modalParams,
modalRegCache,
bindParams,
taskDealRef,
desformRef,
handleDesformDataAdded,
handReply,
reloadPage,
} = useDragNotice();
onMounted(() => {
initDragWebSocket();
});
return {
currentModal,
modalParams,
modalRegCache,
bindParams,
taskDealRef,
desformRef,
handleDesformDataAdded,
handReply,
reloadPage,
};
},
});
</script>
<style scoped lang="less"></style>

View File

@ -1,349 +0,0 @@
import { ref, nextTick, getCurrentInstance, watch } from 'vue';
import { getToken } from '/@/utils/auth';
import md5 from 'crypto-js/md5';
import { connectWebSocket, onWebSocket } from '/@/hooks/web/useWebSocket';
import { useGlobSetting } from '/@/hooks/setting';
import { useModal } from '/@/components/Modal';
import { useUserStore } from '/@/store/modules/user';
//
import { useMyRunningTaskList } from '@/hooks/jeecg/process/useMyRunningTaskList';
import { hisProcessNodeInfo } from '@/hooks/jeecg/process/useBpmNodeInfo';
import { queryByCode, save } from '@/views/super/eoa/cmsbpm/cmsbpm.api';
import { isUrl } from '@/utils/is';
import { getQueryVariable, getUrlParams } from '@/utils';
import { backProcess, invalidProcess } from '@/views/super/eoa/cmsbpm/cmsbpm.api';
import { editReadStatus } from '@/views/super/eoa/cmsoa/cmsoa.api';
import { useRouter } from 'vue-router';
import { useMessage } from '@/hooks/web/useMessage';
const { createMessage } = useMessage();
export function useDragNotice() {
//*********************************websocketbegin******************************************
const glob = useGlobSetting();
const { push, currentRoute } = useRouter();
const userStore = useUserStore();
const instance: any = getCurrentInstance();
const taskDealRef = ref<any>(null);
const desformRef = ref<any>(null);
// WebSocket
function initWebSocket() {
const token = getToken();
//token
const wsClientId = md5(token);
// WebSocketwshttpwsshttps
const url = glob.domainUrl?.replace('https://', 'wss://').replace('http://', 'ws://') + '/dragChannelSocket/' + wsClientId;
connectWebSocket(url);
onWebSocket(onWebSocketMessage);
}
async function onWebSocketMessage(data) {
console.log('仪表盘监听按钮点击事件websocket', data);
if (data?.CMD === 'drag') {
// url modal
const action = data.result.action;
// type
const type = data.result.type;
//url
let url = data.result.url;
//url
const record = data.result.records || {};
console.log('仪表盘监听点击事件类型type', type);
console.log('仪表盘监听点击事件动作action', action);
console.log('仪表盘监听点击事件路径url', url);
console.log('仪表盘监听点击事件参数', record);
//1.
if (action == 'url') {
//
if (url == 'fileUrl') {
url = record[url];
}
const urlParamsObj = getUrlParams(url);
if (url.startsWith('http')) {
window.open(url, '_blank');
} else {
push({ path: urlParamsObj.url, query: { ...urlParamsObj.params, ...record } });
}
} else {
//2.
switch (type) {
case 'task':
//
const { formData, formUrl } = await getTaskNodeInfo(record);
formData['PROCESS_TAB_TYPE'] = 'run';
handleOpenType('task', { formData, formUrl, title: '流程办理' });
break;
case 'history':
//
hisProcessNodeInfo({ procInstId: record.processInstanceId }).then((res) => {
console.log('获取流程节点信息', res);
if (res.success) {
const formData = {
dataId: res.result.dataId,
taskId: record.id,
taskDefKey: record.taskId,
procInsId: record.processInstanceId,
tableName: res.result.tableName,
vars: res.result.records,
};
let tempFormUrl = res.result.formUrl;
//URLVUE
if (tempFormUrl && tempFormUrl.indexOf('?') != -1 && !isUrl(tempFormUrl) && tempFormUrl.indexOf('{{DOMAIN_URL}}') == -1) {
tempFormUrl = res.result.formUrl.split('?')[0];
formData['extendUrlParams'] = getQueryVariable(res.result.formUrl);
}
currentModal.value = null;
modalParams.value = { path: tempFormUrl, formData };
taskDealRef.value.deal(record);
taskDealRef.value.data.title = '流程历史';
console.log('taskDealRef', taskDealRef.value);
}
});
break;
case 'entrust':
//
handleOpenType('entrust', { taskId: record.id });
break;
case 'taskNotify':
//
handleOpenType('taskNotify', {
title: '催办提醒',
procInstId: record.processInstanceId,
});
break;
case 'invalid':
//
await invalidProcess({
processInstanceId: record.processInstanceId,
});
reloadPage();
break;
case 'backTask':
//
await backProcess({
processInstanceId: record.processInstanceId,
});
reloadPage();
break;
case 'sysNotice':
//
await editReadStatus({ anntId: record.anntId });
currentModal.value = null;
if (record.openType === 'component') {
modalParams.value = { path: record.openPage, formData: { id: record.busId } };
instance.refs.dynamicNoticeRef?.detail(record.openPage);
} else {
instance.refs.detailRef?.show({
record,
isUpdate: true,
});
}
break;
case 'email':
//
handleOpenType('email', { record });
break;
case 'plan':
//
let data = {};
if (!!record?.id) {
data = { id: record?.id };
instance.refs.planRef?.show({
isUpdate: !!record?.id,
record: data,
});
} else {
data = { joinPerson: userStore.getUserInfo.username, ...record };
instance.refs.planRef?.show({
isUpdate: !!record?.id,
...data,
});
}
break;
case 'desform':
const title = '表单【' + record.desformName + '】发起申请';
bindParams.value = { dialogOptions: { top: 60, width: 1000, padding: { top: 25, right: 25, bottom: 30, left: 25 } } };
openDesformModal('add', record, title);
break;
default:
break;
}
}
}
}
//*********************************websocketend******************************************
//*********************************begin*******************************
//
const currentModal = ref<string | null>(null);
//
const modalParams = ref<Recordable>({});
//
const modalRegCache = ref<Recordable>({});
//
const bindParams = ref<Recordable>({});
/**
* 根据类型打开不同弹窗
* @param type
* @param params
*/
async function handleOpenType(type, params) {
currentModal.value = null;
modalParams.value = { ...params };
switch (type) {
case 'task':
//
currentModal.value = 'TaskHandleModal';
break;
case 'history':
currentModal.value = 'HisTaskDealModal';
case 'entrust':
//
currentModal.value = 'SelectEntrusterModal';
break;
case 'taskNotify':
//
currentModal.value = 'TaskNotifyModal';
break;
case 'email':
//
currentModal.value = 'EoaMailBoxInModal';
break;
default:
currentModal.value = null;
break;
}
//
initModalRegister();
await nextTick(() => {
if (modalRegCache.value[currentModal.value!]?.isRegister) {
console.log('已注冊,走缓存');
modalRegCache.value[currentModal.value!].modalMethods.openModal(true, modalParams.value);
}
});
}
/**
* 初始化弹窗注册
*/
function initModalRegister() {
//null
if (!currentModal.value) {
return;
}
//
if (!modalRegCache.value[currentModal.value]) {
const [registerModal, modalMethods] = useModal();
modalRegCache.value[currentModal.value] = {
isRegister: false,
register: bindRegisterModal(registerModal, modalMethods),
modalMethods,
};
}
}
/**
* 绑定注册弹窗
* @param regFn
* @param modalMethod
*/
function bindRegisterModal(regFn, modalMethod) {
return async (...args) => {
console.log('开始注册:', currentModal.value);
await regFn(...args);
console.log('注册完成:', currentModal.value);
//
modalMethod.openModal(true, modalParams.value);
//
modalRegCache.value[currentModal.value!].isRegister = true;
};
}
//*********************************end******************************************
//********************************************************************************
const { getTaskNodeInfo } = useMyRunningTaskList('run');
/**
* 打开表单
*/
function openDesformModal(mode, record, title) {
let desform = record,
dataId = null;
if (mode === 'edit' || mode === 'detail') {
let { desformId: id, desformCode, desformDataId } = record;
dataId = desformDataId;
desform = { id, desformCode };
}
queryByCode({ desformCode: desform.desformCode }).then((res) => {
if (res.success) {
const designJson = res.result.desformDesignJson;
const json = JSON.parse(designJson);
if (json.config.dialogOptions) {
bindParams.value = { dialogOptions: json.config.dialogOptions };
}
desformRef.value.open(mode, desform, dataId, title);
}
});
}
/**
* 添加我的申请表单流程
*/
function handleDesformDataAdded(event) {
const flowCodePre = 'desform_';
//
let { desform, dataId } = event;
save({
desformId: desform.id,
desformCode: desform.desformCode,
desformDataId: dataId,
desformName: desform.desformName,
processName: desform.procName,
flowCode: `${flowCodePre}${desform.desformCode}`,
titleExp: desform.titleExp,
}).then((res) => {
if (!res.success) {
createMessage.error(res.message);
return;
}
push({ path: '/oaOffice/myOrder' });
});
}
/**
* 邮箱回复
* @param record
*/
function handReply(record) {
//
push({ name: 'eoa-email', params: { type: 'process', rec: JSON.stringify(record.value) } });
}
watch(
() => currentRoute.value,
(value) => {
if (value?.meta?.frameSrc && value?.meta?.frameSrc.indexOf('/drag/view?pageId=') >= 0) {
reloadPage();
}
}
);
//
function reloadPage() {
const iframes: any = document.getElementsByClassName('jeecg-iframe-page__main');
// HTMLCollection
const iframeArray = Array.from(iframes);
if (currentRoute.value?.meta?.frameSrc && currentRoute.value?.meta?.frameSrc.indexOf('/drag/view?pageId=') >= 0) {
const targetIframe: any = iframeArray.find((iframe: any) => iframe.src == currentRoute.value?.meta?.frameSrc);
console.log('targetIframe', targetIframe);
if (targetIframe) {
targetIframe.contentWindow.postMessage({ reload: true }, '*');
}
}
}
return {
initDragWebSocket: initWebSocket,
handleOpenType,
currentModal,
modalParams,
modalRegCache,
bindParams,
taskDealRef,
desformRef,
handleDesformDataAdded,
handReply,
reloadPage,
};
}