cms-chenhj-ui 2.0.11 → 2.0.13

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.
@@ -101,6 +101,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
101
101
  widthValue: {
102
102
  label: "宽度数值",
103
103
  widgetType: "el-input-number",
104
+ size: "small",
104
105
  min: 1,
105
106
  max: 2000,
106
107
  step: 1,
@@ -126,6 +127,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
126
127
  heightValue: {
127
128
  label: "高度数值",
128
129
  widgetType: "el-input-number",
130
+ size: "small",
129
131
  min: 1,
130
132
  max: 2000,
131
133
  step: 1,
@@ -162,6 +164,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
162
164
  maxWidth: {
163
165
  label: "最大宽度(px)",
164
166
  widgetType: "el-input-number",
167
+ size: "small",
165
168
  min: 0,
166
169
  max: 2000,
167
170
  step: 1,
@@ -170,6 +173,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
170
173
  maxHeight: {
171
174
  label: "最大高度(px)",
172
175
  widgetType: "el-input-number",
176
+ size: "small",
173
177
  min: 0,
174
178
  max: 2000,
175
179
  step: 1,
@@ -179,22 +183,24 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
179
183
  borderRadius: {
180
184
  label: "圆角(px)",
181
185
  widgetType: "el-input-number",
186
+ size: "small",
182
187
  min: 0,
183
188
  max: 100,
184
189
  step: 1
185
- },
186
- // 高级配置
187
- customClass: {
188
- label: "自定义CSS类",
189
- widgetType: "el-input",
190
- placeholder: "请输入CSS类名"
191
- },
192
- customStyle: {
193
- label: "自定义样式",
194
- widgetType: "el-input",
195
- type: "textarea",
196
- placeholder: "请输入CSS样式,如: box-shadow: 0 2px 4px rgba(0,0,0,0.1);"
197
190
  }
191
+
192
+ // 高级配置
193
+ // customClass: {
194
+ // label: "自定义CSS类",
195
+ // widgetType: "el-input",
196
+ // placeholder: "请输入CSS类名",
197
+ // },
198
+ // customStyle: {
199
+ // label: "自定义样式",
200
+ // widgetType: "el-input",
201
+ // type: "textarea",
202
+ // placeholder: "请输入CSS样式,如: box-shadow: 0 2px 4px rgba(0,0,0,0.1);",
203
+ // },
198
204
  });
199
205
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
200
206
  /* harmony default export */ __webpack_exports__["default"] = ({
@@ -563,7 +569,7 @@ var swiper = __webpack_require__(2791);
563
569
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
564
570
  var swiper_esm_bundle = __webpack_require__(4418);
565
571
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
566
- var baseComp = __webpack_require__(8770);
572
+ var baseComp = __webpack_require__(537);
567
573
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-aLineThreeLeftOne/View.vue?vue&type=script&lang=js
568
574
 
569
575
 
@@ -845,7 +851,7 @@ module.exports = {
845
851
  __webpack_require__.r(__webpack_exports__);
846
852
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
847
853
 
848
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 7549));
854
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 1452));
849
855
  const langData = {
850
856
  // 内容编辑
851
857
  textContent: "请输入文本内容",
@@ -862,10 +868,10 @@ const langData = {
862
868
  textDecoration: "none",
863
869
  fontFamily: "inherit",
864
870
  // 布局设置
865
- paddingTop: 16,
866
- paddingBottom: 16,
867
- paddingLeft: 16,
868
- paddingRight: 16,
871
+ paddingTop: 0,
872
+ paddingBottom: 0,
873
+ paddingLeft: 0,
874
+ paddingRight: 0,
869
875
  marginTop: 0,
870
876
  marginBottom: 0,
871
877
  marginLeft: 0,
@@ -909,15 +915,15 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
909
915
  rows: 4,
910
916
  placeholder: "请输入文本内容,支持换行"
911
917
  },
912
- isRichText: {
913
- label: "启用富文本",
914
- widgetType: "el-switch"
915
- },
916
- richTextContent: {
917
- label: "富文本内容",
918
- widgetType: "isRichText",
919
- placeholder: "请输入富文本内容"
920
- },
918
+ // isRichText: {
919
+ // label: "启用富文本",
920
+ // widgetType: "el-switch",
921
+ // },
922
+ // richTextContent: {
923
+ // label: "富文本内容",
924
+ // widgetType: "isRichText",
925
+ // placeholder: "请输入富文本内容",
926
+ // },
921
927
  enableLineBreak: {
922
928
  label: "支持换行",
923
929
  widgetType: "el-switch"
@@ -943,6 +949,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
943
949
  fontSize: {
944
950
  label: "字体大小(px)",
945
951
  widgetType: "el-input-number",
952
+ size: "small",
946
953
  min: 10,
947
954
  max: 72,
948
955
  step: 1
@@ -950,6 +957,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
950
957
  lineHeight: {
951
958
  label: "行高",
952
959
  widgetType: "el-input-number",
960
+ size: "small",
953
961
  min: 1,
954
962
  max: 3,
955
963
  step: 0.1,
@@ -958,6 +966,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
958
966
  letterSpacing: {
959
967
  label: "字间距(px)",
960
968
  widgetType: "el-input-number",
969
+ size: "small",
961
970
  min: -5,
962
971
  max: 20,
963
972
  step: 0.5
@@ -1069,48 +1078,56 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1069
1078
  paddingTop: {
1070
1079
  label: "上内边距(px)",
1071
1080
  widgetType: "el-input-number",
1081
+ size: "small",
1072
1082
  min: 0,
1073
1083
  max: 100
1074
1084
  },
1075
1085
  paddingBottom: {
1076
1086
  label: "下内边距(px)",
1077
1087
  widgetType: "el-input-number",
1088
+ size: "small",
1078
1089
  min: 0,
1079
1090
  max: 100
1080
1091
  },
1081
1092
  paddingLeft: {
1082
1093
  label: "左内边距(px)",
1083
1094
  widgetType: "el-input-number",
1095
+ size: "small",
1084
1096
  min: 0,
1085
1097
  max: 100
1086
1098
  },
1087
1099
  paddingRight: {
1088
1100
  label: "右内边距(px)",
1089
1101
  widgetType: "el-input-number",
1102
+ size: "small",
1090
1103
  min: 0,
1091
1104
  max: 100
1092
1105
  },
1093
1106
  marginTop: {
1094
1107
  label: "上外边距(px)",
1095
1108
  widgetType: "el-input-number",
1109
+ size: "small",
1096
1110
  min: 0,
1097
1111
  max: 100
1098
1112
  },
1099
1113
  marginBottom: {
1100
1114
  label: "下外边距(px)",
1101
1115
  widgetType: "el-input-number",
1116
+ size: "small",
1102
1117
  min: 0,
1103
1118
  max: 100
1104
1119
  },
1105
1120
  marginLeft: {
1106
1121
  label: "左外边距(px)",
1107
1122
  widgetType: "el-input-number",
1123
+ size: "small",
1108
1124
  min: 0,
1109
1125
  max: 100
1110
1126
  },
1111
1127
  marginRight: {
1112
1128
  label: "右外边距(px)",
1113
1129
  widgetType: "el-input-number",
1130
+ size: "small",
1114
1131
  min: 0,
1115
1132
  max: 100
1116
1133
  },
@@ -1122,6 +1139,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1122
1139
  borderWidth: {
1123
1140
  label: "边框宽度(px)",
1124
1141
  widgetType: "el-input-number",
1142
+ size: "small",
1125
1143
  min: 0,
1126
1144
  max: 10
1127
1145
  },
@@ -1149,14 +1167,16 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1149
1167
  borderRadius: {
1150
1168
  label: "圆角(px)",
1151
1169
  widgetType: "el-input-number",
1170
+ size: "small",
1152
1171
  min: 0,
1153
1172
  max: 50
1154
1173
  },
1155
- boxShadow: {
1156
- label: "阴影效果",
1157
- widgetType: "el-input",
1158
- placeholder: "如: 0 2px 4px rgba(0,0,0,0.1)"
1159
- },
1174
+ // boxShadow: {
1175
+ // label: "阴影效果",
1176
+ // widgetType: "el-input",
1177
+ // placeholder: "如: 0 2px 4px rgba(0,0,0,0.1)",
1178
+ // },
1179
+
1160
1180
  // 交互功能配置
1161
1181
  linkUrl: {
1162
1182
  label: "链接地址",
@@ -1183,17 +1203,17 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1183
1203
  widgetType: "el-switch"
1184
1204
  },
1185
1205
  // 高级配置
1186
- customClass: {
1187
- label: "自定义CSS类",
1188
- widgetType: "el-input",
1189
- placeholder: "请输入CSS类名"
1190
- },
1191
- customStyle: {
1192
- label: "自定义样式",
1193
- widgetType: "el-input",
1194
- type: "textarea",
1195
- placeholder: "请输入CSS样式,如: color: red; font-size: 18px;"
1196
- },
1206
+ // customClass: {
1207
+ // label: "自定义CSS类",
1208
+ // widgetType: "el-input",
1209
+ // placeholder: "请输入CSS类名",
1210
+ // },
1211
+ // customStyle: {
1212
+ // label: "自定义样式",
1213
+ // widgetType: "el-input",
1214
+ // type: "textarea",
1215
+ // placeholder: "请输入CSS样式,如: color: red; font-size: 18px;",
1216
+ // },
1197
1217
  enableAnimation: {
1198
1218
  label: "启用动画",
1199
1219
  widgetType: "el-switch"
@@ -1224,6 +1244,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1224
1244
  animationDuration: {
1225
1245
  label: "动画时长(ms)",
1226
1246
  widgetType: "el-input-number",
1247
+ size: "small",
1227
1248
  min: 100,
1228
1249
  max: 2000,
1229
1250
  step: 100
@@ -1330,6 +1351,269 @@ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
1330
1351
  };
1331
1352
 
1332
1353
 
1354
+ /***/ }),
1355
+
1356
+ /***/ 537:
1357
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1358
+
1359
+ "use strict";
1360
+ // ESM COMPAT FLAG
1361
+ __webpack_require__.r(__webpack_exports__);
1362
+
1363
+ // EXPORTS
1364
+ __webpack_require__.d(__webpack_exports__, {
1365
+ "default": function() { return /* binding */ baseComp; }
1366
+ });
1367
+
1368
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/baseComp.vue?vue&type=template&id=9d54e5e0&scoped=true
1369
+ var render = function render() {
1370
+ var _vm = this,
1371
+ _c = _vm._self._c;
1372
+ return _vm.$EventBus && _vm.isOpcacity ? _c('div', {
1373
+ key: _vm.data.componentId,
1374
+ class: [_vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? 'highLight' : ''],
1375
+ style: _vm.showStyleConfig,
1376
+ on: {
1377
+ "click": function ($event) {
1378
+ $event.stopPropagation();
1379
+ return _vm.handleNowComp.apply(null, arguments);
1380
+ }
1381
+ }
1382
+ }, [_c('div', {
1383
+ staticClass: "mask-wrap"
1384
+ }, [_vm._t("default", null, {
1385
+ "isMobile": _vm.isMobile
1386
+ }), _vm.isMask ? _c('div', {
1387
+ staticClass: "mask",
1388
+ on: {
1389
+ "click": _vm.handleNowComp
1390
+ }
1391
+ }) : _vm._e()], 2), _vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? _c('div', {
1392
+ staticClass: "com-delete"
1393
+ }, [_vm.showDel ? _c('i', {
1394
+ staticClass: "el-icon-delete",
1395
+ on: {
1396
+ "click": function ($event) {
1397
+ $event.stopPropagation();
1398
+ return _vm.delComp.apply(null, arguments);
1399
+ }
1400
+ }
1401
+ }) : _vm._e(), _c('i', {
1402
+ staticClass: "el-icon-top",
1403
+ on: {
1404
+ "click": function ($event) {
1405
+ $event.stopPropagation();
1406
+ return _vm.selectParentDom.apply(null, arguments);
1407
+ }
1408
+ }
1409
+ })]) : _vm._e()]) : _vm.showSlot ? _c('div', {
1410
+ key: _vm.data.componentId,
1411
+ ref: "targetElement",
1412
+ style: _vm.showStyleConfig
1413
+ }, [_vm._t("default")], 2) : _vm._e();
1414
+ };
1415
+ var staticRenderFns = [];
1416
+
1417
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
1418
+ var es_iterator_constructor = __webpack_require__(8111);
1419
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
1420
+ var es_iterator_reduce = __webpack_require__(8237);
1421
+ // EXTERNAL MODULE: ./package/patch.js
1422
+ var patch = __webpack_require__(1618);
1423
+ // EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js
1424
+ var dayjs_min = __webpack_require__(1576);
1425
+ var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
1426
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/baseComp.vue?vue&type=script&lang=js
1427
+
1428
+
1429
+
1430
+
1431
+ // 待办:判断移动pc端填充不同的样式
1432
+
1433
+
1434
+ /* harmony default export */ var baseCompvue_type_script_lang_js = ({
1435
+ name: "baseComp",
1436
+ props: {
1437
+ data: {
1438
+ type: Object,
1439
+ default: () => {
1440
+ return {};
1441
+ }
1442
+ },
1443
+ nowCompId: {
1444
+ type: [String, Number],
1445
+ default: ""
1446
+ },
1447
+ isOpcacity: {
1448
+ type: Boolean,
1449
+ default: true
1450
+ },
1451
+ isMask: {
1452
+ type: Boolean,
1453
+ default: true
1454
+ },
1455
+ lang: {
1456
+ type: String,
1457
+ default: "zh-HK"
1458
+ },
1459
+ timeline: {
1460
+ type: String,
1461
+ default: ""
1462
+ },
1463
+ cmhkChannel: {
1464
+ type: String,
1465
+ default: "WWW"
1466
+ },
1467
+ showDel: {
1468
+ type: Boolean,
1469
+ default: true
1470
+ }
1471
+ },
1472
+ data() {
1473
+ return {
1474
+ styleConfig_mb: {},
1475
+ styleConfig_pc: {},
1476
+ configData: {},
1477
+ elementWidth: 0,
1478
+ resizeObserver: null
1479
+ };
1480
+ },
1481
+ watch: {
1482
+ data: {
1483
+ handler(val) {
1484
+ this.getStyleConfig(val, "pc");
1485
+ this.getStyleConfig(val, "mb");
1486
+ this.getValue(this.lang);
1487
+ },
1488
+ deep: true,
1489
+ immediate: true
1490
+ },
1491
+ lang: {
1492
+ handler(val) {
1493
+ this.getValue(val);
1494
+ },
1495
+ deep: true,
1496
+ immediate: true
1497
+ }
1498
+ },
1499
+ mounted() {
1500
+ if (this.$EventBus && this.isOpcacity) {
1501
+ this.elementWidth = 800;
1502
+ this.$EventBus.$on("handleDeviceChange", isMobile => {
1503
+ this.elementWidth = isMobile ? 700 : 800;
1504
+ });
1505
+ } else if (this.showSlot) {
1506
+ this.resizeObserver = new ResizeObserver(entries => {
1507
+ for (let entry of entries) {
1508
+ this.elementWidth = entry.contentRect.width;
1509
+ // 可以在这里触发自定义逻辑
1510
+ // this.onWidthChange(this.elementWidth);
1511
+ }
1512
+ });
1513
+ const element = document.getElementById("app") || document.getElementById("__nuxt");
1514
+ this.resizeObserver.observe(element);
1515
+ }
1516
+ },
1517
+ beforeDestroy() {
1518
+ // 组件销毁时停止观察
1519
+ if (this.resizeObserver) {
1520
+ this.resizeObserver.disconnect();
1521
+ }
1522
+ },
1523
+ methods: {
1524
+ selectParentDom() {
1525
+ if (!this.isOpcacity) return;
1526
+ this.$EventBus.$emit("handleParentComp", this.data);
1527
+ },
1528
+ onWidthChange(newWidth) {
1529
+ console.log("新宽度:", newWidth, this.isMobile);
1530
+ },
1531
+ getValue(cur_lang) {
1532
+ var _this$data, _this$data$settings;
1533
+ const obj = {
1534
+ "zh-CN": "lang_sc",
1535
+ "zh-HK": "lang_tc",
1536
+ "en-US": "lang_en"
1537
+ };
1538
+ if ((_this$data = this.data) !== null && _this$data !== void 0 && (_this$data$settings = _this$data.settings) !== null && _this$data$settings !== void 0 && _this$data$settings.settings) {
1539
+ const baseInfo = (0,patch.transfor)(this.data);
1540
+ this.configData = baseInfo.contentConfig.lang_all ? baseInfo.contentConfig.lang_all : baseInfo.contentConfig[`${obj[cur_lang]}`];
1541
+ } else {
1542
+ this.configData = this.data.contentConfig.lang_all ? this.data.contentConfig.lang_all : this.data.contentConfig[`${obj[cur_lang]}`];
1543
+ }
1544
+ this.$emit("getConfigData", this.configData);
1545
+ },
1546
+ getStyleConfig(data, type) {
1547
+ this[`styleConfig_${type}`] = data.styleConfig[type].reduce((pre, cur) => {
1548
+ pre[cur.key] = cur.value + cur.unit;
1549
+ return pre;
1550
+ }, {});
1551
+ },
1552
+ handleNowComp() {
1553
+ if (!this.isOpcacity) return;
1554
+ this.$EventBus.$emit("handleNowComp", this.data);
1555
+ },
1556
+ delComp() {
1557
+ this.$EventBus.$emit("handleDeleteComp", this.data.componentId);
1558
+ }
1559
+ },
1560
+ computed: {
1561
+ showStyleConfig() {
1562
+ if (!this.elementWidth) return {};
1563
+ return this.isMobile ? this.styleConfig_mb : this.styleConfig_pc;
1564
+ },
1565
+ isMobile() {
1566
+ return this.elementWidth < 760;
1567
+ },
1568
+ showSlot() {
1569
+ if (this.$EventBus && this.isOpcacity) return false;
1570
+ const {
1571
+ cmhkChannelConfList = [],
1572
+ startTime = "",
1573
+ endTime = ""
1574
+ } = this.data.baseConfig;
1575
+ console.log("this.cmhkChannel", this.cmhkChannel, this.data.baseConfig);
1576
+ const channelVisable = cmhkChannelConfList.includes("ALL") || cmhkChannelConfList.includes(this.cmhkChannel);
1577
+ if (!channelVisable) return false;
1578
+ if (!startTime && !endTime) return true;
1579
+ const currentTime = this.timeline ? dayjs_min_default()(this.timeline) : dayjs_min_default()();
1580
+ const isStart = startTime ? dayjs_min_default()(currentTime).isAfter(dayjs_min_default()(startTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(startTime)) : true;
1581
+ const isEnd = endTime ? dayjs_min_default()(currentTime).isBefore(dayjs_min_default()(endTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(endTime)) : true;
1582
+ return isStart && isEnd;
1583
+ }
1584
+ }
1585
+ });
1586
+ ;// ./package/baseComp.vue?vue&type=script&lang=js
1587
+ /* harmony default export */ var package_baseCompvue_type_script_lang_js = (baseCompvue_type_script_lang_js);
1588
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/baseComp.vue?vue&type=style&index=0&id=9d54e5e0&prod&lang=scss&scoped=true
1589
+ // extracted by mini-css-extract-plugin
1590
+
1591
+ ;// ./package/baseComp.vue?vue&type=style&index=0&id=9d54e5e0&prod&lang=scss&scoped=true
1592
+
1593
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1594
+ var componentNormalizer = __webpack_require__(1656);
1595
+ ;// ./package/baseComp.vue
1596
+
1597
+
1598
+
1599
+ ;
1600
+
1601
+
1602
+ /* normalize component */
1603
+
1604
+ var component = (0,componentNormalizer/* default */.A)(
1605
+ package_baseCompvue_type_script_lang_js,
1606
+ render,
1607
+ staticRenderFns,
1608
+ false,
1609
+ null,
1610
+ "9d54e5e0",
1611
+ null
1612
+
1613
+ )
1614
+
1615
+ /* harmony default export */ var baseComp = (component.exports);
1616
+
1333
1617
  /***/ }),
1334
1618
 
1335
1619
  /***/ 615:
@@ -3271,6 +3555,420 @@ module.exports = function transformData(data, headers, fns) {
3271
3555
 
3272
3556
  /***/ }),
3273
3557
 
3558
+ /***/ 1452:
3559
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3560
+
3561
+ "use strict";
3562
+ // ESM COMPAT FLAG
3563
+ __webpack_require__.r(__webpack_exports__);
3564
+
3565
+ // EXPORTS
3566
+ __webpack_require__.d(__webpack_exports__, {
3567
+ "default": function() { return /* binding */ View; }
3568
+ });
3569
+
3570
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=template&id=7fe7dfef&scoped=true
3571
+ var render = function render() {
3572
+ var _vm = this,
3573
+ _c = _vm._self._c;
3574
+ return _c('BaseComp', _vm._b({
3575
+ attrs: {
3576
+ "data": _vm.data,
3577
+ "nowCompId": _vm.nowCompId,
3578
+ "isOpcacity": _vm.isOpcacity,
3579
+ "lang": _vm.lang
3580
+ },
3581
+ on: {
3582
+ "getConfigData": _vm.getConfigData
3583
+ }
3584
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
3585
+ staticClass: "cms-text-container",
3586
+ class: [`align-${_vm.configData.textAlign || 'left'}`, _vm.configData.customClass || '', {
3587
+ 'has-link': _vm.configData.linkUrl,
3588
+ 'hover-effect': _vm.configData.hoverEffect && _vm.configData.linkUrl
3589
+ }],
3590
+ style: _vm.containerStyle,
3591
+ attrs: {
3592
+ "aria-label": _vm.configData.ariaLabel,
3593
+ "tabindex": _vm.configData.tabIndex,
3594
+ "role": _vm.configData.role,
3595
+ "title": _vm.configData.seoTitle || _vm.configData.seoDescription
3596
+ },
3597
+ on: {
3598
+ "click": _vm.handleClick
3599
+ }
3600
+ }, [_c('div', {
3601
+ staticClass: "text-content",
3602
+ style: _vm.textStyle
3603
+ }, _vm._l(_vm.textLines, function (line, index) {
3604
+ return _c('p', {
3605
+ key: index,
3606
+ staticClass: "text-line",
3607
+ style: _vm.lineStyle
3608
+ }, [_vm._v(" " + _vm._s(line) + " ")]);
3609
+ }), 0), _vm.configData.linkUrl && _vm.configData.showLinkIcon ? _c('div', {
3610
+ staticClass: "link-indicator"
3611
+ }, [_c('i', {
3612
+ staticClass: "el-icon-link"
3613
+ })]) : _vm._e()])]);
3614
+ };
3615
+ var staticRenderFns = [];
3616
+
3617
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
3618
+ var es_iterator_constructor = __webpack_require__(8111);
3619
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
3620
+ var es_iterator_filter = __webpack_require__(2489);
3621
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
3622
+ var es_iterator_for_each = __webpack_require__(7588);
3623
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
3624
+ var baseComp = __webpack_require__(537);
3625
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=script&lang=js
3626
+
3627
+
3628
+
3629
+
3630
+
3631
+
3632
+
3633
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
3634
+ name: "cms-text",
3635
+ components: {
3636
+ BaseComp: baseComp["default"]
3637
+ },
3638
+ props: {
3639
+ data: {
3640
+ type: Object,
3641
+ default: () => {
3642
+ return {};
3643
+ }
3644
+ },
3645
+ nowCompId: {
3646
+ type: [String, Number],
3647
+ default: ""
3648
+ },
3649
+ isOpcacity: {
3650
+ type: Boolean,
3651
+ default: true
3652
+ },
3653
+ lang: {
3654
+ type: String,
3655
+ default: "zh-HK"
3656
+ }
3657
+ },
3658
+ data() {
3659
+ return {
3660
+ configData: {},
3661
+ // 默认配置数据
3662
+ defaultConfig: {
3663
+ // 内容编辑
3664
+ textContent: "请输入文本内容",
3665
+ enableLineBreak: true,
3666
+ // 排版控制
3667
+ textAlign: "left",
3668
+ fontSize: 16,
3669
+ lineHeight: 1.5,
3670
+ letterSpacing: 0,
3671
+ // 样式美化
3672
+ fontColor: "#333333",
3673
+ fontWeight: "normal",
3674
+ fontStyle: "normal",
3675
+ textDecoration: "none",
3676
+ fontFamily: "inherit",
3677
+ // 布局设置
3678
+ paddingTop: 0,
3679
+ paddingBottom: 0,
3680
+ paddingLeft: 0,
3681
+ paddingRight: 0,
3682
+ marginTop: 0,
3683
+ marginBottom: 0,
3684
+ marginLeft: 0,
3685
+ marginRight: 0,
3686
+ backgroundColor: "",
3687
+ // 视觉效果
3688
+ borderWidth: 0,
3689
+ borderStyle: "solid",
3690
+ borderColor: "#dcdfe6",
3691
+ borderRadius: 0,
3692
+ boxShadow: "",
3693
+ // 交互功能
3694
+ linkUrl: "",
3695
+ linkTarget: "_self",
3696
+ showLinkIcon: false,
3697
+ hoverEffect: false,
3698
+ // 高级配置
3699
+ customClass: "",
3700
+ customStyle: "",
3701
+ enableAnimation: false,
3702
+ animationType: "fadeIn",
3703
+ animationDuration: 300,
3704
+ // 可访问性配置
3705
+ ariaLabel: "",
3706
+ tabIndex: 0,
3707
+ role: "",
3708
+ // SEO配置
3709
+ seoTitle: "",
3710
+ seoDescription: "",
3711
+ // 响应式配置
3712
+ mobileTextAlign: "",
3713
+ mobileFontSize: 0,
3714
+ tabletFontSize: 0
3715
+ }
3716
+ };
3717
+ },
3718
+ mounted() {
3719
+ this.initConfigData();
3720
+ this.setCSSVariables();
3721
+ },
3722
+ watch: {
3723
+ configData: {
3724
+ handler() {
3725
+ this.updateStyles();
3726
+ },
3727
+ deep: true
3728
+ }
3729
+ },
3730
+ computed: {
3731
+ // 文本行数组(支持换行)
3732
+ textLines() {
3733
+ if (!this.configData.textContent) return [];
3734
+ if (!this.configData.enableLineBreak) {
3735
+ return [this.configData.textContent];
3736
+ }
3737
+ return this.configData.textContent.split("\n").filter(line => line.trim() !== "");
3738
+ },
3739
+ // 容器样式
3740
+ containerStyle() {
3741
+ const config = {
3742
+ ...this.defaultConfig,
3743
+ ...this.configData
3744
+ };
3745
+ return {
3746
+ padding: `${config.paddingTop}px ${config.paddingRight}px ${config.paddingBottom}px ${config.paddingLeft}px`,
3747
+ margin: `${config.marginTop}px ${config.marginRight}px ${config.marginBottom}px ${config.marginLeft}px`,
3748
+ backgroundColor: config.backgroundColor || "transparent",
3749
+ border: config.borderWidth ? `${config.borderWidth}px ${config.borderStyle} ${config.borderColor}` : "none",
3750
+ borderRadius: `${config.borderRadius}px`,
3751
+ boxShadow: config.boxShadow || "none",
3752
+ cursor: config.linkUrl ? "pointer" : "default",
3753
+ transition: config.hoverEffect ? "all 0.3s ease" : "none",
3754
+ animation: config.enableAnimation ? this.getAnimationStyle() : "none",
3755
+ ...this.parseCustomStyle(config.customStyle)
3756
+ };
3757
+ },
3758
+ // 文本样式
3759
+ textStyle() {
3760
+ const config = {
3761
+ ...this.defaultConfig,
3762
+ ...this.configData
3763
+ };
3764
+ return {
3765
+ color: config.fontColor,
3766
+ fontSize: `${config.fontSize}px`,
3767
+ fontWeight: config.fontWeight,
3768
+ fontStyle: config.fontStyle,
3769
+ textDecoration: config.textDecoration,
3770
+ fontFamily: config.fontFamily,
3771
+ lineHeight: config.lineHeight,
3772
+ letterSpacing: `${config.letterSpacing}px`,
3773
+ textAlign: config.textAlign,
3774
+ wordBreak: "break-word",
3775
+ wordWrap: "break-word",
3776
+ cursor: config.linkUrl ? "pointer" : "default"
3777
+ };
3778
+ },
3779
+ // 行样式
3780
+ lineStyle() {
3781
+ return {
3782
+ margin: "0",
3783
+ padding: "0"
3784
+ };
3785
+ }
3786
+ },
3787
+ methods: {
3788
+ // 初始化配置数据
3789
+ initConfigData() {
3790
+ this.configData = {
3791
+ ...this.defaultConfig,
3792
+ ...this.configData
3793
+ };
3794
+ },
3795
+ // 获取配置数据
3796
+ getConfigData(configData) {
3797
+ this.configData = {
3798
+ ...this.defaultConfig,
3799
+ ...configData
3800
+ };
3801
+ this.updateStyles();
3802
+ },
3803
+ // 更新样式
3804
+ updateStyles() {
3805
+ this.$nextTick(() => {
3806
+ this.setCSSVariables();
3807
+ this.$forceUpdate();
3808
+ });
3809
+ },
3810
+ // 设置CSS变量
3811
+ setCSSVariables() {
3812
+ if (!this.$el) return;
3813
+ const config = {
3814
+ ...this.defaultConfig,
3815
+ ...this.configData
3816
+ };
3817
+
3818
+ // 设置响应式字体大小
3819
+ if (config.mobileFontSize > 0) {
3820
+ this.$el.style.setProperty("--mobile-font-size", `${config.mobileFontSize}px`);
3821
+ }
3822
+ if (config.tabletFontSize > 0) {
3823
+ this.$el.style.setProperty("--tablet-font-size", `${config.tabletFontSize}px`);
3824
+ }
3825
+
3826
+ // 设置移动端文本对齐
3827
+ if (config.mobileTextAlign) {
3828
+ this.$el.style.setProperty("--mobile-text-align", config.mobileTextAlign);
3829
+ }
3830
+ },
3831
+ // 处理点击事件
3832
+ handleClick() {
3833
+ if (this.configData.linkUrl) {
3834
+ const target = this.configData.linkTarget || "_self";
3835
+ if (target === "_blank") {
3836
+ window.open(this.configData.linkUrl, "_blank");
3837
+ } else {
3838
+ window.location.href = this.configData.linkUrl;
3839
+ }
3840
+ }
3841
+ },
3842
+ // 获取动画样式
3843
+ getAnimationStyle() {
3844
+ const animationType = this.configData.animationType || this.defaultConfig.animationType;
3845
+ const duration = this.configData.animationDuration || this.defaultConfig.animationDuration;
3846
+ if (!this.configData.enableAnimation || animationType === "none") return "";
3847
+ return `${animationType} ${duration}ms ease-in-out`;
3848
+ },
3849
+ // 解析自定义样式
3850
+ parseCustomStyle(customStyle) {
3851
+ if (!customStyle) return {};
3852
+ try {
3853
+ // 简单的CSS样式解析
3854
+ const styles = {};
3855
+ const declarations = customStyle.split(";");
3856
+ declarations.forEach(declaration => {
3857
+ const [property, value] = declaration.split(":");
3858
+ if (property && value) {
3859
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
3860
+ styles[camelCaseProperty] = value.trim();
3861
+ }
3862
+ });
3863
+ return styles;
3864
+ } catch (error) {
3865
+ console.warn("解析自定义样式失败:", error);
3866
+ return {};
3867
+ }
3868
+ },
3869
+ // 文本内容验证
3870
+ validateTextContent() {
3871
+ const content = this.configData.textContent;
3872
+ if (!content || content.trim() === "") {
3873
+ console.warn("文本内容为空");
3874
+ return false;
3875
+ }
3876
+ return true;
3877
+ },
3878
+ // 获取纯文本内容
3879
+ getPlainTextContent() {
3880
+ return this.configData.textContent || "";
3881
+ },
3882
+ // 获取文本长度
3883
+ getTextLength() {
3884
+ return this.getPlainTextContent().length;
3885
+ },
3886
+ // 复制文本内容到剪贴板
3887
+ copyTextToClipboard() {
3888
+ const text = this.getPlainTextContent();
3889
+ if (navigator.clipboard && window.isSecureContext) {
3890
+ navigator.clipboard.writeText(text).then(() => {
3891
+ var _this$$message;
3892
+ (_this$$message = this.$message) === null || _this$$message === void 0 ? void 0 : _this$$message.success("文本已复制到剪贴板");
3893
+ }).catch(err => {
3894
+ console.error("复制失败:", err);
3895
+ });
3896
+ } else {
3897
+ // 降级方案
3898
+ const textArea = document.createElement("textarea");
3899
+ textArea.value = text;
3900
+ document.body.appendChild(textArea);
3901
+ textArea.select();
3902
+ try {
3903
+ var _this$$message2;
3904
+ document.execCommand("copy");
3905
+ (_this$$message2 = this.$message) === null || _this$$message2 === void 0 ? void 0 : _this$$message2.success("文本已复制到剪贴板");
3906
+ } catch (err) {
3907
+ console.error("复制失败:", err);
3908
+ }
3909
+ document.body.removeChild(textArea);
3910
+ }
3911
+ },
3912
+ // 文本搜索高亮
3913
+ highlightText(searchTerm) {
3914
+ if (!searchTerm) return;
3915
+ const content = this.getPlainTextContent();
3916
+ const regex = new RegExp(`(${searchTerm})`, "gi");
3917
+ const highlightedContent = content.replace(regex, "<mark>$1</mark>");
3918
+
3919
+ // 这里可以根据需要实现高亮显示逻辑
3920
+ console.log("高亮内容:", highlightedContent);
3921
+ },
3922
+ // 文本统计信息
3923
+ getTextStats() {
3924
+ const text = this.getPlainTextContent();
3925
+ const words = text.split(/\s+/).filter(word => word.length > 0);
3926
+ const lines = text.split("\n").length;
3927
+ const characters = text.length;
3928
+ const charactersNoSpaces = text.replace(/\s/g, "").length;
3929
+ return {
3930
+ characters,
3931
+ charactersNoSpaces,
3932
+ words: words.length,
3933
+ lines,
3934
+ paragraphs: text.split(/\n\s*\n/).filter(p => p.trim().length > 0).length
3935
+ };
3936
+ }
3937
+ }
3938
+ });
3939
+ ;// ./package/cms-text/View.vue?vue&type=script&lang=js
3940
+ /* harmony default export */ var cms_text_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
3941
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=style&index=0&id=7fe7dfef&prod&lang=scss&scoped=true
3942
+ // extracted by mini-css-extract-plugin
3943
+
3944
+ ;// ./package/cms-text/View.vue?vue&type=style&index=0&id=7fe7dfef&prod&lang=scss&scoped=true
3945
+
3946
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
3947
+ var componentNormalizer = __webpack_require__(1656);
3948
+ ;// ./package/cms-text/View.vue
3949
+
3950
+
3951
+
3952
+ ;
3953
+
3954
+
3955
+ /* normalize component */
3956
+
3957
+ var component = (0,componentNormalizer/* default */.A)(
3958
+ cms_text_Viewvue_type_script_lang_js,
3959
+ render,
3960
+ staticRenderFns,
3961
+ false,
3962
+ null,
3963
+ "7fe7dfef",
3964
+ null
3965
+
3966
+ )
3967
+
3968
+ /* harmony default export */ var View = (component.exports);
3969
+
3970
+ /***/ }),
3971
+
3274
3972
  /***/ 1453:
