qianlishi 2 years ago
parent 0a4eb5fa14
commit c6fe59094e

@ -1,8 +1,8 @@
/* /*
* @Author: chengsl * @Author: chengsl
* @Date: 2023-02-24 09:40:13 * @Date: 2023-02-24 09:40:13
* @LastEditors: chengsl * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2023-02-24 13:12:24 * @LastEditTime: 2023-03-24 14:01:08
* @Description: 各联动组件的参数配置 参数paramsKey的值具体封装时再改 * @Description: 各联动组件的参数配置 参数paramsKey的值具体封装时再改
*/ */
import { eventBus as bus } from "@/utils/eventBus"; import { eventBus as bus } from "@/utils/eventBus";
@ -52,6 +52,7 @@ export const originWidgetLinkageLogic = function(self, isActiveClick = false, bu
if (self.optionsSetup.componentLinkage && self.optionsSetup.componentLinkage.length) { if (self.optionsSetup.componentLinkage && self.optionsSetup.componentLinkage.length) {
if (isActiveClick) { // 主动触发 if (isActiveClick) { // 主动触发
self.allComponentLinkage[self.widgetIndex].linkageArr.forEach(item => { self.allComponentLinkage[self.widgetIndex].linkageArr.forEach(item => {
console.log(item)
console.log(`bus_${item.originId}_${item.targetId}`, ' -联动逻辑点击-发送消息', buttonConfig) console.log(`bus_${item.originId}_${item.targetId}`, ' -联动逻辑点击-发送消息', buttonConfig)
bus.$emit(`bus_${item.originId}_${item.targetId}`, buttonConfig.currentData) bus.$emit(`bus_${item.originId}_${item.targetId}`, buttonConfig.currentData)
}) })
@ -61,6 +62,7 @@ export const originWidgetLinkageLogic = function(self, isActiveClick = false, bu
console.log(`bus_${item.originId}_${item.targetId}`, ' -联动逻辑点击-发送消息', params) console.log(`bus_${item.originId}_${item.targetId}`, ' -联动逻辑点击-发送消息', params)
let message = {} let message = {}
const widgetConfigTemp = getOneConfigByCode(self.value.widgetCode) const widgetConfigTemp = getOneConfigByCode(self.value.widgetCode)
console.log('widgetConfigTemp', widgetConfigTemp)
if (widgetConfigTemp && widgetConfigTemp.paramsKey.length) { // 动态加载各组件的参数来封装 if (widgetConfigTemp && widgetConfigTemp.paramsKey.length) { // 动态加载各组件的参数来封装
widgetConfigTemp.paramsKey.forEach(key => { widgetConfigTemp.paramsKey.forEach(key => {
message[key] = params[key] message[key] = params[key]

@ -18,14 +18,6 @@ export const widgetFormTime = {
placeholder: '', placeholder: '',
value: '时间筛选器', value: '时间筛选器',
}, },
{
type: 'el-input-text',
label: '字段属性值',
name: 'field',
required: false,
placeholder: '请输入',
value: '',
},
{ {
type: 'vue-color', type: 'vue-color',
label: '字体颜色', label: '字体颜色',
@ -54,7 +46,19 @@ export const widgetFormTime = {
{ code: 'focus', name: 'focus' }, { code: 'focus', name: 'focus' },
], ],
value: 'change', value: 'change',
},
[{
name: '组件联动',
list: [
{
type: 'componentLinkage',
label: '',
name: 'componentLinkage',
required: false,
value: []
} }
]
}]
], ],
data: [ data: [
{ {

@ -14,14 +14,6 @@ export const widgetInput = {
placeholder: '', placeholder: '',
value: '输入框', value: '输入框',
}, },
{
type: 'el-input-text',
label: '字段属性值',
name: 'field',
required: false,
placeholder: '请输入',
value: '',
},
{ {
type: 'vue-color', type: 'vue-color',
label: '字体颜色', label: '字体颜色',

@ -22,14 +22,6 @@ export const widgetSelect = {
placeholder: '', placeholder: '',
value: '下拉框', value: '下拉框',
}, },
{
type: 'el-input-text',
label: '字段属性值',
name: 'field',
required: false,
placeholder: '请输入',
value: '',
},
{ {
type: 'vue-color', type: 'vue-color',
label: '字体颜色', label: '字体颜色',

@ -4,7 +4,7 @@
* @Author: qianlishi * @Author: qianlishi
* @Date: 2021-08-29 07:46:46 * @Date: 2021-08-29 07:46:46
* @LastEditors: qianlishi qianlishi@anji-plus.com * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2023-03-06 16:03:17 * @LastEditTime: 2023-04-19 09:22:37
*/ */
import { widgetText } from "./configure/texts/widget-text" import { widgetText } from "./configure/texts/widget-text"
@ -39,7 +39,7 @@ import { widgetHeatmap } from "./configure/heatmap/widget-heatmap";
import { widgetRadar } from "./configure/radarCharts/widget-radar"; import { widgetRadar } from "./configure/radarCharts/widget-radar";
import { widgetBarLineStack } from "./configure/barlineCharts/widget-bar-line-stack"; import { widgetBarLineStack } from "./configure/barlineCharts/widget-bar-line-stack";
import { widgetSelect } from "./configure/form/widget-select"; import { widgetSelect } from "./configure/form/widget-select";
import { widgetInput } from "./configure/form/widget-input"; // import { widgetInput } from "./configure/form/widget-input";
import { widgetFormTime } from "./configure/form/widget-form-time"; import { widgetFormTime } from "./configure/form/widget-form-time";
import { widgetScaleVertical } from "./configure/scaleCharts/widget-scale-vertical"; import { widgetScaleVertical } from "./configure/scaleCharts/widget-scale-vertical";
import { widgetScaleHorizontal } from "./configure/scaleCharts/widget-scale-horizontal" import { widgetScaleHorizontal } from "./configure/scaleCharts/widget-scale-horizontal"
@ -80,6 +80,6 @@ export const widgetTool = [
widgetScaleVertical, widgetScaleVertical,
widgetScaleHorizontal, widgetScaleHorizontal,
widgetSelect, widgetSelect,
widgetInput, // widgetInput,
widgetFormTime widgetFormTime
] ]

@ -5,7 +5,10 @@
</template> </template>
<script> <script>
import { originWidgetLinkageLogic, targetWidgetLinkageLogic } from '@/views/bigscreenDesigner/designer/linkageLogic' import {
originWidgetLinkageLogic,
targetWidgetLinkageLogic,
} from "@/views/bigscreenDesigner/designer/linkageLogic";
export default { export default {
name: "WidgetBarchart", name: "WidgetBarchart",
components: {}, components: {},
@ -14,7 +17,7 @@ export default {
ispreview: Boolean, ispreview: Boolean,
widgetIndex: { widgetIndex: {
type: Number, type: Number,
default: 0 default: 0,
}, // widgetInWorkbench }, // widgetInWorkbench
}, },
data() { data() {
@ -75,8 +78,8 @@ export default {
}; };
}, },
allComponentLinkage() { allComponentLinkage() {
return this.$store.state.designer.allComponentLinkage return this.$store.state.designer.allComponentLinkage;
} },
}, },
watch: { watch: {
value: { value: {
@ -96,9 +99,8 @@ export default {
this.optionsCollapse = this.value.setup; this.optionsCollapse = this.value.setup;
this.optionsSetup = this.value.setup; this.optionsSetup = this.value.setup;
this.editorOptions(); this.editorOptions();
targetWidgetLinkageLogic(this) // - targetWidgetLinkageLogic(this); // -
originWidgetLinkageLogic(this) // - originWidgetLinkageLogic(this); // -
}, },
methods: { methods: {
// options // options
@ -307,16 +309,20 @@ export default {
const optionsSetup = this.optionsSetup; const optionsSetup = this.optionsSetup;
const optionsData = this.optionsData; // or const optionsData = this.optionsData; // or
// //
optionsData.dynamicData = optionsData.dynamicData || {} // dynamicData undefined optionsData.dynamicData = optionsData.dynamicData || {}; // dynamicData undefined
const myDynamicData = optionsData.dynamicData const myDynamicData = optionsData.dynamicData;
clearInterval(this.flagInter) // clearInterval(this.flagInter); //
if (e && optionsData.dataType !== 'staticData' && Object.keys(myDynamicData.contextData).length) { if (
const keyArr = Object.keys(myDynamicData.contextData) e &&
paramsConfig.forEach(conf => { optionsData.dataType !== "staticData" &&
Object.keys(myDynamicData.contextData).length
) {
const keyArr = Object.keys(myDynamicData.contextData);
paramsConfig.forEach((conf) => {
if (keyArr.includes(conf.targetKey)) { if (keyArr.includes(conf.targetKey)) {
myDynamicData.contextData[conf.targetKey] = e[conf.originKey] myDynamicData.contextData[conf.targetKey] = e[conf.originKey];
} }
}) });
} }
// //
optionsData.dataType == "staticData" optionsData.dataType == "staticData"

@ -2,19 +2,18 @@
* @Author: qianlishi qianlishi@anji-plus.com * @Author: qianlishi qianlishi@anji-plus.com
* @Date: 2023-03-06 15:38:10 * @Date: 2023-03-06 15:38:10
* @LastEditors: qianlishi qianlishi@anji-plus.com * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2023-03-06 16:11:21 * @LastEditTime: 2023-04-20 13:54:57
--> -->
<template> <template>
<el-date-picker <el-date-picker
:style="styleObj" :style="styleObj"
v-model="timeValue" v-model="timeValue"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange" type="daterange"
@[eventChange]="change" @[eventChange]="change"
/> />
</template> </template>
<script> <script>
import { eventBus } from "@/utils/eventBus";
export default { export default {
name: "WidgetSelect", name: "WidgetSelect",
props: { props: {
@ -64,11 +63,15 @@ export default {
}, },
methods: { methods: {
change(event) { change(event) {
console.log(event);
const optionsSetup = this.optionsSetup; const optionsSetup = this.optionsSetup;
const params = {}; const params = {};
params[optionsSetup.field] = event; params[optionsSetup.field] = event;
params["assChart"] = optionsSetup.assChart; params["assChart"] = optionsSetup.assChart;
eventBus.$emit("eventParams", params); console.log(event);
// console.log(params)
const optionsData = this.optionsData;
console.log(optionsData);
}, },
setOptions() { setOptions() {
const optionsData = this.optionsData; const optionsData = this.optionsData;

@ -6,17 +6,23 @@
:localOptions="options" :localOptions="options"
label="label" label="label"
option="value" option="value"
@[eventChange]="change" @[eventChange]="(val, item) => change(val, item)"
/> />
</template> </template>
<script> <script>
import { eventBus } from "@/utils/eventBus"; import {
originWidgetLinkageLogic,
targetWidgetLinkageLogic,
} from "@/views/bigscreenDesigner/designer/linkageLogic";
export default { export default {
name: "WidgetSelect", name: "WidgetSelect",
props: { props: {
value: Object, value: Object,
ispreview: Boolean, ispreview: Boolean,
widgetIndex: {
type: Number,
default: 0,
},
}, },
data() { data() {
return { return {
@ -43,6 +49,9 @@ export default {
eventChange() { eventChange() {
return this.optionsSetup.event || "change"; return this.optionsSetup.event || "change";
}, },
allComponentLinkage() {
return this.$store.state.designer.allComponentLinkage;
},
}, },
watch: { watch: {
value: { value: {
@ -60,14 +69,15 @@ export default {
this.optionsData = this.value.data; this.optionsData = this.value.data;
this.optionsStyle = this.value.position; this.optionsStyle = this.value.position;
this.setOptions(); this.setOptions();
targetWidgetLinkageLogic(this); // -
}, },
methods: { methods: {
change(event) { change(event, item) {
const optionsSetup = this.optionsSetup; console.log(item);
const params = {}; originWidgetLinkageLogic(this, true, {
params[optionsSetup.field] = event; currentData: item,
params["assChart"] = optionsSetup.assChart; }); // -
eventBus.$emit("eventParams", params);
}, },
setOptions() { setOptions() {
const optionsData = this.optionsData; const optionsData = this.optionsData;

@ -304,6 +304,9 @@ export default {
}, },
// //
setOptionsData(e, paramsConfig) { setOptionsData(e, paramsConfig) {
console.log("ces", e);
console.log("ces", paramsConfig);
const optionsData = this.optionsData; // or const optionsData = this.optionsData; // or
optionsData.dynamicData = optionsData.dynamicData || {}; // dynamicData undefined optionsData.dynamicData = optionsData.dynamicData || {}; // dynamicData undefined
const myDynamicData = optionsData.dynamicData; const myDynamicData = optionsData.dynamicData;
@ -320,6 +323,7 @@ export default {
} }
}); });
} }
console.log(myDynamicData);
optionsData.dataType == "staticData" optionsData.dataType == "staticData"
? this.staticDataFn(optionsData.staticData) ? this.staticDataFn(optionsData.staticData)
: this.dynamicDataFn(optionsData.dynamicData, optionsData.refreshTime); : this.dynamicDataFn(optionsData.dynamicData, optionsData.refreshTime);

Loading…
Cancel
Save