baiqiu-cms-decoration-dg 0.0.24 → 0.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/package.json +7 -50
  2. package/README.md +0 -24
  3. package/babel.config.js +0 -5
  4. package/public/favicon.ico +0 -0
  5. package/public/index.html +0 -17
  6. package/src/App.vue +0 -594
  7. package/src/api/com-service.js +0 -26
  8. package/src/assets/iconfont/demo.css +0 -539
  9. package/src/assets/iconfont/iconfont.css +0 -158
  10. package/src/assets/iconfont/iconfont.eot +0 -0
  11. package/src/assets/iconfont/iconfont.json +0 -254
  12. package/src/assets/iconfont/iconfont.svg +0 -89
  13. package/src/assets/iconfont/iconfont.ttf +0 -0
  14. package/src/assets/iconfont/iconfont.woff +0 -0
  15. package/src/assets/iconfont/iconfont.woff2 +0 -0
  16. package/src/assets/img/pc-cms-v2/icon.png +0 -0
  17. package/src/assets/img/pc-cms-v2/next1.png +0 -0
  18. package/src/assets/img/pc-cms-v2/next2.png +0 -0
  19. package/src/assets/img/pc-cms-v2/prev1.png +0 -0
  20. package/src/assets/img/pc-cms-v2/prev2.png +0 -0
  21. package/src/assets/img/pc-cms-v2/text.png +0 -0
  22. package/src/components/cms/animate.scss +0 -19
  23. package/src/components/cms/buttonItem/buttonItem.js +0 -135
  24. package/src/components/cms/buttonItem/buttonItem.scss +0 -95
  25. package/src/components/cms/buttonItem/buttonItem.vue +0 -47
  26. package/src/components/cms/buttonItem/index.js +0 -2
  27. package/src/components/cms/cms.js +0 -105
  28. package/src/components/cms/cms.scss +0 -46
  29. package/src/components/cms/cms.vue +0 -51
  30. package/src/components/cms/customLayout/customLayout.js +0 -46
  31. package/src/components/cms/customLayout/customLayout.scss +0 -8
  32. package/src/components/cms/customLayout/customLayout.vue +0 -15
  33. package/src/components/cms/customLayout/index.js +0 -2
  34. package/src/components/cms/hotspot/hotspot.js +0 -200
  35. package/src/components/cms/hotspot/hotspot.scss +0 -20
  36. package/src/components/cms/hotspot/hotspot.vue +0 -35
  37. package/src/components/cms/hotspot/index.js +0 -2
  38. package/src/components/cms/imgNav/imgNav.js +0 -176
  39. package/src/components/cms/imgNav/imgNav.scss +0 -113
  40. package/src/components/cms/imgNav/imgNav.vue +0 -123
  41. package/src/components/cms/imgNav/index.js +0 -2
  42. package/src/components/cms/index.js +0 -2
  43. package/src/components/cms/mixin.js +0 -239
  44. package/src/components/cms/multipleLayout/index.js +0 -2
  45. package/src/components/cms/multipleLayout/multipleLayout.js +0 -54
  46. package/src/components/cms/multipleLayout/multipleLayout.scss +0 -21
  47. package/src/components/cms/multipleLayout/multipleLayout.vue +0 -25
  48. package/src/components/cms/productItem/index.js +0 -2
  49. package/src/components/cms/productItem/productItem.js +0 -290
  50. package/src/components/cms/productItem/productItem.scss +0 -180
  51. package/src/components/cms/productItem/productItem.vue +0 -117
  52. package/src/components/cms/singleLayout/index.js +0 -2
  53. package/src/components/cms/singleLayout/singleLayout.js +0 -69
  54. package/src/components/cms/singleLayout/singleLayout.scss +0 -21
  55. package/src/components/cms/singleLayout/singleLayout.vue +0 -39
  56. package/src/components/cms/slideLayout/index.js +0 -2
  57. package/src/components/cms/slideLayout/slideLayout.js +0 -248
  58. package/src/components/cms/slideLayout/slideLayout.scss +0 -18
  59. package/src/components/cms/slideLayout/slideLayout.vue +0 -44
  60. package/src/components/cms/swiperItem/index.js +0 -2
  61. package/src/components/cms/swiperItem/swiperItem.js +0 -228
  62. package/src/components/cms/swiperItem/swiperItem.scss +0 -204
  63. package/src/components/cms/swiperItem/swiperItem.vue +0 -123
  64. package/src/components/cms/tabLayout/index.js +0 -2
  65. package/src/components/cms/tabLayout/navItem/index.js +0 -2
  66. package/src/components/cms/tabLayout/navItem/navItem.js +0 -47
  67. package/src/components/cms/tabLayout/navItem/navItem.scss +0 -23
  68. package/src/components/cms/tabLayout/navItem/navItem.vue +0 -13
  69. package/src/components/cms/tabLayout/tabLayout.js +0 -158
  70. package/src/components/cms/tabLayout/tabLayout.scss +0 -26
  71. package/src/components/cms/tabLayout/tabLayout.vue +0 -43
  72. package/src/components/cms/textItem/index.js +0 -2
  73. package/src/components/cms/textItem/textItem.js +0 -65
  74. package/src/components/cms/textItem/textItem.scss +0 -19
  75. package/src/components/cms/textItem/textItem.vue +0 -26
  76. package/src/components/cms/utils.js +0 -101
  77. package/src/components/cms/videoItem/index.js +0 -2
  78. package/src/components/cms/videoItem/videoItem.js +0 -96
  79. package/src/components/cms/videoItem/videoItem.scss +0 -27
  80. package/src/components/cms/videoItem/videoItem.vue +0 -56
  81. package/src/components/cms/videoPlayer/index.js +0 -2
  82. package/src/components/cms/videoPlayer/videoPlayer.js +0 -68
  83. package/src/components/cms/videoPlayer/videoPlayer.scss +0 -37
  84. package/src/components/cms/videoPlayer/videoPlayer.vue +0 -34
  85. package/src/index.js +0 -19
  86. package/src/index.scss +0 -221
  87. package/src/main.js +0 -8
  88. package/src/utils/common.js +0 -23
  89. package/src/utils/http-client.js +0 -101
  90. package/src/utils/utils.js +0 -63
  91. /package/{lib/baiqiu-cms-decoration-dg.common.js → baiqiu-cms-decoration-dg.common.js} +0 -0
  92. /package/{lib/baiqiu-cms-decoration-dg.common.js.map → baiqiu-cms-decoration-dg.common.js.map} +0 -0
  93. /package/{lib/baiqiu-cms-decoration-dg.css → baiqiu-cms-decoration-dg.css} +0 -0
  94. /package/{lib/baiqiu-cms-decoration-dg.umd.js → baiqiu-cms-decoration-dg.umd.js} +0 -0
  95. /package/{lib/baiqiu-cms-decoration-dg.umd.js.map → baiqiu-cms-decoration-dg.umd.js.map} +0 -0
  96. /package/{lib/baiqiu-cms-decoration-dg.umd.min.js → baiqiu-cms-decoration-dg.umd.min.js} +0 -0
  97. /package/{lib/baiqiu-cms-decoration-dg.umd.min.js.map → baiqiu-cms-decoration-dg.umd.min.js.map} +0 -0
  98. /package/{lib/demo.html → demo.html} +0 -0
  99. /package/{lib/fonts → fonts}/iconfont.529b3ed0.ttf +0 -0
  100. /package/{lib/fonts → fonts}/iconfont.580c918e.eot +0 -0
  101. /package/{lib/fonts → fonts}/iconfont.ea5b1aa2.woff +0 -0
  102. /package/{lib/img → img}/iconfont.654cc65b.svg +0 -0
@@ -1,47 +0,0 @@
1
- <template>
2
- <div
3
- :style="{
4
- width: Math.round(attributeJson.baseStyle.w * ratio) + 'px',
5
- height: Math.round(attributeJson.baseStyle.h * ratio) + 'px',
6
- left: Math.round(attributeJson.baseStyle.l * ratio) + 'px',
7
- top: Math.round(attributeJson.baseStyle.t * ratio) + 'px'
8
- }"
9
- class="button-wrap"
10
- >
11
- <div class="entrance-con">
12
- <div
13
- :ref="`button${attributeJson.sort}`"
14
- :class="['button-cl', `button-cl-${sortId}`, animationInObj.type ? enterClass : '']" v-show="entranceShow"
15
- @click="pageClick"
16
- :style="{ animationDuration: `${animationInObj.duration}s` }">
17
- <div
18
- class="button-content"
19
- :class="[{ flexCenterBetween: iconImage }, animationHoverObj.type === 4 ? hoverDirection : '']"
20
- @mouseover.stop="textMouseOver"
21
- @mouseleave="textMouseLeave"
22
- :style="[buttonStyle, { '--width': hoverStyleShow ? '100%' : '0', '--height': hoverStyleShow ? '100%' : '0', '--bgColor': animationHoverObj.bgStyle.backgroundColor }]"
23
- v-hoverAnimate
24
- >
25
- <img v-if="iconStyle.type === 1 && iconStyle.position === 1 && iconImage" :src="iconImage" alt="" />
26
- <div class="label" :style="hoverButtonStyle">{{ attributeJson.label || '按钮' }}</div>
27
- <img v-if="iconStyle.type === 1 && iconStyle.position === 2 && iconImage" :src="iconImage" alt="" />
28
-
29
- <!-- 换图 -->
30
- <img class="hover-image" :src="hoverImage" alt="" v-if="animationHoverObj.type === 5 && hoverImage && hoverStyleShow" />
31
- </div>
32
- <!-- 边框 -->
33
- <div class="hover-con" v-if="animationHoverObj.type === 2" :style="[hoverStyle, { opacity: hoverStyleShow ? 1 : 0, borderRadius: attributeJson.borderStyle.borderRadius + 'px' }]"></div>
34
- </div>
35
- </div>
36
- </div>
37
- </template>
38
-
39
- <script>
40
- import buttonItemJs from './buttonItem.js'
41
- export default buttonItemJs
42
- </script>
43
-
44
- <style lang="scss" scoped>
45
- @import 'buttonItem';
46
- @import '../animate.scss';
47
- </style>
@@ -1,2 +0,0 @@
1
- import buttonItem from './buttonItem.vue'
2
- export default buttonItem
@@ -1,105 +0,0 @@
1
- // import draggable from 'vuedraggable'
2
- import singleLayout from './singleLayout/'
3
- import multipleLayout from './multipleLayout/'
4
- import customLayout from './customLayout/'
5
- import tabLayout from "./tabLayout/";
6
- import slideLayout from './slideLayout/';
7
-
8
- export default {
9
- name: 'cms',
10
- inheritAttrs: false,
11
- components: {
12
- // draggable,
13
- singleLayout, //单列布局
14
- multipleLayout, //多列布局
15
- customLayout, // 自定义
16
- tabLayout, // 导航
17
- slideLayout, // 滑动容器
18
- },
19
- props: {
20
- cmsList: {
21
- type: Array,
22
- default: () => []
23
- },
24
- canDrag: {
25
- type: Boolean,
26
- default: true
27
- },
28
- mode: {
29
- type: String,
30
- default: 'pc'
31
- },
32
- ratio: {
33
- type: Number,
34
- default: 1
35
- },
36
- envUrl: {
37
- type: String,
38
- default: ''
39
- },
40
- path: {
41
- type: String
42
- }
43
- },
44
- watch: {
45
- // cmsList: {
46
- // handler(val) {
47
- // console.log(val)
48
- // },
49
- // immediate: true
50
- // }
51
- },
52
- data() {
53
- return {
54
- chooseSort: '', //选中的元素标识
55
- activeIndex: -1, // 鼠标悬浮的元素位置
56
- layOutObj: {
57
- 1:'singleLayout',
58
- 2:'multipleLayout',
59
- 3:'customLayout',
60
- 4:'tabLayout',
61
- 5:'slideLayout'
62
- }
63
- }
64
- },
65
- computed: {
66
- },
67
- mounted() {
68
- this.$nextTick(()=>{
69
- var commom = require('../../utils/common')
70
- commom.scroll(this)
71
- commom.entrance(this)
72
- });
73
- },
74
- methods: {
75
- chooseLayout(layoutType, sort) {
76
- this.chooseSort = sort
77
- this.$emit('updateLayOut', { layoutType, sort})
78
- },
79
- updateSort(sort) {
80
- this.chooseSort = sort
81
- },
82
- // 删除布局组件
83
- deleteModule(index, sort) {
84
- // 若删除的为当前选中布局, 特殊处理
85
- if(sort === this.chooseSort) {
86
- this.$emit('deleteModule', index)
87
- } else {
88
- this.cmsList.splice(index, 1)
89
- this.$emit('saveVersionId')
90
- }
91
- },
92
- // 控制组件展示或隐藏
93
- showOrHide(index) {
94
- let item = this.cmsList[index]
95
- this.$set(item, 'displayType', item.displayType ? 0 : 1)
96
- this.$emit('componentChange', item.sort)
97
- },
98
- judgeSlot(index) {
99
- if(this.cmsList[index].attributeJson.componentList) {
100
- console.log(this.cmsList[index].attributeJson.componentList)
101
- return this.cmsList[index].attributeJson.componentList.some(ele=> {return ele.type == 106})
102
- }
103
- }
104
- }
105
- }
@@ -1,46 +0,0 @@
1
- .lay-wrap {
2
- width: 100%;
3
-
4
- .vdr {
5
- border: none;
6
- touch-action: auto;
7
- }
8
-
9
- .lay-item {
10
- border: none;
11
- position: relative;
12
- width: 100%;
13
- display: flex;
14
- justify-content: center;
15
- background-color: #fff;
16
-
17
- .btn-wrap {
18
- width: 136px;
19
- height: 40px;
20
- background-color: #1890FF;
21
- color: #fff;
22
- display: flex;
23
- align-items: center;
24
- justify-content: center;
25
- position: absolute;
26
- right: -1px;
27
- border-radius: 8px 0px 0px;
28
- bottom: 0;
29
-
30
- .icon {
31
- font-size: 16px;
32
- cursor: pointer;
33
- }
34
-
35
- .iconrank {
36
- font-size: 19px;
37
- margin-right: 16px;
38
- }
39
-
40
- .iconvisibility, .iconyincang {
41
- margin-right: 18px;
42
- font-size: 20px;
43
- }
44
- }
45
- }
46
- }
@@ -1,51 +0,0 @@
1
- <template>
2
- <div ref="cms">
3
- <div
4
- :class="['lay-wrap', { mobile: mode == 'mobile' }]"
5
- >
6
- <div
7
- class="lay-item"
8
- v-for="(item) in cmsList"
9
- :key="item.sort"
10
- >
11
- <div
12
- class="layout-set"
13
- :style="{
14
- width: item.attributeJson.layoutStyle && item.attributeJson.layoutStyle.widthStyle.type === 2 ? item.attributeJson.layoutStyle.widthStyle.width + '%' : '100%',
15
- height: item.attributeJson.layoutStyle ? Math.round(item.attributeJson.layoutStyle.height * ratio) + 'px' : 'auto'
16
- }"
17
- >
18
- <component
19
- ref="layModule"
20
- :is="layOutObj[item.layoutType]"
21
- v-bind="$attrs"
22
- v-on="$listeners"
23
- :layOutData="item.attributeJson"
24
- :sort="item.attributeJson.sort"
25
- :ratio="ratio"
26
- :mode="mode"
27
- :recordId="item.originalId"
28
- :envUrl="envUrl"
29
- :path="path"
30
- >
31
- <template v-if="item.layoutType == 3" slot="customComponent" slot-scope="scope">
32
- <slot name="customComponent" :attributeJson="scope.attributeJson"></slot>
33
- </template>
34
- <template v-slot:dgCustomComponent="scope">
35
- <slot name="dgCustomComponent" :data="scope.attributeJson"></slot>
36
- </template>
37
- </component>
38
- </div>
39
- </div>
40
- </div>
41
- </div>
42
- </template>
43
-
44
- <script>
45
- import cmsJs from "./cms.js";
46
- export default cmsJs;
47
- </script>
48
-
49
- <style lang="scss" scoped>
50
- @import "cms";
51
- </style>
@@ -1,46 +0,0 @@
1
- import { dataSaveDecorationPageComponentEventFn } from '../../../utils/utils';
2
- export default {
3
- name: 'customLayout',
4
- props: {
5
- layOutData: {
6
- type: Object,
7
- default: () => {}
8
- },
9
- envUrl: {
10
- type: String,
11
- default: ''
12
- },
13
- path: {
14
- type: String
15
- }
16
- },
17
- inheritAttrs: false,
18
- methods:{
19
- // 上报数据
20
- reportData(h) {
21
- if(this.isReport) return
22
- let ref = this.$refs[`custom${this.layOutData.sort}`]
23
- if(!ref) return
24
- let el = ref.getBoundingClientRect()
25
- if(el.top <= h && el.top >= 0) {
26
- this.isReport = true
27
- dataSaveDecorationPageComponentEventFn(
28
- {
29
- uniqueId: this.layOutData.sort, // 组件_id
30
- uniqueName: this.uniqueName, // 组件_名称
31
- componentType: 7,
32
- popData: {},
33
- materialId: this.layOutData.sort, //素材id
34
- materialName: this.uniqueName, //素材名称
35
- refererPagePath: this.refererPagePath,
36
- brand: this.brand,
37
- path: this.path,
38
- position: 1,
39
- event: 'bannerShow'
40
- },
41
- this.envUrl
42
- )
43
- }
44
- }
45
- }
46
- }
@@ -1,8 +0,0 @@
1
- .custom-layout{
2
- width: 100%;
3
- height: 100%;
4
- display: flex;
5
- justify-content: center;
6
- align-items: center;
7
- position: relative;
8
- }
@@ -1,15 +0,0 @@
1
- <template>
2
- <div class="custom-layout" :ref="`custom${layOutData.sort}`">
3
- <div class="add-con"></div>
4
- <slot name="customComponent" :attributeJson="layOutData"></slot>
5
- </div>
6
- </template>
7
-
8
- <script>
9
- import customLayoutJs from './customLayout.js'
10
- export default customLayoutJs
11
- </script>
12
-
13
- <style lang="scss" scoped>
14
- @import "customLayout";
15
- </style>
@@ -1,2 +0,0 @@
1
- import customLayout from './customLayout.vue'
2
- export default customLayout
@@ -1,200 +0,0 @@
1
- import { ComService } from "../../../api/com-service";
2
- import { dataSaveDecorationPageComponentEventFn } from '../../../utils/utils'
3
- export default {
4
- name: 'hotspot',
5
- props: {
6
- item: {
7
- type: Object,
8
- default: () => {}
9
- },
10
- width: {
11
- type: Number,
12
- default: 0
13
- },
14
- height: {
15
- type: Number,
16
- default: 0
17
- },
18
- ratio: {
19
- type: Number,
20
- default: 1
21
- },
22
- envUrl: {
23
- type: String,
24
- default:''
25
- },
26
- // 组件sort
27
- sortId: {
28
- type: Number,
29
- default: 0
30
- },
31
- // 最外层布局recordId
32
- recordId: {
33
- type: Number,
34
- default: 0
35
- },
36
- brand: {
37
- type: String
38
- },
39
- componentType: {
40
- type: Number
41
- },
42
- refererPagePath: {
43
- type: String
44
- },
45
- path: {
46
- type: String,
47
- },
48
- pathType: {
49
- type: Number
50
- },
51
- uniqueName: {
52
- type: String
53
- },
54
- language: {
55
- type: String,
56
- default: 'zh-CN'
57
- },
58
- // 适用于轮播图的热区坑位上报,因为轮播图loop前后复制的原因,会造成复制的元素拿不到preTotal
59
- prePosition: {
60
- type: Number
61
- }
62
- },
63
- data() {
64
- return {
65
- hotList: [],
66
- proportion: 1,
67
- hoverIndex: 1,
68
- needReport: true, // 是否需要上报
69
- preTotal: 0,
70
- service: new ComService(),
71
- }
72
- },
73
- watch: {
74
- 'item.width': {
75
- handler(val) {
76
- this.proportion = val / 750
77
- },
78
- deep: true,
79
- immediate: true
80
- },
81
- itemCodeList: {
82
- handler(val) {
83
- this.getProductList(val)
84
- },
85
- immediate: true,
86
- deep: true
87
- }
88
- },
89
- computed: {
90
- itemCodeList() {
91
- let pop = this.item.popList.filter(item => {
92
- return item.jumpLinkType == 1 && item.product.imageType == 1
93
- })
94
- return pop.map(item=> {
95
- return item.productCode
96
- })
97
- }
98
- },
99
- mounted() {
100
- this.hotList = JSON.parse(JSON.stringify(this.item.popList))
101
- },
102
- methods: {
103
- // 点击热区
104
- pageClick(val,index) {
105
- if(val.jumpLinkType) {
106
- try {
107
- dataSaveDecorationPageComponentEventFn(
108
- {
109
- uniqueId: this.recordId + '_' + this.sortId, // 组件_id
110
- uniqueName: this.uniqueName, // 组件_名称
111
- componentMethodType: 1,
112
- popData: {
113
- ...val,
114
- uniqueId: this.recordId + '_' + this.sortId + '_' + val.uniqueId.split('_')[2],
115
- brand: this.pathType === 1 ? 'defaultPath' : this.brand
116
- },
117
- materialId: this.item.sort ? this.recordId + '_' + this.item.sort : this.recordId + '_' + this.sortId, //素材id
118
- materialName: this.item.uniqueName ? this.item.uniqueName : this.uniqueName, //素材名称
119
- refererPagePath: this.refererPagePath,
120
- componentType: this.componentType,
121
- path: this.path,
122
- brand: this.brand,
123
- position: this.prePosition? this.prePosition + index + 1 : this.preTotal*1 + index + 1,
124
- event: 'bannerClick'
125
- },
126
- this.envUrl
127
- )
128
- } catch(err) {
129
- console.log(err)
130
- }
131
- }
132
- this.$emit('jumpLink', val)
133
- },
134
- // 获取商品列表
135
- getProductList(itemCodeList) {
136
- if(itemCodeList.length == 0) return
137
- let params = {
138
- itemCodeList: itemCodeList,
139
- pageNum: 1,
140
- pageSize: itemCodeList.length
141
- }
142
- let productImage = {}
143
- this.service.getProductInfo(this.envUrl, params, this.language).then(res => {
144
- if (res && res.list) {
145
- this.productList = res.list;
146
- res.list.forEach(item => {
147
- productImage[item.code] = item.mainPicUrl
148
- })
149
- this.productImage = productImage
150
- }
151
- })
152
- },
153
- reportData(h, preTotal = 0) {
154
- this.preTotal = preTotal
155
- let arr = this.hotList || []
156
- if(!this.needReport) return
157
-
158
- this.needReport = arr.some(item=>{
159
- return !item.isReport
160
- })
161
- arr.forEach((ele, i) => {
162
- // 若已上报不重复上报
163
- if (!ele.isReport) {
164
- let hotEl = this.$refs[`${this.sortId}${i}`][0].getBoundingClientRect()
165
- if (hotEl.top <= h && hotEl.top >= -100) {
166
- arr[i].isReport = true
167
- let obj = arr[i]
168
- dataSaveDecorationPageComponentEventFn(
169
- {
170
- uniqueId: this.recordId + '_' + this.sortId, // 组件_id
171
- uniqueName: this.uniqueName, // 组件_名称
172
- componentMethodType: 0,
173
- popData: {
174
- ...obj,
175
- uniqueId: this.recordId + '_' + this.sortId + '_' + obj.uniqueId.split('_')[2],
176
- brand: this.pathType === 1 ? 'defaultPath' : this.brand
177
- },
178
- materialId: this.item.sort ? this.recordId + '_' +this.item.sort : this.recordId + '_' + this.sortId, //素材id
179
- materialName: this.item.uniqueName ? this.item.uniqueName : this.uniqueName, //素材名称
180
- refererPagePath: this.refererPagePath,
181
- path: this.path,
182
- componentType: this.componentType,
183
- brand: this.brand,
184
- position: preTotal + i + 1,
185
- event: 'bannerShow'
186
- },
187
- this.envUrl
188
- )
189
- }
190
- }
191
- })
192
- },
193
- mouseover(index) {
194
- this.hoverIndex = index
195
- },
196
- mouseLeave() {
197
- this.hoverIndex = -1
198
- }
199
- },
200
- }
@@ -1,20 +0,0 @@
1
- .pop-wrap {
2
- position: absolute;
3
- .pop-item {
4
- position: absolute;
5
- cursor: pointer;
6
-
7
- .product-hover {
8
- font-size: 0;
9
- display: flex;
10
- align-items: center;
11
- position: relative;
12
- height: 100%;
13
-
14
- .product-image {
15
- font-size: 0;
16
- padding-left: 10px;
17
- }
18
- }
19
- }
20
- }
@@ -1,35 +0,0 @@
1
- <template>
2
- <div class="pop-wrap" :style="{left: item.left, top: item.top, width: item.realWidth * ratio+'px' || '100%', height: item.realHeight * ratio+'px' || '100%'}">
3
- <div
4
- :ref="`${sortId}${index}`"
5
- :class="`pop-item`"
6
- v-for="(ele,index) in item.popList"
7
- :key="index"
8
- @click="pageClick(ele, index)"
9
- :style="{
10
- width: `${ele.width / 750 * 100 }%`,
11
- height:`${ele.height / (item.height / proportion) * 100}%`,
12
- left: `${ele.left / 750 * 100 }%`,
13
- top: `${ele.top / (item.height /proportion) * 100}%`
14
- }">
15
- <div class="product-hover" v-if="ele.product.openHot" @mouseover="mouseover(index)" @mouseleave="mouseLeave">
16
- <div v-if="ele.product.initImage.length!=0" style="{fontSize: 0}">
17
- <img :src="hoverIndex == index ?ele.product.hoverImage[0].resourcePath: ele.product.initImage[0].resourcePath" alt="">
18
- </div>
19
-
20
- <div v-if="hoverIndex == index" class="product-image">
21
- <img :src="ele.product.imageType == 1 ? productImage[ele.productCode] : ele.product.productImage[0].resourcePath" alt="">
22
- </div>
23
- </div>
24
- </div>
25
- </div>
26
- </template>
27
-
28
- <script>
29
- import hotspotJs from './hotspot.js';
30
- export default hotspotJs;
31
- </script>
32
-
33
- <style lang="scss" scoped>
34
- @import 'hotspot';
35
- </style>
@@ -1,2 +0,0 @@
1
- import hotspot from './hotspot.vue';
2
- export default hotspot;