Commit 6ddd3cc3 authored by 王玉鑫's avatar 王玉鑫

feat: 各详情页招商信息展示

parent 2e621829
......@@ -15,7 +15,6 @@ declare module 'vue' {
ElContainer: typeof import('element-plus/es')['ElContainer']
ElFooter: typeof import('element-plus/es')['ElFooter']
ElHeader: typeof import('element-plus/es')['ElHeader']
ElInput: typeof import('element-plus/es')['ElInput']
ElMain: typeof import('element-plus/es')['ElMain']
ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
......@@ -28,6 +27,5 @@ declare module 'vue' {
ParkItem: typeof import('./src/components/list/ParkItem.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
TagList: typeof import('./src/components/list/TagList.vue')['default']
}
}
......@@ -43,11 +43,46 @@
</div>
</div>
</div>
<div class="mt-4">
<ImageList :images="detail.imgUrlList"></ImageList>
</div>
<div>
<slot></slot>
<!-- main content -->
<div class="flex">
<div class="mt-4">
<ImageList :images="detail.imgUrlList"></ImageList>
</div>
<div class="ml-4">
<div>
<slot></slot>
</div>
<div class="mt-3">
<div class="flex">
<div class="flex h-[22px] items-center font-yahei text-xs leading-5 text-[#4D4D4D]">
招商方向
</div>
<div class="ml-[30px] flex flex-1 flex-wrap gap-[10px]">
<div
v-for="invest of detail.investmentDetails"
:key="invest.codeName"
class="flex h-[22px] items-center rounded-sm bg-[#4F4F4F14] px-3 text-xs leading-[18px] text-[#4F4F4F]"
>
{{ invest.codeName }}
</div>
</div>
</div>
<div class="mt-[13px] flex items-center">
<div class="flex h-[22px] items-center font-yahei text-xs leading-5 text-[#4D4D4D]">
所属地区
</div>
<div class="ml-[30px] font-yahei text-xs leading-5 text-[#1A1A1A]">{{ area }}</div>
</div>
<div class="mt-2 flex items-center">
<div class="flex h-[22px] items-center font-yahei text-xs leading-5 text-[#4D4D4D]">
详细地址
</div>
<div class="ml-[30px] font-yahei text-xs leading-5 text-[#1A1A1A]">
{{ detail.address }}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
......@@ -58,6 +93,8 @@ import { useItemStatus } from '@/composable/useItemStatus.ts';
import { AuthStatus, DetailType } from '@/types/enum.ts';
import { computed } from 'vue';
import ImageList from '@/components/common/ImageList.vue';
import type { Investment } from '@/types/common.ts';
import { haveValue } from '@/utils/filters.ts';
export interface HeaderDetail {
name: string;
......@@ -66,6 +103,16 @@ export interface HeaderDetail {
isSuper?: number;
isSuperName?: string;
imgUrlList: string[];
/** 招商方向 */
investmentDetails: Investment[];
/** 详细地址 */
address: string;
/** 省份 */
provinceName: string;
/** 城市 */
cityName: string;
/** 区/县 */
regionName: string;
}
const props = withDefaults(
......@@ -89,6 +136,12 @@ const headerType = computed(() => {
};
return config[props.type];
});
/** 省市区 */
const area = computed(() => {
const { provinceName, cityName, regionName } = props.detail;
return [provinceName, cityName, regionName].filter(haveValue).join('-');
});
</script>
<style lang="scss">
......
import type { Investment } from '../common.ts';
/**
* 载体详情
*/
......@@ -27,7 +29,7 @@ export interface CarrierDetailResp {
/** 总投资额(亿元) */
investmentAmountTotal: number;
/** 招商方向 */
investmentDetails: string[];
investmentDetails: Investment[];
/** 投资强度(单位:万/亩) */
investmentStrength: string;
/** 纬度(坐标系gcj02) */
......
import type { Enterprise, ListInfo, Policy } from '../common';
import type { AuthStatus } from '../enum';
import type { Enterprise, Investment, ListInfo, Policy } from '../common.ts';
import type { AuthStatus } from '../enum.ts';
/**
* 开发区详情
......@@ -47,14 +47,7 @@ export interface DevelopZoneDetailResp {
/** 总投资额(亿元) */
investmentAmountTotal: number;
/** 招商方向 */
investmentDetails: {
/** 招商类型 */
code: number;
/** 招商类型名称 */
codeName: string;
/** 招商详情 */
details: string;
}[];
investmentDetails: Investment[];
/** 亩均投资强度(单位:万/亩) */
investmentStrength: string;
/** 人力成本(元/月) */
......
import type { ListInfo, Policy } from '../common';
import type { Investment, ListInfo, Policy } from '../common.ts';
/**
* 产业园详情
......@@ -35,14 +35,7 @@ export interface IndustrialParkDetailResp {
/** 总投资额(亿元) */
investmentAmountTotal: number;
/** 招商方向 */
investmentDetails: {
/** 招商类型 */
code: string;
/** 招商类型名称 */
codeName: string;
/** 招商详情 */
details: string;
}[];
investmentDetails: Investment[];
/** 投资强度(单位:万/亩) */
investmentStrength: string;
/** 园区级别 */
......
import type { Investment } from '../common.ts';
/**
* 土地详情
*/
......@@ -67,7 +69,7 @@ export interface LandDetailResp {
/** 亩均投资强度 */
investNum: string;
/** 招商方向 */
investmentDetails: string;
investmentDetails: Investment[];
/** 土地证价格 */
landDeed: string;
/** 土地现状 */
......
import type { ListOrder } from './enum';
import type { ListOrder } from './enum.ts';
/**
* 头部菜单项
......@@ -71,3 +71,15 @@ export interface Policy {
name: string;
type: string;
}
/**
* 招商方向
*/
export interface Investment {
/** 招商类型 */
code: number;
/** 招商类型名称 */
codeName: string;
/** 招商详情 */
details: string;
}
......@@ -6,7 +6,7 @@
<DetailInfoCell>
<DetailMain
:type="DetailType.carrier"
:detail="{ ...detail, imgUrlList: detail.imgUrls }"
:detail="{ ...detail.carrierParkVo, ...detail, imgUrlList: detail.imgUrls }"
></DetailMain>
</DetailInfoCell>
<DetailInfoCell title="载体详情">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment