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

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

parent 2e621829
...@@ -15,7 +15,6 @@ declare module 'vue' { ...@@ -15,7 +15,6 @@ declare module 'vue' {
ElContainer: typeof import('element-plus/es')['ElContainer'] ElContainer: typeof import('element-plus/es')['ElContainer']
ElFooter: typeof import('element-plus/es')['ElFooter'] ElFooter: typeof import('element-plus/es')['ElFooter']
ElHeader: typeof import('element-plus/es')['ElHeader'] ElHeader: typeof import('element-plus/es')['ElHeader']
ElInput: typeof import('element-plus/es')['ElInput']
ElMain: typeof import('element-plus/es')['ElMain'] ElMain: typeof import('element-plus/es')['ElMain']
ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
...@@ -28,6 +27,5 @@ declare module 'vue' { ...@@ -28,6 +27,5 @@ declare module 'vue' {
ParkItem: typeof import('./src/components/list/ParkItem.vue')['default'] ParkItem: typeof import('./src/components/list/ParkItem.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink'] RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView'] RouterView: typeof import('vue-router')['RouterView']
TagList: typeof import('./src/components/list/TagList.vue')['default']
} }
} }
...@@ -43,12 +43,47 @@ ...@@ -43,12 +43,47 @@
</div> </div>
</div> </div>
</div> </div>
<!-- main content -->
<div class="flex">
<div class="mt-4"> <div class="mt-4">
<ImageList :images="detail.imgUrlList"></ImageList> <ImageList :images="detail.imgUrlList"></ImageList>
</div> </div>
<div class="ml-4">
<div> <div>
<slot></slot> <slot></slot>
</div> </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>
</div> </div>
</template> </template>
...@@ -58,6 +93,8 @@ import { useItemStatus } from '@/composable/useItemStatus.ts'; ...@@ -58,6 +93,8 @@ import { useItemStatus } from '@/composable/useItemStatus.ts';
import { AuthStatus, DetailType } from '@/types/enum.ts'; import { AuthStatus, DetailType } from '@/types/enum.ts';
import { computed } from 'vue'; import { computed } from 'vue';
import ImageList from '@/components/common/ImageList.vue'; import ImageList from '@/components/common/ImageList.vue';
import type { Investment } from '@/types/common.ts';
import { haveValue } from '@/utils/filters.ts';
export interface HeaderDetail { export interface HeaderDetail {
name: string; name: string;
...@@ -66,6 +103,16 @@ export interface HeaderDetail { ...@@ -66,6 +103,16 @@ export interface HeaderDetail {
isSuper?: number; isSuper?: number;
isSuperName?: string; isSuperName?: string;
imgUrlList: string[]; imgUrlList: string[];
/** 招商方向 */
investmentDetails: Investment[];
/** 详细地址 */
address: string;
/** 省份 */
provinceName: string;
/** 城市 */
cityName: string;
/** 区/县 */
regionName: string;
} }
const props = withDefaults( const props = withDefaults(
...@@ -89,6 +136,12 @@ const headerType = computed(() => { ...@@ -89,6 +136,12 @@ const headerType = computed(() => {
}; };
return config[props.type]; return config[props.type];
}); });
/** 省市区 */
const area = computed(() => {
const { provinceName, cityName, regionName } = props.detail;
return [provinceName, cityName, regionName].filter(haveValue).join('-');
});
</script> </script>
<style lang="scss"> <style lang="scss">
......
import type { Investment } from '../common.ts';
/** /**
* 载体详情 * 载体详情
*/ */
...@@ -27,7 +29,7 @@ export interface CarrierDetailResp { ...@@ -27,7 +29,7 @@ export interface CarrierDetailResp {
/** 总投资额(亿元) */ /** 总投资额(亿元) */
investmentAmountTotal: number; investmentAmountTotal: number;
/** 招商方向 */ /** 招商方向 */
investmentDetails: string[]; investmentDetails: Investment[];
/** 投资强度(单位:万/亩) */ /** 投资强度(单位:万/亩) */
investmentStrength: string; investmentStrength: string;
/** 纬度(坐标系gcj02) */ /** 纬度(坐标系gcj02) */
......
import type { Enterprise, ListInfo, Policy } from '../common'; import type { Enterprise, Investment, ListInfo, Policy } from '../common.ts';
import type { AuthStatus } from '../enum'; import type { AuthStatus } from '../enum.ts';
/** /**
* 开发区详情 * 开发区详情
...@@ -47,14 +47,7 @@ export interface DevelopZoneDetailResp { ...@@ -47,14 +47,7 @@ export interface DevelopZoneDetailResp {
/** 总投资额(亿元) */ /** 总投资额(亿元) */
investmentAmountTotal: number; investmentAmountTotal: number;
/** 招商方向 */ /** 招商方向 */
investmentDetails: { investmentDetails: Investment[];
/** 招商类型 */
code: number;
/** 招商类型名称 */
codeName: string;
/** 招商详情 */
details: string;
}[];
/** 亩均投资强度(单位:万/亩) */ /** 亩均投资强度(单位:万/亩) */
investmentStrength: string; investmentStrength: string;
/** 人力成本(元/月) */ /** 人力成本(元/月) */
......
import type { ListInfo, Policy } from '../common'; import type { Investment, ListInfo, Policy } from '../common.ts';
/** /**
* 产业园详情 * 产业园详情
...@@ -35,14 +35,7 @@ export interface IndustrialParkDetailResp { ...@@ -35,14 +35,7 @@ export interface IndustrialParkDetailResp {
/** 总投资额(亿元) */ /** 总投资额(亿元) */
investmentAmountTotal: number; investmentAmountTotal: number;
/** 招商方向 */ /** 招商方向 */
investmentDetails: { investmentDetails: Investment[];
/** 招商类型 */
code: string;
/** 招商类型名称 */
codeName: string;
/** 招商详情 */
details: string;
}[];
/** 投资强度(单位:万/亩) */ /** 投资强度(单位:万/亩) */
investmentStrength: string; investmentStrength: string;
/** 园区级别 */ /** 园区级别 */
......
import type { Investment } from '../common.ts';
/** /**
* 土地详情 * 土地详情
*/ */
...@@ -67,7 +69,7 @@ export interface LandDetailResp { ...@@ -67,7 +69,7 @@ export interface LandDetailResp {
/** 亩均投资强度 */ /** 亩均投资强度 */
investNum: string; investNum: string;
/** 招商方向 */ /** 招商方向 */
investmentDetails: string; investmentDetails: Investment[];
/** 土地证价格 */ /** 土地证价格 */
landDeed: string; landDeed: string;
/** 土地现状 */ /** 土地现状 */
......
import type { ListOrder } from './enum'; import type { ListOrder } from './enum.ts';
/** /**
* 头部菜单项 * 头部菜单项
...@@ -71,3 +71,15 @@ export interface Policy { ...@@ -71,3 +71,15 @@ export interface Policy {
name: string; name: string;
type: string; type: string;
} }
/**
* 招商方向
*/
export interface Investment {
/** 招商类型 */
code: number;
/** 招商类型名称 */
codeName: string;
/** 招商详情 */
details: string;
}
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<DetailInfoCell> <DetailInfoCell>
<DetailMain <DetailMain
:type="DetailType.carrier" :type="DetailType.carrier"
:detail="{ ...detail, imgUrlList: detail.imgUrls }" :detail="{ ...detail.carrierParkVo, ...detail, imgUrlList: detail.imgUrls }"
></DetailMain> ></DetailMain>
</DetailInfoCell> </DetailInfoCell>
<DetailInfoCell title="载体详情"> <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