cms-chenhj-ui 2.0.12 → 2.0.14

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__, 2048));
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__(6228);
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"] = ({
@@ -1297,6 +1282,513 @@ module.exports = Math.pow;
1297
1282
  module.exports = {};
1298
1283
 
1299
1284
 
1285
+ /***/ }),
1286
+
1287
+ /***/ 470:
1288
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1289
+
1290
+ "use strict";
1291
+ // ESM COMPAT FLAG
1292
+ __webpack_require__.r(__webpack_exports__);
1293
+
1294
+ // EXPORTS
1295
+ __webpack_require__.d(__webpack_exports__, {
1296
+ "default": function() { return /* binding */ View; }
1297
+ });
1298
+
1299
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
1300
+ var es_iterator_constructor = __webpack_require__(8111);
1301
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
1302
+ var es_iterator_drop = __webpack_require__(9314);
1303
+ ;// ./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=28effaca&scoped=true
1304
+
1305
+
1306
+
1307
+
1308
+ var render = function render() {
1309
+ var _vm = this,
1310
+ _c = _vm._self._c;
1311
+ return _c('BaseComp', _vm._b({
1312
+ attrs: {
1313
+ "data": _vm.data,
1314
+ "nowCompId": _vm.nowCompId,
1315
+ "isOpcacity": _vm.isOpcacity,
1316
+ "isMask": false,
1317
+ "lang": _vm.lang,
1318
+ "showDel": false
1319
+ },
1320
+ on: {
1321
+ "getConfigData": _vm.getConfigData
1322
+ }
1323
+ }, 'BaseComp', _vm.$attrs, false), [_vm.isConfigPage ? _c('div', {
1324
+ staticClass: "main_drag hoverBorderClass",
1325
+ style: _vm.cardContainerStyle,
1326
+ attrs: {
1327
+ "id": `cardTarget${_vm.data.componentId}`
1328
+ },
1329
+ on: {
1330
+ "dragover": _vm.dragover,
1331
+ "dragend": function ($event) {
1332
+ _vm.showAddCom = false;
1333
+ },
1334
+ "drop": _vm.drop
1335
+ }
1336
+ }, [_c('Draggable', {
1337
+ staticStyle: {
1338
+ "position": "relative"
1339
+ },
1340
+ attrs: {
1341
+ "group": _vm.groupConfigForMain,
1342
+ "chosen-class": "chosen",
1343
+ "force-fallback": "true",
1344
+ "animation": "1000",
1345
+ "move": _vm.onMove
1346
+ },
1347
+ on: {
1348
+ "start": _vm.onStart,
1349
+ "end": function ($event) {
1350
+ _vm.showAddCom = false;
1351
+ }
1352
+ },
1353
+ model: {
1354
+ value: _vm.data.childList,
1355
+ callback: function ($$v) {
1356
+ _vm.$set(_vm.data, "childList", $$v);
1357
+ },
1358
+ expression: "data.childList"
1359
+ }
1360
+ }, [_vm._l(_vm.data.childList, function (item, index) {
1361
+ return _c('div', {
1362
+ key: item.componentId,
1363
+ staticStyle: {
1364
+ "position": "relative"
1365
+ }
1366
+ }, [_vm.showAddCom ? _c('div', {
1367
+ staticClass: "up_insert",
1368
+ attrs: {
1369
+ "id": `${item.componentId}-cardTargetup`
1370
+ }
1371
+ }, [_c('i', {
1372
+ staticClass: "icon-up",
1373
+ attrs: {
1374
+ "id": `${item.componentId}-upi`
1375
+ }
1376
+ }), _c('span', {
1377
+ attrs: {
1378
+ "id": `${item.componentId}-upspan`
1379
+ }
1380
+ }, [_vm._v("插入组件")])]) : _vm._e(), _c(item.cmsCompName, {
1381
+ tag: "component",
1382
+ style: {
1383
+ marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
1384
+ },
1385
+ attrs: {
1386
+ "data": item,
1387
+ "lang": _vm.lang,
1388
+ "isOpcacity": _vm.isOpcacity,
1389
+ "nowCompId": _vm.nowCompId
1390
+ }
1391
+ })], 1);
1392
+ }), _vm.showAddCom ? _c('div', {
1393
+ staticClass: "up_insert insert_bottom",
1394
+ style: {
1395
+ bottom: _vm.data.childList.length ? '0px' : '-24px'
1396
+ },
1397
+ attrs: {
1398
+ "id": `-cardTargetdown`
1399
+ }
1400
+ }, [_c('i', {
1401
+ staticClass: "icon-up"
1402
+ }), _c('span', [_vm._v("插入组件")])]) : _vm._e()], 2)], 1) : _c('cms-view', _vm._b({
1403
+ style: _vm.cardContainerStyle,
1404
+ attrs: {
1405
+ "data": _vm.data.childList,
1406
+ "lang": _vm.lang,
1407
+ "isOpcacity": false
1408
+ }
1409
+ }, 'cms-view', _vm.$attrs, false))], 1);
1410
+ };
1411
+ var staticRenderFns = [];
1412
+
1413
+ ;// ./package/cms-column-card/View.vue?vue&type=template&id=28effaca&scoped=true
1414
+
1415
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
1416
+ var es_array_push = __webpack_require__(4114);
1417
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
1418
+ var baseComp = __webpack_require__(5298);
1419
+ // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
1420
+ var vuedraggable_umd = __webpack_require__(1527);
1421
+ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
1422
+ // EXTERNAL MODULE: ./package/baseConfig.js
1423
+ var baseConfig = __webpack_require__(649);
1424
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
1425
+ var es_iterator_find = __webpack_require__(116);
1426
+ // EXTERNAL MODULE: ./src/utils/index.js
1427
+ var utils = __webpack_require__(1996);
1428
+ ;// ./src/views/standard_page.js
1429
+
1430
+
1431
+
1432
+
1433
+
1434
+ const standard_page_list = [{
1435
+ id: 1,
1436
+ componentId: 1,
1437
+ componentName: "范本1-防诈骗提示",
1438
+ standList: ["cms-banner", "cms-titleCenter", "cms-lineThree"]
1439
+ }, {
1440
+ id: 2,
1441
+ componentId: 2,
1442
+ componentName: "范本2-员工优惠",
1443
+ standList: ["cms-banner", "cms-description", "cms-activityCountdown", "cms-titleLeft", "cms-proCard", "cms-termsAndConditions"]
1444
+ }];
1445
+ const getComponentKey = (compList, id, noCompId = false) => {
1446
+ if (noCompId) return id;
1447
+ let compConfig = compList.find(item => item.id == id);
1448
+ if (compConfig.type == "1") {
1449
+ return compConfig.componentId;
1450
+ }
1451
+ return "cms-dynamic-comp";
1452
+ };
1453
+ const getCopyTemplateCompConfig = (compList, componentKey) => {
1454
+ let otherConfig = {};
1455
+ const configureJson = compList.find(item => item.id == componentKey).configureJson;
1456
+ if (configureJson.wujieConfig) {
1457
+ //如果是第三方组件加一个临时标识
1458
+ otherConfig = {
1459
+ originalComponentId: configureJson.componentId,
1460
+ originalVersionId: configureJson.wujieConfig.versionId,
1461
+ operation: "copyTemplate"
1462
+ };
1463
+ }
1464
+ return {
1465
+ ...configureJson,
1466
+ componentId: (0,utils/* getUuidCode */.J0)(32),
1467
+ ...otherConfig
1468
+ };
1469
+ };
1470
+ const isStaticComp = componentKey => {
1471
+ return ["cms-header", "cms-footer", "cms-breadCrumb"].includes(componentKey);
1472
+ };
1473
+ const getWujieCompInfo = (compList, componentId, isTemplate) => {
1474
+ let compConfig = compList.find(item => item.id == componentId);
1475
+ if (isTemplate) if (compConfig.type == "1") {
1476
+ return compConfig;
1477
+ }
1478
+ return {
1479
+ ...compConfig
1480
+ };
1481
+ };
1482
+ ;// ./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
1483
+
1484
+
1485
+
1486
+
1487
+
1488
+
1489
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
1490
+ name: "cms-column-card",
1491
+ components: {
1492
+ BaseComp: baseComp["default"],
1493
+ Draggable: (vuedraggable_umd_default())
1494
+ },
1495
+ props: {
1496
+ data: {
1497
+ type: Object,
1498
+ default: () => {
1499
+ return {};
1500
+ }
1501
+ },
1502
+ nowCompId: {
1503
+ type: [String, Number],
1504
+ default: ""
1505
+ },
1506
+ isOpcacity: {
1507
+ type: Boolean,
1508
+ default: true
1509
+ },
1510
+ lang: {
1511
+ type: String,
1512
+ default: "zh-HK"
1513
+ }
1514
+ },
1515
+ data() {
1516
+ return {
1517
+ configData: {},
1518
+ messFold: true,
1519
+ showAddCom: false,
1520
+ temporaryList: []
1521
+ };
1522
+ },
1523
+ computed: {
1524
+ isConfigPage() {
1525
+ return this.$EventBus && this.isOpcacity;
1526
+ },
1527
+ groupConfigForMain() {
1528
+ return {
1529
+ name: "task",
1530
+ pull: true,
1531
+ // A列表的元素可以被拖出
1532
+ put: (to, from, dragEl) => {
1533
+ console.log(from.el.classList);
1534
+ if (from.el.classList.contains("main_drag")) {
1535
+ const dataId = this.findFirstComponentKey(dragEl);
1536
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column"];
1537
+ console.log("allowedComponents", dataId);
1538
+ if (dataId === "cms-column") {
1539
+ if (!this.checkColumnNestingLevel()) {
1540
+ console.log("cms-column 嵌套层级超出限制");
1541
+ return false;
1542
+ }
1543
+ }
1544
+ return allowedComponents.includes(dataId);
1545
+ }
1546
+ return true;
1547
+ }
1548
+ };
1549
+ },
1550
+ // 卡片容器样式
1551
+ cardContainerStyle() {
1552
+ return {
1553
+ backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : "none",
1554
+ backgroundSize: "cover",
1555
+ backgroundRepeat: "no-repeat",
1556
+ backgroundPosition: "center center",
1557
+ height: this.getContainerHeight(),
1558
+ border: this.getContainerBorder(),
1559
+ borderRadius: this.getContainerBorderRadius(),
1560
+ backgroundColor: this.configData.backgroundColor || "transparent",
1561
+ boxShadow: this.configData.boxShadow || "none"
1562
+ };
1563
+ }
1564
+ },
1565
+ mounted() {
1566
+ if (this.$EventBus) {
1567
+ this.$EventBus.$on("handleDragEnd", () => {
1568
+ this.showAddCom = false;
1569
+ });
1570
+ }
1571
+ },
1572
+ watch: {},
1573
+ methods: {
1574
+ findFirstComponentKey(root) {
1575
+ var _root$querySelector;
1576
+ if (!root) return null;
1577
+
1578
+ // 若起点自身就有
1579
+ if (root.nodeType === 1 && root.hasAttribute("component-key")) {
1580
+ return root.getAttribute("component-key");
1581
+ }
1582
+
1583
+ // 向下查找第一个匹配的后代
1584
+ const el = (_root$querySelector = root.querySelector) === null || _root$querySelector === void 0 ? void 0 : _root$querySelector.call(root, "[component-key]");
1585
+ return el ? el.getAttribute("component-key") : null;
1586
+ },
1587
+ // 获取容器高度
1588
+ getContainerHeight() {
1589
+ if (this.configData.heightType === "fixed") {
1590
+ return `${this.configData.fixedHeight}px`;
1591
+ }
1592
+ return this.isOpcacity ? "100%" : "auto";
1593
+ },
1594
+ // 获取容器边框
1595
+ getContainerBorder() {
1596
+ if (this.configData.borderWidth) {
1597
+ return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
1598
+ }
1599
+ return "none";
1600
+ },
1601
+ // 获取容器圆角
1602
+ getContainerBorderRadius() {
1603
+ if (this.configData.borderRadius) {
1604
+ return `${this.configData.borderRadius}px`;
1605
+ }
1606
+ return "0";
1607
+ },
1608
+ getConfigData(configData) {
1609
+ this.configData = configData;
1610
+ },
1611
+ foldMessText() {
1612
+ this.messFold = !this.messFold;
1613
+ },
1614
+ decodeJumpUrl(url) {
1615
+ if (!url) return;
1616
+ top.location.href = url;
1617
+ },
1618
+ onStart(evt) {
1619
+ console.log("drag start in column-card", evt);
1620
+ this.showAddCom = true;
1621
+ },
1622
+ // 限制拖拽的组件类型
1623
+ onMove(evt) {
1624
+ const {
1625
+ draggedContext
1626
+ } = evt;
1627
+
1628
+ // 允许的组件类型
1629
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
1630
+ ];
1631
+
1632
+ // 如果是从外部拖入的组件
1633
+ if (draggedContext && draggedContext.element) {
1634
+ const componentType = draggedContext.element.cmsCompName;
1635
+ if (componentType && !allowedComponents.includes(componentType)) {
1636
+ console.log("draggedContext.element", draggedContext.element);
1637
+ console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
1638
+ return false;
1639
+ }
1640
+
1641
+ // 特殊处理 cms-column:检查嵌套层级
1642
+ if (componentType === "cms-column") {
1643
+ if (!this.checkColumnNestingLevel()) {
1644
+ console.log("cms-column 嵌套层级超出限制");
1645
+ return false;
1646
+ }
1647
+ }
1648
+ }
1649
+ return true;
1650
+ },
1651
+ // 检查 cms-column 嵌套层级
1652
+ checkColumnNestingLevel() {
1653
+ // 检查当前 column-card 是否已经在 cms-column 内部
1654
+ let parent = this.$parent;
1655
+ let columnDepth = 0;
1656
+ while (parent) {
1657
+ // 检查父组件是否是 cms-column 或包含 cms-column
1658
+ if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
1659
+ columnDepth++;
1660
+ }
1661
+
1662
+ // 如果已经有一层 cms-column,则不允许再嵌套
1663
+ if (columnDepth >= 2) {
1664
+ console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
1665
+ return false;
1666
+ }
1667
+ parent = parent.$parent;
1668
+ }
1669
+ console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
1670
+ return true;
1671
+ },
1672
+ // 处理拖拽悬停
1673
+ dragover(e) {
1674
+ e.preventDefault();
1675
+ this.showAddCom = true;
1676
+ },
1677
+ // 处理拖拽放置
1678
+ drop(e) {
1679
+ e.preventDefault();
1680
+ const componentKey = e.dataTransfer.getData("componentKey");
1681
+ let temporaryId = "";
1682
+ this.temporaryList = e.dataTransfer.getData("temporaryList") ? JSON.parse(e.dataTransfer.getData("temporaryList")) : [];
1683
+ console.log("cms-colum-card-drop", componentKey, this.temporaryList);
1684
+ if (!componentKey) return;
1685
+ const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
1686
+ const isTemporary = isTemporaryItem === "true";
1687
+ if (isTemporary) {
1688
+ temporaryId = getCopyTemplateCompConfig(this.temporaryList, componentKey).cmsCompName;
1689
+ }
1690
+ const componentType = isTemporary ? temporaryId : componentKey;
1691
+ // 允许的组件类型
1692
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
1693
+ ];
1694
+
1695
+ // 检查组件类型是否允许
1696
+ if (!allowedComponents.includes(componentType)) {
1697
+ console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
1698
+ this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
1699
+ this.showAddCom = false;
1700
+ return;
1701
+ }
1702
+
1703
+ // 特殊处理 cms-column:检查嵌套层级
1704
+ if (componentType === "cms-column") {
1705
+ if (!this.checkColumnNestingLevel()) {
1706
+ console.log("cms-column 嵌套层级超出限制");
1707
+ this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
1708
+ this.showAddCom = false;
1709
+ return;
1710
+ }
1711
+ }
1712
+ this.addOneComp(e, componentKey);
1713
+ },
1714
+ // 添加组件到卡片容器
1715
+ addOneComp(e, componentKey) {
1716
+ this.showAddCom = false;
1717
+ console.log("drop to column-card", componentKey);
1718
+
1719
+ // 动态导入组件配置
1720
+ let initCompData;
1721
+ try {
1722
+ const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
1723
+ if (isTemporaryItem === "true") {
1724
+ initCompData = getCopyTemplateCompConfig(this.temporaryList, componentKey);
1725
+ } else {
1726
+ initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
1727
+ }
1728
+ initCompData = {
1729
+ ...initCompData,
1730
+ styleConfig: {
1731
+ pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
1732
+ mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
1733
+ }
1734
+ };
1735
+ } catch (error) {
1736
+ console.error(`无法加载组件 ${componentKey}:`, error);
1737
+ this.$message && this.$message.error(`组件加载失败`);
1738
+ return;
1739
+ }
1740
+ const toElementId = e.toElement.id;
1741
+ if (toElementId === `cardTarget${this.data.componentId}` || toElementId.includes("cardTargetdown")) {
1742
+ // 添加到卡片容器末尾
1743
+ this.data.childList.push(initCompData);
1744
+ } else if (toElementId.includes("cardTargetup")) {
1745
+ // 插入到指定位置
1746
+ const underComponentId = toElementId.split("-cardTargetup")[0];
1747
+ const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
1748
+ if (index !== -1) {
1749
+ this.data.childList.splice(index, 0, initCompData);
1750
+ }
1751
+ }
1752
+
1753
+ // 触发数据更新
1754
+ this.$emit("update:data", this.data);
1755
+ if (componentKey === "cms-column") {
1756
+ this.$EventBus.$emit("handleNowComp", initCompData);
1757
+ }
1758
+ }
1759
+ }
1760
+ });
1761
+ ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
1762
+ /* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
1763
+ ;// ./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=28effaca&prod&lang=scss&scoped=true
1764
+ // extracted by mini-css-extract-plugin
1765
+
1766
+ ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=28effaca&prod&lang=scss&scoped=true
1767
+
1768
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1769
+ var componentNormalizer = __webpack_require__(1656);
1770
+ ;// ./package/cms-column-card/View.vue
1771
+
1772
+
1773
+
1774
+ ;
1775
+
1776
+
1777
+ /* normalize component */
1778
+
1779
+ var component = (0,componentNormalizer/* default */.A)(
1780
+ cms_column_card_Viewvue_type_script_lang_js,
1781
+ render,
1782
+ staticRenderFns,
1783
+ false,
1784
+ null,
1785
+ "28effaca",
1786
+ null
1787
+
1788
+ )
1789
+
1790
+ /* harmony default export */ var View = (component.exports);
1791
+
1300
1792
  /***/ }),
