Bladeren bron

卡清单处理显示为空的字段

wxy 4 maanden geleden
bovenliggende
commit
b8044dc90b
2 gewijzigde bestanden met toevoegingen van 30 en 9 verwijderingen
  1. 24 1
      src/utils/utils.js
  2. 6 8
      src/views/lotCard/cardList/index.vue

+ 24 - 1
src/utils/utils.js

@@ -58,4 +58,27 @@ export const getParseLang = (data, lang) => {
   } catch (error) {
     return data;
   }
-};
+};
+
+
+// 进行字段为空的判断
+export function sanitizeObject(obj) {
+  if (Array.isArray(obj)) {
+    return obj.map(item => sanitizeObject(item));
+  } else if (obj !== null && typeof obj === 'object') {
+    const sanitized = {};
+    for (const key in obj) {
+      if (obj.hasOwnProperty(key)) {
+        if (typeof obj[key] === 'string') {
+          sanitized[key] = obj[key].trim() === '' ? '---' : obj[key];
+        } else if (typeof obj[key] === 'object' && obj[key] !== null) {
+          sanitized[key] = sanitizeObject(obj[key]);
+        } else {
+          sanitized[key] = obj[key];
+        }
+      }
+    }
+    return sanitized;
+  }
+  return obj;
+}

+ 6 - 8
src/views/lotCard/cardList/index.vue

@@ -76,6 +76,7 @@ import { columns } from "./config";
 import { cardInfoList } from "@/api/path/lotCard.api"
 import trafficUseDialog from "./trafficUseDialog.vue";
 import { Getdictionary } from '@/mixins/index.js'
+import {sanitizeObject} from '@/utils/utils'
 import Add from './add.vue'
 const { proxy } = getCurrentInstance()
 import { useI18n } from 'vue-i18n'
@@ -104,23 +105,20 @@ const intData = async () => {
     size: pagination.value.pageSize,
     ...searchForm.value,
   }
-  const soureName = await Getdictionary('source')
-  const accountStatusName = await Getdictionary('account')
   const { data } = await cardInfoList(param)
   dataSource.value = (data.records || []).map((item, index) => {
     const payType = item.payType == 0 ? 'Prepay' : 'Postpay';
-    // const soure = soureName.find(val => val.value == item.source)?.label
+    const mergedItem = { ...item, ...item.Info };
+    const sanitizedItem = sanitizeObject(mergedItem);
     return {
-      ...item,
-      ...item.Info,
+      ...sanitizedItem,
       payType: payType,
-      // sourceName: soure,
       forewarningStatus: '正常',
       SilenceEndtime: '一个月',
       usedBg: '0',
       usableBg: '0',
-      dataUsage: item.dataPackage[0]?.dataUsage + '/MB',
-      dataTotal: item.dataPackage[0]?.dataTotal + '/MB',
+      dataUsage: item.dataPackage[0]?.dataUsage?item.dataPackage[0]?.dataUsage:'0' + '/MB',
+      dataTotal: item.dataPackage[0]?.dataTotal?item.dataPackage[0]?.dataTotal:'0' + '/MB',
     }
   })
   pagination.value.total = data.total