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
| <template>
| <el-col :md="12" :lg="8" v-if="config.visible">
| <el-form-item :label="config.filedDescription" :prop="config.name" :rules="rules">
| <el-select
| :disabled="!config.writeAble"
| v-model="svalue"
| filterable
| remote
| reserve-keyword
| placeholder="请输入关键字"
| :remote-method="remoteMethod"
| >
| <el-option v-for="(item, key) in options" :key="key" :label="item.userDesc" :value="item.userDesc"> </el-option>
| </el-select>
| </el-form-item>
| </el-col>
| </template>
|
| <script>
| import { queryUserList } from '@/api/area'
| export default {
| props: ['config'],
| data: function() {
| return {
| options: []
| }
| },
| computed: {
| svalue: {
| get() {
| return this.config.value
| },
| set(newVal) {
| this.config.value = newVal
| this.$emit('input', newVal)
| }
| },
| rules() {
| return {
| required: this.config.required,
| message: '请输入' + this.config.filedDescription,
| trigger: 'blur'
| }
| }
| },
| methods: {
| remoteMethod(value) {
| if (!this._.isEmpty(value)) {
| let params = {
| queryInfo: value
| }
| setTimeout(() => {
| queryUserList(params).then(res => {
| this.options = res.result
| })
| }, 200)
| } else {
| this.options = []
| }
| }
| }
| }
| </script>
|
| <style scoped></style>
|
|