Commit 7cfb5054 authored by 杨柠瑞's avatar 杨柠瑞

issues26、30

parent 544dd777
...@@ -8,9 +8,43 @@ ...@@ -8,9 +8,43 @@
style="width: 200px;" style="width: 200px;"
class="filter-item" class="filter-item"
:placeholder="filter.placeholder" :placeholder="filter.placeholder"
v-if="filter.isShow" v-if="filter.isShow && isShowFilter(filter)"
v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOper(filter)]"> v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOper(filter)]">
</el-input> </el-input>
<el-input @keyup.enter.native="handleFilter"
style="width: 200px;"
class="filter-item"
:placeholder="filter.placeholder[0]"
v-if="filter.isShow && !isShowFilter(filter) && !isDatetimeFilter(filter)"
v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOper(filter)]">
</el-input>
<el-input @keyup.enter.native="handleFilter"
style="width: 200px;"
class="filter-item"
:placeholder="filter.placeholder[1]"
v-if="filter.isShow && !isShowFilter(filter) && !isDatetimeFilter(filter)"
v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOperTwin(filter)]">
</el-input>
<el-date-picker @keyup.enter.native="handleFilter"
v-if="filter.isShow && !isShowFilter(filter) && isDatetimeFilter(filter)"
v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOper(filter)]"
type="datetime"
align="right"
class="filter-item"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions">
</el-date-picker>
<el-date-picker @keyup.enter.native="handleFilter"
v-if="filter.isShow && !isShowFilter(filter) && isDatetimeFilter(filter)"
v-model="listQuery.filters[schema['modelUnderscore']][getFilterColumn(filter)][getFilterOperTwin(filter)]"
type="datetime"
align="right"
class="filter-item"
value-format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions">
</el-date-picker>
</span> </span>
<!-- end 过滤条件 --> <!-- end 过滤条件 -->
...@@ -286,7 +320,33 @@ ...@@ -286,7 +320,33 @@
isShowRefresh: false, isShowRefresh: false,
buttonGroup: false, buttonGroup: false,
operationWidth: 0, // 操作栏的宽度 operationWidth: 0, // 操作栏的宽度
isShowDetail: false // 是否显示详情按钮 isShowDetail: false, // 是否显示详情按钮
pickerOptions: { // 日期选项配置
disabledDate(time) {
return time.getTime() > Date.now()
},
shortcuts: [{
text: '今天',
onClick(picker) {
picker.$emit('pick', new Date())
}
}, {
text: '昨天',
onClick(picker) {
const date = new Date()
date.setTime(date.getTime() - 3600 * 1000 * 24)
picker.$emit('pick', date)
}
}, {
text: '一周前',
onClick(picker) {
const date = new Date()
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
picker.$emit('pick', date)
}
}]
}
} }
}, },
computed: { computed: {
...@@ -435,7 +495,7 @@ ...@@ -435,7 +495,7 @@
if (self.options.changeValue) { if (self.options.changeValue) {
resp.data = self.changeValue(resp.data) resp.data = self.changeValue(resp.data)
} }
if (resp.data[0].superior !== undefined && resp.data[0].includes !== undefined && if (resp.data.length !== 0 && resp.data[0].superior !== undefined && resp.data[0].includes !== undefined &&
resp.data[0].refers !== undefined && resp.data[0].relates !== undefined) { resp.data[0].refers !== undefined && resp.data[0].relates !== undefined) {
self.list = [] self.list = []
_.each(resp.data, function(item, index) { _.each(resp.data, function(item, index) {
...@@ -465,6 +525,19 @@ ...@@ -465,6 +525,19 @@
}) })
return data return data
}, },
isShowFilter(filter) {
return Array.prototype.isPrototypeOf(filter.placeholder) === false
},
isDatetimeFilter(filter) {
const self = this
let BooleanValue = false
_.each(self.schema.columns, function(date) {
if (date.code === self.getFilterColumn(filter) && date.dataType === 'datetime') {
BooleanValue = true
}
})
return BooleanValue
},
// 添加一条数据 // 添加一条数据
openDialog(type, data) { openDialog(type, data) {
const self = this const self = this
...@@ -517,7 +590,7 @@ ...@@ -517,7 +590,7 @@
_.forEach(newFilters, function(columns, columnsKey) { _.forEach(newFilters, function(columns, columnsKey) {
_.forEach(newFilters[columnsKey], function(column, columnKey) { _.forEach(newFilters[columnsKey], function(column, columnKey) {
if (columns[columnKey][Object.keys(column)] === '%%' || columns[columnKey][Object.keys(column)] === '' || if (columns[columnKey][Object.keys(column)] === '%%' || columns[columnKey][Object.keys(column)] === '' ||
columns[columnKey][Object.keys(column)] === null) { columns[columnKey][Object.keys(column)] === null || (columns[columnKey][Object.keys(column)[0]] === '' && columns[columnKey][Object.keys(column)[1]]) === '') {
delete (columns[columnKey]) delete (columns[columnKey])
} }
}) })
...@@ -657,6 +730,9 @@ ...@@ -657,6 +730,9 @@
getFilterOper(filter) { getFilterOper(filter) {
return Object.keys(filter[this.getFilterColumn(filter)])[0] return Object.keys(filter[this.getFilterColumn(filter)])[0]
},
getFilterOperTwin(filter) {
return Object.keys(filter[this.getFilterColumn(filter)])[1]
} }
} }
} }
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
<script> <script>
import HmComplexTable from './HmComplexTable.vue' import HmComplexTable from './HmComplexTable.vue'
import schema from '../../schemas/hm_org_schema' import schema from '../../schemas/hm_org_schema'
import _ from 'lodash'
export default { export default {
name: 'HmComplexTableIndex', name: 'HmComplexTableIndex',
...@@ -24,10 +23,11 @@ ...@@ -24,10 +23,11 @@
}, },
data() { data() {
return { return {
showUserColumns: ['mobile', 'loginid', 'username', 'email'], showUserColumns: ['mobile', 'loginid', 'username', 'email', 'createTime'],
userFilters: [ userFilters: [
{ placeholder: '过滤手机号', 'mobile': { 'like': '' }, isShow: true }, { placeholder: '过滤手机号', 'mobile': { 'like': '' }, isShow: true },
{ placeholder: '过滤用户名', 'username': { 'equalTo': '' }, isShow: true } { placeholder: '过滤用户名', 'username': { 'equalTo': '' }, isShow: true },
{ placeholder: ['安全级别大于', '安全级别小于'], 'create_time': { 'greaterThanOrEqualTo': '', 'lessThanOrEqualTo': '' }, isShow: true }
], ],
userIncludes: { userIncludes: {
'hm_user': { 'hm_user': {
...@@ -80,19 +80,8 @@ ...@@ -80,19 +80,8 @@
showDetail: { showDetail: {
isShow: true, isShow: true,
showColumns: ['mobile', 'loginid', 'username', 'email'] showColumns: ['mobile', 'loginid', 'username', 'email']
},
dataProcessing(value) {
let list = []
if (value[0].superior !== undefined && value[0].includes !== undefined &&
value[0].refers !== undefined && value[0].relates !== undefined) {
_.each(value, function(item, index) {
list.push(item.superior)
})
} else {
list = value
}
return list
} }
// dataProcessing(value) {}
} }
}, },
methods: {} methods: {}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment