Commit dd9986bd authored by 王玉鑫's avatar 王玉鑫

feat: 我的园区,产业园载体列表

parent 9396cc82
......@@ -38,3 +38,27 @@ body {
-moz-appearance: textfield;
}
}
.park-tabs {
.el-tabs__nav-wrap::after {
display: none;
}
.el-tabs__active-bar {
background-color: #c0322b;
}
.el-tabs__item {
@apply font-yahei;
padding: 0;
height: 38px;
padding: 0 12px !important;
font-size: 14px;
line-height: 22px;
color: rgba(0, 0, 0, 0.65);
&.is-active {
color: #c0322b;
}
&:hover {
color: #c0322b;
}
}
}
......@@ -4,7 +4,7 @@
<div v-for="col in line" :key="col.name" class="flex flex-1 text-xs text-[#1A1A1A]">
<div
class="flex w-[160px] items-center bg-[#FAFAFC] px-[30px] py-[10px] leading-5"
:class="{ 'w-[130px] !px-5': col.smallMode }"
:class="{ '!w-[130px] !px-5': col.smallMode }"
>
{{ col.name }}
</div>
......
......@@ -23,7 +23,6 @@
v-model:current-page="pageNum"
v-model:page-size="pageSize"
class="mt-5"
layout="prev, pager, next"
:total="totalCount"
></ListPagination>
</div>
......@@ -36,6 +35,7 @@ import { RequestUrl } from '@/types/api.ts';
import type { MyParkCondition, MyParkItem } from '@/types/api/myParkList';
import { ParkItemType } from '@/types/enum.ts';
import { computed } from 'vue';
import ListPagination from '@/components/list/ListPagination.vue';
const props = withDefaults(
defineProps<{
......
......@@ -8,7 +8,7 @@ export interface MyParkIndustrialDetailResp {
averageOutputValue: string;
/** 建设周期(月) */
buildingPeriod: number;
/** */
/** 载体信息 */
carrierInfoList: {
/** 面积 */
area: number;
......
......@@ -19,7 +19,6 @@
<ListPagination
v-model:current-page="pageNum"
v-model:page-size="pageSize"
layout="prev, pager, next"
:total="totalCount"
></ListPagination>
</div>
......
......@@ -23,8 +23,8 @@
</div>
</div>
</div>
<div class="mt-5">
<ElTabs v-model="currentTab">
<div class="park-tabs mt-5">
<ElTabs v-model="currentTab" class="bg-white">
<ElTabPane label="产业园信息" :name="DetailType.industrial">
<div class="space-y-8 bg-white py-3">
<DetailInfoCell title="基本信息" :show-title-icon="false">
......@@ -62,7 +62,27 @@
</div>
</ElTabPane>
<ElTabPane label="载体信息" :name="DetailType.carrier">
<div class="px-[9px] pb-[10px]"></div>
<div class="bg-[#F8F8F8]">
<ElTable :data="carrierList">
<ElTableColumn prop="buildingNumber" label="楼号"></ElTableColumn>
<ElTableColumn prop="structure" label="建筑结构"></ElTableColumn>
<ElTableColumn prop="area" label="建筑面积"></ElTableColumn>
<ElTableColumn prop="floorNumber" label="层数"></ElTableColumn>
<ElTableColumn prop="floorHigh" label="层高"></ElTableColumn>
<ElTableColumn prop="singleArea" label="单层面积"></ElTableColumn>
<ElTableColumn prop="distance" label="柱距"></ElTableColumn>
<ElTableColumn prop="elevatorType" label="电梯类型"></ElTableColumn>
<ElTableColumn prop="fireProtectionLevel" label="消防等级"></ElTableColumn>
<ElTableColumn prop="fireResistant" label="耐火等级"></ElTableColumn>
</ElTable>
<ListPagination
v-model:current-page="currentPage"
v-model:page-size="pageSize"
class="mt-5"
:total="detail.carrierInfoList.length"
></ListPagination>
</div>
</ElTabPane>
</ElTabs>
</div>
......@@ -77,11 +97,15 @@ import { DetailType } from '@/types/enum.ts';
import { computed, ref } from 'vue';
import DetailInfoCell from '@/components/detail/DetailInfoCell.vue';
import type { Info, Infos } from '@/components/detail/DetailInfo.vue';
import ListPagination from '@/components/list/ListPagination.vue';
const { detail, initDetail } = useDetail<MyParkIndustrialDetailResp>(
RequestUrl.myParkIndustrialDetail,
);
const pageSize = ref(10);
const currentPage = ref(1);
const currentTab = ref(DetailType.industrial);
/** 基本信息 */
......@@ -409,6 +433,11 @@ const industrySupports = computed(() => {
}
});
const carrierList = computed(() => {
const startIndex = (currentPage.value - 1) * pageSize.value;
return detail.value?.carrierInfoList.slice(startIndex, startIndex + pageSize.value) || [];
});
const handleInfos = (infos: Infos) => {
return infos.map((list) => {
return list.map((i) => {
......
<!-- 我的园区 -->
<template>
<div class="my-park">
<div class="park-tabs bg-white">
<ElTabs v-model="currentTab">
<ElTabPane label="开发区" :name="ParkItemType.develop">
<div class="px-[9px] pb-[10px]">
......@@ -31,29 +31,3 @@ const isIndustrial = computed(() => {
return currentTab.value === ParkItemType.industrial;
});
</script>
<style lang="scss">
.my-park {
.el-tabs__nav-wrap::after {
display: none;
}
.el-tabs__active-bar {
background-color: #c0322b;
}
.el-tabs__item {
@apply font-yahei;
padding: 0;
width: 66px;
height: 38px;
font-size: 14px;
line-height: 22px;
color: rgba(0, 0, 0, 0.65);
&.is-active {
color: #c0322b;
}
&:hover {
color: #c0322b;
}
}
}
</style>
......@@ -34,7 +34,7 @@
</div>
</div>
</div>
<div class="ml-4 min-w-0 flex-1 bg-white">
<div class="ml-4 min-w-0 flex-1">
<RouterView />
</div>
</div>
......
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