Compare commits
No commits in common. "5b7a37431552786ad8138b6b1f9be2b4e5fa9476" and "4d514a900807e308f06ee0d2724d3add5782a20a" have entirely different histories.
5b7a374315
...
4d514a9008
@ -97,10 +97,7 @@
|
|||||||
<view class="employeeHeader">
|
<view class="employeeHeader">
|
||||||
<!-- 左侧:头像 + 带图标信息 -->
|
<!-- 左侧:头像 + 带图标信息 -->
|
||||||
<view class="leftSection">
|
<view class="leftSection">
|
||||||
<view class="avatar" v-if="!item.phone">{{ getFirstChar(item.userName) }}
|
<view class="avatar">{{ getFirstChar(item.userName) }}</view>
|
||||||
</view>
|
|
||||||
<image class="avatar" v-else
|
|
||||||
:src="`https://fwqznxj.yciccloud.com:9081/fileDownloadApi/bsys/file/thumbnail/download/${item.phone}`" />
|
|
||||||
<view class="iconInfoSection">
|
<view class="iconInfoSection">
|
||||||
<view class="nameRow">
|
<view class="nameRow">
|
||||||
<image class="personIcon" src="https://eshangtech.com/cyy_DIB/personIcon.png">
|
<image class="personIcon" src="https://eshangtech.com/cyy_DIB/personIcon.png">
|
||||||
|
|||||||
@ -154,9 +154,7 @@
|
|||||||
<view class="onDutyPersonList" v-if="selectTab === 1">
|
<view class="onDutyPersonList" v-if="selectTab === 1">
|
||||||
<view class="onDutyPersonItem" v-for="(item, index) in onDutyPersonList" :key="index"
|
<view class="onDutyPersonItem" v-for="(item, index) in onDutyPersonList" :key="index"
|
||||||
@click="viewStaffDetails(item)">
|
@click="viewStaffDetails(item)">
|
||||||
<view class="avatar" v-if="!item.phone">{{ item.userName ? item.userName.slice(0, 1) : "" }}</view>
|
<view class="avatar">{{ item.userName ? item.userName.slice(0, 1) : "" }}</view>
|
||||||
<image class="avatar" v-else
|
|
||||||
:src="`https://fwqznxj.yciccloud.com:9081/fileDownloadApi/bsys/file/thumbnail/download/${item.phone}`" />
|
|
||||||
<view class="staffInfo">
|
<view class="staffInfo">
|
||||||
<view class="staffInfoLeft">
|
<view class="staffInfoLeft">
|
||||||
<view class="staffInfoTop">
|
<view class="staffInfoTop">
|
||||||
@ -180,9 +178,7 @@
|
|||||||
<view class="EmployeesOnLeaveList" v-if="selectTab === 2">
|
<view class="EmployeesOnLeaveList" v-if="selectTab === 2">
|
||||||
<view class="EmployeesOnLeaveItem" v-for="(item, index) in EmployeesOnLeaveList" :key="index"
|
<view class="EmployeesOnLeaveItem" v-for="(item, index) in EmployeesOnLeaveList" :key="index"
|
||||||
@click="viewStaffDetails(item)">
|
@click="viewStaffDetails(item)">
|
||||||
<view class="avatar" v-if="!item.phone">{{ item.userName ? item.userName.slice(0, 1) : "" }}</view>
|
<view class="avatar">{{ item.userName ? item.userName.slice(0, 1) : "" }}</view>
|
||||||
<image class="avatar" v-else
|
|
||||||
:src="`https://fwqznxj.yciccloud.com:9081/fileDownloadApi/bsys/file/thumbnail/download/${item.phone}`" />
|
|
||||||
<view class="staffInfo">
|
<view class="staffInfo">
|
||||||
<view class="staffInfoLeft">
|
<view class="staffInfoLeft">
|
||||||
<view class="staffInfoTop">
|
<view class="staffInfoTop">
|
||||||
@ -205,10 +201,7 @@
|
|||||||
<view class="dutyManagerList" v-if="selectTab === 3">
|
<view class="dutyManagerList" v-if="selectTab === 3">
|
||||||
<view class="dutyManagerItem" v-for="(item, index) in dutyManagerList" :key="index"
|
<view class="dutyManagerItem" v-for="(item, index) in dutyManagerList" :key="index"
|
||||||
@click="viewStaffDetails(item)">
|
@click="viewStaffDetails(item)">
|
||||||
<view class="avatar manager-avatar" v-if="!item.phone">{{ item.userName ? item.userName.slice(0, 1)
|
<view class="avatar manager-avatar">{{ item.name ? item.name.slice(0, 1) : "" }}</view>
|
||||||
: "" }}</view>
|
|
||||||
<image class="avatar manager-avatar" v-else
|
|
||||||
:src="`https://fwqznxj.yciccloud.com:9081/fileDownloadApi/bsys/file/thumbnail/download/${item.phone}`" />
|
|
||||||
<view class="staffInfoBox">
|
<view class="staffInfoBox">
|
||||||
<view class="staffInfo">
|
<view class="staffInfo">
|
||||||
<view class="staffInfoLeft">
|
<view class="staffInfoLeft">
|
||||||
@ -247,10 +240,8 @@
|
|||||||
<view class="userBoxTitle">人员详情</view>
|
<view class="userBoxTitle">人员详情</view>
|
||||||
<view class="userDetailBox">
|
<view class="userDetailBox">
|
||||||
<view class="userAvatar">
|
<view class="userAvatar">
|
||||||
<image class="userAvatarIcon" v-if="userDetail.phone"
|
<image class="userAvatarIcon" v-if="userDetail.url" :src="userDetail.url" />
|
||||||
:src="`https://fwqznxj.yciccloud.com:9081/fileDownloadApi/bsys/file/thumbnail/download/${userDetail.phone}`" />
|
<view class="userAvatarBox">{{ userDetail.userName ? userDetail.userName.slice(0, 1) : "" }}
|
||||||
<view class="userAvatarBox" v-else>{{ userDetail.userName ? userDetail.userName.slice(0, 1) : ""
|
|
||||||
}}
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="userDetailRight">
|
<view class="userDetailRight">
|
||||||
|
|||||||
@ -64,10 +64,7 @@
|
|||||||
<view v-if="selectedEmployee" class="employeeDetail">
|
<view v-if="selectedEmployee" class="employeeDetail">
|
||||||
<view class="employeeCard">
|
<view class="employeeCard">
|
||||||
<view class="employeeInfo">
|
<view class="employeeInfo">
|
||||||
<view class="avatar" v-if="!selectedEmployee.phone">{{ getFirstChar(selectedEmployee.userName) }}
|
<view class="avatar">{{ getFirstChar(selectedEmployee.userName) }}</view>
|
||||||
</view>
|
|
||||||
<image class="avatar" v-else
|
|
||||||
:src="`https://fwqznxj.yciccloud.com:9081/fileDownloadApi/bsys/file/thumbnail/download/${selectedEmployee.phone}`" />
|
|
||||||
<view class="basicInfo">
|
<view class="basicInfo">
|
||||||
<view class="nameRow">
|
<view class="nameRow">
|
||||||
<image class="personIcon" src="https://eshangtech.com/cyy_DIB/personIcon.png"></image>
|
<image class="personIcon" src="https://eshangtech.com/cyy_DIB/personIcon.png"></image>
|
||||||
|
|||||||
@ -21,22 +21,22 @@
|
|||||||
<view class="analysis-container">
|
<view class="analysis-container">
|
||||||
|
|
||||||
<view class="modern-tabs">
|
<view class="modern-tabs">
|
||||||
<view class="tab-item" @click="selectTab('nowTab', 1)"
|
<view class="tab-item" @tap="selectTab('nowTab', 1)"
|
||||||
v-if="theRequest.ProvinceCode == 340000" :class="{ 'active': nowTab == 1 }">
|
v-if="theRequest.ProvinceCode == 340000" :class="{ 'active': nowTab == 1 }">
|
||||||
<view class="tab-icon">🏢</view>
|
<view class="tab-icon">🏢</view>
|
||||||
<view class="tab-label">经营模式</view>
|
<view class="tab-label">经营模式</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tab-item" @click="selectTab('nowTab', 2)" :class="{ 'active': nowTab == 2 }">
|
<view class="tab-item" @tap="selectTab('nowTab', 2)" :class="{ 'active': nowTab == 2 }">
|
||||||
<view class="tab-icon">🏪</view>
|
<view class="tab-icon">🏪</view>
|
||||||
<view class="tab-label">经营业态</view>
|
<view class="tab-label">经营业态</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tab-item" @click="selectTab('nowTab', 3)"
|
<view class="tab-item" @tap="selectTab('nowTab', 3)"
|
||||||
v-if="areaProgress.length && areaProgress.length > 1"
|
v-if="areaProgress.length && areaProgress.length > 1"
|
||||||
:class="{ 'active': nowTab == 3 }">
|
:class="{ 'active': nowTab == 3 }">
|
||||||
<view class="tab-icon">🗺</view>
|
<view class="tab-icon">🗺</view>
|
||||||
<view class="tab-label">区域营收</view>
|
<view class="tab-label">区域营收</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tab-item" @click="selectTab('nowTab', 4)"
|
<view class="tab-item" @tap="selectTab('nowTab', 4)"
|
||||||
v-if="theRequest.ProvinceCode == 340000 && theRequest.GroupType == 1000"
|
v-if="theRequest.ProvinceCode == 340000 && theRequest.GroupType == 1000"
|
||||||
:class="{ 'active': nowTab == 4 }">
|
:class="{ 'active': nowTab == 4 }">
|
||||||
<view class="tab-icon">🚗</view>
|
<view class="tab-icon">🚗</view>
|
||||||
@ -166,7 +166,7 @@
|
|||||||
<template v-if="theRequest && theRequest.GroupType == 1020 && regionList.length">
|
<template v-if="theRequest && theRequest.GroupType == 1020 && regionList.length">
|
||||||
<view class="service-list">
|
<view class="service-list">
|
||||||
<view v-for="(item, i) in regionList[0].child" :key="i" class="service-card"
|
<view v-for="(item, i) in regionList[0].child" :key="i" class="service-card"
|
||||||
@click="toDetail(item)">
|
@tap="toDetail(item)">
|
||||||
<view class="service-header">
|
<view class="service-header">
|
||||||
<view class="service-info">
|
<view class="service-info">
|
||||||
<view class="service-name">🏢 {{ item.serverpart_Name }}</view>
|
<view class="service-name">🏢 {{ item.serverpart_Name }}</view>
|
||||||
@ -196,7 +196,7 @@
|
|||||||
<template v-else-if="theRequest && theRequest.GroupType == 1000">
|
<template v-else-if="theRequest && theRequest.GroupType == 1000">
|
||||||
<view class="region-list" v-show="regionShow1">
|
<view class="region-list" v-show="regionShow1">
|
||||||
<block v-for="(item, i) in regionList" :key="i">
|
<block v-for="(item, i) in regionList" :key="i">
|
||||||
<view class="region-card" @click="toggleRegion(item)">
|
<view class="region-card" @tap="toggleRegion(item)">
|
||||||
<view class="region-main">
|
<view class="region-main">
|
||||||
<view class="region-info">
|
<view class="region-info">
|
||||||
<view class="region-name">{{ item.name }}</view>
|
<view class="region-name">{{ item.name }}</view>
|
||||||
@ -226,8 +226,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="service-sublist" v-show="item.show">
|
<view class="service-sublist" v-show="item.show">
|
||||||
<view class="subservice-card" v-for="(child, index) in item.child"
|
<view class="subservice-card" v-for="(child, index) in item.child"
|
||||||
:class="{ 'visited': child.visited }" :key="index"
|
:class="{ 'visited': child.visited }" :key="index" @tap="toDetail(child)">
|
||||||
@click.stop="toDetail(child)">
|
|
||||||
<view class="subservice-info">
|
<view class="subservice-info">
|
||||||
<view class="subservice-name">{{ child.serverpart_Name }}</view>
|
<view class="subservice-name">{{ child.serverpart_Name }}</view>
|
||||||
<view class="subservice-revenue">¥{{ $util.fmoney(child.cashpay, 2) }}
|
<view class="subservice-revenue">¥{{ $util.fmoney(child.cashpay, 2) }}
|
||||||
@ -361,6 +360,8 @@ export default {
|
|||||||
let canToSeverpartIndex = !provinceId ? this.hasSeverpartIndexAuthority : this.PushAuthority.some(n => {
|
let canToSeverpartIndex = !provinceId ? this.hasSeverpartIndexAuthority : this.PushAuthority.some(n => {
|
||||||
return n.ProvinceCode == provinceId && n.ShopAnalysisType == 1
|
return n.ProvinceCode == provinceId && n.ShopAnalysisType == 1
|
||||||
})
|
})
|
||||||
|
console.log('severpartIndexPath', severpartIndexPath)
|
||||||
|
console.log('canToSeverpartIndex', canToSeverpartIndex)
|
||||||
this.$util.toNextRoute('navigateTo', severpartIndexPath)
|
this.$util.toNextRoute('navigateTo', severpartIndexPath)
|
||||||
|
|
||||||
item.visited = true
|
item.visited = true
|
||||||
@ -792,7 +793,6 @@ export default {
|
|||||||
position: relative;
|
position: relative;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
padding-bottom: env(safe-area-inset-bottom);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.uni-flex-column {
|
.uni-flex-column {
|
||||||
@ -1756,7 +1756,6 @@ canvas.operation-content {
|
|||||||
border: none;
|
border: none;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #666;
|
color: #666;
|
||||||
margin: 0 8rpx;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-item.active {
|
.tab-item.active {
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="page-body" scroll-with-animation v-if="showPage">
|
<view :style="showUnUpLoad ? 'overflow:hideen;height:100vh;' : 'height:100%;'" class="page-body"
|
||||||
|
scroll-with-animation v-if="showPage">
|
||||||
<div class="box-card" :style="'opacity:' + (1 - opacity) + ';'">
|
<div class="box-card" :style="'opacity:' + (1 - opacity) + ';'">
|
||||||
<div class="box-top-title">
|
<div class="box-top-title">
|
||||||
<span class="box-center-title">{{ sMsg.serverpartname }}</span>
|
<span class="box-center-title">{{ sMsg.serverpartname }}</span>
|
||||||
@ -11,7 +12,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<view class="top-card">
|
<view class="top-card">
|
||||||
<div class="box-center-box">
|
<div class="box-center-box">
|
||||||
<div class="uni-flex ai-center jc-between" style="margin-bottom: 8rpx;">
|
<div class="uni-flex ai-center jc-between">
|
||||||
<div class="main-amount-title">对客营收(元)</div>
|
<div class="main-amount-title">对客营收(元)</div>
|
||||||
<div class="tab-unit" @tap="showPop">
|
<div class="tab-unit" @tap="showPop">
|
||||||
<span>上传门店:</span>
|
<span>上传门店:</span>
|
||||||
@ -714,8 +715,6 @@ export default {
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
-webkit-overflow-scrolling: touch;
|
-webkit-overflow-scrolling: touch;
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
padding-bottom: constant(safe-area-inset-bottom);
|
|
||||||
padding-bottom: env(safe-area-inset-bottom);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mt8 {
|
.mt8 {
|
||||||
@ -809,9 +808,9 @@ cover-view.page-title {
|
|||||||
.tab-content {
|
.tab-content {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
// margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
transition: all 0.5s cubic-bezier(0, 1, 0.5, 1);
|
transition: all 0.5s cubic-bezier(0, 1, 0.5, 1);
|
||||||
margin: 0 auto 0 auto;
|
margin: 24rpx auto 0 auto;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
height: inherit;
|
height: inherit;
|
||||||
width: inherit;
|
width: inherit;
|
||||||
@ -927,7 +926,7 @@ cover-view.page-title {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.shop-card .price-num {
|
.shop-card .price-num {
|
||||||
font-size: 28rpx;
|
font-size: 36rpx;
|
||||||
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.3);
|
text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.3);
|
||||||
@ -935,7 +934,7 @@ cover-view.page-title {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.box-card {
|
.box-card {
|
||||||
padding: 32rpx 24rpx 16rpx;
|
padding: 32rpx 24rpx 0;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -960,7 +959,7 @@ cover-view.page-title {
|
|||||||
.top-card {
|
.top-card {
|
||||||
background: linear-gradient(135deg, #27B25F 0%, #4CCC7F 100%);
|
background: linear-gradient(135deg, #27B25F 0%, #4CCC7F 100%);
|
||||||
margin-top: 32rpx;
|
margin-top: 32rpx;
|
||||||
padding: 24rpx 0;
|
padding: 40rpx 0;
|
||||||
border-radius: 16rpx;
|
border-radius: 16rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
box-shadow: 0 8rpx 24rpx rgba(39, 178, 95, 0.2);
|
box-shadow: 0 8rpx 24rpx rgba(39, 178, 95, 0.2);
|
||||||
@ -982,8 +981,6 @@ cover-view.page-title {
|
|||||||
color: rgba(255, 255, 255, 0.9);
|
color: rgba(255, 255, 255, 0.9);
|
||||||
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.budget-title {
|
.budget-title {
|
||||||
@ -997,7 +994,7 @@ cover-view.page-title {
|
|||||||
|
|
||||||
.up-text-title,
|
.up-text-title,
|
||||||
.down-text-title {
|
.down-text-title {
|
||||||
font-size: 32rpx;
|
font-size: 34rpx;
|
||||||
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
@ -1086,7 +1083,7 @@ cover-view.page-title {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.center-num {
|
.center-num {
|
||||||
font-size: 32rpx;
|
font-size: 40rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
@ -1113,7 +1110,7 @@ cover-view.page-title {
|
|||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
padding: 2rpx 16rpx;
|
padding: 8rpx 16rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
backdrop-filter: blur(10rpx);
|
backdrop-filter: blur(10rpx);
|
||||||
border: 1rpx solid rgba(255, 255, 255, 0.3);
|
border: 1rpx solid rgba(255, 255, 255, 0.3);
|
||||||
@ -1121,7 +1118,7 @@ cover-view.page-title {
|
|||||||
|
|
||||||
.check-price-color {
|
.check-price-color {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 28rpx;
|
font-size: 38rpx;
|
||||||
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@ -1129,7 +1126,7 @@ cover-view.page-title {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.check-price-color text {
|
.check-price-color text {
|
||||||
font-size: 24rpx;
|
font-size: 22rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tab-icon2 {
|
.tab-icon2 {
|
||||||
@ -1319,7 +1316,7 @@ cover-view.page-title {
|
|||||||
// 经营模式占比
|
// 经营模式占比
|
||||||
.model-busniess {
|
.model-busniess {
|
||||||
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
font-family: 'DIN Alternate', 'Bahnschrift', sans-serif;
|
||||||
padding: 8rpx 24rpx;
|
padding: 24rpx 24rpx 0;
|
||||||
background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
|
background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
|
||||||
border-radius: 12rpx;
|
border-radius: 12rpx;
|
||||||
border: 1rpx solid #f0f0f0;
|
border: 1rpx solid #f0f0f0;
|
||||||
@ -1330,7 +1327,7 @@ cover-view.page-title {
|
|||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #333;
|
color: #333;
|
||||||
// margin-bottom: 16rpx;
|
margin-bottom: 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.model-busniess .progress-content {
|
.model-busniess .progress-content {
|
||||||
@ -1339,7 +1336,7 @@ cover-view.page-title {
|
|||||||
border-radius: 6rpx;
|
border-radius: 6rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin: 8rpx 0 8rpx;
|
margin: 20rpx 0 16rpx;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
box-shadow: inset 0 2rpx 4rpx rgba(0, 0, 0, 0.1);
|
box-shadow: inset 0 2rpx 4rpx rgba(0, 0, 0, 0.1);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,58 +1,47 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="analysis-cell" @tap="toggleShow" :class="{ 'active': item.show }">
|
<div class="analysis-cell" @tap="toggleShow" :class="{'active':item.show}">
|
||||||
<div class="shop-title">
|
<div class="shop-title">
|
||||||
<span> {{ (i > 8 ? i + 1 : '0' + (i + 1)) + ' ' + item.SHOPNAME }}</span>
|
<span> {{( i>8 ? i+1: '0'+(i+1) ) + ' '+item.SHOPNAME}}</span>
|
||||||
<p>
|
<p>
|
||||||
<span v-show="item.UNACCOUNT_SIGN">¥</span>
|
<span v-show="item.UNACCOUNT_SIGN">¥</span>
|
||||||
<span class="cell-price"
|
<span class="cell-price" :style="{'padding-right':!item.UNACCOUNT_SIGN ? '36rpx':'0','font-size':!item.UNACCOUNT_SIGN ? '24rpx':'36rpx'}">{{item.UNACCOUNT_SIGN ? $util.fmoney(item.CASHPAY_TOTAL,2): '无结账信息'}}</span>
|
||||||
:style="{ 'padding-right': !item.UNACCOUNT_SIGN ? '0' : '0', 'font-size': !item.UNACCOUNT_SIGN ? '24rpx' : '24rpx' }">{{
|
<image src="/static/images/effective/true.png" mode="aspectFit" class="" v-if='item.SHOWDEAL_SIGN'></image>
|
||||||
item.UNACCOUNT_SIGN
|
|
||||||
? $util.fmoney(item.CASHPAY_TOTAL, 2) : '无结账信息' }}</span>
|
|
||||||
<image src="/static/images/effective/true.png" mode="aspectFit" class="" v-if='item.SHOWDEAL_SIGN'>
|
|
||||||
</image>
|
|
||||||
<!-- <text class="uni-icon uni-icon-checkmarkempty" v-if='item.SHOWDEAL_SIGN'></text> -->
|
<!-- <text class="uni-icon uni-icon-checkmarkempty" v-if='item.SHOWDEAL_SIGN'></text> -->
|
||||||
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<p v-if="item.detail.length > 0" style="line-height: 1.2;">
|
<p v-if=" item.detail.length>0" style="line-height: 1.2;">
|
||||||
<span v-for="(child, index) in item.detail" :key="index" class="atribute-tag">{{ child }} </span>
|
<span v-for="(child,index) in item.detail" :key="index" class="atribute-tag">{{child}} </span>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="analysis-detail" v-show="item.show">
|
<div class="analysis-detail" v-show="item.show">
|
||||||
<div class="detail-unit" v-for="(unit, o) in item.ShopEndAccountList" :key="o">
|
<div class="detail-unit" v-for="(unit,o) in item.ShopEndAccountList" :key="o">
|
||||||
<div class="uni-inline-flex">
|
<div class="uni-inline-flex">
|
||||||
<span class="detail-title">结账时间:</span>
|
<span class="detail-title">结账时间:</span>
|
||||||
<div style="flex: 1;text-align: left;">
|
<div style="flex: 1;text-align: left;">
|
||||||
<div style="font-size: 24rpx;">起 {{ unit.ENDACCOUNT_STARTDATE }}</div>
|
<div>起 {{unit.ENDACCOUNT_STARTDATE}}</div>
|
||||||
<div style="font-size: 24rpx;">止 {{ unit.ENDACCOUNT_DATE }}</div>
|
<div>止 {{unit.ENDACCOUNT_DATE}}</div>
|
||||||
</div>
|
</div>
|
||||||
<span style="color:#EE7941;margin-right:50rpx;padding-top: 20rpx;font-size: 24rpx;">{{
|
<span style="color:#EE7941;margin-right:50rpx;padding-top: 42rpx;">{{getHour(unit.ENDACCOUNT_STARTDATE,unit.ENDACCOUNT_DATE)}}小时</span>
|
||||||
getHour(unit.ENDACCOUNT_STARTDATE, unit.ENDACCOUNT_DATE) }}小时</span>
|
|
||||||
</div>
|
</div>
|
||||||
<block v-if="unit.DESCRIPTION_DATE">
|
<block v-if="unit.DESCRIPTION_DATE">
|
||||||
|
|
||||||
<div class="detail-title">日结校验:{{ unit.DESCRIPTION_DATE }}</div>
|
<div class="detail-title">日结校验:{{unit.DESCRIPTION_DATE}}</div>
|
||||||
<p><span class="detail-title">{{ unit.DESCRIPTION_STAFF }}:</span><span>{{ unit.DIFFERENCE_REASON
|
<p><span class="detail-title">{{unit.DESCRIPTION_STAFF}}:</span><span>{{unit.DIFFERENCE_REASON}}</span></p>
|
||||||
}}</span>
|
|
||||||
</p>
|
|
||||||
</block>
|
</block>
|
||||||
<block v-if="unit.APPROVE_DATE">
|
<block v-if="unit.APPROVE_DATE">
|
||||||
<div><span class="detail-title">日结审核:{{ unit.APPROVE_DATE }}</span></div>
|
<div><span class="detail-title">日结审核:{{unit.APPROVE_DATE}}</span></div>
|
||||||
<p><span class="detail-title">{{ unit.APPROVE_STAFF }}:</span><span>{{ unit.APPROVED_INFO }}</span>
|
<p><span class="detail-title">{{unit.APPROVE_STAFF}}:</span><span>{{unit.APPROVED_INFO}}</span></p>
|
||||||
</p>
|
|
||||||
</block>
|
</block>
|
||||||
<div>
|
<div>
|
||||||
<p class="detail-short-info" v-show="unit.FACTAMOUNT_SALE">单品报表:<text
|
<p class="detail-short-info" v-show="unit.FACTAMOUNT_SALE">单品报表:<text class="uni-icon uni-icon-checkmarkempty" ></text></p>
|
||||||
class="uni-icon uni-icon-checkmarkempty"></text></p>
|
<p class="detail-short-info" v-show="unit.FACTAMOUNT_CIGARETTE">香烟数据:<span class="uni-icon uni-icon-checkmarkempty"></span></p>
|
||||||
<p class="detail-short-info" v-show="unit.FACTAMOUNT_CIGARETTE">香烟数据:<span
|
|
||||||
class="uni-icon uni-icon-checkmarkempty"></span></p>
|
|
||||||
</div>
|
</div>
|
||||||
<div><span class="detail-title detail-short-info">稽核次数:{{ unit.CHECK_COUNT }} 次</span><span
|
<div><span class="detail-title detail-short-info">稽核次数:{{unit.CHECK_COUNT}} 次</span><span class="detail-short-info">长短款额:{{$util.fmoney(unit.DIFFERENT_PRICE)}} 元</span></div>
|
||||||
class="detail-short-info">长短款额:{{ $util.fmoney(unit.DIFFERENT_PRICE) }} 元</span></div>
|
|
||||||
<div>
|
<div>
|
||||||
<span class="detail-title detail-short-info">现金缴款:{{ $util.fmoney(unit.CASHPAY_DOWNLORD) }} 元</span>
|
<span class="detail-title detail-short-info">现金缴款:{{$util.fmoney(unit.CASHPAY_DOWNLORD)}} 元</span>
|
||||||
<span class="detail-short-info">移动支付:{{ $util.fmoney(unit.MOBILEPAYMENT) }} 元</span>
|
<span class="detail-short-info">移动支付:{{$util.fmoney(unit.MOBILEPAYMENT)}} 元</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -60,7 +49,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
item: {
|
item: {
|
||||||
type: Object,
|
type: Object,
|
||||||
@ -71,7 +60,7 @@ export default {
|
|||||||
required: true
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
|
||||||
|
|
||||||
@ -81,197 +70,123 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getHour(start, end) {
|
getHour(start,end){
|
||||||
return parseInt((new Date(end) - new Date(start)) / (1000 * 3600))
|
return parseInt((new Date(end) - new Date(start)) / (1000 * 3600))
|
||||||
},
|
},
|
||||||
|
|
||||||
toggleShow() {
|
toggleShow () {
|
||||||
this.$emit('toggleShow', this.i)
|
this.$emit('toggleShow', this.i)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style scoped>
|
||||||
.analysis-cell {
|
.analysis-cell {
|
||||||
background-color: #fff;
|
/* height: 1140rpx; */
|
||||||
border-radius: 16rpx;
|
background-color: #ffffff;
|
||||||
margin-bottom: 16rpx;
|
border-bottom: 2rpx solid #F8F8F8;
|
||||||
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
|
padding: 24rpx 20rpx 18rpx 30rpx;
|
||||||
padding: 16rpx 16rpx 8rpx;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
transition: all 0.3s ease;
|
|
||||||
position: relative;
|
|
||||||
|
|
||||||
&.active {
|
|
||||||
border: 2rpx solid #27B25F;
|
|
||||||
box-shadow: 0 4px 20px rgba(39, 178, 95, 0.15);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-cell .shop-title {
|
.analysis-cell .shop-title {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
position: relative;
|
position: relative;
|
||||||
font-size: 24rpx;
|
margin-left: 20rpx;
|
||||||
font-weight: 600;
|
|
||||||
align-items: flex-start;
|
|
||||||
|
|
||||||
span {
|
|
||||||
color: #333;
|
|
||||||
flex: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
flex-shrink: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-cell .shop-title:before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
width: 24rpx;
|
|
||||||
height: 24rpx;
|
|
||||||
border-radius: 50%;
|
|
||||||
left: -40rpx;
|
|
||||||
top: 4rpx;
|
|
||||||
background: #e0e0e0;
|
|
||||||
border: 3rpx solid #fff;
|
|
||||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
|
|
||||||
transition: all 0.3s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-cell.active .shop-title:before {
|
|
||||||
background: #27B25F;
|
|
||||||
box-shadow: 0 2rpx 12rpx rgba(39, 178, 95, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
.shop-title image {
|
|
||||||
width: 32rpx;
|
|
||||||
height: 32rpx;
|
|
||||||
margin-left: 12rpx;
|
|
||||||
border-radius: 4rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-cell .cell-price {
|
|
||||||
color: #27B25F;
|
|
||||||
font-family: 'PingFang SC', sans-serif;
|
|
||||||
font-size: 24rpx;
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.atribute-tag {
|
|
||||||
display: inline-block;
|
|
||||||
background: linear-gradient(135deg, #ff9f43, #ff8c42);
|
|
||||||
color: #fff;
|
|
||||||
padding: 4rpx 12rpx;
|
|
||||||
margin: 4rpx 8rpx 4rpx 0;
|
|
||||||
border-radius: 20rpx;
|
|
||||||
font-size: 20rpx;
|
|
||||||
font-weight: 500;
|
|
||||||
box-shadow: 0 2rpx 8rpx rgba(255, 159, 67, 0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-detail {
|
|
||||||
background-color: #f8f9fa;
|
|
||||||
border-radius: 12rpx;
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
// margin-top: 16rpx;
|
|
||||||
border: 1rpx solid #f0f0f0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-detail span,
|
|
||||||
.analysis-detail view {
|
|
||||||
color: #333;
|
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
}
|
height: 100%;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
.uni-icon-checkmarkempty,
|
.analysis-cell .shop-title:before {
|
||||||
.analysis-detail span.uni-icon-checkmarkempty {
|
|
||||||
color: #2ed573;
|
|
||||||
font-size: 32rpx;
|
|
||||||
font-weight: 600;
|
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-detail::before {
|
|
||||||
content: '';
|
content: '';
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
border-left: 12rpx solid transparent;
|
|
||||||
border-right: 12rpx solid transparent;
|
|
||||||
border-bottom: 16rpx solid #f8f9fa;
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -16rpx;
|
width: 20rpx;
|
||||||
left: 32rpx;
|
height: 20rpx;
|
||||||
}
|
border-radius: 20rpx;
|
||||||
|
background: url(/static/images/revenue/select.png) no-repeat center;
|
||||||
|
background-size: contain;
|
||||||
|
left: -32rpx;
|
||||||
|
|
||||||
.analysis-detail .detail-unit {
|
}
|
||||||
|
|
||||||
|
.analysis-cell.active .shop-title:before {
|
||||||
|
background: url(/static/images/revenue/select_active.png) no-repeat center;
|
||||||
|
background-size: contain;
|
||||||
|
}
|
||||||
|
.shop-title image {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
margin-left: 16rpx;
|
||||||
|
vertical-align: text-bottom;
|
||||||
|
}
|
||||||
|
.analysis-cell .cell-price {
|
||||||
|
color: #565656;
|
||||||
|
font-family: Bahnschrift Regular;
|
||||||
|
font-size: 38rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.analysis-detail {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding: 24rpx;
|
position: relative;
|
||||||
border-radius: 8rpx;
|
}
|
||||||
// margin: 16rpx;
|
.analysis-detail span, .analysis-detail view{
|
||||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
|
color: #333 ;
|
||||||
|
font-size: 24rpx ;
|
||||||
&:first-child {
|
}
|
||||||
// margin-top: 24rpx;
|
.uni-icon-checkmarkempty, .analysis-detail span.uni-icon-checkmarkempty {
|
||||||
|
color: #4F8E24;
|
||||||
|
font-size: 36rpx;
|
||||||
|
}
|
||||||
|
.analysis-detail::before {
|
||||||
|
content: '';
|
||||||
|
width: 24rpx;
|
||||||
|
height: 12rpx;
|
||||||
|
background: url(/static/images/revenue/bg-s.png) no-repeat center;
|
||||||
|
background-size: contain;
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
top: -12rpx;
|
||||||
|
left: 48rpx;
|
||||||
|
}
|
||||||
|
.analysis-detail .detail-unit {
|
||||||
|
background-color: #F8F8F8;
|
||||||
|
line-height: 2;
|
||||||
|
padding: 20rpx 10rpx 20rpx 50rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
.analysis-detail .detail-unit>div {
|
||||||
margin-bottom: 24rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-detail .detail-unit>div {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: flex-start;
|
margin-top: 12rpx;
|
||||||
margin-bottom: 16rpx;
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-detail .detail-unit>p {
|
.analysis-detail .detail-unit>p {
|
||||||
margin-bottom: 16rpx;
|
margin-top: 12rpx;
|
||||||
|
}
|
||||||
&:last-child {
|
.analysis-detail .detail-unit+.detail-unit {
|
||||||
margin-bottom: 0;
|
margin-top: 20rpx;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-detail span {
|
.analysis-cell .atribute-tag {
|
||||||
|
color: #EE7941;
|
||||||
|
margin-left: 10rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.analysis-detail span {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
line-height: 1.4;
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-detail .detail-title {
|
.analysis-detail .detail-title {
|
||||||
min-width: 140rpx;
|
min-width: 120rpx;
|
||||||
color: #666;
|
}
|
||||||
font-weight: 500;
|
|
||||||
font-size: 24rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.analysis-detail .detail-short-info {
|
.analysis-detail .detail-short-info {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
color: #333;
|
|
||||||
font-size: 24rpx;
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
padding-right: 16rpx;
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
.uni-inline-flex {
|
|
||||||
span:last-child {
|
|
||||||
color: #ff9f43;
|
|
||||||
font-weight: 600;
|
|
||||||
font-size: 28rpx;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,50 +1,50 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="page-body" v-if="showPage">
|
<div class="page-body" v-if="showPage">
|
||||||
|
|
||||||
<div class="service-brand-box">
|
<div class="service-brand-box" >
|
||||||
<div class="uni-flex align-center">
|
<div class="uni-flex align-center">
|
||||||
|
|
||||||
<image v-if="pageMsg.Brand_ICO" :src="pageMsg.Brand_ICO" mode="aspectFit"></image>
|
<image v-if="pageMsg.Brand_ICO" :src="pageMsg.Brand_ICO" mode="aspectFit"></image>
|
||||||
<image v-else src="/static/images/revenue/home.png" mode="aspectFit"></image>
|
<image v-else src="/static/images/revenue/home.png" mode="aspectFit"></image>
|
||||||
|
|
||||||
|
|
||||||
<div class="band-name">{{ pageMsg.Brand_Name }}</div>
|
<div class="band-name">{{pageMsg.Brand_Name}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="price-num">{{ pageMsg.Revenue_Amount ? $util.fmoney(pageMsg.Revenue_Amount, 2) : '0.00' }}</div>
|
<div class="price-num">{{pageMsg.Revenue_Amount ? $util.fmoney(pageMsg.Revenue_Amount,2) :'0.00'}}</div>
|
||||||
</div>
|
</div>
|
||||||
<!--服务区门店分析-->
|
<!--服务区门店分析-->
|
||||||
<div style="margin-top: 0 20rpx;padding: 0 16rpx">
|
|
||||||
<shopCell v-for="(item, i) in pageMsg.ShopEndaccountList" :key="i" :item='item' @toggleShow="toggleShow"
|
<div style="margin-top: 0 20rpx;" >
|
||||||
:i='i'></shopCell>
|
<shopCell v-for="(item,i) in pageMsg.ShopEndaccountList" :key="i" :item='item' @toggleShow="toggleShow" :i='i'></shopCell>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import shopCell from './components/listUnit.vue'
|
import shopCell from './components/listUnit.vue'
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
showPage: false,
|
showPage:false,
|
||||||
|
|
||||||
pageMsg: {},
|
pageMsg: {},
|
||||||
keyJson: {
|
keyJson : {
|
||||||
SHOWMORE_SIGN: { 1: '【长款】', 2: '【异常长款】' }, // 长款
|
SHOWMORE_SIGN: { 1: '【长款】',2:'【异常长款】' }, // 长款
|
||||||
SHOWLESS_SIGN: { 1: '【短款】', 2: '【异常短款】' }, // 短款
|
SHOWLESS_SIGN:{ 1: '【短款】',2:'【异常短款】' }, // 短款
|
||||||
SHOWABNORMAL_SIGN: { 1: '【异常校验】' }, // 异常日结
|
SHOWABNORMAL_SIGN: { 1: '【异常校验】'}, // 异常日结
|
||||||
SHOWSCAN_SIGN: { 1: '【扫】' }, // 扫码上传
|
SHOWSCAN_SIGN : { 1: '【扫】'}, // 扫码上传
|
||||||
SHOWSSUPPLY_SIGN: { 1: '【补】' }, // 账期补录
|
SHOWSSUPPLY_SIGN : { 1: '【补】' }, // 账期补录
|
||||||
SHOWCHECK_SIGN: { 1: '【稽核检查】' }, // 稽核检查
|
SHOWCHECK_SIGN : { 1: '【稽核检查】' }, // 稽核检查
|
||||||
INTERFACE_SIGN: { 1: '【接口传输】' }, // 接口传输
|
INTERFACE_SIGN : { 1: '【接口传输】' }, // 接口传输
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components:{
|
||||||
shopCell
|
shopCell
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
toggleShow(i) {
|
toggleShow(i){
|
||||||
|
|
||||||
let item = this.pageMsg.ShopEndaccountList[i]
|
let item = this.pageMsg.ShopEndaccountList[i]
|
||||||
item.show = !item.show
|
item.show = !item.show
|
||||||
@ -52,13 +52,13 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
getDetail(data) {
|
getDetail(data){
|
||||||
let arr = []
|
let arr =[]
|
||||||
let keyJson = this.keyJson
|
let keyJson = this.keyJson
|
||||||
var keyCode = ['SHOWABNORMAL_SIGN', 'SHOWCHECK_SIGN', 'SHOWMORE_SIGN', 'SHOWLESS_SIGN', 'SHOWSCAN_SIGN', 'SHOWSSUPPLY_SIGN', 'INTERFACE_SIGN']
|
var keyCode = ['SHOWABNORMAL_SIGN','SHOWCHECK_SIGN','SHOWMORE_SIGN','SHOWLESS_SIGN','SHOWSCAN_SIGN','SHOWSSUPPLY_SIGN','INTERFACE_SIGN']
|
||||||
keyCode.map(n => {
|
keyCode.map(n=>{
|
||||||
|
|
||||||
if (keyJson[n][data[n]]) arr.push(keyJson[n][data[n]])
|
if( keyJson[n][data[n]] ) arr.push( keyJson[n][data[n]])
|
||||||
|
|
||||||
})
|
})
|
||||||
return arr
|
return arr
|
||||||
@ -73,14 +73,12 @@ export default {
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
if (res.Result_Code != 100) return
|
if (res.Result_Code != 100) return
|
||||||
res.Result_Data.ShopEndaccountList.map(n => {
|
res.Result_Data.ShopEndaccountList.map(n=>{
|
||||||
n.show = true
|
n.show = true
|
||||||
n.detail = this.getDetail(n)
|
n.detail = this.getDetail(n)
|
||||||
})
|
})
|
||||||
_this.pageMsg = res.Result_Data
|
_this.pageMsg = res.Result_Data
|
||||||
console.log('_this.pageMsg_this.pageMsg_this.pageMsg', _this.pageMsg);
|
_this.showPage =true
|
||||||
|
|
||||||
_this.showPage = true
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
zgetBrandRevenue(obj) {
|
zgetBrandRevenue(obj) {
|
||||||
@ -94,14 +92,13 @@ export default {
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
if (res.Result_Code != 100) return
|
if (res.Result_Code != 100) return
|
||||||
res.Result_Data.listBrandShopModel.map(n => {
|
res.Result_Data.listBrandShopModel.map(n=>{
|
||||||
n.show = true
|
n.show = true
|
||||||
n.detail = this.getDetail(n)
|
n.detail = this.getDetail(n)
|
||||||
})
|
})
|
||||||
res.Result_Data.ShopEndaccountList = res.Result_Data.listBrandShopModel
|
res.Result_Data.ShopEndaccountList = res.Result_Data.listBrandShopModel
|
||||||
_this.pageMsg = res.Result_Data
|
_this.pageMsg = res.Result_Data
|
||||||
console.log('_this.pageMsg_this.pageMsg_this.pageMsg', _this.pageMsg);
|
_this.showPage =true
|
||||||
_this.showPage = true
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -110,90 +107,52 @@ export default {
|
|||||||
},
|
},
|
||||||
onLoad(option) {
|
onLoad(option) {
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '正在加载...'
|
title:'正在加载...'
|
||||||
})
|
})
|
||||||
if (option.provinceId === '330000') {
|
if(option.provinceId==='330000'){
|
||||||
this.zgetBrandRevenue(option)
|
this.zgetBrandRevenue(option)
|
||||||
} else {
|
}else{
|
||||||
|
|
||||||
this.getBrandRevenue(option)
|
this.getBrandRevenue(option)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style scoped>
|
||||||
.page-body {
|
.page-body {
|
||||||
background-color: #f8f9fa;
|
background-color: #fff;
|
||||||
padding: 32rpx 24rpx;
|
padding-top: 40rpx;
|
||||||
min-height: 100vh;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
/*服务区分析*/
|
||||||
|
|
||||||
/* 服务区品牌详情 */
|
/* 服务区品牌详情 */
|
||||||
.service-brand-box {
|
.service-brand-box {
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
width: 693rpx;
|
||||||
padding: 24rpx;
|
height: 103rpx;
|
||||||
margin-bottom: 32rpx;
|
color: #fff;
|
||||||
background: linear-gradient(135deg, #27B25F 0%, #4CCC7F 100%);
|
border-radius: 10rpx;
|
||||||
border-radius: 24rpx;
|
background: url('https://eshangtech.com/ShopICO/ahyd-BID/revenue/brand-card.png') no-repeat 60rpx center,linear-gradient(#98a1c2 0%, #aab3d0 100%);
|
||||||
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
|
background-size: contain;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
padding: 0 25rpx;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
position: relative;
|
box-sizing: border-box;
|
||||||
overflow: hidden;
|
|
||||||
|
|
||||||
&::before {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
top: -50%;
|
|
||||||
right: -20%;
|
|
||||||
width: 200rpx;
|
|
||||||
height: 200rpx;
|
|
||||||
background: rgba(255, 255, 255, 0.1);
|
|
||||||
border-radius: 50%;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
}
|
||||||
|
.service-brand-box image {
|
||||||
&::after {
|
height: 60rpx;
|
||||||
content: '';
|
width: 60rpx;
|
||||||
position: absolute;
|
border: 2rpx solid #fff;
|
||||||
bottom: -30%;
|
|
||||||
left: -10%;
|
|
||||||
width: 120rpx;
|
|
||||||
height: 120rpx;
|
|
||||||
background: rgba(255, 255, 255, 0.08);
|
|
||||||
border-radius: 50%;
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.service-brand-box image {
|
|
||||||
width: 72rpx;
|
|
||||||
height: 72rpx;
|
|
||||||
border: 3rpx solid rgba(255, 255, 255, 0.8);
|
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
margin-right: 24rpx;
|
margin-right: 24rpx;
|
||||||
position: relative;
|
}
|
||||||
z-index: 2;
|
.service-brand-box .price-num {
|
||||||
}
|
font-size: 40rpx;
|
||||||
|
font-family: Bahnschrift Regular;
|
||||||
.band-name {
|
}
|
||||||
color: #fff;
|
|
||||||
font-size: 28rpx;
|
|
||||||
font-weight: 600;
|
|
||||||
position: relative;
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.price-num {
|
|
||||||
color: #fff;
|
|
||||||
font-size: 32rpx;
|
|
||||||
font-weight: 700;
|
|
||||||
font-family: 'PingFang SC', sans-serif;
|
|
||||||
position: relative;
|
|
||||||
z-index: 2;
|
|
||||||
text-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -210,7 +210,7 @@
|
|||||||
<image class="funIcon"
|
<image class="funIcon"
|
||||||
src="https://eshangtech.com/ShopICO/ahyd-BID/warning/operateWarning.svg" />
|
src="https://eshangtech.com/ShopICO/ahyd-BID/warning/operateWarning.svg" />
|
||||||
</view>
|
</view>
|
||||||
<text class="funText">现场管理</text>
|
<text class="funText">人员管理</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@ -202,8 +202,6 @@ export default {
|
|||||||
isTrue: false, //最外面一层判断是否能跳转的依据
|
isTrue: false, //最外面一层判断是否能跳转的依据
|
||||||
special: false,
|
special: false,
|
||||||
isReturn: true,
|
isReturn: true,
|
||||||
userAvatar: "",
|
|
||||||
useYN: false,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
@ -238,9 +236,7 @@ export default {
|
|||||||
this.statusBarHeight = Number(systemInfo.statusBarHeight);
|
this.statusBarHeight = Number(systemInfo.statusBarHeight);
|
||||||
//拿到登录用户有权限的内容
|
//拿到登录用户有权限的内容
|
||||||
this.menu = uni.getMenuButtonBoundingClientRect();
|
this.menu = uni.getMenuButtonBoundingClientRect();
|
||||||
|
this.handleGetWarningList();
|
||||||
// 拿到用户头像
|
|
||||||
this.handleGetUserAvatar()
|
|
||||||
this.dataList[2].list.forEach((item) => {
|
this.dataList[2].list.forEach((item) => {
|
||||||
for (let key in this.user.AuthorityInfo) {
|
for (let key in this.user.AuthorityInfo) {
|
||||||
if (key === item.id) {
|
if (key === item.id) {
|
||||||
@ -302,7 +298,6 @@ export default {
|
|||||||
url: `/pages/commercialBI/noData?type=index`,
|
url: `/pages/commercialBI/noData?type=index`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
uni.hideTabBar();
|
uni.hideTabBar();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user