| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\components\\mobileConfigRight\\c_swipers_list.vue?vue&type=style&index=0&id=21a01845&scoped=true&lang=scss","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\components\\mobileConfigRight\\c_swipers_list.vue","mtime":1761614938968},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\css-loader\\index.js","mtime":1761614929364},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1761614937403},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\postcss-loader\\src\\index.js","mtime":1761614935133},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1761614936391},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQo6OnYtZGVlcCAuaXZ1LWlucHV0LWljb24gew0KICBjb2xvcjogI2JiYmJiYjsNCn0NCg0KOjp2LWRlZXAgLml2dS1pbnB1dC13b3JkLWNvdW50IHsNCiAgY29sb3I6ICNiYmJiYmI7DQp9DQoNCi5ob3RfaW1ncyB7DQogIG1hcmdpbjogMCAxNXB4IDIwcHggMTVweDsNCg0KICAudGl0bGUgew0KICAgIHBhZGRpbmctYm90dG9tOiAyMXB4Ow0KICAgIGNvbG9yOiAjOTk5Ow0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgfQ0KDQogIC5saXN0LWJveCB7DQogICAgLml0ZW0gew0KICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7DQogICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgcGFkZGluZzogMTZweCAyMHB4IDE2cHggMDsNCiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7DQogICAgICBib3JkZXItcmFkaXVzOiAzcHg7DQoNCiAgICAgIC5kZWxlY3QtYnRuIHsNCiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgICAgICByaWdodDogLTEzcHg7DQogICAgICAgIHRvcDogLTE2cHg7DQoNCiAgICAgICAgLmljb25mb250LWRpeSB7DQogICAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICAgIGNvbG9yOiAjY2NjOw0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIC5tb3ZlLWljb24gew0KICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICAgICAgd2lkdGg6IDMwcHg7DQogICAgICAgIGN1cnNvcjogbW92ZTsNCiAgICAgIH0NCg0KICAgICAgLmltZy1ib3ggew0KICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgIHdpZHRoOiA2NHB4Ow0KICAgICAgICBoZWlnaHQ6IDY0cHg7DQoNCiAgICAgICAgaW1nIHsNCiAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICB9DQogICAgICB9DQoNCiAgICAgIC5pbmZvIHsNCiAgICAgICAgZmxleDogMTsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDE5cHg7DQoNCiAgICAgICAgJiB+IC5pbmZvIHsNCiAgICAgICAgICBtYXJnaW4tdG9wOiAxM3B4Ow0KICAgICAgICB9DQoNCiAgICAgICAgLmluZm8taXRlbSB7DQogICAgICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7DQoNCiAgICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDEpIHsNCiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7DQogICAgICAgICAgfQ0KDQogICAgICAgICAgLnNwYW4gew0KICAgICAgICAgICAgd2lkdGg6IDQwcHg7DQogICAgICAgICAgICBmb250LXNpemU6IDEycHg7DQogICAgICAgICAgICBjb2xvcjogIzk5OTsNCiAgICAgICAgICB9DQoNCiAgICAgICAgICAuaW5wdXQtYm94IHsNCiAgICAgICAgICAgIHdpZHRoOiAyNzBweDsNCiAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogIH0NCg0KICAuYWRkLWJ0biB7DQogICAgbWFyZ2luLXRvcDogMTBweDsNCg0KICAgIC5idG4gew0KICAgICAgd2lkdGg6IDEwMCU7DQogICAgICBoZWlnaHQ6IDM2cHg7DQogICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7DQogICAgICBjb2xvcjogIzY2NjY2NjsNCg0KICAgICAgLmljb25mb250IHsNCiAgICAgICAgZm9udC1zaXplOiAxMXB4Ow0KICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsNCiAgICAgIH0NCiAgICB9DQogIH0NCn0NCg0KLnVwbG9hZC1ib3ggew0KICBkaXNwbGF5OiBmbGV4Ow0KICBhbGlnbi1pdGVtczogY2VudGVyOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgd2lkdGg6IDEwMCU7DQogIGhlaWdodDogMTAwJTsNCiAgYmFja2dyb3VuZDogI2ZmZjsNCiAgYm9yZGVyLXJhZGl1czogNHB4Ow0KICBib3JkZXI6IDFweCBzb2xpZCAjZWVlOw0KICBjb2xvcjogI2NjYzsNCn0NCg0KLmljb25mb250LWRpeSB7DQogIGNvbG9yOiAjZGRkZGRkOw0KICBmb250LXNpemU6IDI4cHg7DQp9DQo="},{"version":3,"sources":["c_swipers_list.vue"],"names":[],"mappings":";AA6NA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA","file":"c_swipers_list.vue","sourceRoot":"src/components/mobileConfigRight","sourcesContent":["<template>\r\n <div class=\"hot_imgs\">\r\n <div class=\"title\" v-if=\"configData.title\">\r\n {{ configData.title }}\r\n </div>\r\n <div class=\"list-box\">\r\n <draggable class=\"dragArea list-group\" :list=\"configData.list\" group=\"peoples\" handle=\".move-icon\">\r\n <div class=\"item\" v-for=\"(item, index) in configData.list\" :key=\"index\">\r\n <div class=\"delect-btn\" @click.stop=\"bindDelete(item, index)\" v-if=\"!configData.isCube\">\r\n <span class=\"iconfont-diy icondel_1\"></span>\r\n </div>\r\n <div class=\"move-icon\">\r\n <span class=\"iconfont-diy icondrag\"></span>\r\n </div>\r\n <div>\r\n <div class=\"info\">\r\n <div class=\"info-item\">\r\n <span class=\"span\">{{ item.imgTitle }}</span>\r\n <div class=\"img-box\" @click=\"modalPicTap('单选', index)\">\r\n <img :src=\"item.img\" alt=\"\" v-if=\"item.img\" />\r\n <div class=\"upload-box\" v-else><i class=\"el-icon-plus\"></i></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"info-item\" v-for=\"(infos, key) in item.info\" :key=\"key\">\r\n <span class=\"span\">{{ infos.title }}</span>\r\n <div class=\"input-box\">\r\n <el-input v-model=\"infos.value\" :placeholder=\"infos.tips\">\r\n <i class=\"el-icon-link\" slot=\"suffix\" @click=\"getLink(index, key, item.info)\" />\r\n </el-input>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </draggable>\r\n <div>\r\n <el-dialog :visible.sync=\"modalPic\" width=\"960px\" title=\"上传图片\">\r\n <uploadPictures\r\n :isChoice=\"isChoice\"\r\n @getPic=\"getPic\"\r\n :gridBtn=\"gridBtn\"\r\n :gridPic=\"gridPic\"\r\n v-if=\"modalPic\"\r\n ></uploadPictures>\r\n </el-dialog>\r\n </div>\r\n </div>\r\n <template v-if=\"configData.list\">\r\n <div class=\"add-btn\" v-if=\"configData.list.length < configData.maxList\">\r\n <el-button class=\"btn\" type=\"primary\" ghost @click=\"addBox\">\r\n <span class=\"iconfont iconjiahao\"></span>添加\r\n </el-button>\r\n </div>\r\n </template>\r\n <linkaddress ref=\"linkaddres\" @linkUrl=\"linkUrl\"></linkaddress>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport vuedraggable from 'vuedraggable';\r\nimport uploadPictures from '@/components/uploadPictures';\r\nimport linkaddress from '@/components/linkaddress';\r\nexport default {\r\n name: 'c_swipers_list',\r\n props: {\r\n configObj: {\r\n type: Object,\r\n },\r\n configNme: {\r\n type: String,\r\n },\r\n index: {\r\n type: null,\r\n },\r\n },\r\n components: {\r\n draggable: vuedraggable,\r\n linkaddress,\r\n uploadPictures,\r\n },\r\n data() {\r\n return {\r\n defaults: {},\r\n configData: {},\r\n menus: [],\r\n list: [\r\n {\r\n title: 'aa',\r\n val: '',\r\n },\r\n ],\r\n modalPic: false,\r\n isChoice: '单选',\r\n gridBtn: {\r\n xl: 4,\r\n lg: 8,\r\n md: 8,\r\n sm: 8,\r\n xs: 8,\r\n },\r\n gridPic: {\r\n xl: 6,\r\n lg: 8,\r\n md: 12,\r\n sm: 12,\r\n xs: 12,\r\n },\r\n activeIndex: 0,\r\n indexLast: 0,\r\n lastObj: {},\r\n };\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.defaults = this.configObj;\r\n this.configData = this.configObj[this.configNme];\r\n });\r\n },\r\n watch: {\r\n configObj: {\r\n handler(nVal, oVal) {\r\n this.defaults = nVal;\r\n this.configData = nVal[this.configNme];\r\n },\r\n deep: true,\r\n },\r\n },\r\n methods: {\r\n linkUrl(e) {\r\n this.configData.list[this.activeIndex].info[this.indexLast].value = e;\r\n if (this.defaults.name == 'pictureCube') {\r\n this.defaults.picStyle.picList[this.defaults.picStyle.tabVal].link = e;\r\n }\r\n },\r\n getLink(index, key, item) {\r\n this.indexLast = item.length - 1;\r\n if (key != item.length - 1) {\r\n return;\r\n }\r\n this.activeIndex = index;\r\n this.$refs.linkaddres.modals = true;\r\n },\r\n addBox() {\r\n if (this.configData.list.length == 0) {\r\n this.lastObj.img = '';\r\n this.lastObj.info[0].value = '';\r\n this.configData.list.push(this.lastObj);\r\n } else {\r\n let obj = JSON.parse(JSON.stringify(this.configData.list[this.configData.list.length - 1]));\r\n obj.img = '';\r\n obj.info[0].value = '';\r\n this.configData.list.push(obj);\r\n }\r\n },\r\n // 点击图文封面\r\n modalPicTap(title, index) {\r\n this.activeIndex = index;\r\n this.modalPic = true;\r\n },\r\n // 添加自定义弹窗\r\n addCustomDialog(editorId) {\r\n window.UE.registerUI(\r\n 'test-dialog',\r\n function (editor, uiName) {\r\n let dialog = new window.UE.ui.Dialog({\r\n iframeUrl: '/admin/widget.images/index.html?fodder=dialog',\r\n editor: editor,\r\n name: uiName,\r\n title: '上传图片',\r\n cssRules: 'width:1200px;height:500px;padding:20px;',\r\n });\r\n this.dialog = dialog;\r\n // 参考上面的自定义按钮\r\n var btn = new window.UE.ui.Button({\r\n name: 'dialog-button',\r\n title: '上传图片',\r\n cssRules: `background-image: url(../../../assets/images/icons.png);background-position: -726px -77px;`,\r\n onclick: function () {\r\n // 渲染dialog\r\n dialog.render();\r\n dialog.open();\r\n },\r\n });\r\n\r\n return btn;\r\n },\r\n 37,\r\n );\r\n },\r\n // 获取图片信息\r\n getPic(pc) {\r\n this.$nextTick(() => {\r\n this.configData.list[this.activeIndex].img = pc.att_dir;\r\n let data = this.defaults.menuConfig;\r\n if (data && data.isCube) {\r\n this.defaults.picStyle.picList.splice(this.defaults.picStyle.tabVal, 1, {\r\n image: pc.att_dir,\r\n link: data.list[0].info[0].value,\r\n });\r\n }\r\n this.modalPic = false;\r\n });\r\n },\r\n onBlur() {\r\n let data = this.defaults.menuConfig;\r\n this.defaults.picStyle.picList[this.defaults.picStyle.tabVal].link = data.list[0].info[0].value;\r\n },\r\n // 删除\r\n bindDelete(item, index) {\r\n if (this.configData.list.length == 1) {\r\n this.lastObj = this.configData.list[0];\r\n }\r\n this.configData.list.splice(index, 1);\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep .ivu-input-icon {\r\n color: #bbbbbb;\r\n}\r\n\r\n::v-deep .ivu-input-word-count {\r\n color: #bbbbbb;\r\n}\r\n\r\n.hot_imgs {\r\n margin: 0 15px 20px 15px;\r\n\r\n .title {\r\n padding-bottom: 21px;\r\n color: #999;\r\n font-size: 12px;\r\n }\r\n\r\n .list-box {\r\n .item {\r\n position: relative;\r\n display: flex;\r\n background: #f9f9f9;\r\n align-items: center;\r\n padding: 16px 20px 16px 0;\r\n margin-bottom: 16px;\r\n border-radius: 3px;\r\n\r\n .delect-btn {\r\n position: absolute;\r\n right: -13px;\r\n top: -16px;\r\n\r\n .iconfont-diy {\r\n font-size: 25px;\r\n color: #ccc;\r\n }\r\n }\r\n\r\n .move-icon {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 30px;\r\n cursor: move;\r\n }\r\n\r\n .img-box {\r\n position: relative;\r\n width: 64px;\r\n height: 64px;\r\n\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n border-radius: 3px;\r\n }\r\n }\r\n\r\n .info {\r\n flex: 1;\r\n margin-left: 19px;\r\n\r\n & ~ .info {\r\n margin-top: 13px;\r\n }\r\n\r\n .info-item {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 10px;\r\n\r\n &:nth-last-child(1) {\r\n margin-bottom: 0;\r\n }\r\n\r\n .span {\r\n width: 40px;\r\n font-size: 12px;\r\n color: #999;\r\n }\r\n\r\n .input-box {\r\n width: 270px;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n .add-btn {\r\n margin-top: 10px;\r\n\r\n .btn {\r\n width: 100%;\r\n height: 36px;\r\n border-color: #eeeeee;\r\n color: #666666;\r\n\r\n .iconfont {\r\n font-size: 11px;\r\n margin-right: 5px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n.upload-box {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: 100%;\r\n background: #fff;\r\n border-radius: 4px;\r\n border: 1px solid #eee;\r\n color: #ccc;\r\n}\r\n\r\n.iconfont-diy {\r\n color: #dddddd;\r\n font-size: 28px;\r\n}\r\n</style>\r\n"]}]}
|