3275
3973
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3276
3974
 
@@ -9025,8 +9723,8 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
9025
9723
 
9026
9724
  var map = {
9027
9725
  "./": 176,
9028
- "./baseComp": 8770,
9029
- "./baseComp.vue": 8770,
9726
+ "./baseComp": 537,
9727
+ "./baseComp.vue": 537,
9030
9728
  "./baseConfig": 649,
9031
9729
  "./baseConfig.js": 649,
9032
9730
  "./cms-aLineThreeLeftOne": 5041,
@@ -9076,13 +9774,13 @@ var map = {
9076
9774
  "./cms-column": 3923,
9077
9775
  "./cms-column-card": 5340,
9078
9776
  "./cms-column-card/": 5340,
9079
- "./cms-column-card/View": 6649,
9080
- "./cms-column-card/View.vue": 6649,
9777
+ "./cms-column-card/View": 3164,
9778
+ "./cms-column-card/View.vue": 3164,
9081
9779
  "./cms-column-card/index": 5340,
9082
9780
  "./cms-column-card/index.js": 5340,
9083
9781
  "./cms-column/": 3923,
9084
- "./cms-column/View": 9279,
9085
- "./cms-column/View.vue": 9279,
9782
+ "./cms-column/View": 9886,
9783
+ "./cms-column/View.vue": 9886,
9086
9784
  "./cms-column/index": 3923,
9087
9785
  "./cms-column/index.js": 3923,
9088
9786
  "./cms-description": 1921,
@@ -9189,8 +9887,8 @@ var map = {
9189
9887
  "./cms-termsAndConditions/index.js": 9387,
9190
9888
  "./cms-text": 394,
9191
9889
  "./cms-text/": 394,
9192
- "./cms-text/View": 7549,
9193
- "./cms-text/View.vue": 7549,
9890
+ "./cms-text/View": 1452,
9891
+ "./cms-text/View.vue": 1452,
9194
9892
  "./cms-text/index": 394,
9195
9893
  "./cms-text/index.js": 394,
9196
9894
  "./cms-threeScroll": 4670,
@@ -9532,7 +10230,7 @@ var render = function render() {
9532
10230
  var staticRenderFns = [];
9533
10231
 
9534
10232
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
9535
- var baseComp = __webpack_require__(8770);
10233
+ var baseComp = __webpack_require__(537);
9536
10234
  // EXTERNAL MODULE: ./package/patch.js
9537
10235
  var patch = __webpack_require__(1618);
9538
10236
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-dynamic-comp/View.vue?vue&type=script&lang=js
@@ -10699,6 +11397,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10699
11397
  fontSize: {
10700
11398
  label: "字体大小(px)",
10701
11399
  widgetType: "el-input-number",
11400
+ size: "small",
10702
11401
  min: 10,
10703
11402
  max: 48,
10704
11403
  step: 1
@@ -10756,6 +11455,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10756
11455
  borderRadius: {
10757
11456
  label: "圆角(px)",
10758
11457
  widgetType: "el-input-number",
11458
+ size: "small",
10759
11459
  min: 0,
10760
11460
  max: 50,
10761
11461
  step: 1
@@ -10763,6 +11463,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10763
11463
  borderWidth: {
10764
11464
  label: "边框宽度(px)",
10765
11465
  widgetType: "el-input-number",
11466
+ size: "small",
10766
11467
  min: 0,
10767
11468
  max: 10,
10768
11469
  step: 1
@@ -10792,6 +11493,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10792
11493
  paddingTop: {
10793
11494
  label: "上内边距(px)",
10794
11495
  widgetType: "el-input-number",
11496
+ size: "small",
10795
11497
  min: 0,
10796
11498
  max: 50,
10797
11499
  step: 1
@@ -10799,6 +11501,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10799
11501
  paddingBottom: {
10800
11502
  label: "下内边距(px)",
10801
11503
  widgetType: "el-input-number",
11504
+ size: "small",
10802
11505
  min: 0,
10803
11506
  max: 50,
10804
11507
  step: 1
@@ -10806,6 +11509,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10806
11509
  paddingLeft: {
10807
11510
  label: "左内边距(px)",
10808
11511
  widgetType: "el-input-number",
11512
+ size: "small",
10809
11513
  min: 0,
10810
11514
  max: 50,
10811
11515
  step: 1
@@ -10813,6 +11517,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10813
11517
  paddingRight: {
10814
11518
  label: "右内边距(px)",
10815
11519
  widgetType: "el-input-number",
11520
+ size: "small",
10816
11521
  min: 0,
10817
11522
  max: 50,
10818
11523
  step: 1
@@ -10820,6 +11525,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10820
11525
  marginTop: {
10821
11526
  label: "上外边距(px)",
10822
11527
  widgetType: "el-input-number",
11528
+ size: "small",
10823
11529
  min: 0,
10824
11530
  max: 100,
10825
11531
  step: 1
@@ -10827,6 +11533,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10827
11533
  marginBottom: {
10828
11534
  label: "下外边距(px)",
10829
11535
  widgetType: "el-input-number",
11536
+ size: "small",
10830
11537
  min: 0,
10831
11538
  max: 100,
10832
11539
  step: 1
@@ -10834,6 +11541,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10834
11541
  marginLeft: {
10835
11542
  label: "左外边距(px)",
10836
11543
  widgetType: "el-input-number",
11544
+ size: "small",
10837
11545
  min: 0,
10838
11546
  max: 100,
10839
11547
  step: 1
@@ -10841,6 +11549,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10841
11549
  marginRight: {
10842
11550
  label: "右外边距(px)",
10843
11551
  widgetType: "el-input-number",
11552
+ size: "small",
10844
11553
  min: 0,
10845
11554
  max: 100,
10846
11555
  step: 1
@@ -10895,6 +11604,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10895
11604
  minWidth: {
10896
11605
  label: "最小宽度(px)",
10897
11606
  widgetType: "el-input-number",
11607
+ size: "small",
10898
11608
  min: 20,
10899
11609
  max: 500,
10900
11610
  step: 1
@@ -10902,6 +11612,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10902
11612
  minHeight: {
10903
11613
  label: "最小高度(px)",
10904
11614
  widgetType: "el-input-number",
11615
+ size: "small",
10905
11616
  min: 20,
10906
11617
  max: 100,
10907
11618
  step: 1
@@ -10927,18 +11638,18 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
10927
11638
  label: "禁用状态",
10928
11639
  widgetType: "el-switch"
10929
11640
  },
10930
- // 高级配置
10931
- customClass: {
10932
- label: "自定义CSS类",
10933
- widgetType: "el-input",
10934
- placeholder: "请输入CSS类名"
10935
- },
10936
- customStyle: {
10937
- label: "自定义样式",
10938
- widgetType: "el-input",
10939
- type: "textarea",
10940
- placeholder: "请输入CSS样式,如: box-shadow: 0 2px 4px rgba(0,0,0,0.1);"
10941
- },
11641
+ // // 高级配置
11642
+ // customClass: {
11643
+ // label: "自定义CSS类",
11644
+ // widgetType: "el-input",
11645
+ // placeholder: "请输入CSS类名"
11646
+ // },
11647
+ // customStyle: {
11648
+ // label: "自定义样式",
11649
+ // widgetType: "el-input",
11650
+ // type: "textarea",
11651
+ // placeholder: "请输入CSS样式,如: box-shadow: 0 2px 4px rgba(0,0,0,0.1);"
11652
+ // },
10942
11653
  hoverEffect: {
10943
11654
  label: "悬停效果",
10944
11655
  widgetType: "el-switch"
@@ -11323,7 +12034,7 @@ var es_iterator_constructor = __webpack_require__(8111);
11323
12034
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
11324
12035
  var es_iterator_for_each = __webpack_require__(7588);
11325
12036
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
11326
- var baseComp = __webpack_require__(8770);
12037
+ var baseComp = __webpack_require__(537);
11327
12038
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-button/View.vue?vue&type=script&lang=js
11328
12039
 
11329
12040
 
@@ -15327,7 +16038,7 @@ var swiper_esm_bundle = __webpack_require__(4418);
15327
16038
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
15328
16039
  var jumpUrl = __webpack_require__(813);
15329
16040
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
15330
- var baseComp = __webpack_require__(8770);
16041
+ var baseComp = __webpack_require__(537);
15331
16042
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-banner/View.vue?vue&type=script&lang=js
15332
16043
 
15333
16044
 
@@ -24208,34 +24919,7 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
24208
24919
 
24209
24920
  /***/ }),
24210
24921
 
24211
- /***/ 3167:
24212
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
24213
-
24214
- "use strict";
24215
-
24216
- var isCallable = __webpack_require__(4901);
24217
- var isObject = __webpack_require__(34);
24218
- var setPrototypeOf = __webpack_require__(2967);
24219
-
24220
- // makes subclassing work correct for wrapped built-ins
24221
- module.exports = function ($this, dummy, Wrapper) {
24222
- var NewTarget, NewTargetPrototype;
24223
- if (
24224
- // it can work only with native `setPrototypeOf`
24225
- setPrototypeOf &&
24226
- // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
24227
- isCallable(NewTarget = dummy.constructor) &&
24228
- NewTarget !== Wrapper &&
24229
- isObject(NewTargetPrototype = NewTarget.prototype) &&
24230
- NewTargetPrototype !== Wrapper.prototype
24231
- ) setPrototypeOf($this, NewTargetPrototype);
24232
- return $this;
24233
- };
24234
-
24235
-
24236
- /***/ }),
24237
-
24238
- /***/ 3203:
24922
+ /***/ 3164:
24239
24923
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
24240
24924
 
24241
24925
  "use strict";
@@ -24247,7 +24931,15 @@ __webpack_require__.d(__webpack_exports__, {
24247
24931
  "default": function() { return /* binding */ View; }
24248
24932
  });
24249
24933
 
24250
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-description/View.vue?vue&type=template&id=23ce51d8&scoped=true
24934
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
24935
+ var es_iterator_constructor = __webpack_require__(8111);
24936
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
24937
+ var es_iterator_drop = __webpack_require__(9314);
24938
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=template&id=971892d6&scoped=true
24939
+
24940
+
24941
+
24942
+
24251
24943
  var render = function render() {
24252
24944
  var _vm = this,
24253
24945
  _c = _vm._self._c;
@@ -24256,209 +24948,635 @@ var render = function render() {
24256
24948
  "data": _vm.data,
24257
24949
  "nowCompId": _vm.nowCompId,
24258
24950
  "isOpcacity": _vm.isOpcacity,
24259
- "lang": _vm.lang
24951
+ "isMask": false,
24952
+ "lang": _vm.lang,
24953
+ "showDel": false
24260
24954
  },
24261
24955
  on: {
24262
24956
  "getConfigData": _vm.getConfigData
24263
24957
  }
24264
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
24265
- staticClass: "cmhk-home_main"
24266
- }, [_c('div', {
24267
- class: ['cartoon-mess cartoon-mess_container mgb-0', _vm.messFold ? 'all' : '']
24268
- }, [_c('div', {
24269
- staticClass: "inner"
24270
- }, [_c('p', [_vm._v(_vm._s(_vm.configData.input1))])])])])]);
24271
- };
24272
- var staticRenderFns = [];
24273
-
24274
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
24275
- var baseComp = __webpack_require__(8770);
24276
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-description/View.vue?vue&type=script&lang=js
24277
-
24278
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
24279
- name: "cms-description",
24280
- components: {
24281
- BaseComp: baseComp["default"]
24282
- },
24283
- props: {
24284
- data: {
24285
- type: Object,
24286
- default: () => {
24287
- return {};
24288
- }
24289
- },
24290
- nowCompId: {
24291
- type: [String, Number],
24292
- default: ""
24293
- },
24294
- isOpcacity: {
24295
- type: Boolean,
24296
- default: true
24958
+ }, 'BaseComp', _vm.$attrs, false), [_vm.$EventBus && _vm.isOpcacity ? _c('div', {
24959
+ staticClass: "main_drag",
24960
+ style: _vm.cardContainerStyle,
24961
+ attrs: {
24962
+ "id": `cardTarget${_vm.data.componentId}`
24297
24963
  },
24298
- lang: {
24299
- type: String,
24300
- default: "zh-HK"
24964
+ on: {
24965
+ "dragover": _vm.dragover,
24966
+ "dragend": function ($event) {
24967
+ _vm.showAddCom = false;
24968
+ },
24969
+ "drop": _vm.drop
24301
24970
  }
24302
- },
24303
- data() {
24304
- return {
24305
- configData: {},
24306
- messFold: true
24307
- };
24308
- },
24309
- mounted() {},
24310
- watch: {},
24311
- methods: {
24312
- getConfigData(configData) {
24313
- this.configData = configData;
24314
- },
24315
- foldMessText() {
24316
- this.messFold = !this.messFold;
24971
+ }, [_c('Draggable', {
24972
+ staticStyle: {
24973
+ "position": "relative"
24317
24974
  },
24318
- decodeJumpUrl(url) {
24319
- if (!url) return;
24320
- top.location.href = url;
24321
- }
24322
- }
24323
- });
24324
- ;// ./package/cms-description/View.vue?vue&type=script&lang=js
24325
- /* harmony default export */ var cms_description_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
24326
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-description/View.vue?vue&type=style&index=0&id=23ce51d8&prod&lang=scss&scoped=true
24327
- // extracted by mini-css-extract-plugin
24328
-
24329
- ;// ./package/cms-description/View.vue?vue&type=style&index=0&id=23ce51d8&prod&lang=scss&scoped=true
24330
-
24331
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
24332
- var componentNormalizer = __webpack_require__(1656);
24333
- ;// ./package/cms-description/View.vue
24334
-
24335
-
24336
-
24337
- ;
24338
-
24339
-
24340
- /* normalize component */
24341
-
24342
- var component = (0,componentNormalizer/* default */.A)(
24343
- cms_description_Viewvue_type_script_lang_js,
24344
- render,
24345
- staticRenderFns,
24346
- false,
24347
- null,
24348
- "23ce51d8",
24349
- null
24350
-
24351
- )
24352
-
24353
- /* harmony default export */ var View = (component.exports);
24354
-
24355
- /***/ }),
24356
-
24357
- /***/ 3238:
24358
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
24359
-
24360
- "use strict";
24361
-
24362
- var globalThis = __webpack_require__(4576);
24363
- var NATIVE_ARRAY_BUFFER = __webpack_require__(7811);
24364
- var arrayBufferByteLength = __webpack_require__(7394);
24365
-
24366
- var DataView = globalThis.DataView;
24367
-
24368
- module.exports = function (O) {
24369
- if (!NATIVE_ARRAY_BUFFER || arrayBufferByteLength(O) !== 0) return false;
24370
- try {
24371
- // eslint-disable-next-line no-new -- thrower
24372
- new DataView(O);
24373
- return false;
24374
- } catch (error) {
24375
- return true;
24376
- }
24377
- };
24378
-
24379
-
24380
- /***/ }),
24381
-
24382
- /***/ 3249:
24383
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
24384
-
24385
- "use strict";
24386
- // ESM COMPAT FLAG
24387
- __webpack_require__.r(__webpack_exports__);
24388
-
24389
- // EXPORTS
24390
- __webpack_require__.d(__webpack_exports__, {
24391
- "default": function() { return /* binding */ View; }
24392
- });
24393
-
24394
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-lineTwo/View.vue?vue&type=template&id=16651063&scoped=true
24395
- var render = function render() {
24396
- var _vm = this,
24397
- _c = _vm._self._c;
24398
- return _c('BaseComp', _vm._b({
24399
24975
  attrs: {
24400
- "data": _vm.data,
24401
- "nowCompId": _vm.nowCompId,
24402
- "isOpcacity": _vm.isOpcacity,
24403
- "lang": _vm.lang
24976
+ "chosen-class": "chosen",
24977
+ "force-fallback": "true",
24978
+ "animation": "1000",
24979
+ "move": _vm.onMove
24404
24980
  },
24405
24981
  on: {
24406
- "getConfigData": _vm.getConfigData
24982
+ "start": _vm.onStart,
24983
+ "end": function ($event) {
24984
+ _vm.showAddCom = false;
24985
+ }
24986
+ },
24987
+ model: {
24988
+ value: _vm.data.childList,
24989
+ callback: function ($$v) {
24990
+ _vm.$set(_vm.data, "childList", $$v);
24991
+ },
24992
+ expression: "data.childList"
24407
24993
  }
24408
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
24409
- staticClass: "cmhk-home_main"
24410
- }, [_c('div', {
24411
- staticClass: "dataTransferTips"
24412
- }, [_c('div', {
24413
- staticClass: "pageCenter"
24414
- }, [_c('div', {
24415
- staticClass: "tab"
24416
- }, [_c('div', {
24417
- staticClass: "main"
24418
- }, [_c('div', {
24419
- staticClass: "tpl-marketingnew-activity"
24420
- }, [_c('div', {
24421
- staticClass: "marketingnew_activity"
24422
- }, [_c('div', {
24423
- staticClass: "marketingnew_activity_list common_width_container"
24424
- }, _vm._l(_vm.configList, function (item, index) {
24994
+ }, [_vm._l(_vm.data.childList, function (item, index) {
24425
24995
  return _c('div', {
24426
- key: `${index}${item === null || item === void 0 ? void 0 : item.id}`,
24427
- staticClass: "activity_item activity_link_item"
24996
+ key: item.componentId,
24997
+ staticStyle: {
24998
+ "position": "relative"
24999
+ }
24428
25000
  }, [_c('div', {
24429
- staticClass: "activity_item_img"
24430
- }, [_c('a', {
25001
+ directives: [{
25002
+ name: "show",
25003
+ rawName: "v-show",
25004
+ value: _vm.showAddCom,
25005
+ expression: "showAddCom"
25006
+ }],
25007
+ staticClass: "up_insert",
24431
25008
  attrs: {
24432
- "href": item.jumpUrl,
24433
- "target": "_blank"
25009
+ "id": `${item.componentId}-cardTargetup`
24434
25010
  }
24435
- }, [_c('img', {
24436
- staticClass: "pc-show",
25011
+ }, [_c('i', {
25012
+ staticClass: "icon-up",
24437
25013
  attrs: {
24438
- "src": item.uploadImagePC,
24439
- "alt": item.imagePcATL
25014
+ "id": `${item.componentId}-upi`
24440
25015
  }
24441
- }), _c('img', {
24442
- staticClass: "mobile-show",
25016
+ }), _c('span', {
24443
25017
  attrs: {
24444
- "src": item.uploadImageH5,
24445
- "alt": item.imageH5ATL
25018
+ "id": `${item.componentId}-upspan`
24446
25019
  }
24447
- })])]), _c('p', {
24448
- staticClass: "activity_item_text"
24449
- }, [_vm._v(" " + _vm._s(item.input1) + " > ")])]);
24450
- }), 0)])])])])])])])]);
25020
+ }, [_vm._v("插入组件")])]), _c(item.cmsCompName, {
25021
+ key: item.componentId,
25022
+ tag: "component",
25023
+ style: {
25024
+ marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
25025
+ },
25026
+ attrs: {
25027
+ "data": item,
25028
+ "lang": _vm.lang,
25029
+ "isOpcacity": _vm.isOpcacity,
25030
+ "nowCompId": _vm.nowCompId
25031
+ }
25032
+ })], 1);
25033
+ }), _c('div', {
25034
+ directives: [{
25035
+ name: "show",
25036
+ rawName: "v-show",
25037
+ value: _vm.showAddCom,
25038
+ expression: "showAddCom"
25039
+ }],
25040
+ staticClass: "up_insert insert_bottom",
25041
+ style: {
25042
+ bottom: _vm.data.childList.length ? '0px' : '-24px'
25043
+ },
25044
+ attrs: {
25045
+ "id": `-cardTargetdown`
25046
+ }
25047
+ }, [_c('i', {
25048
+ staticClass: "icon-up"
25049
+ }), _c('span', [_vm._v("插入组件")])])], 2)], 1) : _c('cms-view', _vm._b({
25050
+ style: _vm.cardContainerStyle,
25051
+ attrs: {
25052
+ "data": _vm.data.childList,
25053
+ "lang": _vm.lang,
25054
+ "isOpcacity": false
25055
+ }
25056
+ }, 'cms-view', _vm.$attrs, false))], 1);
24451
25057
  };
