大屏二级菜单

qianlishi 2 years ago
parent 1c8ebfc901
commit f8fdf4c953

@ -12,25 +12,35 @@
class="layout-left" class="layout-left"
:style="{ width: widthLeftForTools + 'px' }" :style="{ width: widthLeftForTools + 'px' }"
> >
<el-tabs type="border-card" :stretch="true"> <el-tabs class="layout-left" type="border-card" :stretch="true">
<!-- 左侧组件栏--> <!-- 左侧组件栏-->
<el-tab-pane label="工具栏"> <el-tab-pane label="工具栏">
<!-- <el-divider content-position="center">html</el-divider>--> <span slot="label"><i class="el-icon-date icon"></i>工具栏</span>
<div class="chart-type">
<el-tabs class="type-left" tab-position="left">
<el-tab-pane
v-for="(item, index) in widgetTools"
:key="index"
:label="item.name"
>
<li <li
v-for="widget in widgetTools" v-for="(it, idx) in item.list"
:key="widget.code" :key="idx"
draggable="true" draggable="true"
@dragstart="dragStart(widget.code)" @dragstart="dragStart(it.code)"
@dragend="dragEnd()" @dragend="dragEnd()"
> >
<div class="tools-item"> <div class="tools-item">
<span class="tools-item-icon"> <span class="tools-item-icon">
<i class="iconfont" :class="widget.icon"></i> <i class="iconfont" :class="it.icon"></i>
</span> </span>
<span class="tools-item-text">{{ widget.label }}</span> <span class="tools-item-text">{{ it.label }}</span>
</div> </div>
</li> </li>
</el-tab-pane> </el-tab-pane>
</el-tabs>
</div>
</el-tab-pane>
<!-- 左侧图层--> <!-- 左侧图层-->
<el-tab-pane label="图层"> <el-tab-pane label="图层">
<draggable <draggable
@ -170,7 +180,7 @@
class="workbench-container" class="workbench-container"
:style="{ :style="{
width: bigscreenWidthInWorkbench + 'px', width: bigscreenWidthInWorkbench + 'px',
height: bigscreenHeightInWorkbench + 'px' height: bigscreenHeightInWorkbench + 'px',
}" }"
@mousedown="handleMouseDown" @mousedown="handleMouseDown"
> >
@ -197,7 +207,7 @@
'background-repeat': 'initial', 'background-repeat': 'initial',
'background-attachment': 'initial', 'background-attachment': 'initial',
'background-origin': 'initial', 'background-origin': 'initial',
'background-clip': 'initial' 'background-clip': 'initial',
}" }"
@click.self="setOptionsOnClickScreen" @click.self="setOptionsOnClickScreen"
@drop="widgetOnDragged($event)" @drop="widgetOnDragged($event)"
@ -235,7 +245,7 @@
<dynamicForm <dynamicForm
ref="formData" ref="formData"
:options="widgetOptions.setup" :options="widgetOptions.setup"
@onChanged="val => widgetValueChanged('setup', val)" @onChanged="(val) => widgetValueChanged('setup', val)"
/> />
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
@ -246,7 +256,7 @@
<dynamicForm <dynamicForm
ref="formData" ref="formData"
:options="widgetOptions.data" :options="widgetOptions.data"
@onChanged="val => widgetValueChanged('data', val)" @onChanged="(val) => widgetValueChanged('data', val)"
/> />
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
@ -257,7 +267,7 @@
<dynamicForm <dynamicForm
ref="formData" ref="formData"
:options="widgetOptions.position" :options="widgetOptions.position"
@onChanged="val => widgetValueChanged('position', val)" @onChanged="(val) => widgetValueChanged('position', val)"
/> />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
@ -281,7 +291,7 @@ import {
insertDashboard, insertDashboard,
detailDashboard, detailDashboard,
importDashboard, importDashboard,
exportDashboard exportDashboard,
} from "@/api/bigscreen"; } from "@/api/bigscreen";
import { widgetTools, getToolByCode } from "./tools/index"; import { widgetTools, getToolByCode } from "./tools/index";
import widget from "./widget/widget.vue"; import widget from "./widget/widget.vue";
@ -299,7 +309,7 @@ export default {
VueRulerTool, VueRulerTool,
widget, widget,
dynamicForm, dynamicForm,
contentMenu contentMenu,
}, },
data() { data() {
return { return {
@ -330,7 +340,7 @@ export default {
backgroundImage: "", // backgroundImage: "", //
refreshSeconds: null, // refreshSeconds: null, //
presetLine: [], // 线 presetLine: [], // 线
presetLineVisible: true // 线 presetLineVisible: true, // 线
}, },
// //
screenCode: "", screenCode: "",
@ -348,12 +358,12 @@ export default {
height: 100, height: 100,
left: 0, left: 0,
top: 0, top: 0,
zIndex: 0 zIndex: 0,
} },
}, },
// optionstools // optionstools
options: [] options: [],
} },
], // ], //
// //
@ -362,16 +372,16 @@ export default {
widgetOptions: { widgetOptions: {
setup: [], // setup: [], //
data: [], // data: [], //
position: [] // position: [], //
}, },
flagWidgetClickStopPropagation: false, // click flagWidgetClickStopPropagation: false, // click
styleObj: { styleObj: {
left: 0, left: 0,
top: 0 top: 0,
}, },
visibleContentMenu: false, visibleContentMenu: false,
rightClickIndex: -1, rightClickIndex: -1,
activeName: "first" activeName: "first",
}; };
}, },
computed: { computed: {
@ -380,7 +390,7 @@ export default {
}, },
headers() { headers() {
return { return {
Authorization: getToken() // token Authorization: getToken(), // token
}; };
}, },
// //
@ -407,9 +417,7 @@ export default {
return Math.min(widthScale, heightScale); return Math.min(widthScale, heightScale);
}, },
workbenchTransform() { workbenchTransform() {
return `scale(${this.bigscreenScaleInWorkbench}, ${ return `scale(${this.bigscreenScaleInWorkbench}, ${this.bigscreenScaleInWorkbench})`;
this.bigscreenScaleInWorkbench
})`;
}, },
// //
bigscreenWidthInWorkbench() { bigscreenWidthInWorkbench() {
@ -419,7 +427,7 @@ export default {
return ( return (
this.getPXUnderScale(this.bigscreenHeight) + this.widthPaddingTools this.getPXUnderScale(this.bigscreenHeight) + this.widthPaddingTools
); );
} },
}, },
watch: { watch: {
widgets: { widgets: {
@ -430,8 +438,8 @@ export default {
this.revoke.push(this.widgets); this.revoke.push(this.widgets);
}); });
}, },
deep: true deep: true,
} },
}, },
created() { created() {
/* 以下是记录历史的 */ /* 以下是记录历史的 */
@ -476,7 +484,7 @@ export default {
const obj = {}; const obj = {};
obj.icon = getToolByCode(val[i].type).icon; obj.icon = getToolByCode(val[i].type).icon;
const options = val[i].options["setup"]; const options = val[i].options["setup"];
options.forEach(el => { options.forEach((el) => {
if (el.name == "layerName") { if (el.name == "layerName") {
obj.label = el.value; obj.label = el.value;
} }
@ -512,7 +520,7 @@ export default {
backgroundImage: (data && data.backgroundImage) || "", backgroundImage: (data && data.backgroundImage) || "",
height: (data && data.height) || "1080", height: (data && data.height) || "1080",
title: (data && data.title) || "", title: (data && data.title) || "",
width: (data && data.width) || "1920" width: (data && data.width) || "1920",
}; };
}, },
handleInitEchartsData(data) { handleInitEchartsData(data) {
@ -524,7 +532,7 @@ export default {
obj.value = { obj.value = {
setup: widgets[i].value.setup, setup: widgets[i].value.setup,
data: widgets[i].value.data, data: widgets[i].value.data,
position: widgets[i].value.position position: widgets[i].value.position,
}; };
const tool = this.deepClone(getToolByCode(widgets[i].type)); const tool = this.deepClone(getToolByCode(widgets[i].type));
const option = tool.options; const option = tool.options;
@ -545,7 +553,7 @@ export default {
} else if (Object.prototype.toString.call(item) == "[object Array]") { } else if (Object.prototype.toString.call(item) == "[object Array]") {
for (let j = 0; j < item.length; j++) { for (let j = 0; j < item.length; j++) {
const list = item[j].list; const list = item[j].list;
list.forEach(el => { list.forEach((el) => {
if (key == el.name) { if (key == el.name) {
el.value = data.setup[key]; el.value = data.setup[key];
} }
@ -585,9 +593,9 @@ export default {
width: this.dashboard.width, width: this.dashboard.width,
height: this.dashboard.height, height: this.dashboard.height,
backgroundColor: this.dashboard.backgroundColor, backgroundColor: this.dashboard.backgroundColor,
backgroundImage: this.dashboard.backgroundImage backgroundImage: this.dashboard.backgroundImage,
}, },
widgets: this.widgets widgets: this.widgets,
}; };
const { code, data } = await insertDashboard(screenData); const { code, data } = await insertDashboard(screenData);
if (code == "200") { if (code == "200") {
@ -598,7 +606,7 @@ export default {
viewScreen() { viewScreen() {
let routeUrl = this.$router.resolve({ let routeUrl = this.$router.resolve({
path: "/bigscreen/viewer", path: "/bigscreen/viewer",
query: { reportCode: this.$route.query.reportCode } query: { reportCode: this.$route.query.reportCode },
}); });
window.open(routeUrl.href, "_blank"); window.open(routeUrl.href, "_blank");
}, },
@ -608,9 +616,9 @@ export default {
const param = { const param = {
reportCode: this.$route.query.reportCode, reportCode: this.$route.query.reportCode,
showDataSet: val showDataSet: val,
}; };
exportDashboard(param).then(res => { exportDashboard(param).then((res) => {
const that = this; const that = this;
const type = res.type; const type = res.type;
if (type == "application/json") { if (type == "application/json") {
@ -645,19 +653,19 @@ export default {
if (response.code == "200") { if (response.code == "200") {
this.$message({ this.$message({
message: "导入成功!", message: "导入成功!",
type: "success" type: "success",
}); });
} else { } else {
this.$message({ this.$message({
message: response.message, message: response.message,
type: "error" type: "error",
}); });
} }
}, },
handleError(err) { handleError(err) {
this.$message({ this.$message({
message: "上传失败!", message: "上传失败!",
type: "error" type: "error",
}); });
}, },
@ -704,10 +712,10 @@ export default {
height: 0, height: 0,
left: 0, left: 0,
top: 0, top: 0,
zIndex: 0 zIndex: 0,
} },
}, },
options: tool.options options: tool.options,
}; };
// //
const widgetJsonValue = this.handleDefaultValue(widgetJson); const widgetJsonValue = this.handleDefaultValue(widgetJson);
@ -739,7 +747,7 @@ export default {
) { ) {
for (let j = 0; j < item.length; j++) { for (let j = 0; j < item.length; j++) {
const list = item[j].list; const list = item[j].list;
list.forEach(el => { list.forEach((el) => {
widgetJson.value.setup[el.name] = el.value; widgetJson.value.setup[el.name] = el.value;
}); });
} }
@ -789,7 +797,7 @@ export default {
} }
this.widgetIndex = obj.index; this.widgetIndex = obj.index;
this.widgets[obj.index].value.position = obj; this.widgets[obj.index].value.position = obj;
this.widgets[obj.index].options.position.forEach(el => { this.widgets[obj.index].options.position.forEach((el) => {
for (const key in obj) { for (const key in obj) {
if (el.name == key) { if (el.name == key) {
el.value = obj[key]; el.value = obj[key];
@ -835,7 +843,7 @@ export default {
if (this.bigscreenHeight != this.dashboard.height) { if (this.bigscreenHeight != this.dashboard.height) {
this.bigscreenHeight = this.dashboard.height; this.bigscreenHeight = this.dashboard.height;
} }
this.widgetOptions.setup.forEach(el => { this.widgetOptions.setup.forEach((el) => {
if (el.name == "width") { if (el.name == "width") {
el.value = this.bigscreenWidth; el.value = this.bigscreenWidth;
} else if (el.name == "height") { } else if (el.name == "height") {
@ -864,7 +872,7 @@ export default {
this.styleObj = { this.styleObj = {
left: left + "px", left: left + "px",
top: top + "px", top: top + "px",
display: "block" display: "block",
}; };
} }
this.visibleContentMenu = true; this.visibleContentMenu = true;
@ -948,8 +956,8 @@ export default {
} else { } else {
this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]); this.widgets.unshift(this.widgets.splice(this.rightClickIndex, 1)[0]);
} }
} },
} },
}; };
</script> </script>
@ -1353,4 +1361,92 @@ li {
/deep/ .vue-ruler-v { /deep/ .vue-ruler-v {
opacity: 0.3; opacity: 0.3;
} }
.layout-left {
width: 200px;
background: #242a30;
overflow-x: hidden;
overflow-y: auto;
.chart-type {
display: flex;
flex-direction: row;
overflow: hidden;
.type-left {
width: 100%;
height: calc(100vh - 80px);
text-align: center;
/deep/.el-tabs__header {
width: 30%;
margin-right: 0;
.el-tabs__nav-wrap {
&::after {
background: transparent;
}
.el-tabs__item {
text-align: center;
width: 100% !important;
color: #fff;
padding: 0;
font-size: 12px !important;
}
}
}
/deep/.el-tabs__content {
width: 70%;
}
}
}
//
.tools-item {
display: flex;
position: relative;
width: 100%;
height: 48px;
align-items: center;
-webkit-box-align: center;
padding: 0 6px;
cursor: pointer;
font-size: 12px;
margin-bottom: 1px;
.tools-item-icon {
color: #409eff;
margin-right: 10px;
width: 53px;
height: 30px;
line-height: 30px;
text-align: center;
display: block;
border: 1px solid #3a4659;
background: #282a30;
}
.tools-item-text {
font-size: 12px !important;
}
}
/deep/.el-tabs__content {
padding: 0;
}
}
/* 设置滚动条的样式 */
::-webkit-scrollbar {
width: 0;
}
/* 滚动槽 */
::-webkit-scrollbar-track {
-webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.3);
}
/* 滚动条滑块 */
::-webkit-scrollbar-thumb {
background: rgba(0, 0, 0, 0.1);
-webkit-box-shadow: inset006pxrgba(0, 0, 0, 0.5);
}
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(255, 0, 0, 0.4);
}
</style> </style>

@ -0,0 +1,660 @@
/*
* @Descripttion: 柱状对比图 json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:39:35
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:09:58
*/
export const widgetBarCompare = {
code: 'widgetBarCompareChart',
type: 'barChart',
tabName: '柱状图',
label: '柱状对比图',
icon: 'iconduibitupu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '柱状对比图',
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
[
{
name: '柱体设置',
list: [
{
type: 'el-slider',
label: '最大宽度',
name: 'maxWidth',
required: false,
placeholder: '',
value: 15,
},
{
type: 'el-slider',
label: '圆角',
name: 'radius',
require: false,
placeholder: '',
value: 5,
},
],
},
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: '',
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#FFD700'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'center'
},
],
},
{
name: '图例操作',
list: [
{
type: 'el-switch',
label: '图例显示',
name: 'isShowLegend',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: '图例名称',
name: 'legendName',
required: false,
placeholder: '多值以' | '隔开',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'legendColor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'legendFontSize',
required: false,
placeholder: '',
value: 12,
},
{
type: 'el-input-number',
label: '图例宽度',
name: 'legendWidth',
required: false,
placeholder: '',
value: 12,
},
{
type: 'el-select',
label: '横向位置',
name: 'lateralPosition',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'center'
},
{
type: 'el-select',
label: '纵向位置',
name: 'longitudinalPosition',
required: false,
placeholder: '',
selectOptions: [
{ code: 'top', name: '顶部' },
{ code: 'bottom', name: '底部' },
],
value: 'top'
},
{
type: 'el-select',
label: '布局前置',
name: 'layoutFront',
required: false,
placeholder: '',
selectOptions: [
{ code: 'vertical', name: '竖排' },
{ code: 'horizontal', name: '横排' },
],
value: 'horizontal'
},
],
},
{
name: '左X轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'hideXLeft',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-number',
label: '数值间隔',
name: 'splitNumberLeft',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '数值颜色',
name: 'XcolorLeft',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '数值字号',
name: 'fontSizeXLeft',
required: false,
placeholder: '',
value: 14,
},
{
type: 'el-switch',
label: '刻度线',
name: 'tickLineLeft',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-switch',
label: 'X轴线',
name: 'xLineLeft',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorXLeft',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-switch',
label: '竖分割线',
name: 'SplitLineLeft',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '分割线颜色',
name: 'SplitLineColorLeft',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '分割线宽度',
name: 'SplitLinefontSizeLeft',
required: false,
placeholder: '',
value: 1,
},
{
type: 'el-switch',
label: '边框线',
name: 'frameLineLeft',
require: false,
placeholder: '',
value: false,
},
],
},
{
name: '右X轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'hideXRight',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-number',
label: '数值间隔',
name: 'splitNumberRight',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '数值颜色',
name: 'XcolorRight',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '数值字号',
name: 'fontSizeXRight',
required: false,
placeholder: '',
value: 14,
},
{
type: 'el-switch',
label: '刻度线',
name: 'tickLineRight',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-switch',
label: 'X轴线',
name: 'xLineRight',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorXRight',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-switch',
label: '竖分割线',
name: 'SplitLineRight',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '分割线颜色',
name: 'SplitLineColorRight',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '分割线宽度',
name: 'SplitLinefontSizeRight',
required: false,
placeholder: '',
value: 1,
},
{
type: 'el-switch',
label: '边框线',
name: 'frameLineRight',
require: false,
placeholder: '',
value: false,
},
],
},
{
name: 'Y轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'hideY',
required: false,
placeholder: '',
value: true,
},
{
type: 'vue-color',
label: '数值颜色',
name: 'colorY',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '数值字号',
name: 'fontSizeY',
required: false,
placeholder: '',
value: 14,
},
{
type: 'el-select',
label: '数值对齐',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'center'
},
{
type: 'el-switch',
label: '刻度线',
name: 'tickLineY',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-switch',
label: 'Y轴线',
name: 'lineY',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorY',
required: false,
placeholder: '',
value: '#fff',
},
],
},
{
name: '数值设定',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShow',
required: false,
placeholder: '',
value: true
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: 14
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipsFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
{
name: '坐标轴边距设置',
list: [
{
type: 'el-slider',
label: '左右边距(像素)',
name: 'marginLeftRight',
required: false,
placeholder: '',
value: 10,
},
{
type: 'el-slider',
label: '顶边距(像素)',
name: 'marginTop',
required: false,
placeholder: '',
value: 40,
},
{
type: 'el-slider',
label: '底边距(像素)',
name: 'marginBottom',
required: false,
placeholder: '',
value: 10,
},
],
},
{
name: '自定义配色',
list: [
{
type: 'customColor',
label: '',
name: 'customColor',
required: false,
value: [{ color: '#36c5e7' }, { color: '#e68b55' }],
},
],
},
],
],
// 数据
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: 5000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [
{ "axis": "07-25", "name": "success", "data": "2" },
{ "axis": "07-25", "name": "fail", "data": "10" },
{ "axis": "07-26", "name": "success", "data": "5" },
{ "axis": "07-26", "name": "fail", "data": "20" },
{ "axis": "07-27", "name": "success", "data": "15" },
{ "axis": "07-27", "name": "fail", "data": "30" },
{ "axis": "07-28", "name": "success", "data": "10" },
{ "axis": "07-28", "name": "fail", "data": "12" },
{ "axis": "07-29", "name": "success", "data": "9" },
{ "axis": "07-29", "name": "fail", "data": "16" },
],
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'dynamicData',
chartType: 'widget-stackchart',
dictKey: 'STACK_PROPERTIES',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 500,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 250,
},
],
}
}

@ -4,7 +4,8 @@
*/ */
export const widgetBarLineStack = { export const widgetBarLineStack = {
code: 'widgetBarLineStackChart', code: 'widgetBarLineStackChart',
type: 'chart', type: 'barChart',
tabName: '柱状图',
label: '柱线堆叠图', label: '柱线堆叠图',
icon: 'iconzhuxiantu', icon: 'iconzhuxiantu',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetBarStack = { export const widgetBarStack = {
code: 'widgetBarStackChart', code: 'widgetBarStackChart',
type: 'chart', type: 'barChart',
tabName: '柱状图',
label: '柱状堆叠图', label: '柱状堆叠图',
icon: 'iconbianzu23', icon: 'iconbianzu23',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetBarchart = { export const widgetBarchart = {
code: 'widget-barchart', code: 'widget-barchart',
type: 'chart', type: 'barChart',
tabName: '柱状图',
label: '柱状图', label: '柱状图',
icon: 'iconzhuzhuangtu', icon: 'iconzhuzhuangtu',
options: { options: {

@ -3,12 +3,13 @@
* @version: * @version:
* @Author: qianlishi * @Author: qianlishi
* @Date: 2021-08-29 07:26:48 * @Date: 2021-08-29 07:26:48
* @LastEditors: qianlishi * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2021-09-28 14:11:57 * @LastEditTime: 2022-11-07 15:39:29
*/ */
export const widgetBarlinechart = { export const widgetBarlinechart = {
code: 'widget-barlinechart', code: 'widget-barlinechart',
type: 'chart', type: 'barlineChart',
tabName: '柱线图',
label: '柱线图', label: '柱线图',
icon: 'iconzhuxiantu', icon: 'iconzhuxiantu',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetGradientBarchart = { export const widgetGradientBarchart = {
code: 'widget-gradient-color-barchart', code: 'widget-gradient-color-barchart',
type: 'chart', type: 'barlineChart',
tabName: '柱线图',
label: '柱状图-渐变色', label: '柱状图-渐变色',
icon: 'iconzhuzhuangtu', icon: 'iconzhuzhuangtu',
options: { options: {

@ -3,12 +3,13 @@
* @version: * @version:
* @Author: foming * @Author: foming
* @Date: * @Date:
* @LastEditors: * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: * @LastEditTime: 2022-11-07 15:39:52
*/ */
export const widgetMoreBarLine = { export const widgetMoreBarLine = {
code: 'widgetMoreBarLineChart', code: 'widgetMoreBarLineChart',
type: 'chart', type: 'barlineChart',
tabName: '柱线图',
label: '多柱线图', label: '多柱线图',
icon: 'iconzhuxiantu', icon: 'iconzhuxiantu',
options: { options: {

@ -3,12 +3,13 @@
* @version: * @version:
* @Author: foming * @Author: foming
* @Date: * @Date:
* @LastEditors: * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: * @LastEditTime: 2022-11-07 15:40:07
*/ */
export const widgetDecoratePie = { export const widgetDecoratePie = {
code: 'widgetDecoratePieChart', code: 'widgetDecoratePieChart',
type: 'chart', type: 'decorate',
tabName: '装饰图',
label: '装饰饼图', label: '装饰饼图',
icon: 'iconicon_tubiao_bingtu', icon: 'iconicon_tubiao_bingtu',
options: { options: {

@ -3,12 +3,13 @@
* @version: * @version:
* @Author: qianlishi * @Author: qianlishi
* @Date: 2021-08-29 07:29:23 * @Date: 2021-08-29 07:29:23
* @LastEditors: qianlishi * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2021-09-28 14:12:37 * @LastEditTime: 2022-11-07 15:40:21
*/ */
export const widgetFunnel = { export const widgetFunnel = {
code: 'widget-funnel', code: 'widget-funnel',
type: 'chart', type: 'funnel',
tabName: '漏斗图',
label: '漏斗图', label: '漏斗图',
icon: 'iconloudoutu', icon: 'iconloudoutu',
options: { options: {

@ -3,12 +3,13 @@
* @version: * @version:
* @Author: whw * @Author: whw
* @Date: 2021-11-3 * @Date: 2021-11-3
* @LastEditors: whw * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2021-11-3 * @LastEditTime: 2022-11-07 15:40:35
*/ */
export const widgetHeatmap = { export const widgetHeatmap = {
code: 'widget-heatmap', code: 'widget-heatmap',
type: 'chart', type: 'heatmap',
tabName: '热力图',
label: '热力图', label: '热力图',
icon: 'iconrelitu', icon: 'iconrelitu',
options: { options: {

@ -3,12 +3,13 @@
* @version: * @version:
* @Author: foming * @Author: foming
* @Date: 2021-08-29 07:39:35 * @Date: 2021-08-29 07:39:35
* @LastEditors: qianlishi * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2021-09-28 14:15:42 * @LastEditTime: 2022-11-07 15:40:44
*/ */
export const widgetLineCompare = { export const widgetLineCompare = {
code: 'widgetLineCompareChart', code: 'widgetLineCompareChart',
type: 'chart', type: 'lineChart',
tabName: '折线图',
label: '折线对比图', label: '折线对比图',
icon: 'iconzhexian', icon: 'iconzhexian',
options: { options: {

@ -0,0 +1,680 @@
/*
* @Descripttion: 折线堆叠图 json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:38:17
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:16:28
*/
export const widgetLineStack = {
code: 'widgetLineStackChart',
type: 'lineChart',
tabName: '折线图',
label: '折线堆叠图',
icon: 'iconduidietu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '折线堆叠图',
},
{
type: 'el-switch',
label: '竖展示',
name: 'verticalShow',
required: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
[
{
name: '折线设置',
list: [
{
type: 'el-switch',
label: '标记点',
name: 'markPoint',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-slider',
label: '点大小',
name: 'pointSize',
required: false,
placeholder: '',
value: 5,
},
{
type: 'el-switch',
label: '平滑曲线',
name: 'smoothCurve',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '面积堆积',
name: 'area',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-slider',
label: '面积厚度',
name: 'areaThickness',
required: false,
placeholder: '',
value: 5,
},
{
type: 'el-slider',
label: '线条宽度',
name: 'lineWidth',
required: false,
placeholder: '',
value: 4,
},
],
},
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: '',
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#FFD700'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'center'
},
{
type: 'el-input-text',
label: '副标题',
name: 'subText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: 'rgba(30, 144, 255, 1)'
},
{
type: 'el-select',
label: '字体粗细',
name: 'subTextFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'subTextFontSize',
required: false,
placeholder: '',
value: 20
},
],
},
{
name: '图例操作',
list: [
{
type: 'el-switch',
label: '图例显示',
name: 'isShowLegend',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: '图例名称',
name: 'legendName',
required: false,
placeholder: '多值以' | '隔开',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'legendColor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'legendFontSize',
required: false,
placeholder: '',
value: 12,
},
{
type: 'el-input-number',
label: '图例宽度',
name: 'legendWidth',
required: false,
placeholder: '',
value: 12,
},
{
type: 'el-select',
label: '横向位置',
name: 'lateralPosition',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'center'
},
{
type: 'el-select',
label: '纵向位置',
name: 'longitudinalPosition',
required: false,
placeholder: '',
selectOptions: [
{ code: 'top', name: '顶部' },
{ code: 'bottom', name: '底部' },
],
value: 'top'
},
{
type: 'el-select',
label: '布局前置',
name: 'layoutFront',
required: false,
placeholder: '',
selectOptions: [
{ code: 'vertical', name: '竖排' },
{ code: 'horizontal', name: '横排' },
],
value: 'horizontal'
},
],
},
{
name: 'X轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'hideX',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: 'X轴别名',
name: 'xName',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '别名颜色',
name: 'xNameColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-input-number',
label: '别名字号',
name: 'xNameFontSize',
required: false,
placeholder: '',
value: 14
},
{
type: 'el-switch',
label: '轴反转',
name: 'reversalX',
required: false,
placeholder: '',
value: false
},
{
type: 'el-slider',
label: '文字角度',
name: 'textAngleX',
required: false,
placeholder: '',
value: 0
},
{
type: 'el-input-number',
label: '文字间隔',
name: 'textInterval',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '文字颜色',
name: 'Xcolor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSizeX',
required: false,
placeholder: '',
value: 14,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorX',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-switch',
label: '分割线显示',
name: 'isShowSplitLineX',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '分割线颜色',
name: 'splitLineColorX',
required: false,
placeholder: '',
value: '#fff',
}
],
},
{
name: 'Y轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShowY',
require: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: 'Y轴别名',
name: 'textNameY',
require: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '别名颜色',
name: 'NameColorY',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '别名字号',
name: 'NameFontSizeY',
required: false,
placeholder: '',
value: 14,
},
{
type: 'el-switch',
label: '轴反转',
name: 'reversalY',
required: false,
placeholder: '',
value: false
},
{
type: 'el-slider',
label: '文字角度',
name: 'textAngleY',
required: false,
placeholder: '',
value: 0
},
{
type: 'vue-color',
label: '文字颜色',
name: 'colorY',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '文字字号',
name: 'fontSizeY',
required: false,
placeholder: '',
value: 14,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorY',
required: false,
placeholder: '',
value: '#fff',
}, {
type: 'el-switch',
label: '分割线显示',
name: 'isShowSplitLineY',
require: false,
placeholder: '',
value: false,
}, {
type: 'vue-color',
label: '分割线颜色',
name: 'splitLineColorY',
required: false,
placeholder: '',
value: '#fff',
}
],
},
{
name: '数值设定',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShow',
required: false,
placeholder: '',
value: false
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: 14
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipsFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
{
name: '坐标轴边距设置',
list: [
{
type: 'el-slider',
label: '左边距(像素)',
name: 'marginLeft',
required: false,
placeholder: '',
value: 10,
}, {
type: 'el-slider',
label: '顶边距(像素)',
name: 'marginTop',
required: false,
placeholder: '',
value: 50,
}, {
type: 'el-slider',
label: '右边距(像素)',
name: 'marginRight',
required: false,
placeholder: '',
value: 40,
}, {
type: 'el-slider',
label: '底边距(像素)',
name: 'marginBottom',
required: false,
placeholder: '',
value: 10,
},
],
},
{
name: '自定义配色',
list: [
{
type: 'customColor',
label: '',
name: 'customColor',
required: false,
value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }],
},
],
},
],
],
// 数据
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: 5000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [
{ "axis": "2021-07-25", "name": "A", "data": "12" },
{ "axis": "2021-07-25", "name": "B", "data": "20" },
{ "axis": "2021-07-26", "name": "B", "data": "5" },
{ "axis": "2021-07-27", "name": "A", "data": "15" },
{ "axis": "2021-07-27", "name": "B", "data": "30" },
],
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'dynamicData',
chartType: 'widget-stackchart',
dictKey: 'STACK_PROPERTIES',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 500,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 250,
},
],
}
}

@ -8,7 +8,8 @@
*/ */
export const widgetLinechart = { export const widgetLinechart = {
code: 'widget-linechart', code: 'widget-linechart',
type: 'chart', type: 'lineChart',
tabName: '折线图',
label: '折线图', label: '折线图',
icon: 'icontubiaozhexiantu', icon: 'icontubiaozhexiantu',
options: { options: {

@ -3,12 +3,13 @@
* @version: * @version:
* @Author: qianlishi * @Author: qianlishi
* @Date: 2021-08-29 07:35:32 * @Date: 2021-08-29 07:35:32
* @LastEditors: qianlishi * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2021-09-28 14:10:01 * @LastEditTime: 2022-11-07 15:41:02
*/ */
export const widgetAirbubbleMap = { export const widgetAirbubbleMap = {
code: 'widgetAirBubbleMap', code: 'widgetAirBubbleMap',
type: 'chart', type: 'mapChart',
tabName: '中国地图',
label: '气泡地图', label: '气泡地图',
icon: 'iconzhongguoditu', icon: 'iconzhongguoditu',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetLineMap = { export const widgetLineMap = {
code: 'widgetLineMap', code: 'widgetLineMap',
type: 'chart', type: 'mapChart',
tabName: '中国地图',
label: '路线地图', label: '路线地图',
icon: 'iconzhongguoditu', icon: 'iconzhongguoditu',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetGauge = { export const widgetGauge = {
code: 'widget-gauge', code: 'widget-gauge',
type: 'chart', type: 'percent',
tabName: '百分比',
label: '仪表盘', label: '仪表盘',
icon: 'iconyibiaopan', icon: 'iconyibiaopan',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetPiePercentage = { export const widgetPiePercentage = {
code: 'widgetPiePercentageChart', code: 'widgetPiePercentageChart',
type: 'chart', type: 'percent',
tabName: '百分比',
label: '百分比图', label: '百分比图',
icon: 'iconbaifenbi', icon: 'iconbaifenbi',
options: { options: {

@ -0,0 +1,405 @@
/*
* @Descripttion: 南丁格尔玫瑰图 json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:32:40
* @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2022-11-07 15:41:37
*/
export const widgetPieNightingale = {
code: 'WidgetPieNightingaleRoseArea',
type: 'pieChart',
tabName: '饼图',
label: '南丁格尔玫瑰图',
icon: 'iconnandinggeermeiguitu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '南丁格尔玫瑰图',
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '饼图模式',
name: 'nightingleRosetype',
required: false,
placeholder: '',
selectOptions: [
{ code: 'area', name: '面积模式' },
{ code: 'radius', name: '半径模式' },
],
value: 'area'
},
[
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'left'
},
{
type: 'el-input-text',
label: '副标题',
name: 'subText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'subTextFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'subTextFontSize',
required: false,
placeholder: '',
value: 12
},
],
},
{
name: '数值设定',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShow',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '数值',
name: 'numberValue',
require: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '百分比',
name: 'percentage',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: 14,
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipsFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
{
name: '图例操作',
list: [
{
type: 'el-switch',
label: '图例',
name: 'isShowLegend',
required: false,
placeholder: '',
value: true,
},
{
type: 'vue-color',
label: '字体颜色',
name: 'legendColor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'legendFontSize',
required: false,
placeholder: '',
value: 16,
},
{
type: 'el-input-number',
label: '图例宽度',
name: 'legendWidth',
required: false,
placeholder: '',
value: 15,
},
{
type: 'el-select',
label: '横向位置',
name: 'lateralPosition',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'center'
},
{
type: 'el-select',
label: '纵向位置',
name: 'longitudinalPosition',
required: false,
placeholder: '',
selectOptions: [
{ code: 'top', name: '顶部' },
{ code: 'bottom', name: '底部' },
],
value: 'top'
},
{
type: 'el-select',
label: '布局前置',
name: 'layoutFront',
required: false,
placeholder: '',
selectOptions: [
{ code: 'vertical', name: '竖排' },
{ code: 'horizontal', name: '横排' },
],
value: 'horizontal'
},
],
},
{
name: '自定义配色',
list: [
{
type: 'customColor',
label: '',
name: 'customColor',
required: false,
value: [{ color: '#FF801C' }, { color: '#F5FF46' }, { color: '#00FE65' }, { color: '#00FEFF' }, { color: '#ffa800' }]
},
],
},
],
],
// 数据
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: 5000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [{ "value": 1048, "name": "搜索引擎" }, { "value": 735, "name": "直接访问" }, { "value": 580, "name": "邮件营销" }, { "value": 484, "name": "联盟广告" }, { "value": 300, "name": "视频广告" }],
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
chartType: 'widget-piechart',
dictKey: 'PIE_PROPERTIES',
relactiveDomValue: 'dynamicData',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 400,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 200,
},
],
}
}

@ -0,0 +1,405 @@
/*
* @Descripttion: 饼图
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:28:20
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:19:19
*/
export const widgetPiechart = {
code: 'widget-piechart',
type: 'pieChart',
tabName: '饼图',
label: '饼图',
icon: 'iconicon_tubiao_bingtu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '饼图',
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '饼图样式',
name: 'piechartStyle',
required: false,
placeholder: '',
selectOptions: [
{ code: 'shixin', name: '实心饼图' },
{ code: 'kongxin', name: '空心饼图' },
],
value: 'shixin'
},
[
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'left'
},
{
type: 'el-input-text',
label: '副标题',
name: 'subText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'subTextFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'subTextFontSize',
required: false,
placeholder: '',
value: 12
},
],
},
{
name: '数值设定',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShow',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '数值',
name: 'numberValue',
require: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '百分比',
name: 'percentage',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: 12,
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
{
name: '图例操作',
list: [
{
type: 'el-switch',
label: '图例',
name: 'isShowLegend',
required: false,
placeholder: '',
value: true,
},
{
type: 'vue-color',
label: '字体颜色',
name: 'legendColor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-text',
label: '字体字号',
name: 'legendFontSize',
required: false,
placeholder: '',
value: 16,
},
{
type: 'el-input-number',
label: '图例宽度',
name: 'legendWidth',
required: false,
placeholder: '',
value: 15,
},
{
type: 'el-select',
label: '横向位置',
name: 'lateralPosition',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'center'
},
{
type: 'el-select',
label: '纵向位置',
name: 'longitudinalPosition',
required: false,
placeholder: '',
selectOptions: [
{ code: 'top', name: '顶部' },
{ code: 'bottom', name: '底部' },
],
value: 'top'
},
{
type: 'el-select',
label: '布局前置',
name: 'layoutFront',
required: false,
placeholder: '',
selectOptions: [
{ code: 'vertical', name: '竖排' },
{ code: 'horizontal', name: '横排' },
],
value: 'horizontal'
},
],
},
{
name: '自定义配色',
list: [
{
type: 'customColor',
label: '',
name: 'customColor',
required: false,
value: [{ color: '#0CD2E6' }, { color: '#00BFA5' }, { color: '#FFC722' }, { color: '#886EFF' }, { color: '#008DEC' }],
},
],
},
],
],
// 数据
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: 5000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [{ "value": 1048, "name": "搜索引擎" }, { "value": 735, "name": "直接访问" }, { "value": 580, "name": "邮件营销" }, { "value": 484, "name": "联盟广告" }, { "value": 300, "name": "视频广告" }]
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
chartType: 'widget-piechart',
relactiveDomValue: 'dynamicData',
dictKey: 'PIE_PROPERTIES',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 400,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 200,
},
],
}
}

@ -0,0 +1,158 @@
/*
* @Descripttion: 超链接文本
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:03:58
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:14:21
*/
export const widgetHref = {
code: 'widget-href',
type: 'text',
tabName: '文本栏',
label: '超链接',
icon: 'iconchaolianjie',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '超链接',
},
{
type: 'el-input-text',
label: '文本内容',
name: 'text',
required: false,
placeholder: '',
value: '超链接',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: '26',
},
{
type: 'vue-color',
label: '字体颜色',
name: 'color',
required: false,
placeholder: '',
value: '#FAD400',
},
{
type: 'el-input-number',
label: '字体间距',
name: 'letterSpacing',
required: false,
placeholder: '',
value: '0',
},
{
type: 'vue-color',
label: '字体背景',
name: 'background',
required: false,
placeholder: '',
value: 'rgba(115,170,229,.5)',
},
{
type: 'el-select',
label: '文字粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-select',
label: '对齐方式',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'center'
},
{
type: 'el-radio-group',
label: '跳转方式',
name: 'jumpMode',
required: false,
placeholder: '',
selectOptions: [
{
code: 'self',
name: '本窗口',
},
{
code: 'other',
name: '新窗口',
},
],
value: 'self',
},
{
type: 'el-input-text',
label: '超链地址',
name: 'linkAdress',
required: false,
placeholder: '',
value: 'http://www.baidu.com',
},
],
// 数据
data: [],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 100,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 40,
},
],
}
}

@ -0,0 +1,73 @@
/*
* @Descripttion: iframe json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:17:55
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:14:39
*/
export const widgetIframe = {
code: 'widget-iframe',
type: 'text',
tabName: '文本栏',
label: '内联框架',
icon: 'iconkuangjia',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: 'iframe',
},
{
type: 'el-input-text',
label: '地址',
name: 'iframeAdress',
required: false,
placeholder: '',
value: 'https://ajreport.beliefteam.cn/index.html',
},
],
// 数据
data: [],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 300,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 200,
},
],
}
}

@ -8,7 +8,8 @@
*/ */
export const widgetImage = { export const widgetImage = {
code: 'widget-image', code: 'widget-image',
type: 'html', type: 'text',
tabName: '文本栏',
label: '图片', label: '图片',
icon: 'icontupian', icon: 'icontupian',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetMarquee = { export const widgetMarquee = {
code: 'widget-marquee', code: 'widget-marquee',
type: 'html', type: 'text',
tabName: '文本栏',
label: '滚动文本', label: '滚动文本',
icon: 'iconhengxiangwenzi', icon: 'iconhengxiangwenzi',
options: { options: {

@ -3,7 +3,8 @@
*/ */
export const widgetRadar = { export const widgetRadar = {
code: 'widget-radar', code: 'widget-radar',
type: 'html', type: 'text',
tabName: '文本栏',
label: '雷达图', label: '雷达图',
icon: 'iconleidatu', icon: 'iconleidatu',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetSliders = { export const widgetSliders = {
code: 'widget-slider', code: 'widget-slider',
type: 'html', type: 'text',
tabName: '文本栏',
label: '轮播图片', label: '轮播图片',
icon: 'slider', icon: 'slider',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetTable = { export const widgetTable = {
code: 'widget-table', code: 'widget-table',
type: 'html', type: 'text',
tabName: '文本栏',
label: '表格', label: '表格',
icon: 'iconbiaoge', icon: 'iconbiaoge',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetText = { export const widgetText = {
code: 'widget-text', code: 'widget-text',
type: 'html', type: 'text',
tabName: '文本栏',
label: '文本', label: '文本',
icon: 'iconziyuan', icon: 'iconziyuan',
options: { options: {

@ -8,7 +8,8 @@
*/ */
export const widgetTime = { export const widgetTime = {
code: 'widget-time', code: 'widget-time',
type: 'html', type: 'text',
tabName: '文本栏',
label: '当前时间', label: '当前时间',
icon: 'iconshijian', icon: 'iconshijian',
options: { options: {

@ -0,0 +1,73 @@
/*
* @Descripttion: 视频json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:10:22
* @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2022-11-07 15:42:46
*/
export const widgetVideo = {
code: 'widget-video',
type: 'text',
tabName: '文本栏',
label: '视频',
icon: 'iconshipin',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: 'video',
},
{
type: 'el-input-text',
label: '地址',
name: 'videoAdress',
required: false,
placeholder: '',
value: 'https://www.w3school.com.cn//i/movie.ogg',
},
],
// 数据
data: [],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 300,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 200,
},
],
}
}

@ -1,659 +0,0 @@
/*
* @Descripttion: 柱状对比图 json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:39:35
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:09:58
*/
export const widgetBarCompare = {
code: 'widgetBarCompareChart',
type: 'chart',
label: '柱状对比图',
icon: 'iconduibitupu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '柱状对比图',
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
[
{
name: '柱体设置',
list: [
{
type: 'el-slider',
label: '最大宽度',
name: 'maxWidth',
required: false,
placeholder: '',
value: 15,
},
{
type: 'el-slider',
label: '圆角',
name: 'radius',
require: false,
placeholder: '',
value: 5,
},
],
},
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: '',
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#FFD700'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'center'
},
],
},
{
name: '图例操作',
list: [
{
type: 'el-switch',
label: '图例显示',
name: 'isShowLegend',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: '图例名称',
name: 'legendName',
required: false,
placeholder: '多值以'|'隔开',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'legendColor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'legendFontSize',
required: false,
placeholder: '',
value: 12,
},
{
type: 'el-input-number',
label: '图例宽度',
name: 'legendWidth',
required: false,
placeholder: '',
value: 12,
},
{
type: 'el-select',
label: '横向位置',
name: 'lateralPosition',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'center'
},
{
type: 'el-select',
label: '纵向位置',
name: 'longitudinalPosition',
required: false,
placeholder: '',
selectOptions: [
{code: 'top', name: '顶部'},
{code: 'bottom', name: '底部'},
],
value: 'top'
},
{
type: 'el-select',
label: '布局前置',
name: 'layoutFront',
required: false,
placeholder: '',
selectOptions: [
{code: 'vertical', name: '竖排'},
{code: 'horizontal', name: '横排'},
],
value: 'horizontal'
},
],
},
{
name: '左X轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'hideXLeft',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-number',
label: '数值间隔',
name: 'splitNumberLeft',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '数值颜色',
name: 'XcolorLeft',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '数值字号',
name: 'fontSizeXLeft',
required: false,
placeholder: '',
value: 14,
},
{
type: 'el-switch',
label: '刻度线',
name: 'tickLineLeft',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-switch',
label: 'X轴线',
name: 'xLineLeft',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorXLeft',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-switch',
label: '竖分割线',
name: 'SplitLineLeft',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '分割线颜色',
name: 'SplitLineColorLeft',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '分割线宽度',
name: 'SplitLinefontSizeLeft',
required: false,
placeholder: '',
value: 1,
},
{
type: 'el-switch',
label: '边框线',
name: 'frameLineLeft',
require: false,
placeholder: '',
value: false,
},
],
},
{
name: '右X轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'hideXRight',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-number',
label: '数值间隔',
name: 'splitNumberRight',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '数值颜色',
name: 'XcolorRight',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '数值字号',
name: 'fontSizeXRight',
required: false,
placeholder: '',
value: 14,
},
{
type: 'el-switch',
label: '刻度线',
name: 'tickLineRight',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-switch',
label: 'X轴线',
name: 'xLineRight',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorXRight',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-switch',
label: '竖分割线',
name: 'SplitLineRight',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '分割线颜色',
name: 'SplitLineColorRight',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '分割线宽度',
name: 'SplitLinefontSizeRight',
required: false,
placeholder: '',
value: 1,
},
{
type: 'el-switch',
label: '边框线',
name: 'frameLineRight',
require: false,
placeholder: '',
value: false,
},
],
},
{
name: 'Y轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'hideY',
required: false,
placeholder: '',
value: true,
},
{
type: 'vue-color',
label: '数值颜色',
name: 'colorY',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '数值字号',
name: 'fontSizeY',
required: false,
placeholder: '',
value: 14,
},
{
type: 'el-select',
label: '数值对齐',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'center'
},
{
type: 'el-switch',
label: '刻度线',
name: 'tickLineY',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-switch',
label: 'Y轴线',
name: 'lineY',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorY',
required: false,
placeholder: '',
value: '#fff',
},
],
},
{
name: '数值设定',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShow',
required: false,
placeholder: '',
value: true
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: 14
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipsFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
{
name: '坐标轴边距设置',
list: [
{
type: 'el-slider',
label: '左右边距(像素)',
name: 'marginLeftRight',
required: false,
placeholder: '',
value: 10,
},
{
type: 'el-slider',
label: '顶边距(像素)',
name: 'marginTop',
required: false,
placeholder: '',
value: 40,
},
{
type: 'el-slider',
label: '底边距(像素)',
name: 'marginBottom',
required: false,
placeholder: '',
value: 10,
},
],
},
{
name: '自定义配色',
list: [
{
type: 'customColor',
label: '',
name: 'customColor',
required: false,
value: [{color: '#36c5e7'}, {color: '#e68b55'}],
},
],
},
],
],
// 数据
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: 5000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [
{"axis":"07-25","name":"success","data":"2"},
{"axis":"07-25","name":"fail","data":"10"},
{"axis":"07-26","name":"success","data":"5"},
{"axis":"07-26","name":"fail","data":"20"},
{"axis":"07-27","name":"success","data":"15"},
{"axis":"07-27","name":"fail","data":"30"},
{"axis":"07-28","name":"success","data":"10"},
{"axis":"07-28","name":"fail","data":"12"},
{"axis":"07-29","name":"success","data":"9"},
{"axis":"07-29","name":"fail","data":"16"},
],
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'dynamicData',
chartType: 'widget-stackchart',
dictKey: 'STACK_PROPERTIES',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 500,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 250,
},
],
}
}

@ -1,157 +0,0 @@
/*
* @Descripttion: 超链接文本
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:03:58
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:14:21
*/
export const widgetHref = {
code: 'widget-href',
type: 'html',
label: '超链接',
icon: 'iconchaolianjie',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '超链接',
},
{
type: 'el-input-text',
label: '文本内容',
name: 'text',
required: false,
placeholder: '',
value: '超链接',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: '26',
},
{
type: 'vue-color',
label: '字体颜色',
name: 'color',
required: false,
placeholder: '',
value: '#FAD400',
},
{
type: 'el-input-number',
label: '字体间距',
name: 'letterSpacing',
required: false,
placeholder: '',
value: '0',
},
{
type: 'vue-color',
label: '字体背景',
name: 'background',
required: false,
placeholder: '',
value: 'rgba(115,170,229,.5)',
},
{
type: 'el-select',
label: '文字粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-select',
label: '对齐方式',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'center'
},
{
type: 'el-radio-group',
label: '跳转方式',
name: 'jumpMode',
required: false,
placeholder: '',
selectOptions: [
{
code: 'self',
name: '本窗口',
},
{
code: 'other',
name: '新窗口',
},
],
value: 'self',
},
{
type: 'el-input-text',
label: '超链地址',
name: 'linkAdress',
required: false,
placeholder: '',
value: 'http://www.baidu.com',
},
],
// 数据
data: [],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 100,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 40,
},
],
}
}

@ -1,72 +0,0 @@
/*
* @Descripttion: iframe json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:17:55
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:14:39
*/
export const widgetIframe = {
code: 'widget-iframe',
type: 'html',
label: '内联框架',
icon: 'iconkuangjia',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: 'iframe',
},
{
type: 'el-input-text',
label: '地址',
name: 'iframeAdress',
required: false,
placeholder: '',
value: 'https://ajreport.beliefteam.cn/index.html',
},
],
// 数据
data: [],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 300,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 200,
},
],
}
}

@ -1,679 +0,0 @@
/*
* @Descripttion: 折线堆叠图 json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:38:17
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:16:28
*/
export const widgetLineStack = {
code: 'widgetLineStackChart',
type: 'chart',
label: '折线堆叠图',
icon: 'iconduidietu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '折线堆叠图',
},
{
type: 'el-switch',
label: '竖展示',
name: 'verticalShow',
required: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
[
{
name: '折线设置',
list: [
{
type: 'el-switch',
label: '标记点',
name: 'markPoint',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-slider',
label: '点大小',
name: 'pointSize',
required: false,
placeholder: '',
value: 5,
},
{
type: 'el-switch',
label: '平滑曲线',
name: 'smoothCurve',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '面积堆积',
name: 'area',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-slider',
label: '面积厚度',
name: 'areaThickness',
required: false,
placeholder: '',
value: 5,
},
{
type: 'el-slider',
label: '线条宽度',
name: 'lineWidth',
required: false,
placeholder: '',
value: 4,
},
],
},
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: '',
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#FFD700'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'center'
},
{
type: 'el-input-text',
label: '副标题',
name: 'subText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: 'rgba(30, 144, 255, 1)'
},
{
type: 'el-select',
label: '字体粗细',
name: 'subTextFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'subTextFontSize',
required: false,
placeholder: '',
value: 20
},
],
},
{
name: '图例操作',
list: [
{
type: 'el-switch',
label: '图例显示',
name: 'isShowLegend',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: '图例名称',
name: 'legendName',
required: false,
placeholder: '多值以'|'隔开',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'legendColor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'legendFontSize',
required: false,
placeholder: '',
value: 12,
},
{
type: 'el-input-number',
label: '图例宽度',
name: 'legendWidth',
required: false,
placeholder: '',
value: 12,
},
{
type: 'el-select',
label: '横向位置',
name: 'lateralPosition',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'center'
},
{
type: 'el-select',
label: '纵向位置',
name: 'longitudinalPosition',
required: false,
placeholder: '',
selectOptions: [
{code: 'top', name: '顶部'},
{code: 'bottom', name: '底部'},
],
value: 'top'
},
{
type: 'el-select',
label: '布局前置',
name: 'layoutFront',
required: false,
placeholder: '',
selectOptions: [
{code: 'vertical', name: '竖排'},
{code: 'horizontal', name: '横排'},
],
value: 'horizontal'
},
],
},
{
name: 'X轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'hideX',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: 'X轴别名',
name: 'xName',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '别名颜色',
name: 'xNameColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-input-number',
label: '别名字号',
name: 'xNameFontSize',
required: false,
placeholder: '',
value: 14
},
{
type: 'el-switch',
label: '轴反转',
name: 'reversalX',
required: false,
placeholder: '',
value: false
},
{
type: 'el-slider',
label: '文字角度',
name: 'textAngleX',
required: false,
placeholder: '',
value: 0
},
{
type: 'el-input-number',
label: '文字间隔',
name: 'textInterval',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '文字颜色',
name: 'Xcolor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSizeX',
required: false,
placeholder: '',
value: 14,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorX',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-switch',
label: '分割线显示',
name: 'isShowSplitLineX',
require: false,
placeholder: '',
value: false,
},
{
type: 'vue-color',
label: '分割线颜色',
name: 'splitLineColorX',
required: false,
placeholder: '',
value: '#fff',
}
],
},
{
name: 'Y轴设置',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShowY',
require: false,
placeholder: '',
value: true,
},
{
type: 'el-input-text',
label: 'Y轴别名',
name: 'textNameY',
require: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '别名颜色',
name: 'NameColorY',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '别名字号',
name: 'NameFontSizeY',
required: false,
placeholder: '',
value: 14,
},
{
type: 'el-switch',
label: '轴反转',
name: 'reversalY',
required: false,
placeholder: '',
value: false
},
{
type: 'el-slider',
label: '文字角度',
name: 'textAngleY',
required: false,
placeholder: '',
value: 0
},
{
type: 'vue-color',
label: '文字颜色',
name: 'colorY',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '文字字号',
name: 'fontSizeY',
required: false,
placeholder: '',
value: 14,
},
{
type: 'vue-color',
label: '轴颜色',
name: 'lineColorY',
required: false,
placeholder: '',
value: '#fff',
}, {
type: 'el-switch',
label: '分割线显示',
name: 'isShowSplitLineY',
require: false,
placeholder: '',
value: false,
}, {
type: 'vue-color',
label: '分割线颜色',
name: 'splitLineColorY',
required: false,
placeholder: '',
value: '#fff',
}
],
},
{
name: '数值设定',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShow',
required: false,
placeholder: '',
value: false
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: 14
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipsFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
{
name: '坐标轴边距设置',
list: [
{
type: 'el-slider',
label: '左边距(像素)',
name: 'marginLeft',
required: false,
placeholder: '',
value: 10,
}, {
type: 'el-slider',
label: '顶边距(像素)',
name: 'marginTop',
required: false,
placeholder: '',
value: 50,
}, {
type: 'el-slider',
label: '右边距(像素)',
name: 'marginRight',
required: false,
placeholder: '',
value: 40,
}, {
type: 'el-slider',
label: '底边距(像素)',
name: 'marginBottom',
required: false,
placeholder: '',
value: 10,
},
],
},
{
name: '自定义配色',
list: [
{
type: 'customColor',
label: '',
name: 'customColor',
required: false,
value: [{color: '#ff7f50'}, {color: '#87cefa'}, {color: '#da70d6'}, {color: '#32cd32'}, {color: '#6495ed'}],
},
],
},
],
],
// 数据
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: 5000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [
{"axis":"2021-07-25","name":"A","data":"12"},
{"axis":"2021-07-25","name":"B","data":"20"},
{"axis":"2021-07-26","name":"B","data":"5"},
{"axis":"2021-07-27","name":"A","data":"15"},
{"axis":"2021-07-27","name":"B","data":"30"},
],
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'dynamicData',
chartType: 'widget-stackchart',
dictKey: 'STACK_PROPERTIES',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 500,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 250,
},
],
}
}

@ -1,404 +0,0 @@
/*
* @Descripttion: 南丁格尔玫瑰图 json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:32:40
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:18:05
*/
export const widgetPieNightingale = {
code: 'WidgetPieNightingaleRoseArea',
type: 'chart',
label: '南丁格尔玫瑰图',
icon: 'iconnandinggeermeiguitu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '南丁格尔玫瑰图',
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '饼图模式',
name: 'nightingleRosetype',
required: false,
placeholder: '',
selectOptions: [
{code: 'area', name: '面积模式'},
{code: 'radius', name: '半径模式'},
],
value: 'area'
},
[
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'left'
},
{
type: 'el-input-text',
label: '副标题',
name: 'subText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'subTextFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'subTextFontSize',
required: false,
placeholder: '',
value: 12
},
],
},
{
name: '数值设定',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShow',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '数值',
name: 'numberValue',
require: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '百分比',
name: 'percentage',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: 14,
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipsFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
{
name: '图例操作',
list: [
{
type: 'el-switch',
label: '图例',
name: 'isShowLegend',
required: false,
placeholder: '',
value: true,
},
{
type: 'vue-color',
label: '字体颜色',
name: 'legendColor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-number',
label: '字体字号',
name: 'legendFontSize',
required: false,
placeholder: '',
value: 16,
},
{
type: 'el-input-number',
label: '图例宽度',
name: 'legendWidth',
required: false,
placeholder: '',
value: 15,
},
{
type: 'el-select',
label: '横向位置',
name: 'lateralPosition',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'center'
},
{
type: 'el-select',
label: '纵向位置',
name: 'longitudinalPosition',
required: false,
placeholder: '',
selectOptions: [
{code: 'top', name: '顶部'},
{code: 'bottom', name: '底部'},
],
value: 'top'
},
{
type: 'el-select',
label: '布局前置',
name: 'layoutFront',
required: false,
placeholder: '',
selectOptions: [
{code: 'vertical', name: '竖排'},
{code: 'horizontal', name: '横排'},
],
value: 'horizontal'
},
],
},
{
name: '自定义配色',
list: [
{
type: 'customColor',
label: '',
name: 'customColor',
required: false,
value: [{color: '#FF801C'}, {color: '#F5FF46'}, {color: '#00FE65'}, {color: '#00FEFF'}, {color: '#ffa800'}]
},
],
},
],
],
// 数据
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: 5000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [{"value": 1048,"name": "搜索引擎"},{"value": 735, "name": "直接访问"},{"value": 580, "name": "邮件营销"},{"value": 484,"name":"联盟广告"},{"value":300,"name":"视频广告"}],
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
chartType: 'widget-piechart',
dictKey: 'PIE_PROPERTIES',
relactiveDomValue: 'dynamicData',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 400,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 200,
},
],
}
}

@ -1,404 +0,0 @@
/*
* @Descripttion: 饼图
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:28:20
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:19:19
*/
export const widgetPiechart = {
code: 'widget-piechart',
type: 'chart',
label: '饼图',
icon: 'iconicon_tubiao_bingtu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '饼图',
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '饼图样式',
name: 'piechartStyle',
required: false,
placeholder: '',
selectOptions: [
{code: 'shixin', name: '实心饼图'},
{code: 'kongxin', name: '空心饼图'},
],
value: 'shixin'
},
[
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'left'
},
{
type: 'el-input-text',
label: '副标题',
name: 'subText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'subTextFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'subTextFontSize',
required: false,
placeholder: '',
value: 12
},
],
},
{
name: '数值设定',
list: [
{
type: 'el-switch',
label: '显示',
name: 'isShow',
required: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '数值',
name: 'numberValue',
require: false,
placeholder: '',
value: true,
},
{
type: 'el-switch',
label: '百分比',
name: 'percentage',
require: false,
placeholder: '',
value: false,
},
{
type: 'el-input-number',
label: '字体字号',
name: 'fontSize',
required: false,
placeholder: '',
value: 12,
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'fontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
{
name: '图例操作',
list: [
{
type: 'el-switch',
label: '图例',
name: 'isShowLegend',
required: false,
placeholder: '',
value: true,
},
{
type: 'vue-color',
label: '字体颜色',
name: 'legendColor',
required: false,
placeholder: '',
value: '#fff',
},
{
type: 'el-input-text',
label: '字体字号',
name: 'legendFontSize',
required: false,
placeholder: '',
value: 16,
},
{
type: 'el-input-number',
label: '图例宽度',
name: 'legendWidth',
required: false,
placeholder: '',
value: 15,
},
{
type: 'el-select',
label: '横向位置',
name: 'lateralPosition',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'center'
},
{
type: 'el-select',
label: '纵向位置',
name: 'longitudinalPosition',
required: false,
placeholder: '',
selectOptions: [
{code: 'top', name: '顶部'},
{code: 'bottom', name: '底部'},
],
value: 'top'
},
{
type: 'el-select',
label: '布局前置',
name: 'layoutFront',
required: false,
placeholder: '',
selectOptions: [
{code: 'vertical', name: '竖排'},
{code: 'horizontal', name: '横排'},
],
value: 'horizontal'
},
],
},
{
name: '自定义配色',
list: [
{
type: 'customColor',
label: '',
name: 'customColor',
required: false,
value: [{color: '#0CD2E6'}, {color: '#00BFA5'}, {color: '#FFC722'}, {color: '#886EFF'}, {color: '#008DEC'}],
},
],
},
],
],
// 数据
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: 5000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [{"value": 1048,"name": "搜索引擎"},{"value": 735, "name": "直接访问"},{"value": 580, "name": "邮件营销"},{"value": 484,"name":"联盟广告"},{"value":300,"name":"视频广告"}]
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
chartType: 'widget-piechart',
relactiveDomValue: 'dynamicData',
dictKey: 'PIE_PROPERTIES',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 400,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 200,
},
],
}
}

