Merge branch 'lx-dev' of 47.94.45.65:angelo/web-base-h5 into lx-test

This commit is contained in:
woody 2025-09-16 10:21:32 +08:00
commit 4f558fdcf1
1 changed files with 276 additions and 269 deletions

View File

@ -1,300 +1,307 @@
<template>
<view class="width-auto">
<view class="flexs">
<view class="select-flexs">
<picker :range="selYearList" :value="index" range-key="label" @change="changeYear">
<view style="display: flex; align-items: center;justify-content: space-between;">
<view style="margin-right:40rpx;">{{whatYear}}</view>
<u-icon name="arrow-down" color="#999"></u-icon>
</view>
</picker>
</view>
<view class="select-flexs">
<picker :range="selMounthList" :value="index" range-key="label" @change="bindPickerChange">
<view style="display: flex; align-items: center;justify-content: space-between;">
<view style="margin-right:40rpx;">{{whatMounth}}</view>
<u-icon name="arrow-down" color="#999"></u-icon>
</view>
</picker>
</view>
<view class="select-flexs" style="margin-left: 20rpx;" @click="showType=true">
<view class="width-auto">
<view class="flexs">
<view class="select-flexs">
<picker
:range="selYearList"
:value="index"
range-key="label"
@change="changeYear"
>
<view
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<view style="margin-right: 40rpx">{{ whatYear }}</view>
<u-icon name="arrow-down" color="#999"></u-icon>
</view>
</picker>
</view>
<view class="select-flexs">
<picker
:range="selMounthList"
:value="index"
range-key="label"
@change="bindPickerChange"
>
<view
style="
display: flex;
align-items: center;
justify-content: space-between;
"
>
<view style="margin-right: 40rpx">{{ whatMounth }}</view>
<u-icon name="arrow-down" color="#999"></u-icon>
</view>
</picker>
</view>
<!-- <view class="select-flexs" style="margin-left: 20rpx;" @click="showType=true">
<view style="display: flex; align-items: center;justify-content: space-between;">
<view style="margin-right:40rpx;">{{yjName}}</view>
<u-icon name="arrow-down" color="#999"></u-icon>
</view>
<!-- <picker :range="yjTypeList" :value="index2" range-key="label" @confirm="bindType"></picker> -->
<u-picker @cancel='showType=false' :show="showType" ref="uPicker" :columns="yjTypeList"
@confirm="bindType" keyName='label'></u-picker>
</view>
<!-- <view class="title">
</view> -->
<!-- <view class="title">
导出明细
</view> -->
</view>
<view class="listrefor bg2">
</view>
<view class="listrefor bg2">
<view class="flex_item">
<view class="text1">左区业绩</view>
<view class="text2">{{ achieveData.leftAchieve || 0 }}</view>
</view>
<view class="flex_item" style="cursor: pointer" @click="goDetail(1)">
<view class="text1">左区血缘业绩</view>
<view class="text2">{{ achieveData.leftDirectAchieve || 0 }}</view>
</view>
<view class="flex_item">
<view class="text1">左区人数</view>
<view class="text2">{{ achieveData.leftCoun || 0 }}</view>
</view>
</view>
<view class="flex_item">
<view class="text1">左区业绩</view>
<view class="text2">{{ achieveData.leftAchieve || 0 }}</view>
</view>
<view class="flex_item" style="cursor: pointer;" @click="goDetail(1)">
<view class="text1">左区血缘业绩</view>
<view class="text2">{{ achieveData.leftDirectAchieve || 0 }}</view>
</view>
<view class="flex_item">
<view class="text1">左区人数</view>
<view class="text2">{{ achieveData.leftCoun || 0 }}</view>
</view>
</view>
<view class="listrefor bg3">
<view>
<view class="text1">血缘业绩</view>
<view class="text2">{{ achieveData.directAchieve || 0 }}</view>
</view>
</view>
<view class="listrefor bg2">
<view class="flex_item">
<view class="text1">右区业绩</view>
<view class="text2">{{ achieveData.rightAchieve || 0 }}</view>
</view>
<view class="flex_item" style="cursor: pointer;" @click="goDetail(2)">
<view class="text1">右区血缘业绩</view>
<view class="text2">{{ achieveData.rightDirectAchieve || 0 }}</view>
</view>
<view class="flex_item">
<view class="text1">右区人数</view>
<view class="text2">{{ achieveData.rightCount || 0 }}</view>
</view>
</view>
</view>
<view class="listrefor bg3">
<view>
<view class="text1">血缘业绩</view>
<view class="text2">{{ achieveData.directAchieve || 0 }}</view>
</view>
</view>
<view class="listrefor bg2">
<view class="flex_item">
<view class="text1">右区业绩</view>
<view class="text2">{{ achieveData.rightAchieve || 0 }}</view>
</view>
<view class="flex_item" style="cursor: pointer" @click="goDetail(2)">
<view class="text1">右区血缘业绩</view>
<view class="text2">{{ achieveData.rightDirectAchieve || 0 }}</view>
</view>
<view class="flex_item">
<view class="text1">右区人数</view>
<view class="text2">{{ achieveData.rightCount || 0 }}</view>
</view>
</view>
</view>
</template>
<script>
import {
getPlaceNewAddAchieve,
getYjList
} from "@/config/distribute.js";
export default {
data() {
return {
index: 0,
show: false,
achieveData: {},
import { getPlaceNewAddAchieve, getYjList } from '@/config/distribute.js'
export default {
data() {
return {
index: 0,
show: false,
achieveData: {},
whatMounth: '',
yjType: 1,
yjName: "全部",
showType: false,
selMounthList: [],
yjTypeList: [],
yearShow:false,
whatYear:"",
selYearList:[{
value: 0,
label: new Date().getFullYear()-1,
},{
value: 1,
label: new Date().getFullYear(),
}],
mounthList: [{
value: 1,
label: 1 + '月',
},
{
value: 2,
label: 2 + '月',
},
{
value: 3,
label: 3 + '月',
},
{
value: 4,
label: 4 + '月',
},
{
value: 5,
label: 5 + '月',
},
{
value: 6,
label: 6 + '月',
},
{
value: 7,
label: 7 + '月',
},
{
value: 8,
label: 8 + '月',
},
{
value: 9,
label: 9 + '月',
},
{
value: 10,
label: 10 + '月',
},
{
value: 11,
label: 11 + '月',
},
{
value: 12,
label: 12 + '月'
},
],
}
},
created() {
this.getMounth()
this.getYjList()
setTimeout(() => {
this.getPlaceNewAddAchieve()
}, 50)
},
methods: {
goDetail(index) {
uni.navigateTo({
url:'/pages/performanceEchart/index?ifDetail='+index
})
},
getYjList() {
getYjList().then(res => {
this.yjTypeList = [res.data]
})
},
changeYear(e){
this.whatYear = this.selYearList[e.detail.value].label
this.getPlaceNewAddAchieve()
},
bindPickerChange(e) {
this.whatMounth = e.detail.value + 1
this.getPlaceNewAddAchieve()
},
bindType(e) {
this.yjType = e.value[0].value
this.yjName = e.value[0].label
this.showType = false
this.getPlaceNewAddAchieve()
},
// /
getMounth() {
this.whatMounth = new Date().getMonth() + 1
let selMounth = []
this.mounthList.forEach((item) => {
// if (item.value <= this.whatMounth) {
// selMounth.push(item)
// }
selMounth.push(item)
})
this.selMounthList = selMounth
this.whatYear = new Date().getFullYear()
},
getPlaceNewAddAchieve() {
getPlaceNewAddAchieve({
monthType: this.whatMounth,
achievementType: this.yjType,
year:this.whatYear
}).then((res) => {
this.achieveData = res.data;
});
}
},
}
whatMounth: '',
yjType: 1,
yjName: '全部',
showType: false,
selMounthList: [],
yjTypeList: [],
yearShow: false,
whatYear: '',
selYearList: [
{
value: 0,
label: new Date().getFullYear() - 1,
},
{
value: 1,
label: new Date().getFullYear(),
},
],
mounthList: [
{
value: 1,
label: 1 + '月',
},
{
value: 2,
label: 2 + '月',
},
{
value: 3,
label: 3 + '月',
},
{
value: 4,
label: 4 + '月',
},
{
value: 5,
label: 5 + '月',
},
{
value: 6,
label: 6 + '月',
},
{
value: 7,
label: 7 + '月',
},
{
value: 8,
label: 8 + '月',
},
{
value: 9,
label: 9 + '月',
},
{
value: 10,
label: 10 + '月',
},
{
value: 11,
label: 11 + '月',
},
{
value: 12,
label: 12 + '月',
},
],
}
},
created() {
this.getMounth()
this.getYjList()
setTimeout(() => {
this.getPlaceNewAddAchieve()
}, 50)
},
methods: {
goDetail(index) {
uni.navigateTo({
url: '/pages/performanceEchart/index?ifDetail=' + index,
})
},
getYjList() {
getYjList().then(res => {
this.yjTypeList = [res.data]
})
},
changeYear(e) {
this.whatYear = this.selYearList[e.detail.value].label
this.getPlaceNewAddAchieve()
},
bindPickerChange(e) {
this.whatMounth = e.detail.value + 1
this.getPlaceNewAddAchieve()
},
bindType(e) {
this.yjType = e.value[0].value
this.yjName = e.value[0].label
this.showType = false
this.getPlaceNewAddAchieve()
},
// /
getMounth() {
this.whatMounth = new Date().getMonth() + 1
let selMounth = []
this.mounthList.forEach(item => {
// if (item.value <= this.whatMounth) {
// selMounth.push(item)
// }
selMounth.push(item)
})
this.selMounthList = selMounth
this.whatYear = new Date().getFullYear()
},
getPlaceNewAddAchieve() {
getPlaceNewAddAchieve({
monthType: this.whatMounth,
achievementType: this.yjType,
year: this.whatYear,
}).then(res => {
this.achieveData = res.data
})
},
},
}
</script>
<style lang="scss" scoped>
::v-deep .uni-picker {
width: 100%;
}
::v-deep .uni-picker {
width: 100%;
}
.select-flexs {
.select-flexs {
border: 1rpx solid #eeeeee;
border-radius: 15rpx;
// width: 232rpx;
padding: 20rpx 19rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
border: 1rpx solid #EEEEEE;
border-radius: 15rpx;
// width: 232rpx;
padding: 20rpx 19rpx;
display: flex;
align-items: center;
justify-content: space-between;
}
.flexs {
display: flex;
// justify-content: space-between;
border-radius: 30rpx 30rpx 0 0;
background-color: #fff;
}
.flexs {
display: flex;
// justify-content: space-between;
border-radius: 30rpx 30rpx 0 0;
background-color: #fff;
}
.title {
padding: 10rpx 0;
margin-top: 10rpx;
}
.title {
padding: 10rpx 0;
margin-top: 10rpx;
}
.width-auto {
background-color: #fff;
padding: 0 22rpx;
width: 690rpx;
margin: 0 auto;
padding-bottom: 20rpx;
}
.width-auto {
background-color: #fff;
padding: 0 22rpx;
width: 690rpx;
margin: 0 auto;
padding-bottom: 20rpx;
}
.listrefor {
color: #ffffff;
border-radius: 10rpx;
padding: 32rpx 21rpx;
margin-top: 25rpx;
display: flex;
justify-content: space-between;
.listrefor {
color: #FFFFFF;
border-radius: 10rpx;
padding: 32rpx 21rpx;
margin-top: 25rpx;
display: flex;
justify-content: space-between;
.flex_item:nth-child(1) {
width: 40%;
}
.flex_item:nth-child(1) {
width: 40%;
}
.flex_item:nth-child(2) {
width: 35%;
}
.flex_item:nth-child(2) {
width: 35%;
}
.flex_item:nth-child(3) {
width: 25%;
}
.flex_item:nth-child(3) {
width: 25%;
}
.text1 {
font-size: 28rpx;
}
.text1 {
font-size: 28rpx;
}
.text2 {
font-size: 30rpx;
font-weight: bold;
margin-top: 30rpx;
}
}
.text2 {
font-size: 30rpx;
font-weight: bold;
margin-top: 30rpx;
}
}
.bg1 {
background: linear-gradient(180deg, #fc7c7c 0%, #f65757 100%);
}
.bg1 {
background: linear-gradient(180deg, #FC7C7C 0%, #F65757 100%);
}
.bg2 {
background: linear-gradient(180deg, #ff9354 0%, #ff7f36 100%);
}
.bg2 {
background: linear-gradient(180deg, #FF9354 0%, #FF7F36 100%);
}
.bg3 {
background: linear-gradient(180deg, #677AF9 0%, #697BF2 100%);
}
</style>
.bg3 {
background: linear-gradient(180deg, #677af9 0%, #697bf2 100%);
}
</style>