| 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
69
70
71
 | | <template> |  |   <el-select |  |     class="data-perm-type-select" |  |     :class="{select__block: !inline}" |  |     :value="value" |  |     :placeholder="placeholder" |  |     :clearable="clearable" |  |     :disabled="disabled" |  |     @change="$emit('change', $event)" |  |     @input="$emit('input', $event)" |  |   > |  |     <el-option v-for="type in filterTypes" :key="type.code" :value="type.code" :label="type.remark" /> |  |   </el-select> |  | </template> |  |   |  | <script> |  | import { fetchTypes } from '@/api/system/dataPermission' |  | export default { |  |   name: 'DataPermTypeSelect', |  |   props: { |  |     value: {}, |  |     // 模块名称 |  |     module: {}, |  |     placeholder: { |  |       default: '请选择权限类型' |  |     }, |  |     inline: { |  |       default: true |  |     }, |  |     disabled: {}, |  |     clearable: { |  |       default: false |  |     } |  |   }, |  |   data () { |  |     return { |  |       types: [] |  |     } |  |   }, |  |   computed: { |  |     filterTypes () { |  |       if (this.module == null || this.module === '') { |  |         return [] |  |       } |  |       const types = [] |  |       for (const type of this.types) { |  |         if (type.modules.length === 0 || type.modules.indexOf(this.module) !== -1) { |  |           types.push(type) |  |         } |  |       } |  |       return types |  |     } |  |   }, |  |   created () { |  |     fetchTypes() |  |       .cache() |  |       .then(data => { |  |         this.types = data |  |       }) |  |       .catch(e => { |  |           this.$tip.apiFailed(e) |  |         }) |  |   } |  | } |  | </script> |  |   |  | <style lang="scss" scoped> |  |   .select__block { |  |     display: block; |  |   } |  | </style> | 
 |