1301
1793
 
1302
1794
  /***/ 492:
@@ -1423,6 +1915,64 @@ module.exports = !fails(function () {
1423
1915
  });
1424
1916
 
1425
1917
 
1918
+ /***/ }),
1919
+
1920
+ /***/ 622:
1921
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1922
+
1923
+ "use strict";
1924
+ __webpack_require__.r(__webpack_exports__);
1925
+ /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
1926
+
1927
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 8216));
1928
+ const langData = {
1929
+ colNums: 1,
1930
+ defaultCol: 12,
1931
+ gap: 10
1932
+ };
1933
+ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
1934
+ // 布局配置
1935
+ colNums: {
1936
+ label: "视频样式",
1937
+ widgetType: "el-radio-group",
1938
+ options: [{
1939
+ label: "一行一个",
1940
+ value: 1
1941
+ }, {
1942
+ label: "一行两个",
1943
+ value: 2
1944
+ }, {
1945
+ label: "一行三个",
1946
+ value: 3
1947
+ }],
1948
+ isCol: true
1949
+ },
1950
+ defaultCol: {
1951
+ label: "默认展示(行)",
1952
+ widgetType: "el-input-number",
1953
+ size: "small",
1954
+ min: 1,
1955
+ max: 12,
1956
+ step: 1,
1957
+ isCol: true,
1958
+ unit: "行"
1959
+ }
1960
+ });
1961
+ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
1962
+ /* harmony default export */ __webpack_exports__["default"] = ({
1963
+ View,
1964
+ validateSchema,
1965
+ configDataType,
1966
+ langData,
1967
+ settings: cmsCompName => {
1968
+ return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
1969
+ cmsCompName,
1970
+ langData,
1971
+ isLangAll: true
1972
+ });
1973
+ }
1974
+ });
1975
+
1426
1976
  /***/ }),
1427
1977
 
1428
1978
  /***/ 649:
@@ -3358,7 +3908,7 @@ var es_iterator_filter = __webpack_require__(2489);
3358
3908
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
3359
3909
  var es_iterator_for_each = __webpack_require__(7588);
3360
3910
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
3361
- var baseComp = __webpack_require__(6228);
3911
+ var baseComp = __webpack_require__(5298);
3362
3912
  ;// ./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
3363
3913
 
3364
3914
 
