🎈 perf(兼容图片链接带http情况):
This commit is contained in:
parent
9af19370ac
commit
2b15dc578c
@ -1,29 +1,28 @@
|
||||
import { IMG_CND_Prefix } from "./constant";
|
||||
import { IMG_CND_Prefix } from './constant'
|
||||
|
||||
/**
|
||||
* 移除井号
|
||||
* @param {String} val code 编码
|
||||
* @returns
|
||||
* @param {String} val code 编码
|
||||
* @returns
|
||||
*/
|
||||
export const formatRemoveHashTag = (val = "") => {
|
||||
// console.log('移除标签',val,val.endsWith("#"));
|
||||
return val.endsWith("#") ? val.replace("#", "") : val;
|
||||
};
|
||||
|
||||
export const formatRemoveHashTag = (val = '') => {
|
||||
// console.log('移除标签',val,val.endsWith("#"));
|
||||
return val.endsWith('#') ? val.replace('#', '') : val
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化编码+名称显示方式
|
||||
* @param {String} code 编码
|
||||
* @param {String} name 名称
|
||||
* @param {*} mode 模式 both:code + 名称 name: 仅显示名称
|
||||
* @returns
|
||||
* @returns
|
||||
*/
|
||||
export const formatHashTag = (code = "", name = "", mode = "both") => {
|
||||
if (mode == 'both') {
|
||||
return `${formatRemoveHashTag(code)}# ${name}`
|
||||
} else if (mode == 'name') {
|
||||
return `${name}`
|
||||
}
|
||||
export const formatHashTag = (code = '', name = '', mode = 'both') => {
|
||||
if (mode == 'both') {
|
||||
return `${formatRemoveHashTag(code)}# ${name}`
|
||||
} else if (mode == 'name') {
|
||||
return `${name}`
|
||||
}
|
||||
}
|
||||
|
||||
const Digit = 10 * 10
|
||||
@ -35,141 +34,150 @@ export const weightDigit = 1000
|
||||
|
||||
/**
|
||||
* 除以
|
||||
* @param {*} val
|
||||
* @param {*} digit
|
||||
* @param {*} priceStatus //是否显示千位分割
|
||||
* @returns
|
||||
* @param {*} val
|
||||
* @param {*} digit
|
||||
* @param {*} priceStatus //是否显示千位分割
|
||||
* @returns
|
||||
*/
|
||||
export const formatPriceDiv = (val, digit = Digit, priceStatus = false) => {
|
||||
let res = strip(Number(val / digit)) || 0
|
||||
return priceStatus?numberWithCommas({number: res}):res
|
||||
let res = strip(Number(val / digit)) || 0
|
||||
return priceStatus ? numberWithCommas({ number: res }) : res
|
||||
}
|
||||
/**
|
||||
* 乘以
|
||||
* @param {*} val
|
||||
* @param {*} digit
|
||||
* @returns
|
||||
* @param {*} val
|
||||
* @param {*} digit
|
||||
* @returns
|
||||
*/
|
||||
export const formatPriceMul = (val, digit = Digit) => {
|
||||
return strip(Number(val * digit)) || 0
|
||||
return strip(Number(val * digit)) || 0
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化重量单位 (乘以)
|
||||
* @param {Number} val
|
||||
* @returns
|
||||
* @param {Number} val
|
||||
* @returns
|
||||
*/
|
||||
export const formatWeightMul = (val, digit = weightDigit) => {
|
||||
return strip(Number(val * digit)) || 0
|
||||
return strip(Number(val * digit)) || 0
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化重量单位 (除以)
|
||||
* @param {*} val
|
||||
* @param {*} val
|
||||
*/
|
||||
export const formatWeightDiv = (val, digit = weightDigit) => {
|
||||
return strip(Number(val / digit)) || 0
|
||||
return strip(Number(val / digit)) || 0
|
||||
}
|
||||
|
||||
export const formatDateTime = (val, fmt = "YYYY-MM-DD HH:mm:ss") => {
|
||||
if (val) {
|
||||
let time = new Date(val)
|
||||
let Y = time.getFullYear()
|
||||
let M = time.getMonth() + 1
|
||||
let d = time.getDate()
|
||||
let h = time.getHours()
|
||||
let m = time.getMinutes()
|
||||
let s = time.getSeconds()
|
||||
export const formatDateTime = (val, fmt = 'YYYY-MM-DD HH:mm:ss') => {
|
||||
if (val) {
|
||||
let time = new Date(val)
|
||||
let Y = time.getFullYear()
|
||||
let M = time.getMonth() + 1
|
||||
let d = time.getDate()
|
||||
let h = time.getHours()
|
||||
let m = time.getMinutes()
|
||||
let s = time.getSeconds()
|
||||
|
||||
fmt = fmt.replace('YYYY', Y).replace('MM', M.toString().padStart(2, '0')).replace('DD', d.toString().padStart(2, '0')).replace('HH', h.toString().padStart(2, '0')).replace('mm', m.toString().padStart(2, '0')).replace('ss', s.toString().padStart(2, '0'))
|
||||
|
||||
return fmt
|
||||
} else {
|
||||
return val
|
||||
}
|
||||
fmt = fmt
|
||||
.replace('YYYY', Y)
|
||||
.replace('MM', M.toString().padStart(2, '0'))
|
||||
.replace('DD', d.toString().padStart(2, '0'))
|
||||
.replace('HH', h.toString().padStart(2, '0'))
|
||||
.replace('mm', m.toString().padStart(2, '0'))
|
||||
.replace('ss', s.toString().padStart(2, '0'))
|
||||
|
||||
return fmt
|
||||
} else {
|
||||
return val
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 精度
|
||||
* @param {*} num
|
||||
* @param {*} precision
|
||||
* @returns
|
||||
* @param {*} num
|
||||
* @param {*} precision
|
||||
* @returns
|
||||
*/
|
||||
export const strip = (num, precision = 12) => {
|
||||
return +parseFloat(num.toPrecision(precision));
|
||||
return +parseFloat(num.toPrecision(precision))
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换金额单位
|
||||
* @param {*} num 金额 / 数值
|
||||
* @param {*} digit 转换单位
|
||||
* @returns
|
||||
* @returns
|
||||
*/
|
||||
export const formatMillionYuan = (num, digit = 10000) => {
|
||||
return num / digit > 1 ? { num: toDecimal2(num / digit), million: true } : { num, million: false }
|
||||
return num / digit > 1 ? { num: toDecimal2(num / digit), million: true } : { num, million: false }
|
||||
}
|
||||
|
||||
/**
|
||||
* 数值保留两位小数
|
||||
* @param {*} x
|
||||
* @returns
|
||||
* @param {*} x
|
||||
* @returns
|
||||
*/
|
||||
export const toDecimal2 = (x) => {
|
||||
var f = parseFloat(x);
|
||||
if (isNaN(f)) {
|
||||
return 0;
|
||||
var f = parseFloat(x)
|
||||
if (isNaN(f)) {
|
||||
return 0
|
||||
}
|
||||
f = f + ''
|
||||
let index = f.lastIndexOf('.')
|
||||
if (index >= 0) {
|
||||
let decimal = f.substring(index + 1)
|
||||
if (decimal.length == 1) {
|
||||
f = f.substring(0, index + 1) + decimal + '0'
|
||||
} else {
|
||||
f = f.substring(0, index + 1) + decimal.substring(0, 2)
|
||||
}
|
||||
f = f + "";
|
||||
let index = f.lastIndexOf('.');
|
||||
if (index >= 0) {
|
||||
let decimal = f.substring(index + 1);
|
||||
if (decimal.length == 1) {
|
||||
f = f.substring(0, index + 1) + decimal + "0";
|
||||
} else {
|
||||
f = f.substring(0, index + 1) + decimal.substring(0, 2);
|
||||
}
|
||||
}
|
||||
return f;
|
||||
}
|
||||
return f
|
||||
}
|
||||
|
||||
/**
|
||||
* 格式化图片路径
|
||||
* @param {*} url
|
||||
* @param {*} url
|
||||
* @status true|false
|
||||
* @returns
|
||||
* @returns
|
||||
*/
|
||||
export const formatImgUrl = (url ,suffix="!w200") => {
|
||||
return url? IMG_CND_Prefix +url + suffix:IMG_CND_Prefix +'/mall/no_img.png'
|
||||
export const formatImgUrl = (url, suffix = '!w200') => {
|
||||
if (url) {
|
||||
return url.includes('http') ? url + suffix : IMG_CND_Prefix + url + suffix
|
||||
} else {
|
||||
return IMG_CND_Prefix + '/mall/no_img.png'
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {纹理图} imgurl
|
||||
* @param {rgb} rgb
|
||||
* @param {} suffix
|
||||
*
|
||||
* @param {纹理图} imgurl
|
||||
* @param {rgb} rgb
|
||||
* @param {} suffix
|
||||
* @returns 1 有纹理图,2 有rgb 3默认图
|
||||
*/
|
||||
export const isLabImage = (imgurl, rgb, suffix="!w200") => {
|
||||
if(imgurl) {
|
||||
return {status:1, value: IMG_CND_Prefix+'/'+imgurl+suffix}
|
||||
} else if(rgb.r != 0 || rgb.g != 0 || rgb.b != 0) {
|
||||
return {status:2, value: rgb}
|
||||
} else {
|
||||
return {status:3, value: IMG_CND_Prefix+'/mall/no_img.png'}
|
||||
}
|
||||
export const isLabImage = (imgurl, rgb, suffix = '!w200') => {
|
||||
if (imgurl) {
|
||||
return { status: 1, value: IMG_CND_Prefix + '/' + imgurl + suffix }
|
||||
} else if (rgb.r != 0 || rgb.g != 0 || rgb.b != 0) {
|
||||
return { status: 2, value: rgb }
|
||||
} else {
|
||||
return { status: 3, value: IMG_CND_Prefix + '/mall/no_img.png' }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {千位分割付} number
|
||||
* @returns
|
||||
*
|
||||
* @param {千位分割付} number
|
||||
* @returns
|
||||
*/
|
||||
export const numberWithCommas = ({number = 0, digit = 2}) => {
|
||||
if(!isNaN(Number(number))) {
|
||||
// return parseFloat(number).toFixed(digit).replace(/^\B(?<!\.\d*)(?=(\d{3})+(?!\d))$/g, ",");
|
||||
return parseFloat(number).toLocaleString('zh', {minimumFractionDigits: digit})
|
||||
} else {
|
||||
return 0.00
|
||||
}
|
||||
}
|
||||
export const numberWithCommas = ({ number = 0, digit = 2 }) => {
|
||||
if (!isNaN(Number(number))) {
|
||||
// return parseFloat(number).toFixed(digit).replace(/^\B(?<!\.\d*)(?=(\d{3})+(?!\d))$/g, ",");
|
||||
return parseFloat(number).toLocaleString('zh', { minimumFractionDigits: digit })
|
||||
} else {
|
||||
return 0.0
|
||||
}
|
||||
}
|
||||
|
@ -284,9 +284,17 @@ export default () => {
|
||||
|
||||
return (
|
||||
<View className={styles.order_main}>
|
||||
{(orderDetail?.status != SaleorderstatusWaitingPrePayment.value && <OrderState orderInfo={orderDetail} />) || <AdvanceOrderState orderInfo={orderDetail} onRefresh={refresh} />}
|
||||
{(orderDetail?.status != SaleorderstatusWaitingPrePayment.value && <OrderState orderInfo={orderDetail} />) || (
|
||||
<AdvanceOrderState orderInfo={orderDetail} onRefresh={refresh} />
|
||||
)}
|
||||
<View>
|
||||
<AddressInfoDetail orderInfo={defaultAddress} onLogistics={getLogistics} onSelect={getAddress} onChangeShipmentMode={getShipmentMode} ref={addressRef} />
|
||||
<AddressInfoDetail
|
||||
orderInfo={defaultAddress}
|
||||
onLogistics={getLogistics}
|
||||
onSelect={getAddress}
|
||||
onChangeShipmentMode={getShipmentMode}
|
||||
ref={addressRef}
|
||||
/>
|
||||
</View>
|
||||
<KindList order={formatPreViewOrderMemo} />
|
||||
<View className={styles.order_info}>
|
||||
@ -310,7 +318,9 @@ export default () => {
|
||||
</View>
|
||||
<View className={styles.order_desc} onClick={descOpen}>
|
||||
<View className={styles.order_desc_con}>订单备注</View>
|
||||
{(orderRemark && <View className={styles.order_desc_text}>{orderDetail?.remark}</View>) || <View className={styles.order_desc_text_hint}>填写备注</View>}
|
||||
{(orderRemark && <View className={styles.order_desc_text}>{orderDetail?.remark}</View>) || (
|
||||
<View className={styles.order_desc_text_hint}>填写备注</View>
|
||||
)}
|
||||
<View className={classnames(styles.miconfont, 'iconfont icon-a-moreback')}></View>
|
||||
</View>
|
||||
{orderDetail?.status != SaleOrderStatusCancel.value && (
|
||||
|
Loading…
x
Reference in New Issue
Block a user