126 lines
2.6 KiB
Vue
126 lines
2.6 KiB
Vue
<template>
|
||
<div class="related-business-list">
|
||
<div
|
||
v-for="(item, index) in options"
|
||
v-if="data[item.type].length > 0"
|
||
:key="index"
|
||
class="list-item">
|
||
<div class="left">
|
||
<span :class="item.icon" class="wk icon" />
|
||
<span>相关{{ item.label }}:</span>
|
||
</div>
|
||
<div class="content">
|
||
<div
|
||
v-for="(child, childIndex) in data[item.type]"
|
||
:key="childIndex"
|
||
class="content-item"
|
||
@click="handlerToDetail(item.type, childIndex)">
|
||
{{ child[item.key] || child.name }}
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!--<c-r-m-all-detail
|
||
:visible.sync="showRelatedDetail"
|
||
:crm-type="relatedCRMType"
|
||
:listener-ids="['workbench-main-container']"
|
||
:no-listener-ids="['journal-list-box']"
|
||
:id="relatedID"
|
||
class="d-view"/>-->
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
/**
|
||
* 相关信息列表
|
||
* @props data {Object}
|
||
*/
|
||
import CRMAllDetail from '@/views/crm/components/CRMAllDetail'
|
||
|
||
export default {
|
||
name: 'RelatedBusinessList',
|
||
components: {
|
||
CRMAllDetail
|
||
},
|
||
props: {
|
||
data: {
|
||
type: Object,
|
||
required: true
|
||
}
|
||
},
|
||
data() {
|
||
return {
|
||
options: {
|
||
customer: {
|
||
label: '客户',
|
||
type: 'customer',
|
||
key: 'customerName',
|
||
icon: 'wk-customer'
|
||
},
|
||
contacts: {
|
||
label: '联系人',
|
||
type: 'contacts',
|
||
key: 'contactsName',
|
||
icon: 'wk-contacts'
|
||
},
|
||
business: {
|
||
label: '商机',
|
||
type: 'business',
|
||
key: 'businessName',
|
||
icon: 'wk-business'
|
||
},
|
||
contract: {
|
||
label: '合同',
|
||
type: 'contract',
|
||
key: 'name',
|
||
icon: 'wk-contract'
|
||
}
|
||
}
|
||
}
|
||
},
|
||
methods: {
|
||
/**
|
||
* 详情
|
||
* @param type
|
||
* @param index
|
||
*/
|
||
handlerToDetail(type, index) {
|
||
this.$emit('select', type, this.data[type][index])
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped lang="scss">
|
||
.related-business-list {
|
||
width: 100%;
|
||
.list-item {
|
||
font-size: 12px;
|
||
padding: 3px 0;
|
||
display: flex;
|
||
align-items: flex-start;
|
||
justify-content: flex-start;
|
||
.left {
|
||
color: #666;
|
||
.icon {
|
||
font-size: 14px;
|
||
}
|
||
}
|
||
.content {
|
||
.content-item {
|
||
line-height: 1.5;
|
||
color: $xr-color-primary;
|
||
margin-bottom: 3px;
|
||
cursor: pointer;
|
||
&:hover {
|
||
text-decoration: underline;
|
||
}
|
||
&:last-child {
|
||
margin-bottom: 0;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style>
|