67 lines
1.4 KiB
Vue
67 lines
1.4 KiB
Vue
<template>
|
|
<div class="company-select">
|
|
<a-input @click="chooseBusiness" :value="value[valueKey]" v-bind="$attrs"></a-input>
|
|
<business-select ref="businessSelect" @ok="handleOk"></business-select>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import BusinessSelect from '@comp/company/BusinessSelect'
|
|
|
|
export default {
|
|
name: 'CompanySelect',
|
|
components: { BusinessSelect },
|
|
props: {
|
|
// 是否可以选择
|
|
isCompanyDisabled: {
|
|
type: Boolean,
|
|
required: false,
|
|
default: false
|
|
},
|
|
value: {
|
|
type: [Object],
|
|
default: () => {
|
|
return {}
|
|
}
|
|
},
|
|
// 回显数据的key
|
|
valueKey: {
|
|
type: String,
|
|
default: 'companyName'
|
|
}
|
|
},
|
|
methods: {
|
|
/**
|
|
* 打开选择企业的模态框,如果父级传参为true则点击不弹模态框
|
|
*/
|
|
chooseBusiness() {
|
|
if (this.isCompanyDisabled) {
|
|
return
|
|
}
|
|
this.$refs.businessSelect.visible = true
|
|
},
|
|
/**
|
|
* 选中后抛出企业信息(id, companyName)
|
|
* @param value
|
|
*/
|
|
handleOk(value) {
|
|
let company = {
|
|
id: value.id,
|
|
companyName: value.companyName
|
|
}
|
|
this.$emit('change', company)
|
|
}
|
|
},
|
|
//2.2新增 在组件内定义 指定父组件调用时候的传值属性和事件类型
|
|
model: {
|
|
prop: 'value',
|
|
event: 'change'
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
a-input:hover {
|
|
cursor: pointer;
|
|
}
|
|
</style> |