Browse Source

feat: 充值订单管理 - 分成后订单金额调整

zhengxy 1 year ago
parent
commit
bfa5a8a432

+ 41 - 0
project/src/assets/js/common.js

@@ -137,6 +137,47 @@ export function formatNum (str) {
137 137
   return str
138 138
 }
139 139
 
140
+export function formatNumV2 (str, options = { toFixed: 2 }) {
141
+  if (typeof parseFloat(str) === 'number' && !isNaN(str) && str != null) {
142
+    //判断是否是数值类型
143
+    var newStr = "";
144
+    var count = 0;
145
+
146
+    // S options配置选项
147
+    // toFixed 默认保留小数点后两位,不处理传false
148
+    if (options && (options.toFixed || options.toFixed !== false)) {
149
+      console.log('options => ', options)
150
+      str = Number(str).toFixed(options.toFixed)
151
+    }
152
+    // E options配置选项
153
+
154
+    str = parseFloat(str)
155
+    str = str.toString();
156
+    if (str.indexOf(".") == -1) {
157
+      for (var i = str.length - 1; i >= 0; i--) {
158
+        if (count % 3 == 0 && count != 0 && str.charAt(i) != '-') {
159
+          newStr = str.charAt(i) + "," + newStr;
160
+        } else {
161
+          newStr = str.charAt(i) + newStr;
162
+        }
163
+        count++;
164
+      }
165
+      str = newStr; //自动补小数点后两位
166
+    } else {
167
+      for (var i = str.indexOf(".") - 1; i >= 0; i--) {
168
+        if (count % 3 == 0 && count != 0 && str.charAt(i) != '-') {
169
+          newStr = str.charAt(i) + "," + newStr;
170
+        } else {
171
+          newStr = str.charAt(i) + newStr; //逐个字符相接起来
172
+        }
173
+        count++;
174
+      }
175
+      str = newStr + str.substring(str.indexOf("."), str.length);
176
+    }
177
+  }
178
+  return str
179
+}
180
+
140 181
 //秒转化为时
141 182
 export function formateHours (endTime) {
142 183
   if (endTime) {

+ 4 - 2
project/src/components/dataBoard/orderData.vue

@@ -53,8 +53,7 @@
53 53
           <img src="@/assets/img/icon/总毛利润额@2x.png" style="height:14px" class="titleIcon" alt="">
54 54
           <span>分成后订单金额</span>
55 55
         </div>
56
-        <div class="dataItem-data">{{ dataInfo_stat && dataInfo_stat.pay_money ? $formatNum(dataInfo_stat.pay_money) : '-' }}
57
-        </div>
56
+        <div class="dataItem-data">{{ dataInfo_stat && dataInfo_stat.pay_money ? $formatNumV2(dataInfo_stat.pay_money, { toFixed: false }) : '-' }}</div>
58 57
       </div>
59 58
       <div class="dataInfoItem">
60 59
         <div class="dataItemTitle">
@@ -114,6 +113,9 @@
114 113
             <span v-else-if="item.prop == 'login_account'">
115 114
               {{ row[item.prop] || row[item.prop] == 0 ? row[item.prop] : '-' }}
116 115
             </span>
116
+            <span v-else-if="item.prop == 'pay_money'">
117
+              {{ row[item.prop] || row[item.prop] === 0 ? $formatNumV2(row[item.prop], { toFixed: false }) : '-' }}
118
+            </span>
117 119
             <!-- 收入来源 -->
118 120
             <!-- <span v-else-if="item.prop == 'is_ad_user'">
119 121
               {{ getIncomeSourceDesc(row[item.prop]) }}

+ 4 - 4
project/src/components/orderManage/charge.vue

@@ -49,10 +49,7 @@
49 49
           <img src="@/assets/img/icon/总毛利润额@2x.png" style="height:14px" class="titleIcon" alt="">
50 50
           <span>分成后订单金额</span>
51 51
         </div>
52
-        <div class="dataItem-data">{{ dataInfo_stat && dataInfo_stat.pay_money ? $formatNum(dataInfo_stat.pay_money) :
53
-            '-'
54
-        }}
55
-        </div>
52
+        <div class="dataItem-data">{{ dataInfo_stat && dataInfo_stat.pay_money ? $formatNumV2(dataInfo_stat.pay_money, { toFixed: false }) : '-' }}</div>
56 53
       </div>
57 54
       <div class="dataInfoItem">
58 55
         <div class="dataItemTitle">
@@ -124,6 +121,9 @@
124 121
             <span v-else-if="item.prop == 'pay_status'">
125 122
               {{ row[item.prop] ? (row[item.prop] == 1 ? '已付款' : '未付款') : '-' }}
126 123
             </span>
124
+            <span v-else-if="item.prop == 'pay_money'">
125
+              {{ row[item.prop] || row[item.prop] === 0 ? $formatNumV2(row[item.prop], { toFixed: false }) : '-' }}
126
+            </span>
127 127
             <!-- 投放类型 -->
128 128
             <span v-else-if="item.prop == 'order_type'">
129 129
               {{ getLaunchTypeDesc(row[item.prop]) }}

+ 2 - 1
project/src/main.js

@@ -24,7 +24,7 @@ import "@/assets/iconfont/iconfont.css"; // 阿里图标
24 24
 
25 25
 import { setLocal, getLocal, delLocal, delAllLocal } from '@/assets/js/storage.js'
26 26
 import { setCookie, getCookie, delCookie, delAllCookie } from '@/assets/js/cookie.js'
27
-import { getStrBytes, copy, getDay, NumberHandle, isChn, formatNum, formateHours, formateMinute, day_format, date_compatible, timeStamp_to_date, judgePhone } from '@/assets/js/common.js'
27
+import { getStrBytes, copy, getDay, NumberHandle, isChn, formatNum, formatNumV2, formateHours, formateMinute, day_format, date_compatible, timeStamp_to_date, judgePhone } from '@/assets/js/common.js'
28 28
 import exportToPdf from '@/assets/js/exportToPdf.js'
29 29
 Vue.use(exportToPdf)
30 30
 
@@ -48,6 +48,7 @@ Vue.prototype.$NumberHandle = NumberHandle;
48 48
 Vue.prototype.$formateHours = formateHours;
49 49
 Vue.prototype.$formateMinute = formateMinute;
50 50
 Vue.prototype.$formatNum = formatNum;
51
+Vue.prototype.$formatNumV2 = formatNumV2;
51 52
 Vue.prototype.$isChn = isChn;
52 53
 Vue.prototype.$date_compatible = date_compatible;
53 54
 Vue.prototype.$day_format = day_format;