@@ -8848,7 +9398,7 @@ service.interceptors.request.use(config => {
8848
9398
  if (config.url.includes("/ecosp-console")) {
8849
9399
  document.cookie = "JSESSIONID=node017nm2falxdfe8c1parzfv9ilr29.node0";
8850
9400
  } else if (config.url.includes("omni-channel-service-console")) {
8851
- document.cookie = "JSESSIONID=78E8137DAEC4660E6E4A6310CAB2B300";
9401
+ document.cookie = "JSESSIONID=CA4058E3A195113C85AE1F926814CF89";
8852
9402
  }
8853
9403
  } else {
8854
9404
  if (config.url.includes("/api/") && is_cmsComp) {
@@ -9460,8 +10010,8 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
9460
10010
 
9461
10011
  var map = {
9462
10012
  "./": 176,
9463
- "./baseComp": 6228,
9464
- "./baseComp.vue": 6228,
10013
+ "./baseComp": 5298,
10014
+ "./baseComp.vue": 5298,
9465
10015
  "./baseConfig": 649,
9466
10016
  "./baseConfig.js": 649,
9467
10017
  "./cms-aLineThreeLeftOne": 5041,
@@ -9511,13 +10061,13 @@ var map = {
9511
10061
  "./cms-column": 3923,
9512
10062
  "./cms-column-card": 5340,
9513
10063
  "./cms-column-card/": 5340,
9514
- "./cms-column-card/View": 3164,
9515
- "./cms-column-card/View.vue": 3164,
10064
+ "./cms-column-card/View": 470,
10065
+ "./cms-column-card/View.vue": 470,
9516
10066
  "./cms-column-card/index": 5340,
9517
10067
  "./cms-column-card/index.js": 5340,
9518
10068
  "./cms-column/": 3923,
9519
- "./cms-column/View": 9886,
9520
- "./cms-column/View.vue": 9886,
10069
+ "./cms-column/View": 6278,
10070
+ "./cms-column/View.vue": 6278,
9521
10071
  "./cms-column/index": 3923,
9522
10072
  "./cms-column/index.js": 3923,
9523
10073
  "./cms-description": 1921,
@@ -9539,9 +10089,15 @@ var map = {
9539
10089
  "./cms-iconFour/index": 8132,
9540
10090
  "./cms-iconFour/index.js": 8132,
9541
10091
  "./cms-image": 8886,
10092
+ "./cms-image-group": 6940,
10093
+ "./cms-image-group/": 6940,
10094
+ "./cms-image-group/View": 9345,
10095
+ "./cms-image-group/View.vue": 9345,
10096
+ "./cms-image-group/index": 6940,
10097
+ "./cms-image-group/index.js": 6940,
9542
10098
  "./cms-image/": 8886,
9543
- "./cms-image/View": 4986,
9544
- "./cms-image/View.vue": 4986,
10099
+ "./cms-image/View": 5314,
10100
+ "./cms-image/View.vue": 5314,
9545
10101
  "./cms-image/index": 8886,
9546
10102
  "./cms-image/index.js": 8886,
9547
10103
  "./cms-imgFour": 4352,
@@ -9653,9 +10209,15 @@ var map = {
9653
10209
  "./cms-via-storedValueCard/index": 4400,
9654
10210
  "./cms-via-storedValueCard/index.js": 4400,
9655
10211
  "./cms-video": 23,
10212
+ "./cms-video-group": 622,
10213
+ "./cms-video-group/": 622,
10214
+ "./cms-video-group/View": 8216,
10215
+ "./cms-video-group/View.vue": 8216,
10216
+ "./cms-video-group/index": 622,
10217
+ "./cms-video-group/index.js": 622,
9656
10218
  "./cms-video/": 23,
9657
- "./cms-video/View": 4467,
9658
- "./cms-video/View.vue": 4467,
10219
+ "./cms-video/View": 2048,
10220
+ "./cms-video/View.vue": 2048,
9659
10221
  "./cms-video/index": 23,
9660
10222
  "./cms-video/index.js": 23,
9661
10223
  "./cms-view": 2392,
@@ -9967,7 +10529,7 @@ var render = function render() {
9967
10529
  var staticRenderFns = [];
9968
10530
 
9969
10531
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
9970
- var baseComp = __webpack_require__(6228);
10532
+ var baseComp = __webpack_require__(5298);
9971
10533
  // EXTERNAL MODULE: ./package/patch.js
9972
10534
  var patch = __webpack_require__(1618);
9973
10535
  ;// ./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
@@ -10709,6 +11271,384 @@ function getDevice() {
10709
11271
 
10710
11272
  /***/ }),
10711
11273
 
11274
+ /***/ 2048:
11275
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
11276
+
11277
+ "use strict";
11278
+ // ESM COMPAT FLAG
11279
+ __webpack_require__.r(__webpack_exports__);
11280
+
11281
+ // EXPORTS
11282
+ __webpack_require__.d(__webpack_exports__, {
11283
+ "default": function() { return /* binding */ View; }
11284
+ });
11285
+
11286
+ ;// ./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=787ca866&scoped=true
11287
+ var render = function render() {
11288
+ var _vm = this,
11289
+ _c = _vm._self._c;
11290
+ return _c('BaseComp', _vm._b({
11291
+ attrs: {
11292
+ "data": _vm.data,
11293
+ "nowCompId": _vm.nowCompId,
11294
+ "isOpcacity": _vm.isOpcacity,
11295
+ "isMask": false,
11296
+ "lang": _vm.lang
11297
+ },
11298
+ on: {
11299
+ "getConfigData": _vm.getConfigData
11300
+ }
11301
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
11302
+ staticClass: "cms-video-container",
11303
+ class: [_vm.configData.customClass || ''],
11304
+ style: _vm.containerStyle
11305
+ }, [_c('div', {
11306
+ staticClass: "f-c-c"
11307
+ }, [_vm._v(_vm._s(_vm.configData.title))]), _c('div', {
11308
+ staticClass: "video-wrapper",
11309
+ style: _vm.wrapperStyle
11310
+ }, [_vm.videoType === 'direct' && _vm.configData.videoUrl ? _c('video', {
11311
+ staticClass: "cms-video direct-video",
11312
+ style: _vm.videoStyle,
11313
+ attrs: {
11314
+ "src": _vm.configData.videoUrl,
11315
+ "controls": _vm.configData.showControls,
11316
+ "autoplay": _vm.configData.autoplay,
11317
+ "loop": _vm.configData.loop,
11318
+ "poster": _vm.configData.posterUrl
11319
+ },
11320
+ domProps: {
11321
+ "muted": _vm.configData.muted
11322
+ },
11323
+ on: {
11324
+ "loadstart": _vm.onVideoLoadStart,
11325
+ "loadeddata": _vm.onVideoLoaded,
11326
+ "error": _vm.onVideoError
11327
+ }
11328
+ }) : _vm.configData.embedCode ? _c('div', {
11329
+ staticClass: "cms-video embed-video",
11330
+ style: _vm.videoStyle,
11331
+ domProps: {
11332
+ "innerHTML": _vm._s(_vm.configData.embedCode)
11333
+ }
11334
+ }) : _c('div', {
11335
+ staticClass: "video-placeholder",
11336
+ style: _vm.placeholderStyle
11337
+ }, [_c('img', {
11338
+ staticStyle: {
11339
+ "width": "97.82px",
11340
+ "height": "97.82px"
11341
+ },
11342
+ attrs: {
11343
+ "src": __webpack_require__(6148),
11344
+ "alt": "Video Camera"
11345
+ }
11346
+ })])])])]);
11347
+ };
11348
+ var staticRenderFns = [];
11349
+
11350
+ ;// ./package/cms-video/View.vue?vue&type=template&id=787ca866&scoped=true
11351
+
11352
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
11353
+ var es_iterator_constructor = __webpack_require__(8111);
11354
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
11355
+ var es_iterator_for_each = __webpack_require__(7588);
11356
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
11357
+ var baseComp = __webpack_require__(5298);
11358
+ ;// ./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
11359
+
11360
+
11361
+
11362
+
11363
+
11364
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
11365
+ name: "cms-video",
11366
+ components: {
11367
+ BaseComp: baseComp["default"]
11368
+ },
11369
+ props: {
11370
+ data: {
11371
+ type: Object,
11372
+ default: () => {
11373
+ return {};
11374
+ }
11375
+ },
11376
+ nowCompId: {
11377
+ type: [String, Number],
11378
+ default: ""
11379
+ },
11380
+ isOpcacity: {
11381
+ type: Boolean,
11382
+ default: true
11383
+ },
11384
+ lang: {
11385
+ type: String,
11386
+ default: "zh-HK"
11387
+ }
11388
+ },
11389
+ data() {
11390
+ return {
11391
+ configData: {},
11392
+ videoLoaded: false,
11393
+ videoError: false,
11394
+ // 默认配置数据
11395
+ defaultConfig: {
11396
+ // 视频源设置
11397
+ videoType: "direct",
11398
+ videoUrl: "",
11399
+ embedCode: "",
11400
+ posterUrl: "",
11401
+ // 播放控制
11402
+ showControls: true,
11403
+ autoplay: false,
11404
+ loop: false,
11405
+ muted: false,
11406
+ // 尺寸控制
11407
+ widthType: "auto",
11408
+ widthValue: 100,
11409
+ heightType: "auto",
11410
+ heightValue: 100,
11411
+ aspectRatio: "16:9",
11412
+ customAspectRatio: "16:9",
11413
+ maxWidth: 0,
11414
+ maxHeight: 0,
11415
+ // 样式设置
11416
+ borderRadius: 0,
11417
+ // 高级配置
11418
+ customClass: "",
11419
+ customStyle: ""
11420
+ }
11421
+ };
11422
+ },
11423
+ mounted() {
11424
+ this.initConfigData();
11425
+ },
11426
+ watch: {
11427
+ configData: {
11428
+ handler() {
11429
+ this.updateStyles();
11430
+ },
11431
+ deep: true
11432
+ }
11433
+ },
11434
+ computed: {
11435
+ // 视频类型
11436
+ videoType() {
11437
+ return this.configData.videoType || this.defaultConfig.videoType;
11438
+ },
11439
+ // 实际使用的宽高比
11440
+ actualAspectRatio() {
11441
+ const config = {
11442
+ ...this.defaultConfig,
11443
+ ...this.configData
11444
+ };
11445
+ if (config.aspectRatio === "custom") {
11446
+ return config.customAspectRatio || "16:9";
11447
+ }
11448
+ return config.aspectRatio;
11449
+ },
11450
+ // 容器样式
11451
+ containerStyle() {
11452
+ const config = {
11453
+ ...this.defaultConfig,
11454
+ ...this.configData
11455
+ };
11456
+ return {
11457
+ ...this.parseCustomStyle(config.customStyle)
11458
+ };
11459
+ },
11460
+ // 包装器样式
11461
+ wrapperStyle() {
11462
+ const config = {
11463
+ ...this.defaultConfig,
11464
+ ...this.configData
11465
+ };
11466
+ let width = "auto";
11467
+ let height = "auto";
11468
+
11469
+ // 宽度设置
11470
+ if (config.widthType === "fixed") {
11471
+ width = `${config.widthValue}px`;
11472
+ } else if (config.widthType === "percent") {
11473
+ width = `${config.widthValue}%`;
11474
+ }
11475
+
11476
+ // 高度设置
11477
+ if (config.heightType === "fixed") {
11478
+ height = `${config.heightValue}px`;
11479
+ } else if (config.heightType === "percent") {
11480
+ height = `${config.heightValue}%`;
11481
+ } else if (config.heightType === "aspect") {
11482
+ // 根据宽高比计算高度
11483
+ height = "auto";
11484
+ }
11485
+ return {
11486
+ width,
11487
+ height,
11488
+ maxWidth: config.maxWidth > 0 ? `${config.maxWidth}px` : "none",
11489
+ maxHeight: config.maxHeight > 0 ? `${config.maxHeight}px` : "none",
11490
+ borderRadius: `${config.borderRadius}px`,
11491
+ overflow: "hidden",
11492
+ display: "block",
11493
+ position: "relative"
11494
+ };
11495
+ },
11496
+ // 视频样式
11497
+ videoStyle() {
11498
+ const config = {
11499
+ ...this.defaultConfig,
11500
+ ...this.configData
11501
+ };
11502
+ let style = {
11503
+ width: "100%",
11504
+ height: "100%",
11505
+ display: "block",
11506
+ border: "none",
11507
+ outline: "none"
11508
+ };
11509
+
11510
+ // 如果是宽高比模式,设置aspect-ratio
11511
+ if (config.heightType === "aspect") {
11512
+ style.aspectRatio = this.actualAspectRatio.replace(":", "/");
11513
+ }
11514
+ return style;
11515
+ },
11516
+ // 占位符样式
11517
+ placeholderStyle() {
11518
+ const config = {
11519
+ ...this.defaultConfig,
11520
+ ...this.configData
11521
+ };
11522
+ let width = "100%";
11523
+ let height = "auto";
11524
+
11525
+ // 如果设置了固定尺寸,使用设置的尺寸
11526
+ if (config.widthType === "fixed") {
11527
+ width = `${config.widthValue}px`;
11528
+ } else if (config.widthType === "percent") {
11529
+ width = `${config.widthValue}%`;
11530
+ }
11531
+ if (config.heightType === "fixed") {
11532
+ height = `${config.heightValue}px`;
11533
+ } else if (config.heightType === "aspect") {
11534
+ // 使用aspect-ratio保持16:9比例
11535
+ height = "auto";
11536
+ } else {
11537
+ // 默认使用16:9比例
11538
+ height = "auto";
11539
+ }
11540
+ const style = {
11541
+ width,
11542
+ height,
11543
+ backgroundColor: "#f5f7fa",
11544
+ border: "1px dashed #dcdfe6",
11545
+ borderRadius: `${config.borderRadius}px`,
11546
+ display: "flex",
11547
+ flexDirection: "column",
11548
+ alignItems: "center",
11549
+ justifyContent: "center",
11550
+ color: "#909399",
11551
+ fontSize: "14px"
11552
+ };
11553
+
11554
+ // 如果不是固定高度,使用aspect-ratio保持16:9比例
11555
+ if (config.heightType !== "fixed") {
11556
+ style.aspectRatio = this.actualAspectRatio.replace(":", "/");
11557
+ }
11558
+ return style;
11559
+ }
11560
+ },
11561
+ methods: {
11562
+ // 初始化配置数据
11563
+ initConfigData() {
11564
+ this.configData = {
11565
+ ...this.defaultConfig,
11566
+ ...this.configData
11567
+ };
11568
+ },
11569
+ // 获取配置数据
11570
+ getConfigData(configData) {
11571
+ this.configData = {
11572
+ ...this.defaultConfig,
11573
+ ...configData
11574
+ };
11575
+ this.updateStyles();
11576
+ },
11577
+ // 更新样式
11578
+ updateStyles() {
11579
+ this.$nextTick(() => {
11580
+ this.$forceUpdate();
11581
+ });
11582
+ },
11583
+ // 视频开始加载
11584
+ onVideoLoadStart() {
11585
+ this.videoLoaded = false;
11586
+ this.videoError = false;
11587
+ },
11588
+ // 视频加载完成
11589
+ onVideoLoaded() {
11590
+ this.videoLoaded = true;
11591
+ this.videoError = false;
11592
+ },
11593
+ // 视频加载失败
11594
+ onVideoError() {
11595
+ this.videoLoaded = false;
11596
+ this.videoError = true;
11597
+ },
11598
+ // 解析自定义样式
11599
+ parseCustomStyle(customStyle) {
11600
+ if (!customStyle) return {};
11601
+ try {
11602
+ const styles = {};
11603
+ const declarations = customStyle.split(";");
11604
+ declarations.forEach(declaration => {
11605
+ const [property, value] = declaration.split(":");
11606
+ if (property && value) {
11607
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
11608
+ styles[camelCaseProperty] = value.trim();
11609
+ }
11610
+ });
11611
+ return styles;
11612
+ } catch (error) {
11613
+ console.warn("解析自定义样式失败:", error);
11614
+ return {};
11615
+ }
11616
+ }
11617
+ }
11618
+ });
11619
+ ;// ./package/cms-video/View.vue?vue&type=script&lang=js
11620
+ /* harmony default export */ var cms_video_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
11621
+ ;// ./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=787ca866&prod&lang=scss&scoped=true
11622
+ // extracted by mini-css-extract-plugin
11623
+
11624
+ ;// ./package/cms-video/View.vue?vue&type=style&index=0&id=787ca866&prod&lang=scss&scoped=true
11625
+
11626
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
11627
+ var componentNormalizer = __webpack_require__(1656);
11628
+ ;// ./package/cms-video/View.vue
11629
+
11630
+
11631
+
11632
+ ;
11633
+
11634
+
11635
+ /* normalize component */
11636
+
11637
+ var component = (0,componentNormalizer/* default */.A)(
11638
+ cms_video_Viewvue_type_script_lang_js,
11639
+ render,
11640
+ staticRenderFns,
11641
+ false,
11642
+ null,
11643
+ "787ca866",
11644
+ null
11645
+
11646
+ )
11647
+
11648
+ /* harmony default export */ var View = (component.exports);
11649
+
11650
+ /***/ }),
11651
+
10712
11652
  /***/ 2071:
10713
11653
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
10714
11654
 
@@ -11141,7 +12081,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
11141
12081
  },
11142
12082
  fontColor: {
11143
12083
  label: "文字颜色",
11144
- widgetType: "el-color-picker"
12084
+ widgetType: "el-color-picker",
12085
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
11145
12086
  },
11146
12087
  fontWeight: {
11147
12088
  label: "字体粗细",
@@ -11187,7 +12128,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
11187
12128
  // 样式控制配置
11188
12129
  backgroundColor: {
11189
12130
  label: "背景颜色",
11190
- widgetType: "el-color-picker"
12131
+ widgetType: "el-color-picker",
12132
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
11191
12133
  },
11192
12134
  borderRadius: {
11193
12135
  label: "圆角(px)",
@@ -11224,7 +12166,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
11224
12166
  },
11225
12167
  borderColor: {
11226
12168
  label: "边框颜色",
11227
- widgetType: "el-color-picker"
12169
+ widgetType: "el-color-picker",
12170
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
11228
12171
  },
11229
12172
  // 空间布局配置
11230
12173
  paddingTop: {
@@ -11771,7 +12714,7 @@ var es_iterator_constructor = __webpack_require__(8111);
11771
12714
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
11772
12715
  var es_iterator_for_each = __webpack_require__(7588);
11773
12716
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
11774
- var baseComp = __webpack_require__(6228);
12717
+ var baseComp = __webpack_require__(5298);
11775
12718
  ;// ./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
11776
12719
 
11777
12720
 
@@ -12003,6 +12946,7 @@ var component = (0,componentNormalizer/* default */.A)(
12003
12946
  __webpack_require__.r(__webpack_exports__);
12004
12947
  /* harmony default export */ __webpack_exports__["default"] = ({
12005
12948
  Expand: "展開",
12949
+ More: "查看更多",
12006
12950
  Collpase: "收起",
12007
12951
  discount: '優惠期限:'
12008
12952
  });
@@ -15775,7 +16719,7 @@ var swiper_esm_bundle = __webpack_require__(4418);
15775
16719
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
15776
16720
  var jumpUrl = __webpack_require__(813);
15777
16721
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
15778
- var baseComp = __webpack_require__(6228);
16722
+ var baseComp = __webpack_require__(5298);
15779
16723
  ;// ./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
15780
16724
 
15781
16725
 
@@ -24656,413 +25600,6 @@ module.exports = function callBoundIntrinsic(name, allowMissing) {
24656
25600
 
24657
25601
  /***/ }),
24658
25602
 
24659
- /***/ 3164:
24660
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
24661
-
24662
- "use strict";
24663
- // ESM COMPAT FLAG
24664
- __webpack_require__.r(__webpack_exports__);
24665
-
24666
- // EXPORTS
24667
- __webpack_require__.d(__webpack_exports__, {
24668
- "default": function() { return /* binding */ View; }
24669
- });
24670
-
24671
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
24672
- var es_iterator_constructor = __webpack_require__(8111);
24673
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
24674
- var es_iterator_drop = __webpack_require__(9314);
24675
- ;// ./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
24676
-
24677
-
24678
-
24679
-
24680
- var render = function render() {
24681
- var _vm = this,
24682
- _c = _vm._self._c;
24683
- return _c('BaseComp', _vm._b({
24684
- attrs: {
24685
- "data": _vm.data,
24686
- "nowCompId": _vm.nowCompId,
24687
- "isOpcacity": _vm.isOpcacity,
24688
- "isMask": false,
24689
- "lang": _vm.lang,
24690
- "showDel": false
24691
- },
24692
- on: {
24693
- "getConfigData": _vm.getConfigData
24694
- }
24695
- }, 'BaseComp', _vm.$attrs, false), [_vm.$EventBus && _vm.isOpcacity ? _c('div', {
24696
- staticClass: "main_drag",
24697
- style: _vm.cardContainerStyle,
24698
- attrs: {
24699
- "id": `cardTarget${_vm.data.componentId}`
24700
- },
24701
- on: {
24702
- "dragover": _vm.dragover,
24703
- "dragend": function ($event) {
24704
- _vm.showAddCom = false;
24705
- },
24706
- "drop": _vm.drop
24707
- }
24708
- }, [_c('Draggable', {
24709
- staticStyle: {
24710
- "position": "relative"
24711
- },
24712
- attrs: {
24713
- "chosen-class": "chosen",
24714
- "force-fallback": "true",
24715
- "animation": "1000",
24716
- "move": _vm.onMove
24717
- },
24718
- on: {
24719
- "start": _vm.onStart,
24720
- "end": function ($event) {
24721
- _vm.showAddCom = false;
24722
- }
24723
- },
24724
- model: {
24725
- value: _vm.data.childList,
24726
- callback: function ($$v) {
24727
- _vm.$set(_vm.data, "childList", $$v);
24728
- },
24729
- expression: "data.childList"
24730
- }
24731
- }, [_vm._l(_vm.data.childList, function (item, index) {
24732
- return _c('div', {
24733
- key: item.componentId,
24734
- staticStyle: {
24735
- "position": "relative"
24736
- }
24737
- }, [_c('div', {
24738
- directives: [{
24739
- name: "show",
24740
- rawName: "v-show",
24741
- value: _vm.showAddCom,
24742
- expression: "showAddCom"
24743
- }],
24744
- staticClass: "up_insert",
24745
- attrs: {
24746
- "id": `${item.componentId}-cardTargetup`
24747
- }
24748
- }, [_c('i', {
24749
- staticClass: "icon-up",
24750
- attrs: {
24751
- "id": `${item.componentId}-upi`
24752
- }
24753
- }), _c('span', {
24754
- attrs: {
24755
- "id": `${item.componentId}-upspan`
24756
- }
24757
- }, [_vm._v("插入组件")])]), _c(item.cmsCompName, {
24758
- key: item.componentId,
24759
- tag: "component",
24760
- style: {
24761
- marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
24762
- },
24763
- attrs: {
24764
- "data": item,
24765
- "lang": _vm.lang,
24766
- "isOpcacity": _vm.isOpcacity,
24767
- "nowCompId": _vm.nowCompId
24768
- }
24769
- })], 1);
24770
- }), _c('div', {
24771
- directives: [{
24772
- name: "show",
24773
- rawName: "v-show",
24774
- value: _vm.showAddCom,
24775
- expression: "showAddCom"
24776
- }],
24777
- staticClass: "up_insert insert_bottom",
24778
- style: {
24779
- bottom: _vm.data.childList.length ? '0px' : '-24px'
24780
- },
24781
- attrs: {
24782
- "id": `-cardTargetdown`
24783
- }
24784
- }, [_c('i', {
24785
- staticClass: "icon-up"
24786
- }), _c('span', [_vm._v("插入组件")])])], 2)], 1) : _c('cms-view', _vm._b({
24787
- style: _vm.cardContainerStyle,
24788
- attrs: {
24789
- "data": _vm.data.childList,
24790
- "lang": _vm.lang,
24791
- "isOpcacity": false
24792
- }
24793
- }, 'cms-view', _vm.$attrs, false))], 1);
24794
- };
24795
- var staticRenderFns = [];
24796
-
24797
- ;// ./package/cms-column-card/View.vue?vue&type=template&id=971892d6&scoped=true
24798
-
24799
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
24800
- var es_array_push = __webpack_require__(4114);
24801
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
24802
- var baseComp = __webpack_require__(6228);
24803
- // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
24804
- var vuedraggable_umd = __webpack_require__(1527);
24805
- var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
24806
- // EXTERNAL MODULE: ./package/baseConfig.js
24807
- var baseConfig = __webpack_require__(649);
24808
- ;// ./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
24809
-
24810
-
24811
-
24812
-
24813
-
24814
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
24815
- name: "cms-column-card",
24816
- components: {
24817
- BaseComp: baseComp["default"],
24818
- Draggable: (vuedraggable_umd_default())
24819
- },
24820
- props: {
24821
- data: {
24822
- type: Object,
24823
- default: () => {
24824
- return {};
24825
- }
24826
- },
24827
- nowCompId: {
24828
- type: [String, Number],
24829
- default: ""
24830
- },
24831
- isOpcacity: {
24832
- type: Boolean,
24833
- default: true
24834
- },
24835
- lang: {
24836
- type: String,
24837
- default: "zh-HK"
24838
- }
24839
- },
24840
- data() {
24841
- return {
24842
- configData: {},
24843
- messFold: true,
24844
- showAddCom: false
24845
- };
24846
- },
24847
- computed: {
24848
- // 卡片容器样式
24849
- cardContainerStyle() {
24850
- return {
24851
- backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : "none",
24852
- backgroundSize: "cover",
24853
- backgroundRepeat: "no-repeat",
24854
- backgroundPosition: "center center",
24855
- height: this.getContainerHeight(),
24856
- border: this.getContainerBorder(),
24857
- borderRadius: this.getContainerBorderRadius(),
24858
- backgroundColor: this.configData.backgroundColor || "transparent",
24859
- boxShadow: this.configData.boxShadow || "none"
24860
- };
24861
- }
24862
- },
24863
- mounted() {
24864
- if (this.$EventBus) {
24865
- this.$EventBus.$on("handleDragEnd", () => {
24866
- this.showAddCom = false;
24867
- });
24868
- }
24869
- },
24870
- watch: {},
24871
- methods: {
24872
- // 获取容器高度
24873
- getContainerHeight() {
24874
- if (this.configData.heightType === "fixed") {
24875
- return `${this.configData.fixedHeight}px`;
24876
- }
24877
- return this.isOpcacity ? "100%" : "auto";
24878
- },
24879
- // 获取容器边框
24880
- getContainerBorder() {
24881
- if (this.configData.borderWidth) {
24882
- return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
24883
- }
24884
- return "none";
24885
- },
24886
- // 获取容器圆角
24887
- getContainerBorderRadius() {
24888
- if (this.configData.borderRadius) {
24889
- return `${this.configData.borderRadius}px`;
24890
- }
24891
- return "0";
24892
- },
24893
- getConfigData(configData) {
24894
- this.configData = configData;
24895
- },
24896
- foldMessText() {
24897
- this.messFold = !this.messFold;
24898
- },
24899
- decodeJumpUrl(url) {
24900
- if (!url) return;
24901
- top.location.href = url;
24902
- },
24903
- onStart(evt) {
24904
- console.log("drag start in column-card", evt);
24905
- this.showAddCom = true;
24906
- },
24907
- // 限制拖拽的组件类型
24908
- onMove(evt) {
24909
- const {
24910
- draggedContext
24911
- } = evt;
24912
-
24913
- // 允许的组件类型
24914
- const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
24915
- ];
24916
-
24917
- // 如果是从外部拖入的组件
24918
- if (draggedContext && draggedContext.element) {
24919
- const componentType = draggedContext.element.cmsCompName;
24920
- if (componentType && !allowedComponents.includes(componentType)) {
24921
- console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
24922
- return false;
24923
- }
24924
-
24925
- // 特殊处理 cms-column:检查嵌套层级
24926
- if (componentType === "cms-column") {
24927
- if (!this.checkColumnNestingLevel()) {
24928
- console.log("cms-column 嵌套层级超出限制");
24929
- return false;
24930
- }
24931
- }
24932
- }
24933
- return true;
24934
- },
24935
- // 检查 cms-column 嵌套层级
24936
- checkColumnNestingLevel() {
24937
- // 检查当前 column-card 是否已经在 cms-column 内部
24938
- let parent = this.$parent;
24939
- let columnDepth = 0;
24940
- while (parent) {
24941
- // 检查父组件是否是 cms-column 或包含 cms-column
24942
- if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
24943
- columnDepth++;
24944
- }
24945
-
24946
- // 如果已经有一层 cms-column,则不允许再嵌套
24947
- if (columnDepth >= 2) {
24948
- console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
24949
- return false;
24950
- }
24951
- parent = parent.$parent;
24952
- }
24953
- console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
24954
- return true;
24955
- },
24956
- // 处理拖拽悬停
24957
- dragover(e) {
24958
- e.preventDefault();
24959
- this.showAddCom = true;
24960
- },
24961
- // 处理拖拽放置
24962
- drop(e) {
24963
- console.log("cms-colum-card-drop");
24964
- e.preventDefault();
24965
- const componentKey = e.dataTransfer.getData("componentKey");
24966
- if (!componentKey) return;
24967
-
24968
- // 允许的组件类型
24969
- const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
24970
- ];
24971
-
24972
- // 检查组件类型是否允许
24973
- if (!allowedComponents.includes(componentKey)) {
24974
- console.log(`组件类型 ${componentKey} 不允许拖入 column-card`);
24975
- this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
24976
- this.showAddCom = false;
24977
- return;
24978
- }
24979
-
24980
- // 特殊处理 cms-column:检查嵌套层级
24981
- if (componentKey === "cms-column") {
24982
- if (!this.checkColumnNestingLevel()) {
24983
- console.log("cms-column 嵌套层级超出限制");
24984
- this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
24985
- this.showAddCom = false;
24986
- return;
24987
- }
24988
- }
24989
- this.addOneComp(e, componentKey);
24990
- },
24991
- // 添加组件到卡片容器
24992
- addOneComp(e, componentKey) {
24993
- this.showAddCom = false;
24994
- console.log("drop to column-card", componentKey);
24995
-
24996
- // 动态导入组件配置
24997
- let initCompData;
24998
- try {
24999
- initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
25000
- initCompData = {
25001
- ...initCompData,
25002
- styleConfig: {
25003
- pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
25004
- mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
25005
- }
25006
- };
25007
- } catch (error) {
25008
- console.error(`无法加载组件 ${componentKey}:`, error);
25009
- this.$message && this.$message.error(`组件加载失败`);
25010
- return;
25011
- }
25012
- const toElementId = e.toElement.id;
25013
- if (toElementId === `cardTarget${this.data.componentId}` || toElementId.includes("cardTargetdown")) {
25014
- // 添加到卡片容器末尾
25015
- this.data.childList.push(initCompData);
25016
- } else if (toElementId.includes("cardTargetup")) {
25017
- // 插入到指定位置
25018
- const underComponentId = toElementId.split("-cardTargetup")[0];
25019
- const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
25020
- if (index !== -1) {
25021
- this.data.childList.splice(index, 0, initCompData);
25022
- }
25023
- }
25024
-
25025
- // 触发数据更新
25026
- this.$emit("update:data", this.data);
25027
- if (componentKey === "cms-column") {
25028
- this.$EventBus.$emit("handleNowComp", initCompData);
25029
- }
25030
- }
25031
- }
25032
- });
25033
- ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
25034
- /* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
25035
- ;// ./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
25036
- // extracted by mini-css-extract-plugin
25037
-
25038
- ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=971892d6&prod&lang=scss&scoped=true
25039
-
25040
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
25041
- var componentNormalizer = __webpack_require__(1656);
25042
- ;// ./package/cms-column-card/View.vue
25043
-
25044
-
25045
-
25046
- ;
25047
-
25048
-
25049
- /* normalize component */
25050
-
25051
- var component = (0,componentNormalizer/* default */.A)(
25052
- cms_column_card_Viewvue_type_script_lang_js,
25053
- render,
25054
- staticRenderFns,
25055
- false,
25056
- null,
25057
- "971892d6",
25058
- null
25059
-
25060
- )
25061
-
25062
- /* harmony default export */ var View = (component.exports);
25063
-
25064
- /***/ }),
25065
-
25066
25603
  /***/ 3167:
25067
25604
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
25068
25605
 
