涉及二开接口对象方法
接口对象:
IFilter (筛选器,即席查询透视分析有效)
接口方法:
setEditable(editable: boolean)
作用: 设置筛选器是否可编辑
名称 | 类型 | 说明 | |
输入参数 | editable | boolean | true表示可编辑,false表示只读 |
返回值 | 无 |
setEnable(enabled: boolean)
作用: 设置筛选器是否可用(启用/禁用)
名称 | 类型 | 说明 | |
输入参数 | enabled | boolean | true表示启用,false表示禁用 |
返回值 | 无 |
setVisible(visible: boolean)
作用: 设置筛选器是否可见
名称 | 类型 | 说明 | |
输入参数 | visible | boolean | true表示可见,false表示隐藏 |
返回值 | 无 |
isEditable()
作用: 判断筛选器当前是否可编辑
名称 | 类型 | 说明 | |
输入参数 | 无 | ||
返回值 | editable | boolean | true表示可编辑,false表示只读 |
isEnable()
作用: 判断筛选器当前是否可用(启用状态)
名称 | 类型 | 说明 | |
输入参数 | 无 | ||
返回值 | enabled | boolean | true表示启用,false表示禁用 |
isVisible()
作用: 设判断筛选器当前是否可见
名称 | 类型 | 说明 | |
输入参数 | 无 | ||
返回值 | visible | boolean | true表示可见,false表示隐藏 |
二开示例
1、即席查询 新增控制筛选器是否可见、是否可编辑、是否启用 this.on(D_QUERY_FILTER_ON_INIT, (filter, iDetailQuery) => { console.log('D_QUERY_FILTER_ON_INIT') filter.setSuffixSlot({ component: SuffixButton, props: { value: filter.isEditable() }, listeners: { click: function (enabled) { // filter.setVisible(enabled); 控制筛选器是否可见 filter.setEditable(enabled); // 控制筛选器是否可编辑 filter.setEnable(enabled); // 控制筛选器是否启用(禁用即代表对应筛选器对于查询数据和导出无效) } } }) }) 2、透视分析 新增控制筛选器是否可见、是否可编辑、是否启用 this.on(D_QUERY_FILTER_ON_INIT, (filter, iAdHocAnalysis) => { console.log('AD_HOC_FILTER_ON_INIT') filter.setSuffixSlot({ component: SuffixButton, props: { value: filter.isEditable() }, listeners: { click: function (enabled) { // filter.setVisible(enabled); 控制筛选器是否可见 filter.setEditable(enabled); // 控制筛选器是否可编辑 filter.setEnable(enabled); // 控制筛选器是否启用(禁用即代表对应筛选器对于查询数据和导出无效) } } }) }) // 上述示例中使用到的 SuffixButton <template> <el-button type="default" style="line-height: 28px; padding: 0 8px; margin-left: 8px" @click="onClick" >{{ buttonText }}</el-button > </template> <script> export default { name: "SuffixButton", props: { value: { type: Boolean, default: false } }, data() { return { enabled: this.value } }, computed: { buttonText() { return this.enabled ? '禁用' : '启用' } }, methods: { onClick() { this.enabled = !this.enabled this.$emit("click", this.enabled) }, }, }; </script>