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.
SRuml/SuperRice/vue/node_modules/.cache/babel-loader/0baeb5d68b9b065d35eb140fca3...

1 line
12 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{"ast":null,"code":"export default {\n data() {\n return {\n user: JSON.parse(localStorage.getItem('xm-user') || '{}'),\n goodsData: [],\n pageNum: 1,\n // 当前的页码\n pageSize: 10,\n // 每页显示的个数\n totalPrice: 0,\n total: 0,\n addressId: null,\n addressData: [],\n selectedData: []\n };\n },\n mounted() {\n this.loadGoods(1);\n this.loadAddress();\n },\n // methods本页面所有的点击事件或者其他函数定义区\n methods: {\n loadAddress() {\n this.$request.get('/address/selectAll').then(res => {\n if (res.code === '200') {\n this.addressData = res.data;\n } else {\n this.$message.error(res.msg);\n }\n });\n },\n loadGoods(pageNum) {\n if (pageNum) this.pageNum = pageNum;\n this.$request.get('/cart/selectPage', {\n params: {\n pageNum: this.pageNum,\n pageSize: this.pageSize\n }\n }).then(res => {\n if (res.code === '200') {\n this.goodsData = res.data?.list;\n this.total = res.data?.total;\n } else {\n this.$message.error(res.msg);\n }\n });\n },\n navTo(url) {\n location.href = url;\n },\n del(id) {\n this.$request.delete('/cart/delete/' + id).then(res => {\n if (res.code === '200') {\n this.$message.success('移除成功');\n this.loadGoods(1);\n } else {\n this.$message.error(res.msg);\n }\n });\n },\n handleCurrentChange(pageNum) {\n this.loadGoods(pageNum);\n },\n handleSelectionChange(rows) {\n this.totalPrice = 0;\n this.selectedData = rows;\n // 计计算总价格\n this.selectedData.forEach(item => {\n this.totalPrice += item.goodsPrice * item.num;\n });\n },\n handleChange(row) {\n this.totalPrice = 0;\n this.selectedData.forEach(item => {\n this.totalPrice += item.goodsPrice * item.num;\n });\n },\n pay() {\n if (!this.addressId) {\n this.$message.warning('请选择收货地址');\n return;\n }\n if (!this.selectedData || this.selectedData.length === 0) {\n this.$message.warning('请选择商品');\n return;\n }\n let data = {\n userId: this.user.id,\n addressId: this.addressId,\n status: '待发货',\n cartData: this.selectedData\n };\n this.$request.post('/orders/add', data).then(res => {\n if (res.code === '200') {\n this.$message.success('操作成功');\n this.loadGoods(1);\n } else {\n this.$message.error(res.msg);\n }\n });\n }\n }\n};","map":{"version":3,"names":["data","user","JSON","parse","localStorage","getItem","goodsData","pageNum","pageSize","totalPrice","total","addressId","addressData","selectedData","mounted","loadGoods","loadAddress","methods","$request","get","then","res","code","$message","error","msg","params","list","navTo","url","location","href","del","id","delete","success","handleCurrentChange","handleSelectionChange","rows","forEach","item","goodsPrice","num","handleChange","row","pay","warning","length","userId","status","cartData","post"],"sources":["src/views/front/Cart.vue"],"sourcesContent":["<template>\r\n <div class=\"main-content\">\r\n <div style=\"width: 70%; background-color: white; margin: 30px auto; border-radius: 20px\">\r\n <div style=\"padding-bottom: 10px\">\r\n <div style=\"display: flex; font-size: 18px; color: #000000FF; line-height: 80px; border-bottom: #cccccc 1px solid;\">\r\n <div style=\"margin-left: 20px; flex: 1\">全部商品({{ goodsData.length }}件)</div>\r\n <div style=\"flex: 2; text-align: right\">\r\n <el-select v-model=\"addressId\" placeholder=\"请选择收货地址\" style=\"width: 70%\">\r\n <el-option v-for=\"item in addressData\" :label=\"item.username + ' - ' + item.useraddress + ' - ' + item.phone\" :value=\"item.id\"></el-option>\r\n </el-select>\r\n </div>\r\n <div style=\"flex: 1; font-size: 16px; text-align: right; padding-right: 20px\">\r\n 已选商品 ¥ {{totalPrice}} <el-button type=\"danger\" round @click=\"pay\">下单</el-button>\r\n </div>\r\n </div>\r\n <div style=\"margin: 20px 0; padding: 0 50px\">\r\n <div class=\"table\">\r\n <el-table :data=\"goodsData\" strip @selection-change=\"handleSelectionChange\">\r\n <el-table-column type=\"selection\" width=\"55\" align=\"center\"></el-table-column>\r\n <el-table-column label=\"商品图片\" width=\"120px\">\r\n <template v-slot=\"scope\">\r\n <el-image style=\"width: 80px; height: 60px; border-radius: 3px\" v-if=\"scope.row.goodsImg\"\r\n :src=\"scope.row.goodsImg\" :preview-src-list=\"[scope.row.goodsImg]\"></el-image>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"goodsName\" label=\"商品名称\" width=\"240px\">\r\n <template v-slot=\"scope\">\r\n <a :href=\"'/front/detail?id=' + scope.row.goodsId\">{{scope.row.goodsName}}</a>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"businessName\" label=\"店铺名称\">\r\n <template v-slot=\"scope\">\r\n <a :href=\"'/front/business?id=' + scope.row.businessId\">{{scope.row.businessName}}</a>\r\n </template>\r\n </el-table-column>\r\n <el-table-column prop=\"goodsPrice\" label=\"商品价格\"></el-table-column>\r\n <el-table-column prop=\"num\" label=\"选择数量\">\r\n <template v-slot=\"scope\">\r\n <el-input-number v-model=\"scope.row.num\" style=\"width: 100px\" @change=\"handleChange(scope.row)\" :min=\"1\"></el-input-number>\r\n </template>\r\n </el-table-column>\r\n <el-table-column label=\"操作\" align=\"center\" width=\"180\">\r\n <template v-slot=\"scope\">\r\n <el-button size=\"mini\" type=\"danger\" plain @click=\"del(scope.row.id)\">移除购物车</el-button>\r\n </template>\r\n </el-table-column>\r\n </el-table>\r\n\r\n <div class=\"pagination\" style=\"margin-top: 20px\">\r\n <el-pagination\r\n background\r\n @current-change=\"handleCurrentChange\"\r\n :current-page=\"pageNum\"\r\n :page-sizes=\"[5, 10, 20]\"\r\n :page-size=\"pageSize\"\r\n layout=\"total, prev, pager, next\"\r\n :total=\"total\">\r\n </el-pagination>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\n\r\nexport default {\r\n\r\n data() {\r\n return {\r\n user: JSON.parse(localStorage.getItem('xm-user') || '{}'),\r\n goodsData: [],\r\n pageNum: 1, // 当前的页码\r\n pageSize: 10, // 每页显示的个数\r\n totalPrice: 0,\r\n total: 0,\r\n addressId: null,\r\n addressData: [],\r\n selectedData: [],\r\n }\r\n },\r\n mounted() {\r\n this.loadGoods(1)\r\n this.loadAddress()\r\n },\r\n // methods本页面所有的点击事件或者其他函数定义区\r\n methods: {\r\n loadAddress() {\r\n this.$request.get('/address/selectAll').then(res => {\r\n if (res.code === '200') {\r\n this.addressData = res.data\r\n } else {\r\n this.$message.error(res.msg)\r\n }\r\n })\r\n },\r\n loadGoods(pageNum) {\r\n if (pageNum) this.pageNum = pageNum\r\n this.$request.get('/cart/selectPage', {\r\n params: {\r\n pageNum: this.pageNum,\r\n pageSize: this.pageSize,\r\n }\r\n }).then(res => {\r\n if (res.code === '200') {\r\n this.goodsData = res.data?.list\r\n this.total = res.data?.total\r\n } else {\r\n this.$message.error(res.msg)\r\n }\r\n })\r\n },\r\n navTo(url) {\r\n location.href = url\r\n },\r\n del(id) {\r\n this.$request.delete('/cart/delete/' + id).then(res => {\r\n if (res.code === '200') {\r\n this.$message.success('移除成功')\r\n this.loadGoods(1)\r\n } else {\r\n this.$message.error(res.msg)\r\n }\r\n })\r\n },\r\n handleCurrentChange(pageNum) {\r\n this.loadGoods(pageNum)\r\n },\r\n handleSelectionChange(rows) {\r\n this.totalPrice = 0\r\n this.selectedData = rows\r\n // 计计算总价格\r\n this.selectedData.forEach(item => {\r\n this.totalPrice += (item.goodsPrice * item.num)\r\n })\r\n },\r\n handleChange(row) {\r\n this.totalPrice = 0\r\n this.selectedData.forEach(item => {\r\n this.totalPrice += item.goodsPrice * item.num\r\n })\r\n },\r\n pay() {\r\n if (!this.addressId) {\r\n this.$message.warning('请选择收货地址')\r\n return\r\n }\r\n if (!this.selectedData || this.selectedData.length === 0) {\r\n this.$message.warning('请选择商品')\r\n return\r\n }\r\n let data = {\r\n userId: this.user.id,\r\n addressId: this.addressId,\r\n status: '待发货',\r\n cartData: this.selectedData\r\n }\r\n this.$request.post('/orders/add', data).then(res => {\r\n if (res.code === '200') {\r\n this.$message.success('操作成功')\r\n this.loadGoods(1)\r\n } else {\r\n this.$message.error(res.msg)\r\n }\r\n })\r\n }\r\n }\r\n}\r\n</script>"],"mappings":"AAoEA;EAEAA,KAAA;IACA;MACAC,IAAA,EAAAC,IAAA,CAAAC,KAAA,CAAAC,YAAA,CAAAC,OAAA;MACAC,SAAA;MACAC,OAAA;MAAA;MACAC,QAAA;MAAA;MACAC,UAAA;MACAC,KAAA;MACAC,SAAA;MACAC,WAAA;MACAC,YAAA;IACA;EACA;EACAC,QAAA;IACA,KAAAC,SAAA;IACA,KAAAC,WAAA;EACA;EACA;EACAC,OAAA;IACAD,YAAA;MACA,KAAAE,QAAA,CAAAC,GAAA,uBAAAC,IAAA,CAAAC,GAAA;QACA,IAAAA,GAAA,CAAAC,IAAA;UACA,KAAAV,WAAA,GAAAS,GAAA,CAAArB,IAAA;QACA;UACA,KAAAuB,QAAA,CAAAC,KAAA,CAAAH,GAAA,CAAAI,GAAA;QACA;MACA;IACA;IACAV,UAAAR,OAAA;MACA,IAAAA,OAAA,OAAAA,OAAA,GAAAA,OAAA;MACA,KAAAW,QAAA,CAAAC,GAAA;QACAO,MAAA;UACAnB,OAAA,OAAAA,OAAA;UACAC,QAAA,OAAAA;QACA;MACA,GAAAY,IAAA,CAAAC,GAAA;QACA,IAAAA,GAAA,CAAAC,IAAA;UACA,KAAAhB,SAAA,GAAAe,GAAA,CAAArB,IAAA,EAAA2B,IAAA;UACA,KAAAjB,KAAA,GAAAW,GAAA,CAAArB,IAAA,EAAAU,KAAA;QACA;UACA,KAAAa,QAAA,CAAAC,KAAA,CAAAH,GAAA,CAAAI,GAAA;QACA;MACA;IACA;IACAG,MAAAC,GAAA;MACAC,QAAA,CAAAC,IAAA,GAAAF,GAAA;IACA;IACAG,IAAAC,EAAA;MACA,KAAAf,QAAA,CAAAgB,MAAA,mBAAAD,EAAA,EAAAb,IAAA,CAAAC,GAAA;QACA,IAAAA,GAAA,CAAAC,IAAA;UACA,KAAAC,QAAA,CAAAY,OAAA;UACA,KAAApB,SAAA;QACA;UACA,KAAAQ,QAAA,CAAAC,KAAA,CAAAH,GAAA,CAAAI,GAAA;QACA;MACA;IACA;IACAW,oBAAA7B,OAAA;MACA,KAAAQ,SAAA,CAAAR,OAAA;IACA;IACA8B,sBAAAC,IAAA;MACA,KAAA7B,UAAA;MACA,KAAAI,YAAA,GAAAyB,IAAA;MACA;MACA,KAAAzB,YAAA,CAAA0B,OAAA,CAAAC,IAAA;QACA,KAAA/B,UAAA,IAAA+B,IAAA,CAAAC,UAAA,GAAAD,IAAA,CAAAE,GAAA;MACA;IACA;IACAC,aAAAC,GAAA;MACA,KAAAnC,UAAA;MACA,KAAAI,YAAA,CAAA0B,OAAA,CAAAC,IAAA;QACA,KAAA/B,UAAA,IAAA+B,IAAA,CAAAC,UAAA,GAAAD,IAAA,CAAAE,GAAA;MACA;IACA;IACAG,IAAA;MACA,UAAAlC,SAAA;QACA,KAAAY,QAAA,CAAAuB,OAAA;QACA;MACA;MACA,UAAAjC,YAAA,SAAAA,YAAA,CAAAkC,MAAA;QACA,KAAAxB,QAAA,CAAAuB,OAAA;QACA;MACA;MACA,IAAA9C,IAAA;QACAgD,MAAA,OAAA/C,IAAA,CAAAgC,EAAA;QACAtB,SAAA,OAAAA,SAAA;QACAsC,MAAA;QACAC,QAAA,OAAArC;MACA;MACA,KAAAK,QAAA,CAAAiC,IAAA,gBAAAnD,IAAA,EAAAoB,IAAA,CAAAC,GAAA;QACA,IAAAA,GAAA,CAAAC,IAAA;UACA,KAAAC,QAAA,CAAAY,OAAA;UACA,KAAApB,SAAA;QACA;UACA,KAAAQ,QAAA,CAAAC,KAAA,CAAAH,GAAA,CAAAI,GAAA;QACA;MACA;IACA;EACA;AACA"},"metadata":{},"sourceType":"module","externalDependencies":[]}