Bladeren bron

增加商品列表医疗器械标签

Admin 3 jaren geleden
bovenliggende
commit
df05d72a81
31 gewijzigde bestanden met toevoegingen van 380 en 52 verwijderingen
  1. 27 4
      components/cm-module/listTemplate/buyagainList.vue
  2. 27 4
      components/cm-module/listTemplate/immediatelyList.vue
  3. 25 2
      components/cm-module/listTemplate/productList.vue
  4. 4 1
      components/cm-module/pageFloorTemplate/templateA.vue
  5. 4 1
      components/cm-module/pageFloorTemplate/templateB.vue
  6. 4 1
      components/cm-module/pageFloorTemplate/templateC.vue
  7. 4 1
      components/cm-module/pageFloorTemplate/templateD.vue
  8. 4 1
      components/cm-module/pageFloorTemplate/templateE.vue
  9. 4 1
      components/cm-module/pageFloorTemplate/templateF.vue
  10. 4 1
      components/cm-module/pageFloorTemplate/templateG.vue
  11. 4 1
      components/cm-module/pageFloorTemplate/templateI.vue
  12. 4 1
      components/cm-module/pageFloorTemplate/templateJ.vue
  13. 4 1
      components/cm-module/pageFloorTemplate/templateK.vue
  14. 4 1
      components/cm-module/pageTemplate/templateA.vue
  15. 4 2
      components/cm-module/pageTemplate/templateB.vue
  16. 4 1
      components/cm-module/pageTemplate/templateC.vue
  17. 4 1
      components/cm-module/pageTemplate/templateD.vue
  18. 5 1
      components/cm-module/pageTemplate/templateE.vue
  19. 4 1
      components/cm-module/pageTemplate/templateF.vue
  20. 4 1
      components/cm-module/pageTemplate/templateG.vue
  21. 4 1
      components/cm-module/pageTemplate/templateH.vue
  22. 4 1
      components/cm-module/pageTemplate/templateI.vue
  23. 4 1
      components/cm-module/pageTemplate/templateJ.vue
  24. 4 1
      components/cm-module/pageTemplate/templateK.vue
  25. 70 0
      components/cm-module/pageTemplate/templateType.vue
  26. 25 4
      pages/goods/goods-active.vue
  27. 26 3
      pages/goods/goods-classify.vue
  28. 20 2
      pages/goods/goods-supporting.vue
  29. 28 7
      pages/goods/product.vue
  30. 26 3
      pages/search/search.vue
  31. 21 1
      pages/user/collection/collection.vue

+ 27 - 4
components/cm-module/listTemplate/buyagainList.vue

@@ -18,7 +18,10 @@
 					class="all-type-list-content commodity-list"
 					@click.stop="navToDetailPage(item.productId)"
 				>
-					<image mode="widthFix" :src="item.image" class="list-img" alt="list-img"></image>
+					<view class="list-details-image">
+						<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
+						<view class="list-details-type">医疗器械</view>
+					</view>
 					<view class="list-details-info">
 						<text class="list-details-title">{{ item.name }}</text>
 						<text class="list-details-specs">规格:{{ item.unit != null ? item.unit : '' }}</text>
