You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
5.4 KiB
1 line
5.4 KiB
{"remainingRequest":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/linhuakun/Downloads/nodejs/codewhy/src/views/cart/childComps/CartBottomBar.vue?vue&type=script&lang=js&","dependencies":[{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/src/views/cart/childComps/CartBottomBar.vue","mtime":1607666509054},{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/Users/linhuakun/Downloads/nodejs/codewhy/node_modules/vue-loader/lib/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCiAgaW1wb3J0IENoZWNrQnV0dG9uIGZyb20gJy4vQ2hlY2tCdXR0b24nCiAgaW1wb3J0IHttYXBHZXR0ZXJzfSBmcm9tICd2dWV4JwoKCWV4cG9ydCBkZWZhdWx0IHsKCQluYW1lOiAiQm90dG9tQmFyIiwKICAgIGNvbXBvbmVudHM6IHsKCQkgIENoZWNrQnV0dG9uCiAgICB9LAogICAgY29tcHV0ZWQ6IHsKCQkgIC4uLm1hcEdldHRlcnMoWydjYXJ0TGlzdCddKSwKCQkgdG90YWxQcmljZSgpewoJCSAgIHJldHVybiAnwqUnK3RoaXMuY2FydExpc3QuZmlsdGVyKGl0ZW09PnsKCQkgICAgIHJldHVybiBpdGVtLmNoZWNrZWQKICAgICAgIH0pLnJlZHVjZSgocHJlVmFsdWUsaXRlbSk9PnsKICAgICAgICAgcmV0dXJuIHByZVZhbHVlK2l0ZW0ucHJpY2UqaXRlbS5jb3VudAogICAgICAgfSwwKS50b0ZpeGVkKDIpCiAgICAgfSwKICAgICAgY2hlY2tMZW5ndGgoKXsKCQkgICByZXR1cm4gIXRoaXMuY2FydExpc3QuZmlsdGVyKGl0ZW09Pml0ZW0uY2hlY2tlZCkubGVuZ3RoCiAgICAgIH0sCiAgICAgIGlzU2VsZWN0QWxsICgpIHsKCQkgICAgaWYodGhpcy5jYXJ0TGlzdC5sZW5ndGggPT09IDApCgkJICAgICAgcmV0dXJuIGZhbHNlCiAgICAgICAgcmV0dXJuICF0aGlzLmNhcnRMaXN0LmZpbmQoaXRlbT0+IWl0ZW0uY2hlY2tlZCkKICAgICAgfQogICAgfSwKICAgIG1ldGhvZHM6IHsKICAgICAgY2hlY2tCdG5DbGljazogZnVuY3Rpb24gKCkgewogICAgICAgIC8vIDEu5Yik5pat5piv5ZCm5pyJ5pyq6YCJ5Lit55qE5oyJ6ZKuCiAgICAgICAgbGV0IGlzU2VsZWN0QWxsID0gdGhpcy4kc3RvcmUuZ2V0dGVycy5jYXJ0TGlzdC5maW5kKGl0ZW0gPT4gIWl0ZW0uY2hlY2tlZCk7CgogICAgICAgIC8vIDIu5pyJ5pyq6YCJ5Lit55qE5YaF5a65LCDliJnlhajpg6jpgInkuK0KICAgICAgICBpZiAoaXNTZWxlY3RBbGwpIHsKICAgICAgICAgIHRoaXMuJHN0b3JlLnN0YXRlLmNhcnRMaXN0LmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgIGl0ZW0uY2hlY2tlZCA9IHRydWU7CiAgICAgICAgICB9KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgdGhpcy4kc3RvcmUuc3RhdGUuY2FydExpc3QuZm9yRWFjaChpdGVtID0+IHsKICAgICAgICAgICAgaXRlbS5jaGVja2VkID0gZmFsc2U7CiAgICAgICAgICB9KTsKICAgICAgICB9CiAgICAgIH0sCiAgICAgIGJ0bmNsaWNrKCl7CiAgICAgICAgaWYoIXRoaXMuaXNTZWxlY3RBbGwpCiAgICAgICAgdGhpcy4kdG9hc3Quc2hvdygn6K+36YCJ6LSt5ZWG5ZOBJywyMDAwKQogICAgICB9CiAgICB9Cgl9Cg=="},{"version":3,"sources":["CartBottomBar.vue"],"names":[],"mappings":";;;;;;;;;;;;AAYA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"CartBottomBar.vue","sourceRoot":"src/views/cart/childComps","sourcesContent":["<template>\n <div class=\"bottom-menu\">\n <CheckButton class=\"select-all\" @checkBtnClick=\"checkBtnClick\" v-model=\"isSelectAll\"></CheckButton>\n <span>全选</span>\n\n <span class=\"total-price\">合计: {{totalPrice}}</span>\n\n <span class=\"buy-product\" @click=\"btnclick\" >去计算({{$store.getters.cartLength}})</span>\n </div>\n</template>\n\n<script>\n import CheckButton from './CheckButton'\n import {mapGetters} from 'vuex'\n\n\texport default {\n\t\tname: \"BottomBar\",\n components: {\n\t\t CheckButton\n },\n computed: {\n\t\t ...mapGetters(['cartList']),\n\t\t totalPrice(){\n\t\t return '¥'+this.cartList.filter(item=>{\n\t\t return item.checked\n }).reduce((preValue,item)=>{\n return preValue+item.price*item.count\n },0).toFixed(2)\n },\n checkLength(){\n\t\t return !this.cartList.filter(item=>item.checked).length\n },\n isSelectAll () {\n\t\t if(this.cartList.length === 0)\n\t\t return false\n return !this.cartList.find(item=>!item.checked)\n }\n },\n methods: {\n checkBtnClick: function () {\n // 1.判断是否有未选中的按钮\n let isSelectAll = this.$store.getters.cartList.find(item => !item.checked);\n\n // 2.有未选中的内容, 则全部选中\n if (isSelectAll) {\n this.$store.state.cartList.forEach(item => {\n item.checked = true;\n });\n } else {\n this.$store.state.cartList.forEach(item => {\n item.checked = false;\n });\n }\n },\n btnclick(){\n if(!this.isSelectAll)\n this.$toast.show('请选购商品',2000)\n }\n }\n\t}\n</script>\n\n<style scoped>\n .bottom-menu {\n width: 100%;\n height: 44px;\n background-color: #eee;\n position: fixed;\n bottom: 50px;\n left: 0;\n box-shadow: 0 -2px 3px rgba(0, 0, 0, .2);\n font-size: 14px;\n color: #888;\n line-height: 44px;\n padding-left: 35px;\n box-sizing: border-box;\n }\n\n .bottom-menu .select-all {\n position: absolute;\n line-height: 0;\n left: 12px;\n top: 13px;\n }\n\n .bottom-menu .total-price {\n margin-left: 15px;\n font-size: 16px;\n color: #666;\n }\n\n .bottom-menu .buy-product {\n background-color: orangered;\n color: #fff;\n width: 100px;\n height: 44px;\n text-align: center;\n line-height: 44px;\n float: right;\n }\n</style>\n"]}]} |