소스 검색

table全局格式化内容,使用 formats 添加格式函数

tongshangming 2 년 전
부모
커밋
f9ed776a95
2개의 변경된 파일45개의 추가작업 그리고 0개의 파일을 삭제
  1. 1 0
      src/main.ts
  2. 44 0
      src/utils/tableFormat.ts

+ 1 - 0
src/main.ts

@@ -52,6 +52,7 @@ import {
   Table
 } from 'vxe-table'
 import 'vxe-table/styles/cssvar.scss'
+import '@/utils/tableFormat'
 
 import App from './App.vue'
 import router from './router'

+ 44 - 0
src/utils/tableFormat.ts

@@ -0,0 +1,44 @@
+import { VXETable } from 'vxe-table'
+import XEUtils from 'xe-utils'
+
+// 格式化日期,默认 yyyy-MM-dd HH:mm
+VXETable.formats.add('formatDate', {
+  cellFormatMethod({ cellValue }, format = 'yyyy-MM-dd HH:mm') {
+    return XEUtils.toDateString(cellValue, format)
+  }
+})
+
+// 四舍五入金额,每隔3位逗号分隔,默认2位数
+VXETable.formats.add('formatAmount', {
+  cellFormatMethod({ cellValue }, digits = 2) {
+    return XEUtils.commafy(XEUtils.toNumber(cellValue), { digits })
+  }
+})
+
+// 格式化银行卡,默认每4位空格隔开
+VXETable.formats.add('formatBankcard', {
+  cellFormatMethod({ cellValue }) {
+    return XEUtils.commafy(XEUtils.toValueString(cellValue), { spaceNumber: 4, separator: ' ' })
+  }
+})
+
+// 向下舍入,默认两位数
+VXETable.formats.add('formatCutNumber', {
+  cellFormatMethod({ cellValue }, digits = 2) {
+    return XEUtils.toFixed(XEUtils.floor(cellValue, digits), digits)
+  }
+})
+
+// 四舍五入,默认两位数
+VXETable.formats.add('formatFixedNumber', {
+  cellFormatMethod({ cellValue }, digits = 2) {
+    return XEUtils.toFixed(XEUtils.round(cellValue, digits), digits)
+  }
+})
+
+// 格式化性别
+VXETable.formats.add('formatSex', {
+  cellFormatMethod({ cellValue }) {
+    return cellValue ? (cellValue === '1' ? '男' : '女') : ''
+  }
+})