Unverified 提交 e65b15b8 authored 作者: 王嘉豪's avatar 王嘉豪 提交者: GitHub

Merge pull request #1318 from dataease/pr@dev@refactor_panel-speed

refactor: 过滤组件样式边界优化
...@@ -536,7 +536,7 @@ export default { ...@@ -536,7 +536,7 @@ export default {
return this.$store.state.curComponent return this.$store.state.curComponent
}, },
curGap() { curGap() {
return this.canvasStyleData.panel.gap === 'yes' && this.element.auxiliaryMatrix ? this.componentGap : 0 return this.element.auxiliaryMatrix && this.element.type !== 'custom' ? this.componentGap : 0
}, },
...mapState([ ...mapState([
'editor', 'editor',
......
...@@ -69,7 +69,7 @@ export default { ...@@ -69,7 +69,7 @@ export default {
return this.curComponent && this.config === this.curComponent return this.curComponent && this.config === this.curComponent
}, },
curGap() { curGap() {
return this.canvasStyleData.panel.gap === 'yes' && this.config.auxiliaryMatrix ? this.componentGap : 0 return this.config.auxiliaryMatrix ? this.componentGap : 0
}, },
...mapState([ ...mapState([
'mobileLayoutStatus', 'mobileLayoutStatus',
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
> >
<component <component
:is="item.component" :is="item.component"
v-if="item.type==='v-text'" v-if="renderOk&&item.type==='v-text'"
:id="'component' + item.id" :id="'component' + item.id"
ref="wrapperChild" ref="wrapperChild"
class="component" class="component"
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
@input="handleInput" @input="handleInput"
/> />
<de-out-widget <de-out-widget
v-else-if="item.type==='custom'" v-else-if="renderOk&&item.type==='custom'"
:id="'component' + item.id" :id="'component' + item.id"
ref="wrapperChild" ref="wrapperChild"
class="component" class="component"
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
/> />
<component <component
:is="item.component" :is="item.component"
v-else-if="item.type==='other'" v-else-if="renderOk&&item.type==='other'"
:id="'component' + item.id" :id="'component' + item.id"
ref="wrapperChild" ref="wrapperChild"
class="component" class="component"
...@@ -95,7 +95,7 @@ ...@@ -95,7 +95,7 @@
/> />
<component <component
:is="item.component" :is="item.component"
v-else v-else-if="renderOk"
:id="'component' + item.id" :id="'component' + item.id"
ref="wrapperChild" ref="wrapperChild"
class="component" class="component"
...@@ -327,6 +327,7 @@ function init() { ...@@ -327,6 +327,7 @@ function init() {
const vm = this const vm = this
recalcCellWidth.call(this) recalcCellWidth.call(this)
resetPositionBox.call(this) resetPositionBox.call(this)
// initPosition(this)
let i = 0 let i = 0
const timeid = setInterval(function() { const timeid = setInterval(function() {
if (i >= vm.yourList.length) { if (i >= vm.yourList.length) {
...@@ -470,6 +471,15 @@ function removeItem(index) { ...@@ -470,6 +471,15 @@ function removeItem(index) {
this.yourList.splice(index, 1, {}) this.yourList.splice(index, 1, {})
} }
function initPosition(_this) {
_this.yourList.forEach(item => {
checkItemPosition.call(_this, item, {
x: item.x,
y: item.y
})
})
}
function addItem(item, index) { function addItem(item, index) {
// console.log('addItem') // console.log('addItem')
if (index < 0) { if (index < 0) {
...@@ -807,7 +817,7 @@ export default { ...@@ -807,7 +817,7 @@ export default {
}, },
data() { data() {
return { return {
psDebug: false, // 定位调试模式 psDebug: true, // 定位调试模式
editorX: 0, editorX: 0,
editorY: 0, editorY: 0,
start: { // 选中区域的起点 start: { // 选中区域的起点
...@@ -995,41 +1005,6 @@ export default { ...@@ -995,41 +1005,6 @@ export default {
e.preventDefault() e.preventDefault()
} }
this.hideArea() this.hideArea()
// 获取编辑器的位移信息,每次点击时都需要获取一次。主要是为了方便开发时调试用。
const rectInfo = this.editor.getBoundingClientRect()
this.editorX = rectInfo.x
this.editorY = rectInfo.y
const startX = e.clientX
const startY = e.clientY
this.start.x = startX - this.editorX
this.start.y = startY - this.editorY
// 展示选中区域
this.isShowArea = true
const move = (moveEvent) => {
this.width = Math.abs(moveEvent.clientX - startX)
this.height = Math.abs(moveEvent.clientY - startY)
if (moveEvent.clientX < startX) {
this.start.x = moveEvent.clientX - this.editorX
}
if (moveEvent.clientY < startY) {
this.start.y = moveEvent.clientY - this.editorY
}
}
const up = (e) => {
document.removeEventListener('mousemove', move)
document.removeEventListener('mouseup', up)
if (e.clientX === startX && e.clientY === startY) {
this.hideArea()
return
}
this.createGroup()
}
document.addEventListener('mousemove', move)
document.addEventListener('mouseup', up)
// 挤占式画布设计 // 挤占式画布设计
this.containerMouseDown(e) this.containerMouseDown(e)
}, },
......
...@@ -66,7 +66,7 @@ export default { ...@@ -66,7 +66,7 @@ export default {
return (this.element.optStatus.dragging || this.element.optStatus.resizing) return (this.element.optStatus.dragging || this.element.optStatus.resizing)
}, },
curGap() { curGap() {
return this.canvasStyleData.panel.gap === 'yes' && this.element.auxiliaryMatrix ? this.componentGap : 0 return this.element.auxiliaryMatrix ? this.componentGap : 0
}, },
player() { player() {
return this.$refs.videoPlayer.player return this.$refs.videoPlayer.player
......
<template> <template>
<div class="outside-container">
<div ref="myContainer" class="my-container"> <div ref="myContainer" class="my-container">
<div ref="conditionMain" class="condition-main" :class="mainClass"> <div ref="conditionMain" class="condition-main" :class="mainClass">
<div v-if="element.options.attrs.title" ref="deTitleContainer" class="condition-title"> <div v-if="element.options.attrs.title" ref="deTitleContainer" class="condition-title">
...@@ -31,7 +30,6 @@ ...@@ -31,7 +30,6 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</template> </template>
<script> <script>
...@@ -99,16 +97,12 @@ export default { ...@@ -99,16 +97,12 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.outside-container {
width: 100%;
height: 100%;
}
.my-container { .my-container {
position: absolute; position: absolute;
overflow: auto; overflow: auto;
inset: 0px; inset: 0px;
} }
.condition-main { .ccondition-main {
position: absolute; position: absolute;
overflow: auto; overflow: auto;
inset: 0px; inset: 0px;
...@@ -162,11 +156,11 @@ export default { ...@@ -162,11 +156,11 @@ export default {
height: 100%; height: 100%;
} }
.first-element-contaner { .first-element-contaner {
width: 100%; width: calc(100% - 10px);
background: initial; background: initial;
position:absolute; position:absolute;
bottom: 0px; bottom: 5px;
margin: 0 0px; margin: 0 4px;
div { div {
width: 100%; width: 100%;
} }
...@@ -174,7 +168,7 @@ export default { ...@@ -174,7 +168,7 @@ export default {
.first-element-grid-contaner { .first-element-grid-contaner {
background: #fff; background: #fff;
border: 1px solid #d7dae2; border: 1px solid #d7dae2;
top: 0px; top: 5px;
} }
.condition-main-line { .condition-main-line {
height: 40px !important; height: 40px !important;
......
...@@ -447,9 +447,9 @@ export default { ...@@ -447,9 +447,9 @@ export default {
mounted() { mounted() {
if (this.mountedInit) { if (this.mountedInit) {
this.treeNode(true) this.treeNode(true)
}
this.refresh() this.refresh()
this.getChartGroupTree() this.getChartGroupTree()
}
}, },
methods: { methods: {
clickAdd(param) { clickAdd(param) {
......
...@@ -523,7 +523,7 @@ export default { ...@@ -523,7 +523,7 @@ export default {
const xuanfuanniu = evt.target.closest('.icon-xuanfuanniu') const xuanfuanniu = evt.target.closest('.icon-xuanfuanniu')
const shujujuzhen = evt.target.closest('.icon-shujujuzhen') const shujujuzhen = evt.target.closest('.icon-shujujuzhen')
const suffix = evt.target.closest('.el-input__suffix') const suffix = evt.target.closest('.el-input__suffix')
if (!parent && !self && !stick && !xuanfuanniu && !shujujuzhen&&!suffix) { if (!parent && !self && !stick && !xuanfuanniu && !shujujuzhen && !suffix) {
this.show = false this.show = false
window.removeEventListener('click', this.closeSidebar) window.removeEventListener('click', this.closeSidebar)
this.showIndex = -1 this.showIndex = -1
...@@ -649,21 +649,22 @@ export default { ...@@ -649,21 +649,22 @@ export default {
this.beforeDialogValue = [] this.beforeDialogValue = []
this.filterVisible = true this.filterVisible = true
}, },
cancelFilter() { closeFilter() {
this.beforeDialogValue = [] this.beforeDialogValue = []
this.filterVisible = false this.filterVisible = false
this.currentWidget = null this.currentWidget = null
this.clearCurrentInfo() this.clearCurrentInfo()
},
cancelFilter() {
this.closeFilter()
bus.$emit('onRemoveLastItem') bus.$emit('onRemoveLastItem')
}, },
sureFilter() { sureFilter() {
this.currentFilterCom.options.value = [] this.currentFilterCom.options.value = []
const component = deepCopy(this.currentFilterCom) const component = deepCopy(this.currentFilterCom)
// this.$store.commit('addComponent', { component })
this.$store.commit('setComponentWithId', component) this.$store.commit('setComponentWithId', component)
this.$store.commit('recordSnapshot', 'sureFilter') this.$store.commit('recordSnapshot', 'sureFilter')
this.cancelFilter() this.closeFilter()
}, },
reFreshComponent(component) { reFreshComponent(component) {
this.currentFilterCom = component this.currentFilterCom = component
......
...@@ -731,6 +731,7 @@ export default { ...@@ -731,6 +731,7 @@ export default {
showTitleChange(value) { showTitleChange(value) {
if (!value) { if (!value) {
this.componentInfo.options.attrs.title = '' this.componentInfo.options.attrs.title = ''
this.componentInfo.style.backgroundColor = ''
} }
this.$emit('re-fresh-component', this.componentInfo) this.$emit('re-fresh-component', this.componentInfo)
} }
......
...@@ -304,7 +304,7 @@ export default { ...@@ -304,7 +304,7 @@ export default {
} }
}, },
changePdfTemplate() { changePdfTemplate() {
this.pdfTemplateContent = this.pdfTemplateAll[this.pdfTemplateSelectedIndex].templateContent this.pdfTemplateContent = this.pdfTemplateAll[this.pdfTemplateSelectedIndex] ? this.pdfTemplateAll[this.pdfTemplateSelectedIndex].templateContent : ''
}, },
closePreExport() { closePreExport() {
this.pdfExportShow = false this.pdfExportShow = false
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论