24452
25058
  var staticRenderFns = [];
24453
25059
 
25060
+ ;// ./package/cms-column-card/View.vue?vue&type=template&id=971892d6&scoped=true
25061
+
25062
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
25063
+ var es_array_push = __webpack_require__(4114);
24454
25064
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
24455
- var baseComp = __webpack_require__(8770);
24456
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-lineTwo/View.vue?vue&type=script&lang=js
25065
+ var baseComp = __webpack_require__(537);
25066
+ // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
25067
+ var vuedraggable_umd = __webpack_require__(1527);
25068
+ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
25069
+ // EXTERNAL MODULE: ./package/baseConfig.js
25070
+ var baseConfig = __webpack_require__(649);
25071
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=script&lang=js
25072
+
25073
+
25074
+
25075
+
24457
25076
 
24458
25077
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
24459
- name: "cms-lineTwo",
25078
+ name: "cms-column-card",
24460
25079
  components: {
24461
- BaseComp: baseComp["default"]
25080
+ BaseComp: baseComp["default"],
25081
+ Draggable: (vuedraggable_umd_default())
25082
+ },
25083
+ props: {
25084
+ data: {
25085
+ type: Object,
25086
+ default: () => {
25087
+ return {};
25088
+ }
25089
+ },
25090
+ nowCompId: {
25091
+ type: [String, Number],
25092
+ default: ""
25093
+ },
25094
+ isOpcacity: {
25095
+ type: Boolean,
25096
+ default: true
25097
+ },
25098
+ lang: {
25099
+ type: String,
25100
+ default: "zh-HK"
25101
+ }
25102
+ },
25103
+ data() {
25104
+ return {
25105
+ configData: {},
25106
+ messFold: true,
25107
+ showAddCom: false
25108
+ };
25109
+ },
25110
+ computed: {
25111
+ // 卡片容器样式
25112
+ cardContainerStyle() {
25113
+ return {
25114
+ backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : "none",
25115
+ backgroundSize: "cover",
25116
+ backgroundRepeat: "no-repeat",
25117
+ backgroundPosition: "center center",
25118
+ height: this.getContainerHeight(),
25119
+ border: this.getContainerBorder(),
25120
+ borderRadius: this.getContainerBorderRadius(),
25121
+ backgroundColor: this.configData.backgroundColor || "transparent",
25122
+ boxShadow: this.configData.boxShadow || "none"
25123
+ };
25124
+ }
25125
+ },
25126
+ mounted() {
25127
+ if (this.$EventBus) {
25128
+ this.$EventBus.$on("handleDragEnd", () => {
25129
+ this.showAddCom = false;
25130
+ });
25131
+ }
25132
+ },
25133
+ watch: {},
25134
+ methods: {
25135
+ // 获取容器高度
25136
+ getContainerHeight() {
25137
+ if (this.configData.heightType === "fixed") {
25138
+ return `${this.configData.fixedHeight}px`;
25139
+ }
25140
+ return this.isOpcacity ? "100%" : "auto";
25141
+ },
25142
+ // 获取容器边框
25143
+ getContainerBorder() {
25144
+ if (this.configData.borderWidth) {
25145
+ return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
25146
+ }
25147
+ return "none";
25148
+ },
25149
+ // 获取容器圆角
25150
+ getContainerBorderRadius() {
25151
+ if (this.configData.borderRadius) {
25152
+ return `${this.configData.borderRadius}px`;
25153
+ }
25154
+ return "0";
25155
+ },
25156
+ getConfigData(configData) {
25157
+ this.configData = configData;
25158
+ },
25159
+ foldMessText() {
25160
+ this.messFold = !this.messFold;
25161
+ },
25162
+ decodeJumpUrl(url) {
25163
+ if (!url) return;
25164
+ top.location.href = url;
25165
+ },
25166
+ onStart(evt) {
25167
+ console.log("drag start in column-card", evt);
25168
+ this.showAddCom = true;
25169
+ },
25170
+ // 限制拖拽的组件类型
25171
+ onMove(evt) {
25172
+ const {
25173
+ draggedContext
25174
+ } = evt;
25175
+
25176
+ // 允许的组件类型
25177
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
25178
+ ];
25179
+
25180
+ // 如果是从外部拖入的组件
25181
+ if (draggedContext && draggedContext.element) {
25182
+ const componentType = draggedContext.element.cmsCompName;
25183
+ if (componentType && !allowedComponents.includes(componentType)) {
25184
+ console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
25185
+ return false;
25186
+ }
25187
+
25188
+ // 特殊处理 cms-column:检查嵌套层级
25189
+ if (componentType === "cms-column") {
25190
+ if (!this.checkColumnNestingLevel()) {
25191
+ console.log("cms-column 嵌套层级超出限制");
25192
+ return false;
25193
+ }
25194
+ }
25195
+ }
25196
+ return true;
25197
+ },
25198
+ // 检查 cms-column 嵌套层级
25199
+ checkColumnNestingLevel() {
25200
+ // 检查当前 column-card 是否已经在 cms-column 内部
25201
+ let parent = this.$parent;
25202
+ let columnDepth = 0;
25203
+ while (parent) {
25204
+ // 检查父组件是否是 cms-column 或包含 cms-column
25205
+ if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
25206
+ columnDepth++;
25207
+ }
25208
+
25209
+ // 如果已经有一层 cms-column,则不允许再嵌套
25210
+ if (columnDepth >= 2) {
25211
+ console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
25212
+ return false;
25213
+ }
25214
+ parent = parent.$parent;
25215
+ }
25216
+ console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
25217
+ return true;
25218
+ },
25219
+ // 处理拖拽悬停
25220
+ dragover(e) {
25221
+ e.preventDefault();
25222
+ this.showAddCom = true;
25223
+ },
25224
+ // 处理拖拽放置
25225
+ drop(e) {
25226
+ console.log("cms-colum-card-drop");
25227
+ e.preventDefault();
25228
+ const componentKey = e.dataTransfer.getData("componentKey");
25229
+ if (!componentKey) return;
25230
+
25231
+ // 允许的组件类型
25232
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
25233
+ ];
25234
+
25235
+ // 检查组件类型是否允许
25236
+ if (!allowedComponents.includes(componentKey)) {
25237
+ console.log(`组件类型 ${componentKey} 不允许拖入 column-card`);
25238
+ this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
25239
+ this.showAddCom = false;
25240
+ return;
25241
+ }
25242
+
25243
+ // 特殊处理 cms-column:检查嵌套层级
25244
+ if (componentKey === "cms-column") {
25245
+ if (!this.checkColumnNestingLevel()) {
25246
+ console.log("cms-column 嵌套层级超出限制");
25247
+ this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
25248
+ this.showAddCom = false;
25249
+ return;
25250
+ }
25251
+ }
25252
+ this.addOneComp(e, componentKey);
25253
+ },
25254
+ // 添加组件到卡片容器
25255
+ addOneComp(e, componentKey) {
25256
+ this.showAddCom = false;
25257
+ console.log("drop to column-card", componentKey);
25258
+
25259
+ // 动态导入组件配置
25260
+ let initCompData;
25261
+ try {
25262
+ initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
25263
+ initCompData = {
25264
+ ...initCompData,
25265
+ styleConfig: {
25266
+ pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
25267
+ mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
25268
+ }
25269
+ };
25270
+ } catch (error) {
25271
+ console.error(`无法加载组件 ${componentKey}:`, error);
25272
+ this.$message && this.$message.error(`组件加载失败`);
25273
+ return;
25274
+ }
25275
+ const toElementId = e.toElement.id;
25276
+ if (toElementId === `cardTarget${this.data.componentId}` || toElementId.includes("cardTargetdown")) {
25277
+ // 添加到卡片容器末尾
25278
+ this.data.childList.push(initCompData);
25279
+ } else if (toElementId.includes("cardTargetup")) {
25280
+ // 插入到指定位置
25281
+ const underComponentId = toElementId.split("-cardTargetup")[0];
25282
+ const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
25283
+ if (index !== -1) {
25284
+ this.data.childList.splice(index, 0, initCompData);
25285
+ }
25286
+ }
25287
+
25288
+ // 触发数据更新
25289
+ this.$emit("update:data", this.data);
25290
+ if (componentKey === "cms-column") {
25291
+ this.$EventBus.$emit("handleNowComp", initCompData);
25292
+ }
25293
+ }
25294
+ }
25295
+ });
25296
+ ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
25297
+ /* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
25298
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=style&index=0&id=971892d6&prod&lang=scss&scoped=true
25299
+ // extracted by mini-css-extract-plugin
25300
+
25301
+ ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=971892d6&prod&lang=scss&scoped=true
25302
+
25303
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
25304
+ var componentNormalizer = __webpack_require__(1656);
25305
+ ;// ./package/cms-column-card/View.vue
25306
+
25307
+
25308
+
25309
+ ;
25310
+
25311
+
25312
+ /* normalize component */
25313
+
25314
+ var component = (0,componentNormalizer/* default */.A)(
25315
+ cms_column_card_Viewvue_type_script_lang_js,
25316
+ render,
25317
+ staticRenderFns,
25318
+ false,
25319
+ null,
25320
+ "971892d6",
25321
+ null
25322
+
25323
+ )
25324
+
25325
+ /* harmony default export */ var View = (component.exports);
25326
+
25327
+ /***/ }),
25328
+
25329
+ /***/ 3167:
25330
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
25331
+
25332
+ "use strict";
25333
+
25334
+ var isCallable = __webpack_require__(4901);
25335
+ var isObject = __webpack_require__(34);
25336
+ var setPrototypeOf = __webpack_require__(2967);
25337
+
25338
+ // makes subclassing work correct for wrapped built-ins
25339
+ module.exports = function ($this, dummy, Wrapper) {
25340
+ var NewTarget, NewTargetPrototype;
25341
+ if (
25342
+ // it can work only with native `setPrototypeOf`
25343
+ setPrototypeOf &&
25344
+ // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
25345
+ isCallable(NewTarget = dummy.constructor) &&
25346
+ NewTarget !== Wrapper &&
25347
+ isObject(NewTargetPrototype = NewTarget.prototype) &&
25348
+ NewTargetPrototype !== Wrapper.prototype
25349
+ ) setPrototypeOf($this, NewTargetPrototype);
25350
+ return $this;
25351
+ };
25352
+
25353
+
25354
+ /***/ }),
25355
+
25356
+ /***/ 3203:
25357
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
25358
+
25359
+ "use strict";
25360
+ // ESM COMPAT FLAG
25361
+ __webpack_require__.r(__webpack_exports__);
25362
+
25363
+ // EXPORTS
25364
+ __webpack_require__.d(__webpack_exports__, {
25365
+ "default": function() { return /* binding */ View; }
25366
+ });
25367
+
25368
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-description/View.vue?vue&type=template&id=23ce51d8&scoped=true
25369
+ var render = function render() {
25370
+ var _vm = this,
25371
+ _c = _vm._self._c;
25372
+ return _c('BaseComp', _vm._b({
25373
+ attrs: {
25374
+ "data": _vm.data,
25375
+ "nowCompId": _vm.nowCompId,
25376
+ "isOpcacity": _vm.isOpcacity,
25377
+ "lang": _vm.lang
25378
+ },
25379
+ on: {
25380
+ "getConfigData": _vm.getConfigData
25381
+ }
25382
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
25383
+ staticClass: "cmhk-home_main"
25384
+ }, [_c('div', {
25385
+ class: ['cartoon-mess cartoon-mess_container mgb-0', _vm.messFold ? 'all' : '']
25386
+ }, [_c('div', {
25387
+ staticClass: "inner"
25388
+ }, [_c('p', [_vm._v(_vm._s(_vm.configData.input1))])])])])]);
25389
+ };
25390
+ var staticRenderFns = [];
25391
+
25392
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25393
+ var baseComp = __webpack_require__(537);
25394
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-description/View.vue?vue&type=script&lang=js
25395
+
25396
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
25397
+ name: "cms-description",
25398
+ components: {
25399
+ BaseComp: baseComp["default"]
25400
+ },
25401
+ props: {
25402
+ data: {
25403
+ type: Object,
25404
+ default: () => {
25405
+ return {};
25406
+ }
25407
+ },
25408
+ nowCompId: {
25409
+ type: [String, Number],
25410
+ default: ""
25411
+ },
25412
+ isOpcacity: {
25413
+ type: Boolean,
25414
+ default: true
25415
+ },
25416
+ lang: {
25417
+ type: String,
25418
+ default: "zh-HK"
25419
+ }
25420
+ },
25421
+ data() {
25422
+ return {
25423
+ configData: {},
25424
+ messFold: true
25425
+ };
25426
+ },
25427
+ mounted() {},
25428
+ watch: {},
25429
+ methods: {
25430
+ getConfigData(configData) {
25431
+ this.configData = configData;
25432
+ },
25433
+ foldMessText() {
25434
+ this.messFold = !this.messFold;
25435
+ },
25436
+ decodeJumpUrl(url) {
25437
+ if (!url) return;
25438
+ top.location.href = url;
25439
+ }
25440
+ }
25441
+ });
25442
+ ;// ./package/cms-description/View.vue?vue&type=script&lang=js
25443
+ /* harmony default export */ var cms_description_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
25444
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-description/View.vue?vue&type=style&index=0&id=23ce51d8&prod&lang=scss&scoped=true
25445
+ // extracted by mini-css-extract-plugin
25446
+
25447
+ ;// ./package/cms-description/View.vue?vue&type=style&index=0&id=23ce51d8&prod&lang=scss&scoped=true
25448
+
25449
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
25450
+ var componentNormalizer = __webpack_require__(1656);
25451
+ ;// ./package/cms-description/View.vue
25452
+
25453
+
25454
+
25455
+ ;
25456
+
25457
+
25458
+ /* normalize component */
25459
+
25460
+ var component = (0,componentNormalizer/* default */.A)(
25461
+ cms_description_Viewvue_type_script_lang_js,
25462
+ render,
25463
+ staticRenderFns,
25464
+ false,
25465
+ null,
25466
+ "23ce51d8",
25467
+ null
25468
+
25469
+ )
25470
+
25471
+ /* harmony default export */ var View = (component.exports);
25472
+
25473
+ /***/ }),
25474
+
25475
+ /***/ 3238:
25476
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
25477
+
25478
+ "use strict";
25479
+
25480
+ var globalThis = __webpack_require__(4576);
25481
+ var NATIVE_ARRAY_BUFFER = __webpack_require__(7811);
25482
+ var arrayBufferByteLength = __webpack_require__(7394);
25483
+
25484
+ var DataView = globalThis.DataView;
25485
+
25486
+ module.exports = function (O) {
25487
+ if (!NATIVE_ARRAY_BUFFER || arrayBufferByteLength(O) !== 0) return false;
25488
+ try {
25489
+ // eslint-disable-next-line no-new -- thrower
25490
+ new DataView(O);
25491
+ return false;
25492
+ } catch (error) {
25493
+ return true;
25494
+ }
25495
+ };
25496
+
25497
+
25498
+ /***/ }),
25499
+
25500
+ /***/ 3249:
25501
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
25502
+
25503
+ "use strict";
25504
+ // ESM COMPAT FLAG
25505
+ __webpack_require__.r(__webpack_exports__);
25506
+
25507
+ // EXPORTS
25508
+ __webpack_require__.d(__webpack_exports__, {
25509
+ "default": function() { return /* binding */ View; }
25510
+ });
25511
+
25512
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-lineTwo/View.vue?vue&type=template&id=16651063&scoped=true
25513
+ var render = function render() {
25514
+ var _vm = this,
25515
+ _c = _vm._self._c;
25516
+ return _c('BaseComp', _vm._b({
25517
+ attrs: {
25518
+ "data": _vm.data,
25519
+ "nowCompId": _vm.nowCompId,
25520
+ "isOpcacity": _vm.isOpcacity,
25521
+ "lang": _vm.lang
25522
+ },
25523
+ on: {
25524
+ "getConfigData": _vm.getConfigData
25525
+ }
25526
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
25527
+ staticClass: "cmhk-home_main"
25528
+ }, [_c('div', {
25529
+ staticClass: "dataTransferTips"
25530
+ }, [_c('div', {
25531
+ staticClass: "pageCenter"
25532
+ }, [_c('div', {
25533
+ staticClass: "tab"
25534
+ }, [_c('div', {
25535
+ staticClass: "main"
25536
+ }, [_c('div', {
25537
+ staticClass: "tpl-marketingnew-activity"
25538
+ }, [_c('div', {
25539
+ staticClass: "marketingnew_activity"
25540
+ }, [_c('div', {
25541
+ staticClass: "marketingnew_activity_list common_width_container"
25542
+ }, _vm._l(_vm.configList, function (item, index) {
25543
+ return _c('div', {
25544
+ key: `${index}${item === null || item === void 0 ? void 0 : item.id}`,
25545
+ staticClass: "activity_item activity_link_item"
25546
+ }, [_c('div', {
25547
+ staticClass: "activity_item_img"
25548
+ }, [_c('a', {
25549
+ attrs: {
25550
+ "href": item.jumpUrl,
25551
+ "target": "_blank"
25552
+ }
25553
+ }, [_c('img', {
25554
+ staticClass: "pc-show",
25555
+ attrs: {
25556
+ "src": item.uploadImagePC,
25557
+ "alt": item.imagePcATL
25558
+ }
25559
+ }), _c('img', {
25560
+ staticClass: "mobile-show",
25561
+ attrs: {
25562
+ "src": item.uploadImageH5,
25563
+ "alt": item.imageH5ATL
25564
+ }
25565
+ })])]), _c('p', {
25566
+ staticClass: "activity_item_text"
25567
+ }, [_vm._v(" " + _vm._s(item.input1) + " > ")])]);
25568
+ }), 0)])])])])])])])]);
25569
+ };
25570
+ var staticRenderFns = [];
25571
+
25572
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25573
+ var baseComp = __webpack_require__(537);
25574
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-lineTwo/View.vue?vue&type=script&lang=js
25575
+
25576
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
25577
+ name: "cms-lineTwo",
25578
+ components: {
25579
+ BaseComp: baseComp["default"]
24462
25580
  },
