218 lines
4.9 KiB
JavaScript
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 }
|