This commit is contained in:
ylj20011123 2026-03-10 16:56:32 +08:00
parent 90718dd298
commit 17fa41269b
23 changed files with 3149 additions and 2129 deletions

View File

@ -298,11 +298,11 @@ h4 {
}
.ico-ptrs:before {
background-image: url('/static/images/expense/ptrs.png');
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/expense/ptrs.png');
}
.ico-jbry:before {
background-image: url('/static/images/expense/jbry.png');
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/expense/jbry.png');
}
.ico-je:before {

View File

@ -1,8 +1,15 @@
*{ box-sizing: border-box;}
.ml10 {margin-left: 8rpx;}
* {
box-sizing: border-box;
}
.ml10 {
margin-left: 8rpx;
}
.pb20 {
padding-bottom: 32rpx;
}
.content-title {
width: 78%;
@ -14,6 +21,7 @@
font-weight: bold;
line-height: 1.6;
}
.box-top {
margin-left: 40rpx;
margin-right: 40rpx;
@ -23,6 +31,7 @@
font-size: 26rpx;
padding: 16rpx 0 8rpx 0;
}
.main-card {
/* border: 1rpx solid #eee; */
border-radius: 8rpx;
@ -33,12 +42,15 @@
background-color: #fff;
padding: 16rpx 0;
}
.main-card+.main-card {
margin-top: 26rpx;
}
.uni-collapse-content .main-card:nth-last-child(1) {
margin-bottom: 40rpx;
}
.card-title {
display: flex;
justify-content: space-between;
@ -53,18 +65,24 @@
align-items: center;
padding: 0 16rpx 12rpx 16rpx;
}
.base-body > div, .base-body > p{
.base-body>div,
.base-body>p {
flex: 1;
display: flex;
align-items: center;
}
.base-body > div span, .base-body > p span{
.base-body>div span,
.base-body>p span {
font-size: 26rpx;
}
.base-body i.ico {
display: flex;
align-items: center;
}
.item-title {
color: #888;
min-width: 120rpx;
@ -83,47 +101,59 @@
/* font-weight: bold; */
font-size: 24rpx;
}
.base-body.bb {
border-top: 1rpx dashed #eee;
padding-top: 16rpx;
}
.detail-other.bb {
border-top: 12rpx solid #eee;
padding-top: 16rpx;
}
.detail-other {
padding: 0 16rpx 16rpx;
}
.detail-sign {
font-size: 28rpx;
padding: 16rpx 32rpx 8rpx 32rpx;
}
.detail-other p {
font-size: 26rpx;
display: flex;
align-items: center;
}
.detail-cont {
font-size: 26rpx;
/* margin-top: 8rpx; */
padding-left: 40rpx;
}
.flex {
display: flex;
align-items: baseline;
}
.main-card.detail-other {
padding-top: 16rpx;
}
.base-info {
background-color: #fff;
}
.base-info+.base-info {
margin-top: 20rpx;
}
.text-b9 {
color: #b9b9b9
}
.process-box {
display: flex;
flex-direction: column;
@ -135,9 +165,11 @@
.uni-list-cell:after {
height: 0;
}
.button-hover {
color: #fff;
}
.button-box {
padding-top: 36rpx;
display: flex;
@ -145,10 +177,12 @@
justify-content: space-around;
padding-bottom: 6rpx;
}
.button-box image {
width: 100rpx;
height: 100rpx;
}
.button-box span {
font-size: 24rpx;
display: flex;
@ -156,6 +190,7 @@
/* background-color: #fff; */
text-align: center;
}
.button-box span i:before {
height: 90rpx;
width: 90rpx;
@ -164,6 +199,7 @@
box-shadow: 0rpx 2rpx 4rpx #cbcbcb;
color: #999;
}
.imgBox {
box-sizing: border-box;
font-size: 24rpx;
@ -171,49 +207,62 @@
width: 100%;
padding-left: 32rpx;
}
/* .ico-wjxz:before{
background-image: url('/static/images/tender/wjxz.png');
} */
.ico-ndbz:before {
background-image: url('/static/images/tender/je.png');
}
.ico-user:before {
background-image: url('/static/images/tender/lxr.png');
}
.ico-shijian:before {
background-image: url('/static/images/tender/sj.png');
}
.ico-bgw:before {
background-image: url('/static/images/tender/bgw.png');
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/tender/bgw.png');
}
.ico-zbr:before {
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/tender/zbr.png');
}
.ico-jdr:before {
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/tender/jdr.png');
}
.ico-fdhfqk:before {
background-image: url('/static/images/tender/fdhfqk.png');
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/tender/fdhfqk.png');
}
.ico-bm:before {
background-image: url('/static/images/tender/bm.png');
}
.ico-lxfs:before {
background-image: url('/static/images/tender/lxfs.png');
}
.ico-pwh:before {
background-image: url('/static/images/tender/pwh.png');
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/tender/pwh.png');
}
.ico-xmgk:before {
background-image: url('/static/images/tender/xmgk.png');
}
.ico-xmgm:before {
background-image: url('/static/images/tender/xmgm.png');
}
.ico-zbfs:before {
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/tender/zbfs.png');
}
.ico-qtyq:before {
background-image: url('/static/images/tender/yj.png');
}

View File

@ -123,7 +123,7 @@ export default {
}
.ico-pdf:before {
background-image: url('../../static/images/fileType/pdf.png');
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/fileType/pdf.png');
}
.ico-ppt:before {

View File

@ -3,7 +3,8 @@
<view>
<view class="block-title">请选择请假审批流程</view>
<view class="uni-flex uni-row leave-box">
<view class="leave-type uni-flex uni-column" :class="{'active':selectType==item.Prodef_Id}" @tap="choeseSelect(item.Prodef_Id)" v-for="(item,i) in prodeList" :key="i">
<view class="leave-type uni-flex uni-column" :class="{ 'active': selectType == item.Prodef_Id }"
@tap="choeseSelect(item.Prodef_Id)" v-for="(item, i) in prodeList" :key="i">
<image :src="item.imgPath" mode="aspectFit" style="width: 67upx;height: 61upx;"></image>
<text class="type-title">{{ item.Prodef_Name }}</text>
<text>请假审批流程</text>
@ -26,9 +27,11 @@
<text>服务区</text>
<text class="text-red">*</text>
<view class=" uni-flex uni-row" style="flex: 1;margin-left: 32upx;align-items: center;">
<picker mode="selector" @change="pickerChange" :value="pickerIndex" range-key="SERVERPART_NAME" :range="severpartList" style="flex: 1;" >
<picker mode="selector" @change="pickerChange" :value="pickerIndex" range-key="SERVERPART_NAME"
:range="severpartList" style="flex: 1;">
<input disabled="true" type="text" :value="severpartList[pickerIndex].SERVERPART_NAME" placeholder="请选择" placeholder-style="color:#969EA4;"/>
<input disabled="true" type="text" :value="severpartList[pickerIndex].SERVERPART_NAME"
placeholder="请选择" placeholder-style="color:#969EA4;" />
</picker>
<i class="uni-icon uni-icon-arrowright"></i>
</view>
@ -117,16 +120,19 @@
height: 100%;
justify-content: space-between;
}
.block-title {
color: #788691;
font-size: 26upx;
padding: 27upx 24upx;
}
.leave-box {
justify-content: space-around;
padding: 0 12upx;
margin-bottom: 24upx;
}
.leave-type {
width: 216upx;
height: 222upx;
@ -139,14 +145,16 @@
justify-content: center;
border: 1upx solid #fff;
}
.leave-type.active {
border-color: #5E8FEA;
position: relative;
}
.active:after {
content: '';
position: absolute;
background-image: url('../../static/images/leave/type-active.png');
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/leave/type-active.png');
background-size: contain;
background-repeat: no-repeat;
right: -2upx;
@ -155,25 +163,31 @@
width: 61upx;
}
.type-title {
margin-top: 24upx;
line-height: 1;
}
.block-input {
height: 92upx;
background-color: #fff;
padding: 0 24upx;
}
.text-red {
color: #EA3020;
}
.tip-text {
font-size: 24upx;
margin-top: 24upx;
}
.uni-icon-arrowright {
color: #969EA4;
}
.next-btn {
background-color: #fff;
width: 95%;
@ -184,6 +198,7 @@
line-height: 89upx;
margin-top: 60upx;
}
button:after {
border: none;
border-radius: 0;

View File

@ -5,7 +5,7 @@
<div class="titleTop">
<p class="title">{{ month }}月自营计划</p>
<div class="question" @click="handleShowNotice">
<image src="/static/images/index/noticeQuestion.svg"></image>
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
</div>
<div v-if="showNotice" class="titleTopNotice">{{ monthText }}</div>
<div v-if="showNotice" class="meng" @click="handleNoShowNotice"></div>
@ -19,18 +19,23 @@
<view class="textTop">
<view class="left">
<p class="number">{{ info.Budget_Degree ? info.Budget_Degree + '%' : '-' }}</p>
<p v-if="info.Budget_Degree>=100" class="desc"><image class="success" src="/static/images/index/successMonth.svg"></image></p>
<p v-if="info.Budget_Degree >= 100" class="desc">
<image class="success" src="/static/images/index/successMonth.svg"></image>
</p>
</view>
<view class="right">
<text class="comparePlan">比计划 </text>
<view class="box2">
<image class="addIcon" :src="Number(info.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<image class="addIcon"
:src="Number(info.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ info.Growth_Rate ? Math.abs(info.Growth_Rate) + '%' : '-' }}</p>
</view>
</view>
</view>
<div class="progressPlan">
<div class="trans" :style="{width:info.Budget_Degree > 100 ? '100%' : info.Budget_Degree + '%'}"></div>
<div class="trans" :style="{ width: info.Budget_Degree > 100 ? '100%' : info.Budget_Degree + '%' }">
</div>
</div>
</view>
</view>
@ -55,7 +60,9 @@
<div class="right">
<text class="comparePlan">比计划 </text>
<div class="box2">
<image class="addIcon" :src="Number(item.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<image class="addIcon"
:src="Number(item.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ item.Growth_Rate ? Math.abs(item.Growth_Rate) + '%' : '' }}</p>
</div>
</div>
@ -80,7 +87,7 @@
<div class="titleTop">
<p class="title">{{ item.Serverpart_Name }}自营计划</p>
<div class="question" @click="handleShowNotice">
<image src="/static/images/index/noticeQuestion.svg"></image>
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
</div>
<div v-if="showNotice" class="titleTopNotice">{{ itemText }}</div>
<div v-if="showNotice" class="meng" @click="handleNoShowNotice"></div>
@ -94,18 +101,23 @@
<view class="textTop">
<view class="left">
<p class="number">{{ info.Budget_Degree ? info.Budget_Degree + '%' : '-' }}</p>
<p v-if="info.Budget_Degree>=100" class="desc"><image class="success" src="/static/images/index/successMonth.svg"></image></p>
<p v-if="info.Budget_Degree >= 100" class="desc">
<image class="success" src="/static/images/index/successMonth.svg"></image>
</p>
</view>
<view class="right">
<text class="comparePlan">比计划 </text>
<view class="box2">
<image class="addIcon" :src="Number(info.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<image class="addIcon"
:src="Number(info.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ info.Growth_Rate ? Math.abs(info.Growth_Rate) + '%' : '-' }}</p>
</view>
</view>
</view>
<div class="progressPlan">
<div class="trans" :style="{width:info.Budget_Degree > 100 ? '100%' : info.Budget_Degree + '%'}"></div>
<div class="trans" :style="{ width: info.Budget_Degree > 100 ? '100%' : info.Budget_Degree + '%' }">
</div>
</div>
</view>
</view>
@ -130,7 +142,9 @@
<div class="right">
<text class="comparePlan">比计划 </text>
<div class="box2">
<image class="addIcon" :src="Number(item.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<image class="addIcon"
:src="Number(item.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ item.Growth_Rate ? Math.abs(item.Growth_Rate) + '%' : '' }}</p>
</div>
</div>
@ -394,16 +408,20 @@ export default {
min-height: 100vh;
box-sizing: border-box;
padding: 0 16px;
.listBox {
width: 100%;
box-sizing: border-box;
padding-bottom: calc(8px + env(safe-area-inset-bottom));
.thisMonth {
margin-bottom: 12px;
.titleTop {
display: flex;
align-items: center;
position: relative;
.title {
font-size: 32rpx;
font-family: PingFangSC-Semibold, PingFang SC;
@ -411,17 +429,20 @@ export default {
color: #160002;
line-height: 44rpx;
}
.question {
width: 16px;
height: 16px;
margin-left: 4px;
display: flex;
align-items: center;
image {
width: 100%;
height: 100%;
}
}
.titleTopNotice {
position: absolute;
padding: 12px;
@ -432,13 +453,16 @@ export default {
box-shadow: 0 10px 10px 0 rgba(22, 0, 2, 0.1);
z-index: 9999;
}
.meng {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;left: 0;
top: 0;
left: 0;
}
}
.box {
width: 100%;
padding: 12px 16px;
@ -446,9 +470,11 @@ export default {
border-radius: 8px;
background: #f5f2f2;
margin-top: 12px;
.top {
width: 100%;
display: flex;
.big {
width: 40px;
height: 40px;
@ -459,21 +485,26 @@ export default {
justify-content: center;
align-items: center;
margin-right: 8px;
.icon {
width: 20px;
height: 20px;
}
}
.text {
width: calc(100% - 60px);
padding: 2px 0;
.textTop {
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.number {
font-size: 36rpx;
font-family: DINAlternate-Bold, DINAlternate;
@ -481,12 +512,14 @@ export default {
color: #150002;
line-height: 40rpx;
}
.desc {
display: flex;
align-items: center;
margin-left: 8px;
font-size: 14px;
color: #FF7043;
.success {
width: 20px;
height: 20px;
@ -494,11 +527,13 @@ export default {
}
}
}
.right {
flex: 1;
display: flex;
justify-content: flex-end;
align-items: center;
.comparePlan {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -507,9 +542,11 @@ export default {
line-height: 36rpx;
white-space: nowrap;
}
.box2 {
display: flex;
align-items: center;
.text {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -518,6 +555,7 @@ export default {
line-height: 40rpx;
}
.addIcon {
width: 16px;
height: 16px;
@ -535,22 +573,27 @@ export default {
margin-top: 8px;
position: relative;
overflow: hidden;
.trans {
height: 8px;
position: absolute;
left: 0;top: 0;
left: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png")no-repeat 100% 100%;
}
.transYear {
height: 8px;
position: absolute;
left: 0;top: 0;
left: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png")no-repeat 100% 100%;
}
//.img{
// width: 100%;
// height: 100%;
@ -570,10 +613,12 @@ export default {
}
}
}
.bottom {
display: flex;
margin-top: 16px;
padding-left: 48px;
.success {
.text {
font-size: 28rpx;
@ -582,6 +627,7 @@ export default {
color: #786b6c;
line-height: 40rpx;
margin-bottom: 2px;
.unit {
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -591,6 +637,7 @@ export default {
margin-left: 2px;
}
}
.money {
font-size: 28rpx;
font-family: DINAlternate-Bold, DINAlternate;
@ -602,6 +649,7 @@ export default {
}
}
}
.list {
width: 100%;
box-sizing: border-box;
@ -609,29 +657,35 @@ export default {
background: #F5F5F5;
margin-bottom: 12px;
border-radius: 8px;
.top {
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.icon {
width: 20px;
height: 20px;
margin-right: 8px;
}
.title {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #a69e9f;
line-height: 18px;
.name {
color: #150002;
font-size: 18px;
}
}
.value {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -641,9 +695,11 @@ export default {
margin-left: 4px;
}
}
.right {
display: flex;
align-items: center;
.comparePlan {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -652,9 +708,11 @@ export default {
line-height: 36rpx;
white-space: nowrap;
}
.box2 {
display: flex;
align-items: center;
.text {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -663,6 +721,7 @@ export default {
line-height: 40rpx;
}
.addIcon {
width: 16px;
height: 16px;
@ -672,6 +731,7 @@ export default {
}
}
.progress {
width: 100%;
height: 8px;
@ -680,22 +740,27 @@ export default {
margin: 8px 0 16px;
position: relative;
overflow: hidden;
.have {
position: absolute;
height: 100%;
border-radius: 6px;
top: 0;left: 0;
top: 0;
left: 0;
background: #FF8E5B
}
}
.bottom {
display: flex;
justify-content: space-between;
margin-top: 16px;
.success {
width: calc(50% - 4px);
display: flex;
align-items: center;
.text {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -703,6 +768,7 @@ export default {
color: #a69e9f;
line-height: 20px;
}
.money {
margin-left: 8px;
font-size: 14px;

View File

@ -4,7 +4,7 @@
<div class="titleTop">
<p class="title">本月自营计划</p>
<div class="question" @click="handleShowNotice">
<image src="/static/images/index/noticeQuestion.svg"></image>
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
</div>
<div v-if="showNotice" class="titleTopNotice">{{ monthNoticeText }}</div>
<div v-if="showNotice" class="meng" @click="handleNoShowNotice"></div>
@ -18,12 +18,16 @@
<view class="textTop">
<view class="left">
<p class="number">{{ info.Budget_Degree ? info.Budget_Degree + '%' : '-' }}</p>
<p v-if="info.Budget_Degree>=100" class="desc"><image class="success" src="/static/images/index/successMonth.svg"></image></p>
<p v-if="info.Budget_Degree >= 100" class="desc">
<image class="success" src="/static/images/index/successMonth.svg"></image>
</p>
</view>
<view class="right">
<text class="comparePlan">比计划 </text>
<view class="box2">
<image class="addIcon" :src="Number(info.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<image class="addIcon"
:src="Number(info.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ info.Growth_Rate ? Math.abs(info.Growth_Rate) + '%' : '-' }}</p>
</view>
</view>
@ -49,7 +53,7 @@
<div class="titleTop">
<p class="title">年度自营计划</p>
<div class="question" @click="handleShowNoticeYear">
<image src="/static/images/index/noticeQuestion.svg"></image>
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
</div>
<div v-if="showNoticeYear" class="titleTopNotice">{{ yearNoticeText }}</div>
<div v-if="showNoticeYear" class="meng" @click="handleNoShowNoticeYear"></div>
@ -63,12 +67,17 @@
<view class="textTop">
<view class="left">
<p class="number">{{ info.Budget_Degree ? info.Budget_Degree + '%' : '-' }}</p>
<p v-if="info.Budget_Degree>=100" class="desc" style="color: #4E68FF"><image class="success" src="/static/images/index/yearSuccess.svg"></image></p>
<p v-if="info.Budget_Degree >= 100" class="desc" style="color: #4E68FF">
<image class="success"
src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image>
</p>
</view>
<view class="right">
<text class="comparePlan">比计划 </text>
<div class="box2">
<image class="addIcon" :src="Number(info.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<image class="addIcon"
:src="Number(info.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ info.Growth_Rate ? Math.abs(info.Growth_Rate) + '%' : '' }}</p>
</div>
</view>
@ -97,20 +106,27 @@
<div class="list" v-for="(item, index) in dataList" :key="index" @click="handleGoDetail(item)">
<div class="top">
<div class="left">
<p class="title" v-if="type==='month'"><text class="name">{{item.name}}</text>{{item.unit}}</p>
<p class="title" v-if="type==='year'"><text class="name">{{item.Statistics_Month}}</text></p>
<div class="value" :style="{color:type==='year'?'#4962FF':''}">{{item.Budget_Degree}}%</div>
<p class="title" v-if="type === 'month'"><text class="name">{{ item.name }}</text>{{ item.unit
}}</p>
<p class="title" v-if="type === 'year'"><text class="name">{{ item.Statistics_Month }}</text>
</p>
<div class="value" :style="{ color: type === 'year' ? '#4962FF' : '' }">{{ item.Budget_Degree
}}%</div>
</div>
<div class="right">
<text class="comparePlan">比计划 </text>
<div class="box2">
<image class="addIcon" :src="Number(item.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<image class="addIcon"
:src="Number(item.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ item.Growth_Rate ? Math.abs(item.Growth_Rate) + '%' : '' }}</p>
</div>
</div>
</div>
<div class="progress">
<div class="have" :style="{width:item.Budget_Degree + '%',background: type==='month'?'#FF8E5B':'#778CFD'}"></div>
<div class="have"
:style="{ width: item.Budget_Degree + '%', background: type === 'month' ? '#FF8E5B' : '#778CFD' }">
</div>
</div>
<div class="bottom">
<div class="success">
@ -278,14 +294,18 @@ export default {
padding: 0 16px;
width: 100%;
box-sizing: border-box;
.thisMonth,.thisYear{
.thisMonth,
.thisYear {
width: 100%;
margin-top: 12px;
margin-bottom: 12px;
.titleTop {
display: flex;
align-items: center;
position: relative;
.title {
font-size: 32rpx;
font-family: PingFangSC-Semibold, PingFang SC;
@ -293,17 +313,20 @@ export default {
color: #160002;
line-height: 44rpx;
}
.question {
width: 16px;
height: 16px;
margin-left: 4px;
display: flex;
align-items: center;
image {
width: 100%;
height: 100%;
}
}
.titleTopNotice {
position: absolute;
padding: 12px;
@ -314,13 +337,16 @@ export default {
box-shadow: 0 10px 10px 0 rgba(22, 0, 2, 0.1);
z-index: 9999;
}
.meng {
width: 100vw;
height: 100vh;
position: fixed;
top: 0;left: 0;
top: 0;
left: 0;
}
}
.box {
width: 100%;
padding: 12px 16px;
@ -328,9 +354,11 @@ export default {
border-radius: 8px;
background: #f5f2f2;
margin-top: 12px;
.top {
width: 100%;
display: flex;
.big {
width: 40px;
height: 40px;
@ -341,21 +369,26 @@ export default {
justify-content: center;
align-items: center;
margin-right: 8px;
.icon {
width: 20px;
height: 20px;
}
}
.text {
width: calc(100% - 60px);
padding: 2px 0;
.textTop {
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.number {
font-size: 36rpx;
font-family: DINAlternate-Bold, DINAlternate;
@ -363,12 +396,14 @@ export default {
color: #150002;
line-height: 40rpx;
}
.desc {
display: flex;
align-items: center;
margin-left: 8px;
font-size: 14px;
color: #FF7043;
.success {
width: 20px;
height: 20px;
@ -376,11 +411,13 @@ export default {
}
}
}
.right {
flex: 1;
display: flex;
justify-content: flex-end;
align-items: center;
.comparePlan {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -389,9 +426,11 @@ export default {
line-height: 36rpx;
white-space: nowrap;
}
.box2 {
display: flex;
align-items: center;
.text {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -400,6 +439,7 @@ export default {
line-height: 40rpx;
}
.addIcon {
width: 16px;
height: 16px;
@ -417,22 +457,27 @@ export default {
margin-top: 8px;
position: relative;
overflow: hidden;
.trans {
height: 8px;
position: absolute;
left: 0;top: 0;
left: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png")no-repeat 100% 100%;
}
.transYear {
height: 8px;
position: absolute;
left: 0;top: 0;
left: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png")no-repeat 100% 100%;
}
//.img{
// width: 100%;
// height: 100%;
@ -452,10 +497,12 @@ export default {
}
}
}
.bottom {
display: flex;
margin-top: 16px;
padding-left: 48px;
.success {
.text {
font-size: 28rpx;
@ -464,6 +511,7 @@ export default {
color: #786b6c;
line-height: 40rpx;
margin-bottom: 2px;
.unit {
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -473,6 +521,7 @@ export default {
margin-left: 2px;
}
}
.money {
font-size: 28rpx;
font-family: DINAlternate-Bold, DINAlternate;
@ -484,34 +533,41 @@ export default {
}
}
}
.listBox {
width: 100%;
box-sizing: border-box;
padding-bottom: calc(8px + env(safe-area-inset-bottom));
.list {
width: 100%;
box-sizing: border-box;
padding: 12px;
background: #F5F5F5;
margin-bottom: 12px;
.top {
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.title {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #a69e9f;
line-height: 18px;
.name {
color: #150002;
font-size: 18px;
}
}
.value {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -521,9 +577,11 @@ export default {
margin-left: 4px;
}
}
.right {
display: flex;
align-items: center;
.comparePlan {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -532,9 +590,11 @@ export default {
line-height: 36rpx;
white-space: nowrap;
}
.box2 {
display: flex;
align-items: center;
.text {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -543,6 +603,7 @@ export default {
line-height: 40rpx;
}
.addIcon {
width: 16px;
height: 16px;
@ -552,6 +613,7 @@ export default {
}
}
.progress {
width: 100%;
height: 8px;
@ -560,22 +622,27 @@ export default {
margin: 8px 0 16px;
position: relative;
overflow: hidden;
.have {
position: absolute;
height: 100%;
border-radius: 6px;
top: 0;left: 0;
top: 0;
left: 0;
}
}
.bottom {
display: flex;
justify-content: space-between;
margin-top: 16px;
.success {
width: calc(50% - 4px);
display: flex;
align-items: center;
.text {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -583,6 +650,7 @@ export default {
color: #a69e9f;
line-height: 20px;
}
.money {
margin-left: 8px;
font-size: 14px;

View File

@ -6,7 +6,8 @@
<div class="select">
<picker mode="date" fields="month" :value="single" :end="endData" @change="bindDateChange">
<view class="time">
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}</view>
<view class="uni-input" style="background: transparent;padding: 0;height:100%">{{ single }}
</view>
<image class="icon" src="/static/images/index/arrow_bottom.svg"></image>
</view>
</picker>
@ -20,19 +21,28 @@
<view class="text">
<view class="textTop">
<view class="left">
<p class="number">{{serviceInfo.Budget_Degree?serviceInfo.Budget_Degree + '%':'-'}}</p>
<p v-if="serviceInfo.Budget_Degree>=100" class="desc"><image class="success" src="/static/images/index/successMonth.svg"></image></p>
<p class="number">{{ serviceInfo.Budget_Degree ? serviceInfo.Budget_Degree + '%' : '-' }}
</p>
<p v-if="serviceInfo.Budget_Degree >= 100" class="desc">
<image class="success" src="/static/images/index/successMonth.svg"></image>
</p>
</view>
<view class="right">
<text class="comparePlan">比计划 </text>
<view class="box2">
<image class="addIcon" :src="Number(serviceInfo.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<p class="text">{{serviceInfo.Growth_Rate ?Math.abs(serviceInfo.Growth_Rate) + '%':'-'}}</p>
<image class="addIcon"
:src="Number(serviceInfo.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ serviceInfo.Growth_Rate ? Math.abs(serviceInfo.Growth_Rate) + '%' :
'-' }}
</p>
</view>
</view>
</view>
<div class="progressPlan">
<div class="trans" :style="{width:serviceInfo.Budget_Degree > 100 ? '100%' : serviceInfo.Budget_Degree + '%'}"></div>
<div class="trans"
:style="{ width: serviceInfo.Budget_Degree > 100 ? '100%' : serviceInfo.Budget_Degree + '%' }">
</div>
</div>
</view>
</view>
@ -56,14 +66,22 @@
<view class="text">
<view class="textTop">
<view class="left">
<p class="number">{{serviceInfo.Budget_Degree?serviceInfo.Budget_Degree + '%':'-'}}</p>
<p v-if="serviceInfo.Budget_Degree>=100" class="desc" style="color: #4E68FF"><image class="success" src="/static/images/index/yearSuccess.svg"></image></p>
<p class="number">{{ serviceInfo.Budget_Degree ? serviceInfo.Budget_Degree + '%' : '-' }}
</p>
<p v-if="serviceInfo.Budget_Degree >= 100" class="desc" style="color: #4E68FF">
<image class="success"
src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image>
</p>
</view>
<view class="right">
<text class="comparePlan">比计划 </text>
<div class="box2">
<image class="addIcon" :src="Number(serviceInfo.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<p class="text">{{serviceInfo.Growth_Rate?Math.abs(serviceInfo.Growth_Rate) + '%':''}}</p>
<image class="addIcon"
:src="Number(serviceInfo.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ serviceInfo.Growth_Rate ? Math.abs(serviceInfo.Growth_Rate) + '%' :
'' }}
</p>
</div>
</view>
</view>
@ -91,15 +109,30 @@
<!-- 三级遍历数组展示 -->
<div class="firstBox" v-for="(item, index) in dataList" :key="index">
<div class="valueBox" v-if="item.node.ShowRevenue_Amount" style="display: flex;justify-content: space-between">
<div class="valueBox" v-if="item.node.ShowRevenue_Amount"
style="display: flex;justify-content: space-between">
<p class="firstTitle">{{ item.node.ACCOUNT_CODE }}</p>
<div>
<p v-if="item.node.BUDGETDETAIL_AMOUNT" class="value" style="color:#a69e9f">{{item.node.BUDGETDETAIL_AMOUNT?item.node.BUDGETDETAIL_AMOUNT:''}}<text v-if="item.node.BUDGETDETAIL_AMOUNT!=='-'" style="margin-left: 4px;color:#a69e9f">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="item.node.BUDGETDETAIL_AMOUNT!=='-'" class="type" style="margin-left: 4px">(计划)</text></p>
<p class="value">{{item.node.REVENUE_AMOUNT?item.node.REVENUE_AMOUNT:'-' }}<text v-if="item.node.REVENUE_AMOUNT" style="margin-left: 4px">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="item.node.REVENUE_AMOUNT" class="type" style="margin-left: 4px">(实际)</text></p>
<p v-if="item.node.BUDGETDETAIL_AMOUNT" class="value" style="color:#a69e9f">
{{ item.node.BUDGETDETAIL_AMOUNT ? item.node.BUDGETDETAIL_AMOUNT : '' }}<text
v-if="item.node.BUDGETDETAIL_AMOUNT !== '-'"
style="margin-left: 4px;color:#a69e9f">{{ item.node.ACCOUNT_CODE === '毛利率' ? '%' :
'元' }}</text><text v-if="item.node.BUDGETDETAIL_AMOUNT !== '-'" class="type"
style="margin-left: 4px">(计划)</text></p>
<p class="value">{{ item.node.REVENUE_AMOUNT ? item.node.REVENUE_AMOUNT : '-' }}<text
v-if="item.node.REVENUE_AMOUNT" style="margin-left: 4px">{{ item.node.ACCOUNT_CODE
=== '毛利率' ? '%' : '元' }}</text><text v-if="item.node.REVENUE_AMOUNT" class="type"
style="margin-left: 4px">(实际)</text>
</p>
<view class="addBox" v-if="item.node.ShowGrowth_Rate">
<image class="addIcon" :src="item.node.Growth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':item.node.Growth_Rate<0?'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg':''"></image>
<p class="text" style="margin-left: 4px">{{item.node.Growth_Rate?Math.abs(item.node.Growth_Rate) + '%':'-'}}</p>
<text class="type" style="margin-left: 4px">{{item.node.Growth_Rate>0?'(提升)':item.node.Growth_Rate<0?'(降低)':''}}</text>
<image class="addIcon"
:src="item.node.Growth_Rate > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : item.node.Growth_Rate < 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg' : ''">
</image>
<p class="text" style="margin-left: 4px">
{{ item.node.Growth_Rate ? Math.abs(item.node.Growth_Rate) + '%' : '-' }}</p>
<text class="type" style="margin-left: 4px">{{ item.node.Growth_Rate > 0 ? '(提升)' :
item.node.Growth_Rate
< 0 ? '(降低)' : '' }}</text>
</view>
</div>
</div>
@ -107,55 +140,117 @@
<text class="firstTitle" v-if="!item.node.ShowRevenue_Amount">{{ item.node.ACCOUNT_CODE }}</text>
<div class="valueBox" v-if="item.node.BUDGETDETAIL_AMOUNT && !item.node.ShowRevenue_Amount">
<p class="value" style="color:#a69e9f">{{item.node.BUDGETDETAIL_AMOUNT }}<text style="margin-left: 4px;color:#a69e9f">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text class="type" style="margin-left: 4px">(计划)</text></p>
<p class="value" v-if="item.node.ShowGrowth_Rate">{{item.node.REVENUE_AMOUNT?item.node.REVENUE_AMOUNT:'-' }}<text v-if="item.node.REVENUE_AMOUNT!=='-'" style="margin-left: 4px">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="item.node.REVENUE_AMOUNT!=='-'" class="type" style="margin-left: 4px">(实际)</text></p>
<p class="value" style="color:#a69e9f">{{ item.node.BUDGETDETAIL_AMOUNT }}<text
style="margin-left: 4px;color:#a69e9f">{{ item.node.ACCOUNT_CODE === '毛利率' ? '%' : '元'
}}</text><text class="type" style="margin-left: 4px">(计划)</text></p>
<p class="value" v-if="item.node.ShowGrowth_Rate">
{{ item.node.REVENUE_AMOUNT ? item.node.REVENUE_AMOUNT : '-' }}<text
v-if="item.node.REVENUE_AMOUNT !== '-'" style="margin-left: 4px">{{
item.node.ACCOUNT_CODE === '毛利率' ? '%' : '元' }}</text><text
v-if="item.node.REVENUE_AMOUNT !== '-'" class="type"
style="margin-left: 4px">(实际)</text>
</p>
<view class="addBox" v-if="item.node.ShowGrowth_Rate">
<image class="addIcon" :src="item.node.Growth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':item.node.Growth_Rate<0?'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg':''"></image>
<p class="text" style="margin-left: 4px">{{item.node.Growth_Rate?Math.abs(item.node.Growth_Rate) + '%':'-' }}</p>
<text class="type" style="margin-left: 4px">{{item.node.Growth_Rate>0?'(提升)':item.node.Growth_Rate<0?'(降低)':'-'}}</text>
<image class="addIcon"
:src="item.node.Growth_Rate > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : item.node.Growth_Rate < 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg' : ''">
</image>
<p class="text" style="margin-left: 4px">
{{ item.node.Growth_Rate ? Math.abs(item.node.Growth_Rate) + '%' : '-' }}</p>
<text class="type" style="margin-left: 4px">{{ item.node.Growth_Rate > 0 ? '(提升)' :
item.node.Growth_Rate < 0 ? '(降低)' : '-' }}</text>
</view>
</div>
<div v-if="item.children.length>0" class="subBox" v-for="(subItem,subIndex) in item.children" :key="subIndex"
:style="subItem.children?'':'display:flex;justify-content: space-between'">
<div v-if="item.children.length > 0" class="subBox" v-for="(subItem, subIndex) in item.children"
:key="subIndex" :style="subItem.children ? '' : 'display:flex;justify-content: space-between'">
<div class="valueBox" v-if="subItem.node.ShowRevenue_Amount" style="display: flex;justify-content: space-between">
<div class="valueBox" v-if="subItem.node.ShowRevenue_Amount"
style="display: flex;justify-content: space-between">
<p class="subTitle">{{ subItem.node.ACCOUNT_CODE }}</p>
<div>
<p v-if="subItem.node.BUDGETDETAIL_AMOUNT" class="value" style="color:#a69e9f">{{subItem.node.BUDGETDETAIL_AMOUNT?subItem.node.BUDGETDETAIL_AMOUNT:''}}<text v-if="subItem.node.BUDGETDETAIL_AMOUNT!=='-'" style="margin-left: 4px;color:#a69e9f">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="subItem.node.BUDGETDETAIL_AMOUNT!=='-'" class="type" style="margin-left: 4px">(计划)</text></p>
<p class="value">{{subItem.node.REVENUE_AMOUNT?subItem.node.REVENUE_AMOUNT:'-' }}<text v-if="subItem.node.REVENUE_AMOUNT" style="margin-left: 4px">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="subItem.node.REVENUE_AMOUNT" class="type" style="margin-left: 4px">(实际)</text></p>
<p v-if="subItem.node.BUDGETDETAIL_AMOUNT" class="value" style="color:#a69e9f">
{{ subItem.node.BUDGETDETAIL_AMOUNT ? subItem.node.BUDGETDETAIL_AMOUNT : '' }}<text
v-if="subItem.node.BUDGETDETAIL_AMOUNT !== '-'"
style="margin-left: 4px;color:#a69e9f">{{ item.node.ACCOUNT_CODE === '毛利率' ? '%'
: '元' }}</text><text v-if="subItem.node.BUDGETDETAIL_AMOUNT !== '-'"
class="type" style="margin-left: 4px">(计划)</text></p>
<p class="value">{{ subItem.node.REVENUE_AMOUNT ? subItem.node.REVENUE_AMOUNT : '-'
}}<text v-if="subItem.node.REVENUE_AMOUNT" style="margin-left: 4px">{{
item.node.ACCOUNT_CODE === '毛利率' ? '%' : '元' }}</text><text
v-if="subItem.node.REVENUE_AMOUNT" class="type"
style="margin-left: 4px">(实际)</text></p>
<view class="addBox" v-if="subItem.node.ShowGrowth_Rate">
<image class="addIcon" :src="subItem.node.Growth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':subItem.node.Growth_Rate<0?'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg':''"></image>
<p class="text" style="margin-left: 4px">{{subItem.node.Growth_Rate?Math.abs(subItem.node.Growth_Rate) + '%':'-'}}</p>
<text class="type" style="margin-left: 4px">{{subItem.node.Growth_Rate>0?'(提升)':subItem.node.Growth_Rate<0?'(降低)':''}}</text>
<image class="addIcon"
:src="subItem.node.Growth_Rate > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : subItem.node.Growth_Rate < 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg' : ''">
</image>
<p class="text" style="margin-left: 4px">
{{ subItem.node.Growth_Rate ? Math.abs(subItem.node.Growth_Rate) + '%' : '-' }}
</p>
<text class="type" style="margin-left: 4px">{{ subItem.node.Growth_Rate > 0 ? '(提升)'
: subItem.node.Growth_Rate
< 0 ? '(降低)' : '' }}</text>
</view>
</div>
</div>
<p class="subTitle" v-if="!subItem.node.ShowRevenue_Amount">{{ subItem.node.ACCOUNT_CODE }}</p>
<div class="valueBox" v-if="subItem.node.BUDGETDETAIL_AMOUNT && !subItem.node.ShowRevenue_Amount">
<p class="value" style="color:#a69e9f">{{subItem.node.BUDGETDETAIL_AMOUNT?subItem.node.BUDGETDETAIL_AMOUNT:''}}<text v-if="subItem.node.BUDGETDETAIL_AMOUNT!=='-'" style="margin-left: 4px;color:#a69e9f">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="subItem.node.BUDGETDETAIL_AMOUNT!=='-'" class="type" style="margin-left: 4px">(计划)</text></p>
<p v-if="subItem.node.ShowGrowth_Rate" class="value">{{subItem.node.REVENUE_AMOUNT?subItem.node.REVENUE_AMOUNT:'-' }}<text v-if="subItem.node.REVENUE_AMOUNT" style="margin-left: 4px">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="subItem.node.REVENUE_AMOUNT" class="type" style="margin-left: 4px">(实际)</text></p>
<div class="valueBox"
v-if="subItem.node.BUDGETDETAIL_AMOUNT && !subItem.node.ShowRevenue_Amount">
<p class="value" style="color:#a69e9f">
{{ subItem.node.BUDGETDETAIL_AMOUNT ? subItem.node.BUDGETDETAIL_AMOUNT : '' }}<text
v-if="subItem.node.BUDGETDETAIL_AMOUNT !== '-'"
style="margin-left: 4px;color:#a69e9f">{{ item.node.ACCOUNT_CODE === '毛利率' ? '%' :
'元' }}</text><text v-if="subItem.node.BUDGETDETAIL_AMOUNT !== '-'" class="type"
style="margin-left: 4px">(计划)</text></p>
<p v-if="subItem.node.ShowGrowth_Rate" class="value">
{{ subItem.node.REVENUE_AMOUNT ? subItem.node.REVENUE_AMOUNT : '-' }}<text
v-if="subItem.node.REVENUE_AMOUNT" style="margin-left: 4px">{{
item.node.ACCOUNT_CODE === '毛利率' ? '%' : '元' }}</text><text
v-if="subItem.node.REVENUE_AMOUNT" class="type" style="margin-left: 4px">(实际)</text>
</p>
<view class="addBox" v-if="subItem.node.ShowGrowth_Rate">
<image class="addIcon" :src="subItem.node.Growth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':subItem.node.Growth_Rate<0?'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg':''"></image>
<p class="text" style="margin-left: 4px">{{subItem.node.Growth_Rate?Math.abs(subItem.node.Growth_Rate) + '%':'-'}}</p>
<text class="type" style="margin-left: 4px">{{subItem.node.Growth_Rate>0?'(提升)':subItem.node.Growth_Rate<0?'(降低)':''}}</text>
<image class="addIcon"
:src="subItem.node.Growth_Rate > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : subItem.node.Growth_Rate < 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg' : ''">
</image>
<p class="text" style="margin-left: 4px">
{{ subItem.node.Growth_Rate ? Math.abs(subItem.node.Growth_Rate) + '%' : '-' }}</p>
<text class="type" style="margin-left: 4px">{{ subItem.node.Growth_Rate > 0 ? '(提升)' :
subItem.node.Growth_Rate
< 0 ? '(降低)' : '' }}</text>
</view>
</div>
<div v-if="subItem.children.length>0" class="thirdBox" v-for="(thirdItem,thirdIndex) in subItem.children" :key="thirdIndex">
<div v-if="subItem.children.length > 0" class="thirdBox"
v-for="(thirdItem, thirdIndex) in subItem.children" :key="thirdIndex">
<text class="thirdTitle">{{ thirdItem.node.ACCOUNT_CODE }}</text>
<div class="valueBox" v-if="thirdItem.node.BUDGETDETAIL_AMOUNT">
<p class="value" style="color:#a69e9f">{{thirdItem.node.BUDGETDETAIL_AMOUNT}}<text style="margin-left: 4px;color:#a69e9f" v-if="thirdItem.node.BUDGETDETAIL_AMOUNT!=='-'">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="thirdItem.node.BUDGETDETAIL_AMOUNT!=='-'" class="type" style="margin-left: 4px">(计划)</text></p>
<p class="value" v-if="thirdItem.node.ShowGrowth_Rate">{{thirdItem.node.REVENUE_AMOUNT?thirdItem.node.REVENUE_AMOUNT:'-' }}<text v-if="thirdItem.node.REVENUE_AMOUNT" style="margin-left: 4px">{{item.node.ACCOUNT_CODE==='毛利率'?'%':'元'}}</text><text v-if="thirdItem.node.REVENUE_AMOUNT" class="type" style="margin-left: 4px">(实际)</text></p>
<p class="value" style="color:#a69e9f">{{ thirdItem.node.BUDGETDETAIL_AMOUNT }}<text
style="margin-left: 4px;color:#a69e9f"
v-if="thirdItem.node.BUDGETDETAIL_AMOUNT !== '-'">{{ item.node.ACCOUNT_CODE ===
'毛利率' ? '%' : '元' }}</text><text
v-if="thirdItem.node.BUDGETDETAIL_AMOUNT !== '-'" class="type"
style="margin-left: 4px">(计划)</text></p>
<p class="value" v-if="thirdItem.node.ShowGrowth_Rate">
{{ thirdItem.node.REVENUE_AMOUNT ? thirdItem.node.REVENUE_AMOUNT : '-' }}<text
v-if="thirdItem.node.REVENUE_AMOUNT" style="margin-left: 4px">{{
item.node.ACCOUNT_CODE === '毛利率' ? '%' : '元' }}</text><text
v-if="thirdItem.node.REVENUE_AMOUNT" class="type"
style="margin-left: 4px">(实际)</text></p>
<view class="addBox" v-if="thirdItem.node.ShowGrowth_Rate">
<image class="addIcon" :src="thirdItem.node.Growth_Rate>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':thirdItem.node.Growth_Rate<0?'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg':''"></image>
<p class="text" style="margin-left: 4px">{{thirdItem.node.Growth_Rate?Math.abs(thirdItem.node.Growth_Rate) + '%':'-'}}</p>
<text class="type" style="margin-left: 4px">{{thirdItem.node.Growth_Rate>0?'(提升)':thirdItem.node.Growth_Rate<0?'(降低)':''}}</text>
<image class="addIcon"
:src="thirdItem.node.Growth_Rate > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : thirdItem.node.Growth_Rate < 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg' : ''">
</image>
<p class="text" style="margin-left: 4px">
{{ thirdItem.node.Growth_Rate ? Math.abs(thirdItem.node.Growth_Rate) + '%' : '-'
}}
</p>
<text class="type" style="margin-left: 4px">{{ thirdItem.node.Growth_Rate > 0 ?
'(提升)' : thirdItem.node.Growth_Rate
< 0 ? '(降低)' : '' }}</text>
</view>
</div>
</div>
@ -165,7 +260,8 @@
</div>
<div style="margin-top: 12px">
<div v-if="type==='year'" class="monthList" v-for="(item,index) in dataList" :key="index" @click="handleYearItem(item)">
<div v-if="type === 'year'" class="monthList" v-for="(item, index) in dataList" :key="index"
@click="handleYearItem(item)">
<div class="top">
<div class="left">
<p class="title"><text class="name">{{ item.Statistics_Month }}</text></p>
@ -174,7 +270,9 @@
<div class="right">
<text class="comparePlan">比计划 </text>
<div class="box2">
<image class="addIcon" :src="Number(item.Growth_Rate)>0?'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg':'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'"></image>
<image class="addIcon"
:src="Number(item.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
</image>
<p class="text">{{ item.Growth_Rate ? Math.abs(item.Growth_Rate) + '%' : '' }}</p>
</div>
</div>
@ -480,30 +578,36 @@ export default {
min-height: 100vh;
box-sizing: border-box;
padding: 0 16px;
.title {
font-size: 32rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
}
.top {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
.title {
font-size: 32rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #160002;
}
.select {
margin-left: 8px;
display: inline-block;
.time {
display: flex;
align-items: center;
margin-right: 4px;
.day {
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -512,6 +616,7 @@ export default {
line-height: 44rpx;
margin-right: 4px;
}
.uni-input {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -519,6 +624,7 @@ export default {
color: #ae664e;
line-height: 36rpx;
}
.icon {
width: 24px;
height: 16px;
@ -534,9 +640,11 @@ export default {
border-radius: 8px;
background: #f5f2f2;
margin-top: 12px;
.top {
width: 100%;
display: flex;
.big {
width: 40px;
height: 40px;
@ -547,21 +655,26 @@ export default {
justify-content: center;
align-items: center;
margin-right: 8px;
.icon {
width: 20px;
height: 20px;
}
}
.text {
width: calc(100% - 60px);
padding: 2px 0;
.textTop {
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.number {
font-size: 36rpx;
font-family: DINAlternate-Bold, DINAlternate;
@ -569,12 +682,14 @@ export default {
color: #150002;
line-height: 40rpx;
}
.desc {
display: flex;
align-items: center;
margin-left: 8px;
font-size: 14px;
color: #FF7043;
.success {
width: 20px;
height: 20px;
@ -582,11 +697,13 @@ export default {
}
}
}
.right {
flex: 1;
display: flex;
justify-content: flex-end;
align-items: center;
.comparePlan {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -595,9 +712,11 @@ export default {
line-height: 36rpx;
white-space: nowrap;
}
.box2 {
display: flex;
align-items: center;
.text {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -606,6 +725,7 @@ export default {
line-height: 40rpx;
}
.addIcon {
width: 16px;
height: 16px;
@ -623,22 +743,27 @@ export default {
margin-top: 8px;
position: relative;
overflow: hidden;
.trans {
height: 8px;
position: absolute;
left: 0;top: 0;
left: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png")no-repeat 100% 100%;
}
.transYear {
height: 8px;
position: absolute;
left: 0;top: 0;
left: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png")no-repeat 100% 100%;
}
//.img{
// width: 100%;
// height: 100%;
@ -658,10 +783,12 @@ export default {
}
}
}
.bottom {
display: flex;
margin-top: 16px;
padding-left: 48px;
.success {
.text {
font-size: 28rpx;
@ -670,6 +797,7 @@ export default {
color: #786b6c;
line-height: 40rpx;
margin-bottom: 2px;
.unit {
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -679,6 +807,7 @@ export default {
margin-left: 2px;
}
}
.money {
font-size: 28rpx;
font-family: DINAlternate-Bold, DINAlternate;
@ -689,9 +818,11 @@ export default {
}
}
}
.list {
margin-top: 12px;
padding-bottom: 12px;
.item {
width: 100%;
box-sizing: border-box;
@ -699,21 +830,26 @@ export default {
background: #F5F5F5;
margin-bottom: 12px;
border-radius: 8px;
.bigTitle {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #a69e9f;
.name {
color: #150002;
font-size: 18px;
}
}
.firstBox {
margin-top: 8px;
.valueBox {
display: inline-block;
text-align: right;
.firstTitle {
display: inline-block;
width: 180px;
@ -724,15 +860,18 @@ export default {
line-height: 22px;
text-align: left;
}
.addBox {
display: flex;
align-items: center;
justify-content: flex-end;
.addIcon {
width: 16px;
height: 16px;
margin-right: 2px;
}
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -742,12 +881,14 @@ export default {
white-space: nowrap;
}
}
.value {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
color: #160002;
line-height: 22px;
padding-left: 10px;
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -758,6 +899,7 @@ export default {
}
}
}
.firstTitle {
display: inline-block;
width: 180px;
@ -767,9 +909,11 @@ export default {
color: #160002;
line-height: 22px;
}
.boxTop {
display: flex;
justify-content: space-between;
.firstTitle {
display: inline-block;
width: 180px;
@ -779,18 +923,22 @@ export default {
color: #160002;
line-height: 22px;
}
.amount {
display: inline-block;
text-align: right;
.addBox {
display: flex;
align-items: center;
justify-content: flex-end;
.addIcon {
width: 16px;
height: 16px;
margin-right: 2px;
}
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -800,12 +948,14 @@ export default {
white-space: nowrap;
}
}
.value {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
color: #160002;
line-height: 22px;
padding-left: 10px;
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -821,15 +971,18 @@ export default {
.valueBox {
display: inline-block;
text-align: right;
.addBox {
display: flex;
align-items: center;
justify-content: flex-end;
.addIcon {
width: 16px;
height: 16px;
margin-right: 2px;
}
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -839,12 +992,14 @@ export default {
white-space: nowrap;
}
}
.value {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
color: #160002;
line-height: 22px;
padding-left: 10px;
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -855,11 +1010,14 @@ export default {
}
}
}
.subBox {
margin-top: 4px;
.valueBox {
display: inline-block;
text-align: right;
.subTitle {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
@ -871,15 +1029,18 @@ export default {
width: 120px;
text-align: left;
}
.addBox {
display: flex;
align-items: center;
justify-content: flex-end;
.addIcon {
width: 16px;
height: 16px;
margin-right: 2px;
}
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -889,12 +1050,14 @@ export default {
white-space: nowrap;
}
}
.value {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
color: #160002;
line-height: 22px;
padding-left: 10px;
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -905,6 +1068,7 @@ export default {
}
}
}
.subTitle {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
@ -915,9 +1079,11 @@ export default {
display: inline-block;
width: 120px;
}
.boxTop {
display: flex;
justify-content: space-between;
.subTitle {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
@ -935,6 +1101,7 @@ export default {
display: flex;
justify-content: space-between;
margin-bottom: 8px;
.thirdTitle {
font-size: 12px;
font-family: PingFangSC-Semibold, PingFang SC;
@ -945,9 +1112,11 @@ export default {
display: inline-block;
width: 130px;
}
.boxTop {
display: flex;
justify-content: space-between;
.thirdTitle {
font-size: 12px;
font-family: PingFangSC-Semibold, PingFang SC;
@ -958,18 +1127,22 @@ export default {
display: inline-block;
width: 130px;
}
.amount {
display: inline-block;
text-align: right;
.addBox {
display: flex;
align-items: center;
justify-content: flex-end;
.addIcon {
width: 16px;
height: 16px;
margin-right: 2px;
}
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -979,12 +1152,14 @@ export default {
white-space: nowrap;
}
}
.value {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
color: #160002;
line-height: 22px;
padding-left: 10px;
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -1000,15 +1175,18 @@ export default {
.valueBox {
display: inline-block;
text-align: right;
.addBox {
display: flex;
align-items: center;
justify-content: flex-end;
.addIcon {
width: 16px;
height: 16px;
margin-right: 2px;
}
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -1018,12 +1196,14 @@ export default {
white-space: nowrap;
}
}
.value {
font-size: 14px;
font-family: PingFangSC-Semibold, PingFang SC;
color: #160002;
line-height: 22px;
padding-left: 10px;
.type {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -1034,9 +1214,11 @@ export default {
}
}
}
.top {
display: flex;
align-items: center;
.thirdTitle {
font-size: 12px;
font-family: PingFangSC-Semibold, PingFang SC;
@ -1045,11 +1227,13 @@ export default {
line-height: 22px;
padding-left: 30px;
}
.right {
flex: 1;
display: flex;
justify-content: flex-end;
align-items: center;
.comparePlan {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -1057,9 +1241,11 @@ export default {
color: #a69e9f;
white-space: nowrap;
}
.box2 {
display: flex;
align-items: center;
.text {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -1068,6 +1254,7 @@ export default {
line-height: 40rpx;
}
.addIcon {
width: 16px;
height: 16px;
@ -1076,6 +1263,7 @@ export default {
}
}
}
.progressPlan {
width: calc(100% - 30px);
box-sizing: border-box;
@ -1086,18 +1274,22 @@ export default {
margin-top: 8px;
position: relative;
overflow: hidden;
.trans {
height: 8px;
position: absolute;
left: 0;top: 0;
left: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png")no-repeat 100% 100%;
}
.transYear {
height: 8px;
position: absolute;
left: 0;top: 0;
left: 0;
top: 0;
border-top-right-radius: 4px;
border-bottom-right-radius: 4px;
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png")no-repeat 100% 100%;
@ -1108,6 +1300,7 @@ export default {
}
}
}
.monthList {
width: 100%;
box-sizing: border-box;
@ -1115,29 +1308,35 @@ export default {
background: #F5F5F5;
margin-bottom: 12px;
border-radius: 8px;
.top {
display: flex;
align-items: center;
justify-content: space-between;
.left {
display: flex;
align-items: center;
.icon {
width: 20px;
height: 20px;
margin-right: 8px;
}
.title {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #a69e9f;
line-height: 18px;
.name {
color: #150002;
font-size: 18px;
}
}
.value {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -1147,9 +1346,11 @@ export default {
margin-left: 4px;
}
}
.right {
display: flex;
align-items: center;
.comparePlan {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
@ -1158,9 +1359,11 @@ export default {
line-height: 36rpx;
white-space: nowrap;
}
.box2 {
display: flex;
align-items: center;
.text {
font-size: 14px;
font-family: DINAlternate-Bold, DINAlternate;
@ -1169,6 +1372,7 @@ export default {
line-height: 40rpx;
}
.addIcon {
width: 16px;
height: 16px;
@ -1178,6 +1382,7 @@ export default {
}
}
.progress {
width: 100%;
height: 8px;
@ -1186,22 +1391,27 @@ export default {
margin: 8px 0 16px;
position: relative;
overflow: hidden;
.have {
position: absolute;
height: 100%;
border-radius: 6px;
top: 0;left: 0;
top: 0;
left: 0;
background: #778CFD;
}
}
.bottom {
display: flex;
justify-content: space-between;
margin-top: 16px;
.success {
width: calc(50% - 4px);
display: flex;
align-items: center;
.text {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -1209,6 +1419,7 @@ export default {
color: #a69e9f;
line-height: 20px;
}
.money {
margin-left: 8px;
font-size: 14px;

View File

@ -3,20 +3,25 @@
<view class="heard">
<image class="headerBg" src="https://eshangtech.com/ShopICO/ahyd-BID/plan/blueBack.png"></image>
<view class="top" :style="{ height: (menu.bottom + 6) + 'px' }">
<image :style="{top:(menu.top + ((menu.height - 24)/2))+'px'}" @click="handleBack" class="img" src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg"></image>
<image :style="{ top: (menu.top + ((menu.height - 24) / 2)) + 'px' }" @click="handleBack" class="img"
src="https://eshangtech.com/ShopICO/ahyd-BID/examine/leftArrowWhite.svg"></image>
</view>
<view class="content">
<view class="block"></view>
<p class="title">年度经营计划</p>
<!-- 选择月份 -->
<view class="monthTabs">
<scroll-view class="big" :show-scrollbar="false" scroll-with-animation scroll-x="true" enable-flex :scrollIntoView="selectMonthId" >
<div :id="'item'+item.value" :class="selectMonth===item.value?'monthItem selectItem':'monthItem'" v-for="(item,index) in monthList" :key="index" @click="handleSelectMonth(item.value)">{{item.label}}</div>
<scroll-view class="big" :show-scrollbar="false" scroll-with-animation scroll-x="true" enable-flex
:scrollIntoView="selectMonthId">
<div :id="'item' + item.value" :class="selectMonth === item.value ? 'monthItem selectItem' : 'monthItem'"
v-for="(item, index) in monthList" :key="index" @click="handleSelectMonth(item.value)">{{ item.label }}
</div>
</scroll-view>
</view>
<view class="monthDetailList">
<swiper class="swiper" previous-margin="40rpx" next-margin="40rpx" @change="handleDetailScroll" :current="selectDetail">
<swiper class="swiper" previous-margin="40rpx" next-margin="40rpx" @change="handleDetailScroll"
:current="selectDetail">
<block v-for="(item, index) in swiperList" :key="index">
<swiper-item class="swiper-item" :item-id="index" :data-item-id="index" bindtap='clickChange'>
<view class="box">
@ -28,13 +33,15 @@
<view class="detailContent">
<view class="top">
<span class="money">{{ detail.Revenue_Amount || '-' }}</span>
<image v-if="detail.Budget_Degree>100" class="icon" src="/static/images/index/yearSuccess.svg"></image>
<image v-if="detail.Budget_Degree > 100" class="icon"
src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image>
</view>
<p class="text">本月已完成<text class="unit">/</text></p>
</view>
</view>
<view class="right">
<p class="add" :style="{color:detail.Growth_Rate>0?'#E83944':'#049E77'}">{{detail.Growth_Rate>0?'+':'-'}}{{detail.Growth_Rate || '-'}}%</p>
<p class="add" :style="{ color: detail.Growth_Rate > 0 ? '#E83944' : '#049E77' }">
{{ detail.Growth_Rate > 0 ? '+' : '-' }}{{ detail.Growth_Rate || '-' }}%</p>
<text class="compare">比计划</text>
</view>
</view>
@ -55,13 +62,15 @@
<view class="detailContent">
<view class="top">
<span class="money">{{ '-' }}</span>
<image v-if="detail.Budget_Degree>100" class="icon" src="/static/images/index/yearSuccess.svg"></image>
<image v-if="detail.Budget_Degree > 100" class="icon"
src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image>
</view>
<p class="text">本月已完成<text class="unit">/</text></p>
</view>
</view>
<view class="right">
<p class="add" :style="{color:detail.Growth_Rate>0?'#E83944':'#049E77'}">{{detail.Growth_Rate>0?'+':'-'}}{{ '-'}}%</p>
<p class="add" :style="{ color: detail.Growth_Rate > 0 ? '#E83944' : '#049E77' }">
{{ detail.Growth_Rate > 0 ? '+' : '-' }}{{ '-' }}%</p>
<text class="compare">比计划</text>
</view>
</view>
@ -86,7 +95,8 @@
</view>
<view class="serviceList">
<scroll-view class="list" scroll-y="true">
<view class="item" v-for="(item,index) in detail.RegionBudgetList" :key="index" @click="goPage(item.Serverpart_ID)">
<view class="item" v-for="(item, index) in detail.RegionBudgetList" :key="index"
@click="goPage(item.Serverpart_ID)">
<view class="top">
<p class="title">{{ item.Serverpart_Name || '' }}</p>
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/plan/blueArrow.svg"></image>
@ -95,12 +105,15 @@
<view class="left">
<view class="money">
<span class="num">{{ item.Revenue_Amount }}</span>
<image v-if="item.Budget_Degree>100" class="icon" src="/static/images/index/yearSuccess.svg"></image>
<image v-if="item.Budget_Degree > 100" class="icon"
src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image>
</view>
<view class="text">本月已完成<span class="unit">/</span></view>
</view>
<view class="right">
<p class="add" :style="{color:item.Growth_Rate>0?'#E83944':'#049E77'}"><span>{{item.Growth_Rate>0?'+':''}}</span>{{item.Growth_Rate || '-'}}%</p>
<p class="add" :style="{ color: item.Growth_Rate > 0 ? '#E83944' : '#049E77' }">
<span>{{ item.Growth_Rate > 0 ? '+' : '' }}</span>{{ item.Growth_Rate || '-' }}%
</p>
<p class="text">比计划</p>
</view>
</view>
@ -248,15 +261,19 @@ export default{
<style scoped lang="scss">
@import '/static/public/font/stylesheet.css';
.main {
width: 100%;
.heard {
width: 100%;
height: 366px;
position: relative;
.top {
width: 100%;
position: relative;
.img {
width: 24px;
height: 24px;
@ -265,17 +282,21 @@ export default{
z-index: 3;
}
}
.content {
width: 100%;
height: 100%;
position: absolute;
box-sizing: border-box;
top: 0;left: 0;
top: 0;
left: 0;
z-index: 2;
.block {
width: 100%;
height: 83px;
}
.title {
font-size: 28px;
font-family: "Alimama ShuHeiTi";
@ -288,6 +309,7 @@ export default{
-webkit-text-fill-color: transparent;
margin: 14px 24px;
}
.monthTabs {
width: calc(100% - 32px);
height: 34px;
@ -299,10 +321,12 @@ export default{
padding: 2px 0;
margin-top: 16px;
margin-left: 16px;
.big {
width: 100%;
height: 100%;
white-space: nowrap;
.monthItem {
display: inline-block;
font-size: 14px;
@ -315,25 +339,31 @@ export default{
text-align: center;
border-radius: 12px;
}
.selectItem {
background: #fff;
}
.monthItem:first-child {
margin-left: 4px;
}
}
}
.monthDetailList {
width: 100%;
height: 140px;
margin-top: 12px;
.swiper {
width: 100%;
height: 100%;
.swiper-item {
.box {
width: 100%;
height: 100%;
.detail {
width: calc(100% - 20px);
height: 100%;
@ -342,23 +372,28 @@ export default{
border-radius: 8px;
box-sizing: border-box;
padding: 16px;
.item {
.itemTop {
width: 100%;
display: flex;
justify-content: space-between;
.left {
display: flex;
.logo {
width: 44px;
height: 44px;
margin-right: 8px;
}
.detailContent {
.top {
display: flex;
align-items: center;
margin-bottom: 2px;
.money {
font-size: 18px;
font-family: DINAlternate-Bold, DINAlternate;
@ -366,18 +401,21 @@ export default{
color: #160002;
line-height: 24px;
}
.icon {
width: 15px;
height: 15px;
margin-left: 6px;
}
}
.text {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 20px;
.unit {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -389,14 +427,17 @@ export default{
}
}
}
.right {
text-align: right;
.add {
font-size: 18px;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
line-height: 24px;
}
.compare {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -406,8 +447,10 @@ export default{
}
}
}
.itemBottom {
margin-top: 24px;
.progress {
width: 100%;
height: 10px;
@ -415,6 +458,7 @@ export default{
border-radius: 5px;
position: relative;
overflow: hidden;
.have {
height: 100%;
position: absolute;
@ -424,18 +468,21 @@ export default{
border-radius: 5px;
}
}
.text {
margin-top: 4px;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
.success {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 20px;
.unit {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -445,6 +492,7 @@ export default{
margin-left: 2px;
}
}
.target {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -456,6 +504,7 @@ export default{
}
}
}
.noShow {
height: 112px;
margin-top: 14px;
@ -466,6 +515,7 @@ export default{
}
}
.headerBg {
position: absolute;
top: 0;
@ -474,6 +524,7 @@ export default{
height: 100%;
z-index: 1;
}
.allowLeft {
position: absolute;
width: 24px;
@ -492,10 +543,17 @@ export default{
background: #fff;
box-sizing: border-box;
padding: 16px 16px 0;
.list {
width: 100%;
height: 100%;
::-webkit-scrollbar {width: 0;height: 0;background-color: transparent;}
::-webkit-scrollbar {
width: 0;
height: 0;
background-color: transparent;
}
.item {
width: 100%;
height: 178px;
@ -504,15 +562,18 @@ export default{
margin-bottom: 12px;
box-sizing: border-box;
padding: 16px;
.top {
display: flex;
align-items: center;
.title {
font-size: 18px;
font-family: Alimama ShuHeiTi;
color: #1A33BC;
line-height: 26px;
}
.icon {
width: 15px;
height: 15px;
@ -520,16 +581,19 @@ export default{
margin-left: 7px;
}
}
.detail {
margin-top: 16px;
width: 100%;
display: flex;
justify-content: space-between;
.left {
.money {
display: flex;
align-items: center;
margin-bottom: 2px;
.num {
font-size: 20px;
font-family: DINAlternate-Bold, DINAlternate;
@ -538,27 +602,32 @@ export default{
line-height: 24px;
margin-right: 4px;
}
.icon {
width: 16px;
height: 16px;
}
}
.text {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #786B6C;
line-height: 20px;
.unit {
color: #A69E9F;
margin-left: 2px;
}
}
}
.right {
display: flex;
flex-direction: column;
align-items: flex-end;
.add {
font-size: 24px;
font-family: DINAlternate-Bold, DINAlternate;
@ -566,6 +635,7 @@ export default{
line-height: 24px;
margin-bottom: 2px;
}
.text {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
@ -575,8 +645,10 @@ export default{
}
}
}
.progress {
margin-top: 16px;
.box {
width: 100%;
height: 10px;
@ -584,20 +656,24 @@ export default{
background: #ccc;
overflow: hidden;
position: relative;
.have {
position: absolute;
height: 100%;
background: rgba(87, 110, 255, 1);
border-radius: 5px;
left: 0;top: 0;
left: 0;
top: 0;
}
}
.other {
width: 100%;
margin-top: 4px;
display: flex;
justify-content: space-between;
align-items: center;
.unit {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -605,6 +681,7 @@ export default{
color: #786B6C;
line-height: 20px;
}
.type {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
@ -613,6 +690,7 @@ export default{
line-height: 20px;
margin-left: 2px;
}
.money {
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;

View File

@ -32,6 +32,10 @@ export default {
watch: {
success: {
handler(value) {
// API
if (!value || value.length < 3 || value[0] === undefined || value[1] === undefined || value[2] === undefined) {
return;
}
this.preferPath = ''
let sum = value[0] + value[1] + value[2]
if (sum === 0) {
@ -127,6 +131,7 @@ export default {
.rateMain {
width: 144rpx;
height: 144rpx;
.month {
width: 136rpx;
height: 136rpx;

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>首页图标/本月计划备份_20@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="驿达小程序-首页0311" transform="translate(-289.000000, -2140.000000)">
<g id="时间备份-2" transform="translate(289.000000, 2140.000000)">
<path d="M0,5 L16,5 L16,15 C16,15.5522847 15.5522847,16 15,16 L1,16 C0.44771525,16 6.76353751e-17,15.5522847 0,15 L0,5 L0,5 Z" id="矩形" fill="#782717" opacity="0.200000003"></path>
<path d="M3.5,0.5 L4.5,0.5 C4.77614237,0.5 5,0.723857625 5,1 L5,2 L5,2 L3,2 L3,1 C3,0.723857625 3.22385763,0.5 3.5,0.5 Z" id="矩形" fill="#782717" opacity="0.5"></path>
<path d="M11.5,0.5 L12.5,0.5 C12.7761424,0.5 13,0.723857625 13,1 L13,2 L13,2 L11,2 L11,1 C11,0.723857625 11.2238576,0.5 11.5,0.5 Z" id="矩形备份" fill="#782717" opacity="0.5"></path>
<path d="M1,2 L15,2 C15.5522847,2 16,2.44771525 16,3 L16,5 L16,5 L0,5 L0,3 C-6.76353751e-17,2.44771525 0.44771525,2 1,2 Z" id="矩形" fill="#782717" opacity="0.5"></path>
<rect id="矩形" fill="#F8F9FB" x="2.5" y="7" width="3" height="3"></rect>
<rect id="矩形备份-4" fill="#F8F9FB" x="2.5" y="11" width="3" height="3"></rect>
<rect id="矩形备份-2" fill="#F8F9FB" x="6.5" y="7" width="3" height="3"></rect>
<rect id="矩形备份-5" fill="#F8F9FB" x="6.5" y="11" width="3" height="3"></rect>
<rect id="矩形备份-3" fill="#F8F9FB" x="10.5" y="7" width="3" height="3"></rect>
<rect id="矩形备份-6" fill="#F8F9FB" x="10.5" y="11" width="3" height="3"></rect>
<g id="编组" transform="translate(8.500000, 8.000000) rotate(-45.000000) translate(-8.500000, -8.000000) translate(7.000000, 7.000000)" fill="#782717">
<rect id="矩形" x="0" y="0" width="1" height="2"></rect>
<rect id="矩形" x="0" y="1" width="3" height="1"></rect>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>首页图标/注解@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="商业BI切图" transform="translate(-194.000000, -346.000000)" fill-rule="nonzero">
<g id="编组-3" transform="translate(100.000000, 80.000000)">
<g id="question-circle" transform="translate(94.000000, 266.000000)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M8,1 C4.134375,1 1,4.134375 1,8 C1,11.865625 4.134375,15 8,15 C11.865625,15 15,11.865625 15,8 C15,4.134375 11.865625,1 8,1 Z M8,13.8125 C4.790625,13.8125 2.1875,11.209375 2.1875,8 C2.1875,4.790625 4.790625,2.1875 8,2.1875 C11.209375,2.1875 13.8125,4.790625 13.8125,8 C13.8125,11.209375 11.209375,13.8125 8,13.8125 Z M9.74375,4.9484375 C9.275,4.5375 8.65625,4.3125 8,4.3125 C7.34375,4.3125 6.725,4.5390625 6.25625,4.9484375 C5.76875,5.375 5.5,5.9484375 5.5,6.5625 L5.5,6.68125 C5.5,6.75 5.55625,6.80625 5.625,6.80625 L6.375,6.80625 C6.44375,6.80625 6.5,6.75 6.5,6.68125 L6.5,6.5625 C6.5,5.8734375 7.1734375,5.3125 8,5.3125 C8.8265625,5.3125 9.5,5.8734375 9.5,6.5625 C9.5,7.0484375 9.15625,7.49375 8.6234375,7.6984375 C8.2921875,7.825 8.0109375,8.046875 7.809375,8.3375 C7.6046875,8.634375 7.4984375,8.990625 7.4984375,9.3515625 L7.4984375,9.6875 C7.4984375,9.75625 7.5546875,9.8125 7.6234375,9.8125 L8.3734375,9.8125 C8.4421875,9.8125 8.4984375,9.75625 8.4984375,9.6875 L8.4984375,9.3328125 C8.4984375,9.025 8.6921875,8.74375 8.98125,8.6328125 C9.903125,8.278125 10.4984443,7.465625 10.4984443,6.5625 C10.5,5.9484375 10.23125,5.375 9.74375,4.9484375 Z M7.375,11.4375 C7.375,11.782678 7.65482203,12.0625 8,12.0625 C8.34517797,12.0625 8.625,11.782678 8.625,11.4375 C8.625,11.092322 8.34517797,10.8125 8,10.8125 C7.65482203,10.8125 7.375,11.092322 7.375,11.4375 Z" id="形状" fill="#A69E9F"></path>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@ -1,15 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>首页图标/本月计划备份_4@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="驿达小程序-首页0311" transform="translate(-219.000000, -2176.000000)">
<g id="分润门店" transform="translate(219.000000, 2176.000000)">
<path d="M3,12 L24,12 L24,23 C24,24.1045695 23.1045695,25 22,25 L5,25 C3.8954305,25 3,24.1045695 3,23 L3,12 L3,12 Z" id="矩形" fill="#E3D2D2"></path>
<path d="M13.5,19 C15.1568542,19 16.5,20.3431458 16.5,22 L16.5,25 L16.5,25 L10.5,25 L10.5,22 C10.5,20.3431458 11.8431458,19 13.5,19 Z" id="矩形" fill="#FFFFFF"></path>
<path d="M7,4 L20,4 C20.6295146,4 21.2222912,4.29638831 21.6,4.8 L25.8,10.4 C26.1313708,10.8418278 26.0418278,11.4686292 25.6,11.8 C25.4269038,11.9298221 25.2163702,12 25,12 L2,12 C1.44771525,12 1,11.5522847 1,11 C1,10.7836298 1.07017787,10.5730962 1.2,10.4 L5.4,4.8 C5.77770876,4.29638831 6.37048539,4 7,4 Z" id="矩形" fill="#E3D2D2"></path>
<path d="M20.1055728,15.4472136 L24.5527864,13.2236068 C24.8343139,13.0828431 25.1656861,13.0828431 25.4472136,13.2236068 L29.8944272,15.4472136 C30.5719952,15.7859976 31,16.4785239 31,17.236068 L31,20.0948752 C31,22.569308 29.9009119,24.9159067 28,26.5 L26.2803688,27.933026 C25.5386769,28.5511026 24.4613231,28.5511026 23.7196312,27.933026 L22,26.5 C20.0990881,24.9159067 19,22.569308 19,20.0948752 L19,17.236068 C19,16.4785239 19.4280048,15.7859976 20.1055728,15.4472136 Z" id="矩形" fill="#0094FF"></path>
<path d="M24,13.5 L24,23 C24,24.1045695 23.1045695,25 22,25 L20.5961883,25.0009855 C19.5689695,23.5893868 19,21.8752192 19,20.0948752 L19,17.236068 C19,16.4785239 19.4280048,15.7859976 20.1055728,15.4472136 L24,13.5 Z" id="形状结合" fill="#5827DA"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>首页图标/本月计划备份_11@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="驿达小程序-首页0311" transform="translate(-355.000000, -2278.000000)" fill-rule="nonzero">
<g id="点赞" transform="translate(355.000000, 2278.000000)">
<rect id="矩形" fill="#4D66FF" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M12.0875,14.2609375 L12.06875,14.2609375 C11.4875,14.2546875 10.9046875,14.2546875 10.321875,14.2546875 L9.4328125,14.2546875 C8.8390625,14.2546875 8.2453125,14.2546875 7.65,14.246875 C7.3203125,14.2375 6.9953125,14.16875 6.6890625,14.04375 C6.16875,13.840625 5.871875,13.3875 5.87343136,12.7984375 L5.875,10.5890625 C5.875,9.365625 5.875,8.140625 5.8859375,6.9171875 C5.8875,6.584375 6.1015625,6.271875 6.284375,6.1078125 C6.9921875,5.4609375 7.7609375,4.6546875 8.0828125,3.5671875 C8.171875,3.2640625 8.20625,2.9296875 8.2421875,2.5765625 C8.3140625,1.8734375 8.7703125,1.415625 9.3796875,1.415625 C9.61875,1.415625 9.8578125,1.4875 10.0921875,1.6265625 C10.5625,1.909375 10.8765625,2.353125 11.05,2.9859375 C11.328125,3.990625 11.1859375,4.965625 11.0296875,5.8015625 L11.0296875,5.8046875 C10.99375,6 11.140625,6.18125 11.340625,6.18125 L13.371875,6.18125 C13.721875,6.18125 14.2234375,6.225 14.5328125,6.6 C14.7578125,6.8734375 14.821875,7.2421875 14.7265625,7.7296875 C14.4359375,9.228125 14.0796875,10.7390625 13.7390625,12.146875 C13.6328125,12.5859375 13.45625,12.9921875 13.2859375,13.3859375 L13.2125,13.5546875 C13.01875,14.0109375 12.61875,14.2609375 12.0875,14.2609375 L12.0875,14.2609375 Z M3.3765625,14.1140625 L3.190625,14.1140625 C2.51875,14.1140625 1.96875,13.5640625 1.96875,12.8921875 L1.96875,7.446875 C1.96875,6.775 2.51875,6.225 3.190625,6.225 L3.3765625,6.225 C4.0484375,6.225 4.59844082,6.775 4.59844082,7.446875 L4.59844082,12.890625 C4.6,13.5640625 4.05,14.1140625 3.3765625,14.1140625 L3.3765625,14.1140625 Z" id="形状" fill="#FF6E40"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>首页图标/本月计划备份_18@2x</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="驿达小程序-首页0311" transform="translate(-387.000000, -2278.000000)" fill-rule="nonzero">
<g id="点赞" transform="translate(387.000000, 2278.000000)">
<rect id="矩形" fill="#4D66FF" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M12.0875,14.2609375 L12.06875,14.2609375 C11.4875,14.2546875 10.9046875,14.2546875 10.321875,14.2546875 L9.4328125,14.2546875 C8.8390625,14.2546875 8.2453125,14.2546875 7.65,14.246875 C7.3203125,14.2375 6.9953125,14.16875 6.6890625,14.04375 C6.16875,13.840625 5.871875,13.3875 5.87343136,12.7984375 L5.875,10.5890625 C5.875,9.365625 5.875,8.140625 5.8859375,6.9171875 C5.8875,6.584375 6.1015625,6.271875 6.284375,6.1078125 C6.9921875,5.4609375 7.7609375,4.6546875 8.0828125,3.5671875 C8.171875,3.2640625 8.20625,2.9296875 8.2421875,2.5765625 C8.3140625,1.8734375 8.7703125,1.415625 9.3796875,1.415625 C9.61875,1.415625 9.8578125,1.4875 10.0921875,1.6265625 C10.5625,1.909375 10.8765625,2.353125 11.05,2.9859375 C11.328125,3.990625 11.1859375,4.965625 11.0296875,5.8015625 L11.0296875,5.8046875 C10.99375,6 11.140625,6.18125 11.340625,6.18125 L13.371875,6.18125 C13.721875,6.18125 14.2234375,6.225 14.5328125,6.6 C14.7578125,6.8734375 14.821875,7.2421875 14.7265625,7.7296875 C14.4359375,9.228125 14.0796875,10.7390625 13.7390625,12.146875 C13.6328125,12.5859375 13.45625,12.9921875 13.2859375,13.3859375 L13.2125,13.5546875 C13.01875,14.0109375 12.61875,14.2609375 12.0875,14.2609375 L12.0875,14.2609375 Z M3.3765625,14.1140625 L3.190625,14.1140625 C2.51875,14.1140625 1.96875,13.5640625 1.96875,12.8921875 L1.96875,7.446875 C1.96875,6.775 2.51875,6.225 3.190625,6.225 L3.3765625,6.225 C4.0484375,6.225 4.59844082,6.775 4.59844082,7.446875 L4.59844082,12.890625 C4.6,13.5640625 4.05,14.1140625 3.3765625,14.1140625 L3.3765625,14.1140625 Z" id="形状" fill="#4E68FF"></path>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB