88efd4c3fa26aab6662c712585e8500d.json 14 KB

1
  1. {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\setting\\devise\\components\\uploadPic.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\setting\\devise\\components\\uploadPic.vue","mtime":1761185180171},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgdnVlZHJhZ2dhYmxlIGZyb20gJ3Z1ZWRyYWdnYWJsZSc7DQppbXBvcnQgdXBsb2FkUGljdHVyZXMgZnJvbSAnQC9jb21wb25lbnRzL3VwbG9hZFBpY3R1cmVzJzsNCmltcG9ydCBsaW5rYWRkcmVzcyBmcm9tICdAL2NvbXBvbmVudHMvbGlua2FkZHJlc3MnOw0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAndXBsb2FkUGljJywNCiAgcHJvcHM6IHsNCiAgICBsaXN0RGF0YTogew0KICAgICAgdHlwZTogQXJyYXksDQogICAgfSwNCiAgICB0eXBlOiB7DQogICAgICB0eXBlOiBOdW1iZXIsDQogICAgfSwNCiAgfSwNCiAgY29tcG9uZW50czogew0KICAgIGRyYWdnYWJsZTogdnVlZHJhZ2dhYmxlLA0KICAgIHVwbG9hZFBpY3R1cmVzLA0KICAgIGxpbmthZGRyZXNzLA0KICB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBtb2RhbFBpYzogZmFsc2UsDQogICAgICBpc0Nob2ljZTogJ+WNlemAiScsDQogICAgICBncmlkQnRuOiB7DQogICAgICAgIHhsOiA0LA0KICAgICAgICBsZzogOCwNCiAgICAgICAgbWQ6IDgsDQogICAgICAgIHNtOiA4LA0KICAgICAgICB4czogOCwNCiAgICAgIH0sDQogICAgICBncmlkUGljOiB7DQogICAgICAgIHhsOiA2LA0KICAgICAgICBsZzogOCwNCiAgICAgICAgbWQ6IDEyLA0KICAgICAgICBzbTogMTIsDQogICAgICAgIHhzOiAxMiwNCiAgICAgIH0sDQogICAgICBhY3RpdmVJbmRleDogMCwNCiAgICAgIGxhc3RPYmo6IHsNCiAgICAgICAgbmFtZTogJycsDQogICAgICAgIHBpYzogJycsDQogICAgICAgIHVybDogJycsDQogICAgICB9LA0KICAgIH07DQogIH0sDQogIG1vdW50ZWQoKSB7fSwNCiAgd2F0Y2g6IHsNCiAgICBjb25maWdPYmo6IHsNCiAgICAgIGhhbmRsZXIoblZhbCwgb1ZhbCkge30sDQogICAgICBkZWVwOiB0cnVlLA0KICAgIH0sDQogIH0sDQogIG1ldGhvZHM6IHsNCiAgICBsaW5rVXJsKGUpIHsNCiAgICAgIHRoaXMubGlzdERhdGFbdGhpcy5hY3RpdmVJbmRleF0udXJsID0gZTsNCiAgICB9LA0KICAgIGdldExpbmsoaW5kZXgpIHsNCiAgICAgIHRoaXMuYWN0aXZlSW5kZXggPSBpbmRleDsNCiAgICAgIHRoaXMuJHJlZnMubGlua2FkZHJlcy5tb2RhbHMgPSB0cnVlOw0KICAgIH0sDQogICAgYWRkQm94KCkgew0KICAgICAgaWYgKHRoaXMubGlzdERhdGEubGVuZ3RoID09IDApIHsNCiAgICAgICAgdGhpcy5saXN0RGF0YS5wdXNoKHRoaXMubGFzdE9iaik7DQogICAgICB9IGVsc2Ugew0KICAgICAgICBsZXQgb2JqID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmxpc3REYXRhW3RoaXMubGlzdERhdGEubGVuZ3RoIC0gMV0pKTsNCiAgICAgICAgb2JqLm5hbWUgPSAnJzsNCiAgICAgICAgb2JqLnBpYyA9ICcnOw0KICAgICAgICBvYmoudXJsID0gJyc7DQogICAgICAgIHRoaXMubGlzdERhdGEucHVzaChvYmopOw0KICAgICAgfQ0KICAgICAgLy8gdGhpcy4kZW1pdCgncGFyZW50RnVuJyx0aGlzLmxpc3REYXRhKQ0KICAgIH0sDQogICAgLy8g54K55Ye75Zu+5paH5bCB6Z2iDQogICAgbW9kYWxQaWNUYXAodGl0bGUsIGluZGV4KSB7DQogICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7DQogICAgICB0aGlzLm1vZGFsUGljID0gdHJ1ZTsNCiAgICB9LA0KICAgIC8vIOa3u+WKoOiHquWumuS5ieW8ueeqlw0KICAgIGFkZEN1c3RvbURpYWxvZyhlZGl0b3JJZCkgew0KICAgICAgd2luZG93LlVFLnJlZ2lzdGVyVUkoDQogICAgICAgICd0ZXN0LWRpYWxvZycsDQogICAgICAgIGZ1bmN0aW9uIChlZGl0b3IsIHVpTmFtZSkgew0KICAgICAgICAgIGxldCBkaWFsb2cgPSBuZXcgd2luZG93LlVFLnVpLkRpYWxvZyh7DQogICAgICAgICAgICBpZnJhbWVVcmw6IHRoaXMuJHJvdXRlUHJvU3RyICsgJy93aWRnZXQuaW1hZ2VzL2luZGV4Lmh0bWw/Zm9kZGVyPWRpYWxvZycsDQogICAgICAgICAgICBlZGl0b3I6IGVkaXRvciwNCiAgICAgICAgICAgIG5hbWU6IHVpTmFtZSwNCiAgICAgICAgICAgIHRpdGxlOiAn5LiK5Lyg5Zu+54mHJywNCiAgICAgICAgICAgIGNzc1J1bGVzOiAnd2lkdGg6OTYwcHg7aGVpZ2h0OjU1MHB4O3BhZGRpbmc6MjBweDsnLA0KICAgICAgICAgIH0pOw0KICAgICAgICAgIHRoaXMuZGlhbG9nID0gZGlhbG9nOw0KICAgICAgICAgIC8vIOWPguiAg+S4iumdoueahOiHquWumuS5ieaMiemSrg0KICAgICAgICAgIHZhciBidG4gPSBuZXcgd2luZG93LlVFLnVpLkJ1dHRvbih7DQogICAgICAgICAgICBuYW1lOiAnZGlhbG9nLWJ1dHRvbicsDQogICAgICAgICAgICB0aXRsZTogJ+S4iuS8oOWbvueJhycsDQogICAgICAgICAgICBjc3NSdWxlczogYGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2ljb25zLnBuZyk7YmFja2dyb3VuZC1wb3NpdGlvbjogLTcyNnB4IC03N3B4O2AsDQogICAgICAgICAgICBvbmNsaWNrOiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgIC8vIOa4suafk2RpYWxvZw0KICAgICAgICAgICAgICBkaWFsb2cucmVuZGVyKCk7DQogICAgICAgICAgICAgIGRpYWxvZy5vcGVuKCk7DQogICAgICAgICAgICB9LA0KICAgICAgICAgIH0pOw0KDQogICAgICAgICAgcmV0dXJuIGJ0bjsNCiAgICAgICAgfSwNCiAgICAgICAgMzcsDQogICAgICApOw0KICAgIH0sDQogICAgLy8g6I635Y+W5Zu+54mH5L+h5oGvDQogICAgZ2V0UGljKHBjKSB7DQogICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICAgIHRoaXMubGlzdERhdGFbdGhpcy5hY3RpdmVJbmRleF0ucGljID0gcGMuYXR0X2RpcjsNCiAgICAgICAgdGhpcy5tb2RhbFBpYyA9IGZhbHNlOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvLyDliKDpmaQNCiAgICBiaW5kRGVsZXRlKGl0ZW0sIGluZGV4KSB7DQogICAgICBpZiAodGhpcy5saXN0RGF0YS5sZW5ndGggPT0gMSkgew0KICAgICAgICB0aGlzLmxhc3RPYmogPSB0aGlzLmxpc3REYXRhWzBdOw0KICAgICAgfQ0KICAgICAgdGhpcy5saXN0RGF0YS5zcGxpY2UoaW5kZXgsIDEpOw0KICAgICAgLy8gdGhpcy4kZW1pdCgncGFyZW50RnVuJyx0aGlzLmxpc3REYXRhKQ0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["uploadPic.vue"],"names":[],"mappings":";AA2DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"uploadPic.vue","sourceRoot":"src/pages/setting/devise/components","sourcesContent":["<template>\r\n <div class=\"hot_imgs\">\r\n <div class=\"list-box\">\r\n <draggable class=\"dragArea list-group\" :list=\"listData\" group=\"peoples\" handle=\".move-icon\">\r\n <div class=\"item\" v-for=\"(item, index) in listData\" :key=\"index\">\r\n <div class=\"move-icon\">\r\n <span class=\"iconfont-diy icondrag\"></span>\r\n </div>\r\n <div class=\"img-box\" v-db-click @click=\"modalPicTap('单选', index)\">\r\n <img :src=\"item.pic\" alt=\"\" v-if=\"item.pic && item.pic != ''\" />\r\n <div class=\"upload-box\" v-else>\r\n <i class=\"el-icon-picture-outline\" style=\"font-size: 24px\"></i>\r\n </div>\r\n </div>\r\n <div class=\"info\">\r\n <div class=\"info-item\" v-if=\"item.hasOwnProperty('name')\">\r\n <span>{{ type == 1 ? '管理名称:' : type == 5 ? '广告名称' : '服务名称:' }}</span>\r\n <div class=\"input-box\">\r\n <el-input v-model=\"item.name\" :placeholder=\"type == 5 ? '请输入名称' : '服务中心'\" :maxlength=\"4\" />\r\n </div>\r\n </div>\r\n <div class=\"info-item\">\r\n <span>链接地址:</span>\r\n <div class=\"input-box\" v-db-click>\r\n <el-input v-model=\"item.url\" placeholder=\"选择链接\">\r\n <i class=\"el-icon-link\" slot=\"suffix\" @click=\"getLink(index)\" />\r\n </el-input>\r\n </div>\r\n </div>\r\n </div>\r\n <div v-if=\"type != 1\" class=\"delect-btn\" v-db-click @click.stop=\"bindDelete(item, index)\">\r\n <span class=\"iconfont-diy icondel_1 cup\"></span>\r\n </div>\r\n </div>\r\n </draggable>\r\n <div>\r\n <el-dialog :visible.sync=\"modalPic\" width=\"950px\" title=\"上传商品图\" :close-on-click-modal=\"false\">\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=\"listData\">\r\n <div class=\"add-btn\" v-if=\"type == 2 || (type == 5 && listData.length < 5)\">\r\n <el-button type=\"primary\" ghost style=\"width: 100px; color: #fff; font-size: 13px\" v-db-click @click=\"addBox\"\r\n >添加{{ type == 5 ? '广告' : '服务' }}</el-button\r\n >\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: 'uploadPic',\r\n props: {\r\n listData: {\r\n type: Array,\r\n },\r\n type: {\r\n type: Number,\r\n },\r\n },\r\n components: {\r\n draggable: vuedraggable,\r\n uploadPictures,\r\n linkaddress,\r\n },\r\n data() {\r\n return {\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 lastObj: {\r\n name: '',\r\n pic: '',\r\n url: '',\r\n },\r\n };\r\n },\r\n mounted() {},\r\n watch: {\r\n configObj: {\r\n handler(nVal, oVal) {},\r\n deep: true,\r\n },\r\n },\r\n methods: {\r\n linkUrl(e) {\r\n this.listData[this.activeIndex].url = e;\r\n },\r\n getLink(index) {\r\n this.activeIndex = index;\r\n this.$refs.linkaddres.modals = true;\r\n },\r\n addBox() {\r\n if (this.listData.length == 0) {\r\n this.listData.push(this.lastObj);\r\n } else {\r\n let obj = JSON.parse(JSON.stringify(this.listData[this.listData.length - 1]));\r\n obj.name = '';\r\n obj.pic = '';\r\n obj.url = '';\r\n this.listData.push(obj);\r\n }\r\n // this.$emit('parentFun',this.listData)\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: this.$routeProStr + '/widget.images/index.html?fodder=dialog',\r\n editor: editor,\r\n name: uiName,\r\n title: '上传图片',\r\n cssRules: 'width:960px;height:550px;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.listData[this.activeIndex].pic = pc.att_dir;\r\n this.modalPic = false;\r\n });\r\n },\r\n // 删除\r\n bindDelete(item, index) {\r\n if (this.listData.length == 1) {\r\n this.lastObj = this.listData[0];\r\n }\r\n this.listData.splice(index, 1);\r\n // this.$emit('parentFun',this.listData)\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.hot_imgs {\r\n margin-bottom: 20px;\r\n .title {\r\n padding: 0 0 13px 0;\r\n color: #999;\r\n font-size: 12px;\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\r\n }\r\n .list-box {\r\n .item {\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n margin-top: 10px;\r\n border: 1px dashed rgba(0, 0, 0, 0.15);\r\n padding-right: 10px;\r\n border-radius: 6px;\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 .img-box {\r\n position: relative;\r\n width: 50px;\r\n height: 50px;\r\n cursor: pointer;\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n .info {\r\n flex: 1;\r\n margin-left: 16px;\r\n padding-top: 10px;\r\n .info-item {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 10px;\r\n\r\n span {\r\n width: 70px;\r\n font-size: 13px;\r\n }\r\n .input-box {\r\n flex: 1;\r\n ::v-deepinput {\r\n cursor: pointer;\r\n }\r\n }\r\n ::v-deep .ivu-input {\r\n font-size: 13px !important;\r\n }\r\n }\r\n }\r\n .delect-btn {\r\n position: absolute;\r\n right: -13px;\r\n top: -13px;\r\n .iconfont-diy {\r\n font-size: 25px;\r\n color: #ff1818;\r\n }\r\n }\r\n }\r\n }\r\n .add-btn {\r\n margin-top: 24px;\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: #ccc;\r\n}\r\n.iconfont-diy {\r\n color: #dddddd;\r\n font-size: 28px;\r\n}\r\n</style>\r\n"]}]}