update
@ -298,11 +298,11 @@ h4 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ico-ptrs:before {
|
.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 {
|
.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 {
|
.ico-je:before {
|
||||||
|
|||||||
@ -1,8 +1,15 @@
|
|||||||
*{ box-sizing: border-box;}
|
* {
|
||||||
.ml10 {margin-left: 8rpx;}
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml10 {
|
||||||
|
margin-left: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.pb20 {
|
.pb20 {
|
||||||
padding-bottom: 32rpx;
|
padding-bottom: 32rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-title {
|
.content-title {
|
||||||
|
|
||||||
width: 78%;
|
width: 78%;
|
||||||
@ -14,6 +21,7 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.box-top {
|
.box-top {
|
||||||
margin-left: 40rpx;
|
margin-left: 40rpx;
|
||||||
margin-right: 40rpx;
|
margin-right: 40rpx;
|
||||||
@ -23,22 +31,26 @@
|
|||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
padding: 16rpx 0 8rpx 0;
|
padding: 16rpx 0 8rpx 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-card {
|
.main-card {
|
||||||
/* border: 1rpx solid #eee; */
|
/* border: 1rpx solid #eee; */
|
||||||
border-radius: 8rpx;
|
border-radius: 8rpx;
|
||||||
/* box-shadow: 0px 2rpx 8rpx 0.4rpx #e2e2e2; */
|
/* box-shadow: 0px 2rpx 8rpx 0.4rpx #e2e2e2; */
|
||||||
box-shadow: 0px 4rpx 10rpx 0px rgba(201,201,201,0.52);
|
box-shadow: 0px 4rpx 10rpx 0px rgba(201, 201, 201, 0.52);
|
||||||
margin-left: 30rpx;
|
margin-left: 30rpx;
|
||||||
margin-right: 30rpx;
|
margin-right: 30rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding: 16rpx 0;
|
padding: 16rpx 0;
|
||||||
}
|
}
|
||||||
.main-card +.main-card {
|
|
||||||
|
.main-card+.main-card {
|
||||||
margin-top: 26rpx;
|
margin-top: 26rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.uni-collapse-content .main-card:nth-last-child(1) {
|
.uni-collapse-content .main-card:nth-last-child(1) {
|
||||||
margin-bottom: 40rpx;
|
margin-bottom: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.card-title {
|
.card-title {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -53,18 +65,24 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0 16rpx 12rpx 16rpx;
|
padding: 0 16rpx 12rpx 16rpx;
|
||||||
}
|
}
|
||||||
.base-body > div, .base-body > p{
|
|
||||||
|
.base-body>div,
|
||||||
|
.base-body>p {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.base-body > div span, .base-body > p span{
|
|
||||||
|
.base-body>div span,
|
||||||
|
.base-body>p span {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.base-body i.ico {
|
.base-body i.ico {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-title {
|
.item-title {
|
||||||
color: #888;
|
color: #888;
|
||||||
min-width: 120rpx;
|
min-width: 120rpx;
|
||||||
@ -83,47 +101,59 @@
|
|||||||
/* font-weight: bold; */
|
/* font-weight: bold; */
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.base-body.bb {
|
.base-body.bb {
|
||||||
border-top: 1rpx dashed #eee;
|
border-top: 1rpx dashed #eee;
|
||||||
padding-top: 16rpx;
|
padding-top: 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-other.bb {
|
.detail-other.bb {
|
||||||
border-top: 12rpx solid #eee;
|
border-top: 12rpx solid #eee;
|
||||||
padding-top: 16rpx;
|
padding-top: 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-other {
|
.detail-other {
|
||||||
padding: 0 16rpx 16rpx;
|
padding: 0 16rpx 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-sign {
|
.detail-sign {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
padding: 16rpx 32rpx 8rpx 32rpx;
|
padding: 16rpx 32rpx 8rpx 32rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-other p {
|
.detail-other p {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-cont {
|
.detail-cont {
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
/* margin-top: 8rpx; */
|
/* margin-top: 8rpx; */
|
||||||
padding-left: 40rpx;
|
padding-left: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.flex {
|
.flex {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: baseline;
|
align-items: baseline;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-card.detail-other {
|
.main-card.detail-other {
|
||||||
padding-top: 16rpx;
|
padding-top: 16rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.base-info {
|
.base-info {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
.base-info + .base-info {
|
|
||||||
|
.base-info+.base-info {
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-b9 {
|
.text-b9 {
|
||||||
color: #b9b9b9
|
color: #b9b9b9
|
||||||
}
|
}
|
||||||
|
|
||||||
.process-box {
|
.process-box {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -135,9 +165,11 @@
|
|||||||
.uni-list-cell:after {
|
.uni-list-cell:after {
|
||||||
height: 0;
|
height: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-hover {
|
.button-hover {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-box {
|
.button-box {
|
||||||
padding-top: 36rpx;
|
padding-top: 36rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -145,10 +177,12 @@
|
|||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
padding-bottom: 6rpx;
|
padding-bottom: 6rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-box image {
|
.button-box image {
|
||||||
width: 100rpx;
|
width: 100rpx;
|
||||||
height: 100rpx;
|
height: 100rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-box span {
|
.button-box span {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -156,6 +190,7 @@
|
|||||||
/* background-color: #fff; */
|
/* background-color: #fff; */
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-box span i:before {
|
.button-box span i:before {
|
||||||
height: 90rpx;
|
height: 90rpx;
|
||||||
width: 90rpx;
|
width: 90rpx;
|
||||||
@ -164,56 +199,70 @@
|
|||||||
box-shadow: 0rpx 2rpx 4rpx #cbcbcb;
|
box-shadow: 0rpx 2rpx 4rpx #cbcbcb;
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
.imgBox{
|
|
||||||
|
.imgBox {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding-left: 32rpx;
|
padding-left: 32rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .ico-wjxz:before{
|
/* .ico-wjxz:before{
|
||||||
background-image: url('/static/images/tender/wjxz.png');
|
background-image: url('/static/images/tender/wjxz.png');
|
||||||
} */
|
} */
|
||||||
.ico-ndbz:before{
|
.ico-ndbz:before {
|
||||||
background-image: url('/static/images/tender/je.png');
|
background-image: url('/static/images/tender/je.png');
|
||||||
}
|
}
|
||||||
.ico-user:before{
|
|
||||||
|
.ico-user:before {
|
||||||
background-image: url('/static/images/tender/lxr.png');
|
background-image: url('/static/images/tender/lxr.png');
|
||||||
}
|
}
|
||||||
.ico-shijian:before{
|
|
||||||
|
.ico-shijian:before {
|
||||||
background-image: url('/static/images/tender/sj.png');
|
background-image: url('/static/images/tender/sj.png');
|
||||||
}
|
}
|
||||||
.ico-bgw:before{
|
|
||||||
background-image: url('/static/images/tender/bgw.png');
|
.ico-bgw:before {
|
||||||
}
|
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');
|
|
||||||
}
|
|
||||||
.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');
|
|
||||||
}
|
|
||||||
.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');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.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('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('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');
|
||||||
|
}
|
||||||
@ -123,7 +123,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ico-pdf:before {
|
.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 {
|
.ico-ppt:before {
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="content">
|
<view class="content">
|
||||||
<view>
|
<view>
|
||||||
<view class="block-title">请选择请假审批流程</view>
|
<view class="block-title">请选择请假审批流程</view>
|
||||||
<view class="uni-flex uni-row leave-box">
|
<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>
|
<image :src="item.imgPath" mode="aspectFit" style="width: 67upx;height: 61upx;"></image>
|
||||||
<text class="type-title">{{item.Prodef_Name}}</text>
|
<text class="type-title">{{ item.Prodef_Name }}</text>
|
||||||
<text>请假审批流程</text>
|
<text>请假审批流程</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="leave-type uni-flex uni-column" :class="{'active':selectType==461}" @tap="choeseSelect(461)">
|
<!-- <view class="leave-type uni-flex uni-column" :class="{'active':selectType==461}" @tap="choeseSelect(461)">
|
||||||
@ -26,167 +27,181 @@
|
|||||||
<text>服务区</text>
|
<text>服务区</text>
|
||||||
<text class="text-red">*</text>
|
<text class="text-red">*</text>
|
||||||
<view class=" uni-flex uni-row" style="flex: 1;margin-left: 32upx;align-items: center;">
|
<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>
|
</picker>
|
||||||
<i class="uni-icon uni-icon-arrowright"></i>
|
<i class="uni-icon uni-icon-arrowright"></i>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="block-title tip-text text-red">注:请选择相应的请假流程进行提交</view>
|
<view class="block-title tip-text text-red">注:请选择相应的请假流程进行提交</view>
|
||||||
</view>
|
</view>
|
||||||
<button type="default" class="next-btn" @tap="nextTap">下一步</button>
|
<button type="default" class="next-btn" @tap="nextTap">下一步</button>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {mapGetters} from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
prodeList: [
|
prodeList: [
|
||||||
|
|
||||||
456,
|
456,
|
||||||
461,
|
461,
|
||||||
462
|
462
|
||||||
],
|
],
|
||||||
selectType: 456,
|
selectType: 456,
|
||||||
severpartList: [],
|
severpartList: [],
|
||||||
canselectList:{},
|
canselectList: {},
|
||||||
pickerIndex: 0,
|
pickerIndex: 0,
|
||||||
}
|
|
||||||
},
|
|
||||||
computed:{
|
|
||||||
...mapGetters({'users':'getUser'})
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
choeseSelect(_id) {
|
|
||||||
this.selectType = _id
|
|
||||||
if(_id==462){
|
|
||||||
this.severpartList = this.canselectList.ListSpregion
|
|
||||||
}else{
|
|
||||||
this.severpartList = this.canselectList.ListServer
|
|
||||||
}
|
|
||||||
this.$forceUpdate()
|
|
||||||
|
|
||||||
},
|
|
||||||
pickerChange(e){
|
|
||||||
|
|
||||||
this.pickerIndex = e.detail.value
|
|
||||||
},
|
|
||||||
getSeverpart(){
|
|
||||||
let _this = this
|
|
||||||
_this.$request.$get('GetStaffLeaveServerpart',{}).then(res=>{
|
|
||||||
_this.canselectList = res.Data
|
|
||||||
_this.severpartList = res.Data.ListServer
|
|
||||||
})
|
|
||||||
},
|
|
||||||
nextTap(){
|
|
||||||
this.$util.toNextRoute('navigateTo', '/pages/askForLeave/newLeave2?prodefId='+this.selectType+'&sCode='+this.severpartList[this.pickerIndex].SERVERPART_CODE)
|
|
||||||
|
|
||||||
},
|
|
||||||
getProde(){
|
|
||||||
let _this =this
|
|
||||||
let img = ['https://eshangtech.com/ShopICO/ahyd-BID/leave/fwq-yg.png','https://eshangtech.com/ShopICO/ahyd-BID/leave/fwq-gl.png','https://eshangtech.com/ShopICO/ahyd-BID/leave/qy.png']
|
|
||||||
this.$request.$get('GetProdefInfo',{}).then(res=>{
|
|
||||||
if(res.ResultCode==100){
|
|
||||||
_this.selectType = res.Data.List[0].Prodef_Id
|
|
||||||
res.Data.List.map((n,i)=>{
|
|
||||||
n.Prodef_Name = n.Prodef_Name.replace('请假审批流程','')
|
|
||||||
n.imgPath = img[i]
|
|
||||||
|
|
||||||
})
|
|
||||||
_this.prodeList = res.Data.List
|
|
||||||
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onUnload() {
|
|
||||||
this.$util.addUserBehavior()
|
|
||||||
},
|
|
||||||
onLoad() {
|
|
||||||
this.getProde()
|
|
||||||
this.getSeverpart()
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters({ 'users': 'getUser' })
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
choeseSelect(_id) {
|
||||||
|
this.selectType = _id
|
||||||
|
if (_id == 462) {
|
||||||
|
this.severpartList = this.canselectList.ListSpregion
|
||||||
|
} else {
|
||||||
|
this.severpartList = this.canselectList.ListServer
|
||||||
|
}
|
||||||
|
this.$forceUpdate()
|
||||||
|
|
||||||
|
},
|
||||||
|
pickerChange(e) {
|
||||||
|
|
||||||
|
this.pickerIndex = e.detail.value
|
||||||
|
},
|
||||||
|
getSeverpart() {
|
||||||
|
let _this = this
|
||||||
|
_this.$request.$get('GetStaffLeaveServerpart', {}).then(res => {
|
||||||
|
_this.canselectList = res.Data
|
||||||
|
_this.severpartList = res.Data.ListServer
|
||||||
|
})
|
||||||
|
},
|
||||||
|
nextTap() {
|
||||||
|
this.$util.toNextRoute('navigateTo', '/pages/askForLeave/newLeave2?prodefId=' + this.selectType + '&sCode=' + this.severpartList[this.pickerIndex].SERVERPART_CODE)
|
||||||
|
|
||||||
|
},
|
||||||
|
getProde() {
|
||||||
|
let _this = this
|
||||||
|
let img = ['https://eshangtech.com/ShopICO/ahyd-BID/leave/fwq-yg.png', 'https://eshangtech.com/ShopICO/ahyd-BID/leave/fwq-gl.png', 'https://eshangtech.com/ShopICO/ahyd-BID/leave/qy.png']
|
||||||
|
this.$request.$get('GetProdefInfo', {}).then(res => {
|
||||||
|
if (res.ResultCode == 100) {
|
||||||
|
_this.selectType = res.Data.List[0].Prodef_Id
|
||||||
|
res.Data.List.map((n, i) => {
|
||||||
|
n.Prodef_Name = n.Prodef_Name.replace('请假审批流程', '')
|
||||||
|
n.imgPath = img[i]
|
||||||
|
|
||||||
|
})
|
||||||
|
_this.prodeList = res.Data.List
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onUnload() {
|
||||||
|
this.$util.addUserBehavior()
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.getProde()
|
||||||
|
this.getSeverpart()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.content {
|
.content {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
justify-content: space-between;
|
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;
|
|
||||||
background-color: #FFFFFF;
|
|
||||||
overflow: hidden;
|
|
||||||
border-radius: 12upx;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 24upx;
|
|
||||||
align-items: center;
|
|
||||||
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-size: contain;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
right: -2upx;
|
|
||||||
top: 0;
|
|
||||||
height: 59upx;
|
|
||||||
width: 61upx;
|
|
||||||
|
|
||||||
}
|
.block-title {
|
||||||
.type-title{
|
color: #788691;
|
||||||
margin-top: 24upx;
|
font-size: 26upx;
|
||||||
line-height: 1;
|
padding: 27upx 24upx;
|
||||||
}
|
}
|
||||||
.block-input {
|
|
||||||
height: 92upx;
|
.leave-box {
|
||||||
background-color: #fff;
|
justify-content: space-around;
|
||||||
padding: 0 24upx;
|
padding: 0 12upx;
|
||||||
}
|
margin-bottom: 24upx;
|
||||||
.text-red {
|
}
|
||||||
color: #EA3020;
|
|
||||||
}
|
.leave-type {
|
||||||
.tip-text {
|
width: 216upx;
|
||||||
font-size: 24upx;
|
height: 222upx;
|
||||||
margin-top: 24upx;
|
background-color: #FFFFFF;
|
||||||
}
|
overflow: hidden;
|
||||||
.uni-icon-arrowright{
|
border-radius: 12upx;
|
||||||
color: #969EA4;
|
text-align: center;
|
||||||
}
|
font-size: 24upx;
|
||||||
.next-btn {
|
align-items: center;
|
||||||
background-color: #fff;
|
justify-content: center;
|
||||||
width: 95%;
|
border: 1upx solid #fff;
|
||||||
border-radius: 0;
|
}
|
||||||
color: #5E8FEA;
|
|
||||||
font-size: 32upx;
|
.leave-type.active {
|
||||||
height: 90upx;
|
border-color: #5E8FEA;
|
||||||
line-height: 89upx;
|
position: relative;
|
||||||
margin-top: 60upx;
|
}
|
||||||
}
|
|
||||||
button:after {
|
.active:after {
|
||||||
border: none;
|
content: '';
|
||||||
border-radius: 0;
|
position: absolute;
|
||||||
border-top: 2upx solid #E9EDF2;
|
background-image: url('https://eshangtech.com/ShopICO/ahyd-BID/leave/type-active.png');
|
||||||
}
|
background-size: contain;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
right: -2upx;
|
||||||
|
top: 0;
|
||||||
|
height: 59upx;
|
||||||
|
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%;
|
||||||
|
border-radius: 0;
|
||||||
|
color: #5E8FEA;
|
||||||
|
font-size: 32upx;
|
||||||
|
height: 90upx;
|
||||||
|
line-height: 89upx;
|
||||||
|
margin-top: 60upx;
|
||||||
|
}
|
||||||
|
|
||||||
|
button:after {
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
border-top: 2upx solid #E9EDF2;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,167 +1,183 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main">
|
<div class="main">
|
||||||
<div class="thisMonth" v-if="type==='month'">
|
<div class="thisMonth" v-if="type === 'month'">
|
||||||
<div class="titleTop">
|
<div class="titleTop">
|
||||||
<p class="title">本月自营计划</p>
|
<p class="title">本月自营计划</p>
|
||||||
<div class="question" @click="handleShowNotice">
|
<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>
|
||||||
<div v-if="showNotice" class="titleTopNotice">{{monthNoticeText}}</div>
|
<div v-if="showNotice" class="titleTopNotice">{{ monthNoticeText }}</div>
|
||||||
<div v-if="showNotice" class="meng" @click="handleNoShowNotice"></div>
|
<div v-if="showNotice" class="meng" @click="handleNoShowNotice"></div>
|
||||||
</div>
|
</div>
|
||||||
<view class="box">
|
<view class="box">
|
||||||
<view class="top">
|
<view class="top">
|
||||||
<view class="big">
|
<view class="big">
|
||||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/thisMonth.svg"></image>
|
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/thisMonth.svg"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<view class="textTop">
|
<view class="textTop">
|
||||||
<view class="left">
|
<view class="left">
|
||||||
<p class="number">{{info.Budget_Degree?info.Budget_Degree + '%':'-'}}</p>
|
<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">
|
||||||
</view>
|
<image class="success" src="/static/images/index/successMonth.svg"></image>
|
||||||
<view class="right">
|
</p>
|
||||||
<text class="comparePlan">比计划: </text>
|
</view>
|
||||||
<view class="box2">
|
<view class="right">
|
||||||
<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>
|
<text class="comparePlan">比计划: </text>
|
||||||
<p class="text">{{info.Growth_Rate ?Math.abs(info.Growth_Rate) + '%':'-'}}</p>
|
<view class="box2">
|
||||||
</view>
|
<image class="addIcon"
|
||||||
</view>
|
:src="Number(info.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
|
||||||
</view>
|
</image>
|
||||||
<div class="progressPlan">
|
<p class="text">{{ info.Growth_Rate ? Math.abs(info.Growth_Rate) + '%' : '-' }}</p>
|
||||||
<div class="trans" :style="{width:info.Budget_Degree + '%'}"></div>
|
</view>
|
||||||
</div>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<div class="progressPlan">
|
||||||
<view class="bottom">
|
<div class="trans" :style="{ width: info.Budget_Degree + '%' }"></div>
|
||||||
<view class="success" style="margin-right: 39px">
|
</div>
|
||||||
<p class="text">本月已完成<text class="unit">/元</text></p>
|
</view>
|
||||||
<p class="money">{{info.Revenue_Amount ?info.Revenue_Amount :'-'}}</p>
|
</view>
|
||||||
</view>
|
<view class="bottom">
|
||||||
<view class="success">
|
<view class="success" style="margin-right: 39px">
|
||||||
<p class="text">本月计划<text class="unit">/元</text></p>
|
<p class="text">本月已完成<text class="unit">/元</text></p>
|
||||||
<p class="money">{{info.Budget_Amount ?info.Budget_Amount :'-'}}</p>
|
<p class="money">{{ info.Revenue_Amount ? info.Revenue_Amount : '-' }}</p>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view class="success">
|
||||||
</view>
|
<p class="text">本月计划<text class="unit">/元</text></p>
|
||||||
</div>
|
<p class="money">{{ info.Budget_Amount ? info.Budget_Amount : '-' }}</p>
|
||||||
<div class="thisYear" style="margin-top: 0px" v-if="type==='year'">
|
</view>
|
||||||
<div class="titleTop">
|
</view>
|
||||||
<p class="title">年度自营计划</p>
|
</view>
|
||||||
<div class="question" @click="handleShowNoticeYear">
|
</div>
|
||||||
<image src="/static/images/index/noticeQuestion.svg"></image>
|
<div class="thisYear" style="margin-top: 0px" v-if="type === 'year'">
|
||||||
</div>
|
<div class="titleTop">
|
||||||
<div v-if="showNoticeYear" class="titleTopNotice">{{yearNoticeText}}</div>
|
<p class="title">年度自营计划</p>
|
||||||
<div v-if="showNoticeYear" class="meng" @click="handleNoShowNoticeYear"></div>
|
<div class="question" @click="handleShowNoticeYear">
|
||||||
</div>
|
<image src="https://eshangtech.com/ShopICO/ahyd-BID/index/noticeQuestion.svg"></image>
|
||||||
<view class="box">
|
</div>
|
||||||
<view class="top">
|
<div v-if="showNoticeYear" class="titleTopNotice">{{ yearNoticeText }}</div>
|
||||||
<view class="big">
|
<div v-if="showNoticeYear" class="meng" @click="handleNoShowNoticeYear"></div>
|
||||||
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/planYear.svg"></image>
|
</div>
|
||||||
</view>
|
<view class="box">
|
||||||
<view class="text">
|
<view class="top">
|
||||||
<view class="textTop">
|
<view class="big">
|
||||||
<view class="left">
|
<image class="icon" src="https://eshangtech.com/ShopICO/ahyd-BID/index/planYear.svg"></image>
|
||||||
<p class="number">{{info.Budget_Degree?info.Budget_Degree + '%':'-'}}</p>
|
</view>
|
||||||
<p v-if="info.Budget_Degree>=100" class="desc" style="color: #4E68FF"><image class="success" src="/static/images/index/yearSuccess.svg"></image></p>
|
<view class="text">
|
||||||
</view>
|
<view class="textTop">
|
||||||
<view class="right">
|
<view class="left">
|
||||||
<text class="comparePlan">比计划: </text>
|
<p class="number">{{ info.Budget_Degree ? info.Budget_Degree + '%' : '-' }}</p>
|
||||||
<div class="box2">
|
<p v-if="info.Budget_Degree >= 100" class="desc" style="color: #4E68FF">
|
||||||
<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="success"
|
||||||
<p class="text">{{info.Growth_Rate?Math.abs(info.Growth_Rate) + '%':''}}</p>
|
src="https://eshangtech.com/ShopICO/ahyd-BID/index/yearSuccess.svg"></image>
|
||||||
</div>
|
</p>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view class="right">
|
||||||
<div class="progressPlan">
|
<text class="comparePlan">比计划: </text>
|
||||||
<div class="transYear" :style="{width:info.Budget_Degree + '%'}"></div>
|
<div class="box2">
|
||||||
<!-- <image class="img" :style="{width: plan.percentageYear + '%'}" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png"></image>-->
|
<image class="addIcon"
|
||||||
<!-- <div class=pro :style="{width:(100 - plan.percentageYear)+ '%'}"></div>-->
|
:src="Number(info.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
|
||||||
</div>
|
</image>
|
||||||
</view>
|
<p class="text">{{ info.Growth_Rate ? Math.abs(info.Growth_Rate) + '%' : '' }}</p>
|
||||||
</view>
|
</div>
|
||||||
<view class="bottom">
|
</view>
|
||||||
<view class="success" style="margin-right: 39px">
|
</view>
|
||||||
<p class="text">年度已完成<text class="unit">/元</text></p>
|
<div class="progressPlan">
|
||||||
<p class="money">{{info.Revenue_Amount ?info.Revenue_Amount :'-'}}</p>
|
<div class="transYear" :style="{ width: info.Budget_Degree + '%' }"></div>
|
||||||
</view>
|
<!-- <image class="img" :style="{width: plan.percentageYear + '%'}" src="https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png"></image>-->
|
||||||
<view class="success">
|
<!-- <div class=pro :style="{width:(100 - plan.percentageYear)+ '%'}"></div>-->
|
||||||
<p class="text">年度计划<text class="unit">/元</text></p>
|
</div>
|
||||||
<p class="money">{{info.Budget_Amount ?info.Budget_Amount :'-'}}</p>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view class="bottom">
|
||||||
</view>
|
<view class="success" style="margin-right: 39px">
|
||||||
</div>
|
<p class="text">年度已完成<text class="unit">/元</text></p>
|
||||||
|
<p class="money">{{ info.Revenue_Amount ? info.Revenue_Amount : '-' }}</p>
|
||||||
|
</view>
|
||||||
|
<view class="success">
|
||||||
|
<p class="text">年度计划<text class="unit">/元</text></p>
|
||||||
|
<p class="money">{{ info.Budget_Amount ? info.Budget_Amount : '-' }}</p>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="listBox">
|
<div class="listBox">
|
||||||
<div class="list" v-for="(item,index) in dataList" :key="index" @click="handleGoDetail(item)">
|
<div class="list" v-for="(item, index) in dataList" :key="index" @click="handleGoDetail(item)">
|
||||||
<div class="top">
|
<div class="top">
|
||||||
<div class="left">
|
<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 === 'month'"><text class="name">{{ item.name }}</text>{{ item.unit
|
||||||
<p class="title" v-if="type==='year'"><text class="name">{{item.Statistics_Month}}</text>月</p>
|
}}</p>
|
||||||
<div class="value" :style="{color:type==='year'?'#4962FF':''}">{{item.Budget_Degree}}%</div>
|
<p class="title" v-if="type === 'year'"><text class="name">{{ item.Statistics_Month }}</text>月
|
||||||
</div>
|
</p>
|
||||||
<div class="right">
|
<div class="value" :style="{ color: type === 'year' ? '#4962FF' : '' }">{{ item.Budget_Degree
|
||||||
<text class="comparePlan">比计划: </text>
|
}}%</div>
|
||||||
<div class="box2">
|
</div>
|
||||||
<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>
|
<div class="right">
|
||||||
<p class="text">{{item.Growth_Rate?Math.abs(item.Growth_Rate) + '%':''}}</p>
|
<text class="comparePlan">比计划: </text>
|
||||||
</div>
|
<div class="box2">
|
||||||
</div>
|
<image class="addIcon"
|
||||||
</div>
|
:src="Number(item.Growth_Rate) > 0 ? 'https://eshangtech.com/ShopICO/ahyd-BID/index/addIcon.svg' : 'https://eshangtech.com/ShopICO/ahyd-BID/index/reduce.svg'">
|
||||||
<div class="progress">
|
</image>
|
||||||
<div class="have" :style="{width:item.Budget_Degree + '%',background: type==='month'?'#FF8E5B':'#778CFD'}"></div>
|
<p class="text">{{ item.Growth_Rate ? Math.abs(item.Growth_Rate) + '%' : '' }}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom">
|
</div>
|
||||||
<div class="success">
|
</div>
|
||||||
<text class="text">已完成:</text>
|
<div class="progress">
|
||||||
<text class="money">{{item.Revenue_Amount}}</text>
|
<div class="have"
|
||||||
</div>
|
:style="{ width: item.Budget_Degree + '%', background: type === 'month' ? '#FF8E5B' : '#778CFD' }">
|
||||||
<div class="success">
|
</div>
|
||||||
<text class="text">计划: </text>
|
</div>
|
||||||
<text class="money">{{item.Budget_Amount }}</text>
|
<div class="bottom">
|
||||||
</div>
|
<div class="success">
|
||||||
</div>
|
<text class="text">已完成:</text>
|
||||||
</div>
|
<text class="money">{{ item.Revenue_Amount }}</text>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="success">
|
||||||
|
<text class="text">计划: </text>
|
||||||
|
<text class="money">{{ item.Budget_Amount }}</text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import request from '@/util/index.js'
|
import request from '@/util/index.js'
|
||||||
export default {
|
export default {
|
||||||
name: "planMonth",
|
name: "planMonth",
|
||||||
data(){
|
data() {
|
||||||
return {
|
return {
|
||||||
plan:{},
|
plan: {},
|
||||||
monthAdd:'',
|
monthAdd: '',
|
||||||
yearAdd:'',
|
yearAdd: '',
|
||||||
lastDay:'',
|
lastDay: '',
|
||||||
type:'month',
|
type: 'month',
|
||||||
showNotice:false,
|
showNotice: false,
|
||||||
showNoticeYear:false,
|
showNoticeYear: false,
|
||||||
dataList:[],
|
dataList: [],
|
||||||
info:{
|
info: {
|
||||||
Budget_Degree:0,
|
Budget_Degree: 0,
|
||||||
Growth_Rate:0,
|
Growth_Rate: 0,
|
||||||
Budget_Amount:'',
|
Budget_Amount: '',
|
||||||
Revenue_Amount:''
|
Revenue_Amount: ''
|
||||||
},
|
},
|
||||||
monthNoticeText:'',
|
monthNoticeText: '',
|
||||||
yearNoticeText:''
|
yearNoticeText: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
onLoad(option){
|
onLoad(option) {
|
||||||
// 拿到点进来的时间
|
// 拿到点进来的时间
|
||||||
this.lastDay = option.lastDay
|
this.lastDay = option.lastDay
|
||||||
// 判断是从年份还是月份点进
|
// 判断是从年份还是月份点进
|
||||||
this.type = option.type
|
this.type = option.type
|
||||||
if (this.type==='month'){
|
if (this.type === 'month') {
|
||||||
uni.setNavigationBarTitle({
|
uni.setNavigationBarTitle({
|
||||||
title: '本月自营计划',
|
title: '本月自营计划',
|
||||||
})
|
})
|
||||||
}else if(this.type==='year'){
|
} else if (this.type === 'year') {
|
||||||
uni.setNavigationBarTitle({
|
uni.setNavigationBarTitle({
|
||||||
title: '年度自营计划',
|
title: '年度自营计划',
|
||||||
})
|
})
|
||||||
@ -178,74 +194,74 @@ export default {
|
|||||||
onUnload() {
|
onUnload() {
|
||||||
this.$util.addUserBehavior()
|
this.$util.addUserBehavior()
|
||||||
},
|
},
|
||||||
methods:{
|
methods: {
|
||||||
async handleNoticeMonth(){
|
async handleNoticeMonth() {
|
||||||
let date = new Date(this.lastDay)
|
let date = new Date(this.lastDay)
|
||||||
let y = date.getFullYear()
|
let y = date.getFullYear()
|
||||||
let m = date.getMonth() + 1
|
let m = date.getMonth() + 1
|
||||||
if(m<10){
|
if (m < 10) {
|
||||||
m = '0'+m
|
m = '0' + m
|
||||||
}
|
}
|
||||||
//本月的
|
//本月的
|
||||||
let req = {
|
let req = {
|
||||||
SearchParameter:{
|
SearchParameter: {
|
||||||
STATISTICS_DATE:`${y}-${m}`,
|
STATISTICS_DATE: `${y}-${m}`,
|
||||||
ANALYSISINS_TYPE:'1011',
|
ANALYSISINS_TYPE: '1011',
|
||||||
ANALYSISINS_FORMAT:'3000'
|
ANALYSISINS_FORMAT: '3000'
|
||||||
},
|
},
|
||||||
PageIndex:1,
|
PageIndex: 1,
|
||||||
PageSize:10
|
PageSize: 10
|
||||||
}
|
}
|
||||||
const data = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',req)
|
const data = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList', req)
|
||||||
this.monthNoticeText = data.Result_Data.List[0].ANALYSIS_CONTENT
|
this.monthNoticeText = data.Result_Data.List[0].ANALYSIS_CONTENT
|
||||||
},
|
},
|
||||||
async handleNoticeYear(){
|
async handleNoticeYear() {
|
||||||
let date = new Date(this.lastDay)
|
let date = new Date(this.lastDay)
|
||||||
let y = date.getFullYear()
|
let y = date.getFullYear()
|
||||||
let m = date.getMonth() + 1
|
let m = date.getMonth() + 1
|
||||||
if(m<10){
|
if (m < 10) {
|
||||||
m = '0'+m
|
m = '0' + m
|
||||||
}
|
}
|
||||||
//本年
|
//本年
|
||||||
let reqYear = {
|
let reqYear = {
|
||||||
SearchParameter:{
|
SearchParameter: {
|
||||||
STATISTICS_DATE:`${y}`,
|
STATISTICS_DATE: `${y}`,
|
||||||
ANALYSISINS_TYPE:'1012',
|
ANALYSISINS_TYPE: '1012',
|
||||||
ANALYSISINS_FORMAT:'3000'
|
ANALYSISINS_FORMAT: '3000'
|
||||||
},
|
},
|
||||||
PageIndex:1,
|
PageIndex: 1,
|
||||||
PageSize:10
|
PageSize: 10
|
||||||
}
|
}
|
||||||
const totalData = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList',reqYear)
|
const totalData = await request.$webPost('CommercialApi/Analysis/GetANALYSISINSList', reqYear)
|
||||||
this.yearNoticeText = totalData.Result_Data.List[0].ANALYSIS_CONTENT
|
this.yearNoticeText = totalData.Result_Data.List[0].ANALYSIS_CONTENT
|
||||||
},
|
},
|
||||||
//跳转到详情页
|
//跳转到详情页
|
||||||
handleGoDetail(item){
|
handleGoDetail(item) {
|
||||||
if (this.type==='year'){
|
if (this.type === 'year') {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:`/pages/commercialBI/planDetail?type=${this.type}&month=${item.Statistics_Month}`
|
url: `/pages/commercialBI/planDetail?type=${this.type}&month=${item.Statistics_Month}`
|
||||||
})
|
})
|
||||||
}else{
|
} else {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:`/pages/commercialBI/planDetail?type=${this.type}&item=${JSON.stringify(item)}&id=${item.Serverpart_ID}`
|
url: `/pages/commercialBI/planDetail?type=${this.type}&item=${JSON.stringify(item)}&id=${item.Serverpart_ID}`
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getPlanListData(type){
|
async getPlanListData(type) {
|
||||||
let req = {
|
let req = {
|
||||||
StatisticsDate:this.lastDay,
|
StatisticsDate: this.lastDay,
|
||||||
ProvinceCode:'340000',
|
ProvinceCode: '340000',
|
||||||
StatisticsType:type==='month'?1:type==='year'?2:''
|
StatisticsType: type === 'month' ? 1 : type === 'year' ? 2 : ''
|
||||||
}
|
}
|
||||||
const data = await request.$webGet('CommercialApi/Revenue/GetProvinceRevenueBudget',req)
|
const data = await request.$webGet('CommercialApi/Revenue/GetProvinceRevenueBudget', req)
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
data.Result_Data.RegionBudgetList.forEach(item=>{
|
data.Result_Data.RegionBudgetList.forEach(item => {
|
||||||
if (type==='month'){
|
if (type === 'month') {
|
||||||
let num = item.Serverpart_Name.indexOf('片区')
|
let num = item.Serverpart_Name.indexOf('片区')
|
||||||
if (num!==-1){
|
if (num !== -1) {
|
||||||
item.name = item.Serverpart_Name.slice(0,num)
|
item.name = item.Serverpart_Name.slice(0, num)
|
||||||
item.unit = item.Serverpart_Name.slice(num,100)
|
item.unit = item.Serverpart_Name.slice(num, 100)
|
||||||
}else{
|
} else {
|
||||||
item.name = item.Serverpart_Name
|
item.name = item.Serverpart_Name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -257,16 +273,16 @@ export default {
|
|||||||
this.info.Revenue_Amount = this.$util.fmoney(this.info.Revenue_Amount)
|
this.info.Revenue_Amount = this.$util.fmoney(this.info.Revenue_Amount)
|
||||||
this.dataList = data.Result_Data.RegionBudgetList
|
this.dataList = data.Result_Data.RegionBudgetList
|
||||||
},
|
},
|
||||||
handleShowNotice(){
|
handleShowNotice() {
|
||||||
this.showNotice = true
|
this.showNotice = true
|
||||||
},
|
},
|
||||||
handleNoShowNotice(){
|
handleNoShowNotice() {
|
||||||
this.showNotice = false
|
this.showNotice = false
|
||||||
},
|
},
|
||||||
handleShowNoticeYear(){
|
handleShowNoticeYear() {
|
||||||
this.showNoticeYear = true
|
this.showNoticeYear = true
|
||||||
},
|
},
|
||||||
handleNoShowNoticeYear(){
|
handleNoShowNoticeYear() {
|
||||||
this.showNoticeYear = false
|
this.showNoticeYear = false
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -274,18 +290,22 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.main{
|
.main {
|
||||||
padding: 0 16px;
|
padding: 0 16px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
.thisMonth,.thisYear{
|
|
||||||
|
.thisMonth,
|
||||||
|
.thisYear {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
.titleTop{
|
|
||||||
|
.titleTop {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.title {
|
.title {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
font-family: PingFangSC-Semibold, PingFang SC;
|
font-family: PingFangSC-Semibold, PingFang SC;
|
||||||
@ -293,34 +313,40 @@ export default {
|
|||||||
color: #160002;
|
color: #160002;
|
||||||
line-height: 44rpx;
|
line-height: 44rpx;
|
||||||
}
|
}
|
||||||
.question{
|
|
||||||
|
.question {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
image{
|
|
||||||
|
image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.titleTopNotice{
|
|
||||||
|
.titleTopNotice {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
left:35%;
|
left: 35%;
|
||||||
top: 0;
|
top: 0;
|
||||||
width: 50vw;
|
width: 50vw;
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
box-shadow: 0 10px 10px 0 rgba(22,0,2,0.1);
|
box-shadow: 0 10px 10px 0 rgba(22, 0, 2, 0.1);
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
}
|
}
|
||||||
.meng{
|
|
||||||
|
.meng {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;left: 0;
|
top: 0;
|
||||||
|
left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.box {
|
.box {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 12px 16px;
|
padding: 12px 16px;
|
||||||
@ -328,9 +354,11 @@ export default {
|
|||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background: #f5f2f2;
|
background: #f5f2f2;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
|
|
||||||
.top {
|
.top {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.big {
|
.big {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
@ -341,21 +369,26 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-right: 8px;
|
margin-right: 8px;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
width: calc(100% - 60px);
|
width: calc(100% - 60px);
|
||||||
padding: 2px 0;
|
padding: 2px 0;
|
||||||
.textTop{
|
|
||||||
|
.textTop {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.left{
|
|
||||||
|
.left {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.number {
|
.number {
|
||||||
font-size: 36rpx;
|
font-size: 36rpx;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
@ -363,25 +396,29 @@ export default {
|
|||||||
color: #150002;
|
color: #150002;
|
||||||
line-height: 40rpx;
|
line-height: 40rpx;
|
||||||
}
|
}
|
||||||
.desc{
|
|
||||||
|
.desc {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #FF7043;
|
color: #FF7043;
|
||||||
.success{
|
|
||||||
|
.success {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.right{
|
|
||||||
|
.right {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.comparePlan{
|
|
||||||
|
.comparePlan {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -389,10 +426,12 @@ export default {
|
|||||||
line-height: 36rpx;
|
line-height: 36rpx;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.box2{
|
|
||||||
|
.box2 {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.text{
|
|
||||||
|
.text {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
color: #150002;
|
color: #150002;
|
||||||
@ -400,6 +439,7 @@ export default {
|
|||||||
|
|
||||||
line-height: 40rpx;
|
line-height: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.addIcon {
|
.addIcon {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@ -409,7 +449,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.progressPlan{
|
.progressPlan {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 8px;
|
height: 8px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
@ -417,22 +457,27 @@ export default {
|
|||||||
margin-top: 8px;
|
margin-top: 8px;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
.trans{
|
|
||||||
|
.trans {
|
||||||
height: 8px;
|
height: 8px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;top: 0;
|
left: 0;
|
||||||
|
top: 0;
|
||||||
border-top-right-radius: 4px;
|
border-top-right-radius: 4px;
|
||||||
border-bottom-right-radius: 4px;
|
border-bottom-right-radius: 4px;
|
||||||
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png")no-repeat 100% 100%;
|
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_orange.png")no-repeat 100% 100%;
|
||||||
}
|
}
|
||||||
.transYear{
|
|
||||||
|
.transYear {
|
||||||
height: 8px;
|
height: 8px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 0;top: 0;
|
left: 0;
|
||||||
|
top: 0;
|
||||||
border-top-right-radius: 4px;
|
border-top-right-radius: 4px;
|
||||||
border-bottom-right-radius: 4px;
|
border-bottom-right-radius: 4px;
|
||||||
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png")no-repeat 100% 100%;
|
background: url("https://eshangtech.com/ShopICO/ahyd-BID/index/progress_blue.png")no-repeat 100% 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
//.img{
|
//.img{
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
// height: 100%;
|
// height: 100%;
|
||||||
@ -452,10 +497,12 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
padding-left: 48px;
|
padding-left: 48px;
|
||||||
|
|
||||||
.success {
|
.success {
|
||||||
.text {
|
.text {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
@ -464,6 +511,7 @@ export default {
|
|||||||
color: #786b6c;
|
color: #786b6c;
|
||||||
line-height: 40rpx;
|
line-height: 40rpx;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
|
|
||||||
.unit {
|
.unit {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
@ -473,6 +521,7 @@ export default {
|
|||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.money {
|
.money {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
@ -484,35 +533,42 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.listBox{
|
|
||||||
|
.listBox {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding-bottom: calc(8px + env(safe-area-inset-bottom)) ;
|
padding-bottom: calc(8px + env(safe-area-inset-bottom));
|
||||||
.list{
|
|
||||||
|
.list {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
background: #F5F5F5;
|
background: #F5F5F5;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
.top{
|
|
||||||
|
.top {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
.left{
|
|
||||||
|
.left {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.title{
|
|
||||||
|
.title {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #a69e9f;
|
color: #a69e9f;
|
||||||
line-height: 18px;
|
line-height: 18px;
|
||||||
.name{
|
|
||||||
|
.name {
|
||||||
color: #150002;
|
color: #150002;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.value{
|
|
||||||
|
.value {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
@ -521,10 +577,12 @@ export default {
|
|||||||
margin-left: 4px;
|
margin-left: 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.right{
|
|
||||||
|
.right {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.comparePlan{
|
|
||||||
|
.comparePlan {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
@ -532,10 +590,12 @@ export default {
|
|||||||
line-height: 36rpx;
|
line-height: 36rpx;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
.box2{
|
|
||||||
|
.box2 {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.text{
|
|
||||||
|
.text {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-family: DINAlternate-Bold, DINAlternate;
|
font-family: DINAlternate-Bold, DINAlternate;
|
||||||
color: #150002;
|
color: #150002;
|
||||||
@ -543,6 +603,7 @@ export default {
|
|||||||
|
|
||||||
line-height: 40rpx;
|
line-height: 40rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.addIcon {
|
.addIcon {
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
@ -552,7 +613,8 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
.progress{
|
|
||||||
|
.progress {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 8px;
|
height: 8px;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
@ -560,29 +622,35 @@ export default {
|
|||||||
margin: 8px 0 16px;
|
margin: 8px 0 16px;
|
||||||
position: relative;
|
position: relative;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
.have{
|
|
||||||
|
.have {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
top: 0;left: 0;
|
top: 0;
|
||||||
|
left: 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom {
|
.bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
|
||||||
margin-top: 16px;
|
margin-top: 16px;
|
||||||
|
|
||||||
.success {
|
.success {
|
||||||
width: calc(50% - 4px);
|
width: calc(50% - 4px);
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.text{
|
|
||||||
|
.text {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-family: PingFangSC-Regular, PingFang SC;
|
font-family: PingFangSC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #a69e9f;
|
color: #a69e9f;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.money {
|
.money {
|
||||||
margin-left: 8px;
|
margin-left: 8px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="rateMain">
|
<view class="rateMain">
|
||||||
<image v-if="preferPath" style="width: 144rpx;height: 144rpx" :src="preferPath"></image>
|
<image v-if="preferPath" style="width: 144rpx;height: 144rpx" :src="preferPath"></image>
|
||||||
<canvas style="width: 144rpx;height: 144rpx;position:fixed;left: 100%" :canvas-id="name" id="rate"/>
|
<canvas style="width: 144rpx;height: 144rpx;position:fixed;left: 100%" :canvas-id="name" id="rate" />
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -10,54 +10,58 @@ import uCharts from '@/components/u-charts.js';
|
|||||||
var uChartsInstance = {};
|
var uChartsInstance = {};
|
||||||
export default {
|
export default {
|
||||||
name: "rateCharts",
|
name: "rateCharts",
|
||||||
data(){
|
data() {
|
||||||
return {
|
return {
|
||||||
preferPath:'',
|
preferPath: '',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
props:{
|
props: {
|
||||||
success:{
|
success: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default:[]
|
default: []
|
||||||
},
|
},
|
||||||
colorList:{
|
colorList: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default:[]
|
default: []
|
||||||
},
|
},
|
||||||
name:{
|
name: {
|
||||||
type:String,
|
type: String,
|
||||||
default:''
|
default: ''
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch:{
|
watch: {
|
||||||
success:{
|
success: {
|
||||||
handler(value){
|
handler(value) {
|
||||||
|
// 数据无效时不绘制,等待 API 返回有效数据后再触发
|
||||||
|
if (!value || value.length < 3 || value[0] === undefined || value[1] === undefined || value[2] === undefined) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.preferPath = ''
|
this.preferPath = ''
|
||||||
let sum = value[0] + value[1] + value[2]
|
let sum = value[0] + value[1] + value[2]
|
||||||
if (sum===0){
|
if (sum === 0) {
|
||||||
let res = {
|
let res = {
|
||||||
series:[{
|
series: [{
|
||||||
data:[{name:'便利店',value:0},{name:'餐饮客房',value:0},{name:'商铺租赁',value:0}]
|
data: [{ name: '便利店', value: 0 }, { name: '餐饮客房', value: 0 }, { name: '商铺租赁', value: 0 }]
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
this.drawCharts(this.name,res)
|
this.drawCharts(this.name, res)
|
||||||
}else{
|
} else {
|
||||||
let firstRate = Number(((value[0] / sum)*100).toFixed(2))
|
let firstRate = Number(((value[0] / sum) * 100).toFixed(2))
|
||||||
let secondRate = Number(((value[1] / sum)*100).toFixed(2))
|
let secondRate = Number(((value[1] / sum) * 100).toFixed(2))
|
||||||
let thirdRate = 100 - Number(firstRate)- Number(secondRate)
|
let thirdRate = 100 - Number(firstRate) - Number(secondRate)
|
||||||
let res = {
|
let res = {
|
||||||
series:[{
|
series: [{
|
||||||
data:[{name:'便利店',value:firstRate},{name:'餐饮客房',value:secondRate},{name:'商铺租赁',value:thirdRate}]
|
data: [{ name: '便利店', value: firstRate }, { name: '餐饮客房', value: secondRate }, { name: '商铺租赁', value: thirdRate }]
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
this.drawCharts(this.name,res)
|
this.drawCharts(this.name, res)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
immediate:true
|
immediate: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods:{
|
methods: {
|
||||||
drawCharts(id,data){
|
drawCharts(id, data) {
|
||||||
const ctx = uni.createCanvasContext(id, this);
|
const ctx = uni.createCanvasContext(id, this);
|
||||||
let _this = this
|
let _this = this
|
||||||
uChartsInstance[id] = new uCharts({
|
uChartsInstance[id] = new uCharts({
|
||||||
@ -71,7 +75,7 @@ export default {
|
|||||||
rotateLock: false,
|
rotateLock: false,
|
||||||
background: "#FFFFFF",
|
background: "#FFFFFF",
|
||||||
color: _this.colorList,
|
color: _this.colorList,
|
||||||
padding: [5,5,5,5],
|
padding: [5, 5, 5, 5],
|
||||||
dataLabel: false,
|
dataLabel: false,
|
||||||
enableScroll: false,
|
enableScroll: false,
|
||||||
legend: {
|
legend: {
|
||||||
@ -93,20 +97,20 @@ export default {
|
|||||||
labelWidth: 15,
|
labelWidth: 15,
|
||||||
border: false,
|
border: false,
|
||||||
borderWidth: 3,
|
borderWidth: 3,
|
||||||
customRadius:34,
|
customRadius: 34,
|
||||||
borderColor: "#FFFFFF"
|
borderColor: "#FFFFFF"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
setTimeout( ()=>{
|
setTimeout(() => {
|
||||||
_this.canvasToTempImage(_this.name)
|
_this.canvasToTempImage(_this.name)
|
||||||
},500)
|
}, 500)
|
||||||
},
|
},
|
||||||
canvasToTempImage(id){
|
canvasToTempImage(id) {
|
||||||
uni.canvasToTempFilePath({
|
uni.canvasToTempFilePath({
|
||||||
canvasId:id,
|
canvasId: id,
|
||||||
complete:(res)=>{
|
complete: (res) => {
|
||||||
if (res.tempFilePath){
|
if (res.tempFilePath) {
|
||||||
uni.getFileSystemManager().readFile({
|
uni.getFileSystemManager().readFile({
|
||||||
filePath: res.tempFilePath,
|
filePath: res.tempFilePath,
|
||||||
encoding: 'base64',
|
encoding: 'base64',
|
||||||
@ -117,17 +121,18 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},this)
|
}, this)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.rateMain{
|
.rateMain {
|
||||||
width: 144rpx;
|
width: 144rpx;
|
||||||
height: 144rpx;
|
height: 144rpx;
|
||||||
.month{
|
|
||||||
|
.month {
|
||||||
width: 136rpx;
|
width: 136rpx;
|
||||||
height: 136rpx;
|
height: 136rpx;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
@ -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 |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |