cms-chenhj-ui 2.0.13 → 2.0.15

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.
@@ -8,9 +8,10 @@
8
8
  __webpack_require__.r(__webpack_exports__);
9
9
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
10
10
 
11
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 4467));
11
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 8573));
12
12
  const langData = {
13
13
  // 视频源设置
14
+ title: '',
14
15
  videoType: "direct",
15
16
  videoUrl: "",
16
17
  embedCode: "",
@@ -37,6 +38,11 @@ const langData = {
37
38
  };
38
39
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
39
40
  // 视频源设置配置
41
+ title: {
42
+ label: "视频标题",
43
+ widgetType: "el-input",
44
+ placeholder: "请输入视频标题"
45
+ },
40
46
  videoType: {
41
47
  label: "视频类型",
42
48
  widgetType: "el-radio-group",
@@ -569,7 +575,7 @@ var swiper = __webpack_require__(2791);
569
575
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
570
576
  var swiper_esm_bundle = __webpack_require__(4418);
571
577
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
572
- var baseComp = __webpack_require__(537);
578
+ var baseComp = __webpack_require__(5298);
573
579
  ;// ./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
574
580
 
575
581
 
@@ -866,7 +872,7 @@ const langData = {
866
872
  fontWeight: "normal",
867
873
  fontStyle: "normal",
868
874
  textDecoration: "none",
869
- fontFamily: "inherit",
875
+ fontFamily: "Microsoft YaHei",
870
876
  // 布局设置
871
877
  paddingTop: 0,
872
878
  paddingBottom: 0,
@@ -974,7 +980,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
974
980
  // 样式美化配置
975
981
  fontColor: {
976
982
  label: "字体颜色",
977
- widgetType: "el-color-picker"
983
+ widgetType: "el-color-picker",
984
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
978
985
  },
979
986
  fontWeight: {
980
987
  label: "字体粗细",
@@ -1045,35 +1052,21 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1045
1052
  value: "overline"
1046
1053
  }]
1047
1054
  },
1048
- fontFamily: {
1049
- label: "字体族",
1050
- widgetType: "el-select",
1051
- options: [{
1052
- label: "默认",
1053
- value: "inherit"
1054
- }, {
1055
- label: "微软雅黑",
1056
- value: "Microsoft YaHei"
1057
- }, {
1058
- label: "宋体",
1059
- value: "SimSun"
1060
- }, {
1061
- label: "黑体",
1062
- value: "SimHei"
1063
- }, {
1064
- label: "楷体",
1065
- value: "KaiTi"
1066
- }, {
1067
- label: "Arial",
1068
- value: "Arial"
1069
- }, {
1070
- label: "Times New Roman",
1071
- value: "Times New Roman"
1072
- }, {
1073
- label: "Helvetica",
1074
- value: "Helvetica"
1075
- }]
1076
- },
1055
+ // fontFamily: {
1056
+ // label: "字体族",
1057
+ // widgetType: "el-select",
1058
+ // options: [
1059
+ // { label: "默认", value: "inherit" },
1060
+ // { label: "微软雅黑", value: "Microsoft YaHei" },
1061
+ // { label: "宋体", value: "SimSun" },
1062
+ // { label: "黑体", value: "SimHei" },
1063
+ // { label: "楷体", value: "KaiTi" },
1064
+ // { label: "Arial", value: "Arial" },
1065
+ // { label: "Times New Roman", value: "Times New Roman" },
1066
+ // { label: "Helvetica", value: "Helvetica" },
1067
+ // ],
1068
+ // },
1069
+
1077
1070
  // 布局设置配置
1078
1071
  paddingTop: {
1079
1072
  label: "上内边距(px)",
@@ -1133,7 +1126,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1133
1126
  },
1134
1127
  backgroundColor: {
1135
1128
  label: "背景颜色",
1136
- widgetType: "el-color-picker"
1129
+ widgetType: "el-color-picker",
1130
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
1137
1131
  },
1138
1132
  // 视觉效果配置
1139
1133
  borderWidth: {
@@ -1162,7 +1156,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1162
1156
  },
1163
1157
  borderColor: {
1164
1158
  label: "边框颜色",
1165
- widgetType: "el-color-picker"
1159
+ widgetType: "el-color-picker",
1160
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
1166
1161
  },
1167
1162
  borderRadius: {
1168
1163
  label: "圆角(px)",
@@ -1193,15 +1188,16 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1193
1188
  label: "新窗口",
1194
1189
  value: "_blank"
1195
1190
  }]
1196
- },
1197
- showLinkIcon: {
1198
- label: "显示链接图标",
1199
- widgetType: "el-switch"
1200
- },
1201
- hoverEffect: {
1202
- label: "悬停效果",
1203
- widgetType: "el-switch"
1204
- },
1191
+ }
1192
+ // showLinkIcon: {
1193
+ // label: "显示链接图标",
1194
+ // widgetType: "el-switch",
1195
+ // },
1196
+ // hoverEffect: {
1197
+ // label: "链接悬停效果",
1198
+ // widgetType: "el-switch",
1199
+ // },
1200
+
1205
1201
  // 高级配置
1206
1202
  // customClass: {
1207
1203
  // label: "自定义CSS类",
@@ -1214,41 +1210,30 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
1214
1210
  // type: "textarea",
1215
1211
  // placeholder: "请输入CSS样式,如: color: red; font-size: 18px;",
1216
1212
  // },
1217
- enableAnimation: {
1218
- label: "启用动画",
1219
- widgetType: "el-switch"
1220
- },
1221
- animationType: {
1222
- label: "动画类型",
1223
- widgetType: "el-select",
1224
- options: [{
1225
- label: "淡入",
1226
- value: "fadeIn"
1227
- }, {
1228
- label: "从左滑入",
1229
- value: "slideInLeft"
1230
- }, {
1231
- label: "从右滑入",
1232
- value: "slideInRight"
1233
- }, {
1234
- label: "从上滑入",
1235
- value: "slideInDown"
1236
- }, {
1237
- label: "从下滑入",
1238
- value: "slideInUp"
1239
- }, {
1240
- label: "缩放进入",
1241
- value: "zoomIn"
1242
- }]
1243
- },
1244
- animationDuration: {
1245
- label: "动画时长(ms)",
1246
- widgetType: "el-input-number",
1247
- size: "small",
1248
- min: 100,
1249
- max: 2000,
1250
- step: 100
1251
- }
1213
+ // enableAnimation: {
1214
+ // label: "启用动画",
1215
+ // widgetType: "el-switch",
1216
+ // },
1217
+ // animationType: {
1218
+ // label: "动画类型",
1219
+ // widgetType: "el-select",
1220
+ // options: [
1221
+ // { label: "淡入", value: "fadeIn" },
1222
+ // { label: "从左滑入", value: "slideInLeft" },
1223
+ // { label: "从右滑入", value: "slideInRight" },
1224
+ // { label: "从上滑入", value: "slideInDown" },
1225
+ // { label: "从下滑入", value: "slideInUp" },
1226
+ // { label: "缩放进入", value: "zoomIn" },
1227
+ // ],
1228
+ // },
1229
+ // animationDuration: {
1230
+ // label: "动画时长(ms)",
1231
+ // widgetType: "el-input-number",
1232
+ // size: "small",
1233
+ // min: 100,
1234
+ // max: 2000,
1235
+ // step: 100,
1236
+ // },
1252
1237
  });
1253
1238
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
1254
1239
  /* harmony default export */ __webpack_exports__["default"] = ({
@@ -1351,269 +1336,6 @@ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
1351
1336
  };
1352
1337
 
1353
1338
 
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
-
1617
1339
  /***/ }),
1618
1340
 
1619
1341
  /***/ 615:
@@ -1686,6 +1408,64 @@ module.exports = !fails(function () {
1686
1408
  });
1687
1409
 
1688
1410
 
1411
+ /***/ }),
1412
+
1413
+ /***/ 622:
1414
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1415
+
1416
+ "use strict";
1417
+ __webpack_require__.r(__webpack_exports__);
1418
+ /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
1419
+
1420
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 8216));
1421
+ const langData = {
1422
+ colNums: 1,
1423
+ defaultCol: 12,
1424
+ gap: 10
1425
+ };
1426
+ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
1427
+ // 布局配置
1428
+ colNums: {
1429
+ label: "视频样式",
1430
+ widgetType: "el-radio-group",
1431
+ options: [{
1432
+ label: "一行一个",
1433
+ value: 1
1434
+ }, {
1435
+ label: "一行两个",
1436
+ value: 2
1437
+ }, {
1438
+ label: "一行三个",
1439
+ value: 3
1440
+ }],
1441
+ isCol: true
1442
+ },
1443
+ defaultCol: {
1444
+ label: "默认展示(行)",
1445
+ widgetType: "el-input-number",
1446
+ size: "small",
1447
+ min: 1,
1448
+ max: 12,
1449
+ step: 1,
1450
+ isCol: true,
1451
+ unit: "行"
1452
+ }
1453
+ });
1454
+ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
1455
+ /* harmony default export */ __webpack_exports__["default"] = ({
1456
+ View,
1457
+ validateSchema,
1458
+ configDataType,
1459
+ langData,
1460
+ settings: cmsCompName => {
1461
+ return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
1462
+ cmsCompName,
1463
+ langData,
1464
+ isLangAll: true
1465
+ });
1466
+ }
1467
+ });
1468
+
1689
1469
  /***/ }),
1690
1470
 
1691
1471
  /***/ 649:
@@ -3621,7 +3401,7 @@ var es_iterator_filter = __webpack_require__(2489);
3621
3401
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
3622
3402
  var es_iterator_for_each = __webpack_require__(7588);
3623
3403
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
3624
- var baseComp = __webpack_require__(537);
3404
+ var baseComp = __webpack_require__(5298);
3625
3405
  ;// ./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
3406
 
3627
3407
 
@@ -9111,7 +8891,7 @@ service.interceptors.request.use(config => {
9111
8891
  if (config.url.includes("/ecosp-console")) {
9112
8892
  document.cookie = "JSESSIONID=node017nm2falxdfe8c1parzfv9ilr29.node0";
9113
8893
  } else if (config.url.includes("omni-channel-service-console")) {
9114
- document.cookie = "JSESSIONID=78E8137DAEC4660E6E4A6310CAB2B300";
8894
+ document.cookie = "JSESSIONID=CA4058E3A195113C85AE1F926814CF89";
9115
8895
  }
9116
8896
  } else {
9117
8897
  if (config.url.includes("/api/") && is_cmsComp) {
@@ -9723,8 +9503,8 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
9723
9503
 
9724
9504
  var map = {
9725
9505
  "./": 176,
9726
- "./baseComp": 537,
9727
- "./baseComp.vue": 537,
9506
+ "./baseComp": 5298,
9507
+ "./baseComp.vue": 5298,
9728
9508
  "./baseConfig": 649,
9729
9509
  "./baseConfig.js": 649,
9730
9510
  "./cms-aLineThreeLeftOne": 5041,
@@ -9774,13 +9554,13 @@ var map = {
9774
9554
  "./cms-column": 3923,
9775
9555
  "./cms-column-card": 5340,
9776
9556
  "./cms-column-card/": 5340,
9777
- "./cms-column-card/View": 3164,
9778
- "./cms-column-card/View.vue": 3164,
9557
+ "./cms-column-card/View": 2328,
9558
+ "./cms-column-card/View.vue": 2328,
9779
9559
  "./cms-column-card/index": 5340,
9780
9560
  "./cms-column-card/index.js": 5340,
9781
9561
  "./cms-column/": 3923,
9782
- "./cms-column/View": 9886,
9783
- "./cms-column/View.vue": 9886,
9562
+ "./cms-column/View": 7108,
9563
+ "./cms-column/View.vue": 7108,
9784
9564
  "./cms-column/index": 3923,
9785
9565
  "./cms-column/index.js": 3923,
9786
9566
  "./cms-description": 1921,
@@ -9802,9 +9582,15 @@ var map = {
9802
9582
  "./cms-iconFour/index": 8132,
9803
9583
  "./cms-iconFour/index.js": 8132,
9804
9584
  "./cms-image": 8886,
9585
+ "./cms-image-group": 6940,
9586
+ "./cms-image-group/": 6940,
9587
+ "./cms-image-group/View": 9345,
9588
+ "./cms-image-group/View.vue": 9345,
9589
+ "./cms-image-group/index": 6940,
9590
+ "./cms-image-group/index.js": 6940,
9805
9591
  "./cms-image/": 8886,
9806
- "./cms-image/View": 4986,
9807
- "./cms-image/View.vue": 4986,
9592
+ "./cms-image/View": 5314,
9593
+ "./cms-image/View.vue": 5314,
9808
9594
  "./cms-image/index": 8886,
9809
9595
  "./cms-image/index.js": 8886,
9810
9596
  "./cms-imgFour": 4352,
@@ -9916,9 +9702,15 @@ var map = {
9916
9702
  "./cms-via-storedValueCard/index": 4400,
9917
9703
  "./cms-via-storedValueCard/index.js": 4400,
9918
9704
  "./cms-video": 23,
9705
+ "./cms-video-group": 622,
9706
+ "./cms-video-group/": 622,
9707
+ "./cms-video-group/View": 8216,
9708
+ "./cms-video-group/View.vue": 8216,
9709
+ "./cms-video-group/index": 622,
9710
+ "./cms-video-group/index.js": 622,
9919
9711
  "./cms-video/": 23,
9920
- "./cms-video/View": 4467,
9921
- "./cms-video/View.vue": 4467,
9712
+ "./cms-video/View": 8573,
9713
+ "./cms-video/View.vue": 8573,
9922
9714
  "./cms-video/index": 23,
9923
9715
  "./cms-video/index.js": 23,
9924
9716
  "./cms-view": 2392,
@@ -10230,7 +10022,7 @@ var render = function render() {
10230
10022
  var staticRenderFns = [];
10231
10023
 
10232
10024
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
10233
- var baseComp = __webpack_require__(537);
10025
+ var baseComp = __webpack_require__(5298);
10234
10026
  // EXTERNAL MODULE: ./package/patch.js
10235
10027
  var patch = __webpack_require__(1618);
10236
10028
  ;// ./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
@@ -11404,7 +11196,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
11404
11196
  },
11405
11197
  fontColor: {
11406
11198
  label: "文字颜色",
11407
- widgetType: "el-color-picker"
11199
+ widgetType: "el-color-picker",
11200
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
11408
11201
  },
11409
11202
  fontWeight: {
11410
11203
  label: "字体粗细",
@@ -11450,7 +11243,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
11450
11243
  // 样式控制配置
11451
11244
  backgroundColor: {
11452
11245
  label: "背景颜色",
11453
- widgetType: "el-color-picker"
11246
+ widgetType: "el-color-picker",
11247
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
11454
11248
  },
11455
11249
  borderRadius: {
11456
11250
  label: "圆角(px)",
@@ -11487,7 +11281,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
11487
11281
  },
11488
11282
  borderColor: {
11489
11283
  label: "边框颜色",
11490
- widgetType: "el-color-picker"
11284
+ widgetType: "el-color-picker",
11285
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
11491
11286
  },
11492
11287
  // 空间布局配置
11493
11288
  paddingTop: {
@@ -11875,6 +11670,524 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
11875
11670
 
11876
11671
  /***/ }),
11877
11672
 
11673
+ /***/ 2328:
11674
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
11675
+
11676
+ "use strict";
11677
+ // ESM COMPAT FLAG
11678
+ __webpack_require__.r(__webpack_exports__);
11679
+
11680
+ // EXPORTS
11681
+ __webpack_require__.d(__webpack_exports__, {
11682
+ "default": function() { return /* binding */ View; }
11683
+ });
11684
+
11685
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
11686
+ var es_iterator_constructor = __webpack_require__(8111);
11687
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
11688
+ var es_iterator_drop = __webpack_require__(9314);
11689
+ ;// ./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=2dcb9de2&scoped=true
11690
+
11691
+
11692
+
11693
+
11694
+ var render = function render() {
11695
+ var _vm = this,
11696
+ _c = _vm._self._c;
11697
+ return _c('BaseComp', _vm._b({
11698
+ attrs: {
11699
+ "data": _vm.data,
11700
+ "nowCompId": _vm.nowCompId,
11701
+ "isOpcacity": _vm.isOpcacity,
11702
+ "isMask": false,
11703
+ "lang": _vm.lang,
11704
+ "showDel": false
11705
+ },
11706
+ on: {
11707
+ "getConfigData": _vm.getConfigData
11708
+ }
11709
+ }, 'BaseComp', _vm.$attrs, false), [_vm.isConfigPage ? _c('div', {
11710
+ staticClass: "main_drag hoverBorderClass",
11711
+ style: _vm.cardContainerStyle,
11712
+ attrs: {
11713
+ "id": `cardTarget${_vm.data.componentId}`
11714
+ },
11715
+ on: {
11716
+ "dragover": _vm.dragover,
11717
+ "dragend": function ($event) {
11718
+ _vm.showAddCom = false;
11719
+ },
11720
+ "drop": _vm.drop
11721
+ }
11722
+ }, [_c('Draggable', {
11723
+ staticStyle: {
11724
+ "position": "relative"
11725
+ },
11726
+ attrs: {
11727
+ "group": _vm.groupConfigForMain,
11728
+ "chosen-class": "chosen",
11729
+ "force-fallback": "true",
11730
+ "animation": "1000",
11731
+ "move": _vm.onMove
11732
+ },
11733
+ on: {
11734
+ "start": _vm.onStart,
11735
+ "end": function ($event) {
11736
+ _vm.showAddCom = false;
11737
+ }
11738
+ },
11739
+ model: {
11740
+ value: _vm.data.childList,
11741
+ callback: function ($$v) {
11742
+ _vm.$set(_vm.data, "childList", $$v);
11743
+ },
11744
+ expression: "data.childList"
11745
+ }
11746
+ }, [_vm._l(_vm.data.childList, function (item, index) {
11747
+ return _c('div', {
11748
+ key: item.componentId,
11749
+ staticStyle: {
11750
+ "position": "relative"
11751
+ }
11752
+ }, [_vm.showAddCom ? _c('div', {
11753
+ staticClass: "up_insert",
11754
+ attrs: {
11755
+ "id": `${item.componentId}-cardTargetup`
11756
+ }
11757
+ }, [_c('i', {
11758
+ staticClass: "icon-up",
11759
+ attrs: {
11760
+ "id": `${item.componentId}-upi`
11761
+ }
11762
+ }), _c('span', {
11763
+ attrs: {
11764
+ "id": `${item.componentId}-upspan`
11765
+ }
11766
+ }, [_vm._v("插入组件")])]) : _vm._e(), _c(item.cmsCompName, {
11767
+ tag: "component",
11768
+ style: {
11769
+ marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
11770
+ },
11771
+ attrs: {
11772
+ "data": item,
11773
+ "lang": _vm.lang,
11774
+ "isOpcacity": _vm.isOpcacity,
11775
+ "nowCompId": _vm.nowCompId
11776
+ }
11777
+ })], 1);
11778
+ }), _vm.showAddCom ? _c('div', {
11779
+ staticClass: "up_insert insert_bottom",
11780
+ style: {
11781
+ bottom: _vm.data.childList.length ? '0px' : '-24px'
11782
+ },
11783
+ attrs: {
11784
+ "id": `-cardTargetdown`
11785
+ }
11786
+ }, [_c('i', {
11787
+ staticClass: "icon-up"
11788
+ }), _c('span', [_vm._v("插入组件")])]) : _vm._e()], 2)], 1) : _c('cms-view', _vm._b({
11789
+ style: _vm.cardContainerStyle,
11790
+ attrs: {
11791
+ "data": _vm.data.childList,
11792
+ "lang": _vm.lang,
11793
+ "isOpcacity": false
11794
+ }
11795
+ }, 'cms-view', _vm.$attrs, false))], 1);
11796
+ };
11797
+ var staticRenderFns = [];
11798
+
11799
+ ;// ./package/cms-column-card/View.vue?vue&type=template&id=2dcb9de2&scoped=true
11800
+
11801
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
11802
+ var es_array_push = __webpack_require__(4114);
11803
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
11804
+ var baseComp = __webpack_require__(5298);
11805
+ // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
11806
+ var vuedraggable_umd = __webpack_require__(1527);
11807
+ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
11808
+ // EXTERNAL MODULE: ./package/baseConfig.js
11809
+ var baseConfig = __webpack_require__(649);
11810
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
11811
+ var es_iterator_find = __webpack_require__(116);
11812
+ // EXTERNAL MODULE: ./src/utils/index.js
11813
+ var utils = __webpack_require__(1996);
11814
+ ;// ./src/views/standard_page.js
11815
+
11816
+
11817
+
11818
+
11819
+
11820
+ const standard_page_list = [{
11821
+ id: 1,
11822
+ componentId: 1,
11823
+ componentName: "范本1-防诈骗提示",
11824
+ standList: ["cms-banner", "cms-titleCenter", "cms-lineThree"]
11825
+ }, {
11826
+ id: 2,
11827
+ componentId: 2,
11828
+ componentName: "范本2-员工优惠",
11829
+ standList: ["cms-banner", "cms-description", "cms-activityCountdown", "cms-titleLeft", "cms-proCard", "cms-termsAndConditions"]
11830
+ }];
11831
+ const getComponentKey = (compList, id, noCompId = false) => {
11832
+ if (noCompId) return id;
11833
+ let compConfig = compList.find(item => item.id == id);
11834
+ if (compConfig.type == "1") {
11835
+ return compConfig.componentId;
11836
+ }
11837
+ return "cms-dynamic-comp";
11838
+ };
11839
+ const getCopyTemplateCompConfig = (compList, componentKey) => {
11840
+ let otherConfig = {};
11841
+ const configureJson = compList.find(item => item.id == componentKey).configureJson;
11842
+ if (configureJson.wujieConfig) {
11843
+ //如果是第三方组件加一个临时标识
11844
+ otherConfig = {
11845
+ originalComponentId: configureJson.componentId,
11846
+ originalVersionId: configureJson.wujieConfig.versionId,
11847
+ operation: "copyTemplate"
11848
+ };
11849
+ }
11850
+ return {
11851
+ ...configureJson,
11852
+ componentId: (0,utils/* getUuidCode */.J0)(32),
11853
+ ...otherConfig
11854
+ };
11855
+ };
11856
+ const isStaticComp = componentKey => {
11857
+ return ["cms-header", "cms-footer", "cms-breadCrumb"].includes(componentKey);
11858
+ };
11859
+ const getWujieCompInfo = (compList, componentId, isTemplate) => {
11860
+ let compConfig = compList.find(item => item.id == componentId);
11861
+ if (isTemplate) if (compConfig.type == "1") {
11862
+ return compConfig;
11863
+ }
11864
+ return {
11865
+ ...compConfig
11866
+ };
11867
+ };
11868
+ ;// ./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
11869
+
11870
+
11871
+
11872
+
11873
+
11874
+
11875
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
11876
+ name: "cms-column-card",
11877
+ components: {
11878
+ BaseComp: baseComp["default"],
11879
+ Draggable: (vuedraggable_umd_default())
11880
+ },
11881
+ props: {
11882
+ data: {
11883
+ type: Object,
11884
+ default: () => {
11885
+ return {};
11886
+ }
11887
+ },
11888
+ nowCompId: {
11889
+ type: [String, Number],
11890
+ default: ""
11891
+ },
11892
+ isOpcacity: {
11893
+ type: Boolean,
11894
+ default: true
11895
+ },
11896
+ lang: {
11897
+ type: String,
11898
+ default: "zh-HK"
11899
+ },
11900
+ isMobile: {
11901
+ type: Boolean,
11902
+ default: false
11903
+ },
11904
+ mobileLayout: {
11905
+ type: String,
11906
+ default: ""
11907
+ }
11908
+ },
11909
+ data() {
11910
+ return {
11911
+ configData: {},
11912
+ messFold: true,
11913
+ showAddCom: false,
11914
+ temporaryList: []
11915
+ };
11916
+ },
11917
+ computed: {
11918
+ isConfigPage() {
11919
+ return this.$EventBus && this.isOpcacity;
11920
+ },
11921
+ groupConfigForMain() {
11922
+ return {
11923
+ name: "task",
11924
+ pull: true,
11925
+ // A列表的元素可以被拖出
11926
+ put: (to, from, dragEl) => {
11927
+ console.log(from.el.classList);
11928
+ if (from.el.classList.contains("main_drag")) {
11929
+ const dataId = this.findFirstComponentKey(dragEl);
11930
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column"];
11931
+ console.log("allowedComponents", dataId);
11932
+ if (dataId === "cms-column") {
11933
+ if (!this.checkColumnNestingLevel()) {
11934
+ console.log("cms-column 嵌套层级超出限制");
11935
+ return false;
11936
+ }
11937
+ }
11938
+ return allowedComponents.includes(dataId);
11939
+ }
11940
+ return true;
11941
+ }
11942
+ };
11943
+ },
11944
+ // 卡片容器样式
11945
+ cardContainerStyle() {
11946
+ return {
11947
+ backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : "none",
11948
+ backgroundSize: "cover",
11949
+ backgroundRepeat: "no-repeat",
11950
+ backgroundPosition: "center center",
11951
+ height: this.getContainerHeight(),
11952
+ border: this.getContainerBorder(),
11953
+ borderRadius: this.getContainerBorderRadius(),
11954
+ backgroundColor: this.configData.backgroundColor || "transparent",
11955
+ boxShadow: this.configData.boxShadow || "none"
11956
+ };
11957
+ }
11958
+ },
11959
+ mounted() {
11960
+ if (this.$EventBus) {
11961
+ this.$EventBus.$on("handleDragEnd", () => {
11962
+ this.showAddCom = false;
11963
+ });
11964
+ }
11965
+ },
11966
+ watch: {},
11967
+ methods: {
11968
+ findFirstComponentKey(root) {
11969
+ var _root$querySelector;
11970
+ if (!root) return null;
11971
+
11972
+ // 若起点自身就有
11973
+ if (root.nodeType === 1 && root.hasAttribute("component-key")) {
11974
+ return root.getAttribute("component-key");
11975
+ }
11976
+
11977
+ // 向下查找第一个匹配的后代
11978
+ const el = (_root$querySelector = root.querySelector) === null || _root$querySelector === void 0 ? void 0 : _root$querySelector.call(root, "[component-key]");
11979
+ return el ? el.getAttribute("component-key") : null;
11980
+ },
11981
+ // 获取容器高度
11982
+ getContainerHeight() {
11983
+ if (this.configData.heightType === "fixed") {
11984
+ return `${this.configData.fixedHeight}px`;
11985
+ }
11986
+ return this.isMobile && this.mobileLayout == "vertical" ? "auto" : "100%";
11987
+ },
11988
+ // 获取容器边框
11989
+ getContainerBorder() {
11990
+ if (this.configData.borderWidth) {
11991
+ return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
11992
+ }
11993
+ return "none";
11994
+ },
11995
+ // 获取容器圆角
11996
+ getContainerBorderRadius() {
11997
+ if (this.configData.borderRadius) {
11998
+ return `${this.configData.borderRadius}px`;
11999
+ }
12000
+ return "0";
12001
+ },
12002
+ getConfigData(configData) {
12003
+ this.configData = configData;
12004
+ },
12005
+ foldMessText() {
12006
+ this.messFold = !this.messFold;
12007
+ },
12008
+ decodeJumpUrl(url) {
12009
+ if (!url) return;
12010
+ top.location.href = url;
12011
+ },
12012
+ onStart(evt) {
12013
+ console.log("drag start in column-card", evt);
12014
+ this.showAddCom = true;
12015
+ },
12016
+ // 限制拖拽的组件类型
12017
+ onMove(evt) {
12018
+ const {
12019
+ draggedContext
12020
+ } = evt;
12021
+
12022
+ // 允许的组件类型
12023
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
12024
+ ];
12025
+
12026
+ // 如果是从外部拖入的组件
12027
+ if (draggedContext && draggedContext.element) {
12028
+ const componentType = draggedContext.element.cmsCompName;
12029
+ if (componentType && !allowedComponents.includes(componentType)) {
12030
+ console.log("draggedContext.element", draggedContext.element);
12031
+ console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
12032
+ return false;
12033
+ }
12034
+
12035
+ // 特殊处理 cms-column:检查嵌套层级
12036
+ if (componentType === "cms-column") {
12037
+ if (!this.checkColumnNestingLevel()) {
12038
+ console.log("cms-column 嵌套层级超出限制");
12039
+ return false;
12040
+ }
12041
+ }
12042
+ }
12043
+ return true;
12044
+ },
12045
+ // 检查 cms-column 嵌套层级
12046
+ checkColumnNestingLevel() {
12047
+ // 检查当前 column-card 是否已经在 cms-column 内部
12048
+ let parent = this.$parent;
12049
+ let columnDepth = 0;
12050
+ while (parent) {
12051
+ // 检查父组件是否是 cms-column 或包含 cms-column
12052
+ if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
12053
+ columnDepth++;
12054
+ }
12055
+
12056
+ // 如果已经有一层 cms-column,则不允许再嵌套
12057
+ if (columnDepth >= 2) {
12058
+ console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
12059
+ return false;
12060
+ }
12061
+ parent = parent.$parent;
12062
+ }
12063
+ console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
12064
+ return true;
12065
+ },
12066
+ // 处理拖拽悬停
12067
+ dragover(e) {
12068
+ e.preventDefault();
12069
+ this.showAddCom = true;
12070
+ },
12071
+ // 处理拖拽放置
12072
+ drop(e) {
12073
+ e.preventDefault();
12074
+ const componentKey = e.dataTransfer.getData("componentKey");
12075
+ let temporaryId = "";
12076
+ this.temporaryList = e.dataTransfer.getData("temporaryList") ? JSON.parse(e.dataTransfer.getData("temporaryList")) : [];
12077
+ console.log("cms-colum-card-drop", componentKey, this.temporaryList);
12078
+ if (!componentKey) return;
12079
+ const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
12080
+ const isTemporary = isTemporaryItem === "true";
12081
+ if (isTemporary) {
12082
+ temporaryId = getCopyTemplateCompConfig(this.temporaryList, componentKey).cmsCompName;
12083
+ }
12084
+ const componentType = isTemporary ? temporaryId : componentKey;
12085
+ // 允许的组件类型
12086
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
12087
+ ];
12088
+
12089
+ // 检查组件类型是否允许
12090
+ if (!allowedComponents.includes(componentType)) {
12091
+ console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
12092
+ this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
12093
+ this.showAddCom = false;
12094
+ return;
12095
+ }
12096
+
12097
+ // 特殊处理 cms-column:检查嵌套层级
12098
+ if (componentType === "cms-column") {
12099
+ if (!this.checkColumnNestingLevel()) {
12100
+ console.log("cms-column 嵌套层级超出限制");
12101
+ this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
12102
+ this.showAddCom = false;
12103
+ return;
12104
+ }
12105
+ }
12106
+ this.addOneComp(e, componentKey);
12107
+ },
12108
+ // 添加组件到卡片容器
12109
+ addOneComp(e, componentKey) {
12110
+ this.showAddCom = false;
12111
+ console.log("drop to column-card", componentKey);
12112
+
12113
+ // 动态导入组件配置
12114
+ let initCompData;
12115
+ try {
12116
+ const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
12117
+ const isTemporary = isTemporaryItem === "true";
12118
+ if (isTemporary) {
12119
+ initCompData = getCopyTemplateCompConfig(this.temporaryList, componentKey);
12120
+ } else {
12121
+ initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
12122
+ }
12123
+ if (!isTemporary) {
12124
+ initCompData = {
12125
+ ...initCompData,
12126
+ styleConfig: {
12127
+ pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
12128
+ mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
12129
+ }
12130
+ };
12131
+ }
12132
+ } catch (error) {
12133
+ console.error(`无法加载组件 ${componentKey}:`, error);
12134
+ this.$message && this.$message.error(`组件加载失败`);
12135
+ return;
12136
+ }
12137
+ const toElementId = e.toElement.id;
12138
+ if (toElementId === `cardTarget${this.data.componentId}` || toElementId.includes("cardTargetdown")) {
12139
+ // 添加到卡片容器末尾
12140
+ this.data.childList.push(initCompData);
12141
+ } else if (toElementId.includes("cardTargetup")) {
12142
+ // 插入到指定位置
12143
+ const underComponentId = toElementId.split("-cardTargetup")[0];
12144
+ const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
12145
+ if (index !== -1) {
12146
+ this.data.childList.splice(index, 0, initCompData);
12147
+ }
12148
+ }
12149
+
12150
+ // 触发数据更新
12151
+ this.$emit("update:data", this.data);
12152
+ if (componentKey === "cms-column") {
12153
+ this.$EventBus.$emit("handleNowComp", initCompData);
12154
+ }
12155
+ }
12156
+ }
12157
+ });
12158
+ ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
12159
+ /* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
12160
+ ;// ./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=2dcb9de2&prod&lang=scss&scoped=true
12161
+ // extracted by mini-css-extract-plugin
12162
+
12163
+ ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=2dcb9de2&prod&lang=scss&scoped=true
12164
+
12165
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
12166
+ var componentNormalizer = __webpack_require__(1656);
12167
+ ;// ./package/cms-column-card/View.vue
12168
+
12169
+
12170
+
12171
+ ;
12172
+
12173
+
12174
+ /* normalize component */
12175
+
12176
+ var component = (0,componentNormalizer/* default */.A)(
12177
+ cms_column_card_Viewvue_type_script_lang_js,
12178
+ render,
12179
+ staticRenderFns,
12180
+ false,
12181
+ null,
12182
+ "2dcb9de2",
12183
+ null
12184
+
12185
+ )
12186
+
12187
+ /* harmony default export */ var View = (component.exports);
12188
+
12189
+ /***/ }),
12190
+
11878
12191
  /***/ 2360:
11879
12192
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
11880
12193
 
@@ -12034,7 +12347,7 @@ var es_iterator_constructor = __webpack_require__(8111);
12034
12347
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
12035
12348
  var es_iterator_for_each = __webpack_require__(7588);
12036
12349
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
12037
- var baseComp = __webpack_require__(537);
12350
+ var baseComp = __webpack_require__(5298);
12038
12351
  ;// ./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
12039
12352
 
12040
12353
 
@@ -12266,6 +12579,7 @@ var component = (0,componentNormalizer/* default */.A)(
12266
12579
  __webpack_require__.r(__webpack_exports__);
12267
12580
  /* harmony default export */ __webpack_exports__["default"] = ({
12268
12581
  Expand: "展開",
12582
+ More: "查看更多",
12269
12583
  Collpase: "收起",
12270
12584
  discount: '優惠期限:'
12271
12585
  });
@@ -16038,7 +16352,7 @@ var swiper_esm_bundle = __webpack_require__(4418);
16038
16352
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
16039
16353
  var jumpUrl = __webpack_require__(813);
16040
16354
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
16041
- var baseComp = __webpack_require__(537);
16355
+ var baseComp = __webpack_require__(5298);
16042
16356
  ;// ./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
16043
16357
 
16044
16358
 
@@ -24919,413 +25233,6 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
24919
25233
 
24920
25234
  /***/ }),
24921
25235
 
