@zuopngfei 61eeaf35b8 wewe
2025-06-16 19:01:34 +08:00

218 lines
4.9 KiB
JavaScript

// import state from '@/store/state'
import moment from 'moment'
//图片加前缀
// export const ImageCdn = (text) => {
// return process.env.VUE_APP_CDN_BASEURL + text
// }
// 没有数据返回--
const formatText = (val) => {
if (val == '' || val == undefined || val == null) {
return '--'
}
return val
}
// 没有数据返回0
const formatZero = (val) => {
if (val == '' || val == undefined || val == null) {
return 0
}
return val
}
const payDate = (val) => {
if (val == 7) {
return val + '天'
}
if (val > 7 && val < 40) {
return '月'
}
if (val > 40) {
return '年'
}
return val
}
const toFixed2 = (val) => {
let str = val.toFixed(2)
return str
}
const percent2 = (val) => {
if (val == '' || val == undefined || val == null) {
return '--'
}
let str = Math.round(val * 10000) / 100 + '%'
return str
}
// 日期格式化年月日
const formatYYYYMMDD = (value) => {
if (!value) {
return '--'
} else {
let str = moment(value).format('YYYY-MM-DD')
return str
}
}
// 字符串转数组
const strArr = (value) => {
if (!value) {
return '--'
} else {
let arr = JSON.parse(value)
let str = ''
arr.map((item, index) => {
str += item + '/'
})
str = str.substring(0, str.length - 1)
return str
}
}
const phoneFormat = (value) => {
if (!value) {
return '--'
} else {
let str = value
return str.substring(0, 3) + '****' + str.substring(7, str.length)
}
}
// 分转元 保留2位小数
export const toDecimal2 = (num) => {
let x = +num / 100
var f = parseFloat(x + '')
if (isNaN(f)) {
return '0'
}
var f = Math.round(x * 100) / 100
var s = f.toString()
var rs = s.indexOf('.')
if (rs < 0) {
rs = s.length
s += '.'
}
while (s.length <= rs + 2) {
s += '0'
}
return s
}
export const priceUppercase = (money) => {
var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖') //汉字的数字
var cnIntRadice = new Array('', '拾', '佰', '仟') //基本单位
var cnIntUnits = new Array('', '万', '亿', '兆') //对应整数部分扩展单位
var cnDecUnits = new Array('角', '分', '毫', '厘') //对应小数部分单位
//var cnInteger = "整"; //整数金额时后面跟的字符
var cnIntLast = '元' //整型完以后的单位
var maxNum = 999999999999999.9999 //最大处理的数字
var IntegerNum //金额整数部分
var DecimalNum //金额小数部分
var ChineseStr = '' //输出的中文金额字符串
var parts //分离金额后用的数组,预定义
if (money == '') {
return ''
}
money = parseFloat(money)
if (money >= maxNum) {
// $.alert('超出最大处理数字');
return ''
}
if (money == 0) {
//ChineseStr = cnNums[0]+cnIntLast+cnInteger;
ChineseStr = cnNums[0] + cnIntLast
//document.getElementById("show").value=ChineseStr;
return ChineseStr
}
money = money.toString() //转换为字符串
if (money.indexOf('.') == -1) {
IntegerNum = money
DecimalNum = ''
cnIntLast = '元整'
} else {
parts = money.split('.')
IntegerNum = parts[0]
DecimalNum = parts[1].substr(0, 4)
}
let zeroCount = 0
let IntLen = 0
let n
let p
let m
let q
let decLen = 0
if (parseInt(IntegerNum, 10) > 0) {
//获取整型部分转换
zeroCount = 0
IntLen = IntegerNum.length
for (var i = 0; i < IntLen; i++) {
n = IntegerNum.substr(i, 1)
p = IntLen - i - 1
q = p / 4
m = p % 4
if (n == '0') {
zeroCount++
} else {
if (zeroCount > 0) {
ChineseStr += cnNums[0]
}
zeroCount = 0 //归零
ChineseStr += cnNums[parseInt(n)] + cnIntRadice[m]
}
if (m == 0 && zeroCount < 4) {
ChineseStr += cnIntUnits[q]
}
}
ChineseStr += cnIntLast
//整型部分处理完毕
}
if (DecimalNum != '') {
//小数部分
decLen = DecimalNum.length
for (i = 0; i < decLen; i++) {
n = DecimalNum.substr(i, 1)
if (n != '0') {
ChineseStr += cnNums[Number(n)] + cnDecUnits[i]
}
}
}
if (ChineseStr == '') {
//ChineseStr += cnNums[0]+cnIntLast+cnInteger;
ChineseStr += cnNums[0] + cnIntLast
} /* else if( DecimalNum == '' ){
ChineseStr += cnInteger;
ChineseStr += cnInteger;
} */
return ChineseStr
}
//删除版本的V字符
export const deleteV = function(text) {
let str = text
? text
.replace(' ', '')
.replace('V', '')
.replace('v', '')
: text
return text
}
// 手机号中间加****
export const telChange = function(tel) {
tel = '' + tel
let newTel = tel.substr(0, 3) + '****' + tel.substr(7)
return newTel
}
//流程管理图片处理
const processIcon = function(data, type) {
let int = parseInt(data)
}
export { formatText, toFixed2, percent2, formatYYYYMMDD, strArr, phoneFormat, payDate, processIcon, formatZero }