feat--优化

This commit is contained in:
qianming
2023-12-28 16:19:24 +08:00
parent c9347566c7
commit 105d323f7c
3 changed files with 65 additions and 55 deletions

View File

@@ -7,42 +7,43 @@
* @LastEditTime: 2023-04-19 09:22:37
*/
import { widgetText } from "./configure/texts/widget-text"
import { widgetMarquee } from "./configure/texts/widget-marquee"
import { widgetHref } from "./configure/texts/widget-href"
import { widgetTime } from "./configure/texts/widget-time"
import { widgetImage } from "./configure/texts/widget-image"
import { widgetSliders } from "./configure/texts/widget-slider"
import { widgetVideo } from "./configure/texts/widget-video"
import { widgetTable } from "./configure/texts/widget-table"
import { widgetIframe } from "./configure/texts/widget-iframe"
import { widgetUniversal } from "./configure/widget-universal"
import { widgetBarchart } from "./configure/barCharts/widget-barchart"
import { widgetGradientBarchart } from "./configure/barCharts/widget-gradient-barchart"
import { widgetLinechart } from "./configure/lineCharts/widget-linechart"
import { widgetBarlinechart } from "./configure/barlineCharts/widget-barlinechart"
import { widgetPiechart } from "./configure/pieCharts/widget-piechart"
import { widgetFunnel } from "./configure/funnelCharts/widget-funnel"
import { widgetGauge } from "./configure/percentCharts/widget-gauge"
import { widgetLineMap } from "./configure/mapCharts/widget-line-map"
import { widgetPieNightingale } from "./configure/pieCharts/widget-pie-nightingale"
import { widgetPiePercentage } from "./configure/percentCharts/widget-pie-percentage"
import { widgetAirbubbleMap } from "./configure/mapCharts/widget-airbubble-map"
import { widgetBarStack } from "./configure/barCharts/widget-bar-stack"
import { widgetLineStack } from "./configure/lineCharts/widget-line-stack"
import { widgetBarCompare } from "./configure/barCharts/widget-bar-compare"
import { widgetLineCompare } from "./configure/lineCharts/widget-line-compare"
import { widgetDecoratePie } from "./configure/styleWidget/widget-decorate-pie";
import { widgetMoreBarLine } from "./configure/barlineCharts/widget-more-bar-line";
import { widgetWordCloud } from "./configure/wordcloudCharts/widget-word-cloud";
import { widgetHeatmap } from "./configure/heatmap/widget-heatmap";
import { widgetRadar } from "./configure/radarCharts/widget-radar";
import { widgetBarLineStack } from "./configure/barlineCharts/widget-bar-line-stack";
import { widgetSelect } from "./configure/form/widget-select";
import {widgetText} from "./configure/texts/widget-text"
import {widgetMarquee} from "./configure/texts/widget-marquee"
import {widgetHref} from "./configure/texts/widget-href"
import {widgetTime} from "./configure/texts/widget-time"
import {widgetImage} from "./configure/texts/widget-image"
import {widgetSliders} from "./configure/texts/widget-slider"
import {widgetVideo} from "./configure/texts/widget-video"
import {widgetTable} from "./configure/texts/widget-table"
import {widgetIframe} from "./configure/texts/widget-iframe"
import {widgetUniversal} from "./configure/widget-universal"
import {widgetBarchart} from "./configure/barCharts/widget-barchart"
import {widgetGradientBarchart} from "./configure/barCharts/widget-gradient-barchart"
import {widgetLinechart} from "./configure/lineCharts/widget-linechart"
import {widgetBarlinechart} from "./configure/barlineCharts/widget-barlinechart"
import {widgetPiechart} from "./configure/pieCharts/widget-piechart"
import {widgetFunnel} from "./configure/funnelCharts/widget-funnel"
import {widgetGauge} from "./configure/percentCharts/widget-gauge"
import {widgetLineMap} from "./configure/mapCharts/widget-line-map"
import {widgetPieNightingale} from "./configure/pieCharts/widget-pie-nightingale"
import {widgetPiePercentage} from "./configure/percentCharts/widget-pie-percentage"
import {widgetAirbubbleMap} from "./configure/mapCharts/widget-airbubble-map"
import {widgetBarStack} from "./configure/barCharts/widget-bar-stack"
import {widgetLineStack} from "./configure/lineCharts/widget-line-stack"
import {widgetBarCompare} from "./configure/barCharts/widget-bar-compare"
import {widgetLineCompare} from "./configure/lineCharts/widget-line-compare"
import {widgetDecoratePie} from "./configure/styleWidget/widget-decorate-pie";
import {widgetMoreBarLine} from "./configure/barlineCharts/widget-more-bar-line";
import {widgetWordCloud} from "./configure/wordcloudCharts/widget-word-cloud";
import {widgetHeatmap} from "./configure/heatmap/widget-heatmap";
import {widgetRadar} from "./configure/radarCharts/widget-radar";
import {widgetBarLineStack} from "./configure/barlineCharts/widget-bar-line-stack";
import {widgetSelect} from "./configure/form/widget-select";
// import { widgetInput } from "./configure/form/widget-input";
import { widgetFormTime } from "./configure/form/widget-form-time";
import { widgetScaleVertical } from "./configure/scaleCharts/widget-scale-vertical";
import { widgetScaleHorizontal } from "./configure/scaleCharts/widget-scale-horizontal"
import {widgetFormTime} from "./configure/form/widget-form-time";
import {widgetScaleVertical} from "./configure/scaleCharts/widget-scale-vertical";
import {widgetScaleHorizontal} from "./configure/scaleCharts/widget-scale-horizontal"
import {widgetScatter} from "./configure/scatterCharts/widget-scatter";
import {widgetBarDoubleYaxis} from "./configure/barCharts/widget-bar-double-yaxis-chart";
import {widgetBorder} from "./configure/styleWidget/widget-border";
import {widgetDecorateFlowLine} from "./configure/styleWidget/widget-decorate-flow-line";
@@ -50,8 +51,7 @@ import {widgetDecoration} from "./configure/styleWidget/widget-decoration";
import {widgetBarMap} from "./configure/mapCharts/widget-bar-map";
import {widgetChinaMap} from "./configure/mapCharts/widget-china-map";
import {widgetGlobalMap} from "./configure/mapCharts/widget-global-map";
import {widgetScatter} from "./configure/scatterCharts/widget-scatter";
import {widgetBarStackMoreShow} from "./configure/barCharts/widget-bar-stack-more-show";
export const widgetTool = [
// type=html类型的组件
widgetText,
@@ -90,6 +90,7 @@ export const widgetTool = [
widgetBarLineStack,
widgetScaleVertical,
widgetScaleHorizontal,
widgetScatter,
widgetSelect,
// widgetInput,
widgetFormTime,
@@ -97,5 +98,5 @@ export const widgetTool = [
widgetBarMap,
widgetChinaMap,
widgetGlobalMap,
widgetScatter
widgetBarStackMoreShow
]

View File

@@ -45,6 +45,7 @@ import widgetInput from "./form/widgetInput.vue";
import widgetFormTime from "./form/widgetFormTime.vue";
import widgetScaleVertical from "./scale/widgetScaleVertical.vue";
import widgetScaleHorizontal from "./scale/widgetScaleHorizontal.vue";
import widgetScatter from "./scatter/widgetScatter.vue";
import widgetBarDoubleYaxisChart from "./bar/widgetBarDoubleYaxisChart.vue";
import widgetDecorateFlowLine from "./styleWidget/widgetDecorateFlowLine.vue";
import widgetBorder from "./styleWidget/widgetBorder.vue";
@@ -52,7 +53,7 @@ import widgetDecoration from "./styleWidget/widgetDecoration.vue";
import widgetBarMap from "./map/widgetBarMap.vue";
import widgetChinaMap from "./map/widgetChinaMap.vue";
import widgetGlobalMap from "./map/widgetGlobalMap.vue";
import widgetScatter from "./scatter/widgetScatter.vue";
import widgetBarStackMoreShowChart from "./bar/widgetBarStackMoreShowChart.vue";
export default {
name: "WidgetTemp",
@@ -99,7 +100,8 @@ export default {
widgetBarMap,
widgetChinaMap,
widgetGlobalMap,
widgetScatter
widgetScatter,
widgetBarStackMoreShowChart,
},
model: {
prop: "value",
@@ -109,7 +111,8 @@ export default {
type: String,
value: {
type: [Object],
default: () => {},
default: () => {
},
},
index: {
type: Number,
@@ -119,7 +122,8 @@ export default {
data() {
return {};
},
mounted() {},
mounted() {
},
methods: {},
};
</script>

View File

@@ -12,7 +12,7 @@
@blur="handleBlur"
>
<!-- :z-index="-1" -->
<component :is="type" :widget-index="index" :value="value" />
<component :is="type" :widget-index="index" :value="value"/>
</avue-draggable>
</template>
@@ -60,6 +60,7 @@ import widgetDecoration from "./styleWidget/widgetDecoration.vue";
import widgetBarMap from "./map/widgetBarMap.vue";
import widgetChinaMap from "./map/widgetChinaMap.vue";
import widgetGlobalMap from "./map/widgetGlobalMap.vue";
import widgetBarStackMoreShowChart from "./bar/widgetBarStackMoreShowChart.vue";
export default {
name: "Widget",
@@ -106,7 +107,8 @@ export default {
widgetBarMap,
widgetChinaMap,
widgetGlobalMap,
widgetScatter
widgetScatter,
widgetBarStackMoreShowChart
},
model: {
prop: "value",
@@ -122,7 +124,8 @@ export default {
bigscreen: Object,
value: {
type: [Object],
default: () => {},
default: () => {
},
},
step: Number,
},
@@ -157,25 +160,27 @@ export default {
return this.value.position.disabled || false;
},
},
mounted() {},
mounted() {
},
methods: {
handleFocus({ index, left, top, width, height }) {},
handleBlur({ index, left, top, width, height }) {
this.$emit("onActivated", { index, left, top, width, height });
handleFocus({index, left, top, width, height}) {
},
handleBlur({index, left, top, width, height}) {
this.$emit("onActivated", {index, left, top, width, height});
this.$refs.draggable.setActive(true);
// 处理widget超出workbench的问题
//this.handleBoundary({ index, left, top, width, height })
},
handleBoundary({ index, left, top, width, height }) {
handleBoundary({index, left, top, width, height}) {
// 计算workbench的X轴边界值
// 组件距离左侧宽度 + 组件宽度 > 大屏总宽度时,右侧边界值 = (大屏宽度 - 组件宽度);左侧边界值 = 0
const { bigscreenWidth, bigscreenHeight } = this.bigscreen;
const {bigscreenWidth, bigscreenHeight} = this.bigscreen;
const xBoundaryValue =
left + width > bigscreenWidth
? bigscreenWidth - width
: left < 0
? 0
: left;
? 0
: left;
// 初始化X轴边界值
this.leftMargin = left;
// 计算Y轴边界值
@@ -183,8 +188,8 @@ export default {
top + height > bigscreenHeight
? bigscreenHeight - height
: top < 0
? 0
: top;
? 0
: top;
// 初始化Y轴边界值
this.topMargin = top;
// 若位置超出边界值则重新设置位置