@@ -174,6 +173,7 @@ export default {
.condition-content {
overflow: auto hidden;
letter-spacing: 0px !important;
+ width: 100%;
}
.condition-content-container {
position: relative;
diff --git a/frontend/src/components/widget/DeWidget/DeSelectTree.vue b/frontend/src/components/widget/DeWidget/DeSelectTree.vue
index 0c73552eda..f9a879600b 100644
--- a/frontend/src/components/widget/DeWidget/DeSelectTree.vue
+++ b/frontend/src/components/widget/DeWidget/DeSelectTree.vue
@@ -5,7 +5,6 @@
ref="deSelectTree"
v-model="value"
popover-class="test-class-wrap"
- :is-single="isSingle"
:data="datas"
:select-params="selectParams"
:tree-params="treeParams"
@@ -45,9 +44,8 @@ export default {
},
data() {
return {
- showNumber: false,
- selectOptionWidth: 0,
show: true,
+ selectOptionWidth: 0,
datas: [],
value: this.isSingle ? '' : [],
selectParams: {
@@ -135,14 +133,17 @@ export default {
},
'element.options.attrs.multiple': function(value, old) {
if (typeof old === 'undefined' || value === old) return
+
if (!this.inDraw) {
this.value = value ? [] : null
this.element.options.value = ''
}
-
this.show = false
this.$nextTick(() => {
this.show = true
+ this.$nextTick(() => {
+ this.$refs.deSelectTree && this.$refs.deSelectTree.treeDataUpdateFun(this.datas)
+ })
})
}
@@ -212,25 +213,14 @@ export default {
this.element.options.manualModify = true
}
this.setCondition()
- this.showNumber = false
-
- this.$nextTick(() => {
- if (!this.element.options.attrs.multiple || !this.$refs.deSelect || !this.$refs.deSelect.$refs.tags) {
- return
- }
- const kids = this.$refs.deSelect.$refs.tags.children[0].children
- let contentWidth = 0
- kids.forEach(kid => {
- contentWidth += kid.offsetWidth
- })
- this.showNumber = contentWidth > ((this.$refs.deSelectTree.$refs.tags.clientWidth - 30) * 0.9)
- })
},
setCondition() {
+ const val = this.formatFilterValue()
+
const param = {
component: this.element,
- value: this.formatFilterValue(),
+ value: val,
operator: this.operator,
isTree: true
}
@@ -267,7 +257,8 @@ export default {
return results
// return this.value
}
- return this.value.split(',')
+ const result = this.value.split(',').map(v => v.replaceAll(SEPARATOR, ','))
+ return result
},
fillValueDerfault() {
@@ -286,14 +277,6 @@ export default {
return datas.filter(item => !!item)
},
- setOptionWidth(event) {
- // 下拉框弹出时,设置弹框的宽度
- this.$nextTick(() => {
- // this.selectOptionWidth = event.srcElement.offsetWidth + 'px'
- this.selectOptionWidth = event.srcElement.parentElement.parentElement.offsetWidth + 'px'
- })
- },
-
/* 下面是树的渲染方法 */
_filterFun(value, data, node) {
@@ -308,9 +291,9 @@ export default {
_searchFun(value) {
console.log(value, '<--_searchFun')
// 自行判断 是走后台查询,还是前端过滤
- this.$refs.treeSelect.filterFun(value)
+ this.$refs.deSelectTree.filterFun(value)
// 后台查询
- // this.$refs.treeSelect.treeDataUpdateFun(treeData);
+ // this.$refs.deSelectTree.treeDataUpdateFun(treeData);
},
// 自定义render
_renderFun(h, { node, data, store }) {
diff --git a/frontend/src/components/widget/serviceImpl/TextSelectTreeServiceImpl.js b/frontend/src/components/widget/serviceImpl/TextSelectTreeServiceImpl.js
index 9180883558..23674de94f 100644
--- a/frontend/src/components/widget/serviceImpl/TextSelectTreeServiceImpl.js
+++ b/frontend/src/components/widget/serviceImpl/TextSelectTreeServiceImpl.js
@@ -88,7 +88,11 @@ class TextSelectTreeServiceImpl extends WidgetService {
const param = {
component: element,
value: !value ? [] : Array.isArray(value) ? value : value.toString().split(','),
- operator: element.options.attrs.multiple ? 'in' : 'eq'
+ operator: element.options.attrs.multiple ? 'in' : 'eq',
+ isTree: true
+ }
+ if (param.value && param.value.length) {
+ param.value = param.value.map(val => val.replaceAll('-de-', ','))
}
return param
}
diff --git a/frontend/src/utils/conditionUtil.js b/frontend/src/utils/conditionUtil.js
index 4416b25f4c..27ba99e879 100644
--- a/frontend/src/utils/conditionUtil.js
+++ b/frontend/src/utils/conditionUtil.js
@@ -27,8 +27,19 @@ export const valueValid = condition => {
export const formatCondition = obj => {
const { component, value, operator, isTree } = obj
- const fieldId = component.options.attrs.fieldId
+
+ let fieldId = component.options.attrs.fieldId
const viewIds = component.options.attrs.viewIds
+ if (isTree && !component.options.attrs.multiple && value && value.length) {
+ // 单选树
+ const val = value[0]
+ if (val) {
+ const len = val.split(',').length
+ if (len) {
+ fieldId = fieldId.split(',').slice(0, len).join(',')
+ }
+ }
+ }
const condition = new Condition(component.id, fieldId, operator, value, viewIds, isTree)
return condition
}
diff --git a/frontend/src/views/chart/chart/util.js b/frontend/src/views/chart/chart/util.js
index 45621bf8bb..be28d2bf41 100644
--- a/frontend/src/views/chart/chart/util.js
+++ b/frontend/src/views/chart/chart/util.js
@@ -1191,27 +1191,27 @@ export const TYPE_CONFIGS = [
'tableItemBgColor',
'tableFontColor',
'alpha'
+ ],
+ 'size-selector': [
+ 'tablePageMode',
+ 'tablePageSize',
+ 'tableTitleFontSize',
+ 'tableItemFontSize',
+ 'tableTitleHeight',
+ 'tableItemHeight',
+ 'tableColumnMode'
+ ],
+ 'title-selector': [
+ 'show',
+ 'title',
+ 'fontSize',
+ 'color',
+ 'hPosition',
+ 'vPosition',
+ 'isItalic',
+ 'isBolder'
]
- },
- 'size-selector': [
- 'tablePageMode',
- 'tablePageSize',
- 'tableTitleFontSize',
- 'tableItemFontSize',
- 'tableTitleHeight',
- 'tableItemHeight',
- 'tableColumnMode'
- ],
- 'title-selector': [
- 'show',
- 'title',
- 'fontSize',
- 'color',
- 'hPosition',
- 'vPosition',
- 'isItalic',
- 'isBolder'
- ]
+ }
},
{
diff --git a/frontend/src/views/system/test/MyTree.vue b/frontend/src/views/system/test/MyTree.vue
deleted file mode 100644
index 12ae1d25dc..0000000000
--- a/frontend/src/views/system/test/MyTree.vue
+++ /dev/null
@@ -1,150 +0,0 @@
-
-
-
-
-
-
diff --git a/frontend/src/views/system/test/index.vue b/frontend/src/views/system/test/index.vue
deleted file mode 100644
index 0e6f81a882..0000000000
--- a/frontend/src/views/system/test/index.vue
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 测试焦点触发
-
-
-
-
-
-
-
-
-
-