forked from github/dataease
Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
ec2025c3ec
@ -64,7 +64,7 @@
|
||||
@mousedown.stop.prevent="handleDown(handlei, $event)"
|
||||
@touchstart.stop.prevent="handleTouchDown(handlei, $event)"
|
||||
>
|
||||
<slot :name="handlei"/>
|
||||
<slot :name="handlei" />
|
||||
</div>
|
||||
<div
|
||||
:id="componentCanvasId"
|
||||
@ -77,7 +77,7 @@
|
||||
class="svg-background"
|
||||
:icon-class="mainSlotSvgInner"
|
||||
/>
|
||||
<slot/>
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -386,7 +386,7 @@ export default {
|
||||
data: function() {
|
||||
return {
|
||||
contentDisplay: true,
|
||||
//当画布在tab中是 宽度左右拓展的余量
|
||||
// 当画布在tab中是 宽度左右拓展的余量
|
||||
parentWidthTabOffset: 40,
|
||||
canvasChangeTips: 'none',
|
||||
tabMoveInYOffset: 70,
|
||||
@ -1427,7 +1427,6 @@ export default {
|
||||
|
||||
// 如果辅助设计 需要最后调整矩阵
|
||||
if (this.element.auxiliaryMatrix) {
|
||||
const _this = this
|
||||
const historyTabMoveInActiveId = this.tabMoveInActiveId
|
||||
const historyTabMoveOutComponentId = this.tabMoveOutComponentId
|
||||
setTimeout(() => {
|
||||
@ -1464,10 +1463,10 @@ export default {
|
||||
componentCanvasChange() {
|
||||
// 主画布移入Tab画布
|
||||
if (this.tabMoveInActiveId) {
|
||||
//从当前画布移除
|
||||
// 从当前画布移除
|
||||
this.$emit('amRemoveItem')
|
||||
this.element.canvasPid = this.element.canvasId
|
||||
//Tab内部的画布ID 为 tab组件id + '-' + tabActiveName
|
||||
// Tab内部的画布ID 为 tab组件id + '-' + tabActiveName
|
||||
const targetCanvasId = this.tabMoveInActiveId + '-' + this.tabActiveTabNameMap[this.tabMoveInActiveId]
|
||||
const targetCanvasScale = this.curCanvasScaleMap[targetCanvasId]
|
||||
if (this.element.auxiliaryMatrix) {
|
||||
@ -1489,11 +1488,11 @@ export default {
|
||||
}
|
||||
// Tab 画布 移入主画布
|
||||
if (this.tabMoveOutComponentId) {
|
||||
//从当前画布移除
|
||||
// 从当前画布移除
|
||||
this.$emit('amRemoveItem')
|
||||
this.element.canvasPid = 0
|
||||
this.element.canvasId = 'canvas-main'
|
||||
//Tab内部的画布ID 为 tab组件id + '-' + tabActiveName
|
||||
// Tab内部的画布ID 为 tab组件id + '-' + tabActiveName
|
||||
const targetCanvasScale = this.curCanvasScaleMap['canvas-main']
|
||||
// 按照阴影位置定位
|
||||
this.element.style.left = (this.mousePointShadowMap.mouseX - (this.mousePointShadowMap.width)) / targetCanvasScale.scalePointWidth
|
||||
@ -1509,7 +1508,6 @@ export default {
|
||||
this.recordMatrixCurShadowStyle(targetCanvasScale)
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
// 设置属性(属性跟随所属canvas component类型 要做出改变)
|
||||
@ -1979,7 +1977,6 @@ export default {
|
||||
} else if (this.tabMoveInActiveId === item.getAttribute('component-id')) {
|
||||
this.$store.commit('setTabMoveInActiveId', null)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -4,8 +4,14 @@
|
||||
:style="styleInfo"
|
||||
>
|
||||
<div class="point-shadow-content">
|
||||
<div id="point-shadow-component" class="point-shadow-component"></div>
|
||||
<div class="point-shadow-tips" :style="tipsStyleInfo">
|
||||
<div
|
||||
id="point-shadow-component"
|
||||
class="point-shadow-component"
|
||||
/>
|
||||
<div
|
||||
class="point-shadow-tips"
|
||||
:style="tipsStyleInfo"
|
||||
>
|
||||
<div style="width: 100%;text-align: center">组件将被移出Tab</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -94,7 +100,6 @@ export default {
|
||||
background-color: rgba(179, 212, 252);
|
||||
}
|
||||
|
||||
|
||||
.point-shadow-tips {
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
@ -10,6 +10,7 @@
|
||||
import { mapState } from 'vuex'
|
||||
export default {
|
||||
replace: true,
|
||||
// eslint-disable-next-line
|
||||
name: 'Shadow',
|
||||
props: {
|
||||
canvasId: {
|
||||
@ -18,7 +19,7 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
curCanvasScaleSelf(){
|
||||
curCanvasScaleSelf() {
|
||||
return this.curCanvasScaleMap[this.canvasId]
|
||||
},
|
||||
styleInfo() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div
|
||||
class="canvas_content"
|
||||
:id="canvasDomId"
|
||||
class="canvas_content"
|
||||
@drop="handleDrop"
|
||||
@dragover="handleDragOver"
|
||||
@mousedown="handleMouseDown"
|
||||
@ -9,17 +9,26 @@
|
||||
@scroll="canvasScroll"
|
||||
>
|
||||
<slot name="optBar" />
|
||||
<de-editor :canvas-style-data="canvasStyleData"
|
||||
:component-data="componentData"
|
||||
:canvas-id="canvasId"
|
||||
:parent-forbid="parentForbid"
|
||||
:ref="editorRefName"
|
||||
:matrix-count="matrixCountBase"
|
||||
:out-style="outStyle"
|
||||
:scroll-top="scrollTop"
|
||||
@canvasDragging="canvasDragging"
|
||||
<de-editor
|
||||
:ref="editorRefName"
|
||||
:canvas-style-data="canvasStyleData"
|
||||
:component-data="componentData"
|
||||
:canvas-id="canvasId"
|
||||
:parent-forbid="parentForbid"
|
||||
:matrix-count="matrixCountBase"
|
||||
:out-style="outStyle"
|
||||
:scroll-top="scrollTop"
|
||||
@canvasDragging="canvasDragging"
|
||||
/>
|
||||
<input id="input" ref="files" type="file" accept="image/*" hidden @click="e => {e.target.value = '';}" @change="handleFileChange" >
|
||||
<input
|
||||
id="input"
|
||||
ref="files"
|
||||
type="file"
|
||||
accept="image/*"
|
||||
hidden
|
||||
@click="e => {e.target.value = '';}"
|
||||
@change="handleFileChange"
|
||||
>
|
||||
<el-dialog
|
||||
v-if="buttonVisible && panelInfo.id"
|
||||
:title="(currentWidget && currentWidget.getLeftPanel && currentWidget.getLeftPanel().label ? $t(currentWidget.getLeftPanel().label) : '') + $t('panel.module')"
|
||||
@ -80,7 +89,12 @@
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--矩形样式组件-->
|
||||
<TextAttr v-if="showAttr" :canvas-id="canvasId" :scroll-left="scrollLeft" :scroll-top="scrollTop"/>
|
||||
<TextAttr
|
||||
v-if="showAttr"
|
||||
:canvas-id="canvasId"
|
||||
:scroll-left="scrollLeft"
|
||||
:scroll-top="scrollTop"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -107,6 +121,35 @@ import FilterDialog from '@/views/panel/filter/filterDialog'
|
||||
|
||||
export default {
|
||||
components: { FilterDialog, ButtonResetDialog, ButtonDialog, DeEditor },
|
||||
props: {
|
||||
parentForbid: {
|
||||
type: Boolean,
|
||||
require: false,
|
||||
default: true
|
||||
},
|
||||
canvasStyleData: {
|
||||
type: Object,
|
||||
require: true
|
||||
},
|
||||
componentData: {
|
||||
type: Array,
|
||||
require: false,
|
||||
default: () => []
|
||||
},
|
||||
canvasId: {
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
canvasPid: {
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
mobileLayoutStatus: {
|
||||
type: Boolean,
|
||||
require: false,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 需要展示属性设置的组件类型
|
||||
@ -140,44 +183,15 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
props: {
|
||||
parentForbid:{
|
||||
type: Boolean,
|
||||
require: false,
|
||||
default: true
|
||||
},
|
||||
canvasStyleData: {
|
||||
type: Object,
|
||||
require: true
|
||||
},
|
||||
componentData: {
|
||||
type: Array,
|
||||
require: false,
|
||||
default: []
|
||||
},
|
||||
canvasId: {
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
canvasPid: {
|
||||
type: String,
|
||||
require: true
|
||||
},
|
||||
mobileLayoutStatus: {
|
||||
type: Boolean,
|
||||
require: false,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
matrixCountBase(){
|
||||
if(this.isMainCanvas && this.mobileLayoutStatus){
|
||||
matrixCountBase() {
|
||||
if (this.isMainCanvas && this.mobileLayoutStatus) {
|
||||
return this.mobileMatrixCount
|
||||
}else{
|
||||
} else {
|
||||
return this.pcMatrixCountBase
|
||||
}
|
||||
},
|
||||
isMainCanvas(){
|
||||
isMainCanvas() {
|
||||
return this.canvasId === 'canvas-main'
|
||||
},
|
||||
panelInfo() {
|
||||
@ -224,7 +238,7 @@ export default {
|
||||
watch: {
|
||||
mobileLayoutStatus() {
|
||||
this.restore()
|
||||
},
|
||||
}
|
||||
// //监控当前组件移动 检查是否靠近tab
|
||||
// curComponent: {
|
||||
// handler(newVal, oldVla) {
|
||||
@ -263,7 +277,7 @@ export default {
|
||||
if (domInfo) {
|
||||
this.outStyle.height = domInfo.offsetHeight - this.getGap()
|
||||
// 临时处理 确保每次restore 有会更新
|
||||
this.outStyle.width = domInfo.offsetWidth + (Math.random() * 0.000001)
|
||||
this.outStyle.width = domInfo.offsetWidth + (Math.random() * 0.000001)
|
||||
}
|
||||
})
|
||||
},
|
||||
@ -570,7 +584,7 @@ export default {
|
||||
// const canvasInfoMobile = document.getElementById(this.canvasDomId)
|
||||
// canvasInfoMobile.scrollTop = canvasInfoMobile.scrollTop + offset
|
||||
// this.$store.commit('setScrollAutoMove', this.scrollAutoMove + offset)
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -130,7 +130,7 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
curCanvasScaleSelf(){
|
||||
curCanvasScaleSelf() {
|
||||
return this.curCanvasScaleMap[this.canvasId]
|
||||
},
|
||||
...mapState([
|
||||
|
@ -13,8 +13,15 @@
|
||||
@scroll="canvasScroll"
|
||||
>
|
||||
<!-- 网格线 -->
|
||||
<Grid v-if="showGrid" :matrix-style="matrixStyle"/>
|
||||
<PGrid v-if="psDebug" :position-box="positionBoxInfoArray" :matrix-style="matrixStyle"/>
|
||||
<Grid
|
||||
v-if="showGrid"
|
||||
:matrix-style="matrixStyle"
|
||||
/>
|
||||
<PGrid
|
||||
v-if="psDebug"
|
||||
:position-box="positionBoxInfoArray"
|
||||
:matrix-style="matrixStyle"
|
||||
/>
|
||||
<!--页面组件列表展示-->
|
||||
<de-drag
|
||||
v-for="(item, index) in componentData"
|
||||
@ -58,8 +65,8 @@
|
||||
<de-out-widget
|
||||
v-if="renderOk && item.type==='custom'"
|
||||
:id="'component' + item.id"
|
||||
:canvas-id="canvasId"
|
||||
ref="wrapperChild"
|
||||
:canvas-id="canvasId"
|
||||
class="component"
|
||||
:style="getComponentStyleDefault(item.style)"
|
||||
:prop-value="item.propValue"
|
||||
@ -73,8 +80,8 @@
|
||||
:is="item.component"
|
||||
v-else-if="renderOk && item.type==='other'"
|
||||
:id="'component' + item.id"
|
||||
:canvas-id="canvasId"
|
||||
ref="wrapperChild"
|
||||
:canvas-id="canvasId"
|
||||
class="component"
|
||||
:style="getComponentStyle(item.style)"
|
||||
:prop-value="item.propValue"
|
||||
@ -86,8 +93,8 @@
|
||||
:is="item.component"
|
||||
v-else-if="renderOk"
|
||||
:id="'component' + item.id"
|
||||
:canvas-id="canvasId"
|
||||
ref="wrapperChild"
|
||||
:canvas-id="canvasId"
|
||||
class="component"
|
||||
:filters="filterMap[item.propValue && item.propValue.viewId]"
|
||||
:style="getComponentStyleDefault(item.style)"
|
||||
@ -103,11 +110,17 @@
|
||||
/>
|
||||
</de-drag>
|
||||
<!--拖拽阴影部分-->
|
||||
<drag-shadow :canvas-id="canvasId" v-if="shadowShow && dragShadowShow"/>
|
||||
<drag-shadow
|
||||
v-if="shadowShow && dragShadowShow"
|
||||
:canvas-id="canvasId"
|
||||
/>
|
||||
<!--切换canvas 拖拽阴影部分-->
|
||||
<point-shadow :canvas-id="canvasId" v-if="pointShadowShow"></point-shadow>
|
||||
<point-shadow
|
||||
v-if="pointShadowShow"
|
||||
:canvas-id="canvasId"
|
||||
/>
|
||||
<!-- 右击菜单 -->
|
||||
<ContextMenu/>
|
||||
<ContextMenu />
|
||||
|
||||
<!-- 对齐标线 -->
|
||||
<span
|
||||
@ -438,6 +451,7 @@ function removeItem(index) {
|
||||
}
|
||||
})
|
||||
this.yourList.splice(index, 1, {})
|
||||
// eslint-disable-next-line
|
||||
} catch (e) {
|
||||
}
|
||||
}
|
||||
@ -740,6 +754,7 @@ export default {
|
||||
Shape,
|
||||
ContextMenu,
|
||||
MarkLine,
|
||||
// eslint-disable-next-line
|
||||
Area,
|
||||
Grid,
|
||||
PGrid,
|
||||
@ -762,7 +777,7 @@ export default {
|
||||
componentData: {
|
||||
type: Array,
|
||||
require: false,
|
||||
default: []
|
||||
default: () => []
|
||||
},
|
||||
canvasId: {
|
||||
type: String,
|
||||
@ -893,18 +908,18 @@ export default {
|
||||
moveTabCollisionActive() {
|
||||
return this.tabCollisionActiveId
|
||||
},
|
||||
pointShadowShow(){
|
||||
return this.canvasId==='canvas-main'
|
||||
&& this.curComponent
|
||||
&& this.curComponent.canvasId !== 'canvas-main'
|
||||
&& this.tabMoveOutComponentId
|
||||
pointShadowShow() {
|
||||
return this.canvasId === 'canvas-main' &&
|
||||
this.curComponent &&
|
||||
this.curComponent.canvasId !== 'canvas-main' &&
|
||||
this.tabMoveOutComponentId
|
||||
},
|
||||
shadowShow() {
|
||||
return ((this.curComponent
|
||||
&& this.curComponent.auxiliaryMatrix
|
||||
&& this.curComponent.canvasId === this.canvasId
|
||||
&& (this.curComponent.optStatus.dragging || this.curComponent.optStatus.resizing))
|
||||
|| (this.dragComponentInfo && this.dragComponentInfo.canvasId ===this.canvasId )) && !this.tabMoveInActive
|
||||
return ((this.curComponent &&
|
||||
this.curComponent.auxiliaryMatrix &&
|
||||
this.curComponent.canvasId === this.canvasId &&
|
||||
(this.curComponent.optStatus.dragging || this.curComponent.optStatus.resizing)) ||
|
||||
(this.dragComponentInfo && this.dragComponentInfo.canvasId === this.canvasId)) && !this.tabMoveInActive
|
||||
},
|
||||
tabMoveInActive() {
|
||||
return this.tabMoveInActiveId
|
||||
@ -928,7 +943,9 @@ export default {
|
||||
}
|
||||
},
|
||||
// 挤占式画布设计
|
||||
// eslint-disable-next-line
|
||||
coordinates() {
|
||||
// eslint-disable-next-line
|
||||
return this.coordinates
|
||||
},
|
||||
customStyle() {
|
||||
@ -1419,7 +1436,7 @@ export default {
|
||||
matrixStyleOriginWidth: this.matrixStyle.originWidth,
|
||||
matrixStyleOriginHeight: this.matrixStyle.originHeight
|
||||
})
|
||||
if(this.canvasId === 'canvas-main'){
|
||||
if (this.canvasId === 'canvas-main') {
|
||||
this.$store.commit('setPreviewCanvasScale', {
|
||||
scaleWidth: this.scalePointWidth,
|
||||
scaleHeight: this.scalePointHeight
|
||||
|
@ -319,7 +319,7 @@ export default {
|
||||
miniWidth() {
|
||||
return this.mobileLayoutStatus ? 1 : 4
|
||||
},
|
||||
curCanvasScaleSelf(){
|
||||
curCanvasScaleSelf() {
|
||||
return this.curCanvasScaleMap[this.canvasId]
|
||||
},
|
||||
...mapState([
|
||||
|
@ -6,8 +6,8 @@
|
||||
class="outer-class"
|
||||
>
|
||||
<div
|
||||
v-for="(xItem, index) in yItem"
|
||||
:key="index+'x'"
|
||||
v-for="(xItem, idx) in yItem"
|
||||
:key="idx+'x'"
|
||||
:style="classInfo"
|
||||
class="inner-class"
|
||||
>
|
||||
|
@ -68,16 +68,14 @@ import { uuid } from 'vue-uuid'
|
||||
import { deepCopy, imgUrlTrans } from '@/components/canvas/utils/utils'
|
||||
import eventBus from '@/components/canvas/utils/eventBus'
|
||||
import elementResizeDetectorMaker from 'element-resize-detector'
|
||||
import UserViewDialog from '@/components/canvas/custom-component/UserViewDialog'
|
||||
import CanvasOptBar from '@/components/canvas/components/Editor/CanvasOptBar'
|
||||
import UserViewMobileDialog from '@/components/canvas/custom-component/UserViewMobileDialog'
|
||||
import bus from '@/utils/bus'
|
||||
import { buildFilterMap, buildViewKeyMap, formatCondition, valueValid, viewIdMatch } from '@/utils/conditionUtil'
|
||||
import { hasDataPermission } from '@/utils/permission'
|
||||
const erd = elementResizeDetectorMaker()
|
||||
|
||||
export default {
|
||||
components: { UserViewMobileDialog, ComponentWrapper, UserViewDialog, CanvasOptBar },
|
||||
components: { ComponentWrapper, CanvasOptBar },
|
||||
model: {
|
||||
prop: 'show',
|
||||
event: 'change'
|
||||
@ -142,10 +140,10 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
previewDomId: 'preview-'+this.canvasId,
|
||||
previewRefId: 'preview-ref-'+this.canvasId,
|
||||
previewTempDomId: 'preview-temp-'+this.canvasId,
|
||||
previewTempRefId: 'preview-temp-ref-'+this.canvasId,
|
||||
previewDomId: 'preview-' + this.canvasId,
|
||||
previewRefId: 'preview-ref-' + this.canvasId,
|
||||
previewTempDomId: 'preview-temp-' + this.canvasId,
|
||||
previewTempRefId: 'preview-temp-ref-' + this.canvasId,
|
||||
isShowPreview: false,
|
||||
panelId: '',
|
||||
needToChangeHeight: [
|
||||
@ -441,7 +439,7 @@ export default {
|
||||
} else {
|
||||
this.scaleHeight = canvasHeight * 100 / this.canvasStyleData.height// 获取高度比
|
||||
}
|
||||
if(this.canvasId === 'canvas-main'){
|
||||
if (this.canvasId === 'canvas-main') {
|
||||
this.$store.commit('setPreviewCanvasScale', { scaleWidth: (this.scaleWidth / 100), scaleHeight: (this.scaleHeight / 100) })
|
||||
}
|
||||
this.handleScaleChange()
|
||||
|
@ -46,11 +46,10 @@ import { uuid } from 'vue-uuid'
|
||||
import { deepCopy, imgUrlTrans } from '@/components/canvas/utils/utils'
|
||||
import eventBus from '@/components/canvas/utils/eventBus'
|
||||
import elementResizeDetectorMaker from 'element-resize-detector'
|
||||
import UserViewDialog from '@/components/canvas/custom-component/UserViewDialog'
|
||||
import CanvasOptBar from '@/components/canvas/components/Editor/CanvasOptBar'
|
||||
|
||||
export default {
|
||||
components: { ComponentWrapper, UserViewDialog, CanvasOptBar },
|
||||
components: { ComponentWrapper, CanvasOptBar },
|
||||
model: {
|
||||
prop: 'show',
|
||||
event: 'change'
|
||||
|
@ -319,7 +319,10 @@
|
||||
style="width: 20px;float: left;margin-top: 2px;margin-left: 10px;"
|
||||
>
|
||||
<el-tooltip :content="$t('panel.data_format')">
|
||||
<date-format :canvas-id="canvasId" :format-info="curComponent.formatInfo" />
|
||||
<date-format
|
||||
:canvas-id="canvasId"
|
||||
:format-info="curComponent.formatInfo"
|
||||
/>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
|
||||
@ -601,7 +604,7 @@ export default {
|
||||
showVertical() {
|
||||
return !['textSelectGridWidget', 'numberSelectGridWidget'].includes(this.curComponent.serviceName)
|
||||
},
|
||||
curCanvasScaleSelf(){
|
||||
curCanvasScaleSelf() {
|
||||
return this.curCanvasScaleMap[this.canvasId]
|
||||
},
|
||||
...mapState([
|
||||
|
@ -136,7 +136,6 @@ export function panelDataPrepare(componentData, componentStyle, callback) {
|
||||
// 增加所属画布ID(canvasId)当前所在画布的父ID(canvasPid) 主画布ID为main-canvas, PID = 0 表示当前所属canvas为最顶层
|
||||
item.canvasId = (item.canvasId || 'canvas-main')
|
||||
item.canvasPid = (item.canvasPid || '0')
|
||||
|
||||
})
|
||||
// 初始化密度为最高密度
|
||||
componentStyle.aidedDesign.matrixBase = 4
|
||||
@ -149,7 +148,7 @@ export function panelDataPrepare(componentData, componentStyle, callback) {
|
||||
export function resetID(data) {
|
||||
if (data) {
|
||||
data.forEach(item => {
|
||||
item.type !== 'custom' && item.type !== 'de-tabs'&& (item.id = uuid.v1())
|
||||
item.type !== 'custom' && item.type !== 'de-tabs' && (item.id = uuid.v1())
|
||||
})
|
||||
}
|
||||
return data
|
||||
@ -229,6 +228,6 @@ export function imgUrlTrans(url) {
|
||||
}
|
||||
}
|
||||
|
||||
export function getNowCanvasComponentData(canvasId){
|
||||
return store.state.componentData.filter(item => item.canvasId===canvasId)
|
||||
export function getNowCanvasComponentData(canvasId) {
|
||||
return store.state.componentData.filter(item => item.canvasId === canvasId)
|
||||
}
|
||||
|
@ -39,8 +39,8 @@
|
||||
:is="element.component"
|
||||
v-if="element.type==='custom'"
|
||||
:id="'component' + element.id"
|
||||
:canvas-id="canvasId"
|
||||
ref="deOutWidget"
|
||||
:canvas-id="canvasId"
|
||||
class="component-custom"
|
||||
:out-style="element.style"
|
||||
:is-relation="isRelation"
|
||||
@ -59,7 +59,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { mapState } from 'vuex'
|
||||
import inputStyleMixin from '@/components/widget/DeWidget/inputStyleMixin'
|
||||
export default {
|
||||
name: 'DeOutWidget',
|
||||
|
@ -55,16 +55,16 @@
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</span>
|
||||
<de-canvas-tab v-if="item.content && item.content.type==='canvas' && isEdit"
|
||||
:ref="'canvasTabRef-'+item.name"
|
||||
:parent-forbid="true"
|
||||
:canvas-style-data="canvasStyleData"
|
||||
:component-data="tabCanvasComponentData(item.name)"
|
||||
:canvas-id="element.id+'-'+item.name"
|
||||
class="tab_canvas"
|
||||
:class="moveActive ? 'canvas_move_in':''"
|
||||
>
|
||||
</de-canvas-tab>
|
||||
<de-canvas-tab
|
||||
v-if="item.content && item.content.type==='canvas' && isEdit"
|
||||
:ref="'canvasTabRef-'+item.name"
|
||||
:parent-forbid="true"
|
||||
:canvas-style-data="canvasStyleData"
|
||||
:component-data="tabCanvasComponentData(item.name)"
|
||||
:canvas-id="element.id+'-'+item.name"
|
||||
class="tab_canvas"
|
||||
:class="moveActive ? 'canvas_move_in':''"
|
||||
/>
|
||||
<div style="width: 100%;height:100%">
|
||||
<Preview
|
||||
v-if="item.content && item.content.type==='canvas' && !isEdit"
|
||||
@ -521,7 +521,7 @@ export default {
|
||||
name: curName,
|
||||
content: { type: 'canvas' }
|
||||
}
|
||||
//的Tab都是画布
|
||||
// 的Tab都是画布
|
||||
|
||||
this.element.options.tabList.push(tab)
|
||||
|
||||
|
@ -1488,6 +1488,7 @@ export default {
|
||||
field_origin_name: 'Field Origin Name',
|
||||
field_check: 'Selected',
|
||||
update_info: 'Update Info',
|
||||
update_records: 'Update Records',
|
||||
join_view: 'Data Associated',
|
||||
text: 'Text',
|
||||
time: 'Time',
|
||||
|
@ -1488,6 +1488,7 @@ export default {
|
||||
field_origin_name: '原始名稱',
|
||||
field_check: '選中',
|
||||
update_info: '更新信息',
|
||||
update_records: '更新記錄',
|
||||
join_view: '數據關聯',
|
||||
text: '文本',
|
||||
time: '時間',
|
||||
|
@ -1487,6 +1487,7 @@ export default {
|
||||
field_origin_name: '原始名称',
|
||||
field_check: '选中',
|
||||
update_info: '更新信息',
|
||||
update_records: '更新记录',
|
||||
join_view: '数据关联',
|
||||
text: '文本',
|
||||
time: '时间',
|
||||
|
@ -290,7 +290,7 @@ const data = {
|
||||
const filterComponentId = condition.componentId
|
||||
const canvasId = data.canvasId
|
||||
|
||||
//过滤时 主画布的过滤组件可以过滤所有的视图
|
||||
// 过滤时 主画布的过滤组件可以过滤所有的视图
|
||||
const canvasViewIds = state.componentData.filter(item => item.type === 'view' && (canvasId === 'canvas-main' || item.canvasId === canvasId)).map((itemView) => {
|
||||
return itemView.propValue.viewId
|
||||
})
|
||||
@ -492,7 +492,7 @@ const data = {
|
||||
}
|
||||
},
|
||||
deleteComponent(state) {
|
||||
this.commit('deleteComponentWithId',state.curComponent.id)
|
||||
this.commit('deleteComponentWithId', state.curComponent.id)
|
||||
},
|
||||
setLinkageInfo(state, targetLinkageInfo) {
|
||||
state.linkageSettingStatus = true
|
||||
|
@ -18,7 +18,7 @@
|
||||
style="overflow:auto;border-right: 1px solid #e6e6e6;height: 100%;width: 100%;padding-right: 6px"
|
||||
class="attr-style theme-border-class"
|
||||
>
|
||||
<el-row>
|
||||
<el-row class="de-collapse-style">
|
||||
<span class="padding-lr">{{ $t('chart.shape_attr') }}</span>
|
||||
<el-collapse
|
||||
v-model="attrActiveNames"
|
||||
@ -475,6 +475,15 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang='scss' scoped>
|
||||
.de-collapse-style {
|
||||
.el-collapse-item__header {
|
||||
height: 34px !important;
|
||||
line-height: 34px !important;
|
||||
padding: 0 0 0 6px !important;
|
||||
font-size: 12px !important;
|
||||
font-weight: 400 !important;
|
||||
}
|
||||
}
|
||||
.padding-lr {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
@ -73,7 +73,6 @@
|
||||
{{ $t('deDataset.data_reference') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="mode === '1'"
|
||||
type="text"
|
||||
size="small"
|
||||
style="color: #1f2329"
|
||||
@ -1048,7 +1047,7 @@ export default {
|
||||
}
|
||||
|
||||
.table-sql {
|
||||
height: calc(100% - 64px);
|
||||
height: calc(100% - 54px);
|
||||
padding: 18px 25px;
|
||||
overflow-y: auto;
|
||||
box-sizing: border-box;
|
||||
|
@ -125,18 +125,26 @@
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
v-if="
|
||||
table.mode === 1 && ['api', 'sql', 'db', 'excel'].includes(table.type)
|
||||
table.mode === 1 && ['api', 'sql', 'db'].includes(table.type)
|
||||
"
|
||||
:label="$t('dataset.update_info')"
|
||||
name="updateInfo"
|
||||
>
|
||||
<update-info
|
||||
v-if="tabActive == 'updateInfo' && table.type !== 'excel'"
|
||||
v-if="tabActive == 'updateInfo'"
|
||||
:param="param"
|
||||
:table="table"
|
||||
/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
v-if="
|
||||
table.mode === 1 && ['excel'].includes(table.type)
|
||||
"
|
||||
:label="$t('dataset.update_records')"
|
||||
name="updateInfo"
|
||||
>
|
||||
<update-records
|
||||
v-if="tabActive == 'updateInfo' && table.type === 'excel'"
|
||||
v-if="tabActive == 'updateInfo'"
|
||||
:param="param"
|
||||
:table="table"
|
||||
/>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-col style="height: 100%">
|
||||
<el-empty
|
||||
style="padding-top: 212px"
|
||||
style="padding-top: 202px"
|
||||
:image-size="125"
|
||||
:image="errImg"
|
||||
:description="$t('deDataset.on_the_left')"
|
||||
|
@ -1300,6 +1300,11 @@ export default {
|
||||
background: rgba(31, 35, 41, 0.1);
|
||||
color: var(--deTextPrimary, #1f2329);
|
||||
}
|
||||
|
||||
&.is-disabled {
|
||||
background: #BBBFC4;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
.de-top-border {
|
||||
border-top: 1px solid rgba(31, 35, 41, 0.15);
|
||||
|
@ -407,8 +407,8 @@ import 'codemirror/addon/hint/show-hint'
|
||||
import { imgUrlTrans } from '@/components/canvas/utils/utils'
|
||||
|
||||
export default {
|
||||
components: { codemirror, draggable },
|
||||
name: 'LinkJumpSet',
|
||||
components: { codemirror, draggable },
|
||||
props: {
|
||||
viewId: {
|
||||
type: String,
|
||||
|
@ -161,21 +161,25 @@
|
||||
:modal-append-to-body="true"
|
||||
>
|
||||
<div style="width: 295px">
|
||||
<filter-group :canvas-id="canvasId" v-show=" show &&showIndex===1"/>
|
||||
<subject-setting v-show=" show &&showIndex===2"/>
|
||||
<assist-component v-show=" show &&showIndex===3"/>
|
||||
<filter-group
|
||||
v-show=" show &&showIndex===1"
|
||||
:canvas-id="canvasId"
|
||||
/>
|
||||
<subject-setting v-show=" show &&showIndex===2" />
|
||||
<assist-component v-show=" show &&showIndex===3" />
|
||||
</div>
|
||||
</el-drawer>
|
||||
<!--PC端画布区域-->
|
||||
<de-canvas v-if="!previewVisible&&!mobileLayoutStatus"
|
||||
class="canvas_main_content"
|
||||
ref="canvasMainRef"
|
||||
:canvas-style-data="canvasStyleData"
|
||||
:component-data="mainCanvasComponentData"
|
||||
:canvas-id="canvasId"
|
||||
:canvas-pid="'0'"
|
||||
<de-canvas
|
||||
v-if="!previewVisible&&!mobileLayoutStatus"
|
||||
ref="canvasMainRef"
|
||||
class="canvas_main_content"
|
||||
:canvas-style-data="canvasStyleData"
|
||||
:component-data="mainCanvasComponentData"
|
||||
:canvas-id="canvasId"
|
||||
:canvas-pid="'0'"
|
||||
>
|
||||
<canvas-opt-bar slot="optBar"/>
|
||||
<canvas-opt-bar slot="optBar" />
|
||||
</de-canvas>
|
||||
<!--移动端画布区域 保持宽高比2.5-->
|
||||
<el-row
|
||||
@ -191,7 +195,7 @@
|
||||
:style="customCanvasMobileStyle"
|
||||
class="this_mobile_canvas"
|
||||
>
|
||||
<el-row class="this_mobile_canvas_top"/>
|
||||
<el-row class="this_mobile_canvas_top" />
|
||||
<el-row class="this_mobile_canvas_inner_top">
|
||||
{{ panelInfo.name }}
|
||||
</el-row>
|
||||
@ -200,15 +204,16 @@
|
||||
class="this_mobile_canvas_main"
|
||||
:style="mobileCanvasStyle"
|
||||
>
|
||||
<de-canvas v-if="!previewVisible&&mobileLayoutStatus"
|
||||
ref="canvasMainRef"
|
||||
:canvas-style-data="canvasStyleData"
|
||||
:component-data="mainCanvasComponentData"
|
||||
:canvas-id="canvasId"
|
||||
:canvas-pid="'0'"
|
||||
:mobile-layout-status="true"
|
||||
<de-canvas
|
||||
v-if="!previewVisible&&mobileLayoutStatus"
|
||||
ref="canvasMainRef"
|
||||
:canvas-style-data="canvasStyleData"
|
||||
:component-data="mainCanvasComponentData"
|
||||
:canvas-id="canvasId"
|
||||
:canvas-pid="'0'"
|
||||
:mobile-layout-status="true"
|
||||
>
|
||||
<canvas-opt-bar slot="optBar"/>
|
||||
<canvas-opt-bar slot="optBar" />
|
||||
</de-canvas>
|
||||
</el-row>
|
||||
<el-row class="this_mobile_canvas_inner_bottom">
|
||||
@ -238,7 +243,7 @@
|
||||
/>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row class="this_mobile_canvas_bottom"/>
|
||||
<el-row class="this_mobile_canvas_bottom" />
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col
|
||||
@ -246,7 +251,7 @@
|
||||
class="this_mobile_canvas_cell this_mobile_canvas_wait_cell"
|
||||
:style="mobileCanvasStyle"
|
||||
>
|
||||
<component-wait/>
|
||||
<component-wait />
|
||||
</el-col>
|
||||
</el-row>
|
||||
</de-main-container>
|
||||
@ -264,7 +269,7 @@
|
||||
/>
|
||||
</div>
|
||||
<div v-if="showBatchViewToolsAside">
|
||||
<chart-style-batch-set/>
|
||||
<chart-style-batch-set />
|
||||
</div>
|
||||
<div v-if="!showViewToolsAside&&!showBatchViewToolsAside">
|
||||
<el-row style="height: 40px">
|
||||
@ -280,8 +285,7 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<div class="view-selected-message-class">
|
||||
<span style="font-size: 14px;margin-left: 10px;font-weight: bold;line-height: 20px"
|
||||
>{{ $t('panel.select_view') }}</span>
|
||||
<span style="font-size: 14px;margin-left: 10px;font-weight: bold;line-height: 20px">{{ $t('panel.select_view') }}</span>
|
||||
</div>
|
||||
</el-row>
|
||||
</div>
|
||||
@ -441,8 +445,7 @@
|
||||
/>
|
||||
</el-col>
|
||||
<el-col :span="21">
|
||||
<span style="font-size: 13px;margin-left: 10px;font-weight: bold;line-height: 20px"
|
||||
>{{ $t('panel.panel_cache_use_tips') }}</span>
|
||||
<span style="font-size: 13px;margin-left: 10px;font-weight: bold;line-height: 20px">{{ $t('panel.panel_cache_use_tips') }}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div
|
||||
@ -474,7 +477,6 @@ import { addClass, removeClass } from '@/utils'
|
||||
import FilterGroup from '../filter'
|
||||
import SubjectSetting from '../SubjectSetting'
|
||||
import bus from '@/utils/bus'
|
||||
import Editor from '@/components/canvas/components/Editor/index'
|
||||
import { deepCopy, getNowCanvasComponentData, imgUrlTrans, matrixBaseChange } from '@/components/canvas/utils/utils'
|
||||
import componentList, {
|
||||
BASE_MOBILE_STYLE,
|
||||
@ -507,7 +509,6 @@ import ButtonResetDialog from '../filter/ButtonResetDialog'
|
||||
import toast from '@/components/canvas/utils/toast'
|
||||
import { commonAttr } from '@/components/canvas/custom-component/component-list'
|
||||
import generateID from '@/components/canvas/utils/generateID'
|
||||
import TextAttr from '@/components/canvas/components/TextAttr'
|
||||
import ComponentWait from '@/views/panel/edit/ComponentWait'
|
||||
import { deleteEnshrine, saveEnshrine, starStatus } from '@/api/panel/enshrine'
|
||||
import ChartEdit from '@/views/chart/view/ChartEdit'
|
||||
@ -517,14 +518,12 @@ import Multiplexing from '@/views/panel/ViewSelect/multiplexing'
|
||||
import { listenGlobalKeyDown } from '@/components/canvas/utils/shortcutKey'
|
||||
import { adaptCurThemeCommonStyle } from '@/components/canvas/utils/style'
|
||||
import eventBus from '@/components/canvas/utils/eventBus'
|
||||
import DeEditor from '@/components/canvas/components/Editor/DeEditor'
|
||||
import DeCanvas from '@/components/canvas/DeCanvas'
|
||||
|
||||
export default {
|
||||
name: 'PanelEdit',
|
||||
components: {
|
||||
DeCanvas,
|
||||
DeEditor,
|
||||
Multiplexing,
|
||||
ChartStyleBatchSet,
|
||||
OuterParamsSet,
|
||||
@ -533,7 +532,6 @@ export default {
|
||||
DeContainer,
|
||||
DeAsideContainer,
|
||||
FilterGroup,
|
||||
Editor,
|
||||
Toolbar,
|
||||
FilterDialog,
|
||||
ButtonDialog,
|
||||
@ -541,7 +539,6 @@ export default {
|
||||
SubjectSetting,
|
||||
Preview,
|
||||
AssistComponent,
|
||||
TextAttr,
|
||||
ChartGroup,
|
||||
ChartEdit,
|
||||
CanvasOptBar
|
||||
@ -935,11 +932,11 @@ export default {
|
||||
showPanel(type) {
|
||||
if (this.showIndex === -1 || this.showIndex === type) {
|
||||
this.$nextTick(() => {
|
||||
if (this.show) {
|
||||
this.showIndex === -1
|
||||
}
|
||||
this.show = !this.show
|
||||
if (this.show) {
|
||||
this.showIndex === -1
|
||||
}
|
||||
this.show = !this.show
|
||||
}
|
||||
)
|
||||
}
|
||||
this.showIndex = type
|
||||
|
@ -82,7 +82,7 @@ export default {
|
||||
'curCanvasScaleMap',
|
||||
'componentData'
|
||||
]),
|
||||
curCanvasScaleSelf(){
|
||||
curCanvasScaleSelf() {
|
||||
return this.curCanvasScaleMap[this.canvasId]
|
||||
},
|
||||
searchButtonExist() {
|
||||
|
@ -161,7 +161,7 @@
|
||||
/>
|
||||
</span>
|
||||
<span v-if="data.nodeType === 'folder'">
|
||||
<i class="el-icon-folder" />
|
||||
<svg-icon icon-class="scene" />
|
||||
</span>
|
||||
<span
|
||||
:class="data.status"
|
||||
@ -198,7 +198,7 @@
|
||||
<el-dropdown-item
|
||||
:command="beforeClickEdit('folder', 'new', data, node)"
|
||||
>
|
||||
<i class="el-icon-folder" />
|
||||
<svg-icon icon-class="scene" />
|
||||
<span>{{ $t('panel.groupAdd') }}</span>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
|
@ -144,7 +144,7 @@ export default {
|
||||
flex-wrap: nowrap;
|
||||
box-sizing: border-box;
|
||||
.el-empty {
|
||||
height: 100%;
|
||||
padding-top: 202px;
|
||||
}
|
||||
}
|
||||
.ms-aside-container {
|
||||
|
Loading…
Reference in New Issue
Block a user