9fd6c2da351b30ad58523b22a94a6897.json 10 KB

1
  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\\diyComponents\\c_goods.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\components\\diyComponents\\c_goods.vue","mtime":1761185179959},{"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\\babel-loader\\lib\\index.js","mtime":456789000000},{"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:DQppbXBvcnQgdnVlZHJhZ2dhYmxlIGZyb20gJ3Z1ZWRyYWdnYWJsZSc7DQppbXBvcnQgZ29vZHNMaXN0IGZyb20gJ0AvY29tcG9uZW50cy9nb29kc0xpc3QnOw0KaW1wb3J0IHNvcnRMaXN0IGZyb20gJ0AvY29tcG9uZW50cy9zb3J0TGlzdCc7DQpleHBvcnQgZGVmYXVsdCB7DQogIG5hbWU6ICdjX2dvb2RzJywNCiAgcHJvcHM6IHsNCiAgICBuYW1lOiB7DQogICAgICB0eXBlOiBTdHJpbmcsDQogICAgfSwNCiAgICBjb25maWdEYXRhOiB7DQogICAgICB0eXBlOiBudWxsLA0KICAgIH0sDQogICAgY29uZmlnTnVtOiB7DQogICAgICB0eXBlOiBOdW1iZXIgfCBTdHJpbmcsDQogICAgICBkZWZhdWx0OiAnZGVmYXVsdCcsDQogICAgfSwNCiAgfSwNCiAgY29tcG9uZW50czogew0KICAgIGdvb2RzTGlzdCwNCiAgICBzb3J0TGlzdCwNCiAgICBkcmFnZ2FibGU6IHZ1ZWRyYWdnYWJsZSwNCiAgfSwNCiAgd2F0Y2g6IHsNCiAgICBjb25maWdEYXRhOiB7DQogICAgICBoYW5kbGVyKG5WYWwsIG9WYWwpIHsNCiAgICAgICAgdGhpcy5kZWZhdWx0cyA9IG5WYWxbdGhpcy5jb25maWdOdW1dOw0KICAgICAgICBsZXQgZ29vZFR5cGUgPSBuVmFsW3RoaXMuY29uZmlnTnVtXS50aXRsZUluZm8gPyBuVmFsW3RoaXMuY29uZmlnTnVtXS50aXRsZUluZm8udHlwZSA6IDA7DQogICAgICAgIHRoaXMudHlwZSA9IG5WYWxbdGhpcy5jb25maWdOdW1dLnNlbGVjdENvbmZpZy50eXBlDQogICAgICAgICAgPyBuVmFsW3RoaXMuY29uZmlnTnVtXS5zZWxlY3RDb25maWcudHlwZQ0KICAgICAgICAgIDogZ29vZFR5cGUNCiAgICAgICAgICA/IGdvb2RUeXBlDQogICAgICAgICAgOiAwOw0KICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkgew0KICAgICAgICAgIGNhc2UgMDoNCiAgICAgICAgICAgIHRoaXMudGl0bGVzID0gJ+WVhuWTgeWIl+ihqCc7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDE6DQogICAgICAgICAgICB0aGlzLnRpdGxlcyA9ICfliIbnsbvliJfooagnOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgY2FzZSA4Og0KICAgICAgICAgICAgdGhpcy50aXRsZXMgPSAn56CN5Lu35YiX6KGoJzsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgIGNhc2UgMjoNCiAgICAgICAgICAgIHRoaXMudGl0bGVzID0gJ+enkuadgOWIl+ihqCc7DQogICAgICAgICAgICBicmVhazsNCiAgICAgICAgICBjYXNlIDM6DQogICAgICAgICAgICB0aGlzLnRpdGxlcyA9ICfmi7zlm6LliJfooagnOw0KICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgZGVmYXVsdDoNCiAgICAgICAgfQ0KICAgICAgfSwNCiAgICAgIGltbWVkaWF0ZTogdHJ1ZSwNCiAgICAgIGRlZXA6IHRydWUsDQogICAgfSwNCiAgfSwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgbW9kYWxzOiBmYWxzZSwNCiAgICAgIGdvb2RzTGlzdDogW10sDQogICAgICB0ZW1wR29vZHM6IFtdLA0KICAgICAgZGVmYXVsdHM6IHt9LA0KICAgICAgdHlwZTogJycsDQogICAgICBpc19uZXc6ICcnLA0KICAgICAgbG9hZGluZzogdHJ1ZSwNCiAgICAgIHRpdGxlczogJycsDQogICAgfTsNCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICB0aGlzLmRlZmF1bHRzID0gdGhpcy5jb25maWdEYXRhW3RoaXMuY29uZmlnTnVtXTsNCiAgICB0aGlzLmlzX25ldyA9IHRoaXMuY29uZmlnRGF0YVt0aGlzLmNvbmZpZ051bV0uaXNfbmV3Ow0KICB9LA0KICBtZXRob2RzOiB7DQogICAgZ2V0UHJvZHVjdERpeShkYXRhKSB7DQogICAgICB0aGlzLnRlbXBHb29kcyA9IGRhdGE7DQogICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsNCiAgICB9LA0KICAgIGNhbmNlbCgpIHsNCiAgICAgIHRoaXMudGVtcEdvb2RzID0gW107DQogICAgfSwNCiAgICAvL+WvueixoeaVsOe7hOWOu+mHje+8mw0KICAgIHVuaXF1ZShhcnIpIHsNCiAgICAgIGNvbnN0IHJlcyA9IG5ldyBNYXAoKTsNCiAgICAgIHJldHVybiBhcnIuZmlsdGVyKChhcnIpID0+ICFyZXMuaGFzKGFyci5pZCkgJiYgcmVzLnNldChhcnIuaWQsIDEpKTsNCiAgICB9LA0KICAgIG9rKCkgew0KICAgICAgaWYgKCF0aGlzLnRlbXBHb29kcy5sZW5ndGgpIHsNCiAgICAgICAgcmV0dXJuIHRoaXMuJG1lc3NhZ2Uud2FybmluZygn6K+35YWI6YCJ5oup5ZWG5ZOBJyk7DQogICAgICB9DQogICAgICBsZXQgbGlzdCA9IHRoaXMuZGVmYXVsdHMuZ29vZHNMaXN0Lmxpc3Q7DQogICAgICBsaXN0LnB1c2guYXBwbHkobGlzdCwgdGhpcy50ZW1wR29vZHMpOw0KICAgICAgLy8gbGlzdC5wdXNoKHRoaXMudGVtcEdvb2RzKTsNCiAgICAgIGxldCBwaWNMaXN0ID0gdGhpcy51bmlxdWUobGlzdCk7DQogICAgICB0aGlzLmRlZmF1bHRzLmdvb2RzTGlzdC5saXN0ID0gcGljTGlzdDsNCiAgICAgIC8vIHRoaXMuZGVmYXVsdHMuZ29vZHNMaXN0Lmxpc3QucHVzaCh0aGlzLnRlbXBHb29kcyk7DQogICAgICB0aGlzLm1vZGFscyA9IGZhbHNlOw0KICAgIH0sDQogICAgYmluZERlbGV0ZShpbmRleCkgew0KICAgICAgdGhpcy5kZWZhdWx0cy5nb29kc0xpc3QubGlzdC5zcGxpY2UoaW5kZXgsIDEpOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["c_goods.vue"],"names":[],"mappings":";AA2CA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"c_goods.vue","sourceRoot":"src/components/diyComponents","sourcesContent":["<template>\r\n <div class=\"goods-box\" v-if=\"defaults.goodsList\">\r\n <div class=\"wrapper\">\r\n <draggable class=\"dragArea list-group\" :list=\"defaults.goodsList.list\" group=\"peoples\">\r\n <div\r\n class=\"item\"\r\n v-for=\"(goods, index) in defaults.goodsList.list\"\r\n :key=\"index\"\r\n v-show=\"defaults.goodsList.list.length\"\r\n >\r\n <img :src=\"type == 1 ? goods.pic : goods.image\" alt=\"\" />\r\n <span class=\"iconfont icondel_1\" v-db-click @click.stop=\"bindDelete(index)\"></span>\r\n </div>\r\n <div class=\"add-item item\" v-db-click @click=\"modals = true\"><span class=\"iconfont iconaddto\"></span></div>\r\n </draggable>\r\n </div>\r\n\r\n <el-dialog\r\n :visible.sync=\"modals\"\r\n :title=\"titles\"\r\n class=\"paymentFooter\"\r\n :class=\"type ? '' : 'middleTop'\"\r\n width=\"900px\"\r\n >\r\n <sort-list ref=\"goodslist\" @getProductDiy=\"getProductDiy\" v-if=\"modals && type == 1\"></sort-list>\r\n <goods-list\r\n ref=\"goodslist\"\r\n @getProductDiy=\"getProductDiy\"\r\n :ischeckbox=\"true\"\r\n :type=\"type\"\r\n :is_new=\"is_new\"\r\n :diy=\"true\"\r\n v-if=\"modals && type != 1\"\r\n ></goods-list>\r\n <span slot=\"footer\" class=\"dialog-footer\">\r\n <el-button v-db-click @click=\"cancel\">取 消</el-button>\r\n <el-button type=\"primary\" v-db-click @click=\"ok\">确 定</el-button>\r\n </span>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport vuedraggable from 'vuedraggable';\r\nimport goodsList from '@/components/goodsList';\r\nimport sortList from '@/components/sortList';\r\nexport default {\r\n name: 'c_goods',\r\n props: {\r\n name: {\r\n type: String,\r\n },\r\n configData: {\r\n type: null,\r\n },\r\n configNum: {\r\n type: Number | String,\r\n default: 'default',\r\n },\r\n },\r\n components: {\r\n goodsList,\r\n sortList,\r\n draggable: vuedraggable,\r\n },\r\n watch: {\r\n configData: {\r\n handler(nVal, oVal) {\r\n this.defaults = nVal[this.configNum];\r\n let goodType = nVal[this.configNum].titleInfo ? nVal[this.configNum].titleInfo.type : 0;\r\n this.type = nVal[this.configNum].selectConfig.type\r\n ? nVal[this.configNum].selectConfig.type\r\n : goodType\r\n ? goodType\r\n : 0;\r\n switch (this.type) {\r\n case 0:\r\n this.titles = '商品列表';\r\n break;\r\n case 1:\r\n this.titles = '分类列表';\r\n break;\r\n case 8:\r\n this.titles = '砍价列表';\r\n break;\r\n case 2:\r\n this.titles = '秒杀列表';\r\n break;\r\n case 3:\r\n this.titles = '拼团列表';\r\n break;\r\n default:\r\n }\r\n },\r\n immediate: true,\r\n deep: true,\r\n },\r\n },\r\n data() {\r\n return {\r\n modals: false,\r\n goodsList: [],\r\n tempGoods: [],\r\n defaults: {},\r\n type: '',\r\n is_new: '',\r\n loading: true,\r\n titles: '',\r\n };\r\n },\r\n created() {\r\n this.defaults = this.configData[this.configNum];\r\n this.is_new = this.configData[this.configNum].is_new;\r\n },\r\n methods: {\r\n getProductDiy(data) {\r\n this.tempGoods = data;\r\n this.loading = false;\r\n },\r\n cancel() {\r\n this.tempGoods = [];\r\n },\r\n //对象数组去重;\r\n unique(arr) {\r\n const res = new Map();\r\n return arr.filter((arr) => !res.has(arr.id) && res.set(arr.id, 1));\r\n },\r\n ok() {\r\n if (!this.tempGoods.length) {\r\n return this.$message.warning('请先选择商品');\r\n }\r\n let list = this.defaults.goodsList.list;\r\n list.push.apply(list, this.tempGoods);\r\n // list.push(this.tempGoods);\r\n let picList = this.unique(list);\r\n this.defaults.goodsList.list = picList;\r\n // this.defaults.goodsList.list.push(this.tempGoods);\r\n this.modals = false;\r\n },\r\n bindDelete(index) {\r\n this.defaults.goodsList.list.splice(index, 1);\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.middleTop ::v-deep .ivu-modal-wrap .ivu-modal {\r\n top: 50% !important;\r\n margin-top: -350px;\r\n}\r\n.goods-box {\r\n padding: 16px 0;\r\n margin-bottom: 16px;\r\n border-top: 1px solid rgba(0, 0, 0, 0.05);\r\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\r\n .wrapper,\r\n .list-group {\r\n display: flex;\r\n flex-wrap: wrap;\r\n }\r\n .add-item {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 80px;\r\n height: 80px;\r\n margin-bottom: 10px;\r\n background: #f7f7f7;\r\n .iconfont {\r\n font-size: 18px;\r\n color: #d8d8d8;\r\n }\r\n }\r\n .item {\r\n position: relative;\r\n width: 80px;\r\n height: 80px;\r\n margin-bottom: 20px;\r\n margin-right: 12px;\r\n &:nth-child(4n) {\r\n margin-right: 0;\r\n }\r\n img {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n .icondel_1 {\r\n position: absolute;\r\n right: -10px;\r\n top: -16px;\r\n color: #999999;\r\n font-size: 28px;\r\n cursor: pointer;\r\n }\r\n }\r\n}\r\n</style>\r\n"]}]}