export const handlerLayerWidget = (val, getToolByCode) => { const layerWidgetArr = []; for (let i = 0; i < val.length; i++) { const obj = {}; obj.icon = getToolByCode(val[i].type).icon; const options = val[i].options["setup"]; options.forEach(el => { if (el.name == "layerName") { obj.label = el.value; } }); layerWidgetArr.push(obj); } return layerWidgetArr; } export const handleBigScreen = (data, getToolByCode, callBcak) => { console.log('aa', getToolByCode("screen")) const optionScreen = getToolByCode("screen").options; const setup = optionScreen.setup; for (const key in data) { for (let i = 0; i < setup.length; i++) { if (key == setup[i].name) { setup[i].value = data[key]; } } } callBcak(); return { backgroundColor: (data && data.backgroundColor) || "", backgroundImage: (data && data.backgroundImage) || "", height: (data && data.height) || "1080", title: (data && data.title) || "", width: (data && data.width) || "1920" }; } export const handleInitEchartsData = (data, getToolByCode) => { const widgets = data.dashboard ? data.dashboard.widgets : []; const widgetsData = []; for (let i = 0; i < widgets.length; i++) { let obj = {}; obj.type = widgets[i].type; obj.value = { setup: widgets[i].value.setup, data: widgets[i].value.data, position: widgets[i].value.position }; const tool = deepClone(getToolByCode(widgets[i].type)) const option = tool.options; const options = handleOptionsData(widgets[i].value, option); obj.options = options; widgetsData.push(obj); } return widgetsData; } export const handleOptionsData = (data, option) => { for (const key in data.setup) { for (let i = 0; i < option.setup.length; i++) { let item = option.setup[i]; if (Object.prototype.toString.call(item) == "[object Object]") { if (key == option.setup[i].name) { option.setup[i].value = data.setup[key]; } } else if (Object.prototype.toString.call(item) == "[object Array]") { for (let j = 0; j < item.length; j++) { const list = item[j].list; list.forEach(el => { if (key == el.name) { el.value = data.setup[key]; } }); } } } } // position for (const key in data.position) { for (let i = 0; i < option.position.length; i++) { if (key == option.position[i].name) { option.position[i].value = data.position[key]; } } } // data for (const key in data.data) { for (let i = 0; i < option.data.length; i++) { if (key == option.data[i].name) { option.data[i].value = data.data[key]; } } } return option; } // 在缩放模式下的大小 export const getPXUnderScale = (bigscreenScaleInWorkbench, px) => { return bigscreenScaleInWorkbench * px; } // 对组件默认值处理 export const handleDefaultValue = (widgetJson) => { for (const key in widgetJson) { if (key == "options") { // collapse、data、position、setup // setup 处理 for (let i = 0; i < widgetJson.options.setup.length; i++) { const item = widgetJson.options.setup[i]; if (Object.prototype.toString.call(item) == "[object Object]") { widgetJson.value.setup[item.name] = item.value; } else if ( Object.prototype.toString.call(item) == "[object Array]" ) { for (let j = 0; j < item.length; j++) { const list = item[j].list; list.forEach(el => { widgetJson.value.setup[el.name] = el.value; }); } } } // position for (let i = 0; i < widgetJson.options.position.length; i++) { const item = widgetJson.options.position[i]; if (item.value) { widgetJson.value.position[item.name] = item.value; } } // data 处理 if (widgetJson.options.data && widgetJson.options.data.length > 0) { for (let i = 0; i < widgetJson.options.data.length; i++) { const item = widgetJson.options.data[i]; if (item.value) { widgetJson.value.data[item.name] = item.value; } } } } } return widgetJson; } // 设置默认 export const setDefaultValue = (options, val) => { for (let i = 0; i < options.length; i++) { if (Object.prototype.toString.call(options[i]) == "[object Object]") { for (const k in val) { if (options[i].name == k) { options[i].value = val[k]; } } } else if ( Object.prototype.toString.call(options[i]) == "[object Array]" ) { for (let j = 0; j < options[i].length; j++) { const list = options[i][j].list; for (let z = 0; z < list.length; z++) { for (const k in val) { if (list[z].name == k) { list[z].value = val[k]; } } } } } } } // 数组 元素互换位置 export const swapArr = (arr, oldIndex, newIndex) => { arr[oldIndex] = arr.splice(newIndex, 1, arr[oldIndex])[0]; return arr; } export const deepClone = (obj) => { return JSON.parse(JSON.stringify(obj)) }