24463
25581
  props: {
24464
25582
  data: {
@@ -24726,7 +25844,7 @@ var render = function render() {
24726
25844
  var staticRenderFns = [];
24727
25845
 
24728
25846
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
24729
- var baseComp = __webpack_require__(8770);
25847
+ var baseComp = __webpack_require__(537);
24730
25848
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-richText/View.vue?vue&type=script&lang=js
24731
25849
 
24732
25850
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -25289,7 +26407,7 @@ __webpack_require__.r(__webpack_exports__);
25289
26407
  __webpack_require__.r(__webpack_exports__);
25290
26408
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
25291
26409
 
25292
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9279));
26410
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9886));
25293
26411
  const langData = {
25294
26412
  // 布局配置
25295
26413
  layoutType: "100",
@@ -25303,7 +26421,7 @@ const langData = {
25303
26421
  borderColor: "#409eff",
25304
26422
  borderRadius: 0,
25305
26423
  // 背景配置
25306
- backgroundColor: "",
26424
+ backgroundColor: "#FFF",
25307
26425
  backgroundImage: "",
25308
26426
  boxShadow: "",
25309
26427
  // 间距配置
@@ -25385,6 +26503,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
25385
26503
  fixedHeight: {
25386
26504
  label: "固定高度(px)",
25387
26505
  widgetType: "el-input-number",
26506
+ size: "small",
25388
26507
  min: 100,
25389
26508
  max: 1000
25390
26509
  },
@@ -25392,6 +26511,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
25392
26511
  borderWidth: {
25393
26512
  label: "边框宽度(px)",
25394
26513
  widgetType: "el-input-number",
26514
+ size: "small",
25395
26515
  min: 0,
25396
26516
  max: 10
25397
26517
  },
@@ -25419,6 +26539,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
25419
26539
  borderRadius: {
25420
26540
  label: "圆角(px)",
25421
26541
  widgetType: "el-input-number",
26542
+ size: "small",
25422
26543
  min: 0,
25423
26544
  max: 50
25424
26545
  },
@@ -25431,21 +26552,24 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
25431
26552
  label: "背景图片",
25432
26553
  widgetType: "UploadWidgetCMS"
25433
26554
  },
25434
- boxShadow: {
25435
- label: "阴影效果",
25436
- widgetType: "el-input",
25437
- placeholder: "如: 0 2px 4px rgba(0,0,0,0.1)"
25438
- },
26555
+ // boxShadow: {
26556
+ // label: "阴影效果",
26557
+ // widgetType: "el-input",
26558
+ // placeholder: "如: 0 2px 4px rgba(0,0,0,0.1)",
26559
+ // },
26560
+
25439
26561
  // 间距配置
25440
26562
  columnGap: {
25441
26563
  label: "列间距(px)",
25442
26564
  widgetType: "el-input-number",
26565
+ size: "small",
25443
26566
  min: 0,
25444
26567
  max: 100
25445
26568
  },
25446
26569
  rowGap: {
25447
26570
  label: "行间距(px)",
25448
26571
  widgetType: "el-input-number",
26572
+ size: "small",
25449
26573
  min: 0,
25450
26574
  max: 100
25451
26575
  },
@@ -25470,31 +26594,33 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
25470
26594
  label: "显示描述",
25471
26595
  widgetType: "el-switch"
25472
26596
  },
25473
- // 响应式配置
25474
- responsiveBreakpoint: {
25475
- label: "响应式断点(px)",
25476
- widgetType: "el-input-number",
25477
- min: 320,
25478
- max: 1200
25479
- },
26597
+ // // 响应式配置
26598
+ // responsiveBreakpoint: {
26599
+ // label: "响应式断点(px)",
26600
+ // widgetType: "el-input-number",
26601
+ size: "small"
26602
+ // min: 320,
26603
+ // max: 1200
26604
+ // },
26605
+
25480
26606
  // 高级配置
25481
- customClass: {
25482
- label: "自定义CSS类",
25483
- widgetType: "el-input"
25484
- },
25485
- customStyle: {
25486
- label: "自定义样式",
25487
- widgetType: "el-input",
25488
- type: "textarea"
25489
- },
25490
- enableLazyLoad: {
25491
- label: "启用懒加载",
25492
- widgetType: "el-switch"
25493
- },
25494
- enableSEO: {
25495
- label: "启用SEO优化",
25496
- widgetType: "el-switch"
25497
- }
26607
+ // customClass: {
26608
+ // label: "自定义CSS类",
26609
+ // widgetType: "el-input"
26610
+ // },
26611
+ // customStyle: {
26612
+ // label: "自定义样式",
26613
+ // widgetType: "el-input",
26614
+ // type: "textarea"
26615
+ // },
26616
+ // enableLazyLoad: {
26617
+ // label: "启用懒加载",
26618
+ // widgetType: "el-switch"
26619
+ // },
26620
+ // enableSEO: {
26621
+ // label: "启用SEO优化",
26622
+ // widgetType: "el-switch"
26623
+ // }
25498
26624
  });
25499
26625
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
25500
26626
  /* harmony default export */ __webpack_exports__["default"] = ({
@@ -25505,7 +26631,8 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
25505
26631
  settings: cmsCompName => {
25506
26632
  return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
25507
26633
  cmsCompName,
25508
- langData
26634
+ langData,
26635
+ isLangAll: true
25509
26636
  });
25510
26637
  }
25511
26638
  });
@@ -25759,7 +26886,7 @@ var es_iterator_constructor = __webpack_require__(8111);
25759
26886
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
25760
26887
  var es_iterator_reduce = __webpack_require__(8237);
25761
26888
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25762
- var baseComp = __webpack_require__(8770);
26889
+ var baseComp = __webpack_require__(537);
25763
26890
  // EXTERNAL MODULE: ./package/patch.js
25764
26891
  var patch = __webpack_require__(1618);
25765
26892
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-servePlan-tab/View.vue?vue&type=script&lang=js
@@ -34813,7 +35940,7 @@ var render = function render() {
34813
35940
  var staticRenderFns = [];
34814
35941
 
34815
35942
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
34816
- var baseComp = __webpack_require__(8770);
35943
+ var baseComp = __webpack_require__(537);
34817
35944
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-lineFive/View.vue?vue&type=script&lang=js
34818
35945
 
34819
35946
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -34995,7 +36122,7 @@ var es_iterator_for_each = __webpack_require__(7588);
34995
36122
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
34996
36123
  var es_iterator_map = __webpack_require__(1701);
34997
36124
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
34998
- var baseComp = __webpack_require__(8770);
36125
+ var baseComp = __webpack_require__(537);
34999
36126
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-video/View.vue?vue&type=script&lang=js
35000
36127
 
35001
36128
 
@@ -36333,7 +37460,7 @@ var es_iterator_constructor = __webpack_require__(8111);
36333
37460
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
36334
37461
  var es_iterator_for_each = __webpack_require__(7588);
36335
37462
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
36336
- var baseComp = __webpack_require__(8770);
37463
+ var baseComp = __webpack_require__(537);
36337
37464
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-image/View.vue?vue&type=script&lang=js
36338
37465
 
36339
37466
 
@@ -37677,8 +38804,8 @@ var map = {
37677
38804
  "./cms-banner/View.vue": 2646,
37678
38805
  "./cms-button/View.vue": 2404,
37679
38806
  "./cms-cells/View.vue": 5700,
37680
- "./cms-column-card/View.vue": 6649,
37681
- "./cms-column/View.vue": 9279,
38807
+ "./cms-column-card/View.vue": 3164,
38808
+ "./cms-column/View.vue": 9886,
37682
38809
  "./cms-description/View.vue": 3203,
37683
38810
  "./cms-dynamic-comp/View.vue": 1705,
37684
38811
  "./cms-iconFour/View.vue": 8235,
@@ -37696,7 +38823,7 @@ var map = {
37696
38823
  "./cms-servePlan-tab/View.vue": 4193,
37697
38824
  "./cms-servePlan-text/View.vue": 9487,
37698
38825
  "./cms-termsAndConditions/View.vue": 8073,
37699
- "./cms-text/View.vue": 7549,
38826
+ "./cms-text/View.vue": 1452,
37700
38827
  "./cms-threeScroll/View.vue": 8045,
37701
38828
  "./cms-titleCenter/View.vue": 8106,
37702
38829
  "./cms-titleLeft/View.vue": 9004,
@@ -37758,7 +38885,7 @@ module.exports = Number.isNaN || function isNaN(a) {
37758
38885
  __webpack_require__.r(__webpack_exports__);
37759
38886
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
37760
38887
 
37761
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 6649));
38888
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 3164));
37762
38889
 
