17bd6d6826586d844e6487c14f3a1ff7.json 6.1 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\components\\labelList\\index.vue?vue&type=style&index=0&id=2ab1c9d5&lang=scss&scoped=true","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\components\\labelList\\index.vue","mtime":1761614938957},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\css-loader\\index.js","mtime":1761614929364},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1761614937403},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\postcss-loader\\src\\index.js","mtime":1761614935133},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1761614936391},{"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:DQoubGFiZWwtd3JhcHBlciB7DQogIC5saXN0IHsNCiAgICBkaXNwbGF5OiBmbGV4Ow0KICAgIGZsZXgtd3JhcDogd3JhcDsNCiAgICAubGFiZWwtaXRlbSB7DQogICAgICBtYXJnaW46IDEwcHggOHB4IDEwcHggMDsNCiAgICAgIHBhZGRpbmc6IDNweCA4cHg7DQogICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlOw0KICAgICAgY29sb3I6ICMzMzMzMzM7DQogICAgICBib3JkZXItcmFkaXVzOiAycHg7DQogICAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgICBmb250LXNpemU6IDEycHg7DQogICAgICAmLm9uIHsNCiAgICAgICAgY29sb3I6ICNmZmY7DQogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByZXYtY29sb3ItcHJpbWFyeSk7DQogICAgICB9DQogICAgfQ0KICB9DQogIC5mb290ZXIgew0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsNCiAgICBtYXJnaW4tdG9wOiA0MHB4Ow0KICAgIGJ1dHRvbiB7DQogICAgICBtYXJnaW4tbGVmdDogMTBweDsNCiAgICB9DQogIH0NCn0NCi5idG4gew0KICB3aWR0aDogNjBweDsNCiAgaGVpZ2h0OiAyNHB4Ow0KfQ0KLnRpdGxlIHsNCiAgZm9udC1zaXplOiAxM3B4Ow0KfQ0KLmxpc3QtYm94IHsNCiAgb3ZlcmZsb3cteTogYXV0bzsNCiAgb3ZlcmZsb3cteDogaGlkZGVuOw0KICBtYXgtaGVpZ2h0OiAyNDBweDsNCn0NCi5sYWJlbC1ib3ggew0KICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KfQ0K"},{"version":3,"sources":["index.vue"],"names":[],"mappings":";AAuGA;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/labelList","sourcesContent":["<template>\r\n <div class=\"label-wrapper\">\r\n <div class=\"list-box\">\r\n <template v-if=\"isUser\">\r\n <div class=\"label-box\" v-for=\"(item, index) in labelList\" :key=\"index\">\r\n <div class=\"title\" v-if=\"item.children\">{{ item.label_name }}</div>\r\n <div class=\"list\" v-if=\"item.children && item.children.length\">\r\n <div\r\n class=\"label-item\"\r\n :class=\"{ on: label.disabled }\"\r\n v-for=\"(label, j) in item.children\"\r\n :key=\"j\"\r\n v-db-click\r\n @click=\"selectLabel(label)\"\r\n >\r\n {{ label.label_name }}\r\n </div>\r\n </div>\r\n </div>\r\n </template>\r\n <div v-if=\"!isUser\">暂无标签</div>\r\n </div>\r\n <div class=\"footer\">\r\n <el-button class=\"btns\" ghost v-db-click @click=\"cancel\">取消</el-button>\r\n <el-button type=\"primary\" class=\"btns\" v-db-click @click=\"subBtn\">确定</el-button>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { productUserLabel } from '@/api/product';\r\nexport default {\r\n name: 'userLabel',\r\n props: {\r\n // dataLabel: {\r\n // \ttype: Array,\r\n // \tdefault: () => []\r\n // }\r\n },\r\n data() {\r\n return {\r\n labelList: [],\r\n dataLabel: [],\r\n isUser: false,\r\n };\r\n },\r\n mounted() {\r\n this.setLabel();\r\n },\r\n methods: {\r\n inArray: function (search, array) {\r\n for (let 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 // 用户标签\r\n setLabel() {\r\n // this.dataLabel = data;\r\n productUserLabel()\r\n .then((res) => {\r\n res.data.map((el) => {\r\n if (el.children) {\r\n this.isUser = true;\r\n el.children.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) {\r\n if (label.disabled) {\r\n let 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.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-item {\r\n margin: 10px 8px 10px 0;\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 &.on {\r\n color: #fff;\r\n background: var(--prev-color-primary);\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 button {\r\n margin-left: 10px;\r\n }\r\n }\r\n}\r\n.btn {\r\n width: 60px;\r\n height: 24px;\r\n}\r\n.title {\r\n font-size: 13px;\r\n}\r\n.list-box {\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n max-height: 240px;\r\n}\r\n.label-box {\r\n margin-bottom: 10px;\r\n}\r\n</style>\r\n"]}]}