修复轮播图编辑器
This commit is contained in:
		| @@ -294,6 +294,7 @@ export default { | ||||
|     }, | ||||
|     currLayout: { | ||||
|       set(v) { | ||||
|         console.log(v) | ||||
|         this.componentList.splice(this.activeIndex, 1, v) | ||||
|       }, | ||||
|       get() { | ||||
| @@ -351,7 +352,7 @@ export default { | ||||
|       this.form.images = [] | ||||
|       this.isShowAddImg = false | ||||
|     }, | ||||
|  | ||||
|     //置顶图层 | ||||
|     setTop() { | ||||
|       const maxZindex = Math.max.apply(Math, this.componentList.map(item => { | ||||
|         return item.zIndex | ||||
| @@ -359,7 +360,7 @@ export default { | ||||
|  | ||||
|       this.$set(this.componentList[this.activeIndex], 'zIndex', maxZindex + 1) | ||||
|     }, | ||||
|  | ||||
|     //置底图层 | ||||
|     setBottom() { | ||||
|       const item = this.componentList[this.activeIndex] | ||||
|       this.componentList.splice(this.activeIndex, 1) | ||||
| @@ -404,6 +405,7 @@ export default { | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     //从资产中新建时使用 | ||||
|     clone(e) { | ||||
|       this.componentList.push(this.deepClone(e)) | ||||
|     }, | ||||
| @@ -456,12 +458,12 @@ export default { | ||||
|  | ||||
|       e.preventDefault() | ||||
|     }, | ||||
|  | ||||
|     //复制图层功能 | ||||
|     copyLayer() { | ||||
|       const layer = this.deepClone(this.componentList[this.activeIndex]) | ||||
|       this.componentList.push(layer) | ||||
|     }, | ||||
|  | ||||
|     //删除图层功能 | ||||
|     removeLayer() { | ||||
|       this.componentList.splice(this.activeIndex, 1) | ||||
|       this.activeIndex = -1 | ||||
|   | ||||
| @@ -37,7 +37,7 @@ | ||||
|           <chart-picker v-model="chart.chart"/> | ||||
|         </config-item> | ||||
|         <datasource-picker v-model="chart.ds" :instance="instance" | ||||
|                            @input="chart={...chart,...chart.ds},$emit('change')"/> | ||||
|                            @input="chart={...chart,...chart.ds},$emit('change',options)"/> | ||||
|         <config-item label="数据维度" v-if="chart.dataType !== 'staticData'"> | ||||
|           <code-editor v-model="chart.djson" lang="json" theme="github" width="100%" height="100" | ||||
|                        placeholder="参照echarts配置数据维度,为一个数组,数组的第一个值为维度值" | ||||
| @@ -54,7 +54,7 @@ | ||||
|     </div> | ||||
|     <div class="layout-config__group" v-else> | ||||
|       <h2>基础设置</h2> | ||||
|       <datasource-picker v-model="options" :instance="instance" @input="$emit('change')"/> | ||||
|       <datasource-picker :options="options" :instance="instance" @input="v=>$emit('change',v)"/> | ||||
|     </div> | ||||
|     <div v-if="options.dataType!='staticData'&&options.type=='monitor'&&['cmcc','slw'].includes(options.monitorType)" | ||||
|          class="layout-config__group"> | ||||
| @@ -154,6 +154,7 @@ export default { | ||||
|       list: [], | ||||
|       showMapEditor: false, | ||||
|       form: {}, | ||||
|       datasource:{} | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
|   | ||||
| @@ -1,22 +1,22 @@ | ||||
| <template> | ||||
|   <section class="datasourcePicker"> | ||||
|     <config-item label="数据类型"> | ||||
|       <ai-select v-model="options.dataType" placeholder="请选择数据类型" :select-list="dataTypes"/> | ||||
|       <ai-select v-model="source.dataType" placeholder="请选择数据类型" :select-list="dataTypes"/> | ||||
|     </config-item> | ||||
|     <div class="codeEditor" v-if="['htmlData','staticData'].includes(options.dataType)"> | ||||
|     <div class="codeEditor" v-if="['htmlData','staticData'].includes(source.dataType)"> | ||||
|       <ai-dialog-btn :modal="false" dialog-title="编辑器" :customFooter="false" | ||||
|                      @confirm="changeData" @open="content=contentstr"> | ||||
|                      @confirm="changeData(JSON.parse(content))" @open="content=contentstr"> | ||||
|         <code-editor slot="btn" readonly :value="contentstr" :lang="dataLang" theme="github" width="100%" height="250"/> | ||||
|         <code-editor v-model="content" :lang="dataLang" theme="github" width="100%" height="440" wrap/> | ||||
|       </ai-dialog-btn> | ||||
|     </div> | ||||
|     <config-item v-else-if="options.dataType === 'dynamicData'" label="数据源"> | ||||
|       <ai-select v-model="options.sourceDataId" placeholder="请选择数据源" :instance="instance" | ||||
|     <config-item v-else-if="source.dataType === 'dynamicData'" label="数据源"> | ||||
|       <ai-select v-model="source.sourceDataId" placeholder="请选择数据源" :instance="instance" | ||||
|                  :prop="{label:'description'}" @change="changeData" | ||||
|                  action="/app/appdiylargescreen/allDatasourceByPage"/> | ||||
|     </config-item> | ||||
|     <config-item label="接口地址" v-else-if="options.dataType === 'apiData'"> | ||||
|       <el-input size="small" v-model="options.api" @change="changeData" placeholder="请输入数据接口URL"/> | ||||
|     <config-item label="接口地址" v-else-if="source.dataType === 'apiData'"> | ||||
|       <el-input size="small" v-model="source.api" @change="changeData" placeholder="请输入数据接口URL"/> | ||||
|     </config-item> | ||||
|   </section> | ||||
| </template> | ||||
| @@ -45,22 +45,28 @@ export default { | ||||
|     return { | ||||
|       dataTypes: Object.entries(DvCompData.types).map(e => ({id: e[0], label: e[1]})), | ||||
|       content: "", | ||||
|       sourceData: [] | ||||
|       loading: false | ||||
|     } | ||||
|   }, | ||||
|   computed: { | ||||
|     contentstr: v => JSON.stringify(v.options.staticData), | ||||
|     dataLang: v => v.options.dataType == 'htmlData' ? 'html' : 'json' | ||||
|     dataLang: v => v.options.dataType == 'htmlData' ? 'html' : 'json', | ||||
|     source: { | ||||
|       set(v) { | ||||
|         console.log(v) | ||||
|         this.$emit("input", v) | ||||
|       }, | ||||
|       get() { | ||||
|         return this.options | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     updateOptions() { | ||||
|       this.$emit("input", this.options) | ||||
|     }, | ||||
|     changeData() { | ||||
|       new DvCompData(this.options.dataType, this.options, this.instance).getData().then(data => { | ||||
|         this.options[this.options.dataType] = data | ||||
|         this.updateOptions() | ||||
|       }) | ||||
|     changeData(sdata) { | ||||
|       this.source.dataType == 'staticData' ? this.source.staticData = sdata : | ||||
|           new DvCompData(this.source.dataType, this.source, this.instance).getData().then(data => { | ||||
|             this.source[this.source.dataType] = data | ||||
|           }) | ||||
|     } | ||||
|   }, | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user