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.
@@ -1519,6 +1519,75 @@ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
1519
1519
  };
1520
1520
 
1521
1521
 
1522
+ /***/ }),
1523
+
1524
+ /***/ 521:
1525
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1526
+
1527
+ "use strict";
1528
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1529
+ /* harmony export */ L7: function() { return /* binding */ getCopyTemplateCompConfig; }
1530
+ /* harmony export */ });
1531
+ /* unused harmony exports standard_page_list, getComponentKey, isStaticComp, getWujieCompInfo */
1532
+ /* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8111);
1533
+ /* 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__);
1534
+ /* harmony import */ var core_js_modules_es_iterator_find_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(116);
1535
+ /* 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__);
1536
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9563);
1537
+
1538
+
1539
+
1540
+
1541
+
1542
+ const standard_page_list = [{
1543
+ id: 1,
1544
+ componentId: 1,
1545
+ componentName: "范本1-防诈骗提示",
1546
+ standList: ["cms-banner", "cms-titleCenter", "cms-lineThree"]
1547
+ }, {
1548
+ id: 2,
1549
+ componentId: 2,
1550
+ componentName: "范本2-员工优惠",
1551
+ standList: ["cms-banner", "cms-description", "cms-activityCountdown", "cms-titleLeft", "cms-proCard", "cms-termsAndConditions"]
1552
+ }];
1553
+ const getComponentKey = (compList, id, noCompId = false) => {
1554
+ if (noCompId) return id;
1555
+ let compConfig = compList.find(item => item.id == id);
1556
+ if (compConfig.type == "1") {
1557
+ return compConfig.componentId;
1558
+ }
1559
+ return "cms-dynamic-comp";
1560
+ };
1561
+ const getCopyTemplateCompConfig = (compList, componentKey) => {
1562
+ let otherConfig = {};
1563
+ const configureJson = compList.find(item => item.id == componentKey).configureJson;
1564
+ if (configureJson.wujieConfig) {
1565
+ //如果是第三方组件加一个临时标识
1566
+ otherConfig = {
1567
+ originalComponentId: configureJson.componentId,
1568
+ originalVersionId: configureJson.wujieConfig.versionId,
1569
+ operation: "copyTemplate"
1570
+ };
1571
+ }
1572
+ return {
1573
+ ...configureJson,
1574
+ componentId: (0,_utils__WEBPACK_IMPORTED_MODULE_2__/* .getUuidCode */ .J0)(32),
1575
+ ...otherConfig
1576
+ };
1577
+ };
1578
+ const isStaticComp = componentKey => {
1579
+ return ["cms-header", "cms-footer", "cms-breadCrumb"].includes(componentKey);
1580
+ };
1581
+ const getWujieCompInfo = (compList, componentId, isTemplate) => {
1582
+ let compConfig = compList.find(item => item.id == componentId);
1583
+ if (isTemplate) if (compConfig.type == "1") {
1584
+ return compConfig;
1585
+ }
1586
+ return {
1587
+ ...compConfig
1588
+ };
1589
+ };
1590
+
1522
1591
  /***/ }),
1523
1592
 
1524
1593
  /***/ 546:
@@ -1710,524 +1779,6 @@ module.exports = function (it, Prototype) {
1710
1779
  };
1711
1780
 
1712
1781
 
