header.vue
2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<template>
<div
v-if="crud.props.searchToggle"
>
<el-input v-model="query.name" clearable size="small" placeholder="输入岗位名称搜索" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
<date-range-picker v-model="query.createTime" class="date-item" />
<el-select v-model="query.enabled" clearable size="small" placeholder="状态" class="filter-item" style="width: 90px" @change="crud.toQuery">
<el-option v-for="item in dict.dict.job_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
<rrOperation />
</div>
</template>
<script>
import { header } from '@crud/crud'
import CRUD from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import DateRangePicker from '@/components/DateRangePicker'
import { downloadJob } from '@/api/system/job'
import { downloadFile } from '@/utils/index'
export default {
components: { rrOperation, DateRangePicker },
mixins: [header()],
props: {
dict: {
type: Object,
required: true
},
permission: {
type: Object,
required: true
}
},
methods: {
download() {
this.crud.toQuery()
this.downloadLoading = true
downloadJob(this.crud.params).then(result => {
downloadFile(result, '岗位列表', 'xlsx')
this.downloadLoading = false
}).catch(() => {
this.downloadLoading = false
})
},
[CRUD.HOOK.beforeRefresh]() {
const query = this.query
if (query.name) {
this.crud.params.name = query.name
} else {
this.crud.params.name = ''
}
if (query.enabled) {
this.crud.params.enabled = query.enabled
} else {
this.crud.params.enabled = ''
}
if (query.createTime) {
this.crud.params.startTime = query.createTime[0]
this.crud.params.endTime = query.createTime[1]
} else {
this.crud.params.startTime = ''
this.crud.params.endTime = ''
}
return true
}
}
}
</script>