|
|
|
|
@ -402,8 +402,10 @@
|
|
|
|
|
:body-style="{padding:'4px 0'}">
|
|
|
|
|
<template #header>
|
|
|
|
|
<div style="width: 100%;height: 100%;text-align: center">
|
|
|
|
|
<el-icon><Menu /></el-icon>
|
|
|
|
|
<!-- <el-image style="width:50px;height: 50px;text-align: center" :src="textImg" fit="contain" />-->
|
|
|
|
|
<el-icon>
|
|
|
|
|
<Menu />
|
|
|
|
|
</el-icon>
|
|
|
|
|
<!-- <el-image style="width:50px;height: 50px;text-align: center" :src="textImg" fit="contain" />-->
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<div class="moduleText">菜单</div>
|
|
|
|
|
@ -522,167 +524,175 @@
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-line="props">
|
|
|
|
|
<LineNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<LineNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-multiLines="props">
|
|
|
|
|
<MultiLinesNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<MultiLinesNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-curve="props">
|
|
|
|
|
<CurveNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<CurveNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-multiCurves="props">
|
|
|
|
|
<MultiCurvesNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<MultiCurvesNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-lineBar="props">
|
|
|
|
|
<LineBarNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<LineBarNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-bar="props">
|
|
|
|
|
<BarNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<BarNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-backgroundBar="props">
|
|
|
|
|
<BackgroundBarNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<BackgroundBarNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-multiBars="props">
|
|
|
|
|
<MultiBarsNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<MultiBarsNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-pie="props">
|
|
|
|
|
<PieNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<PieNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-annular="props">
|
|
|
|
|
<AnnularNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<AnnularNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-radar="props">
|
|
|
|
|
<RadarNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<RadarNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-dashboard="props">
|
|
|
|
|
<DashboardNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<DashboardNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-props="props">
|
|
|
|
|
<NightingaleRoseDiagramNode v-bind="props"
|
|
|
|
|
<NightingaleRoseDiagramNode :colors="pageSettingForm.colors" v-bind="props"
|
|
|
|
|
:inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-carousel="props">
|
|
|
|
|
<CarouselNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<CarouselNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-data="props">
|
|
|
|
|
<DataNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<DataNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-text="props">
|
|
|
|
|
<TextNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<TextNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-img="imgNodeProps">
|
|
|
|
|
<ImgNode v-bind="imgNodeProps" :inputData="getInputData(imgNodeProps.id)"
|
|
|
|
|
<ImgNode :colors="pageSettingForm.colors" v-bind="imgNodeProps" :inputData="getInputData(imgNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, imgNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-icon="iconNodeProps">
|
|
|
|
|
<IconNode v-bind="iconNodeProps" :inputData="getInputData(iconNodeProps.id)"
|
|
|
|
|
<IconNode :colors="pageSettingForm.colors" v-bind="iconNodeProps"
|
|
|
|
|
:inputData="getInputData(iconNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, iconNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-video="videoNodeProps">
|
|
|
|
|
<VideoNode v-bind="videoNodeProps" :inputData="getInputData(videoNodeProps.id)"
|
|
|
|
|
<VideoNode :colors="pageSettingForm.colors" v-bind="videoNodeProps"
|
|
|
|
|
:inputData="getInputData(videoNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, videoNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-timeline="timelineNodeProps">
|
|
|
|
|
<TimelineNode v-bind="timelineNodeProps" :inputData="getInputData(timelineNodeProps.id)"
|
|
|
|
|
<TimelineNode :colors="pageSettingForm.colors" v-bind="timelineNodeProps"
|
|
|
|
|
:inputData="getInputData(timelineNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, timelineNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-digitalFlop="digitalFlopNodeProps">
|
|
|
|
|
<DigitalFlopNode v-bind="digitalFlopNodeProps" :inputData="getInputData(digitalFlopNodeProps.id)"
|
|
|
|
|
<DigitalFlopNode :colors="pageSettingForm.colors" v-bind="digitalFlopNodeProps"
|
|
|
|
|
:inputData="getInputData(digitalFlopNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, digitalFlopNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-inputNode="inputNodeProps">
|
|
|
|
|
<InputNode v-bind="inputNodeProps" :inputData="getInputData(inputNodeProps.id)"
|
|
|
|
|
<InputNode :colors="pageSettingForm.colors" v-bind="inputNodeProps"
|
|
|
|
|
:inputData="getInputData(inputNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, inputNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-buttonNode="buttonNodeProps">
|
|
|
|
|
<ButtonNode v-bind="buttonNodeProps" :inputData="getInputData(buttonNodeProps.id)"
|
|
|
|
|
<ButtonNode :colors="pageSettingForm.colors" v-bind="buttonNodeProps"
|
|
|
|
|
:inputData="getInputData(buttonNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, buttonNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-selectNode="selectNodeProps">
|
|
|
|
|
<SelectNode v-bind="selectNodeProps" :inputData="getInputData(selectNodeProps.id)"
|
|
|
|
|
<SelectNode :colors="pageSettingForm.colors" v-bind="selectNodeProps"
|
|
|
|
|
:inputData="getInputData(selectNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, selectNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-time="props">
|
|
|
|
|
<TimeNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<TimeNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-map="mapNodeProps">
|
|
|
|
|
<MapNode v-bind="mapNodeProps" :inputData="getInputData(mapNodeProps.id)"
|
|
|
|
|
<MapNode :colors="pageSettingForm.colors" v-bind="mapNodeProps" :inputData="getInputData(mapNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, mapNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-staticData="staticDataNodeProps">
|
|
|
|
|
<StaticDataNode v-bind="staticDataNodeProps" :inputData="getInputData(staticDataNodeProps.id)"
|
|
|
|
|
<StaticDataNode :colors="pageSettingForm.colors" v-bind="staticDataNodeProps" :inputData="getInputData(staticDataNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, staticDataNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-table="tableNodeProps">
|
|
|
|
|
<TableNode v-bind="tableNodeProps" :inputData="getInputData(tableNodeProps.id)"
|
|
|
|
|
<TableNode :colors="pageSettingForm.colors" v-bind="tableNodeProps" :inputData="getInputData(tableNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, tableNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-scrollTable="scrollTableNodeProps">
|
|
|
|
|
<ScrollTableNode v-bind="scrollTableNodeProps" :inputData="getInputData(scrollTableNodeProps.id)"
|
|
|
|
|
<ScrollTableNode :colors="pageSettingForm.colors" v-bind="scrollTableNodeProps" :inputData="getInputData(scrollTableNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, scrollTableNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-background="backgroundNodeProps">
|
|
|
|
|
<BackgroundNode v-bind="backgroundNodeProps" :inputData="getInputData(backgroundNodeProps.id)"
|
|
|
|
|
<BackgroundNode :colors="pageSettingForm.colors" v-bind="backgroundNodeProps" :inputData="getInputData(backgroundNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, backgroundNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-pagination="paginationNodeProps">
|
|
|
|
|
<PaginationNode v-bind="paginationNodeProps" :inputData="getInputData(paginationNodeProps.id)"
|
|
|
|
|
<PaginationNode :colors="pageSettingForm.colors" v-bind="paginationNodeProps" :inputData="getInputData(paginationNodeProps.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, paginationNodeProps)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-menu="props">
|
|
|
|
|
<MenuNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<MenuNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template #node-tree="props">
|
|
|
|
|
<TreeNode v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
<TreeNode :colors="pageSettingForm.colors" v-bind="props" :inputData="getInputData(props.id)"
|
|
|
|
|
@resize="(e) => handleResizeStop(e, props)" />
|
|
|
|
|
</template>
|
|
|
|
|
</VueFlow>
|
|
|
|
|
@ -690,7 +700,7 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div class="right">
|
|
|
|
|
<div class="tabs">
|
|
|
|
|
<div v-if="Object.keys(nodeDataForm).length>0" class="tab" :class="{active : tabs === 0}"
|
|
|
|
|
<div class="tab" :class="{active : tabs === 0}"
|
|
|
|
|
@click="selectTabs(0)">
|
|
|
|
|
属性设置
|
|
|
|
|
</div>
|
|
|
|
|
@ -700,27 +710,61 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tabItems">
|
|
|
|
|
<div class="tabItem" v-if="Object.keys(nodeDataForm).length>0 && tabs === 0">
|
|
|
|
|
<div class="tabItem" v-if=" tabs === 0">
|
|
|
|
|
<el-form :model="nodeDataForm" label-width="auto" style="max-width: 600px">
|
|
|
|
|
<el-form-item label="组件名称">
|
|
|
|
|
<el-form-item v-if="Object.keys(nodeDataForm).includes('name')" label="组件名称">
|
|
|
|
|
<el-input v-model="nodeDataForm.name" style="width: 100%" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="x">
|
|
|
|
|
<el-form-item v-if="Object.keys(nodeDataForm).includes('position')" label="x">
|
|
|
|
|
<el-input-number :precision="0" :step="1" v-model="nodeDataForm.position.x" style="width: 100%"
|
|
|
|
|
@change="updateNode(nodeDataForm.id,nodeDataForm,{ replace: true })" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="y">
|
|
|
|
|
<el-form-item v-if="Object.keys(nodeDataForm).includes('position')" label="y">
|
|
|
|
|
<el-input-number :precision="0" :step="1" v-model="nodeDataForm.position.y" style="width: 100%"
|
|
|
|
|
@change="updateNode(nodeDataForm.id,nodeDataForm,{ replace: true })" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="宽度">
|
|
|
|
|
<el-form-item v-if="Object.keys(nodeDataForm).includes('dimensions')" label="宽度">
|
|
|
|
|
<el-input-number :precision="0" :step="1" v-model="nodeDataForm.dimensions.width" style="width: 100%"
|
|
|
|
|
@change="updateNode(nodeDataForm.id,nodeDataForm,{ replace: true })" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="高度">
|
|
|
|
|
<el-form-item v-if="Object.keys(nodeDataForm).includes('dimensions')" label="高度">
|
|
|
|
|
<el-input-number :precision="0" :step="1" v-model="nodeDataForm.dimensions.height" style="width: 100%"
|
|
|
|
|
@change="updateNode(nodeDataForm.id,nodeDataForm,{ replace: true })" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="颜色库" v-if="!Object.keys(nodeAttrForm).length>0">
|
|
|
|
|
<el-badge value="99" class="item" :offset="[-8,0]"
|
|
|
|
|
v-for="(i,k) in pageSettingForm.colors">
|
|
|
|
|
<el-color-picker style="margin-right: 8px;"
|
|
|
|
|
v-model="pageSettingForm.colors[k]" show-alpha />
|
|
|
|
|
<template #content>
|
|
|
|
|
<div class="custom-content" @click="pageSettingForm.colors.splice(k, 1)">
|
|
|
|
|
<el-icon>
|
|
|
|
|
<Close />
|
|
|
|
|
</el-icon>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
</el-badge>
|
|
|
|
|
<el-button :icon="Plus" @click="pageSettingForm.colors.push('#fff')" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="颜色库切换" v-if="!Object.keys(nodeAttrForm).length>0">
|
|
|
|
|
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="colorType"
|
|
|
|
|
placeholder="请选择"
|
|
|
|
|
style="width: 200px"
|
|
|
|
|
@change="(e)=>pageSettingForm.colors = colorList[e].colors"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
:label="i.name"
|
|
|
|
|
v-for=" i in colorList"
|
|
|
|
|
:value="i.value"
|
|
|
|
|
>
|
|
|
|
|
<div v-for="ii in i.colors" style="width: 10px;height: 10px;display: inline-block"
|
|
|
|
|
:style="{backgroundColor: ii}"></div>
|
|
|
|
|
<div style="width: 10px;display: inline-block;margin-left: 20px">{{ i.name }}</div>
|
|
|
|
|
</el-option>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="tabItem" v-if="Object.keys(nodeAttrForm).length>0 && tabs === 1">
|
|
|
|
|
@ -1059,6 +1103,22 @@
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="换行方式" v-if="Object.keys(nodeAttrForm).includes('whiteSpace')">
|
|
|
|
|
<el-select
|
|
|
|
|
v-model="nodeAttrForm.whiteSpace"
|
|
|
|
|
placeholder="请选择"
|
|
|
|
|
style="width: 100%"
|
|
|
|
|
>
|
|
|
|
|
<el-option
|
|
|
|
|
label="自动换行"
|
|
|
|
|
value="normal"
|
|
|
|
|
/>
|
|
|
|
|
<el-option
|
|
|
|
|
label="不换行"
|
|
|
|
|
value="nowrap"
|
|
|
|
|
/>
|
|
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="文字颜色" v-if="Object.keys(nodeAttrForm).includes('color')">
|
|
|
|
|
<el-color-picker v-model="nodeAttrForm.color" show-alpha />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
@ -1078,7 +1138,8 @@
|
|
|
|
|
:headers="headers"
|
|
|
|
|
:on-success="(res)=>nodeAttrForm.backgroundImage = res.data.url"
|
|
|
|
|
>
|
|
|
|
|
<img style="width: 100px" v-if="nodeAttrForm.backgroundImage" :src="nodeAttrForm.backgroundImage" class="avatar"
|
|
|
|
|
<img style="width: 100px" v-if="nodeAttrForm.backgroundImage" :src="nodeAttrForm.backgroundImage"
|
|
|
|
|
class="avatar"
|
|
|
|
|
alt="" />
|
|
|
|
|
<el-icon v-else class="avatar-uploader-icon">
|
|
|
|
|
<Plus />
|
|
|
|
|
@ -1274,7 +1335,6 @@
|
|
|
|
|
<el-form-item label="饼图半径" v-if="Object.keys(nodeAttrForm).includes('pieRadius')">
|
|
|
|
|
<el-slider v-model="nodeAttrForm.pieRadius" :min="0" :max="100" range />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
<el-form-item label="饼图颜色" v-if="Object.keys(nodeAttrForm).includes('colorList')">
|
|
|
|
|
<el-badge value="99" class="item" :offset="[-8,0]"
|
|
|
|
|
v-for="(i,k) in nodeAttrForm.colorList">
|
|
|
|
|
@ -1618,7 +1678,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
<el-dialog v-model="treeOptionsVisible" title="树设置" fullscreen>
|
|
|
|
|
<TreeOption :data="nodeAttrForm.treeOptions" :level="nodeAttrForm.level"/>
|
|
|
|
|
<TreeOption :data="nodeAttrForm.treeOptions" :level="nodeAttrForm.level" />
|
|
|
|
|
</el-dialog>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
@ -1697,7 +1757,7 @@ import InputNode from '@/views/boardGenerate/nodes/form/inputNode.vue';
|
|
|
|
|
import ButtonNode from '@/views/boardGenerate/nodes/form/buttonNode.vue';
|
|
|
|
|
import SelectNode from '@/views/boardGenerate/nodes/form/selectNode.vue';
|
|
|
|
|
|
|
|
|
|
import MenuNode from './nodes/advancedComponents/menuNode.vue'
|
|
|
|
|
import MenuNode from './nodes/advancedComponents/menuNode.vue';
|
|
|
|
|
import TreeNode from './nodes/advancedComponents/tree/index.vue';
|
|
|
|
|
import TreeOption from './nodes/advancedComponents/tree/option.vue';
|
|
|
|
|
|
|
|
|
|
@ -1845,6 +1905,41 @@ onMounted(async () => {
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
const icons = ref([]);
|
|
|
|
|
const colorType = ref();
|
|
|
|
|
const colorList = ref([
|
|
|
|
|
{
|
|
|
|
|
name: '科技',
|
|
|
|
|
value: 0,
|
|
|
|
|
colors: ['#0B3D91', '#0F4C81', '#1663A8', '#1A76C8', '#2A93E2', '#4AA7FF', '#70BCFF', '#98D4FF', '#BFE7FF', '#E6F3FF']
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '复古',
|
|
|
|
|
value: 1,
|
|
|
|
|
colors: ['#6B3E2A', '#8B4F2E', '#A65A2F', '#C36A33', '#E07B3A', '#F09C4B', '#F6B66E', '#F9D19A', '#FBE5C4', '#FFF3E8']
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '自然',
|
|
|
|
|
value: 2,
|
|
|
|
|
colors: ['#1B5E20', '#2E7D32', '#3EA34B', '#56B86A', '#6FD58A', '#86E3A7', '#A2F2C5', '#C1F9DE', '#DFFFEF', '#F3FFF8']
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '霓虹',
|
|
|
|
|
value: 3,
|
|
|
|
|
colors: ['#FF3D7F', '#FF5E5E', '#FF8A00', '#FFD700', '#32FFDA', '#00E5FF', '#3B82F6', '#6B5BFF', '#B45CFF', '#FF3DF5']
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '极简',
|
|
|
|
|
value: 4,
|
|
|
|
|
colors: ['#0B0C10', '#1A1B21', '#2B2D33', '#3D4048', '#4F535E', '#6A6F7A', '#8A909F', '#B0B6C3', '#D2D7E3', '#F0F2F8']
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '标准',
|
|
|
|
|
value: 5,
|
|
|
|
|
colors: ['#5470C6', '#91CC75', '#FAC858', '#EE6666', '#73C0DE', '#3BA272', '#FC8452', '#9A60B4', '#EA7CCC']
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
]);
|
|
|
|
|
const selectIconInput = ref('');
|
|
|
|
|
const collapseActiveName = ref('1');
|
|
|
|
|
const loading = ref(false);
|
|
|
|
|
@ -1873,7 +1968,6 @@ const customData = ref([]);
|
|
|
|
|
const cellOption = ref({});
|
|
|
|
|
const boardData = ref({});
|
|
|
|
|
const pageData = ref({});
|
|
|
|
|
const customDataForm = ref({});
|
|
|
|
|
const nodeAttrForm = ref({});
|
|
|
|
|
const nodeDataForm = ref({});
|
|
|
|
|
const pageSettingForm = ref({});
|
|
|
|
|
@ -1896,24 +1990,22 @@ const logEvent = async (eventname, event) => {
|
|
|
|
|
case 'paneClick':
|
|
|
|
|
nodeAttrForm.value = {};
|
|
|
|
|
nodeDataForm.value = {};
|
|
|
|
|
customDataForm.value = {};
|
|
|
|
|
tabs.value = 0
|
|
|
|
|
break;
|
|
|
|
|
case 'click':
|
|
|
|
|
nodeAttrForm.value = event.node.data.options;
|
|
|
|
|
nodeDataForm.value = event.node;
|
|
|
|
|
customDataForm.value = event.node.data.customData;
|
|
|
|
|
key.value += 1;
|
|
|
|
|
break;
|
|
|
|
|
case 'nodeDrag':
|
|
|
|
|
if (event.nodes.length === 1) {
|
|
|
|
|
nodeAttrForm.value = event.node.data.options;
|
|
|
|
|
nodeDataForm.value = event.node;
|
|
|
|
|
customDataForm.value = event.node.data.customData;
|
|
|
|
|
key.value += 1;
|
|
|
|
|
} else {
|
|
|
|
|
nodeAttrForm.value = {};
|
|
|
|
|
nodeDataForm.value = {};
|
|
|
|
|
customDataForm.value = {};
|
|
|
|
|
tabs,value = 0
|
|
|
|
|
nodeDataForm.value = { };
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 'contextmenu':
|
|
|
|
|
@ -2133,7 +2225,6 @@ const pitchOnNode = (e) => {
|
|
|
|
|
nodeAttrForm.value = e.data.options;
|
|
|
|
|
key.value += 1;
|
|
|
|
|
nodeDataForm.value = e;
|
|
|
|
|
customDataForm.value = e.data.customData;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const cellClick = (e) => {
|
|
|
|
|
|