1713
- /***/ }),
1714
-
1715
- /***/ 688:
1716
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1717
-
1718
- "use strict";
1719
- // ESM COMPAT FLAG
1720
- __webpack_require__.r(__webpack_exports__);
1721
-
1722
- // EXPORTS
1723
- __webpack_require__.d(__webpack_exports__, {
1724
- "default": function() { return /* binding */ View; }
1725
- });
1726
-
1727
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
1728
- var es_iterator_constructor = __webpack_require__(8111);
1729
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
1730
- var es_iterator_drop = __webpack_require__(9314);
1731
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
1732
-
1733
-
1734
-
1735
-
1736
- var render = function render() {
1737
- var _vm = this,
1738
- _c = _vm._self._c;
1739
- return _c('BaseComp', _vm._b({
1740
- attrs: {
1741
- "data": _vm.data,
1742
- "nowCompId": _vm.nowCompId,
1743
- "isOpcacity": _vm.isOpcacity,
1744
- "isMask": false,
1745
- "lang": _vm.lang,
1746
- "showDel": false
1747
- },
1748
- on: {
1749
- "getConfigData": _vm.getConfigData
1750
- }
1751
- }, 'BaseComp', _vm.$attrs, false), [_vm.isConfigPage ? _c('div', {
1752
- staticClass: "main_drag hoverBorderClass",
1753
- style: _vm.cardContainerStyle,
1754
- attrs: {
1755
- "id": `cardTarget${_vm.data.componentId}`
1756
- },
1757
- on: {
1758
- "dragover": _vm.dragover,
1759
- "dragend": function ($event) {
1760
- _vm.showAddCom = false;
1761
- },
1762
- "drop": _vm.drop
1763
- }
1764
- }, [_c('Draggable', {
1765
- staticStyle: {
1766
- "position": "relative"
1767
- },
1768
- attrs: {
1769
- "group": _vm.groupConfigForMain,
1770
- "chosen-class": "chosen",
1771
- "force-fallback": "true",
1772
- "animation": "1000",
1773
- "move": _vm.onMove
1774
- },
1775
- on: {
1776
- "start": _vm.onStart,
1777
- "end": function ($event) {
1778
- _vm.showAddCom = false;
1779
- }
1780
- },
1781
- model: {
1782
- value: _vm.data.childList,
1783
- callback: function ($$v) {
1784
- _vm.$set(_vm.data, "childList", $$v);
1785
- },
1786
- expression: "data.childList"
1787
- }
1788
- }, [_vm._l(_vm.data.childList, function (item, index) {
1789
- return _c('div', {
1790
- key: item.componentId,
1791
- staticStyle: {
1792
- "position": "relative"
1793
- }
1794
- }, [_vm.showAddCom ? _c('div', {
1795
- staticClass: "up_insert",
1796
- attrs: {
1797
- "id": `${item.componentId}-cardTargetup`
1798
- }
1799
- }, [_c('i', {
1800
- staticClass: "icon-up",
1801
- attrs: {
1802
- "id": `${item.componentId}-upi`
1803
- }
1804
- }), _c('span', {
1805
- attrs: {
1806
- "id": `${item.componentId}-upspan`
1807
- }
1808
- }, [_vm._v("插入组件")])]) : _vm._e(), _c(item.cmsCompName, {
1809
- tag: "component",
1810
- style: {
1811
- marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
1812
- },
1813
- attrs: {
1814
- "data": item,
1815
- "lang": _vm.lang,
1816
- "isOpcacity": _vm.isOpcacity,
1817
- "nowCompId": _vm.nowCompId
1818
- }
1819
- })], 1);
1820
- }), _vm.showAddCom ? _c('div', {
1821
- staticClass: "up_insert insert_bottom",
1822
- style: {
1823
- bottom: _vm.data.childList.length ? '0px' : '-24px'
1824
- },
1825
- attrs: {
1826
- "id": `-cardTargetdown`
1827
- }
1828
- }, [_c('i', {
1829
- staticClass: "icon-up"
1830
- }), _c('span', [_vm._v("插入组件")])]) : _vm._e()], 2)], 1) : _c('cms-view', _vm._b({
1831
- style: _vm.cardContainerStyle,
1832
- attrs: {
1833
- "data": _vm.data.childList,
1834
- "lang": _vm.lang,
1835
- "isOpcacity": false
1836
- }
1837
- }, 'cms-view', _vm.$attrs, false))], 1);
1838
- };
1839
- var staticRenderFns = [];
1840
-
1841
- ;// ./package/cms-column-card/View.vue?vue&type=template&id=2dcb9de2&scoped=true
1842
-
1843
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
1844
- var es_array_push = __webpack_require__(4114);
1845
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
1846
- var baseComp = __webpack_require__(9659);
1847
- // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
1848
- var vuedraggable_umd = __webpack_require__(9014);
1849
- var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
1850
- // EXTERNAL MODULE: ./package/baseConfig.js
1851
- var baseConfig = __webpack_require__(2128);
1852
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.find.js
1853
- var es_iterator_find = __webpack_require__(116);
1854
- // EXTERNAL MODULE: ./src/utils/index.js
1855
- var utils = __webpack_require__(9563);
1856
- ;// ./src/views/standard_page.js
1857
-
1858
-
1859
-
1860
-
1861
-
1862
- const standard_page_list = [{
1863
- id: 1,
1864
- componentId: 1,
1865
- componentName: "范本1-防诈骗提示",
1866
- standList: ["cms-banner", "cms-titleCenter", "cms-lineThree"]
1867
- }, {
1868
- id: 2,
1869
- componentId: 2,
1870
- componentName: "范本2-员工优惠",
1871
- standList: ["cms-banner", "cms-description", "cms-activityCountdown", "cms-titleLeft", "cms-proCard", "cms-termsAndConditions"]
1872
- }];
1873
- const getComponentKey = (compList, id, noCompId = false) => {
1874
- if (noCompId) return id;
1875
- let compConfig = compList.find(item => item.id == id);
1876
- if (compConfig.type == "1") {
1877
- return compConfig.componentId;
1878
- }
1879
- return "cms-dynamic-comp";
1880
- };
1881
- const getCopyTemplateCompConfig = (compList, componentKey) => {
1882
- let otherConfig = {};
1883
- const configureJson = compList.find(item => item.id == componentKey).configureJson;
1884
- if (configureJson.wujieConfig) {
1885
- //如果是第三方组件加一个临时标识
1886
- otherConfig = {
1887
- originalComponentId: configureJson.componentId,
1888
- originalVersionId: configureJson.wujieConfig.versionId,
1889
- operation: "copyTemplate"
1890
- };
1891
- }
1892
- return {
1893
- ...configureJson,
1894
- componentId: (0,utils/* getUuidCode */.J0)(32),
1895
- ...otherConfig
1896
- };
1897
- };
1898
- const isStaticComp = componentKey => {
1899
- return ["cms-header", "cms-footer", "cms-breadCrumb"].includes(componentKey);
1900
- };
1901
- const getWujieCompInfo = (compList, componentId, isTemplate) => {
1902
- let compConfig = compList.find(item => item.id == componentId);
1903
- if (isTemplate) if (compConfig.type == "1") {
1904
- return compConfig;
1905
- }
1906
- return {
1907
- ...compConfig
1908
- };
1909
- };
1910
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
1911
-
1912
-
1913
-
1914
-
1915
-
1916
-
1917
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
1918
- name: "cms-column-card",
1919
- components: {
1920
- BaseComp: baseComp["default"],
1921
- Draggable: (vuedraggable_umd_default())
1922
- },
1923
- props: {
1924
- data: {
1925
- type: Object,
1926
- default: () => {
1927
- return {};
1928
- }
1929
- },
1930
- nowCompId: {
1931
- type: [String, Number],
1932
- default: ""
1933
- },
1934
- isOpcacity: {
1935
- type: Boolean,
1936
- default: true
1937
- },
1938
- lang: {
1939
- type: String,
1940
- default: "zh-HK"
1941
- },
1942
- isMobile: {
1943
- type: Boolean,
1944
- default: false
1945
- },
1946
- mobileLayout: {
1947
- type: String,
1948
- default: ""
1949
- }
1950
- },
1951
- data() {
1952
- return {
1953
- configData: {},
1954
- messFold: true,
1955
- showAddCom: false,
1956
- temporaryList: []
1957
- };
1958
- },
1959
- computed: {
1960
- isConfigPage() {
1961
- return this.$EventBus && this.isOpcacity;
1962
- },
1963
- groupConfigForMain() {
1964
- return {
1965
- name: "task",
1966
- pull: true,
1967
- // A列表的元素可以被拖出
1968
- put: (to, from, dragEl) => {
1969
- console.log(from.el.classList);
1970
- if (from.el.classList.contains("main_drag")) {
1971
- const dataId = this.findFirstComponentKey(dragEl);
1972
- const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column"];
1973
- console.log("allowedComponents", dataId);
1974
- if (dataId === "cms-column") {
1975
- if (!this.checkColumnNestingLevel()) {
1976
- console.log("cms-column 嵌套层级超出限制");
1977
- return false;
1978
- }
1979
- }
1980
- return allowedComponents.includes(dataId);
1981
- }
1982
- return true;
1983
- }
1984
- };
1985
- },
1986
- // 卡片容器样式
1987
- cardContainerStyle() {
1988
- return {
1989
- backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : "none",
1990
- backgroundSize: "cover",
1991
- backgroundRepeat: "no-repeat",
1992
- backgroundPosition: "center center",
1993
- height: this.getContainerHeight(),
1994
- border: this.getContainerBorder(),
1995
- borderRadius: this.getContainerBorderRadius(),
1996
- backgroundColor: this.configData.backgroundColor || "transparent",
1997
- boxShadow: this.configData.boxShadow || "none"
1998
- };
1999
- }
2000
- },
2001
- mounted() {
2002
- if (this.$EventBus) {
2003
- this.$EventBus.$on("handleDragEnd", () => {
2004
- this.showAddCom = false;
2005
- });
2006
- }
2007
- },
2008
- watch: {},
2009
- methods: {
2010
- findFirstComponentKey(root) {
2011
- var _root$querySelector;
2012
- if (!root) return null;
2013
-
2014
- // 若起点自身就有
2015
- if (root.nodeType === 1 && root.hasAttribute("component-key")) {
2016
- return root.getAttribute("component-key");
2017
- }
2018
-
2019
- // 向下查找第一个匹配的后代
2020
- const el = (_root$querySelector = root.querySelector) === null || _root$querySelector === void 0 ? void 0 : _root$querySelector.call(root, "[component-key]");
2021
- return el ? el.getAttribute("component-key") : null;
2022
- },
2023
- // 获取容器高度
2024
- getContainerHeight() {
2025
- if (this.configData.heightType === "fixed") {
2026
- return `${this.configData.fixedHeight}px`;
2027
- }
2028
- return this.isMobile && this.mobileLayout == "vertical" ? "auto" : "100%";
2029
- },
2030
- // 获取容器边框
2031
- getContainerBorder() {
2032
- if (this.configData.borderWidth) {
2033
- return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
2034
- }
2035
- return "none";
2036
- },
2037
- // 获取容器圆角
2038
- getContainerBorderRadius() {
2039
- if (this.configData.borderRadius) {
2040
- return `${this.configData.borderRadius}px`;
2041
- }
2042
- return "0";
2043
- },
2044
- getConfigData(configData) {
2045
- this.configData = configData;
2046
- },
2047
- foldMessText() {
2048
- this.messFold = !this.messFold;
2049
- },
2050
- decodeJumpUrl(url) {
2051
- if (!url) return;
2052
- top.location.href = url;
2053
- },
2054
- onStart(evt) {
2055
- console.log("drag start in column-card", evt);
2056
- this.showAddCom = true;
2057
- },
2058
- // 限制拖拽的组件类型
2059
- onMove(evt) {
2060
- const {
2061
- draggedContext
2062
- } = evt;
2063
-
2064
- // 允许的组件类型
2065
- const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
2066
- ];
2067
-
2068
- // 如果是从外部拖入的组件
2069
- if (draggedContext && draggedContext.element) {
2070
- const componentType = draggedContext.element.cmsCompName;
2071
- if (componentType && !allowedComponents.includes(componentType)) {
2072
- console.log("draggedContext.element", draggedContext.element);
2073
- console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
2074
- return false;
2075
- }
2076
-
2077
- // 特殊处理 cms-column:检查嵌套层级
2078
- if (componentType === "cms-column") {
2079
- if (!this.checkColumnNestingLevel()) {
2080
- console.log("cms-column 嵌套层级超出限制");
2081
- return false;
2082
- }
2083
- }
2084
- }
2085
- return true;
2086
- },
2087
- // 检查 cms-column 嵌套层级
2088
- checkColumnNestingLevel() {
2089
- // 检查当前 column-card 是否已经在 cms-column 内部
2090
- let parent = this.$parent;
2091
- let columnDepth = 0;
2092
- while (parent) {
2093
- // 检查父组件是否是 cms-column 或包含 cms-column
2094
- if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
2095
- columnDepth++;
2096
- }
2097
-
2098
- // 如果已经有一层 cms-column,则不允许再嵌套
2099
- if (columnDepth >= 2) {
2100
- console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
2101
- return false;
2102
- }
2103
- parent = parent.$parent;
2104
- }
2105
- console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
2106
- return true;
2107
- },
2108
- // 处理拖拽悬停
2109
- dragover(e) {
2110
- e.preventDefault();
2111
- this.showAddCom = true;
2112
- },
2113
- // 处理拖拽放置
2114
- drop(e) {
2115
- e.preventDefault();
2116
- const componentKey = e.dataTransfer.getData("componentKey");
2117
- let temporaryId = "";
2118
- this.temporaryList = e.dataTransfer.getData("temporaryList") ? JSON.parse(e.dataTransfer.getData("temporaryList")) : [];
2119
- console.log("cms-colum-card-drop", componentKey, this.temporaryList);
2120
- if (!componentKey) return;
2121
- const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
2122
- const isTemporary = isTemporaryItem === "true";
2123
- if (isTemporary) {
2124
- temporaryId = getCopyTemplateCompConfig(this.temporaryList, componentKey).cmsCompName;
2125
- }
2126
- const componentType = isTemporary ? temporaryId : componentKey;
2127
- // 允许的组件类型
2128
- const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
2129
- ];
2130
-
2131
- // 检查组件类型是否允许
2132
- if (!allowedComponents.includes(componentType)) {
2133
- console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
2134
- this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
2135
- this.showAddCom = false;
2136
- return;
2137
- }
2138
-
2139
- // 特殊处理 cms-column:检查嵌套层级
2140
- if (componentType === "cms-column") {
2141
- if (!this.checkColumnNestingLevel()) {
2142
- console.log("cms-column 嵌套层级超出限制");
2143
- this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
2144
- this.showAddCom = false;
2145
- return;
2146
- }
2147
- }
2148
- this.addOneComp(e, componentKey);
2149
- },
2150
- // 添加组件到卡片容器
2151
- addOneComp(e, componentKey) {
2152
- this.showAddCom = false;
2153
- console.log("drop to column-card", componentKey);
2154
-
2155
- // 动态导入组件配置
2156
- let initCompData;
2157
- try {
2158
- const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
2159
- const isTemporary = isTemporaryItem === "true";
2160
- if (isTemporary) {
2161
- initCompData = getCopyTemplateCompConfig(this.temporaryList, componentKey);
2162
- } else {
2163
- initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
2164
- }
2165
- if (!isTemporary) {
2166
- initCompData = {
2167
- ...initCompData,
2168
- styleConfig: {
2169
- pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
2170
- mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
2171
- }
2172
- };
2173
- }
2174
- } catch (error) {
2175
- console.error(`无法加载组件 ${componentKey}:`, error);
2176
- this.$message && this.$message.error(`组件加载失败`);
2177
- return;
2178
- }
2179
- const toElementId = e.toElement.id;
2180
- if (toElementId === `cardTarget${this.data.componentId}` || toElementId.includes("cardTargetdown")) {
2181
- // 添加到卡片容器末尾
2182
- this.data.childList.push(initCompData);
2183
- } else if (toElementId.includes("cardTargetup")) {
2184
- // 插入到指定位置
2185
- const underComponentId = toElementId.split("-cardTargetup")[0];
2186
- const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
2187
- if (index !== -1) {
2188
- this.data.childList.splice(index, 0, initCompData);
2189
- }
2190
- }
2191
-
2192
- // 触发数据更新
2193
- this.$emit("update:data", this.data);
2194
- if (componentKey === "cms-column") {
2195
- this.$EventBus.$emit("handleNowComp", initCompData);
2196
- }
2197
- }
2198
- }
2199
- });
2200
- ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
2201
- /* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
2202
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.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
2203
- // extracted by mini-css-extract-plugin
2204
-
2205
- ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=2dcb9de2&prod&lang=scss&scoped=true
2206
-
2207
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
2208
- var componentNormalizer = __webpack_require__(1656);
2209
- ;// ./package/cms-column-card/View.vue
2210
-
2211
-
2212
-
2213
- ;
2214
-
2215
-
2216
- /* normalize component */
2217
-
2218
- var component = (0,componentNormalizer/* default */.A)(
2219
- cms_column_card_Viewvue_type_script_lang_js,
2220
- render,
2221
- staticRenderFns,
2222
- false,
2223
- null,
2224
- "2dcb9de2",
2225
- null
2226
-
2227
- )
2228
-
2229
- /* harmony default export */ var View = (component.exports);
2230
-
2231
1782
  /***/ }),