37763
38890
  // 默认配置数据
37764
38891
  const langData = {
@@ -37768,7 +38895,7 @@ const langData = {
37768
38895
  // 边框设置
37769
38896
  borderWidth: 1,
37770
38897
  borderStyle: "solid",
37771
- borderColor: "#dcdfe6",
38898
+ borderColor: "#1c4fc6ff",
37772
38899
  borderRadius: 0,
37773
38900
  // 背景设置
37774
38901
  backgroundColor: "",
@@ -37794,6 +38921,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
37794
38921
  fixedHeight: {
37795
38922
  label: "高度值(px)",
37796
38923
  widgetType: "el-input-number",
38924
+ size: "small",
37797
38925
  min: 100,
37798
38926
  max: 2000,
37799
38927
  step: 1
@@ -37802,6 +38930,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
37802
38930
  borderWidth: {
37803
38931
  label: "边框宽度(px)",
37804
38932
  widgetType: "el-input-number",
38933
+ size: "small",
37805
38934
  min: 0,
37806
38935
  max: 20,
37807
38936
  step: 1
@@ -37830,6 +38959,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
37830
38959
  borderRadius: {
37831
38960
  label: "圆角(px)",
37832
38961
  widgetType: "el-input-number",
38962
+ size: "small",
37833
38963
  min: 0,
37834
38964
  max: 100,
37835
38965
  step: 1
@@ -37844,13 +38974,14 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
37844
38974
  widgetType: "UploadWidgetCMS",
37845
38975
  uploadType: "image",
37846
38976
  placeholder: "请选择或输入图片地址"
37847
- },
37848
- // 阴影设置配置
37849
- boxShadow: {
37850
- label: "阴影",
37851
- widgetType: "el-input",
37852
- placeholder: "如: 0 2px 4px rgba(0,0,0,0.1)"
37853
38977
  }
38978
+
38979
+ // 阴影设置配置
38980
+ // boxShadow: {
38981
+ // label: "阴影",
38982
+ // widgetType: "el-input",
38983
+ // placeholder: "如: 0 2px 4px rgba(0,0,0,0.1)",
38984
+ // },
37854
38985
  });
37855
38986
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
37856
38987
  /* harmony default export */ __webpack_exports__["default"] = ({
@@ -38064,7 +39195,7 @@ var swiper = __webpack_require__(2791);
38064
39195
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
38065
39196
  var swiper_esm_bundle = __webpack_require__(4418);
38066
39197
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
38067
- var baseComp = __webpack_require__(8770);
39198
+ var baseComp = __webpack_require__(537);
38068
39199
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-aLineThreeLeftTwo/View.vue?vue&type=script&lang=js
38069
39200
 
38070
39201
 
@@ -38379,7 +39510,7 @@ var render = function render() {
38379
39510
  var staticRenderFns = [];
38380
39511
 
38381
39512
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
38382
- var baseComp = __webpack_require__(8770);
39513
+ var baseComp = __webpack_require__(537);
38383
39514
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-cells/View.vue?vue&type=script&lang=js
38384
39515
 
38385
39516
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -39199,7 +40330,7 @@ var render = function render() {
39199
40330
  var staticRenderFns = [];
39200
40331
 
39201
40332
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
39202
- var baseComp = __webpack_require__(8770);
40333
+ var baseComp = __webpack_require__(537);
39203
40334
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
39204
40335
  var jumpUrl = __webpack_require__(813);
39205
40336
  // EXTERNAL MODULE: ./node_modules/vue/dist/vue.runtime.esm.js
@@ -39344,27 +40475,123 @@ if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) {
39344
40475
 
39345
40476
  /***/ }),
39346
40477
 
39347
- /***/ 6649:
40478
+ /***/ 6699:
40479
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
40480
+
40481
+ "use strict";
40482
+
40483
+ var DESCRIPTORS = __webpack_require__(3724);
40484
+ var definePropertyModule = __webpack_require__(4913);
40485
+ var createPropertyDescriptor = __webpack_require__(6980);
40486
+
40487
+ module.exports = DESCRIPTORS ? function (object, key, value) {
40488
+ return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
40489
+ } : function (object, key, value) {
40490
+ object[key] = value;
40491
+ return object;
40492
+ };
40493
+
40494
+
40495
+ /***/ }),
40496
+
40497
+ /***/ 6706:
40498
+ /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
40499
+
40500
+ "use strict";
40501
+
40502
+ var uncurryThis = __webpack_require__(9504);
40503
+ var aCallable = __webpack_require__(9306);
40504
+
40505
+ module.exports = function (object, key, method) {
40506
+ try {
40507
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
40508
+ return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
40509
+ } catch (error) { /* empty */ }
40510
+ };
40511
+
40512
+
40513
+ /***/ }),
40514
+
40515
+ /***/ 6763:
39348
40516
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39349
40517
 
39350
40518
  "use strict";
39351
- // ESM COMPAT FLAG
39352
40519
  __webpack_require__.r(__webpack_exports__);
40520
+ /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
39353
40521
 
39354
- // EXPORTS
39355
- __webpack_require__.d(__webpack_exports__, {
39356
- "default": function() { return /* binding */ View; }
40522
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 4432));
40523
+ const langData = {
40524
+ configList: [{
40525
+ id: Math.random().toString(),
40526
+ uploadImageH5: "https://omniapi.hk.chinamobile.com/upload/images/omni-channel-service-console/preferential/2024-03-15/ORIGINAL_20240315173315_TRwiweWv_128x128.png",
40527
+ imageH5ATL: "",
40528
+ uploadImagePC: "https://omniapi.hk.chinamobile.com/upload/images/omni-channel-service-console/preferential/2024-03-15/ORIGINAL_20240315173315_TRwiweWv_128x128.png",
40529
+ imagePcATL: "",
40530
+ input1: "",
40531
+ input2: "",
40532
+ jumpUrl: "https://cdn.mylinkapp.hk/via/eshop/free-receive-card-fe/index.html?lang=tc#/webHome"
40533
+ }]
40534
+ };
40535
+ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
40536
+ configList: {
40537
+ label: "图片配置",
40538
+ value: [{
40539
+ id: {
40540
+ label: ""
40541
+ },
40542
+ uploadImagePC: {
40543
+ label: "上传PC图片"
40544
+ },
40545
+ imagePcATL: {
40546
+ label: "PC alt属性"
40547
+ },
40548
+ uploadImageH5: {
40549
+ label: "上传H5图片"
40550
+ },
40551
+ imageH5ATL: {
40552
+ label: "H5 alt属性"
40553
+ },
40554
+ input1: {
40555
+ label: "显示内容1"
40556
+ },
40557
+ input2: {
40558
+ label: "显示内容2"
40559
+ },
40560
+ jumpUrl: {
40561
+ label: "跳转链接"
40562
+ }
40563
+ }]
40564
+ }
40565
+ });
40566
+ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
40567
+ /* harmony default export */ __webpack_exports__["default"] = ({
40568
+ View,
40569
+ validateSchema,
40570
+ configDataType,
40571
+ langData,
40572
+ settings: cmsCompName => {
40573
+ return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
40574
+ cmsCompName,
40575
+ langData
40576
+ });
40577
+ }
39357
40578
  });
39358
40579
 
39359
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
39360
- var es_iterator_constructor = __webpack_require__(8111);
39361
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
39362
- var es_iterator_drop = __webpack_require__(9314);
39363
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=template&id=1955cfa4&scoped=true
40580
+ /***/ }),
39364
40581
 
40582
+ /***/ 6786:
40583
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39365
40584
 
40585
+ "use strict";
40586
+ // ESM COMPAT FLAG
40587
+ __webpack_require__.r(__webpack_exports__);
39366
40588
 
40589
+ // EXPORTS
40590
+ __webpack_require__.d(__webpack_exports__, {
40591
+ "default": function() { return /* binding */ View; }
40592
+ });
39367
40593
 
40594
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-prodCustomization/View.vue?vue&type=template&id=61a0a18c&scoped=true
39368
40595
  var render = function render() {
39369
40596
  var _vm = this,
39370
40597
  _c = _vm._self._c;
@@ -39373,567 +40600,96 @@ var render = function render() {
39373
40600
  "data": _vm.data,
39374
40601
  "nowCompId": _vm.nowCompId,
39375
40602
  "isOpcacity": _vm.isOpcacity,
39376
- "isMask": false,
39377
- "lang": _vm.lang,
39378
- "showDel": false
40603
+ "lang": _vm.lang
39379
40604
  },
39380
40605
  on: {
39381
40606
  "getConfigData": _vm.getConfigData
39382
40607
  }
39383
- }, 'BaseComp', _vm.$attrs, false), [_vm.$EventBus && _vm.isOpcacity ? _c('div', {
39384
- staticClass: "main_drag",
39385
- style: _vm.cardContainerStyle,
39386
- attrs: {
39387
- "id": `cardTarget${_vm.data.componentId}`
39388
- },
39389
- on: {
39390
- "dragover": _vm.dragover,
39391
- "drop": _vm.drop
39392
- }
39393
- }, [_c('Draggable', {
39394
- attrs: {
39395
- "chosen-class": "chosen",
39396
- "force-fallback": "true",
39397
- "animation": "1000",
39398
- "move": _vm.onMove
39399
- },
39400
- on: {
39401
- "start": _vm.onStart,
39402
- "end": function ($event) {
39403
- _vm.showAddCom = false;
39404
- }
39405
- },
39406
- model: {
39407
- value: _vm.data.childList,
39408
- callback: function ($$v) {
39409
- _vm.$set(_vm.data, "childList", $$v);
39410
- },
39411
- expression: "data.childList"
39412
- }
39413
- }, _vm._l(_vm.data.childList, function (item, index) {
40608
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
40609
+ staticClass: "cmhk-home_main"
40610
+ }, [_c('section', {
40611
+ ref: "servicePlan"
40612
+ }, [_c('div', {
40613
+ ref: "box_swiper",
40614
+ staticClass: "pub-row pub-rowflex mgrow-r16 layout-p2 layout-pc"
40615
+ }, _vm._l(_vm.configList, function (item, inx) {
39414
40616
  return _c('div', {
39415
- key: item.componentId,
39416
- staticStyle: {
39417
- "position": "relative"
40617
+ key: inx,
40618
+ staticClass: "kf-boxxx col-3 nofix-wcard pdrow-16 wow animate__fadeInUp",
40619
+ attrs: {
40620
+ "data-wow-delay": "200",
40621
+ "data-wow-iteration": "1"
39418
40622
  }
39419
40623
  }, [_c('div', {
39420
- directives: [{
39421
- name: "show",
39422
- rawName: "v-show",
39423
- value: _vm.showAddCom,
39424
- expression: "showAddCom"
39425
- }],
39426
- staticClass: "up_insert",
40624
+ staticClass: "kf-sprbox kf-blur",
40625
+ on: {
40626
+ "click": function ($event) {
40627
+ return _vm.decodeJumpUrl(item.jumpUrl);
40628
+ }
40629
+ }
40630
+ }, [_c('img', {
40631
+ staticClass: "col331-image",
39427
40632
  attrs: {
39428
- "id": `${item.componentId}-cardTargetup`
40633
+ "src": item.uploadImagePC,
40634
+ "alt": item.imagePcATL
39429
40635
  }
39430
- }, [_c('i', {
39431
- staticClass: "icon-up",
40636
+ }), item.input1 ? _c('div', {
40637
+ staticClass: "swiper-btn"
40638
+ }, [_c('span', {
40639
+ staticClass: "vm"
40640
+ }, [_vm._v(_vm._s(item.input1))]), _c('img', {
40641
+ staticClass: "icon_rarrow kf-goto vm",
39432
40642
  attrs: {
39433
- "id": `${item.componentId}-upi`
40643
+ "src": __webpack_require__(1061)
39434
40644
  }
39435
- }), _c('span', {
40645
+ })]) : _vm._e()])]);
40646
+ }), 0), _c('div', {
40647
+ staticClass: "pub-row mgrow-r16 partcontent-top layout-p2 layout-mobile pdb-44"
40648
+ }, _vm._l(_vm.configList, function (item, inx) {
40649
+ return _c('div', {
40650
+ key: inx,
40651
+ staticClass: "kf-boxxx col-3 pdrow-16 mgb-16 wow animate__fadeInUp",
39436
40652
  attrs: {
39437
- "id": `${item.componentId}-upspan`
40653
+ "data-wow-delay": "200",
40654
+ "data-wow-iteration": "1"
39438
40655
  }
39439
- }, [_vm._v("上方插入")])]), _c(item.cmsCompName, {
39440
- key: item.componentId,
39441
- tag: "component",
39442
- style: {
39443
- marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
39444
- },
40656
+ }, [_c('div', {
40657
+ staticClass: "kf-box",
40658
+ on: {
40659
+ "click": function ($event) {
40660
+ return _vm.decodeJumpUrl(item.jumpUrl);
40661
+ }
40662
+ }
40663
+ }, [_c('img', {
40664
+ staticClass: "col331-image",
39445
40665
  attrs: {
39446
- "data": item,
39447
- "lang": _vm.lang,
39448
- "nowCompId": _vm.nowCompId
40666
+ "src": item.uploadImageH5,
40667
+ "alt": item.imageH5ATL
39449
40668
  }
39450
- })], 1);
39451
- }), 0)], 1) : _c('cms-view', _vm._b({
39452
- style: _vm.cardContainerStyle,
39453
- attrs: {
39454
- "data": _vm.data.childList,
39455
- "lang": _vm.lang,
39456
- "isOpcacity": false
39457
- }
39458
- }, 'cms-view', _vm.$attrs, false))], 1);
40669
+ }), item.input1 ? _c('div', {
40670
+ staticClass: "swiper-btn"
40671
+ }, [_c('span', {
40672
+ staticClass: "vm"
40673
+ }, [_vm._v(_vm._s(item.input1))]), _c('img', {
40674
+ staticClass: "icon_rarrow kf-goto vm",
40675
+ attrs: {
40676
+ "src": __webpack_require__(1061)
40677
+ }
40678
+ })]) : _vm._e()])]);
40679
+ }), 0)])])]);
39459
40680
  };
39460
40681
  var staticRenderFns = [];
39461
40682
 
39462
- ;// ./package/cms-column-card/View.vue?vue&type=template&id=1955cfa4&scoped=true
40683
+ ;// ./package/cms-prodCustomization/View.vue?vue&type=template&id=61a0a18c&scoped=true
39463
40684
 
39464
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
39465
- var es_array_push = __webpack_require__(4114);
39466
40685
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
39467
- var baseComp = __webpack_require__(8770);
39468
- // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
39469
- var vuedraggable_umd = __webpack_require__(1527);
39470
- var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
39471
- // EXTERNAL MODULE: ./package/baseConfig.js
39472
- var baseConfig = __webpack_require__(649);
39473
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=script&lang=js
39474
-
39475
-
39476
-
39477
-
40686
+ var baseComp = __webpack_require__(537);
40687
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-prodCustomization/View.vue?vue&type=script&lang=js
39478
40688
 
