|
@@ -125,6 +125,7 @@
|
|
|
<t-input
|
|
|
v-model="addDataDialog.data.key"
|
|
|
placeholder="关键字"
|
|
|
+ @blur="onKeyBlur"
|
|
|
:disabled="!!addDataDialog.data.keywords"
|
|
|
/>
|
|
|
</div>
|
|
@@ -136,7 +137,7 @@
|
|
|
v-model="addDataDialog.data.type"
|
|
|
placeholder="字符串"
|
|
|
:disabled="!!addDataDialog.data.keywords"
|
|
|
- @change="addDataDialog.data.value = null"
|
|
|
+ @change="onKeyBlur"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="form-item mt-16">
|
|
@@ -428,6 +429,7 @@ import axios from 'axios';
|
|
|
import { debounce } from '@/services/debouce';
|
|
|
import { getPenTree, typeOptions } from '@/services/common';
|
|
|
import { updatePen } from './pen';
|
|
|
+import { getter, setter } from '@meta2d/core/src/utils/object';
|
|
|
|
|
|
import CodeEditor from '@/views/components/common/CodeEditor.vue';
|
|
|
import Actions from './Actions.vue';
|
|
@@ -621,6 +623,17 @@ const addRealTime = (e: any) => {
|
|
|
addDataDialog.show = true;
|
|
|
};
|
|
|
|
|
|
+const onKeyBlur = () => {
|
|
|
+ if (addDataDialog.data) {
|
|
|
+ let value = getter(props.pen, addDataDialog.data.key);
|
|
|
+ if (value) {
|
|
|
+ setter(addDataDialog.data, 'value', value);
|
|
|
+ } else {
|
|
|
+ addDataDialog.data.value = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
const onChangeLabel = () => {
|
|
|
if (!addDataDialog.data.key) {
|
|
|
addDataDialog.data.key = addDataDialog.data.label;
|
|
@@ -648,6 +661,7 @@ const onConfirmData = () => {
|
|
|
}
|
|
|
|
|
|
meta2d.penMock(props.pen);
|
|
|
+ meta2d.render();
|
|
|
|
|
|
addDataDialog.show = false;
|
|
|
};
|
|
@@ -656,6 +670,7 @@ const onMenuMore = (e: any, item: any, i: number) => {
|
|
|
switch (e.value) {
|
|
|
case 'edit':
|
|
|
addDataDialog.header = '编辑动态数据';
|
|
|
+ setter(item, 'value', getter(props.pen, item.key));
|
|
|
addDataDialog.data = item;
|
|
|
addDataDialog.show = true;
|
|
|
break;
|
|
@@ -735,6 +750,8 @@ const onSelectBindsChange = (value: string[], options: any) => {
|
|
|
|
|
|
dataBindDialog.selectedIds = value;
|
|
|
dataBindDialog.data.binds = toRaw(options.selectedRowData[0]);
|
|
|
+ doBindInit();
|
|
|
+ //
|
|
|
} else if (options.type === 'uncheck') {
|
|
|
// if (options.currentRowKey === 'CHECK_ALL_BOX') {
|
|
|
// for (const data of dataBindDialog.dataSet) {
|
|
@@ -758,6 +775,25 @@ const onSelectBindsChange = (value: string[], options: any) => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+const doBindInit = () => {
|
|
|
+ let { key } = dataBindDialog.data;
|
|
|
+ if (props.pen.name === 'echarts' && key.includes('echarts.option.series')) {
|
|
|
+ const { replaceMode } = props.pen.echarts;
|
|
|
+ const { xAxis } = props.pen.echarts.option;
|
|
|
+
|
|
|
+ let beforeV = getter(props.pen, key);
|
|
|
+ if (Array.isArray(beforeV) && replaceMode === 0) {
|
|
|
+ //追加
|
|
|
+ setter(props.pen, key, []);
|
|
|
+ let _key = 'echarts.option.xAxis.data';
|
|
|
+ if (Array.isArray(xAxis) && xAxis.length) {
|
|
|
+ _key = 'echarts.option.xAxis.0.data';
|
|
|
+ }
|
|
|
+ setter(props.pen, _key, []);
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
const dataBindonConfirm = () => {
|
|
|
dataBindDialog.show = false;
|
|
|
meta2d.initBinds();
|