You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

309 lines
7.3 KiB

<template>
<div class="home app_content">
<!-- 导航栏 -->
<div class="header_body">
<header-nav
:slefBack="true"
@goBack="goBack"
:titelText="`企业详情查看`"
>
</header-nav>
</div>
<!-- 中间 -->
<div class="warp_body">
<div class="white-body">
<div class="carousel_box">
<div class="box-scan-one">
<span class="box-scan-text" @click="toEnterpriseBaseInfo">企业画像</span>
</div>
<div class="box-scan-two">
<span class="box-scan-text" @click="toEnterpriseWarningInfo">
<div class="card_box_span" style="padding-left: 1%;">
<van-icon v-if="data.warningInfo.warningLevel==1" name="warning" color="red" size="30" style="margin-top: 2%;" />
<van-icon v-else-if="data.warningInfo.warningLevel==2" name="warning" color="orange" size="30" style="margin-top: 2%;" />
<van-icon v-else-if="data.warningInfo.warningLevel==3" name="warning" color="#fed200" size="30" style="margin-top: 2%;" />
<van-icon v-else name="info" size="30" color="#fed200" />企业预警
</div>
</span>
</div>
</div>
3 years ago
<div class="tab-nav">
<van-tabs v-model:active="active">
<van-tab title="企业画像">
<enterpriseBaseInfo></enterpriseBaseInfo>
</van-tab>
<van-tab title="企业预警">
<enterpriseWarningInfo></enterpriseWarningInfo>
</van-tab>
</van-tabs>
<!-- <ul>-->
<!-- &lt;!&ndash; data-id对li元素添加自定义id属性 &ndash;&gt;-->
<!-- <li class="active" data-id="0">企业画像</li>-->
<!-- <li data-id="1">企业预警</li>-->
<!-- </ul>-->
3 years ago
</div>
<!-- <div class="tab-content">-->
<!-- <div class="item active">1</div>-->
<!-- <div class="item">2</div>-->
3 years ago
<!-- </div>-->
3 years ago
</div>
</div>
</div>
</template>
3 years ago
<script>
//利用css样式进行变换
//#region
const Nav = document.querySelectorAll(".tab-nav li")
for (let i = 0; i < Nav.length; i++) {
Nav[i].addEventListener('click',function(){
//寻找class='.active'的结构,并将结构中的该类名取消
document.querySelector('.tab-nav .active').classList.remove('active')
//在对点击对象的li中添加active类名,实现字体变色等css样式
this.classList.add('active')
//同样移除tab-content结构中的active类名
document.querySelector('.tab-content .active').classList.remove('active')
//再对tab-content结构中item的第几个div添加active类名,实现图片的出现和消失
//注意nth-child()中的值必须从1开始(不要了解可以去看css的伪类选择器),i是从0开始,故要+1
document.querySelector(`.tab-content .item:nth-child(${i+1})`).classList.add('active')
})
}
//#endregion
</script>
<script setup name="Home">
import {getEnterpriseMerchantAuthorization} from '@/api/Home';
import {queryEarlyWarning} from '../../api/enforce';
import {getEnterpriseInformation} from '../../api/enterprise'
import enterpriseBaseInfo from './enterpriseBaseInfo.vue'
import enterpriseWarningInfo from './enterpriseWarningInfo.vue'
import { Tab, Tabs } from 'vant';
const { useCommon } = $globalStore;
const router = useRouter();
let freshMap = reactive({
refreshLoad: false, // 是否刷新
listLoading: false, // 是否加载中
listFinished: false, // 是否加载完成标识
});
const data = reactive({
enterpriseNumber:"a7cbb677c11e4dffa810b4ad3abedc09$eb020e1a24a8a19a0bdc07b191aa9ce7",
// enterpriseNumber:route?.query?.enterpriseNumber,
warningInfo:{},
searchParam:{}
});
const boutiqueAttr = reactive({
columnNum: 4,
itemClass: "boutique_item",
goodsCradclass: "boutique-crad",
}); // 商品卡片展示
const toSign = async() =>{
router.push({
path: "/sign",
query:{
enterpriseNumber: data.enterpriseNumber
}
});
};
const toEnterpriseBaseInfo = async() =>{
router.push({
path: "/enterpriseBaseInfo",
query:{
enterpriseNumber: data.enterpriseNumber
}
});
};
const toEnterpriseWarningInfo = async() =>{
router.push({
path: "/enterpriseWarningInfo",
query:{
enterpriseNumber: data.enterpriseNumber
}
});
};
const toRegistrationListView = async() =>{
router.push({
path: "/enterprise/registrationList",
});
}
const toComplaintView = async() =>{
router.push({
path: "/enterprise/complaint",
});
}
// 触底加载
const onLoad = () => {
// recommendGoods(true);
};
onMounted(() => {
getEnterpriseInformation(data.enterpriseNumber,success =>{
if (null != success.data) {
data.searchParam.enterpriseNumber = success.data.enterpriseNumber;
//查询企业历史检查案件
queryEarlyWarning(data.searchParam,success =>{
data.warningInfo = success.data[0];
},error =>{
})
}
},error=>{
})
getEnterpriseMerchantAuthorization({merchantTel: useCommon.phonenumber},success =>{
if(!(success.data == null && success.data.length == 0)){
useCommon.SET_USER_ENTERPRISE_NUMBER(success.data[0].enterpriseNumber);
}
},error =>{
})
})
// 返回
const goBack = () => {
router.go(-1);
};
</script>
<style lang="less" scoped>
.home {
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
background-color: #ebf3fb;
.warp_body {
background-image: linear-gradient(to bottom, #ebf3fb, transparent);
background-size: cover;
position: relative;
.carousel_box {
position: relative;
top: 2%;
height: 150px;
width: 100%;
background: url("/src/assets/images/scan-mean.jpg") no-repeat center center;
background-size: 60%;
opacity: 0.75;
.box-scan-one , .box-scan-two{
position: absolute;
top: 30%;
left: 15%;
height: 100px;
width: 30%;
font-size: 0.4rem;
color: #999;
.box-scan-text{
margin-top: 70%;
display: block;
width: 100%;
text-align: center
}
}
.box-scan-two{
left: auto;
right: 12.5%;
}
}
}
.boutique_box {
position: relative;
top: 10%;
z-index: 100;
width: 100%;
.boutique_body {
padding: 0px 0px 10px 0px;
display: flex;
justify-content: center;
};
}
.recommend_box {
.recommend_body {
width: 100%;
}
}
}
.white-body {
margin: 0 4%;
width: 92%;
height: 96%;
background-color: #fff;
border-radius: 0.25rem;
}
.nocode {
width: 100%;
color: #fb7905;
font-size: 0.45rem;
text-align: center;
line-height: 3;
}
3 years ago
.tab-nav {
display: flex;
justify-content: center;
margin: 5% 2%;
width: 96%;
height: 1.25rem;
}
.tab-nav ul {
width: 100%;
height: 100%;
display: flex;
justify-content: space-between;
align-items: center;
list-style: none;
}
.tab-nav ul li {
display: inline-block;
margin: 0 2%;
padding: 0;
width: 47%;
height: 100%;
color: #1367fe;
font-size: 0.45rem;
line-height: 1.25rem;
border-radius: 0.2rem;
text-align: center;
background-color: #e7efff;
color: #1367fe;
}
.tab-nav ul li.active {
color: #fff;
background: #1367fe;
}
.tab-content {
position: relative;
width: 100%;
height: 50vh;
background-color: aquamarine;
margin: 2%;
}
.item {
display: none;
width: 100%;
height: 100%;
}
</style>