@@ -314,12 +317,32 @@ export default {
 	display: flex;
 	flex-direction: row;
 	box-sizing: content-box;
-	.list-img {
-		width: 240rpx;
-		height: 240rpx !important;
+	.list-details-image{
+		width: 218rpx;
+		height: 218rpx !important;
 		margin-right: 26rpx;
 		border-radius: 10rpx;
 		border: 2rpx solid #f3f3f3;
+		position: relative;
+		.list-img {
+			width: 218rpx;
+			height: 218rpx !important;
+		}
+		.list-details-type{
+			width: 64rpx;
+			height: 64rpx;
+			text-align: justify;
+			box-sizing: border-box;
+			padding: 10rpx;
+			border-radius: 0 0 8rpx 8rpx;
+			background-color: #33CCBF;
+			font-size: $font-size-22;
+			color: #FFFFFF;
+			line-height: 25rpx;
+			position: absolute;
+			top: 0;
+			right: 10rpx;
+		}
 	}
 }
 .list-details-info {

+ 27 - 4
components/cm-module/listTemplate/immediatelyList.vue

@@ -51,7 +51,10 @@
 						class="all-type-list-content commodity-list"
 						@click.stop="navToDetailPage(pros.productId)"
 					>
-						<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
+						<view class="list-details-image">
+							<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
+							<view class="list-details-type">医疗器械</view>
+						</view>
 						<view class="list-details-info">
 							<text class="list-details-title">{{ isInterceptHtmlFn(pros.name) }}</text>
 							<text class="list-details-specs">规格:{{ pros.unit ? pros.unit : '' }}</text>
@@ -858,12 +861,32 @@ export default {
 	display: flex;
 	flex-direction: row;
 	box-sizing: content-box;
-	.list-img {
-		width: 312rpx;
-		height: 207rpx !important;
+	.list-details-image{
+		width: 218rpx;
+		height: 218rpx !important;
 		margin-right: 26rpx;
 		border-radius: 10rpx;
 		border: 2rpx solid #f3f3f3;
+		position: relative;
+		.list-img {
+			width: 218rpx;
+			height: 218rpx !important;
+		}
+		.list-details-type{
+			width: 64rpx;
+			height: 64rpx;
+			text-align: justify;
+			box-sizing: border-box;
+			padding: 10rpx;
+			border-radius: 0 0 8rpx 8rpx;
+			background-color: #33CCBF;
+			font-size: $font-size-22;
+			color: #FFFFFF;
+			line-height: 25rpx;
+			position: absolute;
+			top: 0;
+			right: 10rpx;
+		}
 	}
 }
 .zuhe-list-content {

+ 25 - 2
components/cm-module/listTemplate/productList.vue

@@ -18,7 +18,10 @@
 					class="all-type-list-content commodity-list"
 					@click.stop="navToDetailPage(item.productId)"
 				>
-					<image mode="widthFix" :src="item.image" class="list-img" alt="list-img"></image>
+					<view class="list-details-image">
+						<image mode="widthFix" :src="item.image" class="list-img" alt="list-img"></image>
+						<view class="list-details-type">医疗器械</view>
+					</view>
 					<view class="list-details-info">
 						<text class="list-details-title">{{ item.name }}</text>
 						<text class="list-details-specs">规格:{{ item.unit != null ? item.unit : '' }}</text>
@@ -392,12 +395,32 @@ export default {
 	display: flex;
 	flex-direction: row;
 	box-sizing: content-box;
-	.list-img {
+	.list-details-image{
 		width: 240rpx;
 		height: 240rpx !important;
 		margin-right: 26rpx;
 		border-radius: 10rpx;
 		border: 2rpx solid #f3f3f3;
+		position: relative;
+		.list-img {
+			width: 240rpx;
+			height: 240rpx !important;
+		}
+		.list-details-type{
+			width: 64rpx;
+			height: 64rpx;
+			text-align: justify;
+			box-sizing: border-box;
+			padding: 10rpx;
+			border-radius: 0 0 8rpx 8rpx;
+			background-color: #33CCBF;
+			font-size: $font-size-22;
+			color: #FFFFFF;
+			line-height: 25rpx;
+			position: absolute;
+			top: 0;
+			right: 10rpx;
+		}
 	}
 }
 .list-details-info {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateA.vue

@@ -23,6 +23,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -73,13 +74,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateA',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateB.vue

@@ -39,6 +39,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -89,13 +90,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateB',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateC.vue

@@ -39,6 +39,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -89,13 +90,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateC',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateD.vue

@@ -55,6 +55,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -105,13 +106,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateD',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateE.vue

@@ -23,6 +23,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -73,13 +74,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateE',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateF.vue

@@ -7,6 +7,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -57,13 +58,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateG',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateG.vue

@@ -7,6 +7,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -57,13 +58,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateG',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateI.vue

@@ -55,6 +55,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -105,13 +106,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateD',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateJ.vue

@@ -56,6 +56,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -105,13 +106,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateD',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageFloorTemplate/templateK.vue

@@ -87,6 +87,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -137,13 +138,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateD',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateA.vue

@@ -24,6 +24,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -74,12 +75,14 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 export default {
 	name: 'templateA',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 2
components/cm-module/pageTemplate/templateB.vue

@@ -40,6 +40,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -90,13 +91,14 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
-
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 export default {
 	name: 'templateB',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateC.vue

@@ -40,6 +40,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -90,13 +91,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateC',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateD.vue

@@ -56,6 +56,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -106,13 +107,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateD',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 5 - 1
components/cm-module/pageTemplate/templateE.vue

@@ -24,6 +24,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -74,13 +75,16 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
+
 
 export default {
 	name: 'templateE',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateF.vue

@@ -8,6 +8,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -74,13 +75,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateF',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateG.vue

@@ -8,6 +8,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -58,13 +59,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateG',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateH.vue

@@ -18,6 +18,7 @@
 						@click.stop="navToDetailPage(item)"
 					>
 						<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+						<template-Type :product="item.product"></template-Type>
 						<view class="floor-item_tag" v-if="item.listType == 2">
 							<text>{{ item.label }}</text>
 						</view>
@@ -84,13 +85,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateH',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateI.vue

@@ -56,6 +56,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -106,13 +107,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateD',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateJ.vue

@@ -57,6 +57,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -107,13 +108,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateD',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 4 - 1
components/cm-module/pageTemplate/templateK.vue

@@ -88,6 +88,7 @@
 			@click.stop="navToDetailPage(item)"
 		>
 			<image class="item-img tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+			<template-Type :product="item.product"></template-Type>
 			<view class="floor-item_tag" v-if="item.listType == 2">
 				<text>{{ item.label }}</text>
 			</view>
@@ -138,13 +139,15 @@ import { mapState, mapMutations } from 'vuex'
 import uniGrader from '@/components/uni-grade/uni-grade.vue'
 import templateTags from '@/components/cm-module/pageTemplate/templateTags.vue'
 import templatePrice from '@/components/cm-module/pageTemplate/templatePrice.vue'
+import templateType from '@/components/cm-module/pageTemplate/templateType.vue'
 
 export default {
 	name: 'templateD',
 	components: {
 		uniGrader,
 		templateTags,
-		templatePrice
+		templatePrice,
+		templateType
 	},
 	props: {
 		pageData: {

+ 70 - 0
components/cm-module/pageTemplate/templateType.vue

@@ -0,0 +1,70 @@
+<template name="cm-acttags">
+	<!-- 楼层价格显示公共组件 -->
+	<view>
+		<view class="floor-item-type">医疗器械</view>
+	</view>
+</template>
+
+<script>
+import { mapState, mapMutations } from 'vuex'
+export default {
+	name: 'templateType',
+	components: {
+	},
+	props: {
+		product: {
+			type: Object
+		}
+	},
+	data() {
+		return {
+			goods:{}
+		}
+	},
+	filters: {
+		NumFormat: function(text) {
+			//处理金额
+			return Number(text).toFixed(2)
+		}
+	},
+	created() {
+		this.initData(this.product)
+	},
+	computed: {
+		...mapState(['hasLogin', 'isWxAuthorize','clubType'])
+	},
+	watch: {
+		pageData: {
+			handler: function(el) {
+				//监听对象的变换使用 function,箭头函数容易出现this指向不正确
+				this.product = el
+				this.initData(this.product)
+			},
+			deep: true
+		}
+	},
+	methods: {
+		async initData(data) {
+			this.goods = data
+		},
+	}
+}
+</script>
+
+<style lang="scss">
+.floor-item-type{
+	width: 64rpx;
+	height: 64rpx;
+	text-align: justify;
+	box-sizing: border-box;
+	padding: 10rpx;
+	border-radius: 0 0 8rpx 8rpx;
+	background-color: #33CCBF;
+	font-size: $font-size-22;
+	color: #FFFFFF;
+	line-height: 25rpx;
+	position: absolute;
+	top: 0;
+	right: 16rpx;
+}
+</style>

+ 25 - 4
pages/goods/goods-active.vue

@@ -20,7 +20,10 @@
 						:key="index"
 						@click.stop="detail(item.productId)"
 					>
-						<image class="tui-skeleton-fillet" :src="item.image" mode="aspectFill"></image>
+						<view class="floor-item-image">
+							<image mode="widthFix" :src="item.image" class="list-img tui-skeleton-fillet"  alt="list-img"></image>
+							<view class="list-details-type">医疗器械</view>
+						</view>
 						<view class="floor-item-content">
 							<view class="title"
 								><text class="mclap">{{ item.name }}</text></view
@@ -319,12 +322,30 @@ page {
 			&:nth-child(2n) {
 				margin-right: 0;
 			}
-			image {
+			.floor-item-image{
 				width: 341rpx;
 				height: 341rpx;
-				border-radius: 20rpx 20rpx 0 0;
-				display: block;
 				margin-bottom: 20rpx;
+				position: relative;
+				.list-img {
+					width: 341rpx;
+					height: 341rpx;
+				}
+				.list-details-type{
+					width: 64rpx;
+					height: 64rpx;
+					text-align: justify;
+					box-sizing: border-box;
+					padding: 10rpx;
+					border-radius: 0 0 8rpx 8rpx;
+					background-color: #33CCBF;
+					font-size: $font-size-22;
+					color: #FFFFFF;
+					line-height: 25rpx;
+					position: absolute;
+					top: 0;
+					right: 10rpx;
+				}
 			}
 			.floor-item-content {
 				width: 100%;

+ 26 - 3
pages/goods/goods-classify.vue

@@ -86,7 +86,10 @@
 						class="all-type-list-content commodity-list"
 						@click.stop="navToDetailPage(pros.productId)"
 					>
-						<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
+						<view class="list-details-image">
+							<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
+							<view class="list-details-type">医疗器械</view>
+						</view>
 						<view class="list-details-info">
 							<text class="list-details-title">
 								<text class="mclap-tag" v-if="pros.beautyActFlag == 1">美博会</text>
@@ -849,12 +852,32 @@ page {
 	display: flex;
 	flex-direction: row;
 	box-sizing: content-box;
-	.list-img {
-		width: 210rpx;
+	.list-details-image{
+		width: 218rpx;
 		height: 218rpx !important;
 		margin-right: 26rpx;
 		border-radius: 10rpx;
 		border: 2rpx solid #f3f3f3;
+		position: relative;
+		.list-img {
+			width: 218rpx;
+			height: 218rpx !important;
+		}
+		.list-details-type{
+			width: 64rpx;
+			height: 64rpx;
+			text-align: justify;
+			box-sizing: border-box;
+			padding: 10rpx;
+			border-radius: 0 0 8rpx 8rpx;
+			background-color: #33CCBF;
+			font-size: $font-size-22;
+			color: #FFFFFF;
+			line-height: 25rpx;
+			position: absolute;
+			top: 0;
+			right: 10rpx;
+		}
 	}
 }
 .list-details-info {

+ 20 - 2
pages/goods/goods-supporting.vue

@@ -23,8 +23,9 @@
 								>
 								</view>
 							</view>
-							<view class="tui-goods-image" @click.stop="navToDetailPage(pros.productId)"
-								><image :src="pros.image" class="tui-goods-img" />
+							<view class="tui-goods-image" @click.stop="navToDetailPage(pros.productId)">
+								<image :src="pros.image" class="tui-goods-img" />
+								<view class="tui-goods-type">医疗器械</view>
 							</view>
 							<view class="tui-goods-info">
 								<text class="list-details-title" @click.stop="navToDetailPage(pros.productId)">{{
@@ -746,6 +747,8 @@ page {
 	width: 180rpx;
 	height: 180rpx !important;
 	border-radius: 12rpx;
+	position: relative;
+	border: 2rpx solid #f3f3f3;
 	.tui-goods-img {
 		width: 180rpx;
 		height: 180rpx !important;
@@ -753,6 +756,21 @@ page {
 		flex-shrink: 0;
 		display: block;
 	}
+	.tui-goods-type{
+		width: 64rpx;
+		height: 64rpx;
+		text-align: justify;
+		box-sizing: border-box;
+		padding: 10rpx;
+		border-radius: 0 0 8rpx 8rpx;
+		background-color: #33CCBF;
+		font-size: $font-size-22;
+		color: #FFFFFF;
+		line-height: 25rpx;
+		position: absolute;
+		top: 0;
+		right: 10rpx;
+	}
 }
 .tui-goods-info {
 	width: 460rpx;

+ 28 - 7
pages/goods/product.vue

@@ -90,10 +90,14 @@
 								>
 									<swiper-item v-for="(item, index) in productImage" :key="index" class="banner-item">
 										<image :src="item" @click="previewImg(index)" class="product-img" />
-										<!-- <view class="cm-product-cover" v-if="product.appletsActType === 1"
-											>云上美博会</view
-										> -->
-                                        <view class="cm-product-cover" v-if="product.appletsActType === 1"></view>
+										<view class="cm-product-tags">
+											<!-- <view class="cm-product-cover" v-if="product.appletsActType === 1"
+												>云上美博会</view
+											> -->
+											<view class="cm-product-type">医疗器械</view>
+											<view class="cm-product-cover" v-if="product.appletsActType === 1"></view>
+										</view>
+                                       
 									</swiper-item>
 								</swiper>
 								<view class="swiper__dots-box">
@@ -1572,10 +1576,25 @@ page {
 	}
 	.banner-item {
 		position: relative;
-		.cm-product-cover {
+		.cm-product-tags{
 			position: absolute;
-            right: 30rpx;
-            top: 0;
+			right: 30rpx;
+			top: 0;
+		}
+		.cm-product-type{
+			width: 64rpx;
+			height: 64rpx;
+			text-align: justify;
+			box-sizing: border-box;
+			padding: 10rpx;
+			border-radius: 0 0 8rpx 8rpx;
+			background-color: #33CCBF;
+			font-size: $font-size-22;
+			color: #FFFFFF;
+			line-height: 25rpx;
+			float: left;
+		}
+		.cm-product-cover {
             width: 120rpx;
             height: 77rpx;
 			// right: 30rpx;
@@ -1587,6 +1606,8 @@ page {
 			text-align: center;
 			background: url(https://static.caimei365.com/app/img/icon2/cm_cover_bg_app.png) no-repeat center;
 			background-size: 120rpx;
+			float: left;
+			margin-left: 10rpx;
 		}
 	}
 }

+ 26 - 3
pages/search/search.vue

@@ -174,7 +174,10 @@
 					class="all-type-list-content commodity-list"
 					@click.stop="navToDetailPage(pros.productId)"
 				>
-					<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
+					<view class="list-details-image">
+						<image mode="widthFix" :src="pros.image" class="list-img" alt="list-img"></image>
+						<view class="list-details-type">医疗器械</view>
+					</view>
 					<view class="list-details-info">
 						<view class="list-details-title">
 							<text class="mclap-tag" v-if="pros.beautyActFlag == 1">美博会</text>
@@ -1421,12 +1424,32 @@ page {
 	display: flex;
 	flex-direction: row;
 	box-sizing: content-box;
-	.list-img {
-		width: 210rpx;
+	.list-details-image{
+		width: 218rpx;
 		height: 218rpx !important;
 		margin-right: 26rpx;
 		border-radius: 10rpx;
 		border: 2rpx solid #f3f3f3;
+		position: relative;
+		.list-img {
+			width: 218rpx;
+			height: 218rpx !important;
+		}
+		.list-details-type{
+			width: 64rpx;
+			height: 64rpx;
+			text-align: justify;
+			box-sizing: border-box;
+			padding: 10rpx;
+			border-radius: 0 0 8rpx 8rpx;
+			background-color: #33CCBF;
+			font-size: $font-size-22;
+			color: #FFFFFF;
+			line-height: 25rpx;
+			position: absolute;
+			top: 0;
+			right: 10rpx;
+		}
 	}
 }
 .list-details-info {

+ 21 - 1
pages/user/collection/collection.vue

@@ -33,7 +33,9 @@
 								</view>
 							</view>
 							<view class="tui-goods-image" @click.stop="navToDetailPage(pros.productId)"
-								><image :src="pros.image" class="tui-goods-img" />
+								>
+								<image :src="pros.image" class="tui-goods-img" />
+								<view class="tui-goods-type">医疗器械</view>
 							</view>
 							<view
 								class="tui-goods-info"
@@ -798,7 +800,10 @@ page {
 .tui-goods-image {
 	width: 180rpx;
 	height: 180rpx !important;
+	border: 2rpx solid #f3f3f3;
 	border-radius: 12rpx;
+	position: relative;
+	border: 2rpx solid #f3f3f3;
 	.tui-goods-img {
 		width: 180rpx;
 		height: 180rpx !important;
@@ -806,6 +811,21 @@ page {
 		flex-shrink: 0;
 		display: block;
 	}
+	.tui-goods-type{
+		width: 64rpx;
+		height: 64rpx;
+		text-align: justify;
+		box-sizing: border-box;
+		padding: 10rpx;
+		border-radius: 0 0 8rpx 8rpx;
+		background-color: #33CCBF;
+		font-size: $font-size-22;
+		color: #FFFFFF;
+		line-height: 25rpx;
+		position: absolute;
+		top: 0;
+		right: 10rpx;
+	}
 }
 .tui-goods-info {
 	padding-left: 20rpx;