|  | @@ -1,13 +1,13 @@
 | 
	
		
			
				|  |  |  <script lang="ts" setup>
 | 
	
		
			
				|  |  | -import { defineProps, ref, computed } from 'vue';
 | 
	
		
			
				|  |  |  import XEUtils from 'xe-utils';
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  const props = defineProps<{
 | 
	
		
			
				|  |  |    field: string;
 | 
	
		
			
				|  |  |    value: string;
 | 
	
		
			
				|  |  |  }>();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const badgeMap = {
 | 
	
		
			
				|  |  | +const badgeMap: { [key: number]: string } = {
 | 
	
		
			
				|  |  |    0: '',
 | 
	
		
			
				|  |  |    1: 'LD',
 | 
	
		
			
				|  |  |    2: '7DD',
 | 
	
	
		
			
				|  | @@ -16,15 +16,16 @@ const badgeMap = {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const loadJsonString = (val: string) => XEUtils.toStringJSON(val);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const isArray = computed(() => XEUtils.includes(['bullet_point', 'variants'], props.field));
 | 
	
		
			
				|  |  | +const isArray = computed(() => XEUtils.includes([ 'bullet_point', 'variants' ], props.field));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const formatedVal = computed(() => {
 | 
	
		
			
				|  |  |    if (props.field === 'discount') {
 | 
	
		
			
				|  |  | -    return `${props.value}%`;
 | 
	
		
			
				|  |  | +    return `${ props.value }%`;
 | 
	
		
			
				|  |  |    } else if (props.field === 'coupon' || props.field === 'price') {
 | 
	
		
			
				|  |  | -    return `$${props.value}`;
 | 
	
		
			
				|  |  | +    return `$${ props.value }`;
 | 
	
		
			
				|  |  |    } else if (props.field === 'badge') {
 | 
	
		
			
				|  |  | -    return badgeMap[props.value];
 | 
	
		
			
				|  |  | +    const badgeValue = Number(props.value);
 | 
	
		
			
				|  |  | +    return badgeMap[badgeValue] || ''; // 添加默认值以处理无效的 badge 值
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    return props.value;
 | 
	
		
			
				|  |  |  });
 | 
	
	
		
			
				|  | @@ -34,16 +35,18 @@ const formatedVal = computed(() => {
 | 
	
		
			
				|  |  |    <div>
 | 
	
		
			
				|  |  |      <template v-if="props.field==='imgs'">
 | 
	
		
			
				|  |  |        <span v-for="(img, index) in loadJsonString(props.value)" :key="index">
 | 
	
		
			
				|  |  | -        <el-tooltip placement="bottom-start" effect="light">
 | 
	
		
			
				|  |  | +        <el-tooltip effect="light" placement="bottom-start">
 | 
	
		
			
				|  |  |            <el-image
 | 
	
		
			
				|  |  | -              style="width: 40px; margin-right: 5px;"
 | 
	
		
			
				|  |  | -              fit="fill"
 | 
	
		
			
				|  |  |                :src="`https://m.media-amazon.com/images/I/${img}.jpg`"
 | 
	
		
			
				|  |  | +              fit="fill"
 | 
	
		
			
				|  |  | +              lazy
 | 
	
		
			
				|  |  | +              style="width: 40px; margin-right: 5px;"
 | 
	
		
			
				|  |  |            />
 | 
	
		
			
				|  |  |            <template #content>
 | 
	
		
			
				|  |  |              <el-image
 | 
	
		
			
				|  |  | -                style="width: 250px"
 | 
	
		
			
				|  |  |                  :src="`https://m.media-amazon.com/images/I/${img}.jpg`"
 | 
	
		
			
				|  |  | +                lazy
 | 
	
		
			
				|  |  | +                style="width: 250px"
 | 
	
		
			
				|  |  |              />
 | 
	
		
			
				|  |  |            </template>
 | 
	
		
			
				|  |  |          </el-tooltip>
 |