|
@@ -14,17 +14,17 @@
|
|
|
clearable
|
|
clearable
|
|
|
v-model="defaultWhere[item.value]"
|
|
v-model="defaultWhere[item.value]"
|
|
|
:placeholder="item.placeholder || '请输入内容'"
|
|
:placeholder="item.placeholder || '请输入内容'"
|
|
|
- :style="{ width: item.width ? item.width + 'px' : '220px' }"
|
|
|
|
|
|
|
+ :style="{ width: item.width ? item.width + 'px' : '230px' }"
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
|
<div v-if="item.type == 'select'">
|
|
<div v-if="item.type == 'select'">
|
|
|
<el-select
|
|
<el-select
|
|
|
clearable
|
|
clearable
|
|
|
- :v-model="defaultWhere[item.value]"
|
|
|
|
|
- :placeholder="item.placeholder || '请输入内容'"
|
|
|
|
|
|
|
+ v-model="defaultWhere[item.value]"
|
|
|
:multiple="item.multiple ? item.multiple : false"
|
|
:multiple="item.multiple ? item.multiple : false"
|
|
|
:filterable="item.filterable ? item.filterable : true"
|
|
:filterable="item.filterable ? item.filterable : true"
|
|
|
- :style="{ width: item.width ? item.width + 'px' : '220px' }"
|
|
|
|
|
|
|
+ :placeholder="item.placeholder || '请选择'"
|
|
|
|
|
+ :style="{ width: item.width ? item.width + 'px' : '230px' }"
|
|
|
>
|
|
>
|
|
|
<el-option
|
|
<el-option
|
|
|
v-for="(op, i) in item.planList"
|
|
v-for="(op, i) in item.planList"
|
|
@@ -58,7 +58,7 @@
|
|
|
start-placeholder="开始日期"
|
|
start-placeholder="开始日期"
|
|
|
end-placeholder="结束日期"
|
|
end-placeholder="结束日期"
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- :style="{ width: item.width ? item.width + 'px' : '220px' }"
|
|
|
|
|
|
|
+ :style="{ width: item.width ? item.width + 'px' : '380px' }"
|
|
|
>
|
|
>
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
|
</div>
|
|
</div>
|
|
@@ -100,7 +100,7 @@
|
|
|
v-model="defaultWhere[item.value]"
|
|
v-model="defaultWhere[item.value]"
|
|
|
:placeholder="item.placeholder || '请输入内容'"
|
|
:placeholder="item.placeholder || '请输入内容'"
|
|
|
:style="{
|
|
:style="{
|
|
|
- width: item.width ? item.width + 'px' : '220px'
|
|
|
|
|
|
|
+ width: item.width ? item.width + 'px' : '230px'
|
|
|
}"
|
|
}"
|
|
|
/>
|
|
/>
|
|
|
</div>
|
|
</div>
|
|
@@ -110,9 +110,9 @@
|
|
|
v-model="defaultWhere[item.value]"
|
|
v-model="defaultWhere[item.value]"
|
|
|
:multiple="item.multiple ? item.multiple : false"
|
|
:multiple="item.multiple ? item.multiple : false"
|
|
|
:filterable="item.filterable ? item.filterable : true"
|
|
:filterable="item.filterable ? item.filterable : true"
|
|
|
- :placeholder="item.placeholder || '请输入内容'"
|
|
|
|
|
|
|
+ :placeholder="item.placeholder || '请选择'"
|
|
|
:style="{
|
|
:style="{
|
|
|
- width: item.width ? item.width + 'px' : '220px'
|
|
|
|
|
|
|
+ width: item.width ? item.width + 'px' : '230px'
|
|
|
}"
|
|
}"
|
|
|
@visible-change="change"
|
|
@visible-change="change"
|
|
|
@change="handerChange"
|
|
@change="handerChange"
|
|
@@ -125,7 +125,23 @@
|
|
|
></el-option>
|
|
></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</div>
|
|
</div>
|
|
|
-
|
|
|
|
|
|
|
+ <div v-if="item.type == 'selectTree'">
|
|
|
|
|
+ <ele-tree-select
|
|
|
|
|
+ clearable
|
|
|
|
|
+ ref="processTypeRef"
|
|
|
|
|
+ filterable
|
|
|
|
|
+ :data="item.planList"
|
|
|
|
|
+ v-model="defaultWhere[item.value]"
|
|
|
|
|
+ :childrenKey="item.childrenKey || 'children'"
|
|
|
|
|
+ valueKey="id"
|
|
|
|
|
+ labelKey="name"
|
|
|
|
|
+ :placeholder="item.placeholder || '请选择'"
|
|
|
|
|
+ default-expand-all
|
|
|
|
|
+ :style="{
|
|
|
|
|
+ width: item.width ? item.width + 'px' : '230px'
|
|
|
|
|
+ }"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
<div v-if="item.type == 'date'">
|
|
<div v-if="item.type == 'date'">
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
|
v-model="defaultWhere[item.value]"
|
|
v-model="defaultWhere[item.value]"
|
|
@@ -136,7 +152,7 @@
|
|
|
end-placeholder="结束日期"
|
|
end-placeholder="结束日期"
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
:style="{
|
|
:style="{
|
|
|
- width: item.width ? item.width + 'px' : '220px'
|
|
|
|
|
|
|
+ width: item.width ? item.width + 'px' : '230px'
|
|
|
}"
|
|
}"
|
|
|
>
|
|
>
|
|
|
</el-date-picker>
|
|
</el-date-picker>
|
|
@@ -168,17 +184,16 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
- let defaultWhere = {};
|
|
|
|
|
export default {
|
|
export default {
|
|
|
props: {
|
|
props: {
|
|
|
- seekList: {
|
|
|
|
|
- type: Array,
|
|
|
|
|
- default: () => []
|
|
|
|
|
- },
|
|
|
|
|
- // 展示几个选择项,其余收起到更多
|
|
|
|
|
|
|
+ // 默认显示多少个搜索项
|
|
|
maxLength: {
|
|
maxLength: {
|
|
|
type: Number,
|
|
type: Number,
|
|
|
default: 3
|
|
default: 3
|
|
|
|
|
+ },
|
|
|
|
|
+ seekList: {
|
|
|
|
|
+ type: Array,
|
|
|
|
|
+ default: () => []
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -186,10 +201,6 @@
|
|
|
watch: {
|
|
watch: {
|
|
|
seekList: {
|
|
seekList: {
|
|
|
handler(val) {
|
|
handler(val) {
|
|
|
- val.forEach((item) => {
|
|
|
|
|
- defaultWhere[item.value] = null;
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
if (Array.isArray(val) && val.length <= this.maxLength) {
|
|
if (Array.isArray(val) && val.length <= this.maxLength) {
|
|
|
this.seekListRow = val;
|
|
this.seekListRow = val;
|
|
@@ -201,6 +212,18 @@
|
|
|
},
|
|
},
|
|
|
deep: true,
|
|
deep: true,
|
|
|
immediate: true
|
|
immediate: true
|
|
|
|
|
+ },
|
|
|
|
|
+ defaultWhere: {
|
|
|
|
|
+ handler(val) {
|
|
|
|
|
+ if (this.keyValue) {
|
|
|
|
|
+ sessionStorage[this.keyValue] = JSON.stringify(val);
|
|
|
|
|
+ if (Object.keys(val).length === 0) {
|
|
|
|
|
+ sessionStorage.removeItem(this.keyValue);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ deep: true
|
|
|
|
|
+ // immediate: true
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -220,7 +243,13 @@
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- created() {},
|
|
|
|
|
|
|
+ mounted() {
|
|
|
|
|
+ let whereObj = sessionStorage[this.keyValue];
|
|
|
|
|
+ if (whereObj) {
|
|
|
|
|
+ this.defaultWhere = JSON.parse(whereObj);
|
|
|
|
|
+ this.search();
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
methods: {
|
|
methods: {
|
|
|
change(visible) {
|
|
change(visible) {
|
|
|
this.dropdownVisible = visible;
|
|
this.dropdownVisible = visible;
|
|
@@ -231,6 +260,18 @@
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
search() {
|
|
search() {
|
|
|
|
|
+ let valueAr = this.seekList.filter((item) => item.valueAr);
|
|
|
|
|
+ valueAr.forEach((item) => {
|
|
|
|
|
+ let data = this.defaultWhere[item.value];
|
|
|
|
|
+ if (data) {
|
|
|
|
|
+ this.defaultWhere[item.valueAr[0]] = data[0];
|
|
|
|
|
+ this.defaultWhere[item.valueAr[1]] = data[1];
|
|
|
|
|
+ } else {
|
|
|
|
|
+ delete this.defaultWhere[item.valueAr[0]];
|
|
|
|
|
+ delete this.defaultWhere[item.valueAr[1]];
|
|
|
|
|
+ }
|
|
|
|
|
+ delete this.defaultWhere[item.value];
|
|
|
|
|
+ });
|
|
|
this.$emit('search', this.defaultWhere);
|
|
this.$emit('search', this.defaultWhere);
|
|
|
},
|
|
},
|
|
|
// 重置
|
|
// 重置
|