瀏覽代碼

配置文件修改、首页修改、增加收货地址路由

kevin_zhangl 3 年之前
父節點
當前提交
43ab1d72d6

+ 29 - 0
src/api/config.js

@@ -0,0 +1,29 @@
+import request from '@/utils/request'
+
+
+// 收货地址列表
+export function fetchList(query) {
+  return request({
+    url: '/v1/config/receive-address-list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 商品详情
+export function fetchProduct(id) {
+  return request({
+    url: '/v1/shop/detail',
+    method: 'get',
+    params: { id }
+  })
+}
+
+// 修改支付密码
+export function updatePaymentPassword(data) {
+  return request({
+    url: '/v1/user/pay-password',
+    method: 'post',
+    data
+  })
+}

+ 24 - 1
src/lang/en.js

@@ -71,7 +71,7 @@ export default {
   },
   navbar: {
     dashboard: 'Dashboard',
-    github: 'Github',
+    shippingAddress: 'Shipping Address',
     logOut: 'Log Out',
     profile: 'Profile',
     theme: 'Theme',
@@ -189,6 +189,17 @@ export default {
     '67BE742A336F2370E055736AECE8644D': '6-Star Director',
     '67BE805032C22492E055736AECE8644D': '7-Star Director'
   },
+  crownLevels: {
+    // 级别配置
+    'DCBEDD8E0EAD3DF59D81CCC0C2ACAEFF': '0-Star Crown',
+    'E0B75B89C94F35EF8EE0054FA34B759C': '1-Star Crown',
+    '7FEBE5DE95D530578915F4072E7CD842': '2-Star Crown',
+    '391691E01CD5373F8D23F01FAD750222': '3-Star Crown',
+    '8ACAEA736F5331B79283C895F36084E5': '4-Star Crown',
+    'CE46B39D07633217AA5711438649D1D6': '5-Star Crown',
+    '24396B85E74A3005947F1F90EBA5F5CF': '6-Star Crown',
+    '8C253968EB6F3F3FA5BE84F63136FFFA': '7-Star Crown',
+  },
   decLvs: {
     // 等级配置
     '67ABCB8C1F7D5519E055736AECE8644D': 'Elite',
@@ -197,6 +208,7 @@ export default {
   },
   dashboard: {
     highestDirector: 'Highest Director',
+    highestCrown: 'Highest Crown',
     memberLevel: 'Member Level',
     payCycle: 'Current Pay Cycle',
     remainBv: 'Remain BV',
@@ -252,6 +264,15 @@ export default {
     email: 'Email'
   },
 
+  config: {
+    consignee: 'Consignee',
+    address: 'Address',
+    city: 'City',
+    localGovernmentArea: 'Local Government Area',
+    state: 'State',
+    default: 'Default',
+  },
+
   profile: {
     personalInformation: 'Personal Information',
     account: 'Account',
@@ -266,6 +287,8 @@ export default {
     currentPayCycle: 'Current Pay Cycle',
     currentSystemTime: 'Current System Time',
     memberJoinTime: 'Member Join Time',
+    loginPasswordSuccessTips: 'User login password has been updated successfully.',
+    paymentPasswordSuccessTips: 'User payment password has been updated successfully.',
   },
 
 }

+ 23 - 2
src/lang/zh.js

@@ -71,7 +71,7 @@ export default {
   },
   navbar: {
     dashboard: '首页',
-    github: '项目地址',
+    shippingAddress: '收货地址',
     logOut: '退出登录',
     profile: '个人中心',
     theme: '换肤',
@@ -189,6 +189,17 @@ export default {
     '67BE742A336F2370E055736AECE8644D': '6星经理',
     '67BE805032C22492E055736AECE8644D': '7星经理'
   },
+  crownLevels: {
+    // 级别配置
+    'DCBEDD8E0EAD3DF59D81CCC0C2ACAEFF': '无星级',
+    'E0B75B89C94F35EF8EE0054FA34B759C': '1星皇冠',
+    '7FEBE5DE95D530578915F4072E7CD842': '2星皇冠',
+    '391691E01CD5373F8D23F01FAD750222': '3星皇冠',
+    '8ACAEA736F5331B79283C895F36084E5': '4星皇冠',
+    'CE46B39D07633217AA5711438649D1D6': '5星皇冠',
+    '24396B85E74A3005947F1F90EBA5F5CF': '6星皇冠',
+    '8C253968EB6F3F3FA5BE84F63136FFFA': '7星皇冠',
+  },
   decLvs: {
     // 等级配置
     '67ABCB8C1F7D5519E055736AECE8644D': '银卡',
@@ -196,7 +207,8 @@ export default {
     '67ABCE0ECE705575E055736AECE8644D': '钻卡'
   },
   dashboard: {
-    highestDirector: '最高级别',
+    highestDirector: '最高管理星级',
+    highestCrown: '最高皇冠星级',
     memberLevel: '会员级别',
     payCycle: '当前业绩期',
     remainBv: '剩余PV',
@@ -253,6 +265,15 @@ export default {
     email: '电子邮箱'
   },
 
+  config: {
+    consignee: '收货人',
+    address: '详细地址',
+    city: '城市',
+    localGovernmentArea: '地区',
+    state: '状态',
+    default: '是否默认',
+  },
+
   profile: {
     personalInformation: '个人资料',
     account: '账户',

+ 10 - 13
src/layout/components/Navbar.vue

@@ -31,19 +31,16 @@
               {{ $t('navbar.profile') }}
             </el-dropdown-item>
           </router-link>
-          <router-link to="/">
-            <el-dropdown-item>
-              {{ $t('navbar.dashboard') }}
-            </el-dropdown-item>
-          </router-link>
-          <a target="_blank" href="https://github.com/PanJiaChen/vue-element-admin/">
-            <el-dropdown-item>
-              {{ $t('navbar.github') }}
-            </el-dropdown-item>
-          </a>
-          <a target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/#/">
-            <el-dropdown-item>Docs</el-dropdown-item>
-          </a>
+					<router-link to="/config/shipping-address">
+						<el-dropdown-item>
+							{{ $t('navbar.shippingAddress') }}
+						</el-dropdown-item>
+					</router-link>
+					<router-link to="/">
+						<el-dropdown-item>
+							{{ $t('navbar.dashboard') }}
+						</el-dropdown-item>
+					</router-link>
           <el-dropdown-item divided @click.native="logout">
             <span style="display:block;">{{ $t('navbar.logOut') }}</span>
           </el-dropdown-item>

+ 3 - 48
src/router/index.js

@@ -12,8 +12,8 @@ import chartsRouter from './modules/charts'
 import tableRouter from './modules/table'
 import nestedRouter from './modules/nested'
 import shopRouter from '@/router/modules/shop'
-import profile from '@/router/modules/profile'
-import profileRouter from "@/router/modules/profile";
+import profileRouter from "@/router/modules/profile"
+import configRouter from "@/router/modules/config"
 
 /**
  * Note: sub-menu only appear when route children.length >= 1
@@ -192,58 +192,13 @@ export const asyncRoutes = [
     ]
   },
 
-  /** when your routing map is too long, you can split it into small modules **/
   componentsRouter,
   chartsRouter,
   nestedRouter,
   tableRouter,
   shopRouter,
   profileRouter,
-
-  // {
-  //   path: '/example',
-  //   component: Layout,
-  //   redirect: '/example/list',
-  //   name: 'Example',
-  //   meta: {
-  //     title: 'example',
-  //     icon: 'el-icon-s-help'
-  //   },
-  //   children: [
-  //     {
-  //       path: 'create',
-  //       component: () => import('@/views/example/create'),
-  //       name: 'CreateArticle',
-  //       meta: { title: 'createArticle', icon: 'edit' }
-  //     },
-  //     {
-  //       path: 'edit/:id(\\d+)',
-  //       component: () => import('@/views/example/edit'),
-  //       name: 'EditArticle',
-  //       meta: { title: 'editArticle', noCache: true, activeMenu: '/example/list' },
-  //       hidden: true
-  //     },
-  //     {
-  //       path: 'list',
-  //       component: () => import('@/views/example/list'),
-  //       name: 'ArticleList',
-  //       meta: { title: 'articleList', icon: 'list' }
-  //     }
-  //   ]
-  // },
-
-  // {
-  //   path: '/tab',
-  //   component: Layout,
-  //   children: [
-  //     {
-  //       path: 'index',
-  //       component: () => import('@/views/tab/index'),
-  //       name: 'Tab',
-  //       meta: { title: 'tab', icon: 'tab' }
-  //     }
-  //   ]
-  // },
+  configRouter,
 
   {
     path: '/error',

+ 21 - 0
src/router/modules/config.js

@@ -0,0 +1,21 @@
+import Layout from '@/layout'
+
+const configRouter = {
+  path: '/config',
+  component: Layout,
+  redirect: '/config/shipping-address-list',
+  name: 'Setting',
+  meta: {
+    title: 'config',
+    icon: 'el-icon-s-goods'
+  },
+  children: [
+    {
+      path: 'shipping-address-list',  // 收货地址列表
+      component: () => import('@/views/config/shipping-address-list'),
+      name: 'ShippingAddressList',
+      meta: { title: 'config', icon: 'user' }
+    },
+  ]
+}
+export default configRouter

+ 110 - 0
src/views/config/shipping-address-list.vue

@@ -0,0 +1,110 @@
+<template>
+  <div class="app-container">
+    <el-table
+      v-loading="listLoading"
+      :data="list"
+      border
+      fit
+      highlight-current-row
+      style="width: 100%;"
+    >
+      <el-table-column width="120px" align="center" :label="$t('shipping.consignee')" prop="CONSIGNEE">
+        <template slot-scope="{row}">
+          <span>{{ row.CONSIGNEE }}</span>
+        </template>
+      </el-table-column>
+			<el-table-column width="120px" align="center" :label="$t('shop.phoneNumber')" prop="MOBILE">
+				<template slot-scope="{row}">
+					<span>{{ row.MOBILE }}</span>
+				</template>
+			</el-table-column>
+      <el-table-column width="250px" align="center" :label="$t('shop.address')" prop="ADDRESS">
+        <template slot-scope="{row}">
+          <span>{{ row.ADDRESS }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column width="130px" align="center" :label="$t('shop.city')" prop="CITY_NAME">
+        <template slot-scope="{row}">
+          <span>{{ row.CITY_NAME }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column width="120px" align="center" :label="$t('shop.localGovernmentArea')" prop="LGA_NAME">
+        <template slot-scope="{row}">
+          <span>{{ row.LGA_NAME }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column width="120px" align="center" :label="$t('shop.state')" prop="PROVINCE_NAME">
+        <template slot-scope="{row}">
+          <span>{{ row.PROVINCE_NAME }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column width="100px" align="center" :label="$t('shop.default')" prop="IS_DEFAULT">
+        <template slot-scope="{row}">
+          <el-tag :type="row.IS_DEFAULT | statusFilter">
+            {{ row.IS_DEFAULT === '1' ? 'YES' : 'NO' }}
+          </el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column width="100px" align="center" :label="$t('shop.action')" class-name="small-padding fixed-width">
+        <template slot-scope="{row}">
+          <el-button type="primary" size="mini" @click="">{{ $t('shop.edit') }}</el-button>
+					<el-button type="danger" size="mini" @click="">{{ $t('shop.delete') }}</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
+  </div>
+</template>
+
+<script>
+import { fetchList } from '@/api/config'
+import waves from '@/directive/waves'
+import { parseTime } from '@/utils'
+import tool from '@/utils/tool'
+import Pagination from '@/components/Pagination'
+
+export default {
+  name: 'shippingAddressList',
+  components: { Pagination },
+  directives: { waves },
+  filters: {
+    statusFilter(status) {
+      const statusMap = {
+        1: 'info',
+        0: 'success'
+      }
+      return statusMap[status]
+    },
+  },
+  data() {
+    return {
+      list: [],
+      total: 0,
+      listLoading: true,
+      listQuery: {
+        page: 1,
+        pageSize: 20
+      },
+    }
+  },
+  created() {
+    // 列表查询
+    this.getList()
+  },
+  methods: {
+		// 列表查询
+    getList() {
+      this.listLoading = true
+      fetchList(this.listQuery).then(response => {
+        this.list = response.data.list
+        this.total = parseInt(response.data.totalCount)
+
+        setTimeout(() => {
+          this.listLoading = false
+        }, 1.5 * 1000)
+      })
+    },
+  }
+}
+</script>

+ 54 - 38
src/views/dashboard/admin/components/PanelGroup.vue

@@ -15,6 +15,21 @@
         </div>
       </div>
     </el-col>
+		<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
+			<div class="card-panel">
+				<!-- <div class="card-panel-icon-wrapper icon-people">
+					<svg-icon icon-class="star" class-name="card-panel-icon" />
+				</div> -->
+				<div class="card-panel-description">
+					<div class="card-panel-text">
+						{{ $t('dashboard.highestCrown') }}
+					</div>
+					<div class="">
+						{{ $t(`crownLevels.${heightCrownLv}`) }}
+					</div>
+				</div>
+			</div>
+		</el-col>
     <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
       <div class="card-panel">
         <!-- <div class="card-panel-icon-wrapper icon-message">
@@ -45,39 +60,39 @@
         </div>
       </div>
     </el-col>
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class="card-panel">
-        <!-- <div class="card-panel-icon-wrapper icon-remain-bv">
-          <svg-icon icon-class="shopping" class-name="card-panel-icon" />
-        </div> -->
-        <div class="card-panel-description">
-          <div class="card-panel-text">
-            {{ $t('dashboard.remainBv') }}
-          </div>
-          <div class="">
-            {{ rmBv }}
-          </div>
-        </div>
-      </div>
-    </el-col>
-    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
-      <div class="card-panel">
-        <!-- <div class="card-panel-icon-wrapper icon-shopping">
-          <div class="card-panel-icon">
-          <i class="el-icon-alarm-clock"  class-name="card-panel-icon" />
-        </div> -->
-          <!-- <svg-icon icon-class="el-icon-alarm-clock" class-name="card-panel-icon" /> -->
-        <!-- </div> -->
-        <div class="card-panel-description">
-          <div class="card-panel-text">
-            {{ $t('dashboard.activeDeadline') }}
-          </div>
-          <div class="">
-            {{ endTime }}
-          </div>
-        </div>
-      </div>
-    </el-col>
+<!--    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">-->
+<!--      <div class="card-panel">-->
+<!--        &lt;!&ndash; <div class="card-panel-icon-wrapper icon-remain-bv">-->
+<!--          <svg-icon icon-class="shopping" class-name="card-panel-icon" />-->
+<!--        </div> &ndash;&gt;-->
+<!--        <div class="card-panel-description">-->
+<!--          <div class="card-panel-text">-->
+<!--            {{ $t('dashboard.remainBv') }}-->
+<!--          </div>-->
+<!--          <div class="">-->
+<!--            {{ rmBv }}-->
+<!--          </div>-->
+<!--        </div>-->
+<!--      </div>-->
+<!--    </el-col>-->
+<!--    <el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">-->
+<!--      <div class="card-panel">-->
+<!--        &lt;!&ndash; <div class="card-panel-icon-wrapper icon-shopping">-->
+<!--          <div class="card-panel-icon">-->
+<!--          <i class="el-icon-alarm-clock"  class-name="card-panel-icon" />-->
+<!--        </div> &ndash;&gt;-->
+<!--          &lt;!&ndash; <svg-icon icon-class="el-icon-alarm-clock" class-name="card-panel-icon" /> &ndash;&gt;-->
+<!--        &lt;!&ndash; </div> &ndash;&gt;-->
+<!--        <div class="card-panel-description">-->
+<!--          <div class="card-panel-text">-->
+<!--            {{ $t('dashboard.activeDeadline') }}-->
+<!--          </div>-->
+<!--          <div class="">-->
+<!--            {{ endTime }}-->
+<!--          </div>-->
+<!--        </div>-->
+<!--      </div>-->
+<!--    </el-col>-->
   </el-row>
 </template>
 
@@ -85,6 +100,7 @@
 export default {
   props: {
     heightEmpLv : String,
+		heightCrownLv: String,
     decLv: String,
     cycle: String,
     rmBv: String | Number,
@@ -94,15 +110,15 @@ export default {
     return {
       showHeightEmpLvId: ''
     }
-  }, 
+  },
   created() {
-    
+
   },
   components: {
-    
+
   },
   methods: {
-    
+
   }
 }
 </script>
@@ -187,7 +203,7 @@ export default {
     }
 
     .card-panel-description {
-      
+
       font-weight: bold;
       margin: 26px;
       margin-left: 0px;

+ 5 - 3
src/views/dashboard/admin/index.vue

@@ -17,7 +17,7 @@
         </el-carousel-item>
       </el-carousel>
     </el-row>
-    <panel-group @handleSetLineChartData="handleSetLineChartData" :rmBv="rmBv" :endTime="endTime" :heightEmpLv='heightEmpLv' :decLv="decLv" :key="num" :cycle="cycle" />
+    <panel-group @handleSetLineChartData="handleSetLineChartData" :rmBv="rmBv" :endTime="endTime" :heightEmpLv='heightEmpLv' :heightCrownLv='heightCrownLv' :decLv="decLv" :key="num" :cycle="cycle" />
     <el-row :gutter="40">
       <el-col :xs="24" :sm="24" :lg="12" v-for="(item,key) in news" :key="key">
         <el-card class="box-card">
@@ -108,6 +108,7 @@ export default {
       activeEnd: '',
       baseEmpLevels: [],
       heightEmpLv: '', // 最高级别
+			heightCrownLv: '',
       decLv:'', // 当前等级
       cycle: '',//当前业绩期
       rmBv: '',
@@ -126,8 +127,8 @@ export default {
       let _this = this
       if (_this.$refs.bannerHeight) {
         _this.$nextTick(function () {
-          _this.bannerHeight = _this.$refs.bannerHeight[0] && _this.$refs.bannerHeight[0].height ? 
-          _this.$refs.bannerHeight[0].height 
+          _this.bannerHeight = _this.$refs.bannerHeight[0] && _this.$refs.bannerHeight[0].height ?
+          _this.$refs.bannerHeight[0].height
           : _this.bannerHeight
         })
       }
@@ -152,6 +153,7 @@ export default {
       this.activeEnd = ret.activeEnd
       this.decLv = ret.decLv
       this.heightEmpLv = ret.empLv
+			this.heightCrownLv = ret.crownLv
       this.cycle = ret.periodNum
       this.rmBv = ret.myRemainPv
       this.endTime = ret.activeEnd

+ 1 - 1
src/views/profile/components/PaymentPassword.vue

@@ -41,7 +41,7 @@ export default {
 					this.loading = false
 				}, 1.5 * 1000)
 				this.$message({
-					message: 'User login password has been updated successfully.',
+					message: 'User payment password has been updated successfully.',
 					type: 'success',
 					duration: 5 * 1000
 				})

+ 425 - 386
src/views/shop/shopping-cart.vue

@@ -1,406 +1,445 @@
 <template>
-    <div v-loading="loading">
-        <div class="white-box">
-            <el-table :data="goods" style="width: 100%" show-summary :summary-method="getSummaries">
-                <el-table-column label="Product Picture" >
-                    <template slot-scope="{row}">
-                        <el-image
-													style="width: 100px; height: 100px"
-													:src="tool.getArImage(row.COVER, '/files/')"
-													:preview-src-list="[tool.getArImage(row.COVER, '/files/')]">
-												</el-image>
-                    </template>
-                </el-table-column>
+	<div v-loading="loading">
+		<div class="white-box">
+			<el-table :data="goods" style="width: 100%" show-summary :summary-method="getSummaries">
+				<el-table-column :label="$t('shop.productPicture')" align="center">
+					<template slot-scope="{row}">
+						<el-image
+							style="width: 80px; height: 80px"
+							:src="tool.getArImage(row.COVER, '/files/')"
+							:preview-src-list="[tool.getArImage(row.COVER, '/files/')]">
+						</el-image>
+					</template>
+				</el-table-column>
+				<el-table-column :label="$t('shop.productName')" prop="GOODS_NAME" align="center">
 
-							<el-table-column label="Product Name" prop="GOODS_NAME"></el-table-column>
+				</el-table-column>
+				<el-table-column :label="$t('shop.productPrice')" prop="member_price" align="center">
+					<template slot-scope="{row}">
+						<span>{{ row.member_price }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column :label="$t('shop.taxRate')" prop="TAX_RATE" align="center">
+					<template slot-scope="{row}">
+							<span>{{ row.TAX_RATE / 100 }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column :label="$t('shop.taxAmount')" prop="tax_amount_plus" align="center">
+					<template slot-scope="{row}">
+							<span>{{ row.tax_amount_plus }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column :label="$t('shop.qty')" min-width="90" align="center" prop="chose_num">
+					<template slot-scope="{row, $index}">
+						<el-input-number size="mini" v-model="storeNums[$index]" :min="0" :max="Number(row.STORE_NUMS)" @change="(val)=>{handleInputNumber(val, row)}"></el-input-number>
+					</template>
+				</el-table-column>
+				<el-table-column :label="$t('shop.totalPrice')" prop="member_price_plus" align="center">
+					<template slot-scope="{row}">
+						<span>{{ row.member_price_plus }}</span>
+					</template>
+				</el-table-column>
+				<el-table-column :label="$t('table.actions')" align="center" width="230" class-name="small-padding fixed-width">
+					<template slot-scope="{row, $index}">
+						<el-button type="danger" size="small" plain @click="handleDelete(row, $index)">{{ $t('common.delete') }}</el-button>
+					</template>
+				</el-table-column>
+			</el-table>
 
-                <el-table-column label="Product Price" prop="member_price">
-                    <template slot-scope="scope">
-                        <span>{{ Math.round(scope.row.member_price * 100) / 100 }}</span>
-                    </template>
-                </el-table-column>
+				<div style="margin-top: 25px; margin-left: 15px;">
+					<el-button type="warning"  size="small" @click="cancelOrder()">{{ $t('shop.goBack') }}</el-button>
+					<el-button type="primary" size="small" @click="goToAccounts()">{{ $t('shop.goPay') }}</el-button>
+				</div>
+		</div>
 
-                <el-table-column label="Tax Rate" prop="TAX_RATE">
-                    <template slot-scope="scope">
-                        <span>{{ Math.round(scope.row.TAX_RATE * 100) / 100 }}</span>
-                    </template>
-                </el-table-column>
+	<!-- payStack模态框 -->
+	<el-dialog title="Pay" v-if="visible" :visible.sync="visible" width="30%" v-loading="payStackLoading" :before-close="handleClose">
+		<section>
+			<div class="formcontainer">
+				<el-divider></el-divider>
+				<div class="container">
+					<el-form :model="form">
+						<el-form-item label="Email" label-width="100px" required>
+							<el-input v-model="form.email" autocomplete="off"></el-input>
+						</el-form-item>
+						<el-form-item label="Amount" label-width="100px" required>
+							<el-input v-model="form.amount" autocomplete="off" readonly></el-input>
+						</el-form-item>
+					</el-form>
+				</div>
+			</div>
+		</section>
+		<paystack
+			:firstname="form.firstname"
+			:lastname="form.lastname"
+			:amount="form.amount * 100"
+			:email="form.email"
+			:metadata="form.metadata"
+			:currency="form.currency"
+			:paystackkey="form.publicKey"
+			:reference="reference"
+			:channels="channels"
+			:callback="processPayment"
+			:close="processClose"
+		>
+			<el-button type="primary" size="small">Pay</el-button>
+		</paystack>
+		<el-button type="danger" size="small" class="cancelButton" @click="handleClose">Cancel</el-button>
+	</el-dialog>
 
-                <el-table-column label="Tax" prop="tax_amount_plus">
-                    <template slot-scope="scope">
-                        <span>{{ Math.round(scope.row.tax_amount_plus * 100) / 100 }}</span>
-                    </template>
-                </el-table-column>
+	<!-- 倒计时页面 -->
+	<el-dialog title="Tips" :visible.sync="payDialog" :show-close="false" width="350px" :close="handleOrderList">
+		<el-result icon="success" title="the order is successful">
+			<template slot="extra">
+				<span style="color: #008efa; font-size: 30px;">{{ countdown }}</span>
+			</template>
+		</el-result>
+	</el-dialog>
+	</div>
+</template>
 
-                <el-table-column label="Quantity" prop="chose_num"></el-table-column>
+<script>
+import { fetchProductList, fetchProduct } from '@/api/shop'
+import waves from '@/directive/waves'
+import { parseTime } from '@/utils'
+import tool from '@/utils/tool'
+import usersInfo from "@/utils/usersInfo"
+import paystack from 'vue-paystack'
 
-                <el-table-column label="Total Amount" prop="member_price_plus">
-                    <template slot-scope="scope">
-                        <span>{{ Math.round(scope.row.member_price_plus * 100) / 100 }}</span>
-                    </template>
-                </el-table-column>
-        </el-table>
+export default{
+	name: 'shoppingCart',
+	data: function () {
+		return {
+			tool: tool,
+			loading: false,
+			displayBV: false,
+			storeNums: [],
 
-            <div class="address_box">
-                Please select the shipping address:	<!--  请选择收货地址 -->
-                <el-radio-group v-model="addressId" @change='choseAddress'>
-                    <div v-for="(item , index) in all_address" :key='index' class="address">
-                        <el-radio :label="item.ID" >
-                            Full Address:{{item.ADDRESS}}, {{item.CITY_NAME}}, {{item.LGA_NAME}}, {{item.PROVINCE_NAME}}<!-- 详细地址 -->
-                            Recipient Name:{{item.CONSIGNEE}}<!-- 收件人姓名 -->
-                            Phone Number:{{item.MOBILE}}<!-- 手机号码 -->
-                        </el-radio>
-                    </div>
-                    <div class="address">
-                        <el-radio label="100000000000000000">Self Pick-up</el-radio><!--自提-->
-                    </div>
-                </el-radio-group>
-            </div>
+			goods: [],
+			payList: [],
+			pointsSum: '',
+			cashSum: '',
+			freight: '',
+			pointFreight: '',
+			freeShipping: '',
+			goodsId: '',
+			goodsNum: '',
+			payPassword: '',
+			submitButtonStat: false,
+			prefixSign: '₦',
+			unit: 'NGN',
+			sn: '',
+			orderType: '',
+			payDialog: false,
+			countdown: 5,
+			visible: false,
 
-            <div class="box address_box">
-                Total Orders:<!-- 订单合计 -->
-                <div class="sum">
-                    <div class="sum_box">
-                        <div>Freight</div><!-- 运费 -->
-                        <div>{{ pointFreight }} {{ unit }}</div>
-                    </div>
-                    <div class="sum_box">
-                        <div>Amount Paid</div><!-- 实付金额 -->
-                        <div>
-                            <span>{{ prefixSign }} {{ pointsSum }} {{ unit }}</span>
-                        </div>
-                    </div>
-                </div>
-          </div>
+			payType: 'pay_stack',
+			payStackLoading: false,
+			channels: ["card", "bank", "ussd", "qr"],
+			form: {
+				publicKey: process.env.VUE_APP_BASE_PAY_STACK_PUBLIC_KEY,
+				currency: 'NGN',
+				firstname: usersInfo.userName(),
+				lastname: '',
+				email: usersInfo.userEmail(),
+				amount: 0,
+				orderSn: '',
+				metadata: {
+					cart_id: this.sn,
+					custom_fields: [
+						{
+							display_name: 'orderSn',
+							variable_name: 'orderSn',
+							value: this.sn,
+						},
+						{
+							display_name: 'orderType',
+							variable_name: 'orderType',
+							value: 'baOrder'
+						},
+					]
+			},
+			},
 
-            <div class="">
-                <el-button type="danger"  size="small" @click="cancelOrder()">Go Back</el-button>
-                <el-button type="primary" size="small" @click="goToAccounts()" :loading="submitButtonStat">Pay</el-button><!--去结算-->
-            </div>
-        </div>
+			regionData: tool.getRegionData(),
+			addressId: '100000000000000000',
+			all_address: [],
+		}
+	},
+	components: {
+		paystack
+	},
+	created() {
+		// 加载sessionStorage中推送的商品
+		let orderGoodsQueue = sessionStorage.getItem('orderGoodsQueue')
+		// 加载sessionStorage中推送的商品类型
+		let categoryType = sessionStorage.getItem('categoryType')
+		// 判断是否展示BV(车奖、房奖不展示BV)
+		this.$data.displayBV = ['5', '6'].includes(categoryType)
 
-        <!-- payStack模态框 -->
-        <el-dialog title="Pay" v-if="visible" :visible.sync="visible" width="30%" v-loading="payStackLoading" :before-close="handleClose">
-            <section>
-                <div class="formcontainer">
-                    <el-divider></el-divider>
-                    <div class="container">
-                        <el-form :model="form">
-                            <el-form-item label="Email" label-width="100px" required>
-                                <el-input v-model="form.email" autocomplete="off"></el-input>
-                            </el-form-item>
-                            <el-form-item label="Amount" label-width="100px" required>
-                                <el-input v-model="form.amount" autocomplete="off" readonly></el-input>
-                            </el-form-item>
-                        </el-form>
-                    </div>
-                </div>
-            </section>
-            <paystack
-                :firstname="form.firstname"
-                :lastname="form.lastname"
-                :amount="form.amount * 100"
-                :email="form.email"
-                :metadata="form.metadata"
-                :currency="form.currency"
-                :paystackkey="form.publicKey"
-                :reference="reference"
-                :channels="channels"
-                :callback="processPayment"
-                :close="processClose"
-            >
-            <el-button type="primary" size="small">Pay</el-button>
-            </paystack>
-            <el-button type="danger" size="small" class="cancelButton" @click="handleClose">Cancel</el-button>
-    </el-dialog>
+		// 加载购物车
+		this.getShowCart();
+		if (orderGoodsQueue) {
+			let orderGoods = JSON.parse(orderGoodsQueue)
+			let cartGoods = []
+			for (let i in orderGoods) {
+				cartGoods = orderGoods[i]
+				if (!cartGoods) continue
 
-        <!-- 倒计时页面 -->
-        <el-dialog title="Tips" :visible.sync="payDialog" :show-close="false" width="350px" :close="handleOrderList">
-            <el-result icon="success" title="the order is successful">
-                <template slot="extra">
-                    <span style="color: #008efa; font-size: 30px;">{{ countdown }}</span>
-                </template>
-            </el-result>
-        </el-dialog>
-    </div>
-</template>
+				cartGoods.map(item => {
+					if (Number(item.chose_num) > 0) {
+						let discount = item.DISCOUNT / 100
+						item.member_price = Math.round(item.SELL_PRICE * discount * 100) / 100;
+						item.member_price_plus = Math.round(item.SELL_PRICE * Number(item.chose_num) * discount * 100) / 100;
+						item.tax_amount_plus = Math.round((item.member_price - item.member_price / (1 + item.TAX_RATE / 100)) * item.chose_num * 100) / 100;
+						this.goods.push(item)
+					}
+				})
+			}
 
-<script>
-import { fetchProductList, fetchProduct } from '@/api/shop';
-import waves from '@/directive/waves';
-import { parseTime } from '@/utils';
-import tool from '@/utils/tool';
+			// 计算价格
+			this.getSumMoney();
+		}
+	},
+	computed: {
+		// PayStack混淆串
+		reference() {
+			let text = ''
+			let possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
+			for (let i = 0; i < 10; i++) {
+					text += possible.charAt(Math.floor(Math.random() * possible.length))
+			}
+			return text
+		}
+	},
+	methods: {
+			// 取消订单
+			cancelOrder() {
+					history.go(-1)
+			},
+			// 设置运费
+			setFreight() {
+					// 如果地址为自提,则运费为0
+					this.pointFreight = (this.addressId === '100000000000000000') ? Number(0) : Number(this.freight);
+			},
+			// 表格合并
+			getSummaries(param) {
+					const { columns, data } = param;
+					const sums = [];
+					columns.forEach((column, index) => {
+							if (index === 0) {
+									sums[index] = 'Total'; // 合计
+									return;
+							}
+							const values = data.map(item => Number(item[column.property]));
+							if ((!values.every(value => isNaN(value))) && [4, 5, 6].includes(index)) {
+									sums[index] = values.reduce((prev, curr) => {
+											const value = Number(curr);
+											if (!isNaN(value)) {
+													return Math.round((prev + curr) * 100) / 100;
+											} else {
+													return Math.round(prev * 100) / 100;
+											}
+									}, 0);
+							}
+					});
 
-export default{
-    name: 'shoppingCart',
-    data: function () {
-        return {
-            tool: tool,
-            loading: true,
-            goods: [],
-            payList: [],
-            pointsSum: '',
-            cashSum: '',
-            freight: '',
-            pointFreight: '',
-            freeShipping: '',
-            goodsId: '',
-            goodsNum: '',
-            payPassword: '',
-            submitButtonStat: false,
-            prefixSign: '₦',
-            unit: 'NGN',
-            sn: '',
-            orderType: '',
-            payDialog: false,
-            countdown: 5,
-            visible: false,
-            payType: 'pay_stack',
-            payStackLoading: false,
-            channels: ["card", "bank", "ussd", "qr"],
-            form: {
-                publicKey: PAY_STACK_PUBLIC_KEY,
-                currency: PAY_STACK_CURRENCY,
-                firstname: userInfo.userName(),
-                lastname: '',
-                email: userInfo.userEmail(),
-                amount: 0, // kobo
-                orderSn: '',
-                metadata: {
-                    cart_id: this.sn,
-                    custom_fields: [
-                        {
-                            display_name: 'orderSn',
-                            variable_name: 'orderSn',
-                            value: this.sn,
-                        },
-                        {
-                          display_name: 'orderType',
-                          variable_name: 'orderType',
-                          value: 'baOrder'
-                        },
-                    ]
-            },
-          },
-            regionData: store.state.regionInfo.regionData,
-            addressId: '100000000000000000',
-            all_address: [],
-        }
-    },
-    components: {
-        paystack
-    },
-    created() {
-        // 加载sessionStorage中推送的商品
-        let option = sessionStorage.getItem('order_goods');
-        // 加载购物车
-        this.getShowCart();
-        if (option) {
-            let pageGoodsList = JSON.parse(option);
-            let pageList;
-            for (let i in pageGoodsList) {
-                pageList = pageGoodsList[i];
-                if (!pageList) continue;
+					return sums;
+			},
+			// 支付
+			goToAccounts() {
+					this.submitButtonStat = true
+					this.$prompt('Please enter your payment password', 'Hint', { // '请输入支付密码', '提示'
+							confirmButtonText: 'Confirm', // 确定
+							cancelButtonText: 'Cancel', // 取消
+							inputType: 'password',
+							inputPattern: /\S+/,
+							inputErrorMessage: 'Please enter your payment password' // 请输入支付密码
+					}).then(({value}) => {
+							this.payPassword = value
+							let params = {
+									goodsId: this.goodsId,
+									goodsNum: this.goodsNum,
+									payPassword: this.payPassword,
+									email: this.form.email,
+									addressId: this.addressId,
+									address: this.address,
+							};
+
+							// PayStack支付
+							// return network.postData('shop/ba-sure-approach-order', params).then(response => {
+							// 		this.submitButtonStat = false;
+							// 		this.form.orderSn = response.SN;
+							// 		this.form.amount = this.cashSum;
+							// 		this.form.metadata.custom_fields[0].value = response.SN;
+							// 		this.visible = true;
+							// }).catch(_ => {
+							// 		this.submitButtonStat = false;
+							// });
+					}).catch(_ => {
+							this.submitButtonStat = false;
+					});
+			},
+			// 计算价格
+			getSumMoney () {
+					let cash_plus_sum = [];
+					let goodsId = [];
+					let goodsNum = [];
+					let choseNum = 0;
+					this.goods.map(item => {
+							choseNum = Number(item.chose_num);
+							if (choseNum > 0) {
+									cash_plus_sum.push(item.SELL_PRICE * choseNum * (item.DISCOUNT / 100));
+									goodsId.push(item.ID);
+									goodsNum.push(choseNum);
+							}
+					})
+					this.goodsNum = goodsNum;
+					this.goodsId = goodsId;
+					// 增加运费
+					let payAmount = tool.sum(cash_plus_sum);
+					// 设置运费
+					this.setFreight();
+					// 商品总价大于预定值,免运费
+					this.pointFreight = (this.pointFreight > 0) ? ((payAmount >= this.freeShipping) ? 0 : this.freight) : 0
+					// 计算总价
+					this.pointsSum = this.cashSum = this.form.amount = tool.formatPrice(tool.sum(cash_plus_sum) + this.pointFreight) ;
+			},
+			// 展示购物车信息
+			getShowCart () {
+					// network.getData('shop/ba-shopping-cart', {}).then(response => {
+					// 		this.loading = false;
+					// 		// 免运费阈值
+					// 		this.freeShipping = response.freeShipping;
+					// 		// 运费
+					// 		this.freight = response.freight;
+					// 		// 收货地址
+					// 		this.all_address = response.allAddress;
+					// 		this.all_address.map((item, index) => {
+					// 				if (item.IS_DEFAULT === 1) {
+					// 						this.addressId = item.ID
+					// 				}
+					// 		})
+					// }).catch(_ => {
+					// 		this.loading = false;
+					// })
+			},
+			// 选择收货地址
+			choseAddress (addressId) {
+					this.addressId = addressId;
+					// 设置运费
+					this.setFreight()
+					// 计算价格
+					this.getSumMoney()
+			},
+		// 关闭支付回调
+		handleClose() {
+			let _this = this
+			// _this.$confirm('Confirm to close?').then(_ => {
+			// 	return network.postData('shop/ba-delete-approach-order', { orderSn: this.form.orderSn }).then(_ => {
+			// 		// 关闭支付模态框
+			// 		_this.visible = false
+			// 		// 关闭购物车页面,返回到订单列表页
+			// 		sessionStorage.setItem('order_goods', null)
+			// 		this.$router.push({path: `/shop/ba-product-list`})
+			// 	})
+			// }).catch(() => {
+			// 	// 关闭支付模态框
+			// 	_this.visible = false
+			// 	// 关闭购物车页面,返回到订单列表页
+			// 	sessionStorage.setItem('order_goods', null)
+			// 	this.$router.push({path: `/shop/ba-product-list`})
+			// })
+		},
+		// 支付成功回调
+		processPayment() {
+			// 关闭支付页面
+			this.visible = false
+			this.payStackLoading = false
+			// 显示支付成功模态框
+			this.payDialog = true;
+			// 启动支付成功倒计时
+			this.handleCountdown()
+		},
+		// 关闭支付回调
+		processClose () {
+			// 关闭支付模态框
+			this.visible = false
+			// 关闭购物车页面,清除购物车相关数据
+			sessionStorage.removeItem('orderGoodsQueue')
+			sessionStorage.removeItem('categoryType')
+			// 返回到订单列表页
+			this.$router.push({path: `/shop/standard-products`})
+		},
+		// 倒计时结束跳转
+		handleOrderList () {
+			this.$router.push({path: `/shop/order-list`})
+		},
+		// 启动倒计时
+		handleCountdown () {
+			// 创建定时器
+			setInterval(() => {
+				// 每隔1秒把time的值减一,赋值给span标签
+				this.countdown--
+				if (this.countdown === 0) {
+					// 倒计时结束,跳转到订单列表
+					this.$router.push({path: `/shop/order-list`});
+				}
+			}, 1000)
+		},
+		// 删除购物车中物品
+		handleDelete(row, index) {
+			let orderGoodsQueue = sessionStorage.getItem('orderGoodsQueue')
+			let orderGoods = JSON.parse(orderGoodsQueue)
+			orderGoods.splice(index, 1)
+			sessionStorage.setItem('orderGoodsQueue', JSON.stringify(orderGoods))
+			this.$notify({
+				title: '成功',
+				message: '删除成功',
+				type: 'success',
+				duration: 2000
+			})
+			location.reload()
+		},
+		// 选择商品计数
+		handleInputNumber(val, row){
+			let pageList = this.multipleSelection[this.currentPage]
+			let selectStatus = false
+			for (let i in pageList) {
+				if( pageList[i].ID === row.ID ) {
+					pageList[i].chose_num = val
+					selectStatus = true
+					break
+				}
+			}
 
-                pageList.map((pageData, index) => {
-                    if (Number(pageData.chose_num) > 0) {
-                        let discount = pageData.DISCOUNT / 100;
-                        pageData.member_price = Math.round(pageData.SELL_PRICE * discount * 100) / 100;
-                        pageData.member_price_plus = Math.round(pageData.SELL_PRICE * Number(pageData.chose_num) * discount * 100) / 100;
-                        pageData.tax_amount_plus = Math.round((pageData.member_price - pageData.member_price / (1 + pageData.TAX_RATE / 100)) * pageData.chose_num * 100) / 100;
-                        this.goods.push(pageData)
-                    }
-                })
-            }
-            // 计算价格
-          this.getSumMoney();
-        }
-    },
-    computed: {
-        // PayStack混淆串
-        reference() {
-            let text = '';
-            let possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
-            for (let i = 0; i < 10; i++) {
-                text += possible.charAt(Math.floor(Math.random() * possible.length));
-            }
-            return text;
-        }
-    },
-    methods: {
-        // 取消订单
-        cancelOrder() {
-            history.go(-1)
-        },
-        // 设置运费
-        setFreight() {
-            // 如果地址为自提,则运费为0
-            this.pointFreight = (this.addressId === '100000000000000000') ? Number(0) : Number(this.freight);
-        },
-        // 表格合并
-        getSummaries(param) {
-            const { columns, data } = param;
-            const sums = [];
-            columns.forEach((column, index) => {
-                if (index === 0) {
-                    sums[index] = 'Total'; // 合计
-                    return;
-                }
-                const values = data.map(item => Number(item[column.property]));
-                if ((!values.every(value => isNaN(value))) && [4, 5, 6].includes(index)) {
-                    sums[index] = values.reduce((prev, curr) => {
-                        const value = Number(curr);
-                        if (!isNaN(value)) {
-                            return Math.round((prev + curr) * 100) / 100;
-                        } else {
-                            return Math.round(prev * 100) / 100;
-                        }
-                    }, 0);
-                }
-            });
+			if (selectStatus) {
+				this.multipleSelection[this.currentPage] = pageList
+				this.handleSureChange()
+			}
+		},
+		// 统计商品
+		handleSureChange() {
+			if (this.multipleSelection.length > 0) {
+				let accumulatorSellPrice = 0, accumulatorPricePv = 0, accumulatorTax = 0
+				this.multipleSelection.forEach(item => {
+					item.forEach(accumulator => { accumulatorSellPrice += accumulator.SELL_PRICE * accumulator.chose_num * accumulator.DISCOUNT / 100; })
+					item.forEach(accumulator => { accumulatorPricePv += Number(accumulator.PRICE_PV) * Number(accumulator.chose_num) * (Number(accumulator.DISCOUNT) / 100); })
+					item.forEach(accumulator => { accumulatorTax += tool.calculateTax(Number(accumulator.SELL_PRICE), Number(accumulator.TAX_RATE), Number(accumulator.chose_num)); })
+				})
 
-            return sums;
-        },
-        // 支付
-        goToAccounts() {
-            this.submitButtonStat = true
-            this.$prompt('Please enter your payment password', 'Hint', { // '请输入支付密码', '提示'
-                confirmButtonText: 'Confirm', // 确定
-                cancelButtonText: 'Cancel', // 取消
-                inputType: 'password',
-                inputPattern: /\S+/,
-                inputErrorMessage: 'Please enter your payment password' // 请输入支付密码
-            }).then(({value}) => {
-                this.payPassword = value
-                let params = {
-                    goodsId: this.goodsId,
-                    goodsNum: this.goodsNum,
-                    payPassword: this.payPassword,
-                    email: this.form.email,
-                    addressId: this.addressId,
-                    address: this.address,
-                };
+				this.sellPriceSum = tool.formatPrice(accumulatorSellPrice)
+				this.pricePvSum = tool.formatPrice(accumulatorPricePv)
+				this.taxSum = tool.formatPrice(accumulatorTax)
 
-                // PayStack支付
-                return network.postData('shop/ba-sure-approach-order', params).then(response => {
-                    this.submitButtonStat = false;
-                    this.form.orderSn = response.SN;
-                    this.form.amount = this.cashSum;
-                    this.form.metadata.custom_fields[0].value = response.SN;
-                    this.visible = true;
-                }).catch(_ => {
-                    this.submitButtonStat = false;
-                });
-            }).catch(_ => {
-                this.submitButtonStat = false;
-            });
-        },
-        // 计算价格
-        getSumMoney () {
-            let cash_plus_sum = [];
-            let goodsId = [];
-            let goodsNum = [];
-            let choseNum = 0;
-            this.goods.map(item => {
-                choseNum = Number(item.chose_num);
-                if (choseNum > 0) {
-                    cash_plus_sum.push(item.SELL_PRICE * choseNum * (item.DISCOUNT / 100));
-                    goodsId.push(item.ID);
-                    goodsNum.push(choseNum);
-                }
-            })
-            this.goodsNum = goodsNum;
-            this.goodsId = goodsId;
-            // 增加运费
-            let payAmount = tool.sum(cash_plus_sum);
-            // 设置运费
-            this.setFreight();
-            // 商品总价大于预定值,免运费
-            this.pointFreight = (this.pointFreight > 0) ? ((payAmount >= this.freeShipping) ? 0 : this.freight) : 0
-            // 计算总价
-            this.pointsSum = this.cashSum = this.form.amount = tool.formatPrice(tool.sum(cash_plus_sum) + this.pointFreight) ;
-        },
-        // 展示购物车信息
-        getShowCart () {
-            network.getData('shop/ba-shopping-cart', {}).then(response => {
-                this.loading = false;
-                // 免运费阈值
-                this.freeShipping = response.freeShipping;
-                // 运费
-                this.freight = response.freight;
-                // 收货地址
-                this.all_address = response.allAddress;
-                this.all_address.map((item, index) => {
-                    if (item.IS_DEFAULT === 1) {
-                        this.addressId = item.ID
-                    }
-                })
-            }).catch(_ => {
-                this.loading = false;
-            })
-        },
-        // 选择收货地址
-        choseAddress (addressId) {
-            this.addressId = addressId;
-            // 设置运费
-            this.setFreight()
-            // 计算价格
-            this.getSumMoney()
-        },
-        // 关闭支付回调
-        handleClose() {
-            let _this = this
-            _this.$confirm('Confirm to close?').then(_ => {
-                return network.postData('shop/ba-delete-approach-order', { orderSn: this.form.orderSn }).then(_ => {
-                    // 关闭支付模态框
-                    _this.visible = false
-                    // 关闭购物车页面,返回到订单列表页
-                    sessionStorage.setItem('order_goods', null)
-                    this.$router.push({path: `/shop/ba-product-list`})
-                })
-            }).catch(_ => {
-                // 关闭支付模态框
-                _this.visible = false
-                // 关闭购物车页面,返回到订单列表页
-                sessionStorage.setItem('order_goods', null)
-                this.$router.push({path: `/shop/ba-product-list`})
-            })
-        },
-        // 支付成功回调
-        processPayment() {
-            // 关闭支付页面
-            this.visible = false
-            this.payStackLoading = false
-            // 显示支付成功模态框
-            this.payDialog = true;
-            // 启动支付成功倒计时
-            this.handleCountdown()
-        },
-        // 关闭支付回调
-        processClose () {
-            // 关闭支付模态框
-            this.visible = false
-            // 关闭购物车页面,返回到订单列表页
-            sessionStorage.removeItem('order_goods')
-            this.$router.push({path: `/shop/ba-product-list`})
-        },
-        // 倒计时结束跳转
-        handleOrderList () {
-            this.$router.push({path: `/shop/ba-order-list`})
-        },
-        // 启动倒计时
-        handleCountdown () {
-            // 创建定时器
-            setInterval(() => {
-                // 每隔1秒把time的值减一,赋值给span标签
-                this.countdown--
-                if (this.countdown === 0) {
-                    // 倒计时结束,跳转到订单列表
-                    this.$router.push({path: `/shop/ba-order-list`});
-                }
-            }, 1000)
-        },
-    },
+				this.display = true
+			} else {
+				this.sellPriceSum = this.pricePvSum = this.taxSum = 0.00
+				this.display = true
+			}
+		},
+	},
 }
 </script>
 

+ 10 - 3
src/views/shop/standard-products.vue

@@ -52,7 +52,7 @@
 				<span>{{ row.STORE_NUMS }}</span>
       </template>
     </el-table-column>
-		<el-table-column :label="$t('shop.inventory')" min-width="90" align="center">
+		<el-table-column :label="$t('shop.qty')" min-width="90" align="center">
 			<template slot-scope="scope">
 				<el-input-number size="mini" v-model="storeNums[scope.$index]" :min="0" :max="Number(scope.row.STORE_NUMS)" @change="(val)=>{handleInputNumber(val, scope.row)}"></el-input-number>
 			</template>
@@ -120,6 +120,7 @@
 				storeNums: [],
 				display: false,
 				currentPage: 1,
+				shoppingCartGoods: [],
       }
     },
     created() {
@@ -208,14 +209,20 @@
 						}
 					}
 				}
-				this.multipleSelection[this.currentPage] = val
+				this.multipleSelection.push(val)
 
 				// 计算统计
 				this.handleSureChange()
 			},
 			// 结算商品
 			settlement() {
-
+				if (this.multipleSelection.length <= 0) {
+					this.$message.error('Please choose the products.')
+					return false
+				}
+				sessionStorage.setItem('orderGoodsQueue', JSON.stringify(this.multipleSelection))
+				sessionStorage.setItem('categoryType', '1')
+				this.$router.push({path: `/shop/shopping-cart`})
 			}
     },
 		watch: {