Commit 3b9fe770361f9082e4df3a20a4457c4c9057a65d
1 parent
2be0ea5f
高亮
Showing
3 changed files
with
27 additions
and
21 deletions
yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/designer/ProcessDesigner.vue
| @@ -183,18 +183,26 @@ | @@ -183,18 +183,26 @@ | ||
| 183 | <!-- <div id="js-properties-panel" class="panel"></div> --> | 183 | <!-- <div id="js-properties-panel" class="panel"></div> --> |
| 184 | <!-- <div class="my-process-designer__canvas" ref="bpmn-canvas"></div> --> | 184 | <!-- <div class="my-process-designer__canvas" ref="bpmn-canvas"></div> --> |
| 185 | </div> | 185 | </div> |
| 186 | - <el-dialog | 186 | + <XModal |
| 187 | title="预览" | 187 | title="预览" |
| 188 | width="80%" | 188 | width="80%" |
| 189 | + height="90%" | ||
| 189 | v-model="previewModelVisible" | 190 | v-model="previewModelVisible" |
| 190 | append-to-body | 191 | append-to-body |
| 191 | destroy-on-close | 192 | destroy-on-close |
| 192 | > | 193 | > |
| 193 | - <pre> | ||
| 194 | - <!-- <code class="hljs" v-html="highlightedCode(previewType, previewResult)"></code> --> | ||
| 195 | - {{ previewResult }} | ||
| 196 | - </pre> | ||
| 197 | - </el-dialog> | 194 | + <div v-highlight> |
| 195 | + <pre> | ||
| 196 | + <code> | ||
| 197 | + <!-- 高亮代码块 --> | ||
| 198 | + {{ previewResult }} | ||
| 199 | + </code> | ||
| 200 | + </pre> | ||
| 201 | + </div> | ||
| 202 | + <!-- <pre> | ||
| 203 | + <code class="hljs" v-html="highlightedCode(previewType, previewResult)"></code> | ||
| 204 | + </pre> --> | ||
| 205 | + </XModal> | ||
| 198 | </div> | 206 | </div> |
| 199 | </template> | 207 | </template> |
| 200 | 208 | ||
| @@ -204,7 +212,7 @@ | @@ -204,7 +212,7 @@ | ||
| 204 | // import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css' | 212 | // import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css' |
| 205 | // import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css' | 213 | // import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css' |
| 206 | // import 'bpmn-js-properties-panel/dist/assets/bpmn-js-properties-panel.css' // 右侧框样式 | 214 | // import 'bpmn-js-properties-panel/dist/assets/bpmn-js-properties-panel.css' // 右侧框样式 |
| 207 | -import { ElTooltip, ElButtonGroup, ElDialog, ElButton, ElMessage, ElMessageBox } from 'element-plus' | 215 | +import { ElTooltip, ElButtonGroup, ElButton, ElMessage, ElMessageBox } from 'element-plus' |
| 208 | import { computed, onBeforeMount, onBeforeUnmount, onMounted, provide, ref } from 'vue' | 216 | import { computed, onBeforeMount, onBeforeUnmount, onMounted, provide, ref } from 'vue' |
| 209 | import BpmnModeler from 'bpmn-js/lib/Modeler' | 217 | import BpmnModeler from 'bpmn-js/lib/Modeler' |
| 210 | import DefaultEmptyXML from './plugins/defaultEmpty' | 218 | import DefaultEmptyXML from './plugins/defaultEmpty' |
yudao-ui-admin-vue3/src/components/bpmnProcessDesigner/package/penal/listeners/ElementListeners.vue
| @@ -246,7 +246,7 @@ | @@ -246,7 +246,7 @@ | ||
| 246 | </div> | 246 | </div> |
| 247 | </template> | 247 | </template> |
| 248 | <script setup lang="ts" name="ElementListeners"> | 248 | <script setup lang="ts" name="ElementListeners"> |
| 249 | -import { ref, inject, watch, nextTick, toRaw } from 'vue' | 249 | +import { ref, inject, watch, nextTick } from 'vue' |
| 250 | import { | 250 | import { |
| 251 | ElMessageBox, | 251 | ElMessageBox, |
| 252 | ElTable, | 252 | ElTable, |
| @@ -285,10 +285,8 @@ const listenerFormRef = ref() | @@ -285,10 +285,8 @@ const listenerFormRef = ref() | ||
| 285 | const listenerFieldFormRef = ref() | 285 | const listenerFieldFormRef = ref() |
| 286 | 286 | ||
| 287 | const resetListenersList = () => { | 287 | const resetListenersList = () => { |
| 288 | - console.log(window, 'window') | ||
| 289 | bpmnElement.value = window.bpmnInstances.bpmnElement | 288 | bpmnElement.value = window.bpmnInstances.bpmnElement |
| 290 | otherExtensionList.value = [] | 289 | otherExtensionList.value = [] |
| 291 | - console.log(bpmnElement.value, 'bpmnElement.value') | ||
| 292 | bpmnElementListeners.value = | 290 | bpmnElementListeners.value = |
| 293 | bpmnElement.value.businessObject?.extensionElements?.values?.filter( | 291 | bpmnElement.value.businessObject?.extensionElements?.values?.filter( |
| 294 | (ex) => ex.$type === `${prefix}:ExecutionListener` | 292 | (ex) => ex.$type === `${prefix}:ExecutionListener` |
| @@ -348,7 +346,6 @@ const saveListenerFiled = async () => { | @@ -348,7 +346,6 @@ const saveListenerFiled = async () => { | ||
| 348 | } | 346 | } |
| 349 | // 移除监听器字段 | 347 | // 移除监听器字段 |
| 350 | const removeListenerField = (field, index) => { | 348 | const removeListenerField = (field, index) => { |
| 351 | - console.log(field, 'field') | ||
| 352 | ElMessageBox.confirm('确认移除该字段吗?', '提示', { | 349 | ElMessageBox.confirm('确认移除该字段吗?', '提示', { |
| 353 | confirmButtonText: '确 认', | 350 | confirmButtonText: '确 认', |
| 354 | cancelButtonText: '取 消' | 351 | cancelButtonText: '取 消' |
| @@ -361,7 +358,6 @@ const removeListenerField = (field, index) => { | @@ -361,7 +358,6 @@ const removeListenerField = (field, index) => { | ||
| 361 | } | 358 | } |
| 362 | // 移除监听器 | 359 | // 移除监听器 |
| 363 | const removeListener = (listener, index) => { | 360 | const removeListener = (listener, index) => { |
| 364 | - console.log(listener, 'listener') | ||
| 365 | ElMessageBox.confirm('确认移除该监听器吗?', '提示', { | 361 | ElMessageBox.confirm('确认移除该监听器吗?', '提示', { |
| 366 | confirmButtonText: '确 认', | 362 | confirmButtonText: '确 认', |
| 367 | cancelButtonText: '取 消' | 363 | cancelButtonText: '取 消' |
| @@ -389,18 +385,10 @@ const saveListenerConfig = async () => { | @@ -389,18 +385,10 @@ const saveListenerConfig = async () => { | ||
| 389 | elementListenersList.value.splice(editingListenerIndex.value, 1, listenerForm.value) | 385 | elementListenersList.value.splice(editingListenerIndex.value, 1, listenerForm.value) |
| 390 | } | 386 | } |
| 391 | // 保存其他配置 | 387 | // 保存其他配置 |
| 392 | - console.log(bpmnElement.value, 'bpmnElement.value') | ||
| 393 | otherExtensionList.value = | 388 | otherExtensionList.value = |
| 394 | - // bpmnElement.value.businessObject?.extensionElements?.filter( | ||
| 395 | bpmnElement.value.businessObject?.extensionElements?.values?.filter( | 389 | bpmnElement.value.businessObject?.extensionElements?.values?.filter( |
| 396 | (ex) => ex.$type !== `${prefix}:ExecutionListener` | 390 | (ex) => ex.$type !== `${prefix}:ExecutionListener` |
| 397 | ) ?? [] | 391 | ) ?? [] |
| 398 | - console.log(bpmnElement.value, 'bpmnElement.value') | ||
| 399 | - console.log(toRaw(bpmnElement.value), 'toRawtoRawtoRawtoRawtoRaw') | ||
| 400 | - console.log( | ||
| 401 | - otherExtensionList.value.concat(bpmnElementListeners.value), | ||
| 402 | - 'otherExtensionList.value.concat(bpmnElementListeners.value).value' | ||
| 403 | - ) | ||
| 404 | updateElementExtensions( | 392 | updateElementExtensions( |
| 405 | bpmnElement.value, | 393 | bpmnElement.value, |
| 406 | otherExtensionList.value.concat(bpmnElementListeners.value) | 394 | otherExtensionList.value.concat(bpmnElementListeners.value) |
| @@ -413,7 +401,6 @@ const saveListenerConfig = async () => { | @@ -413,7 +401,6 @@ const saveListenerConfig = async () => { | ||
| 413 | watch( | 401 | watch( |
| 414 | () => props.id, | 402 | () => props.id, |
| 415 | (val) => { | 403 | (val) => { |
| 416 | - console.log(val, 'propsId变化') | ||
| 417 | val && | 404 | val && |
| 418 | val.length && | 405 | val.length && |
| 419 | nextTick(() => { | 406 | nextTick(() => { |
yudao-ui-admin-vue3/src/main.ts
| @@ -49,6 +49,9 @@ import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css' | @@ -49,6 +49,9 @@ import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css' | ||
| 49 | import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css' | 49 | import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css' |
| 50 | import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css' | 50 | import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css' |
| 51 | 51 | ||
| 52 | +import hljs from 'highlight.js' //导入代码高亮文件 | ||
| 53 | +import 'highlight.js/styles/github-gist.css' //导入代码高亮样式 | ||
| 54 | + | ||
| 52 | // 本地开发模式 全局引入 element-plus 样式,加快第一次进入速度 | 55 | // 本地开发模式 全局引入 element-plus 样式,加快第一次进入速度 |
| 53 | if (isDevMode()) { | 56 | if (isDevMode()) { |
| 54 | console.info(isDevMode()) | 57 | console.info(isDevMode()) |
| @@ -59,6 +62,14 @@ if (isDevMode()) { | @@ -59,6 +62,14 @@ if (isDevMode()) { | ||
| 59 | const setupAll = async () => { | 62 | const setupAll = async () => { |
| 60 | const app = createApp(App) | 63 | const app = createApp(App) |
| 61 | 64 | ||
| 65 | + //自定义一个代码高亮指令 | ||
| 66 | + app.directive('highlight', function (el) { | ||
| 67 | + const blocks = el.querySelectorAll('code') | ||
| 68 | + blocks.forEach((block: any) => { | ||
| 69 | + hljs.highlightBlock(block) | ||
| 70 | + }) | ||
| 71 | + }) | ||
| 72 | + | ||
| 62 | await setupI18n(app) | 73 | await setupI18n(app) |
| 63 | 74 | ||
| 64 | MyPD(app) | 75 | MyPD(app) |