| 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=style&index=0&id=7c7dcf26&lang=scss&scoped=true","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\\css-loader\\index.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\postcss-loader\\src\\index.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":499162500000},{"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:DQouaG90X2ltZ3Mgew0KICBtYXJnaW4tYm90dG9tOiAyMHB4Ow0KICAudGl0bGUgew0KICAgIHBhZGRpbmc6IDAgMCAxM3B4IDA7DQogICAgY29sb3I6ICM5OTk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpOw0KICB9DQogIC5saXN0LWJveCB7DQogICAgLml0ZW0gew0KICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICBtYXJnaW4tdG9wOiAxMHB4Ow0KICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMCwgMCwgMCwgMC4xNSk7DQogICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KICAgICAgYm9yZGVyLXJhZGl1czogNnB4Ow0KICAgICAgLm1vdmUtaWNvbiB7DQogICAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgICAgICB3aWR0aDogMzBweDsNCiAgICAgICAgY3Vyc29yOiBtb3ZlOw0KICAgICAgfQ0KICAgICAgLmltZy1ib3ggew0KICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgIHdpZHRoOiA1MHB4Ow0KICAgICAgICBoZWlnaHQ6IDUwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICAgICAgaW1nIHsNCiAgICAgICAgICB3aWR0aDogMTAwJTsNCiAgICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIC5pbmZvIHsNCiAgICAgICAgZmxleDogMTsNCiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7DQogICAgICAgIHBhZGRpbmctdG9wOiAxMHB4Ow0KICAgICAgICAuaW5mby1pdGVtIHsNCiAgICAgICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCg0KICAgICAgICAgIHNwYW4gew0KICAgICAgICAgICAgd2lkdGg6IDcwcHg7DQogICAgICAgICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICAgICAgfQ0KICAgICAgICAgIC5pbnB1dC1ib3ggew0KICAgICAgICAgICAgZmxleDogMTsNCiAgICAgICAgICAgIDo6di1kZWVwaW5wdXQgew0KICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgICAgICAgICB9DQogICAgICAgICAgfQ0KICAgICAgICAgIDo6di1kZWVwIC5pdnUtaW5wdXQgew0KICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9DQogICAgICAuZGVsZWN0LWJ0biB7DQogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICAgICAgcmlnaHQ6IC0xM3B4Ow0KICAgICAgICB0b3A6IC0xM3B4Ow0KICAgICAgICAuaWNvbmZvbnQtZGl5IHsNCiAgICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgICAgY29sb3I6ICNmZjE4MTg7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQogIH0NCiAgLmFkZC1idG4gew0KICAgIG1hcmdpbi10b3A6IDI0cHg7DQogIH0NCn0NCi51cGxvYWQtYm94IHsNCiAgZGlzcGxheTogZmxleDsNCiAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDEwMCU7DQogIGJhY2tncm91bmQ6ICNjY2M7DQp9DQouaWNvbmZvbnQtZGl5IHsNCiAgY29sb3I6ICNkZGRkZGQ7DQogIGZvbnQtc2l6ZTogMjhweDsNCn0NCg=="},{"version":3,"sources":["uploadPic.vue"],"names":[],"mappings":";AAyLA;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;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"]}]}
|