/* * @Descripttion: 主文件 * @version: * @Author: qianlishi * @Date: 2021-08-29 06:43:07 * @LastEditors: qianlishi qianlishi@anji-plus.com * @LastEditTime: 2022-11-07 15:35:42 */ import { widgetTool } from "./main" const screenConfig = { code: 'screen', type: 'screen', label: '大屏设置', icon: '', options: { setup: [ { type: 'el-input-number', label: '大屏宽度', name: 'width', required: false, placeholder: 'px', value: '1920', }, { type: 'el-input-number', label: '大屏高度', name: 'height', required: false, placeholder: 'px', value: '1080', }, { type: 'el-input-text', label: '标题', name: 'title', require: false, placeholder: '', value: '大屏', }, { type: 'el-input-textarea', label: '大屏简介', name: 'description', required: false, placeholder: '', value: '' }, { type: 'data-source-select', label: '主数据源', name: 'master', required: false, placeholder: '主数据源[List:sName、sValue] ',/**LIST sName、sValue 后台代码自动转成 sName:sValue Map形式*/ value: '' }, { type: 'el-input-number', label: '刷新时间(毫秒)', name: 'refreshMasterTime', value: '600000', required: false, placeholder: '毫秒', }, { type: 'vue-color', label: '背景颜色', name: 'backgroundColor', required: false, placeholder: '', value: 'rgba(45, 86, 126, 1)', }, { type: 'custom-upload-new', label: '图片地址', name: 'backgroundImage', required: false, placeholder: '', value: '', } ], // data: [], data: [{ type: 'el-radio-group', label: '数据类型', name: 'dataType', require: false, placeholder: '', selectValue: true, selectOptions: [ { code: 'staticData', name: '静态数据', }, { code: 'dynamicData', name: '动态数据', }, ], value: 'staticData', }, { type: 'el-input-number', label: '刷新时间(毫秒)', name: 'refreshTime', relactiveDom: 'dataType', relactiveDomValue: 'dynamicData', value: 600000 }, { type: 'el-button', label: '静态数据', name: 'staticData', required: false, placeholder: '', relactiveDom: 'dataType', relactiveDomValue: 'staticData', value: {title:'标题', name: '测试名字', address: '上海市普陀区金沙江路 1518 弄0001','dProductQty':100,'dProductRate':13}, }, { type: 'dycustComponents', label: '', name: 'dynamicData', required: false, placeholder: '', relactiveDom: 'dataType', relactiveDomValue: 'dynamicData', chartType: 'master-data', dictKey: 'MASTER_PROPERTIES', value: '', } ], position: [], } } export const converArr = (data) => { let tempArr = [], newArr = [] for (let i = 0; i < data.length; i++) { const item = data[i] if (tempArr.indexOf(item.type) === -1) { newArr.push({ name: item.tabName, type: item.type, list: [item] }) tempArr.push(item.type); } else { for (let j = 0; j < newArr.length; j++) { if (newArr[j].type == item.type) { newArr[j].list.push(item) } } } } return newArr } const widgetTools = converArr([...widgetTool]) const getToolByCode = function (code) { // 获取大屏底层设置属性 if (code == 'screen') { return screenConfig } // 获取组件 return [...widgetTool].find((item) => { return item.code == code }) } export { widgetTools, getToolByCode }