Files
income_payments_client/src/components/company/CompanySelect.vue
T
2021-08-26 14:08:18 +08:00

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>