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
| <template>
| <el-select style="width:100%" v-model="dataval" @change="selectchange" filterable clearable placeholder="请选择">
| <el-option v-for="(item,i) in list" :key="i" :label="item.key" :value="item.val"></el-option>
| <Page style="padding-left:15px;" :total="page_data.total" :background="background" :layout="layout" :page.sync="page_data.page" :limit.sync="page_data.limit" @pagination="init" />
| </el-select>
| </template>
|
|
| <script>
| import Page from '@/components/common/Page.vue'
| export default {
| components: {
| Page,
| },
| props: {
| url: {
| type: String,
| },
| selectval:{
| type: [Number, String],
| default:null,
| },
| is_clear:{
| type:Boolean,
| default:false
| },
| },
| watch:{
| is_clear(val){
| if(val){
| this.dataval = ''
| }
| }
| },
| data() {
| return {
| dataval:this.selectval,
| list:[],
| page_data: {
| limit: 20,
| page: 1,
| total:20,
| },
| layout:'total,sizes, prev, pager, next',
| background:false,
| }
| },
| mounted() {
| this.init()
| },
| methods: {
| init(){
| let param = {limit:this.page_data.limit,page:this.page_data.page}
| this.$axios.post(this.url,param).then(res => {
| if(res.data.status == 200){
| this.list = res.data.data.data
| this.page_data.total = res.data.data.total
| }
| })
| },
| selectchange(val){
| this.$emit('update:selectval',val)
| }
| }
| }
| </script>
|
|
|