{"version":3,"sources":["webpack:///./src/views/ShopCart/Cart.vue?3057","webpack:///./src/views/ShopCart/Cart.vue","webpack:///./src/views/ShopCart/Cart.vue?5b1f"],"names":["class","style","_createElementBlock","_hoisted_1","_createElementVNode","_ctx","$data","length","_hoisted_2","_Fragment","cate","jnx","key","item","index","_hoisted_3","stock","isuppershelf","isoperation","_createBlock","_component_q_checkbox","size","isSelect","sprice","_hoisted_4","_createVNode","_component_q_img","ratio","spinner-color","src","photo","onClick","notify","$setup","_hoisted_6","_hoisted_7","generalattributename","_hoisted_8","locale","titleen","title","_hoisted_9","code","_hoisted_10","coloren","color","_hoisted_12","isdiscount","_hoisted_14","currency","oprice","_hoisted_15","_hoisted_16","_component_q_btn","loading","btnLoading","dense","icon","$options","_component_q_input","maxlength","outlined","square","filled","quantity","onFocus","backupNum","onBlur","_hoisted_17","_hoisted_19","channel","_hoisted_22","_hoisted_24","_hoisted_25","label","_hoisted_26","num","_hoisted_27","_hoisted_28","price","_hoisted_29","_hoisted_30","_hoisted_31","_component_m_empty","components","mEmpty","data","carArr","isAllSelect","totalInfo","allShow","integralScale","computed","store","state","global","watch","this","forEach","handler","totalPrice","totalNum","isselectNum","parseInt","deep","methods","switchSite","window","location","href","res","cartApi","type","status","integral","arr","list","i","push","mark","cguid","sguid","spguid","userguid","$store","saleGuid","$q","$i18n","contenten","content","SelectDelect","dialog","message","$t","cancel","onOk","async","ai","join","reverse","splice","goChichek","commit","JSON","stringify","$router","path","query","delet","numBlur","Math","abs","Number","isNaN","add","reduce","mounted","getCart","setup","goodsToUrl","__exports__","render","QCheckbox","QImg","QBtn","QInput","QField"],"mappings":"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","file":"vueDist/js/chunk-4e1ae907.944b570d.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/vue-cli-plugin-quasar/lib/loader.vue.auto-import-quasar.js??ref--1-0!../../../node_modules/cache-loader/dist/cjs.js??ref--1-1!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-2!./Cart.vue?vue&type=style&index=0&id=22fb0ebe&lang=scss&scoped=true\"","<template>\r\n  <div class=\"container\">\r\n    <h5>{{ $t(\"cart.cart_title\") }}</h5>\r\n    <div class=\"cartList\" v-if=\"carArr[0].length || carArr[1].length\">\r\n      <div v-for=\"(cate, jnx) in carArr\" :key=\"jnx\">\r\n        <div v-show=\"allShow ? true : index < 5\" class=\"cItem\" v-for=\"(item, index) in cate\" :key=\"index\">\r\n          <div class=\"checkbox\">\r\n            <q-checkbox v-if=\"item.stock != 0 && item.isuppershelf == 1 && item.isoperation != 0\" size=\"sm\"\r\n              v-model=\"item.isSelect\" />\r\n          </div>\r\n          <template v-if=\"item.sprice == '0.00' && item.stock == 0\">\r\n            <div class=\"cimg\">\r\n              <q-img :ratio=\"6 / 8\" spinner-color=\"white\" :src=\"item.photo\" @click=\"$q.notify($t('common.no_goods'))\" />\r\n            </div>\r\n          </template>\r\n          <template v-else>\r\n            <div @click=\"goodsToUrl(item)\" class=\"cimg\">\r\n              <q-img :ratio=\"6 / 8\" spinner-color=\"white\" :src=\"item.photo\" />\r\n            </div>\r\n          </template>\r\n          <div class=\"ctxt\">\r\n            <p class=\"brand blod\">{{ item.generalattributename }}</p>\r\n            <p class=\"name\">\r\n              {{ $i18n.locale == \"en\" ? item.titleen : item.title }}\r\n            </p>\r\n            <p class=\"code\">{{ item.code }}</p>\r\n            <p>\r\n              {{ $t(\"cart.goods_color\") }}\r\n              <span class=\"blod\">{{\r\n                $i18n.locale == \"en\" ? item.coloren : item.color\r\n              }}</span>\r\n            </p>\r\n            <p v-if=\"item.size != '01'\">\r\n              {{ $t(\"cart.goods_size\") }}\r\n              <span class=\"blod\">{{ item.size }}</span>\r\n            </p>\r\n            <p v-if=\"item.sprice != '0.00'\">\r\n              {{ $t(\"cart.goods_price\") }}\r\n              <span class=\"blod line-through\" v-if=\"item.isdiscount == 1\">{{ item.currency }}{{ item.oprice }}</span>\r\n              <span class=\"blod\">{{ item.currency }}{{ item.sprice }}</span>\r\n            </p>\r\n          </div>\r\n          <div class=\"num\" v-if=\"item.stock != 0 && item.isuppershelf == 1 && item.isoperation != 0\">\r\n            <q-btn :loading=\"item.btnLoading\" dense color=\"primary\" icon=\"add\" @click=\"add(item, 1)\" />\r\n            <q-input maxlength=\"2\" outlined dense square filled v-model=\"item.quantity\" style=\"width: 50px\"\r\n              @focus=\"item.backupNum = item.quantity\" @blur=\"numBlur(item)\" />\r\n            <q-btn :loading=\"item.btnLoading\" dense color=\"primary\" icon=\"remove\" @click=\"reduce(item, 1)\" />\r\n          </div>\r\n          <div v-else-if=\"item.isuppershelf == 0\" class=\"error\">\r\n            {{ $t(\"cart.withdrawn\") }}\r\n            <span class=\"delet\" @click=\"delet(item, index, cate)\">{{\r\n              $t(\"cart.remove\")\r\n            }}</span>\r\n          </div>\r\n          <div v-else-if=\"item.isoperation == 0\" class=\"error\">\r\n            <span class=\"delet\" @click=\"switchSite(item.channel)\">{{ $t('cart.Switch_Sites') }}</span>\r\n            <span class=\"delet\" @click=\"delet(item, index, cate)\">{{ $t(\"cart.remove\") }}</span>\r\n          </div>\r\n          <div v-else class=\"error\">\r\n            {{ $t(\"cart.no_stock\") }}\r\n            <span class=\"delet\" @click=\"delet(item, index, cate)\">{{\r\n              $t(\"cart.remove\")\r\n            }}</span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"look-all\" v-if=\"carArr[0].length > 5\" @click=\"allShow = !allShow\">\r\n        {{ allShow ? $t(\"cart.hide_all\") : $t(\"cart.show_all\") }}\r\n      </div>\r\n      <div class=\"statistics\">\r\n        <div style=\"align-items: center\">\r\n          <q-checkbox size=\"sm\" :label=\"$t('cart.select')\" v-model=\"isAllSelect\" />\r\n          <span>\r\n            <q-btn size=\"sm\" color=\"primary\" :label=\"$t('cart.remove')\" @click=\"SelectDelect()\" />\r\n          </span>\r\n        </div>\r\n        <div>\r\n          <span>{{ $t(\"cart.sum\") }}</span>\r\n          <span class=\"blod\">{{ totalInfo.num }}{{ $t(\"cart.num\") }}</span>\r\n        </div>\r\n        <div>\r\n          <span>{{ $t(\"cart.total\") }}</span>\r\n          <div class=\"smallDiv\">\r\n            <span class=\"blod\">{{ currency }}{{ totalInfo.price }}</span>\r\n            <p class=\"small\">\r\n              ({{ $t(\"cart.get\") }}\r\n              <span class=\"blod\">{{ totalInfo.price * integralScale }}</span>\r\n              {{ $t(\"cart.point\") }})\r\n            </p>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"btnBox\">\r\n        <div>\r\n          <q-btn size=\"lg\" class=\"full-width\" color=\"primary\" :label=\"$t('cart.buy')\" @click=\"goChichek()\" />\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <m-empty v-if=\"carArr[0].length == 0 && carArr[1].length == 0\" :title=\"$t('cart.no_goods')\"></m-empty>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport mEmpty from '@/components/Empty.vue'\r\nimport { cartApi } from '@/api/goods'\r\nimport { goodsToUrl } from '@/utils/goodsToUrl'\r\nimport store from '@/store'\r\n\r\nexport default {\r\n  components: {\r\n    mEmpty\r\n  },\r\n  data() {\r\n    return {\r\n      carArr: [[], []],\r\n      isAllSelect: false,\r\n      totalInfo: {\r\n        price: 0,\r\n        num: 0\r\n      },\r\n      allShow: false,\r\n      integralScale: 1\r\n    }\r\n  },\r\n  computed: {\r\n    currency() {\r\n      return store.state.global.currency\r\n    }\r\n  },\r\n  watch: {\r\n    isAllSelect() {\r\n      this.carArr[0].forEach((item) => {\r\n        item.isSelect = this.isAllSelect\r\n      })\r\n    },\r\n    carArr: {\r\n      handler() {\r\n        let totalPrice = 0\r\n        let totalNum = 0\r\n        if (!this.carArr[0]) {\r\n          return\r\n        }\r\n        let isselectNum = 0\r\n        this.carArr[0].forEach((item) => {\r\n          if (item.isSelect) {\r\n            totalPrice += parseInt(item.sprice) * parseInt(item.quantity)\r\n            totalNum += parseInt(item.quantity)\r\n            isselectNum++\r\n          }\r\n        })\r\n        if (isselectNum === this.carArr[0].length && isselectNum !== 0) {\r\n          this.isAllSelect = true\r\n        } else {\r\n          this.isAllSelect = false\r\n        }\r\n        this.totalInfo.price = totalPrice\r\n        this.totalInfo.num = totalNum\r\n      },\r\n      deep: true\r\n    }\r\n  },\r\n  methods: {\r\n    switchSite(channel) {\r\n      if (channel == 3) {\r\n        window.location.href = '/uk/cart'\r\n      } else {\r\n        window.location.href = '/cart'\r\n      }\r\n    },\r\n    async getCart() {\r\n      const res = await cartApi({\r\n        type: 0\r\n      })\r\n      if (res.status === 1) {\r\n        this.integralScale = res.integral\r\n        const arr = res.list\r\n        for (const i in arr) {\r\n          arr[i].isSelect = false\r\n          // 库存为零或者已下架的商品排到最后面\r\n          if (arr[i].stock === 0 || arr[i].isuppershelf === 0 || arr[i].isoperation === 0) {\r\n            this.carArr[1].push(arr[i])\r\n          } else {\r\n            this.carArr[0].push(arr[i])\r\n          }\r\n        }\r\n      }\r\n    },\r\n    // 添加购物车数量\r\n    async add(item, num) {\r\n      item.btnLoading = true\r\n      const res = await cartApi({\r\n        type: 1,\r\n        quantity: num,\r\n        mark: item.cguid,\r\n        sguid: item.sguid,\r\n        spguid: item.spguid,\r\n        userguid: this.$store.state.saleGuid || ''\r\n      })\r\n      if (res.status === 1) {\r\n        item.quantity = res.quantity\r\n      } else {\r\n        this.$q.notify(this.$i18n.locale === 'en' ? res.contenten : res.content)\r\n      }\r\n      item.btnLoading = false\r\n    },\r\n    // 减少购物车数量\r\n    async reduce(item, num) {\r\n      item.btnLoading = true\r\n      const res = await cartApi({\r\n        type: 2,\r\n        quantity: num,\r\n        mark: item.cguid,\r\n        sguid: item.sguid,\r\n        spguid: item.spguid,\r\n        userguid: this.$store.state.saleGuid || ''\r\n      })\r\n      if (res.status === 1) {\r\n        item.quantity = res.quantity\r\n      } else {\r\n        this.$q.notify(this.$i18n.locale === 'en' ? res.contenten : res.content)\r\n      }\r\n      item.btnLoading = false\r\n    },\r\n    // 选中删除\r\n    SelectDelect() {\r\n      const arr = []\r\n      this.carArr[0].forEach((item) => {\r\n        if (item.isSelect) {\r\n          arr.push(item)\r\n        }\r\n      })\r\n      if (!arr.length) {\r\n        this.$q.notify(this.$t('cart.no_select'))\r\n        return\r\n      }\r\n      this.$q\r\n        .dialog({\r\n          message: this.$t('cart.c_delete'),\r\n          cancel: true\r\n        })\r\n        .onOk(async () => {\r\n          const arr = []\r\n          const ai = []\r\n          for (const i in this.carArr[0]) {\r\n            if (this.carArr[0][i].isSelect) {\r\n              arr.push(this.carArr[0][i].spguid)\r\n              ai.push(i)\r\n            }\r\n          }\r\n          const res = await cartApi({\r\n            type: 3,\r\n            mark: arr.join(',')\r\n          })\r\n          if (res.status === 1) {\r\n            ai.reverse()\r\n            ai.forEach((i) => {\r\n              this.carArr[0].splice(i, 1)\r\n            })\r\n          }\r\n        })\r\n    },\r\n    // 购买\r\n    goChichek() {\r\n      const arr = []\r\n      this.carArr[0].forEach((item) => {\r\n        if (item.isSelect) {\r\n          arr.push(item)\r\n        }\r\n      })\r\n      if (!arr.length) {\r\n        this.$q.notify(this.$t('cart.no_select'))\r\n        return\r\n      }\r\n      // 设置订单信息\r\n      this.$store.commit('setChichekInfo', JSON.stringify(arr))\r\n      this.$router.push({\r\n        path: '/chichek',\r\n        query: {\r\n          integralScale: this.integralScale\r\n        }\r\n      })\r\n    },\r\n    // 点击删除\r\n    delet(item, index, arr) {\r\n      this.$q\r\n        .dialog({\r\n          message: this.$t('cart.c_delete'),\r\n          cancel: true\r\n        })\r\n        .onOk(async () => {\r\n          const res = await cartApi({\r\n            type: 3,\r\n            mark: item.spguid\r\n          })\r\n          if (res.status === 1) {\r\n            arr.splice(index, 1)\r\n          }\r\n        })\r\n    },\r\n    // 手动修改数量\r\n    numBlur(item) {\r\n      const num = Math.abs(parseInt(item.quantity))\r\n      if (Number.isNaN(num)) {\r\n        item.quantity = '1'\r\n        return\r\n      }\r\n      if (num > item.stock) {\r\n        item.quantity = item.stock\r\n      } else {\r\n        item.quantity = num\r\n      }\r\n      if (item.quantity === item.backupNum) {\r\n        return\r\n      }\r\n      if (item.quantity > item.backupNum) {\r\n        this.add(item, item.quantity - item.backupNum)\r\n      } else {\r\n        this.reduce(item, item.backupNum - item.quantity)\r\n      }\r\n    }\r\n  },\r\n  mounted() {\r\n    this.getCart()\r\n  },\r\n  setup() {\r\n    return {\r\n      goodsToUrl\r\n    }\r\n  }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.container {\r\n  h5 {\r\n    text-align: center;\r\n  }\r\n}\r\n\r\n.cartList {\r\n  max-width: 978px;\r\n  margin: 0 auto;\r\n  padding: 0 10px;\r\n\r\n  .cItem {\r\n    border-bottom: 1px solid #cbcbcb;\r\n    display: flex;\r\n    align-items: center;\r\n    padding: 10px 0;\r\n    position: relative;\r\n\r\n    .checkbox {\r\n      width: 35px;\r\n    }\r\n\r\n    .cimg {\r\n      margin: 0 20px;\r\n      width: 120px;\r\n      min-width: 120px;\r\n      cursor: pointer;\r\n    }\r\n\r\n    .ctxt {\r\n      p {\r\n        font-size: 14px;\r\n        line-height: 20px;\r\n        margin: 0;\r\n      }\r\n\r\n      .code {\r\n        margin-bottom: 30px;\r\n      }\r\n\r\n      .brand {\r\n        font-size: 18px;\r\n      }\r\n    }\r\n\r\n    .num {\r\n      position: absolute;\r\n      right: 20px;\r\n      bottom: 10px;\r\n      display: flex;\r\n\r\n      :deep(.q-field__native),\r\n      .q-field__input {\r\n        text-align: center;\r\n      }\r\n    }\r\n\r\n    .error {\r\n      position: absolute;\r\n      right: 0;\r\n      bottom: 10px;\r\n      color: #e60303;\r\n\r\n      .delet {\r\n        color: #333;\r\n        text-decoration: underline;\r\n        cursor: pointer;\r\n        padding-left: 5px;\r\n      }\r\n    }\r\n  }\r\n\r\n  .look-all {\r\n    text-align: center;\r\n    text-decoration: underline;\r\n    cursor: pointer;\r\n    margin: 10px 0;\r\n  }\r\n\r\n  .statistics {\r\n    margin-top: 20px;\r\n\r\n    &>div {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      margin-top: 5px;\r\n    }\r\n\r\n    .smallDiv {\r\n      text-align: right;\r\n\r\n      .small {\r\n        font-size: 14px;\r\n        margin-top: 5px;\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n.btnBox {\r\n  text-align: center;\r\n  width: 300px;\r\n  margin: 30px auto;\r\n}\r\n</style>\r\n","import { render } from \"./Cart.vue?vue&type=template&id=22fb0ebe&scoped=true\"\nimport script from \"./Cart.vue?vue&type=script&lang=js\"\nexport * from \"./Cart.vue?vue&type=script&lang=js\"\n\nimport \"./Cart.vue?vue&type=style&index=0&id=22fb0ebe&lang=scss&scoped=true\"\n\nimport exportComponent from \"/Users/laiwendong/Documents/电商/code/annilux-pc/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-22fb0ebe\"]])\n\nexport default __exports__\nimport QCheckbox from 'quasar/src/components/checkbox/QCheckbox.js';\nimport QImg from 'quasar/src/components/img/QImg.js';\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport QInput from 'quasar/src/components/input/QInput.js';\nimport QField from 'quasar/src/components/field/QField.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QCheckbox,QImg,QBtn,QInput,QField});\n"],"sourceRoot":""}