diff --git a/src/api/axios.ts b/src/api/axios.ts
index bb5b0269..4c218427 100644
--- a/src/api/axios.ts
+++ b/src/api/axios.ts
@@ -1,10 +1,10 @@
import axios, { AxiosResponse, AxiosRequestConfig } from 'axios'
-import { ResultEnum } from "@/enums/httpEnum"
+import { ResultEnum, ModuleTypeEnum } from "@/enums/httpEnum"
import { PageEnum, ErrorPageNameMap } from "@/enums/pageEnum"
import { StorageEnum } from '@/enums/storageEnum'
import { axiosPre } from '@/settings/httpSetting'
import { SystemStoreEnum, SystemStoreUserInfoEnum } from '@/store/modules/systemStore/systemStore.d'
-import { redirectErrorPage, getLocalStorage, routerTurnByName, httpErrorHandle } from '@/utils'
+import { redirectErrorPage, getLocalStorage, routerTurnByName, isPreview } from '@/utils'
import { fetchAllowList } from './axios.config'
import includes from 'lodash/includes'
@@ -39,6 +39,10 @@ axiosInstance.interceptors.request.use(
// 响应拦截器
axiosInstance.interceptors.response.use(
(res: AxiosResponse) => {
+ // 预览页面错误不进行处理
+ if (isPreview()) {
+ return Promise.resolve(res.data)
+ }
const { code } = res.data as { code: number }
// 成功
diff --git a/src/components/GoUserInfo/index.vue b/src/components/GoUserInfo/index.vue
index aa01056f..c49d6bb1 100644
--- a/src/components/GoUserInfo/index.vue
+++ b/src/components/GoUserInfo/index.vue
@@ -27,7 +27,9 @@
\ No newline at end of file
+
diff --git a/src/views/chart/ContentConfigurations/components/CanvasPage/index.vue b/src/views/chart/ContentConfigurations/components/CanvasPage/index.vue
index 470ce0b6..908cc6b0 100644
--- a/src/views/chart/ContentConfigurations/components/CanvasPage/index.vue
+++ b/src/views/chart/ContentConfigurations/components/CanvasPage/index.vue
@@ -75,7 +75,7 @@
- 预览方式
+ 适配方式
{
})
}
-// 选择预览方式
+// 选择适配方式
const selectPreviewType = (key: PreviewScaleEnum) => {
chartEditStore.setEditCanvasConfig(EditCanvasConfigEnum.PREVIEW_SCALE_TYPE, key)
}
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
index 9d3654ae..9e27f94f 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataAjax/index.vue
@@ -125,7 +125,7 @@ const sendHandle = async () => {
if (!targetData.value?.request) return
loading.value = true
try {
- const res = await customizeHttp(toRaw(targetData.value.request), toRaw(chartEditStore.requestGlobalConfig))
+ const res = await customizeHttp(toRaw(targetData.value.request), toRaw(chartEditStore.getRequestGlobalConfig))
loading.value = false
if (res) {
if(!res?.data && !targetData.value.filter) window['$message'].warning('您的数据不符合默认格式,请配置过滤器!')
diff --git a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMonacoEditor/index.vue b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMonacoEditor/index.vue
index cea1e1c8..61d94101 100644
--- a/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMonacoEditor/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartData/components/ChartDataMonacoEditor/index.vue
@@ -102,12 +102,11 @@
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventMonacoEditor/importTemplate.ts b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/importTemplate.ts
similarity index 100%
rename from src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventMonacoEditor/importTemplate.ts
rename to src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/importTemplate.ts
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/index.ts b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/index.ts
new file mode 100644
index 00000000..32daaf60
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/index.ts
@@ -0,0 +1,3 @@
+import ChartEventAdvancedHandle from './index.vue'
+
+export { ChartEventAdvancedHandle }
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventMonacoEditor/index.vue b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/index.vue
similarity index 82%
rename from src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventMonacoEditor/index.vue
rename to src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/index.vue
index 1865164d..fe89c656 100644
--- a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventMonacoEditor/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventAdvancedHandle/index.vue
@@ -10,13 +10,15 @@
编辑
-
+
+ // {{ EventLifeName[eventName] }}
+
async {{ eventName }} (e, components, echarts, node_modules) {
-
+
},
@@ -30,13 +32,15 @@
高级事件编辑器(配合源码使用)
+
+
- tips: {{ EventLifeTip[editTab] }}
+ 提示: {{ EventLifeTip[editTab] }}
{{ eventName }}(e, components, echarts, node_modules) {
-
+
}
@@ -136,7 +140,7 @@
- 提示
+ 说明
通过提供的参数可为图表增加定制化的tooltip、交互事件等等
@@ -158,29 +162,27 @@ import { useTargetData } from '../../../hooks/useTargetData.hook'
import { templateList } from './importTemplate'
import { npmPkgs } from '@/hooks'
import { icon } from '@/plugins'
-import { goDialog, toString } from '@/utils'
import { CreateComponentType, EventLife } from '@/packages/index.d'
-import { Script } from 'vm'
const { targetData, chartEditStore } = useTargetData()
const { DocumentTextIcon, ChevronDownIcon, PencilIcon } = icon.ionicons5
const EventLifeName = {
- [EventLife.BEFORE_MOUNT]: '渲染之前',
- [EventLife.MOUNTED]: '渲染之后'
+ [EventLife.VNODE_BEFORE_MOUNT]: '渲染之前',
+ [EventLife.VNODE_MOUNTED]: '渲染之后'
}
const EventLifeTip = {
- [EventLife.BEFORE_MOUNT]: '此时组件 DOM 还未存在',
- [EventLife.MOUNTED]: '此时组件 DOM 已经存在'
+ [EventLife.VNODE_BEFORE_MOUNT]: '此时组件 DOM 还未存在',
+ [EventLife.VNODE_MOUNTED]: '此时组件 DOM 已经存在'
}
// 受控弹窗
const showModal = ref(false)
// 编辑区域控制
-const editTab = ref(EventLife.MOUNTED)
+const editTab = ref(EventLife.VNODE_MOUNTED)
// events 函数模板
-let events = ref({ ...targetData.value.events })
+let advancedEvents = ref({ ...targetData.value.events.advancedEvents })
// 事件错误标识
const errorFlag = ref(false)
@@ -190,7 +192,7 @@ const validEvents = () => {
let message = ''
let name = ''
- errorFlag.value = Object.entries(events.value).every(([eventName, str]) => {
+ errorFlag.value = Object.entries(advancedEvents.value).every(([eventName, str]) => {
try {
// 支持await,验证语法
const AsyncFunction = Object.getPrototypeOf(async function () {}).constructor
@@ -221,11 +223,14 @@ const saveEvents = () => {
window['$message'].error('事件函数错误,无法进行保存')
return
}
- if (Object.values(events.value).join('').trim() === '') {
+ if (Object.values(advancedEvents.value).join('').trim() === '') {
// 清空事件
- targetData.value.events = undefined
+ targetData.value.events.advancedEvents = {
+ vnodeBeforeMount: undefined,
+ vnodeMounted: undefined,
+ }
} else {
- targetData.value.events = { ...events.value }
+ targetData.value.events.advancedEvents = { ...advancedEvents.value }
}
closeEvents()
}
@@ -234,52 +239,12 @@ watch(
() => showModal.value,
(newData: boolean) => {
if (newData) {
- events.value = { ...targetData.value.events }
+ advancedEvents.value = { ...targetData.value.events.advancedEvents }
}
}
)
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventBaseHandle/index.ts b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventBaseHandle/index.ts
new file mode 100644
index 00000000..d45f2f12
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventBaseHandle/index.ts
@@ -0,0 +1,3 @@
+import ChartEventBaseHandle from './index.vue'
+
+export { ChartEventBaseHandle }
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventBaseHandle/index.vue b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventBaseHandle/index.vue
new file mode 100644
index 00000000..90151736
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventBaseHandle/index.vue
@@ -0,0 +1,215 @@
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+
+
+
+
+ // {{ EventTypeName[eventName] }}
+
+ async {{ eventName }} (mouseEvent, components) {
+
+
+
+
+
},
+
+
+
+
+
+
+
+
+
+ 基础事件编辑器
+
+
+
+
+
+
+
+
+
+ 提示: ECharts 组件会拦截鼠标事件
+
+
+
+
+ async function
+ {{ eventName }}(mouseEvent) {
+
+
+
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+ {{ error.errorFn || '暂无' }}
+
+
+ {{ error.name || '暂无' }}
+
+
+ {{ error.message || '暂无' }}
+
+
+
+
+
+
+
+
+
+
+ 鼠标事件对象
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 说明
+
+ 编写方式同正常 JavaScript 写法
+
+
+
+ 取消
+ 保存
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventMonacoEditor/index.ts b/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventMonacoEditor/index.ts
deleted file mode 100644
index b6d23e30..00000000
--- a/src/views/chart/ContentConfigurations/components/ChartEvent/components/ChartEventMonacoEditor/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import ChartEventMonacoEditor from './index.vue'
-
-export { ChartEventMonacoEditor }
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/components/index.scss b/src/views/chart/ContentConfigurations/components/ChartEvent/components/index.scss
new file mode 100644
index 00000000..8cd67cf8
--- /dev/null
+++ b/src/views/chart/ContentConfigurations/components/ChartEvent/components/index.scss
@@ -0,0 +1,51 @@
+/* 外层也要使用 */
+.func-keyword {
+ color: #b478cf;
+}
+
+.func-annotate {
+ color: #70c0e8;
+}
+
+@include go('chart-data-monaco-editor') {
+ .func-keyNameWord {
+ color: #70c0e8;
+ }
+ .tab-tip {
+ font-size: 12px;
+ }
+ &.n-card.n-modal,
+ .n-card {
+ @extend .go-background-filter;
+ }
+}
+@include deep() {
+ .n-layout,
+ .n-layout-sider {
+ background-color: transparent;
+ }
+ .collapse-show-box {
+ .n-card__content {
+ padding-left: 20px;
+ padding-right: 10px;
+ }
+ }
+ .go-editor-area {
+ max-height: 530px;
+ }
+ .checkbox--hidden:checked {
+ & + label {
+ .n-icon {
+ transition: all 0.3s;
+ transform: rotate(180deg);
+ }
+ }
+ & ~ .go-editor-area {
+ display: none;
+ }
+ }
+ // 优化代码换行
+ .n-code > pre {
+ white-space: break-spaces;
+ }
+}
diff --git a/src/views/chart/ContentConfigurations/components/ChartEvent/index.vue b/src/views/chart/ContentConfigurations/components/ChartEvent/index.vue
index a5335f5e..05e5ce4d 100644
--- a/src/views/chart/ContentConfigurations/components/ChartEvent/index.vue
+++ b/src/views/chart/ContentConfigurations/components/ChartEvent/index.vue
@@ -5,20 +5,15 @@
组件 id:
{{ targetData.id }}
-
-
- 【单击、双击、移入、移出】在开发中,即将上线!
-
- (备注:高级事件模块可自行实现上述功能)
-
-
-
+
+