From 18c60ace50725ec8b430cb737368f9af996fda28 Mon Sep 17 00:00:00 2001
From: gaoshp <291585735@qq.com>
Date: 星期一, 17 六月 2024 22:39:01 +0800
Subject: [PATCH] update

---
 src/views/mdc/components/Time.vue |   81 ++++++++++++++++++++++------------------
 1 files changed, 44 insertions(+), 37 deletions(-)

diff --git a/src/views/mdc/components/Time.vue b/src/views/mdc/components/Time.vue
index c01ab7c..b552b66 100644
--- a/src/views/mdc/components/Time.vue
+++ b/src/views/mdc/components/Time.vue
@@ -1,14 +1,14 @@
 <!--
  * @Date: 2024-04-18 21:52:18
  * @LastEditors: Sneed
- * @LastEditTime: 2024-04-20 20:41:13
+ * @LastEditTime: 2024-06-17 22:37:51
  * @FilePath: /belleson-frontend/Users/mache/Documents/demo/cps-web/src/views/mdc/components/Time.vue
 -->
 <template>
     <el-row>
         <el-col>
             <el-button-group>
-                <el-button @click="statisticalMethod = item.value"
+                <el-button size="small" @click="statisticalMethod = item.value"
                     :type="statisticalMethod == item.value ? 'primary' : ''" v-for="item in btnList"
                     :key="item.value">{{
                         item.label }}</el-button>
@@ -26,9 +26,9 @@
             <scTable ref="table" row-key="id" border :params="params" :apiObj="apiObj" stripe>
                 <el-table-column prop="workstationCode" label="宸ヤ綅缂栫爜" />
                 <el-table-column prop="workstationName" label="宸ヤ綅鍚嶇О" />
-                <el-table-column prop="" :label="item" v-for="item in cols">
+                <el-table-column prop="" :label="item" v-for="item in cols" :key="item">
                     <template #default="scope">
-                        <span>{{ scope.row.data[item] }}</span>
+                        <span>{{ colnameFn(scope.row.data[item]) }}</span>
                     </template>
                 </el-table-column>
 
@@ -40,6 +40,31 @@
 <script>
 import scEcharts from '@/components/scEcharts';
 export default {
+    props: {
+        url: {
+            default: '/api/blade-mdc/efficiency-analysis',
+            type: String,
+        },
+        options: {
+            default() {
+                return {}
+            },
+        },
+        colnameFn: {
+            type: Function,
+            default: val => {
+                if (isNaN(val)) return '-'
+                return `${(val ? val * 100 : 0).toFixed(2)}%`
+            }
+        },
+        resFn: {
+            type: Function,
+            default: val => {
+                if (isNaN(val)) return 0
+                return (val - 0) * 100
+            }
+        }
+    },
     components: {
         scEcharts
     },
@@ -64,7 +89,7 @@
             ],
             cols: [],
             chartsData: [],
-            option2: null,
+            option2: {},
         }
     },
     watch: {
@@ -115,39 +140,19 @@
                 queryType: 0,
                 statisticalMethod: this.statisticalMethod
             }
-            return this.$HTTP.post('/api/blade-mdc/efficiency-analysis', dataSend, { params }).then(res => {
+            // console.log(this.option2.series, '>>>>>>>>>>???')
+            try {
+                this.option2.dataset.source = []
+                this.option2.series = []
+            } catch (error) {
+
+            }
+            return this.$HTTP.post(this.url, dataSend, { params }).then(res => {
                 this.chartsData = res.data.items.records
                 let option2 = {
-                    // legend: {
-                    //     type: 'plain',
-                    // },
-                    title: {
-                        text: '缁熻鍥捐〃',
-                        subtext: '',
-                    },
-                    grid: {
-                        top: '80px'
-                    },
-                    tooltip: {
-                        trigger: 'axis'
-                    },
-                    xAxis: {
-                        type: 'category',
-                        axisLabel: {
-                            interval: 'auto'
-                        }
-                    },
-                    yAxis: {
-                        type: 'value'
-                    },
-                    dataZoom: [
-                        { type: 'slider' }
-                    ],
-                    dataset: {
-                        source: []
-                    },
-                    series: []
+                    ...this.options
                 }
+                option2.series = []
                 let source1 = ['product']
                 let row = res.data.items.records[0]
                 Object.values(row.nameData).forEach(v => {
@@ -156,11 +161,13 @@
                     })
                     source1.push(v)
                 })
+
                 option2.dataset.source = [source1]
                 res.data.items.records.forEach(v => {
                     let current = [v.id]
                     Object.keys(v.nameData).forEach(key => {
-                        current.push(row.data[key] - 0)
+                        current.push(this.resFn(v.data[key]))
+                        // current.push((v.data[key] - 0) * 100)
                     })
                     option2.dataset.source.push(current)
                 });
@@ -185,7 +192,7 @@
                     delete dataSend.size
                     delete dataSend.order
                     delete dataSend.prop
-                    return await this.$HTTP.post('/api/blade-mdc/efficiency-analysis', dataSend, { params }).then(res => {
+                    return await this.$HTTP.post(this.url, dataSend, { params }).then(res => {
                         let row = res.data.items?.records[0]?.data || {}
                         this.cols = Object.keys(row)
                         console.log(this.cols)

--
Gitblit v1.9.3