39479
40689
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
39480
- name: "cms-column-card",
40690
+ name: "cms-prodCustomization",
39481
40691
  components: {
39482
- BaseComp: baseComp["default"],
39483
- Draggable: (vuedraggable_umd_default())
39484
- },
39485
- props: {
39486
- data: {
39487
- type: Object,
39488
- default: () => {
39489
- return {};
39490
- }
39491
- },
39492
- nowCompId: {
39493
- type: [String, Number],
39494
- default: ""
39495
- },
39496
- isOpcacity: {
39497
- type: Boolean,
39498
- default: true
39499
- },
39500
- lang: {
39501
- type: String,
39502
- default: "zh-HK"
39503
- }
39504
- },
39505
- data() {
39506
- return {
39507
- configData: {},
39508
- messFold: true,
39509
- showAddCom: false
39510
- };
39511
- },
39512
- computed: {
39513
- // 卡片容器样式
39514
- cardContainerStyle() {
39515
- return {
39516
- backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : 'none',
39517
- backgroundSize: 'cover',
39518
- backgroundRepeat: 'no-repeat',
39519
- backgroundPosition: 'center center',
39520
- height: this.getContainerHeight(),
39521
- border: this.getContainerBorder(),
39522
- borderRadius: this.getContainerBorderRadius(),
39523
- backgroundColor: this.configData.backgroundColor || 'transparent',
39524
- boxShadow: this.configData.boxShadow || 'none'
39525
- };
39526
- }
39527
- },
39528
- mounted() {},
39529
- watch: {},
39530
- methods: {
39531
- // 获取容器高度
39532
- getContainerHeight() {
39533
- if (this.configData.heightType === 'fixed') {
39534
- return `${this.configData.fixedHeight}px`;
39535
- }
39536
- return this.isOpcacity ? '100%' : 'auto';
39537
- },
39538
- // 获取容器边框
39539
- getContainerBorder() {
39540
- if (this.configData.borderWidth) {
39541
- return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
39542
- }
39543
- return 'none';
39544
- },
39545
- // 获取容器圆角
39546
- getContainerBorderRadius() {
39547
- if (this.configData.borderRadius) {
39548
- return `${this.configData.borderRadius}px`;
39549
- }
39550
- return '0';
39551
- },
39552
- getConfigData(configData) {
39553
- this.configData = configData;
39554
- },
39555
- foldMessText() {
39556
- this.messFold = !this.messFold;
39557
- },
39558
- decodeJumpUrl(url) {
39559
- if (!url) return;
39560
- top.location.href = url;
39561
- },
39562
- onStart(evt) {
39563
- console.log("drag start in column-card", evt);
39564
- this.showAddCom = true;
39565
- },
39566
- // 限制拖拽的组件类型
39567
- onMove(evt) {
39568
- const {
39569
- draggedContext
39570
- } = evt;
39571
-
39572
- // 允许的组件类型
39573
- const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
39574
- ];
39575
-
39576
- // 如果是从外部拖入的组件
39577
- if (draggedContext && draggedContext.element) {
39578
- const componentType = draggedContext.element.cmsCompName;
39579
- if (componentType && !allowedComponents.includes(componentType)) {
39580
- console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
39581
- return false;
39582
- }
39583
-
39584
- // 特殊处理 cms-column:检查嵌套层级
39585
- if (componentType === "cms-column") {
39586
- if (!this.checkColumnNestingLevel()) {
39587
- console.log("cms-column 嵌套层级超出限制");
39588
- return false;
39589
- }
39590
- }
39591
- }
39592
- return true;
39593
- },
39594
- // 检查 cms-column 嵌套层级
39595
- checkColumnNestingLevel() {
39596
- // 检查当前 column-card 是否已经在 cms-column 内部
39597
- let parent = this.$parent;
39598
- let columnDepth = 0;
39599
- while (parent) {
39600
- // 检查父组件是否是 cms-column 或包含 cms-column
39601
- if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
39602
- columnDepth++;
39603
- }
39604
-
39605
- // 如果已经有一层 cms-column,则不允许再嵌套
39606
- if (columnDepth >= 2) {
39607
- console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
39608
- return false;
39609
- }
39610
- parent = parent.$parent;
39611
- }
39612
- console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
39613
- return true;
39614
- },
39615
- // 处理拖拽悬停
39616
- dragover(e) {
39617
- e.preventDefault();
39618
- this.showAddCom = true;
39619
- },
39620
- // 处理拖拽放置
39621
- drop(e) {
39622
- console.log("cms-colum-card-drop");
39623
- e.preventDefault();
39624
- const componentKey = e.dataTransfer.getData("componentKey");
39625
- if (!componentKey) return;
39626
-
39627
- // 允许的组件类型
39628
- const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
39629
- ];
39630
-
39631
- // 检查组件类型是否允许
39632
- if (!allowedComponents.includes(componentKey)) {
39633
- console.log(`组件类型 ${componentKey} 不允许拖入 column-card`);
39634
- this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
39635
- this.showAddCom = false;
39636
- return;
39637
- }
39638
-
39639
- // 特殊处理 cms-column:检查嵌套层级
39640
- if (componentKey === "cms-column") {
39641
- if (!this.checkColumnNestingLevel()) {
39642
- console.log("cms-column 嵌套层级超出限制");
39643
- this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
39644
- this.showAddCom = false;
39645
- return;
39646
- }
39647
- }
39648
- this.addOneComp(e, componentKey);
39649
- },
39650
- // 添加组件到卡片容器
39651
- addOneComp(e, componentKey) {
39652
- this.showAddCom = false;
39653
- console.log("drop to column-card", componentKey);
39654
-
39655
- // 动态导入组件配置
39656
- let initCompData;
39657
- try {
39658
- initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
39659
- initCompData = {
39660
- ...initCompData,
39661
- styleConfig: {
39662
- pc: [...(0,baseConfig.styleBaseConfig)(8, 8, 0, 0, "px")],
39663
- mb: [...(0,baseConfig.styleBaseConfig)(6, 6, 0, 0, "px")]
39664
- }
39665
- };
39666
- } catch (error) {
39667
- console.error(`无法加载组件 ${componentKey}:`, error);
39668
- this.$message && this.$message.error(`组件加载失败`);
39669
- return;
39670
- }
39671
- const toElementId = e.toElement.id;
39672
- if (toElementId === `cardTarget${this.data.componentId}`) {
39673
- // 添加到卡片容器末尾
39674
- this.data.childList.push(initCompData);
39675
- } else if (toElementId.includes("cardTargetup")) {
39676
- // 插入到指定位置
39677
- const underComponentId = toElementId.split("-cardTargetup")[0];
39678
- const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
39679
- if (index !== -1) {
39680
- this.data.childList.splice(index, 0, initCompData);
39681
- }
39682
- }
39683
-
39684
- // 触发数据更新
39685
- this.$emit("update:data", this.data);
39686
- }
39687
- }
39688
- });
39689
- ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
39690
- /* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
39691
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=style&index=0&id=1955cfa4&prod&lang=scss&scoped=true
39692
- // extracted by mini-css-extract-plugin
39693
-
39694
- ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=1955cfa4&prod&lang=scss&scoped=true
39695
-
39696
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
39697
- var componentNormalizer = __webpack_require__(1656);
39698
- ;// ./package/cms-column-card/View.vue
39699
-
39700
-
39701
-
39702
- ;
39703
-
39704
-
39705
- /* normalize component */
39706
-
39707
- var component = (0,componentNormalizer/* default */.A)(
39708
- cms_column_card_Viewvue_type_script_lang_js,
39709
- render,
39710
- staticRenderFns,
39711
- false,
39712
- null,
39713
- "1955cfa4",
39714
- null
39715
-
39716
- )
39717
-
39718
- /* harmony default export */ var View = (component.exports);
39719
-
39720
- /***/ }),
39721
-
39722
- /***/ 6699:
39723
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39724
-
39725
- "use strict";
39726
-
39727
- var DESCRIPTORS = __webpack_require__(3724);
39728
- var definePropertyModule = __webpack_require__(4913);
39729
- var createPropertyDescriptor = __webpack_require__(6980);
39730
-
39731
- module.exports = DESCRIPTORS ? function (object, key, value) {
39732
- return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
39733
- } : function (object, key, value) {
39734
- object[key] = value;
39735
- return object;
39736
- };
39737
-
39738
-
39739
- /***/ }),
39740
-
39741
- /***/ 6706:
39742
- /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
39743
-
39744
- "use strict";
39745
-
39746
- var uncurryThis = __webpack_require__(9504);
39747
- var aCallable = __webpack_require__(9306);
39748
-
39749
- module.exports = function (object, key, method) {
39750
- try {
39751
- // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
39752
- return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));
39753
- } catch (error) { /* empty */ }
39754
- };
39755
-
39756
-
39757
- /***/ }),
39758
-
39759
- /***/ 6763:
39760
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39761
-
39762
- "use strict";
39763
- __webpack_require__.r(__webpack_exports__);
39764
- /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
39765
-
39766
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 4432));
39767
- const langData = {
39768
- configList: [{
39769
- id: Math.random().toString(),
39770
- uploadImageH5: "https://omniapi.hk.chinamobile.com/upload/images/omni-channel-service-console/preferential/2024-03-15/ORIGINAL_20240315173315_TRwiweWv_128x128.png",
39771
- imageH5ATL: "",
39772
- uploadImagePC: "https://omniapi.hk.chinamobile.com/upload/images/omni-channel-service-console/preferential/2024-03-15/ORIGINAL_20240315173315_TRwiweWv_128x128.png",
39773
- imagePcATL: "",
39774
- input1: "",
39775
- input2: "",
39776
- jumpUrl: "https://cdn.mylinkapp.hk/via/eshop/free-receive-card-fe/index.html?lang=tc#/webHome"
39777
- }]
39778
- };
39779
- const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
39780
- configList: {
39781
- label: "图片配置",
39782
- value: [{
39783
- id: {
39784
- label: ""
39785
- },
39786
- uploadImagePC: {
39787
- label: "上传PC图片"
39788
- },
39789
- imagePcATL: {
39790
- label: "PC alt属性"
39791
- },
39792
- uploadImageH5: {
39793
- label: "上传H5图片"
39794
- },
39795
- imageH5ATL: {
39796
- label: "H5 alt属性"
39797
- },
39798
- input1: {
39799
- label: "显示内容1"
39800
- },
39801
- input2: {
39802
- label: "显示内容2"
39803
- },
39804
- jumpUrl: {
39805
- label: "跳转链接"
39806
- }
39807
- }]
39808
- }
39809
- });
39810
- const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
39811
- /* harmony default export */ __webpack_exports__["default"] = ({
39812
- View,
39813
- validateSchema,
39814
- configDataType,
39815
- langData,
39816
- settings: cmsCompName => {
39817
- return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
39818
- cmsCompName,
39819
- langData
39820
- });
39821
- }
39822
- });
39823
-
39824
- /***/ }),
39825
-
39826
- /***/ 6786:
39827
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39828
-
39829
- "use strict";
39830
- // ESM COMPAT FLAG
39831
- __webpack_require__.r(__webpack_exports__);
39832
-
39833
- // EXPORTS
39834
- __webpack_require__.d(__webpack_exports__, {
39835
- "default": function() { return /* binding */ View; }
39836
- });
39837
-
39838
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-prodCustomization/View.vue?vue&type=template&id=61a0a18c&scoped=true
39839
- var render = function render() {
39840
- var _vm = this,
39841
- _c = _vm._self._c;
39842
- return _c('BaseComp', _vm._b({
39843
- attrs: {
39844
- "data": _vm.data,
39845
- "nowCompId": _vm.nowCompId,
39846
- "isOpcacity": _vm.isOpcacity,
39847
- "lang": _vm.lang
39848
- },
39849
- on: {
39850
- "getConfigData": _vm.getConfigData
39851
- }
39852
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
39853
- staticClass: "cmhk-home_main"
39854
- }, [_c('section', {
39855
- ref: "servicePlan"
39856
- }, [_c('div', {
39857
- ref: "box_swiper",
39858
- staticClass: "pub-row pub-rowflex mgrow-r16 layout-p2 layout-pc"
39859
- }, _vm._l(_vm.configList, function (item, inx) {
39860
- return _c('div', {
39861
- key: inx,
39862
- staticClass: "kf-boxxx col-3 nofix-wcard pdrow-16 wow animate__fadeInUp",
39863
- attrs: {
39864
- "data-wow-delay": "200",
39865
- "data-wow-iteration": "1"
39866
- }
39867
- }, [_c('div', {
39868
- staticClass: "kf-sprbox kf-blur",
39869
- on: {
39870
- "click": function ($event) {
39871
- return _vm.decodeJumpUrl(item.jumpUrl);
39872
- }
39873
- }
39874
- }, [_c('img', {
39875
- staticClass: "col331-image",
39876
- attrs: {
39877
- "src": item.uploadImagePC,
39878
- "alt": item.imagePcATL
39879
- }
39880
- }), item.input1 ? _c('div', {
39881
- staticClass: "swiper-btn"
39882
- }, [_c('span', {
39883
- staticClass: "vm"
39884
- }, [_vm._v(_vm._s(item.input1))]), _c('img', {
39885
- staticClass: "icon_rarrow kf-goto vm",
39886
- attrs: {
39887
- "src": __webpack_require__(1061)
39888
- }
39889
- })]) : _vm._e()])]);
39890
- }), 0), _c('div', {
39891
- staticClass: "pub-row mgrow-r16 partcontent-top layout-p2 layout-mobile pdb-44"
39892
- }, _vm._l(_vm.configList, function (item, inx) {
39893
- return _c('div', {
39894
- key: inx,
39895
- staticClass: "kf-boxxx col-3 pdrow-16 mgb-16 wow animate__fadeInUp",
39896
- attrs: {
39897
- "data-wow-delay": "200",
39898
- "data-wow-iteration": "1"
39899
- }
39900
- }, [_c('div', {
39901
- staticClass: "kf-box",
39902
- on: {
39903
- "click": function ($event) {
39904
- return _vm.decodeJumpUrl(item.jumpUrl);
39905
- }
39906
- }
39907
- }, [_c('img', {
39908
- staticClass: "col331-image",
39909
- attrs: {
39910
- "src": item.uploadImageH5,
39911
- "alt": item.imageH5ATL
39912
- }
39913
- }), item.input1 ? _c('div', {
39914
- staticClass: "swiper-btn"
39915
- }, [_c('span', {
39916
- staticClass: "vm"
39917
- }, [_vm._v(_vm._s(item.input1))]), _c('img', {
39918
- staticClass: "icon_rarrow kf-goto vm",
39919
- attrs: {
39920
- "src": __webpack_require__(1061)
39921
- }
39922
- })]) : _vm._e()])]);
39923
- }), 0)])])]);
39924
- };
39925
- var staticRenderFns = [];
39926
-
39927
- ;// ./package/cms-prodCustomization/View.vue?vue&type=template&id=61a0a18c&scoped=true
39928
-
39929
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
39930
- var baseComp = __webpack_require__(8770);
39931
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-prodCustomization/View.vue?vue&type=script&lang=js
39932
-
39933
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
39934
- name: "cms-prodCustomization",
39935
- components: {
39936
- BaseComp: baseComp["default"]
40692
+ BaseComp: baseComp["default"]
39937
40693
  },
39938
40694
  props: {
39939
40695
  data: {
@@ -48248,7 +49004,7 @@ var render = function render() {
48248
49004
  var staticRenderFns = [];
48249
49005
 
48250
49006
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
48251
- var baseComp = __webpack_require__(8770);
49007
+ var baseComp = __webpack_require__(537);
48252
49008
  // EXTERNAL MODULE: ./package/patch.js
48253
49009
  var patch = __webpack_require__(1618);
48254
49010
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-via-storedValueCard/View.vue?vue&type=script&lang=js
@@ -48526,420 +49282,6 @@ module.exports = function (fn) {
48526
49282
  };
48527
49283
 
48528
49284
 
48529
- /***/ }),
48530
-
48531
- /***/ 7549:
48532
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
48533
-
48534
- "use strict";
48535
- // ESM COMPAT FLAG
48536
- __webpack_require__.r(__webpack_exports__);
48537
-
48538
- // EXPORTS
48539
- __webpack_require__.d(__webpack_exports__, {
48540
- "default": function() { return /* binding */ View; }
48541
- });
48542
-
48543
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=template&id=2b086daf&scoped=true
48544
- var render = function render() {
48545
- var _vm = this,
48546
- _c = _vm._self._c;
48547
- return _c('BaseComp', _vm._b({
48548
- attrs: {
48549
- "data": _vm.data,
48550
- "nowCompId": _vm.nowCompId,
48551
- "isOpcacity": _vm.isOpcacity,
48552
- "lang": _vm.lang
48553
- },
48554
- on: {
48555
- "getConfigData": _vm.getConfigData
48556
- }
48557
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
48558
- staticClass: "cms-text-container",
48559
- class: [`align-${_vm.configData.textAlign || 'left'}`, _vm.configData.customClass || '', {
48560
- 'has-link': _vm.configData.linkUrl,
48561
- 'hover-effect': _vm.configData.hoverEffect && _vm.configData.linkUrl
48562
- }],
48563
- style: _vm.containerStyle,
48564
- attrs: {
48565
- "aria-label": _vm.configData.ariaLabel,
48566
- "tabindex": _vm.configData.tabIndex,
48567
- "role": _vm.configData.role,
48568
- "title": _vm.configData.seoTitle || _vm.configData.seoDescription
48569
- },
48570
- on: {
48571
- "click": _vm.handleClick
48572
- }
48573
- }, [_c('div', {
48574
- staticClass: "text-content",
48575
- style: _vm.textStyle
48576
- }, _vm._l(_vm.textLines, function (line, index) {
48577
- return _c('p', {
48578
- key: index,
48579
- staticClass: "text-line",
48580
- style: _vm.lineStyle
48581
- }, [_vm._v(" " + _vm._s(line) + " ")]);
48582
- }), 0), _vm.configData.linkUrl && _vm.configData.showLinkIcon ? _c('div', {
48583
- staticClass: "link-indicator"
48584
- }, [_c('i', {
48585
- staticClass: "el-icon-link"
48586
- })]) : _vm._e()])]);
48587
- };
48588
- var staticRenderFns = [];
48589
-
48590
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
48591
- var es_iterator_constructor = __webpack_require__(8111);
48592
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
48593
- var es_iterator_filter = __webpack_require__(2489);
48594
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
48595
- var es_iterator_for_each = __webpack_require__(7588);
48596
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
48597
- var baseComp = __webpack_require__(8770);
48598
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=script&lang=js
48599
-
48600
-
48601
-
48602
-
48603
-
48604
-
48605
-
48606
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
48607
- name: "cms-text",
48608
- components: {
48609
- BaseComp: baseComp["default"]
48610
- },
48611
- props: {
48612
- data: {
48613
- type: Object,
48614
- default: () => {
48615
- return {};
48616
- }
48617
- },
48618
- nowCompId: {
48619
- type: [String, Number],
48620
- default: ""
48621
- },
48622
- isOpcacity: {
48623
- type: Boolean,
48624
- default: true
48625
- },
48626
- lang: {
48627
- type: String,
48628
- default: "zh-HK"
48629
- }
48630
- },
48631
- data() {
48632
- return {
48633
- configData: {},
48634
- // 默认配置数据
48635
- defaultConfig: {
48636
- // 内容编辑
48637
- textContent: "请输入文本内容",
48638
- enableLineBreak: true,
48639
- // 排版控制
48640
- textAlign: "left",
48641
- fontSize: 16,
48642
- lineHeight: 1.5,
48643
- letterSpacing: 0,
48644
- // 样式美化
48645
- fontColor: "#333333",
48646
- fontWeight: "normal",
48647
- fontStyle: "normal",
48648
- textDecoration: "none",
48649
- fontFamily: "inherit",
48650
- // 布局设置
48651
- paddingTop: 16,
48652
- paddingBottom: 16,
48653
- paddingLeft: 16,
48654
- paddingRight: 16,
48655
- marginTop: 0,
48656
- marginBottom: 0,
48657
- marginLeft: 0,
48658
- marginRight: 0,
48659
- backgroundColor: "",
48660
- // 视觉效果
48661
- borderWidth: 0,
48662
- borderStyle: "solid",
48663
- borderColor: "#dcdfe6",
48664
- borderRadius: 0,
48665
- boxShadow: "",
48666
- // 交互功能
48667
- linkUrl: "",
48668
- linkTarget: "_self",
48669
- showLinkIcon: false,
48670
- hoverEffect: false,
48671
- // 高级配置
48672
- customClass: "",
48673
- customStyle: "",
48674
- enableAnimation: false,
48675
- animationType: "fadeIn",
48676
- animationDuration: 300,
48677
- // 可访问性配置
48678
- ariaLabel: "",
48679
- tabIndex: 0,
48680
- role: "",
48681
- // SEO配置
48682
- seoTitle: "",
48683
- seoDescription: "",
48684
- // 响应式配置
48685
- mobileTextAlign: "",
48686
- mobileFontSize: 0,
48687
- tabletFontSize: 0
48688
- }
48689
- };
48690
- },
48691
- mounted() {
48692
- this.initConfigData();
48693
- this.setCSSVariables();
48694
- },
48695
- watch: {
48696
- configData: {
48697
- handler() {
48698
- this.updateStyles();
48699
- },
48700
- deep: true
48701
- }
48702
- },
48703
- computed: {
48704
- // 文本行数组(支持换行)
48705
- textLines() {
48706
- if (!this.configData.textContent) return [];
48707
- if (!this.configData.enableLineBreak) {
48708
- return [this.configData.textContent];
48709
- }
48710
- return this.configData.textContent.split("\n").filter(line => line.trim() !== "");
48711
- },
48712
- // 容器样式
48713
- containerStyle() {
48714
- const config = {
48715
- ...this.defaultConfig,
48716
- ...this.configData
48717
- };
48718
- return {
48719
- padding: `${config.paddingTop}px ${config.paddingRight}px ${config.paddingBottom}px ${config.paddingLeft}px`,
48720
- margin: `${config.marginTop}px ${config.marginRight}px ${config.marginBottom}px ${config.marginLeft}px`,
48721
- backgroundColor: config.backgroundColor || "transparent",
48722
- border: config.borderWidth ? `${config.borderWidth}px ${config.borderStyle} ${config.borderColor}` : "none",
48723
- borderRadius: `${config.borderRadius}px`,
48724
- boxShadow: config.boxShadow || "none",
48725
- cursor: config.linkUrl ? "pointer" : "default",
48726
- transition: config.hoverEffect ? "all 0.3s ease" : "none",
48727
- animation: config.enableAnimation ? this.getAnimationStyle() : "none",
48728
- ...this.parseCustomStyle(config.customStyle)
48729
- };
48730
- },
48731
- // 文本样式
48732
- textStyle() {
48733
- const config = {
48734
- ...this.defaultConfig,
48735
- ...this.configData
48736
- };
48737
- return {
48738
- color: config.fontColor,
48739
- fontSize: `${config.fontSize}px`,
48740
- fontWeight: config.fontWeight,
48741
- fontStyle: config.fontStyle,
48742
- textDecoration: config.textDecoration,
48743
- fontFamily: config.fontFamily,
48744
- lineHeight: config.lineHeight,
48745
- letterSpacing: `${config.letterSpacing}px`,
48746
- textAlign: config.textAlign,
48747
- wordBreak: "break-word",
48748
- wordWrap: "break-word",
48749
- cursor: config.linkUrl ? "pointer" : "default"
48750
- };
48751
- },
48752
- // 行样式
48753
- lineStyle() {
48754
- return {
48755
- margin: "0",
48756
- padding: "0"
48757
- };
48758
- }
48759
- },
48760
- methods: {
48761
- // 初始化配置数据
48762
- initConfigData() {
48763
- this.configData = {
48764
- ...this.defaultConfig,
48765
- ...this.configData
48766
- };
48767
- },
48768
- // 获取配置数据
48769
- getConfigData(configData) {
48770
- this.configData = {
48771
- ...this.defaultConfig,
48772
- ...configData
48773
- };
48774
- this.updateStyles();
48775
- },
48776
- // 更新样式
48777
- updateStyles() {
48778
- this.$nextTick(() => {
48779
- this.setCSSVariables();
48780
- this.$forceUpdate();
48781
- });
48782
- },
48783
- // 设置CSS变量
48784
- setCSSVariables() {
48785
- if (!this.$el) return;
48786
- const config = {
48787
- ...this.defaultConfig,
48788
- ...this.configData
48789
- };
48790
-
48791
- // 设置响应式字体大小
48792
- if (config.mobileFontSize > 0) {
48793
- this.$el.style.setProperty("--mobile-font-size", `${config.mobileFontSize}px`);
48794
- }
48795
- if (config.tabletFontSize > 0) {
48796
- this.$el.style.setProperty("--tablet-font-size", `${config.tabletFontSize}px`);
48797
- }
48798
-
48799
- // 设置移动端文本对齐
48800
- if (config.mobileTextAlign) {
48801
- this.$el.style.setProperty("--mobile-text-align", config.mobileTextAlign);
48802
- }
48803
- },
48804
- // 处理点击事件
48805
- handleClick() {
48806
- if (this.configData.linkUrl) {
48807
- const target = this.configData.linkTarget || "_self";
48808
- if (target === "_blank") {
48809
- window.open(this.configData.linkUrl, "_blank");
48810
- } else {
48811
- window.location.href = this.configData.linkUrl;
48812
- }
48813
- }
48814
- },
48815
- // 获取动画样式
48816
- getAnimationStyle() {
48817
- const animationType = this.configData.animationType || this.defaultConfig.animationType;
48818
- const duration = this.configData.animationDuration || this.defaultConfig.animationDuration;
48819
- if (!this.configData.enableAnimation || animationType === "none") return "";
48820
- return `${animationType} ${duration}ms ease-in-out`;
48821
- },
48822
- // 解析自定义样式
48823
- parseCustomStyle(customStyle) {
48824
- if (!customStyle) return {};
48825
- try {
48826
- // 简单的CSS样式解析
48827
- const styles = {};
48828
- const declarations = customStyle.split(";");
48829
- declarations.forEach(declaration => {
48830
- const [property, value] = declaration.split(":");
48831
- if (property && value) {
48832
- const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
48833
- styles[camelCaseProperty] = value.trim();
48834
- }
48835
- });
48836
- return styles;
48837
- } catch (error) {
48838
- console.warn("解析自定义样式失败:", error);
48839
- return {};
48840
- }
48841
- },
48842
- // 文本内容验证
48843
- validateTextContent() {
48844
- const content = this.configData.textContent;
48845
- if (!content || content.trim() === "") {
48846
- console.warn("文本内容为空");
48847
- return false;
48848
- }
48849
- return true;
48850
- },
48851
- // 获取纯文本内容
48852
- getPlainTextContent() {
48853
- return this.configData.textContent || "";
48854
- },
48855
- // 获取文本长度
48856
- getTextLength() {
48857
- return this.getPlainTextContent().length;
48858
- },
48859
- // 复制文本内容到剪贴板
48860
- copyTextToClipboard() {
48861
- const text = this.getPlainTextContent();
48862
- if (navigator.clipboard && window.isSecureContext) {
48863
- navigator.clipboard.writeText(text).then(() => {
48864
- var _this$$message;
48865
- (_this$$message = this.$message) === null || _this$$message === void 0 ? void 0 : _this$$message.success("文本已复制到剪贴板");
48866
- }).catch(err => {
48867
- console.error("复制失败:", err);
48868
- });
48869
- } else {
48870
- // 降级方案
48871
- const textArea = document.createElement("textarea");
48872
- textArea.value = text;
48873
- document.body.appendChild(textArea);
48874
- textArea.select();
48875
- try {
48876
- var _this$$message2;
48877
- document.execCommand("copy");
48878
- (_this$$message2 = this.$message) === null || _this$$message2 === void 0 ? void 0 : _this$$message2.success("文本已复制到剪贴板");
48879
- } catch (err) {
48880
- console.error("复制失败:", err);
48881
- }
48882
- document.body.removeChild(textArea);
48883
- }
48884
- },
48885
- // 文本搜索高亮
48886
- highlightText(searchTerm) {
48887
- if (!searchTerm) return;
48888
- const content = this.getPlainTextContent();
48889
- const regex = new RegExp(`(${searchTerm})`, "gi");
48890
- const highlightedContent = content.replace(regex, "<mark>$1</mark>");
48891
-
48892
- // 这里可以根据需要实现高亮显示逻辑
48893
- console.log("高亮内容:", highlightedContent);
48894
- },
48895
- // 文本统计信息
48896
- getTextStats() {
48897
- const text = this.getPlainTextContent();
48898
- const words = text.split(/\s+/).filter(word => word.length > 0);
48899
- const lines = text.split("\n").length;
48900
- const characters = text.length;
48901
- const charactersNoSpaces = text.replace(/\s/g, "").length;
48902
- return {
48903
- characters,
48904
- charactersNoSpaces,
48905
- words: words.length,
48906
- lines,
48907
- paragraphs: text.split(/\n\s*\n/).filter(p => p.trim().length > 0).length
48908
- };
48909
- }
48910
- }
48911
- });
48912
- ;// ./package/cms-text/View.vue?vue&type=script&lang=js
48913
- /* harmony default export */ var cms_text_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
48914
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=style&index=0&id=2b086daf&prod&lang=scss&scoped=true
48915
- // extracted by mini-css-extract-plugin
48916
-
48917
- ;// ./package/cms-text/View.vue?vue&type=style&index=0&id=2b086daf&prod&lang=scss&scoped=true
48918
-
48919
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
48920
- var componentNormalizer = __webpack_require__(1656);
48921
- ;// ./package/cms-text/View.vue
48922
-
48923
-
48924
-
48925
- ;
48926
-
48927
-
48928
- /* normalize component */
48929
-
48930
- var component = (0,componentNormalizer/* default */.A)(
48931
- cms_text_Viewvue_type_script_lang_js,
48932
- render,
48933
- staticRenderFns,
48934
- false,
48935
- null,
48936
- "2b086daf",
48937
- null
48938
-
48939
- )
48940
-
48941
- /* harmony default export */ var View = (component.exports);
48942
-
48943
49285
  /***/ }),
