cms-chenhj-ui 2.0.27 → 2.0.29
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.
- package/cms-chenhj-ui.common.js +1356 -791
- package/cms-chenhj-ui.common.js.map +1 -1
- package/cms-chenhj-ui.css +1 -1
- package/cms-chenhj-ui.umd.js +1356 -791
- package/cms-chenhj-ui.umd.js.map +1 -1
- package/cms-chenhj-ui.umd.min.js +3 -3
- package/cms-chenhj-ui.umd.min.js.map +1 -1
- package/package.json +1 -1
package/cms-chenhj-ui.common.js
CHANGED
|
@@ -10671,13 +10671,13 @@ var map = {
|
|
|
10671
10671
|
"./cms-column": 3923,
|
|
10672
10672
|
"./cms-column-card": 5340,
|
|
10673
10673
|
"./cms-column-card/": 5340,
|
|
10674
|
-
"./cms-column-card/View":
|
|
10675
|
-
"./cms-column-card/View.vue":
|
|
10674
|
+
"./cms-column-card/View": 7058,
|
|
10675
|
+
"./cms-column-card/View.vue": 7058,
|
|
10676
10676
|
"./cms-column-card/index": 5340,
|
|
10677
10677
|
"./cms-column-card/index.js": 5340,
|
|
10678
10678
|
"./cms-column/": 3923,
|
|
10679
|
-
"./cms-column/View":
|
|
10680
|
-
"./cms-column/View.vue":
|
|
10679
|
+
"./cms-column/View": 7855,
|
|
10680
|
+
"./cms-column/View.vue": 7855,
|
|
10681
10681
|
"./cms-column/index": 3923,
|
|
10682
10682
|
"./cms-column/index.js": 3923,
|
|
10683
10683
|
"./cms-description": 1921,
|
|
@@ -10787,6 +10787,12 @@ var map = {
|
|
|
10787
10787
|
"./cms-servePlan-text/View.vue": 9487,
|
|
10788
10788
|
"./cms-servePlan-text/index": 6501,
|
|
10789
10789
|
"./cms-servePlan-text/index.js": 6501,
|
|
10790
|
+
"./cms-tab": 8892,
|
|
10791
|
+
"./cms-tab/": 8892,
|
|
10792
|
+
"./cms-tab/View": 9251,
|
|
10793
|
+
"./cms-tab/View.vue": 9251,
|
|
10794
|
+
"./cms-tab/index": 8892,
|
|
10795
|
+
"./cms-tab/index.js": 8892,
|
|
10790
10796
|
"./cms-termsAndConditions": 9387,
|
|
10791
10797
|
"./cms-termsAndConditions/": 9387,
|
|
10792
10798
|
"./cms-termsAndConditions/View": 8073,
|
|
@@ -13342,524 +13348,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
13342
13348
|
|
|
13343
13349
|
/***/ }),
|
|
13344
13350
|
|
|
13345
|
-
/***/ 2328:
|
|
13346
|
-
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
13347
|
-
|
|
13348
|
-
"use strict";
|
|
13349
|
-
// ESM COMPAT FLAG
|
|
13350
|
-
__webpack_require__.r(__webpack_exports__);
|
|
13351
|
-
|
|
13352
|
-
// EXPORTS
|
|
13353
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
13354
|
-
"default": function() { return /* binding */ View; }
|
|
13355
|
-
});
|
|
13356
|
-
|
|
13357
|
-
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
|
|
13358
|
-
var es_iterator_constructor = __webpack_require__(8111);
|
|
13359
|
-
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
|
|
13360
|
-
var es_iterator_drop = __webpack_require__(9314);
|
|
13361
|
-
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=template&id=2dcb9de2&scoped=true
|
|
13362
|
-
|
|
13363
|
-
|
|
13364
|
-
|
|
13365
|
-
|
|
13366
|
-
var render = function render() {
|
|
13367
|
-
var _vm = this,
|
|
13368
|
-
_c = _vm._self._c;
|
|
13369
|
-
return _c('BaseComp', _vm._b({
|
|
13370
|
-
attrs: {
|
|
13371
|
-
"data": _vm.data,
|
|
13372
|
-
"nowCompId": _vm.nowCompId,
|
|
13373
|
-
"isOpcacity": _vm.isOpcacity,
|
|
13374
|
-
"isMask": false,
|
|
13375
|
-
"lang": _vm.lang,
|
|
13376
|
-
"showDel": false
|
|
13377
|
-
},
|
|
13378
|
-
on: {
|
|
13379
|
-
"getConfigData": _vm.getConfigData
|
|
13380
|
-
}
|
|
13381
|
-
}, 'BaseComp', _vm.$attrs, false), [_vm.isConfigPage ? _c('div', {
|
|
13382
|
-
staticClass: "main_drag hoverBorderClass",
|
|
13383
|
-
style: _vm.cardContainerStyle,
|
|
13384
|
-
attrs: {
|
|
13385
|
-
"id": `cardTarget${_vm.data.componentId}`
|
|
13386
|
-
},
|
|
13387
|
-
on: {
|
|
13388
|
-
"dragover": _vm.dragover,
|
|
13389
|
-
"dragend": function ($event) {
|
|
13390
|
-
_vm.showAddCom = false;
|
|
13391
|
-
},
|
|
13392
|
-
"drop": _vm.drop
|
|
13393
|
-
}
|
|
13394
|
-
}, [_c('Draggable', {
|
|
13395
|
-
staticStyle: {
|
|
13396
|
-
"position": "relative"
|
|
13397
|
-
},
|
|
13398
|
-
attrs: {
|
|
13399
|
-
"group": _vm.groupConfigForMain,
|
|
13400
|
-
"chosen-class": "chosen",
|
|
13401
|
-
"force-fallback": "true",
|
|
13402
|
-
"animation": "1000",
|
|
13403
|
-
"move": _vm.onMove
|
|
13404
|
-
},
|
|
13405
|
-
on: {
|
|
13406
|
-
"start": _vm.onStart,
|
|
13407
|
-
"end": function ($event) {
|
|
13408
|
-
_vm.showAddCom = false;
|
|
13409
|
-
}
|
|
13410
|
-
},
|
|
13411
|
-
model: {
|
|
13412
|
-
value: _vm.data.childList,
|
|
13413
|
-
callback: function ($$v) {
|
|
13414
|
-
_vm.$set(_vm.data, "childList", $$v);
|
|
13415
|
-
},
|
|
13416
|
-
expression: "data.childList"
|
|
13417
|
-
}
|
|
13418
|
-
}, [_vm._l(_vm.data.childList, function (item, index) {
|
|
13419
|
-
return _c('div', {
|
|
13420
|
-
key: item.componentId,
|
|
13421
|
-
staticStyle: {
|
|
13422
|
-
"position": "relative"
|
|
13423
|
-
}
|
|
13424
|
-
}, [_vm.showAddCom ? _c('div', {
|
|
13425
|
-
staticClass: "up_insert",
|
|
13426
|
-
attrs: {
|
|
13427
|
-
"id": `${item.componentId}-cardTargetup`
|
|
13428
|
-
}
|
|
13429
|
-
}, [_c('i', {
|
|
13430
|
-
staticClass: "icon-up",
|
|
13431
|
-
attrs: {
|
|
13432
|
-
"id": `${item.componentId}-upi`
|
|
13433
|
-
}
|
|
13434
|
-
}), _c('span', {
|
|
13435
|
-
attrs: {
|
|
13436
|
-
"id": `${item.componentId}-upspan`
|
|
13437
|
-
}
|
|
13438
|
-
}, [_vm._v("插入组件")])]) : _vm._e(), _c(item.cmsCompName, {
|
|
13439
|
-
tag: "component",
|
|
13440
|
-
style: {
|
|
13441
|
-
marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
|
|
13442
|
-
},
|
|
13443
|
-
attrs: {
|
|
13444
|
-
"data": item,
|
|
13445
|
-
"lang": _vm.lang,
|
|
13446
|
-
"isOpcacity": _vm.isOpcacity,
|
|
13447
|
-
"nowCompId": _vm.nowCompId
|
|
13448
|
-
}
|
|
13449
|
-
})], 1);
|
|
13450
|
-
}), _vm.showAddCom ? _c('div', {
|
|
13451
|
-
staticClass: "up_insert insert_bottom",
|
|
13452
|
-
style: {
|
|
13453
|
-
bottom: _vm.data.childList.length ? '0px' : '-24px'
|
|
13454
|
-
},
|
|
13455
|
-
attrs: {
|
|
13456
|
-
"id": `-cardTargetdown`
|
|
13457
|
-
}
|
|
13458
|
-
}, [_c('i', {
|
|
13459
|
-
staticClass: "icon-up"
|
|
13460
|
-
}), _c('span', [_vm._v("插入组件")])]) : _vm._e()], 2)], 1) : _c('cms-view', _vm._b({
|
|
13461
|
-
style: _vm.cardContainerStyle,
|
|
13462
|
-
attrs: {
|
|
13463
|
-
"data": _vm.data.childList,
|
|
13464
|
-
"lang": _vm.lang,
|
|
13465
|
-
"isOpcacity": false
|
|
13466
|
-
}
|
|
13467
|
-
}, 'cms-view', _vm.$attrs, false))], 1);
|
|
13468
|
-
};
|
|
13469
|
-
var staticRenderFns = [];
|
|
13470
|
-
|
|
13471
|
-
;// ./package/cms-column-card/View.vue?vue&type=template&id=2dcb9de2&scoped=true
|
|
13472
|
-
|
|
13473
|
-
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
13474
|
-
var es_array_push = __webpack_require__(4114);
|
|
13475
|
-
// EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
|
|
13476
|
-
var baseComp = __webpack_require__(4128);
|
|
13477
|
-
// EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
|
|
13478
|
-
var vuedraggable_umd = __webpack_require__(1527);
|
|
13479
|
-
var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
|
|
13480
|
-
// EXTERNAL MODULE: ./package/baseConfig.js
|
|
13481
|
-
var baseConfig = __webpack_require__(649);
|
|
13482
|
-
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
|
|
13483
|
-
var es_iterator_find = __webpack_require__(116);
|
|
13484
|
-
// EXTERNAL MODULE: ./src/utils/index.js
|
|
13485
|
-
var utils = __webpack_require__(1996);
|
|
13486
|
-
;// ./src/views/standard_page.js
|
|
13487
|
-
|
|
13488
|
-
|
|
13489
|
-
|
|
13490
|
-
|
|
13491
|
-
|
|
13492
|
-
const standard_page_list = [{
|
|
13493
|
-
id: 1,
|
|
13494
|
-
componentId: 1,
|
|
13495
|
-
componentName: "范本1-防诈骗提示",
|
|
13496
|
-
standList: ["cms-banner", "cms-titleCenter", "cms-lineThree"]
|
|
13497
|
-
}, {
|
|
13498
|
-
id: 2,
|
|
13499
|
-
componentId: 2,
|
|
13500
|
-
componentName: "范本2-员工优惠",
|
|
13501
|
-
standList: ["cms-banner", "cms-description", "cms-activityCountdown", "cms-titleLeft", "cms-proCard", "cms-termsAndConditions"]
|
|
13502
|
-
}];
|
|
13503
|
-
const getComponentKey = (compList, id, noCompId = false) => {
|
|
13504
|
-
if (noCompId) return id;
|
|
13505
|
-
let compConfig = compList.find(item => item.id == id);
|
|
13506
|
-
if (compConfig.type == "1") {
|
|
13507
|
-
return compConfig.componentId;
|
|
13508
|
-
}
|
|
13509
|
-
return "cms-dynamic-comp";
|
|
13510
|
-
};
|
|
13511
|
-
const getCopyTemplateCompConfig = (compList, componentKey) => {
|
|
13512
|
-
let otherConfig = {};
|
|
13513
|
-
const configureJson = compList.find(item => item.id == componentKey).configureJson;
|
|
13514
|
-
if (configureJson.wujieConfig) {
|
|
13515
|
-
//如果是第三方组件加一个临时标识
|
|
13516
|
-
otherConfig = {
|
|
13517
|
-
originalComponentId: configureJson.componentId,
|
|
13518
|
-
originalVersionId: configureJson.wujieConfig.versionId,
|
|
13519
|
-
operation: "copyTemplate"
|
|
13520
|
-
};
|
|
13521
|
-
}
|
|
13522
|
-
return {
|
|
13523
|
-
...configureJson,
|
|
13524
|
-
componentId: (0,utils/* getUuidCode */.J0)(32),
|
|
13525
|
-
...otherConfig
|
|
13526
|
-
};
|
|
13527
|
-
};
|
|
13528
|
-
const isStaticComp = componentKey => {
|
|
13529
|
-
return ["cms-header", "cms-footer", "cms-breadCrumb"].includes(componentKey);
|
|
13530
|
-
};
|
|
13531
|
-
const getWujieCompInfo = (compList, componentId, isTemplate) => {
|
|
13532
|
-
let compConfig = compList.find(item => item.id == componentId);
|
|
13533
|
-
if (isTemplate) if (compConfig.type == "1") {
|
|
13534
|
-
return compConfig;
|
|
13535
|
-
}
|
|
13536
|
-
return {
|
|
13537
|
-
...compConfig
|
|
13538
|
-
};
|
|
13539
|
-
};
|
|
13540
|
-
;// ./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
|
|
13541
|
-
|
|
13542
|
-
|
|
13543
|
-
|
|
13544
|
-
|
|
13545
|
-
|
|
13546
|
-
|
|
13547
|
-
/* harmony default export */ var Viewvue_type_script_lang_js = ({
|
|
13548
|
-
name: "cms-column-card",
|
|
13549
|
-
components: {
|
|
13550
|
-
BaseComp: baseComp["default"],
|
|
13551
|
-
Draggable: (vuedraggable_umd_default())
|
|
13552
|
-
},
|
|
13553
|
-
props: {
|
|
13554
|
-
data: {
|
|
13555
|
-
type: Object,
|
|
13556
|
-
default: () => {
|
|
13557
|
-
return {};
|
|
13558
|
-
}
|
|
13559
|
-
},
|
|
13560
|
-
nowCompId: {
|
|
13561
|
-
type: [String, Number],
|
|
13562
|
-
default: ""
|
|
13563
|
-
},
|
|
13564
|
-
isOpcacity: {
|
|
13565
|
-
type: Boolean,
|
|
13566
|
-
default: true
|
|
13567
|
-
},
|
|
13568
|
-
lang: {
|
|
13569
|
-
type: String,
|
|
13570
|
-
default: "zh-HK"
|
|
13571
|
-
},
|
|
13572
|
-
isMobile: {
|
|
13573
|
-
type: Boolean,
|
|
13574
|
-
default: false
|
|
13575
|
-
},
|
|
13576
|
-
mobileLayout: {
|
|
13577
|
-
type: String,
|
|
13578
|
-
default: ""
|
|
13579
|
-
}
|
|
13580
|
-
},
|
|
13581
|
-
data() {
|
|
13582
|
-
return {
|
|
13583
|
-
configData: {},
|
|
13584
|
-
messFold: true,
|
|
13585
|
-
showAddCom: false,
|
|
13586
|
-
temporaryList: []
|
|
13587
|
-
};
|
|
13588
|
-
},
|
|
13589
|
-
computed: {
|
|
13590
|
-
isConfigPage() {
|
|
13591
|
-
return this.$EventBus && this.isOpcacity;
|
|
13592
|
-
},
|
|
13593
|
-
groupConfigForMain() {
|
|
13594
|
-
return {
|
|
13595
|
-
name: "task",
|
|
13596
|
-
pull: true,
|
|
13597
|
-
// A列表的元素可以被拖出
|
|
13598
|
-
put: (to, from, dragEl) => {
|
|
13599
|
-
console.log(from.el.classList);
|
|
13600
|
-
if (from.el.classList.contains("main_drag")) {
|
|
13601
|
-
const dataId = this.findFirstComponentKey(dragEl);
|
|
13602
|
-
const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column"];
|
|
13603
|
-
console.log("allowedComponents", dataId);
|
|
13604
|
-
if (dataId === "cms-column") {
|
|
13605
|
-
if (!this.checkColumnNestingLevel()) {
|
|
13606
|
-
console.log("cms-column 嵌套层级超出限制");
|
|
13607
|
-
return false;
|
|
13608
|
-
}
|
|
13609
|
-
}
|
|
13610
|
-
return allowedComponents.includes(dataId);
|
|
13611
|
-
}
|
|
13612
|
-
return true;
|
|
13613
|
-
}
|
|
13614
|
-
};
|
|
13615
|
-
},
|
|
13616
|
-
// 卡片容器样式
|
|
13617
|
-
cardContainerStyle() {
|
|
13618
|
-
return {
|
|
13619
|
-
backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : "none",
|
|
13620
|
-
backgroundSize: "cover",
|
|
13621
|
-
backgroundRepeat: "no-repeat",
|
|
13622
|
-
backgroundPosition: "center center",
|
|
13623
|
-
height: this.getContainerHeight(),
|
|
13624
|
-
border: this.getContainerBorder(),
|
|
13625
|
-
borderRadius: this.getContainerBorderRadius(),
|
|
13626
|
-
backgroundColor: this.configData.backgroundColor || "transparent",
|
|
13627
|
-
boxShadow: this.configData.boxShadow || "none"
|
|
13628
|
-
};
|
|
13629
|
-
}
|
|
13630
|
-
},
|
|
13631
|
-
mounted() {
|
|
13632
|
-
if (this.$EventBus) {
|
|
13633
|
-
this.$EventBus.$on("handleDragEnd", () => {
|
|
13634
|
-
this.showAddCom = false;
|
|
13635
|
-
});
|
|
13636
|
-
}
|
|
13637
|
-
},
|
|
13638
|
-
watch: {},
|
|
13639
|
-
methods: {
|
|
13640
|
-
findFirstComponentKey(root) {
|
|
13641
|
-
var _root$querySelector;
|
|
13642
|
-
if (!root) return null;
|
|
13643
|
-
|
|
13644
|
-
// 若起点自身就有
|
|
13645
|
-
if (root.nodeType === 1 && root.hasAttribute("component-key")) {
|
|
13646
|
-
return root.getAttribute("component-key");
|
|
13647
|
-
}
|
|
13648
|
-
|
|
13649
|
-
// 向下查找第一个匹配的后代
|
|
13650
|
-
const el = (_root$querySelector = root.querySelector) === null || _root$querySelector === void 0 ? void 0 : _root$querySelector.call(root, "[component-key]");
|
|
13651
|
-
return el ? el.getAttribute("component-key") : null;
|
|
13652
|
-
},
|
|
13653
|
-
// 获取容器高度
|
|
13654
|
-
getContainerHeight() {
|
|
13655
|
-
if (this.configData.heightType === "fixed") {
|
|
13656
|
-
return `${this.configData.fixedHeight}px`;
|
|
13657
|
-
}
|
|
13658
|
-
return this.isMobile && this.mobileLayout == "vertical" ? "auto" : "100%";
|
|
13659
|
-
},
|
|
13660
|
-
// 获取容器边框
|
|
13661
|
-
getContainerBorder() {
|
|
13662
|
-
if (this.configData.borderWidth) {
|
|
13663
|
-
return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
|
|
13664
|
-
}
|
|
13665
|
-
return "none";
|
|
13666
|
-
},
|
|
13667
|
-
// 获取容器圆角
|
|
13668
|
-
getContainerBorderRadius() {
|
|
13669
|
-
if (this.configData.borderRadius) {
|
|
13670
|
-
return `${this.configData.borderRadius}px`;
|
|
13671
|
-
}
|
|
13672
|
-
return "0";
|
|
13673
|
-
},
|
|
13674
|
-
getConfigData(configData) {
|
|
13675
|
-
this.configData = configData;
|
|
13676
|
-
},
|
|
13677
|
-
foldMessText() {
|
|
13678
|
-
this.messFold = !this.messFold;
|
|
13679
|
-
},
|
|
13680
|
-
decodeJumpUrl(url) {
|
|
13681
|
-
if (!url) return;
|
|
13682
|
-
top.location.href = url;
|
|
13683
|
-
},
|
|
13684
|
-
onStart(evt) {
|
|
13685
|
-
console.log("drag start in column-card", evt);
|
|
13686
|
-
this.showAddCom = true;
|
|
13687
|
-
},
|
|
13688
|
-
// 限制拖拽的组件类型
|
|
13689
|
-
onMove(evt) {
|
|
13690
|
-
const {
|
|
13691
|
-
draggedContext
|
|
13692
|
-
} = evt;
|
|
13693
|
-
|
|
13694
|
-
// 允许的组件类型
|
|
13695
|
-
const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
|
|
13696
|
-
];
|
|
13697
|
-
|
|
13698
|
-
// 如果是从外部拖入的组件
|
|
13699
|
-
if (draggedContext && draggedContext.element) {
|
|
13700
|
-
const componentType = draggedContext.element.cmsCompName;
|
|
13701
|
-
if (componentType && !allowedComponents.includes(componentType)) {
|
|
13702
|
-
console.log("draggedContext.element", draggedContext.element);
|
|
13703
|
-
console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
|
|
13704
|
-
return false;
|
|
13705
|
-
}
|
|
13706
|
-
|
|
13707
|
-
// 特殊处理 cms-column:检查嵌套层级
|
|
13708
|
-
if (componentType === "cms-column") {
|
|
13709
|
-
if (!this.checkColumnNestingLevel()) {
|
|
13710
|
-
console.log("cms-column 嵌套层级超出限制");
|
|
13711
|
-
return false;
|
|
13712
|
-
}
|
|
13713
|
-
}
|
|
13714
|
-
}
|
|
13715
|
-
return true;
|
|
13716
|
-
},
|
|
13717
|
-
// 检查 cms-column 嵌套层级
|
|
13718
|
-
checkColumnNestingLevel() {
|
|
13719
|
-
// 检查当前 column-card 是否已经在 cms-column 内部
|
|
13720
|
-
let parent = this.$parent;
|
|
13721
|
-
let columnDepth = 0;
|
|
13722
|
-
while (parent) {
|
|
13723
|
-
// 检查父组件是否是 cms-column 或包含 cms-column
|
|
13724
|
-
if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
|
|
13725
|
-
columnDepth++;
|
|
13726
|
-
}
|
|
13727
|
-
|
|
13728
|
-
// 如果已经有一层 cms-column,则不允许再嵌套
|
|
13729
|
-
if (columnDepth >= 2) {
|
|
13730
|
-
console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
|
|
13731
|
-
return false;
|
|
13732
|
-
}
|
|
13733
|
-
parent = parent.$parent;
|
|
13734
|
-
}
|
|
13735
|
-
console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
|
|
13736
|
-
return true;
|
|
13737
|
-
},
|
|
13738
|
-
// 处理拖拽悬停
|
|
13739
|
-
dragover(e) {
|
|
13740
|
-
e.preventDefault();
|
|
13741
|
-
this.showAddCom = true;
|
|
13742
|
-
},
|
|
13743
|
-
// 处理拖拽放置
|
|
13744
|
-
drop(e) {
|
|
13745
|
-
e.preventDefault();
|
|
13746
|
-
const componentKey = e.dataTransfer.getData("componentKey");
|
|
13747
|
-
let temporaryId = "";
|
|
13748
|
-
this.temporaryList = e.dataTransfer.getData("temporaryList") ? JSON.parse(e.dataTransfer.getData("temporaryList")) : [];
|
|
13749
|
-
console.log("cms-colum-card-drop", componentKey, this.temporaryList);
|
|
13750
|
-
if (!componentKey) return;
|
|
13751
|
-
const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
|
|
13752
|
-
const isTemporary = isTemporaryItem === "true";
|
|
13753
|
-
if (isTemporary) {
|
|
13754
|
-
temporaryId = getCopyTemplateCompConfig(this.temporaryList, componentKey).cmsCompName;
|
|
13755
|
-
}
|
|
13756
|
-
const componentType = isTemporary ? temporaryId : componentKey;
|
|
13757
|
-
// 允许的组件类型
|
|
13758
|
-
const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
|
|
13759
|
-
];
|
|
13760
|
-
|
|
13761
|
-
// 检查组件类型是否允许
|
|
13762
|
-
if (!allowedComponents.includes(componentType)) {
|
|
13763
|
-
console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
|
|
13764
|
-
this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
|
|
13765
|
-
this.showAddCom = false;
|
|
13766
|
-
return;
|
|
13767
|
-
}
|
|
13768
|
-
|
|
13769
|
-
// 特殊处理 cms-column:检查嵌套层级
|
|
13770
|
-
if (componentType === "cms-column") {
|
|
13771
|
-
if (!this.checkColumnNestingLevel()) {
|
|
13772
|
-
console.log("cms-column 嵌套层级超出限制");
|
|
13773
|
-
this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
|
|
13774
|
-
this.showAddCom = false;
|
|
13775
|
-
return;
|
|
13776
|
-
}
|
|
13777
|
-
}
|
|
13778
|
-
this.addOneComp(e, componentKey);
|
|
13779
|
-
},
|
|
13780
|
-
// 添加组件到卡片容器
|
|
13781
|
-
addOneComp(e, componentKey) {
|
|
13782
|
-
this.showAddCom = false;
|
|
13783
|
-
console.log("drop to column-card", componentKey);
|
|
13784
|
-
|
|
13785
|
-
// 动态导入组件配置
|
|
13786
|
-
let initCompData;
|
|
13787
|
-
try {
|
|
13788
|
-
const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
|
|
13789
|
-
const isTemporary = isTemporaryItem === "true";
|
|
13790
|
-
if (isTemporary) {
|
|
13791
|
-
initCompData = getCopyTemplateCompConfig(this.temporaryList, componentKey);
|
|
13792
|
-
} else {
|
|
13793
|
-
initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
|
|
13794
|
-
}
|
|
13795
|
-
if (!isTemporary) {
|
|
13796
|
-
initCompData = {
|
|
13797
|
-
...initCompData,
|
|
13798
|
-
styleConfig: {
|
|
13799
|
-
pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
|
|
13800
|
-
mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
|
|
13801
|
-
}
|
|
13802
|
-
};
|
|
13803
|
-
}
|
|
13804
|
-
} catch (error) {
|
|
13805
|
-
console.error(`无法加载组件 ${componentKey}:`, error);
|
|
13806
|
-
this.$message && this.$message.error(`组件加载失败`);
|
|
13807
|
-
return;
|
|
13808
|
-
}
|
|
13809
|
-
const toElementId = e.toElement.id;
|
|
13810
|
-
if (toElementId === `cardTarget${this.data.componentId}` || toElementId.includes("cardTargetdown")) {
|
|
13811
|
-
// 添加到卡片容器末尾
|
|
13812
|
-
this.data.childList.push(initCompData);
|
|
13813
|
-
} else if (toElementId.includes("cardTargetup")) {
|
|
13814
|
-
// 插入到指定位置
|
|
13815
|
-
const underComponentId = toElementId.split("-cardTargetup")[0];
|
|
13816
|
-
const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
|
|
13817
|
-
if (index !== -1) {
|
|
13818
|
-
this.data.childList.splice(index, 0, initCompData);
|
|
13819
|
-
}
|
|
13820
|
-
}
|
|
13821
|
-
|
|
13822
|
-
// 触发数据更新
|
|
13823
|
-
this.$emit("update:data", this.data);
|
|
13824
|
-
if (componentKey === "cms-column") {
|
|
13825
|
-
this.$EventBus.$emit("handleNowComp", initCompData);
|
|
13826
|
-
}
|
|
13827
|
-
}
|
|
13828
|
-
}
|
|
13829
|
-
});
|
|
13830
|
-
;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
|
|
13831
|
-
/* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
|
|
13832
|
-
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=style&index=0&id=2dcb9de2&prod&lang=scss&scoped=true
|
|
13833
|
-
// extracted by mini-css-extract-plugin
|
|
13834
|
-
|
|
13835
|
-
;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=2dcb9de2&prod&lang=scss&scoped=true
|
|
13836
|
-
|
|
13837
|
-
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
13838
|
-
var componentNormalizer = __webpack_require__(1656);
|
|
13839
|
-
;// ./package/cms-column-card/View.vue
|
|
13840
|
-
|
|
13841
|
-
|
|
13842
|
-
|
|
13843
|
-
;
|
|
13844
|
-
|
|
13845
|
-
|
|
13846
|
-
/* normalize component */
|
|
13847
|
-
|
|
13848
|
-
var component = (0,componentNormalizer/* default */.A)(
|
|
13849
|
-
cms_column_card_Viewvue_type_script_lang_js,
|
|
13850
|
-
render,
|
|
13851
|
-
staticRenderFns,
|
|
13852
|
-
false,
|
|
13853
|
-
null,
|
|
13854
|
-
"2dcb9de2",
|
|
13855
|
-
null
|
|
13856
|
-
|
|
13857
|
-
)
|
|
13858
|
-
|
|
13859
|
-
/* harmony default export */ var View = (component.exports);
|
|
13860
|
-
|
|
13861
|
-
/***/ }),
|
|
13862
|
-
|
|
13863
13351
|
/***/ 2358:
|
|
13864
13352
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
13865
13353
|
|
|
@@ -28160,7 +27648,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
28160
27648
|
__webpack_require__.r(__webpack_exports__);
|
|
28161
27649
|
/* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
|
|
28162
27650
|
|
|
28163
|
-
const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__,
|
|
27651
|
+
const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 7855));
|
|
28164
27652
|
const langData = {
|
|
28165
27653
|
// 布局配置
|
|
28166
27654
|
layoutType: "100",
|
|
@@ -40435,8 +39923,8 @@ var map = {
|
|
|
40435
39923
|
"./cms-banner/View.vue": 6815,
|
|
40436
39924
|
"./cms-button/View.vue": 2404,
|
|
40437
39925
|
"./cms-cells/View.vue": 5700,
|
|
40438
|
-
"./cms-column-card/View.vue":
|
|
40439
|
-
"./cms-column/View.vue":
|
|
39926
|
+
"./cms-column-card/View.vue": 7058,
|
|
39927
|
+
"./cms-column/View.vue": 7855,
|
|
40440
39928
|
"./cms-description/View.vue": 3203,
|
|
40441
39929
|
"./cms-dynamic-comp/View.vue": 2809,
|
|
40442
39930
|
"./cms-iconFour/View.vue": 8235,
|
|
@@ -40454,6 +39942,7 @@ var map = {
|
|
|
40454
39942
|
"./cms-richText/View.vue": 3411,
|
|
40455
39943
|
"./cms-servePlan-tab/View.vue": 8757,
|
|
40456
39944
|
"./cms-servePlan-text/View.vue": 9487,
|
|
39945
|
+
"./cms-tab/View.vue": 9251,
|
|
40457
39946
|
"./cms-termsAndConditions/View.vue": 8073,
|
|
40458
39947
|
"./cms-text/View.vue": 1765,
|
|
40459
39948
|
"./cms-threeScroll/View.vue": 517,
|
|
@@ -40893,7 +40382,7 @@ module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVAAAAEQCAYAAADm
|
|
|
40893
40382
|
__webpack_require__.r(__webpack_exports__);
|
|
40894
40383
|
/* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
|
|
40895
40384
|
|
|
40896
|
-
const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__,
|
|
40385
|
+
const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 7058));
|
|
40897
40386
|
|
|
40898
40387
|
// 默认配置数据
|
|
40899
40388
|
const langData = {
|
|
@@ -52251,6 +51740,468 @@ module.exports = fails(function () {
|
|
|
52251
51740
|
} : $Object;
|
|
52252
51741
|
|
|
52253
51742
|
|
|
51743
|
+
/***/ }),
|
|
51744
|
+
|
|
51745
|
+
/***/ 7058:
|
|
51746
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
51747
|
+
|
|
51748
|
+
"use strict";
|
|
51749
|
+
// ESM COMPAT FLAG
|
|
51750
|
+
__webpack_require__.r(__webpack_exports__);
|
|
51751
|
+
|
|
51752
|
+
// EXPORTS
|
|
51753
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
51754
|
+
"default": function() { return /* binding */ View; }
|
|
51755
|
+
});
|
|
51756
|
+
|
|
51757
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
|
|
51758
|
+
var es_iterator_constructor = __webpack_require__(8111);
|
|
51759
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
|
|
51760
|
+
var es_iterator_drop = __webpack_require__(9314);
|
|
51761
|
+
;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=template&id=2dcb9de2&scoped=true
|
|
51762
|
+
|
|
51763
|
+
|
|
51764
|
+
|
|
51765
|
+
|
|
51766
|
+
var render = function render() {
|
|
51767
|
+
var _vm = this,
|
|
51768
|
+
_c = _vm._self._c;
|
|
51769
|
+
return _c('BaseComp', _vm._b({
|
|
51770
|
+
attrs: {
|
|
51771
|
+
"data": _vm.data,
|
|
51772
|
+
"nowCompId": _vm.nowCompId,
|
|
51773
|
+
"isOpcacity": _vm.isOpcacity,
|
|
51774
|
+
"isMask": false,
|
|
51775
|
+
"lang": _vm.lang,
|
|
51776
|
+
"showDel": false
|
|
51777
|
+
},
|
|
51778
|
+
on: {
|
|
51779
|
+
"getConfigData": _vm.getConfigData
|
|
51780
|
+
}
|
|
51781
|
+
}, 'BaseComp', _vm.$attrs, false), [_vm.isConfigPage ? _c('div', {
|
|
51782
|
+
staticClass: "main_drag hoverBorderClass",
|
|
51783
|
+
style: _vm.cardContainerStyle,
|
|
51784
|
+
attrs: {
|
|
51785
|
+
"id": `cardTarget${_vm.data.componentId}`
|
|
51786
|
+
},
|
|
51787
|
+
on: {
|
|
51788
|
+
"dragover": _vm.dragover,
|
|
51789
|
+
"dragend": function ($event) {
|
|
51790
|
+
_vm.showAddCom = false;
|
|
51791
|
+
},
|
|
51792
|
+
"drop": _vm.drop
|
|
51793
|
+
}
|
|
51794
|
+
}, [_c('Draggable', {
|
|
51795
|
+
staticStyle: {
|
|
51796
|
+
"position": "relative"
|
|
51797
|
+
},
|
|
51798
|
+
attrs: {
|
|
51799
|
+
"group": _vm.groupConfigForMain,
|
|
51800
|
+
"chosen-class": "chosen",
|
|
51801
|
+
"force-fallback": "true",
|
|
51802
|
+
"animation": "1000",
|
|
51803
|
+
"move": _vm.onMove
|
|
51804
|
+
},
|
|
51805
|
+
on: {
|
|
51806
|
+
"start": _vm.onStart,
|
|
51807
|
+
"end": function ($event) {
|
|
51808
|
+
_vm.showAddCom = false;
|
|
51809
|
+
}
|
|
51810
|
+
},
|
|
51811
|
+
model: {
|
|
51812
|
+
value: _vm.data.childList,
|
|
51813
|
+
callback: function ($$v) {
|
|
51814
|
+
_vm.$set(_vm.data, "childList", $$v);
|
|
51815
|
+
},
|
|
51816
|
+
expression: "data.childList"
|
|
51817
|
+
}
|
|
51818
|
+
}, [_vm._l(_vm.data.childList, function (item, index) {
|
|
51819
|
+
return _c('div', {
|
|
51820
|
+
key: item.componentId,
|
|
51821
|
+
staticStyle: {
|
|
51822
|
+
"position": "relative"
|
|
51823
|
+
}
|
|
51824
|
+
}, [_vm.showAddCom ? _c('div', {
|
|
51825
|
+
staticClass: "up_insert",
|
|
51826
|
+
attrs: {
|
|
51827
|
+
"id": `${item.componentId}-cardTargetup`
|
|
51828
|
+
}
|
|
51829
|
+
}, [_c('i', {
|
|
51830
|
+
staticClass: "icon-up",
|
|
51831
|
+
attrs: {
|
|
51832
|
+
"id": `${item.componentId}-upi`
|
|
51833
|
+
}
|
|
51834
|
+
}), _c('span', {
|
|
51835
|
+
attrs: {
|
|
51836
|
+
"id": `${item.componentId}-upspan`
|
|
51837
|
+
}
|
|
51838
|
+
}, [_vm._v("插入组件")])]) : _vm._e(), _c(item.cmsCompName, {
|
|
51839
|
+
tag: "component",
|
|
51840
|
+
style: {
|
|
51841
|
+
marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
|
|
51842
|
+
},
|
|
51843
|
+
attrs: {
|
|
51844
|
+
"data": item,
|
|
51845
|
+
"lang": _vm.lang,
|
|
51846
|
+
"isOpcacity": _vm.isOpcacity,
|
|
51847
|
+
"nowCompId": _vm.nowCompId
|
|
51848
|
+
}
|
|
51849
|
+
})], 1);
|
|
51850
|
+
}), _vm.showAddCom ? _c('div', {
|
|
51851
|
+
staticClass: "up_insert insert_bottom",
|
|
51852
|
+
style: {
|
|
51853
|
+
bottom: _vm.data.childList.length ? '0px' : '-24px'
|
|
51854
|
+
},
|
|
51855
|
+
attrs: {
|
|
51856
|
+
"id": `-cardTargetdown`
|
|
51857
|
+
}
|
|
51858
|
+
}, [_c('i', {
|
|
51859
|
+
staticClass: "icon-up"
|
|
51860
|
+
}), _c('span', [_vm._v("插入组件")])]) : _vm._e()], 2)], 1) : _c('cms-view', _vm._b({
|
|
51861
|
+
style: _vm.cardContainerStyle,
|
|
51862
|
+
attrs: {
|
|
51863
|
+
"data": _vm.data.childList,
|
|
51864
|
+
"lang": _vm.lang,
|
|
51865
|
+
"isOpcacity": false
|
|
51866
|
+
}
|
|
51867
|
+
}, 'cms-view', _vm.$attrs, false))], 1);
|
|
51868
|
+
};
|
|
51869
|
+
var staticRenderFns = [];
|
|
51870
|
+
|
|
51871
|
+
;// ./package/cms-column-card/View.vue?vue&type=template&id=2dcb9de2&scoped=true
|
|
51872
|
+
|
|
51873
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
51874
|
+
var es_array_push = __webpack_require__(4114);
|
|
51875
|
+
// EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
|
|
51876
|
+
var baseComp = __webpack_require__(4128);
|
|
51877
|
+
// EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
|
|
51878
|
+
var vuedraggable_umd = __webpack_require__(1527);
|
|
51879
|
+
var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
|
|
51880
|
+
// EXTERNAL MODULE: ./package/baseConfig.js
|
|
51881
|
+
var baseConfig = __webpack_require__(649);
|
|
51882
|
+
// EXTERNAL MODULE: ./src/views/standard_page.js
|
|
51883
|
+
var standard_page = __webpack_require__(8134);
|
|
51884
|
+
;// ./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
|
|
51885
|
+
|
|
51886
|
+
|
|
51887
|
+
|
|
51888
|
+
|
|
51889
|
+
|
|
51890
|
+
|
|
51891
|
+
/* harmony default export */ var Viewvue_type_script_lang_js = ({
|
|
51892
|
+
name: "cms-column-card",
|
|
51893
|
+
components: {
|
|
51894
|
+
BaseComp: baseComp["default"],
|
|
51895
|
+
Draggable: (vuedraggable_umd_default())
|
|
51896
|
+
},
|
|
51897
|
+
props: {
|
|
51898
|
+
data: {
|
|
51899
|
+
type: Object,
|
|
51900
|
+
default: () => {
|
|
51901
|
+
return {};
|
|
51902
|
+
}
|
|
51903
|
+
},
|
|
51904
|
+
nowCompId: {
|
|
51905
|
+
type: [String, Number],
|
|
51906
|
+
default: ""
|
|
51907
|
+
},
|
|
51908
|
+
isOpcacity: {
|
|
51909
|
+
type: Boolean,
|
|
51910
|
+
default: true
|
|
51911
|
+
},
|
|
51912
|
+
lang: {
|
|
51913
|
+
type: String,
|
|
51914
|
+
default: "zh-HK"
|
|
51915
|
+
},
|
|
51916
|
+
isMobile: {
|
|
51917
|
+
type: Boolean,
|
|
51918
|
+
default: false
|
|
51919
|
+
},
|
|
51920
|
+
mobileLayout: {
|
|
51921
|
+
type: String,
|
|
51922
|
+
default: ""
|
|
51923
|
+
}
|
|
51924
|
+
},
|
|
51925
|
+
data() {
|
|
51926
|
+
return {
|
|
51927
|
+
configData: {},
|
|
51928
|
+
messFold: true,
|
|
51929
|
+
showAddCom: false,
|
|
51930
|
+
temporaryList: []
|
|
51931
|
+
};
|
|
51932
|
+
},
|
|
51933
|
+
computed: {
|
|
51934
|
+
isConfigPage() {
|
|
51935
|
+
return this.$EventBus && this.isOpcacity;
|
|
51936
|
+
},
|
|
51937
|
+
groupConfigForMain() {
|
|
51938
|
+
return {
|
|
51939
|
+
name: "task",
|
|
51940
|
+
pull: true,
|
|
51941
|
+
// A列表的元素可以被拖出
|
|
51942
|
+
put: (to, from, dragEl) => {
|
|
51943
|
+
console.log(from.el.classList);
|
|
51944
|
+
if (from.el.classList.contains("main_drag")) {
|
|
51945
|
+
const dataId = this.findFirstComponentKey(dragEl);
|
|
51946
|
+
const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column"];
|
|
51947
|
+
console.log("allowedComponents", dataId);
|
|
51948
|
+
if (dataId === "cms-column") {
|
|
51949
|
+
if (!this.checkColumnNestingLevel()) {
|
|
51950
|
+
console.log("cms-column 嵌套层级超出限制");
|
|
51951
|
+
return false;
|
|
51952
|
+
}
|
|
51953
|
+
}
|
|
51954
|
+
return allowedComponents.includes(dataId);
|
|
51955
|
+
}
|
|
51956
|
+
return true;
|
|
51957
|
+
}
|
|
51958
|
+
};
|
|
51959
|
+
},
|
|
51960
|
+
// 卡片容器样式
|
|
51961
|
+
cardContainerStyle() {
|
|
51962
|
+
return {
|
|
51963
|
+
backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : "none",
|
|
51964
|
+
backgroundSize: "cover",
|
|
51965
|
+
backgroundRepeat: "no-repeat",
|
|
51966
|
+
backgroundPosition: "center center",
|
|
51967
|
+
height: this.getContainerHeight(),
|
|
51968
|
+
border: this.getContainerBorder(),
|
|
51969
|
+
borderRadius: this.getContainerBorderRadius(),
|
|
51970
|
+
backgroundColor: this.configData.backgroundColor || "transparent",
|
|
51971
|
+
boxShadow: this.configData.boxShadow || "none"
|
|
51972
|
+
};
|
|
51973
|
+
}
|
|
51974
|
+
},
|
|
51975
|
+
mounted() {
|
|
51976
|
+
if (this.$EventBus) {
|
|
51977
|
+
this.$EventBus.$on("handleDragEnd", () => {
|
|
51978
|
+
this.showAddCom = false;
|
|
51979
|
+
});
|
|
51980
|
+
}
|
|
51981
|
+
},
|
|
51982
|
+
watch: {},
|
|
51983
|
+
methods: {
|
|
51984
|
+
findFirstComponentKey(root) {
|
|
51985
|
+
var _root$querySelector;
|
|
51986
|
+
if (!root) return null;
|
|
51987
|
+
|
|
51988
|
+
// 若起点自身就有
|
|
51989
|
+
if (root.nodeType === 1 && root.hasAttribute("component-key")) {
|
|
51990
|
+
return root.getAttribute("component-key");
|
|
51991
|
+
}
|
|
51992
|
+
|
|
51993
|
+
// 向下查找第一个匹配的后代
|
|
51994
|
+
const el = (_root$querySelector = root.querySelector) === null || _root$querySelector === void 0 ? void 0 : _root$querySelector.call(root, "[component-key]");
|
|
51995
|
+
return el ? el.getAttribute("component-key") : null;
|
|
51996
|
+
},
|
|
51997
|
+
// 获取容器高度
|
|
51998
|
+
getContainerHeight() {
|
|
51999
|
+
if (this.configData.heightType === "fixed") {
|
|
52000
|
+
return `${this.configData.fixedHeight}px`;
|
|
52001
|
+
}
|
|
52002
|
+
return this.isMobile && this.mobileLayout == "vertical" ? "auto" : "100%";
|
|
52003
|
+
},
|
|
52004
|
+
// 获取容器边框
|
|
52005
|
+
getContainerBorder() {
|
|
52006
|
+
if (this.configData.borderWidth) {
|
|
52007
|
+
return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
|
|
52008
|
+
}
|
|
52009
|
+
return "none";
|
|
52010
|
+
},
|
|
52011
|
+
// 获取容器圆角
|
|
52012
|
+
getContainerBorderRadius() {
|
|
52013
|
+
if (this.configData.borderRadius) {
|
|
52014
|
+
return `${this.configData.borderRadius}px`;
|
|
52015
|
+
}
|
|
52016
|
+
return "0";
|
|
52017
|
+
},
|
|
52018
|
+
getConfigData(configData) {
|
|
52019
|
+
this.configData = configData;
|
|
52020
|
+
},
|
|
52021
|
+
foldMessText() {
|
|
52022
|
+
this.messFold = !this.messFold;
|
|
52023
|
+
},
|
|
52024
|
+
decodeJumpUrl(url) {
|
|
52025
|
+
if (!url) return;
|
|
52026
|
+
top.location.href = url;
|
|
52027
|
+
},
|
|
52028
|
+
onStart(evt) {
|
|
52029
|
+
console.log("drag start in column-card", evt);
|
|
52030
|
+
this.showAddCom = true;
|
|
52031
|
+
},
|
|
52032
|
+
// 限制拖拽的组件类型
|
|
52033
|
+
onMove(evt) {
|
|
52034
|
+
const {
|
|
52035
|
+
draggedContext
|
|
52036
|
+
} = evt;
|
|
52037
|
+
|
|
52038
|
+
// 允许的组件类型
|
|
52039
|
+
const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
|
|
52040
|
+
];
|
|
52041
|
+
|
|
52042
|
+
// 如果是从外部拖入的组件
|
|
52043
|
+
if (draggedContext && draggedContext.element) {
|
|
52044
|
+
const componentType = draggedContext.element.cmsCompName;
|
|
52045
|
+
if (componentType && !allowedComponents.includes(componentType)) {
|
|
52046
|
+
console.log("draggedContext.element", draggedContext.element);
|
|
52047
|
+
console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
|
|
52048
|
+
return false;
|
|
52049
|
+
}
|
|
52050
|
+
|
|
52051
|
+
// 特殊处理 cms-column:检查嵌套层级
|
|
52052
|
+
if (componentType === "cms-column") {
|
|
52053
|
+
if (!this.checkColumnNestingLevel()) {
|
|
52054
|
+
console.log("cms-column 嵌套层级超出限制");
|
|
52055
|
+
return false;
|
|
52056
|
+
}
|
|
52057
|
+
}
|
|
52058
|
+
}
|
|
52059
|
+
return true;
|
|
52060
|
+
},
|
|
52061
|
+
// 检查 cms-column 嵌套层级
|
|
52062
|
+
checkColumnNestingLevel() {
|
|
52063
|
+
// 检查当前 column-card 是否已经在 cms-column 内部
|
|
52064
|
+
let parent = this.$parent;
|
|
52065
|
+
let columnDepth = 0;
|
|
52066
|
+
while (parent) {
|
|
52067
|
+
// 检查父组件是否是 cms-column 或包含 cms-column
|
|
52068
|
+
if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
|
|
52069
|
+
columnDepth++;
|
|
52070
|
+
}
|
|
52071
|
+
|
|
52072
|
+
// 如果已经有一层 cms-column,则不允许再嵌套
|
|
52073
|
+
if (columnDepth >= 2) {
|
|
52074
|
+
console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
|
|
52075
|
+
return false;
|
|
52076
|
+
}
|
|
52077
|
+
parent = parent.$parent;
|
|
52078
|
+
}
|
|
52079
|
+
console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
|
|
52080
|
+
return true;
|
|
52081
|
+
},
|
|
52082
|
+
// 处理拖拽悬停
|
|
52083
|
+
dragover(e) {
|
|
52084
|
+
e.preventDefault();
|
|
52085
|
+
this.showAddCom = true;
|
|
52086
|
+
},
|
|
52087
|
+
// 处理拖拽放置
|
|
52088
|
+
drop(e) {
|
|
52089
|
+
e.preventDefault();
|
|
52090
|
+
const componentKey = e.dataTransfer.getData("componentKey");
|
|
52091
|
+
let temporaryId = "";
|
|
52092
|
+
this.temporaryList = e.dataTransfer.getData("temporaryList") ? JSON.parse(e.dataTransfer.getData("temporaryList")) : [];
|
|
52093
|
+
console.log("cms-colum-card-drop", componentKey, this.temporaryList);
|
|
52094
|
+
if (!componentKey) return;
|
|
52095
|
+
const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
|
|
52096
|
+
const isTemporary = isTemporaryItem === "true";
|
|
52097
|
+
if (isTemporary) {
|
|
52098
|
+
temporaryId = (0,standard_page/* getCopyTemplateCompConfig */.L7)(this.temporaryList, componentKey).cmsCompName;
|
|
52099
|
+
}
|
|
52100
|
+
const componentType = isTemporary ? temporaryId : componentKey;
|
|
52101
|
+
// 允许的组件类型
|
|
52102
|
+
const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
|
|
52103
|
+
];
|
|
52104
|
+
|
|
52105
|
+
// 检查组件类型是否允许
|
|
52106
|
+
if (!allowedComponents.includes(componentType)) {
|
|
52107
|
+
console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
|
|
52108
|
+
this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
|
|
52109
|
+
this.showAddCom = false;
|
|
52110
|
+
return;
|
|
52111
|
+
}
|
|
52112
|
+
|
|
52113
|
+
// 特殊处理 cms-column:检查嵌套层级
|
|
52114
|
+
if (componentType === "cms-column") {
|
|
52115
|
+
if (!this.checkColumnNestingLevel()) {
|
|
52116
|
+
console.log("cms-column 嵌套层级超出限制");
|
|
52117
|
+
this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
|
|
52118
|
+
this.showAddCom = false;
|
|
52119
|
+
return;
|
|
52120
|
+
}
|
|
52121
|
+
}
|
|
52122
|
+
this.addOneComp(e, componentKey);
|
|
52123
|
+
},
|
|
52124
|
+
// 添加组件到卡片容器
|
|
52125
|
+
addOneComp(e, componentKey) {
|
|
52126
|
+
this.showAddCom = false;
|
|
52127
|
+
console.log("drop to column-card", componentKey);
|
|
52128
|
+
|
|
52129
|
+
// 动态导入组件配置
|
|
52130
|
+
let initCompData;
|
|
52131
|
+
try {
|
|
52132
|
+
const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
|
|
52133
|
+
const isTemporary = isTemporaryItem === "true";
|
|
52134
|
+
if (isTemporary) {
|
|
52135
|
+
initCompData = (0,standard_page/* getCopyTemplateCompConfig */.L7)(this.temporaryList, componentKey);
|
|
52136
|
+
} else {
|
|
52137
|
+
initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
|
|
52138
|
+
}
|
|
52139
|
+
if (!isTemporary) {
|
|
52140
|
+
initCompData = {
|
|
52141
|
+
...initCompData,
|
|
52142
|
+
styleConfig: {
|
|
52143
|
+
pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
|
|
52144
|
+
mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
|
|
52145
|
+
}
|
|
52146
|
+
};
|
|
52147
|
+
}
|
|
52148
|
+
} catch (error) {
|
|
52149
|
+
console.error(`无法加载组件 ${componentKey}:`, error);
|
|
52150
|
+
this.$message && this.$message.error(`组件加载失败`);
|
|
52151
|
+
return;
|
|
52152
|
+
}
|
|
52153
|
+
const toElementId = e.toElement.id;
|
|
52154
|
+
if (toElementId === `cardTarget${this.data.componentId}` || toElementId.includes("cardTargetdown")) {
|
|
52155
|
+
// 添加到卡片容器末尾
|
|
52156
|
+
this.data.childList.push(initCompData);
|
|
52157
|
+
} else if (toElementId.includes("cardTargetup")) {
|
|
52158
|
+
// 插入到指定位置
|
|
52159
|
+
const underComponentId = toElementId.split("-cardTargetup")[0];
|
|
52160
|
+
const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
|
|
52161
|
+
if (index !== -1) {
|
|
52162
|
+
this.data.childList.splice(index, 0, initCompData);
|
|
52163
|
+
}
|
|
52164
|
+
}
|
|
52165
|
+
|
|
52166
|
+
// 触发数据更新
|
|
52167
|
+
this.$emit("update:data", this.data);
|
|
52168
|
+
if (componentKey === "cms-column") {
|
|
52169
|
+
this.$EventBus.$emit("handleNowComp", initCompData);
|
|
52170
|
+
}
|
|
52171
|
+
}
|
|
52172
|
+
}
|
|
52173
|
+
});
|
|
52174
|
+
;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
|
|
52175
|
+
/* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
|
|
52176
|
+
;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column-card/View.vue?vue&type=style&index=0&id=2dcb9de2&prod&lang=scss&scoped=true
|
|
52177
|
+
// extracted by mini-css-extract-plugin
|
|
52178
|
+
|
|
52179
|
+
;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=2dcb9de2&prod&lang=scss&scoped=true
|
|
52180
|
+
|
|
52181
|
+
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
52182
|
+
var componentNormalizer = __webpack_require__(1656);
|
|
52183
|
+
;// ./package/cms-column-card/View.vue
|
|
52184
|
+
|
|
52185
|
+
|
|
52186
|
+
|
|
52187
|
+
;
|
|
52188
|
+
|
|
52189
|
+
|
|
52190
|
+
/* normalize component */
|
|
52191
|
+
|
|
52192
|
+
var component = (0,componentNormalizer/* default */.A)(
|
|
52193
|
+
cms_column_card_Viewvue_type_script_lang_js,
|
|
52194
|
+
render,
|
|
52195
|
+
staticRenderFns,
|
|
52196
|
+
false,
|
|
52197
|
+
null,
|
|
52198
|
+
"2dcb9de2",
|
|
52199
|
+
null
|
|
52200
|
+
|
|
52201
|
+
)
|
|
52202
|
+
|
|
52203
|
+
/* harmony default export */ var View = (component.exports);
|
|
52204
|
+
|
|
52254
52205
|
/***/ }),
|
|
52255
52206
|
|
|
52256
52207
|
/***/ 7063:
|
|
@@ -52692,7 +52643,7 @@ function getShopproGroup(data) {
|
|
|
52692
52643
|
function columnQuery(params) {
|
|
52693
52644
|
return request({
|
|
52694
52645
|
method: "post",
|
|
52695
|
-
url: "/ecosp-console/columnCategory/
|
|
52646
|
+
url: "/ecosp-console/columnCategory/queryByCommodityType",
|
|
52696
52647
|
data: params
|
|
52697
52648
|
});
|
|
52698
52649
|
}
|
|
@@ -52970,270 +52921,6 @@ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
|
|
|
52970
52921
|
});
|
|
52971
52922
|
|
|
52972
52923
|
|
|
52973
|
-
/***/ }),
|
|
52974
|
-
|
|
52975
|
-
/***/ 7651:
|
|
52976
|
-
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
52977
|
-
|
|
52978
|
-
"use strict";
|
|
52979
|
-
// ESM COMPAT FLAG
|
|
52980
|
-
__webpack_require__.r(__webpack_exports__);
|
|
52981
|
-
|
|
52982
|
-
// EXPORTS
|
|
52983
|
-
__webpack_require__.d(__webpack_exports__, {
|
|
52984
|
-
"default": function() { return /* binding */ View; }
|
|
52985
|
-
});
|
|
52986
|
-
|
|
52987
|
-
;// ./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=1402d563&scoped=true
|
|
52988
|
-
var render = function render() {
|
|
52989
|
-
var _vm = this,
|
|
52990
|
-
_c = _vm._self._c;
|
|
52991
|
-
return _c('BaseComp', _vm._b({
|
|
52992
|
-
attrs: {
|
|
52993
|
-
"data": _vm.data,
|
|
52994
|
-
"nowCompId": _vm.nowCompId,
|
|
52995
|
-
"isOpcacity": _vm.isOpcacity,
|
|
52996
|
-
"isMask": false,
|
|
52997
|
-
"lang": _vm.lang
|
|
52998
|
-
},
|
|
52999
|
-
on: {
|
|
53000
|
-
"getConfigData": _vm.getConfigData
|
|
53001
|
-
},
|
|
53002
|
-
scopedSlots: _vm._u([{
|
|
53003
|
-
key: "default",
|
|
53004
|
-
fn: function (slotProps) {
|
|
53005
|
-
return [_c('section', {
|
|
53006
|
-
class: [_vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main', {
|
|
53007
|
-
hoverBorderClass: _vm.isConfigPage
|
|
53008
|
-
}],
|
|
53009
|
-
style: _vm.containerStyle
|
|
53010
|
-
}, [_c('div', {
|
|
53011
|
-
staticClass: "column-setting",
|
|
53012
|
-
class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
|
|
53013
|
-
style: _vm.columnStyle
|
|
53014
|
-
}, _vm._l(_vm.data.childList, function (item, index) {
|
|
53015
|
-
return _c('cms-column-card', _vm._b({
|
|
53016
|
-
key: item.componentId,
|
|
53017
|
-
class: _vm.getColumnItemClass(index),
|
|
53018
|
-
style: _vm.getColumnItemStyle(index),
|
|
53019
|
-
attrs: {
|
|
53020
|
-
"data": item,
|
|
53021
|
-
"nowCompId": _vm.nowCompId,
|
|
53022
|
-
"isOpcacity": _vm.isOpcacity,
|
|
53023
|
-
"isMask": false,
|
|
53024
|
-
"lang": _vm.lang,
|
|
53025
|
-
"isMobile": slotProps.isMobile,
|
|
53026
|
-
"mobileLayout": _vm.configData.mobileLayout
|
|
53027
|
-
}
|
|
53028
|
-
}, 'cms-column-card', _vm.$attrs, false));
|
|
53029
|
-
}), 1)])];
|
|
53030
|
-
}
|
|
53031
|
-
}])
|
|
53032
|
-
}, 'BaseComp', _vm.$attrs, false));
|
|
53033
|
-
};
|
|
53034
|
-
var staticRenderFns = [];
|
|
53035
|
-
|
|
53036
|
-
// EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
|
|
53037
|
-
var baseComp = __webpack_require__(4128);
|
|
53038
|
-
;// ./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
|
|
53039
|
-
|
|
53040
|
-
/* harmony default export */ var Viewvue_type_script_lang_js = ({
|
|
53041
|
-
name: "cms-column",
|
|
53042
|
-
components: {
|
|
53043
|
-
BaseComp: baseComp["default"]
|
|
53044
|
-
},
|
|
53045
|
-
props: {
|
|
53046
|
-
data: {
|
|
53047
|
-
type: Object,
|
|
53048
|
-
default: () => {
|
|
53049
|
-
return {};
|
|
53050
|
-
}
|
|
53051
|
-
},
|
|
53052
|
-
nowCompId: {
|
|
53053
|
-
type: [String, Number],
|
|
53054
|
-
default: ""
|
|
53055
|
-
},
|
|
53056
|
-
isOpcacity: {
|
|
53057
|
-
type: Boolean,
|
|
53058
|
-
default: true
|
|
53059
|
-
},
|
|
53060
|
-
lang: {
|
|
53061
|
-
type: String,
|
|
53062
|
-
default: "zh-HK"
|
|
53063
|
-
}
|
|
53064
|
-
},
|
|
53065
|
-
data() {
|
|
53066
|
-
return {
|
|
53067
|
-
configData: {},
|
|
53068
|
-
messFold: true,
|
|
53069
|
-
// 默认配置数据
|
|
53070
|
-
defaultConfig: {
|
|
53071
|
-
layoutType: "100",
|
|
53072
|
-
heightType: "auto",
|
|
53073
|
-
widthType: "auto",
|
|
53074
|
-
mobileLayout: "vertical",
|
|
53075
|
-
fixedHeight: 300,
|
|
53076
|
-
borderWidth: 0,
|
|
53077
|
-
borderStyle: "solid",
|
|
53078
|
-
borderColor: "",
|
|
53079
|
-
backgroundColor: "#FFF",
|
|
53080
|
-
backgroundImage: "",
|
|
53081
|
-
boxShadow: "",
|
|
53082
|
-
borderRadius: 0,
|
|
53083
|
-
columnGap: 0,
|
|
53084
|
-
rowGap: 0,
|
|
53085
|
-
title: "",
|
|
53086
|
-
description: "",
|
|
53087
|
-
input1: "",
|
|
53088
|
-
showTitle: true,
|
|
53089
|
-
showDescription: true,
|
|
53090
|
-
animationDuration: 300,
|
|
53091
|
-
responsiveBreakpoint: 768
|
|
53092
|
-
}
|
|
53093
|
-
};
|
|
53094
|
-
},
|
|
53095
|
-
mounted() {},
|
|
53096
|
-
watch: {
|
|
53097
|
-
configData: {
|
|
53098
|
-
handler() {
|
|
53099
|
-
this.updateStyles();
|
|
53100
|
-
},
|
|
53101
|
-
immediate: true,
|
|
53102
|
-
deep: true
|
|
53103
|
-
}
|
|
53104
|
-
},
|
|
53105
|
-
computed: {
|
|
53106
|
-
isConfigPage() {
|
|
53107
|
-
return this.$EventBus && this.isOpcacity;
|
|
53108
|
-
},
|
|
53109
|
-
// 容器样式
|
|
53110
|
-
containerStyle() {
|
|
53111
|
-
return {
|
|
53112
|
-
backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
|
|
53113
|
-
backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
|
|
53114
|
-
backgroundSize: "cover",
|
|
53115
|
-
backgroundRepeat: "no-repeat",
|
|
53116
|
-
backgroundPosition: "center center",
|
|
53117
|
-
boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
|
|
53118
|
-
borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
|
|
53119
|
-
minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
|
|
53120
|
-
};
|
|
53121
|
-
},
|
|
53122
|
-
// 分栏容器样式
|
|
53123
|
-
columnStyle() {
|
|
53124
|
-
// const gap = this.configData.rowGap || this.defaultConfig.rowGap;
|
|
53125
|
-
return {
|
|
53126
|
-
// gap: `${gap}px`,
|
|
53127
|
-
border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
|
|
53128
|
-
};
|
|
53129
|
-
}
|
|
53130
|
-
},
|
|
53131
|
-
methods: {
|
|
53132
|
-
// 获取配置数据
|
|
53133
|
-
getConfigData(configData) {
|
|
53134
|
-
this.configData = configData;
|
|
53135
|
-
this.updateStyles();
|
|
53136
|
-
},
|
|
53137
|
-
// 更新样式
|
|
53138
|
-
updateStyles() {
|
|
53139
|
-
this.$nextTick(() => {
|
|
53140
|
-
// 触发样式更新
|
|
53141
|
-
this.$forceUpdate();
|
|
53142
|
-
});
|
|
53143
|
-
},
|
|
53144
|
-
// 获取分栏项的类名
|
|
53145
|
-
getColumnItemClass(index) {
|
|
53146
|
-
const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
|
|
53147
|
-
return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
|
|
53148
|
-
"min-h": this.$EventBus && this.isOpcacity,
|
|
53149
|
-
"first-item": index === 0,
|
|
53150
|
-
"last-item": index === this.data.childList.length - 1
|
|
53151
|
-
}];
|
|
53152
|
-
},
|
|
53153
|
-
// 获取分栏项的样式
|
|
53154
|
-
getColumnItemStyle(index) {
|
|
53155
|
-
const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
|
|
53156
|
-
const gap = this.configData.rowGap || this.defaultConfig.rowGap;
|
|
53157
|
-
let flexBasis = "100%";
|
|
53158
|
-
let marginRight = "0";
|
|
53159
|
-
|
|
53160
|
-
// 根据布局类型设置宽度
|
|
53161
|
-
switch (layoutType) {
|
|
53162
|
-
case "50-50":
|
|
53163
|
-
flexBasis = `calc(50% - ${gap / 2}px)`;
|
|
53164
|
-
marginRight = index % 2 === 0 ? `${gap}px` : "0";
|
|
53165
|
-
break;
|
|
53166
|
-
case "33-66":
|
|
53167
|
-
flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
|
|
53168
|
-
marginRight = index === 0 ? `${gap}px` : "0";
|
|
53169
|
-
break;
|
|
53170
|
-
case "66-33":
|
|
53171
|
-
flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
|
|
53172
|
-
marginRight = index === 0 ? `${gap}px` : "0";
|
|
53173
|
-
break;
|
|
53174
|
-
case "33-33-33":
|
|
53175
|
-
flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
|
|
53176
|
-
marginRight = index < 2 ? `${gap}px` : "0";
|
|
53177
|
-
break;
|
|
53178
|
-
case "25-50-25":
|
|
53179
|
-
if (index === 0 || index === 2) {
|
|
53180
|
-
flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
|
|
53181
|
-
} else {
|
|
53182
|
-
flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
|
|
53183
|
-
}
|
|
53184
|
-
marginRight = index < 2 ? `${gap}px` : "0";
|
|
53185
|
-
break;
|
|
53186
|
-
default:
|
|
53187
|
-
flexBasis = "100%";
|
|
53188
|
-
}
|
|
53189
|
-
return {
|
|
53190
|
-
flexBasis,
|
|
53191
|
-
marginRight,
|
|
53192
|
-
marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
|
|
53193
|
-
};
|
|
53194
|
-
},
|
|
53195
|
-
// 折叠/展开文本
|
|
53196
|
-
foldMessText() {
|
|
53197
|
-
this.messFold = !this.messFold;
|
|
53198
|
-
},
|
|
53199
|
-
// 处理跳转链接
|
|
53200
|
-
decodeJumpUrl(url) {
|
|
53201
|
-
if (!url) return;
|
|
53202
|
-
top.location.href = url;
|
|
53203
|
-
}
|
|
53204
|
-
}
|
|
53205
|
-
});
|
|
53206
|
-
;// ./package/cms-column/View.vue?vue&type=script&lang=js
|
|
53207
|
-
/* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
|
|
53208
|
-
;// ./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=1402d563&prod&lang=scss&scoped=true
|
|
53209
|
-
// extracted by mini-css-extract-plugin
|
|
53210
|
-
|
|
53211
|
-
;// ./package/cms-column/View.vue?vue&type=style&index=0&id=1402d563&prod&lang=scss&scoped=true
|
|
53212
|
-
|
|
53213
|
-
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
53214
|
-
var componentNormalizer = __webpack_require__(1656);
|
|
53215
|
-
;// ./package/cms-column/View.vue
|
|
53216
|
-
|
|
53217
|
-
|
|
53218
|
-
|
|
53219
|
-
;
|
|
53220
|
-
|
|
53221
|
-
|
|
53222
|
-
/* normalize component */
|
|
53223
|
-
|
|
53224
|
-
var component = (0,componentNormalizer/* default */.A)(
|
|
53225
|
-
cms_column_Viewvue_type_script_lang_js,
|
|
53226
|
-
render,
|
|
53227
|
-
staticRenderFns,
|
|
53228
|
-
false,
|
|
53229
|
-
null,
|
|
53230
|
-
"1402d563",
|
|
53231
|
-
null
|
|
53232
|
-
|
|
53233
|
-
)
|
|
53234
|
-
|
|
53235
|
-
/* harmony default export */ var View = (component.exports);
|
|
53236
|
-
|
|
53237
52924
|
/***/ }),
|
|
53238
52925
|
|
|
53239
52926
|
/***/ 7657:
|
|
@@ -53575,6 +53262,268 @@ module.exports = Math.round;
|
|
|
53575
53262
|
|
|
53576
53263
|
/***/ }),
|
|
53577
53264
|
|
|
53265
|
+
/***/ 7855:
|
|
53266
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
53267
|
+
|
|
53268
|
+
"use strict";
|
|
53269
|
+
// ESM COMPAT FLAG
|
|
53270
|
+
__webpack_require__.r(__webpack_exports__);
|
|
53271
|
+
|
|
53272
|
+
// EXPORTS
|
|
53273
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
53274
|
+
"default": function() { return /* binding */ View; }
|
|
53275
|
+
});
|
|
53276
|
+
|
|
53277
|
+
;// ./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=033e8b60&scoped=true
|
|
53278
|
+
var render = function render() {
|
|
53279
|
+
var _vm = this,
|
|
53280
|
+
_c = _vm._self._c;
|
|
53281
|
+
return _c('BaseComp', _vm._b({
|
|
53282
|
+
attrs: {
|
|
53283
|
+
"data": _vm.data,
|
|
53284
|
+
"nowCompId": _vm.nowCompId,
|
|
53285
|
+
"isOpcacity": _vm.isOpcacity,
|
|
53286
|
+
"isMask": false,
|
|
53287
|
+
"lang": _vm.lang
|
|
53288
|
+
},
|
|
53289
|
+
on: {
|
|
53290
|
+
"getConfigData": _vm.getConfigData
|
|
53291
|
+
},
|
|
53292
|
+
scopedSlots: _vm._u([{
|
|
53293
|
+
key: "default",
|
|
53294
|
+
fn: function (slotProps) {
|
|
53295
|
+
return [_c('section', {
|
|
53296
|
+
class: [_vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main', _vm.isConfigPage ? 'hoverBorderClass' : ''],
|
|
53297
|
+
style: _vm.containerStyle
|
|
53298
|
+
}, [_c('div', {
|
|
53299
|
+
staticClass: "column-setting",
|
|
53300
|
+
class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
|
|
53301
|
+
style: _vm.columnStyle
|
|
53302
|
+
}, _vm._l(_vm.data.childList, function (item, index) {
|
|
53303
|
+
return _c('cms-column-card', _vm._b({
|
|
53304
|
+
key: item.componentId,
|
|
53305
|
+
class: _vm.getColumnItemClass(index),
|
|
53306
|
+
style: _vm.getColumnItemStyle(index),
|
|
53307
|
+
attrs: {
|
|
53308
|
+
"data": item,
|
|
53309
|
+
"nowCompId": _vm.nowCompId,
|
|
53310
|
+
"isOpcacity": _vm.isOpcacity,
|
|
53311
|
+
"isMask": false,
|
|
53312
|
+
"lang": _vm.lang,
|
|
53313
|
+
"isMobile": slotProps.isMobile,
|
|
53314
|
+
"mobileLayout": _vm.configData.mobileLayout
|
|
53315
|
+
}
|
|
53316
|
+
}, 'cms-column-card', _vm.$attrs, false));
|
|
53317
|
+
}), 1)])];
|
|
53318
|
+
}
|
|
53319
|
+
}])
|
|
53320
|
+
}, 'BaseComp', _vm.$attrs, false));
|
|
53321
|
+
};
|
|
53322
|
+
var staticRenderFns = [];
|
|
53323
|
+
|
|
53324
|
+
// EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
|
|
53325
|
+
var baseComp = __webpack_require__(4128);
|
|
53326
|
+
;// ./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
|
|
53327
|
+
|
|
53328
|
+
/* harmony default export */ var Viewvue_type_script_lang_js = ({
|
|
53329
|
+
name: "cms-column",
|
|
53330
|
+
components: {
|
|
53331
|
+
BaseComp: baseComp["default"]
|
|
53332
|
+
},
|
|
53333
|
+
props: {
|
|
53334
|
+
data: {
|
|
53335
|
+
type: Object,
|
|
53336
|
+
default: () => {
|
|
53337
|
+
return {};
|
|
53338
|
+
}
|
|
53339
|
+
},
|
|
53340
|
+
nowCompId: {
|
|
53341
|
+
type: [String, Number],
|
|
53342
|
+
default: ""
|
|
53343
|
+
},
|
|
53344
|
+
isOpcacity: {
|
|
53345
|
+
type: Boolean,
|
|
53346
|
+
default: true
|
|
53347
|
+
},
|
|
53348
|
+
lang: {
|
|
53349
|
+
type: String,
|
|
53350
|
+
default: "zh-HK"
|
|
53351
|
+
}
|
|
53352
|
+
},
|
|
53353
|
+
data() {
|
|
53354
|
+
return {
|
|
53355
|
+
configData: {},
|
|
53356
|
+
messFold: true,
|
|
53357
|
+
// 默认配置数据
|
|
53358
|
+
defaultConfig: {
|
|
53359
|
+
layoutType: "100",
|
|
53360
|
+
heightType: "auto",
|
|
53361
|
+
widthType: "auto",
|
|
53362
|
+
mobileLayout: "vertical",
|
|
53363
|
+
fixedHeight: 300,
|
|
53364
|
+
borderWidth: 0,
|
|
53365
|
+
borderStyle: "solid",
|
|
53366
|
+
borderColor: "",
|
|
53367
|
+
backgroundColor: "#FFF",
|
|
53368
|
+
backgroundImage: "",
|
|
53369
|
+
boxShadow: "",
|
|
53370
|
+
borderRadius: 0,
|
|
53371
|
+
columnGap: 0,
|
|
53372
|
+
rowGap: 0,
|
|
53373
|
+
title: "",
|
|
53374
|
+
description: "",
|
|
53375
|
+
input1: "",
|
|
53376
|
+
showTitle: true,
|
|
53377
|
+
showDescription: true,
|
|
53378
|
+
animationDuration: 300,
|
|
53379
|
+
responsiveBreakpoint: 768
|
|
53380
|
+
}
|
|
53381
|
+
};
|
|
53382
|
+
},
|
|
53383
|
+
mounted() {},
|
|
53384
|
+
watch: {
|
|
53385
|
+
configData: {
|
|
53386
|
+
handler() {
|
|
53387
|
+
this.updateStyles();
|
|
53388
|
+
},
|
|
53389
|
+
immediate: true,
|
|
53390
|
+
deep: true
|
|
53391
|
+
}
|
|
53392
|
+
},
|
|
53393
|
+
computed: {
|
|
53394
|
+
isConfigPage() {
|
|
53395
|
+
return this.$EventBus && this.isOpcacity;
|
|
53396
|
+
},
|
|
53397
|
+
// 容器样式
|
|
53398
|
+
containerStyle() {
|
|
53399
|
+
return {
|
|
53400
|
+
backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
|
|
53401
|
+
backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
|
|
53402
|
+
backgroundSize: "cover",
|
|
53403
|
+
backgroundRepeat: "no-repeat",
|
|
53404
|
+
backgroundPosition: "center center",
|
|
53405
|
+
boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
|
|
53406
|
+
borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
|
|
53407
|
+
minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
|
|
53408
|
+
};
|
|
53409
|
+
},
|
|
53410
|
+
// 分栏容器样式
|
|
53411
|
+
columnStyle() {
|
|
53412
|
+
// const gap = this.configData.rowGap || this.defaultConfig.rowGap;
|
|
53413
|
+
return {
|
|
53414
|
+
// gap: `${gap}px`,
|
|
53415
|
+
border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
|
|
53416
|
+
};
|
|
53417
|
+
}
|
|
53418
|
+
},
|
|
53419
|
+
methods: {
|
|
53420
|
+
// 获取配置数据
|
|
53421
|
+
getConfigData(configData) {
|
|
53422
|
+
this.configData = configData;
|
|
53423
|
+
this.updateStyles();
|
|
53424
|
+
},
|
|
53425
|
+
// 更新样式
|
|
53426
|
+
updateStyles() {
|
|
53427
|
+
this.$nextTick(() => {
|
|
53428
|
+
// 触发样式更新
|
|
53429
|
+
this.$forceUpdate();
|
|
53430
|
+
});
|
|
53431
|
+
},
|
|
53432
|
+
// 获取分栏项的类名
|
|
53433
|
+
getColumnItemClass(index) {
|
|
53434
|
+
const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
|
|
53435
|
+
return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
|
|
53436
|
+
"min-h": this.$EventBus && this.isOpcacity,
|
|
53437
|
+
"first-item": index === 0,
|
|
53438
|
+
"last-item": index === this.data.childList.length - 1
|
|
53439
|
+
}];
|
|
53440
|
+
},
|
|
53441
|
+
// 获取分栏项的样式
|
|
53442
|
+
getColumnItemStyle(index) {
|
|
53443
|
+
const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
|
|
53444
|
+
const gap = this.configData.rowGap || this.defaultConfig.rowGap;
|
|
53445
|
+
let flexBasis = "100%";
|
|
53446
|
+
let marginRight = "0";
|
|
53447
|
+
|
|
53448
|
+
// 根据布局类型设置宽度
|
|
53449
|
+
switch (layoutType) {
|
|
53450
|
+
case "50-50":
|
|
53451
|
+
flexBasis = `calc(50% - ${gap / 2}px)`;
|
|
53452
|
+
marginRight = index % 2 === 0 ? `${gap}px` : "0";
|
|
53453
|
+
break;
|
|
53454
|
+
case "33-66":
|
|
53455
|
+
flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
|
|
53456
|
+
marginRight = index === 0 ? `${gap}px` : "0";
|
|
53457
|
+
break;
|
|
53458
|
+
case "66-33":
|
|
53459
|
+
flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
|
|
53460
|
+
marginRight = index === 0 ? `${gap}px` : "0";
|
|
53461
|
+
break;
|
|
53462
|
+
case "33-33-33":
|
|
53463
|
+
flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
|
|
53464
|
+
marginRight = index < 2 ? `${gap}px` : "0";
|
|
53465
|
+
break;
|
|
53466
|
+
case "25-50-25":
|
|
53467
|
+
if (index === 0 || index === 2) {
|
|
53468
|
+
flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
|
|
53469
|
+
} else {
|
|
53470
|
+
flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
|
|
53471
|
+
}
|
|
53472
|
+
marginRight = index < 2 ? `${gap}px` : "0";
|
|
53473
|
+
break;
|
|
53474
|
+
default:
|
|
53475
|
+
flexBasis = "100%";
|
|
53476
|
+
}
|
|
53477
|
+
return {
|
|
53478
|
+
flexBasis,
|
|
53479
|
+
marginRight,
|
|
53480
|
+
marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
|
|
53481
|
+
};
|
|
53482
|
+
},
|
|
53483
|
+
// 折叠/展开文本
|
|
53484
|
+
foldMessText() {
|
|
53485
|
+
this.messFold = !this.messFold;
|
|
53486
|
+
},
|
|
53487
|
+
// 处理跳转链接
|
|
53488
|
+
decodeJumpUrl(url) {
|
|
53489
|
+
if (!url) return;
|
|
53490
|
+
top.location.href = url;
|
|
53491
|
+
}
|
|
53492
|
+
}
|
|
53493
|
+
});
|
|
53494
|
+
;// ./package/cms-column/View.vue?vue&type=script&lang=js
|
|
53495
|
+
/* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
|
|
53496
|
+
;// ./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=033e8b60&prod&lang=scss&scoped=true
|
|
53497
|
+
// extracted by mini-css-extract-plugin
|
|
53498
|
+
|
|
53499
|
+
;// ./package/cms-column/View.vue?vue&type=style&index=0&id=033e8b60&prod&lang=scss&scoped=true
|
|
53500
|
+
|
|
53501
|
+
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
53502
|
+
var componentNormalizer = __webpack_require__(1656);
|
|
53503
|
+
;// ./package/cms-column/View.vue
|
|
53504
|
+
|
|
53505
|
+
|
|
53506
|
+
|
|
53507
|
+
;
|
|
53508
|
+
|
|
53509
|
+
|
|
53510
|
+
/* normalize component */
|
|
53511
|
+
|
|
53512
|
+
var component = (0,componentNormalizer/* default */.A)(
|
|
53513
|
+
cms_column_Viewvue_type_script_lang_js,
|
|
53514
|
+
render,
|
|
53515
|
+
staticRenderFns,
|
|
53516
|
+
false,
|
|
53517
|
+
null,
|
|
53518
|
+
"033e8b60",
|
|
53519
|
+
null
|
|
53520
|
+
|
|
53521
|
+
)
|
|
53522
|
+
|
|
53523
|
+
/* harmony default export */ var View = (component.exports);
|
|
53524
|
+
|
|
53525
|
+
/***/ }),
|
|
53526
|
+
|
|
53578
53527
|
/***/ 7936:
|
|
53579
53528
|
/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {
|
|
53580
53529
|
|
|
@@ -54250,6 +54199,75 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
|
|
|
54250
54199
|
|
|
54251
54200
|
/***/ }),
|
|
54252
54201
|
|
|
54202
|
+
/***/ 8134:
|
|
54203
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
54204
|
+
|
|
54205
|
+
"use strict";
|
|
54206
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
54207
|
+
/* harmony export */ L7: function() { return /* binding */ getCopyTemplateCompConfig; }
|
|
54208
|
+
/* harmony export */ });
|
|
54209
|
+
/* unused harmony exports standard_page_list, getComponentKey, isStaticComp, getWujieCompInfo */
|
|
54210
|
+
/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8111);
|
|
54211
|
+
/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
54212
|
+
/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(116);
|
|
54213
|
+
/* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
54214
|
+
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1996);
|
|
54215
|
+
|
|
54216
|
+
|
|
54217
|
+
|
|
54218
|
+
|
|
54219
|
+
|
|
54220
|
+
const standard_page_list = [{
|
|
54221
|
+
id: 1,
|
|
54222
|
+
componentId: 1,
|
|
54223
|
+
componentName: "范本1-防诈骗提示",
|
|
54224
|
+
standList: ["cms-banner", "cms-titleCenter", "cms-lineThree"]
|
|
54225
|
+
}, {
|
|
54226
|
+
id: 2,
|
|
54227
|
+
componentId: 2,
|
|
54228
|
+
componentName: "范本2-员工优惠",
|
|
54229
|
+
standList: ["cms-banner", "cms-description", "cms-activityCountdown", "cms-titleLeft", "cms-proCard", "cms-termsAndConditions"]
|
|
54230
|
+
}];
|
|
54231
|
+
const getComponentKey = (compList, id, noCompId = false) => {
|
|
54232
|
+
if (noCompId) return id;
|
|
54233
|
+
let compConfig = compList.find(item => item.id == id);
|
|
54234
|
+
if (compConfig.type == "1") {
|
|
54235
|
+
return compConfig.componentId;
|
|
54236
|
+
}
|
|
54237
|
+
return "cms-dynamic-comp";
|
|
54238
|
+
};
|
|
54239
|
+
const getCopyTemplateCompConfig = (compList, componentKey) => {
|
|
54240
|
+
let otherConfig = {};
|
|
54241
|
+
const configureJson = compList.find(item => item.id == componentKey).configureJson;
|
|
54242
|
+
if (configureJson.wujieConfig) {
|
|
54243
|
+
//如果是第三方组件加一个临时标识
|
|
54244
|
+
otherConfig = {
|
|
54245
|
+
originalComponentId: configureJson.componentId,
|
|
54246
|
+
originalVersionId: configureJson.wujieConfig.versionId,
|
|
54247
|
+
operation: "copyTemplate"
|
|
54248
|
+
};
|
|
54249
|
+
}
|
|
54250
|
+
return {
|
|
54251
|
+
...configureJson,
|
|
54252
|
+
componentId: (0,_utils__WEBPACK_IMPORTED_MODULE_2__/* .getUuidCode */ .J0)(32),
|
|
54253
|
+
...otherConfig
|
|
54254
|
+
};
|
|
54255
|
+
};
|
|
54256
|
+
const isStaticComp = componentKey => {
|
|
54257
|
+
return ["cms-header", "cms-footer", "cms-breadCrumb"].includes(componentKey);
|
|
54258
|
+
};
|
|
54259
|
+
const getWujieCompInfo = (compList, componentId, isTemplate) => {
|
|
54260
|
+
let compConfig = compList.find(item => item.id == componentId);
|
|
54261
|
+
if (isTemplate) if (compConfig.type == "1") {
|
|
54262
|
+
return compConfig;
|
|
54263
|
+
}
|
|
54264
|
+
return {
|
|
54265
|
+
...compConfig
|
|
54266
|
+
};
|
|
54267
|
+
};
|
|
54268
|
+
|
|
54269
|
+
/***/ }),
|
|
54270
|
+
|
|
54253
54271
|
/***/ 8216:
|
|
54254
54272
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
54255
54273
|
|
|
@@ -57833,6 +57851,50 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
|
|
|
57833
57851
|
|
|
57834
57852
|
/***/ }),
|
|
57835
57853
|
|
|
57854
|
+
/***/ 8892:
|
|
57855
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
57856
|
+
|
|
57857
|
+
"use strict";
|
|
57858
|
+
__webpack_require__.r(__webpack_exports__);
|
|
57859
|
+
/* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
|
|
57860
|
+
|
|
57861
|
+
const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9251));
|
|
57862
|
+
const langData = {
|
|
57863
|
+
configList: [{
|
|
57864
|
+
id: Math.random().toString(),
|
|
57865
|
+
name: "栏目名称",
|
|
57866
|
+
tabList: []
|
|
57867
|
+
}]
|
|
57868
|
+
};
|
|
57869
|
+
const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
|
|
57870
|
+
configList: {
|
|
57871
|
+
label: "栏目配置",
|
|
57872
|
+
value: [{
|
|
57873
|
+
id: {
|
|
57874
|
+
label: ""
|
|
57875
|
+
},
|
|
57876
|
+
name: {
|
|
57877
|
+
label: "栏目名称"
|
|
57878
|
+
}
|
|
57879
|
+
}]
|
|
57880
|
+
}
|
|
57881
|
+
});
|
|
57882
|
+
const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
|
|
57883
|
+
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
57884
|
+
View,
|
|
57885
|
+
validateSchema,
|
|
57886
|
+
configDataType,
|
|
57887
|
+
langData,
|
|
57888
|
+
settings: cmsCompName => {
|
|
57889
|
+
return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
|
|
57890
|
+
cmsCompName,
|
|
57891
|
+
langData
|
|
57892
|
+
});
|
|
57893
|
+
}
|
|
57894
|
+
});
|
|
57895
|
+
|
|
57896
|
+
/***/ }),
|
|
57897
|
+
|
|
57836
57898
|
/***/ 8895:
|
|
57837
57899
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
57838
57900
|
|
|
@@ -58214,6 +58276,509 @@ module.exports = function sign(number) {
|
|
|
58214
58276
|
|
|
58215
58277
|
/***/ }),
|
|
58216
58278
|
|
|
58279
|
+
/***/ 9251:
|
|
58280
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
58281
|
+
|
|
58282
|
+
"use strict";
|
|
58283
|
+
// ESM COMPAT FLAG
|
|
58284
|
+
__webpack_require__.r(__webpack_exports__);
|
|
58285
|
+
|
|
58286
|
+
// EXPORTS
|
|
58287
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
58288
|
+
"default": function() { return /* binding */ View; }
|
|
58289
|
+
});
|
|
58290
|
+
|
|
58291
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
|
|
58292
|
+
var es_iterator_constructor = __webpack_require__(8111);
|
|
58293
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
|
|
58294
|
+
var es_iterator_drop = __webpack_require__(9314);
|
|
58295
|
+
;// ./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-tab/View.vue?vue&type=template&id=29a0258e&scoped=true
|
|
58296
|
+
|
|
58297
|
+
|
|
58298
|
+
|
|
58299
|
+
|
|
58300
|
+
var render = function render() {
|
|
58301
|
+
var _vm = this,
|
|
58302
|
+
_c = _vm._self._c;
|
|
58303
|
+
return _c('BaseComp', _vm._b({
|
|
58304
|
+
attrs: {
|
|
58305
|
+
"data": _vm.data,
|
|
58306
|
+
"nowCompId": _vm.nowCompId,
|
|
58307
|
+
"isOpcacity": _vm.isOpcacity,
|
|
58308
|
+
"isMask": false,
|
|
58309
|
+
"lang": _vm.lang
|
|
58310
|
+
},
|
|
58311
|
+
on: {
|
|
58312
|
+
"getConfigData": _vm.getConfigData
|
|
58313
|
+
}
|
|
58314
|
+
}, 'BaseComp', _vm.$attrs, false), [_c('section', {
|
|
58315
|
+
staticClass: "cmhk-home_main"
|
|
58316
|
+
}, [_c('div', {
|
|
58317
|
+
staticClass: "page-tab-swiper_wrapper",
|
|
58318
|
+
class: _vm.swiperArrow == true ? '' : 'active'
|
|
58319
|
+
}, [_c('div', {
|
|
58320
|
+
ref: "barparent",
|
|
58321
|
+
staticClass: "page-tab-swiper common-swiper_tab",
|
|
58322
|
+
attrs: {
|
|
58323
|
+
"id": "tab-swiper"
|
|
58324
|
+
}
|
|
58325
|
+
}, [_c('div', {
|
|
58326
|
+
staticClass: "swiper-wrapper"
|
|
58327
|
+
}, _vm._l(_vm.configList, function (item, index) {
|
|
58328
|
+
return _c('div', {
|
|
58329
|
+
key: `${index}${item === null || item === void 0 ? void 0 : item.id}`,
|
|
58330
|
+
staticClass: "swiper-slide",
|
|
58331
|
+
class: index == _vm.currentTab ? 'active' : '',
|
|
58332
|
+
on: {
|
|
58333
|
+
"click": function ($event) {
|
|
58334
|
+
$event.stopPropagation();
|
|
58335
|
+
return _vm.changeTab(index);
|
|
58336
|
+
}
|
|
58337
|
+
}
|
|
58338
|
+
}, [_vm._v(" " + _vm._s(item.name) + " ")]);
|
|
58339
|
+
}), 0)])]), _vm.configList[_vm.currentTab] ? _c('div', {
|
|
58340
|
+
staticClass: "page-tab-swiper-body"
|
|
58341
|
+
}, [_vm.isConfigPage ? _c('div', {
|
|
58342
|
+
staticClass: "main_drag hoverBorderClass min-h",
|
|
58343
|
+
attrs: {
|
|
58344
|
+
"id": `tabTarget${_vm.currentTab}`
|
|
58345
|
+
},
|
|
58346
|
+
on: {
|
|
58347
|
+
"dragover": _vm.dragover,
|
|
58348
|
+
"dragend": function ($event) {
|
|
58349
|
+
_vm.showAddCom = false;
|
|
58350
|
+
},
|
|
58351
|
+
"drop": _vm.drop
|
|
58352
|
+
}
|
|
58353
|
+
}, [_c('Draggable', {
|
|
58354
|
+
staticStyle: {
|
|
58355
|
+
"position": "relative"
|
|
58356
|
+
},
|
|
58357
|
+
attrs: {
|
|
58358
|
+
"group": _vm.groupConfigForMain,
|
|
58359
|
+
"chosen-class": "chosen",
|
|
58360
|
+
"force-fallback": "true",
|
|
58361
|
+
"animation": "1000",
|
|
58362
|
+
"move": _vm.onMove
|
|
58363
|
+
},
|
|
58364
|
+
on: {
|
|
58365
|
+
"start": _vm.onStart,
|
|
58366
|
+
"end": function ($event) {
|
|
58367
|
+
_vm.showAddCom = false;
|
|
58368
|
+
}
|
|
58369
|
+
},
|
|
58370
|
+
model: {
|
|
58371
|
+
value: _vm.configList[_vm.currentTab].tabList,
|
|
58372
|
+
callback: function ($$v) {
|
|
58373
|
+
_vm.$set(_vm.configList[_vm.currentTab], "tabList", $$v);
|
|
58374
|
+
},
|
|
58375
|
+
expression: "configList[currentTab].tabList"
|
|
58376
|
+
}
|
|
58377
|
+
}, [_vm._l(_vm.configList[_vm.currentTab].tabList, function (item, index) {
|
|
58378
|
+
return _c('div', {
|
|
58379
|
+
key: item.componentId,
|
|
58380
|
+
staticStyle: {
|
|
58381
|
+
"position": "relative"
|
|
58382
|
+
}
|
|
58383
|
+
}, [_vm.showAddCom ? _c('div', {
|
|
58384
|
+
staticClass: "up_insert",
|
|
58385
|
+
attrs: {
|
|
58386
|
+
"id": `${item.componentId}-tabTargetup`
|
|
58387
|
+
}
|
|
58388
|
+
}, [_c('i', {
|
|
58389
|
+
staticClass: "icon-up",
|
|
58390
|
+
attrs: {
|
|
58391
|
+
"id": `${item.componentId}-upi`
|
|
58392
|
+
}
|
|
58393
|
+
}), _c('span', {
|
|
58394
|
+
attrs: {
|
|
58395
|
+
"id": `${item.componentId}-upspan`
|
|
58396
|
+
}
|
|
58397
|
+
}, [_vm._v("插入组件")])]) : _vm._e(), _c(item.cmsCompName, {
|
|
58398
|
+
tag: "component",
|
|
58399
|
+
style: {
|
|
58400
|
+
marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
|
|
58401
|
+
},
|
|
58402
|
+
attrs: {
|
|
58403
|
+
"data": item,
|
|
58404
|
+
"lang": _vm.lang,
|
|
58405
|
+
"isOpcacity": _vm.isOpcacity,
|
|
58406
|
+
"nowCompId": _vm.nowCompId
|
|
58407
|
+
}
|
|
58408
|
+
})], 1);
|
|
58409
|
+
}), _vm.showAddCom ? _c('div', {
|
|
58410
|
+
staticClass: "up_insert insert_bottom",
|
|
58411
|
+
style: {
|
|
58412
|
+
bottom: _vm.configList[_vm.currentTab].tabList.length ? '0px' : '-24px'
|
|
58413
|
+
},
|
|
58414
|
+
attrs: {
|
|
58415
|
+
"id": `-tabTargetdown`
|
|
58416
|
+
}
|
|
58417
|
+
}, [_c('i', {
|
|
58418
|
+
staticClass: "icon-up"
|
|
58419
|
+
}), _c('span', [_vm._v("插入组件")])]) : _vm._e()], 2)], 1) : _c('cms-view', _vm._b({
|
|
58420
|
+
attrs: {
|
|
58421
|
+
"data": _vm.configList[_vm.currentTab].tabList,
|
|
58422
|
+
"lang": _vm.lang,
|
|
58423
|
+
"isOpcacity": false
|
|
58424
|
+
}
|
|
58425
|
+
}, 'cms-view', _vm.$attrs, false))], 1) : _vm._e()])]);
|
|
58426
|
+
};
|
|
58427
|
+
var staticRenderFns = [];
|
|
58428
|
+
|
|
58429
|
+
;// ./package/cms-tab/View.vue?vue&type=template&id=29a0258e&scoped=true
|
|
58430
|
+
|
|
58431
|
+
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
|
|
58432
|
+
var es_array_push = __webpack_require__(4114);
|
|
58433
|
+
// EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.js
|
|
58434
|
+
var swiper = __webpack_require__(2791);
|
|
58435
|
+
// EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
|
|
58436
|
+
var swiper_esm_bundle = __webpack_require__(4418);
|
|
58437
|
+
// EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
|
|
58438
|
+
var baseComp = __webpack_require__(4128);
|
|
58439
|
+
// EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
|
|
58440
|
+
var vuedraggable_umd = __webpack_require__(1527);
|
|
58441
|
+
var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
|
|
58442
|
+
// EXTERNAL MODULE: ./package/baseConfig.js
|
|
58443
|
+
var baseConfig = __webpack_require__(649);
|
|
58444
|
+
// EXTERNAL MODULE: ./src/views/standard_page.js
|
|
58445
|
+
var standard_page = __webpack_require__(8134);
|
|
58446
|
+
;// ./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-tab/View.vue?vue&type=script&lang=js
|
|
58447
|
+
|
|
58448
|
+
|
|
58449
|
+
|
|
58450
|
+
|
|
58451
|
+
|
|
58452
|
+
|
|
58453
|
+
|
|
58454
|
+
|
|
58455
|
+
|
|
58456
|
+
/* harmony default export */ var Viewvue_type_script_lang_js = ({
|
|
58457
|
+
name: "cms-tab",
|
|
58458
|
+
components: {
|
|
58459
|
+
BaseComp: baseComp["default"],
|
|
58460
|
+
Draggable: (vuedraggable_umd_default())
|
|
58461
|
+
},
|
|
58462
|
+
props: {
|
|
58463
|
+
data: {
|
|
58464
|
+
type: Object,
|
|
58465
|
+
default: () => {
|
|
58466
|
+
return {};
|
|
58467
|
+
}
|
|
58468
|
+
},
|
|
58469
|
+
nowCompId: {
|
|
58470
|
+
type: [String, Number],
|
|
58471
|
+
default: ""
|
|
58472
|
+
},
|
|
58473
|
+
isOpcacity: {
|
|
58474
|
+
type: Boolean,
|
|
58475
|
+
default: true
|
|
58476
|
+
},
|
|
58477
|
+
lang: {
|
|
58478
|
+
type: String,
|
|
58479
|
+
default: "zh-HK"
|
|
58480
|
+
},
|
|
58481
|
+
isMobile: {
|
|
58482
|
+
type: Boolean,
|
|
58483
|
+
default: false
|
|
58484
|
+
},
|
|
58485
|
+
mobileLayout: {
|
|
58486
|
+
type: String,
|
|
58487
|
+
default: ""
|
|
58488
|
+
}
|
|
58489
|
+
},
|
|
58490
|
+
data() {
|
|
58491
|
+
return {
|
|
58492
|
+
showAddCom: false,
|
|
58493
|
+
temporaryList: [],
|
|
58494
|
+
configList: [],
|
|
58495
|
+
currentTab: 0,
|
|
58496
|
+
swiperArrow: false,
|
|
58497
|
+
broadbandSwiperC: null,
|
|
58498
|
+
swiperBeginning: false,
|
|
58499
|
+
swiperEnd: false
|
|
58500
|
+
};
|
|
58501
|
+
},
|
|
58502
|
+
computed: {
|
|
58503
|
+
isConfigPage() {
|
|
58504
|
+
return this.$EventBus && this.isOpcacity;
|
|
58505
|
+
},
|
|
58506
|
+
groupConfigForMain() {
|
|
58507
|
+
return {
|
|
58508
|
+
name: "task",
|
|
58509
|
+
pull: true,
|
|
58510
|
+
// A列表的元素可以被拖出
|
|
58511
|
+
put: (to, from, dragEl) => {
|
|
58512
|
+
console.log(from.el.classList);
|
|
58513
|
+
if (from.el.classList.contains("main_drag")) {
|
|
58514
|
+
const dataId = this.findFirstComponentKey(dragEl);
|
|
58515
|
+
if (dataId === "cms-column") {
|
|
58516
|
+
if (!this.checkColumnNestingLevel()) {
|
|
58517
|
+
console.log("cms-column 嵌套层级超出限制");
|
|
58518
|
+
return false;
|
|
58519
|
+
}
|
|
58520
|
+
}
|
|
58521
|
+
return true;
|
|
58522
|
+
}
|
|
58523
|
+
return true;
|
|
58524
|
+
}
|
|
58525
|
+
};
|
|
58526
|
+
}
|
|
58527
|
+
},
|
|
58528
|
+
mounted() {
|
|
58529
|
+
if (this.$EventBus) {
|
|
58530
|
+
this.$EventBus.$on("handleDragEnd", () => {
|
|
58531
|
+
this.showAddCom = false;
|
|
58532
|
+
});
|
|
58533
|
+
}
|
|
58534
|
+
this.$nextTick(() => {
|
|
58535
|
+
this.broadbandSwiperC = new swiper_esm_bundle/* default */.A("#tab-swiper", {
|
|
58536
|
+
autoplay: false,
|
|
58537
|
+
loop: false,
|
|
58538
|
+
// 循环模式选项
|
|
58539
|
+
spaceBetween: 0,
|
|
58540
|
+
slidesPerView: "auto",
|
|
58541
|
+
// slidesPerGroup:1,
|
|
58542
|
+
observer: true,
|
|
58543
|
+
observeParents: true,
|
|
58544
|
+
preventClicksPropagation: true,
|
|
58545
|
+
touchStartPreventDefault: false,
|
|
58546
|
+
touchStartForcePreventDefault: false
|
|
58547
|
+
});
|
|
58548
|
+
// 0820 -end
|
|
58549
|
+
});
|
|
58550
|
+
},
|
|
58551
|
+
watch: {},
|
|
58552
|
+
methods: {
|
|
58553
|
+
getConfigData(configData) {
|
|
58554
|
+
this.configList = configData.configList;
|
|
58555
|
+
this.$nextTick(() => {
|
|
58556
|
+
var _this$broadbandSwiper, _this$broadbandSwiper2;
|
|
58557
|
+
if (!this.$refs.barparent || !this.broadbandSwiperC) return;
|
|
58558
|
+
const parentClientWidth = this.$refs.barparent.clientWidth;
|
|
58559
|
+
console.log("this.broadbandSwiperC?.virtualSize ,", (_this$broadbandSwiper = this.broadbandSwiperC) === null || _this$broadbandSwiper === void 0 ? void 0 : _this$broadbandSwiper.virtualSize);
|
|
58560
|
+
if (((_this$broadbandSwiper2 = this.broadbandSwiperC) === null || _this$broadbandSwiper2 === void 0 ? void 0 : _this$broadbandSwiper2.virtualSize) <= parentClientWidth) {
|
|
58561
|
+
this.swiperArrow = false;
|
|
58562
|
+
} else {
|
|
58563
|
+
this.swiperArrow = true;
|
|
58564
|
+
}
|
|
58565
|
+
if (this.broadbandSwiperC.isBeginning) {
|
|
58566
|
+
this.swiperBeginning = true;
|
|
58567
|
+
}
|
|
58568
|
+
if (this.broadbandSwiperC.isEnd) {
|
|
58569
|
+
this.swiperEnd = true;
|
|
58570
|
+
}
|
|
58571
|
+
});
|
|
58572
|
+
},
|
|
58573
|
+
clickSwiperPrev() {
|
|
58574
|
+
this.broadbandSwiperC.slidePrev();
|
|
58575
|
+
if (this.broadbandSwiperC.isBeginning) {
|
|
58576
|
+
this.swiperBeginning = true;
|
|
58577
|
+
} else {
|
|
58578
|
+
this.swiperBeginning = false;
|
|
58579
|
+
}
|
|
58580
|
+
if (this.broadbandSwiperC.isEnd) {
|
|
58581
|
+
this.swiperEnd = true;
|
|
58582
|
+
} else {
|
|
58583
|
+
this.swiperEnd = false;
|
|
58584
|
+
}
|
|
58585
|
+
},
|
|
58586
|
+
clickSwiperNext() {
|
|
58587
|
+
this.broadbandSwiperC.slideNext();
|
|
58588
|
+
if (this.broadbandSwiperC.isBeginning) {
|
|
58589
|
+
this.swiperBeginning = true;
|
|
58590
|
+
} else {
|
|
58591
|
+
this.swiperBeginning = false;
|
|
58592
|
+
}
|
|
58593
|
+
if (this.broadbandSwiperC.isEnd) {
|
|
58594
|
+
this.swiperEnd = true;
|
|
58595
|
+
} else {
|
|
58596
|
+
this.swiperEnd = false;
|
|
58597
|
+
}
|
|
58598
|
+
},
|
|
58599
|
+
changeTab(index) {
|
|
58600
|
+
this.currentTab = index;
|
|
58601
|
+
},
|
|
58602
|
+
findFirstComponentKey(root) {
|
|
58603
|
+
var _root$querySelector;
|
|
58604
|
+
if (!root) return null;
|
|
58605
|
+
|
|
58606
|
+
// 若起点自身就有
|
|
58607
|
+
if (root.nodeType === 1 && root.hasAttribute("component-key")) {
|
|
58608
|
+
return root.getAttribute("component-key");
|
|
58609
|
+
}
|
|
58610
|
+
|
|
58611
|
+
// 向下查找第一个匹配的后代
|
|
58612
|
+
const el = (_root$querySelector = root.querySelector) === null || _root$querySelector === void 0 ? void 0 : _root$querySelector.call(root, "[component-key]");
|
|
58613
|
+
return el ? el.getAttribute("component-key") : null;
|
|
58614
|
+
},
|
|
58615
|
+
// 获取容器高度
|
|
58616
|
+
decodeJumpUrl(url) {
|
|
58617
|
+
if (!url) return;
|
|
58618
|
+
top.location.href = url;
|
|
58619
|
+
},
|
|
58620
|
+
onStart(evt) {
|
|
58621
|
+
console.log("drag start in column-card", evt);
|
|
58622
|
+
this.showAddCom = true;
|
|
58623
|
+
},
|
|
58624
|
+
// 限制拖拽的组件类型
|
|
58625
|
+
onMove(evt) {
|
|
58626
|
+
const {
|
|
58627
|
+
draggedContext
|
|
58628
|
+
} = evt;
|
|
58629
|
+
// 如果是从外部拖入的组件
|
|
58630
|
+
if (draggedContext && draggedContext.element) {
|
|
58631
|
+
const componentType = draggedContext.element.cmsCompName;
|
|
58632
|
+
// 特殊处理 cms-column:检查嵌套层级
|
|
58633
|
+
if (componentType === "cms-column") {
|
|
58634
|
+
if (!this.checkColumnNestingLevel()) {
|
|
58635
|
+
console.log("cms-column 嵌套层级超出限制");
|
|
58636
|
+
return false;
|
|
58637
|
+
}
|
|
58638
|
+
}
|
|
58639
|
+
}
|
|
58640
|
+
return true;
|
|
58641
|
+
},
|
|
58642
|
+
// 检查 cms-column 嵌套层级
|
|
58643
|
+
checkColumnNestingLevel() {
|
|
58644
|
+
// 检查当前 column-card 是否已经在 cms-column 内部
|
|
58645
|
+
let parent = this.$parent;
|
|
58646
|
+
let columnDepth = 0;
|
|
58647
|
+
while (parent) {
|
|
58648
|
+
// 检查父组件是否是 cms-column 或包含 cms-column
|
|
58649
|
+
if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
|
|
58650
|
+
columnDepth++;
|
|
58651
|
+
}
|
|
58652
|
+
|
|
58653
|
+
// 如果已经有一层 cms-column,则不允许再嵌套
|
|
58654
|
+
if (columnDepth >= 2) {
|
|
58655
|
+
console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
|
|
58656
|
+
return false;
|
|
58657
|
+
}
|
|
58658
|
+
parent = parent.$parent;
|
|
58659
|
+
}
|
|
58660
|
+
console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
|
|
58661
|
+
return true;
|
|
58662
|
+
},
|
|
58663
|
+
// 处理拖拽悬停
|
|
58664
|
+
dragover(e) {
|
|
58665
|
+
e.preventDefault();
|
|
58666
|
+
this.showAddCom = true;
|
|
58667
|
+
},
|
|
58668
|
+
// 处理拖拽放置
|
|
58669
|
+
drop(e) {
|
|
58670
|
+
e.preventDefault();
|
|
58671
|
+
const componentKey = e.dataTransfer.getData("componentKey");
|
|
58672
|
+
let temporaryId = "";
|
|
58673
|
+
this.temporaryList = e.dataTransfer.getData("temporaryList") ? JSON.parse(e.dataTransfer.getData("temporaryList")) : [];
|
|
58674
|
+
console.log("cms-colum-card-drop", componentKey, this.temporaryList);
|
|
58675
|
+
if (!componentKey) return;
|
|
58676
|
+
const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
|
|
58677
|
+
const isTemporary = isTemporaryItem === "true";
|
|
58678
|
+
if (isTemporary) {
|
|
58679
|
+
temporaryId = (0,standard_page/* getCopyTemplateCompConfig */.L7)(this.temporaryList, componentKey).cmsCompName;
|
|
58680
|
+
}
|
|
58681
|
+
const componentType = isTemporary ? temporaryId : componentKey;
|
|
58682
|
+
// 特殊处理 cms-column:检查嵌套层级
|
|
58683
|
+
if (componentType === "cms-column") {
|
|
58684
|
+
if (!this.checkColumnNestingLevel()) {
|
|
58685
|
+
console.log("cms-column 嵌套层级超出限制");
|
|
58686
|
+
this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
|
|
58687
|
+
this.showAddCom = false;
|
|
58688
|
+
return;
|
|
58689
|
+
}
|
|
58690
|
+
}
|
|
58691
|
+
this.addOneComp(e, componentKey);
|
|
58692
|
+
},
|
|
58693
|
+
// 添加组件到卡片容器
|
|
58694
|
+
addOneComp(e, componentKey) {
|
|
58695
|
+
this.showAddCom = false;
|
|
58696
|
+
console.log("drop to column-card", componentKey);
|
|
58697
|
+
|
|
58698
|
+
// 动态导入组件配置
|
|
58699
|
+
let initCompData;
|
|
58700
|
+
try {
|
|
58701
|
+
const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
|
|
58702
|
+
const isTemporary = isTemporaryItem === "true";
|
|
58703
|
+
if (isTemporary) {
|
|
58704
|
+
initCompData = (0,standard_page/* getCopyTemplateCompConfig */.L7)(this.temporaryList, componentKey);
|
|
58705
|
+
} else {
|
|
58706
|
+
initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
|
|
58707
|
+
}
|
|
58708
|
+
if (!isTemporary) {
|
|
58709
|
+
initCompData = {
|
|
58710
|
+
...initCompData,
|
|
58711
|
+
styleConfig: {
|
|
58712
|
+
pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
|
|
58713
|
+
mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
|
|
58714
|
+
}
|
|
58715
|
+
};
|
|
58716
|
+
}
|
|
58717
|
+
} catch (error) {
|
|
58718
|
+
console.error(`无法加载组件 ${componentKey}:`, error);
|
|
58719
|
+
this.$message && this.$message.error(`组件加载失败`);
|
|
58720
|
+
return;
|
|
58721
|
+
}
|
|
58722
|
+
const toElementId = e.toElement.id;
|
|
58723
|
+
if (toElementId === `tabTarget${this.currentTab}` || toElementId.includes("tabTargetdown")) {
|
|
58724
|
+
// 添加到卡片容器末尾
|
|
58725
|
+
this.configList[this.currentTab].tabList.push(initCompData);
|
|
58726
|
+
} else if (toElementId.includes("tabTargetup")) {
|
|
58727
|
+
// 插入到指定位置
|
|
58728
|
+
const underComponentId = toElementId.split("-tabTargetup")[0];
|
|
58729
|
+
const index = this.configList[this.currentTab].tabList.findIndex(item => item.componentId === underComponentId);
|
|
58730
|
+
if (index !== -1) {
|
|
58731
|
+
this.configList[this.currentTab].tabList.splice(index, 0, initCompData);
|
|
58732
|
+
}
|
|
58733
|
+
}
|
|
58734
|
+
|
|
58735
|
+
// 触发数据更新
|
|
58736
|
+
this.$emit("update:data", this.data);
|
|
58737
|
+
if (componentKey === "cms-column") {
|
|
58738
|
+
this.$EventBus.$emit("handleNowComp", initCompData);
|
|
58739
|
+
}
|
|
58740
|
+
}
|
|
58741
|
+
}
|
|
58742
|
+
});
|
|
58743
|
+
;// ./package/cms-tab/View.vue?vue&type=script&lang=js
|
|
58744
|
+
/* harmony default export */ var cms_tab_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
|
|
58745
|
+
;// ./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-tab/View.vue?vue&type=style&index=0&id=29a0258e&prod&lang=scss&scoped=true
|
|
58746
|
+
// extracted by mini-css-extract-plugin
|
|
58747
|
+
|
|
58748
|
+
;// ./package/cms-tab/View.vue?vue&type=style&index=0&id=29a0258e&prod&lang=scss&scoped=true
|
|
58749
|
+
|
|
58750
|
+
;// ./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-tab/View.vue?vue&type=style&index=1&id=29a0258e&prod&lang=scss&scoped=true
|
|
58751
|
+
// extracted by mini-css-extract-plugin
|
|
58752
|
+
|
|
58753
|
+
;// ./package/cms-tab/View.vue?vue&type=style&index=1&id=29a0258e&prod&lang=scss&scoped=true
|
|
58754
|
+
|
|
58755
|
+
// EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
|
|
58756
|
+
var componentNormalizer = __webpack_require__(1656);
|
|
58757
|
+
;// ./package/cms-tab/View.vue
|
|
58758
|
+
|
|
58759
|
+
|
|
58760
|
+
|
|
58761
|
+
;
|
|
58762
|
+
|
|
58763
|
+
|
|
58764
|
+
|
|
58765
|
+
/* normalize component */
|
|
58766
|
+
|
|
58767
|
+
var component = (0,componentNormalizer/* default */.A)(
|
|
58768
|
+
cms_tab_Viewvue_type_script_lang_js,
|
|
58769
|
+
render,
|
|
58770
|
+
staticRenderFns,
|
|
58771
|
+
false,
|
|
58772
|
+
null,
|
|
58773
|
+
"29a0258e",
|
|
58774
|
+
null
|
|
58775
|
+
|
|
58776
|
+
)
|
|
58777
|
+
|
|
58778
|
+
/* harmony default export */ var View = (component.exports);
|
|
58779
|
+
|
|
58780
|
+
/***/ }),
|
|
58781
|
+
|
|
58217
58782
|
/***/ 9286:
|
|
58218
58783
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
58219
58784
|
|