滚动文本新增支持动态数据

qianming 3 years ago
parent d4bd6ffa02
commit a13086bdd7

@ -144,7 +144,6 @@ const widgetTools = [
value: 'center' value: 'center'
}, },
], ],
// 数据 // 数据
data: [ data: [
{ {
@ -194,7 +193,7 @@ const widgetTools = [
relactiveDomValue: 'dynamicData', relactiveDomValue: 'dynamicData',
chartType: 'widget-text', chartType: 'widget-text',
value: '', value: '',
}, }
], ],
// 坐标 // 坐标
@ -304,37 +303,66 @@ const widgetTools = [
], ],
value: 'normal' value: 'normal'
}, },
{ /* {
type: 'el-select', type: 'el-input-number',
label: '对齐方式', label: '滚动速度',
name: 'textAlign', name: 'marqueeQuit',
required: false, required: false,
placeholder: '', placeholder: '',
value: '1',
}*/
],
// 数据
data: [
{
type: 'el-radio-group',
label: '数据类型',
name: 'dataType',
require: false,
placeholder: '',
selectValue: true,
selectOptions: [ selectOptions: [
{code: 'center', name: '居中'}, {
{code: 'left', name: '左对齐'}, code: 'staticData',
{code: 'right', name: '右对齐'}, name: '静态数据',
},
{
code: 'dynamicData',
name: '动态数据',
},
], ],
value: 'center' value: 'staticData',
}, },
{ {
type: 'el-switch', type: 'el-input-number',
label: '开启滚动', label: '刷新时间(毫秒)',
name: 'marqueeSet', name: 'refreshTime',
required: false, relactiveDom: 'dataType',
placeholder: '', relactiveDomValue: 'dynamicData',
value: true, value: 5000
}, },
{ {
type: 'el-input-text', type: 'el-button',
label: '滚动速度', label: '静态数据',
name: 'marqueeQuit', name: 'staticData',
required: false, required: false,
placeholder: '', placeholder: 'px',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: '文本框',
}, },
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: 'px',
relactiveDom: 'dataType',
relactiveDomValue: 'dynamicData',
chartType: 'widget-text',
value: '',
}
], ],
// 数据
data: [],
// 坐标 // 坐标
position: [ position: [
{ {

@ -474,9 +474,7 @@ export default {
getEchartData(val) { getEchartData(val) {
const data = this.queryEchartsData(val); const data = this.queryEchartsData(val);
data.then(res => { data.then(res => {
this.options.title.text = '{nums|' + res[0].value + '}{percent|%}' this.options.title.text = '{nums|' + res[0].value + '}{percent|%}';
//this.$forceUpdate();
console.log(res[0].value)
}); });
} }
} }

@ -49,14 +49,49 @@ export default {
value: { value: {
handler(val) { handler(val) {
this.options = val this.options = val
this.optionsData = val.data
this.setOptionsData()
}, },
deep: true, deep: true,
}, },
}, },
mounted() { mounted() {
this.options = this.value this.options = this.value
this.optionsData = this.value.data
this.setOptionsData()
},
methods: {
//
setOptionsData() {
const optionsData = this.optionsData; // or
optionsData.dataType == "staticData"
? this.staticDataFn(optionsData.staticData)
: this.dynamicDataFn(
optionsData.dynamicData,
optionsData.refreshTime
);
},
staticDataFn(val) {
},
dynamicDataFn(val, refreshTime) {
if (!val) return;
if (this.ispreview) {
this.getEchartData(val);
this.flagInter = setInterval(() => {
this.getEchartData(val);
}, refreshTime);
} else {
this.getEchartData(val);
}
},
getEchartData(val) {
const data = this.queryEchartsData(val);
data.then(res => {
this.styleColor.text = res[0].value
this.$forceUpdate();
});
}
}, },
methods: {},
} }
</script> </script>

@ -89,7 +89,7 @@ export default {
this.styleColor.text = res[0].value this.styleColor.text = res[0].value
this.$forceUpdate(); this.$forceUpdate();
}); });
}, }
} }
}; };
</script> </script>

Loading…
Cancel
Save