|
- {{index+1}}
+ {{index+1}}
|
-
+
|
@@ -66,6 +66,8 @@
+
+
@@ -116,6 +118,7 @@
showOperator: { type: Boolean, default: true },
options: { type: Object, default: () => {} }
},
+ emits: ['filterChange'],
data() {
return {
drawer: false,
@@ -155,11 +158,13 @@
},
//增加过滤项
addFilter(){
- if(this.fields.length<=0){
+ //下一组新增过滤
+ var filterArr = this.fields.filter(field => !this.filter.some(item => field.value == item.field.value && !item.field.repeat))
+ if(this.fields.length<=0 || filterArr.length<=0){
this.$message.warning('无过滤项');
return false
}
- const filterNum = this.fields[this.filter.length] || this.fields[0]
+ const filterNum = filterArr[0]
this.filter.push({
field: filterNum,
operator: filterNum.operator || 'include',
@@ -195,6 +200,9 @@
},
//下拉框显示事件处理异步搜索
async remoteMethod(query, item){
+ if(!item.field.extend.request) {
+ return false;
+ }
if(query !== ''){
item.selectLoading = true;
try {
diff --git a/src/components/scFilterBar/pySelect.vue b/src/components/scFilterBar/pySelect.vue
index bf3274f3..5d77edc6 100644
--- a/src/components/scFilterBar/pySelect.vue
+++ b/src/components/scFilterBar/pySelect.vue
@@ -9,7 +9,7 @@
-
+
@@ -18,7 +18,8 @@
export default {
props: {
- options: { type: Array, default: () => [] }
+ options: { type: Array, default: () => [] },
+ filter: { type: Array, default: () => [] }
},
data() {
return {
@@ -45,7 +46,14 @@
if(isopen){
this.optionsList = this.optionsList_
}
+ },
+ isDisabled(key){
+ if(this.filter.find(item => item.field.value == key && !item.field.repeat)){
+ return true
+ }else{
+ return false
+ }
}
}
}
-
\ No newline at end of file
+
diff --git a/src/components/scFormTable/index.vue b/src/components/scFormTable/index.vue
index 682a06e4..cb44888f 100644
--- a/src/components/scFormTable/index.vue
+++ b/src/components/scFormTable/index.vue
@@ -1,20 +1,29 @@
+
+
- |