|
|
@ -1,5 +1,10 @@ |
|
|
<template> |
|
|
<template> |
|
|
<div class="home app_content"> |
|
|
<div class="home app_content"> |
|
|
|
|
|
<!-- 全局 Loading --> |
|
|
|
|
|
<van-loading v-if="isLoading" class="global-loading" type="spinner" size="36px" color="#2b7de9" vertical> |
|
|
|
|
|
加载中... |
|
|
|
|
|
</van-loading> |
|
|
|
|
|
|
|
|
<!-- 顶部蓝色背景区域 --> |
|
|
<!-- 顶部蓝色背景区域 --> |
|
|
<div class="header-bg"> |
|
|
<div class="header-bg"> |
|
|
<img src="@/assets/images/logo_top.png" class="logo_top-img" alt="" /> |
|
|
<img src="@/assets/images/logo_top.png" class="logo_top-img" alt="" /> |
|
|
@ -29,33 +34,57 @@ |
|
|
</van-swipe-item> |
|
|
</van-swipe-item> |
|
|
</van-swipe> |
|
|
</van-swipe> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
<div class="service-title">主要服务</div> |
|
|
|
|
|
<div class="service-card-container"> |
|
|
|
|
|
<div class="supervision-card" @click="showEnterpriseQRCode"> |
|
|
|
|
|
<div class="card-icon"> |
|
|
|
|
|
<img src="../../../assets/images/law_text.png" class="card-icon-img" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 双卡片行 --> |
|
|
|
|
|
<div class="card-row"> |
|
|
|
|
|
<!-- 历史执法信息 --> |
|
|
|
|
|
<div class="info-card" @click="toEnforcementRegistrationListView"> |
|
|
|
|
|
<div class="card-icon"> |
|
|
|
|
|
<img src="../../../assets/images/hist_text.png" class="card-icon-img" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 执法案件信息 --> |
|
|
|
|
|
<div class="info-card info-enforce" @click="toEnforcementCaseInfoView"> |
|
|
|
|
|
<div class="card-icon"> |
|
|
|
|
|
<img src="../../../assets/images/case_text.png" class="card-icon-img" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
|
|
|
</div> |
|
|
<!-- 执法监督码卡片 --> |
|
|
<!-- 执法监督码卡片 --> |
|
|
<div class="supervision-card" @click="showEnterpriseQRCode"> |
|
|
<!-- <div class="supervision-card" @click="showEnterpriseQRCode"> |
|
|
<div class="card-title">执法监督码</div> |
|
|
<div class="card-title">执法监督码</div> |
|
|
<div class="qr-icon-wrap"> |
|
|
<div class="qr-icon-wrap"> |
|
|
<img src="@/assets/images/icon_jdm.jpg" class="qr-image" alt="" /> |
|
|
<img src="@/assets/images/icon_jdm.jpg" class="qr-image" alt="" /> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> --> |
|
|
|
|
|
|
|
|
<!-- 双卡片行 --> |
|
|
<!-- 双卡片行 --> |
|
|
<div class="card-row"> |
|
|
<!-- <div class="card-row"> --> |
|
|
<!-- 历史执法信息 --> |
|
|
<!-- 历史执法信息 --> |
|
|
<div class="info-card" @click="toEnforcementRegistrationListView"> |
|
|
<!-- <div class="info-card" @click="toEnforcementRegistrationListView"> |
|
|
<div class="card-title">历史执法信息</div> |
|
|
<div class="card-title">历史执法信息</div> |
|
|
<div class="card-icon"> |
|
|
<div class="card-icon"> |
|
|
<img src="@/assets/images/icon_zfxx.jpg" class="card-icon-img" alt="" /> |
|
|
<img src="@/assets/images/icon_zfxx.jpg" class="card-icon-img" alt="" /> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> --> |
|
|
|
|
|
|
|
|
<!-- 执法案件信息 --> |
|
|
<!-- 执法案件信息 --> |
|
|
<div class="info-card info-enforce" @click="toEnforcementCaseInfoView"> |
|
|
<!-- <div class="info-card info-enforce" @click="toEnforcementCaseInfoView"> |
|
|
<div class="card-title">执法案件信息</div> |
|
|
<div class="card-title">执法案件信息</div> |
|
|
<div class="card-icon"> |
|
|
<div class="card-icon"> |
|
|
<img src="@/assets/images/icon_ajxx.jpg" class="card-icon-img" alt="" /> |
|
|
<img src="@/assets/images/icon_ajxx.jpg" class="card-icon-img" alt="" /> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> --> |
|
|
</div> |
|
|
<!-- </div> --> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<!-- 底部导航栏 --> |
|
|
<!-- 底部导航栏 --> |
|
|
@ -210,10 +239,15 @@ onMounted(() => { |
|
|
console.log(useCommon); |
|
|
console.log(useCommon); |
|
|
isLoading.value = useCommon.firstLoad; |
|
|
isLoading.value = useCommon.firstLoad; |
|
|
|
|
|
|
|
|
// 首页轮播图加载 |
|
|
// 安全超时:5秒后强制关闭loading,防止异常导致一直转圈 |
|
|
fetchBannerList(); |
|
|
setTimeout(() => { |
|
|
// 首页系统通知加载 |
|
|
isLoading.value = false; |
|
|
fetchNoticeList(); |
|
|
}, 20000); |
|
|
|
|
|
|
|
|
|
|
|
// // 首页轮播图加载 |
|
|
|
|
|
// fetchBannerList(); |
|
|
|
|
|
// // 首页系统通知加载 |
|
|
|
|
|
// fetchNoticeList(); |
|
|
|
|
|
|
|
|
// 如果store中已存在完整的用户和企业信息,则跳过w6s鉴权 |
|
|
// 如果store中已存在完整的用户和企业信息,则跳过w6s鉴权 |
|
|
if (hasUserInfo()) { |
|
|
if (hasUserInfo()) { |
|
|
@ -221,6 +255,10 @@ onMounted(() => { |
|
|
isLoading.value = false; |
|
|
isLoading.value = false; |
|
|
getEnterpriseMerchant(useCommon.enterpriseNumber.toString(), useCommon.phonenumber.toString()); |
|
|
getEnterpriseMerchant(useCommon.enterpriseNumber.toString(), useCommon.phonenumber.toString()); |
|
|
useCommon.SET_IS_FIRST_LOAD(false); |
|
|
useCommon.SET_IS_FIRST_LOAD(false); |
|
|
|
|
|
// 首页轮播图加载 |
|
|
|
|
|
fetchBannerList(); |
|
|
|
|
|
// 首页系统通知加载 |
|
|
|
|
|
fetchNoticeList(); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -288,6 +326,10 @@ onMounted(() => { |
|
|
if (useCommon.firstLoad) { |
|
|
if (useCommon.firstLoad) { |
|
|
isLoading.value = false; |
|
|
isLoading.value = false; |
|
|
} |
|
|
} |
|
|
|
|
|
// 首页轮播图加载 |
|
|
|
|
|
fetchBannerList(); |
|
|
|
|
|
// 首页系统通知加载 |
|
|
|
|
|
fetchNoticeList(); |
|
|
}, error => { |
|
|
}, error => { |
|
|
console.log("认证失败", error) |
|
|
console.log("认证失败", error) |
|
|
}) |
|
|
}) |
|
|
@ -314,8 +356,21 @@ onMounted(() => { |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
background: #f0f6ff; |
|
|
background: #fbfdff; |
|
|
font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* ===== 全局 Loading ===== */ |
|
|
|
|
|
.global-loading { |
|
|
|
|
|
position: fixed; |
|
|
|
|
|
top: 0; |
|
|
|
|
|
left: 0; |
|
|
|
|
|
right: 0; |
|
|
|
|
|
bottom: 0; |
|
|
|
|
|
background: rgba(255, 255, 255, 0.85); |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
z-index: 9999; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* ===== 顶部蓝色背景区域 ===== */ |
|
|
/* ===== 顶部蓝色背景区域 ===== */ |
|
|
@ -442,91 +497,78 @@ onMounted(() => { |
|
|
background: rgba(255, 255, 255, 0.9); |
|
|
background: rgba(255, 255, 255, 0.9); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.service-title { |
|
|
|
|
|
font-size: 16px; |
|
|
|
|
|
color: #000; |
|
|
|
|
|
margin-bottom: 14px; |
|
|
|
|
|
margin-top: 14px; |
|
|
|
|
|
font-weight: 600; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.service-card-container { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
justify-content: space-around; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/* 执法监督码卡片 */ |
|
|
/* 执法监督码卡片 */ |
|
|
.supervision-card { |
|
|
.supervision-card { |
|
|
background: url('../../../assets/images/bg_jdm.jpg') center center no-repeat, linear-gradient(180deg, #7cc5fe 0%, #fff 100%); |
|
|
background: url('../../../assets/images/law_enf_code.png') center center no-repeat, linear-gradient(180deg, #7cc5fe 0%, #fff 100%); |
|
|
background-size: 100% 100%; |
|
|
background-size: 100% 100%; |
|
|
border-radius: 16px; |
|
|
border-radius: 16px; |
|
|
padding: 10px; |
|
|
padding: 8px 16px; |
|
|
margin-bottom: 14px; |
|
|
margin-bottom: 14px; |
|
|
position: relative; |
|
|
position: relative; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05); |
|
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05); |
|
|
height: 120px; |
|
|
height: 200px; |
|
|
|
|
|
width: 171px; |
|
|
.card-title { |
|
|
box-sizing: border-box; |
|
|
font-size: 16px; |
|
|
.card-icon { |
|
|
color: #000; |
|
|
width: 134px; |
|
|
// font-weight: 600; |
|
|
height: 42px; |
|
|
margin-bottom: 6px; |
|
|
margin-top: 4px; |
|
|
margin-top: 6px; |
|
|
.card-icon-img { |
|
|
} |
|
|
width: 100%; |
|
|
|
|
|
height: 100%; |
|
|
.qr-icon-wrap { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
justify-content: flex-start; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.qr-image { |
|
|
|
|
|
width: 100px; |
|
|
|
|
|
// height: 100px; |
|
|
|
|
|
object-fit: contain; |
|
|
|
|
|
border-radius: 40px; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* 双卡片行 */ |
|
|
/* 双卡片行 */ |
|
|
.card-row { |
|
|
.card-row {} |
|
|
display: flex; |
|
|
|
|
|
gap: 12px; |
|
|
|
|
|
margin-bottom: 20px; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.info-card { |
|
|
.info-card { |
|
|
flex: 1; |
|
|
|
|
|
border-radius: 16px; |
|
|
border-radius: 16px; |
|
|
padding: 8px 16px; |
|
|
padding: 8px 16px; |
|
|
position: relative; |
|
|
position: relative; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
min-height: 100px; |
|
|
height: 96px; |
|
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05); |
|
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05); |
|
|
background: url('../../../assets/images/bg_zfxx.png') center center no-repeat, linear-gradient(180deg, #bbecfd 0%, #fff 100%); |
|
|
background: url('../../../assets/images/hist_law_casses.png') center center no-repeat, linear-gradient(180deg, #bbecfd 0%, #fff 100%); |
|
|
background-size: 100% 100%; |
|
|
background-size: 100% 100%; |
|
|
|
|
|
width: 171px; |
|
|
.card-title { |
|
|
box-sizing: border-box; |
|
|
font-size: 14px; |
|
|
|
|
|
color: #000; |
|
|
|
|
|
margin-bottom: 4px; |
|
|
|
|
|
margin-top: 4px; |
|
|
|
|
|
position: relative; |
|
|
|
|
|
z-index: 1; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.card-icon { |
|
|
.card-icon { |
|
|
width: 60px; |
|
|
width: 92px; |
|
|
height: 40px; |
|
|
height: 42px; |
|
|
// border-radius: 20px; |
|
|
margin-top: 4px; |
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
position: relative; |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
margin-top: 12px; |
|
|
|
|
|
|
|
|
|
|
|
.card-icon-img { |
|
|
.card-icon-img { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 100%; |
|
|
height: 100%; |
|
|
border-radius: 50px; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.info-enforce { |
|
|
.info-enforce { |
|
|
background: url('../../../assets/images/bg_ajxx.png') center center no-repeat, linear-gradient(180deg, #a6d1f9 0%, #fff 100%); |
|
|
background: url('../../../assets/images/case_information.png') center center no-repeat, linear-gradient(180deg, #a6d1f9 0%, #fff 100%); |
|
|
background-size: 100% 100%; |
|
|
background-size: 100% 100%; |
|
|
|
|
|
width: 171px; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
margin-top: 6px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/* ===== 底部导航 ===== */ |
|
|
/* ===== 底部导航 ===== */ |
|
|
.footer_body { |
|
|
.footer_body { |
|
|
flex-shrink: 0; |
|
|
flex-shrink: 0; |
|
|
|