|
|
@@ -3,33 +3,86 @@
|
|
|
<page-detail-layout :tabs="tabs" v-model:tab-active-key="tabActiveKey">
|
|
|
<template #tab1>
|
|
|
<bs-contents-wrapper>
|
|
|
- <bs-descriptions :items="bsDescriptionItems" title="客户信息">
|
|
|
+ <!-- 客户信息(动态列数) -->
|
|
|
+ <bs-descriptions
|
|
|
+ :items="bsDescriptionItems"
|
|
|
+ title="客户信息"
|
|
|
+ :extraProps="{ column: { ml: 3 } }"
|
|
|
+ >
|
|
|
<template #name1_label_slot>
|
|
|
- <span style="color: red">label插槽</span>
|
|
|
+ <span style="color: #1890ff">Label插槽</span>
|
|
|
+ </template>
|
|
|
+ <template #name1_value_slot>
|
|
|
+ <span style="font-weight: bold">Value插槽</span>
|
|
|
</template>
|
|
|
- <template #name1_value_slot> <span style="color: blue">value插槽</span></template>
|
|
|
</bs-descriptions>
|
|
|
- <bs-descriptions title="管理信息" >
|
|
|
- <bs-table v-bind="tableOptions" >
|
|
|
- </bs-table>
|
|
|
+
|
|
|
+ <!-- 管理信息(表格) -->
|
|
|
+ <bs-descriptions title="管理信息">
|
|
|
+ <bs-table v-bind="tableOptions"/>
|
|
|
+ <a-card :bordered="false" class="customer-info-card">
|
|
|
+ <!-- 第一行 - 铺满 -->
|
|
|
+ <a-row :gutter="16">
|
|
|
+ <a-col :span="24">
|
|
|
+ <div class="info-line first-line">
|
|
|
+ <span class="info-item">
|
|
|
+ <span class="info-label">集团公司:</span>
|
|
|
+ <span class="info-value">{{ customerData.returnTo }}</span>
|
|
|
+ </span>
|
|
|
+ <span class="info-item">
|
|
|
+ <span class="info-label">客户等级:</span>
|
|
|
+ <span class="info-value">{{ customerData.level }}</span>
|
|
|
+ </span>
|
|
|
+ <span class="info-item">
|
|
|
+ <span class="info-label">客户行业:</span>
|
|
|
+ <span class="info-value">{{ customerData.industry }}</span>
|
|
|
+ </span>
|
|
|
+ <span class="info-item">
|
|
|
+ <span class="info-label">客户类型:</span>
|
|
|
+ <span class="info-value">{{ customerData.type }}</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+
|
|
|
+ <!-- 第二行 - 占一半宽度 -->
|
|
|
+ <a-row :gutter="24" style="margin-top: 8px;">
|
|
|
+ <a-col :span="7">
|
|
|
+ <div class="info-line">
|
|
|
+ <span class="info-item">
|
|
|
+ <span class="info-label">归属区域:</span>
|
|
|
+ <span class="info-value">{{ customerData.region }}</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="6">
|
|
|
+ <div class="info-line">
|
|
|
+ <span class="info-item">
|
|
|
+ <span class="info-label" style="margin-left: -26px">归属营销人员:</span>
|
|
|
+ <span class="info-value">{{ customerData.salesPerson }}</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ </a-card>
|
|
|
</bs-descriptions>
|
|
|
-<!-- <bs-descriptions :items="bsDescriptionItems" title="">-->
|
|
|
-<!-- <bs-table v-bind="tableOptions">-->
|
|
|
-<!-- </bs-table>-->
|
|
|
-<!-- <template #name1_label_slot>-->
|
|
|
-<!-- <span style="color: red">label插槽</span>-->
|
|
|
-<!-- </template>-->
|
|
|
-<!-- <template #name1_value_slot> <span style="color: blue">value插槽</span></template>-->
|
|
|
-<!-- </bs-descriptions>-->
|
|
|
- <bs-descriptions :items="otherForms" title="其他信息">
|
|
|
+
|
|
|
+ <!-- 其他信息(默认每行 2 项) -->
|
|
|
+ <bs-descriptions
|
|
|
+ :items="otherForms"
|
|
|
+ title="其他信息"
|
|
|
+ :extraProps="{ column: 2 }"
|
|
|
+ >
|
|
|
<template #name1_label_slot>
|
|
|
- <span style="color: red">label插槽</span>
|
|
|
+ <span style="color: #1890ff">Label插槽</span>
|
|
|
+ </template>
|
|
|
+ <template #name1_value_slot>
|
|
|
+ <span style="font-weight: bold">Value插槽</span>
|
|
|
</template>
|
|
|
- <template #name1_value_slot> <span style="color: blue">value插槽</span></template>
|
|
|
</bs-descriptions>
|
|
|
</bs-contents-wrapper>
|
|
|
-
|
|
|
</template>
|
|
|
+
|
|
|
<template #tab2>tab2</template>
|
|
|
<template #tab3>tab3</template>
|
|
|
</page-detail-layout>
|
|
|
@@ -37,14 +90,66 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref } from 'vue';
|
|
|
+import {ref} from 'vue';
|
|
|
import PageDetailLayout from '/@/components/business/page-detail-layout/index.vue';
|
|
|
-import { BsDescriptions, BsContentsWrapper } from '/@/components/BsUi/index.js';
|
|
|
+import {BsDescriptions, BsContentsWrapper} from '/@/components/BsUi/index.js';
|
|
|
import selectedIcon from '/@/assets/images/page-detail-layout/selectedIcon.png';
|
|
|
import unSelectedIcon from '/@/assets/images/page-detail-layout/unSelectedIcon.png';
|
|
|
-import BsTable, { useBsTable } from '/@/components/BsUi/Table/index.js';
|
|
|
+import BsTable, {useBsTable} from '/@/components/BsUi/Table/index.js';
|
|
|
+import { clientManageApi } from '/@/api/market-manage/clue-management/index.js';
|
|
|
+import {onMounted} from 'vue';
|
|
|
+import {useRoute} from 'vue-router';
|
|
|
+
|
|
|
+const route = useRoute();
|
|
|
const tabActiveKey = ref('tab1');
|
|
|
+const bsDescriptionItemss = ref([]);
|
|
|
+onMounted(() => {
|
|
|
+ // 从query中获取传递的数据
|
|
|
+ const id = route.query.id;
|
|
|
+ clientManageApi.getQueryList(id).then((res)=>{
|
|
|
+ const customerData = res.data;
|
|
|
+ bsDescriptionItemss.value = [
|
|
|
+ { label: '客户地区', value: customerData.countryRegion || '--' },
|
|
|
+ { label: '客户来源', value: customerData.projectSource || '--' },
|
|
|
+ { label: '服务商名称', value: customerData.providerName || '--' },
|
|
|
+ { label: '客户名称', value: '--' },
|
|
|
+ { label: '属性', value: customerData.engineeringAttribute || '--' },
|
|
|
+ { label: '统一社会代码', value: '--' },
|
|
|
+ { label: '法定代表人', value: '--' },
|
|
|
+ { label: '存续状态', value: '--' },
|
|
|
+ {
|
|
|
+ label: '注册地址',
|
|
|
+ value: customerData.address || '--',
|
|
|
+ span: 4 // 跨越多列
|
|
|
+ },
|
|
|
+ { label: '注册时间', value: customerData.registerDate || '--' },
|
|
|
+ { label: '注册资本', value: customerData.registerCapital || '--' },
|
|
|
+ { label: '官网地址', value: customerData.website || '--' },
|
|
|
+ {
|
|
|
+ label: '经营范围',
|
|
|
+ value: customerData.businessScope || '--',
|
|
|
+ tooltip: customerData.businessScope // 鼠标悬停显示完整内容
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '企业简介',
|
|
|
+ value: customerData.introduction ? truncateText(customerData.introduction, 50) : '--',
|
|
|
+ tooltip: customerData.introduction // 鼠标悬停显示完整内容
|
|
|
+ },
|
|
|
+ { label: '初始对接人', value: customerData.initialContact || '--' },
|
|
|
+ { label: '功能对接人电话', value: customerData.contactPhone || '--' },
|
|
|
+ { label: '办公地址', value: customerData.officeAddress || '--' }
|
|
|
+ ];
|
|
|
+ })
|
|
|
|
|
|
+});
|
|
|
+const customerData = ref({
|
|
|
+ returnTo: "政府机构",
|
|
|
+ level: "A级",
|
|
|
+ industry: "行业名称信息展示",
|
|
|
+ type: "投资单位",
|
|
|
+ region: "归属区域信息展示位置",
|
|
|
+ salesPerson: "任颖"
|
|
|
+});
|
|
|
const tabs = ref([
|
|
|
{
|
|
|
title: '基本信息',
|
|
|
@@ -76,7 +181,7 @@ const {
|
|
|
tableOptions: {
|
|
|
gridOptions: {
|
|
|
loading: false,
|
|
|
- data:[],
|
|
|
+ data: [],
|
|
|
columns: [
|
|
|
{
|
|
|
field: 'id',
|
|
|
@@ -102,7 +207,7 @@ const {
|
|
|
},
|
|
|
pagerConfig: {
|
|
|
enabled: true,
|
|
|
- isFixed:false,
|
|
|
+ isFixed: false,
|
|
|
pageSize: 10,
|
|
|
pageNum: 1,
|
|
|
total: 100,
|
|
|
@@ -112,21 +217,24 @@ const {
|
|
|
const bsDescriptionItems = ref([
|
|
|
{label: '客户地区', value: '国内客户'},
|
|
|
{label: '客户来源', value: '服务商提供'},
|
|
|
- {label: '服务商名称', value: '服务名称一显示位置占位'},
|
|
|
+ {label: '服务商名称', value: '服务名称—显示位置占位'},
|
|
|
{label: '客户名称', value: '江西大明环境治理有限公司'},
|
|
|
{label: '属性', value: '有限责任公司'},
|
|
|
- {label: '统一社会代码', value: '913702007180133454'},
|
|
|
- {label: '法定代表人', value: '汪鹏程'},
|
|
|
- {label: '存储状态', value: '正常'},
|
|
|
- {label: '注册地址', value: '江西省南昌经济技术开发区下乡(江西省公路管理局物流配送站内)'},
|
|
|
+ {label: '统一社会代码', value: '9137020071801334564'},
|
|
|
+ {label: '法定代表人', value: '王鹏程'},
|
|
|
+ {label: '存续状态', value: '正常'},
|
|
|
+ {label: '注册地址', value: '江西省南昌经济技术开发区下乡(江西省公路管理局物流配送站内)', span: 4},
|
|
|
{label: '注册时间', value: '2006-09-16'},
|
|
|
{label: '注册资本', value: '1000万'},
|
|
|
- {label: '官网地址', value: '具体网址信息展示位置'},
|
|
|
- {label: '经营范围', value: '经营范围是具备商业信息、文字信息等功能的城镇居民,服务人员齐全,符合条件的用户。'},
|
|
|
- {label: '企业简介', value: '四川山庄旅游度假集团,是国家旅游行业产品销售委员会首批省级重点项目之一...'},
|
|
|
- {label: '初始对接人', value: '何平'},
|
|
|
+ {label: '官网地址', value: 'http://www.baidu.com'},
|
|
|
+ {label: '经营范围', value: '经营范围信息展示位置在这里,文字信息两列的话就要缩略显示,鼠标指入显示全部'},
|
|
|
+ {
|
|
|
+ label: '企业简介',
|
|
|
+ value: '望山山庄旅游度假集团,是国务院国有资产监督管理委员会直接管理的大型中央企业,总部设在深圳,已形成以文化、旅游、房地产、电子科技为主业的发展格局'
|
|
|
+ },
|
|
|
+ {label: '初始对接人', value: '同平'},
|
|
|
{label: '功能对接人电话', value: '15012341234'},
|
|
|
- {label: '办公地址', value: '江西省南昌经济技术开发区下乡(江西省公路管理局物流配送站内)'}
|
|
|
+ {label: '办公地址', value: '江西省南昌经济技术开发区下罗'},
|
|
|
]);
|
|
|
const otherForms = ref([
|
|
|
{label: '中国裁判文书网查询', value: 'http://wenshu.court.gov.cn/'},
|
|
|
@@ -140,5 +248,56 @@ const otherForms = ref([
|
|
|
<style lang="scss" scoped>
|
|
|
.page-detail {
|
|
|
width: 100%;
|
|
|
+
|
|
|
+ .customer-info-card {
|
|
|
+ border-radius: 4px;
|
|
|
+ padding: 12px 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-line {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .first-line {
|
|
|
+ justify-content: space-between;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-item {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-right: 16px;
|
|
|
+ white-space: nowrap;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-label {
|
|
|
+ color: #666;
|
|
|
+ margin-right: 4px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-value {
|
|
|
+ color: #333;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+
|
|
|
+ /* 响应式调整 */
|
|
|
+ @media (max-width: 500px) {
|
|
|
+ .first-line {
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: flex-start;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-item {
|
|
|
+ margin-bottom: 8px;
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ :deep(.ant-col) {
|
|
|
+ width: 100% !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
</style>
|