提交 ef6385d5 authored 作者: taojinlong's avatar taojinlong

Merge branch 'main' of github.com:dataease/dataease into main

...@@ -180,6 +180,9 @@ public class ChartViewService { ...@@ -180,6 +180,9 @@ public class ChartViewService {
} }
data = datasourceProvider.getData(datasourceRequest); data = datasourceProvider.getData(datasourceRequest);
} }
if (StringUtils.containsIgnoreCase(view.getType(), "pie") && data.size() > 1000) {
data = data.subList(0, 1000);
}
// 图表组件可再扩展 // 图表组件可再扩展
List<String> x = new ArrayList<>(); List<String> x = new ArrayList<>();
......
<template> <template>
<div id="canvasInfo" :style="customStyle" class="bg"> <div id="canvasInfoTemp" :style="customStyle" class="bg">
<el-row v-if="componentDataShow.length===0" style="height: 100%;" class="custom-position"> <el-row v-if="componentDataShow.length===0" style="height: 100%;" class="custom-position">
{{ $t('panel.panelNull') }} {{ $t('panel.panelNull') }}
</el-row> </el-row>
...@@ -101,7 +101,7 @@ export default { ...@@ -101,7 +101,7 @@ export default {
const _this = this const _this = this
const erd = elementResizeDetectorMaker() const erd = elementResizeDetectorMaker()
// 监听div变动事件 // 监听div变动事件
erd.listenTo(document.getElementById('canvasInfo'), element => { erd.listenTo(document.getElementById('canvasInfoTemp'), element => {
_this.$nextTick(() => { _this.$nextTick(() => {
_this.restore() _this.restore()
}) })
...@@ -116,8 +116,8 @@ export default { ...@@ -116,8 +116,8 @@ export default {
getStyle, getStyle,
restore() { restore() {
debugger debugger
const canvasHeight = document.getElementById('canvasInfo').offsetHeight const canvasHeight = document.getElementById('canvasInfoTemp').offsetHeight
const canvasWidth = document.getElementById('canvasInfo').offsetWidth const canvasWidth = document.getElementById('canvasInfoTemp').offsetWidth
this.scaleWidth = canvasWidth * 100 / parseInt(this.canvasStyleData.width)// 获取宽度比 this.scaleWidth = canvasWidth * 100 / parseInt(this.canvasStyleData.width)// 获取宽度比
this.scaleHeight = canvasHeight * 100 / parseInt(this.canvasStyleData.height)// 获取高度比 this.scaleHeight = canvasHeight * 100 / parseInt(this.canvasStyleData.height)// 获取高度比
if (this.showType === 'width') { if (this.showType === 'width') {
......
...@@ -2,9 +2,7 @@ ...@@ -2,9 +2,7 @@
<section class="app-main"> <section class="app-main">
<transition name="fade-transform" mode="out-in"> <transition name="fade-transform" mode="out-in">
<el-main class="ms-main-container"> <el-main class="ms-main-container">
<!-- <keep-alive> -->
<router-view :key="key" /> <router-view :key="key" />
<!-- </keep-alive> -->
</el-main> </el-main>
</transition> </transition>
</section> </section>
...@@ -26,11 +24,11 @@ export default { ...@@ -26,11 +24,11 @@ export default {
.app-main { .app-main {
/* topbar 56 */ /* topbar 56 */
min-height: calc(100vh - 56px); // min-height: calc(100vh - 56px);
width: 100%; // width: 100%;
height: 100%; // height: 100%;
position: relative; // position: relative;
overflow: hidden; // overflow: hidden;
} }
.fixed-header + .app-main { .fixed-header + .app-main {
......
<template> <template>
<div :class="{'has-logo':showLogo}"> <div :class="{'has-logo':showLogo}">
<logo v-if="showLogo" :collapse="isCollapse" /> <logo v-if="showLogo" :collapse="isCollapse" />
<el-scrollbar wrap-class="scrollbar-wrapper">
<el-menu <el-menu
:default-active="activeMenu" :default-active="activeMenu"
:collapse="isCollapse" :collapse="isCollapse"
...@@ -14,7 +13,6 @@ ...@@ -14,7 +13,6 @@
> >
<sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" /> <sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" />
</el-menu> </el-menu>
</el-scrollbar>
</div> </div>
</template> </template>
...@@ -23,7 +21,6 @@ import { mapGetters } from 'vuex' ...@@ -23,7 +21,6 @@ import { mapGetters } from 'vuex'
import Logo from './Logo' import Logo from './Logo'
import SidebarItem from './SidebarItem' import SidebarItem from './SidebarItem'
import variables from '@/styles/variables.scss' import variables from '@/styles/variables.scss'
export default { export default {
components: { SidebarItem, Logo }, components: { SidebarItem, Logo },
computed: { computed: {
......
...@@ -2,35 +2,43 @@ ...@@ -2,35 +2,43 @@
<div :class="classObj" class="app-wrapper"> <div :class="classObj" class="app-wrapper">
<licbar /> <licbar />
<topbar /> <topbar />
<div v-if="device==='mobile'&&sidebar.opened" class="drawer-bg" @click="handleClickOutside" />
<sidebar v-if="!sidebar.hide" class="sidebar-container" /> <de-container style="padding-top: 56px;">
<div :class="{sidebarHide: sidebar.hide}" class="main-container"> <de-aside-container v-if="!sidebar.hide">
<div :class="{'fixed-header':fixedHeader}"> <sidebar class="sidebar-container" />
<!-- <navbar /> --> </de-aside-container>
</div>
<de-main-container class="la-main-container">
<app-main /> <app-main />
<right-panel v-if="showSettings"> </de-main-container>
<settings /> </de-container>
</right-panel>
</div> <!-- <de-main-container>
<app-main />
</de-main-container> -->
<!-- <div :class="{sidebarHide: sidebar.hide}" class="main-container">
<app-main />
</div> -->
</div> </div>
</template> </template>
<script> <script>
import RightPanel from '@/components/RightPanel' import { Sidebar, AppMain, Topbar, Licbar } from './components'
import { Sidebar, Settings, AppMain, Topbar, Licbar } from './components'
// import { Sidebar, Settings, AppMain, Topbar } from './components'
import ResizeMixin from './mixin/ResizeHandler' import ResizeMixin from './mixin/ResizeHandler'
import DeMainContainer from '@/components/dataease/DeMainContainer'
import DeContainer from '@/components/dataease/DeContainer'
import DeAsideContainer from '@/components/dataease/DeAsideContainer'
export default { export default {
name: 'Layout', name: 'Layout',
components: { components: {
RightPanel,
Sidebar, Sidebar,
Settings,
AppMain, AppMain,
Topbar, Topbar,
Licbar Licbar,
DeMainContainer,
DeContainer,
DeAsideContainer
}, },
mixins: [ResizeMixin], mixins: [ResizeMixin],
computed: { computed: {
...@@ -70,8 +78,8 @@ export default { ...@@ -70,8 +78,8 @@ export default {
.app-wrapper { .app-wrapper {
@include clearfix; @include clearfix;
position: relative; position: relative;
// height: 100%; height: 100%;
height: $contentHeight; // height: $contentHeight;
width: 100%; width: 100%;
&.mobile.openSidebar{ &.mobile.openSidebar{
position: fixed; position: fixed;
...@@ -104,4 +112,8 @@ export default { ...@@ -104,4 +112,8 @@ export default {
.mobile .fixed-header { .mobile .fixed-header {
width: 100%; width: 100%;
} }
.la-main-container {
padding: 0px !important;
}
</style> </style>
...@@ -13,9 +13,9 @@ ...@@ -13,9 +13,9 @@
} }
.sidebar-container { .sidebar-container {
transition: width 0.28s; transition: width 0.28s;
width: $sideBarWidth !important; // width: $sideBarWidth !important;
background-color: $menuBg; background-color: $menuBg;
// height: 100%; // width: 260px;
height: $contentHeight; height: $contentHeight;
position: fixed; position: fixed;
font-size: 0px; font-size: 0px;
...@@ -25,7 +25,9 @@ ...@@ -25,7 +25,9 @@
left: 0; left: 0;
z-index: 999; z-index: 999;
overflow: hidden; overflow: hidden;
border-right: 1px solid rgba(0, 0, 0, 0.12); // min-width: 260px;
// max-width: 400px;
// border-right: 1px solid rgba(0, 0, 0, 0.12);
// reset element-ui css // reset element-ui css
.horizontal-collapse-transition { .horizontal-collapse-transition {
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</el-select> </el-select>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-input v-model="f.value" class="value-item" :placeholder="$t('chart.no_limit')" size="mini" clearable /> <el-input v-show="!f.term.includes('null')" v-model="f.value" class="value-item" :placeholder="$t('chart.no_limit')" size="mini" clearable />
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-button type="text" icon="el-icon-delete" circle style="float: right" @click="removeFilter(index)" /> <el-button type="text" icon="el-icon-delete" circle style="float: right" @click="removeFilter(index)" />
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</el-select> </el-select>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-input v-model="f.value" class="value-item" :placeholder="$t('chart.no_limit')" size="mini" clearable /> <el-input v-show="!f.term.includes('null')" v-model="f.value" class="value-item" :placeholder="$t('chart.no_limit')" size="mini" clearable />
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-button type="text" icon="el-icon-delete" circle style="float: right" @click="removeFilter(index)" /> <el-button type="text" icon="el-icon-delete" circle style="float: right" @click="removeFilter(index)" />
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
</el-select> </el-select>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-input v-model="f.value" class="value-item" :placeholder="$t('chart.no_limit')" size="mini" clearable /> <el-input v-show="!f.term.includes('null')" v-model="f.value" class="value-item" :placeholder="$t('chart.no_limit')" size="mini" clearable />
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-button type="text" icon="el-icon-delete" circle style="float: right" @click="removeFilter(index)" /> <el-button type="text" icon="el-icon-delete" circle style="float: right" @click="removeFilter(index)" />
......
...@@ -334,7 +334,7 @@ ...@@ -334,7 +334,7 @@
</template> </template>
<script> <script>
import { post, ajaxGetData } from '@/api/chart/chart' import { ajaxGetData, post } from '@/api/chart/chart'
import draggable from 'vuedraggable' import draggable from 'vuedraggable'
import DimensionItem from '../components/drag-item/DimensionItem' import DimensionItem from '../components/drag-item/DimensionItem'
import QuotaItem from '../components/drag-item/QuotaItem' import QuotaItem from '../components/drag-item/QuotaItem'
...@@ -342,18 +342,17 @@ import ResultFilterEditor from '../components/filter/ResultFilterEditor' ...@@ -342,18 +342,17 @@ import ResultFilterEditor from '../components/filter/ResultFilterEditor'
import ChartComponent from '../components/ChartComponent' import ChartComponent from '../components/ChartComponent'
import bus from '@/utils/bus' import bus from '@/utils/bus'
import DatasetChartDetail from '../../dataset/common/DatasetChartDetail' import DatasetChartDetail from '../../dataset/common/DatasetChartDetail'
// shape attr,component style // shape attr,component style
import { import {
DEFAULT_BACKGROUND_COLOR,
DEFAULT_COLOR_CASE, DEFAULT_COLOR_CASE,
DEFAULT_LABEL,
DEFAULT_LEGEND_STYLE,
DEFAULT_SIZE, DEFAULT_SIZE,
DEFAULT_TITLE_STYLE, DEFAULT_TITLE_STYLE,
DEFAULT_LEGEND_STYLE,
DEFAULT_LABEL,
DEFAULT_TOOLTIP, DEFAULT_TOOLTIP,
DEFAULT_XAXIS_STYLE, DEFAULT_XAXIS_STYLE,
DEFAULT_YAXIS_STYLE, DEFAULT_YAXIS_STYLE
DEFAULT_BACKGROUND_COLOR
} from '../chart/chart' } from '../chart/chart'
import ColorSelector from '../components/shape-attr/ColorSelector' import ColorSelector from '../components/shape-attr/ColorSelector'
import SizeSelector from '../components/shape-attr/SizeSelector' import SizeSelector from '../components/shape-attr/SizeSelector'
...@@ -646,6 +645,9 @@ export default { ...@@ -646,6 +645,9 @@ export default {
this.resetView() this.resetView()
this.httpRequest.status = err.response.data.success this.httpRequest.status = err.response.data.success
this.httpRequest.msg = err.response.data.message this.httpRequest.msg = err.response.data.message
this.$nextTick(() => {
this.getChart(id)
})
return true return true
}) })
} else { } else {
...@@ -666,9 +668,9 @@ export default { ...@@ -666,9 +668,9 @@ export default {
response.data.data = this.data response.data.data = this.data
this.chart = response.data this.chart = response.data
this.httpRequest.status = true // this.httpRequest.status = true
}).catch(err => { }).catch(err => {
this.resetView() // this.resetView()
this.httpRequest.status = err.response.data.success this.httpRequest.status = err.response.data.success
this.httpRequest.msg = err.response.data.message this.httpRequest.msg = err.response.data.message
return true return true
......
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
@mousedown="handleMouseDown" @mousedown="handleMouseDown"
@mouseup="deselectCurComponent" @mouseup="deselectCurComponent"
> >
<Editor :out-style="outStyle" /> <Editor v-if="!previewVisible" :out-style="outStyle" />
</div> </div>
</de-main-container> </de-main-container>
<de-aside-container v-if="aidedButtonActive" :class="aidedButtonActive ? 'show' : 'hidden'" class="style-aside"> <de-aside-container v-if="aidedButtonActive" :class="aidedButtonActive ? 'show' : 'hidden'" class="style-aside">
...@@ -135,14 +135,10 @@ ...@@ -135,14 +135,10 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog <fullscreen style="height: 100%;background: none" :fullscreen.sync="previewVisible">
v-if="previewVisible" <Preview v-if="previewVisible" :show-type="canvasStyleData.selfAdaption?'full':'width'" />
:visible.sync="previewVisible" </fullscreen>
:fullscreen="true"
custom-class="preview-dialog"
>
<PreviewFullScreen :fullscreen="previewVisible" />
</el-dialog>
</el-row> </el-row>
</template> </template>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论