48944
49286
 
48945
49287
  /***/ 7551:
@@ -49026,7 +49368,7 @@ __webpack_require__.r(__webpack_exports__);
49026
49368
 
49027
49369
  const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 3411));
49028
49370
  const langData = {
49029
- input1: ""
49371
+ input1: "请输入富文本内容"
49030
49372
  };
49031
49373
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
49032
49374
  input1: {
@@ -49483,7 +49825,7 @@ var render = function render() {
49483
49825
  var staticRenderFns = [];
49484
49826
 
49485
49827
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
49486
- var baseComp = __webpack_require__(8770);
49828
+ var baseComp = __webpack_require__(537);
49487
49829
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-productDetails/View.vue?vue&type=script&lang=js
49488
49830
 
49489
49831
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -49733,7 +50075,7 @@ var swiper = __webpack_require__(2791);
49733
50075
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
49734
50076
  var swiper_esm_bundle = __webpack_require__(4418);
49735
50077
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
49736
- var baseComp = __webpack_require__(8770);
50078
+ var baseComp = __webpack_require__(537);
49737
50079
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-threeScroll/View.vue?vue&type=script&lang=js
49738
50080
 
49739
50081
 
@@ -49919,7 +50261,7 @@ var swiper = __webpack_require__(2791);
49919
50261
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
49920
50262
  var swiper_esm_bundle = __webpack_require__(4418);
49921
50263
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
49922
- var baseComp = __webpack_require__(8770);
50264
+ var baseComp = __webpack_require__(537);
49923
50265
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-termsAndConditions/View.vue?vue&type=script&lang=js
49924
50266
 
49925
50267
 
@@ -50135,7 +50477,7 @@ var render = function render() {
50135
50477
  var staticRenderFns = [];
50136
50478
 
50137
50479
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50138
- var baseComp = __webpack_require__(8770);
50480
+ var baseComp = __webpack_require__(537);
50139
50481
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-titleCenter/View.vue?vue&type=script&lang=js
50140
50482
 
50141
50483
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -50621,11 +50963,25 @@ function updateDefaultConfig(data) {
50621
50963
  data
50622
50964
  });
50623
50965
  }
50966
+ function omniHeartbeat(data) {
50967
+ return request({
50968
+ method: "post",
50969
+ url: "/omni-channel-service-console/rest/workBench/keepAlive",
50970
+ data
50971
+ });
50972
+ }
50973
+ function emallHeartbeat(data) {
50974
+ return request({
50975
+ method: "post",
50976
+ url: "/ecosp-console/workbench/keepAlive",
50977
+ data
50978
+ });
50979
+ }
50624
50980
  // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
50625
50981
  var lib = __webpack_require__(9122);
50626
50982
  var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
50627
50983
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50628
- var baseComp = __webpack_require__(8770);
50984
+ var baseComp = __webpack_require__(537);
50629
50985
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-proCard/View.vue?vue&type=script&lang=js
50630
50986
 
50631
50987
 
@@ -50965,7 +51321,7 @@ var render = function render() {
50965
51321
  var staticRenderFns = [];
50966
51322
 
50967
51323
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50968
- var baseComp = __webpack_require__(8770);
51324
+ var baseComp = __webpack_require__(537);
50969
51325
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-iconFour/View.vue?vue&type=script&lang=js
50970
51326
 
50971
51327
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -51170,7 +51526,7 @@ var swiper = __webpack_require__(2791);
51170
51526
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
51171
51527
  var swiper_esm_bundle = __webpack_require__(4418);
51172
51528
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51173
- var baseComp = __webpack_require__(8770);
51529
+ var baseComp = __webpack_require__(537);
51174
51530
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-imgFour/View.vue?vue&type=script&lang=js
51175
51531
 
51176
51532
 
@@ -51364,7 +51720,7 @@ var staticRenderFns = [];
51364
51720
  ;// ./package/cms-activityTime/View.vue?vue&type=template&id=0e496ed4&scoped=true
51365
51721
 
51366
51722
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51367
- var baseComp = __webpack_require__(8770);
51723
+ var baseComp = __webpack_require__(537);
51368
51724
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-activityTime/View.vue?vue&type=script&lang=js
51369
51725
 
51370
51726
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -51821,254 +52177,6 @@ module.exports = function intersection(other) {
51821
52177
  };
51822
52178
 
51823
52179
 
51824
- /***/ }),
51825
-
51826
- /***/ 8770:
51827
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
51828
-
51829
- "use strict";
51830
- // ESM COMPAT FLAG
51831
- __webpack_require__.r(__webpack_exports__);
51832
-
51833
- // EXPORTS
51834
- __webpack_require__.d(__webpack_exports__, {
51835
- "default": function() { return /* binding */ baseComp; }
51836
- });
51837
-
51838
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/baseComp.vue?vue&type=template&id=aaf8528c&scoped=true
51839
- var render = function render() {
51840
- var _vm = this,
51841
- _c = _vm._self._c;
51842
- return _vm.$EventBus && _vm.isOpcacity ? _c('div', {
51843
- key: _vm.data.componentId,
51844
- class: [_vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? 'highLight' : ''],
51845
- style: _vm.showStyleConfig,
51846
- on: {
51847
- "click": function ($event) {
51848
- $event.stopPropagation();
51849
- return _vm.handleNowComp.apply(null, arguments);
51850
- }
51851
- }
51852
- }, [_c('div', {
51853
- staticClass: "mask-wrap"
51854
- }, [_vm._t("default"), _vm.isMask ? _c('div', {
51855
- staticClass: "mask",
51856
- on: {
51857
- "click": _vm.handleNowComp
51858
- }
51859
- }) : _vm._e()], 2), _vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId && _vm.showDel ? _c('div', {
51860
- staticClass: "com-delete"
51861
- }, [_c('i', {
51862
- staticClass: "el-icon-delete",
51863
- on: {
51864
- "click": function ($event) {
51865
- $event.stopPropagation();
51866
- return _vm.delComp.apply(null, arguments);
51867
- }
51868
- }
51869
- })]) : _vm._e()]) : _vm.showSlot ? _c('div', {
51870
- key: _vm.data.componentId,
51871
- ref: "targetElement",
51872
- style: _vm.showStyleConfig
51873
- }, [_vm._t("default")], 2) : _vm._e();
51874
- };
51875
- var staticRenderFns = [];
51876
-
51877
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
51878
- var es_iterator_constructor = __webpack_require__(8111);
51879
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
51880
- var es_iterator_reduce = __webpack_require__(8237);
51881
- // EXTERNAL MODULE: ./package/patch.js
51882
- var patch = __webpack_require__(1618);
51883
- // EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js
51884
- var dayjs_min = __webpack_require__(1576);
51885
- var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
51886
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/baseComp.vue?vue&type=script&lang=js
51887
-
51888
-
51889
-
51890
-
51891
- // 待办:判断移动pc端填充不同的样式
51892
-
51893
-
51894
- /* harmony default export */ var baseCompvue_type_script_lang_js = ({
51895
- name: "baseComp",
51896
- props: {
51897
- data: {
51898
- type: Object,
51899
- default: () => {
51900
- return {};
51901
- }
51902
- },
51903
- nowCompId: {
51904
- type: [String, Number],
51905
- default: ""
51906
- },
51907
- isOpcacity: {
51908
- type: Boolean,
51909
- default: true
51910
- },
51911
- isMask: {
51912
- type: Boolean,
51913
- default: true
51914
- },
51915
- lang: {
51916
- type: String,
51917
- default: "zh-HK"
51918
- },
51919
- timeline: {
51920
- type: String,
51921
- default: ""
51922
- },
51923
- cmhkChannel: {
51924
- type: String,
51925
- default: "WWW"
51926
- },
51927
- showDel: {
51928
- type: Boolean,
51929
- default: true
51930
- }
51931
- },
51932
- data() {
51933
- return {
51934
- styleConfig_mb: {},
51935
- styleConfig_pc: {},
51936
- configData: {},
51937
- elementWidth: 0,
51938
- resizeObserver: null
51939
- };
51940
- },
51941
- watch: {
51942
- data: {
51943
- handler(val) {
51944
- this.getStyleConfig(val, "pc");
51945
- this.getStyleConfig(val, "mb");
51946
- this.getValue(this.lang);
51947
- },
51948
- deep: true,
51949
- immediate: true
51950
- },
51951
- lang: {
51952
- handler(val) {
51953
- this.getValue(val);
51954
- },
51955
- deep: true,
51956
- immediate: true
51957
- }
51958
- },
51959
- mounted() {
51960
- if (this.$EventBus && this.isOpcacity) {
51961
- this.elementWidth = 800;
51962
- this.$EventBus.$on("handleDeviceChange", isMobile => {
51963
- this.elementWidth = isMobile ? 700 : 800;
51964
- });
51965
- } else if (this.showSlot) {
51966
- this.resizeObserver = new ResizeObserver(entries => {
51967
- for (let entry of entries) {
51968
- this.elementWidth = entry.contentRect.width;
51969
- // 可以在这里触发自定义逻辑
51970
- // this.onWidthChange(this.elementWidth);
51971
- }
51972
- });
51973
- const element = document.getElementById("app");
51974
- this.resizeObserver.observe(element);
51975
- }
51976
- },
51977
- beforeDestroy() {
51978
- // 组件销毁时停止观察
51979
- if (this.resizeObserver) {
51980
- this.resizeObserver.disconnect();
51981
- }
51982
- },
51983
- methods: {
51984
- onWidthChange(newWidth) {
51985
- console.log("新宽度:", newWidth, this.isMobile);
51986
- },
51987
- getValue(cur_lang) {
51988
- var _this$data, _this$data$settings;
51989
- const obj = {
51990
- "zh-CN": "lang_sc",
51991
- "zh-HK": "lang_tc",
51992
- "en-US": "lang_en"
51993
- };
51994
- if ((_this$data = this.data) !== null && _this$data !== void 0 && (_this$data$settings = _this$data.settings) !== null && _this$data$settings !== void 0 && _this$data$settings.settings) {
51995
- const baseInfo = (0,patch.transfor)(this.data);
51996
- this.configData = baseInfo.contentConfig.lang_all ? baseInfo.contentConfig.lang_all : baseInfo.contentConfig[`${obj[cur_lang]}`];
51997
- } else {
51998
- this.configData = this.data.contentConfig.lang_all ? this.data.contentConfig.lang_all : this.data.contentConfig[`${obj[cur_lang]}`];
51999
- }
52000
- this.$emit("getConfigData", this.configData);
52001
- },
52002
- getStyleConfig(data, type) {
52003
- this[`styleConfig_${type}`] = data.styleConfig[type].reduce((pre, cur) => {
52004
- pre[cur.key] = cur.value + cur.unit;
52005
- return pre;
52006
- }, {});
52007
- },
52008
- handleNowComp() {
52009
- if (!this.isOpcacity) return;
52010
- this.$EventBus.$emit("handleNowComp", this.data);
52011
- },
52012
- delComp() {
52013
- this.$EventBus.$emit("handleDeleteComp", this.data.componentId);
52014
- }
52015
- },
52016
- computed: {
52017
- showStyleConfig() {
52018
- if (!this.elementWidth) return {};
52019
- return this.isMobile ? this.styleConfig_mb : this.styleConfig_pc;
52020
- },
52021
- isMobile() {
52022
- return this.elementWidth < 760;
52023
- },
52024
- showSlot() {
52025
- const {
52026
- cmhkChannelConfList = [],
52027
- startTime = "",
52028
- endTime = ""
52029
- } = this.data.baseConfig;
52030
- console.log("this.cmhkChannel", this.cmhkChannel, this.data.baseConfig);
52031
- const channelVisable = cmhkChannelConfList.includes("ALL") || cmhkChannelConfList.includes(this.cmhkChannel);
52032
- if (!channelVisable) return false;
52033
- if (!startTime && !endTime) return true;
52034
- const currentTime = this.timeline ? dayjs_min_default()(this.timeline) : dayjs_min_default()();
52035
- const isStart = startTime ? dayjs_min_default()(currentTime).isAfter(dayjs_min_default()(startTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(startTime)) : true;
52036
- const isEnd = endTime ? dayjs_min_default()(currentTime).isBefore(dayjs_min_default()(endTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(endTime)) : true;
52037
- return isStart && isEnd;
52038
- }
52039
- }
52040
- });
52041
- ;// ./package/baseComp.vue?vue&type=script&lang=js
52042
- /* harmony default export */ var package_baseCompvue_type_script_lang_js = (baseCompvue_type_script_lang_js);
52043
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/baseComp.vue?vue&type=style&index=0&id=aaf8528c&prod&lang=scss&scoped=true
52044
- // extracted by mini-css-extract-plugin
52045
-
52046
- ;// ./package/baseComp.vue?vue&type=style&index=0&id=aaf8528c&prod&lang=scss&scoped=true
52047
-
52048
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
52049
- var componentNormalizer = __webpack_require__(1656);
52050
- ;// ./package/baseComp.vue
52051
-
52052
-
52053
-
52054
- ;
52055
-
52056
-
52057
- /* normalize component */
52058
-
52059
- var component = (0,componentNormalizer/* default */.A)(
52060
- package_baseCompvue_type_script_lang_js,
52061
- render,
52062
- staticRenderFns,
52063
- false,
52064
- null,
52065
- "aaf8528c",
52066
- null
52067
-
52068
- )
52069
-
52070
- /* harmony default export */ var baseComp = (component.exports);
52071
-
52072
52180
  /***/ }),
52073
52181
 
52074
52182
  /***/ 8773:
