<template> <el-select v-model="valueSync" filterable :clearable="clearable" :multiple="multiple" remote reserve-keyword :placeholder="placeholder ? placeholder : $t('请选择')" @change="(val) => $emit('change', val)" :loading="loading"> <el-option v-if="prepend" :label="`${prepend.nickname}`" :value="prepend.id"> </el-option> <el-option v-for="(item, index) in list" :key="item.id" :label="`${item.nickname}`" :value="item.id"> </el-option> </el-select> </template> <script> import {getCustomerContactsSelect, getCustomerContacts} from '@/api/ecw/customerContacts' import {listServiceUser, listSimpleUsers} from '@/api/system/user' export default { props:{ value: [String, Number, Array, Boolean], multiple: Boolean, clearable: Boolean, placeholder: String, manage:{ type:Boolean, default:false }, prepend: Object }, data(){ return { list:[], loading: false, size: 20, valueSync: this.value } }, watch:{ value(val){ this.valueSync = this.value }, valueSync(val){ this.$emit('input', val) } }, created(){ if(this.manage){ // 客户经理 listServiceUser().then(r=>{ this.list = r.data; }) }else { // 全部客户 listSimpleUsers().then(res => { this.list = res.data }) } if(this.value){ this.valueSync = this.value } } } </script>