7987df7a8d4dcc5c38cbb17ba714a436.json 6.2 KB

1
  1. {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\components\\goodsLabel\\useLabel.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\components\\goodsLabel\\useLabel.vue","mtime":1761614938955},{"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:DQppbXBvcnQgeyBwcm9kdWN0TGFiZWxVc2VMaXN0QXBpIH0gZnJvbSAnQC9hcGkvcHJvZHVjdCc7DQppbXBvcnQgdnVlZHJhZ2dhYmxlIGZyb20gJ3Z1ZWRyYWdnYWJsZSc7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogJ3VzZXJMYWJlbCcsDQogIGNvbXBvbmVudHM6IHsgdnVlZHJhZ2dhYmxlIH0sDQogIHByb3BzOiB7DQogICAgYWN0aXZlSWQ6IHsNCiAgICAgIHR5cGU6IEFycmF5LA0KICAgICAgZGVmYXVsdDogKCkgPT4gew0KICAgICAgICBbXTsNCiAgICAgIH0sDQogICAgfSwNCiAgICBsaXN0RGF0YTogew0KICAgICAgdHlwZTogQXJyYXksDQogICAgICBkZWZhdWx0OiAoKSA9PiB7DQogICAgICAgIFtdOw0KICAgICAgfSwNCiAgICB9LA0KICB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBsYWJlbExpc3Q6IFtdLA0KICAgIH07DQogIH0sDQogIHdhdGNoOiB7DQogICAgYWN0aXZlSWQ6IHsNCiAgICAgIGhhbmRsZXIoblZhbCwgb1ZhbCkgew0KICAgICAgICBpZiAoblZhbCAhPSBvVmFsKSB7DQogICAgICAgICAgaWYgKG5WYWwubGVuZ3RoKSB7DQogICAgICAgICAgICB0aGlzLmxhYmVsTGlzdCA9IFtdOw0KICAgICAgICAgICAgLy8g5qC55o2ublZhbCDljrtsaXN0RGF0YSDkuK3mn6Xmib4g5LiN5pS55Y+Y5p+l5om+5Ye65p2l55qE6aG65bqPDQogICAgICAgICAgICBuVmFsLmZvckVhY2goKGl0ZW0pID0+IHsNCiAgICAgICAgICAgICAgdGhpcy5saXN0RGF0YS5mb3JFYWNoKChpdGVtMikgPT4gew0KICAgICAgICAgICAgICAgIGlmIChpdGVtID09IGl0ZW0yLmlkKSB7DQogICAgICAgICAgICAgICAgICB0aGlzLmxhYmVsTGlzdC5wdXNoKGl0ZW0yKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICB9LA0KICAgICAgZGVlcDogdHJ1ZSwNCiAgICAgIGltbWVkaWF0ZTogdHJ1ZSwNCiAgICB9LA0KICB9LA0KICBtb3VudGVkKCkge30sDQogIG1ldGhvZHM6IHsNCiAgICBhc3luYyBvbk1vdmVTcGVjKGV2ZW50KSB7DQogICAgICBjb25zb2xlLmxvZyhldmVudCk7DQogICAgICBjb25zdCB7IG5ld0luZGV4LCBvbGRJbmRleCB9ID0gZXZlbnQ7DQogICAgICBjb25zb2xlLmxvZyhuZXdJbmRleCwgb2xkSW5kZXgpOw0KICAgICAgY29uc3QgbGFiZWwgPSB0aGlzLmFjdGl2ZUlkW29sZEluZGV4XTsNCiAgICAgIGNvbnN0IG5ld0xhYmVsTGlzdCA9IFsuLi50aGlzLmFjdGl2ZUlkXTsNCiAgICAgIG5ld0xhYmVsTGlzdC5zcGxpY2Uob2xkSW5kZXgsIDEpOw0KICAgICAgbmV3TGFiZWxMaXN0LnNwbGljZShuZXdJbmRleCwgMCwgbGFiZWwpOw0KICAgICAgY29uc29sZS5sb2cobmV3TGFiZWxMaXN0KTsNCiAgICAgIHRoaXMuJGVtaXQoJ3VwZGF0ZTphY3RpdmVJZCcsIG5ld0xhYmVsTGlzdCk7DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["useLabel.vue"],"names":[],"mappings":";AAqCA;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","file":"useLabel.vue","sourceRoot":"src/components/goodsLabel","sourcesContent":["<template>\r\n <div class=\"list\">\r\n <vuedraggable\r\n class=\"flex\"\r\n group=\"label\"\r\n :disabled=\"labelList.length < 2\"\r\n :list=\"labelList\"\r\n handle=\".label\"\r\n @end=\"onMoveSpec\"\r\n animation=\"300\"\r\n >\r\n <div\r\n class=\"label\"\r\n v-for=\"(label, j) in labelList\"\r\n :key=\"j\"\r\n v-dragging=\"{\r\n list: activeId,\r\n }\"\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>\r\n </vuedraggable>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { productLabelUseListApi } from '@/api/product';\r\nimport vuedraggable from 'vuedraggable';\r\n\r\nexport default {\r\n name: 'userLabel',\r\n components: { vuedraggable },\r\n props: {\r\n activeId: {\r\n type: Array,\r\n default: () => {\r\n [];\r\n },\r\n },\r\n listData: {\r\n type: Array,\r\n default: () => {\r\n [];\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n labelList: [],\r\n };\r\n },\r\n watch: {\r\n activeId: {\r\n handler(nVal, oVal) {\r\n if (nVal != oVal) {\r\n if (nVal.length) {\r\n this.labelList = [];\r\n // 根据nVal 去listData 中查找 不改变查找出来的顺序\r\n nVal.forEach((item) => {\r\n this.listData.forEach((item2) => {\r\n if (item == item2.id) {\r\n this.labelList.push(item2);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n },\r\n deep: true,\r\n immediate: true,\r\n },\r\n },\r\n mounted() {},\r\n methods: {\r\n async onMoveSpec(event) {\r\n console.log(event);\r\n const { newIndex, oldIndex } = event;\r\n console.log(newIndex, oldIndex);\r\n const label = this.activeId[oldIndex];\r\n const newLabelList = [...this.activeId];\r\n newLabelList.splice(oldIndex, 1);\r\n newLabelList.splice(newIndex, 0, label);\r\n console.log(newLabelList);\r\n this.$emit('update:activeId', newLabelList);\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.list {\r\n display: flex;\r\n flex-wrap: wrap;\r\n .label {\r\n padding: 2px;\r\n border-radius: 4px;\r\n margin: 0 8px 0px 0;\r\n cursor: move;\r\n display: flex;\r\n align-items: center;\r\n }\r\n .label-item {\r\n height: 22px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 0px 8px;\r\n\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}\r\n</style>\r\n"]}]}