24922
- /***/ 3164:
24923
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
24924
-
24925
- "use strict";
24926
- // ESM COMPAT FLAG
24927
- __webpack_require__.r(__webpack_exports__);
24928
-
24929
- // EXPORTS
24930
- __webpack_require__.d(__webpack_exports__, {
24931
- "default": function() { return /* binding */ View; }
24932
- });
24933
-
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
-
24943
- var render = function render() {
24944
- var _vm = this,
24945
- _c = _vm._self._c;
24946
- return _c('BaseComp', _vm._b({
24947
- attrs: {
24948
- "data": _vm.data,
24949
- "nowCompId": _vm.nowCompId,
24950
- "isOpcacity": _vm.isOpcacity,
24951
- "isMask": false,
24952
- "lang": _vm.lang,
24953
- "showDel": false
24954
- },
24955
- on: {
24956
- "getConfigData": _vm.getConfigData
24957
- }
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}`
24963
- },
24964
- on: {
24965
- "dragover": _vm.dragover,
24966
- "dragend": function ($event) {
24967
- _vm.showAddCom = false;
24968
- },
24969
- "drop": _vm.drop
24970
- }
24971
- }, [_c('Draggable', {
24972
- staticStyle: {
24973
- "position": "relative"
24974
- },
24975
- attrs: {
24976
- "chosen-class": "chosen",
24977
- "force-fallback": "true",
24978
- "animation": "1000",
24979
- "move": _vm.onMove
24980
- },
24981
- on: {
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"
24993
- }
24994
- }, [_vm._l(_vm.data.childList, function (item, index) {
24995
- return _c('div', {
24996
- key: item.componentId,
24997
- staticStyle: {
24998
- "position": "relative"
24999
- }
25000
- }, [_c('div', {
25001
- directives: [{
25002
- name: "show",
25003
- rawName: "v-show",
25004
- value: _vm.showAddCom,
25005
- expression: "showAddCom"
25006
- }],
25007
- staticClass: "up_insert",
25008
- attrs: {
25009
- "id": `${item.componentId}-cardTargetup`
25010
- }
25011
- }, [_c('i', {
25012
- staticClass: "icon-up",
25013
- attrs: {
25014
- "id": `${item.componentId}-upi`
25015
- }
25016
- }), _c('span', {
25017
- attrs: {
25018
- "id": `${item.componentId}-upspan`
25019
- }
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);
25057
- };
25058
- var staticRenderFns = [];
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);
25064
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
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
-
25076
-
25077
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
25078
- name: "cms-column-card",
25079
- components: {
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
25236
  /***/ 3167:
25330
25237
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
25331
25238
 
@@ -25390,7 +25297,7 @@ var render = function render() {
25390
25297
  var staticRenderFns = [];
25391
25298
 
25392
25299
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25393
- var baseComp = __webpack_require__(537);
25300
+ var baseComp = __webpack_require__(5298);
25394
25301
  ;// ./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
25302
 
25396
25303
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -25570,7 +25477,7 @@ var render = function render() {
25570
25477
  var staticRenderFns = [];
25571
25478
 
25572
25479
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25573
- var baseComp = __webpack_require__(537);
25480
+ var baseComp = __webpack_require__(5298);
25574
25481
  ;// ./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
25482
 
25576
25483
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -25844,7 +25751,7 @@ var render = function render() {
25844
25751
  var staticRenderFns = [];
25845
25752
 
25846
25753
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25847
- var baseComp = __webpack_require__(537);
25754
+ var baseComp = __webpack_require__(5298);
25848
25755
  ;// ./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
25849
25756
 
25850
25757
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -26407,7 +26314,7 @@ __webpack_require__.r(__webpack_exports__);
26407
26314
  __webpack_require__.r(__webpack_exports__);
26408
26315
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
26409
26316
 
26410
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9886));
26317
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 7108));
26411
26318
  const langData = {
26412
26319
  // 布局配置
26413
26320
  layoutType: "100",
@@ -26416,9 +26323,9 @@ const langData = {
26416
26323
  mobileLayout: "vertical",
26417
26324
  fixedHeight: 300,
26418
26325
  // 边框配置
26419
- borderWidth: 1,
26326
+ borderWidth: 0,
26420
26327
  borderStyle: "solid",
26421
- borderColor: "#409eff",
26328
+ borderColor: "",
26422
26329
  borderRadius: 0,
26423
26330
  // 背景配置
26424
26331
  backgroundColor: "#FFF",
@@ -26534,7 +26441,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
26534
26441
  },
26535
26442
  borderColor: {
26536
26443
  label: "边框颜色",
26537
- widgetType: "el-color-picker"
26444
+ widgetType: "el-color-picker",
26445
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
26538
26446
  },
26539
26447
  borderRadius: {
26540
26448
  label: "圆角(px)",
@@ -26546,7 +26454,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
26546
26454
  // 背景配置
26547
26455
  backgroundColor: {
26548
26456
  label: "背景颜色",
26549
- widgetType: "el-color-picker"
26457
+ widgetType: "el-color-picker",
26458
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
26550
26459
  },
26551
26460
  backgroundImage: {
26552
26461
  label: "背景图片",
@@ -26827,6 +26736,7 @@ __webpack_require__.r(__webpack_exports__);
26827
26736
  __webpack_require__.r(__webpack_exports__);
26828
26737
  /* harmony default export */ __webpack_exports__["default"] = ({
26829
26738
  Expand: "展开",
26739
+ More: "查看更多",
26830
26740
  Collpase: "收起",
26831
26741
  discount: '优惠期限:'
26832
26742
  });
@@ -26886,7 +26796,7 @@ var es_iterator_constructor = __webpack_require__(8111);
26886
26796
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
26887
26797
  var es_iterator_reduce = __webpack_require__(8237);
26888
26798
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
26889
- var baseComp = __webpack_require__(537);
26799
+ var baseComp = __webpack_require__(5298);
26890
26800
  // EXTERNAL MODULE: ./package/patch.js
26891
26801
  var patch = __webpack_require__(1618);
26892
26802
  ;// ./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
@@ -27321,7 +27231,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
27321
27231
  },
27322
27232
  color: {
27323
27233
  label: "色值",
27324
- widgetType: "el-color-picker"
27234
+ widgetType: "el-color-picker",
27235
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
27325
27236
  }
27326
27237
  }]
27327
27238
  },
@@ -35940,7 +35851,7 @@ var render = function render() {
35940
35851
  var staticRenderFns = [];
35941
35852
 
35942
35853
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
35943
- var baseComp = __webpack_require__(537);
35854
+ var baseComp = __webpack_require__(5298);
35944
35855
  ;// ./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
35945
35856
 
35946
35857
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -36046,367 +35957,6 @@ module.exports = function isDisjointFrom(other) {
36046
35957
  };
36047
35958
 
36048
35959
 
36049
- /***/ }),
36050
-
36051
- /***/ 4467:
36052
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
36053
-
36054
- "use strict";
36055
- // ESM COMPAT FLAG
36056
- __webpack_require__.r(__webpack_exports__);
36057
-
36058
- // EXPORTS
36059
- __webpack_require__.d(__webpack_exports__, {
36060
- "default": function() { return /* binding */ View; }
36061
- });
36062
-
36063
- ;// ./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-video/View.vue?vue&type=template&id=a681eca6&scoped=true
36064
- var render = function render() {
36065
- var _vm = this,
36066
- _c = _vm._self._c;
36067
- return _c('BaseComp', _vm._b({
36068
- attrs: {
36069
- "data": _vm.data,
36070
- "nowCompId": _vm.nowCompId,
36071
- "isOpcacity": _vm.isOpcacity,
36072
- "isMask": false,
36073
- "lang": _vm.lang
36074
- },
36075
- on: {
36076
- "getConfigData": _vm.getConfigData
36077
- }
36078
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
36079
- staticClass: "cms-video-container",
36080
- class: [_vm.configData.customClass || ''],
36081
- style: _vm.containerStyle
36082
- }, [_c('div', {
36083
- staticClass: "video-wrapper",
36084
- style: _vm.wrapperStyle
36085
- }, [_vm.videoType === 'direct' && _vm.configData.videoUrl ? _c('video', {
36086
- staticClass: "cms-video direct-video",
36087
- style: _vm.videoStyle,
36088
- attrs: {
36089
- "src": _vm.configData.videoUrl,
36090
- "controls": _vm.configData.showControls,
36091
- "autoplay": _vm.configData.autoplay,
36092
- "loop": _vm.configData.loop,
36093
- "poster": _vm.configData.posterUrl
36094
- },
36095
- domProps: {
36096
- "muted": _vm.configData.muted
36097
- },
36098
- on: {
36099
- "loadstart": _vm.onVideoLoadStart,
36100
- "loadeddata": _vm.onVideoLoaded,
36101
- "error": _vm.onVideoError
36102
- }
36103
- }) : _vm.configData.embedCode ? _c('div', {
36104
- staticClass: "cms-video embed-video",
36105
- style: _vm.videoStyle,
36106
- domProps: {
36107
- "innerHTML": _vm._s(_vm.configData.embedCode)
36108
- }
36109
- }) : _c('div', {
36110
- staticClass: "video-placeholder",
36111
- style: _vm.placeholderStyle
36112
- }, [_c('i', {
36113
- staticClass: "el-icon-video-camera-solid"
36114
- }), _c('p', [_vm._v("请设置视频源")])])])])]);
36115
- };
36116
- var staticRenderFns = [];
36117
-
36118
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
36119
- var es_iterator_constructor = __webpack_require__(8111);
36120
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
36121
- var es_iterator_for_each = __webpack_require__(7588);
36122
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
36123
- var es_iterator_map = __webpack_require__(1701);
36124
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
36125
- var baseComp = __webpack_require__(537);
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
36127
-
36128
-
36129
-
36130
-
36131
-
36132
-
36133
-
36134
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
36135
- name: "cms-video",
36136
- components: {
36137
- BaseComp: baseComp["default"]
36138
- },
36139
- props: {
36140
- data: {
36141
- type: Object,
36142
- default: () => {
36143
- return {};
36144
- }
36145
- },
36146
- nowCompId: {
36147
- type: [String, Number],
36148
- default: ""
36149
- },
36150
- isOpcacity: {
36151
- type: Boolean,
36152
- default: true
36153
- },
36154
- lang: {
36155
- type: String,
36156
- default: "zh-HK"
36157
- }
36158
- },
36159
- data() {
36160
- return {
36161
- configData: {},
36162
- videoLoaded: false,
36163
- videoError: false,
36164
- // 默认配置数据
36165
- defaultConfig: {
36166
- // 视频源设置
36167
- videoType: "direct",
36168
- videoUrl: "",
36169
- embedCode: "",
36170
- posterUrl: "",
36171
- // 播放控制
36172
- showControls: true,
36173
- autoplay: false,
36174
- loop: false,
36175
- muted: false,
36176
- // 尺寸控制
36177
- widthType: "auto",
36178
- widthValue: 100,
36179
- heightType: "auto",
36180
- heightValue: 100,
36181
- aspectRatio: "16:9",
36182
- customAspectRatio: "16:9",
36183
- maxWidth: 0,
36184
- maxHeight: 0,
36185
- // 样式设置
36186
- borderRadius: 0,
36187
- // 高级配置
36188
- customClass: "",
36189
- customStyle: ""
36190
- }
36191
- };
36192
- },
36193
- mounted() {
36194
- this.initConfigData();
36195
- },
36196
- watch: {
36197
- configData: {
36198
- handler() {
36199
- this.updateStyles();
36200
- },
36201
- deep: true
36202
- }
36203
- },
36204
- computed: {
36205
- // 视频类型
36206
- videoType() {
36207
- return this.configData.videoType || this.defaultConfig.videoType;
36208
- },
36209
- // 实际使用的宽高比
36210
- actualAspectRatio() {
36211
- const config = {
36212
- ...this.defaultConfig,
36213
- ...this.configData
36214
- };
36215
- if (config.aspectRatio === 'custom') {
36216
- return config.customAspectRatio || '16:9';
36217
- }
36218
- return config.aspectRatio;
36219
- },
36220
- // 容器样式
36221
- containerStyle() {
36222
- const config = {
36223
- ...this.defaultConfig,
36224
- ...this.configData
36225
- };
36226
- return {
36227
- ...this.parseCustomStyle(config.customStyle)
36228
- };
36229
- },
36230
- // 包装器样式
36231
- wrapperStyle() {
36232
- const config = {
36233
- ...this.defaultConfig,
36234
- ...this.configData
36235
- };
36236
- let width = 'auto';
36237
- let height = 'auto';
36238
-
36239
- // 宽度设置
36240
- if (config.widthType === 'fixed') {
36241
- width = `${config.widthValue}px`;
36242
- } else if (config.widthType === 'percent') {
36243
- width = `${config.widthValue}%`;
36244
- }
36245
-
36246
- // 高度设置
36247
- if (config.heightType === 'fixed') {
36248
- height = `${config.heightValue}px`;
36249
- } else if (config.heightType === 'percent') {
36250
- height = `${config.heightValue}%`;
36251
- } else if (config.heightType === 'aspect') {
36252
- // 根据宽高比计算高度
36253
- height = 'auto';
36254
- }
36255
- return {
36256
- width,
36257
- height,
36258
- maxWidth: config.maxWidth > 0 ? `${config.maxWidth}px` : 'none',
36259
- maxHeight: config.maxHeight > 0 ? `${config.maxHeight}px` : 'none',
36260
- borderRadius: `${config.borderRadius}px`,
36261
- overflow: 'hidden',
36262
- display: 'block',
36263
- position: 'relative'
36264
- };
36265
- },
36266
- // 视频样式
36267
- videoStyle() {
36268
- const config = {
36269
- ...this.defaultConfig,
36270
- ...this.configData
36271
- };
36272
- let style = {
36273
- width: '100%',
36274
- height: '100%',
36275
- display: 'block',
36276
- border: 'none',
36277
- outline: 'none'
36278
- };
36279
-
36280
- // 如果是宽高比模式,设置aspect-ratio
36281
- if (config.heightType === 'aspect') {
36282
- style.aspectRatio = this.actualAspectRatio.replace(':', '/');
36283
- }
36284
- return style;
36285
- },
36286
- // 占位符样式
36287
- placeholderStyle() {
36288
- const config = {
36289
- ...this.defaultConfig,
36290
- ...this.configData
36291
- };
36292
- let width = '400px';
36293
- let height = '225px'; // 16:9 比例
36294
-
36295
- // 如果设置了固定尺寸,使用设置的尺寸
36296
- if (config.widthType === 'fixed') {
36297
- width = `${config.widthValue}px`;
36298
- }
36299
- if (config.heightType === 'fixed') {
36300
- height = `${config.heightValue}px`;
36301
- } else if (config.heightType === 'aspect') {
36302
- const [w, h] = this.actualAspectRatio.split(':').map(Number);
36303
- const widthPx = parseInt(width);
36304
- height = `${Math.round(widthPx * h / w)}px`;
36305
- }
36306
- return {
36307
- width,
36308
- height,
36309
- backgroundColor: '#f5f7fa',
36310
- border: '1px dashed #dcdfe6',
36311
- borderRadius: `${config.borderRadius}px`,
36312
- display: 'flex',
36313
- flexDirection: 'column',
36314
- alignItems: 'center',
36315
- justifyContent: 'center',
36316
- color: '#909399',
36317
- fontSize: '14px'
36318
- };
36319
- }
36320
- },
36321
- methods: {
36322
- // 初始化配置数据
36323
- initConfigData() {
36324
- this.configData = {
36325
- ...this.defaultConfig,
36326
- ...this.configData
36327
- };
36328
- },
36329
- // 获取配置数据
36330
- getConfigData(configData) {
36331
- this.configData = {
36332
- ...this.defaultConfig,
36333
- ...configData
36334
- };
36335
- this.updateStyles();
36336
- },
36337
- // 更新样式
36338
- updateStyles() {
36339
- this.$nextTick(() => {
36340
- this.$forceUpdate();
36341
- });
36342
- },
36343
- // 视频开始加载
36344
- onVideoLoadStart() {
36345
- this.videoLoaded = false;
36346
- this.videoError = false;
36347
- },
36348
- // 视频加载完成
36349
- onVideoLoaded() {
36350
- this.videoLoaded = true;
36351
- this.videoError = false;
36352
- },
36353
- // 视频加载失败
36354
- onVideoError() {
36355
- this.videoLoaded = false;
36356
- this.videoError = true;
36357
- },
36358
- // 解析自定义样式
36359
- parseCustomStyle(customStyle) {
36360
- if (!customStyle) return {};
36361
- try {
36362
- const styles = {};
36363
- const declarations = customStyle.split(';');
36364
- declarations.forEach(declaration => {
36365
- const [property, value] = declaration.split(':');
36366
- if (property && value) {
36367
- const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
36368
- styles[camelCaseProperty] = value.trim();
36369
- }
36370
- });
36371
- return styles;
36372
- } catch (error) {
36373
- console.warn('解析自定义样式失败:', error);
36374
- return {};
36375
- }
36376
- }
36377
- }
36378
- });
36379
- ;// ./package/cms-video/View.vue?vue&type=script&lang=js
36380
- /* harmony default export */ var cms_video_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
36381
- ;// ./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-video/View.vue?vue&type=style&index=0&id=a681eca6&prod&lang=scss&scoped=true
36382
- // extracted by mini-css-extract-plugin
36383
-
36384
- ;// ./package/cms-video/View.vue?vue&type=style&index=0&id=a681eca6&prod&lang=scss&scoped=true
36385
-
36386
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
36387
- var componentNormalizer = __webpack_require__(1656);
36388
- ;// ./package/cms-video/View.vue
36389
-
36390
-
36391
-
36392
- ;
36393
-
36394
-
36395
- /* normalize component */
36396
-
36397
- var component = (0,componentNormalizer/* default */.A)(
36398
- cms_video_Viewvue_type_script_lang_js,
36399
- render,
36400
- staticRenderFns,
36401
- false,
36402
- null,
36403
- "a681eca6",
36404
- null
36405
-
36406
- )
36407
-
36408
- /* harmony default export */ var View = (component.exports);
36409
-
36410
35960
  /***/ }),
36411
35961
 
36412
35962
  /***/ 4483:
@@ -37044,6 +36594,14 @@ exportTypedArrayMethod('toSorted', function toSorted(compareFn) {
37044
36594
  });
37045
36595
 
37046
36596
 
36597
+ /***/ }),
36598
+
36599
+ /***/ 4806:
36600
+ /***/ (function(module) {
36601
+
36602
+ "use strict";
36603
+ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAgoSURBVHgB7d1RbtxEGMDxb5yq8JgbsJygSaFIPJGcgHKCxuEAlBMkPQHliQcELjcoJ2h4QgLSLidguUEeaUV2mHHXtJRmMvbu2jPf/H9SIBVqidT5r+1vvR4RAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDSjKyheWZndin3jZFP3S9nAqRjLtZ9vZAH9cdmIQMNDuT73+w9U8lD9+2uAOm68C/ixx+aH2SAQYF8+6s9uLEjTwTIxaUc1nfMmfRUyQAujkaAnAxcs70D8UcP4XoD+Zk1L9duL70DqSrZEyBDywFrd8gpFhflyFXvtTvoGgQoBYEAAQQCBBAIEEAgQACBAAEEAgQQCBBAIEAAgQABBAIEEAgQQCBAAIEAAQQCBBAIEEAgQACBAAEEAgQQCBBAIEAAgQABBAIEEAgQcEPKdmFFfvePyTeVzP2vV1/e7nIpM2Pap/HtGZFbguIUGYiL4ie38E/dt/PjfXMR83v8XiiylCMxck94NnExigqkDeO5HB0P2FCl3m9/z6n/as6tD+VECEW9Uq5BFm5BHx7fNgfr7DbUqT8wj/yf54IbtCkL8lFCIHN5LofuCHAmG+SPKC64I3dY+lKglvZAfvCv9Js4alzFHU0eyt+yL68u7qGI5kDmtXuFryMvwtdRf2TmcimfCdTRGsjCnVaNumDb/e843VJHZyDPt3tadZX2dEvkTKCGvkCsPJoijn8ZqYXrETX0BfJCHsiE/HRraeVrgQq6Apn66LFSVeJPtTiKKKArkImPHh0/OfPv2guypymQeQpHj465bI8iyJyaQKxN7BX7Rnt3MDKnJhB3YXwmCVm9QUkkmVMTyM6Oe3MwMe1nTZA1TdcgC0mNZZKVOzWBjHHPVV+WUW/2+Ew6EKAmkOaZ3ZXEGJHkfib0oyaQv/5KcDEaPpKbOzWB3LwpB5IYdwR5T5A1NYG4xbgnCVmd8iX1M6E/PYEY+UQScnmZ3hEN/WmaYu01v9hkXrGrSu4KsqdqzLvcSWNR+ofMuVO+e4LsqQqkMvJFEuPeJXFooe2Nwl23OE9kQu0jSl8+1hQK6Hsn3cj95ld7IBOxljg00XmryY40U5xqNef2hGsPXbTeizUTK0/GjKT5zd7l1EofzTcr7rnrkVGOJN/6U7pKGoE6uu/mNW7s648kP7sL5y357tzev7EjT4QbE1Uq4Xb3PXlHnnzn9/TYIH9kctccX7nR8lcCtUr5PMjMLeTGLehm3aPJKowTd2T6w0/MJA8X7ud90D7p/rYx/st9v8/+Jtcraws2I0fuaHLkFvjjpciPn/uNcCJ948J696abUFkXhcnqdGrxtmcV1/vGP1DiyAV/6k9Dhd2y3qrMTTzdtYk7dN5tnlp/YX3m3rv43b2azpfLV59rr6p2wexWfvNO0954OJP8LK57kLd/VKqL5JBI3q70XW69A3fCceDev5BqRzS5iH3KfRvJL/YztxoYNryBz6RrtZS6z5Mm202A2N/kfwhEI3dBXn9oHktP7eakNo3nG6eCQJRx11Nfu4V+KgOtfi/TrRUC0WV+/IFZf/T8cnzNY1OFQDTZ2L6M7UP4TPtnLaRwBKLDxab3ZfSTLfm7jaTop0MSiAY9J1axmGwRSP4GTqxilT7ZIpCMrTuxilXyZItA8rWZiVWsQidbBJKnjU2sYpU62SKQ/Gx8YhWrxMkWgeRmSxOrWKVNtggkJ1ueWMUqabJFIJkYa2IVq5TJFoHkYdyJVawCJlsEkr7RJ1axSphsEUjaJptYxdI+2SKQlE08sYqlebJFIKlKZGIVS+tkq7RA5kv/Smfk/dXXvvtLrSWxc+jUJlaxNE62inmqiV90V0yC/BTmUXNuT10wk+4tspLmxCqWn2xZuSVKNjAt4wjiDv3XLbr21W/6U4RkJ1axtE229Afiz+UjT1cmjiT5iVUsTZMt3YH0iKMzWSSZTKxiaZls6Q1kQByd0SPJbGIVS8NkS2cga8TRGSuSXCdWsXKfbOkLZANxdEaIJO+JVayM79nSFcgG4+hsMZLsJ1axcp5s6QlkC3F0thCJmolVrFwnWzoC2WIcnY1GomxiFSvHyVb+gYwQR2cjkSidWMXKbbKVdyAjxtFZJxLtE6tYOU228g1kgjg6AyMpY2IVK5PJVp6BTBhHp2ckxUysYuUy2covkATi6ERGsihtYhUrh8lWXoEkFEen/Xku5dCK/PTGf+r2Jt8njqulPtnK5/MgCcbRqe+YM/evg+aZ9TvE+s9BLNpXR0Txk63m3M4S+TzOf+QRSMJxvK49rxY5E/Tm/36bpy4SkXuSkPRPsTKJAxuQ4GQr7UCIoygpTrbSDYQ4ipTaZCvNQIijaClNttILhDgg6dyzlVYgxIHXpHDPVjqBEAfeZuLJVhqBEAeuMPVka/pAiAPXmHKyNW0gxIFIU022pguEONDTFJOtaQIhDgw09mRr/ECIA+sacbI1biDEgQ0Yc7I1XiDEgQ0aa7I1TiDEgS0YY7I1zgemjJw0T21ynxYDrsMmnkAAgQABBAIEEAgQQCBAAIEAAQQCBBAIEEAgQACBAAEEAgQQCBBAIEAAgQABBAIEEAgQQCBAAIEAAUMCSXbLXuAavddu70CqZVp7yAGxqqr/2jUyQPPU/uH+NRMgH4v6tnlfehp2DXIptQA5McPW7KBA6jvmTGz7P+R6BKm78Gu13ndrdoBBp1id5pmdWSun7ts99wfdEiARVuRP94/H5oU8rD82CwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6PQPqhbJqz3H0TgAAAAASUVORK5CYII=";
36604
+
37047
36605
  /***/ }),
37048
36606
 
37049
36607
  /***/ 4811:
@@ -37394,329 +36952,6 @@ if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {
37394
36952
  }
37395
36953
 
37396
36954
 
37397
- /***/ }),
37398
-
37399
- /***/ 4986:
37400
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
37401
-
37402
- "use strict";
37403
- // ESM COMPAT FLAG
37404
- __webpack_require__.r(__webpack_exports__);
37405
-
37406
- // EXPORTS
37407
- __webpack_require__.d(__webpack_exports__, {
37408
- "default": function() { return /* binding */ View; }
37409
- });
37410
-
37411
- ;// ./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-image/View.vue?vue&type=template&id=2c876c4d&scoped=true
37412
- var render = function render() {
37413
- var _vm = this,
37414
- _c = _vm._self._c;
37415
- return _c('BaseComp', _vm._b({
37416
- attrs: {
37417
- "data": _vm.data,
37418
- "nowCompId": _vm.nowCompId,
37419
- "isOpcacity": _vm.isOpcacity,
37420
- "lang": _vm.lang
37421
- },
37422
- on: {
37423
- "getConfigData": _vm.getConfigData
37424
- }
37425
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
37426
- staticClass: "cms-image-container",
37427
- class: [_vm.configData.customClass || '', {
37428
- 'has-link': _vm.configData.linkUrl
37429
- }],
37430
- style: _vm.containerStyle
37431
- }, [_c('div', {
37432
- staticClass: "image-wrapper",
37433
- style: _vm.wrapperStyle,
37434
- on: {
37435
- "click": _vm.handleClick
37436
- }
37437
- }, [_vm.configData.imageUrl ? _c('img', {
37438
- staticClass: "cms-image",
37439
- style: _vm.imageStyle,
37440
- attrs: {
37441
- "src": _vm.configData.imageUrl,
37442
- "alt": _vm.configData.altText || '图片',
37443
- "title": _vm.configData.title
37444
- },
37445
- on: {
37446
- "load": _vm.onImageLoad,
37447
- "error": _vm.onImageError
37448
- }
37449
- }) : _c('div', {
37450
- staticClass: "image-placeholder",
37451
- style: _vm.placeholderStyle
37452
- }, [_c('i', {
37453
- staticClass: "el-icon-picture-outline"
37454
- }), _c('p', [_vm._v("请选择图片")])])])])]);
37455
- };
37456
- var staticRenderFns = [];
37457
-
37458
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
37459
- var es_iterator_constructor = __webpack_require__(8111);
37460
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
37461
- var es_iterator_for_each = __webpack_require__(7588);
37462
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
37463
- var baseComp = __webpack_require__(537);
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
37465
-
37466
-
37467
-
37468
-
37469
-
37470
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
37471
- name: "cms-image",
37472
- components: {
37473
- BaseComp: baseComp["default"]
37474
- },
37475
- props: {
37476
- data: {
37477
- type: Object,
37478
- default: () => {
37479
- return {};
37480
- }
37481
- },
37482
- nowCompId: {
37483
- type: [String, Number],
37484
- default: ""
37485
- },
37486
- isOpcacity: {
37487
- type: Boolean,
37488
- default: true
37489
- },
37490
- lang: {
37491
- type: String,
37492
- default: "zh-HK"
37493
- }
37494
- },
37495
- data() {
37496
- return {
37497
- configData: {},
37498
- imageLoaded: false,
37499
- imageError: false,
37500
- // 默认配置数据
37501
- defaultConfig: {
37502
- // 图片设置
37503
- imageUrl: "",
37504
- altText: "图片",
37505
- title: "",
37506
- // 尺寸控制
37507
- widthType: "auto",
37508
- widthValue: 100,
37509
- heightType: "auto",
37510
- heightValue: 100,
37511
- maxWidth: 0,
37512
- maxHeight: 0,
37513
- // 样式设置
37514
- borderRadius: 0,
37515
- objectFit: "cover",
37516
- // 交互功能
37517
- linkUrl: "",
37518
- linkTarget: "_self",
37519
- // 高级配置
37520
- customClass: "",
37521
- customStyle: "",
37522
- lazyLoad: false
37523
- }
37524
- };
37525
- },
37526
- mounted() {
37527
- this.initConfigData();
37528
- },
37529
- watch: {
37530
- configData: {
37531
- handler() {
37532
- this.updateStyles();
37533
- },
37534
- deep: true
37535
- }
37536
- },
37537
- computed: {
37538
- // 容器样式
37539
- containerStyle() {
37540
- const config = {
37541
- ...this.defaultConfig,
37542
- ...this.configData
37543
- };
37544
- return {
37545
- ...this.parseCustomStyle(config.customStyle)
37546
- };
37547
- },
37548
- // 包装器样式
37549
- wrapperStyle() {
37550
- const config = {
37551
- ...this.defaultConfig,
37552
- ...this.configData
37553
- };
37554
- let width = 'auto';
37555
- let height = 'auto';
37556
-
37557
- // 宽度设置
37558
- if (config.widthType === 'fixed') {
37559
- width = `${config.widthValue}px`;
37560
- } else if (config.widthType === 'percent') {
37561
- width = `${config.widthValue}%`;
37562
- }
37563
-
37564
- // 高度设置
37565
- if (config.heightType === 'fixed') {
37566
- height = `${config.heightValue}px`;
37567
- } else if (config.heightType === 'percent') {
37568
- height = `${config.heightValue}%`;
37569
- }
37570
- return {
37571
- width,
37572
- height,
37573
- maxWidth: config.maxWidth > 0 ? `${config.maxWidth}px` : 'none',
37574
- maxHeight: config.maxHeight > 0 ? `${config.maxHeight}px` : 'none',
37575
- borderRadius: `${config.borderRadius}px`,
37576
- overflow: 'hidden',
37577
- cursor: config.linkUrl ? 'pointer' : 'default',
37578
- display: 'inline-block'
37579
- };
37580
- },
37581
- // 图片样式
37582
- imageStyle() {
37583
- const config = {
37584
- ...this.defaultConfig,
37585
- ...this.configData
37586
- };
37587
- return {
37588
- width: '100%',
37589
- height: '100%',
37590
- objectFit: config.objectFit,
37591
- display: 'block'
37592
- };
37593
- },
37594
- // 占位符样式
37595
- placeholderStyle() {
37596
- const config = {
37597
- ...this.defaultConfig,
37598
- ...this.configData
37599
- };
37600
- let width = '200px';
37601
- let height = '150px';
37602
-
37603
- // 如果设置了固定尺寸,使用设置的尺寸
37604
- if (config.widthType === 'fixed') {
37605
- width = `${config.widthValue}px`;
37606
- }
37607
- if (config.heightType === 'fixed') {
37608
- height = `${config.heightValue}px`;
37609
- }
37610
- return {
37611
- width,
37612
- height,
37613
- backgroundColor: '#f5f7fa',
37614
- border: '1px dashed #dcdfe6',
37615
- borderRadius: `${config.borderRadius}px`,
37616
- display: 'flex',
37617
- flexDirection: 'column',
37618
- alignItems: 'center',
37619
- justifyContent: 'center',
37620
- color: '#909399',
37621
- fontSize: '14px'
37622
- };
37623
- }
37624
- },
37625
- methods: {
37626
- // 初始化配置数据
37627
- initConfigData() {
37628
- this.configData = {
37629
- ...this.defaultConfig,
37630
- ...this.configData
37631
- };
37632
- },
37633
- // 获取配置数据
37634
- getConfigData(configData) {
37635
- this.configData = {
37636
- ...this.defaultConfig,
37637
- ...configData
37638
- };
37639
- this.updateStyles();
37640
- },
37641
- // 更新样式
37642
- updateStyles() {
37643
- this.$nextTick(() => {
37644
- this.$forceUpdate();
37645
- });
37646
- },
37647
- // 处理点击事件
37648
- handleClick() {
37649
- if (this.configData.linkUrl) {
37650
- const target = this.configData.linkTarget || '_self';
37651
- if (target === '_blank') {
37652
- window.open(this.configData.linkUrl, '_blank');
37653
- } else {
37654
- window.location.href = this.configData.linkUrl;
37655
- }
37656
- }
37657
- },
37658
- // 图片加载成功
37659
- onImageLoad() {
37660
- this.imageLoaded = true;
37661
- this.imageError = false;
37662
- },
37663
- // 图片加载失败
37664
- onImageError() {
37665
- this.imageLoaded = false;
37666
- this.imageError = true;
37667
- },
37668
- // 解析自定义样式
37669
- parseCustomStyle(customStyle) {
37670
- if (!customStyle) return {};
37671
- try {
37672
- const styles = {};
37673
- const declarations = customStyle.split(';');
37674
- declarations.forEach(declaration => {
37675
- const [property, value] = declaration.split(':');
37676
- if (property && value) {
37677
- const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
37678
- styles[camelCaseProperty] = value.trim();
37679
- }
37680
- });
37681
- return styles;
37682
- } catch (error) {
37683
- console.warn('解析自定义样式失败:', error);
37684
- return {};
37685
- }
37686
- }
37687
- }
37688
- });
37689
- ;// ./package/cms-image/View.vue?vue&type=script&lang=js
37690
- /* harmony default export */ var cms_image_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
37691
- ;// ./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-image/View.vue?vue&type=style&index=0&id=2c876c4d&prod&lang=scss&scoped=true
37692
- // extracted by mini-css-extract-plugin
37693
-
37694
- ;// ./package/cms-image/View.vue?vue&type=style&index=0&id=2c876c4d&prod&lang=scss&scoped=true
37695
-
37696
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
37697
- var componentNormalizer = __webpack_require__(1656);
37698
- ;// ./package/cms-image/View.vue
37699
-
37700
-
37701
-
37702
- ;
37703
-
37704
-
37705
- /* normalize component */
37706
-
37707
- var component = (0,componentNormalizer/* default */.A)(
37708
- cms_image_Viewvue_type_script_lang_js,
37709
- render,
37710
- staticRenderFns,
37711
- false,
37712
- null,
37713
- "2c876c4d",
37714
- null
37715
-
37716
- )
37717
-
37718
- /* harmony default export */ var View = (component.exports);
37719
-
37720
36955
  /***/ }),
37721
36956
 
37722
36957
  /***/ 5002:
@@ -38804,12 +38039,13 @@ var map = {
38804
38039
  "./cms-banner/View.vue": 2646,
38805
38040
  "./cms-button/View.vue": 2404,
38806
38041
  "./cms-cells/View.vue": 5700,
38807
- "./cms-column-card/View.vue": 3164,
38808
- "./cms-column/View.vue": 9886,
38042
+ "./cms-column-card/View.vue": 2328,
38043
+ "./cms-column/View.vue": 7108,
38809
38044
  "./cms-description/View.vue": 3203,
38810
38045
  "./cms-dynamic-comp/View.vue": 1705,
38811
38046
  "./cms-iconFour/View.vue": 8235,
38812
- "./cms-image/View.vue": 4986,
38047
+ "./cms-image-group/View.vue": 9345,
38048
+ "./cms-image/View.vue": 5314,
38813
38049
  "./cms-imgFour/View.vue": 8238,
38814
38050
  "./cms-lineFive/View.vue": 4432,
38815
38051
  "./cms-lineFour/View.vue": 9703,
@@ -38828,7 +38064,8 @@ var map = {
38828
38064
  "./cms-titleCenter/View.vue": 8106,
38829
38065
  "./cms-titleLeft/View.vue": 9004,
38830
38066
  "./cms-via-storedValueCard/View.vue": 7243,
38831
- "./cms-video/View.vue": 4467,
38067
+ "./cms-video-group/View.vue": 8216,
38068
+ "./cms-video/View.vue": 8573,
38832
38069
  "./cms-view/View.vue": 1380
38833
38070
  };
38834
38071
 
@@ -38865,6 +38102,272 @@ module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;
38865
38102
 
38866
38103
  /***/ }),
38867
38104
 
38105
+ /***/ 5298:
38106
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
38107
+
38108
+ "use strict";
38109
+ // ESM COMPAT FLAG
38110
+ __webpack_require__.r(__webpack_exports__);
38111
+
38112
+ // EXPORTS
38113
+ __webpack_require__.d(__webpack_exports__, {
38114
+ "default": function() { return /* binding */ baseComp; }
38115
+ });
38116
+
38117
+ ;// ./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=e19eaa9e&scoped=true
38118
+ var render = function render() {
38119
+ var _vm = this,
38120
+ _c = _vm._self._c;
38121
+ return _vm.$EventBus && _vm.isOpcacity ? _c('div', {
38122
+ key: _vm.data.componentId,
38123
+ class: [_vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? 'highLight' : ''],
38124
+ style: _vm.showStyleConfig,
38125
+ attrs: {
38126
+ "component-key": _vm.data.cmsCompName
38127
+ },
38128
+ on: {
38129
+ "click": function ($event) {
38130
+ $event.stopPropagation();
38131
+ return _vm.handleNowComp.apply(null, arguments);
38132
+ }
38133
+ }
38134
+ }, [_c('div', {
38135
+ staticClass: "mask-wrap"
38136
+ }, [_vm._t("default", null, {
38137
+ "isMobile": _vm.isMobile
38138
+ }), _vm.isMask ? _c('div', {
38139
+ staticClass: "mask",
38140
+ on: {
38141
+ "click": _vm.handleNowComp
38142
+ }
38143
+ }) : _vm._e()], 2), _vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? _c('div', {
38144
+ staticClass: "com-delete"
38145
+ }, [_vm.showDel ? _c('i', {
38146
+ staticClass: "el-icon-delete",
38147
+ on: {
38148
+ "click": function ($event) {
38149
+ $event.stopPropagation();
38150
+ return _vm.delComp.apply(null, arguments);
38151
+ }
38152
+ }
38153
+ }) : _vm._e(), _c('i', {
38154
+ staticClass: "el-icon-top",
38155
+ on: {
38156
+ "click": function ($event) {
38157
+ $event.stopPropagation();
38158
+ return _vm.selectParentDom.apply(null, arguments);
38159
+ }
38160
+ }
38161
+ })]) : _vm._e()]) : _vm.showSlot ? _c('div', {
38162
+ key: _vm.data.componentId,
38163
+ ref: "targetElement",
38164
+ style: _vm.showStyleConfig
38165
+ }, [_vm._t("default")], 2) : _vm._e();
38166
+ };
38167
+ var staticRenderFns = [];
38168
+
38169
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
38170
+ var es_iterator_constructor = __webpack_require__(8111);
38171
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
38172
+ var es_iterator_reduce = __webpack_require__(8237);
38173
+ // EXTERNAL MODULE: ./package/patch.js
38174
+ var patch = __webpack_require__(1618);
38175
+ // EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js
38176
+ var dayjs_min = __webpack_require__(1576);
38177
+ var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
38178
+ ;// ./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
38179
+
38180
+
38181
+
38182
+
38183
+ // 待办:判断移动pc端填充不同的样式
38184
+
38185
+
38186
+ /* harmony default export */ var baseCompvue_type_script_lang_js = ({
38187
+ name: "baseComp",
38188
+ props: {
38189
+ data: {
38190
+ type: Object,
38191
+ default: () => {
38192
+ return {};
38193
+ }
38194
+ },
38195
+ nowCompId: {
38196
+ type: [String, Number],
38197
+ default: ""
38198
+ },
38199
+ isOpcacity: {
38200
+ type: Boolean,
38201
+ default: true
38202
+ },
38203
+ isMask: {
38204
+ type: Boolean,
38205
+ default: true
38206
+ },
38207
+ lang: {
38208
+ type: String,
38209
+ default: "zh-HK"
38210
+ },
38211
+ timeline: {
38212
+ type: String,
38213
+ default: ""
38214
+ },
38215
+ cmhkChannel: {
38216
+ type: String,
38217
+ default: "WWW"
38218
+ },
38219
+ showDel: {
38220
+ type: Boolean,
38221
+ default: true
38222
+ }
38223
+ },
38224
+ data() {
38225
+ return {
38226
+ styleConfig_mb: {},
38227
+ styleConfig_pc: {},
38228
+ configData: {},
38229
+ elementWidth: 0,
38230
+ resizeObserver: null
38231
+ };
38232
+ },
38233
+ watch: {
38234
+ data: {
38235
+ handler(val) {
38236
+ this.getStyleConfig(val, "pc");
38237
+ this.getStyleConfig(val, "mb");
38238
+ this.getValue(this.lang);
38239
+ },
38240
+ deep: true,
38241
+ immediate: true
38242
+ },
38243
+ lang: {
38244
+ handler(val) {
38245
+ this.getValue(val);
38246
+ },
38247
+ deep: true,
38248
+ immediate: true
38249
+ }
38250
+ },
38251
+ mounted() {
38252
+ if (this.$EventBus && this.isOpcacity) {
38253
+ this.elementWidth = 800;
38254
+ this.$EventBus.$on("handleDeviceChange", isMobile => {
38255
+ this.elementWidth = isMobile ? 700 : 800;
38256
+ });
38257
+ } else if (this.showSlot) {
38258
+ this.resizeObserver = new ResizeObserver(entries => {
38259
+ for (let entry of entries) {
38260
+ this.elementWidth = entry.contentRect.width;
38261
+ // 可以在这里触发自定义逻辑
38262
+ // this.onWidthChange(this.elementWidth);
38263
+ }
38264
+ });
38265
+ const element = document.getElementById("app") || document.getElementById("__nuxt");
38266
+ this.resizeObserver.observe(element);
38267
+ }
38268
+ },
38269
+ beforeDestroy() {
38270
+ // 组件销毁时停止观察
38271
+ if (this.resizeObserver) {
38272
+ this.resizeObserver.disconnect();
38273
+ }
38274
+ },
38275
+ methods: {
38276
+ selectParentDom() {
38277
+ if (!this.isOpcacity) return;
38278
+ this.$EventBus.$emit("handleParentComp", this.data);
38279
+ },
38280
+ onWidthChange(newWidth) {
38281
+ console.log("新宽度:", newWidth, this.isMobile);
38282
+ },
38283
+ getValue(cur_lang) {
38284
+ var _this$data, _this$data$settings;
38285
+ const obj = {
38286
+ "zh-CN": "lang_sc",
38287
+ "zh-HK": "lang_tc",
38288
+ "en-US": "lang_en"
38289
+ };
38290
+ 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) {
38291
+ const baseInfo = (0,patch.transfor)(this.data);
38292
+ this.configData = baseInfo.contentConfig.lang_all ? baseInfo.contentConfig.lang_all : baseInfo.contentConfig[`${obj[cur_lang]}`];
38293
+ } else {
38294
+ this.configData = this.data.contentConfig.lang_all ? this.data.contentConfig.lang_all : this.data.contentConfig[`${obj[cur_lang]}`];
38295
+ }
38296
+ this.$emit("getConfigData", this.configData);
38297
+ },
38298
+ getStyleConfig(data, type) {
38299
+ this[`styleConfig_${type}`] = data.styleConfig[type].reduce((pre, cur) => {
38300
+ pre[cur.key] = cur.value + cur.unit;
38301
+ return pre;
38302
+ }, {});
38303
+ },
38304
+ handleNowComp() {
38305
+ if (!this.isOpcacity) return;
38306
+ this.$EventBus.$emit("handleNowComp", this.data);
38307
+ },
38308
+ delComp() {
38309
+ this.$EventBus.$emit("handleDeleteComp", this.data.componentId);
38310
+ }
38311
+ },
38312
+ computed: {
38313
+ showStyleConfig() {
38314
+ if (!this.elementWidth) return {};
38315
+ return this.isMobile ? this.styleConfig_mb : this.styleConfig_pc;
38316
+ },
38317
+ isMobile() {
38318
+ return this.elementWidth < 760;
38319
+ },
38320
+ showSlot() {
38321
+ if (this.$EventBus && this.isOpcacity) return false;
38322
+ const {
38323
+ cmhkChannelConfList = [],
38324
+ startTime = "",
38325
+ endTime = ""
38326
+ } = this.data.baseConfig;
38327
+ console.log("this.cmhkChannel", this.cmhkChannel, this.data.baseConfig);
38328
+ const channelVisable = cmhkChannelConfList.includes("ALL") || cmhkChannelConfList.includes(this.cmhkChannel);
38329
+ if (!channelVisable) return false;
38330
+ if (!startTime && !endTime) return true;
38331
+ const currentTime = this.timeline ? dayjs_min_default()(this.timeline) : dayjs_min_default()();
38332
+ const isStart = startTime ? dayjs_min_default()(currentTime).isAfter(dayjs_min_default()(startTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(startTime)) : true;
38333
+ const isEnd = endTime ? dayjs_min_default()(currentTime).isBefore(dayjs_min_default()(endTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(endTime)) : true;
38334
+ return isStart && isEnd;
38335
+ }
38336
+ }
38337
+ });
38338
+ ;// ./package/baseComp.vue?vue&type=script&lang=js
38339
+ /* harmony default export */ var package_baseCompvue_type_script_lang_js = (baseCompvue_type_script_lang_js);
38340
+ ;// ./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=e19eaa9e&prod&lang=scss&scoped=true
38341
+ // extracted by mini-css-extract-plugin
38342
+
38343
+ ;// ./package/baseComp.vue?vue&type=style&index=0&id=e19eaa9e&prod&lang=scss&scoped=true
38344
+
38345
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
38346
+ var componentNormalizer = __webpack_require__(1656);
38347
+ ;// ./package/baseComp.vue
38348
+
38349
+
38350
+
38351
+ ;
38352
+
38353
+
38354
+ /* normalize component */
38355
+
38356
+ var component = (0,componentNormalizer/* default */.A)(
38357
+ package_baseCompvue_type_script_lang_js,
38358
+ render,
38359
+ staticRenderFns,
38360
+ false,
38361
+ null,
38362
+ "e19eaa9e",
38363
+ null
38364
+
38365
+ )
38366
+
38367
+ /* harmony default export */ var baseComp = (component.exports);
38368
+
38369
+ /***/ }),
38370
+
38868
38371
  /***/ 5302:
38869
38372
  /***/ (function(module) {
38870
38373
 
@@ -38878,6 +38381,340 @@ module.exports = Number.isNaN || function isNaN(a) {
38878
38381
 
38879
38382
  /***/ }),
38880
38383
 
38384
+ /***/ 5314:
38385
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
38386
+
38387
+ "use strict";
38388
+ // ESM COMPAT FLAG
38389
+ __webpack_require__.r(__webpack_exports__);
38390
+
38391
+ // EXPORTS
38392
+ __webpack_require__.d(__webpack_exports__, {
38393
+ "default": function() { return /* binding */ View; }
38394
+ });
38395
+
38396
+ ;// ./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-image/View.vue?vue&type=template&id=5dac7dea&scoped=true
38397
+ var render = function render() {
38398
+ var _vm = this,
38399
+ _c = _vm._self._c;
38400
+ return _c('BaseComp', _vm._b({
38401
+ attrs: {
38402
+ "data": _vm.data,
38403
+ "nowCompId": _vm.nowCompId,
38404
+ "isOpcacity": _vm.isOpcacity,
38405
+ "lang": _vm.lang
38406
+ },
38407
+ on: {
38408
+ "getConfigData": _vm.getConfigData
38409
+ }
38410
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
38411
+ staticClass: "cms-image-container",
38412
+ class: [_vm.configData.customClass || '', {
38413
+ 'has-link': _vm.configData.linkUrl
38414
+ }],
38415
+ style: _vm.containerStyle
38416
+ }, [_c('div', {
38417
+ staticClass: "image-wrapper",
38418
+ style: _vm.wrapperStyle,
38419
+ on: {
38420
+ "click": _vm.handleClick
38421
+ }
38422
+ }, [_vm.configData.imageUrl ? _c('img', {
38423
+ staticClass: "cms-image",
38424
+ style: _vm.imageStyle,
38425
+ attrs: {
38426
+ "src": _vm.configData.imageUrl,
38427
+ "alt": _vm.configData.altText || '图片',
38428
+ "title": _vm.configData.title
38429
+ },
38430
+ on: {
38431
+ "load": _vm.onImageLoad,
38432
+ "error": _vm.onImageError
38433
+ }
38434
+ }) : _c('div', {
38435
+ staticClass: "image-placeholder",
38436
+ style: _vm.placeholderStyle
38437
+ }, [_c('img', {
38438
+ staticStyle: {
38439
+ "width": "200px",
38440
+ "height": "200px"
38441
+ },
38442
+ attrs: {
38443
+ "src": __webpack_require__(4806),
38444
+ "alt": "Picture"
38445
+ }
38446
+ })])])]), _c('div', {
38447
+ staticClass: "f-c-c"
38448
+ }, [_vm._v(_vm._s(_vm.configData.remark))])]);
38449
+ };
38450
+ var staticRenderFns = [];
38451
+
38452
+ ;// ./package/cms-image/View.vue?vue&type=template&id=5dac7dea&scoped=true
38453
+
38454
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
38455
+ var es_iterator_constructor = __webpack_require__(8111);
38456
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
38457
+ var es_iterator_for_each = __webpack_require__(7588);
38458
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
38459
+ var baseComp = __webpack_require__(5298);
38460
+ ;// ./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
38461
+
38462
+
38463
+
38464
+
38465
+
38466
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
38467
+ name: "cms-image",
38468
+ components: {
38469
+ BaseComp: baseComp["default"]
38470
+ },
38471
+ props: {
38472
+ data: {
38473
+ type: Object,
38474
+ default: () => {
38475
+ return {};
38476
+ }
38477
+ },
38478
+ nowCompId: {
38479
+ type: [String, Number],
38480
+ default: ""
38481
+ },
38482
+ isOpcacity: {
38483
+ type: Boolean,
38484
+ default: true
38485
+ },
38486
+ lang: {
38487
+ type: String,
38488
+ default: "zh-HK"
38489
+ }
38490
+ },
38491
+ data() {
38492
+ return {
38493
+ configData: {},
38494
+ imageLoaded: false,
38495
+ imageError: false,
38496
+ // 默认配置数据
38497
+ defaultConfig: {
38498
+ // 图片设置
38499
+ imageUrl: "",
38500
+ altText: "图片",
38501
+ title: "",
38502
+ // 尺寸控制
38503
+ widthType: "auto",
38504
+ widthValue: 100,
38505
+ heightType: "auto",
38506
+ heightValue: 100,
38507
+ maxWidth: 0,
38508
+ maxHeight: 0,
38509
+ // 样式设置
38510
+ borderRadius: 0,
38511
+ objectFit: "cover",
38512
+ // 交互功能
38513
+ linkUrl: "",
38514
+ linkTarget: "_self",
38515
+ // 高级配置
38516
+ customClass: "",
38517
+ customStyle: "",
38518
+ lazyLoad: false
38519
+ }
38520
+ };
38521
+ },
38522
+ mounted() {
38523
+ this.initConfigData();
38524
+ },
38525
+ watch: {
38526
+ configData: {
38527
+ handler() {
38528
+ this.updateStyles();
38529
+ },
38530
+ deep: true
38531
+ }
38532
+ },
38533
+ computed: {
38534
+ // 容器样式
38535
+ containerStyle() {
38536
+ const config = {
38537
+ ...this.defaultConfig,
38538
+ ...this.configData
38539
+ };
38540
+ return {
38541
+ ...this.parseCustomStyle(config.customStyle)
38542
+ };
38543
+ },
38544
+ // 包装器样式
38545
+ wrapperStyle() {
38546
+ const config = {
38547
+ ...this.defaultConfig,
38548
+ ...this.configData
38549
+ };
38550
+ let width = "100%";
38551
+ let height = "auto";
38552
+
38553
+ // 宽度设置
38554
+ if (config.widthType === "fixed") {
38555
+ width = `${config.widthValue}px`;
38556
+ } else if (config.widthType === "percent") {
38557
+ width = `${config.widthValue}%`;
38558
+ }
38559
+
38560
+ // 高度设置
38561
+ if (config.heightType === "fixed") {
38562
+ height = `${config.heightValue}px`;
38563
+ } else if (config.heightType === "percent") {
38564
+ height = `${config.heightValue}%`;
38565
+ }
38566
+ return {
38567
+ width,
38568
+ height,
38569
+ maxWidth: config.maxWidth > 0 ? `${config.maxWidth}px` : "none",
38570
+ maxHeight: config.maxHeight > 0 ? `${config.maxHeight}px` : "none",
38571
+ borderRadius: `${config.borderRadius}px`,
38572
+ overflow: "hidden",
38573
+ cursor: config.linkUrl ? "pointer" : "default",
38574
+ display: "inline-block"
38575
+ };
38576
+ },
38577
+ // 图片样式
38578
+ imageStyle() {
38579
+ const config = {
38580
+ ...this.defaultConfig,
38581
+ ...this.configData
38582
+ };
38583
+ return {
38584
+ width: "100%",
38585
+ height: "100%",
38586
+ objectFit: config.objectFit,
38587
+ display: "block"
38588
+ };
38589
+ },
38590
+ // 占位符样式
38591
+ placeholderStyle() {
38592
+ const config = {
38593
+ ...this.defaultConfig,
38594
+ ...this.configData
38595
+ };
38596
+ let width = "100%";
38597
+ let height = "auto";
38598
+
38599
+ // 如果设置了固定尺寸,使用设置的尺寸
38600
+ if (config.widthType === "fixed") {
38601
+ width = `${config.widthValue}px`;
38602
+ }
38603
+ if (config.heightType === "fixed") {
38604
+ height = `${config.heightValue}px`;
38605
+ }
38606
+ return {
38607
+ width,
38608
+ height,
38609
+ backgroundColor: "#F2F9FF",
38610
+ border: "1px dashed #dcdfe6",
38611
+ borderRadius: `${config.borderRadius}px`,
38612
+ display: "flex",
38613
+ flexDirection: "column",
38614
+ alignItems: "center",
38615
+ justifyContent: "center",
38616
+ color: "#909399",
38617
+ fontSize: "14px"
38618
+ };
38619
+ }
38620
+ },
38621
+ methods: {
38622
+ // 初始化配置数据
38623
+ initConfigData() {
38624
+ this.configData = {
38625
+ ...this.defaultConfig,
38626
+ ...this.configData
38627
+ };
38628
+ },
38629
+ // 获取配置数据
38630
+ getConfigData(configData) {
38631
+ this.configData = {
38632
+ ...this.defaultConfig,
38633
+ ...configData
38634
+ };
38635
+ this.updateStyles();
38636
+ },
38637
+ // 更新样式
38638
+ updateStyles() {
38639
+ this.$nextTick(() => {
38640
+ this.$forceUpdate();
38641
+ });
38642
+ },
38643
+ // 处理点击事件
38644
+ handleClick() {
38645
+ if (this.configData.linkUrl) {
38646
+ const target = this.configData.linkTarget || "_self";
38647
+ if (target === "_blank") {
38648
+ window.open(this.configData.linkUrl, "_blank");
38649
+ } else {
38650
+ window.location.href = this.configData.linkUrl;
38651
+ }
38652
+ }
38653
+ },
38654
+ // 图片加载成功
38655
+ onImageLoad() {
38656
+ this.imageLoaded = true;
38657
+ this.imageError = false;
38658
+ },
38659
+ // 图片加载失败
38660
+ onImageError() {
38661
+ this.imageLoaded = false;
38662
+ this.imageError = true;
38663
+ },
38664
+ // 解析自定义样式
38665
+ parseCustomStyle(customStyle) {
38666
+ if (!customStyle) return {};
38667
+ try {
38668
+ const styles = {};
38669
+ const declarations = customStyle.split(";");
38670
+ declarations.forEach(declaration => {
38671
+ const [property, value] = declaration.split(":");
38672
+ if (property && value) {
38673
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
38674
+ styles[camelCaseProperty] = value.trim();
38675
+ }
38676
+ });
38677
+ return styles;
38678
+ } catch (error) {
38679
+ console.warn("解析自定义样式失败:", error);
38680
+ return {};
38681
+ }
38682
+ }
38683
+ }
38684
+ });
38685
+ ;// ./package/cms-image/View.vue?vue&type=script&lang=js
38686
+ /* harmony default export */ var cms_image_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
38687
+ ;// ./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-image/View.vue?vue&type=style&index=0&id=5dac7dea&prod&lang=scss&scoped=true
38688
+ // extracted by mini-css-extract-plugin
38689
+
38690
+ ;// ./package/cms-image/View.vue?vue&type=style&index=0&id=5dac7dea&prod&lang=scss&scoped=true
38691
+
38692
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
38693
+ var componentNormalizer = __webpack_require__(1656);
38694
+ ;// ./package/cms-image/View.vue
38695
+
38696
+
38697
+
38698
+ ;
38699
+
38700
+
38701
+ /* normalize component */
38702
+
38703
+ var component = (0,componentNormalizer/* default */.A)(
38704
+ cms_image_Viewvue_type_script_lang_js,
38705
+ render,
38706
+ staticRenderFns,
38707
+ false,
38708
+ null,
38709
+ "5dac7dea",
38710
+ null
38711
+
38712
+ )
38713
+
38714
+ /* harmony default export */ var View = (component.exports);
38715
+
38716
+ /***/ }),
38717
+
38881
38718
  /***/ 5340:
38882
38719
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
38883
38720
 
@@ -38885,7 +38722,7 @@ module.exports = Number.isNaN || function isNaN(a) {
38885
38722
  __webpack_require__.r(__webpack_exports__);
38886
38723
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
38887
38724
 
38888
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 3164));
38725
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2328));
38889
38726
 
38890
38727
  // 默认配置数据
38891
38728
  const langData = {
@@ -38893,9 +38730,9 @@ const langData = {
38893
38730
  heightType: "auto",
38894
38731
  fixedHeight: 300,
38895
38732
  // 边框设置
38896
- borderWidth: 1,
38733
+ borderWidth: 0,
38897
38734
  borderStyle: "solid",
38898
- borderColor: "#1c4fc6ff",
38735
+ borderColor: "",
38899
38736
  borderRadius: 0,
38900
38737
  // 背景设置
38901
38738
  backgroundColor: "",
@@ -38954,7 +38791,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
38954
38791
  },
38955
38792
  borderColor: {
38956
38793
  label: "边框颜色",
38957
- widgetType: "el-color-picker"
38794
+ widgetType: "el-color-picker",
38795
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
38958
38796
  },
38959
38797
  borderRadius: {
38960
38798
  label: "圆角(px)",
@@ -38967,7 +38805,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
38967
38805
  // 背景设置配置
38968
38806
  backgroundColor: {
38969
38807
  label: "背景颜色",
38970
- widgetType: "el-color-picker"
38808
+ widgetType: "el-color-picker",
38809
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
38971
38810
  },
38972
38811
  backgroundImage: {
38973
38812
  label: "背景图片",
@@ -39195,7 +39034,7 @@ var swiper = __webpack_require__(2791);
39195
39034
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
39196
39035
  var swiper_esm_bundle = __webpack_require__(4418);
39197
39036
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
39198
- var baseComp = __webpack_require__(537);
39037
+ var baseComp = __webpack_require__(5298);
39199
39038
  ;// ./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
39200
39039
 
39201
39040
 
@@ -39510,7 +39349,7 @@ var render = function render() {
39510
39349
  var staticRenderFns = [];
39511
39350
 
39512
39351
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
39513
- var baseComp = __webpack_require__(537);
39352
+ var baseComp = __webpack_require__(5298);
39514
39353
  ;// ./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
39515
39354
 
39516
39355
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -39911,6 +39750,14 @@ module.exports = typeof Reflect !== 'undefined' && Reflect.getPrototypeOf || nul
39911
39750
 
39912
39751
  /***/ }),
39913
39752
 
39753
+ /***/ 6148:
39754
+ /***/ (function(module) {
39755
+
39756
+ "use strict";
39757
+ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGMAAABiCAYAAABEZ20wAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAZASURBVHgB7Z1dUhtHEMd7FpXzaOUGywkMJklVniyfAHICtKTybDiBxQkMT6mKyxacIOYElp9SlYSgnMDKDZS3GIMm/55d2zLM7OdoNTL9qxIIzeyH5r/T3dMzuxAJgiAIgiAIgiAIgiAIwnJQtOI8/0P3oog2IqIH+DbxxwJNkxnR37MZjX/6Vo1oBVhJMYYXukszeoKz38ef3RKbTCDOiC7pMPleTShQVkqMGiLcRtMg2VKHFCArIwaEiNGQr/E2puZM6B09Dq2XRLQCDH/XGx6FILOfr+j18DcIHBDB9wzPPeImQfWQDi2An3HF3btHO1A6xus+f6aJ/sVrHF3SqNKXLyEE9vsPfrxSEY35b0RQXXNsRdsF23IP+RW/NykAvPaM4bnuY4+7eNsrqDqaaTr9cUudFOzvKfY3cJVDhDdo8EGy6Q5d0bN6qDikHFFwLoc4lwEtGS9iZKaEv3CPqjGCmUhsPSXb51vXhlrT8d6W2qeSvDzXRxDuiaN4ipZYh6hTWiKNHTgPutBoF1RdCDLbsCNlB30DNPbAuRWu5CpCMFyfBXQUd2HaKu1vETQSgxuxs2Zser2YPyWG57olCLrstqP+JKlpUuBTBvg1tpVF7l7TGrXFMGakY5yfD7q8LzOoo6y3uQRWlFBNjBm6pgNHcXeYHndp1BYjMyNxTpUpHOwpO0d+4f0Zf5ZTP/5gKpBr6jnqjPOcdRkS5KlM9GVhhhwXLZFaoW3mXHdd5Wyb2STs3XCIvJ1Gg7scKZsK1DnC9tZGgahn5AOEwWQ5B5NsXCK1xOBe4QzDUuc6sBXhqp7g1z5CVo5enlqqGEcKUe47jmu191VBz5jYzl8r+pqWSC0zhS/yyFqg6aSMc83qjGxlEOIRGmvdVra2Rl5CT5hB136aBCKNqSxG5mRjx96OqSzX5Mqc9iC2dXyBXhOTB3iETgFSWYyrK6eTm8IMlTcjnVyTY20siOTFwSrHxaRyBplt4DNrW8mE5I52MUtn+xiO34uDzXJWt+CZQVoiPsXw2fVdUVOv6VggG8PEtrIo8hMg1KWyGJ2O/aolHjRZ0hounuc1aoTQ09XT1qxRWGmQMRg6iiZNxzBNqSxGFp66GmqXSoLIqO8o4oHdFGHsqaO8Z7K5Nci2i62F2h7dtUktM6VdZgRz02XMyItzvQ8nahUOIrwxu4royLkDpM2rCoL6z/LS8bxYgZZMvXHGNZ04C5E45MZ2FXMZxhLPnPu+TEXgHpiTZU0F+Uu//aXANLI5RL2LbBGDHR3GqpHa8xn4gpyt7eVUmcxSUzPJDrSh0oknt6NPB40fE4FmTJOm52PKZ8w9Ss9lZLPjPaDi1P4keajWKQDqi5Hmp7ihfEVR1vnoBRyn8JjLonZoaxy5dqajqzOjA1ujmONc0WMiP6mQOYJbrtNonJHwHLb24Pg0pl6/Ua+cx/kOI3tlFg1MyA/jL3LdlEn6zegHqtdQfNVvJgULE8xxuIdAkFynXszUXDwqPCEYb6tDjG2f0YfVIXFBdW6UY1wKR3UWAZh5kTSNz2mNMr6k0fHaolAMjmjevzdrkEo70LWIdlCf0+zzYSc3AkdYZ8iajsgTPCsYfTrW/DmyTxtnK9FHVIPOFSKtFntQrhgv/9S72eAryJRzKyDcRo86aKNHOX0Gm4I7LwSjqN/WMh6nGNfXt7r9nSVS5XNujY7jKkAiT4RomZW4JeCuIGIExEJuCRA+hzPHnQjhtzLjsMQ1iSViLIjPBCh5o4+I4ZE6AswjYjSkqQDziBg18CnAPCJGSRYlwDwiRjni7KaghSLjjIAQMQJCxAgIESMgRIyAEDECQsQICBEjIESMgBAxAkLECAgRIyBEjIAQMQJCxAgIESMgRIyA8DnTx48t8ndbmQ9mtI1z2qHm8IPMzrKnCcW0ILyKkWwW34HUJi/OdYyu70WMvYeqz2/40axaU38RwsgceEWy1YD88i6MiNEA38KIGJ7wIYyIsQDqCuNTjC4c5oACIrvxcqncFIb+c9+i7VWMSDV7FtSXTtHzrGTQFxAiRkC4xbjy9pyOlUe39CBJpxhJ+r/tTkmYqnft3Ade/LiKc93X/CgIdfduRVb8SNdLOgn5f/sJgiAIgiAIgiAIgiAIgg/+B867RkXPJgUfAAAAAElFTkSuQmCC";
39758
+
39759
+ /***/ }),
39760
+
39914
39761
  /***/ 6175:
39915
39762
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39916
39763
 
@@ -40118,6 +39965,7 @@ module.exports = $Object.getPrototypeOf || null;
40118
39965
  __webpack_require__.r(__webpack_exports__);
40119
39966
  /* harmony default export */ __webpack_exports__["default"] = ({
40120
39967
  Expand: "Expand",
39968
+ More: "More",
40121
39969
  Collpase: "Collpase",
40122
39970
  discount: 'Discount period:'
40123
39971
  });
@@ -40133,19 +39981,19 @@ __webpack_require__.r(__webpack_exports__);
40133
39981
 
40134
39982
  const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9487));
40135
39983
  const langData = {
40136
- input1: "高亮标题",
39984
+ input1: "描述",
40137
39985
  input2: "标题",
40138
- input3: "描述"
39986
+ input3: "高亮标题"
40139
39987
  };
40140
39988
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
40141
39989
  input1: {
40142
- label: "高亮标题"
39990
+ label: "描述"
40143
39991
  },
40144
39992
  input2: {
40145
39993
  label: "标题"
40146
39994
  },
40147
39995
  input3: {
40148
- label: "描述"
39996
+ label: "高亮标题"
40149
39997
  }
40150
39998
  });
40151
39999
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
@@ -40330,7 +40178,7 @@ var render = function render() {
40330
40178
  var staticRenderFns = [];
40331
40179
 
40332
40180
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
40333
- var baseComp = __webpack_require__(537);
40181
+ var baseComp = __webpack_require__(5298);
40334
40182
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
40335
40183
  var jumpUrl = __webpack_require__(813);
40336
40184
  // EXTERNAL MODULE: ./node_modules/vue/dist/vue.runtime.esm.js
@@ -40683,7 +40531,7 @@ var staticRenderFns = [];
40683
40531
  ;// ./package/cms-prodCustomization/View.vue?vue&type=template&id=61a0a18c&scoped=true
40684
40532
 
40685
40533
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
40686
- var baseComp = __webpack_require__(537);
40534
+ var baseComp = __webpack_require__(5298);
40687
40535
  ;// ./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
40688
40536
 
40689
40537
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -48686,6 +48534,64 @@ module.exports = Math.min;
48686
48534
 
48687
48535
  /***/ }),
48688
48536
 
48537
+ /***/ 6940:
48538
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
48539
+
48540
+ "use strict";
48541
+ __webpack_require__.r(__webpack_exports__);
48542
+ /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
48543
+
48544
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9345));
48545
+ const langData = {
48546
+ colNums: 1,
48547
+ defaultCol: 12,
48548
+ gap: 10
48549
+ };
48550
+ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
48551
+ // 布局配置
48552
+ colNums: {
48553
+ label: "视频样式",
48554
+ widgetType: "el-radio-group",
48555
+ options: [{
48556
+ label: "一行一个",
48557
+ value: 1
48558
+ }, {
48559
+ label: "一行两个",
48560
+ value: 2
48561
+ }, {
48562
+ label: "一行三个",
48563
+ value: 3
48564
+ }],
48565
+ isCol: true
48566
+ },
48567
+ defaultCol: {
48568
+ label: "默认展示(行)",
48569
+ widgetType: "el-input-number",
48570
+ size: "small",
48571
+ min: 1,
48572
+ max: 12,
48573
+ step: 1,
48574
+ isCol: true,
48575
+ unit: "行"
48576
+ }
48577
+ });
48578
+ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
48579
+ /* harmony default export */ __webpack_exports__["default"] = ({
48580
+ View,
48581
+ validateSchema,
48582
+ configDataType,
48583
+ langData,
48584
+ settings: cmsCompName => {
48585
+ return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
48586
+ cmsCompName,
48587
+ langData,
48588
+ isLangAll: true
48589
+ });
48590
+ }
48591
+ });
48592
+
48593
+ /***/ }),
48594
+
48689
48595
  /***/ 6955:
48690
48596
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
48691
48597
 
@@ -48874,6 +48780,283 @@ module.exports = function (it) {
48874
48780
  };
48875
48781
 
48876
48782
 
48783
+ /***/ }),
48784
+
48785
+ /***/ 7108:
48786
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
48787
+
48788
+ "use strict";
48789
+ // ESM COMPAT FLAG
48790
+ __webpack_require__.r(__webpack_exports__);
48791
+
48792
+ // EXPORTS
48793
+ __webpack_require__.d(__webpack_exports__, {
48794
+ "default": function() { return /* binding */ View; }
48795
+ });
48796
+
48797
+ ;// ./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=cd35c518&scoped=true
48798
+ var render = function render() {
48799
+ var _vm = this,
48800
+ _c = _vm._self._c;
48801
+ return _c('BaseComp', _vm._b({
48802
+ attrs: {
48803
+ "data": _vm.data,
48804
+ "nowCompId": _vm.nowCompId,
48805
+ "isOpcacity": _vm.isOpcacity,
48806
+ "isMask": false,
48807
+ "lang": _vm.lang
48808
+ },
48809
+ on: {
48810
+ "getConfigData": _vm.getConfigData
48811
+ },
48812
+ scopedSlots: _vm._u([{
48813
+ key: "default",
48814
+ fn: function (slotProps) {
48815
+ return [_c('section', {
48816
+ class: (_vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main', {
48817
+ hoverBorderClass: _vm.isConfigPage
48818
+ }),
48819
+ style: _vm.containerStyle
48820
+ }, [_c('div', {
48821
+ staticClass: "column-setting",
48822
+ class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
48823
+ style: _vm.columnStyle
48824
+ }, _vm._l(_vm.data.childList, function (item, index) {
48825
+ return _c('cms-column-card', _vm._b({
48826
+ key: item.componentId,
48827
+ class: _vm.getColumnItemClass(index),
48828
+ style: _vm.getColumnItemStyle(index),
48829
+ attrs: {
48830
+ "data": item,
48831
+ "nowCompId": _vm.nowCompId,
48832
+ "isOpcacity": _vm.isOpcacity,
48833
+ "isMask": false,
48834
+ "lang": _vm.lang,
48835
+ "isMobile": slotProps.isMobile,
48836
+ "mobileLayout": _vm.configData.mobileLayout
48837
+ }
48838
+ }, 'cms-column-card', _vm.$attrs, false));
48839
+ }), 1)])];
48840
+ }
48841
+ }])
48842
+ }, 'BaseComp', _vm.$attrs, false));
48843
+ };
48844
+ var staticRenderFns = [];
48845
+
48846
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
48847
+ var baseComp = __webpack_require__(5298);
48848
+ ;// ./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
48849
+
48850
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
48851
+ name: "cms-column",
48852
+ components: {
48853
+ BaseComp: baseComp["default"]
48854
+ },
48855
+ props: {
48856
+ data: {
48857
+ type: Object,
48858
+ default: () => {
48859
+ return {};
48860
+ }
48861
+ },
48862
+ nowCompId: {
48863
+ type: [String, Number],
48864
+ default: ""
48865
+ },
48866
+ isOpcacity: {
48867
+ type: Boolean,
48868
+ default: true
48869
+ },
48870
+ lang: {
48871
+ type: String,
48872
+ default: "zh-HK"
48873
+ }
48874
+ },
48875
+ data() {
48876
+ return {
48877
+ configData: {},
48878
+ messFold: true,
48879
+ // 默认配置数据
48880
+ defaultConfig: {
48881
+ layoutType: "100",
48882
+ heightType: "auto",
48883
+ widthType: "auto",
48884
+ mobileLayout: "vertical",
48885
+ fixedHeight: 300,
48886
+ borderWidth: 0,
48887
+ borderStyle: "solid",
48888
+ borderColor: "",
48889
+ backgroundColor: "#FFF",
48890
+ backgroundImage: "",
48891
+ boxShadow: "",
48892
+ borderRadius: 0,
48893
+ columnGap: 0,
48894
+ rowGap: 0,
48895
+ title: "",
48896
+ description: "",
48897
+ input1: "",
48898
+ showTitle: true,
48899
+ showDescription: true,
48900
+ animationDuration: 300,
48901
+ responsiveBreakpoint: 768
48902
+ }
48903
+ };
48904
+ },
48905
+ mounted() {
48906
+ this.initConfigData();
48907
+ // 添加窗口大小变化监听
48908
+ },
48909
+ watch: {
48910
+ configData: {
48911
+ handler() {
48912
+ this.updateStyles();
48913
+ },
48914
+ deep: true
48915
+ }
48916
+ },
48917
+ computed: {
48918
+ isConfigPage() {
48919
+ return this.$EventBus && this.isOpcacity;
48920
+ },
48921
+ // 容器样式
48922
+ containerStyle() {
48923
+ return {
48924
+ backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
48925
+ backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
48926
+ backgroundSize: "cover",
48927
+ backgroundRepeat: "no-repeat",
48928
+ backgroundPosition: "center center",
48929
+ boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
48930
+ borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
48931
+ minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
48932
+ };
48933
+ },
48934
+ // 分栏容器样式
48935
+ columnStyle() {
48936
+ // const gap = this.configData.rowGap || this.defaultConfig.rowGap;
48937
+ return {
48938
+ // gap: `${gap}px`,
48939
+ border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
48940
+ };
48941
+ }
48942
+ },
48943
+ methods: {
48944
+ // 初始化配置数据
48945
+ initConfigData() {
48946
+ // 合并默认配置和传入配置
48947
+ this.configData = {
48948
+ ...this.defaultConfig,
48949
+ ...this.configData
48950
+ };
48951
+ },
48952
+ // 获取配置数据
48953
+ getConfigData(configData) {
48954
+ this.configData = {
48955
+ ...this.defaultConfig,
48956
+ ...configData
48957
+ };
48958
+ this.updateStyles();
48959
+ },
48960
+ // 更新样式
48961
+ updateStyles() {
48962
+ this.$nextTick(() => {
48963
+ // 触发样式更新
48964
+ this.$forceUpdate();
48965
+ });
48966
+ },
48967
+ // 获取分栏项的类名
48968
+ getColumnItemClass(index) {
48969
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
48970
+ return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
48971
+ "min-h": this.$EventBus && this.isOpcacity,
48972
+ "first-item": index === 0,
48973
+ "last-item": index === this.data.childList.length - 1
48974
+ }];
48975
+ },
48976
+ // 获取分栏项的样式
48977
+ getColumnItemStyle(index) {
48978
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
48979
+ const gap = this.configData.rowGap || this.defaultConfig.rowGap;
48980
+ let flexBasis = "100%";
48981
+ let marginRight = "0";
48982
+
48983
+ // 根据布局类型设置宽度
48984
+ switch (layoutType) {
48985
+ case "50-50":
48986
+ flexBasis = `calc(50% - ${gap / 2}px)`;
48987
+ marginRight = index % 2 === 0 ? `${gap}px` : "0";
48988
+ break;
48989
+ case "33-66":
48990
+ flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
48991
+ marginRight = index === 0 ? `${gap}px` : "0";
48992
+ break;
48993
+ case "66-33":
48994
+ flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
48995
+ marginRight = index === 0 ? `${gap}px` : "0";
48996
+ break;
48997
+ case "33-33-33":
48998
+ flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
48999
+ marginRight = index < 2 ? `${gap}px` : "0";
49000
+ break;
49001
+ case "25-50-25":
49002
+ if (index === 0 || index === 2) {
49003
+ flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
49004
+ } else {
49005
+ flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
49006
+ }
49007
+ marginRight = index < 2 ? `${gap}px` : "0";
49008
+ break;
49009
+ default:
49010
+ flexBasis = "100%";
49011
+ }
49012
+ return {
49013
+ flexBasis,
49014
+ marginRight,
49015
+ marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
49016
+ };
49017
+ },
49018
+ // 折叠/展开文本
49019
+ foldMessText() {
49020
+ this.messFold = !this.messFold;
49021
+ },
49022
+ // 处理跳转链接
49023
+ decodeJumpUrl(url) {
49024
+ if (!url) return;
49025
+ top.location.href = url;
49026
+ }
49027
+ }
49028
+ });
49029
+ ;// ./package/cms-column/View.vue?vue&type=script&lang=js
49030
+ /* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
49031
+ ;// ./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=cd35c518&prod&lang=scss&scoped=true
49032
+ // extracted by mini-css-extract-plugin
49033
+
49034
+ ;// ./package/cms-column/View.vue?vue&type=style&index=0&id=cd35c518&prod&lang=scss&scoped=true
49035
+
49036
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
49037
+ var componentNormalizer = __webpack_require__(1656);
49038
+ ;// ./package/cms-column/View.vue
49039
+
49040
+
49041
+
49042
+ ;
49043
+
49044
+
49045
+ /* normalize component */
49046
+
49047
+ var component = (0,componentNormalizer/* default */.A)(
49048
+ cms_column_Viewvue_type_script_lang_js,
49049
+ render,
49050
+ staticRenderFns,
49051
+ false,
49052
+ null,
49053
+ "cd35c518",
49054
+ null
49055
+
49056
+ )
49057
+
49058
+ /* harmony default export */ var View = (component.exports);
49059
+
48877
49060
  /***/ }),
48878
49061
 
48879
49062
  /***/ 7197:
@@ -49004,7 +49187,7 @@ var render = function render() {
49004
49187
  var staticRenderFns = [];
49005
49188
 
49006
49189
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
49007
- var baseComp = __webpack_require__(537);
49190
+ var baseComp = __webpack_require__(5298);
49008
49191
  // EXTERNAL MODULE: ./package/patch.js
49009
49192
  var patch = __webpack_require__(1618);
49010
49193
  ;// ./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
@@ -49825,7 +50008,7 @@ var render = function render() {
49825
50008
  var staticRenderFns = [];
49826
50009
 
49827
50010
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
49828
- var baseComp = __webpack_require__(537);
50011
+ var baseComp = __webpack_require__(5298);
49829
50012
  ;// ./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
49830
50013
 
49831
50014
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -50075,7 +50258,7 @@ var swiper = __webpack_require__(2791);
50075
50258
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
50076
50259
  var swiper_esm_bundle = __webpack_require__(4418);
50077
50260
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50078
- var baseComp = __webpack_require__(537);
50261
+ var baseComp = __webpack_require__(5298);
50079
50262
  ;// ./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
50080
50263
 
50081
50264
 
@@ -50261,7 +50444,7 @@ var swiper = __webpack_require__(2791);
50261
50444
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
50262
50445
  var swiper_esm_bundle = __webpack_require__(4418);
50263
50446
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50264
- var baseComp = __webpack_require__(537);
50447
+ var baseComp = __webpack_require__(5298);
50265
50448
  ;// ./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
50266
50449
 
50267
50450
 
@@ -50477,7 +50660,7 @@ var render = function render() {
50477
50660
  var staticRenderFns = [];
50478
50661
 
50479
50662
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50480
- var baseComp = __webpack_require__(537);
50663
+ var baseComp = __webpack_require__(5298);
50481
50664
  ;// ./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
50482
50665
 
50483
50666
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -50819,6 +51002,18 @@ function queryPageHfList(data) {
50819
51002
  });
50820
51003
  }
50821
51004
 
51005
+ /**
51006
+ * 查询URL接口
51007
+ * @returns {Promise}
51008
+ */
51009
+ function queryUrl(data) {
51010
+ return request({
51011
+ method: "post",
51012
+ url: "/omni-channel-service-console/rest/workBench/queryUrl",
51013
+ data
51014
+ });
51015
+ }
51016
+
50822
51017
  /**
50823
51018
  * 创建页面
50824
51019
  * @param {Object} pageData 页面数据
@@ -50977,11 +51172,18 @@ function emallHeartbeat(data) {
50977
51172
  data
50978
51173
  });
50979
51174
  }
51175
+ function qryBtList(data) {
51176
+ return request({
51177
+ method: "post",
51178
+ url: "/omni-channel-service-console/rest/component/qryBtList",
51179
+ data
51180
+ });
51181
+ }
50980
51182
  // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
50981
51183
  var lib = __webpack_require__(9122);
50982
51184
  var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
50983
51185
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50984
- var baseComp = __webpack_require__(537);
51186
+ var baseComp = __webpack_require__(5298);
50985
51187
  ;// ./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
50986
51188
 
50987
51189
 
@@ -51232,6 +51434,181 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
51232
51434
 
51233
51435
  /***/ }),
51234
51436
 
51437
+ /***/ 8216:
51438
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
51439
+
51440
+ "use strict";
51441
+ // ESM COMPAT FLAG
51442
+ __webpack_require__.r(__webpack_exports__);
51443
+
51444
+ // EXPORTS
51445
+ __webpack_require__.d(__webpack_exports__, {
51446
+ "default": function() { return /* binding */ View; }
51447
+ });
51448
+
51449
+ ;// ./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-video-group/View.vue?vue&type=template&id=13b5a669&scoped=true
51450
+ var render = function render() {
51451
+ var _vm = this,
51452
+ _c = _vm._self._c;
51453
+ return _c('BaseComp', _vm._b({
51454
+ attrs: {
51455
+ "data": _vm.data,
51456
+ "nowCompId": _vm.nowCompId,
51457
+ "isOpcacity": _vm.isOpcacity,
51458
+ "isMask": false,
51459
+ "lang": _vm.lang
51460
+ },
51461
+ on: {
51462
+ "getConfigData": _vm.getConfigData
51463
+ }
51464
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
51465
+ staticClass: "cmhk-home_main"
51466
+ }, [_c('div', {
51467
+ staticClass: "wrap",
51468
+ style: {
51469
+ 'grid-template-columns': `repeat(${_vm.configData.colNums}, 1fr)`,
51470
+ 'grid-gap': `${_vm.configData.gap}px`
51471
+ }
51472
+ }, _vm._l(_vm.showVideoList, function (item) {
51473
+ return _c('cms-video', {
51474
+ key: item.componentId,
51475
+ staticStyle: {
51476
+ "overflow": "hidden"
51477
+ },
51478
+ attrs: {
51479
+ "data": item,
51480
+ "nowCompId": _vm.nowCompId,
51481
+ "isOpcacity": _vm.isOpcacity,
51482
+ "isMask": false,
51483
+ "lang": _vm.lang
51484
+ }
51485
+ });
51486
+ }), 1), _vm.isShowPannel ? [_c('div', {
51487
+ staticClass: "view-more-container"
51488
+ }, [_c('div', {
51489
+ staticClass: "view-more-btn",
51490
+ on: {
51491
+ "click": _vm.foldMessText
51492
+ }
51493
+ }, [_c('span', {
51494
+ staticClass: "view-more-text"
51495
+ }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
51496
+ class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
51497
+ })])])] : _vm._e()], 2)]);
51498
+ };
51499
+ var staticRenderFns = [];
51500
+
51501
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51502
+ var baseComp = __webpack_require__(5298);
51503
+ ;// ./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-group/View.vue?vue&type=script&lang=js
51504
+
51505
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
51506
+ name: "cms-video-group",
51507
+ components: {
51508
+ BaseComp: baseComp["default"]
51509
+ },
51510
+ props: {
51511
+ data: {
51512
+ type: Object,
51513
+ default: () => {
51514
+ return {};
51515
+ }
51516
+ },
51517
+ nowCompId: {
51518
+ type: [String, Number],
51519
+ default: ""
51520
+ },
51521
+ isOpcacity: {
51522
+ type: Boolean,
51523
+ default: true
51524
+ },
51525
+ lang: {
51526
+ type: String,
51527
+ default: "zh-HK"
51528
+ }
51529
+ },
51530
+ data() {
51531
+ return {
51532
+ configData: {},
51533
+ messFold: false,
51534
+ // 默认配置数据
51535
+ isShowPannel: false
51536
+ };
51537
+ },
51538
+ mounted() {},
51539
+ watch: {
51540
+ configData: {
51541
+ handler() {
51542
+ this.updateStyles();
51543
+ },
51544
+ deep: true
51545
+ }
51546
+ },
51547
+ computed: {
51548
+ showVideoList() {
51549
+ if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.configData.colNums * this.configData.defaultCol);
51550
+ return this.data.childList;
51551
+ },
51552
+ isConfigPage() {
51553
+ return this.$EventBus && this.isOpcacity;
51554
+ }
51555
+ },
51556
+ methods: {
51557
+ // 获取配置数据
51558
+ getConfigData(configData) {
51559
+ this.configData = {
51560
+ ...this.defaultConfig,
51561
+ ...configData
51562
+ };
51563
+ this.updateStyles();
51564
+ this.isShowPannel = this.configData.colNums * this.configData.defaultCol < this.data.childList.length;
51565
+ },
51566
+ // 更新样式
51567
+ updateStyles() {
51568
+ this.$nextTick(() => {
51569
+ // 触发样式更新
51570
+ this.$forceUpdate();
51571
+ });
51572
+ },
51573
+ // 折叠/展开文本
51574
+ foldMessText() {
51575
+ this.messFold = !this.messFold;
51576
+ }
51577
+ }
51578
+ });
51579
+ ;// ./package/cms-video-group/View.vue?vue&type=script&lang=js
51580
+ /* harmony default export */ var cms_video_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
51581
+ ;// ./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-video-group/View.vue?vue&type=style&index=0&id=13b5a669&prod&lang=scss&scoped=true
51582
+ // extracted by mini-css-extract-plugin
51583
+
51584
+ ;// ./package/cms-video-group/View.vue?vue&type=style&index=0&id=13b5a669&prod&lang=scss&scoped=true
51585
+
51586
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
51587
+ var componentNormalizer = __webpack_require__(1656);
51588
+ ;// ./package/cms-video-group/View.vue
51589
+
51590
+
51591
+
51592
+ ;
51593
+
51594
+
51595
+ /* normalize component */
51596
+
51597
+ var component = (0,componentNormalizer/* default */.A)(
51598
+ cms_video_group_Viewvue_type_script_lang_js,
51599
+ render,
51600
+ staticRenderFns,
51601
+ false,
51602
+ null,
51603
+ "13b5a669",
51604
+ null
51605
+
51606
+ )
51607
+
51608
+ /* harmony default export */ var View = (component.exports);
51609
+
51610
+ /***/ }),
51611
+
51235
51612
  /***/ 8227:
51236
51613
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
51237
51614
 
@@ -51321,7 +51698,7 @@ var render = function render() {
51321
51698
  var staticRenderFns = [];
51322
51699
 
51323
51700
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51324
- var baseComp = __webpack_require__(537);
51701
+ var baseComp = __webpack_require__(5298);
51325
51702
  ;// ./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
51326
51703
 
51327
51704
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -51526,7 +51903,7 @@ var swiper = __webpack_require__(2791);
51526
51903
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
51527
51904
  var swiper_esm_bundle = __webpack_require__(4418);
51528
51905
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51529
- var baseComp = __webpack_require__(537);
51906
+ var baseComp = __webpack_require__(5298);
51530
51907
  ;// ./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
51531
51908
 
51532
51909
 
@@ -51720,7 +52097,7 @@ var staticRenderFns = [];
51720
52097
  ;// ./package/cms-activityTime/View.vue?vue&type=template&id=0e496ed4&scoped=true
51721
52098
 
51722
52099
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51723
- var baseComp = __webpack_require__(537);
52100
+ var baseComp = __webpack_require__(5298);
51724
52101
  ;// ./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
51725
52102
 
51726
52103
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -51978,6 +52355,383 @@ module.exports = function (argument) {
51978
52355
  };
51979
52356
 
51980
52357
 
52358
+ /***/ }),
52359
+
52360
+ /***/ 8573:
52361
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
52362
+
52363
+ "use strict";
52364
+ // ESM COMPAT FLAG
52365
+ __webpack_require__.r(__webpack_exports__);
52366
+
52367
+ // EXPORTS
52368
+ __webpack_require__.d(__webpack_exports__, {
52369
+ "default": function() { return /* binding */ View; }
52370
+ });
52371
+
52372
+ ;// ./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-video/View.vue?vue&type=template&id=b1a44b52&scoped=true
52373
+ var render = function render() {
52374
+ var _vm = this,
52375
+ _c = _vm._self._c;
52376
+ return _c('BaseComp', _vm._b({
52377
+ attrs: {
52378
+ "data": _vm.data,
52379
+ "nowCompId": _vm.nowCompId,
52380
+ "isOpcacity": _vm.isOpcacity,
52381
+ "lang": _vm.lang
52382
+ },
52383
+ on: {
52384
+ "getConfigData": _vm.getConfigData
52385
+ }
52386
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
52387
+ staticClass: "cms-video-container",
52388
+ class: [_vm.configData.customClass || ''],
52389
+ style: _vm.containerStyle
52390
+ }, [_c('div', {
52391
+ staticClass: "f-c-c"
52392
+ }, [_vm._v(_vm._s(_vm.configData.title))]), _c('div', {
52393
+ staticClass: "video-wrapper",
52394
+ style: _vm.wrapperStyle
52395
+ }, [_vm.videoType === 'direct' && _vm.configData.videoUrl ? _c('video', {
52396
+ staticClass: "cms-video direct-video",
52397
+ style: _vm.videoStyle,
52398
+ attrs: {
52399
+ "src": _vm.configData.videoUrl,
52400
+ "controls": _vm.configData.showControls,
52401
+ "autoplay": _vm.configData.autoplay,
52402
+ "loop": _vm.configData.loop,
52403
+ "poster": _vm.configData.posterUrl
52404
+ },
52405
+ domProps: {
52406
+ "muted": _vm.configData.muted
52407
+ },
52408
+ on: {
52409
+ "loadstart": _vm.onVideoLoadStart,
52410
+ "loadeddata": _vm.onVideoLoaded,
52411
+ "error": _vm.onVideoError
52412
+ }
52413
+ }) : _vm.configData.embedCode ? _c('div', {
52414
+ staticClass: "cms-video embed-video",
52415
+ style: _vm.videoStyle,
52416
+ domProps: {
52417
+ "innerHTML": _vm._s(_vm.configData.embedCode)
52418
+ }
52419
+ }) : _c('div', {
52420
+ staticClass: "video-placeholder",
52421
+ style: _vm.placeholderStyle
52422
+ }, [_c('img', {
52423
+ staticStyle: {
52424
+ "width": "97.82px",
52425
+ "height": "97.82px"
52426
+ },
52427
+ attrs: {
52428
+ "src": __webpack_require__(6148),
52429
+ "alt": "Video Camera"
52430
+ }
52431
+ })])])])]);
52432
+ };
52433
+ var staticRenderFns = [];
52434
+
52435
+ ;// ./package/cms-video/View.vue?vue&type=template&id=b1a44b52&scoped=true
52436
+
52437
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
52438
+ var es_iterator_constructor = __webpack_require__(8111);
52439
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
52440
+ var es_iterator_for_each = __webpack_require__(7588);
52441
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
52442
+ var baseComp = __webpack_require__(5298);
52443
+ ;// ./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
52444
+
52445
+
52446
+
52447
+
52448
+
52449
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
52450
+ name: "cms-video",
52451
+ components: {
52452
+ BaseComp: baseComp["default"]
52453
+ },
52454
+ props: {
52455
+ data: {
52456
+ type: Object,
52457
+ default: () => {
52458
+ return {};
52459
+ }
52460
+ },
52461
+ nowCompId: {
52462
+ type: [String, Number],
52463
+ default: ""
52464
+ },
52465
+ isOpcacity: {
52466
+ type: Boolean,
52467
+ default: true
52468
+ },
52469
+ lang: {
52470
+ type: String,
52471
+ default: "zh-HK"
52472
+ }
52473
+ },
52474
+ data() {
52475
+ return {
52476
+ configData: {},
52477
+ videoLoaded: false,
52478
+ videoError: false,
52479
+ // 默认配置数据
52480
+ defaultConfig: {
52481
+ // 视频源设置
52482
+ videoType: "direct",
52483
+ videoUrl: "",
52484
+ embedCode: "",
52485
+ posterUrl: "",
52486
+ // 播放控制
52487
+ showControls: true,
52488
+ autoplay: false,
52489
+ loop: false,
52490
+ muted: false,
52491
+ // 尺寸控制
52492
+ widthType: "auto",
52493
+ widthValue: 100,
52494
+ heightType: "auto",
52495
+ heightValue: 100,
52496
+ aspectRatio: "16:9",
52497
+ customAspectRatio: "16:9",
52498
+ maxWidth: 0,
52499
+ maxHeight: 0,
52500
+ // 样式设置
52501
+ borderRadius: 0,
52502
+ // 高级配置
52503
+ customClass: "",
52504
+ customStyle: ""
52505
+ }
52506
+ };
52507
+ },
52508
+ mounted() {
52509
+ this.initConfigData();
52510
+ },
52511
+ watch: {
52512
+ configData: {
52513
+ handler() {
52514
+ this.updateStyles();
52515
+ },
52516
+ deep: true
52517
+ }
52518
+ },
52519
+ computed: {
52520
+ // 视频类型
52521
+ videoType() {
52522
+ return this.configData.videoType || this.defaultConfig.videoType;
52523
+ },
52524
+ // 实际使用的宽高比
52525
+ actualAspectRatio() {
52526
+ const config = {
52527
+ ...this.defaultConfig,
52528
+ ...this.configData
52529
+ };
52530
+ if (config.aspectRatio === "custom") {
52531
+ return config.customAspectRatio || "16:9";
52532
+ }
52533
+ return config.aspectRatio;
52534
+ },
52535
+ // 容器样式
52536
+ containerStyle() {
52537
+ const config = {
52538
+ ...this.defaultConfig,
52539
+ ...this.configData
52540
+ };
52541
+ return {
52542
+ ...this.parseCustomStyle(config.customStyle)
52543
+ };
52544
+ },
52545
+ // 包装器样式
52546
+ wrapperStyle() {
52547
+ const config = {
52548
+ ...this.defaultConfig,
52549
+ ...this.configData
52550
+ };
52551
+ let width = "auto";
52552
+ let height = "auto";
52553
+
52554
+ // 宽度设置
52555
+ if (config.widthType === "fixed") {
52556
+ width = `${config.widthValue}px`;
52557
+ } else if (config.widthType === "percent") {
52558
+ width = `${config.widthValue}%`;
52559
+ }
52560
+
52561
+ // 高度设置
52562
+ if (config.heightType === "fixed") {
52563
+ height = `${config.heightValue}px`;
52564
+ } else if (config.heightType === "percent") {
52565
+ height = `${config.heightValue}%`;
52566
+ } else if (config.heightType === "aspect") {
52567
+ // 根据宽高比计算高度
52568
+ height = "auto";
52569
+ }
52570
+ return {
52571
+ width,
52572
+ height,
52573
+ maxWidth: config.maxWidth > 0 ? `${config.maxWidth}px` : "none",
52574
+ maxHeight: config.maxHeight > 0 ? `${config.maxHeight}px` : "none",
52575
+ borderRadius: `${config.borderRadius}px`,
52576
+ overflow: "hidden",
52577
+ display: "block",
52578
+ position: "relative"
52579
+ };
52580
+ },
52581
+ // 视频样式
52582
+ videoStyle() {
52583
+ const config = {
52584
+ ...this.defaultConfig,
52585
+ ...this.configData
52586
+ };
52587
+ let style = {
52588
+ width: "100%",
52589
+ height: "100%",
52590
+ display: "block",
52591
+ border: "none",
52592
+ outline: "none"
52593
+ };
52594
+
52595
+ // 如果是宽高比模式,设置aspect-ratio
52596
+ if (config.heightType === "aspect") {
52597
+ style.aspectRatio = this.actualAspectRatio.replace(":", "/");
52598
+ }
52599
+ return style;
52600
+ },
52601
+ // 占位符样式
52602
+ placeholderStyle() {
52603
+ const config = {
52604
+ ...this.defaultConfig,
52605
+ ...this.configData
52606
+ };
52607
+ let width = "100%";
52608
+ let height = "auto";
52609
+
52610
+ // 如果设置了固定尺寸,使用设置的尺寸
52611
+ if (config.widthType === "fixed") {
52612
+ width = `${config.widthValue}px`;
52613
+ } else if (config.widthType === "percent") {
52614
+ width = `${config.widthValue}%`;
52615
+ }
52616
+ if (config.heightType === "fixed") {
52617
+ height = `${config.heightValue}px`;
52618
+ } else if (config.heightType === "aspect") {
52619
+ // 使用aspect-ratio保持16:9比例
52620
+ height = "auto";
52621
+ } else {
52622
+ // 默认使用16:9比例
52623
+ height = "auto";
52624
+ }
52625
+ const style = {
52626
+ width,
52627
+ height,
52628
+ backgroundColor: "#f5f7fa",
52629
+ border: "1px dashed #dcdfe6",
52630
+ borderRadius: `${config.borderRadius}px`,
52631
+ display: "flex",
52632
+ flexDirection: "column",
52633
+ alignItems: "center",
52634
+ justifyContent: "center",
52635
+ color: "#909399",
52636
+ fontSize: "14px"
52637
+ };
52638
+
52639
+ // 如果不是固定高度,使用aspect-ratio保持16:9比例
52640
+ if (config.heightType !== "fixed") {
52641
+ style.aspectRatio = this.actualAspectRatio.replace(":", "/");
52642
+ }
52643
+ return style;
52644
+ }
52645
+ },
52646
+ methods: {
52647
+ // 初始化配置数据
52648
+ initConfigData() {
52649
+ this.configData = {
52650
+ ...this.defaultConfig,
52651
+ ...this.configData
52652
+ };
52653
+ },
52654
+ // 获取配置数据
52655
+ getConfigData(configData) {
52656
+ this.configData = {
52657
+ ...this.defaultConfig,
52658
+ ...configData
52659
+ };
52660
+ this.updateStyles();
52661
+ },
52662
+ // 更新样式
52663
+ updateStyles() {
52664
+ this.$nextTick(() => {
52665
+ this.$forceUpdate();
52666
+ });
52667
+ },
52668
+ // 视频开始加载
52669
+ onVideoLoadStart() {
52670
+ this.videoLoaded = false;
52671
+ this.videoError = false;
52672
+ },
52673
+ // 视频加载完成
52674
+ onVideoLoaded() {
52675
+ this.videoLoaded = true;
52676
+ this.videoError = false;
52677
+ },
52678
+ // 视频加载失败
52679
+ onVideoError() {
52680
+ this.videoLoaded = false;
52681
+ this.videoError = true;
52682
+ },
52683
+ // 解析自定义样式
52684
+ parseCustomStyle(customStyle) {
52685
+ if (!customStyle) return {};
52686
+ try {
52687
+ const styles = {};
52688
+ const declarations = customStyle.split(";");
52689
+ declarations.forEach(declaration => {
52690
+ const [property, value] = declaration.split(":");
52691
+ if (property && value) {
52692
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
52693
+ styles[camelCaseProperty] = value.trim();
52694
+ }
52695
+ });
52696
+ return styles;
52697
+ } catch (error) {
52698
+ console.warn("解析自定义样式失败:", error);
52699
+ return {};
52700
+ }
52701
+ }
52702
+ }
52703
+ });
52704
+ ;// ./package/cms-video/View.vue?vue&type=script&lang=js
52705
+ /* harmony default export */ var cms_video_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
52706
+ ;// ./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-video/View.vue?vue&type=style&index=0&id=b1a44b52&prod&lang=scss&scoped=true
52707
+ // extracted by mini-css-extract-plugin
52708
+
52709
+ ;// ./package/cms-video/View.vue?vue&type=style&index=0&id=b1a44b52&prod&lang=scss&scoped=true
52710
+
52711
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
52712
+ var componentNormalizer = __webpack_require__(1656);
52713
+ ;// ./package/cms-video/View.vue
52714
+
52715
+
52716
+
52717
+ ;
52718
+
52719
+
52720
+ /* normalize component */
52721
+
52722
+ var component = (0,componentNormalizer/* default */.A)(
52723
+ cms_video_Viewvue_type_script_lang_js,
52724
+ render,
52725
+ staticRenderFns,
52726
+ false,
52727
+ null,
52728
+ "b1a44b52",
52729
+ null
52730
+
52731
+ )
52732
+
52733
+ /* harmony default export */ var View = (component.exports);
52734
+
51981
52735
  /***/ }),
51982
52736
 
51983
52737
  /***/ 8574:
@@ -52624,7 +53378,7 @@ var render = function render() {
52624
53378
  var staticRenderFns = [];
52625
53379
 
52626
53380
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
52627
- var baseComp = __webpack_require__(537);
53381
+ var baseComp = __webpack_require__(5298);
52628
53382
  // EXTERNAL MODULE: ./src/utils/request.js + 2 modules
52629
53383
  var utils_request = __webpack_require__(1564);
52630
53384
  ;// ./src/api/servePlan.js
@@ -52803,9 +53557,10 @@ var component = (0,componentNormalizer/* default */.A)(
52803
53557
  __webpack_require__.r(__webpack_exports__);
52804
53558
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
52805
53559
 
52806
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 4986));
53560
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 5314));
52807
53561
  const langData = {
52808
53562
  // 图片设置
53563
+ remark: "",
52809
53564
  imageUrl: "",
52810
53565
  altText: "图片",
52811
53566
  title: "",
@@ -52828,6 +53583,11 @@ const langData = {
52828
53583
  lazyLoad: false
52829
53584
  };
52830
53585
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
53586
+ remark: {
53587
+ label: "图片备注",
53588
+ widgetType: "el-input",
53589
+ placeholder: "请输入图片备注"
53590
+ },
52831
53591
  // 图片设置配置
52832
53592
  imageUrl: {
52833
53593
  label: "图片地址",
@@ -52835,15 +53595,16 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
52835
53595
  placeholder: "请选择或输入图片地址"
52836
53596
  },
52837
53597
  altText: {
52838
- label: "替代文本",
53598
+ label: "alt属性",
52839
53599
  widgetType: "el-input",
52840
- placeholder: "请输入图片的替代文本"
52841
- },
52842
- title: {
52843
- label: "图片标题",
52844
- widgetType: "el-input",
52845
- placeholder: "请输入图片标题(鼠标悬停时显示)"
53600
+ placeholder: "请输入图片的alt属性"
52846
53601
  },
53602
+ // title: {
53603
+ // label: "图片标题",
53604
+ // widgetType: "el-input",
53605
+ // placeholder: "请输入图片标题(鼠标悬停时显示)"
53606
+ // },
53607
+
52847
53608
  // 尺寸控制配置
52848
53609
  widthType: {
52849
53610
  label: "宽度类型",
@@ -53177,7 +53938,7 @@ var render = function render() {
53177
53938
  var staticRenderFns = [];
53178
53939
 
53179
53940
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
53180
- var baseComp = __webpack_require__(537);
53941
+ var baseComp = __webpack_require__(5298);
53181
53942
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
53182
53943
  var jumpUrl = __webpack_require__(813);
53183
53944
  ;// ./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
@@ -53577,6 +54338,181 @@ module.exports = TypeError;
53577
54338
 
53578
54339
  /***/ }),
53579
54340
 
54341
+ /***/ 9345:
54342
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
54343
+
54344
+ "use strict";
54345
+ // ESM COMPAT FLAG
54346
+ __webpack_require__.r(__webpack_exports__);
54347
+
54348
+ // EXPORTS
54349
+ __webpack_require__.d(__webpack_exports__, {
54350
+ "default": function() { return /* binding */ View; }
54351
+ });
54352
+
54353
+ ;// ./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-image-group/View.vue?vue&type=template&id=7cb50abc&scoped=true
54354
+ var render = function render() {
54355
+ var _vm = this,
54356
+ _c = _vm._self._c;
54357
+ return _c('BaseComp', _vm._b({
54358
+ attrs: {
54359
+ "data": _vm.data,
54360
+ "nowCompId": _vm.nowCompId,
54361
+ "isOpcacity": _vm.isOpcacity,
54362
+ "isMask": false,
54363
+ "lang": _vm.lang
54364
+ },
54365
+ on: {
54366
+ "getConfigData": _vm.getConfigData
54367
+ }
54368
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
54369
+ staticClass: "cmhk-home_main"
54370
+ }, [_c('div', {
54371
+ staticClass: "wrap",
54372
+ style: {
54373
+ 'grid-template-columns': `repeat(${_vm.configData.colNums}, 1fr)`,
54374
+ 'grid-gap': `${_vm.configData.gap}px`
54375
+ }
54376
+ }, _vm._l(_vm.showVideoList, function (item) {
54377
+ return _c('cms-image', {
54378
+ key: item.componentId,
54379
+ staticStyle: {
54380
+ "overflow": "hidden"
54381
+ },
54382
+ attrs: {
54383
+ "data": item,
54384
+ "nowCompId": _vm.nowCompId,
54385
+ "isOpcacity": _vm.isOpcacity,
54386
+ "isMask": false,
54387
+ "lang": _vm.lang
54388
+ }
54389
+ });
54390
+ }), 1), _vm.isShowPannel ? [_c('div', {
54391
+ staticClass: "view-more-container"
54392
+ }, [_c('div', {
54393
+ staticClass: "view-more-btn",
54394
+ on: {
54395
+ "click": _vm.foldMessText
54396
+ }
54397
+ }, [_c('span', {
54398
+ staticClass: "view-more-text"
54399
+ }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
54400
+ class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
54401
+ })])])] : _vm._e()], 2)]);
54402
+ };
54403
+ var staticRenderFns = [];
54404
+
54405
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
54406
+ var baseComp = __webpack_require__(5298);
54407
+ ;// ./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-group/View.vue?vue&type=script&lang=js
54408
+
54409
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
54410
+ name: "cms-image-group",
54411
+ components: {
54412
+ BaseComp: baseComp["default"]
54413
+ },
54414
+ props: {
54415
+ data: {
54416
+ type: Object,
54417
+ default: () => {
54418
+ return {};
54419
+ }
54420
+ },
54421
+ nowCompId: {
54422
+ type: [String, Number],
54423
+ default: ""
54424
+ },
54425
+ isOpcacity: {
54426
+ type: Boolean,
54427
+ default: true
54428
+ },
54429
+ lang: {
54430
+ type: String,
54431
+ default: "zh-HK"
54432
+ }
54433
+ },
54434
+ data() {
54435
+ return {
54436
+ configData: {},
54437
+ messFold: false,
54438
+ // 默认配置数据
54439
+ isShowPannel: false
54440
+ };
54441
+ },
54442
+ mounted() {},
54443
+ watch: {
54444
+ configData: {
54445
+ handler() {
54446
+ this.updateStyles();
54447
+ },
54448
+ deep: true
54449
+ }
54450
+ },
54451
+ computed: {
54452
+ showVideoList() {
54453
+ if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.configData.colNums * this.configData.defaultCol);
54454
+ return this.data.childList;
54455
+ },
54456
+ isConfigPage() {
54457
+ return this.$EventBus && this.isOpcacity;
54458
+ }
54459
+ },
54460
+ methods: {
54461
+ // 获取配置数据
54462
+ getConfigData(configData) {
54463
+ this.configData = {
54464
+ ...this.defaultConfig,
54465
+ ...configData
54466
+ };
54467
+ this.updateStyles();
54468
+ this.isShowPannel = this.configData.colNums * this.configData.defaultCol < this.data.childList.length;
54469
+ },
54470
+ // 更新样式
54471
+ updateStyles() {
54472
+ this.$nextTick(() => {
54473
+ // 触发样式更新
54474
+ this.$forceUpdate();
54475
+ });
54476
+ },
54477
+ // 折叠/展开文本
54478
+ foldMessText() {
54479
+ this.messFold = !this.messFold;
54480
+ }
54481
+ }
54482
+ });
54483
+ ;// ./package/cms-image-group/View.vue?vue&type=script&lang=js
54484
+ /* harmony default export */ var cms_image_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
54485
+ ;// ./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-image-group/View.vue?vue&type=style&index=0&id=7cb50abc&prod&lang=scss&scoped=true
54486
+ // extracted by mini-css-extract-plugin
54487
+
54488
+ ;// ./package/cms-image-group/View.vue?vue&type=style&index=0&id=7cb50abc&prod&lang=scss&scoped=true
54489
+
54490
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
54491
+ var componentNormalizer = __webpack_require__(1656);
54492
+ ;// ./package/cms-image-group/View.vue
54493
+
54494
+
54495
+
54496
+ ;
54497
+
54498
+
54499
+ /* normalize component */
54500
+
54501
+ var component = (0,componentNormalizer/* default */.A)(
54502
+ cms_image_group_Viewvue_type_script_lang_js,
54503
+ render,
54504
+ staticRenderFns,
54505
+ false,
54506
+ null,
54507
+ "7cb50abc",
54508
+ null
54509
+
54510
+ )
54511
+
54512
+ /* harmony default export */ var View = (component.exports);
54513
+
54514
+ /***/ }),
54515
+
53580
54516
  /***/ 9387:
53581
54517
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
53582
54518
 
@@ -53850,7 +54786,7 @@ var render = function render() {
53850
54786
  var staticRenderFns = [];
53851
54787
 
53852
54788
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
53853
- var baseComp = __webpack_require__(537);
54789
+ var baseComp = __webpack_require__(5298);
53854
54790
  ;// ./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
53855
54791
 
53856
54792
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -54755,7 +55691,7 @@ var render = function render() {
54755
55691
  var staticRenderFns = [];
54756
55692
 
54757
55693
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
54758
- var baseComp = __webpack_require__(537);
55694
+ var baseComp = __webpack_require__(5298);
54759
55695
  ;// ./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
54760
55696
 
54761
55697
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -54985,7 +55921,7 @@ var es_iterator_for_each = __webpack_require__(7588);
54985
55921
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
54986
55922
  var es_iterator_map = __webpack_require__(1701);
54987
55923
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
54988
- var baseComp = __webpack_require__(537);
55924
+ var baseComp = __webpack_require__(5298);
54989
55925
  ;// ./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
54990
55926
 
54991
55927
 
@@ -55224,276 +56160,6 @@ __webpack_require__(6368);
55224
56160
  __webpack_require__(9309);
55225
56161
 
55226
56162
 
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
-
55497
56163
  /***/ }),
55498
56164
 
55499
56165
  /***/ 9928: