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.umd.js
CHANGED
|
@@ -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":
|
|
21173
|
-
"./cms-column-card/View.vue":
|
|
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":
|
|
21178
|
-
"./cms-column/View.vue":
|
|
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__,
|
|
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__,
|
|
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":
|
|
38695
|
-
"./cms-column/View.vue":
|
|
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/
|
|
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:
|