2232
1783
 
2233
1784
  /***/ 713:
@@ -21169,13 +20720,13 @@ var map = {
21169
20720
  "./cms-column": 3154,
21170
20721
  "./cms-column-card": 3583,
21171
20722
  "./cms-column-card/": 3583,
21172
- "./cms-column-card/View": 688,
21173
- "./cms-column-card/View.vue": 688,
20723
+ "./cms-column-card/View": 9043,
20724
+ "./cms-column-card/View.vue": 9043,
21174
20725
  "./cms-column-card/index": 3583,
21175
20726
  "./cms-column-card/index.js": 3583,
21176
20727
  "./cms-column/": 3154,
21177
- "./cms-column/View": 6821,
21178
- "./cms-column/View.vue": 6821,
20728
+ "./cms-column/View": 7473,
20729
+ "./cms-column/View.vue": 7473,
21179
20730
  "./cms-column/index": 3154,
21180
20731
  "./cms-column/index.js": 3154,
21181
20732
  "./cms-description": 98,
@@ -21285,6 +20836,12 @@ var map = {
21285
20836
  "./cms-servePlan-text/View.vue": 4726,
21286
20837
  "./cms-servePlan-text/index": 2520,
21287
20838
  "./cms-servePlan-text/index.js": 2520,
20839
+ "./cms-tab": 9007,
20840
+ "./cms-tab/": 9007,
20841
+ "./cms-tab/View": 3874,
20842
+ "./cms-tab/View.vue": 3874,
20843
+ "./cms-tab/index": 9007,
20844
+ "./cms-tab/index.js": 9007,
21288
20845
  "./cms-termsAndConditions": 8806,
21289
20846
  "./cms-termsAndConditions/": 8806,
21290
20847
  "./cms-termsAndConditions/View": 7060,
@@ -25180,7 +24737,7 @@ module.exports = Math.min;
25180
24737
  __webpack_require__.r(__webpack_exports__);
25181
24738
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2128);
25182
24739
 
25183
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 6821));
24740
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 7473));
25184
24741
  const langData = {
25185
24742
  // 布局配置
25186
24743
  layoutType: "100",
@@ -34126,7 +33683,7 @@ $({ target: 'Iterator', proto: true, real: true }, {
34126
33683
  __webpack_require__.r(__webpack_exports__);
34127
33684
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2128);
34128
33685
 
34129
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 688));
33686
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 9043));
34130
33687
 
34131
33688
  // 默认配置数据
34132
33689
  const langData = {
@@ -34890,6 +34447,509 @@ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
34890
34447
  });
34891
34448
 
34892
34449
 
34450
+ /***/ }),
34451
+
34452
+ /***/ 3874:
34453
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
34454
+
34455
+ "use strict";
34456
+ // ESM COMPAT FLAG
34457
+ __webpack_require__.r(__webpack_exports__);
34458
+
34459
+ // EXPORTS
34460
+ __webpack_require__.d(__webpack_exports__, {
34461
+ "default": function() { return /* binding */ View; }
34462
+ });
34463
+
34464
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
34465
+ var es_iterator_constructor = __webpack_require__(8111);
34466
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
34467
+ var es_iterator_drop = __webpack_require__(9314);
34468
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
34469
+
34470
+
34471
+
34472
+
34473
+ var render = function render() {
34474
+ var _vm = this,
34475
+ _c = _vm._self._c;
34476
+ return _c('BaseComp', _vm._b({
34477
+ attrs: {
34478
+ "data": _vm.data,
34479
+ "nowCompId": _vm.nowCompId,
34480
+ "isOpcacity": _vm.isOpcacity,
34481
+ "isMask": false,
34482
+ "lang": _vm.lang
34483
+ },
34484
+ on: {
34485
+ "getConfigData": _vm.getConfigData
34486
+ }
34487
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
34488
+ staticClass: "cmhk-home_main"
34489
+ }, [_c('div', {
34490
+ staticClass: "page-tab-swiper_wrapper",
34491
+ class: _vm.swiperArrow == true ? '' : 'active'
34492
+ }, [_c('div', {
34493
+ ref: "barparent",
34494
+ staticClass: "page-tab-swiper common-swiper_tab",
34495
+ attrs: {
34496
+ "id": "tab-swiper"
34497
+ }
34498
+ }, [_c('div', {
34499
+ staticClass: "swiper-wrapper"
34500
+ }, _vm._l(_vm.configList, function (item, index) {
34501
+ return _c('div', {
34502
+ key: `${index}${item === null || item === void 0 ? void 0 : item.id}`,
34503
+ staticClass: "swiper-slide",
34504
+ class: index == _vm.currentTab ? 'active' : '',
34505
+ on: {
34506
+ "click": function ($event) {
34507
+ $event.stopPropagation();
34508
+ return _vm.changeTab(index);
34509
+ }
34510
+ }
34511
+ }, [_vm._v(" " + _vm._s(item.name) + " ")]);
34512
+ }), 0)])]), _vm.configList[_vm.currentTab] ? _c('div', {
34513
+ staticClass: "page-tab-swiper-body"
34514
+ }, [_vm.isConfigPage ? _c('div', {
34515
+ staticClass: "main_drag hoverBorderClass min-h",
34516
+ attrs: {
34517
+ "id": `tabTarget${_vm.currentTab}`
34518
+ },
34519
+ on: {
34520
+ "dragover": _vm.dragover,
34521
+ "dragend": function ($event) {
34522
+ _vm.showAddCom = false;
34523
+ },
34524
+ "drop": _vm.drop
34525
+ }
34526
+ }, [_c('Draggable', {
34527
+ staticStyle: {
34528
+ "position": "relative"
34529
+ },
34530
+ attrs: {
34531
+ "group": _vm.groupConfigForMain,
34532
+ "chosen-class": "chosen",
34533
+ "force-fallback": "true",
34534
+ "animation": "1000",
34535
+ "move": _vm.onMove
34536
+ },
34537
+ on: {
34538
+ "start": _vm.onStart,
34539
+ "end": function ($event) {
34540
+ _vm.showAddCom = false;
34541
+ }
34542
+ },
34543
+ model: {
34544
+ value: _vm.configList[_vm.currentTab].tabList,
34545
+ callback: function ($$v) {
34546
+ _vm.$set(_vm.configList[_vm.currentTab], "tabList", $$v);
34547
+ },
34548
+ expression: "configList[currentTab].tabList"
34549
+ }
34550
+ }, [_vm._l(_vm.configList[_vm.currentTab].tabList, function (item, index) {
34551
+ return _c('div', {
34552
+ key: item.componentId,
34553
+ staticStyle: {
34554
+ "position": "relative"
34555
+ }
34556
+ }, [_vm.showAddCom ? _c('div', {
34557
+ staticClass: "up_insert",
34558
+ attrs: {
34559
+ "id": `${item.componentId}-tabTargetup`
34560
+ }
34561
+ }, [_c('i', {
34562
+ staticClass: "icon-up",
34563
+ attrs: {
34564
+ "id": `${item.componentId}-upi`
34565
+ }
34566
+ }), _c('span', {
34567
+ attrs: {
34568
+ "id": `${item.componentId}-upspan`
34569
+ }
34570
+ }, [_vm._v("插入组件")])]) : _vm._e(), _c(item.cmsCompName, {
34571
+ tag: "component",
34572
+ style: {
34573
+ marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
34574
+ },
34575
+ attrs: {
34576
+ "data": item,
34577
+ "lang": _vm.lang,
34578
+ "isOpcacity": _vm.isOpcacity,
34579
+ "nowCompId": _vm.nowCompId
34580
+ }
34581
+ })], 1);
34582
+ }), _vm.showAddCom ? _c('div', {
34583
+ staticClass: "up_insert insert_bottom",
34584
+ style: {
34585
+ bottom: _vm.configList[_vm.currentTab].tabList.length ? '0px' : '-24px'
34586
+ },
34587
+ attrs: {
34588
+ "id": `-tabTargetdown`
34589
+ }
34590
+ }, [_c('i', {
34591
+ staticClass: "icon-up"
34592
+ }), _c('span', [_vm._v("插入组件")])]) : _vm._e()], 2)], 1) : _c('cms-view', _vm._b({
34593
+ attrs: {
34594
+ "data": _vm.configList[_vm.currentTab].tabList,
34595
+ "lang": _vm.lang,
34596
+ "isOpcacity": false
34597
+ }
34598
+ }, 'cms-view', _vm.$attrs, false))], 1) : _vm._e()])]);
34599
+ };
34600
+ var staticRenderFns = [];
34601
+
34602
+ ;// ./package/cms-tab/View.vue?vue&type=template&id=29a0258e&scoped=true
34603
+
34604
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
34605
+ var es_array_push = __webpack_require__(4114);
34606
+ // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.js
34607
+ var swiper = __webpack_require__(828);
34608
+ // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
34609
+ var swiper_esm_bundle = __webpack_require__(1532);
34610
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
34611
+ var baseComp = __webpack_require__(9659);
34612
+ // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
34613
+ var vuedraggable_umd = __webpack_require__(9014);
34614
+ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
34615
+ // EXTERNAL MODULE: ./package/baseConfig.js
34616
+ var baseConfig = __webpack_require__(2128);
34617
+ // EXTERNAL MODULE: ./src/views/standard_page.js
34618
+ var standard_page = __webpack_require__(521);
34619
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
34620
+
34621
+
34622
+
34623
+
34624
+
34625
+
34626
+
34627
+
34628
+
34629
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
34630
+ name: "cms-tab",
34631
+ components: {
34632
+ BaseComp: baseComp["default"],
34633
+ Draggable: (vuedraggable_umd_default())
34634
+ },
34635
+ props: {
34636
+ data: {
34637
+ type: Object,
34638
+ default: () => {
34639
+ return {};
34640
+ }
34641
+ },
34642
+ nowCompId: {
34643
+ type: [String, Number],
34644
+ default: ""
34645
+ },
34646
+ isOpcacity: {
34647
+ type: Boolean,
34648
+ default: true
34649
+ },
34650
+ lang: {
34651
+ type: String,
34652
+ default: "zh-HK"
34653
+ },
34654
+ isMobile: {
34655
+ type: Boolean,
34656
+ default: false
34657
+ },
34658
+ mobileLayout: {
34659
+ type: String,
34660
+ default: ""
34661
+ }
34662
+ },
34663
+ data() {
34664
+ return {
34665
+ showAddCom: false,
34666
+ temporaryList: [],
34667
+ configList: [],
34668
+ currentTab: 0,
34669
+ swiperArrow: false,
34670
+ broadbandSwiperC: null,
34671
+ swiperBeginning: false,
34672
+ swiperEnd: false
34673
+ };
34674
+ },
34675
+ computed: {
34676
+ isConfigPage() {
34677
+ return this.$EventBus && this.isOpcacity;
34678
+ },
34679
+ groupConfigForMain() {
34680
+ return {
34681
+ name: "task",
34682
+ pull: true,
34683
+ // A列表的元素可以被拖出
34684
+ put: (to, from, dragEl) => {
34685
+ console.log(from.el.classList);
34686
+ if (from.el.classList.contains("main_drag")) {
34687
+ const dataId = this.findFirstComponentKey(dragEl);
34688
+ if (dataId === "cms-column") {
34689
+ if (!this.checkColumnNestingLevel()) {
34690
+ console.log("cms-column 嵌套层级超出限制");
34691
+ return false;
34692
+ }
34693
+ }
34694
+ return true;
34695
+ }
34696
+ return true;
34697
+ }
34698
+ };
34699
+ }
34700
+ },
34701
+ mounted() {
34702
+ if (this.$EventBus) {
34703
+ this.$EventBus.$on("handleDragEnd", () => {
34704
+ this.showAddCom = false;
34705
+ });
34706
+ }
34707
+ this.$nextTick(() => {
34708
+ this.broadbandSwiperC = new swiper_esm_bundle/* default */.A("#tab-swiper", {
34709
+ autoplay: false,
34710
+ loop: false,
34711
+ // 循环模式选项
34712
+ spaceBetween: 0,
34713
+ slidesPerView: "auto",
34714
+ // slidesPerGroup:1,
34715
+ observer: true,
34716
+ observeParents: true,
34717
+ preventClicksPropagation: true,
34718
+ touchStartPreventDefault: false,
34719
+ touchStartForcePreventDefault: false
34720
+ });
34721
+ // 0820 -end
34722
+ });
34723
+ },
34724
+ watch: {},
34725
+ methods: {
34726
+ getConfigData(configData) {
34727
+ this.configList = configData.configList;
34728
+ this.$nextTick(() => {
34729
+ var _this$broadbandSwiper, _this$broadbandSwiper2;
34730
+ if (!this.$refs.barparent || !this.broadbandSwiperC) return;
34731
+ const parentClientWidth = this.$refs.barparent.clientWidth;
34732
+ console.log("this.broadbandSwiperC?.virtualSize ,", (_this$broadbandSwiper = this.broadbandSwiperC) === null || _this$broadbandSwiper === void 0 ? void 0 : _this$broadbandSwiper.virtualSize);
34733
+ if (((_this$broadbandSwiper2 = this.broadbandSwiperC) === null || _this$broadbandSwiper2 === void 0 ? void 0 : _this$broadbandSwiper2.virtualSize) <= parentClientWidth) {
34734
+ this.swiperArrow = false;
34735
+ } else {
34736
+ this.swiperArrow = true;
34737
+ }
34738
+ if (this.broadbandSwiperC.isBeginning) {
34739
+ this.swiperBeginning = true;
34740
+ }
34741
+ if (this.broadbandSwiperC.isEnd) {
34742
+ this.swiperEnd = true;
34743
+ }
34744
+ });
34745
+ },
34746
+ clickSwiperPrev() {
34747
+ this.broadbandSwiperC.slidePrev();
34748
+ if (this.broadbandSwiperC.isBeginning) {
34749
+ this.swiperBeginning = true;
34750
+ } else {
34751
+ this.swiperBeginning = false;
34752
+ }
34753
+ if (this.broadbandSwiperC.isEnd) {
34754
+ this.swiperEnd = true;
34755
+ } else {
34756
+ this.swiperEnd = false;
34757
+ }
34758
+ },
34759
+ clickSwiperNext() {
34760
+ this.broadbandSwiperC.slideNext();
34761
+ if (this.broadbandSwiperC.isBeginning) {
34762
+ this.swiperBeginning = true;
34763
+ } else {
34764
+ this.swiperBeginning = false;
34765
+ }
34766
+ if (this.broadbandSwiperC.isEnd) {
34767
+ this.swiperEnd = true;
34768
+ } else {
34769
+ this.swiperEnd = false;
34770
+ }
34771
+ },
34772
+ changeTab(index) {
34773
+ this.currentTab = index;
34774
+ },
34775
+ findFirstComponentKey(root) {
34776
+ var _root$querySelector;
34777
+ if (!root) return null;
34778
+
34779
+ // 若起点自身就有
34780
+ if (root.nodeType === 1 && root.hasAttribute("component-key")) {
34781
+ return root.getAttribute("component-key");
34782
+ }
34783
+
34784
+ // 向下查找第一个匹配的后代
34785
+ const el = (_root$querySelector = root.querySelector) === null || _root$querySelector === void 0 ? void 0 : _root$querySelector.call(root, "[component-key]");
34786
+ return el ? el.getAttribute("component-key") : null;
34787
+ },
34788
+ // 获取容器高度
34789
+ decodeJumpUrl(url) {
34790
+ if (!url) return;
34791
+ top.location.href = url;
34792
+ },
34793
+ onStart(evt) {
34794
+ console.log("drag start in column-card", evt);
34795
+ this.showAddCom = true;
34796
+ },
34797
+ // 限制拖拽的组件类型
34798
+ onMove(evt) {
34799
+ const {
34800
+ draggedContext
34801
+ } = evt;
34802
+ // 如果是从外部拖入的组件
34803
+ if (draggedContext && draggedContext.element) {
34804
+ const componentType = draggedContext.element.cmsCompName;
34805
+ // 特殊处理 cms-column:检查嵌套层级
34806
+ if (componentType === "cms-column") {
34807
+ if (!this.checkColumnNestingLevel()) {
34808
+ console.log("cms-column 嵌套层级超出限制");
34809
+ return false;
34810
+ }
34811
+ }
34812
+ }
34813
+ return true;
34814
+ },
34815
+ // 检查 cms-column 嵌套层级
34816
+ checkColumnNestingLevel() {
34817
+ // 检查当前 column-card 是否已经在 cms-column 内部
34818
+ let parent = this.$parent;
34819
+ let columnDepth = 0;
34820
+ while (parent) {
34821
+ // 检查父组件是否是 cms-column 或包含 cms-column
34822
+ if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
34823
+ columnDepth++;
34824
+ }
34825
+
34826
+ // 如果已经有一层 cms-column,则不允许再嵌套
34827
+ if (columnDepth >= 2) {
34828
+ console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
34829
+ return false;
34830
+ }
34831
+ parent = parent.$parent;
34832
+ }
34833
+ console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
34834
+ return true;
34835
+ },
34836
+ // 处理拖拽悬停
34837
+ dragover(e) {
34838
+ e.preventDefault();
34839
+ this.showAddCom = true;
34840
+ },
34841
+ // 处理拖拽放置
34842
+ drop(e) {
34843
+ e.preventDefault();
34844
+ const componentKey = e.dataTransfer.getData("componentKey");
34845
+ let temporaryId = "";
34846
+ this.temporaryList = e.dataTransfer.getData("temporaryList") ? JSON.parse(e.dataTransfer.getData("temporaryList")) : [];
34847
+ console.log("cms-colum-card-drop", componentKey, this.temporaryList);
34848
+ if (!componentKey) return;
34849
+ const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
34850
+ const isTemporary = isTemporaryItem === "true";
34851
+ if (isTemporary) {
34852
+ temporaryId = (0,standard_page/* getCopyTemplateCompConfig */.L7)(this.temporaryList, componentKey).cmsCompName;
34853
+ }
34854
+ const componentType = isTemporary ? temporaryId : componentKey;
34855
+ // 特殊处理 cms-column:检查嵌套层级
34856
+ if (componentType === "cms-column") {
34857
+ if (!this.checkColumnNestingLevel()) {
34858
+ console.log("cms-column 嵌套层级超出限制");
34859
+ this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
34860
+ this.showAddCom = false;
34861
+ return;
34862
+ }
34863
+ }
34864
+ this.addOneComp(e, componentKey);
34865
+ },
34866
+ // 添加组件到卡片容器
34867
+ addOneComp(e, componentKey) {
34868
+ this.showAddCom = false;
34869
+ console.log("drop to column-card", componentKey);
34870
+
34871
+ // 动态导入组件配置
34872
+ let initCompData;
34873
+ try {
34874
+ const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
34875
+ const isTemporary = isTemporaryItem === "true";
34876
+ if (isTemporary) {
34877
+ initCompData = (0,standard_page/* getCopyTemplateCompConfig */.L7)(this.temporaryList, componentKey);
34878
+ } else {
34879
+ initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
34880
+ }
34881
+ if (!isTemporary) {
34882
+ initCompData = {
34883
+ ...initCompData,
34884
+ styleConfig: {
34885
+ pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
34886
+ mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
34887
+ }
34888
+ };
34889
+ }
34890
+ } catch (error) {
34891
+ console.error(`无法加载组件 ${componentKey}:`, error);
34892
+ this.$message && this.$message.error(`组件加载失败`);
34893
+ return;
34894
+ }
34895
+ const toElementId = e.toElement.id;
34896
+ if (toElementId === `tabTarget${this.currentTab}` || toElementId.includes("tabTargetdown")) {
34897
+ // 添加到卡片容器末尾
34898
+ this.configList[this.currentTab].tabList.push(initCompData);
34899
+ } else if (toElementId.includes("tabTargetup")) {
34900
+ // 插入到指定位置
34901
+ const underComponentId = toElementId.split("-tabTargetup")[0];
34902
+ const index = this.configList[this.currentTab].tabList.findIndex(item => item.componentId === underComponentId);
34903
+ if (index !== -1) {
34904
+ this.configList[this.currentTab].tabList.splice(index, 0, initCompData);
34905
+ }
34906
+ }
34907
+
34908
+ // 触发数据更新
34909
+ this.$emit("update:data", this.data);
34910
+ if (componentKey === "cms-column") {
34911
+ this.$EventBus.$emit("handleNowComp", initCompData);
34912
+ }
34913
+ }
34914
+ }
34915
+ });
34916
+ ;// ./package/cms-tab/View.vue?vue&type=script&lang=js
34917
+ /* harmony default export */ var cms_tab_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
34918
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.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
34919
+ // extracted by mini-css-extract-plugin
34920
+
34921
+ ;// ./package/cms-tab/View.vue?vue&type=style&index=0&id=29a0258e&prod&lang=scss&scoped=true
34922
+
34923
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.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
34924
+ // extracted by mini-css-extract-plugin
34925
+
34926
+ ;// ./package/cms-tab/View.vue?vue&type=style&index=1&id=29a0258e&prod&lang=scss&scoped=true
34927
+
34928
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
34929
+ var componentNormalizer = __webpack_require__(1656);
34930
+ ;// ./package/cms-tab/View.vue
34931
+
34932
+
34933
+
34934
+ ;
34935
+
34936
+
34937
+
34938
+ /* normalize component */
34939
+
34940
+ var component = (0,componentNormalizer/* default */.A)(
34941
+ cms_tab_Viewvue_type_script_lang_js,
34942
+ render,
34943
+ staticRenderFns,
34944
+ false,
34945
+ null,
34946
+ "29a0258e",
34947
+ null
34948
+
34949
+ )
34950
+
34951
+ /* harmony default export */ var View = (component.exports);
34952
+
34893
34953
  /***/ }),
