Blame view

ant-design-vue-jeecg/src/components/jeecgbiz/JSelectMultiUser.vue 2.09 KB
肖超群 authored
1
2
3
4
5
6
7
8
9
10
11
12
13
<template>
  <!-- 定义在这里的参数都是不可在外部覆盖的,防止出现问题 -->
  <j-select-biz-component
    :value="value"
    :ellipsisLength="25"
    :listUrl="url.list"
    :columns="columns"
    v-on="$listeners"
    v-bind="attrs"
  />
</template>

<script>
肖超群 authored
14
15
import JDate from '@comp/jeecg/JDate'
import JSelectBizComponent from './JSelectBizComponent'
肖超群 authored
16
肖超群 authored
17
18
19
20
21
22
23
24
export default {
  name: 'JSelectMultiUser',
  components: {JDate, JSelectBizComponent},
  props: {
    value: null, // any type
    queryConfig: {
      type: Array,
      default: () => []
肖超群 authored
25
    },
肖超群 authored
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
  },
  data() {
    return {
      url: {list: '/sys/user/list'},
      columns: [
        {title: '姓名', align: 'center', width: '25%', widthRight: '70%', dataIndex: 'realname'},
        {title: '账号', align: 'center', width: '25%', dataIndex: 'username'},
        {title: '电话', align: 'center', width: '20%', dataIndex: 'phone'},
        {title: '出生日期', align: 'center', width: '20%', dataIndex: 'birthday'}
      ],
      // 定义在这里的参数都是可以在外部传递覆盖的,可以更灵活的定制化使用的组件
      default: {
        name: '用户',
        width: 1200,
        displayKey: 'realname',
        returnKeys: ['id', 'username'],
        queryParamText: '账号',
      },
      // 多条件查询配置
      queryConfigDefault: [
        {
          key: 'sex',
          label: '性别',
          // 如果包含 dictCode,那么就会显示成下拉框
          dictCode: 'sex',
肖超群 authored
51
        },
肖超群 authored
52
53
54
55
56
57
58
        {
          key: 'birthday',
          label: '生日',
          placeholder: '请选择出生日期',
          // 如果想要使用局部注册的组件,就必须要使用箭头函数
          customRender: ({key, queryParam, options}) => {
            return <j-date {...options} vModel={queryParam[key]} style="width:180px;"/>
肖超群 authored
59
          },
肖超群 authored
60
61
62
63
64
65
66
67
68
        },
      ],
    }
  },
  computed: {
    attrs() {
      return Object.assign(this.default, this.$attrs, {
        queryConfig: this.queryConfigDefault.concat(this.queryConfig)
      })
肖超群 authored
69
70
    }
  }
肖超群 authored
71
}
肖超群 authored
72
73
74
</script>

<style lang="less" scoped></style>