wxy 4 luni în urmă
părinte
comite
af8925793d

+ 56 - 17
src/views/lotCard/cardList/trafficUseDialog.vue

@@ -115,7 +115,7 @@
                         </div>
                     </a-tab-pane>
                     <a-tab-pane key="2" title="卡套餐信息">
-                        <a-table :columns="columnsCard" :data="dataCard" :scroll="{ x: 'auto' }" :pagination="false"/>
+                        <a-table :columns="columnsCard" :data="dataCard" :scroll="{ x: 'auto' }" :pagination="false" />
                     </a-tab-pane>
                     <a-tab-pane key="3" title="预警信息">
                         Content of Tab Panel 3
@@ -124,7 +124,8 @@
                         <a-table :columns="columnsTopup" :data="dataTopup" />
                     </a-tab-pane>
                     <a-tab-pane key="5" title="使用量">
-                        <a-table :columns="columnsAmount" :data="dataAmount" :scroll="{ x: 'auto' }" :pagination="false"/>
+                        <a-table :columns="columnsAmount" :data="dataAmount" :scroll="{ x: 'auto' }"
+                            :pagination="false" />
                     </a-tab-pane>
                     <a-tab-pane key="6" title="操作记录">
                         Content of Tab Panel 3
@@ -145,7 +146,7 @@
 </template>
 <script setup>
 import { onMounted, ref, nextTick } from "vue";
-import { getDataCDR ,getDataCDRDate} from '@/api/path/lotCard.api'
+import { getDataCDR, getDataCDRDate } from '@/api/path/lotCard.api'
 import { Getdictionary } from '@/mixins/index'
 // 图表插件
 import * as echarts from "echarts";
@@ -310,14 +311,14 @@ const open = (data) => {
     Card_info.value = data
     dataPackage.value = data.dataPackage[0]
     // 卡套餐信息
-    dataCard.value = (data.dataPackage || []).map(val=>{
+    dataCard.value = (data.dataPackage || []).map(val => {
         const status = val.status == 1 ? '已激活' : (val.status == 2 ? '关闭' :
-        val.status == 3 ? '已过期' : '未使用') 
-        const tatal = val.dataTotal==-1?'无限流量':val.dataTotal
+            val.status == 3 ? '已过期' : '未使用')
+        const tatal = val.dataTotal == -1 ? '无限流量' : val.dataTotal
         return {
             ...val,
-            status:status,
-            dataTotal:tatal
+            status: status,
+            dataTotal: tatal
         }
     })
     intData()
@@ -326,23 +327,61 @@ const open = (data) => {
 
 // 使用量
 const intData = async () => {
-    let sourceName = await Getdictionary('source')
+    let sourceName = await Getdictionary('source');
+
     // 获取今天的日期
     const today = new Date();
     const toDay = today.toISOString().split('T')[0];
+
+    // 获取三个月前的日期
     const pastDate = new Date(today);
     pastDate.setMonth(today.getMonth() - 3); // 减去三个月
     const formattedDate = pastDate.toISOString().split('T')[0];
-    let res = await getDataCDR({ iccid: Card_info.value.iccid, source: sourceName.find(val => val.label == Card_info.value.source)?.value, startDate: formattedDate, endDate: toDay })
-    dataAmount.value = (res.data || []).map(val => {
-        const set = '+' + val.countryNo
-        return {
-            ...val,
-            countryNo: set
-        }
-    })
+
+    // 获取 CDR 数据
+    let res = await getDataCDR({
+        iccid: Card_info.value.iccid,
+        source: sourceName.find(val => val.label == Card_info.value.source)?.value,
+        startDate: formattedDate,
+        endDate: toDay
+    });
+
+    option.value.series[0].data = (res.data || [])
+        .filter(val => val.usage !== undefined) 
+        .map(val => val.usage); 
+
+    // 打印合并后的数据
+    console.log(option.value.series[0].data);
+
+    // 定义季度时间段
+    const time = ['1-3', '4-6', '7-9', '9-12'];
+
+    // 获取当前年份
+    const year = today.getFullYear();
+    for (let val of time) {
+        // 拆分每个时间段,获取开始月和结束月
+        const [startMonth, endMonth] = val.split('-');
+        const startDate = `${year}-${startMonth}-01`; // 格式化开始日期
+        const endDate = `${year}-${endMonth}-01`; // 格式化结束日期
+
+        // 获取每个时间段的数据
+        let res = await getDataCDR({
+            iccid: Card_info.value.iccid,
+            source: sourceName.find(val => val.label == Card_info.value.source)?.value,
+            startDate: startDate,
+            endDate: endDate
+        });
+
+        // 将当前时间段的数据中的 'usage' 字段合并到 series[0].data 数组中
+        const usageData = (res.data || [])
+            .filter(val => val.usage !== undefined) 
+            .map(val => val.usage); 
+        option.value.series[0].data.push(...usageData); 
+    }
 }
 
+
+
 const evChangePage = (page) => {
     pagination.value.current = page
 }

+ 0 - 1
src/views/order/BuyCard/index.vue

@@ -238,7 +238,6 @@
 <script setup>
 import { ref, reactive, onMounted } from 'vue';
 import { Message } from '@arco-design/web-vue';
-import { enum_dict } from "@/hooks/enum";
 import { tariffList } from "@/api/path/tariffManagement.api";
 import { purchaseOrderList, addPurchaseOrder, platformUpdate, adminUpdate } from '@/api/path/purchase';
 import { Getdictionary } from '@/mixins/index.js'