|
@@ -293,6 +293,16 @@
|
|
</svg>
|
|
</svg>
|
|
</a>
|
|
</a>
|
|
</t-tooltip>
|
|
</t-tooltip>
|
|
|
|
+ <t-tooltip content="自适应设置" placement="bottom">
|
|
|
|
+ <a
|
|
|
|
+ :style="{
|
|
|
|
+ background: fitFlag ? '#4480F929' : '',
|
|
|
|
+ color: fitFlag ?( theme==='light'?'#4480F9':'#4480F9'):''
|
|
|
|
+ }"
|
|
|
|
+ @click="changeFit">
|
|
|
|
+ <LayoutIcon />
|
|
|
|
+ </a>
|
|
|
|
+ </t-tooltip>
|
|
<div class="flex-grow"></div>
|
|
<div class="flex-grow"></div>
|
|
<!-- <t-tooltip content="数据管理" placement="bottom">
|
|
<!-- <t-tooltip content="数据管理" placement="bottom">
|
|
<a @click="onShowDataDialog">
|
|
<a @click="onShowDataDialog">
|
|
@@ -967,7 +977,7 @@ import ContextMenu from './ContextMenu.vue';
|
|
import Network from './Network.vue';
|
|
import Network from './Network.vue';
|
|
import Dataset from './Dataset.vue';
|
|
import Dataset from './Dataset.vue';
|
|
import ChargeCloudPublish from './ChargeCloudPublish.vue';
|
|
import ChargeCloudPublish from './ChargeCloudPublish.vue';
|
|
-import { AddIcon, EditIcon, SaveIcon, RootListIcon,SlashIcon, RefreshIcon, ServerIcon, CaretRightIcon, ShareIcon, QrcodeIcon, CloudIcon, DeleteIcon, SearchIcon, RollbackIcon, LaptopIcon, StopCircleIcon , PlayCircleIcon, PlayCircleStrokeIcon, LayersIcon, FullscreenExitIcon, FileIcon, FileExcelIcon, CloudDownloadIcon, PenBrushIcon, PenIcon } from 'tdesign-icons-vue-next';
|
|
|
|
|
|
+import { AddIcon, EditIcon, SaveIcon, RootListIcon,SlashIcon, RefreshIcon, ServerIcon, CaretRightIcon, ShareIcon, QrcodeIcon, CloudIcon, DeleteIcon, SearchIcon, RollbackIcon, LaptopIcon, StopCircleIcon , PlayCircleIcon, PlayCircleStrokeIcon, LayersIcon, FullscreenExitIcon, FileIcon, FileExcelIcon, CloudDownloadIcon, PenBrushIcon, PenIcon, LayoutIcon } from 'tdesign-icons-vue-next';
|
|
import {transformData} from '@/services/utils';
|
|
import {transformData} from '@/services/utils';
|
|
import { importExcel, saveAsExcel } from '@/services/excel';
|
|
import { importExcel, saveAsExcel } from '@/services/excel';
|
|
import { typeOptions } from '@/services/common';
|
|
import { typeOptions } from '@/services/common';
|
|
@@ -1022,6 +1032,7 @@ onMounted(() => {
|
|
open(true);
|
|
open(true);
|
|
meta2d.on('active', active);
|
|
meta2d.on('active', active);
|
|
meta2d.on('inactive', inactive);
|
|
meta2d.on('inactive', inactive);
|
|
|
|
+ meta2d.on('fit',fit);
|
|
meta2d.on('scale', scaleSubscriber);
|
|
meta2d.on('scale', scaleSubscriber);
|
|
meta2d.on('add', lineAdd);
|
|
meta2d.on('add', lineAdd);
|
|
meta2d.on('opened', openedListener);
|
|
meta2d.on('opened', openedListener);
|
|
@@ -1045,6 +1056,28 @@ onMounted(() => {
|
|
};
|
|
};
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+onUnmounted(()=>{
|
|
|
|
+ meta2d.off('active', active);
|
|
|
|
+ meta2d.off('inactive', inactive);
|
|
|
|
+ meta2d.off('fit',fit);
|
|
|
|
+ meta2d.off('scale', scaleSubscriber);
|
|
|
|
+ meta2d.off('add', lineAdd);
|
|
|
|
+ meta2d.off('opened', openedListener);
|
|
|
|
+
|
|
|
|
+ meta2d.off('undo', patchFlag);
|
|
|
|
+ meta2d.off('redo', patchFlag);
|
|
|
|
+ meta2d.off('add', patchFlag);
|
|
|
|
+ meta2d.off('delete', patchFlag);
|
|
|
|
+ meta2d.off('rotatePens', patchFlag);
|
|
|
|
+ meta2d.off('translatePens', patchFlag);
|
|
|
|
+
|
|
|
|
+ // 所有编辑栏所做修改
|
|
|
|
+ meta2d.off('components-update-value', patchFlag);
|
|
|
|
+ meta2d.off('contextmenu', onContextmenu);
|
|
|
|
+ meta2d.off('click', canvasClick);
|
|
|
|
+ // meta2d.off('business-showPayDiagram',showPayDiagram);
|
|
|
|
+})
|
|
|
|
+
|
|
const watcher = watch(
|
|
const watcher = watch(
|
|
() => route.query,
|
|
() => route.query,
|
|
async () => {
|
|
async () => {
|
|
@@ -1169,6 +1202,8 @@ const openedListener = () => {
|
|
toArrow.value = canvasToArrow || '';
|
|
toArrow.value = canvasToArrow || '';
|
|
deal2DToV();
|
|
deal2DToV();
|
|
meta2d.centerView();
|
|
meta2d.centerView();
|
|
|
|
+ meta2d.canvas.hideFit();
|
|
|
|
+ fitFlag.value = false;
|
|
};
|
|
};
|
|
|
|
|
|
const deal2DToV = ()=>{
|
|
const deal2DToV = ()=>{
|
|
@@ -1219,10 +1254,16 @@ onUnmounted(() => {
|
|
});
|
|
});
|
|
|
|
|
|
const inactive = () => {
|
|
const inactive = () => {
|
|
|
|
+ if(fitFlag.value){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
select();
|
|
select();
|
|
};
|
|
};
|
|
|
|
|
|
const active = (pens: Pen[]) => {
|
|
const active = (pens: Pen[]) => {
|
|
|
|
+ if(fitFlag.value){
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
select(pens);
|
|
select(pens);
|
|
|
|
|
|
//格式刷处理
|
|
//格式刷处理
|
|
@@ -1232,6 +1273,10 @@ const active = (pens: Pen[]) => {
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+const fit = (fit) => {
|
|
|
|
+ select(undefined, fit);
|
|
|
|
+}
|
|
|
|
+
|
|
const one = ref(false);
|
|
const one = ref(false);
|
|
const always = ref(false);
|
|
const always = ref(false);
|
|
|
|
|
|
@@ -2338,6 +2383,18 @@ const theme = computed(() => {
|
|
return localStorage.getItem('theme') || 'dark';
|
|
return localStorage.getItem('theme') || 'dark';
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+const fitFlag = ref(false);
|
|
|
|
+
|
|
|
|
+const changeFit = () => {
|
|
|
|
+ fitFlag.value = !fitFlag.value;
|
|
|
|
+ if(fitFlag.value){
|
|
|
|
+ meta2d.canvas.showFit();
|
|
|
|
+ }else{
|
|
|
|
+ meta2d.canvas.hideFit();
|
|
|
|
+ select();
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
</script>
|
|
</script>
|
|
<style lang="postcss" scoped>
|
|
<style lang="postcss" scoped>
|
|
.meta2d {
|
|
.meta2d {
|