优化重构

This commit is contained in:
xuliangzhan
2020-04-03 12:01:54 +08:00
parent 5346f5e83a
commit c69ee8fe1c
59 changed files with 224 additions and 164 deletions

View File

@@ -1,22 +1,20 @@
<template>
<div>
<div class="my-filter-complex">
<div class="my-fc-type">
<vxe-radio v-model="option.data.type" name="fType" label="has">包含</vxe-radio>
<vxe-radio v-model="option.data.type" name="fType" label="eq"></vxe-radio>
<vxe-radio v-model="option.data.type" name="fType" label="gt"></vxe-radio>
<vxe-radio v-model="option.data.type" name="fType" label="lt">小于</vxe-radio>
</div>
<div class="my-fc-name">
<vxe-input v-model="option.data.name" type="text" placeholder="请输入名称" @input="changeOptionEvent()"></vxe-input>
</div>
<div class="my-fc-iscase">
<vxe-checkbox v-model="option.data.isCase">不区分大小写</vxe-checkbox>
</div>
<div class="my-fc-footer">
<vxe-button status="primary" @click="confirmEvent">确认</vxe-button>
<vxe-button @click="resetEvent">重置</vxe-button>
</div>
<div class="my-filter-complex">
<div class="my-fc-type">
<vxe-radio v-model="option.data.type" name="fType" label="has">包含</vxe-radio>
<vxe-radio v-model="option.data.type" name="fType" label="eq">等于</vxe-radio>
<vxe-radio v-model="option.data.type" name="fType" label="gt"></vxe-radio>
<vxe-radio v-model="option.data.type" name="fType" label="lt"></vxe-radio>
</div>
<div class="my-fc-name">
<vxe-input v-model="option.data.name" type="text" placeholder="请输入名称" @input="changeOptionEvent()"></vxe-input>
</div>
<div class="my-fc-iscase">
<vxe-checkbox v-model="option.data.isCase">不区分大小写</vxe-checkbox>
</div>
<div class="my-fc-footer">
<vxe-button status="primary" @click="confirmEvent">确认</vxe-button>
<vxe-button @click="resetEvent">重置</vxe-button>
</div>
</div>
</template>
@@ -71,7 +69,7 @@ export default {
<style scoped>
.my-filter-complex {
width: 260px;
padding: 0 8px;
padding: 5px 15px 10px 15px;
}
.my-filter-complex .my-fc-type {
padding: 8px 0;

View File

@@ -115,6 +115,7 @@ export default {
<style>
.my-filter-content {
padding: 10px;
user-select: none;
}
.my-filter-content .my-fc-search .my-fc-search-top {

View File

@@ -1,60 +1,58 @@
<template>
<div>
<div class="my-filter-excel">
<div class="my-fe-top">
<ul class="my-fe-menu-group">
<li class="my-fe-menu-link" @click="sortAscEvent">
<i class="fa fa-sort-alpha-asc my-fe-menu-link-left-icon"></i>
<span>升序</span>
</li>
<li class="my-fe-menu-link" @click="sortDescEvent">
<i class="fa fa-sort-alpha-desc my-fe-menu-link-left-icon"></i>
<span>降序</span>
</li>
</ul>
<ul class="my-fe-menu-group">
<li class="my-fe-menu-link" @click="resetFilterEvent">
<span>清除筛选</span>
</li>
<li class="my-fe-menu-link">
<i class="fa fa-filter my-fe-menu-link-left-icon"></i>
<span>筛选条件</span>
<i class="fa fa-caret-right my-fe-menu-link-right-icon"></i>
<div class="my-fe-menu-child-list">
<ul class="my-fe-child-menu-group-list" v-for="(cList, gIndex) in caseGroups" :key="gIndex">
<li v-for="(cItem, cIndex) in cList" :key="cIndex" :class="[option.data.fMenu === cItem.value ? 'my-fe-child-menu-item active' : 'my-fe-child-menu-item']" @click="childMenuClickEvent(cItem)">
<i class="fa fa-check my-fe-child-menu-left-icon"></i>
<span>{{ cItem.label }}</span>
</li>
</ul>
</div>
</li>
</ul>
<div class="my-filter-excel">
<div class="my-fe-top">
<ul class="my-fe-menu-group">
<li class="my-fe-menu-link" @click="sortAscEvent">
<i class="fa fa-sort-alpha-asc my-fe-menu-link-left-icon"></i>
<span>升序</span>
</li>
<li class="my-fe-menu-link" @click="sortDescEvent">
<i class="fa fa-sort-alpha-desc my-fe-menu-link-left-icon"></i>
<span>降序</span>
</li>
</ul>
<ul class="my-fe-menu-group">
<li class="my-fe-menu-link" @click="resetFilterEvent">
<span>清除筛选</span>
</li>
<li class="my-fe-menu-link">
<i class="fa fa-filter my-fe-menu-link-left-icon"></i>
<span>筛选条件</span>
<i class="fa fa-caret-right my-fe-menu-link-right-icon"></i>
<div class="my-fe-menu-child-list">
<ul class="my-fe-child-menu-group-list" v-for="(cList, gIndex) in caseGroups" :key="gIndex">
<li v-for="(cItem, cIndex) in cList" :key="cIndex" :class="[option.data.fMenu === cItem.value ? 'my-fe-child-menu-item active' : 'my-fe-child-menu-item']" @click="childMenuClickEvent(cItem)">
<i class="fa fa-check my-fe-child-menu-left-icon"></i>
<span>{{ cItem.label }}</span>
</li>
</ul>
</div>
</li>
</ul>
</div>
<div class="my-fe-search">
<div class="my-fe-search-top">
<input v-model="option.data.sVal" placeholder="搜索"/>
<i class="fa fa-search my-fe-search-icon"></i>
</div>
<div class="my-fe-search">
<div class="my-fe-search-top">
<input v-model="option.data.sVal" placeholder="搜索"/>
<i class="fa fa-search my-fe-search-icon"></i>
</div>
<ul class="my-fe-search-list" v-if="searchList.length">
<li class="my-fe-search-item" @click="sAllEvent">
<i :class="[isAllSearch ? 'fa fa-check-square-o my-fe-search-item-icon' : 'fa fa-square-o my-fe-search-item-icon']"></i>
<span>(全选)</span>
</li>
<li class="my-fe-search-item" v-for="(val, sIndex) in searchList" :key="sIndex" @click="sItemEvent(val)">
<i :class="[option.data.vals.indexOf(val) === -1 ? 'fa fa-square-o my-fe-search-item-icon' : 'fa fa-check-square-o my-fe-search-item-icon']"></i>
<span>{{ val }}</span>
</li>
</ul>
<div v-else class="body">
<div class="my-fe-search-empty">无匹配项</div>
</div>
</div>
<div class="my-fe-footer">
<vxe-button status="primary" @click="confirmFilterEvent">确认</vxe-button>
<vxe-button @click="resetFilterEvent">重置</vxe-button>
<ul class="my-fe-search-list" v-if="searchList.length">
<li class="my-fe-search-item" @click="sAllEvent">
<i :class="[isAllSearch ? 'fa fa-check-square-o my-fe-search-item-icon' : 'fa fa-square-o my-fe-search-item-icon']"></i>
<span>(全选)</span>
</li>
<li class="my-fe-search-item" v-for="(val, sIndex) in searchList" :key="sIndex" @click="sItemEvent(val)">
<i :class="[option.data.vals.indexOf(val) === -1 ? 'fa fa-square-o my-fe-search-item-icon' : 'fa fa-check-square-o my-fe-search-item-icon']"></i>
<span>{{ val }}</span>
</li>
</ul>
<div v-else class="body">
<div class="my-fe-search-empty">无匹配项</div>
</div>
</div>
<div class="my-fe-footer">
<vxe-button status="primary" @click="confirmFilterEvent">确认</vxe-button>
<vxe-button @click="resetFilterEvent">重置</vxe-button>
</div>
</div>
</template>
@@ -280,11 +278,6 @@ export default {
</script>
<style>
.vxe-table--filter-wrapper.my-filter-excel-wrapper .vxe-table--filter-template {
overflow: initial;
max-height: initial;
padding: 0;
}
.my-filter-excel {
user-select: none;
}

View File

@@ -1,6 +1,6 @@
<template>
<div>
<input type="text" v-model="option.data" @input="changeOptionEvent">
<div class="my-filter-input">
<input type="text" v-model="option.data" placeholder="支持回车筛选" @keyup.enter="enterEvent" @input="changeOptionEvent">
</div>
</template>
@@ -37,7 +37,18 @@ export default {
const { $panel } = params
const checked = !!option.data
$panel.changeOption(null, checked, option)
},
enterEvent () {
const { params } = this
const { $panel } = params
$panel.confirmFilter()
}
}
}
</script>
<style scoped>
.my-filter-input {
padding: 10px;
}
</style>