| 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\\components\\mobileConfigRight\\c_tab_list.vue?vue&type=style&index=0&id=22ea2a6b&scoped=true&lang=scss","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\components\\mobileConfigRight\\c_tab_list.vue","mtime":1761185179996},{"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:DQo6OnYtZGVlcCAuaXZ1LWlucHV0IHsNCiAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7DQp9DQoNCjo6di1kZWVwIC5pdnUtaW5wdXQtd3JhcHBlciB7DQogIHdpZHRoOiAyNDBweDsNCn0NCg0KOjp2LWRlZXAgLml2dS1pbnB1dC13b3JkLWNvdW50IHsNCiAgY29sb3I6ICNiYmJiYmI7DQp9DQoNCjo6di1kZWVwIC5pdnUtaW5wdXQtaWNvbiB7DQogIGNvbG9yOiAjYmJiYmJiOw0KfQ0KOjp2LWRlZXAgLmVsLXJhZGlvew0KICBtYXJnaW4tYm90dG9tOiAxcHggIWltcG9ydGFudDsNCn0NCi5jX3Byb2R1Y3Qgew0KICBwYWRkaW5nOiAwIDE1cHggMjBweCAxNXB4Ow0KDQogIC5saXN0LWJveCB7DQogICAgLml0ZW0gew0KICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICBtYXJnaW4tdG9wOiAyM3B4Ow0KICAgICAgcGFkZGluZzogMThweCAyMHB4IDE4cHggMDsNCiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7DQogICAgICBib3JkZXItcmFkaXVzOiAzcHg7DQoNCiAgICAgIC5kZWxldGUgew0KICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgIHJpZ2h0OiAtMTBweDsNCiAgICAgICAgdG9wOiAtMTBweDsNCiAgICAgICAgY29sb3I6ICNjY2M7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICAgIH0NCiAgICB9DQoNCiAgICAubW92ZS1pY29uIHsNCiAgICAgIGRpc3BsYXk6IGZsZXg7DQogICAgICBhbGlnbi1pdGVtczogY2VudGVyOw0KICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7DQogICAgICB3aWR0aDogNTBweDsNCiAgICAgIGN1cnNvcjogbW92ZTsNCiAgICB9DQoNCiAgICAuY29uLWl0ZW0gew0KICAgICAgZGlzcGxheTogZmxleDsNCiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7DQogICAgICBtYXJnaW4tYm90dG9tOiAxNXB4Ow0KDQogICAgICAmOmxhc3QtY2hpbGQgew0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwOw0KICAgICAgfQ0KDQogICAgICBzcGFuIHsNCiAgICAgICAgd2lkdGg6IDc1cHg7DQogICAgICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICAgICAgY29sb3I6ICM5OTk5OTk7DQogICAgICB9DQogICAgfQ0KICB9DQoNCiAgLmFkZC1idG4gew0KICAgIG1hcmdpbi10b3A6IDIxcHg7DQoNCiAgICAuYnRuIHsNCiAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgaGVpZ2h0OiAzNnB4Ow0KICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOw0KICAgICAgY29sb3I6ICM2NjY2NjY7DQoNCiAgICAgIC5pY29uZm9udCB7DQogICAgICAgIGZvbnQtc2l6ZTogMTFweDsNCiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7DQogICAgICB9DQogICAgfQ0KICB9DQp9DQoNCi50aXRsZSB7DQogIGZvbnQtc2l6ZTogMTJweDsNCiAgY29sb3I6ICM5OTk7DQp9DQoNCi5pY29uZm9udC1kaXkgew0KICBjb2xvcjogI2RkZGRkZDsNCiAgZm9udC1zaXplOiAxNnB4Ow0KfQ0K"},{"version":3,"sources":["c_tab_list.vue"],"names":[],"mappings":";AAuNA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;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;;AAEA;AACA;AACA;AACA","file":"c_tab_list.vue","sourceRoot":"src/components/mobileConfigRight","sourcesContent":["<template>\r\n <div class=\"c_product\" v-if=\"configData\">\r\n <div class=\"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\">\r\n <div class=\"move-icon\">\r\n <span class=\"iconfont-diy iconxingzhuangjiehe\"></span>\r\n </div>\r\n <div>\r\n <div class=\"con-item\">\r\n <span>{{ item.text.title }}</span>\r\n <div>\r\n <el-input\r\n v-model=\"item.text.val\"\r\n :placeholder=\"item.text.pla\"\r\n :maxlength=\"item.text.max\"\r\n show-word-limit\r\n />\r\n </div>\r\n </div>\r\n <div class=\"con-item\">\r\n <span>{{ item.dataType.title }}</span>\r\n <div>\r\n <el-radio-group v-model=\"item.dataType.tabVal\">\r\n <el-radio :label=\"key\" v-for=\"(radio, key) in item.dataType.tabList\" :key=\"key\">\r\n <span>{{ radio.name }}</span>\r\n </el-radio>\r\n </el-radio-group>\r\n </div>\r\n </div>\r\n <div class=\"con-item\">\r\n <span>{{ item.dataType.tabList[item.dataType.tabVal].name }}</span>\r\n <div>\r\n <el-input v-if=\"item.dataType.tabVal == 0\" v-model=\"item.microPage.name\" placeholder=\"选择页面\">\r\n <i class=\"el-icon-link\" slot=\"suffix\" @click=\"getLink(index)\" />\r\n </el-input>\r\n <el-cascader\r\n v-else-if=\"item.dataType.tabVal == 1\"\r\n @change=\"sliderChange\"\r\n @focus=\"\r\n (e) => {\r\n activeIndex = index;\r\n }\r\n \"\r\n placeholder=\"请选择分类\"\r\n size=\"mini\"\r\n v-model=\"item.classPage.id\"\r\n :options=\"treeSelect\"\r\n :props=\"props\"\r\n filterable\r\n clearable\r\n >\r\n </el-cascader>\r\n </div>\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\r\n ref=\"linkaddres\"\r\n :linkType=\"1\"\r\n :fromType=\"'diyPage'\"\r\n :isCateTree=\"!['homeComb', 'tabNav'].includes(defaults.name)\"\r\n @linkUrl=\"linkUrl\"\r\n ></linkaddress> -->\r\n <linkaddress\r\n ref=\"linkaddres\"\r\n :linkType=\"1\"\r\n :fromType=\"'diyPage'\"\r\n :isCateTree=\"!['homeComb', 'tabNav'].includes(defaults.name)\"\r\n @linkUrl=\"linkUrl\"\r\n ></linkaddress>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport vuedraggable from 'vuedraggable';\r\nimport linkaddress from '@/components/linkaddress';\r\nimport { cascaderListApi } from '@/api/product';\r\nexport default {\r\n name: 'c_tab_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 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 treeSelect: [],\r\n props: { multiple: false, checkStrictly: false, emitPath: false },\r\n };\r\n },\r\n mounted() {\r\n this.goodsCategory();\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 goodsCategory() {\r\n cascaderListApi(0)\r\n .then((res) => {\r\n this.treeSelect = res.data;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n //商品分类\r\n sliderChange(e) {\r\n console.log(e);\r\n // this.configData.list[this.configData.tabCur].selectConfig.activeValue = e;\r\n // this.$emit('getConfig', { name: 'cascader', values: e });\r\n this.configData.list[this.activeIndex].classPage.id = e;\r\n let name = this.treeSelect.find((item) => item.id == e).label;\r\n this.configData.list[this.activeIndex].classPage.name = name;\r\n },\r\n linkUrl(e) {\r\n console.log(e, this.configData.list[this.activeIndex].dataType.tabVal, '111');\r\n if (this.configData.list[this.activeIndex].dataType.tabVal) {\r\n let obj = e.split('?')[1];\r\n let obj2 = obj.split('&');\r\n this.configData.list[this.activeIndex].classPage.name = obj2[1].split('=')[1];\r\n this.configData.list[this.activeIndex].classPage.id = obj2[0].split('=')[1];\r\n } else {\r\n let obj = e.split('?')[1];\r\n let obj2 = obj.split('&');\r\n this.configData.list[this.activeIndex].microPage.name = obj2[1].split('=')[1];\r\n this.configData.list[this.activeIndex].microPage.id = obj2[0].split('=')[1];\r\n }\r\n },\r\n getLink(index) {\r\n this.activeIndex = index;\r\n let obj = {};\r\n if (this.configData.list[this.activeIndex].dataType.tabVal) {\r\n obj = {\r\n id: 8,\r\n pid: 2,\r\n type: 'product_category',\r\n };\r\n } else {\r\n obj = {\r\n id: 9,\r\n pid: 1,\r\n type: 'special',\r\n };\r\n }\r\n this.$refs.linkaddres.handleCheckChange(obj);\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 this.itemObj.dataType.tabVal = 0;\r\n this.itemObj.microPage.name = '';\r\n this.itemObj.classPage.name = '';\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 obj.dataType.tabVal = 0;\r\n obj.microPage.name = '';\r\n obj.classPage.name = '';\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 },\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-wrapper {\r\n width: 240px;\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::v-deep .el-radio{\r\n margin-bottom: 1px !important;\r\n}\r\n.c_product {\r\n padding: 0 15px 20px 15px;\r\n\r\n .list-box {\r\n .item {\r\n display: flex;\r\n align-items: center;\r\n position: relative;\r\n margin-top: 23px;\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: -10px;\r\n top: -10px;\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: 50px;\r\n cursor: move;\r\n }\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: 75px;\r\n font-size: 12px;\r\n color: #999999;\r\n }\r\n }\r\n }\r\n\r\n .add-btn {\r\n margin-top: 21px;\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 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"]}]}
|