@@ -52516,7 +52624,7 @@ var render = function render() {
52516
52624
  var staticRenderFns = [];
52517
52625
 
52518
52626
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
52519
- var baseComp = __webpack_require__(8770);
52627
+ var baseComp = __webpack_require__(537);
52520
52628
  // EXTERNAL MODULE: ./src/utils/request.js + 2 modules
52521
52629
  var utils_request = __webpack_require__(1564);
52522
52630
  ;// ./src/api/servePlan.js
@@ -52754,6 +52862,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
52754
52862
  widthValue: {
52755
52863
  label: "宽度数值",
52756
52864
  widgetType: "el-input-number",
52865
+ size: "small",
52757
52866
  min: 1,
52758
52867
  max: 2000,
52759
52868
  step: 1,
@@ -52776,6 +52885,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
52776
52885
  heightValue: {
52777
52886
  label: "高度数值",
52778
52887
  widgetType: "el-input-number",
52888
+ size: "small",
52779
52889
  min: 1,
52780
52890
  max: 2000,
52781
52891
  step: 1,
@@ -52784,6 +52894,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
52784
52894
  maxWidth: {
52785
52895
  label: "最大宽度(px)",
52786
52896
  widgetType: "el-input-number",
52897
+ size: "small",
52787
52898
  min: 0,
52788
52899
  max: 2000,
52789
52900
  step: 1,
@@ -52792,6 +52903,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
52792
52903
  maxHeight: {
52793
52904
  label: "最大高度(px)",
52794
52905
  widgetType: "el-input-number",
52906
+ size: "small",
52795
52907
  min: 0,
52796
52908
  max: 2000,
52797
52909
  step: 1,
@@ -52801,6 +52913,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
52801
52913
  borderRadius: {
52802
52914
  label: "圆角(px)",
52803
52915
  widgetType: "el-input-number",
52916
+ size: "small",
52804
52917
  min: 0,
52805
52918
  max: 100,
52806
52919
  step: 1
@@ -52841,23 +52954,24 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
52841
52954
  label: "新窗口",
52842
52955
  value: "_blank"
52843
52956
  }]
52844
- },
52845
- // 高级配置
52846
- customClass: {
52847
- label: "自定义CSS类",
52848
- widgetType: "el-input",
52849
- placeholder: "请输入CSS类名"
52850
- },
52851
- customStyle: {
52852
- label: "自定义样式",
52853
- widgetType: "el-input",
52854
- type: "textarea",
52855
- placeholder: "请输入CSS样式,如: box-shadow: 0 2px 4px rgba(0,0,0,0.1);"
52856
- },
52857
- lazyLoad: {
52858
- label: "懒加载",
52859
- widgetType: "el-switch"
52860
52957
  }
52958
+
52959
+ // // 高级配置
52960
+ // customClass: {
52961
+ // label: "自定义CSS类",
52962
+ // widgetType: "el-input",
52963
+ // placeholder: "请输入CSS类名"
52964
+ // },
52965
+ // customStyle: {
52966
+ // label: "自定义样式",
52967
+ // widgetType: "el-input",
52968
+ // type: "textarea",
52969
+ // placeholder: "请输入CSS样式,如: box-shadow: 0 2px 4px rgba(0,0,0,0.1);"
52970
+ // },
52971
+ // lazyLoad: {
52972
+ // label: "懒加载",
52973
+ // widgetType: "el-switch"
52974
+ // }
52861
52975
  });
52862
52976
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
52863
52977
  /* harmony default export */ __webpack_exports__["default"] = ({
@@ -53063,7 +53177,7 @@ var render = function render() {
53063
53177
  var staticRenderFns = [];
53064
53178
 
53065
53179
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
53066
- var baseComp = __webpack_require__(8770);
53180
+ var baseComp = __webpack_require__(537);
53067
53181
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
53068
53182
  var jumpUrl = __webpack_require__(813);
53069
53183
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-titleLeft/View.vue?vue&type=script&setup=true&lang=js
@@ -53325,287 +53439,6 @@ module.exports = function sign(number) {
53325
53439
 
53326
53440
  /***/ }),
53327
53441
 
53328
- /***/ 9279:
53329
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
53330
-
53331
- "use strict";
53332
- // ESM COMPAT FLAG
53333
- __webpack_require__.r(__webpack_exports__);
53334
-
53335
- // EXPORTS
53336
- __webpack_require__.d(__webpack_exports__, {
53337
- "default": function() { return /* binding */ View; }
53338
- });
53339
-
53340
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=template&id=4daf3f78&scoped=true
53341
- var render = function render() {
53342
- var _vm = this,
53343
- _c = _vm._self._c;
53344
- return _c('BaseComp', _vm._b({
53345
- attrs: {
53346
- "data": _vm.data,
53347
- "nowCompId": _vm.nowCompId,
53348
- "isOpcacity": _vm.isOpcacity,
53349
- "isMask": false,
53350
- "lang": _vm.lang
53351
- },
53352
- on: {
53353
- "getConfigData": _vm.getConfigData
53354
- }
53355
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
53356
- class: _vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main',
53357
- style: _vm.containerStyle
53358
- }, [_c('div', {
53359
- staticClass: "column-setting",
53360
- class: [`layout-${_vm.configData.layoutType || 'default'}`, `mobile-${_vm.configData.mobileLayout || 'vertical'}`],
53361
- style: _vm.columnStyle
53362
- }, _vm._l(_vm.data.childList, function (item, index) {
53363
- return _c('cms-column-card', {
53364
- key: item.componentId,
53365
- class: _vm.getColumnItemClass(index),
53366
- style: _vm.getColumnItemStyle(index),
53367
- attrs: {
53368
- "data": item,
53369
- "nowCompId": _vm.nowCompId,
53370
- "isOpcacity": _vm.isOpcacity,
53371
- "isMask": false,
53372
- "lang": _vm.lang
53373
- }
53374
- });
53375
- }), 1)])]);
53376
- };
53377
- var staticRenderFns = [];
53378
-
53379
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
53380
- var baseComp = __webpack_require__(8770);
53381
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=script&lang=js
53382
-
53383
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
53384
- name: "cms-column",
53385
- components: {
53386
- BaseComp: baseComp["default"]
53387
- },
53388
- props: {
53389
- data: {
53390
- type: Object,
53391
- default: () => {
53392
- return {};
53393
- }
53394
- },
53395
- nowCompId: {
53396
- type: [String, Number],
53397
- default: ""
53398
- },
53399
- isOpcacity: {
53400
- type: Boolean,
53401
- default: true
53402
- },
53403
- lang: {
53404
- type: String,
53405
- default: "zh-HK"
53406
- }
53407
- },
53408
- data() {
53409
- return {
53410
- configData: {},
53411
- messFold: true,
53412
- // 默认配置数据
53413
- defaultConfig: {
53414
- layoutType: "100",
53415
- heightType: "auto",
53416
- widthType: "auto",
53417
- mobileLayout: "vertical",
53418
- fixedHeight: 300,
53419
- borderWidth: 0,
53420
- borderStyle: "solid",
53421
- borderColor: "#409eff",
53422
- backgroundColor: "",
53423
- backgroundImage: "",
53424
- boxShadow: "",
53425
- borderRadius: 0,
53426
- columnGap: 0,
53427
- rowGap: 0,
53428
- title: "",
53429
- description: "",
53430
- input1: "",
53431
- showTitle: true,
53432
- showDescription: true,
53433
- animationDuration: 300,
53434
- responsiveBreakpoint: 768
53435
- }
53436
- };
53437
- },
53438
- mounted() {
53439
- this.initConfigData();
53440
- // 添加窗口大小变化监听
53441
- window.addEventListener("resize", this.handleResize);
53442
- this.handleResize(); // 初始化时执行一次
53443
- },
53444
- beforeDestroy() {
53445
- // 移除事件监听
53446
- window.removeEventListener("resize", this.handleResize);
53447
- },
53448
- watch: {
53449
- configData: {
53450
- handler() {
53451
- this.updateStyles();
53452
- },
53453
- deep: true
53454
- }
53455
- },
53456
- computed: {
53457
- // 容器样式
53458
- containerStyle() {
53459
- return {
53460
- backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
53461
- backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
53462
- backgroundSize: "cover",
53463
- backgroundRepeat: "no-repeat",
53464
- backgroundPosition: "center center",
53465
- boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
53466
- borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
53467
- minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
53468
- };
53469
- },
53470
- // 分栏容器样式
53471
- columnStyle() {
53472
- // const gap = this.configData.rowGap || this.defaultConfig.rowGap;
53473
- return {
53474
- // gap: `${gap}px`,
53475
- border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
53476
- };
53477
- }
53478
- },
53479
- methods: {
53480
- // 初始化配置数据
53481
- initConfigData() {
53482
- // 合并默认配置和传入配置
53483
- this.configData = {
53484
- ...this.defaultConfig,
53485
- ...this.configData
53486
- };
53487
- },
53488
- // 获取配置数据
53489
- getConfigData(configData) {
53490
- this.configData = {
53491
- ...this.defaultConfig,
53492
- ...configData
53493
- };
53494
- this.updateStyles();
53495
- },
53496
- // 更新样式
53497
- updateStyles() {
53498
- this.$nextTick(() => {
53499
- // 触发样式更新
53500
- this.$forceUpdate();
53501
- });
53502
- },
53503
- // 获取分栏项的类名
53504
- getColumnItemClass(index) {
53505
- const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
53506
- return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
53507
- "min-h": this.$EventBus && this.isOpcacity,
53508
- "first-item": index === 0,
53509
- "last-item": index === this.data.childList.length - 1
53510
- }];
53511
- },
53512
- // 获取分栏项的样式
53513
- getColumnItemStyle(index) {
53514
- const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
53515
- const gap = this.configData.rowGap || this.defaultConfig.rowGap;
53516
- let flexBasis = "100%";
53517
- let marginRight = "0";
53518
-
53519
- // 根据布局类型设置宽度
53520
- switch (layoutType) {
53521
- case "50-50":
53522
- flexBasis = `calc(50% - ${gap / 2}px)`;
53523
- marginRight = index % 2 === 0 ? `${gap}px` : "0";
53524
- break;
53525
- case "33-66":
53526
- flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
53527
- marginRight = index === 0 ? `${gap}px` : "0";
53528
- break;
53529
- case "66-33":
53530
- flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
53531
- marginRight = index === 0 ? `${gap}px` : "0";
53532
- break;
53533
- case "33-33-33":
53534
- flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
53535
- marginRight = index < 2 ? `${gap}px` : "0";
53536
- break;
53537
- case "25-50-25":
53538
- if (index === 0 || index === 2) {
53539
- flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
53540
- } else {
53541
- flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
53542
- }
53543
- marginRight = index < 2 ? `${gap}px` : "0";
53544
- break;
53545
- default:
53546
- flexBasis = "100%";
53547
- }
53548
- return {
53549
- flexBasis,
53550
- marginRight,
53551
- marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
53552
- };
53553
- },
53554
- // 折叠/展开文本
53555
- foldMessText() {
53556
- this.messFold = !this.messFold;
53557
- },
53558
- // 处理跳转链接
53559
- decodeJumpUrl(url) {
53560
- if (!url) return;
53561
- top.location.href = url;
53562
- },
53563
- // 响应式处理
53564
- handleResize() {
53565
- const breakpoint = this.configData.responsiveBreakpoint || this.defaultConfig.responsiveBreakpoint;
53566
- const isMobile = window.innerWidth <= breakpoint;
53567
- if (isMobile && this.configData.mobileLayout === "vertical") {
53568
- // 移动端垂直布局处理
53569
- this.$el.classList.add("mobile-vertical");
53570
- } else {
53571
- this.$el.classList.remove("mobile-vertical");
53572
- }
53573
- }
53574
- }
53575
- });
53576
- ;// ./package/cms-column/View.vue?vue&type=script&lang=js
53577
- /* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
53578
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=style&index=0&id=4daf3f78&prod&lang=scss&scoped=true
53579
- // extracted by mini-css-extract-plugin
53580
-
53581
- ;// ./package/cms-column/View.vue?vue&type=style&index=0&id=4daf3f78&prod&lang=scss&scoped=true
53582
-
53583
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
53584
- var componentNormalizer = __webpack_require__(1656);
53585
- ;// ./package/cms-column/View.vue
53586
-
53587
-
53588
-
53589
- ;
53590
-
53591
-
53592
- /* normalize component */
53593
-
53594
- var component = (0,componentNormalizer/* default */.A)(
53595
- cms_column_Viewvue_type_script_lang_js,
53596
- render,
53597
- staticRenderFns,
53598
- false,
53599
- null,
53600
- "4daf3f78",
53601
- null
53602
-
53603
- )
53604
-
53605
- /* harmony default export */ var View = (component.exports);
53606
-
53607
- /***/ }),
53608
-
53609
53442
  /***/ 9286:
53610
53443
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
53611
53444
 
@@ -54017,7 +53850,7 @@ var render = function render() {
54017
53850
  var staticRenderFns = [];
54018
53851
 
54019
53852
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
54020
- var baseComp = __webpack_require__(8770);
53853
+ var baseComp = __webpack_require__(537);
54021
53854
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-servePlan-text/View.vue?vue&type=script&lang=js
54022
53855
 
54023
53856
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -54922,7 +54755,7 @@ var render = function render() {
54922
54755
  var staticRenderFns = [];
54923
54756
 
54924
54757
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
54925
- var baseComp = __webpack_require__(8770);
54758
+ var baseComp = __webpack_require__(537);
54926
54759
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-lineFour/View.vue?vue&type=script&lang=js
54927
54760
 
54928
54761
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -55152,7 +54985,7 @@ var es_iterator_for_each = __webpack_require__(7588);
55152
54985
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
55153
54986
  var es_iterator_map = __webpack_require__(1701);
55154
54987
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
55155
- var baseComp = __webpack_require__(8770);
54988
+ var baseComp = __webpack_require__(537);
55156
54989
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-question/View.vue?vue&type=script&lang=js
55157
54990
 
55158
54991
 
@@ -55391,6 +55224,276 @@ __webpack_require__(6368);
55391
55224
  __webpack_require__(9309);
55392
55225
 
55393
55226
 
55227
+ /***/ }),
55228
+
55229
+ /***/ 9886:
55230
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
55231
+
55232
+ "use strict";
55233
+ // ESM COMPAT FLAG
55234
+ __webpack_require__.r(__webpack_exports__);
55235
+
55236
+ // EXPORTS
55237
+ __webpack_require__.d(__webpack_exports__, {
55238
+ "default": function() { return /* binding */ View; }
55239
+ });
55240
+
55241
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=template&id=67ae24ec&scoped=true
55242
+ var render = function render() {
55243
+ var _vm = this,
55244
+ _c = _vm._self._c;
55245
+ return _c('BaseComp', _vm._b({
55246
+ attrs: {
55247
+ "data": _vm.data,
55248
+ "nowCompId": _vm.nowCompId,
55249
+ "isOpcacity": _vm.isOpcacity,
55250
+ "isMask": false,
55251
+ "lang": _vm.lang
55252
+ },
55253
+ on: {
55254
+ "getConfigData": _vm.getConfigData
55255
+ },
55256
+ scopedSlots: _vm._u([{
55257
+ key: "default",
55258
+ fn: function (slotProps) {
55259
+ return [_c('section', {
55260
+ class: _vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main',
55261
+ style: _vm.containerStyle
55262
+ }, [_c('div', {
55263
+ staticClass: "column-setting",
55264
+ class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
55265
+ style: _vm.columnStyle
55266
+ }, _vm._l(_vm.data.childList, function (item, index) {
55267
+ return _c('cms-column-card', {
55268
+ key: item.componentId,
55269
+ class: _vm.getColumnItemClass(index),
55270
+ style: _vm.getColumnItemStyle(index),
55271
+ attrs: {
55272
+ "data": item,
55273
+ "nowCompId": _vm.nowCompId,
55274
+ "isOpcacity": _vm.isOpcacity,
55275
+ "isMask": false,
55276
+ "lang": _vm.lang
55277
+ }
55278
+ });
55279
+ }), 1)])];
55280
+ }
55281
+ }])
55282
+ }, 'BaseComp', _vm.$attrs, false));
55283
+ };
55284
+ var staticRenderFns = [];
55285
+
55286
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
55287
+ var baseComp = __webpack_require__(537);
55288
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=script&lang=js
55289
+
55290
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
55291
+ name: "cms-column",
55292
+ components: {
55293
+ BaseComp: baseComp["default"]
55294
+ },
55295
+ props: {
55296
+ data: {
55297
+ type: Object,
55298
+ default: () => {
55299
+ return {};
55300
+ }
55301
+ },
55302
+ nowCompId: {
55303
+ type: [String, Number],
55304
+ default: ""
55305
+ },
55306
+ isOpcacity: {
55307
+ type: Boolean,
55308
+ default: true
55309
+ },
55310
+ lang: {
55311
+ type: String,
55312
+ default: "zh-HK"
55313
+ }
55314
+ },
55315
+ data() {
55316
+ return {
55317
+ configData: {},
55318
+ messFold: true,
55319
+ // 默认配置数据
55320
+ defaultConfig: {
55321
+ layoutType: "100",
55322
+ heightType: "auto",
55323
+ widthType: "auto",
55324
+ mobileLayout: "vertical",
55325
+ fixedHeight: 300,
55326
+ borderWidth: 0,
55327
+ borderStyle: "solid",
55328
+ borderColor: "#409eff",
55329
+ backgroundColor: "#FFF",
55330
+ backgroundImage: "",
55331
+ boxShadow: "",
55332
+ borderRadius: 0,
55333
+ columnGap: 0,
55334
+ rowGap: 0,
55335
+ title: "",
55336
+ description: "",
55337
+ input1: "",
55338
+ showTitle: true,
55339
+ showDescription: true,
55340
+ animationDuration: 300,
55341
+ responsiveBreakpoint: 768
55342
+ }
55343
+ };
55344
+ },
55345
+ mounted() {
55346
+ this.initConfigData();
55347
+ // 添加窗口大小变化监听
55348
+ },
55349
+ watch: {
55350
+ configData: {
55351
+ handler() {
55352
+ this.updateStyles();
55353
+ },
55354
+ deep: true
55355
+ }
55356
+ },
55357
+ computed: {
55358
+ // 容器样式
55359
+ containerStyle() {
55360
+ return {
55361
+ backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
55362
+ backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
55363
+ backgroundSize: "cover",
55364
+ backgroundRepeat: "no-repeat",
55365
+ backgroundPosition: "center center",
55366
+ boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
55367
+ borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
55368
+ minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
55369
+ };
55370
+ },
55371
+ // 分栏容器样式
55372
+ columnStyle() {
55373
+ // const gap = this.configData.rowGap || this.defaultConfig.rowGap;
55374
+ return {
55375
+ // gap: `${gap}px`,
55376
+ border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
55377
+ };
55378
+ }
55379
+ },
55380
+ methods: {
55381
+ // 初始化配置数据
55382
+ initConfigData() {
55383
+ // 合并默认配置和传入配置
55384
+ this.configData = {
55385
+ ...this.defaultConfig,
55386
+ ...this.configData
55387
+ };
55388
+ },
55389
+ // 获取配置数据
55390
+ getConfigData(configData) {
55391
+ this.configData = {
55392
+ ...this.defaultConfig,
55393
+ ...configData
55394
+ };
55395
+ this.updateStyles();
55396
+ },
55397
+ // 更新样式
55398
+ updateStyles() {
55399
+ this.$nextTick(() => {
55400
+ // 触发样式更新
55401
+ this.$forceUpdate();
55402
+ });
55403
+ },
55404
+ // 获取分栏项的类名
55405
+ getColumnItemClass(index) {
55406
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
55407
+ return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
55408
+ "min-h": this.$EventBus && this.isOpcacity,
55409
+ "first-item": index === 0,
55410
+ "last-item": index === this.data.childList.length - 1
55411
+ }];
55412
+ },
55413
+ // 获取分栏项的样式
55414
+ getColumnItemStyle(index) {
55415
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
55416
+ const gap = this.configData.rowGap || this.defaultConfig.rowGap;
55417
+ let flexBasis = "100%";
55418
+ let marginRight = "0";
55419
+
55420
+ // 根据布局类型设置宽度
55421
+ switch (layoutType) {
55422
+ case "50-50":
55423
+ flexBasis = `calc(50% - ${gap / 2}px)`;
55424
+ marginRight = index % 2 === 0 ? `${gap}px` : "0";
55425
+ break;
55426
+ case "33-66":
55427
+ flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
55428
+ marginRight = index === 0 ? `${gap}px` : "0";
55429
+ break;
55430
+ case "66-33":
55431
+ flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
55432
+ marginRight = index === 0 ? `${gap}px` : "0";
55433
+ break;
55434
+ case "33-33-33":
55435
+ flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
55436
+ marginRight = index < 2 ? `${gap}px` : "0";
55437
+ break;
55438
+ case "25-50-25":
55439
+ if (index === 0 || index === 2) {
55440
+ flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
55441
+ } else {
55442
+ flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
55443
+ }
55444
+ marginRight = index < 2 ? `${gap}px` : "0";
55445
+ break;
55446
+ default:
55447
+ flexBasis = "100%";
55448
+ }
55449
+ return {
55450
+ flexBasis,
55451
+ marginRight,
55452
+ marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
55453
+ };
55454
+ },
55455
+ // 折叠/展开文本
55456
+ foldMessText() {
55457
+ this.messFold = !this.messFold;
55458
+ },
55459
+ // 处理跳转链接
55460
+ decodeJumpUrl(url) {
55461
+ if (!url) return;
55462
+ top.location.href = url;
55463
+ }
55464
+ }
55465
+ });
55466
+ ;// ./package/cms-column/View.vue?vue&type=script&lang=js
55467
+ /* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
55468
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=style&index=0&id=67ae24ec&prod&lang=scss&scoped=true
55469
+ // extracted by mini-css-extract-plugin
55470
+
55471
+ ;// ./package/cms-column/View.vue?vue&type=style&index=0&id=67ae24ec&prod&lang=scss&scoped=true
55472
+
55473
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
55474
+ var componentNormalizer = __webpack_require__(1656);
55475
+ ;// ./package/cms-column/View.vue
55476
+
55477
+
55478
+
55479
+ ;
55480
+
55481
+
55482
+ /* normalize component */
55483
+
55484
+ var component = (0,componentNormalizer/* default */.A)(
55485
+ cms_column_Viewvue_type_script_lang_js,
55486
+ render,
55487
+ staticRenderFns,
55488
+ false,
55489
+ null,
55490
+ "67ae24ec",
55491
+ null
55492
+
55493
+ )
55494
+
55495
+ /* harmony default export */ var View = (component.exports);
55496
+
55394
55497
  /***/ }),
55395
55498
 
55396
55499
  /***/ 9928: