Browse Source

1、审批详情数字类型添加千分位符

RaoMeng 5 years ago
parent
commit
cefd0701cf

+ 21 - 5
uas-office-web/wxuasapproval/src/components/tableItem/TableItem.jsx

@@ -3,7 +3,7 @@ import './tableItem.css'
 import { Input, Modal } from 'semantic-ui-react'
 import { DatePicker, Radio } from 'antd'
 import locale from 'antd/lib/date-picker/locale/zh_CN'
-import { isObjEmpty } from '../../utils/common'
+import { isObjEmpty, numFormat, strContain } from '../../utils/common'
 import ApprovalBean from '../../model/ApprovalBean'
 import moment from 'moment'
 
@@ -65,8 +65,16 @@ export default class TableItem extends Component {
     const { inputValue, radioValue, selectList, mApproval, approvalAble } = this.state
 
     if (approvalAble == false) {
-      valueItem =
-        <div dangerouslySetInnerHTML={{ __html: mApproval.values }}></div>
+      if (mApproval.dfType == 'N'
+        || mApproval.dfType == 'floatcolumn8'
+        || mApproval.dfType == 'SN'
+        || strContain(mApproval.dfType, 'floatcolumn')) {
+        valueItem =
+          <div>{numFormat(mApproval.values)}</div>
+      } else {
+        valueItem =
+          <div dangerouslySetInnerHTML={{ __html: mApproval.values }}></div>
+      }
     } else if (mApproval.neerInput) {
       let placeHolder = ''
       if (mApproval.mustInput) {
@@ -165,8 +173,16 @@ export default class TableItem extends Component {
           <span style={{ color: '#f10813' }}>{mApproval.values}</span>
         </div>
       } else {
-        valueItem =
-          <div dangerouslySetInnerHTML={{ __html: mApproval.values }}></div>
+        if (mApproval.dfType == 'N'
+          || mApproval.dfType == 'floatcolumn8'
+          || mApproval.dfType == 'SN'
+          || strContain(mApproval.dfType, 'floatcolumn')) {
+          valueItem =
+            <div>{numFormat(mApproval.values)}</div>
+        } else {
+          valueItem =
+            <div dangerouslySetInnerHTML={{ __html: mApproval.values }}></div>
+        }
       }
     }
 

+ 5 - 3
uas-office-web/wxuasapproval/src/model/ApprovalBean.js

@@ -1,4 +1,4 @@
-import { isObjEmpty, isObjNull } from '../utils/common'
+import { isObjEmpty, isObjNull, strContain } from '../utils/common'
 import moment from 'moment'
 
 export default function ApprovalBean (type) {
@@ -94,8 +94,10 @@ export default function ApprovalBean (type) {
   }
 
   this.isNumber = function () {
-    return this.dfType == 'N' || this.dfType == 'floatcolumn8' || this.dfType ==
-      'SN'
+    return this.dfType == 'N'
+      || this.dfType == 'floatcolumn8'
+      || this.dfType == 'SN'
+      || strContain(this.dfType, 'floatcolumn')
   }
 
   this.isSelect = function () {

+ 27 - 11
uas-office-web/wxuasapproval/src/utils/common.js

@@ -156,7 +156,7 @@ export function MapToJson (m) {
   return str
 }
 
-export  function strMapToObj(m) {
+export function strMapToObj (m) {
   if (isObjEmpty(m)) {
     return ''
   }
@@ -165,23 +165,22 @@ export  function strMapToObj(m) {
     return ''
   }
   m.forEach(function (item, key) {
-    var obj = JSON.stringify(_strMapToObj(item));
-    str+=obj+','
+    var obj = JSON.stringify(_strMapToObj(item))
+    str += obj + ','
   })
-  str = str.slice(0,str.length-1)
+  str = str.slice(0, str.length - 1)
   str += ']'
-  return str;
+  return str
 }
 
-export function _strMapToObj(item) {
-  let obj = Object.create(null);
-  for (let [k,v] of item) {
-    obj[k] = v;
+export function _strMapToObj (item) {
+  let obj = Object.create(null)
+  for (let [k, v] of item) {
+    obj[k] = v
   }
-  return obj;
+  return obj
 }
 
-
 /**
  * require.context(directory, useSubdirectories = false, regExp = /^\.\//);
  * 获取目标目录下符合条件的所有文件
@@ -286,3 +285,20 @@ String.prototype.startWith = function (s) {
     return false
   return true
 }
+
+/**
+ * 数字字符串添加千分位符
+ * @param num
+ * @returns {string}
+ */
+export function numFormat (num) {
+  if (isObjEmpty(num)) {
+    return ''
+  }
+  var res = num.toString().replace(/\d+/, function (n) { // 先提取整数部分
+    return n.replace(/(\d)(?=(\d{3})+$)/g, function ($1) {
+      return $1 + ','
+    })
+  })
+  return res
+}