cms-chenhj-ui 2.0.25 → 2.0.27

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.
@@ -546,384 +546,6 @@ Function.prototype.toString = makeBuiltIn(function toString() {
546
546
  }, 'toString');
547
547
 
548
548
 
549
- /***/ }),
550
-
551
- /***/ 343:
552
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
553
-
554
- "use strict";
555
- // ESM COMPAT FLAG
556
- __webpack_require__.r(__webpack_exports__);
557
-
558
- // EXPORTS
559
- __webpack_require__.d(__webpack_exports__, {
560
- "default": function() { return /* binding */ View; }
561
- });
562
-
563
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-via-storedValueCard/View.vue?vue&type=template&id=25771ea8&scoped=true
564
- var render = function render() {
565
- var _vm = this,
566
- _c = _vm._self._c;
567
- return _c('BaseComp', _vm._b({
568
- attrs: {
569
- "data": _vm.data,
570
- "nowCompId": _vm.nowCompId,
571
- "isOpcacity": _vm.isOpcacity,
572
- "lang": _vm.lang
573
- },
574
- on: {
575
- "getConfigData": _vm.getConfigData
576
- }
577
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
578
- staticClass: "cmhk-home_main"
579
- }, [_c('div', {
580
- staticClass: "wrap"
581
- }, [_c('div', {
582
- ref: "cardList",
583
- staticClass: "cardList"
584
- }, [_vm.viewList.length === 0 ? [_c('div', {
585
- staticClass: "card-box"
586
- }, [_c('div', {
587
- staticClass: "card"
588
- }, [_c('div', {
589
- staticClass: "img-box"
590
- }, [_c('div', {
591
- staticClass: "card-img",
592
- class: {
593
- 'is-cms': _vm.$EventBus
594
- }
595
- }, [_c('img', {
596
- staticStyle: {
597
- "height": "200px"
598
- },
599
- attrs: {
600
- "src": _vm.placeholderImg,
601
- "alt": ""
602
- }
603
- })])]), _c('div', {
604
- staticClass: "content-box"
605
- }, [_c('div', {
606
- staticClass: "card-name"
607
- }, [_vm._v(_vm._s(_vm.langText.productName))]), _c('div', {
608
- staticClass: "text-box"
609
- }, [_c('div', {
610
- staticClass: "card-refPrice"
611
- }, [_vm._v(" " + _vm._s(_vm.langText.Price) + " HK$XXXX ")]), _c('div', {
612
- staticClass: "card-pice-text"
613
- }, [_vm._v(_vm._s(_vm.langText.onlinePrice))])]), _c('div', {
614
- staticClass: "card-pice"
615
- }, [_c('span', [_vm._v("HK$")]), _vm._v("XXXX")]), _c('div', {
616
- staticClass: "card-btn"
617
- }, [_vm._v(_vm._s(_vm.langText.buyNow))])])])])] : _vm._e(), _vm._l(_vm.viewList, function (item, index) {
618
- return _c('div', {
619
- key: `${index}-${item.commodityId || index}`,
620
- staticClass: "card-box"
621
- }, [_c('div', {
622
- staticClass: "card"
623
- }, [_c('div', {
624
- staticClass: "tag-box-left"
625
- }, [_vm._l(item.malltCommodityLeft, function (ele, i) {
626
- return [_c('img', {
627
- key: i,
628
- attrs: {
629
- "src": _vm.compBaseUrl + ele.pictureUrl,
630
- "alt": ""
631
- }
632
- })];
633
- })], 2), _c('div', {
634
- staticClass: "tag-box-right"
635
- }, [_vm._l(item.malltCommodityRight, function (ele, i) {
636
- return [_c('img', {
637
- key: i,
638
- attrs: {
639
- "src": _vm.compBaseUrl + ele.pictureUrl,
640
- "alt": ""
641
- }
642
- })];
643
- })], 2), _c('div', {
644
- staticClass: "img-box"
645
- }, [_vm.isNotActive(item) ? _c('div', {
646
- staticClass: "mask"
647
- }, [_vm._v(" " + _vm._s(new Date(item.upTime).getTime() > _vm.nowTs ? _vm.langText.comingSoon : _vm.langText.expired) + " ")]) : _vm._e(), _c('div', {
648
- staticClass: "card-img",
649
- class: {
650
- 'is-cms': _vm.$EventBus
651
- }
652
- }, [_c('img', {
653
- attrs: {
654
- "src": _vm.compBaseUrl + item.maxPicId,
655
- "alt": ""
656
- }
657
- })])]), _c('div', {
658
- staticClass: "content-box"
659
- }, [_vm.isNotActive(item) ? _c('div', {
660
- staticClass: "content-mask"
661
- }) : _vm._e(), _c('div', {
662
- staticClass: "card-name"
663
- }, [_vm._v(_vm._s(item.commodityName))]), _c('div', {
664
- staticClass: "text-box"
665
- }, [item.price !== item.refPrice ? _c('div', {
666
- staticClass: "card-refPrice"
667
- }, [_vm._v(" " + _vm._s(_vm.langText.Price) + " HK$" + _vm._s(_vm.convertCentsToYuan(item.refPrice)) + " ")]) : _c('div', {
668
- staticClass: "card-refPrice"
669
- }), _c('div', {
670
- staticClass: "card-pice-text"
671
- }, [_vm._v(" " + _vm._s(item.price !== item.refPrice ? _vm.langText.onlinePrice : _vm.langText.Price) + " ")])]), _c('div', {
672
- staticClass: "card-pice spc-font"
673
- }, [_c('span', [_vm._v("HK$")]), _vm._v(_vm._s(_vm.convertCentsToYuan(item.price)) + " ")]), _vm.isActive(item) ? _c('div', {
674
- staticClass: "card-btn",
675
- on: {
676
- "click": function ($event) {
677
- return _vm.goDetail(item);
678
- }
679
- }
680
- }, [_vm._v(" " + _vm._s(_vm.langText.buyNow)), _c('img', {
681
- attrs: {
682
- "src": _vm.arrowRightImg
683
- }
684
- })]) : _c('div', {
685
- staticClass: "card-btn"
686
- }, [_vm._v(" " + _vm._s(new Date(item.upTime).getTime() > _vm.nowTs ? (_vm.langText.launch || "").replace("NNN", item.upTime) : _vm.langText.Offer) + " ")])])])]);
687
- })], 2), !_vm.seeMore && _vm.configList.length > 9 ? _c('div', {
688
- ref: "seeMoreRef",
689
- staticClass: "seeMore",
690
- on: {
691
- "click": function ($event) {
692
- _vm.seeMore = true;
693
- }
694
- }
695
- }, [_vm._v(" " + _vm._s(_vm.langText.more) + " "), _c('img', {
696
- staticClass: "btm",
697
- attrs: {
698
- "src": _vm.arrowDownImg
699
- }
700
- })]) : _vm._e()])])]);
701
- };
702
- var staticRenderFns = [];
703
-
704
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
705
- var es_iterator_constructor = __webpack_require__(8111);
706
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
707
- var es_iterator_filter = __webpack_require__(2489);
708
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
709
- var es_iterator_for_each = __webpack_require__(7588);
710
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
711
- var baseComp = __webpack_require__(4128);
712
- // EXTERNAL MODULE: ./src/api/index.js
713
- var api = __webpack_require__(929);
714
- // EXTERNAL MODULE: ./package/patch.js
715
- var patch = __webpack_require__(1618);
716
- // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
717
- var lib = __webpack_require__(9122);
718
- var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
719
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-via-storedValueCard/View.vue?vue&type=script&lang=js
720
-
721
-
722
-
723
-
724
-
725
-
726
-
727
-
728
-
729
-
730
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
731
- name: "cms-via-storedValueCard",
732
- components: {
733
- BaseComp: baseComp["default"]
734
- },
735
- props: {
736
- data: {
737
- type: Object,
738
- default: () => {
739
- return {};
740
- }
741
- },
742
- nowCompId: {
743
- type: [String, Number],
744
- default: ""
745
- },
746
- isOpcacity: {
747
- type: Boolean,
748
- default: true
749
- },
750
- lang: {
751
- type: String,
752
- default: "zh-HK"
753
- }
754
- },
755
- data() {
756
- return {
757
- langConfig: {
758
- "zh-HK": {
759
- productName: "產品名稱",
760
- Price: "建議零售價",
761
- onlinePrice: "網上優惠價",
762
- buyNow: "立即選購",
763
- comingSoon: "即將推出",
764
- expired: "優惠已過期",
765
- more: "查看更多",
766
- launch: "NNN 上線",
767
- Offer: "優惠即將推出"
768
- },
769
- "zh-CN": {
770
- productName: "产品名称",
771
- Price: "建议零售价",
772
- onlinePrice: "网上优惠价",
773
- buyNow: "立即选购",
774
- comingSoon: "即将推出",
775
- expired: "优惠已过期",
776
- more: "查看更多",
777
- launch: "NNN 上线",
778
- Offer: "优惠即将推出"
779
- },
780
- "en-US": {
781
- productName: "Product Name",
782
- Price: "SRP",
783
- onlinePrice: "Online Price",
784
- buyNow: "Buy Now",
785
- comingSoon: "Coming Soon",
786
- expired: "Expired",
787
- more: "See more",
788
- launch: "Launch at NNN",
789
- Offer: "Offer Coming"
790
- }
791
- },
792
- configList: [],
793
- seeMore: false,
794
- nowTs: Date.now(),
795
- compBaseUrl: "https://omniapi.hk.chinamobile.com",
796
- // images
797
- placeholderImg: __webpack_require__(5335),
798
- arrowRightImg: __webpack_require__(4860),
799
- arrowDownImg: __webpack_require__(1861),
800
- arrowHoverImg: __webpack_require__(4116),
801
- arrowActiveImg: __webpack_require__(9670),
802
- shopList: []
803
- };
804
- },
805
- computed: {
806
- langText() {
807
- return this.langConfig[this.lang] ? this.langConfig[this.lang] : this.langConfig["zh-HK"];
808
- },
809
- viewList() {
810
- if (this.seeMore) return this.shopList;
811
- return this.shopList.slice(0, 9);
812
- }
813
- },
814
- mounted() {
815
- if (!this.$EventBus) {
816
- this.compBaseUrl = (0,patch.getCompBaseUrl)();
817
- }
818
- },
819
- beforeDestroy() {},
820
- methods: {
821
- getConfigData(configData) {
822
- this.configList = configData.configList;
823
- console.log("getConfigData", this.configList);
824
- this.getValue();
825
- },
826
- async getValue() {
827
- await this.getCommodityDetails();
828
- },
829
- // 拉取已选商品详情
830
- async getCommodityDetails() {
831
- // try {
832
- let req = {
833
- busInfo: JSON.stringify({
834
- commodityIds: [...this.configList],
835
- commodityTypes: ["604", "605"]
836
- })
837
- };
838
- req = lib_default().stringify(req);
839
- const json = await (0,api/* getCommodityDetails */.yX)(req, this.lang);
840
- let dataResult = json && json.busiResp && json.busiResp.busiDataResp;
841
- if (Array.isArray(dataResult)) {
842
- dataResult.forEach(item => {
843
- if (Array.isArray(item.malltCommodityTags)) {
844
- const left = item.malltCommodityTags.filter(ele => ele.tagType == 5001).sort((a, b) => a.sort - b.sort);
845
- const right = item.malltCommodityTags.filter(ele => ele.tagType == 5002).sort((a, b) => a.sort - b.sort);
846
- item.malltCommodityLeft = left.slice(0, 2);
847
- item.malltCommodityRight = right.slice(0, 4);
848
- } else {
849
- item.malltCommodityLeft = [];
850
- item.malltCommodityRight = [];
851
- }
852
- });
853
- // 按选择顺序排序
854
- this.shopList = dataResult.sort((a, b) => {
855
- return this.configList.indexOf(a.commodityId) - this.configList.indexOf(b.commodityId);
856
- });
857
- } else {
858
- this.shopList = [];
859
- }
860
- // } catch (e) {
861
- // this.shopList = [];
862
- // }
863
- },
864
- isActive(item) {
865
- const now = Date.now();
866
- return new Date(item.upTime).getTime() < now && new Date(item.downTime).getTime() > now;
867
- },
868
- isNotActive(item) {
869
- const now = Date.now();
870
- return new Date(item.upTime).getTime() > now || new Date(item.downTime).getTime() < now;
871
- },
872
- convertCentsToYuan(cents) {
873
- const yuan = (Number(cents || 0) / 100).toFixed(2);
874
- return parseFloat(yuan);
875
- },
876
- goDetail(item) {
877
- const base = this.$EventBus ? this.compBaseUrl : window.location.origin;
878
- const langMap = {
879
- "zh-CN": "sc",
880
- "zh-HK": "tc",
881
- "en-US": "en"
882
- };
883
- const routeLang = langMap[this.lang];
884
- if (item.commodityType === "604") {
885
- if ((item.commodityName || "").includes("MySIM")) {
886
- window.parent.location.href = `${base}/${routeLang}/home/prepaid-card/mysim/detail?commodityId=${item.commodityId}&mysim=${item.commodityName}`;
887
- } else {
888
- window.parent.location.href = `${base}/${routeLang}/home/prepaid-card/detail?commodityId=${item.commodityId}&commodityType=604&commodityName=${item.commodityName}`;
889
- }
890
- } else if (item.commodityType === "605") {
891
- window.parent.location.href = `${base}/${routeLang}/home/prepaid/refill-voucher/detail?commodityId=${item.commodityId}&commodityType=605&commodityName=${item.commodityName}`;
892
- }
893
- }
894
- }
895
- });
896
- ;// ./package/cms-via-storedValueCard/View.vue?vue&type=script&lang=js
897
- /* harmony default export */ var cms_via_storedValueCard_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
898
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-via-storedValueCard/View.vue?vue&type=style&index=0&id=25771ea8&prod&lang=scss&scoped=true
899
- // extracted by mini-css-extract-plugin
900
-
901
- ;// ./package/cms-via-storedValueCard/View.vue?vue&type=style&index=0&id=25771ea8&prod&lang=scss&scoped=true
902
-
903
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
904
- var componentNormalizer = __webpack_require__(1656);
905
- ;// ./package/cms-via-storedValueCard/View.vue
906
-
907
-
908
-
909
- ;
910
-
911
-
912
- /* normalize component */
913
-
914
- var component = (0,componentNormalizer/* default */.A)(
915
- cms_via_storedValueCard_Viewvue_type_script_lang_js,
916
- render,
917
- staticRenderFns,
918
- false,
919
- null,
920
- "25771ea8",
921
- null
922
-
923
- )
924
-
925
- /* harmony default export */ var View = (component.exports);
926
-
927
549
  /***/ }),
928
550
 
929
551
  /***/ 350:
@@ -959,7 +581,7 @@ module.exports = {
959
581
  __webpack_require__.r(__webpack_exports__);
960
582
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
961
583
 
962
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 1452));
584
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 1765));
963
585
  const langData = {
964
586
  // 内容编辑
965
587
  textContent: "请输入文本内容",
@@ -974,7 +596,8 @@ const langData = {
974
596
  fontWeight: "normal",
975
597
  fontStyle: "normal",
976
598
  textDecoration: "none",
977
- fontFamily: "Microsoft YaHei",
599
+ // fontFamily: "Microsoft YaHei",
600
+
978
601
  // 布局设置
979
602
  paddingTop: 0,
980
603
  paddingBottom: 0,
@@ -1579,6 +1202,234 @@ module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) {
1579
1202
  };
1580
1203
 
1581
1204
 
1205
+ /***/ }),
1206
+
1207
+ /***/ 517:
1208
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1209
+
1210
+ "use strict";
1211
+ // ESM COMPAT FLAG
1212
+ __webpack_require__.r(__webpack_exports__);
1213
+
1214
+ // EXPORTS
1215
+ __webpack_require__.d(__webpack_exports__, {
1216
+ "default": function() { return /* binding */ View; }
1217
+ });
1218
+
1219
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-threeScroll/View.vue?vue&type=template&id=4ecaae13&scoped=true
1220
+ var render = function render() {
1221
+ var _vm = this,
1222
+ _c = _vm._self._c;
1223
+ return _c('BaseComp', _vm._b({
1224
+ attrs: {
1225
+ "data": _vm.data,
1226
+ "nowCompId": _vm.nowCompId,
1227
+ "isOpcacity": _vm.isOpcacity,
1228
+ "lang": _vm.lang
1229
+ },
1230
+ on: {
1231
+ "getConfigData": _vm.getConfigData
1232
+ }
1233
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
1234
+ ref: "news",
1235
+ staticClass: "cmhk-home_main"
1236
+ }, [_vm.configList.length ? _c('div', {
1237
+ staticClass: "section-body"
1238
+ }, [_c('div', {
1239
+ staticClass: "cmhk-section_corp_news-ser"
1240
+ }, [_c('div', {
1241
+ staticClass: "news-box_container"
1242
+ }, [_c('div', {
1243
+ staticClass: "news-box_swiper",
1244
+ attrs: {
1245
+ "id": `news-swiper${_vm.data.componentId}`
1246
+ }
1247
+ }, [_c('div', {
1248
+ staticClass: "swiper-wrapper"
1249
+ }, _vm._l(_vm.configList, function (item, inx) {
1250
+ return _c('div', {
1251
+ key: `${inx}${item === null || item === void 0 ? void 0 : item.id}`,
1252
+ staticClass: "swiper-slide"
1253
+ }, [_c('div', {
1254
+ staticClass: "new-read_card read-card_bg-wt",
1255
+ on: {
1256
+ "click": function ($event) {
1257
+ return _vm.decodeJumpUrl(item.jumpUrl);
1258
+ }
1259
+ }
1260
+ }, [_c('div', {
1261
+ staticClass: "image-desbox_wapper"
1262
+ }, [_c('img', {
1263
+ staticClass: "layout-pc",
1264
+ attrs: {
1265
+ "src": item.uploadImagePC,
1266
+ "alt": item.imagePcATL
1267
+ }
1268
+ }), _c('img', {
1269
+ staticClass: "layout-mobile",
1270
+ attrs: {
1271
+ "src": item.uploadImageH5,
1272
+ "alt": item.imageH5ATL
1273
+ }
1274
+ })]), _c('div', {
1275
+ staticClass: "new-read_card-content"
1276
+ }, [_c('p', {
1277
+ staticClass: "title"
1278
+ }, [_vm._v(_vm._s(item === null || item === void 0 ? void 0 : item.input1))]), _c('p', {
1279
+ staticClass: "time"
1280
+ }, [_vm._v(_vm._s(item.input2))]), _c('p', {
1281
+ staticClass: "des"
1282
+ }, [_vm._v(_vm._s(item.input3))]), item.input4 ? _c('p', {
1283
+ staticClass: "continue-read"
1284
+ }, [_vm._v(" " + _vm._s(item.input4) + " "), _c('i', {
1285
+ staticClass: "el-icon-arrow-right"
1286
+ })]) : _vm._e()])])]);
1287
+ }), 0)]), _vm.configList.length > 3 ? [_c('div', {
1288
+ staticClass: "pag-prev left layout-pc",
1289
+ class: [_vm.swiperNewsIdx > 2 ? 'is-active' : ''],
1290
+ on: {
1291
+ "click": _vm.newsPrev
1292
+ }
1293
+ }, [_c('i', {
1294
+ staticClass: "el-icon-arrow-left"
1295
+ })]), _c('div', {
1296
+ staticClass: "pag-next right layout-pc",
1297
+ class: [_vm.swiperNewsIdx < _vm.configList.length - 1 ? 'is-active' : ''],
1298
+ on: {
1299
+ "click": _vm.newsNext
1300
+ }
1301
+ }, [_c('i', {
1302
+ staticClass: "el-icon-arrow-right"
1303
+ })])] : _vm._e()], 2)])]) : _vm._e()])]);
1304
+ };
1305
+ var staticRenderFns = [];
1306
+
1307
+ // EXTERNAL MODULE: ./src/utils/index.js
1308
+ var utils = __webpack_require__(1996);
1309
+ // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.js
1310
+ var swiper = __webpack_require__(2791);
1311
+ // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
1312
+ var swiper_esm_bundle = __webpack_require__(4418);
1313
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
1314
+ var baseComp = __webpack_require__(4128);
1315
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-threeScroll/View.vue?vue&type=script&lang=js
1316
+
1317
+
1318
+
1319
+
1320
+
1321
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
1322
+ name: "cms-threeScroll",
1323
+ components: {
1324
+ BaseComp: baseComp["default"]
1325
+ },
1326
+ props: {
1327
+ data: {
1328
+ type: Object,
1329
+ default: () => {
1330
+ return {};
1331
+ }
1332
+ },
1333
+ nowCompId: {
1334
+ type: [String, Number],
1335
+ default: ""
1336
+ },
1337
+ isOpcacity: {
1338
+ type: Boolean,
1339
+ default: true
1340
+ },
1341
+ lang: {
1342
+ type: String,
1343
+ default: "zh-HK"
1344
+ }
1345
+ },
1346
+ data() {
1347
+ return {
1348
+ configList: [],
1349
+ swiperNewsIdx: 0,
1350
+ newsSwiper: null
1351
+ };
1352
+ },
1353
+ mounted() {
1354
+ const vm = this;
1355
+ this.$nextTick(() => {
1356
+ this.newsSwiper = new swiper_esm_bundle/* default */.A(`#news-swiper${this.data.componentId}`, {
1357
+ autoplay: false,
1358
+ loop: false,
1359
+ // 循环模式选项
1360
+ slidesPerView: (0,utils/* getDevice */.Pf)() !== "mobile" ? 3 : "auto",
1361
+ // spaceBetween: getDevice() !== 'mobile' ? 32 : 16, // 在slide之间设置距离
1362
+ observer: true,
1363
+ observeParents: true,
1364
+ touchMoveStopPropagation: true,
1365
+ on: {
1366
+ slideChangeTransitionEnd: function () {
1367
+ if ((0,utils/* getDevice */.Pf)() !== "mobile") {
1368
+ vm.swiperNewsIdx = this.realIndex + 2;
1369
+ } else {
1370
+ vm.swiperNewsIdx = this.realIndex;
1371
+ }
1372
+ console.log("新闻-当前页最后一个元素下标", vm.swiperNewsIdx);
1373
+ },
1374
+ resize: function () {
1375
+ this.update(true);
1376
+ }
1377
+ }
1378
+ });
1379
+ });
1380
+ },
1381
+ watch: {},
1382
+ methods: {
1383
+ getConfigData(configData) {
1384
+ this.configList = configData.configList;
1385
+ },
1386
+ newsPrev() {
1387
+ if (this.swiperNewsIdx > 2) {
1388
+ this.newsSwiper.slidePrev();
1389
+ }
1390
+ },
1391
+ newsNext() {
1392
+ if (this.swiperNewsIdx < this.configList.length - 1) {
1393
+ this.newsSwiper.slideNext();
1394
+ }
1395
+ },
1396
+ decodeJumpUrl(url) {
1397
+ if (!url) return;
1398
+ top.location.href = url;
1399
+ }
1400
+ }
1401
+ });
1402
+ ;// ./package/cms-threeScroll/View.vue?vue&type=script&lang=js
1403
+ /* harmony default export */ var cms_threeScroll_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
1404
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-threeScroll/View.vue?vue&type=style&index=0&id=4ecaae13&prod&lang=scss&scoped=true
1405
+ // extracted by mini-css-extract-plugin
1406
+
1407
+ ;// ./package/cms-threeScroll/View.vue?vue&type=style&index=0&id=4ecaae13&prod&lang=scss&scoped=true
1408
+
1409
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1410
+ var componentNormalizer = __webpack_require__(1656);
1411
+ ;// ./package/cms-threeScroll/View.vue
1412
+
1413
+
1414
+
1415
+ ;
1416
+
1417
+
1418
+ /* normalize component */
1419
+
1420
+ var component = (0,componentNormalizer/* default */.A)(
1421
+ cms_threeScroll_Viewvue_type_script_lang_js,
1422
+ render,
1423
+ staticRenderFns,
1424
+ false,
1425
+ null,
1426
+ "4ecaae13",
1427
+ null
1428
+
1429
+ )
1430
+
1431
+ /* harmony default export */ var View = (component.exports);
1432
+
1582
1433
  /***/ }),
1583
1434
 
1584
1435
  /***/ 550:
@@ -1719,6 +1570,384 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
1719
1570
 
1720
1571
  /***/ }),
1721
1572
 
1573
+ /***/ 626:
1574
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1575
+
1576
+ "use strict";
1577
+ // ESM COMPAT FLAG
1578
+ __webpack_require__.r(__webpack_exports__);
1579
+
1580
+ // EXPORTS
1581
+ __webpack_require__.d(__webpack_exports__, {
1582
+ "default": function() { return /* binding */ View; }
1583
+ });
1584
+
1585
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-via-storedValueCard/View.vue?vue&type=template&id=ff44e87c&scoped=true
1586
+ var render = function render() {
1587
+ var _vm = this,
1588
+ _c = _vm._self._c;
1589
+ return _c('BaseComp', _vm._b({
1590
+ attrs: {
1591
+ "data": _vm.data,
1592
+ "nowCompId": _vm.nowCompId,
1593
+ "isOpcacity": _vm.isOpcacity,
1594
+ "lang": _vm.lang
1595
+ },
1596
+ on: {
1597
+ "getConfigData": _vm.getConfigData
1598
+ }
1599
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
1600
+ staticClass: "cmhk-home_main"
1601
+ }, [_c('div', {
1602
+ staticClass: "wrap"
1603
+ }, [_c('div', {
1604
+ ref: "cardList",
1605
+ staticClass: "cardList"
1606
+ }, [_vm.viewList.length === 0 ? [_c('div', {
1607
+ staticClass: "card-box"
1608
+ }, [_c('div', {
1609
+ staticClass: "card"
1610
+ }, [_c('div', {
1611
+ staticClass: "img-box"
1612
+ }, [_c('div', {
1613
+ staticClass: "card-img",
1614
+ class: {
1615
+ 'is-cms': _vm.$EventBus
1616
+ }
1617
+ }, [_c('img', {
1618
+ staticStyle: {
1619
+ "height": "200px"
1620
+ },
1621
+ attrs: {
1622
+ "src": _vm.placeholderImg,
1623
+ "alt": ""
1624
+ }
1625
+ })])]), _c('div', {
1626
+ staticClass: "content-box"
1627
+ }, [_c('div', {
1628
+ staticClass: "card-name"
1629
+ }, [_vm._v(_vm._s(_vm.langText.productName))]), _c('div', {
1630
+ staticClass: "text-box"
1631
+ }, [_c('div', {
1632
+ staticClass: "card-refPrice"
1633
+ }, [_vm._v(" " + _vm._s(_vm.langText.Price) + " HK$XXXX ")]), _c('div', {
1634
+ staticClass: "card-pice-text"
1635
+ }, [_vm._v(_vm._s(_vm.langText.onlinePrice))])]), _c('div', {
1636
+ staticClass: "card-pice"
1637
+ }, [_c('span', [_vm._v("HK$")]), _vm._v("XXXX")]), _c('div', {
1638
+ staticClass: "card-btn"
1639
+ }, [_vm._v(_vm._s(_vm.langText.buyNow))])])])])] : _vm._e(), _vm._l(_vm.viewList, function (item, index) {
1640
+ return _c('div', {
1641
+ key: `${index}-${item.commodityId || index}`,
1642
+ staticClass: "card-box"
1643
+ }, [_c('div', {
1644
+ staticClass: "card"
1645
+ }, [_c('div', {
1646
+ staticClass: "tag-box-left"
1647
+ }, [_vm._l(item.malltCommodityLeft, function (ele, i) {
1648
+ return [_c('img', {
1649
+ key: i,
1650
+ attrs: {
1651
+ "src": _vm.compBaseUrl + ele.pictureUrl,
1652
+ "alt": ""
1653
+ }
1654
+ })];
1655
+ })], 2), _c('div', {
1656
+ staticClass: "tag-box-right"
1657
+ }, [_vm._l(item.malltCommodityRight, function (ele, i) {
1658
+ return [_c('img', {
1659
+ key: i,
1660
+ attrs: {
1661
+ "src": _vm.compBaseUrl + ele.pictureUrl,
1662
+ "alt": ""
1663
+ }
1664
+ })];
1665
+ })], 2), _c('div', {
1666
+ staticClass: "img-box"
1667
+ }, [_vm.isNotActive(item) ? _c('div', {
1668
+ staticClass: "mask"
1669
+ }, [_vm._v(" " + _vm._s(new Date(item.upTime).getTime() > _vm.nowTs ? _vm.langText.comingSoon : _vm.langText.expired) + " ")]) : _vm._e(), _c('div', {
1670
+ staticClass: "card-img",
1671
+ class: {
1672
+ 'is-cms': _vm.$EventBus
1673
+ }
1674
+ }, [_c('img', {
1675
+ attrs: {
1676
+ "src": _vm.compBaseUrl + item.maxPicId,
1677
+ "alt": ""
1678
+ }
1679
+ })])]), _c('div', {
1680
+ staticClass: "content-box"
1681
+ }, [_vm.isNotActive(item) ? _c('div', {
1682
+ staticClass: "content-mask"
1683
+ }) : _vm._e(), _c('div', {
1684
+ staticClass: "card-name"
1685
+ }, [_vm._v(_vm._s(item.commodityName))]), _c('div', {
1686
+ staticClass: "text-box"
1687
+ }, [item.price !== item.refPrice ? _c('div', {
1688
+ staticClass: "card-refPrice"
1689
+ }, [_vm._v(" " + _vm._s(_vm.langText.Price) + " HK$" + _vm._s(_vm.convertCentsToYuan(item.refPrice)) + " ")]) : _c('div', {
1690
+ staticClass: "card-refPrice"
1691
+ }), _c('div', {
1692
+ staticClass: "card-pice-text"
1693
+ }, [_vm._v(" " + _vm._s(item.price !== item.refPrice ? _vm.langText.onlinePrice : _vm.langText.Price) + " ")])]), _c('div', {
1694
+ staticClass: "card-pice spc-font"
1695
+ }, [_c('span', [_vm._v("HK$")]), _vm._v(_vm._s(_vm.convertCentsToYuan(item.price)) + " ")]), _vm.isActive(item) ? _c('div', {
1696
+ staticClass: "card-btn",
1697
+ on: {
1698
+ "click": function ($event) {
1699
+ return _vm.goDetail(item);
1700
+ }
1701
+ }
1702
+ }, [_vm._v(" " + _vm._s(_vm.langText.buyNow)), _c('img', {
1703
+ attrs: {
1704
+ "src": _vm.arrowRightImg
1705
+ }
1706
+ })]) : _c('div', {
1707
+ staticClass: "card-btn"
1708
+ }, [_vm._v(" " + _vm._s(new Date(item.upTime).getTime() > _vm.nowTs ? (_vm.langText.launch || "").replace("NNN", item.upTime) : _vm.langText.Offer) + " ")])])])]);
1709
+ })], 2), !_vm.seeMore && _vm.configList.length > 9 ? _c('div', {
1710
+ ref: "seeMoreRef",
1711
+ staticClass: "seeMore",
1712
+ on: {
1713
+ "click": function ($event) {
1714
+ _vm.seeMore = true;
1715
+ }
1716
+ }
1717
+ }, [_vm._v(" " + _vm._s(_vm.langText.more) + " "), _c('img', {
1718
+ staticClass: "btm",
1719
+ attrs: {
1720
+ "src": _vm.arrowDownImg
1721
+ }
1722
+ })]) : _vm._e()])])]);
1723
+ };
1724
+ var staticRenderFns = [];
1725
+
1726
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
1727
+ var es_iterator_constructor = __webpack_require__(8111);
1728
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
1729
+ var es_iterator_filter = __webpack_require__(2489);
1730
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
1731
+ var es_iterator_for_each = __webpack_require__(7588);
1732
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
1733
+ var baseComp = __webpack_require__(4128);
1734
+ // EXTERNAL MODULE: ./src/api/index.js
1735
+ var api = __webpack_require__(929);
1736
+ // EXTERNAL MODULE: ./package/patch.js
1737
+ var patch = __webpack_require__(1618);
1738
+ // EXTERNAL MODULE: ./node_modules/qs/lib/index.js
1739
+ var lib = __webpack_require__(9122);
1740
+ var lib_default = /*#__PURE__*/__webpack_require__.n(lib);
1741
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-via-storedValueCard/View.vue?vue&type=script&lang=js
1742
+
1743
+
1744
+
1745
+
1746
+
1747
+
1748
+
1749
+
1750
+
1751
+
1752
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
1753
+ name: "cms-via-storedValueCard",
1754
+ components: {
1755
+ BaseComp: baseComp["default"]
1756
+ },
1757
+ props: {
1758
+ data: {
1759
+ type: Object,
1760
+ default: () => {
1761
+ return {};
1762
+ }
1763
+ },
1764
+ nowCompId: {
1765
+ type: [String, Number],
1766
+ default: ""
1767
+ },
1768
+ isOpcacity: {
1769
+ type: Boolean,
1770
+ default: true
1771
+ },
1772
+ lang: {
1773
+ type: String,
1774
+ default: "zh-HK"
1775
+ }
1776
+ },
1777
+ data() {
1778
+ return {
1779
+ langConfig: {
1780
+ "zh-HK": {
1781
+ productName: "產品名稱",
1782
+ Price: "建議零售價",
1783
+ onlinePrice: "網上優惠價",
1784
+ buyNow: "立即購買",
1785
+ comingSoon: "即將推出",
1786
+ expired: "優惠已過期",
1787
+ more: "查看更多",
1788
+ launch: "NNN 上線",
1789
+ Offer: "優惠即將推出"
1790
+ },
1791
+ "zh-CN": {
1792
+ productName: "产品名称",
1793
+ Price: "建议零售价",
1794
+ onlinePrice: "网上优惠价",
1795
+ buyNow: "立即购买",
1796
+ comingSoon: "即将推出",
1797
+ expired: "优惠已过期",
1798
+ more: "查看更多",
1799
+ launch: "NNN 上线",
1800
+ Offer: "优惠即将推出"
1801
+ },
1802
+ "en-US": {
1803
+ productName: "Product Name",
1804
+ Price: "SRP",
1805
+ onlinePrice: "Online Price",
1806
+ buyNow: "Buy Now",
1807
+ comingSoon: "Coming Soon",
1808
+ expired: "Expired",
1809
+ more: "See more",
1810
+ launch: "Launch at NNN",
1811
+ Offer: "Offer Coming"
1812
+ }
1813
+ },
1814
+ configList: [],
1815
+ seeMore: false,
1816
+ nowTs: Date.now(),
1817
+ compBaseUrl: "https://omniapi.hk.chinamobile.com",
1818
+ // images
1819
+ placeholderImg: __webpack_require__(5335),
1820
+ arrowRightImg: __webpack_require__(4860),
1821
+ arrowDownImg: __webpack_require__(1861),
1822
+ arrowHoverImg: __webpack_require__(4116),
1823
+ arrowActiveImg: __webpack_require__(9670),
1824
+ shopList: []
1825
+ };
1826
+ },
1827
+ computed: {
1828
+ langText() {
1829
+ return this.langConfig[this.lang] ? this.langConfig[this.lang] : this.langConfig["zh-HK"];
1830
+ },
1831
+ viewList() {
1832
+ if (this.seeMore) return this.shopList;
1833
+ return this.shopList.slice(0, 9);
1834
+ }
1835
+ },
1836
+ mounted() {
1837
+ if (!this.$EventBus) {
1838
+ this.compBaseUrl = (0,patch.getCompBaseUrl)();
1839
+ }
1840
+ },
1841
+ beforeDestroy() {},
1842
+ methods: {
1843
+ getConfigData(configData) {
1844
+ this.configList = configData.configList;
1845
+ console.log("getConfigData", this.configList);
1846
+ this.getValue();
1847
+ },
1848
+ async getValue() {
1849
+ await this.getCommodityDetails();
1850
+ },
1851
+ // 拉取已选商品详情
1852
+ async getCommodityDetails() {
1853
+ // try {
1854
+ let req = {
1855
+ busInfo: JSON.stringify({
1856
+ commodityIds: [...this.configList],
1857
+ commodityTypes: ["604", "605"]
1858
+ })
1859
+ };
1860
+ req = lib_default().stringify(req);
1861
+ const json = await (0,api/* getCommodityDetails */.yX)(req, this.lang);
1862
+ let dataResult = json && json.busiResp && json.busiResp.busiDataResp;
1863
+ if (Array.isArray(dataResult)) {
1864
+ dataResult.forEach(item => {
1865
+ if (Array.isArray(item.malltCommodityTags)) {
1866
+ const left = item.malltCommodityTags.filter(ele => ele.tagType == 5001).sort((a, b) => a.sort - b.sort);
1867
+ const right = item.malltCommodityTags.filter(ele => ele.tagType == 5002).sort((a, b) => a.sort - b.sort);
1868
+ item.malltCommodityLeft = left.slice(0, 2);
1869
+ item.malltCommodityRight = right.slice(0, 4);
1870
+ } else {
1871
+ item.malltCommodityLeft = [];
1872
+ item.malltCommodityRight = [];
1873
+ }
1874
+ });
1875
+ // 按选择顺序排序
1876
+ this.shopList = dataResult.sort((a, b) => {
1877
+ return this.configList.indexOf(a.commodityId) - this.configList.indexOf(b.commodityId);
1878
+ });
1879
+ } else {
1880
+ this.shopList = [];
1881
+ }
1882
+ // } catch (e) {
1883
+ // this.shopList = [];
1884
+ // }
1885
+ },
1886
+ isActive(item) {
1887
+ const now = Date.now();
1888
+ return new Date(item.upTime).getTime() < now && new Date(item.downTime).getTime() > now;
1889
+ },
1890
+ isNotActive(item) {
1891
+ const now = Date.now();
1892
+ return new Date(item.upTime).getTime() > now || new Date(item.downTime).getTime() < now;
1893
+ },
1894
+ convertCentsToYuan(cents) {
1895
+ const yuan = (Number(cents || 0) / 100).toFixed(2);
1896
+ return parseFloat(yuan);
1897
+ },
1898
+ goDetail(item) {
1899
+ const base = this.$EventBus ? this.compBaseUrl : window.location.origin;
1900
+ const langMap = {
1901
+ "zh-CN": "sc",
1902
+ "zh-HK": "tc",
1903
+ "en-US": "en"
1904
+ };
1905
+ const routeLang = langMap[this.lang];
1906
+ if (item.commodityType === "604") {
1907
+ if ((item.commodityName || "").includes("MySIM")) {
1908
+ window.parent.location.href = `${base}/${routeLang}/home/prepaid-card/mysim/detail?commodityId=${item.commodityId}&mysim=${item.commodityName}`;
1909
+ } else {
1910
+ window.parent.location.href = `${base}/${routeLang}/home/prepaid-card/detail?commodityId=${item.commodityId}&commodityType=604&commodityName=${item.commodityName}`;
1911
+ }
1912
+ } else if (item.commodityType === "605") {
1913
+ window.parent.location.href = `${base}/${routeLang}/home/prepaid/refill-voucher/detail?commodityId=${item.commodityId}&commodityType=605&commodityName=${item.commodityName}`;
1914
+ }
1915
+ }
1916
+ }
1917
+ });
1918
+ ;// ./package/cms-via-storedValueCard/View.vue?vue&type=script&lang=js
1919
+ /* harmony default export */ var cms_via_storedValueCard_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
1920
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-via-storedValueCard/View.vue?vue&type=style&index=0&id=ff44e87c&prod&lang=scss&scoped=true
1921
+ // extracted by mini-css-extract-plugin
1922
+
1923
+ ;// ./package/cms-via-storedValueCard/View.vue?vue&type=style&index=0&id=ff44e87c&prod&lang=scss&scoped=true
1924
+
1925
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
1926
+ var componentNormalizer = __webpack_require__(1656);
1927
+ ;// ./package/cms-via-storedValueCard/View.vue
1928
+
1929
+
1930
+
1931
+ ;
1932
+
1933
+
1934
+ /* normalize component */
1935
+
1936
+ var component = (0,componentNormalizer/* default */.A)(
1937
+ cms_via_storedValueCard_Viewvue_type_script_lang_js,
1938
+ render,
1939
+ staticRenderFns,
1940
+ false,
1941
+ null,
1942
+ "ff44e87c",
1943
+ null
1944
+
1945
+ )
1946
+
1947
+ /* harmony default export */ var View = (component.exports);
1948
+
1949
+ /***/ }),
1950
+
1722
1951
  /***/ 649:
1723
1952
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1724
1953
 
@@ -4323,420 +4552,6 @@ module.exports = function transformData(data, headers, fns) {
4323
4552
 
4324
4553
  /***/ }),
4325
4554
 
4326
- /***/ 1452:
4327
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4328
-
4329
- "use strict";
4330
- // ESM COMPAT FLAG
4331
- __webpack_require__.r(__webpack_exports__);
4332
-
4333
- // EXPORTS
4334
- __webpack_require__.d(__webpack_exports__, {
4335
- "default": function() { return /* binding */ View; }
4336
- });
4337
-
4338
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=template&id=7fe7dfef&scoped=true
4339
- var render = function render() {
4340
- var _vm = this,
4341
- _c = _vm._self._c;
4342
- return _c('BaseComp', _vm._b({
4343
- attrs: {
4344
- "data": _vm.data,
4345
- "nowCompId": _vm.nowCompId,
4346
- "isOpcacity": _vm.isOpcacity,
4347
- "lang": _vm.lang
4348
- },
4349
- on: {
4350
- "getConfigData": _vm.getConfigData
4351
- }
4352
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
4353
- staticClass: "cms-text-container",
4354
- class: [`align-${_vm.configData.textAlign || 'left'}`, _vm.configData.customClass || '', {
4355
- 'has-link': _vm.configData.linkUrl,
4356
- 'hover-effect': _vm.configData.hoverEffect && _vm.configData.linkUrl
4357
- }],
4358
- style: _vm.containerStyle,
4359
- attrs: {
4360
- "aria-label": _vm.configData.ariaLabel,
4361
- "tabindex": _vm.configData.tabIndex,
4362
- "role": _vm.configData.role,
4363
- "title": _vm.configData.seoTitle || _vm.configData.seoDescription
4364
- },
4365
- on: {
4366
- "click": _vm.handleClick
4367
- }
4368
- }, [_c('div', {
4369
- staticClass: "text-content",
4370
- style: _vm.textStyle
4371
- }, _vm._l(_vm.textLines, function (line, index) {
4372
- return _c('p', {
4373
- key: index,
4374
- staticClass: "text-line",
4375
- style: _vm.lineStyle
4376
- }, [_vm._v(" " + _vm._s(line) + " ")]);
4377
- }), 0), _vm.configData.linkUrl && _vm.configData.showLinkIcon ? _c('div', {
4378
- staticClass: "link-indicator"
4379
- }, [_c('i', {
4380
- staticClass: "el-icon-link"
4381
- })]) : _vm._e()])]);
4382
- };
4383
- var staticRenderFns = [];
4384
-
4385
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
4386
- var es_iterator_constructor = __webpack_require__(8111);
4387
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
4388
- var es_iterator_filter = __webpack_require__(2489);
4389
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
4390
- var es_iterator_for_each = __webpack_require__(7588);
4391
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
4392
- var baseComp = __webpack_require__(4128);
4393
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=script&lang=js
4394
-
4395
-
4396
-
4397
-
4398
-
4399
-
4400
-
4401
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
4402
- name: "cms-text",
4403
- components: {
4404
- BaseComp: baseComp["default"]
4405
- },
4406
- props: {
4407
- data: {
4408
- type: Object,
4409
- default: () => {
4410
- return {};
4411
- }
4412
- },
4413
- nowCompId: {
4414
- type: [String, Number],
4415
- default: ""
4416
- },
4417
- isOpcacity: {
4418
- type: Boolean,
4419
- default: true
4420
- },
4421
- lang: {
4422
- type: String,
4423
- default: "zh-HK"
4424
- }
4425
- },
4426
- data() {
4427
- return {
4428
- configData: {},
4429
- // 默认配置数据
4430
- defaultConfig: {
4431
- // 内容编辑
4432
- textContent: "请输入文本内容",
4433
- enableLineBreak: true,
4434
- // 排版控制
4435
- textAlign: "left",
4436
- fontSize: 16,
4437
- lineHeight: 1.5,
4438
- letterSpacing: 0,
4439
- // 样式美化
4440
- fontColor: "#333333",
4441
- fontWeight: "normal",
4442
- fontStyle: "normal",
4443
- textDecoration: "none",
4444
- fontFamily: "inherit",
4445
- // 布局设置
4446
- paddingTop: 0,
4447
- paddingBottom: 0,
4448
- paddingLeft: 0,
4449
- paddingRight: 0,
4450
- marginTop: 0,
4451
- marginBottom: 0,
4452
- marginLeft: 0,
4453
- marginRight: 0,
4454
- backgroundColor: "",
4455
- // 视觉效果
4456
- borderWidth: 0,
4457
- borderStyle: "solid",
4458
- borderColor: "#dcdfe6",
4459
- borderRadius: 0,
4460
- boxShadow: "",
4461
- // 交互功能
4462
- linkUrl: "",
4463
- linkTarget: "_self",
4464
- showLinkIcon: false,
4465
- hoverEffect: false,
4466
- // 高级配置
4467
- customClass: "",
4468
- customStyle: "",
4469
- enableAnimation: false,
4470
- animationType: "fadeIn",
4471
- animationDuration: 300,
4472
- // 可访问性配置
4473
- ariaLabel: "",
4474
- tabIndex: 0,
4475
- role: "",
4476
- // SEO配置
4477
- seoTitle: "",
4478
- seoDescription: "",
4479
- // 响应式配置
4480
- mobileTextAlign: "",
4481
- mobileFontSize: 0,
4482
- tabletFontSize: 0
4483
- }
4484
- };
4485
- },
4486
- mounted() {
4487
- this.initConfigData();
4488
- this.setCSSVariables();
4489
- },
4490
- watch: {
4491
- configData: {
4492
- handler() {
4493
- this.updateStyles();
4494
- },
4495
- deep: true
4496
- }
4497
- },
4498
- computed: {
4499
- // 文本行数组(支持换行)
4500
- textLines() {
4501
- if (!this.configData.textContent) return [];
4502
- if (!this.configData.enableLineBreak) {
4503
- return [this.configData.textContent];
4504
- }
4505
- return this.configData.textContent.split("\n").filter(line => line.trim() !== "");
4506
- },
4507
- // 容器样式
4508
- containerStyle() {
4509
- const config = {
4510
- ...this.defaultConfig,
4511
- ...this.configData
4512
- };
4513
- return {
4514
- padding: `${config.paddingTop}px ${config.paddingRight}px ${config.paddingBottom}px ${config.paddingLeft}px`,
4515
- margin: `${config.marginTop}px ${config.marginRight}px ${config.marginBottom}px ${config.marginLeft}px`,
4516
- backgroundColor: config.backgroundColor || "transparent",
4517
- border: config.borderWidth ? `${config.borderWidth}px ${config.borderStyle} ${config.borderColor}` : "none",
4518
- borderRadius: `${config.borderRadius}px`,
4519
- boxShadow: config.boxShadow || "none",
4520
- cursor: config.linkUrl ? "pointer" : "default",
4521
- transition: config.hoverEffect ? "all 0.3s ease" : "none",
4522
- animation: config.enableAnimation ? this.getAnimationStyle() : "none",
4523
- ...this.parseCustomStyle(config.customStyle)
4524
- };
4525
- },
4526
- // 文本样式
4527
- textStyle() {
4528
- const config = {
4529
- ...this.defaultConfig,
4530
- ...this.configData
4531
- };
4532
- return {
4533
- color: config.fontColor,
4534
- fontSize: `${config.fontSize}px`,
4535
- fontWeight: config.fontWeight,
4536
- fontStyle: config.fontStyle,
4537
- textDecoration: config.textDecoration,
4538
- fontFamily: config.fontFamily,
4539
- lineHeight: config.lineHeight,
4540
- letterSpacing: `${config.letterSpacing}px`,
4541
- textAlign: config.textAlign,
4542
- wordBreak: "break-word",
4543
- wordWrap: "break-word",
4544
- cursor: config.linkUrl ? "pointer" : "default"
4545
- };
4546
- },
4547
- // 行样式
4548
- lineStyle() {
4549
- return {
4550
- margin: "0",
4551
- padding: "0"
4552
- };
4553
- }
4554
- },
4555
- methods: {
4556
- // 初始化配置数据
4557
- initConfigData() {
4558
- this.configData = {
4559
- ...this.defaultConfig,
4560
- ...this.configData
4561
- };
4562
- },
4563
- // 获取配置数据
4564
- getConfigData(configData) {
4565
- this.configData = {
4566
- ...this.defaultConfig,
4567
- ...configData
4568
- };
4569
- this.updateStyles();
4570
- },
4571
- // 更新样式
4572
- updateStyles() {
4573
- this.$nextTick(() => {
4574
- this.setCSSVariables();
4575
- this.$forceUpdate();
4576
- });
4577
- },
4578
- // 设置CSS变量
4579
- setCSSVariables() {
4580
- if (!this.$el) return;
4581
- const config = {
4582
- ...this.defaultConfig,
4583
- ...this.configData
4584
- };
4585
-
4586
- // 设置响应式字体大小
4587
- if (config.mobileFontSize > 0) {
4588
- this.$el.style.setProperty("--mobile-font-size", `${config.mobileFontSize}px`);
4589
- }
4590
- if (config.tabletFontSize > 0) {
4591
- this.$el.style.setProperty("--tablet-font-size", `${config.tabletFontSize}px`);
4592
- }
4593
-
4594
- // 设置移动端文本对齐
4595
- if (config.mobileTextAlign) {
4596
- this.$el.style.setProperty("--mobile-text-align", config.mobileTextAlign);
4597
- }
4598
- },
4599
- // 处理点击事件
4600
- handleClick() {
4601
- if (this.configData.linkUrl) {
4602
- const target = this.configData.linkTarget || "_self";
4603
- if (target === "_blank") {
4604
- window.open(this.configData.linkUrl, "_blank");
4605
- } else {
4606
- window.location.href = this.configData.linkUrl;
4607
- }
4608
- }
4609
- },
4610
- // 获取动画样式
4611
- getAnimationStyle() {
4612
- const animationType = this.configData.animationType || this.defaultConfig.animationType;
4613
- const duration = this.configData.animationDuration || this.defaultConfig.animationDuration;
4614
- if (!this.configData.enableAnimation || animationType === "none") return "";
4615
- return `${animationType} ${duration}ms ease-in-out`;
4616
- },
4617
- // 解析自定义样式
4618
- parseCustomStyle(customStyle) {
4619
- if (!customStyle) return {};
4620
- try {
4621
- // 简单的CSS样式解析
4622
- const styles = {};
4623
- const declarations = customStyle.split(";");
4624
- declarations.forEach(declaration => {
4625
- const [property, value] = declaration.split(":");
4626
- if (property && value) {
4627
- const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
4628
- styles[camelCaseProperty] = value.trim();
4629
- }
4630
- });
4631
- return styles;
4632
- } catch (error) {
4633
- console.warn("解析自定义样式失败:", error);
4634
- return {};
4635
- }
4636
- },
4637
- // 文本内容验证
4638
- validateTextContent() {
4639
- const content = this.configData.textContent;
4640
- if (!content || content.trim() === "") {
4641
- console.warn("文本内容为空");
4642
- return false;
4643
- }
4644
- return true;
4645
- },
4646
- // 获取纯文本内容
4647
- getPlainTextContent() {
4648
- return this.configData.textContent || "";
4649
- },
4650
- // 获取文本长度
4651
- getTextLength() {
4652
- return this.getPlainTextContent().length;
4653
- },
4654
- // 复制文本内容到剪贴板
4655
- copyTextToClipboard() {
4656
- const text = this.getPlainTextContent();
4657
- if (navigator.clipboard && window.isSecureContext) {
4658
- navigator.clipboard.writeText(text).then(() => {
4659
- var _this$$message;
4660
- (_this$$message = this.$message) === null || _this$$message === void 0 ? void 0 : _this$$message.success("文本已复制到剪贴板");
4661
- }).catch(err => {
4662
- console.error("复制失败:", err);
4663
- });
4664
- } else {
4665
- // 降级方案
4666
- const textArea = document.createElement("textarea");
4667
- textArea.value = text;
4668
- document.body.appendChild(textArea);
4669
- textArea.select();
4670
- try {
4671
- var _this$$message2;
4672
- document.execCommand("copy");
4673
- (_this$$message2 = this.$message) === null || _this$$message2 === void 0 ? void 0 : _this$$message2.success("文本已复制到剪贴板");
4674
- } catch (err) {
4675
- console.error("复制失败:", err);
4676
- }
4677
- document.body.removeChild(textArea);
4678
- }
4679
- },
4680
- // 文本搜索高亮
4681
- highlightText(searchTerm) {
4682
- if (!searchTerm) return;
4683
- const content = this.getPlainTextContent();
4684
- const regex = new RegExp(`(${searchTerm})`, "gi");
4685
- const highlightedContent = content.replace(regex, "<mark>$1</mark>");
4686
-
4687
- // 这里可以根据需要实现高亮显示逻辑
4688
- console.log("高亮内容:", highlightedContent);
4689
- },
4690
- // 文本统计信息
4691
- getTextStats() {
4692
- const text = this.getPlainTextContent();
4693
- const words = text.split(/\s+/).filter(word => word.length > 0);
4694
- const lines = text.split("\n").length;
4695
- const characters = text.length;
4696
- const charactersNoSpaces = text.replace(/\s/g, "").length;
4697
- return {
4698
- characters,
4699
- charactersNoSpaces,
4700
- words: words.length,
4701
- lines,
4702
- paragraphs: text.split(/\n\s*\n/).filter(p => p.trim().length > 0).length
4703
- };
4704
- }
4705
- }
4706
- });
4707
- ;// ./package/cms-text/View.vue?vue&type=script&lang=js
4708
- /* harmony default export */ var cms_text_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
4709
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=style&index=0&id=7fe7dfef&prod&lang=scss&scoped=true
4710
- // extracted by mini-css-extract-plugin
4711
-
4712
- ;// ./package/cms-text/View.vue?vue&type=style&index=0&id=7fe7dfef&prod&lang=scss&scoped=true
4713
-
4714
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
4715
- var componentNormalizer = __webpack_require__(1656);
4716
- ;// ./package/cms-text/View.vue
4717
-
4718
-
4719
-
4720
- ;
4721
-
4722
-
4723
- /* normalize component */
4724
-
4725
- var component = (0,componentNormalizer/* default */.A)(
4726
- cms_text_Viewvue_type_script_lang_js,
4727
- render,
4728
- staticRenderFns,
4729
- false,
4730
- null,
4731
- "7fe7dfef",
4732
- null
4733
-
4734
- )
4735
-
4736
- /* harmony default export */ var View = (component.exports);
4737
-
4738
- /***/ }),
4739
-
4740
4555
  /***/ 1453:
