复用之前写的购物车代码https://www.php.cn/blog/detail/35077.html

  1. <div class="fui-content" style="height: 854px; background: #f3f3f3">
  2. <div class="content-empty" v-if="shop_show == 0">
  3. <img
  4. class="img"
  5. src="http://d.vsd.cc/addons/ewei_shopv2/static/images/nogoods.png"
  6. />
  7. <div class="title">您的购物车中没有商品哦!</div>
  8. <button style="width: 50%; margin-top: 1rem">去看看商品吧</button>
  9. </div>
  10. <div v-if="shop_show == 1" style="padding-bottom: 64px">
  11. <div
  12. class="fui-list goods-item align-start"
  13. v-for="(item, key) in data.cartinfo"
  14. :key="key"
  15. >
  16. <input
  17. type="checkbox"
  18. checked="item.ischecked"
  19. v-model="item.ischecked"
  20. @change="totalAmountAndNum"
  21. />
  22. <div class="fui-list-media">
  23. <!-- <input name="sid" type="checkbox" value="" /> -->
  24. </div>
  25. <div class="fui-list-media image-media">
  26. <img class="img" :src="item.info.img" />
  27. </div>
  28. <div class="fui-list-inner">
  29. <div class="subtitle">{{ item.info.title }}</div>
  30. <div class="price" style="margin-top: 30px">
  31. <span class="bigprice text-danger">
  32. <span>¥</span>
  33. <span>{{ item.info.price }}</span>
  34. </span>
  35. <input
  36. type="number"
  37. min="1"
  38. max="10"
  39. v-model="item.num"
  40. @change="totalAmountAndNum"
  41. />
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. <div class="fui-footer">
  48. <div class="fui-footer-list">
  49. <div class="editmode" style="font-size: 0.7rem; color: #666">
  50. <input
  51. checked="data.allischecked"
  52. type="checkbox"
  53. v-model="data.allischecked"
  54. @change="selectAll"
  55. />
  56. 全选
  57. </div>
  58. <div class="fui-footer-inner">
  59. <div class="footer-subtitle">
  60. 合计:<span class="text-danger size0-75rem">
  61. ¥{{ data.totalprice }}</span
  62. >
  63. </div>
  64. </div>
  65. <div class="fui-list-angle">
  66. <button class="btn" @click="order()">
  67. 结算({{ data.totalnum }})
  68. </button>
  69. </div>
  70. </div>
  71. </div>

处理函数

  1. export default {
  2. setup() {
  3. const router = useRouter();
  4. const route = useRoute();
  5. const token = window.localStorage.getItem("accessToken");
  6. const data = reactive({
  7. cartinfo: [],
  8. totalprice: 0,
  9. totalnum: 0,
  10. allischecked: false,
  11. });
  12. const totalAmountAndNum = () => {
  13. let sumprice = 0;
  14. let sumnum = 0;
  15. let flag = 0;
  16. data.cartinfo.forEach((i) => {
  17. if (i.ischecked) {
  18. flag++;
  19. if(flag == data.cartinfo.length){
  20. data.allischecked = true;
  21. }
  22. sumprice += i["info"].price * i.num;
  23. sumnum += i.num;
  24. }else{
  25. data.allischecked = false;
  26. }
  27. data.totalprice = sumprice;
  28. data.totalnum = sumnum;
  29. });
  30. };
  31. const selectAll = () => {
  32. data.cartinfo.forEach((i) => {
  33. data.allischecked ? i.ischecked = true : i.ischecked = false;
  34. });
  35. totalAmountAndNum();
  36. };
  37. const order = ()=>{
  38. let suminfo = {
  39. 'totalprice':data.totalprice,
  40. 'totalnum':data.totalnum,
  41. 'token':token,
  42. };
  43. //console.log(data.cartinfo);
  44. let submitcartinfo = data.cartinfo;
  45. console.log(submitcartinfo);
  46. createcartorder({submitcartinfo,suminfo}).then(res=>{
  47. // alert(res.data);
  48. if(res.data.data.code == 200 || res.data.data.code == 100 ){
  49. alert(res.data.data.msg);}else{
  50. console.log(res);
  51. }
  52. if(res.data.data.code == 200){
  53. router.push("/cart_order?appid=300&id="+res.data.data.id+"&price="+res.data.data.price);
  54. }
  55. });
  56. }
  57. userprebuy({ id: route.query.id, token: token }).then((res) => {
  58. data.cartinfo = res.data.data.cartinfo;
  59. console.log(data.cartinfo);
  60. });
  61. return {
  62. totalAmountAndNum,
  63. selectAll,
  64. order,
  65. shop_show: 1,
  66. data,
  67. };
  68. },
  69. };

更多相关文章

  1. android intent 传递对象需要序列化实现Parcelable接口
  2. 双色球、选项卡、购物车实例
  3. TP 商品详情页数据、加入购物车、登录、token加密、商城生成订单
  4. api接口和js数据获取及vue商品视图渲染
  5. 淘宝首页商品栏
  6. 淘宝首页框架
  7. 淘宝首页商品列表块
  8. PHP+Redis事务解决高并发下商品超卖问题(推荐)
  9. 购物车单选计算

随机推荐

  1. Android 4层框架
  2. Android(安卓)打造RxBus2.x的全面详解
  3. 【Monkey】Android(安卓)Monkey autotest
  4. android中的文本框
  5. android:padding和android:margin的区别
  6. Handler&Looper
  7. Android 创建服务器 NanoHttpd
  8. 关于Android菜单上的记录
  9. android仿今日头条App、多种漂亮加载效果
  10. 开放平台的Android SDK