diff --git a/src/mixins/common.js b/src/mixins/common.js index 6c4c64e..cf1d913 100644 --- a/src/mixins/common.js +++ b/src/mixins/common.js @@ -181,7 +181,7 @@ export default { }, // 对象深拷贝 - deepClone(data) { + deepClone(data,dd) { let type = this.getObjectType(data) let obj if (type === 'array') { diff --git a/src/views/bigscreenDesigner/designer/components/drillDrownSetting.vue b/src/views/bigscreenDesigner/designer/components/drillDrownSetting.vue new file mode 100644 index 0000000..ad3e135 --- /dev/null +++ b/src/views/bigscreenDesigner/designer/components/drillDrownSetting.vue @@ -0,0 +1,1418 @@ + + + + + + diff --git a/src/views/bigscreenDesigner/designer/components/dynamicForm.vue b/src/views/bigscreenDesigner/designer/components/dynamicForm.vue index 0d4c9b2..70a4f76 100644 --- a/src/views/bigscreenDesigner/designer/components/dynamicForm.vue +++ b/src/views/bigscreenDesigner/designer/components/dynamicForm.vue @@ -13,8 +13,10 @@ 确 定 - + + + + + import ColorPicker from "./colorPicker.vue"; import vueJsonEditor from "vue-json-editor"; + import "codemirror/lib/codemirror.css"; // 核心样式 import "codemirror/theme/cobalt.css"; // 引入主题后还需要在 options 中指定主题才会生效 // language @@ -354,7 +366,7 @@ import componentLinkage from './componentLinkage'; import imageSelect from './imageSelect'; import multiIframeManager from './multiIframeManager.vue'; export default { - name: "DynamicForm", + name: "dynamic-form", components: { imageSelect, ColorPicker, @@ -390,6 +402,10 @@ export default { widgetIndex: { type: Number, default: -1 + }, + hideDrill:{ + type: Boolean, + default:false, } }, data() { @@ -399,6 +415,8 @@ export default { dialogVisibleStaticData: false, methodsVisible: false, validationRules: "", + + optionsJavascript: { mode: "text/javascript", tabSize: 2, // 缩进格式 @@ -416,6 +434,7 @@ export default { value(newValue, oldValue) { this.formData = newValue || {}; }, + options(val) { this.setDefaultValue(); this.isShowData(); @@ -427,6 +446,12 @@ export default { }, mounted() {}, methods: { + handleCollapse(){ + this.$emit('handleCollapse',this.formData) + }, + changeDrillData(val){ + this.changed(val, 'drill_drown_setting') + }, onJsonChange(val) { console.log(val); }, @@ -442,7 +467,6 @@ export default { } else { this.$set(this.formData, key, val); } - this.$emit("onChanged", this.formData); // key为当前用户操作的表单组件 for (let i = 0; i < this.options.length; i++) { @@ -465,6 +489,7 @@ export default { handleClose() { this.dialogVisibleStaticData = false; this.methodsVisible = false; + }, // 组件属性 数据是否展示动态还是静态数据 isShowData() { @@ -480,8 +505,9 @@ export default { } } data.forEach((el) => { - if (el.relactiveDomValue != currentData.value) { + if (el.relactiveDomValue != currentData.value&&el.name!=='drill_drown_setting') { this.inputShow[el.name] = false; + console.log(el.name) } }); }, @@ -494,6 +520,9 @@ export default { this.formData[this.options[i].name] = this.deepClone( this.options[i].value ); + if(this.options[i].name=="is_drill_drown"&&this.formData[this.options[i].name]){ + this.inputShow['drill_drown_setting']=true + } } else if (Object.prototype.toString.call(obj) == "[object Array]") { for (let j = 0; j < obj.length; j++) { const list = obj[j].list; @@ -515,6 +544,12 @@ export default { diff --git a/src/views/bigscreenDesigner/designer/index.vue b/src/views/bigscreenDesigner/designer/index.vue index c00963b..c897ae7 100644 --- a/src/views/bigscreenDesigner/designer/index.vue +++ b/src/views/bigscreenDesigner/designer/index.vue @@ -310,11 +310,12 @@ label="配置" > @@ -342,7 +343,15 @@ - + + + + { if (el.name == "layerName") { @@ -596,6 +619,7 @@ export default { options: tool.options, }; // 处理默认值 + console.log(widgetType) const widgetJsonValue = this.getWidgetConfigValue(widgetJson); widgetJsonValue.value.position.left = @@ -618,7 +642,6 @@ export default { widgetJson.value.position ); this.setWidgetConfigValue(widgetJson.options.data, widgetJson.value.data); - return widgetJson; }, setWidgetConfigValue(config, configValue) { diff --git a/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js b/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js index 245f1d0..68812a4 100644 --- a/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js +++ b/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-image.js @@ -70,6 +70,24 @@ export const widgetImage = { required: false, placeholder: '', }, + { + type: 'el-switch', + label: '开启下钻', + name: 'is_drill_drown', + required: false, + placeholder: '', + value: false, + }, + { + type: 'el-collapse', + label: '下钻配置', + name: 'drill_drown_setting', + relactiveDom:'is_drill_drown', + relactiveDomValue:true, + required: false, + placeholder: '', + value:'' + }, ], // 数据 data: [], diff --git a/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js b/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js index 0bf0040..adf544d 100644 --- a/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js +++ b/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-text.js @@ -150,6 +150,24 @@ export const widgetText = { placeholder: '', value: false, }, + { + type: 'el-switch', + label: '开启下钻', + name: 'is_drill_drown', + required: false, + placeholder: '', + value: false, + }, + { + type: 'el-collapse', + label: '下钻配置', + name: 'drill_drown_setting', + relactiveDom:'is_drill_drown', + relactiveDomValue:true, + required: false, + placeholder: '', + value:'' + }, [ { name: '自定义样式设置', diff --git a/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime old.vue b/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime old.vue new file mode 100644 index 0000000..4c4c679 --- /dev/null +++ b/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime old.vue @@ -0,0 +1,179 @@ + + + + diff --git a/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime.vue b/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime.vue index 4c4c679..3a971a0 100644 --- a/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime.vue +++ b/src/views/bigscreenDesigner/designer/widget/form/widgetFormTime.vue @@ -5,14 +5,26 @@ * @LastEditTime: 2023-04-20 13:54:57 --> diff --git a/src/views/bigscreenDesigner/designer/widget/temp.vue b/src/views/bigscreenDesigner/designer/widget/temp.vue index 5291764..c45d2d7 100644 --- a/src/views/bigscreenDesigner/designer/widget/temp.vue +++ b/src/views/bigscreenDesigner/designer/widget/temp.vue @@ -5,6 +5,7 @@ :value="value" :ispreview="true" :widget-index="index" + @oepnTheDrillView="$emit('oepnTheDrillView',$event)" /> @@ -58,7 +59,6 @@ import widgetChinaMap from "./map/widgetChinaMap.vue"; import widgetGlobalMap from "./map/widgetGlobalMap.vue"; import widgetBarStackMoreShowChart from "./bar/widgetBarStackMoreShowChart.vue"; import widgetBarLineSingleChart from "./barline/widgetBarLineSingleChart.vue"; - export default { name: "WidgetTemp", components: { diff --git a/src/views/bigscreenDesigner/designer/widget/texts/widgetImage.vue b/src/views/bigscreenDesigner/designer/widget/texts/widgetImage.vue index 16794c4..781d1fa 100644 --- a/src/views/bigscreenDesigner/designer/widget/texts/widgetImage.vue +++ b/src/views/bigscreenDesigner/designer/widget/texts/widgetImage.vue @@ -1,5 +1,5 @@