34894
34954
 
34895
34955
  /***/ 3923:
@@ -38691,8 +38751,8 @@ var map = {
38691
38751
  "./cms-banner/View.vue": 9894,
38692
38752
  "./cms-button/View.vue": 1163,
38693
38753
  "./cms-cells/View.vue": 983,
38694
- "./cms-column-card/View.vue": 688,
38695
- "./cms-column/View.vue": 6821,
38754
+ "./cms-column-card/View.vue": 9043,
38755
+ "./cms-column/View.vue": 7473,
38696
38756
  "./cms-description/View.vue": 6296,
38697
38757
  "./cms-dynamic-comp/View.vue": 471,
38698
38758
  "./cms-iconFour/View.vue": 2946,
@@ -38710,6 +38770,7 @@ var map = {
38710
38770
  "./cms-richText/View.vue": 5713,
38711
38771
  "./cms-servePlan-tab/View.vue": 8296,
38712
38772
  "./cms-servePlan-text/View.vue": 4726,
38773
+ "./cms-tab/View.vue": 3874,
38713
38774
  "./cms-termsAndConditions/View.vue": 7060,
38714
38775
  "./cms-text/View.vue": 7428,
38715
38776
  "./cms-threeScroll/View.vue": 38,
@@ -39105,7 +39166,7 @@ function getShopproGroup(data) {
39105
39166
  function columnQuery(params) {
39106
39167
  return request({
39107
39168
  method: "post",
39108
- url: "/ecosp-console/columnCategory/query",
39169
+ url: "/ecosp-console/columnCategory/queryByCommodityType",
39109
39170
  data: params
39110
39171
  });
39111
39172
  }
@@ -45389,270 +45450,6 @@ exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties :
45389
45450
  };
45390
45451
 
45391
45452
 
45392
- /***/ }),
45393
-
45394
- /***/ 6821:
45395
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
45396
-
45397
- "use strict";
45398
- // ESM COMPAT FLAG
45399
- __webpack_require__.r(__webpack_exports__);
45400
-
45401
- // EXPORTS
45402
- __webpack_require__.d(__webpack_exports__, {
45403
- "default": function() { return /* binding */ View; }
45404
- });
45405
-
45406
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
45407
- var render = function render() {
45408
- var _vm = this,
45409
- _c = _vm._self._c;
45410
- return _c('BaseComp', _vm._b({
45411
- attrs: {
45412
- "data": _vm.data,
45413
- "nowCompId": _vm.nowCompId,
45414
- "isOpcacity": _vm.isOpcacity,
45415
- "isMask": false,
45416
- "lang": _vm.lang
45417
- },
45418
- on: {
45419
- "getConfigData": _vm.getConfigData
45420
- },
45421
- scopedSlots: _vm._u([{
45422
- key: "default",
45423
- fn: function (slotProps) {
45424
- return [_c('section', {
45425
- class: [_vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main', {
45426
- hoverBorderClass: _vm.isConfigPage
45427
- }],
45428
- style: _vm.containerStyle
45429
- }, [_c('div', {
45430
- staticClass: "column-setting",
45431
- class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
45432
- style: _vm.columnStyle
45433
- }, _vm._l(_vm.data.childList, function (item, index) {
45434
- return _c('cms-column-card', _vm._b({
45435
- key: item.componentId,
45436
- class: _vm.getColumnItemClass(index),
45437
- style: _vm.getColumnItemStyle(index),
45438
- attrs: {
45439
- "data": item,
45440
- "nowCompId": _vm.nowCompId,
45441
- "isOpcacity": _vm.isOpcacity,
45442
- "isMask": false,
45443
- "lang": _vm.lang,
45444
- "isMobile": slotProps.isMobile,
45445
- "mobileLayout": _vm.configData.mobileLayout
45446
- }
45447
- }, 'cms-column-card', _vm.$attrs, false));
45448
- }), 1)])];
45449
- }
45450
- }])
45451
- }, 'BaseComp', _vm.$attrs, false));
45452
- };
45453
- var staticRenderFns = [];
45454
-
45455
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
45456
- var baseComp = __webpack_require__(9659);
45457
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
45458
-
45459
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
45460
- name: "cms-column",
45461
- components: {
45462
- BaseComp: baseComp["default"]
45463
- },
45464
- props: {
45465
- data: {
45466
- type: Object,
45467
- default: () => {
45468
- return {};
45469
- }
45470
- },
45471
- nowCompId: {
45472
- type: [String, Number],
45473
- default: ""
45474
- },
45475
- isOpcacity: {
45476
- type: Boolean,
45477
- default: true
45478
- },
45479
- lang: {
45480
- type: String,
45481
- default: "zh-HK"
45482
- }
45483
- },
45484
- data() {
45485
- return {
45486
- configData: {},
45487
- messFold: true,
45488
- // 默认配置数据
45489
- defaultConfig: {
45490
- layoutType: "100",
45491
- heightType: "auto",
45492
- widthType: "auto",
45493
- mobileLayout: "vertical",
45494
- fixedHeight: 300,
45495
- borderWidth: 0,
45496
- borderStyle: "solid",
45497
- borderColor: "",
45498
- backgroundColor: "#FFF",
45499
- backgroundImage: "",
45500
- boxShadow: "",
45501
- borderRadius: 0,
45502
- columnGap: 0,
45503
- rowGap: 0,
45504
- title: "",
45505
- description: "",
45506
- input1: "",
45507
- showTitle: true,
45508
- showDescription: true,
45509
- animationDuration: 300,
45510
- responsiveBreakpoint: 768
45511
- }
45512
- };
45513
- },
45514
- mounted() {},
45515
- watch: {
45516
- configData: {
45517
- handler() {
45518
- this.updateStyles();
45519
- },
45520
- immediate: true,
45521
- deep: true
45522
- }
45523
- },
45524
- computed: {
45525
- isConfigPage() {
45526
- return this.$EventBus && this.isOpcacity;
45527
- },
45528
- // 容器样式
45529
- containerStyle() {
45530
- return {
45531
- backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
45532
- backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
45533
- backgroundSize: "cover",
45534
- backgroundRepeat: "no-repeat",
45535
- backgroundPosition: "center center",
45536
- boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
45537
- borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
45538
- minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
45539
- };
45540
- },
45541
- // 分栏容器样式
45542
- columnStyle() {
45543
- // const gap = this.configData.rowGap || this.defaultConfig.rowGap;
45544
- return {
45545
- // gap: `${gap}px`,
45546
- border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
45547
- };
45548
- }
45549
- },
45550
- methods: {
45551
- // 获取配置数据
45552
- getConfigData(configData) {
45553
- this.configData = configData;
45554
- this.updateStyles();
45555
- },
45556
- // 更新样式
45557
- updateStyles() {
45558
- this.$nextTick(() => {
45559
- // 触发样式更新
45560
- this.$forceUpdate();
45561
- });
45562
- },
45563
- // 获取分栏项的类名
45564
- getColumnItemClass(index) {
45565
- const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
45566
- return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
45567
- "min-h": this.$EventBus && this.isOpcacity,
45568
- "first-item": index === 0,
45569
- "last-item": index === this.data.childList.length - 1
45570
- }];
45571
- },
45572
- // 获取分栏项的样式
45573
- getColumnItemStyle(index) {
45574
- const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
45575
- const gap = this.configData.rowGap || this.defaultConfig.rowGap;
45576
- let flexBasis = "100%";
45577
- let marginRight = "0";
45578
-
45579
- // 根据布局类型设置宽度
45580
- switch (layoutType) {
45581
- case "50-50":
45582
- flexBasis = `calc(50% - ${gap / 2}px)`;
45583
- marginRight = index % 2 === 0 ? `${gap}px` : "0";
45584
- break;
45585
- case "33-66":
45586
- flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
45587
- marginRight = index === 0 ? `${gap}px` : "0";
45588
- break;
45589
- case "66-33":
45590
- flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
45591
- marginRight = index === 0 ? `${gap}px` : "0";
45592
- break;
45593
- case "33-33-33":
45594
- flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
45595
- marginRight = index < 2 ? `${gap}px` : "0";
45596
- break;
45597
- case "25-50-25":
45598
- if (index === 0 || index === 2) {
45599
- flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
45600
- } else {
45601
- flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
45602
- }
45603
- marginRight = index < 2 ? `${gap}px` : "0";
45604
- break;
45605
- default:
45606
- flexBasis = "100%";
45607
- }
45608
- return {
45609
- flexBasis,
45610
- marginRight,
45611
- marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
45612
- };
45613
- },
45614
- // 折叠/展开文本
45615
- foldMessText() {
45616
- this.messFold = !this.messFold;
45617
- },
45618
- // 处理跳转链接
45619
- decodeJumpUrl(url) {
45620
- if (!url) return;
45621
- top.location.href = url;
45622
- }
45623
- }
45624
- });
45625
- ;// ./package/cms-column/View.vue?vue&type=script&lang=js
45626
- /* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
45627
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.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
45628
- // extracted by mini-css-extract-plugin
45629
-
45630
- ;// ./package/cms-column/View.vue?vue&type=style&index=0&id=1402d563&prod&lang=scss&scoped=true
45631
-
45632
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
45633
- var componentNormalizer = __webpack_require__(1656);
45634
- ;// ./package/cms-column/View.vue
45635
-
45636
-
45637
-
45638
- ;
45639
-
45640
-
45641
- /* normalize component */
45642
-
45643
- var component = (0,componentNormalizer/* default */.A)(
45644
- cms_column_Viewvue_type_script_lang_js,
45645
- render,
45646
- staticRenderFns,
45647
- false,
45648
- null,
45649
- "1402d563",
45650
- null
45651
-
45652
- )
45653
-
45654
- /* harmony default export */ var View = (component.exports);
45655
-
45656
45453
  /***/ }),
45657
45454
 
45658
45455
  /***/ 6823:
@@ -47720,6 +47517,268 @@ exportTypedArrayMethod('toReversed', function toReversed() {
47720
47517
  });
47721
47518
 
47722
47519
 
47520
+ /***/ }),
47521
+
47522
+ /***/ 7473:
47523
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
47524
+
47525
+ "use strict";
47526
+ // ESM COMPAT FLAG
47527
+ __webpack_require__.r(__webpack_exports__);
47528
+
47529
+ // EXPORTS
47530
+ __webpack_require__.d(__webpack_exports__, {
47531
+ "default": function() { return /* binding */ View; }
47532
+ });
47533
+
47534
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
47535
+ var render = function render() {
47536
+ var _vm = this,
47537
+ _c = _vm._self._c;
47538
+ return _c('BaseComp', _vm._b({
47539
+ attrs: {
47540
+ "data": _vm.data,
47541
+ "nowCompId": _vm.nowCompId,
47542
+ "isOpcacity": _vm.isOpcacity,
47543
+ "isMask": false,
47544
+ "lang": _vm.lang
47545
+ },
47546
+ on: {
47547
+ "getConfigData": _vm.getConfigData
47548
+ },
47549
+ scopedSlots: _vm._u([{
47550
+ key: "default",
47551
+ fn: function (slotProps) {
47552
+ return [_c('section', {
47553
+ class: [_vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main', _vm.isConfigPage ? 'hoverBorderClass' : ''],
47554
+ style: _vm.containerStyle
47555
+ }, [_c('div', {
47556
+ staticClass: "column-setting",
47557
+ class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
47558
+ style: _vm.columnStyle
47559
+ }, _vm._l(_vm.data.childList, function (item, index) {
47560
+ return _c('cms-column-card', _vm._b({
47561
+ key: item.componentId,
47562
+ class: _vm.getColumnItemClass(index),
47563
+ style: _vm.getColumnItemStyle(index),
47564
+ attrs: {
47565
+ "data": item,
47566
+ "nowCompId": _vm.nowCompId,
47567
+ "isOpcacity": _vm.isOpcacity,
47568
+ "isMask": false,
47569
+ "lang": _vm.lang,
47570
+ "isMobile": slotProps.isMobile,
47571
+ "mobileLayout": _vm.configData.mobileLayout
47572
+ }
47573
+ }, 'cms-column-card', _vm.$attrs, false));
47574
+ }), 1)])];
47575
+ }
47576
+ }])
47577
+ }, 'BaseComp', _vm.$attrs, false));
47578
+ };
47579
+ var staticRenderFns = [];
47580
+
47581
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
47582
+ var baseComp = __webpack_require__(9659);
47583
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
47584
+
47585
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
47586
+ name: "cms-column",
47587
+ components: {
47588
+ BaseComp: baseComp["default"]
47589
+ },
47590
+ props: {
47591
+ data: {
47592
+ type: Object,
47593
+ default: () => {
47594
+ return {};
47595
+ }
47596
+ },
47597
+ nowCompId: {
47598
+ type: [String, Number],
47599
+ default: ""
47600
+ },
47601
+ isOpcacity: {
47602
+ type: Boolean,
47603
+ default: true
47604
+ },
47605
+ lang: {
47606
+ type: String,
47607
+ default: "zh-HK"
47608
+ }
47609
+ },
47610
+ data() {
47611
+ return {
47612
+ configData: {},
47613
+ messFold: true,
47614
+ // 默认配置数据
47615
+ defaultConfig: {
47616
+ layoutType: "100",
47617
+ heightType: "auto",
47618
+ widthType: "auto",
47619
+ mobileLayout: "vertical",
47620
+ fixedHeight: 300,
47621
+ borderWidth: 0,
47622
+ borderStyle: "solid",
47623
+ borderColor: "",
47624
+ backgroundColor: "#FFF",
47625
+ backgroundImage: "",
47626
+ boxShadow: "",
47627
+ borderRadius: 0,
47628
+ columnGap: 0,
47629
+ rowGap: 0,
47630
+ title: "",
47631
+ description: "",
47632
+ input1: "",
47633
+ showTitle: true,
47634
+ showDescription: true,
47635
+ animationDuration: 300,
47636
+ responsiveBreakpoint: 768
47637
+ }
47638
+ };
47639
+ },
47640
+ mounted() {},
47641
+ watch: {
47642
+ configData: {
47643
+ handler() {
47644
+ this.updateStyles();
47645
+ },
47646
+ immediate: true,
47647
+ deep: true
47648
+ }
47649
+ },
47650
+ computed: {
47651
+ isConfigPage() {
47652
+ return this.$EventBus && this.isOpcacity;
47653
+ },
47654
+ // 容器样式
47655
+ containerStyle() {
47656
+ return {
47657
+ backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
47658
+ backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
47659
+ backgroundSize: "cover",
47660
+ backgroundRepeat: "no-repeat",
47661
+ backgroundPosition: "center center",
47662
+ boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
47663
+ borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
47664
+ minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
47665
+ };
47666
+ },
47667
+ // 分栏容器样式
47668
+ columnStyle() {
47669
+ // const gap = this.configData.rowGap || this.defaultConfig.rowGap;
47670
+ return {
47671
+ // gap: `${gap}px`,
47672
+ border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
47673
+ };
47674
+ }
47675
+ },
47676
+ methods: {
47677
+ // 获取配置数据
47678
+ getConfigData(configData) {
47679
+ this.configData = configData;
47680
+ this.updateStyles();
47681
+ },
47682
+ // 更新样式
47683
+ updateStyles() {
47684
+ this.$nextTick(() => {
47685
+ // 触发样式更新
47686
+ this.$forceUpdate();
47687
+ });
47688
+ },
47689
+ // 获取分栏项的类名
47690
+ getColumnItemClass(index) {
47691
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
47692
+ return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
47693
+ "min-h": this.$EventBus && this.isOpcacity,
47694
+ "first-item": index === 0,
47695
+ "last-item": index === this.data.childList.length - 1
47696
+ }];
47697
+ },
47698
+ // 获取分栏项的样式
47699
+ getColumnItemStyle(index) {
47700
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
47701
+ const gap = this.configData.rowGap || this.defaultConfig.rowGap;
47702
+ let flexBasis = "100%";
47703
+ let marginRight = "0";
47704
+
47705
+ // 根据布局类型设置宽度
47706
+ switch (layoutType) {
47707
+ case "50-50":
47708
+ flexBasis = `calc(50% - ${gap / 2}px)`;
47709
+ marginRight = index % 2 === 0 ? `${gap}px` : "0";
47710
+ break;
47711
+ case "33-66":
47712
+ flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
47713
+ marginRight = index === 0 ? `${gap}px` : "0";
47714
+ break;
47715
+ case "66-33":
47716
+ flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
47717
+ marginRight = index === 0 ? `${gap}px` : "0";
47718
+ break;
47719
+ case "33-33-33":
47720
+ flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
47721
+ marginRight = index < 2 ? `${gap}px` : "0";
47722
+ break;
47723
+ case "25-50-25":
47724
+ if (index === 0 || index === 2) {
47725
+ flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
47726
+ } else {
47727
+ flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
47728
+ }
47729
+ marginRight = index < 2 ? `${gap}px` : "0";
47730
+ break;
47731
+ default:
47732
+ flexBasis = "100%";
47733
+ }
47734
+ return {
47735
+ flexBasis,
47736
+ marginRight,
47737
+ marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
47738
+ };
47739
+ },
47740
+ // 折叠/展开文本
47741
+ foldMessText() {
47742
+ this.messFold = !this.messFold;
47743
+ },
47744
+ // 处理跳转链接
47745
+ decodeJumpUrl(url) {
47746
+ if (!url) return;
47747
+ top.location.href = url;
47748
+ }
47749
+ }
47750
+ });
47751
+ ;// ./package/cms-column/View.vue?vue&type=script&lang=js
47752
+ /* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
47753
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.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
47754
+ // extracted by mini-css-extract-plugin
47755
+
47756
+ ;// ./package/cms-column/View.vue?vue&type=style&index=0&id=033e8b60&prod&lang=scss&scoped=true
47757
+
47758
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
47759
+ var componentNormalizer = __webpack_require__(1656);
47760
+ ;// ./package/cms-column/View.vue
47761
+
47762
+
47763
+
47764
+ ;
47765
+
47766
+
47767
+ /* normalize component */
47768
+
47769
+ var component = (0,componentNormalizer/* default */.A)(
47770
+ cms_column_Viewvue_type_script_lang_js,
47771
+ render,
47772
+ staticRenderFns,
47773
+ false,
47774
+ null,
47775
+ "033e8b60",
47776
+ null
47777
+
47778
+ )
47779
+
47780
+ /* harmony default export */ var View = (component.exports);
47781
+
47723
47782
  /***/ }),
47724
47783
 
47725
47784
  /***/ 7476:
@@ -53166,6 +53225,50 @@ module.exports = $defineProperty;
53166
53225
 
53167
53226
  /***/ }),
53168
53227
 
53228
+ /***/ 9007:
53229
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
53230
+
53231
+ "use strict";
53232
+ __webpack_require__.r(__webpack_exports__);
53233
+ /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2128);
53234
+
53235
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 3874));
53236
+ const langData = {
53237
+ configList: [{
53238
+ id: Math.random().toString(),
53239
+ name: "栏目名称",
53240
+ tabList: []
53241
+ }]
53242
+ };
53243
+ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {
53244
+ configList: {
53245
+ label: "栏目配置",
53246
+ value: [{
53247
+ id: {
53248
+ label: ""
53249
+ },
53250
+ name: {
53251
+ label: "栏目名称"
53252
+ }
53253
+ }]
53254
+ }
53255
+ });
53256
+ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
53257
+ /* harmony default export */ __webpack_exports__["default"] = ({
53258
+ View,
53259
+ validateSchema,
53260
+ configDataType,
53261
+ langData,
53262
+ settings: cmsCompName => {
53263
+ return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
53264
+ cmsCompName,
53265
+ langData
53266
+ });
53267
+ }
53268
+ });
53269
+
53270
+ /***/ }),
53271
+
53169
53272
  /***/ 9014:
53170
53273
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
53171
53274
 
@@ -55437,6 +55540,468 @@ module.exports = function (exec) {
55437
55540
  };
55438
55541
 
55439
55542
 
55543
+ /***/ }),
55544
+
55545
+ /***/ 9043:
55546
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
55547
+
55548
+ "use strict";
55549
+ // ESM COMPAT FLAG
55550
+ __webpack_require__.r(__webpack_exports__);
55551
+
55552
+ // EXPORTS
55553
+ __webpack_require__.d(__webpack_exports__, {
55554
+ "default": function() { return /* binding */ View; }
55555
+ });
55556
+
55557
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
55558
+ var es_iterator_constructor = __webpack_require__(8111);
55559
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.drop.js
55560
+ var es_iterator_drop = __webpack_require__(9314);
55561
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
55562
+
55563
+
55564
+
55565
+
55566
+ var render = function render() {
55567
+ var _vm = this,
55568
+ _c = _vm._self._c;
55569
+ return _c('BaseComp', _vm._b({
55570
+ attrs: {
55571
+ "data": _vm.data,
55572
+ "nowCompId": _vm.nowCompId,
55573
+ "isOpcacity": _vm.isOpcacity,
55574
+ "isMask": false,
55575
+ "lang": _vm.lang,
55576
+ "showDel": false
55577
+ },
55578
+ on: {
55579
+ "getConfigData": _vm.getConfigData
55580
+ }
55581
+ }, 'BaseComp', _vm.$attrs, false), [_vm.isConfigPage ? _c('div', {
55582
+ staticClass: "main_drag hoverBorderClass",
55583
+ style: _vm.cardContainerStyle,
55584
+ attrs: {
55585
+ "id": `cardTarget${_vm.data.componentId}`
55586
+ },
55587
+ on: {
55588
+ "dragover": _vm.dragover,
55589
+ "dragend": function ($event) {
55590
+ _vm.showAddCom = false;
55591
+ },
55592
+ "drop": _vm.drop
55593
+ }
55594
+ }, [_c('Draggable', {
55595
+ staticStyle: {
55596
+ "position": "relative"
55597
+ },
55598
+ attrs: {
55599
+ "group": _vm.groupConfigForMain,
55600
+ "chosen-class": "chosen",
55601
+ "force-fallback": "true",
55602
+ "animation": "1000",
55603
+ "move": _vm.onMove
55604
+ },
55605
+ on: {
55606
+ "start": _vm.onStart,
55607
+ "end": function ($event) {
55608
+ _vm.showAddCom = false;
55609
+ }
55610
+ },
55611
+ model: {
55612
+ value: _vm.data.childList,
55613
+ callback: function ($$v) {
55614
+ _vm.$set(_vm.data, "childList", $$v);
55615
+ },
55616
+ expression: "data.childList"
55617
+ }
55618
+ }, [_vm._l(_vm.data.childList, function (item, index) {
55619
+ return _c('div', {
55620
+ key: item.componentId,
55621
+ staticStyle: {
55622
+ "position": "relative"
55623
+ }
55624
+ }, [_vm.showAddCom ? _c('div', {
55625
+ staticClass: "up_insert",
55626
+ attrs: {
55627
+ "id": `${item.componentId}-cardTargetup`
55628
+ }
55629
+ }, [_c('i', {
55630
+ staticClass: "icon-up",
55631
+ attrs: {
55632
+ "id": `${item.componentId}-upi`
55633
+ }
55634
+ }), _c('span', {
55635
+ attrs: {
55636
+ "id": `${item.componentId}-upspan`
55637
+ }
55638
+ }, [_vm._v("插入组件")])]) : _vm._e(), _c(item.cmsCompName, {
55639
+ tag: "component",
55640
+ style: {
55641
+ marginTop: _vm.showAddCom && index == 0 ? '20px' : '0px'
55642
+ },
55643
+ attrs: {
55644
+ "data": item,
55645
+ "lang": _vm.lang,
55646
+ "isOpcacity": _vm.isOpcacity,
55647
+ "nowCompId": _vm.nowCompId
55648
+ }
55649
+ })], 1);
55650
+ }), _vm.showAddCom ? _c('div', {
55651
+ staticClass: "up_insert insert_bottom",
55652
+ style: {
55653
+ bottom: _vm.data.childList.length ? '0px' : '-24px'
55654
+ },
55655
+ attrs: {
55656
+ "id": `-cardTargetdown`
55657
+ }
55658
+ }, [_c('i', {
55659
+ staticClass: "icon-up"
55660
+ }), _c('span', [_vm._v("插入组件")])]) : _vm._e()], 2)], 1) : _c('cms-view', _vm._b({
55661
+ style: _vm.cardContainerStyle,
55662
+ attrs: {
55663
+ "data": _vm.data.childList,
55664
+ "lang": _vm.lang,
55665
+ "isOpcacity": false
55666
+ }
55667
+ }, 'cms-view', _vm.$attrs, false))], 1);
55668
+ };
55669
+ var staticRenderFns = [];
55670
+
55671
+ ;// ./package/cms-column-card/View.vue?vue&type=template&id=2dcb9de2&scoped=true
55672
+
55673
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
55674
+ var es_array_push = __webpack_require__(4114);
55675
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
55676
+ var baseComp = __webpack_require__(9659);
55677
+ // EXTERNAL MODULE: ./node_modules/vuedraggable/dist/vuedraggable.umd.js
55678
+ var vuedraggable_umd = __webpack_require__(9014);
55679
+ var vuedraggable_umd_default = /*#__PURE__*/__webpack_require__.n(vuedraggable_umd);
55680
+ // EXTERNAL MODULE: ./package/baseConfig.js
55681
+ var baseConfig = __webpack_require__(2128);
55682
+ // EXTERNAL MODULE: ./src/views/standard_page.js
55683
+ var standard_page = __webpack_require__(521);
55684
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-85.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
55685
+
55686
+
55687
+
55688
+
55689
+
55690
+
55691
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
55692
+ name: "cms-column-card",
55693
+ components: {
55694
+ BaseComp: baseComp["default"],
55695
+ Draggable: (vuedraggable_umd_default())
55696
+ },
55697
+ props: {
55698
+ data: {
55699
+ type: Object,
55700
+ default: () => {
55701
+ return {};
55702
+ }
55703
+ },
55704
+ nowCompId: {
55705
+ type: [String, Number],
55706
+ default: ""
55707
+ },
55708
+ isOpcacity: {
55709
+ type: Boolean,
55710
+ default: true
55711
+ },
55712
+ lang: {
55713
+ type: String,
55714
+ default: "zh-HK"
55715
+ },
55716
+ isMobile: {
55717
+ type: Boolean,
55718
+ default: false
55719
+ },
55720
+ mobileLayout: {
55721
+ type: String,
55722
+ default: ""
55723
+ }
55724
+ },
55725
+ data() {
55726
+ return {
55727
+ configData: {},
55728
+ messFold: true,
55729
+ showAddCom: false,
55730
+ temporaryList: []
55731
+ };
55732
+ },
55733
+ computed: {
55734
+ isConfigPage() {
55735
+ return this.$EventBus && this.isOpcacity;
55736
+ },
55737
+ groupConfigForMain() {
55738
+ return {
55739
+ name: "task",
55740
+ pull: true,
55741
+ // A列表的元素可以被拖出
55742
+ put: (to, from, dragEl) => {
55743
+ console.log(from.el.classList);
55744
+ if (from.el.classList.contains("main_drag")) {
55745
+ const dataId = this.findFirstComponentKey(dragEl);
55746
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column"];
55747
+ console.log("allowedComponents", dataId);
55748
+ if (dataId === "cms-column") {
55749
+ if (!this.checkColumnNestingLevel()) {
55750
+ console.log("cms-column 嵌套层级超出限制");
55751
+ return false;
55752
+ }
55753
+ }
55754
+ return allowedComponents.includes(dataId);
55755
+ }
55756
+ return true;
55757
+ }
55758
+ };
55759
+ },
55760
+ // 卡片容器样式
55761
+ cardContainerStyle() {
55762
+ return {
55763
+ backgroundImage: this.configData.backgroundImage ? `url('${this.configData.backgroundImage}')` : "none",
55764
+ backgroundSize: "cover",
55765
+ backgroundRepeat: "no-repeat",
55766
+ backgroundPosition: "center center",
55767
+ height: this.getContainerHeight(),
55768
+ border: this.getContainerBorder(),
55769
+ borderRadius: this.getContainerBorderRadius(),
55770
+ backgroundColor: this.configData.backgroundColor || "transparent",
55771
+ boxShadow: this.configData.boxShadow || "none"
55772
+ };
55773
+ }
55774
+ },
55775
+ mounted() {
55776
+ if (this.$EventBus) {
55777
+ this.$EventBus.$on("handleDragEnd", () => {
55778
+ this.showAddCom = false;
55779
+ });
55780
+ }
55781
+ },
55782
+ watch: {},
55783
+ methods: {
55784
+ findFirstComponentKey(root) {
55785
+ var _root$querySelector;
55786
+ if (!root) return null;
55787
+
55788
+ // 若起点自身就有
55789
+ if (root.nodeType === 1 && root.hasAttribute("component-key")) {
55790
+ return root.getAttribute("component-key");
55791
+ }
55792
+
55793
+ // 向下查找第一个匹配的后代
55794
+ const el = (_root$querySelector = root.querySelector) === null || _root$querySelector === void 0 ? void 0 : _root$querySelector.call(root, "[component-key]");
55795
+ return el ? el.getAttribute("component-key") : null;
55796
+ },
55797
+ // 获取容器高度
55798
+ getContainerHeight() {
55799
+ if (this.configData.heightType === "fixed") {
55800
+ return `${this.configData.fixedHeight}px`;
55801
+ }
55802
+ return this.isMobile && this.mobileLayout == "vertical" ? "auto" : "100%";
55803
+ },
55804
+ // 获取容器边框
55805
+ getContainerBorder() {
55806
+ if (this.configData.borderWidth) {
55807
+ return `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}`;
55808
+ }
55809
+ return "none";
55810
+ },
55811
+ // 获取容器圆角
55812
+ getContainerBorderRadius() {
55813
+ if (this.configData.borderRadius) {
55814
+ return `${this.configData.borderRadius}px`;
55815
+ }
55816
+ return "0";
55817
+ },
55818
+ getConfigData(configData) {
55819
+ this.configData = configData;
55820
+ },
55821
+ foldMessText() {
55822
+ this.messFold = !this.messFold;
55823
+ },
55824
+ decodeJumpUrl(url) {
55825
+ if (!url) return;
55826
+ top.location.href = url;
55827
+ },
55828
+ onStart(evt) {
55829
+ console.log("drag start in column-card", evt);
55830
+ this.showAddCom = true;
55831
+ },
55832
+ // 限制拖拽的组件类型
55833
+ onMove(evt) {
55834
+ const {
55835
+ draggedContext
55836
+ } = evt;
55837
+
55838
+ // 允许的组件类型
55839
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
55840
+ ];
55841
+
55842
+ // 如果是从外部拖入的组件
55843
+ if (draggedContext && draggedContext.element) {
55844
+ const componentType = draggedContext.element.cmsCompName;
55845
+ if (componentType && !allowedComponents.includes(componentType)) {
55846
+ console.log("draggedContext.element", draggedContext.element);
55847
+ console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
55848
+ return false;
55849
+ }
55850
+
55851
+ // 特殊处理 cms-column:检查嵌套层级
55852
+ if (componentType === "cms-column") {
55853
+ if (!this.checkColumnNestingLevel()) {
55854
+ console.log("cms-column 嵌套层级超出限制");
55855
+ return false;
55856
+ }
55857
+ }
55858
+ }
55859
+ return true;
55860
+ },
55861
+ // 检查 cms-column 嵌套层级
55862
+ checkColumnNestingLevel() {
55863
+ // 检查当前 column-card 是否已经在 cms-column 内部
55864
+ let parent = this.$parent;
55865
+ let columnDepth = 0;
55866
+ while (parent) {
55867
+ // 检查父组件是否是 cms-column 或包含 cms-column
55868
+ if (parent.$options.name === "cms-column" || parent.$data && parent.$data.data && parent.$data.data.cmsCompName === "cms-column") {
55869
+ columnDepth++;
55870
+ }
55871
+
55872
+ // 如果已经有一层 cms-column,则不允许再嵌套
55873
+ if (columnDepth >= 2) {
55874
+ console.log(`检测到 cms-column 嵌套层级: ${columnDepth}, 超出限制`);
55875
+ return false;
55876
+ }
55877
+ parent = parent.$parent;
55878
+ }
55879
+ console.log(`cms-column 嵌套层级检查通过: ${columnDepth}`);
55880
+ return true;
55881
+ },
55882
+ // 处理拖拽悬停
55883
+ dragover(e) {
55884
+ e.preventDefault();
55885
+ this.showAddCom = true;
55886
+ },
55887
+ // 处理拖拽放置
55888
+ drop(e) {
55889
+ e.preventDefault();
55890
+ const componentKey = e.dataTransfer.getData("componentKey");
55891
+ let temporaryId = "";
55892
+ this.temporaryList = e.dataTransfer.getData("temporaryList") ? JSON.parse(e.dataTransfer.getData("temporaryList")) : [];
55893
+ console.log("cms-colum-card-drop", componentKey, this.temporaryList);
55894
+ if (!componentKey) return;
55895
+ const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
55896
+ const isTemporary = isTemporaryItem === "true";
55897
+ if (isTemporary) {
55898
+ temporaryId = (0,standard_page/* getCopyTemplateCompConfig */.L7)(this.temporaryList, componentKey).cmsCompName;
55899
+ }
55900
+ const componentType = isTemporary ? temporaryId : componentKey;
55901
+ // 允许的组件类型
55902
+ const allowedComponents = ["cms-text", "cms-image", "cms-video", "cms-button", "cms-richText", "cms-column" // 允许拖入 cms-column
55903
+ ];
55904
+
55905
+ // 检查组件类型是否允许
55906
+ if (!allowedComponents.includes(componentType)) {
55907
+ console.log(`组件类型 ${componentType} 不允许拖入 column-card`);
55908
+ this.$message && this.$message.warning(`该组件类型不支持拖入卡片容器`);
55909
+ this.showAddCom = false;
55910
+ return;
55911
+ }
55912
+
55913
+ // 特殊处理 cms-column:检查嵌套层级
55914
+ if (componentType === "cms-column") {
55915
+ if (!this.checkColumnNestingLevel()) {
55916
+ console.log("cms-column 嵌套层级超出限制");
55917
+ this.$message && this.$message.warning(`cms-column 只能嵌套一层`);
55918
+ this.showAddCom = false;
55919
+ return;
55920
+ }
55921
+ }
55922
+ this.addOneComp(e, componentKey);
55923
+ },
55924
+ // 添加组件到卡片容器
55925
+ addOneComp(e, componentKey) {
55926
+ this.showAddCom = false;
55927
+ console.log("drop to column-card", componentKey);
55928
+
55929
+ // 动态导入组件配置
55930
+ let initCompData;
55931
+ try {
55932
+ const isTemporaryItem = e.dataTransfer.getData("isTemporaryItem");
55933
+ const isTemporary = isTemporaryItem === "true";
55934
+ if (isTemporary) {
55935
+ initCompData = (0,standard_page/* getCopyTemplateCompConfig */.L7)(this.temporaryList, componentKey);
55936
+ } else {
55937
+ initCompData = __webpack_require__(1640)(`./${componentKey}`).default.settings(componentKey);
55938
+ }
55939
+ if (!isTemporary) {
55940
+ initCompData = {
55941
+ ...initCompData,
55942
+ styleConfig: {
55943
+ pc: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(16, 16, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")],
55944
+ mb: componentKey == "cms-text" ? [...(0,baseConfig.styleBaseConfig)(12, 12, 0, 0, "px")] : [...(0,baseConfig.styleBaseConfig)(0, 0, 0, 0, "px")]
55945
+ }
55946
+ };
55947
+ }
55948
+ } catch (error) {
55949
+ console.error(`无法加载组件 ${componentKey}:`, error);
55950
+ this.$message && this.$message.error(`组件加载失败`);
55951
+ return;
55952
+ }
55953
+ const toElementId = e.toElement.id;
55954
+ if (toElementId === `cardTarget${this.data.componentId}` || toElementId.includes("cardTargetdown")) {
55955
+ // 添加到卡片容器末尾
55956
+ this.data.childList.push(initCompData);
55957
+ } else if (toElementId.includes("cardTargetup")) {
55958
+ // 插入到指定位置
55959
+ const underComponentId = toElementId.split("-cardTargetup")[0];
55960
+ const index = this.data.childList.findIndex(item => item.componentId === underComponentId);
55961
+ if (index !== -1) {
55962
+ this.data.childList.splice(index, 0, initCompData);
55963
+ }
55964
+ }
55965
+
55966
+ // 触发数据更新
55967
+ this.$emit("update:data", this.data);
55968
+ if (componentKey === "cms-column") {
55969
+ this.$EventBus.$emit("handleNowComp", initCompData);
55970
+ }
55971
+ }
55972
+ }
55973
+ });
55974
+ ;// ./package/cms-column-card/View.vue?vue&type=script&lang=js
55975
+ /* harmony default export */ var cms_column_card_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
55976
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-67.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-67.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-67.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-67.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
55977
+ // extracted by mini-css-extract-plugin
55978
+
55979
+ ;// ./package/cms-column-card/View.vue?vue&type=style&index=0&id=2dcb9de2&prod&lang=scss&scoped=true
55980
+
55981
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
55982
+ var componentNormalizer = __webpack_require__(1656);
55983
+ ;// ./package/cms-column-card/View.vue
55984
+
55985
+
55986
+
55987
+ ;
55988
+
55989
+
55990
+ /* normalize component */
55991
+
55992
+ var component = (0,componentNormalizer/* default */.A)(
55993
+ cms_column_card_Viewvue_type_script_lang_js,
55994
+ render,
55995
+ staticRenderFns,
55996
+ false,
55997
+ null,
55998
+ "2dcb9de2",
55999
+ null
56000
+
56001
+ )
56002
+
56003
+ /* harmony default export */ var View = (component.exports);
56004
+
55440
56005
  /***/ }),
55441
56006
 
55442
56007
  /***/ 9098: