This commit is contained in:
ylj20011123 2026-02-06 17:47:25 +08:00
parent e91dbf7184
commit 4a8091db94
5 changed files with 2292 additions and 1396 deletions

View File

@ -20,29 +20,26 @@
"style": {
"navigationBarTitleText": "授权"
}
},
{
"path": "pages/webview/webview",
"style": {
"navigationBarTitleText": "驿达数智化看板"
}
}
],
"subPackages": [ //
{
"root": "pages/index/old",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "驿达数智化看板",
"navigationStyle": "custom",
"enablePullDownRefresh": true
}
}]
}
]
},
{
"root": "pages/authorityApproval",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "权限审批",
@ -60,7 +57,8 @@
},
{
"root": "pages/merchantAccount",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
@ -78,7 +76,8 @@
},
{
"root": "pages/settlementApproval",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"enablePullDownRefresh": true,
@ -101,7 +100,8 @@
},
{
"root": "pages/auditingPop",
"pages": [{
"pages": [
{
"path": "jointlySign",
"style": {
"navigationBarTitleText": "会签"
@ -127,10 +127,10 @@
}
]
},
{
"root": "pages/nationalPage",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
@ -187,7 +187,8 @@
},
{
"root": "pages/earlyWarning",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
@ -225,7 +226,8 @@
},
{
"root": "pages/revenue",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
@ -250,7 +252,8 @@
},
{
"root": "pages/revenueStatistics",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
@ -275,17 +278,20 @@
},
{
"root": "pages/newamine",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
}]
}
]
},
{
"root": "pages/commercialBINew",
"pages": [{
"pages": [
{
"path": "flowAnalysis",
"style": {
"navigationBarTitleText": "",
@ -304,19 +310,19 @@
},
{
"root": "pages/summaryOfPortraits",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
}]
}
]
},
{ // BI
"root": "pages/commercialBI",
"pages": [
{
"path": "guestPortrait",
"style": {
@ -426,19 +432,19 @@
{
//
"root": "pages/projectProfitSharing",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
}]
}
]
},
{
"root": "pages/plan",
"pages": [
{
"path": "areaPlanMonth",
"style": {
@ -458,7 +464,8 @@
//
{
"root": "pages/examine",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
@ -477,7 +484,8 @@
},
{
"root": "pages/projectWarning",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "分润比例切换"
@ -494,17 +502,20 @@
},
{
"root": "pages/robot",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "数智助手",
"navigationStyle": "custom"
}
}]
}
]
},
{
"root": "pages/map",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "",
@ -528,7 +539,8 @@
},
{
"root": "pages/operatingStatements",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "经营报表",
@ -559,7 +571,8 @@
},
{
"root": "pages/tender",
"pages": [{
"pages": [
{
"path": "tender",
"style": {
"enablePullDownRefresh": true,
@ -595,7 +608,8 @@
},
{
"root": "pages/serviceAreaReimbursement",
"pages": [{
"pages": [
{
"path": "serviceAreaReimbursement",
"style": {
"enablePullDownRefresh": true,
@ -613,7 +627,8 @@
},
{
"root": "pages/dataSummary",
"pages": [{
"pages": [
{
"path": "dataSummary",
"style": {
"enablePullDownRefresh": true,
@ -637,7 +652,8 @@
},
{
"root": "pages/businessApproval",
"pages": [{
"pages": [
{
"path": "businessApproval",
"style": {
"enablePullDownRefresh": true,
@ -654,7 +670,8 @@
},
{
"root": "pages/everdayRenven",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"enablePullDownRefresh": false,
@ -700,7 +717,8 @@
},
{
"root": "pages/suggestion",
"pages": [{
"pages": [
{
"path": "suggestion",
"style": {
"enablePullDownRefresh": true,
@ -717,7 +735,8 @@
},
{
"root": "pages/contract",
"pages": [{
"pages": [
{
"path": "contract",
"style": {
"enablePullDownRefresh": true,
@ -734,7 +753,8 @@
},
{
"root": "pages/cashAudit",
"pages": [{
"pages": [
{
"path": "list",
"style": {
"enablePullDownRefresh": true,
@ -757,7 +777,8 @@
},
{
"root": "pages/investment",
"pages": [{
"pages": [
{
"path": "investment",
"style": {
"enablePullDownRefresh": true,
@ -774,7 +795,8 @@
},
{
"root": "pages/expenseApproval",
"pages": [{
"pages": [
{
"path": "expenseApproval",
"style": {
"enablePullDownRefresh": true,
@ -792,7 +814,8 @@
},
{
"root": "pages/commodity_temp",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"enablePullDownRefresh": true,
@ -810,27 +833,32 @@
},
{
"root": "pages/testPage",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "测试页面"
}
}]
}
]
},
{
"root": "pages/billOfLading",
"pages": [{
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "提单"
}
}, {
},
{
"path": "detail",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
}]
}
]
}
],
"globalStyle": {
@ -844,13 +872,13 @@
"selectedColor": "#3295f9",
"borderStyle": "black",
"backgroundColor": "#ffffff",
"list": [{
"list": [
{
"pagePath": "pages/index/index",
"iconPath": "static/images/tab/home.png",
"selectedIconPath": "static/images/tab/homeActive.png",
"text": ""
},
{
"pagePath": "pages/userCenter/userCenter",
"iconPath": "static/images/tab/user.png",

View File

@ -1,200 +0,0 @@
const yewu = [{
"name": "财务审批",
"id": "1a2907bd-c2f5-4ef9-9ead-70496650ace6",
"modelName": "FinancialApproval",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/cwsp.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/cwsp-no.png",
"homeUrl": "/pages/expenseApproval/expenseApproval"
}, {
"name": "招标投标",
"id": "916cdbb5-f05b-4624-b6c4-9f111d4389fc",
"modelName": "Tender",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/zbtb.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/zbtb-no.png",
"homeUrl": "/pages/tender/tender"
}, {
"name": "服务区报销",
"id": "8fea5036-d67e-476e-9e56-5f379ba6ae18",
"modelName": "ServerPartFinancialApproval",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/fwqbx.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/fwqbx-no.png",
"homeUrl": "/pages/serviceAreaReimbursement/serviceAreaReimbursement"
}, {
"name": "合同审批",
"id": "ac661db4-1af1-4732-88db-76bc05eec335",
"modelName": "ServerPartCompactApproval",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/htsp.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/htsp-no.png",
"homeUrl": "/pages/contract/contract"
}];
const work = [{
"name": "公文阅办",
"id": "2580cb9f-ad2c-4d0b-b478-0be52eaf6ef6",
"modelName": "Publicity",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/gwyb.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/gwyb-no.png",
"homeUrl": "/pages/officialDocManagement/officialDocManagement"
},
{
"name": "阳光公示",
"id": "c870b1bc-95c8-473d-81c8-8596eb793bd4",
"modelName": "Publicity",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/publicity.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/publicity-no.png",
"homeUrl": "/pages/publicity/publicity"
}, {
"name": "请假加班",
"id": "1ceeaa5c-d11e-4dcd-8d33-0c3df4cd4937",
"modelName": "Publicity",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/qjjb.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/qjjb-no.png",
"homeUrl": "/pages/askForLeave/askForLeave"
},
{
"name": "安全问答",
"id": "5733dfdd-29f6-4233-9ff0-6f077d80d778",
"modelName": "Questionnaire",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/aqwd.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/aqwd-no.png",
"homeUrl": "/pages/webview/webview?name=questionnaire"
},
// {
// "name": "考勤打卡",
// "id": "ff04b551-c382-4638-a947-f95c42387ada",
// "modelName": "positionPunching",
// "imagePath": "/static/images/index/kqdk.png",
// "noImagePath": "/static/images/index/kqdk-no.png",
// "homeUrl": "/pages/additionalFeatures/positionPunching"
// }
];
const scene = [{
"name": "扫一扫",
"id": "1",
"modelName": "",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/saoyisao.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/saoyisao-no.png",
"homeUrl": ""
}, {
"name": "走动式管理",
"id": "c26c1620-2149-4b3d-ac2e-07e0c0494042",
"modelName": "Mbwa",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/zdsgl.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/zdsgl-no.png",
"homeUrl": "/pages/mbwa/mbwa"
}, {
"name": "投诉建议",
"id": "d405ae13-3388-41c0-a5f6-d11194d0a943",
"modelName": "Suggestion",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/tsjy.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/tsjy-no.png",
"homeUrl": "/pages/suggestion/suggestion"
},
{
"name": "收银稽核",
"id": "ebd8cae4-d36d-4ea0-a7e9-61e566bf9e24",
"modelName": "cashAudit",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/syjh.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/syjh-no.png",
"homeUrl": "/pages/cashAudit/list"
},
{
"name": "稽核异常",
"id": "b548740f-a942-4de3-8d55-c0a2370171ba",
"modelName": "abnormalaudit",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/syjh.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/syjh-no.png",
"homeUrl": "/pages/abnormalaudit/index"
}, {
"name": "设备巡检",
"id": "",
"modelName": "",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/sbxj.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/sbxj-no.png",
"homeUrl": ""
},
{
"name": "物业管理",
"id": "",
"modelName": "",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/wygl.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/wygl-no.png",
"homeUrl": ""
},
]
const management = [{
"name": "每日营收",
"id": "74934d31-385a-4eed-80bb-9c9ed7da29b5",
"modelName": "EverdayRenven",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/mrys.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/mrys-no.png",
"homeUrl": "/pages/everdayRenven/index"
},
{
"name": "日结校验",
"id": "b0b63a75-56c9-4f1d-aacb-a26e62b47e3e",
"modelName": "DataValidation",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/sjjy.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/sjjy-no.png",
"homeUrl": "/pages/dataSummary/dataSummary"
},
{
"name": "商品审批",
"id": "056b29d7-4721-47ee-ad25-660814e1f3a9",
"modelName": "CommodityApproval",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/spsp.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/spsp-no.png",
"homeUrl": "/pages/businessApproval/businessApproval"
},
{
"name": "招商审批",
"id": "2290e96d-c6d7-4dde-b5b7-e699b615ff2f",
"modelName": "Mnangement",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/zsgl.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/zsgl-no.png",
"homeUrl": "/pages/investment/investment"
}, {
"name": "经营报表",
"id": "4a34e1d4-47c9-4c06-8e8e-f38c6bd9450b",
"modelName": "operatingStatements",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/jybb.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/jybb-no.png",
"homeUrl": "/pages/operatingStatements/index"
},
{
"name": "商业BI",
"id": "9125e837-1961-4d92-bdc1-2200260d9643",
"modelName": "AnnualData",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/ndsj.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/ndsj-no.png",
"homeUrl": "/pages/webview/webview?src=https://eshangtech.com/questionnarie/business"
}, {
"name": "权限审批",
"id": "c802a38f-3bbd-4db0-89b6-34e404c8d8cc",
"modelName": "authorityApproval",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/qxsp.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/qxsp-no.png",
"homeUrl": "/pages/authorityApproval/index"
}, {
"name": "资质审批",
"id": "d0bc5a4d-c509-4b22-ba2b-01ae675852d6",
"modelName": "commodity_temp",
"imagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/qxsp.png",
"noImagePath": "https://eshangtech.com/ShopICO/ahyd-BID/index/qxsp-no.png",
"homeUrl": "/pages/commodity_temp/index"
}
]
export default [{
name: '综合办公',
list: work
}, {
name: '业务审批',
list: yewu
},
{
name: '现场管理',
list: scene
}, {
name: '商业经营',
list: management
}
]

View File

@ -3928,15 +3928,25 @@
height: guideInfo.height + 'px'
}"></view>
<view class="guide-bubble" :style="{
top: (guideInfo.top + guideInfo.height + 20) + 'px',
top: (guideInfo.top - 24) + 'px',
left: (guideInfo.left + guideInfo.width / 2) + 'px'
}">
<div class="guide-bubble-content">
<view class="guide-grid"></view>
<view class="guide-header">
<view class="ai-icon-wrapper">
<view class="ai-pulse"></view>
<view class="ai-inner-dot"></view>
</view>
<text class="guide-title">数智助手</text>
</view>
<text class="guide-desc">您的春运动态播报专家为您实时呈现全省及区域经营动态车流预警与数据分析</text>
<view class="guide-btn-group">
<view class="guide-btn outline" @click.stop="handleCloseGuide">知道了</view>
<view class="guide-btn primary" @click.stop="handleGoToRobot">看一下</view>
<view class="guide-btn primary" @click.stop="handleGoToRobot">
看一下
<view class="btn-glow"></view>
</view>
</view>
</div>
</view>
@ -11164,107 +11174,258 @@ $iphoneHeight: env(safe-area-inset-bottom);
width: 100vw;
height: 100vh;
z-index: 99999;
background-color: transparent;
background-color: rgba(0, 0, 0, 0.2);
}
.guide-highlight {
position: absolute;
border-radius: 12rpx;
box-shadow: 0 0 0 2000px rgba(0, 0, 0, 0.7);
transition: all 0.3s;
border-radius: 16rpx;
box-shadow: 0 0 0 2000px rgba(0, 0, 0, 0.75);
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
pointer-events: none;
}
.guide-highlight::before,
.guide-highlight::after {
content: '';
position: absolute;
top: -4px;
left: -4px;
right: -4px;
bottom: -4px;
top: -8px;
left: -8px;
right: -8px;
bottom: -8px;
border: 2px solid #1677FE;
border-radius: 16rpx;
animation: guide-pulse 1.5s infinite;
border-radius: 20rpx;
animation: guide-pulse 2s infinite;
}
.guide-highlight::after {
animation-delay: 1s;
}
@keyframes guide-pulse {
0% {
opacity: 1;
transform: scale(1);
transform: scale(0.95);
opacity: 0.8;
}
70% {
transform: scale(1.15);
opacity: 0;
}
100% {
transform: scale(1.2);
opacity: 0;
transform: scale(1.1);
}
}
.guide-bubble {
position: absolute;
transform: translateX(-50%);
width: 500rpx;
z-index: 10001;
transform: translate(-50%, -100%);
width: 540rpx;
z-index: 100001;
pointer-events: auto;
animation: bubble-entrance 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
@keyframes bubble-entrance {
from {
opacity: 0;
transform: translate(-50%, -100%) translateY(-20px) scale(0.9);
}
to {
opacity: 1;
transform: translate(-50%, -100%) translateY(0) scale(1);
}
}
.guide-bubble-content {
background: rgba(30, 30, 30, 0.9);
backdrop-filter: blur(10px);
padding: 30rpx;
border-radius: 20rpx;
background: linear-gradient(135deg, rgba(11, 14, 20, 0.9), rgba(26, 33, 48, 0.9));
backdrop-filter: blur(25px);
-webkit-backdrop-filter: blur(25px);
padding: 36rpx;
border-radius: 28rpx;
color: #fff;
position: relative;
overflow: hidden;
border: 1px solid rgba(22, 119, 254, 0.3);
box-shadow: 0 25rpx 50rpx rgba(0, 0, 0, 0.5),
inset 0 0 15rpx rgba(22, 119, 254, 0.1);
}
.guide-grid {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
linear-gradient(rgba(22, 119, 254, 0.05) 1px, transparent 1px),
linear-gradient(90deg, rgba(22, 119, 254, 0.05) 1px, transparent 1px);
background-size: 20rpx 20rpx;
pointer-events: none;
}
/* 流动边框灯效 */
.guide-bubble-content::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
border-radius: 28rpx;
padding: 1px;
background: linear-gradient(90deg, transparent, transparent, #1677FE, transparent, transparent);
background-size: 200% 100%;
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: destination-out;
mask-composite: exclude;
animation: border-flow 4s linear infinite;
pointer-events: none;
}
@keyframes border-flow {
0% {
background-position: 200% 0;
}
100% {
background-position: -200% 0;
}
}
.guide-bubble-content::before {
content: '';
position: absolute;
bottom: 100%;
top: 100%;
left: 50%;
transform: translateX(-50%);
border: 15rpx solid transparent;
border-bottom-color: rgba(30, 30, 30, 0.9);
border: 18rpx solid transparent;
border-top-color: rgba(35, 35, 45, 0.85);
}
.guide-header {
display: flex;
align-items: center;
margin-bottom: 18rpx;
}
.ai-icon-wrapper {
position: relative;
width: 32rpx;
height: 32rpx;
margin-right: 12rpx;
}
.ai-pulse {
position: absolute;
width: 100%;
height: 100%;
background: #1677FE;
border-radius: 50%;
animation: ai-icon-pulse 1.5s infinite;
}
.ai-inner-dot {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 14rpx;
height: 14rpx;
background: #fff;
border-radius: 50%;
box-shadow: 0 0 10rpx #1677FE;
}
@keyframes ai-icon-pulse {
0% {
transform: scale(1);
opacity: 0.6;
}
50% {
transform: scale(1.6);
opacity: 0;
}
100% {
transform: scale(1);
opacity: 0.6;
}
}
.guide-title {
display: block;
font-size: 32rpx;
font-weight: bold;
font-size: 34rpx;
font-weight: 700;
color: #1677FE;
margin-bottom: 15rpx;
letter-spacing: 2rpx;
text-shadow: 0 0 10rpx rgba(22, 119, 254, 0.4);
}
.guide-desc {
display: block;
font-size: 26rpx;
line-height: 1.5;
margin-bottom: 30rpx;
color: #e0e0e0;
font-size: 27rpx;
line-height: 1.6;
margin-bottom: 34rpx;
color: rgba(255, 255, 255, 0.85);
}
.guide-btn-group {
display: flex;
justify-content: space-between;
gap: 20rpx;
gap: 24rpx;
}
.guide-btn {
position: relative;
flex: 1;
text-align: center;
padding: 15rpx 0;
border-radius: 40rpx;
font-size: 26rpx;
font-weight: 500;
transition: all 0.2s;
padding: 18rpx 0;
border-radius: 50rpx;
font-size: 27rpx;
font-weight: 600;
overflow: hidden;
}
.guide-btn.outline {
border: 1px solid #1677FE;
color: #1677FE;
background: rgba(255, 255, 255, 0.03);
border: 1px dashed rgba(22, 119, 254, 0.4);
color: rgba(255, 255, 255, 0.9);
}
.guide-btn.primary {
background: #1677FE;
background: linear-gradient(135deg, #1677FE, #0056D2);
color: #ffffff;
box-shadow: 0 8rpx 20rpx rgba(22, 119, 254, 0.3);
border: none;
}
.btn-glow {
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, transparent 70%);
animation: btn-glow-move 3s infinite linear;
pointer-events: none;
}
@keyframes btn-glow-move {
0% {
transform: translate(-30%, -30%);
}
50% {
transform: translate(30%, 30%);
}
100% {
transform: translate(-30%, -30%);
}
}
</style>

View File

@ -19,12 +19,14 @@
<!-- 查询时间 -->
<div style="display: flex;justify-content: space-between">
<view style="display: flex;">
<picker mode="date" @change="bindDateChange($event,0)" :value="pageData.searchTime[0]" :end="pageData.endDate" start="2018-12-01" class="screen-unit">
<picker mode="date" @change="bindDateChange($event, 0)" :value="pageData.searchTime[0]"
:end="pageData.endDate" start="2018-12-01" class="screen-unit">
<text>{{ pageData.searchTime[0] }}</text>
<text class="uni-icon uni-icon-arrowdown"></text>
</picker>
<text class="mr20"></text>
<picker mode="date" @change="bindDateChange($event,1)" :value="pageData.searchTime[1]" :end="pageData.endDate" start="2018-12-01" class="screen-unit">
<picker mode="date" @change="bindDateChange($event, 1)" :value="pageData.searchTime[1]"
:end="pageData.endDate" start="2018-12-01" class="screen-unit">
<text>{{ pageData.searchTime[1] }}</text>
<text class="uni-icon uni-icon-arrowdown"></text>
</picker>
@ -93,26 +95,30 @@
</view>
<view class="modleText" v-if="pageData.msg.SearchResult">
<div v-if="showModal">
<span v-if="copySearchText && BusinessTypeValue || copySearchText && BusinessTypeValue" class="text" style="color: red;display: block">温馨提示模糊查询不支持选择经营方法/结算方式</span>
<span v-if="copySearchText && BusinessTypeValue || copySearchText && BusinessTypeValue" class="text"
style="color: red;display: block">温馨提示模糊查询不支持选择经营方法/结算方式</span>
<span class="text">{{ pageData.msg.SearchResult[0] }}</span>
<view class="text" v-if="BusinessTypeValue!==0">{{`经营模式: ${BusinessTypeList.filter(item=> item.value===BusinessTypeValue)[0].label}`}}</view>
<view class="text" v-if="SettlementModeValue!==0">{{`结算模式: ${SettlementModeList.filter(item=> item.value===SettlementModeValue)[0].label}`}}</view>
<view class="text" v-if="BusinessTypeValue !== 0">{{`经营模式: ${BusinessTypeList.filter(item =>
item.value === BusinessTypeValue)[0].label}`}}</view>
<view class="text" v-if="SettlementModeValue !== 0">{{`结算模式: ${SettlementModeList.filter(item =>
item.value === SettlementModeValue)[0].label}`}}</view>
</div>
<div v-else>
<span v-if="copySearchText && BusinessTypeValue || copySearchText && BusinessTypeValue" class="text" style="color: red">温馨提示模糊查询不支持选择经营方法/结算方式</span>
<span v-if="copySearchText && BusinessTypeValue || copySearchText && BusinessTypeValue" class="text"
style="color: red">温馨提示模糊查询不支持选择经营方法/结算方式</span>
<div v-for="(item, index) in pageData.msg.SearchResult" :key="index">
<span class="text" v-for="(subItem, subIndex) in item" :key="subIndex">
<span class="text" style="color:red" v-if="item.length>1 && subItem.indexOf('')===-1">{{copySearchText}}</span>
<span class="text" style="color:red" v-if="item.length > 1 && subItem.indexOf('') === -1">{{
copySearchText }}</span>
{{ subItem }}
</span>
</div>
</div>
</view>
<view class="bg-white" v-if="ServerpartList.length > 0">
<view class="region-area-title uni-flex ai-center jc-between" v-show="pageData.msg.Province_ExternalAmount" :class="{'active':pageData.insideShow}" @tap="pageData.insideShow=!pageData.insideShow">
<view class="region-area-title uni-flex ai-center jc-between" v-show="pageData.msg.Province_ExternalAmount"
:class="{ 'active': pageData.insideShow }" @tap="pageData.insideShow = !pageData.insideShow">
<text>省内区域</text>
</view>
<view v-show="pageData.insideShow">
@ -135,7 +141,8 @@
</div>
</div>
<ul class="region-cell-area" v-show="item.show">
<li v-for="(child,index) in item.revenueServerModels" :class="{'visited':child.visited}" :key="index" @tap="toDetail(child)">
<li v-for="(child, index) in item.revenueServerModels" :class="{ 'visited': child.visited }" :key="index"
@tap="toDetail(child)">
<view>{{ child.Serverpart_Name }}</view>
<view class="uni-flex ai-center data-number">
<text class="">{{ child.Revenue_Proportion }}</text>
@ -148,7 +155,8 @@
</view>
<template v-if="insideRegionList.length > 0">
<view class="region-area-title uni-flex ai-center jc-between" :class="{'active':pageData.exsideShow }" @tap="pageData.exsideShow = !pageData.exsideShow">
<view class="region-area-title uni-flex ai-center jc-between" :class="{ 'active': pageData.exsideShow }"
@tap="pageData.exsideShow = !pageData.exsideShow">
<text>省外区域</text>
</view>
<view v-show="pageData.exsideShow">
@ -167,10 +175,12 @@
</div>
</div>
<div class="region-cell-unit"><text class="uni-icon uni-icon-arrowright" :class="{'active':item.show}"></text></div>
<div class="region-cell-unit"><text class="uni-icon uni-icon-arrowright"
:class="{ 'active': item.show }"></text></div>
</div>
<ul class="region-cell-area" v-show="item.show">
<li v-for="(child,index) in item.revenueServerModels" :class="{'visited':child.visited}" :key="index" @tap="toDetail(child)">
<li v-for="(child, index) in item.revenueServerModels" :class="{ 'visited': child.visited }"
:key="index" @tap="toDetail(child)">
<view>{{ child.Serverpart_Name }}</view>
<view class="uni-flex ai-center data-number">
<text class="">{{ child.Revenue_Proportion }}</text>
@ -190,6 +200,12 @@
</view>
<view class="modle-title">
<image src="https://eshangtech.com/ShopICO/ahyd-BID/revenue/yestoday-region.png" mode="aspectFit"></image>
<text>运营报表</text>
</view>
<uni-popup ref="popup" type="bottom" style="background: #fff">
<div class="popupBox" style="box-sizing:border-box;height: 550px">
<!-- <div style="display: flex;align-items: center;justify-content: space-between">-->
@ -199,30 +215,43 @@
<div class="popupContent">
<div class="search_box">
<img src="/static/images/recons/search_icon.svg" alt="" class="search_icon">
<input v-model="searchText" confirm-type="search" @confirm="getList" placeholder="可以查询门店/服务区/品牌/商家等信息" class="select_input" clear/>
<input v-model="searchText" confirm-type="search" @confirm="getList" placeholder="可以查询门店/服务区/品牌/商家等信息"
class="select_input" clear />
<img src="/static/images/recons/delete.svg" alt="" class="delete" @click="handleDelete">
</div>
<view style="height: 380px;overflow-y: scroll">
<view class="popupTitle">日期选择</view>
<view class="timeList">
<view :class="selectTime===item.value?'timeItem timeSelectItem':'timeItem'" v-for="(item,index) in timeTypeList" :key="index" @click="handleChangeTime(item.value)">{{item.label}}</view>
<view :class="selectTime === item.value ? 'timeItem timeSelectItem' : 'timeItem'"
v-for="(item, index) in timeTypeList" :key="index" @click="handleChangeTime(item.value)">{{ item.label
}}
</view>
</view>
<view class="timeList">
<view :class="selectTimeOther?'timeItem timeSelectItem':'timeItem'" @click="handleTimeOther">自定义</view>
<view :class="selectTimeOther ? 'timeItem timeSelectItem' : 'timeItem'" @click="handleTimeOther">自定义
</view>
</view>
<view class="popupTitle">业态类型</view>
<view class="timeList">
<view :class="BusinessTrade===item.value?'timeItem timeSelectItem':'timeItem'" v-for="(item,index) in tradeList" :key="index" @click="handleChangeTrade(item.value,index)">{{item.label}}</view>
<view :class="BusinessTrade === item.value ? 'timeItem timeSelectItem' : 'timeItem'"
v-for="(item, index) in tradeList" :key="index" @click="handleChangeTrade(item.value, index)">
{{ item.label }}
</view>
<view class="timeList" v-if="bigTradeIndex>=0 && tradeList[bigTradeIndex] && tradeList[bigTradeIndex].children && tradeList[bigTradeIndex].children.length>0">
<view :class="BusinessSmallTrade.indexOf(item.value)!==-1 ?'timeItem timeSelectItem':'timeItem'" v-for="(item,index) in tradeList[bigTradeIndex].children" :key="index" @click="handleChangeSmallTrade(item.value)">{{item.label}}</view>
</view>
<view class="timeList"
v-if="bigTradeIndex >= 0 && tradeList[bigTradeIndex] && tradeList[bigTradeIndex].children && tradeList[bigTradeIndex].children.length > 0">
<view :class="BusinessSmallTrade.indexOf(item.value) !== -1 ? 'timeItem timeSelectItem' : 'timeItem'"
v-for="(item, index) in tradeList[bigTradeIndex].children" :key="index"
@click="handleChangeSmallTrade(item.value)">{{ item.label }}</view>
</view>
<view class="popupTitle">经营模式</view>
<view class="timeList">
<view :class="BusinessTypeValue===item.value?'timeItem timeSelectItem':'timeItem'" v-for="(item,index) in BusinessTypeList" :key="index" @click="handleChangeBusiness(item.value)">{{item.label}}</view>
<view :class="BusinessTypeValue === item.value ? 'timeItem timeSelectItem' : 'timeItem'"
v-for="(item, index) in BusinessTypeList" :key="index" @click="handleChangeBusiness(item.value)">
{{ item.label }}</view>
</view>
<view class="popupTitle" style="display: flex;position: relative;align-items: center">
<span class="title">结算模式</span>
@ -238,7 +267,9 @@
</view>
<view class="timeList">
<view :class="SettlementModeValue===item.value?'timeItem timeSelectItem':'timeItem'" v-for="(item,index) in SettlementModeList" :key="index" @click="handleChangeSettlement(item.value)">{{item.label}}</view>
<view :class="SettlementModeValue === item.value ? 'timeItem timeSelectItem' : 'timeItem'"
v-for="(item, index) in SettlementModeList" :key="index" @click="handleChangeSettlement(item.value)">
{{ item.label }}</view>
</view>
</view>
</div>
@ -248,12 +279,14 @@
<uni-popup ref="timePopup" type="center" style="background: #fff">
<div class="timePopup">
<div style="display: flex;margin-left: 10%">
<picker mode="date" @change="handleChangeTimePopup($event,0)" :value="searchTimePopup[0]" :end="pageData.endDate" start="2018-12-01" class="screen-unit">
<picker mode="date" @change="handleChangeTimePopup($event, 0)" :value="searchTimePopup[0]"
:end="pageData.endDate" start="2018-12-01" class="screen-unit">
<text style="font-size: 32rpx">{{ searchTimePopup[0] }}</text>
<text class="uni-icon uni-icon-arrowdown"></text>
</picker>
<text class="mr20"></text>
<picker mode="date" @change="handleChangeTimePopup($event,0)" :value="searchTimePopup[1]" :end="pageData.endDate" start="2018-12-01" class="screen-unit">
<picker mode="date" @change="handleChangeTimePopup($event, 0)" :value="searchTimePopup[1]"
:end="pageData.endDate" start="2018-12-01" class="screen-unit">
<text style="font-size: 32rpx">{{ searchTimePopup[1] }}</text>
<text class="uni-icon uni-icon-arrowdown"></text>
</picker>
@ -662,13 +695,16 @@
.page-body {
//padding-bottom: 80rpx;
}
.meng {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;left: 0;
top: 0;
left: 0;
z-index: 101;
}
.search_box {
position: relative;
width: 558rpx;
@ -678,17 +714,20 @@
flex-direction: row;
align-items: center;
border-radius: 36rpx;
img {
width: 35rpx;
height: 35rpx;
margin: auto 16rpx auto 24rpx;
}
.select_input {
width: 420rpx;
border: none;
height: 40rpx;
font-size: 28rpx;
}
.delete {
width: 20px;
height: 20px;
@ -704,6 +743,7 @@
align-items: center;
font-size: 28rpx;
color: #6C737A;
img {
width: 35rpx;
height: 35rpx;
@ -717,8 +757,10 @@
box-sizing: border-box;
padding: 24rpx;
position: relative;
.popupContent {
margin-top: 24rpx;
.search_box {
position: relative;
width: 100%;
@ -728,17 +770,20 @@
flex-direction: row;
align-items: center;
border-radius: 36rpx;
img {
width: 35rpx;
height: 35rpx;
margin: auto 16rpx auto 24rpx;
}
.select_input {
width: 80%;
border: none;
height: 40rpx;
font-size: 28rpx;
}
.delete {
width: 20px;
height: 20px;
@ -747,18 +792,21 @@
z-index: 99;
}
}
.popupTitle {
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: bold;
line-height: 40rpx;
margin-top: 24rpx;
.title {
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: bold;
line-height: 40rpx;
}
.notice {
margin-left: 8rpx;
width: 12px;
@ -771,6 +819,7 @@
color: #A69E9F;
font-size: 12px;
font-weight: 500;
.noticeBox {
max-width: 80%;
position: absolute;
@ -782,18 +831,21 @@
box-shadow: 0rpx 4rpx 12rpx 0rpx rgba(166, 158, 159, 0.3);
z-index: 100;
transform: translateY(-100%);
.noticeText {
display: block;
}
}
}
}
.timeList {
width: 100%;
display: flex;
align-items: center;
flex-flow: wrap;
padding: 12rpx 0;
.timeItem {
width: 22%;
margin-right: 3%;
@ -803,6 +855,7 @@
border: 1rpx solid #efefef;
margin-bottom: 8rpx;
}
.timeSelectItem {
background: #e8f3fd;
border: 1rpx solid #e8f3fd;
@ -818,13 +871,16 @@
font-weight: bold;
line-height: 40rpx;
}
.delete {
width: 20px;
height: 20px;
}
.checkBox {
padding: 30rpx 0;
}
.btn {
position: absolute;
width: calc(100% - 48px);
@ -839,6 +895,7 @@
transform: translateX(-50%);
}
}
::v-deep.vue-ref {
padding-bottom: 0px !important;
}
@ -853,6 +910,7 @@
display: flex;
flex-direction: column;
justify-content: center;
.btn {
width: calc(100% - 48px);
margin-left: 24px;
@ -873,6 +931,7 @@
left: 0;
z-index: 9;
}
.screen-box .searchBtn {
margin-top: 12rpx;
box-sizing: border-box;
@ -882,17 +941,20 @@
color: #fff;
display: inline-block;
}
.screen-box .searchBox {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.screen-box .searchBox .searchItem {
display: flex;
width: 50%;
align-items: center;
}
.searchBox .searchItem .searchLabel {
margin-right: 16rpx;
font-size: 16px;
@ -910,28 +972,34 @@
padding: 0 14rpx;
line-height: 3;
}
.screen-box .mr20 {
margin-right: 20rpx;
color: #95999C;
}
.uni-icon-arrowdown {
font-size: 22rpx;
color: #C7C7C7;
margin-left: 8rpx;
}
.screen-box text {
line-height: 3;
}
.screen-box image {
width: 12rpx;
height: 8rpx;
margin: 0 16rpx;
vertical-align: middle;
}
.head-card {
padding: 12rpx 26rpx 40rpx;
background-color: #fff;
}
.head-card>view {
width: 330rpx;
//height: 190rpx;
@ -942,12 +1010,14 @@
border-radius: 24rpx;
box-sizing: border-box;
}
.head-card .topDetail .detailBox {
width: 100%;
display: flex;
flex-wrap: wrap;
align-content: flex-start;
}
.head-card .topDetail .label {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -957,10 +1027,12 @@
line-height: 40rpx;
margin-bottom: 2px;
}
.detailBox .detailItem {
width: 33%;
margin-bottom: 16px;
}
.detailBox .detailItem .value {
font-size: 16px;
font-family: DINAlternate-Bold, DINAlternate;
@ -968,6 +1040,7 @@
color: #fff;
line-height: 40rpx;
}
.detailBox .detailItem .label {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -977,6 +1050,7 @@
line-height: 40rpx;
margin-bottom: 2px;
}
.detailBox .detailItem .label .unit {
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -998,11 +1072,13 @@
position: relative;
//overflow: hidden;
}
.head-card .price-num {
font-family: 'Bahnschrift Regular';
font-size: 50rpx;
line-height: 1.5;
}
.all-diff {
background: linear-gradient(#f28785, #ee5b4c);
height: 36rpx;
@ -1017,11 +1093,13 @@
border-radius: 0 0 0 54rpx;
}
.all-diff image {
width: 20rpx;
height: 17rpx;
margin-right: 8rpx;
}
.modle-title {
padding-left: 24rpx;
font-size: 30rpx;
@ -1031,27 +1109,32 @@
display: flex;
align-items: center;
}
.modleText {
width: 100%;
box-sizing: border-box;
padding: 0 24rpx 18rpx 74rpx;
.text {
font-size: 26rpx;
color: #929292;
white-space: pre-wrap;
}
}
.modle-title image {
max-width: 36rpx;
max-height: 36rpx;
margin-right: 14rpx;
}
.bg-white {
background-color: #fff;
margin: 0 24rpx;
border-radius: 12rpx;
padding-bottom: 26rpx;
}
.region-area-title {
color: #000;
font-weight: bolder;
@ -1059,6 +1142,7 @@
position: relative;
display: flex;
}
/*日结上传*/
.region-title {
position: relative;
@ -1066,9 +1150,12 @@
/* font-weight: bolder; */
}
.region-title,.ct01 {
.region-title,
.ct01 {
color: #000000;
}
.ct01 {
padding-top: 8rpx;
}
@ -1088,6 +1175,7 @@
transition: all 0.4s;
display: block;
}
.active.region-area-title:before {
border-left: 8rpx solid transparent;
@ -1101,23 +1189,28 @@
padding: 26rpx 46rpx 16rpx 56rpx;
align-items: flex-end;
}
.region-cell .active.uni-icon-arrowright::before {
transform: rotate(90deg);
}
.region-cell .uni-icon-arrowdown,.region-cell .uni-icon-arrowright {
.region-cell .uni-icon-arrowdown,
.region-cell .uni-icon-arrowright {
font-size: 36rpx;
color: #5A5A5A;
/* padding-bottom: 12rpx; */
position: relative;
}
.region-cell .uni-icon-arrowright::before {
position: absolute;
right: -26rpx;
top: -46rpx;
transition: all 0.4s;
}
.region-cell .region-cell-unit {
flex: 2;
display: flex;
@ -1132,11 +1225,13 @@
flex: 3;
text-align: left;
}
.region-cell .region-cell-unit:nth-child(3) {
flex: 2.5;
}
.region-cell-image {
width: 48rpx;
display: flex;
@ -1155,13 +1250,16 @@
.region-cell-area {
box-sizing: border-box;
}
.region-cell-area li:nth-child(2n+1) {
background-color: #FCFCFC;
}
.region-cell-area li view:first-child {
display: flex;
align-items: center;
}
.region-cell-area li.visited view:first-child {
color: #007AFF;
@ -1211,17 +1309,20 @@
font-size: 22rpx;
position: relative;
}
.region-cell-area li>view text {
font-size: 22rpx;
flex: 1;
text-align: right;
}
.region-cell-area li>view text:last-child {
/* text-align: right; */
font-weight: bolder;
padding-right: 8rpx;
flex: 2;
}
.region-cell-area li>view:last-child:after {
content: '';
background: url('https://eshangtech.com/ShopICO/ahyd-BID/revenue/you-jt.png')no-repeat center;

View File

@ -0,0 +1,806 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>经营报表</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: '#5A7BDF',
cardBg: '#A3E4D7',
textDark: '#333333',
textLight: '#666666',
redDot: '#E74C3C',
blueDot: '#3498DB',
},
}
}
}
</script>
<style>
/* 隐藏子层级的默认样式通过JS切换显示/隐藏 */
.sub-level-hide {
display: none;
}
</style>
</head>
<body class="bg-gray-100 font-sans">
<!-- 顶部导航 -->
<div class="bg-primary text-white py-3 px-4 flex items-center justify-between">
<div class="flex items-center">
<i class="fa fa-arrow-left mr-2"></i>
<h1 class="text-lg font-medium">经营报表</h1>
</div>
<div class="flex items-center space-x-3">
<i class="fa fa-filter"></i>
<i class="fa fa-ellipsis-v"></i>
</div>
</div>
<!-- 日期选择 -->
<div class="bg-white py-3 px-4 flex items-center justify-between">
<div class="flex items-center space-x-4">
<div class="flex items-center">
<span>2026-02-01</span>
<i class="fa fa-chevron-down ml-1 text-xs"></i>
</div>
<span class="text-gray-400"></span>
<div class="flex items-center">
<span>2026-02-02</span>
<i class="fa fa-chevron-down ml-1 text-xs"></i>
</div>
</div>
<div class="text-primary flex items-center">
<i class="fa fa-filter mr-1"></i>
<span>筛选</span>
</div>
</div>
<!-- 数据概览卡片 -->
<div class="grid grid-cols-3 gap-0 px-4 py-3">
<div class="bg-cardBg text-white p-3 text-center">
<p class="text-xs opacity-90">客单数量/笔</p>
<p class="text-xl font-bold mt-1">284,867</p>
</div>
<div class="bg-cardBg text-white p-3 text-center border-x border-white/20">
<p class="text-xs opacity-90">商品出售/件</p>
<p class="text-xl font-bold mt-1">827,997.87</p>
</div>
<div class="bg-cardBg text-white p-3 text-center">
<p class="text-xs opacity-90">商品均价/元</p>
<p class="text-xl font-bold mt-1">9.52</p>
</div>
</div>
<!-- 经营报表列表(四级/三级嵌套,默认全收起) -->
<div class="bg-white mx-4 my-3 rounded-lg shadow-sm">
<div class="px-4 py-3 border-b border-gray-100 flex items-center justify-between">
<h2 class="text-sm font-medium text-textDark">经营报表</h2>
<i class="fa fa-refresh text-xs text-textLight"></i>
</div>
<!-- 第一个一级公司:安徽驿达运营管理有限公司(四级结构,默认收起) -->
<div class="px-4 py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" id="company1-toggle">
<div>
<p class="text-sm text-textDark">安徽驿达运营管理有限公司</p>
<p class="text-lg font-bold text-textDark mt-1">¥9,876,543.21</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">总营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">75.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight" id="company1-icon"></i>
</div>
<!-- 公司1的二级容器默认收起 -->
<div class="px-4 py-0 sub-level-hide" id="company1-level2-container">
<!-- 二级分类1快餐、正餐默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company1-level2="cate1">
<div>
<p class="text-sm text-textDark">餐饮主食</p>
<p class="text-base font-bold text-textDark mt-1">¥3,265,418.90</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">33.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级1的三级容器默认收起 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company1-level3="cate1">
<!-- 三级分类1皖中片区管理中心默认收起 -->
<div class="py-2 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company1-level3-item="area1">
<div>
<p class="text-sm text-textDark">皖中片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥1,077,688.24</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">33.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 三级1的四级容器服务区默认收起 -->
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area1">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">洪林服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">19.99%</p>
<p class="text-sm text-textDark">¥392,399.00</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">清溪服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">10.05%</p>
<p class="text-sm text-textDark">¥197,154.71</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 三级分类2皖东片区管理中心默认收起 -->
<div class="py-2 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company1-level3-item="area2">
<div>
<p class="text-sm text-textDark">皖东片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥1,012,279.86</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">31.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 三级2的四级容器服务区默认收起 -->
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area2">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">太白岛服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">8.99%</p>
<p class="text-sm text-textDark">¥176,245.38</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">福山服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">7.48%</p>
<p class="text-sm text-textDark">¥146,857.29</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 三级分类3皖西片区管理中心默认收起 -->
<div class="py-2 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company1-level3-item="area3">
<div>
<p class="text-sm text-textDark">皖西片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥689,345.72</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">21.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 三级3的四级容器服务区默认收起 -->
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area3">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">天门服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">6.66%</p>
<p class="text-sm text-textDark">¥130,611.85</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 三级分类4皖南片区管理中心默认收起 -->
<div class="py-2 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company1-level3-item="area4">
<div>
<p class="text-sm text-textDark">皖南片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥348,765.98</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">10.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 三级4的四级容器服务区默认收起 -->
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area4">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">寒亭服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">6.01%</p>
<p class="text-sm text-textDark">¥117,867.16</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 三级分类5皖北片区管理中心默认收起 -->
<div class="py-2 flex justify-between items-center cursor-pointer" data-company1-level3-item="area5">
<div>
<p class="text-sm text-textDark">皖北片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥137,339.10</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">5.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 三级5的四级容器服务区默认收起 -->
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area5">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">新竹服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">5.27%</p>
<p class="text-sm text-textDark">¥103,372.87</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
</div>
<!-- 二级分类2零售默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company1-level2="cate2">
<div>
<p class="text-sm text-textDark">休闲小吃</p>
<p class="text-base font-bold text-textDark mt-1">¥2,469,135.80</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">25.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级2的三级容器默认收起预留片区结构 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company1-level3="cate2">
<div class="py-2 flex justify-between items-center cursor-pointer" data-company1-level3-item="area6">
<div>
<p class="text-sm text-textDark">皖中片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥1,234,567.90</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">50.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area6">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">南陵服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">5.12%</p>
<p class="text-sm text-textDark">¥100,495.62</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
</div>
<!-- 二级分类3小吃默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company1-level2="cate3">
<div>
<p class="text-sm text-textDark">饮品水果</p>
<p class="text-base font-bold text-textDark mt-1">¥1,679,210.50</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">17.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级3的三级容器默认收起预留结构 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company1-level3="cate3">
<div class="py-2 flex justify-between items-center cursor-pointer" data-company1-level3-item="area7">
<div>
<p class="text-sm text-textDark">皖东片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥839,605.25</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">50.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area7">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">千军服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">4.50%</p>
<p class="text-sm text-textDark">¥88,363.48</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
</div>
<!-- 二级分类4果饮默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company1-level2="cate4">
<div>
<p class="text-sm text-textDark">生活零售</p>
<p class="text-base font-bold text-textDark mt-1">¥1,234,567.89</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">12.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级4的三级容器默认收起预留结构 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company1-level3="cate4">
<div class="py-2 flex justify-between items-center cursor-pointer" data-company1-level3-item="area8">
<div>
<p class="text-sm text-textDark">皖南片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥617,283.95</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">50.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area8">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">顺安服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">4.03%</p>
<p class="text-sm text-textDark">¥79,000.02</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
</div>
<!-- 二级分类5综合服务默认收起 -->
<div class="py-3 flex justify-between items-center cursor-pointer" data-company1-level2="cate5">
<div>
<p class="text-sm text-textDark">司乘体验</p>
<p class="text-base font-bold text-textDark mt-1">¥1,228,210.12</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">13.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级5的三级容器默认收起预留结构 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company1-level3="cate5">
<div class="py-2 flex justify-between items-center cursor-pointer" data-company1-level3-item="area9">
<div>
<p class="text-sm text-textDark">皖北片区管理中心</p>
<p class="text-sm font-bold text-textDark mt-1">¥614,105.06</p>
</div>
<div class="text-right">
<p class="text-xs text-textLight">片区占比</p>
<p class="text-xs font-medium text-textDark mt-1">50.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<div class="px-2 py-1 ml-8 sub-level-hide" data-company1-level4="area9">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">凤阳服务区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">3.88%</p>
<p class="text-sm text-textDark">¥75,689.12</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
</div>
</div>
<!-- 第二个一级公司:安徽驿佳商贸有限公司(三级结构,默认收起) -->
<div class="px-4 py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" id="company2-toggle">
<div>
<p class="text-sm text-textDark">安徽驿佳商贸有限公司</p>
<p class="text-lg font-bold text-textDark mt-1">¥3,292,181.07</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">总营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">25.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight" id="company2-icon"></i>
</div>
<!-- 公司2的二级容器默认收起 -->
<div class="px-4 py-0 sub-level-hide" id="company2-level2-container">
<!-- 二级分类1服务区便利店默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company2-level2="shop1">
<div>
<p class="text-sm text-textDark">服务区便利店</p>
<p class="text-base font-bold text-textDark mt-1">¥1,975,308.64</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">60.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级1的三级容器服务区默认收起 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company2-level3="shop1">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">洪林服务区便利店</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">15.00%</p>
<p class="text-sm text-textDark">¥296,296.30</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">清溪服务区便利店</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">10.00%</p>
<p class="text-sm text-textDark">¥197,530.86</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 二级分类2城市便利店默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company2-level2="shop2">
<div>
<p class="text-sm text-textDark">城市便利店</p>
<p class="text-base font-bold text-textDark mt-1">¥921,810.70</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">28.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级2的三级容器服务区/门店,默认收起) -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company2-level3="shop2">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">合肥包河万达店</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">12.00%</p>
<p class="text-sm text-textDark">¥110,617.28</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 二级分类3线上商城默认收起 -->
<div class="py-3 flex justify-between items-center cursor-pointer" data-company2-level2="shop3">
<div>
<p class="text-sm text-textDark">线上商城</p>
<p class="text-base font-bold text-textDark mt-1">¥395,061.73</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">12.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级3的三级容器服务区对应线上默认收起 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company2-level3="shop3">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">皖中片区线上配送</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">8.00%</p>
<p class="text-sm text-textDark">¥31,604.94</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
</div>
<!-- 新增:第三个一级公司:安徽百和餐饮有限公司(三级结构,默认收起) -->
<div class="px-4 py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" id="company3-toggle">
<div>
<p class="text-sm text-textDark">安徽百和餐饮有限公司</p>
<p class="text-lg font-bold text-textDark mt-1">¥1,646,090.54</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">总营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">10.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight" id="company3-icon"></i>
</div>
<!-- 公司3的二级容器默认收起 -->
<div class="px-4 py-0 sub-level-hide" id="company3-level2-container">
<!-- 二级分类1餐饮默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company3-level2="food1">
<div>
<p class="text-sm text-textDark">餐饮</p>
<p class="text-base font-bold text-textDark mt-1">¥823,045.27</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">50.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级1的三级容器服务区默认收起 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company3-level3="food1">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">洪林服务区餐饮区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">30.00%</p>
<p class="text-sm text-textDark">¥246,913.58</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">清溪服务区餐饮区</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">20.00%</p>
<p class="text-sm text-textDark">¥164,609.05</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 二级分类2咖啡默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company3-level2="food2">
<div>
<p class="text-sm text-textDark">咖啡</p>
<p class="text-base font-bold text-textDark mt-1">¥329,218.11</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">20.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级2的三级容器服务区默认收起 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company3-level3="food2">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">太白岛服务区咖啡站</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">15.00%</p>
<p class="text-sm text-textDark">¥246,913.58</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 二级分类3老乡鸡默认收起 -->
<div class="py-3 border-b border-gray-100 flex justify-between items-center cursor-pointer" data-company3-level2="food3">
<div>
<p class="text-sm text-textDark">老乡鸡</p>
<p class="text-base font-bold text-textDark mt-1">¥329,218.11</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">20.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级3的三级容器服务区默认收起 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company3-level3="food3">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-blueDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">天门服务区老乡鸡门店</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">12.00%</p>
<p class="text-sm text-textDark">¥197,530.87</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
<!-- 二级分类4肯德基默认收起 -->
<div class="py-3 flex justify-between items-center cursor-pointer" data-company3-level2="food4">
<div>
<p class="text-sm text-textDark">肯德基</p>
<p class="text-base font-bold text-textDark mt-1">¥164,609.05</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">营收占比</p>
<p class="text-sm font-medium text-textDark mt-1">10.00%</p>
</div>
<i class="fa fa-chevron-right ml-3 text-xs text-textLight"></i>
</div>
<!-- 二级4的三级容器服务区默认收起 -->
<div class="px-2 py-1 ml-4 sub-level-hide" data-company3-level3="food4">
<div class="px-2 py-2 flex items-center justify-between">
<div class="flex items-center">
<span class="inline-block w-2 h-2 bg-redDot rounded-full mr-2"></span>
<p class="text-sm text-textDark">寒亭服务区肯德基门店</p>
</div>
<div class="text-right">
<p class="text-sm text-textLight">10.00%</p>
<p class="text-sm text-textDark">¥164,609.05</p>
</div>
<i class="fa fa-chevron-right ml-2 text-xs text-textLight"></i>
</div>
</div>
</div>
</div>
<script>
// ---------------------- 第一层级:两个公司的展开/收起 ----------------------
// 公司1安徽驿达运营管理有限公司
const company1Toggle = document.getElementById('company1-toggle');
const company1Icon = document.getElementById('company1-icon');
const company1Level2Container = document.getElementById('company1-level2-container');
company1Toggle.addEventListener('click', function() {
const isHidden = company1Level2Container.classList.contains('sub-level-hide');
if (isHidden) {
company1Level2Container.classList.remove('sub-level-hide');
company1Icon.className = 'fa fa-chevron-down ml-3 text-xs text-textLight';
} else {
company1Level2Container.classList.add('sub-level-hide');
company1Icon.className = 'fa fa-chevron-right ml-3 text-xs text-textLight';
}
});
// 公司2安徽驿佳商贸有限公司
const company2Toggle = document.getElementById('company2-toggle');
const company2Icon = document.getElementById('company2-icon');
const company2Level2Container = document.getElementById('company2-level2-container');
company2Toggle.addEventListener('click', function() {
const isHidden = company2Level2Container.classList.contains('sub-level-hide');
if (isHidden) {
company2Level2Container.classList.remove('sub-level-hide');
company2Icon.className = 'fa fa-chevron-down ml-3 text-xs text-textLight';
} else {
company2Level2Container.classList.add('sub-level-hide');
company2Icon.className = 'fa fa-chevron-right ml-3 text-xs text-textLight';
}
});
// 新增公司3安徽百和餐饮有限公司
const company3Toggle = document.getElementById('company3-toggle');
const company3Icon = document.getElementById('company3-icon');
const company3Level2Container = document.getElementById('company3-level2-container');
company3Toggle.addEventListener('click', function() {
const isHidden = company3Level2Container.classList.contains('sub-level-hide');
if (isHidden) {
company3Level2Container.classList.remove('sub-level-hide');
company3Icon.className = 'fa fa-chevron-down ml-3 text-xs text-textLight';
} else {
company3Level2Container.classList.add('sub-level-hide');
company3Icon.className = 'fa fa-chevron-right ml-3 text-xs text-textLight';
}
});
// ---------------------- 第二层级公司1的二级分类快餐/零售等)展开/收起 ----------------------
const company1Level2Items = document.querySelectorAll('[data-company1-level2]');
company1Level2Items.forEach(item => {
item.addEventListener('click', function() {
const cate = this.getAttribute('data-company1-level2');
const level3Container = document.querySelector(`[data-company1-level3="${cate}"]`);
const icon = this.querySelector('i');
const isHidden = level3Container.classList.contains('sub-level-hide');
if (isHidden) {
level3Container.classList.remove('sub-level-hide');
icon.className = 'fa fa-chevron-down ml-3 text-xs text-textLight';
} else {
level3Container.classList.add('sub-level-hide');
icon.className = 'fa fa-chevron-right ml-3 text-xs text-textLight';
}
});
});
// ---------------------- 第三层级公司1的三级分类片区管理中心展开/收起 ----------------------
const company1Level3Items = document.querySelectorAll('[data-company1-level3-item]');
company1Level3Items.forEach(item => {
item.addEventListener('click', function() {
const area = this.getAttribute('data-company1-level3-item');
const level4Container = document.querySelector(`[data-company1-level4="${area}"]`);
const icon = this.querySelector('i');
const isHidden = level4Container.classList.contains('sub-level-hide');
if (isHidden) {
level4Container.classList.remove('sub-level-hide');
icon.className = 'fa fa-chevron-down ml-3 text-xs text-textLight';
} else {
level4Container.classList.add('sub-level-hide');
icon.className = 'fa fa-chevron-right ml-3 text-xs text-textLight';
}
});
});
// ---------------------- 第二层级公司2的二级分类便利店/线上商城等)展开/收起 ----------------------
const company2Level2Items = document.querySelectorAll('[data-company2-level2]');
company2Level2Items.forEach(item => {
item.addEventListener('click', function() {
const shop = this.getAttribute('data-company2-level2');
const level3Container = document.querySelector(`[data-company2-level3="${shop}"]`);
const icon = this.querySelector('i');
const isHidden = level3Container.classList.contains('sub-level-hide');
if (isHidden) {
level3Container.classList.remove('sub-level-hide');
icon.className = 'fa fa-chevron-down ml-3 text-xs text-textLight';
} else {
level3Container.classList.add('sub-level-hide');
icon.className = 'fa fa-chevron-right ml-3 text-xs text-textLight';
}
});
});
// 新增第二层级公司3的二级分类餐饮/咖啡/老乡鸡/肯德基)展开/收起
const company3Level2Items = document.querySelectorAll('[data-company3-level2]');
company3Level2Items.forEach(item => {
item.addEventListener('click', function() {
const food = this.getAttribute('data-company3-level2');
const level3Container = document.querySelector(`[data-company3-level3="${food}"]`);
const icon = this.querySelector('i');
const isHidden = level3Container.classList.contains('sub-level-hide');
if (isHidden) {
level3Container.classList.remove('sub-level-hide');
icon.className = 'fa fa-chevron-down ml-3 text-xs text-textLight';
} else {
level3Container.classList.add('sub-level-hide');
icon.className = 'fa fa-chevron-right ml-3 text-xs text-textLight';
}
});
});
</script>
</body>
</html>