@@ -25127,7 +25664,7 @@ var render = function render() {
25127
25664
  var staticRenderFns = [];
25128
25665
 
25129
25666
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25130
- var baseComp = __webpack_require__(6228);
25667
+ var baseComp = __webpack_require__(5298);
25131
25668
  ;// ./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
25132
25669
 
25133
25670
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -25307,7 +25844,7 @@ var render = function render() {
25307
25844
  var staticRenderFns = [];
25308
25845
 
25309
25846
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25310
- var baseComp = __webpack_require__(6228);
25847
+ var baseComp = __webpack_require__(5298);
25311
25848
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-lineTwo/View.vue?vue&type=script&lang=js
25312
25849
 
25313
25850
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -25581,7 +26118,7 @@ var render = function render() {
25581
26118
  var staticRenderFns = [];
25582
26119
 
25583
26120
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
25584
- var baseComp = __webpack_require__(6228);
26121
+ var baseComp = __webpack_require__(5298);
25585
26122
  ;// ./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
25586
26123
 
25587
26124
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -26144,7 +26681,7 @@ __webpack_require__.r(__webpack_exports__);
26144
26681
  __webpack_require__.r(__webpack_exports__);
26145
26682
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
26146
26683
 
26147
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9886));
26684
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 6278));
26148
26685
  const langData = {
26149
26686
  // 布局配置
26150
26687
  layoutType: "100",
@@ -26153,9 +26690,9 @@ const langData = {
26153
26690
  mobileLayout: "vertical",
26154
26691
  fixedHeight: 300,
26155
26692
  // 边框配置
26156
- borderWidth: 1,
26693
+ borderWidth: 0,
26157
26694
  borderStyle: "solid",
26158
- borderColor: "#409eff",
26695
+ borderColor: "",
26159
26696
  borderRadius: 0,
26160
26697
  // 背景配置
26161
26698
  backgroundColor: "#FFF",
@@ -26271,7 +26808,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
26271
26808
  },
26272
26809
  borderColor: {
26273
26810
  label: "边框颜色",
26274
- widgetType: "el-color-picker"
26811
+ widgetType: "el-color-picker",
26812
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
26275
26813
  },
26276
26814
  borderRadius: {
26277
26815
  label: "圆角(px)",
@@ -26283,7 +26821,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
26283
26821
  // 背景配置
26284
26822
  backgroundColor: {
26285
26823
  label: "背景颜色",
26286
- widgetType: "el-color-picker"
26824
+ widgetType: "el-color-picker",
26825
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
26287
26826
  },
26288
26827
  backgroundImage: {
26289
26828
  label: "背景图片",
@@ -26564,6 +27103,7 @@ __webpack_require__.r(__webpack_exports__);
26564
27103
  __webpack_require__.r(__webpack_exports__);
26565
27104
  /* harmony default export */ __webpack_exports__["default"] = ({
26566
27105
  Expand: "展开",
27106
+ More: "查看更多",
26567
27107
  Collpase: "收起",
26568
27108
  discount: '优惠期限:'
26569
27109
  });
@@ -26623,7 +27163,7 @@ var es_iterator_constructor = __webpack_require__(8111);
26623
27163
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
26624
27164
  var es_iterator_reduce = __webpack_require__(8237);
26625
27165
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
26626
- var baseComp = __webpack_require__(6228);
27166
+ var baseComp = __webpack_require__(5298);
26627
27167
  // EXTERNAL MODULE: ./package/patch.js
26628
27168
  var patch = __webpack_require__(1618);
26629
27169
  ;// ./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
@@ -27058,7 +27598,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
27058
27598
  },
27059
27599
  color: {
27060
27600
  label: "色值",
27061
- widgetType: "el-color-picker"
27601
+ widgetType: "el-color-picker",
27602
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
27062
27603
  }
27063
27604
  }]
27064
27605
  },
@@ -35677,7 +36218,7 @@ var render = function render() {
35677
36218
  var staticRenderFns = [];
35678
36219
 
35679
36220
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
35680
- var baseComp = __webpack_require__(6228);
36221
+ var baseComp = __webpack_require__(5298);
35681
36222
  ;// ./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
35682
36223
 
35683
36224
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -35783,367 +36324,6 @@ module.exports = function isDisjointFrom(other) {
35783
36324
  };
35784
36325
 
35785
36326
 
35786
- /***/ }),
35787
-
35788
- /***/ 4467:
35789
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
35790
-
35791
- "use strict";
35792
- // ESM COMPAT FLAG
35793
- __webpack_require__.r(__webpack_exports__);
35794
-
35795
- // EXPORTS
35796
- __webpack_require__.d(__webpack_exports__, {
35797
- "default": function() { return /* binding */ View; }
35798
- });
35799
-
35800
- ;// ./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
35801
- var render = function render() {
35802
- var _vm = this,
35803
- _c = _vm._self._c;
35804
- return _c('BaseComp', _vm._b({
35805
- attrs: {
35806
- "data": _vm.data,
35807
- "nowCompId": _vm.nowCompId,
35808
- "isOpcacity": _vm.isOpcacity,
35809
- "isMask": false,
35810
- "lang": _vm.lang
35811
- },
35812
- on: {
35813
- "getConfigData": _vm.getConfigData
35814
- }
35815
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
35816
- staticClass: "cms-video-container",
35817
- class: [_vm.configData.customClass || ''],
35818
- style: _vm.containerStyle
35819
- }, [_c('div', {
35820
- staticClass: "video-wrapper",
35821
- style: _vm.wrapperStyle
35822
- }, [_vm.videoType === 'direct' && _vm.configData.videoUrl ? _c('video', {
35823
- staticClass: "cms-video direct-video",
35824
- style: _vm.videoStyle,
35825
- attrs: {
35826
- "src": _vm.configData.videoUrl,
35827
- "controls": _vm.configData.showControls,
35828
- "autoplay": _vm.configData.autoplay,
35829
- "loop": _vm.configData.loop,
35830
- "poster": _vm.configData.posterUrl
35831
- },
35832
- domProps: {
35833
- "muted": _vm.configData.muted
35834
- },
35835
- on: {
35836
- "loadstart": _vm.onVideoLoadStart,
35837
- "loadeddata": _vm.onVideoLoaded,
35838
- "error": _vm.onVideoError
35839
- }
35840
- }) : _vm.configData.embedCode ? _c('div', {
35841
- staticClass: "cms-video embed-video",
35842
- style: _vm.videoStyle,
35843
- domProps: {
35844
- "innerHTML": _vm._s(_vm.configData.embedCode)
35845
- }
35846
- }) : _c('div', {
35847
- staticClass: "video-placeholder",
35848
- style: _vm.placeholderStyle
35849
- }, [_c('i', {
35850
- staticClass: "el-icon-video-camera-solid"
35851
- }), _c('p', [_vm._v("请设置视频源")])])])])]);
35852
- };
35853
- var staticRenderFns = [];
35854
-
35855
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
35856
- var es_iterator_constructor = __webpack_require__(8111);
35857
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
35858
- var es_iterator_for_each = __webpack_require__(7588);
35859
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
35860
- var es_iterator_map = __webpack_require__(1701);
35861
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
35862
- var baseComp = __webpack_require__(6228);
35863
- ;// ./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
35864
-
35865
-
35866
-
35867
-
35868
-
35869
-
35870
-
35871
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
35872
- name: "cms-video",
35873
- components: {
35874
- BaseComp: baseComp["default"]
35875
- },
35876
- props: {
35877
- data: {
35878
- type: Object,
35879
- default: () => {
35880
- return {};
35881
- }
35882
- },
35883
- nowCompId: {
35884
- type: [String, Number],
35885
- default: ""
35886
- },
35887
- isOpcacity: {
35888
- type: Boolean,
35889
- default: true
35890
- },
35891
- lang: {
35892
- type: String,
35893
- default: "zh-HK"
35894
- }
35895
- },
35896
- data() {
35897
- return {
35898
- configData: {},
35899
- videoLoaded: false,
35900
- videoError: false,
35901
- // 默认配置数据
35902
- defaultConfig: {
35903
- // 视频源设置
35904
- videoType: "direct",
35905
- videoUrl: "",
35906
- embedCode: "",
35907
- posterUrl: "",
35908
- // 播放控制
35909
- showControls: true,
35910
- autoplay: false,
35911
- loop: false,
35912
- muted: false,
35913
- // 尺寸控制
35914
- widthType: "auto",
35915
- widthValue: 100,
35916
- heightType: "auto",
35917
- heightValue: 100,
35918
- aspectRatio: "16:9",
35919
- customAspectRatio: "16:9",
35920
- maxWidth: 0,
35921
- maxHeight: 0,
35922
- // 样式设置
35923
- borderRadius: 0,
35924
- // 高级配置
35925
- customClass: "",
35926
- customStyle: ""
35927
- }
35928
- };
35929
- },
35930
- mounted() {
35931
- this.initConfigData();
35932
- },
35933
- watch: {
35934
- configData: {
35935
- handler() {
35936
- this.updateStyles();
35937
- },
35938
- deep: true
35939
- }
35940
- },
35941
- computed: {
35942
- // 视频类型
35943
- videoType() {
35944
- return this.configData.videoType || this.defaultConfig.videoType;
35945
- },
35946
- // 实际使用的宽高比
35947
- actualAspectRatio() {
35948
- const config = {
35949
- ...this.defaultConfig,
35950
- ...this.configData
35951
- };
35952
- if (config.aspectRatio === 'custom') {
35953
- return config.customAspectRatio || '16:9';
35954
- }
35955
- return config.aspectRatio;
35956
- },
35957
- // 容器样式
35958
- containerStyle() {
35959
- const config = {
35960
- ...this.defaultConfig,
35961
- ...this.configData
35962
- };
35963
- return {
35964
- ...this.parseCustomStyle(config.customStyle)
35965
- };
35966
- },
35967
- // 包装器样式
35968
- wrapperStyle() {
35969
- const config = {
35970
- ...this.defaultConfig,
35971
- ...this.configData
35972
- };
35973
- let width = 'auto';
35974
- let height = 'auto';
35975
-
35976
- // 宽度设置
35977
- if (config.widthType === 'fixed') {
35978
- width = `${config.widthValue}px`;
35979
- } else if (config.widthType === 'percent') {
35980
- width = `${config.widthValue}%`;
35981
- }
35982
-
35983
- // 高度设置
35984
- if (config.heightType === 'fixed') {
35985
- height = `${config.heightValue}px`;
35986
- } else if (config.heightType === 'percent') {
35987
- height = `${config.heightValue}%`;
35988
- } else if (config.heightType === 'aspect') {
35989
- // 根据宽高比计算高度
35990
- height = 'auto';
35991
- }
35992
- return {
35993
- width,
35994
- height,
35995
- maxWidth: config.maxWidth > 0 ? `${config.maxWidth}px` : 'none',
35996
- maxHeight: config.maxHeight > 0 ? `${config.maxHeight}px` : 'none',
35997
- borderRadius: `${config.borderRadius}px`,
35998
- overflow: 'hidden',
35999
- display: 'block',
36000
- position: 'relative'
36001
- };
36002
- },
36003
- // 视频样式
36004
- videoStyle() {
36005
- const config = {
36006
- ...this.defaultConfig,
36007
- ...this.configData
36008
- };
36009
- let style = {
36010
- width: '100%',
36011
- height: '100%',
36012
- display: 'block',
36013
- border: 'none',
36014
- outline: 'none'
36015
- };
36016
-
36017
- // 如果是宽高比模式,设置aspect-ratio
36018
- if (config.heightType === 'aspect') {
36019
- style.aspectRatio = this.actualAspectRatio.replace(':', '/');
36020
- }
36021
- return style;
36022
- },
36023
- // 占位符样式
36024
- placeholderStyle() {
36025
- const config = {
36026
- ...this.defaultConfig,
36027
- ...this.configData
36028
- };
36029
- let width = '400px';
36030
- let height = '225px'; // 16:9 比例
36031
-
36032
- // 如果设置了固定尺寸,使用设置的尺寸
36033
- if (config.widthType === 'fixed') {
36034
- width = `${config.widthValue}px`;
36035
- }
36036
- if (config.heightType === 'fixed') {
36037
- height = `${config.heightValue}px`;
36038
- } else if (config.heightType === 'aspect') {
36039
- const [w, h] = this.actualAspectRatio.split(':').map(Number);
36040
- const widthPx = parseInt(width);
36041
- height = `${Math.round(widthPx * h / w)}px`;
36042
- }
36043
- return {
36044
- width,
36045
- height,
36046
- backgroundColor: '#f5f7fa',
36047
- border: '1px dashed #dcdfe6',
36048
- borderRadius: `${config.borderRadius}px`,
36049
- display: 'flex',
36050
- flexDirection: 'column',
36051
- alignItems: 'center',
36052
- justifyContent: 'center',
36053
- color: '#909399',
36054
- fontSize: '14px'
36055
- };
36056
- }
36057
- },
36058
- methods: {
36059
- // 初始化配置数据
36060
- initConfigData() {
36061
- this.configData = {
36062
- ...this.defaultConfig,
36063
- ...this.configData
36064
- };
36065
- },
36066
- // 获取配置数据
36067
- getConfigData(configData) {
36068
- this.configData = {
36069
- ...this.defaultConfig,
36070
- ...configData
36071
- };
36072
- this.updateStyles();
36073
- },
36074
- // 更新样式
36075
- updateStyles() {
36076
- this.$nextTick(() => {
36077
- this.$forceUpdate();
36078
- });
36079
- },
36080
- // 视频开始加载
36081
- onVideoLoadStart() {
36082
- this.videoLoaded = false;
36083
- this.videoError = false;
36084
- },
36085
- // 视频加载完成
36086
- onVideoLoaded() {
36087
- this.videoLoaded = true;
36088
- this.videoError = false;
36089
- },
36090
- // 视频加载失败
36091
- onVideoError() {
36092
- this.videoLoaded = false;
36093
- this.videoError = true;
36094
- },
36095
- // 解析自定义样式
36096
- parseCustomStyle(customStyle) {
36097
- if (!customStyle) return {};
36098
- try {
36099
- const styles = {};
36100
- const declarations = customStyle.split(';');
36101
- declarations.forEach(declaration => {
36102
- const [property, value] = declaration.split(':');
36103
- if (property && value) {
36104
- const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
36105
- styles[camelCaseProperty] = value.trim();
36106
- }
36107
- });
36108
- return styles;
36109
- } catch (error) {
36110
- console.warn('解析自定义样式失败:', error);
36111
- return {};
36112
- }
36113
- }
36114
- }
36115
- });
36116
- ;// ./package/cms-video/View.vue?vue&type=script&lang=js
36117
- /* harmony default export */ var cms_video_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
36118
- ;// ./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
36119
- // extracted by mini-css-extract-plugin
36120
-
36121
- ;// ./package/cms-video/View.vue?vue&type=style&index=0&id=a681eca6&prod&lang=scss&scoped=true
36122
-
36123
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
36124
- var componentNormalizer = __webpack_require__(1656);
36125
- ;// ./package/cms-video/View.vue
36126
-
36127
-
36128
-
36129
- ;
36130
-
36131
-
36132
- /* normalize component */
36133
-
36134
- var component = (0,componentNormalizer/* default */.A)(
36135
- cms_video_Viewvue_type_script_lang_js,
36136
- render,
36137
- staticRenderFns,
36138
- false,
36139
- null,
36140
- "a681eca6",
36141
- null
36142
-
36143
- )
36144
-
36145
- /* harmony default export */ var View = (component.exports);
36146
-
36147
36327
  /***/ }),
36148
36328
 
36149
36329
  /***/ 4483:
@@ -36781,6 +36961,14 @@ exportTypedArrayMethod('toSorted', function toSorted(compareFn) {
36781
36961
  });
36782
36962
 
36783
36963
 
36964
+ /***/ }),
36965
+
36966
+ /***/ 4806:
36967
+ /***/ (function(module) {
36968
+
36969
+ "use strict";
36970
+ 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=";
36971
+
36784
36972
  /***/ }),
36785
36973
 
36786
36974
  /***/ 4811:
@@ -37131,329 +37319,6 @@ if (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {
37131
37319
  }
37132
37320
 
37133
37321
 
37134
- /***/ }),
37135
-
37136
- /***/ 4986:
37137
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
37138
-
37139
- "use strict";
37140
- // ESM COMPAT FLAG
37141
- __webpack_require__.r(__webpack_exports__);
37142
-
37143
- // EXPORTS
37144
- __webpack_require__.d(__webpack_exports__, {
37145
- "default": function() { return /* binding */ View; }
37146
- });
37147
-
37148
- ;// ./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
37149
- var render = function render() {
37150
- var _vm = this,
37151
- _c = _vm._self._c;
37152
- return _c('BaseComp', _vm._b({
37153
- attrs: {
37154
- "data": _vm.data,
37155
- "nowCompId": _vm.nowCompId,
37156
- "isOpcacity": _vm.isOpcacity,
37157
- "lang": _vm.lang
37158
- },
37159
- on: {
37160
- "getConfigData": _vm.getConfigData
37161
- }
37162
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
37163
- staticClass: "cms-image-container",
37164
- class: [_vm.configData.customClass || '', {
37165
- 'has-link': _vm.configData.linkUrl
37166
- }],
37167
- style: _vm.containerStyle
37168
- }, [_c('div', {
37169
- staticClass: "image-wrapper",
37170
- style: _vm.wrapperStyle,
37171
- on: {
37172
- "click": _vm.handleClick
37173
- }
37174
- }, [_vm.configData.imageUrl ? _c('img', {
37175
- staticClass: "cms-image",
37176
- style: _vm.imageStyle,
37177
- attrs: {
37178
- "src": _vm.configData.imageUrl,
37179
- "alt": _vm.configData.altText || '图片',
37180
- "title": _vm.configData.title
37181
- },
37182
- on: {
37183
- "load": _vm.onImageLoad,
37184
- "error": _vm.onImageError
37185
- }
37186
- }) : _c('div', {
37187
- staticClass: "image-placeholder",
37188
- style: _vm.placeholderStyle
37189
- }, [_c('i', {
37190
- staticClass: "el-icon-picture-outline"
37191
- }), _c('p', [_vm._v("请选择图片")])])])])]);
37192
- };
37193
- var staticRenderFns = [];
37194
-
37195
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
37196
- var es_iterator_constructor = __webpack_require__(8111);
37197
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
37198
- var es_iterator_for_each = __webpack_require__(7588);
37199
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
37200
- var baseComp = __webpack_require__(6228);
37201
- ;// ./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
37202
-
37203
-
37204
-
37205
-
37206
-
37207
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
37208
- name: "cms-image",
37209
- components: {
37210
- BaseComp: baseComp["default"]
37211
- },
37212
- props: {
37213
- data: {
37214
- type: Object,
37215
- default: () => {
37216
- return {};
37217
- }
37218
- },
37219
- nowCompId: {
37220
- type: [String, Number],
37221
- default: ""
37222
- },
37223
- isOpcacity: {
37224
- type: Boolean,
37225
- default: true
37226
- },
37227
- lang: {
37228
- type: String,
37229
- default: "zh-HK"
37230
- }
37231
- },
37232
- data() {
37233
- return {
37234
- configData: {},
37235
- imageLoaded: false,
37236
- imageError: false,
37237
- // 默认配置数据
37238
- defaultConfig: {
37239
- // 图片设置
37240
- imageUrl: "",
37241
- altText: "图片",
37242
- title: "",
37243
- // 尺寸控制
37244
- widthType: "auto",
37245
- widthValue: 100,
37246
- heightType: "auto",
37247
- heightValue: 100,
37248
- maxWidth: 0,
37249
- maxHeight: 0,
37250
- // 样式设置
37251
- borderRadius: 0,
37252
- objectFit: "cover",
37253
- // 交互功能
37254
- linkUrl: "",
37255
- linkTarget: "_self",
37256
- // 高级配置
37257
- customClass: "",
37258
- customStyle: "",
37259
- lazyLoad: false
37260
- }
37261
- };
37262
- },
37263
- mounted() {
37264
- this.initConfigData();
37265
- },
37266
- watch: {
37267
- configData: {
37268
- handler() {
37269
- this.updateStyles();
37270
- },
37271
- deep: true
37272
- }
37273
- },
37274
- computed: {
37275
- // 容器样式
37276
- containerStyle() {
37277
- const config = {
37278
- ...this.defaultConfig,
37279
- ...this.configData
37280
- };
37281
- return {
37282
- ...this.parseCustomStyle(config.customStyle)
37283
- };
37284
- },
37285
- // 包装器样式
37286
- wrapperStyle() {
37287
- const config = {
37288
- ...this.defaultConfig,
37289
- ...this.configData
37290
- };
37291
- let width = 'auto';
37292
- let height = 'auto';
37293
-
37294
- // 宽度设置
37295
- if (config.widthType === 'fixed') {
37296
- width = `${config.widthValue}px`;
37297
- } else if (config.widthType === 'percent') {
37298
- width = `${config.widthValue}%`;
37299
- }
37300
-
37301
- // 高度设置
37302
- if (config.heightType === 'fixed') {
37303
- height = `${config.heightValue}px`;
37304
- } else if (config.heightType === 'percent') {
37305
- height = `${config.heightValue}%`;
37306
- }
37307
- return {
37308
- width,
37309
- height,
37310
- maxWidth: config.maxWidth > 0 ? `${config.maxWidth}px` : 'none',
37311
- maxHeight: config.maxHeight > 0 ? `${config.maxHeight}px` : 'none',
37312
- borderRadius: `${config.borderRadius}px`,
37313
- overflow: 'hidden',
37314
- cursor: config.linkUrl ? 'pointer' : 'default',
37315
- display: 'inline-block'
37316
- };
37317
- },
37318
- // 图片样式
37319
- imageStyle() {
37320
- const config = {
37321
- ...this.defaultConfig,
37322
- ...this.configData
37323
- };
37324
- return {
37325
- width: '100%',
37326
- height: '100%',
37327
- objectFit: config.objectFit,
37328
- display: 'block'
37329
- };
37330
- },
37331
- // 占位符样式
37332
- placeholderStyle() {
37333
- const config = {
37334
- ...this.defaultConfig,
37335
- ...this.configData
37336
- };
37337
- let width = '200px';
37338
- let height = '150px';
37339
-
37340
- // 如果设置了固定尺寸,使用设置的尺寸
37341
- if (config.widthType === 'fixed') {
37342
- width = `${config.widthValue}px`;
37343
- }
37344
- if (config.heightType === 'fixed') {
37345
- height = `${config.heightValue}px`;
37346
- }
37347
- return {
37348
- width,
37349
- height,
37350
- backgroundColor: '#f5f7fa',
37351
- border: '1px dashed #dcdfe6',
37352
- borderRadius: `${config.borderRadius}px`,
37353
- display: 'flex',
37354
- flexDirection: 'column',
37355
- alignItems: 'center',
37356
- justifyContent: 'center',
37357
- color: '#909399',
37358
- fontSize: '14px'
37359
- };
37360
- }
37361
- },
37362
- methods: {
37363
- // 初始化配置数据
37364
- initConfigData() {
37365
- this.configData = {
37366
- ...this.defaultConfig,
37367
- ...this.configData
37368
- };
37369
- },
37370
- // 获取配置数据
37371
- getConfigData(configData) {
37372
- this.configData = {
37373
- ...this.defaultConfig,
37374
- ...configData
37375
- };
37376
- this.updateStyles();
37377
- },
37378
- // 更新样式
37379
- updateStyles() {
37380
- this.$nextTick(() => {
37381
- this.$forceUpdate();
37382
- });
37383
- },
37384
- // 处理点击事件
37385
- handleClick() {
37386
- if (this.configData.linkUrl) {
37387
- const target = this.configData.linkTarget || '_self';
37388
- if (target === '_blank') {
37389
- window.open(this.configData.linkUrl, '_blank');
37390
- } else {
37391
- window.location.href = this.configData.linkUrl;
37392
- }
37393
- }
37394
- },
37395
- // 图片加载成功
37396
- onImageLoad() {
37397
- this.imageLoaded = true;
37398
- this.imageError = false;
37399
- },
37400
- // 图片加载失败
37401
- onImageError() {
37402
- this.imageLoaded = false;
37403
- this.imageError = true;
37404
- },
37405
- // 解析自定义样式
37406
- parseCustomStyle(customStyle) {
37407
- if (!customStyle) return {};
37408
- try {
37409
- const styles = {};
37410
- const declarations = customStyle.split(';');
37411
- declarations.forEach(declaration => {
37412
- const [property, value] = declaration.split(':');
37413
- if (property && value) {
37414
- const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
37415
- styles[camelCaseProperty] = value.trim();
37416
- }
37417
- });
37418
- return styles;
37419
- } catch (error) {
37420
- console.warn('解析自定义样式失败:', error);
37421
- return {};
37422
- }
37423
- }
37424
- }
37425
- });
37426
- ;// ./package/cms-image/View.vue?vue&type=script&lang=js
37427
- /* harmony default export */ var cms_image_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
37428
- ;// ./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
37429
- // extracted by mini-css-extract-plugin
37430
-
37431
- ;// ./package/cms-image/View.vue?vue&type=style&index=0&id=2c876c4d&prod&lang=scss&scoped=true
37432
-
37433
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
37434
- var componentNormalizer = __webpack_require__(1656);
37435
- ;// ./package/cms-image/View.vue
37436
-
37437
-
37438
-
37439
- ;
37440
-
37441
-
37442
- /* normalize component */
37443
-
37444
- var component = (0,componentNormalizer/* default */.A)(
37445
- cms_image_Viewvue_type_script_lang_js,
37446
- render,
37447
- staticRenderFns,
37448
- false,
37449
- null,
37450
- "2c876c4d",
37451
- null
37452
-
37453
- )
37454
-
37455
- /* harmony default export */ var View = (component.exports);
37456
-
37457
37322
  /***/ }),
37458
37323
 
37459
37324
  /***/ 5002:
@@ -38541,12 +38406,13 @@ var map = {
38541
38406
  "./cms-banner/View.vue": 2646,
38542
38407
  "./cms-button/View.vue": 2404,
38543
38408
  "./cms-cells/View.vue": 5700,
38544
- "./cms-column-card/View.vue": 3164,
38545
- "./cms-column/View.vue": 9886,
38409
+ "./cms-column-card/View.vue": 470,
38410
+ "./cms-column/View.vue": 6278,
38546
38411
  "./cms-description/View.vue": 3203,
38547
38412
  "./cms-dynamic-comp/View.vue": 1705,
38548
38413
  "./cms-iconFour/View.vue": 8235,
38549
- "./cms-image/View.vue": 4986,
38414
+ "./cms-image-group/View.vue": 9345,
38415
+ "./cms-image/View.vue": 5314,
38550
38416
  "./cms-imgFour/View.vue": 8238,
38551
38417
  "./cms-lineFive/View.vue": 4432,
38552
38418
  "./cms-lineFour/View.vue": 9703,
@@ -38565,7 +38431,8 @@ var map = {
38565
38431
  "./cms-titleCenter/View.vue": 8106,
38566
38432
  "./cms-titleLeft/View.vue": 9004,
38567
38433
  "./cms-via-storedValueCard/View.vue": 7243,
38568
- "./cms-video/View.vue": 4467,
38434
+ "./cms-video-group/View.vue": 8216,
38435
+ "./cms-video/View.vue": 2048,
38569
38436
  "./cms-view/View.vue": 1380
38570
38437
  };
38571
38438
 
@@ -38602,6 +38469,272 @@ module.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;
38602
38469
 
38603
38470
  /***/ }),
38604
38471
 
38472
+ /***/ 5298:
38473
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
38474
+
38475
+ "use strict";
38476
+ // ESM COMPAT FLAG
38477
+ __webpack_require__.r(__webpack_exports__);
38478
+
38479
+ // EXPORTS
38480
+ __webpack_require__.d(__webpack_exports__, {
38481
+ "default": function() { return /* binding */ baseComp; }
38482
+ });
38483
+
38484
+ ;// ./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
38485
+ var render = function render() {
38486
+ var _vm = this,
38487
+ _c = _vm._self._c;
38488
+ return _vm.$EventBus && _vm.isOpcacity ? _c('div', {
38489
+ key: _vm.data.componentId,
38490
+ class: [_vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? 'highLight' : ''],
38491
+ style: _vm.showStyleConfig,
38492
+ attrs: {
38493
+ "component-key": _vm.data.cmsCompName
38494
+ },
38495
+ on: {
38496
+ "click": function ($event) {
38497
+ $event.stopPropagation();
38498
+ return _vm.handleNowComp.apply(null, arguments);
38499
+ }
38500
+ }
38501
+ }, [_c('div', {
38502
+ staticClass: "mask-wrap"
38503
+ }, [_vm._t("default", null, {
38504
+ "isMobile": _vm.isMobile
38505
+ }), _vm.isMask ? _c('div', {
38506
+ staticClass: "mask",
38507
+ on: {
38508
+ "click": _vm.handleNowComp
38509
+ }
38510
+ }) : _vm._e()], 2), _vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? _c('div', {
38511
+ staticClass: "com-delete"
38512
+ }, [_vm.showDel ? _c('i', {
38513
+ staticClass: "el-icon-delete",
38514
+ on: {
38515
+ "click": function ($event) {
38516
+ $event.stopPropagation();
38517
+ return _vm.delComp.apply(null, arguments);
38518
+ }
38519
+ }
38520
+ }) : _vm._e(), _c('i', {
38521
+ staticClass: "el-icon-top",
38522
+ on: {
38523
+ "click": function ($event) {
38524
+ $event.stopPropagation();
38525
+ return _vm.selectParentDom.apply(null, arguments);
38526
+ }
38527
+ }
38528
+ })]) : _vm._e()]) : _vm.showSlot ? _c('div', {
38529
+ key: _vm.data.componentId,
38530
+ ref: "targetElement",
38531
+ style: _vm.showStyleConfig
38532
+ }, [_vm._t("default")], 2) : _vm._e();
38533
+ };
38534
+ var staticRenderFns = [];
38535
+
38536
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
38537
+ var es_iterator_constructor = __webpack_require__(8111);
38538
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
38539
+ var es_iterator_reduce = __webpack_require__(8237);
38540
+ // EXTERNAL MODULE: ./package/patch.js
38541
+ var patch = __webpack_require__(1618);
38542
+ // EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js
38543
+ var dayjs_min = __webpack_require__(1576);
38544
+ var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
38545
+ ;// ./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
38546
+
38547
+
38548
+
38549
+
38550
+ // 待办:判断移动pc端填充不同的样式
38551
+
38552
+
38553
+ /* harmony default export */ var baseCompvue_type_script_lang_js = ({
38554
+ name: "baseComp",
38555
+ props: {
38556
+ data: {
38557
+ type: Object,
38558
+ default: () => {
38559
+ return {};
38560
+ }
38561
+ },
38562
+ nowCompId: {
38563
+ type: [String, Number],
38564
+ default: ""
38565
+ },
38566
+ isOpcacity: {
38567
+ type: Boolean,
38568
+ default: true
38569
+ },
38570
+ isMask: {
38571
+ type: Boolean,
38572
+ default: true
38573
+ },
38574
+ lang: {
38575
+ type: String,
38576
+ default: "zh-HK"
38577
+ },
38578
+ timeline: {
38579
+ type: String,
38580
+ default: ""
38581
+ },
38582
+ cmhkChannel: {
38583
+ type: String,
38584
+ default: "WWW"
38585
+ },
38586
+ showDel: {
38587
+ type: Boolean,
38588
+ default: true
38589
+ }
38590
+ },
38591
+ data() {
38592
+ return {
38593
+ styleConfig_mb: {},
38594
+ styleConfig_pc: {},
38595
+ configData: {},
38596
+ elementWidth: 0,
38597
+ resizeObserver: null
38598
+ };
38599
+ },
38600
+ watch: {
38601
+ data: {
38602
+ handler(val) {
38603
+ this.getStyleConfig(val, "pc");
38604
+ this.getStyleConfig(val, "mb");
38605
+ this.getValue(this.lang);
38606
+ },
38607
+ deep: true,
38608
+ immediate: true
38609
+ },
38610
+ lang: {
38611
+ handler(val) {
38612
+ this.getValue(val);
38613
+ },
38614
+ deep: true,
38615
+ immediate: true
38616
+ }
38617
+ },
38618
+ mounted() {
38619
+ if (this.$EventBus && this.isOpcacity) {
38620
+ this.elementWidth = 800;
38621
+ this.$EventBus.$on("handleDeviceChange", isMobile => {
38622
+ this.elementWidth = isMobile ? 700 : 800;
38623
+ });
38624
+ } else if (this.showSlot) {
38625
+ this.resizeObserver = new ResizeObserver(entries => {
38626
+ for (let entry of entries) {
38627
+ this.elementWidth = entry.contentRect.width;
38628
+ // 可以在这里触发自定义逻辑
38629
+ // this.onWidthChange(this.elementWidth);
38630
+ }
38631
+ });
38632
+ const element = document.getElementById("app") || document.getElementById("__nuxt");
38633
+ this.resizeObserver.observe(element);
38634
+ }
38635
+ },
38636
+ beforeDestroy() {
38637
+ // 组件销毁时停止观察
38638
+ if (this.resizeObserver) {
38639
+ this.resizeObserver.disconnect();
38640
+ }
38641
+ },
38642
+ methods: {
38643
+ selectParentDom() {
38644
+ if (!this.isOpcacity) return;
38645
+ this.$EventBus.$emit("handleParentComp", this.data);
38646
+ },
38647
+ onWidthChange(newWidth) {
38648
+ console.log("新宽度:", newWidth, this.isMobile);
38649
+ },
38650
+ getValue(cur_lang) {
38651
+ var _this$data, _this$data$settings;
38652
+ const obj = {
38653
+ "zh-CN": "lang_sc",
38654
+ "zh-HK": "lang_tc",
38655
+ "en-US": "lang_en"
38656
+ };
38657
+ 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) {
38658
+ const baseInfo = (0,patch.transfor)(this.data);
38659
+ this.configData = baseInfo.contentConfig.lang_all ? baseInfo.contentConfig.lang_all : baseInfo.contentConfig[`${obj[cur_lang]}`];
38660
+ } else {
38661
+ this.configData = this.data.contentConfig.lang_all ? this.data.contentConfig.lang_all : this.data.contentConfig[`${obj[cur_lang]}`];
38662
+ }
38663
+ this.$emit("getConfigData", this.configData);
38664
+ },
38665
+ getStyleConfig(data, type) {
38666
+ this[`styleConfig_${type}`] = data.styleConfig[type].reduce((pre, cur) => {
38667
+ pre[cur.key] = cur.value + cur.unit;
38668
+ return pre;
38669
+ }, {});
38670
+ },
38671
+ handleNowComp() {
38672
+ if (!this.isOpcacity) return;
38673
+ this.$EventBus.$emit("handleNowComp", this.data);
38674
+ },
38675
+ delComp() {
38676
+ this.$EventBus.$emit("handleDeleteComp", this.data.componentId);
38677
+ }
38678
+ },
38679
+ computed: {
38680
+ showStyleConfig() {
38681
+ if (!this.elementWidth) return {};
38682
+ return this.isMobile ? this.styleConfig_mb : this.styleConfig_pc;
38683
+ },
38684
+ isMobile() {
38685
+ return this.elementWidth < 760;
38686
+ },
38687
+ showSlot() {
38688
+ if (this.$EventBus && this.isOpcacity) return false;
38689
+ const {
38690
+ cmhkChannelConfList = [],
38691
+ startTime = "",
38692
+ endTime = ""
38693
+ } = this.data.baseConfig;
38694
+ console.log("this.cmhkChannel", this.cmhkChannel, this.data.baseConfig);
38695
+ const channelVisable = cmhkChannelConfList.includes("ALL") || cmhkChannelConfList.includes(this.cmhkChannel);
38696
+ if (!channelVisable) return false;
38697
+ if (!startTime && !endTime) return true;
38698
+ const currentTime = this.timeline ? dayjs_min_default()(this.timeline) : dayjs_min_default()();
38699
+ const isStart = startTime ? dayjs_min_default()(currentTime).isAfter(dayjs_min_default()(startTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(startTime)) : true;
38700
+ const isEnd = endTime ? dayjs_min_default()(currentTime).isBefore(dayjs_min_default()(endTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(endTime)) : true;
38701
+ return isStart && isEnd;
38702
+ }
38703
+ }
38704
+ });
38705
+ ;// ./package/baseComp.vue?vue&type=script&lang=js
38706
+ /* harmony default export */ var package_baseCompvue_type_script_lang_js = (baseCompvue_type_script_lang_js);
38707
+ ;// ./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
38708
+ // extracted by mini-css-extract-plugin
38709
+
38710
+ ;// ./package/baseComp.vue?vue&type=style&index=0&id=e19eaa9e&prod&lang=scss&scoped=true
38711
+
38712
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
38713
+ var componentNormalizer = __webpack_require__(1656);
38714
+ ;// ./package/baseComp.vue
38715
+
38716
+
38717
+
38718
+ ;
38719
+
38720
+
38721
+ /* normalize component */
38722
+
38723
+ var component = (0,componentNormalizer/* default */.A)(
38724
+ package_baseCompvue_type_script_lang_js,
38725
+ render,
38726
+ staticRenderFns,
38727
+ false,
38728
+ null,
38729
+ "e19eaa9e",
38730
+ null
38731
+
38732
+ )
38733
+
38734
+ /* harmony default export */ var baseComp = (component.exports);
38735
+
38736
+ /***/ }),
38737
+
38605
38738
  /***/ 5302:
38606
38739
  /***/ (function(module) {
38607
38740
 
@@ -38615,6 +38748,340 @@ module.exports = Number.isNaN || function isNaN(a) {
38615
38748
 
38616
38749
  /***/ }),
38617
38750
 
38751
+ /***/ 5314:
38752
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
38753
+
38754
+ "use strict";
38755
+ // ESM COMPAT FLAG
38756
+ __webpack_require__.r(__webpack_exports__);
38757
+
38758
+ // EXPORTS
38759
+ __webpack_require__.d(__webpack_exports__, {
38760
+ "default": function() { return /* binding */ View; }
38761
+ });
38762
+
38763
+ ;// ./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
38764
+ var render = function render() {
38765
+ var _vm = this,
38766
+ _c = _vm._self._c;
38767
+ return _c('BaseComp', _vm._b({
38768
+ attrs: {
38769
+ "data": _vm.data,
38770
+ "nowCompId": _vm.nowCompId,
38771
+ "isOpcacity": _vm.isOpcacity,
38772
+ "lang": _vm.lang
38773
+ },
38774
+ on: {
38775
+ "getConfigData": _vm.getConfigData
38776
+ }
38777
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
38778
+ staticClass: "cms-image-container",
38779
+ class: [_vm.configData.customClass || '', {
38780
+ 'has-link': _vm.configData.linkUrl
38781
+ }],
38782
+ style: _vm.containerStyle
38783
+ }, [_c('div', {
38784
+ staticClass: "image-wrapper",
38785
+ style: _vm.wrapperStyle,
38786
+ on: {
38787
+ "click": _vm.handleClick
38788
+ }
38789
+ }, [_vm.configData.imageUrl ? _c('img', {
38790
+ staticClass: "cms-image",
38791
+ style: _vm.imageStyle,
38792
+ attrs: {
38793
+ "src": _vm.configData.imageUrl,
38794
+ "alt": _vm.configData.altText || '图片',
38795
+ "title": _vm.configData.title
38796
+ },
38797
+ on: {
38798
+ "load": _vm.onImageLoad,
38799
+ "error": _vm.onImageError
38800
+ }
38801
+ }) : _c('div', {
38802
+ staticClass: "image-placeholder",
38803
+ style: _vm.placeholderStyle
38804
+ }, [_c('img', {
38805
+ staticStyle: {
38806
+ "width": "200px",
38807
+ "height": "200px"
38808
+ },
38809
+ attrs: {
38810
+ "src": __webpack_require__(4806),
38811
+ "alt": "Picture"
38812
+ }
38813
+ })])])]), _c('div', {
38814
+ staticClass: "f-c-c"
38815
+ }, [_vm._v(_vm._s(_vm.configData.remark))])]);
38816
+ };
38817
+ var staticRenderFns = [];
38818
+
38819
+ ;// ./package/cms-image/View.vue?vue&type=template&id=5dac7dea&scoped=true
38820
+
38821
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
38822
+ var es_iterator_constructor = __webpack_require__(8111);
38823
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
38824
+ var es_iterator_for_each = __webpack_require__(7588);
38825
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
38826
+ var baseComp = __webpack_require__(5298);
38827
+ ;// ./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
38828
+
38829
+
38830
+
38831
+
38832
+
38833
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
38834
+ name: "cms-image",
38835
+ components: {
38836
+ BaseComp: baseComp["default"]
38837
+ },
38838
+ props: {
38839
+ data: {
38840
+ type: Object,
38841
+ default: () => {
38842
+ return {};
38843
+ }
38844
+ },
38845
+ nowCompId: {
38846
+ type: [String, Number],
38847
+ default: ""
38848
+ },
38849
+ isOpcacity: {
38850
+ type: Boolean,
38851
+ default: true
38852
+ },
38853
+ lang: {
38854
+ type: String,
38855
+ default: "zh-HK"
38856
+ }
38857
+ },
38858
+ data() {
38859
+ return {
38860
+ configData: {},
38861
+ imageLoaded: false,
38862
+ imageError: false,
38863
+ // 默认配置数据
38864
+ defaultConfig: {
38865
+ // 图片设置
38866
+ imageUrl: "",
38867
+ altText: "图片",
38868
+ title: "",
38869
+ // 尺寸控制
38870
+ widthType: "auto",
38871
+ widthValue: 100,
38872
+ heightType: "auto",
38873
+ heightValue: 100,
38874
+ maxWidth: 0,
38875
+ maxHeight: 0,
38876
+ // 样式设置
38877
+ borderRadius: 0,
38878
+ objectFit: "cover",
38879
+ // 交互功能
38880
+ linkUrl: "",
38881
+ linkTarget: "_self",
38882
+ // 高级配置
38883
+ customClass: "",
38884
+ customStyle: "",
38885
+ lazyLoad: false
38886
+ }
38887
+ };
38888
+ },
38889
+ mounted() {
38890
+ this.initConfigData();
38891
+ },
38892
+ watch: {
38893
+ configData: {
38894
+ handler() {
38895
+ this.updateStyles();
38896
+ },
38897
+ deep: true
38898
+ }
38899
+ },
38900
+ computed: {
38901
+ // 容器样式
38902
+ containerStyle() {
38903
+ const config = {
38904
+ ...this.defaultConfig,
38905
+ ...this.configData
38906
+ };
38907
+ return {
38908
+ ...this.parseCustomStyle(config.customStyle)
38909
+ };
38910
+ },
38911
+ // 包装器样式
38912
+ wrapperStyle() {
38913
+ const config = {
38914
+ ...this.defaultConfig,
38915
+ ...this.configData
38916
+ };
38917
+ let width = "100%";
38918
+ let height = "auto";
38919
+
38920
+ // 宽度设置
38921
+ if (config.widthType === "fixed") {
38922
+ width = `${config.widthValue}px`;
38923
+ } else if (config.widthType === "percent") {
38924
+ width = `${config.widthValue}%`;
38925
+ }
38926
+
38927
+ // 高度设置
38928
+ if (config.heightType === "fixed") {
38929
+ height = `${config.heightValue}px`;
38930
+ } else if (config.heightType === "percent") {
38931
+ height = `${config.heightValue}%`;
38932
+ }
38933
+ return {
38934
+ width,
38935
+ height,
38936
+ maxWidth: config.maxWidth > 0 ? `${config.maxWidth}px` : "none",
38937
+ maxHeight: config.maxHeight > 0 ? `${config.maxHeight}px` : "none",
38938
+ borderRadius: `${config.borderRadius}px`,
38939
+ overflow: "hidden",
38940
+ cursor: config.linkUrl ? "pointer" : "default",
38941
+ display: "inline-block"
38942
+ };
38943
+ },
38944
+ // 图片样式
38945
+ imageStyle() {
38946
+ const config = {
38947
+ ...this.defaultConfig,
38948
+ ...this.configData
38949
+ };
38950
+ return {
38951
+ width: "100%",
38952
+ height: "100%",
38953
+ objectFit: config.objectFit,
38954
+ display: "block"
38955
+ };
38956
+ },
38957
+ // 占位符样式
38958
+ placeholderStyle() {
38959
+ const config = {
38960
+ ...this.defaultConfig,
38961
+ ...this.configData
38962
+ };
38963
+ let width = "100%";
38964
+ let height = "auto";
38965
+
38966
+ // 如果设置了固定尺寸,使用设置的尺寸
38967
+ if (config.widthType === "fixed") {
38968
+ width = `${config.widthValue}px`;
38969
+ }
38970
+ if (config.heightType === "fixed") {
38971
+ height = `${config.heightValue}px`;
38972
+ }
38973
+ return {
38974
+ width,
38975
+ height,
38976
+ backgroundColor: "#F2F9FF",
38977
+ border: "1px dashed #dcdfe6",
38978
+ borderRadius: `${config.borderRadius}px`,
38979
+ display: "flex",
38980
+ flexDirection: "column",
38981
+ alignItems: "center",
38982
+ justifyContent: "center",
38983
+ color: "#909399",
38984
+ fontSize: "14px"
38985
+ };
38986
+ }
38987
+ },
38988
+ methods: {
38989
+ // 初始化配置数据
38990
+ initConfigData() {
38991
+ this.configData = {
38992
+ ...this.defaultConfig,
38993
+ ...this.configData
38994
+ };
38995
+ },
38996
+ // 获取配置数据
38997
+ getConfigData(configData) {
38998
+ this.configData = {
38999
+ ...this.defaultConfig,
39000
+ ...configData
39001
+ };
39002
+ this.updateStyles();
39003
+ },
39004
+ // 更新样式
39005
+ updateStyles() {
39006
+ this.$nextTick(() => {
39007
+ this.$forceUpdate();
39008
+ });
39009
+ },
39010
+ // 处理点击事件
39011
+ handleClick() {
39012
+ if (this.configData.linkUrl) {
39013
+ const target = this.configData.linkTarget || "_self";
39014
+ if (target === "_blank") {
39015
+ window.open(this.configData.linkUrl, "_blank");
39016
+ } else {
39017
+ window.location.href = this.configData.linkUrl;
39018
+ }
39019
+ }
39020
+ },
39021
+ // 图片加载成功
39022
+ onImageLoad() {
39023
+ this.imageLoaded = true;
39024
+ this.imageError = false;
39025
+ },
39026
+ // 图片加载失败
39027
+ onImageError() {
39028
+ this.imageLoaded = false;
39029
+ this.imageError = true;
39030
+ },
39031
+ // 解析自定义样式
39032
+ parseCustomStyle(customStyle) {
39033
+ if (!customStyle) return {};
39034
+ try {
39035
+ const styles = {};
39036
+ const declarations = customStyle.split(";");
39037
+ declarations.forEach(declaration => {
39038
+ const [property, value] = declaration.split(":");
39039
+ if (property && value) {
39040
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
39041
+ styles[camelCaseProperty] = value.trim();
39042
+ }
39043
+ });
39044
+ return styles;
39045
+ } catch (error) {
39046
+ console.warn("解析自定义样式失败:", error);
39047
+ return {};
39048
+ }
39049
+ }
39050
+ }
39051
+ });
39052
+ ;// ./package/cms-image/View.vue?vue&type=script&lang=js
39053
+ /* harmony default export */ var cms_image_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
39054
+ ;// ./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
39055
+ // extracted by mini-css-extract-plugin
39056
+
39057
+ ;// ./package/cms-image/View.vue?vue&type=style&index=0&id=5dac7dea&prod&lang=scss&scoped=true
39058
+
39059
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
39060
+ var componentNormalizer = __webpack_require__(1656);
39061
+ ;// ./package/cms-image/View.vue
39062
+
39063
+
39064
+
39065
+ ;
39066
+
39067
+
39068
+ /* normalize component */
39069
+
39070
+ var component = (0,componentNormalizer/* default */.A)(
39071
+ cms_image_Viewvue_type_script_lang_js,
39072
+ render,
39073
+ staticRenderFns,
39074
+ false,
39075
+ null,
39076
+ "5dac7dea",
39077
+ null
39078
+
39079
+ )
39080
+
39081
+ /* harmony default export */ var View = (component.exports);
39082
+
39083
+ /***/ }),
39084
+
38618
39085
  /***/ 5340:
38619
39086
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
38620
39087
 
@@ -38622,7 +39089,7 @@ module.exports = Number.isNaN || function isNaN(a) {
38622
39089
  __webpack_require__.r(__webpack_exports__);
38623
39090
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
38624
39091
 
38625
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 3164));
39092
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 470));
38626
39093
 
38627
39094
  // 默认配置数据
38628
39095
  const langData = {
@@ -38630,9 +39097,9 @@ const langData = {
38630
39097
  heightType: "auto",
38631
39098
  fixedHeight: 300,
38632
39099
  // 边框设置
38633
- borderWidth: 1,
39100
+ borderWidth: 0,
38634
39101
  borderStyle: "solid",
38635
- borderColor: "#1c4fc6ff",
39102
+ borderColor: "",
38636
39103
  borderRadius: 0,
38637
39104
  // 背景设置
38638
39105
  backgroundColor: "",
@@ -38691,7 +39158,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
38691
39158
  },
38692
39159
  borderColor: {
38693
39160
  label: "边框颜色",
38694
- widgetType: "el-color-picker"
39161
+ widgetType: "el-color-picker",
39162
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
38695
39163
  },
38696
39164
  borderRadius: {
38697
39165
  label: "圆角(px)",
@@ -38704,7 +39172,8 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
38704
39172
  // 背景设置配置
38705
39173
  backgroundColor: {
38706
39174
  label: "背景颜色",
38707
- widgetType: "el-color-picker"
39175
+ widgetType: "el-color-picker",
39176
+ predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
38708
39177
  },
38709
39178
  backgroundImage: {
38710
39179
  label: "背景图片",
@@ -38932,7 +39401,7 @@ var swiper = __webpack_require__(2791);
38932
39401
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
38933
39402
  var swiper_esm_bundle = __webpack_require__(4418);
38934
39403
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
38935
- var baseComp = __webpack_require__(6228);
39404
+ var baseComp = __webpack_require__(5298);
38936
39405
  ;// ./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
38937
39406
 
38938
39407
 
@@ -39247,7 +39716,7 @@ var render = function render() {
39247
39716
  var staticRenderFns = [];
39248
39717
 
39249
39718
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
39250
- var baseComp = __webpack_require__(6228);
39719
+ var baseComp = __webpack_require__(5298);
39251
39720
  ;// ./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
39252
39721
 
39253
39722
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -39648,6 +40117,14 @@ module.exports = typeof Reflect !== 'undefined' && Reflect.getPrototypeOf || nul
39648
40117
 
39649
40118
  /***/ }),
39650
40119
 
40120
+ /***/ 6148:
40121
+ /***/ (function(module) {
40122
+
40123
+ "use strict";
40124
+ 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";
40125
+
40126
+ /***/ }),
40127
+
39651
40128
  /***/ 6175:
39652
40129
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39653
40130
 
@@ -39739,7 +40216,17 @@ module.exports = function (obj) {
39739
40216
 
39740
40217
  /***/ }),
39741
40218
 
39742
- /***/ 6228:
40219
+ /***/ 6269:
40220
+ /***/ (function(module) {
40221
+
40222
+ "use strict";
40223
+
40224
+ module.exports = {};
40225
+
40226
+
40227
+ /***/ }),
40228
+
40229
+ /***/ 6278:
39743
40230
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
39744
40231
 
39745
40232
  "use strict";
@@ -39748,77 +40235,65 @@ __webpack_require__.r(__webpack_exports__);
39748
40235
 
39749
40236
  // EXPORTS
39750
40237
  __webpack_require__.d(__webpack_exports__, {
39751
- "default": function() { return /* binding */ baseComp; }
40238
+ "default": function() { return /* binding */ View; }
39752
40239
  });
39753
40240
 
39754
- ;// ./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=1a96e3b2&scoped=true
40241
+ ;// ./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=73699845&scoped=true
39755
40242
  var render = function render() {
39756
40243
  var _vm = this,
39757
40244
  _c = _vm._self._c;
39758
- return _vm.$EventBus && _vm.isOpcacity ? _c('div', {
39759
- key: _vm.data.componentId,
39760
- class: [_vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? 'highLight' : ''],
39761
- style: _vm.showStyleConfig,
39762
- on: {
39763
- "click": function ($event) {
39764
- $event.stopPropagation();
39765
- return _vm.handleNowComp.apply(null, arguments);
39766
- }
39767
- }
39768
- }, [_c('div', {
39769
- staticClass: "mask-wrap"
39770
- }, [_vm._t("default", null, {
39771
- "isMobile": _vm.isMobile
39772
- }), _vm.isMask ? _c('div', {
39773
- staticClass: "mask",
39774
- on: {
39775
- "click": _vm.handleNowComp
39776
- }
39777
- }) : _vm._e()], 2), _vm.nowCompId !== '' && _vm.nowCompId == _vm.data.componentId ? _c('div', {
39778
- staticClass: "com-delete"
39779
- }, [_vm.showDel ? _c('i', {
39780
- staticClass: "el-icon-delete",
39781
- on: {
39782
- "click": function ($event) {
39783
- $event.stopPropagation();
39784
- return _vm.delComp.apply(null, arguments);
39785
- }
39786
- }
39787
- }) : _vm._e(), _c('i', {
39788
- staticClass: "el-icon-top",
40245
+ return _c('BaseComp', _vm._b({
40246
+ attrs: {
40247
+ "data": _vm.data,
40248
+ "nowCompId": _vm.nowCompId,
40249
+ "isOpcacity": _vm.isOpcacity,
40250
+ "isMask": false,
40251
+ "lang": _vm.lang
40252
+ },
39789
40253
  on: {
39790
- "click": function ($event) {
39791
- $event.stopPropagation();
39792
- return _vm.selectParentDom.apply(null, arguments);
40254
+ "getConfigData": _vm.getConfigData
40255
+ },
40256
+ scopedSlots: _vm._u([{
40257
+ key: "default",
40258
+ fn: function (slotProps) {
40259
+ return [_c('section', {
40260
+ class: (_vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main', {
40261
+ hoverBorderClass: _vm.isConfigPage
40262
+ }),
40263
+ style: _vm.containerStyle
40264
+ }, [_c('div', {
40265
+ staticClass: "column-setting",
40266
+ class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
40267
+ style: _vm.columnStyle
40268
+ }, _vm._l(_vm.data.childList, function (item, index) {
40269
+ return _c('cms-column-card', {
40270
+ key: item.componentId,
40271
+ class: _vm.getColumnItemClass(index),
40272
+ style: _vm.getColumnItemStyle(index),
40273
+ attrs: {
40274
+ "data": item,
40275
+ "nowCompId": _vm.nowCompId,
40276
+ "isOpcacity": _vm.isOpcacity,
40277
+ "isMask": false,
40278
+ "lang": _vm.lang
40279
+ }
40280
+ });
40281
+ }), 1)])];
39793
40282
  }
39794
- }
39795
- })]) : _vm._e()]) : _vm.showSlot ? _c('div', {
39796
- key: _vm.data.componentId,
39797
- ref: "targetElement",
39798
- style: _vm.showStyleConfig
39799
- }, [_vm._t("default")], 2) : _vm._e();
40283
+ }])
40284
+ }, 'BaseComp', _vm.$attrs, false));
39800
40285
  };
39801
40286
  var staticRenderFns = [];
39802
40287
 
39803
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
39804
- var es_iterator_constructor = __webpack_require__(8111);
39805
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
39806
- var es_iterator_reduce = __webpack_require__(8237);
39807
- // EXTERNAL MODULE: ./package/patch.js
39808
- var patch = __webpack_require__(1618);
39809
- // EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js
39810
- var dayjs_min = __webpack_require__(1576);
39811
- var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
39812
- ;// ./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
39813
-
39814
-
39815
-
39816
-
39817
- // 待办:判断移动pc端填充不同的样式
39818
-
40288
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
40289
+ var baseComp = __webpack_require__(5298);
40290
+ ;// ./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
39819
40291
 
39820
- /* harmony default export */ var baseCompvue_type_script_lang_js = ({
39821
- name: "baseComp",
40292
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
40293
+ name: "cms-column",
40294
+ components: {
40295
+ BaseComp: baseComp["default"]
40296
+ },
39822
40297
  props: {
39823
40298
  data: {
39824
40299
  type: Object,
@@ -39834,151 +40309,175 @@ var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);
39834
40309
  type: Boolean,
39835
40310
  default: true
39836
40311
  },
39837
- isMask: {
39838
- type: Boolean,
39839
- default: true
39840
- },
39841
40312
  lang: {
39842
40313
  type: String,
39843
40314
  default: "zh-HK"
39844
- },
39845
- timeline: {
39846
- type: String,
39847
- default: ""
39848
- },
39849
- cmhkChannel: {
39850
- type: String,
39851
- default: "WWW"
39852
- },
39853
- showDel: {
39854
- type: Boolean,
39855
- default: true
39856
40315
  }
39857
40316
  },
39858
40317
  data() {
39859
40318
  return {
39860
- styleConfig_mb: {},
39861
- styleConfig_pc: {},
39862
40319
  configData: {},
39863
- elementWidth: 0,
39864
- resizeObserver: null
40320
+ messFold: true,
40321
+ // 默认配置数据
40322
+ defaultConfig: {
40323
+ layoutType: "100",
40324
+ heightType: "auto",
40325
+ widthType: "auto",
40326
+ mobileLayout: "vertical",
40327
+ fixedHeight: 300,
40328
+ borderWidth: 0,
40329
+ borderStyle: "solid",
40330
+ borderColor: "",
40331
+ backgroundColor: "#FFF",
40332
+ backgroundImage: "",
40333
+ boxShadow: "",
40334
+ borderRadius: 0,
40335
+ columnGap: 0,
40336
+ rowGap: 0,
40337
+ title: "",
40338
+ description: "",
40339
+ input1: "",
40340
+ showTitle: true,
40341
+ showDescription: true,
40342
+ animationDuration: 300,
40343
+ responsiveBreakpoint: 768
40344
+ }
39865
40345
  };
39866
40346
  },
40347
+ mounted() {
40348
+ this.initConfigData();
40349
+ // 添加窗口大小变化监听
40350
+ },
39867
40351
  watch: {
39868
- data: {
39869
- handler(val) {
39870
- this.getStyleConfig(val, "pc");
39871
- this.getStyleConfig(val, "mb");
39872
- this.getValue(this.lang);
39873
- },
39874
- deep: true,
39875
- immediate: true
39876
- },
39877
- lang: {
39878
- handler(val) {
39879
- this.getValue(val);
40352
+ configData: {
40353
+ handler() {
40354
+ this.updateStyles();
39880
40355
  },
39881
- deep: true,
39882
- immediate: true
39883
- }
39884
- },
39885
- mounted() {
39886
- if (this.$EventBus && this.isOpcacity) {
39887
- this.elementWidth = 800;
39888
- this.$EventBus.$on("handleDeviceChange", isMobile => {
39889
- this.elementWidth = isMobile ? 700 : 800;
39890
- });
39891
- } else if (this.showSlot) {
39892
- this.resizeObserver = new ResizeObserver(entries => {
39893
- for (let entry of entries) {
39894
- this.elementWidth = entry.contentRect.width;
39895
- // 可以在这里触发自定义逻辑
39896
- // this.onWidthChange(this.elementWidth);
39897
- }
39898
- });
39899
- const element = document.getElementById("app");
39900
- this.resizeObserver.observe(element);
40356
+ deep: true
39901
40357
  }
39902
40358
  },
39903
- beforeDestroy() {
39904
- // 组件销毁时停止观察
39905
- if (this.resizeObserver) {
39906
- this.resizeObserver.disconnect();
40359
+ computed: {
40360
+ isConfigPage() {
40361
+ return this.$EventBus && this.isOpcacity;
40362
+ },
40363
+ // 容器样式
40364
+ containerStyle() {
40365
+ return {
40366
+ backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
40367
+ backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
40368
+ backgroundSize: "cover",
40369
+ backgroundRepeat: "no-repeat",
40370
+ backgroundPosition: "center center",
40371
+ boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
40372
+ borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
40373
+ minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
40374
+ };
40375
+ },
40376
+ // 分栏容器样式
40377
+ columnStyle() {
40378
+ // const gap = this.configData.rowGap || this.defaultConfig.rowGap;
40379
+ return {
40380
+ // gap: `${gap}px`,
40381
+ border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
40382
+ };
39907
40383
  }
39908
40384
  },
39909
40385
  methods: {
39910
- selectParentDom() {
39911
- if (!this.isOpcacity) return;
39912
- this.$EventBus.$emit("handleParentComp", this.data);
39913
- },
39914
- onWidthChange(newWidth) {
39915
- console.log("新宽度:", newWidth, this.isMobile);
40386
+ // 初始化配置数据
40387
+ initConfigData() {
40388
+ // 合并默认配置和传入配置
40389
+ this.configData = {
40390
+ ...this.defaultConfig,
40391
+ ...this.configData
40392
+ };
39916
40393
  },
39917
- getValue(cur_lang) {
39918
- var _this$data, _this$data$settings;
39919
- const obj = {
39920
- "zh-CN": "lang_sc",
39921
- "zh-HK": "lang_tc",
39922
- "en-US": "lang_en"
40394
+ // 获取配置数据
40395
+ getConfigData(configData) {
40396
+ this.configData = {
40397
+ ...this.defaultConfig,
40398
+ ...configData
39923
40399
  };
39924
- 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) {
39925
- const baseInfo = (0,patch.transfor)(this.data);
39926
- this.configData = baseInfo.contentConfig.lang_all ? baseInfo.contentConfig.lang_all : baseInfo.contentConfig[`${obj[cur_lang]}`];
39927
- } else {
39928
- this.configData = this.data.contentConfig.lang_all ? this.data.contentConfig.lang_all : this.data.contentConfig[`${obj[cur_lang]}`];
39929
- }
39930
- this.$emit("getConfigData", this.configData);
40400
+ this.updateStyles();
39931
40401
  },
39932
- getStyleConfig(data, type) {
39933
- this[`styleConfig_${type}`] = data.styleConfig[type].reduce((pre, cur) => {
39934
- pre[cur.key] = cur.value + cur.unit;
39935
- return pre;
39936
- }, {});
40402
+ // 更新样式
40403
+ updateStyles() {
40404
+ this.$nextTick(() => {
40405
+ // 触发样式更新
40406
+ this.$forceUpdate();
40407
+ });
39937
40408
  },
39938
- handleNowComp() {
39939
- if (!this.isOpcacity) return;
39940
- this.$EventBus.$emit("handleNowComp", this.data);
40409
+ // 获取分栏项的类名
40410
+ getColumnItemClass(index) {
40411
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
40412
+ return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
40413
+ "min-h": this.$EventBus && this.isOpcacity,
40414
+ "first-item": index === 0,
40415
+ "last-item": index === this.data.childList.length - 1
40416
+ }];
39941
40417
  },
39942
- delComp() {
39943
- this.$EventBus.$emit("handleDeleteComp", this.data.componentId);
39944
- }
39945
- },
39946
- computed: {
39947
- showStyleConfig() {
39948
- if (!this.elementWidth) return {};
39949
- return this.isMobile ? this.styleConfig_mb : this.styleConfig_pc;
40418
+ // 获取分栏项的样式
40419
+ getColumnItemStyle(index) {
40420
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
40421
+ const gap = this.configData.rowGap || this.defaultConfig.rowGap;
40422
+ let flexBasis = "100%";
40423
+ let marginRight = "0";
40424
+
40425
+ // 根据布局类型设置宽度
40426
+ switch (layoutType) {
40427
+ case "50-50":
40428
+ flexBasis = `calc(50% - ${gap / 2}px)`;
40429
+ marginRight = index % 2 === 0 ? `${gap}px` : "0";
40430
+ break;
40431
+ case "33-66":
40432
+ flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
40433
+ marginRight = index === 0 ? `${gap}px` : "0";
40434
+ break;
40435
+ case "66-33":
40436
+ flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
40437
+ marginRight = index === 0 ? `${gap}px` : "0";
40438
+ break;
40439
+ case "33-33-33":
40440
+ flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
40441
+ marginRight = index < 2 ? `${gap}px` : "0";
40442
+ break;
40443
+ case "25-50-25":
40444
+ if (index === 0 || index === 2) {
40445
+ flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
40446
+ } else {
40447
+ flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
40448
+ }
40449
+ marginRight = index < 2 ? `${gap}px` : "0";
40450
+ break;
40451
+ default:
40452
+ flexBasis = "100%";
40453
+ }
40454
+ return {
40455
+ flexBasis,
40456
+ marginRight,
40457
+ marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
40458
+ };
39950
40459
  },
39951
- isMobile() {
39952
- return this.elementWidth < 760;
40460
+ // 折叠/展开文本
40461
+ foldMessText() {
40462
+ this.messFold = !this.messFold;
39953
40463
  },
39954
- showSlot() {
39955
- if (this.$EventBus && this.isOpcacity) return false;
39956
- const {
39957
- cmhkChannelConfList = [],
39958
- startTime = "",
39959
- endTime = ""
39960
- } = this.data.baseConfig;
39961
- console.log("this.cmhkChannel", this.cmhkChannel, this.data.baseConfig);
39962
- const channelVisable = cmhkChannelConfList.includes("ALL") || cmhkChannelConfList.includes(this.cmhkChannel);
39963
- if (!channelVisable) return false;
39964
- if (!startTime && !endTime) return true;
39965
- const currentTime = this.timeline ? dayjs_min_default()(this.timeline) : dayjs_min_default()();
39966
- const isStart = startTime ? dayjs_min_default()(currentTime).isAfter(dayjs_min_default()(startTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(startTime)) : true;
39967
- const isEnd = endTime ? dayjs_min_default()(currentTime).isBefore(dayjs_min_default()(endTime)) || dayjs_min_default()(currentTime).isSame(dayjs_min_default()(endTime)) : true;
39968
- return isStart && isEnd;
40464
+ // 处理跳转链接
40465
+ decodeJumpUrl(url) {
40466
+ if (!url) return;
40467
+ top.location.href = url;
39969
40468
  }
39970
40469
  }
39971
40470
  });
39972
- ;// ./package/baseComp.vue?vue&type=script&lang=js
39973
- /* harmony default export */ var package_baseCompvue_type_script_lang_js = (baseCompvue_type_script_lang_js);
39974
- ;// ./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=1a96e3b2&prod&lang=scss&scoped=true
40471
+ ;// ./package/cms-column/View.vue?vue&type=script&lang=js
40472
+ /* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
40473
+ ;// ./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=73699845&prod&lang=scss&scoped=true
39975
40474
  // extracted by mini-css-extract-plugin
39976
40475
 
39977
- ;// ./package/baseComp.vue?vue&type=style&index=0&id=1a96e3b2&prod&lang=scss&scoped=true
40476
+ ;// ./package/cms-column/View.vue?vue&type=style&index=0&id=73699845&prod&lang=scss&scoped=true
39978
40477
 
39979
40478
  // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
39980
40479
  var componentNormalizer = __webpack_require__(1656);
39981
- ;// ./package/baseComp.vue
40480
+ ;// ./package/cms-column/View.vue
39982
40481
 
39983
40482
 
39984
40483
 
@@ -39988,27 +40487,17 @@ var componentNormalizer = __webpack_require__(1656);
39988
40487
  /* normalize component */
39989
40488
 
39990
40489
  var component = (0,componentNormalizer/* default */.A)(
39991
- package_baseCompvue_type_script_lang_js,
40490
+ cms_column_Viewvue_type_script_lang_js,
39992
40491
  render,
39993
40492
  staticRenderFns,
39994
40493
  false,
39995
40494
  null,
39996
- "1a96e3b2",
40495
+ "73699845",
39997
40496
  null
39998
40497
 
39999
40498
  )
40000
40499
 
40001
- /* harmony default export */ var baseComp = (component.exports);
40002
-
40003
- /***/ }),
40004
-
40005
- /***/ 6269:
40006
- /***/ (function(module) {
40007
-
40008
- "use strict";
40009
-
40010
- module.exports = {};
40011
-
40500
+ /* harmony default export */ var View = (component.exports);
40012
40501
 
40013
40502
  /***/ }),
40014
40503
 
@@ -40118,6 +40607,7 @@ module.exports = $Object.getPrototypeOf || null;
40118
40607
  __webpack_require__.r(__webpack_exports__);
40119
40608
  /* harmony default export */ __webpack_exports__["default"] = ({
40120
40609
  Expand: "Expand",
40610
+ More: "More",
40121
40611
  Collpase: "Collpase",
40122
40612
  discount: 'Discount period:'
40123
40613
  });
@@ -40330,7 +40820,7 @@ var render = function render() {
40330
40820
  var staticRenderFns = [];
40331
40821
 
40332
40822
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
40333
- var baseComp = __webpack_require__(6228);
40823
+ var baseComp = __webpack_require__(5298);
40334
40824
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
40335
40825
  var jumpUrl = __webpack_require__(813);
40336
40826
  // EXTERNAL MODULE: ./node_modules/vue/dist/vue.runtime.esm.js
@@ -40683,7 +41173,7 @@ var staticRenderFns = [];
40683
41173
  ;// ./package/cms-prodCustomization/View.vue?vue&type=template&id=61a0a18c&scoped=true
40684
41174
 
40685
41175
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
40686
- var baseComp = __webpack_require__(6228);
41176
+ var baseComp = __webpack_require__(5298);
40687
41177
  ;// ./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
41178
 
40689
41179
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -48686,6 +49176,64 @@ module.exports = Math.min;
48686
49176
 
48687
49177
  /***/ }),
48688
49178
 
49179
+ /***/ 6940:
49180
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
49181
+
49182
+ "use strict";
49183
+ __webpack_require__.r(__webpack_exports__);
49184
+ /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
49185
+
49186
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9345));
49187
+ const langData = {
49188
+ colNums: 1,
49189
+ defaultCol: 12,
49190
+ gap: 10
49191
+ };
49192
+ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
49193
+ // 布局配置
49194
+ colNums: {
49195
+ label: "视频样式",
49196
+ widgetType: "el-radio-group",
49197
+ options: [{
49198
+ label: "一行一个",
49199
+ value: 1
49200
+ }, {
49201
+ label: "一行两个",
49202
+ value: 2
49203
+ }, {
49204
+ label: "一行三个",
49205
+ value: 3
49206
+ }],
49207
+ isCol: true
49208
+ },
49209
+ defaultCol: {
49210
+ label: "默认展示(行)",
49211
+ widgetType: "el-input-number",
49212
+ size: "small",
49213
+ min: 1,
49214
+ max: 12,
49215
+ step: 1,
49216
+ isCol: true,
49217
+ unit: "行"
49218
+ }
49219
+ });
49220
+ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
49221
+ /* harmony default export */ __webpack_exports__["default"] = ({
49222
+ View,
49223
+ validateSchema,
49224
+ configDataType,
49225
+ langData,
49226
+ settings: cmsCompName => {
49227
+ return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
49228
+ cmsCompName,
49229
+ langData,
49230
+ isLangAll: true
49231
+ });
49232
+ }
49233
+ });
49234
+
49235
+ /***/ }),
49236
+
48689
49237
  /***/ 6955:
48690
49238
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
48691
49239
 
@@ -49004,7 +49552,7 @@ var render = function render() {
49004
49552
  var staticRenderFns = [];
49005
49553
 
49006
49554
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
49007
- var baseComp = __webpack_require__(6228);
49555
+ var baseComp = __webpack_require__(5298);
49008
49556
  // EXTERNAL MODULE: ./package/patch.js
49009
49557
  var patch = __webpack_require__(1618);
49010
49558
  ;// ./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 +50373,7 @@ var render = function render() {
49825
50373
  var staticRenderFns = [];
49826
50374
 
49827
50375
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
49828
- var baseComp = __webpack_require__(6228);
50376
+ var baseComp = __webpack_require__(5298);
49829
50377
  ;// ./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
50378
 
49831
50379
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -50075,7 +50623,7 @@ var swiper = __webpack_require__(2791);
50075
50623
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
50076
50624
  var swiper_esm_bundle = __webpack_require__(4418);
50077
50625
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50078
- var baseComp = __webpack_require__(6228);
50626
+ var baseComp = __webpack_require__(5298);
50079
50627
  ;// ./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
50628
 
50081
50629
 
@@ -50261,7 +50809,7 @@ var swiper = __webpack_require__(2791);
50261
50809
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
50262
50810
  var swiper_esm_bundle = __webpack_require__(4418);
50263
50811
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50264
- var baseComp = __webpack_require__(6228);
50812
+ var baseComp = __webpack_require__(5298);
50265
50813
  ;// ./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
50814
 
50267
50815
 
@@ -50477,7 +51025,7 @@ var render = function render() {
50477
51025
  var staticRenderFns = [];
50478
51026
 
50479
51027
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50480
- var baseComp = __webpack_require__(6228);
51028
+ var baseComp = __webpack_require__(5298);
50481
51029
  ;// ./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
51030
 
50483
51031
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -50819,6 +51367,18 @@ function queryPageHfList(data) {
50819
51367
  });
50820
51368
  }
50821
51369
 
51370
+ /**
51371
+ * 查询URL接口
51372
+ * @returns {Promise}
51373
+ */
51374
+ function queryUrl(data) {
51375
+ return request({
51376
+ method: "post",
51377
+ url: "/omni-channel-service-console/rest/workBench/queryUrl",
51378
+ data
51379
+ });
51380
+ }
51381
+
50822
51382
  /**
50823
51383
  * 创建页面
50824
51384
  * @param {Object} pageData 页面数据
@@ -50977,11 +51537,18 @@ function emallHeartbeat(data) {
50977
51537
  data
50978
51538
  });
50979
51539
  }
51540
+ function qryBtList(data) {
51541
+ return request({
51542
+ method: "post",
51543
+ url: "/omni-channel-service-console/rest/component/qryBtList",
51544
+ data
51545
+ });
51546
+ }
50980
51547
  // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
50981
51548
  var lib = __webpack_require__(9122);
50982
51549
  var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
50983
51550
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
50984
- var baseComp = __webpack_require__(6228);
51551
+ var baseComp = __webpack_require__(5298);
50985
51552
  ;// ./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
51553
 
50987
51554
 
@@ -51232,6 +51799,181 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
51232
51799
 
51233
51800
  /***/ }),
51234
51801
 
51802
+ /***/ 8216:
51803
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
51804
+
51805
+ "use strict";
51806
+ // ESM COMPAT FLAG
51807
+ __webpack_require__.r(__webpack_exports__);
51808
+
51809
+ // EXPORTS
51810
+ __webpack_require__.d(__webpack_exports__, {
51811
+ "default": function() { return /* binding */ View; }
51812
+ });
51813
+
51814
+ ;// ./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
51815
+ var render = function render() {
51816
+ var _vm = this,
51817
+ _c = _vm._self._c;
51818
+ return _c('BaseComp', _vm._b({
51819
+ attrs: {
51820
+ "data": _vm.data,
51821
+ "nowCompId": _vm.nowCompId,
51822
+ "isOpcacity": _vm.isOpcacity,
51823
+ "isMask": false,
51824
+ "lang": _vm.lang
51825
+ },
51826
+ on: {
51827
+ "getConfigData": _vm.getConfigData
51828
+ }
51829
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
51830
+ staticClass: "cmhk-home_main"
51831
+ }, [_c('div', {
51832
+ staticClass: "wrap",
51833
+ style: {
51834
+ 'grid-template-columns': `repeat(${_vm.configData.colNums}, 1fr)`,
51835
+ 'grid-gap': `${_vm.configData.gap}px`
51836
+ }
51837
+ }, _vm._l(_vm.showVideoList, function (item) {
51838
+ return _c('cms-video', {
51839
+ key: item.componentId,
51840
+ staticStyle: {
51841
+ "overflow": "hidden"
51842
+ },
51843
+ attrs: {
51844
+ "data": item,
51845
+ "nowCompId": _vm.nowCompId,
51846
+ "isOpcacity": _vm.isOpcacity,
51847
+ "isMask": false,
51848
+ "lang": _vm.lang
51849
+ }
51850
+ });
51851
+ }), 1), _vm.isShowPannel ? [_c('div', {
51852
+ staticClass: "view-more-container"
51853
+ }, [_c('div', {
51854
+ staticClass: "view-more-btn",
51855
+ on: {
51856
+ "click": _vm.foldMessText
51857
+ }
51858
+ }, [_c('span', {
51859
+ staticClass: "view-more-text"
51860
+ }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
51861
+ class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
51862
+ })])])] : _vm._e()], 2)]);
51863
+ };
51864
+ var staticRenderFns = [];
51865
+
51866
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51867
+ var baseComp = __webpack_require__(5298);
51868
+ ;// ./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
51869
+
51870
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
51871
+ name: "cms-video-group",
51872
+ components: {
51873
+ BaseComp: baseComp["default"]
51874
+ },
51875
+ props: {
51876
+ data: {
51877
+ type: Object,
51878
+ default: () => {
51879
+ return {};
51880
+ }
51881
+ },
51882
+ nowCompId: {
51883
+ type: [String, Number],
51884
+ default: ""
51885
+ },
51886
+ isOpcacity: {
51887
+ type: Boolean,
51888
+ default: true
51889
+ },
51890
+ lang: {
51891
+ type: String,
51892
+ default: "zh-HK"
51893
+ }
51894
+ },
51895
+ data() {
51896
+ return {
51897
+ configData: {},
51898
+ messFold: false,
51899
+ // 默认配置数据
51900
+ isShowPannel: false
51901
+ };
51902
+ },
51903
+ mounted() {},
51904
+ watch: {
51905
+ configData: {
51906
+ handler() {
51907
+ this.updateStyles();
51908
+ },
51909
+ deep: true
51910
+ }
51911
+ },
51912
+ computed: {
51913
+ showVideoList() {
51914
+ if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.configData.colNums * this.configData.defaultCol);
51915
+ return this.data.childList;
51916
+ },
51917
+ isConfigPage() {
51918
+ return this.$EventBus && this.isOpcacity;
51919
+ }
51920
+ },
51921
+ methods: {
51922
+ // 获取配置数据
51923
+ getConfigData(configData) {
51924
+ this.configData = {
51925
+ ...this.defaultConfig,
51926
+ ...configData
51927
+ };
51928
+ this.updateStyles();
51929
+ this.isShowPannel = this.configData.colNums * this.configData.defaultCol < this.data.childList.length;
51930
+ },
51931
+ // 更新样式
51932
+ updateStyles() {
51933
+ this.$nextTick(() => {
51934
+ // 触发样式更新
51935
+ this.$forceUpdate();
51936
+ });
51937
+ },
51938
+ // 折叠/展开文本
51939
+ foldMessText() {
51940
+ this.messFold = !this.messFold;
51941
+ }
51942
+ }
51943
+ });
51944
+ ;// ./package/cms-video-group/View.vue?vue&type=script&lang=js
51945
+ /* harmony default export */ var cms_video_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
51946
+ ;// ./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
51947
+ // extracted by mini-css-extract-plugin
51948
+
51949
+ ;// ./package/cms-video-group/View.vue?vue&type=style&index=0&id=13b5a669&prod&lang=scss&scoped=true
51950
+
51951
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
51952
+ var componentNormalizer = __webpack_require__(1656);
51953
+ ;// ./package/cms-video-group/View.vue
51954
+
51955
+
51956
+
51957
+ ;
51958
+
51959
+
51960
+ /* normalize component */
51961
+
51962
+ var component = (0,componentNormalizer/* default */.A)(
51963
+ cms_video_group_Viewvue_type_script_lang_js,
51964
+ render,
51965
+ staticRenderFns,
51966
+ false,
51967
+ null,
51968
+ "13b5a669",
51969
+ null
51970
+
51971
+ )
51972
+
51973
+ /* harmony default export */ var View = (component.exports);
51974
+
51975
+ /***/ }),
51976
+
51235
51977
  /***/ 8227:
51236
51978
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
51237
51979
 
@@ -51321,7 +52063,7 @@ var render = function render() {
51321
52063
  var staticRenderFns = [];
51322
52064
 
51323
52065
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51324
- var baseComp = __webpack_require__(6228);
52066
+ var baseComp = __webpack_require__(5298);
51325
52067
  ;// ./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
52068
 
51327
52069
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -51526,7 +52268,7 @@ var swiper = __webpack_require__(2791);
51526
52268
  // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
51527
52269
  var swiper_esm_bundle = __webpack_require__(4418);
51528
52270
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51529
- var baseComp = __webpack_require__(6228);
52271
+ var baseComp = __webpack_require__(5298);
51530
52272
  ;// ./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
52273
 
51532
52274
 
@@ -51720,7 +52462,7 @@ var staticRenderFns = [];
51720
52462
  ;// ./package/cms-activityTime/View.vue?vue&type=template&id=0e496ed4&scoped=true
51721
52463
 
51722
52464
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
51723
- var baseComp = __webpack_require__(6228);
52465
+ var baseComp = __webpack_require__(5298);
51724
52466
  ;// ./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
52467
 
51726
52468
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -52624,7 +53366,7 @@ var render = function render() {
52624
53366
  var staticRenderFns = [];
52625
53367
 
52626
53368
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
52627
- var baseComp = __webpack_require__(6228);
53369
+ var baseComp = __webpack_require__(5298);
52628
53370
  // EXTERNAL MODULE: ./src/utils/request.js + 2 modules
52629
53371
  var utils_request = __webpack_require__(1564);
52630
53372
  ;// ./src/api/servePlan.js
@@ -52803,9 +53545,10 @@ var component = (0,componentNormalizer/* default */.A)(
52803
53545
  __webpack_require__.r(__webpack_exports__);
52804
53546
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
52805
53547
 
52806
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 4986));
53548
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 5314));
52807
53549
  const langData = {
52808
53550
  // 图片设置
53551
+ remark: "",
52809
53552
  imageUrl: "",
52810
53553
  altText: "图片",
52811
53554
  title: "",
@@ -52828,6 +53571,11 @@ const langData = {
52828
53571
  lazyLoad: false
52829
53572
  };
52830
53573
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
53574
+ remark: {
53575
+ label: "图片备注",
53576
+ widgetType: "el-input",
53577
+ placeholder: "请输入图片备注"
53578
+ },
52831
53579
  // 图片设置配置
52832
53580
  imageUrl: {
52833
53581
  label: "图片地址",
@@ -52835,15 +53583,16 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
52835
53583
  placeholder: "请选择或输入图片地址"
52836
53584
  },
52837
53585
  altText: {
52838
- label: "替代文本",
52839
- widgetType: "el-input",
52840
- placeholder: "请输入图片的替代文本"
52841
- },
52842
- title: {
52843
- label: "图片标题",
53586
+ label: "alt属性",
52844
53587
  widgetType: "el-input",
52845
- placeholder: "请输入图片标题(鼠标悬停时显示)"
53588
+ placeholder: "请输入图片的alt属性"
52846
53589
  },
53590
+ // title: {
53591
+ // label: "图片标题",
53592
+ // widgetType: "el-input",
53593
+ // placeholder: "请输入图片标题(鼠标悬停时显示)"
53594
+ // },
53595
+
52847
53596
  // 尺寸控制配置
52848
53597
  widthType: {
52849
53598
  label: "宽度类型",
@@ -53177,7 +53926,7 @@ var render = function render() {
53177
53926
  var staticRenderFns = [];
53178
53927
 
53179
53928
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
53180
- var baseComp = __webpack_require__(6228);
53929
+ var baseComp = __webpack_require__(5298);
53181
53930
  // EXTERNAL MODULE: ./src/utils/jumpUrl.js
53182
53931
  var jumpUrl = __webpack_require__(813);
53183
53932
  ;// ./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 +54326,181 @@ module.exports = TypeError;
53577
54326
 
53578
54327
  /***/ }),
53579
54328
 
54329
+ /***/ 9345:
54330
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
54331
+
54332
+ "use strict";
54333
+ // ESM COMPAT FLAG
54334
+ __webpack_require__.r(__webpack_exports__);
54335
+
54336
+ // EXPORTS
54337
+ __webpack_require__.d(__webpack_exports__, {
54338
+ "default": function() { return /* binding */ View; }
54339
+ });
54340
+
54341
+ ;// ./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
54342
+ var render = function render() {
54343
+ var _vm = this,
54344
+ _c = _vm._self._c;
54345
+ return _c('BaseComp', _vm._b({
54346
+ attrs: {
54347
+ "data": _vm.data,
54348
+ "nowCompId": _vm.nowCompId,
54349
+ "isOpcacity": _vm.isOpcacity,
54350
+ "isMask": false,
54351
+ "lang": _vm.lang
54352
+ },
54353
+ on: {
54354
+ "getConfigData": _vm.getConfigData
54355
+ }
54356
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
54357
+ staticClass: "cmhk-home_main"
54358
+ }, [_c('div', {
54359
+ staticClass: "wrap",
54360
+ style: {
54361
+ 'grid-template-columns': `repeat(${_vm.configData.colNums}, 1fr)`,
54362
+ 'grid-gap': `${_vm.configData.gap}px`
54363
+ }
54364
+ }, _vm._l(_vm.showVideoList, function (item) {
54365
+ return _c('cms-image', {
54366
+ key: item.componentId,
54367
+ staticStyle: {
54368
+ "overflow": "hidden"
54369
+ },
54370
+ attrs: {
54371
+ "data": item,
54372
+ "nowCompId": _vm.nowCompId,
54373
+ "isOpcacity": _vm.isOpcacity,
54374
+ "isMask": false,
54375
+ "lang": _vm.lang
54376
+ }
54377
+ });
54378
+ }), 1), _vm.isShowPannel ? [_c('div', {
54379
+ staticClass: "view-more-container"
54380
+ }, [_c('div', {
54381
+ staticClass: "view-more-btn",
54382
+ on: {
54383
+ "click": _vm.foldMessText
54384
+ }
54385
+ }, [_c('span', {
54386
+ staticClass: "view-more-text"
54387
+ }, [_vm._v(" " + _vm._s(_vm.messFold ? _vm.$t("roamIndex.Collpase") : _vm.$t("roamIndex.More")) + " ")]), _c('i', {
54388
+ class: ['view-more-icon', _vm.messFold ? 'el-icon-arrow-up' : 'el-icon-arrow-down']
54389
+ })])])] : _vm._e()], 2)]);
54390
+ };
54391
+ var staticRenderFns = [];
54392
+
54393
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
54394
+ var baseComp = __webpack_require__(5298);
54395
+ ;// ./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
54396
+
54397
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
54398
+ name: "cms-image-group",
54399
+ components: {
54400
+ BaseComp: baseComp["default"]
54401
+ },
54402
+ props: {
54403
+ data: {
54404
+ type: Object,
54405
+ default: () => {
54406
+ return {};
54407
+ }
54408
+ },
54409
+ nowCompId: {
54410
+ type: [String, Number],
54411
+ default: ""
54412
+ },
54413
+ isOpcacity: {
54414
+ type: Boolean,
54415
+ default: true
54416
+ },
54417
+ lang: {
54418
+ type: String,
54419
+ default: "zh-HK"
54420
+ }
54421
+ },
54422
+ data() {
54423
+ return {
54424
+ configData: {},
54425
+ messFold: false,
54426
+ // 默认配置数据
54427
+ isShowPannel: false
54428
+ };
54429
+ },
54430
+ mounted() {},
54431
+ watch: {
54432
+ configData: {
54433
+ handler() {
54434
+ this.updateStyles();
54435
+ },
54436
+ deep: true
54437
+ }
54438
+ },
54439
+ computed: {
54440
+ showVideoList() {
54441
+ if (this.isShowPannel && !this.messFold) return this.data.childList.slice(0, this.configData.colNums * this.configData.defaultCol);
54442
+ return this.data.childList;
54443
+ },
54444
+ isConfigPage() {
54445
+ return this.$EventBus && this.isOpcacity;
54446
+ }
54447
+ },
54448
+ methods: {
54449
+ // 获取配置数据
54450
+ getConfigData(configData) {
54451
+ this.configData = {
54452
+ ...this.defaultConfig,
54453
+ ...configData
54454
+ };
54455
+ this.updateStyles();
54456
+ this.isShowPannel = this.configData.colNums * this.configData.defaultCol < this.data.childList.length;
54457
+ },
54458
+ // 更新样式
54459
+ updateStyles() {
54460
+ this.$nextTick(() => {
54461
+ // 触发样式更新
54462
+ this.$forceUpdate();
54463
+ });
54464
+ },
54465
+ // 折叠/展开文本
54466
+ foldMessText() {
54467
+ this.messFold = !this.messFold;
54468
+ }
54469
+ }
54470
+ });
54471
+ ;// ./package/cms-image-group/View.vue?vue&type=script&lang=js
54472
+ /* harmony default export */ var cms_image_group_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
54473
+ ;// ./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
54474
+ // extracted by mini-css-extract-plugin
54475
+
54476
+ ;// ./package/cms-image-group/View.vue?vue&type=style&index=0&id=7cb50abc&prod&lang=scss&scoped=true
54477
+
54478
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
54479
+ var componentNormalizer = __webpack_require__(1656);
54480
+ ;// ./package/cms-image-group/View.vue
54481
+
54482
+
54483
+
54484
+ ;
54485
+
54486
+
54487
+ /* normalize component */
54488
+
54489
+ var component = (0,componentNormalizer/* default */.A)(
54490
+ cms_image_group_Viewvue_type_script_lang_js,
54491
+ render,
54492
+ staticRenderFns,
54493
+ false,
54494
+ null,
54495
+ "7cb50abc",
54496
+ null
54497
+
54498
+ )
54499
+
54500
+ /* harmony default export */ var View = (component.exports);
54501
+
54502
+ /***/ }),
54503
+
53580
54504
  /***/ 9387:
53581
54505
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
53582
54506
 
@@ -53850,7 +54774,7 @@ var render = function render() {
53850
54774
  var staticRenderFns = [];
53851
54775
 
53852
54776
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
53853
- var baseComp = __webpack_require__(6228);
54777
+ var baseComp = __webpack_require__(5298);
53854
54778
  ;// ./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
54779
 
53856
54780
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -54755,7 +55679,7 @@ var render = function render() {
54755
55679
  var staticRenderFns = [];
54756
55680
 
54757
55681
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
54758
- var baseComp = __webpack_require__(6228);
55682
+ var baseComp = __webpack_require__(5298);
54759
55683
  ;// ./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
55684
 
54761
55685
  /* harmony default export */ var Viewvue_type_script_lang_js = ({
@@ -54985,7 +55909,7 @@ var es_iterator_for_each = __webpack_require__(7588);
54985
55909
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
54986
55910
  var es_iterator_map = __webpack_require__(1701);
54987
55911
  // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
54988
- var baseComp = __webpack_require__(6228);
55912
+ var baseComp = __webpack_require__(5298);
54989
55913
  ;// ./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
55914
 
54991
55915
 
@@ -55224,276 +56148,6 @@ __webpack_require__(6368);
55224
56148
  __webpack_require__(9309);
55225
56149
 
55226
56150
 
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__(6228);
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
56151
  /***/ }),
55498
56152
 
55499
56153
  /***/ 9928: