zhangnuoyan
2024-08-25 54f5cd85e43bf92266a2617994642e1b8aa5bcb5
src/views/oneThree/comprehensive/index.vue
@@ -8,42 +8,128 @@
                :icon="item.icon"
                :unit="item.unit"
                :metering="item.metering"
                :colorBg="item.colorBg"
                :color-bg="item.colorBg"
            ></the-icon-card>
        </div>
        <div></div>
        <div>
            <the-box-card
                v-for="(item, index) in list"
                :key="item.id"
                :icon="item.icon"
                :title="item.title"
                :unitTitle="item.unitTitle"
                :unitNum="item.unitNum"
                :unit="item.unit"
                :id="item.id"
                :name="item.name"
                :notName="item.notName"
                :hire="item.hire"
                :vacant="item.vacant"
                :selfOccupation="item.selfOccupation"
                :service="item.service"
                :closes="item.closes"
                @handleClick="handleClick(item)"
                @handleDetails="handleDetails(item)"
            ></the-box-card>
        <div class="menus">
            <the-a-cascader :data="cascaderData" placeholder="请选择" title="区域"></the-a-cascader>
            <div><the-a-search placeholder="请输入" title="搜索"></the-a-search></div>
            <div><the-a-change :data="changeData" default-value="custom"></the-a-change></div>
            <div><a-time-picker type="time-range" style="width: 250px" /></div>
            <div>
                <a-button type="primary">
                    <template #icon>
                        <icon-search />
                    </template>
                    <template #default>搜索</template>
                </a-button>
            </div>
            <div>
                <a-button>
                    <template #icon>
                        <icon-refresh />
                    </template>
                    <template #default>重置</template>
                </a-button>
            </div>
        </div>
        <div>
            <a-pagination :total="50" show-total show-jumper show-page-size />
        <div class="main">
            <div class="cards">
                <the-box-card
                    v-for="(item, index) in list"
                    :id="item.id"
                    :key="item.id"
                    :icon="item.icon"
                    :title="item.title"
                    :unit-title="item.unitTitle"
                    :unit-num="item.unitNum"
                    :unit="item.unit"
                    :name="item.name"
                    :not-name="item.notName"
                    :hire="item.hire"
                    :vacant="item.vacant"
                    :self-occupation="item.selfOccupation"
                    :service="item.service"
                    :closes="item.closes"
                    @handleClick="handleClick(item)"
                    @handleDetails="handleDetails(item)"
                ></the-box-card>
            </div>
            <a-pagination :total="50" show-total show-jumper show-page-size style="margin-top: 8px" />
        </div>
    </div>
</template>
<script lang="ts" setup name="comprehensive">
import { useTheme } from "@/hooks/useTheme";
import { Svg } from "@easyfe/admin-component";
const { themeModeOptions, currentThemeMode, handleThemeChange } = useTheme();
const changeData = reactive([
    {
        name: "1天",
        value: "1"
    },
    {
        name: "2天",
        value: "2"
    },
    {
        name: "3天",
        value: "3"
    },
    {
        name: "自定义",
        value: "custom"
    }
]);
const cascaderData = reactive([
    {
        value: "beijing",
        label: "Beijing",
        children: [
            {
                value: "chaoyang",
                label: "ChaoYang",
                children: [
                    {
                        value: "datunli",
                        label: "Datunli"
                    }
                ]
            },
            {
                value: "haidian",
                label: "Haidian"
            },
            {
                value: "dongcheng",
                label: "Dongcheng"
            },
            {
                value: "xicheng",
                label: "Xicheng",
                children: [
                    {
                        value: "jinrongjie",
                        label: "Jinrongjie"
                    },
                    {
                        value: "tianqiao",
                        label: "Tianqiao"
                    }
                ]
            }
        ]
    },
    {
        value: "shanghai",
        label: "Shanghai",
        children: [
            {
                value: "huangpu",
                label: "Huangpu"
            }
        ]
    }
]);
const dataList = reactive([
    {
        title: "实有房屋",
@@ -95,8 +181,8 @@
        colorBg: "#9747FF"
    }
]);
const list = reactive([
    {
const list = reactive(
    new Array(5).fill({
        icon: "",
        title: "A小区",
        unitTitle: "实有小区",
@@ -111,8 +197,9 @@
        selfOccupation: 45,
        service: 23,
        closes: 54
    }
]);
    })
);
const handleClick = (item: any) => {
    console.log(item, 888);
};
@@ -123,8 +210,44 @@
<style lang="scss" scoped>
.comprehensive {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 20px;
    .menus {
        background: var(--color-bg-2);
        margin-top: 8px;
        padding: 14px 20px;
        display: flex;
        > div {
            margin-left: 20px;
        }
    }
    .main {
        padding: 8px 20px;
        background: var(--color-bg-2);
        margin-top: 8px;
        flex: 1;
        .cards {
            overflow: hidden;
            > div {
                float: left;
                margin: 0 20px 20px 0;
            }
        }
    }
    .top-title {
        display: flex;
    }
    .card-box {
        width: 391px;
        height: 202px;
        border-radius: 5px;
    }
    .card-box-right {
        margin-top: 10px;
        display: flex;
        justify-content: space-between;
    }
}
</style>