BigScreenUI/src/components/customCom/hotProvider.vue

196 lines
4.9 KiB
Vue
Raw Normal View History

2023-11-30 10:48:06 +08:00
<template>
<div class="provider_list">
<div class="provider_title">
2023-12-01 15:05:38 +08:00
<div class="sub_title" @click="subTab('provider')" :class="{
'activeSub': subActive == 'provider'
}">
2024-03-18 18:08:23 +08:00
热门出租方
2023-11-30 10:48:06 +08:00
</div>
2023-12-01 15:05:38 +08:00
<div class="sub_title" @click="subTab('hotEquipment')" :class="{
'activeSub': subActive == 'hotEquipment'
}">
2023-11-30 10:48:06 +08:00
热门装备
</div>
</div>
2023-12-01 15:05:38 +08:00
<div class="provider_content" v-if="subActive == 'provider'">
2023-11-30 10:48:06 +08:00
<div class="provider_item" v-for="(item, index) in providerInfo.list" :key="index">
<div class="provider_item_left">
2023-12-02 18:12:58 +08:00
<div class="pro_item_icon" :class="{ 'inThree': index + 1 <= 3, 'afterThree': index + 1 > 3 }">
2024-03-15 16:37:36 +08:00
<!-- <img :src="`/src/assets/img/index${index + 1 <= 3 ? index + 1 : 4}.png`" alt="" -->
2024-03-18 15:24:40 +08:00
<img v-if="index == 0" src="/src/assets/img/index1.png" alt="">
<img v-else-if="index == 1" src="/src/assets/img/index2.png" alt="">
<img v-else-if="index == 2" src="/src/assets/img/index3.png" alt="">
<img v-else src="/src/assets/img/index4.png" alt="">
2023-11-30 10:48:06 +08:00
</div>
<div class="pro_item_title overflow">
2024-03-19 18:07:19 +08:00
{{ item.organizeName }}
2023-11-30 10:48:06 +08:00
</div>
</div>
<div class="device_count">
2023-12-02 18:12:58 +08:00
设备数:{{ item.count }}
2023-11-30 10:48:06 +08:00
</div>
</div>
</div>
2023-12-01 15:05:38 +08:00
<div class="cloud_words_out" v-else>
2024-03-19 18:07:19 +08:00
<CloudWords :data="data"></CloudWords>
2023-12-01 15:05:38 +08:00
</div>
2023-11-30 10:48:06 +08:00
</div>
</template>
<script setup lang="ts">
2023-12-01 15:05:38 +08:00
import CloudWords from "components/echartsCom/CloudWords.vue"
2023-12-02 18:12:58 +08:00
import { apiMaDevInfoHotList } from "http/api/echartApi"
2024-03-19 18:07:19 +08:00
const data: any = ref([])
2023-12-02 18:12:58 +08:00
const providerInfo: any = reactive({
2024-03-15 16:37:36 +08:00
list: [
2024-03-19 18:07:19 +08:00
// {
// ownCo: "中铁一局",
// count: 1
// },
// {
// ownCo: "中铁二局",
// count: 2
// },
// {
// ownCo: "中铁三局",
// count: 3
// },
// {
// ownCo: "中铁四局",
// count: 4
// },
// {
// ownCo: "中铁五局",
// count: 5
// },
// {
// ownCo: "中铁十一局",
// count: 10
// },
// {
// ownCo: "中铁十一局",
// count: 10
// },
2024-03-15 16:37:36 +08:00
]
2023-11-30 10:48:06 +08:00
})
2023-12-01 16:29:15 +08:00
const subActive = ref("provider")
2023-12-01 15:05:38 +08:00
// provider hotEquipment
const subTab = (type: any) => {
subActive.value = type
}
2023-11-30 10:48:06 +08:00
2023-12-02 18:12:58 +08:00
const InitApiMaDevInfoHotList = async () => {
// 根据求出租信息查询对应的数量:
try {
const res: any = await apiMaDevInfoHotList()
console.log("apiMaDevInfoHotList", res)
providerInfo.list = res
2024-03-19 18:07:19 +08:00
res[0].itemNames.map((item: any) => {
data.value.push({
name: item,
value: Math.floor(Math.random() * (519 - 199 + 1) + 169)
})
})
2023-12-02 18:12:58 +08:00
} catch (error) {
console.log(error)
}
}
onBeforeMount(() => {
InitApiMaDevInfoHotList()
})
2023-11-30 10:48:06 +08:00
</script>
<style scoped lang="scss">
.provider_list {
width: 332px;
height: 456px;
background-color: rgba($color: #011B37, $alpha: 0.6);
padding: 0 22px;
box-sizing: border-box;
}
.provider_title {
display: flex;
justify-content: flex-start;
align-items: center;
.sub_title {
font-size: 12px;
color: $main-color;
padding-top: 24px;
padding-left: 26px;
}
2023-12-01 15:05:38 +08:00
.activeSub {
font-size: 18px;
color: $main-color;
padding-top: 20px;
}
2023-11-30 10:48:06 +08:00
}
.provider_content {
padding-top: 12px;
2023-12-02 18:12:58 +08:00
overflow-y: auto;
height: 396px;
2023-11-30 10:48:06 +08:00
.provider_item {
2023-12-02 18:12:58 +08:00
width: 280px;
2023-11-30 10:48:06 +08:00
height: 40px;
padding: 0 12px;
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
background: rgba(20, 50, 67, 0.7);
margin-bottom: 8px;
.provider_item_left {
display: flex;
justify-content: flex-start;
align-items: center;
.pro_item_icon {
width: 42px;
height: 42px;
margin-top: 12px;
}
.inThree {
margin-left: -6px;
}
.afterThree {}
.pro_item_title {
font-size: 14px;
width: 147px;
color: #fff;
}
}
.device_count {
color: rgba($color: #fff, $alpha: 0.7);
font-size: 12px;
}
}
2023-12-02 18:12:58 +08:00
&::-webkit-scrollbar {
display: none;
}
2023-11-30 10:48:06 +08:00
}
2023-12-01 15:05:38 +08:00
.cloud_words_out {
width: 292px;
height: 340px;
margin-top: 12px;
2023-12-01 16:29:15 +08:00
background-color: rgba($color: #011B37, $alpha: 0.6);
2023-12-02 18:12:58 +08:00
}</style>