| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\components\\storeLabelList\\index.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\components\\storeLabelList\\index.vue","mtime":1761614938986},{"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:DQppbXBvcnQgeyBwcm9kdWN0TGFiZWxVc2VMaXN0QXBpIH0gZnJvbSAnQC9hcGkvcHJvZHVjdCc7DQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdzdG9yZUxhYmVsTGlzdCcsDQogIHByb3BzOiB7fSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgbGFiZWxMaXN0OiBbXSwNCiAgICAgIGRhdGFMYWJlbDogW10sDQogICAgICBpc1N0b3JlOiBmYWxzZSwNCiAgICB9Ow0KICB9LA0KICBtb3VudGVkKCkge30sDQogIG1ldGhvZHM6IHsNCiAgICBpbkFycmF5OiBmdW5jdGlvbiAoc2VhcmNoLCBhcnJheSkgew0KICAgICAgZm9yIChjb25zdCBpIGluIGFycmF5KSB7DQogICAgICAgIGlmIChhcnJheVtpXS5pZCA9PT0gc2VhcmNoKSB7DQogICAgICAgICAgcmV0dXJuIHRydWU7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICAgIHJldHVybiBmYWxzZTsNCiAgICB9LA0KICAgIHN0b3JlTGFiZWwoZGF0YSkgew0KICAgICAgdGhpcy5kYXRhTGFiZWwgPSBkYXRhIHx8IFtdOw0KICAgICAgcHJvZHVjdExhYmVsVXNlTGlzdEFwaSgpDQogICAgICAgIC50aGVuKChyZXMpID0+IHsNCiAgICAgICAgICByZXMuZGF0YS5tYXAoKGVsKSA9PiB7DQogICAgICAgICAgICBpZiAoZWwubGlzdCAmJiBlbC5saXN0Lmxlbmd0aCkgew0KICAgICAgICAgICAgICB0aGlzLmlzU3RvcmUgPSB0cnVlOw0KICAgICAgICAgICAgICBlbC5saXN0Lm1hcCgobGFiZWwpID0+IHsNCiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbkFycmF5KGxhYmVsLmlkLCB0aGlzLmRhdGFMYWJlbCkpIHsNCiAgICAgICAgICAgICAgICAgIGxhYmVsLmRpc2FibGVkID0gdHJ1ZTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgbGFiZWwuZGlzYWJsZWQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgIH0pOw0KICAgICAgICAgIHRoaXMubGFiZWxMaXN0ID0gcmVzLmRhdGE7DQogICAgICAgIH0pDQogICAgICAgIC5jYXRjaCgocmVzKSA9PiB7DQogICAgICAgICAgdGhpcy4kbWVzc2FnZS5lcnJvcihyZXMubXNnKTsNCiAgICAgICAgfSk7DQogICAgfSwNCiAgICBzZWxlY3RMYWJlbChsYWJlbCwgaW5kZXgpIHsNCiAgICAgIGNvbnNvbGUubG9nKHRoaXMuZGF0YUxhYmVsKTsNCiAgICAgIGlmIChsYWJlbC5kaXNhYmxlZCkgew0KICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZGF0YUxhYmVsLmluZGV4T2YodGhpcy5kYXRhTGFiZWwuZmlsdGVyKChkKSA9PiBkLmlkID09PSBsYWJlbC5pZClbMF0pOw0KICAgICAgICB0aGlzLmRhdGFMYWJlbC5zcGxpY2UoaW5kZXgsIDEpOw0KICAgICAgICBsYWJlbC5kaXNhYmxlZCA9IGZhbHNlOw0KICAgICAgfSBlbHNlIHsNCiAgICAgICAgdGhpcy5kYXRhTGFiZWwucHVzaCh7IGxhYmVsX25hbWU6IGxhYmVsLm5hbWUsIGlkOiBsYWJlbC5pZCB9KTsNCiAgICAgICAgbGFiZWwuZGlzYWJsZWQgPSB0cnVlOw0KICAgICAgfQ0KICAgIH0sDQogICAgLy8g56Gu5a6aDQogICAgc3ViQnRuKCkgew0KICAgICAgdGhpcy4kZW1pdCgnYWN0aXZlRGF0YScsIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5kYXRhTGFiZWwpKSk7DQogICAgfSwNCiAgICBjYW5jZWwoKSB7DQogICAgICB0aGlzLiRlbWl0KCdjbG9zZScpOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAwCA;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":"index.vue","sourceRoot":"src/components/storeLabelList","sourcesContent":["<template>\r\n <div class=\"label-wrapper\">\r\n <div v-if=\"!labelList.length\" class=\"nonefont\">暂无标签</div>\r\n <div v-else class=\"label-box\" v-for=\"(item, index) in labelList\" :key=\"index\">\r\n <div class=\"title\">{{ item.cate_name }}</div>\r\n <div class=\"list\">\r\n <div\r\n class=\"label\"\r\n :class=\"{ on: label.disabled }\"\r\n v-for=\"(label, j) in item.list\"\r\n :key=\"j\"\r\n v-db-click\r\n @click=\"selectLabel(label, index)\"\r\n >\r\n <div\r\n class=\"label-item\"\r\n :style=\"{\r\n backgroundColor: label.bg_color,\r\n color: label.font_color,\r\n border: label.border_color ? '1px solid ' + label.border_color : 'none',\r\n }\"\r\n v-if=\"!label.image\"\r\n >\r\n {{ label.name }}\r\n </div>\r\n <img :src=\"label.image\" class=\"img-tag\" v-else />\r\n <div class=\"sanjiao\" v-show=\"label.disabled\">\r\n <span class=\"iconfont iconwancheng\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"footer\">\r\n <el-button type=\"primary\" class=\"btns\" ghost @click=\"cancel\">取消</el-button>\r\n <el-button type=\"primary\" class=\"btns\" @click=\"subBtn\">确定</el-button>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { productLabelUseListApi } from '@/api/product';\r\nexport default {\r\n name: 'storeLabelList',\r\n props: {},\r\n data() {\r\n return {\r\n labelList: [],\r\n dataLabel: [],\r\n isStore: false,\r\n };\r\n },\r\n mounted() {},\r\n methods: {\r\n inArray: function (search, array) {\r\n for (const i in array) {\r\n if (array[i].id === search) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n storeLabel(data) {\r\n this.dataLabel = data || [];\r\n productLabelUseListApi()\r\n .then((res) => {\r\n res.data.map((el) => {\r\n if (el.list && el.list.length) {\r\n this.isStore = true;\r\n el.list.map((label) => {\r\n if (this.inArray(label.id, this.dataLabel)) {\r\n label.disabled = true;\r\n } else {\r\n label.disabled = false;\r\n }\r\n });\r\n }\r\n });\r\n this.labelList = res.data;\r\n })\r\n .catch((res) => {\r\n this.$message.error(res.msg);\r\n });\r\n },\r\n selectLabel(label, index) {\r\n console.log(this.dataLabel);\r\n if (label.disabled) {\r\n const index = this.dataLabel.indexOf(this.dataLabel.filter((d) => d.id === label.id)[0]);\r\n this.dataLabel.splice(index, 1);\r\n label.disabled = false;\r\n } else {\r\n this.dataLabel.push({ label_name: label.name, id: label.id });\r\n label.disabled = true;\r\n }\r\n },\r\n // 确定\r\n subBtn() {\r\n this.$emit('activeData', JSON.parse(JSON.stringify(this.dataLabel)));\r\n },\r\n cancel() {\r\n this.$emit('close');\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.label-wrapper {\r\n .list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n .label {\r\n position: relative;\r\n border: 1px solid #ffffff;\r\n padding: 2px;\r\n border-radius: 4px;\r\n margin: 0 8px 10px 0;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n &.on {\r\n border: 1px solid #2d8cf0;\r\n }\r\n }\r\n .label-item {\r\n padding: 3px 8px;\r\n background: #eeeeee;\r\n color: #333333;\r\n border-radius: 2px;\r\n cursor: pointer;\r\n font-size: 12px;\r\n }\r\n\r\n .img-tag {\r\n height: 22px;\r\n border-radius: 2px;\r\n }\r\n .sanjiao {\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n width: 20px;\r\n height: 20px;\r\n background: #2d8cf0;\r\n clip-path: polygon(100% 100%, 100% 0, 0 100%);\r\n color: #fff;\r\n text-align: right;\r\n .iconfont {\r\n font-size: 10px;\r\n }\r\n }\r\n }\r\n\r\n .footer {\r\n display: flex;\r\n justify-content: flex-end;\r\n margin-top: 40px;\r\n\r\n button {\r\n margin-left: 10px;\r\n }\r\n }\r\n}\r\n.label-box {\r\n margin-bottom: 10px;\r\n}\r\n.btn {\r\n width: 60px;\r\n height: 24px;\r\n}\r\n\r\n.title {\r\n font-size: 13px;\r\n margin-bottom: 8px;\r\n}\r\n\r\n.nonefont {\r\n text-align: center;\r\n padding-top: 20px;\r\n}\r\n</style>\r\n"]}]}
|