@ -1,72 +0,0 @@
/*
* @Descripttion: 视频json
* @version:
* @Author: qianlishi
* @Date: 2021-08-29 07:10:22
* @LastEditors: qianlishi
* @LastEditTime: 2021-09-28 14:20:47
*/
export const widgetVideo = {
code: 'widget-video',
type: 'html',
label: '视频',
icon: 'iconshipin',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: 'video',
},
{
type: 'el-input-text',
label: '地址',
name: 'videoAdress',
required: false,
placeholder: '',
value: 'https://www.w3school.com.cn//i/movie.ogg',
},
],
// 数据
data: [],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 300,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 200,
},
],
}
}

@ -1,416 +0,0 @@
export const widgetWordCloud = {
code: 'widgetWordCloud',
type: 'chart',
label: '词云图',
icon: 'iconciyuntu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '词云图',
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
[
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{code: 'center', name: '居中'},
{code: 'left', name: '左对齐'},
{code: 'right', name: '右对齐'},
],
value: 'left'
},
{
type: 'el-input-text',
label: '副标题',
name: 'subText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'subTextFontWeight',
required: false,
placeholder: '',
selectOptions: [
{code: 'normal', name: '正常'},
{code: 'bold', name: '粗体'},
{code: 'bolder', name: '特粗体'},
{code: 'lighter', name: '细体'}
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'subTextFontSize',
required: false,
placeholder: '',
value: 12
},
],
},
{
name: '词云范围',
list: [
{
type: 'el-input-number',
label: '最大范围',
name: 'maxRangeSize',
required: false,
placeholder: '',
value: 25
},
{
type: 'el-input-number',
label: '最小范围',
name: 'minRangeSize',
required: false,
placeholder: '',
value: 2
},
],
},
{
name: '词云角度',
list: [
{
type: 'el-input-number',
label: '最大角度',
name: 'maxRotationRange',
required: false,
placeholder: '',
value: 90
},
{
type: 'el-input-number',
label: '最小角度',
name: 'minRotationRange',
required: false,
placeholder: '',
value: -45
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipsFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
],
],
// 数据
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: 60000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [
{name: "占道", value: 284},
{name: "水质", value: 71},
{name: "无水", value: 71},
{name: "停供", value: 21},
{name: "停气", value: 11},
{name: "占道", value: 11},
{name: "Nancy", value: 520},
{name: "Jayfee", value: 666},
{name: "生活资源", value: 999},
{name: "供热管理", value: 888},
{name: "供气质量", value: 777},
{name: "社会保障", value: 407},
{name: "交通运输", value: 516},
{name: "城市交通", value: 515},
{name: "环境保护", value: 483},
{name: "城乡建设", value: 449},
{name: "公共安全", value: 406},
{name: "供热管理", value: 375},
{name: "市容环卫", value: 355},
{name: "粉尘污染", value: 335},
{name: "噪声污染", value: 324},
{name: "医疗卫生", value: 284},
{name: "供热发展", value: 254},
{name: "房地产管理", value: 462},
{name: "生活噪音", value: 253},
{name: "城市供电", value: 223},
{name: "大气污染", value: 223},
{name: "房屋安全", value: 223},
{name: "文化活动", value: 223},
{name: "拆迁管理", value: 223},
{name: "公共设施", value: 223},
{name: "供气质量", value: 223},
{name: "供电管理", value: 223},
{name: "燃气管理", value: 152},
{name: "教育管理", value: 152},
{name: "医疗纠纷", value: 152},
{name: "执法监督", value: 152},
{name: "设备安全", value: 152},
{name: "政务建设", value: 152},
{name: "宏观经济", value: 152},
{name: "教育管理", value: 112},
{name: "社会保障", value: 112},
{name: "分类列表", value: 112},
{name: "农业生产", value: 112},
{name: "物业服务", value: 92},
{name: "物业管理", value: 92},
{name: "低保管理", value: 92},
{name: "执法争议", value: 72},
{name: "占道堆放", value: 71},
{name: "地上设施", value: 71},
{name: "主网原因", value: 71},
{name: "集中供热", value: 71},
{name: "客运管理", value: 71},
{name: "治安案件", value: 71},
{name: "群众健身", value: 41},
{name: "市场收费", value: 41},
{name: "生产资金", value: 41},
{name: "生产噪声", value: 41},
{name: "农村低保", value: 41},
{name: "劳动争议", value: 41},
{name: "医疗事故", value: 21},
{name: "基础教育", value: 21},
{name: "职业教育", value: 21},
{name: "拆迁补偿", value: 21},
{name: "设施维护", value: 21},
{name: "市场外溢", value: 11},
{name: "占道经营", value: 11},
{name: "树木管理", value: 11},
{name: "供气质量", value: 11},
{name: "燃气管理", value: 11},
{name: "市容环卫", value: 11},
{name: "新闻传媒", value: 11},
{name: "人才招聘", value: 11},
{name: "市场环境", value: 11},
{name: "城市交通", value: 11},
{name: "物业服务", value: 11},
{name: "物业管理", value: 11},
{name: "园林绿化", value: 11},
{name: "有线电视", value: 11},
{name: "社会治安", value: 11},
{name: "林业资源", value: 11},
{name: "体育活动", value: 11},
{name: "低保管理", value: 11},
{name: "劳动争议", value: 11},
{name: "粉煤灰污染", value: 284},
{name: "人行道管理", value: 71},
{name: "身份证管理", value: 71},
{name: "房地产开发", value: 11},
{name: "经营性收费", value: 11},
{name: "一次供水问题", value: 11},
{name: "工业粉尘污染", value: 71},
{name: "工业排放污染", value: 41},
{name: "破坏森林资源", value: 41},
{name: "生活用水管理", value: 688},
{name: "一次供水问题", value: 588},
{name: "公交运输管理", value: 386},
{name: "自然资源管理", value: 355},
{name: "土地资源管理", value: 304},
{name: "生活用水管理", value: 112},
{name: "供热单位影响", value: 253},
{name: "二次供水问题", value: 112},
{name: "城市公共设施", value: 92},
{name: "拆迁政策咨询", value: 92},
{name: "县区、开发区", value: 152},
{name: "文娱市场管理", value: 72},
{name: "商业烟尘污染", value: 72},
{name: "供热单位影响", value: 71},
{name: "压力容器安全", value: 71},
{name: "劳动合同争议", value: 41},
{name: "物业资质管理", value: 21},
{name: "农村基础设施", value: 11},
{name: "行政事业收费", value: 11},
{name: "房屋配套问题", value: 11},
{name: "公交运输管理", value: 11},
{name: "社会福利及事务", value: 11},
{name: "食品安全与卫生", value: 11},
{name: "物业服务与管理", value: 112},
{name: "文体与教育管理", value: 406},
{name: "社会保障与福利", value: 429},
{name: "出租车运营管理", value: 385},
{name: "物业服务与管理", value: 304},
{name: "房屋质量与安全", value: 223},
{name: "劳动报酬与福利", value: 41},
{name: "食品安全与卫生", value: 11},
{name: "房屋与图纸不符", value: 11},
{name: "其他行政事业收费", value: 11},
{name: "农村土地规划管理", value: 254},
{name: "社会保障保险管理", value: 92},
{name: "城市交通秩序管理", value: 72},
{name: "户籍管理及身份证", value: 11},
{name: "公路(水路)交通", value: 11},
{name: "国有公交(大巴)管理", value: 71},
{name: "有线电视安装及调试维护", value: 11},
{name: "市政府工作部门(含部门管理机构、直属单位)", value: 11},
],
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
chartType: 'widget-piechart',
dictKey: 'PIE_PROPERTIES',
relactiveDomValue: 'dynamicData',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 500,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 300,
},
],
}
}

@ -0,0 +1,417 @@
export const widgetWordCloud = {
code: 'widgetWordCloud',
type: 'wordCloud',
tabName: '词云图',
label: '词云图',
icon: 'iconciyuntu',
options: {
// 配置
setup: [
{
type: 'el-input-text',
label: '图层名称',
name: 'layerName',
required: false,
placeholder: '',
value: '词云图',
},
{
type: 'vue-color',
label: '背景颜色',
name: 'background',
required: false,
placeholder: '',
value: ''
},
[
{
name: '标题设置',
list: [
{
type: 'el-switch',
label: '标题',
name: 'isNoTitle',
required: false,
placeholder: '',
value: true
},
{
type: 'el-input-text',
label: '标题',
name: 'titleText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'textColor',
required: false,
placeholder: '',
value: '#fff'
},
{
type: 'el-select',
label: '字体粗细',
name: 'textFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'textFontSize',
required: false,
placeholder: '',
value: 20
},
{
type: 'el-select',
label: '字体位置',
name: 'textAlign',
required: false,
placeholder: '',
selectOptions: [
{ code: 'center', name: '居中' },
{ code: 'left', name: '左对齐' },
{ code: 'right', name: '右对齐' },
],
value: 'left'
},
{
type: 'el-input-text',
label: '副标题',
name: 'subText',
required: false,
placeholder: '',
value: ''
},
{
type: 'vue-color',
label: '字体颜色',
name: 'subTextColor',
required: false,
placeholder: '',
value: ''
},
{
type: 'el-select',
label: '字体粗细',
name: 'subTextFontWeight',
required: false,
placeholder: '',
selectOptions: [
{ code: 'normal', name: '正常' },
{ code: 'bold', name: '粗体' },
{ code: 'bolder', name: '特粗体' },
{ code: 'lighter', name: '细体' }
],
value: 'normal'
},
{
type: 'el-input-number',
label: '字体字号',
name: 'subTextFontSize',
required: false,
placeholder: '',
value: 12
},
],
},
{
name: '词云范围',
list: [
{
type: 'el-input-number',
label: '最大范围',
name: 'maxRangeSize',
required: false,
placeholder: '',
value: 25
},
{
type: 'el-input-number',
label: '最小范围',
name: 'minRangeSize',
required: false,
placeholder: '',
value: 2
},
],
},
{
name: '词云角度',
list: [
{
type: 'el-input-number',
label: '最大角度',
name: 'maxRotationRange',
required: false,
placeholder: '',
value: 90
},
{
type: 'el-input-number',
label: '最小角度',
name: 'minRotationRange',
required: false,
placeholder: '',
value: -45
},
],
},
{
name: '提示语设置',
list: [
{
type: 'el-input-number',
label: '字体字号',
name: 'tipsFontSize',
required: false,
placeholder: '',
value: 16
},
{
type: 'vue-color',
label: '字体颜色',
name: 'tipsColor',
required: false,
placeholder: '',
value: '#00FEFF'
},
],
},
],
],
// 数据
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: 60000
},
{
type: 'el-button',
label: '静态数据',
name: 'staticData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
relactiveDomValue: 'staticData',
value: [
{ name: "占道", value: 284 },
{ name: "水质", value: 71 },
{ name: "无水", value: 71 },
{ name: "停供", value: 21 },
{ name: "停气", value: 11 },
{ name: "占道", value: 11 },
{ name: "Nancy", value: 520 },
{ name: "Jayfee", value: 666 },
{ name: "生活资源", value: 999 },
{ name: "供热管理", value: 888 },
{ name: "供气质量", value: 777 },
{ name: "社会保障", value: 407 },
{ name: "交通运输", value: 516 },
{ name: "城市交通", value: 515 },
{ name: "环境保护", value: 483 },
{ name: "城乡建设", value: 449 },
{ name: "公共安全", value: 406 },
{ name: "供热管理", value: 375 },
{ name: "市容环卫", value: 355 },
{ name: "粉尘污染", value: 335 },
{ name: "噪声污染", value: 324 },
{ name: "医疗卫生", value: 284 },
{ name: "供热发展", value: 254 },
{ name: "房地产管理", value: 462 },
{ name: "生活噪音", value: 253 },
{ name: "城市供电", value: 223 },
{ name: "大气污染", value: 223 },
{ name: "房屋安全", value: 223 },
{ name: "文化活动", value: 223 },
{ name: "拆迁管理", value: 223 },
{ name: "公共设施", value: 223 },
{ name: "供气质量", value: 223 },
{ name: "供电管理", value: 223 },
{ name: "燃气管理", value: 152 },
{ name: "教育管理", value: 152 },
{ name: "医疗纠纷", value: 152 },
{ name: "执法监督", value: 152 },
{ name: "设备安全", value: 152 },
{ name: "政务建设", value: 152 },
{ name: "宏观经济", value: 152 },
{ name: "教育管理", value: 112 },
{ name: "社会保障", value: 112 },
{ name: "分类列表", value: 112 },
{ name: "农业生产", value: 112 },
{ name: "物业服务", value: 92 },
{ name: "物业管理", value: 92 },
{ name: "低保管理", value: 92 },
{ name: "执法争议", value: 72 },
{ name: "占道堆放", value: 71 },
{ name: "地上设施", value: 71 },
{ name: "主网原因", value: 71 },
{ name: "集中供热", value: 71 },
{ name: "客运管理", value: 71 },
{ name: "治安案件", value: 71 },
{ name: "群众健身", value: 41 },
{ name: "市场收费", value: 41 },
{ name: "生产资金", value: 41 },
{ name: "生产噪声", value: 41 },
{ name: "农村低保", value: 41 },
{ name: "劳动争议", value: 41 },
{ name: "医疗事故", value: 21 },
{ name: "基础教育", value: 21 },
{ name: "职业教育", value: 21 },
{ name: "拆迁补偿", value: 21 },
{ name: "设施维护", value: 21 },
{ name: "市场外溢", value: 11 },
{ name: "占道经营", value: 11 },
{ name: "树木管理", value: 11 },
{ name: "供气质量", value: 11 },
{ name: "燃气管理", value: 11 },
{ name: "市容环卫", value: 11 },
{ name: "新闻传媒", value: 11 },
{ name: "人才招聘", value: 11 },
{ name: "市场环境", value: 11 },
{ name: "城市交通", value: 11 },
{ name: "物业服务", value: 11 },
{ name: "物业管理", value: 11 },
{ name: "园林绿化", value: 11 },
{ name: "有线电视", value: 11 },
{ name: "社会治安", value: 11 },
{ name: "林业资源", value: 11 },
{ name: "体育活动", value: 11 },
{ name: "低保管理", value: 11 },
{ name: "劳动争议", value: 11 },
{ name: "粉煤灰污染", value: 284 },
{ name: "人行道管理", value: 71 },
{ name: "身份证管理", value: 71 },
{ name: "房地产开发", value: 11 },
{ name: "经营性收费", value: 11 },
{ name: "一次供水问题", value: 11 },
{ name: "工业粉尘污染", value: 71 },
{ name: "工业排放污染", value: 41 },
{ name: "破坏森林资源", value: 41 },
{ name: "生活用水管理", value: 688 },
{ name: "一次供水问题", value: 588 },
{ name: "公交运输管理", value: 386 },
{ name: "自然资源管理", value: 355 },
{ name: "土地资源管理", value: 304 },
{ name: "生活用水管理", value: 112 },
{ name: "供热单位影响", value: 253 },
{ name: "二次供水问题", value: 112 },
{ name: "城市公共设施", value: 92 },
{ name: "拆迁政策咨询", value: 92 },
{ name: "县区、开发区", value: 152 },
{ name: "文娱市场管理", value: 72 },
{ name: "商业烟尘污染", value: 72 },
{ name: "供热单位影响", value: 71 },
{ name: "压力容器安全", value: 71 },
{ name: "劳动合同争议", value: 41 },
{ name: "物业资质管理", value: 21 },
{ name: "农村基础设施", value: 11 },
{ name: "行政事业收费", value: 11 },
{ name: "房屋配套问题", value: 11 },
{ name: "公交运输管理", value: 11 },
{ name: "社会福利及事务", value: 11 },
{ name: "食品安全与卫生", value: 11 },
{ name: "物业服务与管理", value: 112 },
{ name: "文体与教育管理", value: 406 },
{ name: "社会保障与福利", value: 429 },
{ name: "出租车运营管理", value: 385 },
{ name: "物业服务与管理", value: 304 },
{ name: "房屋质量与安全", value: 223 },
{ name: "劳动报酬与福利", value: 41 },
{ name: "食品安全与卫生", value: 11 },
{ name: "房屋与图纸不符", value: 11 },
{ name: "其他行政事业收费", value: 11 },
{ name: "农村土地规划管理", value: 254 },
{ name: "社会保障保险管理", value: 92 },
{ name: "城市交通秩序管理", value: 72 },
{ name: "户籍管理及身份证", value: 11 },
{ name: "公路(水路)交通", value: 11 },
{ name: "国有公交(大巴)管理", value: 71 },
{ name: "有线电视安装及调试维护", value: 11 },
{ name: "市政府工作部门(含部门管理机构、直属单位)", value: 11 },
],
},
{
type: 'dycustComponents',
label: '',
name: 'dynamicData',
required: false,
placeholder: '',
relactiveDom: 'dataType',
chartType: 'widget-piechart',
dictKey: 'PIE_PROPERTIES',
relactiveDomValue: 'dynamicData',
value: '',
},
],
// 坐标
position: [
{
type: 'el-input-number',
label: '左边距',
name: 'left',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '上边距',
name: 'top',
required: false,
placeholder: '',
value: 0,
},
{
type: 'el-input-number',
label: '宽度',
name: 'width',
required: false,
placeholder: '该容器在1920px大屏中的宽度',
value: 500,
},
{
type: 'el-input-number',
label: '高度',
name: 'height',
required: false,
placeholder: '该容器在1080px大屏中的高度',
value: 300,
},
],
}
}

@ -3,8 +3,8 @@
* @version: * @version:
* @Author: qianlishi * @Author: qianlishi
* @Date: 2021-08-29 06:43:07 * @Date: 2021-08-29 06:43:07
* @LastEditors: qianlishi * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2022-03-11 10:35:35 * @LastEditTime: 2022-11-07 15:35:42
*/ */
import { widgetTool } from "./main" import { widgetTool } from "./main"
const screenConfig = { const screenConfig = {
@ -66,9 +66,30 @@ const screenConfig = {
position: [], position: [],
} }
} }
const widgetTools = [
...widgetTool 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) { const getToolByCode = function (code) {
// 获取大屏底层设置属性 // 获取大屏底层设置属性
@ -76,10 +97,8 @@ const getToolByCode = function (code) {
return screenConfig return screenConfig
} }
// 获取组件 // 获取组件
let item = widgetTools.find(function (item, index, arrs) { return [...widgetTool].find((item) => {
return item.code === code return item.code == code
}) })
return item
} }
console.log(widgetTools)
export { widgetTools, getToolByCode } export { widgetTools, getToolByCode }

@ -3,41 +3,41 @@
* @version: * @version:
* @Author: qianlishi * @Author: qianlishi
* @Date: 2021-08-29 07:46:46 * @Date: 2021-08-29 07:46:46
* @LastEditors: qianlishi * @LastEditors: qianlishi qianlishi@anji-plus.com
* @LastEditTime: 2021-12-13 14:23:59 * @LastEditTime: 2022-11-07 15:34:02
*/ */
import {widgetText} from "./configure/widget-text" import { widgetText } from "./configure/texts/widget-text"
import {widgetMarquee} from "./configure/widget-marquee" import { widgetMarquee } from "./configure/texts/widget-marquee"
import {widgetHref} from "./configure/widget-href" import { widgetHref } from "./configure/texts/widget-href"
import {widgetTime} from "./configure/widget-time" import { widgetTime } from "./configure/texts/widget-time"
import {widgetImage} from "./configure/widget-image" import { widgetImage } from "./configure/texts/widget-image"
import {widgetSliders} from "./configure/widget-slider" import { widgetSliders } from "./configure/texts/widget-slider"
import {widgetVideo} from "./configure/widget-video" import { widgetVideo } from "./configure/texts/widget-video"
import {widgetTable} from "./configure/widget-table" import { widgetTable } from "./configure/texts/widget-table"
import {widgetIframe} from "./configure/widget-iframe" import { widgetIframe } from "./configure/texts/widget-iframe"
import { widgetUniversal } from "./configure/widget-universal" import { widgetUniversal } from "./configure/widget-universal"
import {widgetBarchart} from "./configure/widget-barchart" import { widgetBarchart } from "./configure/barCharts/widget-barchart"
import {widgetGradientBarchart} from "./configure/widget-gradient-barchart" import { widgetGradientBarchart } from "./configure/barlineChart/widget-gradient-barchart"
import {widgetLinechart} from "./configure/widget-linechart" import { widgetLinechart } from "./configure/lineCharts/widget-linechart"
import {widgetBarlinechart} from "./configure/widget-barlinechart" import { widgetBarlinechart } from "./configure/barlineChart/widget-barlinechart"
import {widgetPiechart} from "./configure/widget-piechart" import { widgetPiechart } from "./configure/pieCharts/widget-piechart"
import {widgetFunnel} from "./configure/widget-funnel" import { widgetFunnel } from "./configure/funnelCharts/widget-funnel"
import {widgetGauge} from "./configure/widget-gauge" import { widgetGauge } from "./configure/percentCharts/widget-gauge"
import {widgetLineMap} from "./configure/widget-line-map" import { widgetLineMap } from "./configure/mapCharts/widget-line-map"
import {widgetPieNightingale} from "./configure/widget-pie-nightingale" import { widgetPieNightingale } from "./configure/pieCharts/widget-pie-nightingale"
import {widgetPiePercentage} from "./configure/widget-pie-percentage" import { widgetPiePercentage } from "./configure/percentCharts/widget-pie-percentage"
import {widgetAirbubbleMap} from "./configure/widget-airbubble-map" import { widgetAirbubbleMap } from "./configure/mapCharts/widget-airbubble-map"
import {widgetBarStack} from "./configure/widget-bar-stack" import { widgetBarStack } from "./configure/barCharts/widget-bar-stack"
import {widgetLineStack} from "./configure/widget-line-stack" import { widgetLineStack } from "./configure/lineCharts/widget-line-stack"
import {widgetBarCompare} from "./configure/widget-bar-compare" import { widgetBarCompare } from "./configure/barCharts/widget-bar-compare"
import {widgetLineCompare} from "./configure/widget-line-compare" import { widgetLineCompare } from "./configure/lineCharts/widget-line-compare"
import {widgetDecoratePie} from "./configure/widget-decorate-pie"; import { widgetDecoratePie } from "./configure/decorateCharts/widget-decorate-pie";
import {widgetMoreBarLine} from "./configure/widget-more-bar-line"; import { widgetMoreBarLine } from "./configure/barlineChart/widget-more-bar-line";
import {widgetWordCloud} from "./configure/widget-word-cloud"; import { widgetWordCloud } from "./configure/wordcloudCharts/widget-word-cloud";
import {widgetHeatmap} from "./configure/widget-heatmap"; import { widgetHeatmap } from "./configure/heatmap/widget-heatmap";
import {widgetRadar} from "./configure/widget-radar"; import { widgetRadar } from "./configure/texts/widget-radar";
import {widgetBarLineStack} from "./configure/widget-bar-line-stack"; import { widgetBarLineStack } from "./configure/barCharts/widget-bar-line-stack";
export const widgetTool = [ export const widgetTool = [
// type=html类型的组件 // type=html类型的组件

Loading…
Cancel
Save