From 8e153de91f55b07847225e23c3a9a8ab5d67e83e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 26 九月 2025 13:21:50 +0800
Subject: [PATCH] 生产管控模块
---
src/pages_qiun/components/data-center/user-operate.vue | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 200 insertions(+), 0 deletions(-)
diff --git a/src/pages_qiun/components/data-center/user-operate.vue b/src/pages_qiun/components/data-center/user-operate.vue
new file mode 100644
index 0000000..459cd04
--- /dev/null
+++ b/src/pages_qiun/components/data-center/user-operate.vue
@@ -0,0 +1,200 @@
+<template>
+ <view class="content">
+ <scroll-view v-if="true" scroll-y class="data_body" :style="{height:scrollHeight}">
+ <!--鏁版嵁杩涘害鏉�-->
+ <view class="progress">
+ <data-progress :progressList="userOperateLineBar" :borderRadius="20" padMiddle="true"></data-progress>
+ </view>
+ <view class="split_line"></view>
+
+ <!-- 娲昏穬浼氬憳-->
+ <view class="friend_operate">
+ <view class="title">娲昏穬浼氬憳</view>
+ <text-block :content="userActive"></text-block>
+ </view>
+
+ <!-- 浼氬憳娑堣垂 -->
+ <view class="friend_operate" style="padding-bottom: 30rpx;">
+ <view class="title">浼氬憳娑堣垂</view>
+ <text-block :content="userConsume"></text-block>
+ </view>
+ <view class="split_line"></view>
+
+ <!-- 浼氬憳ARPU -->
+ <view class="friend_operate">
+ <view class="title">浼氬憳ARPU
+ <text class="font-small">(浼氬憳骞村害骞冲潎閿�鍞噾棰�)</text>
+ <text class="trend_title">鐩爣澧為噺{{userARPU.targetAdd}}</text>
+ </view>
+ <view class="charts-box">
+ <qiun-data-charts type="mix"
+ :chartData="userARPU"
+ :reshow="delayload"
+ :canvas2d="isCanvas2d"
+ canvasId="two_a"
+ :opts="{yAxis:{data:[{title: '',max:userARPU?userARPU.yAxis[0].max:0,min:userARPU?userARPU.yAxis[0].min:0},{title: '',unit:'%',max:userARPU?userARPU.yAxis[1].max:0,min:userARPU?userARPU.yAxis[1].min:0,position:'right'}]},extra:{markLine:{data:[{value:userARPU?userARPU.target:'',LineColor:'#ff9900',showLabel:true}]}}}"/>
+ </view>
+ </view>
+ <view class="split_line"></view>
+
+ <!-- 浼氬憳娑堣垂棰戞 -->
+ <view class="friend_operate">
+ <view class="title">浼氬憳娑堣垂棰戞
+ <text class="font-middle">(骞�)</text>
+ <text class="trend_title">鐩爣澧為噺{{userARPU.targetAdd}}</text>
+ </view>
+ <view class="charts-box">
+ <qiun-data-charts type="mix"
+ :chartData="userARPU"
+ :reshow="delayload"
+ :canvas2d="isCanvas2d"
+ canvasId="two_b"
+ :opts="{yAxis:{data:[{title: '',max:userARPU?userARPU.yAxis[0].max:0,min:userARPU?userARPU.yAxis[0].min:0},{title: '',unit:'%',max:userARPU?userARPU.yAxis[1].max:0,min:userARPU?userARPU.yAxis[1].min:0,position:'right'}]},extra:{markLine:{data:[{value:userARPU?userARPU.target:'',LineColor:'#ff9900',showLabel:true}]}}}"/>
+ </view>
+ </view>
+ <view class="split_line"></view>
+
+ <!-- 寰缇よ繍钀�-->
+ <view class="friend_operate">
+ <view class="title">娲昏穬浼氬憳鍒嗗竷
+ <text class="font-middle">(鏈�杩戞椿璺冩椂闂�)</text>
+ </view>
+ <senior-table :headers="dataTable.headers" :contents="dataTable.contents" :urlCol="dataTable.urlCol" :firstLineFixed="true" :sortCol="dataTable.sortCol" :computedCol="dataTable.computedCol" :formatCol="dataTable.formatCol"></senior-table>
+ </view>
+ <view class="split_line"></view>
+
+ <!-- X鍟嗗搧鑴辫惤鐜�-->
+ <view class="friend_operate">
+ <view class="title">
+ X锛堟參鐥咃級 鍟嗗搧鑴辫惤鐜�
+ </view>
+ <view style="display: flex;justify-content: space-between;">
+ <view v-for="(item,index) in xProductDropPrecent" class="charts-box" style="height: 130px;width: 45%;">
+ <qiun-data-charts
+ type="arcbar"
+ :chartData="item"
+ :canvasId="'two_c_'+ index"
+ :canvas2d="true"
+ :reshow="delayload"
+ :opts="{title:{name:item.series[0].data * 100 + '%',color:item.series[0].color,fontSize:25},subtitle:{name:item.series[0].name,color:'#666666',fontSize:12}}" />
+ </view>
+ </view>
+ </view>
+
+ <!-- 鎱㈢梾鐥呯鑴辫惤鐜�-->
+ <view class="friend_operate">
+ <view class="title">鎱㈢梾鐥呯鑴辫惤鐜�
+ </view>
+ <view class="charts-box">
+ <qiun-data-charts type="mix"
+ :chartData="illnessDropPrecent"
+ :reshow="delayload"
+ :canvas2d="true"
+ canvasId="two_d"
+ :opts="{yAxis:{data:[{title: ''}]}}"/>
+ </view>
+ </view>
+
+ <!-- W鍟嗗搧鑴辫惤鐜�-->
+ <view class="friend_operate">
+ <view class="title">
+ W锛堜繚鍋ワ級 鍟嗗搧鑴辫惤鐜�
+ </view>
+ <view style="display: flex;justify-content: space-between;">
+ <view v-for="(item,index) in wProductDropPrecent" class="charts-box" style="height: 130px;width: 45%;">
+ <qiun-data-charts
+ type="arcbar"
+ :chartData="item"
+ :canvasId="'two_e_'+index"
+ :canvas2d="true"
+ :reshow="delayload"
+ :opts="{title:{name:item.series[0].data * 100 + '%',color:item.series[0].color,fontSize:25},subtitle:{name:item.series[0].name,color:'#666666',fontSize:12}}" />
+ </view>
+ </view>
+ </view>
+ </scroll-view>
+ <view v-else class="container padding_stand-big normal_color">
+ <li class="iconfont icon-cry cry"></li>鏆傛棤鏁版嵁
+ </view>
+ </view>
+</template>
+
+<script>
+ import DataProgress from "../data-progress/data-progress.vue"
+ import SeniorTable from "../data-table/senior-table.vue"
+
+ import userOperateLineBar from '../../static/json/user-operate/1.json';
+ import userActive from '../../static/json/user-operate/2.json';
+ import userConsume from '../../static/json/user-operate/3.json';
+ import userARPU from '../../static/json/user-operate/4.json';
+ import dataTable from "../../static/json/user-operate/6.json"
+ import xProductDropPrecent from '../../static/json/user-operate/7.json';
+ import wProductDropPrecent from '../../static/json/user-operate/9.json';
+ import illnessDropPrecent from '../../static/json/user-operate/8.json';
+
+
+ export default {
+ name:'user-operate',
+ props: {
+ scrollHeight:{
+ type:String,
+ default:"600px"
+ }
+ },
+ components:{
+ DataProgress,SeniorTable
+ },
+ data() {
+ return {
+ userOperateLineBar,
+ userActive,
+ userConsume,
+ userARPU,
+ xProductDropPrecent,
+ wProductDropPrecent,
+ illnessDropPrecent,
+ dataTable,
+ delayload:false,
+ isCanvas2d:Config.ISCANVAS2D
+ }
+ },
+ mounted() {
+ this.getData();
+ },
+ methods:{
+ async getData(){
+ uni.showLoading();
+ await setTimeout(() => {
+ this.delayload = true;
+ uni.hideLoading();
+ }, 1000)
+ }
+ }
+ }
+</script>
+
+<style scoped lang="less">
+ .content{
+ padding-top: 10rpx;
+ .progress,.firend_operate{
+ padding: 0 10rpx;
+ }
+ .progress{
+ margin-bottom: 20rpx;
+ }
+ .friend_operate{
+ padding: 30rpx 20rpx;
+ .title{
+ text-align:left;
+ margin-bottom: 30rpx;
+ font-size: 40rpx;
+ }
+ .trend_title{
+ float: right;
+ font-size: 22rpx;
+ color: #ff9900;
+ margin-top: 20rpx;
+ }
+ }
+ }
+</style>
--
Gitblit v1.9.3