123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297 |
- var filters = {
- /**
- * 字符串截取
- * @string value 需要截取的字符串
- * @Number start 截取起始位置
- * @Number end 截取结束位置
- */
- tosubStr: function (value, start, end) {
- if (value) {
- return value.slice(start, end);
- } else {
- return ''
- }
- },
- pdNumFun: function (value) {
- if (value.indexOf("-") != -1) { //没有则返回-1
- return true;
- } else {
- return false;
- }
- },
-
- /**
- * 判断str中是否包含value值
- * @param str
- * @param value
- */
- indexOfFun: function (str, value) {
- if (str) {
- if (str.indexOf(value) != -1) { //没有则返回-1
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- },
-
- /**
- * 用于字典解析
- * @param arr 目标数组
- * @param value 当前的到的值
- * @param targetCode 需要匹配的字段名
- * @param returnCode 返回的字段名
- */
- codeAnalysis: function (arr, value, targetCode, returnCode) {
- var returnStr = ''
- arr.forEach(function (item) {
- if (value == item[targetCode]) {
- returnStr = item[returnCode]
- }
- })
- return returnStr
- },
- //二维数组转字符串
- arrToSting: function (value) {
- var getNameArr = []
- if (value && value.length) {
- for (var i = 0; i < value.length; i++) {
- getNameArr.push(value[i].name)
- }
- }
- return getNameArr.join(',')
- },
- //一维数组转字符串
- arrToStingOne: function (value) {
- return value.join(',')
- },
- //字符串替换,将oldstr全部变为newStr
- changeStr: function (value, oldstr, newStr) {
- return value.replace(oldstr, newStr)
- },
- /**
- * 字符串变数组取对应下标值
- * @string value 需要截取的字符串
- * @string str 分隔的字符串
- * @Number Num 下标
- */
- tosplit: function (value, str, Num) {
- if (value) {
- return value.split(str)[Num];
- } else {
- return ''
- }
- },
- getFileType: function (fileUrl) {
- var value = fileUrl.split('.')[1];
- if (value == 'doc' || value == 'docx') {
- return '6'
- } else if (value == 'xlsx' || value == 'xls') {
- return '7'
- } else if (value == 'pdf') {
- return '2'
- } else if (value == 'png' || value == 'jpg' || value == 'jpeg') {
- return '3'
- } else {
- return '1'
- }
- },
- /**
- * 找到字典对应text,用于详情显示
- * @param {*} v_data 数组
- * @param {*} value 数据库返回的值
- * @param {*} codeName 用于匹配数组中的字段名
- * @param {*} textCode 返回的字段名
- */
- getDicName: function (v_data, value, codeName, textCode) {
- var n = '';
- if (v_data) {
- for (var i = 0; i < v_data.length; i++) {
- if (v_data[i][codeName] == value) {
- n = v_data[i][textCode];
- }
- }
- return n;
- }
- },
- //保留两位小数
- toFixed: function (value, num) {
- return value.toFixed(num)
- },
- /**
- * 计算百分比
- * @param {Number} value 当前值,获取当前占比
- * @param {Number} total 总值
- */
- getPersent: function (value, total) {
- if(total<=0){
- return 50
- }else{
- return (value / total)*100; //包含返回true
- }
- },
- // 过磅状态
- status: function (value) {
- value = Number(value)
- switch (value) {
- case 0:
- return '待过磅'
- break;
- case 1:
- return '已过磅'
- break;
- case 2:
- return '一次过磅'
- break;
- case 3:
- return '已作废'
- break;
- }
- },
- /**
- * 判断数组是否包含某个字符串 {{filters.hasPromision('quotePrice',mobileButtonCodeList)}}
- * @param arr 数组 mobileButtonCodeList:wx.getStorageSync('mobileButtonCodeList')
- * @param str 字符串
- */
- hasPromision:function (str, arr) {
- //var getArr = arr.split(',')
- return arr.indexOf(str)!=-1
- //return arr.includes(str)
- },
- //判断数字包含的小数位数,最多保存两位小数点
- numberFormat: function (value, num) {
- // 将数字转换为字符串
- //var str = value.toString();
- var str = value + ""
- // 判断是否有小数点
- if (value && str.indexOf('.') != -1) {
- // 返回小数位数
- //return str.length - str.indexOf('.') - 1;
- if (str.length - str.indexOf('.') - 1 > 1) {
- return value.toFixed(num)
- } else {
- return value
- }
- } else {
- return value
- }
- },
- // 过磅状态
- dataStatus: function (value) { //0-待审核 1-审核通过2-过磅中 3-过磅完成4-审核拒绝5-人工结束
- value = Number(value)
- switch (value) {
- case 0:
- return '待审核'
- break;
- case 1:
- return '审核通过'
- break;
- case 2:
- return '过磅中'
- break;
- case 3:
- return '过磅完成'
- break;
- case 4:
- return '审核拒绝'
- break;
- case 5:
- return '人工结束'
- break;
- }
- },
- reservationType: function (value) {
- value = Number(value)
- switch (value) {
- case 2:
- return '装货'
- break;
- case 3:
- return '卸货'
- break;
- }
- },
- weighingType: function (value) {
- value = Number(value)
- switch (value) {
- case 1:
- return '一次过磅'
- break;
- case 2:
- return '二次过磅'
- break;
- }
- },
- coutNum:function(value){
- return Number(value)/100
- },
- /**
- * 判断某个字符串是否包含某个字符串
- * @param {*} value 原始字符串
- * @param {*} str 匹配字符串
- */
- isContainStr: function (value, str) {
- if (value) {
- return value.indexOf(str) != -1; //包含返回true
- } else {
- return false; //包含返回true
- }
- },
- /**
- * 计算百分比
- * @param {Number} value 当前值,获取当前占比
- * @param {Number} total 总值
- */
- getPersent: function (value, total) {
- if(total<=0){
- return 50
- }else{
- return (value / total)*100; //包含返回true
- }
- },
- }
- module.exports = {
- tosubStr: filters.tosubStr,
- arrToSting: filters.arrToSting,
- arrToStingOne: filters.arrToStingOne,
- pdNumFun: filters.pdNumFun,
- indexOfFun: filters.indexOfFun,
- changeStr: filters.changeStr,
- tosplit: filters.tosplit, //字符串转数组取对应下标值
- codeAnalysis: filters.codeAnalysis, //字典解析,用于详情显示
- getFileType: filters.getFileType,
- getDicName: filters.getDicName,
- toFixed: filters.toFixed,
- getPersent: filters.getPersent,
- status:filters.status,
- hasPromision:filters.hasPromision,//判断数组是否包含某个值
- numberFormat:filters.numberFormat, //判断数字包含的小数位数,最多保存两位小数点
- dataStatus:filters.dataStatus, //预约记录状态
- reservationType:filters.reservationType, //出入库类型
- weighingType:filters.weighingType, //过磅次数
- coutNum:filters.coutNum,
- isContainStr: filters.isContainStr, //判断某个字符串是否包含某个字符串
- getPersent: filters.getPersent
- }
- // 引用方式<wxs module="filters" src="../../utils/filter.wxs"></wxs> {{ filters.toFix(price) }}
|