| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\components\\mobileConfigRight\\c_product.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\components\\mobileConfigRight\\c_product.vue","mtime":1761614938967},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\babel-loader\\lib\\index.js","mtime":1761614927320},{"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:DQppbXBvcnQgdnVlZHJhZ2dhYmxlIGZyb20gJ3Z1ZWRyYWdnYWJsZSc7DQppbXBvcnQgbGlua2FkZHJlc3MgZnJvbSAnQC9jb21wb25lbnRzL2xpbmthZGRyZXNzJzsNCg0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAnY19wcm9kdWN0JywNCiAgcHJvcHM6IHsNCiAgICBjb25maWdPYmo6IHsNCiAgICAgIHR5cGU6IE9iamVjdCwNCiAgICB9LA0KICAgIGNvbmZpZ05tZTogew0KICAgICAgdHlwZTogU3RyaW5nLA0KICAgIH0sDQogICAgaW5kZXg6IHsNCiAgICAgIHR5cGU6IG51bGwsDQogICAgfSwNCiAgfSwNCiAgY29tcG9uZW50czogew0KICAgIGxpbmthZGRyZXNzLA0KICAgIGRyYWdnYWJsZTogdnVlZHJhZ2dhYmxlLA0KICB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBkZWZhdWx0czoge30sDQogICAgICBjb25maWdEYXRhOiB7fSwNCiAgICAgIGl0ZW1PYmo6IHt9LA0KICAgICAgYWN0aXZlSW5kZXg6IDAsDQogICAgfTsNCiAgfSwNCiAgbW91bnRlZCgpIHsNCiAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7DQogICAgICB0aGlzLmRlZmF1bHRzID0gdGhpcy5jb25maWdPYmo7DQogICAgICB0aGlzLmNvbmZpZ0RhdGEgPSB0aGlzLmNvbmZpZ09ialt0aGlzLmNvbmZpZ05tZV07DQogICAgfSk7DQogIH0sDQogIHdhdGNoOiB7DQogICAgY29uZmlnT2JqOiB7DQogICAgICBoYW5kbGVyKG5WYWwsIG9WYWwpIHsNCiAgICAgICAgdGhpcy5kZWZhdWx0cyA9IG5WYWw7DQogICAgICAgIHRoaXMuY29uZmlnRGF0YSA9IG5WYWxbdGhpcy5jb25maWdObWVdOw0KICAgICAgfSwNCiAgICAgIGRlZXA6IHRydWUsDQogICAgfSwNCiAgfSwNCiAgbWV0aG9kczogew0KICAgIGxpbmtVcmwoZSkgew0KICAgICAgdGhpcy5jb25maWdEYXRhLmxpc3RbdGhpcy5hY3RpdmVJbmRleF0uY2hpaWxkWzFdLnZhbCA9IGU7DQogICAgfSwNCiAgICBnZXRMaW5rKGluZGV4LCBrZXksIGl0ZW0pIHsNCiAgICAgIGlmICgha2V5IHx8IGl0ZW0ubGluaykgew0KICAgICAgICByZXR1cm47DQogICAgICB9DQogICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gaW5kZXg7DQogICAgICB0aGlzLiRyZWZzLmxpbmthZGRyZXMubW9kYWxzID0gdHJ1ZTsNCiAgICB9LA0KICAgIGFkZEhvdFR4dCgpIHsNCiAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEubGlzdC5sZW5ndGggPT0gMCkgew0KICAgICAgICBsZXQgc3RvcmFnZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2U7DQogICAgICAgIHRoaXMuaXRlbU9iaiA9IEpTT04ucGFyc2Uoc3RvcmFnZS5nZXRJdGVtKCdpdGVtT2JqJykpOw0KICAgICAgICBpZiAodGhpcy5pdGVtT2JqLmxpbmspIHsNCiAgICAgICAgICB0aGlzLml0ZW1PYmoubGluay5hY3RpdmVWYWwgPSAwOw0KICAgICAgICB9DQogICAgICAgIHRoaXMuaXRlbU9iai5jaGlpbGRbMF0udmFsID0gJyc7DQogICAgICAgIHRoaXMuaXRlbU9iai5jaGlpbGRbMV0udmFsID0gJyc7DQogICAgICAgIHRoaXMuY29uZmlnRGF0YS5saXN0LnB1c2godGhpcy5pdGVtT2JqKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIGxldCBvYmogPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnRGF0YS5saXN0W3RoaXMuY29uZmlnRGF0YS5saXN0Lmxlbmd0aCAtIDFdKSk7DQogICAgICAgIGlmIChvYmouY2hpaWxkWzBdLmVtcHR5KSB7DQogICAgICAgICAgb2JqLmNoaWlsZFswXS52YWwgPSAnJzsNCiAgICAgICAgICBvYmouY2hpaWxkWzFdLnZhbCA9ICcnOw0KICAgICAgICB9DQogICAgICAgIHRoaXMuY29uZmlnRGF0YS5saXN0LnB1c2gob2JqKTsNCiAgICAgIH0NCiAgICB9LA0KICAgIC8vIOWIoOmZpOaVsOe7hA0KICAgIGJpbmREZWxldGUoaW5kZXgpIHsNCiAgICAgIGlmICh0aGlzLmNvbmZpZ0RhdGEubGlzdC5sZW5ndGggPT0gMSkgew0KICAgICAgICBsZXQgaXRlbU9iaiA9IHRoaXMuY29uZmlnRGF0YS5saXN0WzBdOw0KICAgICAgICB0aGlzLml0ZW1PYmogPSBpdGVtT2JqOw0KICAgICAgICBsZXQgc3RvcmFnZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2U7DQogICAgICAgIHN0b3JhZ2Uuc2V0SXRlbSgnaXRlbU9iaicsIEpTT04uc3RyaW5naWZ5KGl0ZW1PYmopKTsNCiAgICAgIH0NCiAgICAgIHRoaXMuY29uZmlnRGF0YS5saXN0LnNwbGljZShpbmRleCwgMSk7DQogICAgICB0aGlzLmNvbmZpZ0RhdGEudGFiQ3VyID0gMDsNCiAgICAgIHRoaXMuJGVtaXQoJ2dldENvbmZpZycsIHsgbmFtZTogJ2RlbGV0ZScsIGluZGV4czogMCB9KTsNCiAgICB9LA0KICAgIHNsaWRlckNoYW5nZShpbmRleCkgew0KICAgICAgdGhpcy5jb25maWdEYXRhLnRhYkN1ciA9IGluZGV4Ow0KICAgICAgdGhpcy4kZW1pdCgnZ2V0Q29uZmlnJywgeyBuYW1lOiAncHJvZHVjdCcsIGluZGV4czogaW5kZXggfSk7DQogICAgfSwNCiAgICBhY3RpdmVCdG4oaW5kZXgpIHsNCiAgICAgIHRoaXMuY29uZmlnRGF0YS50YWJDdXIgPSBpbmRleDsNCiAgICAgIHRoaXMuJGVtaXQoJ2dldENvbmZpZycsIHsgbmFtZTogJ3Byb2R1Y3QnLCBpbmRleHM6IGluZGV4IH0pOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["c_product.vue"],"names":[],"mappings":";AAmDA;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;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","file":"c_product.vue","sourceRoot":"src/components/mobileConfigRight","sourcesContent":["<template>\r\n <div class=\"c_product\" v-if=\"configData\">\r\n <div class=\"title\" v-if=\"configData.title\">{{ configData.title }}</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\" @click=\"activeBtn(index)\">\r\n <!-- v-model=\"configData.tabCur\" -->\r\n <div class=\"move-icon\">\r\n <span class=\"iconfont-diy iconxingzhuangjiehe\"></span>\r\n </div>\r\n <div class=\"content\">\r\n <div class=\"con-item\" v-for=\"(list, key) in item.chiild\" :key=\"key\">\r\n <span>{{ list.title }}</span>\r\n <div style=\"width: 100%\">\r\n <el-input v-model=\"list.val\" :placeholder=\"list.pla\">\r\n <i v-if=\"list.title == '链接'\" class=\"el-icon-link\" slot=\"suffix\" @click=\"getLink(index, key, item)\" />\r\n </el-input>\r\n </div>\r\n </div>\r\n <div class=\"con-item\" v-if=\"configData.type\">\r\n <span>状态</span>\r\n <el-switch v-model=\"item.show\" />\r\n </div>\r\n <div class=\"con-item\" v-if=\"item.link\">\r\n <span>{{ item.link.title }}</span>\r\n <el-select v-model=\"item.link.activeVal\" style=\"\" @change=\"(e) => sliderChange(index, e)\">\r\n <el-option\r\n v-for=\"(item, j) in item.link.optiops\"\r\n :value=\"item.value\"\r\n :key=\"j\"\r\n :label=\"item.label\"\r\n ></el-option>\r\n </el-select>\r\n </div>\r\n </div>\r\n <div class=\"delete\" @click.stop=\"bindDelete(index)\">\r\n <i class=\"el-icon-circle-close\" style=\"font-size: 20px\" />\r\n </div>\r\n </div>\r\n </draggable>\r\n </div>\r\n <div v-if=\"configData.list\">\r\n <div class=\"add-btn\" @click=\"addHotTxt\" v-if=\"configData.list.length < configData.max\">\r\n <el-button class=\"btn\" type=\"primary\" ghost> <span class=\"iconfont iconjiahao\"></span>添加 </el-button>\r\n </div>\r\n </div>\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 linkaddress from '@/components/linkaddress';\r\n\r\nexport default {\r\n name: 'c_product',\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 linkaddress,\r\n draggable: vuedraggable,\r\n },\r\n data() {\r\n return {\r\n defaults: {},\r\n configData: {},\r\n itemObj: {},\r\n activeIndex: 0,\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].chiild[1].val = e;\r\n },\r\n getLink(index, key, item) {\r\n if (!key || item.link) {\r\n return;\r\n }\r\n this.activeIndex = index;\r\n this.$refs.linkaddres.modals = true;\r\n },\r\n addHotTxt() {\r\n if (this.configData.list.length == 0) {\r\n let storage = window.localStorage;\r\n this.itemObj = JSON.parse(storage.getItem('itemObj'));\r\n if (this.itemObj.link) {\r\n this.itemObj.link.activeVal = 0;\r\n }\r\n this.itemObj.chiild[0].val = '';\r\n this.itemObj.chiild[1].val = '';\r\n this.configData.list.push(this.itemObj);\r\n } else {\r\n let obj = JSON.parse(JSON.stringify(this.configData.list[this.configData.list.length - 1]));\r\n if (obj.chiild[0].empty) {\r\n obj.chiild[0].val = '';\r\n obj.chiild[1].val = '';\r\n }\r\n this.configData.list.push(obj);\r\n }\r\n },\r\n // 删除数组\r\n bindDelete(index) {\r\n if (this.configData.list.length == 1) {\r\n let itemObj = this.configData.list[0];\r\n this.itemObj = itemObj;\r\n let storage = window.localStorage;\r\n storage.setItem('itemObj', JSON.stringify(itemObj));\r\n }\r\n this.configData.list.splice(index, 1);\r\n this.configData.tabCur = 0;\r\n this.$emit('getConfig', { name: 'delete', indexs: 0 });\r\n },\r\n sliderChange(index) {\r\n this.configData.tabCur = index;\r\n this.$emit('getConfig', { name: 'product', indexs: index });\r\n },\r\n activeBtn(index) {\r\n this.configData.tabCur = index;\r\n this.$emit('getConfig', { name: 'product', indexs: index });\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep .ivu-input {\r\n font-size: 12px !important;\r\n}\r\n\r\n::v-deep .ivu-input-word-count {\r\n color: #bbbbbb;\r\n}\r\n\r\n::v-deep .ivu-input-icon {\r\n color: #bbbbbb;\r\n}\r\n\r\n.c_product {\r\n margin-bottom: 20px;\r\n padding: 0 15px 20px 15px;\r\n\r\n .list-box {\r\n .item {\r\n position: relative;\r\n display: flex;\r\n padding: 18px 20px 18px 0;\r\n background-color: #f9f9f9;\r\n border-radius: 3px;\r\n\r\n .delete {\r\n position: absolute;\r\n right: -13px;\r\n top: -14px;\r\n color: #ccc;\r\n cursor: pointer;\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: 40px;\r\n cursor: move;\r\n }\r\n\r\n .content {\r\n flex: 1;\r\n\r\n .con-item {\r\n display: flex;\r\n align-items: center;\r\n margin-bottom: 15px;\r\n\r\n &:last-child {\r\n margin-bottom: 0;\r\n }\r\n\r\n span {\r\n width: 45px;\r\n font-size: 12px;\r\n color: #999;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .add-btn {\r\n margin-top: 20px;\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.title {\r\n padding-top: 20px;\r\n font-size: 12px;\r\n color: #999;\r\n}\r\n\r\n.iconfont-diy {\r\n color: #dddddd;\r\n font-size: 16px;\r\n}\r\n</style>\r\n"]}]}
|