4741
4556
  /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
4742
4557
 
@@ -10835,8 +10650,8 @@ var map = {
10835
10650
  "./cms-activityTime/index.js": 7197,
10836
10651
  "./cms-banner": 1739,
10837
10652
  "./cms-banner/": 1739,
10838
- "./cms-banner/View": 2646,
10839
- "./cms-banner/View.vue": 2646,
10653
+ "./cms-banner/View": 6815,
10654
+ "./cms-banner/View.vue": 6815,
10840
10655
  "./cms-banner/components/cmhkALabel": 753,
10841
10656
  "./cms-banner/components/cmhkALabel.vue": 753,
10842
10657
  "./cms-banner/index": 1739,
@@ -10861,8 +10676,8 @@ var map = {
10861
10676
  "./cms-column-card/index": 5340,
10862
10677
  "./cms-column-card/index.js": 5340,
10863
10678
  "./cms-column/": 3923,
10864
- "./cms-column/View": 2802,
10865
- "./cms-column/View.vue": 2802,
10679
+ "./cms-column/View": 7651,
10680
+ "./cms-column/View.vue": 7651,
10866
10681
  "./cms-column/index": 3923,
10867
10682
  "./cms-column/index.js": 3923,
10868
10683
  "./cms-description": 1921,
@@ -10980,14 +10795,14 @@ var map = {
10980
10795
  "./cms-termsAndConditions/index.js": 9387,
10981
10796
  "./cms-text": 394,
10982
10797
  "./cms-text/": 394,
10983
- "./cms-text/View": 1452,
10984
- "./cms-text/View.vue": 1452,
10798
+ "./cms-text/View": 1765,
10799
+ "./cms-text/View.vue": 1765,
10985
10800
  "./cms-text/index": 394,
10986
10801
  "./cms-text/index.js": 394,
10987
10802
  "./cms-threeScroll": 4670,
10988
10803
  "./cms-threeScroll/": 4670,
10989
- "./cms-threeScroll/View": 3257,
10990
- "./cms-threeScroll/View.vue": 3257,
10804
+ "./cms-threeScroll/View": 517,
10805
+ "./cms-threeScroll/View.vue": 517,
10991
10806
  "./cms-threeScroll/index": 4670,
10992
10807
  "./cms-threeScroll/index.js": 4670,
10993
10808
  "./cms-titleCenter": 8904,
@@ -11004,8 +10819,8 @@ var map = {
11004
10819
  "./cms-titleLeft/index.js": 7804,
11005
10820
  "./cms-via-storedValueCard": 4400,
11006
10821
  "./cms-via-storedValueCard/": 4400,
11007
- "./cms-via-storedValueCard/View": 343,
11008
- "./cms-via-storedValueCard/View.vue": 343,
10822
+ "./cms-via-storedValueCard/View": 626,
10823
+ "./cms-via-storedValueCard/View.vue": 626,
11009
10824
  "./cms-via-storedValueCard/index": 4400,
11010
10825
  "./cms-via-storedValueCard/index copy": 6023,
11011
10826
  "./cms-via-storedValueCard/index copy.js": 6023,
@@ -11316,7 +11131,7 @@ module.exports = function bind(fn, thisArg) {
11316
11131
  __webpack_require__.r(__webpack_exports__);
11317
11132
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
11318
11133
 
11319
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2646));
11134
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 6815));
11320
11135
  const langData = {
11321
11136
  configList: [{
11322
11137
  id: Math.random().toString(),
@@ -11392,6 +11207,421 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
11392
11207
 
11393
11208
  /***/ }),
11394
11209
 
11210
+ /***/ 1765:
11211
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
11212
+
11213
+ "use strict";
11214
+ // ESM COMPAT FLAG
11215
+ __webpack_require__.r(__webpack_exports__);
11216
+
11217
+ // EXPORTS
11218
+ __webpack_require__.d(__webpack_exports__, {
11219
+ "default": function() { return /* binding */ View; }
11220
+ });
11221
+
11222
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=template&id=1854eb12&scoped=true
11223
+ var render = function render() {
11224
+ var _vm = this,
11225
+ _c = _vm._self._c;
11226
+ return _c('BaseComp', _vm._b({
11227
+ attrs: {
11228
+ "data": _vm.data,
11229
+ "nowCompId": _vm.nowCompId,
11230
+ "isOpcacity": _vm.isOpcacity,
11231
+ "lang": _vm.lang
11232
+ },
11233
+ on: {
11234
+ "getConfigData": _vm.getConfigData
11235
+ }
11236
+ }, 'BaseComp', _vm.$attrs, false), [_c('section', {
11237
+ staticClass: "cms-text-container",
11238
+ class: [`align-${_vm.configData.textAlign || 'left'}`, _vm.configData.customClass || '', {
11239
+ 'has-link': _vm.configData.linkUrl,
11240
+ 'hover-effect': _vm.configData.hoverEffect && _vm.configData.linkUrl
11241
+ }],
11242
+ style: _vm.containerStyle,
11243
+ attrs: {
11244
+ "aria-label": _vm.configData.ariaLabel,
11245
+ "tabindex": _vm.configData.tabIndex,
11246
+ "role": _vm.configData.role,
11247
+ "title": _vm.configData.seoTitle || _vm.configData.seoDescription
11248
+ },
11249
+ on: {
11250
+ "click": _vm.handleClick
11251
+ }
11252
+ }, [_c('div', {
11253
+ staticClass: "text-content",
11254
+ style: _vm.textStyle
11255
+ }, _vm._l(_vm.textLines, function (line, index) {
11256
+ return _c('p', {
11257
+ key: index,
11258
+ staticClass: "text-line",
11259
+ style: _vm.lineStyle
11260
+ }, [_vm._v(" " + _vm._s(line) + " ")]);
11261
+ }), 0), _vm.configData.linkUrl && _vm.configData.showLinkIcon ? _c('div', {
11262
+ staticClass: "link-indicator"
11263
+ }, [_c('i', {
11264
+ staticClass: "el-icon-link"
11265
+ })]) : _vm._e()])]);
11266
+ };
11267
+ var staticRenderFns = [];
11268
+
11269
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.constructor.js
11270
+ var es_iterator_constructor = __webpack_require__(8111);
11271
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
11272
+ var es_iterator_filter = __webpack_require__(2489);
11273
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
11274
+ var es_iterator_for_each = __webpack_require__(7588);
11275
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
11276
+ var baseComp = __webpack_require__(4128);
11277
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=script&lang=js
11278
+
11279
+
11280
+
11281
+
11282
+
11283
+
11284
+
11285
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
11286
+ name: "cms-text",
11287
+ components: {
11288
+ BaseComp: baseComp["default"]
11289
+ },
11290
+ props: {
11291
+ data: {
11292
+ type: Object,
11293
+ default: () => {
11294
+ return {};
11295
+ }
11296
+ },
11297
+ nowCompId: {
11298
+ type: [String, Number],
11299
+ default: ""
11300
+ },
11301
+ isOpcacity: {
11302
+ type: Boolean,
11303
+ default: true
11304
+ },
11305
+ lang: {
11306
+ type: String,
11307
+ default: "zh-HK"
11308
+ }
11309
+ },
11310
+ data() {
11311
+ return {
11312
+ configData: {},
11313
+ // 默认配置数据
11314
+ defaultConfig: {
11315
+ // 内容编辑
11316
+ textContent: "请输入文本内容",
11317
+ enableLineBreak: true,
11318
+ // 排版控制
11319
+ textAlign: "left",
11320
+ fontSize: 16,
11321
+ lineHeight: 1.5,
11322
+ letterSpacing: 0,
11323
+ // 样式美化
11324
+ fontColor: "#333333",
11325
+ fontWeight: "normal",
11326
+ fontStyle: "normal",
11327
+ textDecoration: "none",
11328
+ // fontFamily: "inherit",
11329
+
11330
+ // 布局设置
11331
+ paddingTop: 0,
11332
+ paddingBottom: 0,
11333
+ paddingLeft: 0,
11334
+ paddingRight: 0,
11335
+ marginTop: 0,
11336
+ marginBottom: 0,
11337
+ marginLeft: 0,
11338
+ marginRight: 0,
11339
+ backgroundColor: "",
11340
+ // 视觉效果
11341
+ borderWidth: 0,
11342
+ borderStyle: "solid",
11343
+ borderColor: "#dcdfe6",
11344
+ borderRadius: 0,
11345
+ boxShadow: "",
11346
+ // 交互功能
11347
+ linkUrl: "",
11348
+ linkTarget: "_self",
11349
+ showLinkIcon: false,
11350
+ hoverEffect: false,
11351
+ // 高级配置
11352
+ customClass: "",
11353
+ customStyle: "",
11354
+ enableAnimation: false,
11355
+ animationType: "fadeIn",
11356
+ animationDuration: 300,
11357
+ // 可访问性配置
11358
+ ariaLabel: "",
11359
+ tabIndex: 0,
11360
+ role: "",
11361
+ // SEO配置
11362
+ seoTitle: "",
11363
+ seoDescription: "",
11364
+ // 响应式配置
11365
+ mobileTextAlign: "",
11366
+ mobileFontSize: 0,
11367
+ tabletFontSize: 0
11368
+ }
11369
+ };
11370
+ },
11371
+ mounted() {
11372
+ this.initConfigData();
11373
+ this.setCSSVariables();
11374
+ },
11375
+ watch: {
11376
+ configData: {
11377
+ handler() {
11378
+ this.updateStyles();
11379
+ },
11380
+ deep: true
11381
+ }
11382
+ },
11383
+ computed: {
11384
+ // 文本行数组(支持换行)
11385
+ textLines() {
11386
+ if (!this.configData.textContent) return [];
11387
+ if (!this.configData.enableLineBreak) {
11388
+ return [this.configData.textContent];
11389
+ }
11390
+ return this.configData.textContent.split("\n").filter(line => line.trim() !== "");
11391
+ },
11392
+ // 容器样式
11393
+ containerStyle() {
11394
+ const config = {
11395
+ ...this.defaultConfig,
11396
+ ...this.configData
11397
+ };
11398
+ return {
11399
+ padding: `${config.paddingTop}px ${config.paddingRight}px ${config.paddingBottom}px ${config.paddingLeft}px`,
11400
+ margin: `${config.marginTop}px ${config.marginRight}px ${config.marginBottom}px ${config.marginLeft}px`,
11401
+ backgroundColor: config.backgroundColor || "transparent",
11402
+ border: config.borderWidth ? `${config.borderWidth}px ${config.borderStyle} ${config.borderColor}` : "none",
11403
+ borderRadius: `${config.borderRadius}px`,
11404
+ boxShadow: config.boxShadow || "none",
11405
+ cursor: config.linkUrl ? "pointer" : "default",
11406
+ transition: config.hoverEffect ? "all 0.3s ease" : "none",
11407
+ animation: config.enableAnimation ? this.getAnimationStyle() : "none",
11408
+ ...this.parseCustomStyle(config.customStyle)
11409
+ };
11410
+ },
11411
+ // 文本样式
11412
+ textStyle() {
11413
+ const config = {
11414
+ ...this.defaultConfig,
11415
+ ...this.configData
11416
+ };
11417
+ return {
11418
+ color: config.fontColor,
11419
+ fontSize: `${config.fontSize}px`,
11420
+ fontWeight: config.fontWeight,
11421
+ fontStyle: config.fontStyle,
11422
+ textDecoration: config.textDecoration,
11423
+ // fontFamily: config.fontFamily,
11424
+ lineHeight: config.lineHeight,
11425
+ letterSpacing: `${config.letterSpacing}px`,
11426
+ textAlign: config.textAlign,
11427
+ wordBreak: "break-word",
11428
+ wordWrap: "break-word",
11429
+ cursor: config.linkUrl ? "pointer" : "default"
11430
+ };
11431
+ },
11432
+ // 行样式
11433
+ lineStyle() {
11434
+ return {
11435
+ margin: "0",
11436
+ padding: "0"
11437
+ };
11438
+ }
11439
+ },
11440
+ methods: {
11441
+ // 初始化配置数据
11442
+ initConfigData() {
11443
+ this.configData = {
11444
+ ...this.defaultConfig,
11445
+ ...this.configData
11446
+ };
11447
+ },
11448
+ // 获取配置数据
11449
+ getConfigData(configData) {
11450
+ this.configData = {
11451
+ ...this.defaultConfig,
11452
+ ...configData
11453
+ };
11454
+ this.updateStyles();
11455
+ },
11456
+ // 更新样式
11457
+ updateStyles() {
11458
+ this.$nextTick(() => {
11459
+ this.setCSSVariables();
11460
+ this.$forceUpdate();
11461
+ });
11462
+ },
11463
+ // 设置CSS变量
11464
+ setCSSVariables() {
11465
+ if (!this.$el) return;
11466
+ const config = {
11467
+ ...this.defaultConfig,
11468
+ ...this.configData
11469
+ };
11470
+
11471
+ // 设置响应式字体大小
11472
+ if (config.mobileFontSize > 0) {
11473
+ this.$el.style.setProperty("--mobile-font-size", `${config.mobileFontSize}px`);
11474
+ }
11475
+ if (config.tabletFontSize > 0) {
11476
+ this.$el.style.setProperty("--tablet-font-size", `${config.tabletFontSize}px`);
11477
+ }
11478
+
11479
+ // 设置移动端文本对齐
11480
+ if (config.mobileTextAlign) {
11481
+ this.$el.style.setProperty("--mobile-text-align", config.mobileTextAlign);
11482
+ }
11483
+ },
11484
+ // 处理点击事件
11485
+ handleClick() {
11486
+ if (this.configData.linkUrl) {
11487
+ const target = this.configData.linkTarget || "_self";
11488
+ if (target === "_blank") {
11489
+ window.open(this.configData.linkUrl, "_blank");
11490
+ } else {
11491
+ window.location.href = this.configData.linkUrl;
11492
+ }
11493
+ }
11494
+ },
11495
+ // 获取动画样式
11496
+ getAnimationStyle() {
11497
+ const animationType = this.configData.animationType || this.defaultConfig.animationType;
11498
+ const duration = this.configData.animationDuration || this.defaultConfig.animationDuration;
11499
+ if (!this.configData.enableAnimation || animationType === "none") return "";
11500
+ return `${animationType} ${duration}ms ease-in-out`;
11501
+ },
11502
+ // 解析自定义样式
11503
+ parseCustomStyle(customStyle) {
11504
+ if (!customStyle) return {};
11505
+ try {
11506
+ // 简单的CSS样式解析
11507
+ const styles = {};
11508
+ const declarations = customStyle.split(";");
11509
+ declarations.forEach(declaration => {
11510
+ const [property, value] = declaration.split(":");
11511
+ if (property && value) {
11512
+ const camelCaseProperty = property.trim().replace(/-([a-z])/g, g => g[1].toUpperCase());
11513
+ styles[camelCaseProperty] = value.trim();
11514
+ }
11515
+ });
11516
+ return styles;
11517
+ } catch (error) {
11518
+ console.warn("解析自定义样式失败:", error);
11519
+ return {};
11520
+ }
11521
+ },
11522
+ // 文本内容验证
11523
+ validateTextContent() {
11524
+ const content = this.configData.textContent;
11525
+ if (!content || content.trim() === "") {
11526
+ console.warn("文本内容为空");
11527
+ return false;
11528
+ }
11529
+ return true;
11530
+ },
11531
+ // 获取纯文本内容
11532
+ getPlainTextContent() {
11533
+ return this.configData.textContent || "";
11534
+ },
11535
+ // 获取文本长度
11536
+ getTextLength() {
11537
+ return this.getPlainTextContent().length;
11538
+ },
11539
+ // 复制文本内容到剪贴板
11540
+ copyTextToClipboard() {
11541
+ const text = this.getPlainTextContent();
11542
+ if (navigator.clipboard && window.isSecureContext) {
11543
+ navigator.clipboard.writeText(text).then(() => {
11544
+ var _this$$message;
11545
+ (_this$$message = this.$message) === null || _this$$message === void 0 ? void 0 : _this$$message.success("文本已复制到剪贴板");
11546
+ }).catch(err => {
11547
+ console.error("复制失败:", err);
11548
+ });
11549
+ } else {
11550
+ // 降级方案
11551
+ const textArea = document.createElement("textarea");
11552
+ textArea.value = text;
11553
+ document.body.appendChild(textArea);
11554
+ textArea.select();
11555
+ try {
11556
+ var _this$$message2;
11557
+ document.execCommand("copy");
11558
+ (_this$$message2 = this.$message) === null || _this$$message2 === void 0 ? void 0 : _this$$message2.success("文本已复制到剪贴板");
11559
+ } catch (err) {
11560
+ console.error("复制失败:", err);
11561
+ }
11562
+ document.body.removeChild(textArea);
11563
+ }
11564
+ },
11565
+ // 文本搜索高亮
11566
+ highlightText(searchTerm) {
11567
+ if (!searchTerm) return;
11568
+ const content = this.getPlainTextContent();
11569
+ const regex = new RegExp(`(${searchTerm})`, "gi");
11570
+ const highlightedContent = content.replace(regex, "<mark>$1</mark>");
11571
+
11572
+ // 这里可以根据需要实现高亮显示逻辑
11573
+ console.log("高亮内容:", highlightedContent);
11574
+ },
11575
+ // 文本统计信息
11576
+ getTextStats() {
11577
+ const text = this.getPlainTextContent();
11578
+ const words = text.split(/\s+/).filter(word => word.length > 0);
11579
+ const lines = text.split("\n").length;
11580
+ const characters = text.length;
11581
+ const charactersNoSpaces = text.replace(/\s/g, "").length;
11582
+ return {
11583
+ characters,
11584
+ charactersNoSpaces,
11585
+ words: words.length,
11586
+ lines,
11587
+ paragraphs: text.split(/\n\s*\n/).filter(p => p.trim().length > 0).length
11588
+ };
11589
+ }
11590
+ }
11591
+ });
11592
+ ;// ./package/cms-text/View.vue?vue&type=script&lang=js
11593
+ /* harmony default export */ var cms_text_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
11594
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-text/View.vue?vue&type=style&index=0&id=1854eb12&prod&lang=scss&scoped=true
11595
+ // extracted by mini-css-extract-plugin
11596
+
11597
+ ;// ./package/cms-text/View.vue?vue&type=style&index=0&id=1854eb12&prod&lang=scss&scoped=true
11598
+
11599
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
11600
+ var componentNormalizer = __webpack_require__(1656);
11601
+ ;// ./package/cms-text/View.vue
11602
+
11603
+
11604
+
11605
+ ;
11606
+
11607
+
11608
+ /* normalize component */
11609
+
11610
+ var component = (0,componentNormalizer/* default */.A)(
11611
+ cms_text_Viewvue_type_script_lang_js,
11612
+ render,
11613
+ staticRenderFns,
11614
+ false,
11615
+ null,
11616
+ "1854eb12",
11617
+ null
11618
+
11619
+ )
11620
+
11621
+ /* harmony default export */ var View = (component.exports);
11622
+
11623
+ /***/ }),
11624
+
11395
11625
  /***/ 1767:
11396
11626
  /***/ (function(module) {
11397
11627
 
@@ -17644,310 +17874,6 @@ Sortable.mount(Remove, Revert);
17644
17874
  /* harmony default export */ __webpack_exports__["default"] = (Sortable);
17645
17875
 
17646
17876
 
17647
- /***/ }),
17648
-
17649
- /***/ 2646:
17650
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
17651
-
17652
- "use strict";
17653
- // ESM COMPAT FLAG
17654
- __webpack_require__.r(__webpack_exports__);
17655
-
17656
- // EXPORTS
17657
- __webpack_require__.d(__webpack_exports__, {
17658
- "default": function() { return /* binding */ View; }
17659
- });
17660
-
17661
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-banner/View.vue?vue&type=template&id=355e1f51&scoped=true
17662
- var render = function render() {
17663
- var _vm$configList$_vm$sw;
17664
- var _vm = this,
17665
- _c = _vm._self._c;
17666
- return _c('BaseComp', _vm._b({
17667
- attrs: {
17668
- "data": _vm.data,
17669
- "nowCompId": _vm.nowCompId,
17670
- "isOpcacity": _vm.isOpcacity,
17671
- "lang": _vm.lang
17672
- },
17673
- on: {
17674
- "getConfigData": _vm.getConfigData
17675
- }
17676
- }, 'BaseComp', _vm.$attrs, false), [_c('div', {
17677
- staticClass: "content-swiper tt_banner"
17678
- }, [_vm.configList.length > 0 ? _c('div', {
17679
- staticClass: "relative position"
17680
- }, [_c('div', {
17681
- staticClass: "my_banner"
17682
- }, [_c('div', {
17683
- staticClass: "swiper-container_contentswiper",
17684
- attrs: {
17685
- "id": `contentSwiper${_vm.data.componentId}`
17686
- }
17687
- }, [_c('div', {
17688
- staticClass: "swiper-wrapper"
17689
- }, _vm._l(_vm.configList, function (item, inx) {
17690
- return _c('div', {
17691
- key: inx,
17692
- staticClass: "swiper-slide"
17693
- }, [item ? _c('div', {
17694
- staticClass: "swiper-banner_box",
17695
- on: {
17696
- "click": function ($event) {
17697
- return _vm.decodeJumpUrl(item.jumpUrl, _vm.$router);
17698
- }
17699
- }
17700
- }, [_c('img', {
17701
- staticClass: "swiper-banner_image layout-pc",
17702
- attrs: {
17703
- "src": item.uploadImagePC,
17704
- "alt": "PC"
17705
- }
17706
- }), _c('img', {
17707
- staticClass: "swiper-banner_image layout-mobile",
17708
- attrs: {
17709
- "src": item.uploadImageH5,
17710
- "alt": "H5"
17711
- }
17712
- }), _c('div', {
17713
- staticClass: "extra-swiper_box layout-pc"
17714
- }, [item.title ? _c('div', {
17715
- staticClass: "swiper-contentbtn"
17716
- }, [_c('span', [_vm._v(_vm._s(item.title))])]) : _vm._e(), item.des ? _c('div', {
17717
- staticClass: "swiper-labels"
17718
- }, [_c('span', [_vm._v(_vm._s(item.des))])]) : _vm._e(), _c('div', {
17719
- staticClass: "swiper-btn_container"
17720
- }, [item.input1 != '' ? _c('a', {
17721
- attrs: {
17722
- "href": item.jumpUrl1,
17723
- "target": "_self"
17724
- }
17725
- }, [_c('button', {
17726
- staticClass: "swiper-opbtn have-arrow"
17727
- }, [_c('span', [_vm._v(_vm._s(item.input1))])])]) : _vm._e(), item.input2 != '' ? _c('a', {
17728
- attrs: {
17729
- "href": item.jumpUrl2,
17730
- "target": "_self"
17731
- }
17732
- }, [_c('button', {
17733
- staticClass: "swiper-opbtn_wt"
17734
- }, [_c('span', [_vm._v(_vm._s(item.input2))])])]) : _vm._e()])])]) : _vm._e()]);
17735
- }), 0)])]), _vm.configList[_vm.swiperIdx].title || _vm.configList[_vm.swiperIdx].des || _vm.configList[_vm.swiperIdx].input1 || _vm.configList[_vm.swiperIdx].input2 || (_vm$configList$_vm$sw = _vm.configList[_vm.swiperIdx]) !== null && _vm$configList$_vm$sw !== void 0 && _vm$configList$_vm$sw.input3 ? _c('div', {
17736
- staticClass: "mb-swiper_box layout-mobile"
17737
- }, [_vm.configList[_vm.swiperIdx].title ? _c('div', {
17738
- staticClass: "swiper-contentbtn"
17739
- }, [_c('span', [_vm._v(_vm._s(_vm.configList[_vm.swiperIdx].title))])]) : _vm._e(), _vm.configList[_vm.swiperIdx].des ? _c('div', {
17740
- staticClass: "swiper-label"
17741
- }, [_c('span', [_vm._v(_vm._s(_vm.configList[_vm.swiperIdx].des))])]) : _vm._e(), _c('div', {
17742
- staticClass: "swiper-btn_container"
17743
- }, [_vm.configList[_vm.swiperIdx].input1 ? _c('a', {
17744
- attrs: {
17745
- "href": _vm.configList[_vm.swiperIdx].jumpUrl1,
17746
- "target": "_self"
17747
- }
17748
- }, [_c('button', {
17749
- staticClass: "swiper-opbtn have-arrow"
17750
- }, [_c('span', [_vm._v(_vm._s(_vm.configList[_vm.swiperIdx].input1))])])]) : _vm._e(), _vm.configList[_vm.swiperIdx].input2 ? _c('a', {
17751
- attrs: {
17752
- "href": _vm.configList[_vm.swiperIdx].jumpUrl2,
17753
- "target": "_self"
17754
- }
17755
- }, [_c('button', {
17756
- staticClass: "swiper-opbtn_wt have-arrow"
17757
- }, [_c('span', [_vm._v(_vm._s(_vm.configList[_vm.swiperIdx].input2))])])]) : _vm._e()])]) : _vm._e(), _vm.configList.length > 1 ? _c('div', {
17758
- staticClass: "cmhk-swiper-button-number"
17759
- }, [_vm._l(_vm.configList, function (item, idx) {
17760
- return _c('div', {
17761
- key: idx,
17762
- staticClass: "line-customs_wrapper",
17763
- on: {
17764
- "click": function ($event) {
17765
- $event.stopPropagation();
17766
- return _vm.jumpToSlide(idx);
17767
- }
17768
- }
17769
- }, [_c('div', {
17770
- class: ['cmhk-line-customs', idx === _vm.swiperIdx ? 'cmhk-line-customs-active' : '']
17771
- }, [item && item.input1 ? _c('div', {
17772
- staticClass: "swiper-popupup layout-pc"
17773
- }, [_c('p', {
17774
- staticClass: "swiper-popuptext"
17775
- }, [_vm._v(_vm._s(item.input1))])]) : _vm._e()])]);
17776
- }), _c('div', {
17777
- staticClass: "swiper-button-puase",
17778
- on: {
17779
- "click": function ($event) {
17780
- $event.stopPropagation();
17781
- return _vm.swiperPlay.apply(null, arguments);
17782
- }
17783
- }
17784
- }, [!_vm.swiperPlayVal ? _c('img', {
17785
- staticClass: "playstart-image",
17786
- attrs: {
17787
- "src": __webpack_require__(2254)
17788
- }
17789
- }) : _vm._e(), _vm.swiperPlayVal ? _c('img', {
17790
- staticClass: "playstop-image",
17791
- attrs: {
17792
- "src": __webpack_require__(2584)
17793
- }
17794
- }) : _vm._e()])], 2) : _vm._e()]) : _vm._e()])]);
17795
- };
17796
- var staticRenderFns = [];
17797
-
17798
- ;// ./package/cms-banner/View.vue?vue&type=template&id=355e1f51&scoped=true
17799
-
17800
- // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.js
17801
- var swiper = __webpack_require__(2791);
17802
- // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
17803
- var swiper_esm_bundle = __webpack_require__(4418);
17804
- // EXTERNAL MODULE: ./src/utils/jumpUrl.js
17805
- var jumpUrl = __webpack_require__(813);
17806
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
17807
- var baseComp = __webpack_require__(4128);
17808
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-banner/View.vue?vue&type=script&lang=js
17809
-
17810
-
17811
-
17812
-
17813
-
17814
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
17815
- name: "cms-banner",
17816
- components: {
17817
- BaseComp: baseComp["default"]
17818
- },
17819
- props: {
17820
- data: {
17821
- type: Object,
17822
- default: () => {
17823
- return {};
17824
- }
17825
- },
17826
- nowCompId: {
17827
- type: [String, Number],
17828
- default: ""
17829
- },
17830
- isOpcacity: {
17831
- type: Boolean,
17832
- default: true
17833
- },
17834
- lang: {
17835
- type: String,
17836
- default: "zh-HK"
17837
- }
17838
- },
17839
- data() {
17840
- return {
17841
- configList: [],
17842
- // 轮播
17843
- swiperOne: null,
17844
- swiperIdx: 0,
17845
- swiperPlayVal: true
17846
- };
17847
- },
17848
- created() {},
17849
- mounted() {
17850
- // if (this.configList.length > 0) {
17851
- // this.initSwiper("bannerList");
17852
- // }
17853
- },
17854
- watch: {},
17855
- methods: {
17856
- getConfigData(configData) {
17857
- this.configList = configData.configList;
17858
- this.$nextTick(() => {
17859
- this.initSwiper();
17860
- });
17861
- },
17862
- initSwiper() {
17863
- const vm = this;
17864
- if (this.configList.length > 0) {
17865
- // 当广告个数大于1的时候才开启循环
17866
- const ifLoop = this.configList.length > 1 ? true : false;
17867
- this.swiperOne = new swiper_esm_bundle/* default */.A(`#contentSwiper${this.data.componentId}`, {
17868
- initialSlide: 0,
17869
- // 初始化时slide的索引
17870
- autoplay: {
17871
- // 自动开始
17872
- delay: 5000,
17873
- // 时间间隔
17874
- disableOnInteraction: false // 手动操作轮播图后不会暂停
17875
- },
17876
- loop: ifLoop,
17877
- // 循环模式选项
17878
- spaceBetween: 30,
17879
- // 在slide之间设置距离
17880
- observer: true,
17881
- observeParents: true,
17882
- on: {
17883
- slideChangeTransitionEnd: function () {
17884
- // swiper从一个slide过渡到另一个slide结束时执行
17885
- console.log("realIndex", this.realIndex);
17886
- if (this.realIndex > vm.configList.length - 1) return;
17887
- vm.swiperIdx = this.realIndex;
17888
- },
17889
- resize: function () {
17890
- this.update(true);
17891
- }
17892
- }
17893
- });
17894
- }
17895
- },
17896
- // 轮播
17897
- swiperPlay() {
17898
- this.swiperPlayVal = !this.swiperPlayVal;
17899
- this.swiperPlayVal ? this.swiperClickStart() : this.swiperClickStop();
17900
- },
17901
- swiperClickStop() {
17902
- this.swiperOne.autoplay.stop();
17903
- },
17904
- swiperClickStart() {
17905
- this.swiperOne.autoplay.start();
17906
- },
17907
- jumpToSlide(idx) {
17908
- // banner 轮播PC
17909
- console.log("PC点击了", idx);
17910
- // 在Loop模式下Swiper切换到指定slide。切换到的是slide索引是realIndex
17911
- this.swiperOne.slideToLoop(idx, 1000, false);
17912
- this.swiperIdx = idx;
17913
- },
17914
- //跳转
17915
- decodeJumpUrl(path, route) {
17916
- (0,jumpUrl/* decodeJumpUrl */.u)(path, route);
17917
- }
17918
- }
17919
- });
17920
- ;// ./package/cms-banner/View.vue?vue&type=script&lang=js
17921
- /* harmony default export */ var cms_banner_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
17922
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-banner/View.vue?vue&type=style&index=0&id=355e1f51&prod&scoped=true&lang=scss
17923
- // extracted by mini-css-extract-plugin
17924
-
17925
- ;// ./package/cms-banner/View.vue?vue&type=style&index=0&id=355e1f51&prod&scoped=true&lang=scss
17926
-
17927
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
17928
- var componentNormalizer = __webpack_require__(1656);
17929
- ;// ./package/cms-banner/View.vue
17930
-
17931
-
17932
-
17933
- ;
17934
-
17935
-
17936
- /* normalize component */
17937
-
17938
- var component = (0,componentNormalizer/* default */.A)(
17939
- cms_banner_Viewvue_type_script_lang_js,
17940
- render,
17941
- staticRenderFns,
17942
- false,
17943
- null,
17944
- "355e1f51",
17945
- null
17946
-
17947
- )
17948
-
17949
- /* harmony default export */ var View = (component.exports);
17950
-
17951
17877
  /***/ }),
17952
17878
 
17953
17879
  /***/ 2652:
@@ -26479,270 +26405,6 @@ var POLYFILL = isForced.POLYFILL = 'P';
26479
26405
  module.exports = isForced;
26480
26406
 
26481
26407
 
26482
- /***/ }),
26483
-
26484
- /***/ 2802:
26485
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
26486
-
26487
- "use strict";
26488
- // ESM COMPAT FLAG
26489
- __webpack_require__.r(__webpack_exports__);
26490
-
26491
- // EXPORTS
26492
- __webpack_require__.d(__webpack_exports__, {
26493
- "default": function() { return /* binding */ View; }
26494
- });
26495
-
26496
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=template&id=f2ba72e8&scoped=true
26497
- var render = function render() {
26498
- var _vm = this,
26499
- _c = _vm._self._c;
26500
- return _c('BaseComp', _vm._b({
26501
- attrs: {
26502
- "data": _vm.data,
26503
- "nowCompId": _vm.nowCompId,
26504
- "isOpcacity": _vm.isOpcacity,
26505
- "isMask": false,
26506
- "lang": _vm.lang
26507
- },
26508
- on: {
26509
- "getConfigData": _vm.getConfigData
26510
- },
26511
- scopedSlots: _vm._u([{
26512
- key: "default",
26513
- fn: function (slotProps) {
26514
- return [_c('section', {
26515
- class: (_vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main', {
26516
- hoverBorderClass: _vm.isConfigPage
26517
- }),
26518
- style: _vm.containerStyle
26519
- }, [_c('div', {
26520
- staticClass: "column-setting",
26521
- class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
26522
- style: _vm.columnStyle
26523
- }, _vm._l(_vm.data.childList, function (item, index) {
26524
- return _c('cms-column-card', _vm._b({
26525
- key: item.componentId,
26526
- class: _vm.getColumnItemClass(index),
26527
- style: _vm.getColumnItemStyle(index),
26528
- attrs: {
26529
- "data": item,
26530
- "nowCompId": _vm.nowCompId,
26531
- "isOpcacity": _vm.isOpcacity,
26532
- "isMask": false,
26533
- "lang": _vm.lang,
26534
- "isMobile": slotProps.isMobile,
26535
- "mobileLayout": _vm.configData.mobileLayout
26536
- }
26537
- }, 'cms-column-card', _vm.$attrs, false));
26538
- }), 1)])];
26539
- }
26540
- }])
26541
- }, 'BaseComp', _vm.$attrs, false));
26542
- };
26543
- var staticRenderFns = [];
26544
-
26545
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
26546
- var baseComp = __webpack_require__(4128);
26547
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=script&lang=js
26548
-
26549
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
26550
- name: "cms-column",
26551
- components: {
26552
- BaseComp: baseComp["default"]
26553
- },
26554
- props: {
26555
- data: {
26556
- type: Object,
26557
- default: () => {
26558
- return {};
26559
- }
26560
- },
26561
- nowCompId: {
26562
- type: [String, Number],
26563
- default: ""
26564
- },
26565
- isOpcacity: {
26566
- type: Boolean,
26567
- default: true
26568
- },
26569
- lang: {
26570
- type: String,
26571
- default: "zh-HK"
26572
- }
26573
- },
26574
- data() {
26575
- return {
26576
- configData: {},
26577
- messFold: true,
26578
- // 默认配置数据
26579
- defaultConfig: {
26580
- layoutType: "100",
26581
- heightType: "auto",
26582
- widthType: "auto",
26583
- mobileLayout: "vertical",
26584
- fixedHeight: 300,
26585
- borderWidth: 0,
26586
- borderStyle: "solid",
26587
- borderColor: "",
26588
- backgroundColor: "#FFF",
26589
- backgroundImage: "",
26590
- boxShadow: "",
26591
- borderRadius: 0,
26592
- columnGap: 0,
26593
- rowGap: 0,
26594
- title: "",
26595
- description: "",
26596
- input1: "",
26597
- showTitle: true,
26598
- showDescription: true,
26599
- animationDuration: 300,
26600
- responsiveBreakpoint: 768
26601
- }
26602
- };
26603
- },
26604
- mounted() {},
26605
- watch: {
26606
- configData: {
26607
- handler() {
26608
- this.updateStyles();
26609
- },
26610
- immediate: true,
26611
- deep: true
26612
- }
26613
- },
26614
- computed: {
26615
- isConfigPage() {
26616
- return this.$EventBus && this.isOpcacity;
26617
- },
26618
- // 容器样式
26619
- containerStyle() {
26620
- return {
26621
- backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
26622
- backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
26623
- backgroundSize: "cover",
26624
- backgroundRepeat: "no-repeat",
26625
- backgroundPosition: "center center",
26626
- boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
26627
- borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
26628
- minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
26629
- };
26630
- },
26631
- // 分栏容器样式
26632
- columnStyle() {
26633
- // const gap = this.configData.rowGap || this.defaultConfig.rowGap;
26634
- return {
26635
- // gap: `${gap}px`,
26636
- border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
26637
- };
26638
- }
26639
- },
26640
- methods: {
26641
- // 获取配置数据
26642
- getConfigData(configData) {
26643
- this.configData = configData;
26644
- this.updateStyles();
26645
- },
26646
- // 更新样式
26647
- updateStyles() {
26648
- this.$nextTick(() => {
26649
- // 触发样式更新
26650
- this.$forceUpdate();
26651
- });
26652
- },
26653
- // 获取分栏项的类名
26654
- getColumnItemClass(index) {
26655
- const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
26656
- return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
26657
- "min-h": this.$EventBus && this.isOpcacity,
26658
- "first-item": index === 0,
26659
- "last-item": index === this.data.childList.length - 1
26660
- }];
26661
- },
26662
- // 获取分栏项的样式
26663
- getColumnItemStyle(index) {
26664
- const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
26665
- const gap = this.configData.rowGap || this.defaultConfig.rowGap;
26666
- let flexBasis = "100%";
26667
- let marginRight = "0";
26668
-
26669
- // 根据布局类型设置宽度
26670
- switch (layoutType) {
26671
- case "50-50":
26672
- flexBasis = `calc(50% - ${gap / 2}px)`;
26673
- marginRight = index % 2 === 0 ? `${gap}px` : "0";
26674
- break;
26675
- case "33-66":
26676
- flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
26677
- marginRight = index === 0 ? `${gap}px` : "0";
26678
- break;
26679
- case "66-33":
26680
- flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
26681
- marginRight = index === 0 ? `${gap}px` : "0";
26682
- break;
26683
- case "33-33-33":
26684
- flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
26685
- marginRight = index < 2 ? `${gap}px` : "0";
26686
- break;
26687
- case "25-50-25":
26688
- if (index === 0 || index === 2) {
26689
- flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
26690
- } else {
26691
- flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
26692
- }
26693
- marginRight = index < 2 ? `${gap}px` : "0";
26694
- break;
26695
- default:
26696
- flexBasis = "100%";
26697
- }
26698
- return {
26699
- flexBasis,
26700
- marginRight,
26701
- marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
26702
- };
26703
- },
26704
- // 折叠/展开文本
26705
- foldMessText() {
26706
- this.messFold = !this.messFold;
26707
- },
26708
- // 处理跳转链接
26709
- decodeJumpUrl(url) {
26710
- if (!url) return;
26711
- top.location.href = url;
26712
- }
26713
- }
26714
- });
26715
- ;// ./package/cms-column/View.vue?vue&type=script&lang=js
26716
- /* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
26717
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=style&index=0&id=f2ba72e8&prod&lang=scss&scoped=true
26718
- // extracted by mini-css-extract-plugin
26719
-
26720
- ;// ./package/cms-column/View.vue?vue&type=style&index=0&id=f2ba72e8&prod&lang=scss&scoped=true
26721
-
26722
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
26723
- var componentNormalizer = __webpack_require__(1656);
26724
- ;// ./package/cms-column/View.vue
26725
-
26726
-
26727
-
26728
- ;
26729
-
26730
-
26731
- /* normalize component */
26732
-
26733
- var component = (0,componentNormalizer/* default */.A)(
26734
- cms_column_Viewvue_type_script_lang_js,
26735
- render,
26736
- staticRenderFns,
26737
- false,
26738
- null,
26739
- "f2ba72e8",
26740
- null
26741
-
26742
- )
26743
-
26744
- /* harmony default export */ var View = (component.exports);
26745
-
26746
26408
  /***/ }),
26747
26409
 
26748
26410
  /***/ 2806:
@@ -27734,232 +27396,6 @@ var component = (0,componentNormalizer/* default */.A)(
27734
27396
 
27735
27397
  /***/ }),
27736
27398
 
27737
- /***/ 3257:
27738
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
27739
-
27740
- "use strict";
27741
- // ESM COMPAT FLAG
27742
- __webpack_require__.r(__webpack_exports__);
27743
-
27744
- // EXPORTS
27745
- __webpack_require__.d(__webpack_exports__, {
27746
- "default": function() { return /* binding */ View; }
27747
- });
27748
-
27749
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-threeScroll/View.vue?vue&type=template&id=b5477492&scoped=true
27750
- var render = function render() {
27751
- var _vm = this,
27752
- _c = _vm._self._c;
27753
- return _c('BaseComp', _vm._b({
27754
- attrs: {
27755
- "data": _vm.data,
27756
- "nowCompId": _vm.nowCompId,
27757
- "isOpcacity": _vm.isOpcacity,
27758
- "lang": _vm.lang
27759
- },
27760
- on: {
27761
- "getConfigData": _vm.getConfigData
27762
- }
27763
- }, 'BaseComp', _vm.$attrs, false), [_c('section', {
27764
- ref: "news",
27765
- staticClass: "cmhk-home_main"
27766
- }, [_vm.configList.length ? _c('div', {
27767
- staticClass: "section-body"
27768
- }, [_c('div', {
27769
- staticClass: "cmhk-section_corp_news-ser"
27770
- }, [_c('div', {
27771
- staticClass: "news-box_container"
27772
- }, [_c('div', {
27773
- staticClass: "news-box_swiper",
27774
- attrs: {
27775
- "id": `news-swiper${_vm.data.componentId}`
27776
- }
27777
- }, [_c('div', {
27778
- staticClass: "swiper-wrapper"
27779
- }, _vm._l(_vm.configList, function (item, inx) {
27780
- return _c('div', {
27781
- key: `${inx}${item === null || item === void 0 ? void 0 : item.id}`,
27782
- staticClass: "swiper-slide"
27783
- }, [_c('div', {
27784
- staticClass: "new-read_card read-card_bg-wt",
27785
- on: {
27786
- "click": function ($event) {
27787
- return _vm.decodeJumpUrl(item.jumpUrl);
27788
- }
27789
- }
27790
- }, [_c('div', {
27791
- staticClass: "image-desbox_wapper"
27792
- }, [_c('img', {
27793
- staticClass: "layout-pc",
27794
- attrs: {
27795
- "src": item.uploadImagePC,
27796
- "alt": item.imagePcATL
27797
- }
27798
- }), _c('img', {
27799
- staticClass: "layout-mobile",
27800
- attrs: {
27801
- "src": item.uploadImageH5,
27802
- "alt": item.imageH5ATL
27803
- }
27804
- })]), _c('div', {
27805
- staticClass: "new-read_card-content"
27806
- }, [_c('p', {
27807
- staticClass: "title"
27808
- }, [_vm._v(_vm._s(item === null || item === void 0 ? void 0 : item.input1))]), _c('p', {
27809
- staticClass: "time"
27810
- }, [_vm._v(_vm._s(item.input2))]), _c('p', {
27811
- staticClass: "des"
27812
- }, [_vm._v(_vm._s(item.input3))]), item.input4 ? _c('p', {
27813
- staticClass: "continue-read"
27814
- }, [_vm._v(" " + _vm._s(item.input4) + " "), _c('i', {
27815
- staticClass: "el-icon-arrow-right"
27816
- })]) : _vm._e()])])]);
27817
- }), 0)]), _vm.configList.length > 3 ? [_c('div', {
27818
- staticClass: "pag-prev left layout-pc",
27819
- class: [_vm.swiperNewsIdx > 2 ? 'is-active' : ''],
27820
- on: {
27821
- "click": _vm.newsPrev
27822
- }
27823
- }, [_c('i', {
27824
- staticClass: "el-icon-arrow-left"
27825
- })]), _c('div', {
27826
- staticClass: "pag-next right layout-pc",
27827
- class: [_vm.swiperNewsIdx < _vm.configList.length - 1 ? 'is-active' : ''],
27828
- on: {
27829
- "click": _vm.newsNext
27830
- }
27831
- }, [_c('i', {
27832
- staticClass: "el-icon-arrow-right"
27833
- })])] : _vm._e()], 2)])]) : _vm._e()])]);
27834
- };
27835
- var staticRenderFns = [];
27836
-
27837
- // EXTERNAL MODULE: ./src/utils/index.js
27838
- var utils = __webpack_require__(1996);
27839
- // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.js
27840
- var swiper = __webpack_require__(2791);
27841
- // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
27842
- var swiper_esm_bundle = __webpack_require__(4418);
27843
- // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
27844
- var baseComp = __webpack_require__(4128);
27845
- ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-threeScroll/View.vue?vue&type=script&lang=js
27846
-
27847
-
27848
-
27849
-
27850
-
27851
- /* harmony default export */ var Viewvue_type_script_lang_js = ({
27852
- name: "cms-threeScroll",
27853
- components: {
27854
- BaseComp: baseComp["default"]
27855
- },
27856
- props: {
27857
- data: {
27858
- type: Object,
27859
- default: () => {
27860
- return {};
27861
- }
27862
- },
27863
- nowCompId: {
27864
- type: [String, Number],
27865
- default: ""
27866
- },
27867
- isOpcacity: {
27868
- type: Boolean,
27869
- default: true
27870
- },
27871
- lang: {
27872
- type: String,
27873
- default: "zh-HK"
27874
- }
27875
- },
27876
- data() {
27877
- return {
27878
- configList: [],
27879
- swiperNewsIdx: 0,
27880
- newsSwiper: null
27881
- };
27882
- },
27883
- mounted() {
27884
- const vm = this;
27885
- this.newsSwiper = new swiper_esm_bundle/* default */.A(`#news-swiper${this.data.componentId}`, {
27886
- autoplay: false,
27887
- loop: false,
27888
- // 循环模式选项
27889
- slidesPerView: (0,utils/* getDevice */.Pf)() !== "mobile" ? 3 : "auto",
27890
- // spaceBetween: getDevice() !== 'mobile' ? 32 : 16, // 在slide之间设置距离
27891
- observer: true,
27892
- observeParents: true,
27893
- touchMoveStopPropagation: true,
27894
- on: {
27895
- slideChangeTransitionEnd: function () {
27896
- if ((0,utils/* getDevice */.Pf)() !== "mobile") {
27897
- vm.swiperNewsIdx = this.realIndex + 2;
27898
- } else {
27899
- vm.swiperNewsIdx = this.realIndex;
27900
- }
27901
- console.log("新闻-当前页最后一个元素下标", vm.swiperNewsIdx);
27902
- },
27903
- resize: function () {
27904
- this.update(true);
27905
- }
27906
- }
27907
- });
27908
- },
27909
- watch: {},
27910
- methods: {
27911
- getConfigData(configData) {
27912
- this.configList = configData.configList;
27913
- },
27914
- newsPrev() {
27915
- if (this.swiperNewsIdx > 2) {
27916
- this.newsSwiper.slidePrev();
27917
- }
27918
- },
27919
- newsNext() {
27920
- if (this.swiperNewsIdx < this.configList.length - 1) {
27921
- this.newsSwiper.slideNext();
27922
- }
27923
- },
27924
- decodeJumpUrl(url) {
27925
- if (!url) return;
27926
- top.location.href = url;
27927
- }
27928
- }
27929
- });
27930
- ;// ./package/cms-threeScroll/View.vue?vue&type=script&lang=js
27931
- /* harmony default export */ var cms_threeScroll_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
27932
- ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-threeScroll/View.vue?vue&type=style&index=0&id=b5477492&prod&lang=scss&scoped=true
27933
- // extracted by mini-css-extract-plugin
27934
-
27935
- ;// ./package/cms-threeScroll/View.vue?vue&type=style&index=0&id=b5477492&prod&lang=scss&scoped=true
27936
-
27937
- // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
27938
- var componentNormalizer = __webpack_require__(1656);
27939
- ;// ./package/cms-threeScroll/View.vue
27940
-
27941
-
27942
-
27943
- ;
27944
-
27945
-
27946
- /* normalize component */
27947
-
27948
- var component = (0,componentNormalizer/* default */.A)(
27949
- cms_threeScroll_Viewvue_type_script_lang_js,
27950
- render,
27951
- staticRenderFns,
27952
- false,
27953
- null,
27954
- "b5477492",
27955
- null
27956
-
27957
- )
27958
-
27959
- /* harmony default export */ var View = (component.exports);
27960
-
27961
- /***/ }),
27962
-
27963
27399
  /***/ 3368:
27964
27400
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
27965
27401
 
@@ -28724,7 +28160,7 @@ __webpack_require__.r(__webpack_exports__);
28724
28160
  __webpack_require__.r(__webpack_exports__);
28725
28161
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
28726
28162
 
28727
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2802));
28163
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 7651));
28728
28164
  const langData = {
28729
28165
  // 布局配置
28730
28166
  layoutType: "100",
@@ -29835,7 +29271,7 @@ module.exports = Array.isArray || function isArray(argument) {
29835
29271
  __webpack_require__.r(__webpack_exports__);
29836
29272
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
29837
29273
 
29838
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 343));
29274
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 626));
29839
29275
  const langData = {
29840
29276
  configList: [
29841
29277
  // {
@@ -39147,7 +38583,7 @@ module.exports = function (object, key, value) {
39147
38583
  __webpack_require__.r(__webpack_exports__);
39148
38584
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
39149
38585
 
39150
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 3257));
38586
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 517));
39151
38587
  const langData = {
39152
38588
  configList: [{
39153
38589
  id: Math.random().toString(),
@@ -40996,11 +40432,11 @@ var map = {
40996
40432
  "./cms-aLineThreeLeftTwo/View.vue": 5422,
40997
40433
  "./cms-activityCountdown/View.vue": 8437,
40998
40434
  "./cms-activityTime/View.vue": 8322,
40999
- "./cms-banner/View.vue": 2646,
40435
+ "./cms-banner/View.vue": 6815,
41000
40436
  "./cms-button/View.vue": 2404,
41001
40437
  "./cms-cells/View.vue": 5700,
41002
40438
  "./cms-column-card/View.vue": 2328,
41003
- "./cms-column/View.vue": 2802,
40439
+ "./cms-column/View.vue": 7651,
41004
40440
  "./cms-description/View.vue": 3203,
41005
40441
  "./cms-dynamic-comp/View.vue": 2809,
41006
40442
  "./cms-iconFour/View.vue": 8235,
@@ -41019,11 +40455,11 @@ var map = {
41019
40455
  "./cms-servePlan-tab/View.vue": 8757,
41020
40456
  "./cms-servePlan-text/View.vue": 9487,
41021
40457
  "./cms-termsAndConditions/View.vue": 8073,
41022
- "./cms-text/View.vue": 1452,
41023
- "./cms-threeScroll/View.vue": 3257,
40458
+ "./cms-text/View.vue": 1765,
40459
+ "./cms-threeScroll/View.vue": 517,
41024
40460
  "./cms-titleCenter/View.vue": 1429,
41025
40461
  "./cms-titleLeft/View.vue": 428,
41026
- "./cms-via-storedValueCard/View.vue": 343,
40462
+ "./cms-via-storedValueCard/View.vue": 626,
41027
40463
  "./cms-video-group/View.vue": 8216,
41028
40464
  "./cms-video/View.vue": 8573,
41029
40465
  "./cms-view/View.vue": 1380
@@ -41527,7 +40963,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
41527
40963
  borderColor: {
41528
40964
  label: "边框颜色",
41529
40965
  widgetType: "el-color-picker",
41530
- predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
40966
+ predefine: ["#2F85FF", "#f48427", "#52C41A", "#D6197F"]
41531
40967
  },
41532
40968
  borderRadius: {
41533
40969
  label: "圆角(px)",
@@ -41541,7 +40977,7 @@ const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataTy
41541
40977
  backgroundColor: {
41542
40978
  label: "背景颜色",
41543
40979
  widgetType: "el-color-picker",
41544
- predefine: ['#2F85FF', '#f48427', '#52C41A', '#D6197F']
40980
+ predefine: ["#2F85FF", "#f48427", "#52C41A", "#D6197F"]
41545
40981
  },
41546
40982
  backgroundImage: {
41547
40983
  label: "背景图片",
@@ -41566,7 +41002,8 @@ const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSc
41566
41002
  settings: cmsCompName => {
41567
41003
  return (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getInitCompData)({
41568
41004
  cmsCompName,
41569
- langData
41005
+ langData,
41006
+ isLangAll: true
41570
41007
  });
41571
41008
  }
41572
41009
  });
@@ -42576,7 +42013,7 @@ module.exports = function (V, P) {
42576
42013
  __webpack_require__.r(__webpack_exports__);
42577
42014
  /* harmony import */ var _baseConfig__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(649);
42578
42015
 
42579
- const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 343));
42016
+ const View = () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 626));
42580
42017
  const langData = {};
42581
42018
  const configDataType = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getLangDataType)(langData, {});
42582
42019
  const validateSchema = (0,_baseConfig__WEBPACK_IMPORTED_MODULE_0__.getValidateSchema)(langData);
@@ -43697,6 +43134,310 @@ exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties :
43697
43134
  };
43698
43135
 
43699
43136
 
43137
+ /***/ }),
43138
+
43139
+ /***/ 6815:
43140
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
43141
+
43142
+ "use strict";
43143
+ // ESM COMPAT FLAG
43144
+ __webpack_require__.r(__webpack_exports__);
43145
+
43146
+ // EXPORTS
43147
+ __webpack_require__.d(__webpack_exports__, {
43148
+ "default": function() { return /* binding */ View; }
43149
+ });
43150
+
43151
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-banner/View.vue?vue&type=template&id=379acd83&scoped=true
43152
+ var render = function render() {
43153
+ var _vm$configList$_vm$sw;
43154
+ var _vm = this,
43155
+ _c = _vm._self._c;
43156
+ return _c('BaseComp', _vm._b({
43157
+ attrs: {
43158
+ "data": _vm.data,
43159
+ "nowCompId": _vm.nowCompId,
43160
+ "isOpcacity": _vm.isOpcacity,
43161
+ "lang": _vm.lang
43162
+ },
43163
+ on: {
43164
+ "getConfigData": _vm.getConfigData
43165
+ }
43166
+ }, 'BaseComp', _vm.$attrs, false), [_c('div', {
43167
+ staticClass: "content-swiper tt_banner"
43168
+ }, [_vm.configList.length > 0 ? _c('div', {
43169
+ staticClass: "relative position"
43170
+ }, [_c('div', {
43171
+ staticClass: "my_banner"
43172
+ }, [_c('div', {
43173
+ staticClass: "swiper-container_contentswiper",
43174
+ attrs: {
43175
+ "id": `contentSwiper${_vm.data.componentId}`
43176
+ }
43177
+ }, [_c('div', {
43178
+ staticClass: "swiper-wrapper"
43179
+ }, _vm._l(_vm.configList, function (item, inx) {
43180
+ return _c('div', {
43181
+ key: inx,
43182
+ staticClass: "swiper-slide"
43183
+ }, [item ? _c('div', {
43184
+ staticClass: "swiper-banner_box",
43185
+ on: {
43186
+ "click": function ($event) {
43187
+ return _vm.decodeJumpUrl(item.jumpUrl, _vm.$router);
43188
+ }
43189
+ }
43190
+ }, [_c('img', {
43191
+ staticClass: "swiper-banner_image layout-pc",
43192
+ attrs: {
43193
+ "src": item.uploadImagePC,
43194
+ "alt": "PC"
43195
+ }
43196
+ }), _c('img', {
43197
+ staticClass: "swiper-banner_image layout-mobile",
43198
+ attrs: {
43199
+ "src": item.uploadImageH5,
43200
+ "alt": "H5"
43201
+ }
43202
+ }), _c('div', {
43203
+ staticClass: "extra-swiper_box layout-pc"
43204
+ }, [item.title ? _c('div', {
43205
+ staticClass: "swiper-contentbtn"
43206
+ }, [_c('span', [_vm._v(_vm._s(item.title))])]) : _vm._e(), item.des ? _c('div', {
43207
+ staticClass: "swiper-labels"
43208
+ }, [_c('span', [_vm._v(_vm._s(item.des))])]) : _vm._e(), _c('div', {
43209
+ staticClass: "swiper-btn_container"
43210
+ }, [item.input1 != '' ? _c('a', {
43211
+ attrs: {
43212
+ "href": item.jumpUrl1,
43213
+ "target": "_self"
43214
+ }
43215
+ }, [_c('button', {
43216
+ staticClass: "swiper-opbtn have-arrow"
43217
+ }, [_c('span', [_vm._v(_vm._s(item.input1))])])]) : _vm._e(), item.input2 != '' ? _c('a', {
43218
+ attrs: {
43219
+ "href": item.jumpUrl2,
43220
+ "target": "_self"
43221
+ }
43222
+ }, [_c('button', {
43223
+ staticClass: "swiper-opbtn_wt"
43224
+ }, [_c('span', [_vm._v(_vm._s(item.input2))])])]) : _vm._e()])])]) : _vm._e()]);
43225
+ }), 0)])]), _vm.configList[_vm.swiperIdx].title || _vm.configList[_vm.swiperIdx].des || _vm.configList[_vm.swiperIdx].input1 || _vm.configList[_vm.swiperIdx].input2 || (_vm$configList$_vm$sw = _vm.configList[_vm.swiperIdx]) !== null && _vm$configList$_vm$sw !== void 0 && _vm$configList$_vm$sw.input3 ? _c('div', {
43226
+ staticClass: "mb-swiper_box layout-mobile"
43227
+ }, [_vm.configList[_vm.swiperIdx].title ? _c('div', {
43228
+ staticClass: "swiper-contentbtn"
43229
+ }, [_c('span', [_vm._v(_vm._s(_vm.configList[_vm.swiperIdx].title))])]) : _vm._e(), _vm.configList[_vm.swiperIdx].des ? _c('div', {
43230
+ staticClass: "swiper-label"
43231
+ }, [_c('span', [_vm._v(_vm._s(_vm.configList[_vm.swiperIdx].des))])]) : _vm._e(), _c('div', {
43232
+ staticClass: "swiper-btn_container"
43233
+ }, [_vm.configList[_vm.swiperIdx].input1 ? _c('a', {
43234
+ attrs: {
43235
+ "href": _vm.configList[_vm.swiperIdx].jumpUrl1,
43236
+ "target": "_self"
43237
+ }
43238
+ }, [_c('button', {
43239
+ staticClass: "swiper-opbtn have-arrow"
43240
+ }, [_c('span', [_vm._v(_vm._s(_vm.configList[_vm.swiperIdx].input1))])])]) : _vm._e(), _vm.configList[_vm.swiperIdx].input2 ? _c('a', {
43241
+ attrs: {
43242
+ "href": _vm.configList[_vm.swiperIdx].jumpUrl2,
43243
+ "target": "_self"
43244
+ }
43245
+ }, [_c('button', {
43246
+ staticClass: "swiper-opbtn_wt have-arrow"
43247
+ }, [_c('span', [_vm._v(_vm._s(_vm.configList[_vm.swiperIdx].input2))])])]) : _vm._e()])]) : _vm._e(), _vm.configList.length > 1 ? _c('div', {
43248
+ staticClass: "cmhk-swiper-button-number"
43249
+ }, [_vm._l(_vm.configList, function (item, idx) {
43250
+ return _c('div', {
43251
+ key: idx,
43252
+ staticClass: "line-customs_wrapper",
43253
+ on: {
43254
+ "click": function ($event) {
43255
+ $event.stopPropagation();
43256
+ return _vm.jumpToSlide(idx);
43257
+ }
43258
+ }
43259
+ }, [_c('div', {
43260
+ class: ['cmhk-line-customs', idx === _vm.swiperIdx ? 'cmhk-line-customs-active' : '']
43261
+ }, [item && item.input1 ? _c('div', {
43262
+ staticClass: "swiper-popupup layout-pc"
43263
+ }, [_c('p', {
43264
+ staticClass: "swiper-popuptext"
43265
+ }, [_vm._v(_vm._s(item.input1))])]) : _vm._e()])]);
43266
+ }), _c('div', {
43267
+ staticClass: "swiper-button-puase",
43268
+ on: {
43269
+ "click": function ($event) {
43270
+ $event.stopPropagation();
43271
+ return _vm.swiperPlay.apply(null, arguments);
43272
+ }
43273
+ }
43274
+ }, [!_vm.swiperPlayVal ? _c('img', {
43275
+ staticClass: "playstart-image",
43276
+ attrs: {
43277
+ "src": __webpack_require__(2254)
43278
+ }
43279
+ }) : _vm._e(), _vm.swiperPlayVal ? _c('img', {
43280
+ staticClass: "playstop-image",
43281
+ attrs: {
43282
+ "src": __webpack_require__(2584)
43283
+ }
43284
+ }) : _vm._e()])], 2) : _vm._e()]) : _vm._e()])]);
43285
+ };
43286
+ var staticRenderFns = [];
43287
+
43288
+ ;// ./package/cms-banner/View.vue?vue&type=template&id=379acd83&scoped=true
43289
+
43290
+ // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.js
43291
+ var swiper = __webpack_require__(2791);
43292
+ // EXTERNAL MODULE: ./node_modules/swiper/dist/js/swiper.esm.bundle.js + 3 modules
43293
+ var swiper_esm_bundle = __webpack_require__(4418);
43294
+ // EXTERNAL MODULE: ./src/utils/jumpUrl.js
43295
+ var jumpUrl = __webpack_require__(813);
43296
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
43297
+ var baseComp = __webpack_require__(4128);
43298
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-banner/View.vue?vue&type=script&lang=js
43299
+
43300
+
43301
+
43302
+
43303
+
43304
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
43305
+ name: "cms-banner",
43306
+ components: {
43307
+ BaseComp: baseComp["default"]
43308
+ },
43309
+ props: {
43310
+ data: {
43311
+ type: Object,
43312
+ default: () => {
43313
+ return {};
43314
+ }
43315
+ },
43316
+ nowCompId: {
43317
+ type: [String, Number],
43318
+ default: ""
43319
+ },
43320
+ isOpcacity: {
43321
+ type: Boolean,
43322
+ default: true
43323
+ },
43324
+ lang: {
43325
+ type: String,
43326
+ default: "zh-HK"
43327
+ }
43328
+ },
43329
+ data() {
43330
+ return {
43331
+ configList: [],
43332
+ // 轮播
43333
+ swiperOne: null,
43334
+ swiperIdx: 0,
43335
+ swiperPlayVal: true
43336
+ };
43337
+ },
43338
+ created() {},
43339
+ mounted() {
43340
+ // if (this.configList.length > 0) {
43341
+ // this.initSwiper("bannerList");
43342
+ // }
43343
+ },
43344
+ watch: {},
43345
+ methods: {
43346
+ getConfigData(configData) {
43347
+ this.configList = configData.configList;
43348
+ this.$nextTick(() => {
43349
+ this.initSwiper();
43350
+ });
43351
+ },
43352
+ initSwiper() {
43353
+ const vm = this;
43354
+ if (this.configList.length > 0) {
43355
+ // 当广告个数大于1的时候才开启循环
43356
+ const ifLoop = this.configList.length > 1 ? true : false;
43357
+ this.swiperOne = new swiper_esm_bundle/* default */.A(`#contentSwiper${this.data.componentId}`, {
43358
+ initialSlide: 0,
43359
+ // 初始化时slide的索引
43360
+ autoplay: {
43361
+ // 自动开始
43362
+ delay: 5000,
43363
+ // 时间间隔
43364
+ disableOnInteraction: false // 手动操作轮播图后不会暂停
43365
+ },
43366
+ loop: ifLoop,
43367
+ // 循环模式选项
43368
+ spaceBetween: 30,
43369
+ // 在slide之间设置距离
43370
+ observer: true,
43371
+ observeParents: true,
43372
+ on: {
43373
+ slideChangeTransitionEnd: function () {
43374
+ // swiper从一个slide过渡到另一个slide结束时执行
43375
+ console.log("realIndex", this.realIndex);
43376
+ if (this.realIndex > vm.configList.length - 1) return;
43377
+ vm.swiperIdx = this.realIndex;
43378
+ },
43379
+ resize: function () {
43380
+ this.update(true);
43381
+ }
43382
+ }
43383
+ });
43384
+ }
43385
+ },
43386
+ // 轮播
43387
+ swiperPlay() {
43388
+ this.swiperPlayVal = !this.swiperPlayVal;
43389
+ this.swiperPlayVal ? this.swiperClickStart() : this.swiperClickStop();
43390
+ },
43391
+ swiperClickStop() {
43392
+ this.swiperOne.autoplay.stop();
43393
+ },
43394
+ swiperClickStart() {
43395
+ this.swiperOne.autoplay.start();
43396
+ },
43397
+ jumpToSlide(idx) {
43398
+ // banner 轮播PC
43399
+ console.log("PC点击了", idx);
43400
+ // 在Loop模式下Swiper切换到指定slide。切换到的是slide索引是realIndex
43401
+ this.swiperOne.slideToLoop(idx, 1000, false);
43402
+ this.swiperIdx = idx;
43403
+ },
43404
+ //跳转
43405
+ decodeJumpUrl(path, route) {
43406
+ (0,jumpUrl/* decodeJumpUrl */.u)(path, route);
43407
+ }
43408
+ }
43409
+ });
43410
+ ;// ./package/cms-banner/View.vue?vue&type=script&lang=js
43411
+ /* harmony default export */ var cms_banner_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
43412
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-banner/View.vue?vue&type=style&index=0&id=379acd83&prod&scoped=true&lang=scss
43413
+ // extracted by mini-css-extract-plugin
43414
+
43415
+ ;// ./package/cms-banner/View.vue?vue&type=style&index=0&id=379acd83&prod&scoped=true&lang=scss
43416
+
43417
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
43418
+ var componentNormalizer = __webpack_require__(1656);
43419
+ ;// ./package/cms-banner/View.vue
43420
+
43421
+
43422
+
43423
+ ;
43424
+
43425
+
43426
+ /* normalize component */
43427
+
43428
+ var component = (0,componentNormalizer/* default */.A)(
43429
+ cms_banner_Viewvue_type_script_lang_js,
43430
+ render,
43431
+ staticRenderFns,
43432
+ false,
43433
+ null,
43434
+ "379acd83",
43435
+ null
43436
+
43437
+ )
43438
+
43439
+ /* harmony default export */ var View = (component.exports);
43440
+
43700
43441
  /***/ }),
43701
43442
 
43702
43443
  /***/ 6823:
@@ -53229,6 +52970,270 @@ $({ target: 'Set', proto: true, real: true, forced: INCORRECT }, {
53229
52970
  });
53230
52971
 
53231
52972
 
52973
+ /***/ }),
52974
+
52975
+ /***/ 7651:
52976
+ /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
52977
+
52978
+ "use strict";
52979
+ // ESM COMPAT FLAG
52980
+ __webpack_require__.r(__webpack_exports__);
52981
+
52982
+ // EXPORTS
52983
+ __webpack_require__.d(__webpack_exports__, {
52984
+ "default": function() { return /* binding */ View; }
52985
+ });
52986
+
52987
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=template&id=1402d563&scoped=true
52988
+ var render = function render() {
52989
+ var _vm = this,
52990
+ _c = _vm._self._c;
52991
+ return _c('BaseComp', _vm._b({
52992
+ attrs: {
52993
+ "data": _vm.data,
52994
+ "nowCompId": _vm.nowCompId,
52995
+ "isOpcacity": _vm.isOpcacity,
52996
+ "isMask": false,
52997
+ "lang": _vm.lang
52998
+ },
52999
+ on: {
53000
+ "getConfigData": _vm.getConfigData
53001
+ },
53002
+ scopedSlots: _vm._u([{
53003
+ key: "default",
53004
+ fn: function (slotProps) {
53005
+ return [_c('section', {
53006
+ class: [_vm.configData.widthType === 'full' ? 'width-full' : 'cmhk-home_main', {
53007
+ hoverBorderClass: _vm.isConfigPage
53008
+ }],
53009
+ style: _vm.containerStyle
53010
+ }, [_c('div', {
53011
+ staticClass: "column-setting",
53012
+ class: [`layout-${_vm.configData.layoutType || 'default'}`, `${slotProps.isMobile && _vm.configData.mobileLayout === 'vertical' ? 'mobile-vertical' : 'mobile-horizontal'}`],
53013
+ style: _vm.columnStyle
53014
+ }, _vm._l(_vm.data.childList, function (item, index) {
53015
+ return _c('cms-column-card', _vm._b({
53016
+ key: item.componentId,
53017
+ class: _vm.getColumnItemClass(index),
53018
+ style: _vm.getColumnItemStyle(index),
53019
+ attrs: {
53020
+ "data": item,
53021
+ "nowCompId": _vm.nowCompId,
53022
+ "isOpcacity": _vm.isOpcacity,
53023
+ "isMask": false,
53024
+ "lang": _vm.lang,
53025
+ "isMobile": slotProps.isMobile,
53026
+ "mobileLayout": _vm.configData.mobileLayout
53027
+ }
53028
+ }, 'cms-column-card', _vm.$attrs, false));
53029
+ }), 1)])];
53030
+ }
53031
+ }])
53032
+ }, 'BaseComp', _vm.$attrs, false));
53033
+ };
53034
+ var staticRenderFns = [];
53035
+
53036
+ // EXTERNAL MODULE: ./package/baseComp.vue + 5 modules
53037
+ var baseComp = __webpack_require__(4128);
53038
+ ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/babel-loader/lib/index.js??clonedRuleSet-41.use!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=script&lang=js
53039
+
53040
+ /* harmony default export */ var Viewvue_type_script_lang_js = ({
53041
+ name: "cms-column",
53042
+ components: {
53043
+ BaseComp: baseComp["default"]
53044
+ },
53045
+ props: {
53046
+ data: {
53047
+ type: Object,
53048
+ default: () => {
53049
+ return {};
53050
+ }
53051
+ },
53052
+ nowCompId: {
53053
+ type: [String, Number],
53054
+ default: ""
53055
+ },
53056
+ isOpcacity: {
53057
+ type: Boolean,
53058
+ default: true
53059
+ },
53060
+ lang: {
53061
+ type: String,
53062
+ default: "zh-HK"
53063
+ }
53064
+ },
53065
+ data() {
53066
+ return {
53067
+ configData: {},
53068
+ messFold: true,
53069
+ // 默认配置数据
53070
+ defaultConfig: {
53071
+ layoutType: "100",
53072
+ heightType: "auto",
53073
+ widthType: "auto",
53074
+ mobileLayout: "vertical",
53075
+ fixedHeight: 300,
53076
+ borderWidth: 0,
53077
+ borderStyle: "solid",
53078
+ borderColor: "",
53079
+ backgroundColor: "#FFF",
53080
+ backgroundImage: "",
53081
+ boxShadow: "",
53082
+ borderRadius: 0,
53083
+ columnGap: 0,
53084
+ rowGap: 0,
53085
+ title: "",
53086
+ description: "",
53087
+ input1: "",
53088
+ showTitle: true,
53089
+ showDescription: true,
53090
+ animationDuration: 300,
53091
+ responsiveBreakpoint: 768
53092
+ }
53093
+ };
53094
+ },
53095
+ mounted() {},
53096
+ watch: {
53097
+ configData: {
53098
+ handler() {
53099
+ this.updateStyles();
53100
+ },
53101
+ immediate: true,
53102
+ deep: true
53103
+ }
53104
+ },
53105
+ computed: {
53106
+ isConfigPage() {
53107
+ return this.$EventBus && this.isOpcacity;
53108
+ },
53109
+ // 容器样式
53110
+ containerStyle() {
53111
+ return {
53112
+ backgroundColor: this.configData.backgroundColor || this.defaultConfig.backgroundColor,
53113
+ backgroundImage: this.configData.backgroundImage ? `url(${this.configData.backgroundImage})` : "",
53114
+ backgroundSize: "cover",
53115
+ backgroundRepeat: "no-repeat",
53116
+ backgroundPosition: "center center",
53117
+ boxShadow: this.configData.boxShadow || this.defaultConfig.boxShadow,
53118
+ borderRadius: `${this.configData.borderRadius || this.defaultConfig.borderRadius}px`,
53119
+ minHeight: this.configData.heightType === "fixed" ? `${this.configData.fixedHeight}px` : "auto"
53120
+ };
53121
+ },
53122
+ // 分栏容器样式
53123
+ columnStyle() {
53124
+ // const gap = this.configData.rowGap || this.defaultConfig.rowGap;
53125
+ return {
53126
+ // gap: `${gap}px`,
53127
+ border: this.configData.borderWidth ? `${this.configData.borderWidth}px ${this.configData.borderStyle} ${this.configData.borderColor}` : "none"
53128
+ };
53129
+ }
53130
+ },
53131
+ methods: {
53132
+ // 获取配置数据
53133
+ getConfigData(configData) {
53134
+ this.configData = configData;
53135
+ this.updateStyles();
53136
+ },
53137
+ // 更新样式
53138
+ updateStyles() {
53139
+ this.$nextTick(() => {
53140
+ // 触发样式更新
53141
+ this.$forceUpdate();
53142
+ });
53143
+ },
53144
+ // 获取分栏项的类名
53145
+ getColumnItemClass(index) {
53146
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
53147
+ return ["column-item", `column-item-${index}`, `layout-${layoutType}`, {
53148
+ "min-h": this.$EventBus && this.isOpcacity,
53149
+ "first-item": index === 0,
53150
+ "last-item": index === this.data.childList.length - 1
53151
+ }];
53152
+ },
53153
+ // 获取分栏项的样式
53154
+ getColumnItemStyle(index) {
53155
+ const layoutType = this.configData.layoutType || this.defaultConfig.layoutType;
53156
+ const gap = this.configData.rowGap || this.defaultConfig.rowGap;
53157
+ let flexBasis = "100%";
53158
+ let marginRight = "0";
53159
+
53160
+ // 根据布局类型设置宽度
53161
+ switch (layoutType) {
53162
+ case "50-50":
53163
+ flexBasis = `calc(50% - ${gap / 2}px)`;
53164
+ marginRight = index % 2 === 0 ? `${gap}px` : "0";
53165
+ break;
53166
+ case "33-66":
53167
+ flexBasis = index === 0 ? `calc(33.33% - ${gap / 2}px)` : `calc(66.67% - ${gap / 2}px)`;
53168
+ marginRight = index === 0 ? `${gap}px` : "0";
53169
+ break;
53170
+ case "66-33":
53171
+ flexBasis = index === 0 ? `calc(66.67% - ${gap / 2}px)` : `calc(33.33% - ${gap / 2}px)`;
53172
+ marginRight = index === 0 ? `${gap}px` : "0";
53173
+ break;
53174
+ case "33-33-33":
53175
+ flexBasis = `calc(33.33% - ${gap * 2 / 3}px)`;
53176
+ marginRight = index < 2 ? `${gap}px` : "0";
53177
+ break;
53178
+ case "25-50-25":
53179
+ if (index === 0 || index === 2) {
53180
+ flexBasis = `calc(25% - ${gap * 2 / 3}px)`;
53181
+ } else {
53182
+ flexBasis = `calc(50% - ${gap * 2 / 3}px)`;
53183
+ }
53184
+ marginRight = index < 2 ? `${gap}px` : "0";
53185
+ break;
53186
+ default:
53187
+ flexBasis = "100%";
53188
+ }
53189
+ return {
53190
+ flexBasis,
53191
+ marginRight,
53192
+ marginBottom: `${this.configData.columnGap || this.defaultConfig.columnGap}px`
53193
+ };
53194
+ },
53195
+ // 折叠/展开文本
53196
+ foldMessText() {
53197
+ this.messFold = !this.messFold;
53198
+ },
53199
+ // 处理跳转链接
53200
+ decodeJumpUrl(url) {
53201
+ if (!url) return;
53202
+ top.location.href = url;
53203
+ }
53204
+ }
53205
+ });
53206
+ ;// ./package/cms-column/View.vue?vue&type=script&lang=js
53207
+ /* harmony default export */ var cms_column_Viewvue_type_script_lang_js = (Viewvue_type_script_lang_js);
53208
+ ;// ./node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-42.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./package/cms-column/View.vue?vue&type=style&index=0&id=1402d563&prod&lang=scss&scoped=true
53209
+ // extracted by mini-css-extract-plugin
53210
+
53211
+ ;// ./package/cms-column/View.vue?vue&type=style&index=0&id=1402d563&prod&lang=scss&scoped=true
53212
+
53213
+ // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js
53214
+ var componentNormalizer = __webpack_require__(1656);
53215
+ ;// ./package/cms-column/View.vue
53216
+
53217
+
53218
+
53219
+ ;
53220
+
53221
+
53222
+ /* normalize component */
53223
+
53224
+ var component = (0,componentNormalizer/* default */.A)(
53225
+ cms_column_Viewvue_type_script_lang_js,
53226
+ render,
53227
+ staticRenderFns,
53228
+ false,
53229
+ null,
53230
+ "1402d563",
53231
+ null
53232
+
53233
+ )
53234
+
53235
+ /* harmony default export */ var View = (component.exports);
53236
+
53232
53237
  /***/ }),
53233
53238
 
53234
53239
  /***/ 7657: