From f2f564dc0c37671f97d7c3e48648d3623c383503 Mon Sep 17 00:00:00 2001 From: Siyu Kong <boil@vip.qq.com> Date: Tue, 21 Feb 2023 18:29:27 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E8=A7=84=E8=8C=83=E4=B8=8D=E7=AC=A6?= =?UTF-8?q?=E5=90=88eslint=E6=A0=A1=E9=AA=8C=E8=A7=84=E5=88=99=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../package/designer/ProcessDesigner.vue | 2 +- .../package/palette/ProcessPalette.vue | 7 ++-- .../package/penal/PropertiesPanel.vue | 15 ++++---- .../package/penal/base/ElementBaseInfo.vue | 7 ++-- .../penal/flow-condition/FlowCondition.vue | 25 ++++++------- .../package/penal/form/ElementForm.vue | 27 +++++++------- .../penal/listeners/ElementListeners.vue | 3 +- .../penal/listeners/UserTaskListeners.vue | 5 +-- .../multi-instance/ElementMultiInstance.vue | 35 ++++++++++--------- .../penal/other/ElementOtherConfig.vue | 9 ++--- .../penal/properties/ElementProperties.vue | 15 ++++---- .../penal/signal-message/SignalAndMessage.vue | 7 ++-- .../package/penal/task/ElementTask.vue | 5 +-- .../task/task-components/ReceiveTask.vue | 13 +++---- .../penal/task/task-components/ScriptTask.vue | 6 ++-- .../penal/task/task-components/UserTask.vue | 6 ++-- .../bpmnProcessDesigner/package/utils.ts | 17 ++++----- src/hooks/web/useI18n.ts | 1 + src/hooks/web/useTimeAgo.ts | 2 ++ src/types/auto-components.d.ts | 6 +++- src/types/auto-imports.d.ts | 5 ++- src/views/bpm/model/modelEditor.vue | 2 +- src/views/bpm/processInstance/detail.vue | 2 +- src/views/system/notify/my/index.vue | 2 +- 24 files changed, 127 insertions(+), 97 deletions(-) diff --git a/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue b/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue index 1f471f3e..977e945d 100644 --- a/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue +++ b/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue @@ -331,7 +331,7 @@ const additionalModules = computed(() => { // 插入用户自定义扩展模块 if (Object.prototype.toString.call(props.additionalModel) == '[object Array]') { - Modules.push(...props.additionalModel) + Modules.push(...(props.additionalModel as any[])) } else { props.additionalModel && Modules.push(props.additionalModel) } diff --git a/src/components/bpmnProcessDesigner/package/palette/ProcessPalette.vue b/src/components/bpmnProcessDesigner/package/palette/ProcessPalette.vue index f5272840..38e4ba17 100644 --- a/src/components/bpmnProcessDesigner/package/palette/ProcessPalette.vue +++ b/src/components/bpmnProcessDesigner/package/palette/ProcessPalette.vue @@ -8,9 +8,10 @@ <script setup lang="ts" name="MyProcessPalette"> import { assign } from 'min-dash' -const addTask = (event, options = {}) => { - const ElementFactory = window.bpmnInstances.elementFactory - const create = window.bpmnInstances.modeler.get('create') +const bpmnInstances = () => (window as any).bpmnInstances +const addTask = (event, options: any = {}) => { + const ElementFactory = bpmnInstances().elementFactory + const create = bpmnInstances().modeler.get('create') console.log(ElementFactory, create) diff --git a/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue b/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue index 03dec801..74d8b00a 100644 --- a/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue +++ b/src/components/bpmnProcessDesigner/package/penal/PropertiesPanel.vue @@ -109,6 +109,7 @@ const bpmnElement = ref() const timer = ref() provide('prefix', props.prefix) provide('width', props.width) +const bpmnInstances = () => (window as any)?.bpmnInstances const initModels = () => { // console.log(props, 'props') // console.log(props.bpmnModeler, 'sakdjjaskdsajdkasdjkadsjk') @@ -121,7 +122,8 @@ const initModels = () => { } if (timer.value) { clearTimeout(timer.value) - window.bpmnInstances = { + const w = window as any + w.bpmnInstances = { modeler: props.bpmnModeler, modeling: props.bpmnModeler.get('modeling'), moddle: props.bpmnModeler.get('moddle'), @@ -134,7 +136,7 @@ const initModels = () => { } } - console.log(window.bpmnInstances, 'window.bpmnInstances') + console.log(bpmnInstances(), 'window.bpmnInstances') getActiveElement() // }) } @@ -161,8 +163,8 @@ const initFormOnChanged = (element) => { let activatedElement = element if (!activatedElement) { activatedElement = - window.bpmnInstances.elementRegistry.find((el) => el.type === 'bpmn:Process') ?? - window.bpmnInstances.elementRegistry.find((el) => el.type === 'bpmn:Collaboration') + bpmnInstances().elementRegistry.find((el) => el.type === 'bpmn:Process') ?? + bpmnInstances().elementRegistry.find((el) => el.type === 'bpmn:Collaboration') } if (!activatedElement) return console.log(` @@ -173,7 +175,7 @@ const initFormOnChanged = (element) => { ---------- `) console.log('businessObject: ', activatedElement.businessObject) - window.bpmnInstances.bpmnElement = activatedElement + bpmnInstances().bpmnElement = activatedElement bpmnElement.value = activatedElement elementId.value = activatedElement.id elementType.value = activatedElement.type.split(':')[1] || '' @@ -191,7 +193,8 @@ onMounted(() => { }, 100) }) onBeforeUnmount(() => { - window.bpmnInstances = null + const w = window as any + w.bpmnInstances = null console.log(props, 'props1') console.log(props.bpmnModeler, 'props.bpmnModeler1') }) diff --git a/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue b/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue index d9f178a0..e2bfecba 100644 --- a/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue +++ b/src/components/bpmnProcessDesigner/package/penal/base/ElementBaseInfo.vue @@ -59,11 +59,12 @@ const rules = reactive({ name: [{ required: true, message: '流程名称不能为空', trigger: 'blur' }] }) +const bpmnInstances = () => (window as any)?.bpmnInstances const resetBaseInfo = () => { console.log(window, 'window') console.log(bpmnElement.value, 'bpmnElement') - bpmnElement.value = window?.bpmnInstances?.bpmnElement + bpmnElement.value = bpmnInstances()?.bpmnElement console.log(bpmnElement.value, 'resetBaseInfo11111111111') elementBaseInfo.value = bpmnElement.value.businessObject needProps.value['type'] = bpmnElement.value.businessObject.$type @@ -125,13 +126,13 @@ const updateBaseInfo = (key) => { console.log(window, 'window') console.log(bpmnElement.value, 'bpmnElement') console.log(toRaw(bpmnElement.value), 'bpmnElement') - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { id: elementBaseInfo.value[key], di: { id: `${elementBaseInfo.value[key]}_di` } }) } else { console.log(attrObj, 'attrObj') - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), attrObj) + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), attrObj) } } onMounted(() => { diff --git a/src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue b/src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue index ee4512e7..5b804801 100644 --- a/src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue +++ b/src/components/bpmnProcessDesigner/package/penal/flow-condition/FlowCondition.vue @@ -72,14 +72,15 @@ const bpmnElement = ref() const bpmnElementSource = ref() const bpmnElementSourceRef = ref() const flowConditionRef = ref() +const bpmnInstances = () => (window as any)?.bpmnInstances const resetFlowCondition = () => { - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement bpmnElementSource.value = bpmnElement.value.source bpmnElementSourceRef.value = bpmnElement.value.businessObject.sourceRef if ( bpmnElementSourceRef.value && bpmnElementSourceRef.value.default && - bpmnElementSourceRef.value.default.id === this.bpmnElement.id + bpmnElementSourceRef.value.default.id === bpmnElement.value.id ) { // 默认 flowConditionForm.value = { type: 'default' } @@ -113,18 +114,18 @@ const resetFlowCondition = () => { const updateFlowType = (flowType) => { // 正常条件类 if (flowType === 'condition') { - flowConditionRef.value = window.bpmnInstances.moddle.create('bpmn:FormalExpression') - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + flowConditionRef.value = bpmnInstances().moddle.create('bpmn:FormalExpression') + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { conditionExpression: flowConditionRef.value }) return } // 默认路径 if (flowType === 'default') { - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { conditionExpression: null }) - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElementSource.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElementSource.value), { default: bpmnElement.value }) return @@ -134,11 +135,11 @@ const updateFlowType = (flowType) => { bpmnElementSourceRef.value.default && bpmnElementSourceRef.value.default.id === bpmnElement.value.id ) { - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElementSource.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElementSource.value), { default: null }) } - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { conditionExpression: null }) } @@ -146,22 +147,22 @@ const updateFlowCondition = () => { let { conditionType, scriptType, body, resource, language } = flowConditionForm.value let condition if (conditionType === 'expression') { - condition = window.bpmnInstances.moddle.create('bpmn:FormalExpression', { body }) + condition = bpmnInstances().moddle.create('bpmn:FormalExpression', { body }) } else { if (scriptType === 'inlineScript') { - condition = window.bpmnInstances.moddle.create('bpmn:FormalExpression', { body, language }) + condition = bpmnInstances().moddle.create('bpmn:FormalExpression', { body, language }) // this.$set(this.flowConditionForm, "resource", ""); flowConditionForm.value['resource'] = '' } else { // this.$set(this.flowConditionForm, "body", ""); flowConditionForm.value['body'] = '' - condition = window.bpmnInstances.moddle.create('bpmn:FormalExpression', { + condition = bpmnInstances().moddle.create('bpmn:FormalExpression', { resource, language }) } } - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { conditionExpression: condition }) } diff --git a/src/components/bpmnProcessDesigner/package/penal/form/ElementForm.vue b/src/components/bpmnProcessDesigner/package/penal/form/ElementForm.vue index a1b51623..cb96a2fb 100644 --- a/src/components/bpmnProcessDesigner/package/penal/form/ElementForm.vue +++ b/src/components/bpmnProcessDesigner/package/penal/form/ElementForm.vue @@ -239,17 +239,18 @@ const elExtensionElements = ref() const formData = ref() const otherExtensions = ref() +const bpmnInstances = () => (window as any)?.bpmnInstances const resetFormList = () => { - bpmnELement.value = window.bpmnInstances.bpmnElement + bpmnELement.value = bpmnInstances().bpmnElement formKey.value = bpmnELement.value.businessObject.formKey // 获取元素扩展属性 或者 创建扩展属性 elExtensionElements.value = bpmnELement.value.businessObject.get('extensionElements') || - window.bpmnInstances.moddle.create('bpmn:ExtensionElements', { values: [] }) + bpmnInstances().moddle.create('bpmn:ExtensionElements', { values: [] }) // 获取元素表单配置 或者 创建新的表单配置 formData.value = elExtensionElements.value.values.filter((ex) => ex.$type === `${prefix}:FormData`)?.[0] || - window.bpmnInstances.moddle.create(`${prefix}:FormData`, { fields: [] }) + bpmnInstances().moddle.create(`${prefix}:FormData`, { fields: [] }) // 业务标识 businessKey, 绑定在 formData 中 businessKey.value = formData.value.businessKey @@ -266,12 +267,12 @@ const resetFormList = () => { updateElementExtensions() } const updateElementFormKey = () => { - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnELement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnELement.value), { formKey: formKey.value }) } const updateElementBusinessKey = () => { - window.bpmnInstances.modeling.updateModdleProperties(toRaw(bpmnELement.value), formData.value, { + bpmnInstances().modeling.updateModdleProperties(toRaw(bpmnELement.value), formData.value, { businessKey: businessKey.value }) } @@ -353,37 +354,37 @@ const saveFieldOption = () => { // 保存字段配置 const saveField = () => { const { id, type, label, defaultValue, datePattern } = formFieldForm.value - const Field = window.bpmnInstances.moddle.create(`${prefix}:FormField`, { id, type, label }) + const Field = bpmnInstances().moddle.create(`${prefix}:FormField`, { id, type, label }) defaultValue && (Field.defaultValue = defaultValue) datePattern && (Field.datePattern = datePattern) // 构建属性 if (fieldPropertiesList.value && fieldPropertiesList.value.length) { const fieldPropertyList = fieldPropertiesList.value.map((fp) => { - return window.bpmnInstances.moddle.create(`${prefix}:Property`, { + return bpmnInstances().moddle.create(`${prefix}:Property`, { id: fp.id, value: fp.value }) }) - Field.properties = window.bpmnInstances.moddle.create(`${this.prefix}:Properties`, { + Field.properties = bpmnInstances().moddle.create(`${prefix}:Properties`, { values: fieldPropertyList }) } // 构建校验规则 if (fieldConstraintsList.value && fieldConstraintsList.value.length) { const fieldConstraintList = fieldConstraintsList.value.map((fc) => { - return window.bpmnInstances.moddle.create(`${prefix}:Constraint`, { + return bpmnInstances().moddle.create(`${prefix}:Constraint`, { name: fc.name, config: fc.config }) }) - Field.validation = window.bpmnInstances.moddle.create(`${prefix}:Validation`, { + Field.validation = bpmnInstances().moddle.create(`${prefix}:Validation`, { constraints: fieldConstraintList }) } // 构建枚举值 if (fieldEnumList.value && fieldEnumList.value.length) { Field.values = fieldEnumList.value.map((fe) => { - return window.bpmnInstances.moddle.create(`${prefix}:Value`, { name: fe.name, id: fe.id }) + return bpmnInstances().moddle.create(`${prefix}:Value`, { name: fe.name, id: fe.id }) }) } // 更新数组 与 表单配置实例 @@ -421,11 +422,11 @@ const removeField = (field, index) => { const updateElementExtensions = () => { // 更新回扩展元素 - const newElExtensionElements = window.bpmnInstances.moddle.create(`bpmn:ExtensionElements`, { + const newElExtensionElements = bpmnInstances().moddle.create(`bpmn:ExtensionElements`, { values: otherExtensions.value.concat(formData.value) }) // 更新到元素上 - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnELement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnELement.value), { extensionElements: newElExtensionElements }) } diff --git a/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue b/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue index 0c29e6ff..5c2db5af 100644 --- a/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue +++ b/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue @@ -266,9 +266,10 @@ const otherExtensionList = ref() const bpmnElementListeners = ref() const listenerFormRef = ref() const listenerFieldFormRef = ref() +const bpmnInstances = () => (window as any)?.bpmnInstances const resetListenersList = () => { - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement otherExtensionList.value = [] bpmnElementListeners.value = bpmnElement.value.businessObject?.extensionElements?.values?.filter( diff --git a/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue b/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue index 7746ca86..e4201b52 100644 --- a/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue +++ b/src/components/bpmnProcessDesigner/package/penal/listeners/UserTaskListeners.vue @@ -313,13 +313,14 @@ const bpmnElementListeners = ref() const otherExtensionList = ref() const listenerFormRef = ref() const listenerFieldFormRef = ref() +const bpmnInstances = () => (window as any)?.bpmnInstances const resetListenersList = () => { console.log( - window.bpmnInstances.bpmnElement, + bpmnInstances().bpmnElement, 'window.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElementwindow.bpmnInstances.bpmnElement' ) - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement otherExtensionList.value = [] bpmnElementListeners.value = bpmnElement.value.businessObject?.extensionElements?.values.filter( diff --git a/src/components/bpmnProcessDesigner/package/penal/multi-instance/ElementMultiInstance.vue b/src/components/bpmnProcessDesigner/package/penal/multi-instance/ElementMultiInstance.vue index 6d0229bb..962234d5 100644 --- a/src/components/bpmnProcessDesigner/package/penal/multi-instance/ElementMultiInstance.vue +++ b/src/components/bpmnProcessDesigner/package/penal/multi-instance/ElementMultiInstance.vue @@ -87,6 +87,7 @@ const defaultLoopInstanceForm = ref({ const loopInstanceForm = ref<any>({}) const bpmnElement = ref(null) const multiLoopInstance = ref(null) +const bpmnInstances = () => (window as any)?.bpmnInstances const getElementLoop = (businessObject) => { if (!businessObject.loopCharacteristics) { @@ -112,7 +113,7 @@ const getElementLoop = (businessObject) => { loopCardinality: businessObject.loopCharacteristics?.loopCardinality?.body ?? '' } // 保留当前元素 businessObject 上的 loopCharacteristics 实例 - multiLoopInstance.value = window.bpmnInstances.bpmnElement.businessObject.loopCharacteristics + multiLoopInstance.value = bpmnInstances().bpmnElement.businessObject.loopCharacteristics // 更新表单 if ( businessObject.loopCharacteristics.extensionElements && @@ -127,17 +128,17 @@ const changeLoopCharacteristicsType = (type) => { // this.loopInstanceForm = { ...this.defaultLoopInstanceForm }; // 切换类型取消原表单配置 // 取消多实例配置 if (type === 'Null') { - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { loopCharacteristics: null }) return } // 配置循环 if (type === 'StandardLoop') { - const loopCharacteristicsObject = window.bpmnInstances.moddle.create( + const loopCharacteristicsObject = bpmnInstances().moddle.create( 'bpmn:StandardLoopCharacteristics' ) - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { loopCharacteristics: loopCharacteristicsObject }) multiLoopInstance.value = null @@ -145,17 +146,17 @@ const changeLoopCharacteristicsType = (type) => { } // 时序 if (type === 'SequentialMultiInstance') { - multiLoopInstance.value = window.bpmnInstances.moddle.create( + multiLoopInstance.value = bpmnInstances().moddle.create( 'bpmn:MultiInstanceLoopCharacteristics', { isSequential: true } ) } else { - multiLoopInstance.value = window.bpmnInstances.moddle.create( + multiLoopInstance.value = bpmnInstances().moddle.create( 'bpmn:MultiInstanceLoopCharacteristics', { collection: '${coll_userList}' } ) } - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { loopCharacteristics: toRaw(multiLoopInstance.value) }) } @@ -163,11 +164,11 @@ const changeLoopCharacteristicsType = (type) => { const updateLoopCardinality = (cardinality) => { let loopCardinality = null if (cardinality && cardinality.length) { - loopCardinality = window.bpmnInstances.moddle.create('bpmn:FormalExpression', { + loopCardinality = bpmnInstances().moddle.create('bpmn:FormalExpression', { body: cardinality }) } - window.bpmnInstances.modeling.updateModdleProperties( + bpmnInstances().modeling.updateModdleProperties( toRaw(bpmnElement.value), multiLoopInstance.value, { @@ -179,11 +180,11 @@ const updateLoopCardinality = (cardinality) => { const updateLoopCondition = (condition) => { let completionCondition = null if (condition && condition.length) { - completionCondition = window.bpmnInstances.moddle.create('bpmn:FormalExpression', { + completionCondition = bpmnInstances().moddle.create('bpmn:FormalExpression', { body: condition }) } - window.bpmnInstances.modeling.updateModdleProperties( + bpmnInstances().modeling.updateModdleProperties( toRaw(bpmnElement.value), multiLoopInstance.value, { @@ -193,14 +194,14 @@ const updateLoopCondition = (condition) => { } // 重试周期 const updateLoopTimeCycle = (timeCycle) => { - const extensionElements = window.bpmnInstances.moddle.create('bpmn:ExtensionElements', { + const extensionElements = bpmnInstances().moddle.create('bpmn:ExtensionElements', { values: [ - window.bpmnInstances.moddle.create(`${prefix}:FailedJobRetryTimeCycle`, { + bpmnInstances().moddle.create(`${prefix}:FailedJobRetryTimeCycle`, { body: timeCycle }) ] }) - window.bpmnInstances.modeling.updateModdleProperties( + bpmnInstances().modeling.updateModdleProperties( toRaw(bpmnElement.value), multiLoopInstance.value, { @@ -210,7 +211,7 @@ const updateLoopTimeCycle = (timeCycle) => { } // 直接更新的基础信息 const updateLoopBase = () => { - window.bpmnInstances.modeling.updateModdleProperties( + bpmnInstances().modeling.updateModdleProperties( toRaw(bpmnElement.value), multiLoopInstance.value, { @@ -230,7 +231,7 @@ const updateLoopAsync = (key) => { } else { asyncAttr[key] = loopInstanceForm.value[key] } - window.bpmnInstances.modeling.updateModdleProperties( + bpmnInstances().modeling.updateModdleProperties( toRaw(bpmnElement.value), multiLoopInstance.value, asyncAttr @@ -245,7 +246,7 @@ onBeforeUnmount(() => { watch( () => props.businessObject, (val) => { - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement getElementLoop(val) }, { immediate: true } diff --git a/src/components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue b/src/components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue index fe2d004d..2c55481c 100644 --- a/src/components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue +++ b/src/components/bpmnProcessDesigner/package/penal/other/ElementOtherConfig.vue @@ -22,13 +22,14 @@ const props = defineProps({ }) const documentation = ref('') const bpmnElement = ref() +const bpmnInstances = () => (window as any).bpmnInstances const updateDocumentation = () => { ;(bpmnElement.value && bpmnElement.value.id === props.id) || - (bpmnElement.value = (window as any).bpmnInstances.elementRegistry.get(props.id)) - const documentations = window.bpmnInstances.bpmnFactory.create('bpmn:Documentation', { + (bpmnElement.value = bpmnInstances().elementRegistry.get(props.id)) + const documentations = bpmnInstances().bpmnFactory.create('bpmn:Documentation', { text: documentation.value }) - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { documentation: [documentations] }) } @@ -41,7 +42,7 @@ watch( (id) => { if (id && id.length) { nextTick(() => { - const documentations = window.bpmnInstances.bpmnElement.businessObject?.documentation + const documentations = bpmnInstances().bpmnElement.businessObject?.documentation documentation.value = documentations && documentations.length ? documentations[0].text : '' }) } else { diff --git a/src/components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue b/src/components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue index 388c363f..f1670ffb 100644 --- a/src/components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue +++ b/src/components/bpmnProcessDesigner/package/penal/properties/ElementProperties.vue @@ -70,10 +70,11 @@ const otherExtensionList = ref() const bpmnElementProperties = ref() const bpmnElementPropertyList = ref() const attributeFormRef = ref() +const bpmnInstances = () => (window as any)?.bpmnInstances const resetAttributesList = () => { console.log(window, 'windowwindowwindowwindowwindowwindowwindow') - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement otherExtensionList.value = [] // 其他扩展配置 bpmnElementProperties.value = // bpmnElement.value.businessObject?.extensionElements?.filter((ex) => { @@ -110,7 +111,7 @@ const removeAttributes = (attr, index) => { elementPropertyList.value.splice(index, 1) bpmnElementPropertyList.value.splice(index, 1) // 新建一个属性字段的保存列表 - const propertiesObject = window.bpmnInstances.moddle.create(`${prefix}:Properties`, { + const propertiesObject = bpmnInstances().moddle.create(`${prefix}:Properties`, { values: bpmnElementPropertyList.value }) updateElementExtensions(propertiesObject) @@ -122,7 +123,7 @@ const saveAttribute = () => { console.log(propertyForm.value, 'propertyForm.value') const { name, value } = propertyForm.value if (editingPropertyIndex.value !== -1) { - window.bpmnInstances.modeling.updateModdleProperties( + bpmnInstances().modeling.updateModdleProperties( toRaw(bpmnElement.value), toRaw(bpmnElementPropertyList.value)[toRaw(editingPropertyIndex.value)], { @@ -132,12 +133,12 @@ const saveAttribute = () => { ) } else { // 新建属性字段 - const newPropertyObject = window.bpmnInstances.moddle.create(`${prefix}:Property`, { + const newPropertyObject = bpmnInstances().moddle.create(`${prefix}:Property`, { name, value }) // 新建一个属性字段的保存列表 - const propertiesObject = window.bpmnInstances.moddle.create(`${prefix}:Properties`, { + const propertiesObject = bpmnInstances().moddle.create(`${prefix}:Properties`, { values: bpmnElementPropertyList.value.concat([newPropertyObject]) }) updateElementExtensions(propertiesObject) @@ -146,10 +147,10 @@ const saveAttribute = () => { resetAttributesList() } const updateElementExtensions = (properties) => { - const extensions = window.bpmnInstances.moddle.create('bpmn:ExtensionElements', { + const extensions = bpmnInstances().moddle.create('bpmn:ExtensionElements', { values: otherExtensionList.value.concat([properties]) }) - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { extensionElements: extensions }) } diff --git a/src/components/bpmnProcessDesigner/package/penal/signal-message/SignalAndMessage.vue b/src/components/bpmnProcessDesigner/package/penal/signal-message/SignalAndMessage.vue index 285b3411..e2c406db 100644 --- a/src/components/bpmnProcessDesigner/package/penal/signal-message/SignalAndMessage.vue +++ b/src/components/bpmnProcessDesigner/package/penal/signal-message/SignalAndMessage.vue @@ -62,10 +62,11 @@ const modelConfig = computed(() => { return { title: '创建信号', idLabel: '信号ID', nameLabel: '信号名称' } } }) +const bpmnInstances = () => (window as any)?.bpmnInstances const initDataList = () => { console.log(window, 'window') - rootElements.value = window.bpmnInstances.modeler.getDefinitions().rootElements + rootElements.value = bpmnInstances().modeler.getDefinitions().rootElements messageIdMap.value = {} signalIdMap.value = {} messageList.value = [] @@ -91,13 +92,13 @@ const addNewObject = () => { if (messageIdMap.value[modelObjectForm.value.id]) { message.error('该消息已存在,请修改id后重新保存') } - const messageRef = window.bpmnInstances.moddle.create('bpmn:Message', modelObjectForm.value) + const messageRef = bpmnInstances().moddle.create('bpmn:Message', modelObjectForm.value) rootElements.value.push(messageRef) } else { if (signalIdMap.value[modelObjectForm.value.id]) { message.error('该信号已存在,请修改id后重新保存') } - const signalRef = window.bpmnInstances.moddle.create('bpmn:Signal', modelObjectForm.value) + const signalRef = bpmnInstances().moddle.create('bpmn:Signal', modelObjectForm.value) rootElements.value.push(signalRef) } modelVisible.value = false diff --git a/src/components/bpmnProcessDesigner/package/penal/task/ElementTask.vue b/src/components/bpmnProcessDesigner/package/penal/task/ElementTask.vue index 939116ab..23e750a1 100644 --- a/src/components/bpmnProcessDesigner/package/penal/task/ElementTask.vue +++ b/src/components/bpmnProcessDesigner/package/penal/task/ElementTask.vue @@ -45,11 +45,12 @@ const installedComponent = ref({ }) const bpmnElement = ref() +const bpmnInstances = () => (window as any).bpmnInstances const changeTaskAsync = () => { if (!taskConfigForm.value.asyncBefore && !taskConfigForm.value.asyncAfter) { taskConfigForm.value.exclusive = false } - window.bpmnInstances.modeling.updateProperties(window.bpmnInstances.bpmnElement, { + bpmnInstances().modeling.updateProperties(bpmnInstances().bpmnElement, { ...taskConfigForm.value }) } @@ -57,7 +58,7 @@ const changeTaskAsync = () => { watch( () => props.id, () => { - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement taskConfigForm.value.asyncBefore = bpmnElement.value?.businessObject?.asyncBefore taskConfigForm.value.asyncAfter = bpmnElement.value?.businessObject?.asyncAfter taskConfigForm.value.exclusive = bpmnElement.value?.businessObject?.exclusive diff --git a/src/components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue b/src/components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue index d8e1b4af..63db1c75 100644 --- a/src/components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue +++ b/src/components/bpmnProcessDesigner/package/penal/task/task-components/ReceiveTask.vue @@ -64,8 +64,9 @@ const bpmnElement = ref<any>() const bpmnMessageRefsMap = ref<any>() const bpmnRootElements = ref<any>() +const bpmnInstances = () => (window as any).bpmnInstances const getBindMessage = () => { - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement bindMessageId.value = bpmnElement.value.businessObject?.messageRef?.id || '-1' } const openMessageModel = () => { @@ -77,7 +78,7 @@ const createNewMessage = () => { message.error('该消息已存在,请修改id后重新保存') return } - const newMessage = window.bpmnInstances.moddle.create('bpmn:Message', newMessageForm.value) + const newMessage = bpmnInstances().moddle.create('bpmn:Message', newMessageForm.value) bpmnRootElements.value.push(newMessage) messageMap.value[newMessageForm.value.id] = newMessageForm.value.name bpmnMessageRefsMap.value[newMessageForm.value.id] = newMessage @@ -85,11 +86,11 @@ const createNewMessage = () => { } const updateTaskMessage = (messageId) => { if (messageId === '-1') { - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { messageRef: null }) } else { - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), { + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), { messageRef: bpmnMessageRefsMap.value[messageId] }) } @@ -97,7 +98,7 @@ const updateTaskMessage = (messageId) => { onMounted(() => { bpmnMessageRefsMap.value = Object.create(null) - bpmnRootElements.value = window.bpmnInstances.modeler.getDefinitions().rootElements + bpmnRootElements.value = bpmnInstances().modeler.getDefinitions().rootElements bpmnRootElements.value .filter((el) => el.$type === 'bpmn:Message') .forEach((m) => { @@ -113,7 +114,7 @@ onBeforeUnmount(() => { watch( () => props.id, () => { - // bpmnElement.value = window.bpmnInstances.bpmnElement + // bpmnElement.value = bpmnInstances().bpmnElement nextTick(() => { getBindMessage() }) diff --git a/src/components/bpmnProcessDesigner/package/penal/task/task-components/ScriptTask.vue b/src/components/bpmnProcessDesigner/package/penal/task/task-components/ScriptTask.vue index ba3e6edf..bacdec0e 100644 --- a/src/components/bpmnProcessDesigner/package/penal/task/task-components/ScriptTask.vue +++ b/src/components/bpmnProcessDesigner/package/penal/task/task-components/ScriptTask.vue @@ -58,6 +58,8 @@ const defaultTaskForm = ref({ const scriptTaskForm = ref<any>({}) const bpmnElement = ref() +const bpmnInstances = () => (window as any)?.bpmnInstances + const resetTaskForm = () => { for (let key in defaultTaskForm.value) { let value = bpmnElement.value?.businessObject[key] || defaultTaskForm.value[key] @@ -76,7 +78,7 @@ const updateElementTask = () => { taskAttr.resource = scriptTaskForm.value.resource || null taskAttr.script = null } - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), taskAttr) + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), taskAttr) } onBeforeUnmount(() => { @@ -86,7 +88,7 @@ onBeforeUnmount(() => { watch( () => props.id, () => { - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement nextTick(() => { resetTaskForm() }) diff --git a/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue b/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue index 118fa71b..725335eb 100644 --- a/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue +++ b/src/components/bpmnProcessDesigner/package/penal/task/task-components/UserTask.vue @@ -53,6 +53,8 @@ const defaultTaskForm = ref({ const userTaskForm = ref<any>({}) // const mockData=ref([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) const bpmnElement = ref() +const bpmnInstances = () => (window as any)?.bpmnInstances + const resetTaskForm = () => { for (let key in defaultTaskForm.value) { let value @@ -76,13 +78,13 @@ const updateElementTask = (key) => { } else { taskAttr[key] = userTaskForm.value[key] || null } - window.bpmnInstances.modeling.updateProperties(toRaw(bpmnElement.value), taskAttr) + bpmnInstances().modeling.updateProperties(toRaw(bpmnElement.value), taskAttr) } watch( () => props.id, () => { - bpmnElement.value = window.bpmnInstances.bpmnElement + bpmnElement.value = bpmnInstances().bpmnElement nextTick(() => { resetTaskForm() }) diff --git a/src/components/bpmnProcessDesigner/package/utils.ts b/src/components/bpmnProcessDesigner/package/utils.ts index 41f06801..bb6c5d52 100644 --- a/src/components/bpmnProcessDesigner/package/utils.ts +++ b/src/components/bpmnProcessDesigner/package/utils.ts @@ -1,4 +1,5 @@ import { toRaw } from 'vue' +const bpmnInstances = () => (window as any)?.bpmnInstances // 创建监听器实例 export function createListenerObject(options, isTask, prefix) { const listenerObj = Object.create(null) @@ -25,16 +26,16 @@ export function createListenerObject(options, isTask, prefix) { } // 任务监听器的 定时器 设置 if (isTask && options.event === 'timeout' && !!options.eventDefinitionType) { - const timeDefinition = window.bpmnInstances.moddle.create('bpmn:FormalExpression', { + const timeDefinition = bpmnInstances().moddle.create('bpmn:FormalExpression', { body: options.eventTimeDefinitions }) - const TimerEventDefinition = window.bpmnInstances.moddle.create('bpmn:TimerEventDefinition', { + const TimerEventDefinition = bpmnInstances().moddle.create('bpmn:TimerEventDefinition', { id: `TimerEventDefinition_${uuid(8)}`, [`time${options.eventDefinitionType.replace(/^\S/, (s) => s.toUpperCase())}`]: timeDefinition }) listenerObj.eventDefinitions = [TimerEventDefinition] } - return window.bpmnInstances.moddle.create( + return bpmnInstances().moddle.create( `${prefix}:${isTask ? 'TaskListener' : 'ExecutionListener'}`, listenerObj ) @@ -44,7 +45,7 @@ export function createListenerObject(options, isTask, prefix) { export function createFieldObject(option, prefix) { const { name, fieldType, string, expression } = option const fieldConfig = fieldType === 'string' ? { name, string } : { name, expression } - return window.bpmnInstances.moddle.create(`${prefix}:Field`, fieldConfig) + return bpmnInstances().moddle.create(`${prefix}:Field`, fieldConfig) } // 创建脚本实例 @@ -52,21 +53,21 @@ export function createScriptObject(options, prefix) { const { scriptType, scriptFormat, value, resource } = options const scriptConfig = scriptType === 'inlineScript' ? { scriptFormat, value } : { scriptFormat, resource } - return window.bpmnInstances.moddle.create(`${prefix}:Script`, scriptConfig) + return bpmnInstances().moddle.create(`${prefix}:Script`, scriptConfig) } // 更新元素扩展属性 export function updateElementExtensions(element, extensionList) { - const extensions = window.bpmnInstances.moddle.create('bpmn:ExtensionElements', { + const extensions = bpmnInstances().moddle.create('bpmn:ExtensionElements', { values: extensionList }) - window.bpmnInstances.modeling.updateProperties(toRaw(element), { + bpmnInstances().modeling.updateProperties(toRaw(element), { extensionElements: extensions }) } // 创建一个id -export function uuid(length = 8, chars) { +export function uuid(length = 8, chars?) { let result = '' const charsString = chars || '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' for (let i = length; i > 0; --i) { diff --git a/src/hooks/web/useI18n.ts b/src/hooks/web/useI18n.ts index 8b6e7650..d1ab70fa 100644 --- a/src/hooks/web/useI18n.ts +++ b/src/hooks/web/useI18n.ts @@ -41,6 +41,7 @@ export const useI18n = ( const tFn: I18nGlobalTranslation = (key: string, ...arg: any[]) => { if (!key) return '' if (!key.includes('.') && !namespace) return key + //@ts-ignore return t(getKey(namespace, key), ...(arg as I18nTranslationRestParameters)) } return { diff --git a/src/hooks/web/useTimeAgo.ts b/src/hooks/web/useTimeAgo.ts index 08f5d1e6..a6da2819 100644 --- a/src/hooks/web/useTimeAgo.ts +++ b/src/hooks/web/useTimeAgo.ts @@ -5,6 +5,7 @@ const TIME_AGO_MESSAGE_MAP: { 'zh-CN': UseTimeAgoMessages en: UseTimeAgoMessages } = { + // @ts-ignore 'zh-CN': { justNow: '刚刚', past: (n) => (n.match(/\d/) ? `${n}前` : n), @@ -17,6 +18,7 @@ const TIME_AGO_MESSAGE_MAP: { minute: (n) => `${n} 分钟`, second: (n) => `${n} 秒` }, + // @ts-ignore en: { justNow: 'just now', past: (n) => (n.match(/\d/) ? `${n} ago` : n), diff --git a/src/types/auto-components.d.ts b/src/types/auto-components.d.ts index 990f55cc..cbf6d856 100644 --- a/src/types/auto-components.d.ts +++ b/src/types/auto-components.d.ts @@ -21,6 +21,7 @@ declare module '@vue/runtime-core' { DictTag: typeof import('./../components/DictTag/src/DictTag.vue')['default'] Echart: typeof import('./../components/Echart/src/Echart.vue')['default'] Editor: typeof import('./../components/Editor/src/Editor.vue')['default'] + ElAvatar: typeof import('element-plus/es')['ElAvatar'] ElBadge: typeof import('element-plus/es')['ElBadge'] ElButton: typeof import('element-plus/es')['ElButton'] ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup'] @@ -49,6 +50,7 @@ declare module '@vue/runtime-core' { ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElIcon: typeof import('element-plus/es')['ElIcon'] + ElImage: typeof import('element-plus/es')['ElImage'] ElImageViewer: typeof import('element-plus/es')['ElImageViewer'] ElInput: typeof import('element-plus/es')['ElInput'] ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] @@ -63,13 +65,15 @@ declare module '@vue/runtime-core' { ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] ElSelect: typeof import('element-plus/es')['ElSelect'] ElSkeleton: typeof import('element-plus/es')['ElSkeleton'] + ElSpace: typeof import('element-plus/es')['ElSpace'] ElSwitch: typeof import('element-plus/es')['ElSwitch'] ElTable: typeof import('element-plus/es')['ElTable'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] - ElTableV2: typeof import('element-plus/es')['ElTableV2'] ElTabPane: typeof import('element-plus/es')['ElTabPane'] ElTabs: typeof import('element-plus/es')['ElTabs'] ElTag: typeof import('element-plus/es')['ElTag'] + ElTimeline: typeof import('element-plus/es')['ElTimeline'] + ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElTransfer: typeof import('element-plus/es')['ElTransfer'] ElTree: typeof import('element-plus/es')['ElTree'] diff --git a/src/types/auto-imports.d.ts b/src/types/auto-imports.d.ts index 714d6be2..bd749b8e 100644 --- a/src/types/auto-imports.d.ts +++ b/src/types/auto-imports.d.ts @@ -1,4 +1,7 @@ -// Generated by 'unplugin-auto-import' +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// Generated by unplugin-auto-import export {} declare global { const DICT_TYPE: typeof import('@/utils/dict')['DICT_TYPE'] diff --git a/src/views/bpm/model/modelEditor.vue b/src/views/bpm/model/modelEditor.vue index b5a41344..43836976 100644 --- a/src/views/bpm/model/modelEditor.vue +++ b/src/views/bpm/model/modelEditor.vue @@ -108,7 +108,7 @@ const initModeler = (item) => { const save = (bpmnXml) => { const data: ModelVO = { - ...model.value, + ...(model.value ?? ({} as ModelVO)), bpmnXml: bpmnXml // bpmnXml 只是初始化流程图,后续修改无法通过它获得 } console.log(data, 'data') diff --git a/src/views/bpm/processInstance/detail.vue b/src/views/bpm/processInstance/detail.vue index 7bd89deb..59d993e4 100644 --- a/src/views/bpm/processInstance/detail.vue +++ b/src/views/bpm/processInstance/detail.vue @@ -406,7 +406,7 @@ const getDetail = () => { nextTick().then(() => { fApi.value?.btn.show(false) fApi.value?.resetBtn.show(false) - fApi.value?.disabled(true) + fApi.value?.btn.disabled(true) }) } diff --git a/src/views/system/notify/my/index.vue b/src/views/system/notify/my/index.vue index 620a7430..9f3e9b10 100644 --- a/src/views/system/notify/my/index.vue +++ b/src/views/system/notify/my/index.vue @@ -35,7 +35,7 @@ const [registerTable, { reload, getCheckboxRecords }] = useXTable({ }) const handleUpdateList = async () => { - const list = getCheckboxRecords() + const list = getCheckboxRecords() as any as any[] if (list.length === 0) { return }