Files
cas_cloud_web/src/views/admin/components/enterpriseItem.vue

72 lines
1.6 KiB
Vue
Raw Normal View History

2022-10-27 13:39:36 +08:00
<template>
<el-row type="flex" style="padding: 40px 20px">
<div class="img">
<el-image :src="data.image" alt />
</div>
<div class="content">
<div class="tit" @click="handleDetail(data.id)">
<div class="text" style="flex: 1">{{ data.name }}</div>
</div>
<div class="line">
企业规模
<span>{{ data.kind_title || "后台暂没提供" }}</span>
</div>
<div class="line">
核心产品及应用场景 <span>{{ data.product }}</span>
</div>
<div class="line">
企业网站
<a :href="data.url"
><span>{{ data.url || "后台暂没提供" }}</span></a
>
</div>
</div>
<div class="keywords" style="flex: 1">
<wordcloud
:data="createdData(data.keyword?.split(',') ?? [])"
></wordcloud>
</div>
</el-row>
</template>
<script setup>
import wordcloud from "./wordcloud.vue";
import { useRouter } from "vue-router";
const router = useRouter();
const props = defineProps({
data: {
type: Object,
required: true,
},
});
function createdData(arr) {
let l = [];
let snap = JSON.parse(JSON.stringify(arr));
snap.map((e) => {
l.push({ name: e, value: 30 });
return { name: e, value: 30 };
});
return l;
}
function handleDetail(id) {
let routeData = router.resolve({ path: `/searchList/1/detail/${id}` });
window.open(routeData.href, "_blank");
}
</script>
<style scoped lang="scss">
.img {
width: 90px;
margin-right: 12px;
display: flex;
align-items: center;
justify-content: center;
img {
width: 90px;
height: 90px;
border-radius: 50%;
}
}
</style>