Explorar o código

会员升级功能

kevin_zhangl %!s(int64=3) %!d(string=hai) anos
pai
achega
d5e4a873bf

+ 12 - 3
src/api/user.js

@@ -150,7 +150,7 @@ export function fetchFullInfo(data) {
   })
 }
 
-// 用户升级
+// 用户升级查询
 export function fetchUpgrade() {
   return request({
     url: '/v1/user/upgrade',
@@ -158,12 +158,21 @@ export function fetchUpgrade() {
   })
 }
 
+// 用户升级
+export function fetchSendUpgrade(data) {
+  return request({
+    url: '/v1/user/upgrade',
+    method: 'post',
+    data
+  })
+}
+
 // 用户升级信息
 export function fetchUpgradeInfo(data) {
   return request({
     url: '/v1/user/upgrade-info',
-    method: 'get',
-    params: data
+    method: 'post',
+    data
   })
 }
 

+ 7 - 0
src/lang/en.js

@@ -242,6 +242,7 @@ export default {
     confirm: 'Confirm',
     successfully: 'Successfully',
     close: 'Close',
+    note: 'Note',
   },
 
   shop: {
@@ -343,7 +344,13 @@ export default {
     currentSystemTime: 'Current System Time',
     memberJoinTime: 'Member Join Time',
     joiningPeriod: 'Joining Period',
+    joiningDate: 'Joining Date',
     whetherUpgrade: 'Whether Upgrade',
+    upgradeWay: 'Upgrade Way',
+    toUpgradeLevel: 'To Upgrade Level',
+    selectLevel: 'Please select a level',
+    topUpBV: 'Top Up(BV)',
+    upgradePurchaseProduct: 'Upgrade purchase product',
     loginPasswordSuccessTips: 'User login password has been updated successfully.',
     paymentPasswordSuccessTips: 'User payment password has been updated successfully.',
     enterLoginPassword: 'Enter Login Password',

+ 7 - 0
src/lang/zh.js

@@ -241,6 +241,7 @@ export default {
     cancel: '取消',
     successfully: '成功',
     close: '关闭',
+    note: '备注',
   },
   shop: {
     product: '商品',
@@ -339,7 +340,13 @@ export default {
     latestDirector: '最新管理星级',
     latestCrown: '最新皇冠星级',
     joiningPeriod: '加入期数',
+    joiningDate: '加入时间',
     whetherUpgrade: '是否已升级',
+    upgradeWay: '升级方式',
+    toUpgradeLevel: '升级级别',
+    selectLevel: '请选择级别',
+    topUpBV: '升级补差业绩',
+    upgradePurchaseProduct: '升级购买商品',
     loginPasswordSuccessTips: '登录密码已修改成功',
     paymentPasswordSuccessTips: '支付密码已修改成功',
     enterLoginPassword: '请输入登录密码',

+ 4 - 4
src/views/finance/recharge-list.vue

@@ -1,20 +1,20 @@
 <template>
 	<div class="app-container" v-loading="listLoading">
 		<el-table :data="list" border fit highlight-current-row>
-			<el-table-column align="center" :label="$t('finance.createdTime')" prop="CREATED_AT" min-width="100px">
+			<el-table-column align="center" :label="$t('finance.createdTime')" prop="CREATED_AT" min-width="100px" width="160px">
 				<template slot-scope="{row}">
 					<span>{{ row.CREATED_AT | parseTime('{y}-{m}-{d} {h}:{i}:{s}') }}</span>
 				</template>
 			</el-table-column>
-			<el-table-column align="center" :label="$t('finance.rechargeAmount')" prop="AMOUNT"></el-table-column>
-			<el-table-column align="center" :label="$t('finance.rechargeStatus')" prop="STATUS_NAME" min-width="110px">
+			<el-table-column align="center" :label="$t('finance.rechargeAmount')" prop="AMOUNT"  width="160px"></el-table-column>
+			<el-table-column align="center" :label="$t('finance.rechargeStatus')" prop="STATUS_NAME" width="120px">
 				<template slot-scope="{row}">
 					<el-tag :type="row.AUDIT_STATUS | statusFilter">{{row.STATUS_NAME}}</el-tag>
 				</template>
 			</el-table-column>
 			<el-table-column align="center" :label="$t('finance.bankName')" prop="OPEN_BANK_NAME"></el-table-column>
 			<el-table-column align="center" :label="$t('finance.bankAccount')" prop="BANK_NO"></el-table-column>
-			<el-table-column align="center" :label="$t('finance.printVoucher')" min-width="100px">
+			<el-table-column align="center" :label="$t('finance.printVoucher')" min-width="100px" width="120px">
 				<template slot-scope="{row}">
 					<el-button type="primary" size="mini" v-if="row.AUDIT_STATUS === '0'" @click="handleUpload(row.ID)">{{ $t('finance.uploadVoucher') }}</el-button>
 					<el-button type="success" size="mini" v-if="row.AUDIT_STATUS !== '0'" @click="handleView(row)">{{ $t('finance.viewVoucher') }}</el-button>

+ 1 - 1
src/views/shop/order-list.vue

@@ -27,7 +27,7 @@
 										<span style="white-space: nowrap;">{{ row.BUY_NUMS }}</span>
 									</template>
 								</el-table-column>
-								<el-table-column align="center" :label="$t('shop.productPrice')">
+								<el-table-column align="center" :label="$t('shop.productPrice')" min-width="150px">
 									<template slot-scope="{row}">
 										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row.REAL_PRICE | amountFilter }}</span>
 									</template>

+ 1 - 1
src/views/shop/villa-fund-products.vue

@@ -34,7 +34,7 @@
 
 		<pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
 
-		<div class="white-box-footer" style="margin-top: 5px;">
+		<div class="white-box-footer" style="margin-top: 5px;" v-show="total>0">
 			<div class="flex data" style="float: left; display: inline-block; margin-top: 10px;">
 				<el-button type="primary" size="mini" @click="settlement()" style="float: left;">{{ $t('shop.checkOut') }}</el-button>
 			</div>

+ 8 - 1
src/views/user/brand-ambassador.vue

@@ -44,7 +44,7 @@
 									</el-table>
 
 									<div class="white-box-footer">
-										<div class="flex data" style="float: right; display: inline-block; line-height: 30px; font-size: 14px; margin-top: 15px; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 5px;">
+										<div class="flex data" style="display: inline-block; line-height: 30px; font-size: 14px; margin-top: 15px; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 5px;">
 											<div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ sellPriceSum }}</div>
 											<div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productBV') }}:{{ $t('currency.sign') }} {{ pricePvSum }}</div>
 											<div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum }}</div>
@@ -661,4 +661,11 @@ export default {
 .el-tabs--border-card > .el-tabs__content {
 	padding: 5px;
 }
+
+.el-radio.is-bordered + .el-radio.is-bordered {
+	margin: 5px 0;
+}
+.el-radio--medium.is-bordered {
+	margin: 5px 0;
+}
 </style>

+ 198 - 179
src/views/user/member-upgrade.vue

@@ -1,143 +1,117 @@
 <template>
 	<div v-loading="loading">
-		<div class="white-box">
+		<div class="white-box" style="padding: 15px 25px;">
 			<el-row :gutter="20">
-				<el-col :xs="24" :sm="14" :lg="14">
-					<el-form :model="form" ref="form" :label-position="labelPosition" class="form-page">
-						<el-divider content-position="left">{{ $t('user.memberInformation') }}</el-divider>
-					<el-form-item :label="$t('shop.memberCode')" prop="insertUserName">
-						<el-input
-							v-model="form.insertUserName"
-							:placeholder="$t('shop.enterMemberCode')"
-							:rules="{ required: true, message: $t('shop.enterMemberCode'), trigger: 'blur' }"
-							@blur="fetchUpgrade"
-						>
-						</el-input>
-					</el-form-item>
-					<el-form-item label="Member level"><!-- 会员级别 -->
-						<el-input v-model="form.userDecName" disabled></el-input>
-					</el-form-item>
-					<el-form-item label="Member name"><!-- 会员姓名 -->
-						<el-input v-model="form.userRealName" disabled></el-input>
-					</el-form-item>
-					<el-form-item label="Joining date"><!-- 加入日期 -->
-						<el-input v-model="form.addAt" disabled></el-input>
-					</el-form-item>
-					<el-form-item v-if="!isMax" label="Upgrade way"><!-- 升级方式 -->
-						<el-input v-model="form.upgradeFunc" disabled></el-input>
-					</el-form-item>
-					<el-form-item v-if="!isMax" label="To upgrade level  " prop="upgradeValue"><!-- 升级级别 -->
-						<el-select v-model="form.upgradeValue" placeholder="Please select a level" @change="changeLevel"><!-- 请选择级别 -->
-							<el-option
-								v-for="item in upgradeOption"
-								:key="item.ID"
-								:label="item.LEVEL_NAME"
-								:value="{value:item.ID, diffPv:item.REPAIR_PV}">
-							</el-option>
-						</el-select>
-					</el-form-item>
-					<el-form-item v-if="!isMax" label="Top Up(BV)"><!-- 升级补差业绩 -->
-						<el-input v-model="needDiffPv" disabled></el-input>
-					</el-form-item>
-					<el-form-item v-if="!isMax">
-						<template slot="label">
-							Upgrade purchase product<!-- 升级购买商品 -->
-						</template>
-						<el-tabs type="border-card" v-model="decWay" style="position: relative;width: 100%;">
-							<el-tab-pane label="product" name="2"><!-- 商品 -->
+				<el-col :xs="24" :sm="16" :lg="16">
+					<el-form :model="form" ref="form" :label-position="labelPosition" label-width="180px" class="form-page">
+						<el-form-item :label="$t('shop.memberCode')" prop="insertUserName">
+							<el-input v-model="form.insertUserName" @blur="fetchUpgradeInfo" :placeholder="$t('user.enterMemberCode')" :rules="{ required: true, message: $t('user.enterMemberCode'), trigger: 'blur' }"></el-input>
+						</el-form-item>
+						<el-form-item :label="$t('profile.memberLevel')">
+							<el-input v-model="form.userDecName" disabled></el-input>
+						</el-form-item>
+						<el-form-item :label="$t('shop.memberName')">
+							<el-input v-model="form.userRealName" disabled></el-input>
+						</el-form-item>
+						<el-form-item :label="$t('profile.joiningDate')">
+							<el-input v-model="form.addAt" disabled></el-input>
+						</el-form-item>
+
+						<el-form-item v-if="!isMax" :label="$t('profile.upgradeWay')">
+							<el-input v-model="form.upgradeFunc" disabled></el-input>
+						</el-form-item>
+						<el-form-item v-if="!isMax" prop="upgradeValue" :label="$t('profile.toUpgradeLevel')">
+							<el-select v-model="form.upgradeValue" :placeholder="$t('profile.selectLevel')" @change="handleChangeLevel($event)" style="width: 100%;">
+								<el-option v-for="item in upgradeOption" :key="item.ID" :label="item.LEVEL_NAME" :value="{value:item.ID, diffPv:item.REPAIR_PV}"></el-option>
+							</el-select>
+						</el-form-item>
+						<el-form-item v-if="!isMax" :label="$t('profile.topUpBV')">
+							<el-input v-model="needDiffPv" disabled></el-input>
+						</el-form-item>
+						<el-form-item v-if="!isMax">
+							<template slot="label">{{ $t('profile.upgradePurchaseProduct') }}</template>
+							<el-tabs type="border-card" v-model="decWay" style="position: relative; width: 100%;">
 								<el-tab-pane :label="$t('shop.product')" name="2">
-									<el-table :data="tableData" :show-header="false" @selection-change="handleSelectionChange">
-										<el-table-column type="selection" width="50" align="center"></el-table-column>
-										<el-table-column align="center">
-											<template slot-scope="{row, $index}">
-												<el-container>
-													<el-aside width="80px" style="background-color: #ffffff; padding: 10px 0;">
-														<el-image style="width: 80px; height: 80px" :src="tool.getArImage(row.COVER, '/files/')"></el-image>
-													</el-aside>
-													<el-main style="padding: 0;">
-														<div style="text-align: left; line-height: 25px;">
-															<span style="font-weight: bold;" @click="handleProduct(row)">{{ row.GOODS_NAME }}</span><br />
-															<span>{{ row.GOODS_NO }}</span><br />
-															<span style="color: tomato;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ row.SELL_PRICE }}</span><br />
-															<span>{{ $t('shop.productBV') }}:{{ $t('currency.sign') }} {{ row.PRICE_PV }}</span><br />
-															<span style="display: inline-block; float: right; ">
+									<el-collapse accordion>
+										<el-collapse-item>
+											<template slot="title">
+												{{ $t('shop.product') }} <i class="header-icon el-icon-info"></i>
+											</template>
+											<el-table :data="tableData" :show-header="false" @selection-change="handleSelectionChange">
+												<el-table-column type="selection" width="30" align="center" style="top: -30px;"></el-table-column>
+												<el-table-column align="center">
+													<template slot-scope="{row, $index}">
+														<el-container>
+															<el-aside width="80px" style=" padding: 0; margin-bottom: 0; background-color: #ffffff;">
+																<el-image style="width: 80px; height: 80px" :src="tool.getArImage(row.COVER, '/files/')"></el-image>
+															</el-aside>
+															<el-main style="padding: 0;">
+																<div style="text-align: left; line-height: 25px;">
+																	<span style="font-weight: bold; cursor: pointer;" @click="handleProduct(row)">{{ row.GOODS_NAME }}</span><br />
+																	<span>{{ row.GOODS_NO }}</span><br />
+																	<span style="color: tomato;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ row.SELL_PRICE }}</span><br />
+																	<span>{{ $t('shop.productBV') }}:{{ $t('currency.sign') }} {{ row.PRICE_PV }}</span><br />
+																	<span style="display: inline-block; float: right; ">
 																	<el-input-number size="mini" v-model="storeNums[$index]" :min="1" :max="Number(row.STORE_NUMS)" @change="handleInputNumber($event, row)"></el-input-number>
 																</span>
-															<br />
-														</div>
-													</el-main>
-												</el-container>
-											</template>
-										</el-table-column>
-									</el-table>
+																	<br />
+																</div>
+															</el-main>
+														</el-container>
+													</template>
+												</el-table-column>
+											</el-table>
+										</el-collapse-item>
+									</el-collapse>
 
 									<div class="white-box-footer">
-										<div class="flex data" style="float: right; display: inline-block; line-height: 35px; font-size: 14px; margin-top: 20px; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 15px;">
-											<div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ sellPriceSum }}</div>
-											<div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productBV') }}:{{ $t('currency.sign') }} {{ pricePvSum }}</div>
+										<div class="flex data" style="float: right; display: inline-block; line-height: 30px; font-size: 14px; margin-top: 15px; margin-bottom: 10px; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 5px;">
+											<div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ sellPriceSum }}</div>
+											<div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productBV') }}:{{ $t('currency.sign') }} {{ pricePvSum }}</div>
 											<div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum }}</div>
 										</div>
 									</div>
 								</el-tab-pane>
-							</el-tab-pane>
-						</el-tabs>
-					</el-form-item>
-					<el-form-item v-if="!isMax">
-						<template slot="label">
-							Recipient name<!-- 收货人 -->
-						</template>
-						<el-input v-model="form.consignee"></el-input>
-					</el-form-item>
-					<el-form-item v-if="!isMax">
-						<template slot="label">
-							Phone Number<!-- 收货人手机 -->
-						</template>
-						<el-input v-model="form.acceptMobile"></el-input>
-					</el-form-item>
-					<el-form-item v-if="!isMax" prop="areaSelected">
-						<template slot="label">
-							State<!-- 地区 -->
-						</template>
-<!--						<el-cascader-->
-<!--							size="large"-->
-<!--							:options="regionData"-->
-<!--							v-model="form.areaSelected">-->
-<!--						</el-cascader>-->
-						<el-select v-model="form.areaSelected" class="filter-item" style="width: 100%;">
-							<el-option v-for="item in regionData" :key="item.id" :label="item.address" :value="item.id" />
-						</el-select>
-					</el-form-item>
-					<el-form-item v-if="!isMax">
-						<template slot="label">
-							Local Government Area
-						</template>
-						<el-input v-model="form.lgaName"></el-input>
-					</el-form-item>
-					<el-form-item v-if="!isMax">
-						<template slot="label">
-							City
-						</template>
-						<el-input v-model="form.cityName"></el-input>
-					</el-form-item>
-					<el-form-item v-if="!isMax">
-						<template slot="label">
-							Detailed address<!-- 详细地址 -->
-						</template>
-						<el-input v-model="form.address"></el-input>
-					</el-form-item>
-					<el-form-item v-if="!isMax" label="note"><!-- 备注 -->
-						<el-input type="textarea" v-model="form.remark"></el-input>
-					</el-form-item>
+							</el-tabs>
+						</el-form-item>
+						<el-form-item v-if="!isMax" :label="$t('shop.recipientName')">
+							<el-input v-model="form.consignee"></el-input>
+						</el-form-item>
+						<el-form-item v-if="!isMax" :label="$t('shop.phoneNumber')">
+							<el-input v-model="form.acceptMobile"></el-input>
+						</el-form-item>
+						<el-form-item v-if="!isMax" prop="areaSelected" :label="$t('config.state')">
+	<!--						<el-cascader size="large" :options="regionData" v-model="form.areaSelected"></el-cascader>-->
+							<el-select v-model="form.areaSelected" class="filter-item" style="width: 100%;">
+								<el-option v-for="item in regionData" :key="item.id" :label="item.address" :value="item.id" />
+							</el-select>
+						</el-form-item>
+						<el-form-item v-if="!isMax" :label="$t('config.localGovernmentArea')">
+							<el-input v-model="form.lgaName"></el-input>
+						</el-form-item>
+						<el-form-item v-if="!isMax" :label="$t('config.city')">
+							<el-input v-model="form.cityName"></el-input>
+						</el-form-item>
+						<el-form-item v-if="!isMax" :label="$t('config.detailedAddress')">
+							<el-input v-model="form.address"></el-input>
+						</el-form-item>
+						<el-form-item v-if="!isMax" :label="$t('common.note')">
+							<el-input type="textarea" v-model="form.remark"></el-input>
+						</el-form-item>
 
-					<el-form-item v-if="!isMax" label="Payment method" required><!-- 支付方式 -->
-						<el-radio-group v-model="form.payType" @change="payMethodChange">
-							<el-radio v-for="(item, index) in payList" :key='index' :label="item.label">{{ item.name }}</el-radio>
-						</el-radio-group>
-					</el-form-item>
+						<el-form-item v-if="!isMax" :label="$t('shop.paymentMethod')" required style="padding-left: 0;">
+							<el-radio-group v-model="form.payType" @change="chosePayType">
+								<el-col :xs="24" :sm="24" :lg="24" style="padding-left: 0;">
+									<el-radio border v-for="(item, index) in payList" :key='index' :label="item.label" >
+										{{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">({{ $t('currency.sign') }} {{ userBalance.cash }})</span>
+									</el-radio>
+								</el-col>
+							</el-radio-group>
+						</el-form-item>
 
-					<el-form-item v-if="!isMax">
-						<el-button type="primary" @click="onSubmit" :loading="submitButtonStat">SAVE<!-- 保存 --></el-button>
-					</el-form-item>
+						<el-form-item v-if="!isMax">
+							<el-button size="small" type="primary" @click="onSubmit" :loading="submitButtonStat">{{ $t('common.save') }}</el-button>
+						</el-form-item>
 				</el-form>
 				</el-col>
 			</el-row>
@@ -207,7 +181,7 @@
 </template>
 
 <script>
-import {createBrandAmbassador, fetchFullInfo, fetchUpgrade} from '@/api/user'
+import {createBrandAmbassador, fetchFullInfo, fetchSendUpgrade, fetchUpgrade, fetchUpgradeInfo} from '@/api/user'
 import waves from '@/directive/waves'
 import {formatAmount, getScreenWidth} from "@/utils"
 import Pagination from '@/components/Pagination'
@@ -215,8 +189,7 @@ import paystack from 'vue-paystack'
 import tool from "@/utils/tool"
 import {deleteApproachOrder} from "@/api/shop"
 import {mapGetters} from "vuex"
-import userInfo from "@/utils/usersInfo"
-import usersInfo from "@/utils/usersInfo";
+import usersInfo from "@/utils/usersInfo"
 
 export default {
   name: 'upgradeManagement',
@@ -259,6 +232,8 @@ export default {
 	},
   data() {
 		return {
+			tool: tool,
+
 			nowPerf: '',
 			nextPerf: '',
 			decUserName: '',
@@ -313,7 +288,6 @@ export default {
 			submitButtonStat: false,
 			submitButton: false,
 			allGoods: [],
-			multipleSelection: [],
 			goodsNums: [],
 			numList: [],
 			sell_price_sum: 0.00,
@@ -330,7 +304,7 @@ export default {
 				currency: 'NGN',
 				firstname: usersInfo.userName(),
 				lastname: '',
-				email: userInfo.userEmail(),
+				email: usersInfo.userEmail(),
 				amount: 0, // kobo
 				orderSn: '',
 				metadata: {
@@ -350,10 +324,6 @@ export default {
 				},
 			},
 
-			storeNums: [],
-			tableData: null,
-			payAmount: 0.00,
-
 			addressId: '',
 			selfPickUpAddressId: '100000000000000000',
 			shippingAddressList: [],
@@ -370,9 +340,18 @@ export default {
 			},
 			imageStyle: 'margin-top: -50px;',
 
-			screenWidth: getScreenWidth() > 600 ? '500px' : getScreenWidth() + 'px',
-			labelPosition: getScreenWidth() > 600 ? 'right' : 'top',
+			screenWidth: getScreenWidth() > 600 ? '600px' : getScreenWidth() + 'px',
+			labelPosition: getScreenWidth() > 500 ? 'right' : 'top',
 			payStackScreenWidth: getScreenWidth() > 500 ? '450px' : getScreenWidth() + 'px',
+
+			multipleSelection: [],
+			sellPriceSum: 0.00,
+			pricePvSum: 0.00,
+			taxSum: 0.00,
+			storeNums: [],
+			tableData: null,
+			payAmount: 0.00,
+			userBalance: {},
 		}
   },
   created() {
@@ -388,19 +367,30 @@ export default {
 			fetchUpgrade().then(response => {
 				this.loading = false
 
+				this.userBalance = response.data.userBalance
 				this.decUserName = response.data.decUserName
 				this.allDecPackage = response.data.allDecPackage
 				this.allGoods = response.data.allGoods
-				let settingObj = this.allDecPackage
-				this.tableData = Object.keys(settingObj).map(key => {
-					return settingObj[key]
-				})
-				let settingObj1 = this.allGoods;
-				for (let i in settingObj1) {
-					this.numList[i] = 1
-					settingObj1[i].goodsNum= 1
+
+				let settingObj = this.allGoods
+				for (let i in this.allGoods) {
+					this.storeNums[i] = 1
+					settingObj[i].goodsNum = 0
 				}
-				this.tableDatas=settingObj1
+
+				this.tableData = Object.values(settingObj)
+				let pageList = this.multipleSelection
+				this.$nextTick(function () {
+					for (let i in this.tableData) {
+						for( let j in  pageList) {
+							if( pageList[j].ID === this.tableData[i].ID ) {
+								this.$data.storeNums[i] = pageList[j].goodsNum
+								this.tableData[i].goodsNum = pageList[j].goodsNum
+								break
+							}
+						}
+					}
+				})
 
 				// 支付方式
 				this.payList = response.data.sellType[0]['sell_type']
@@ -412,6 +402,24 @@ export default {
         }, 0.5 * 1000)
       })
     },
+		fetchUpgradeInfo() {
+			this.loading = true
+			fetchUpgradeInfo({ userName: this.form.insertUserName }).then(response => {
+				this.loading = false
+				this.form.addAt = response.data.baseInfo.ADD_AT
+				this.form.userRealName = response.data.baseInfo.REAL_NAME
+				this.form.userDecName = response.data.baseInfo.DEC_NAME
+				this.isMax = response.data.baseInfo.IS_MAX
+				this.upgradeOption = response.data.baseInfo.LEVEL_LIST
+				this.form.upgradeFunc = response.data.baseInfo.UPGRADE_FUNC
+				this.nowPerf = response.data.baseInfo.NOW_PERF
+				this.nextPerf = response.data.baseInfo.NEXT_PERF
+
+				setTimeout(() => {
+					this.loading = false
+				}, 0.5 * 1000)
+			})
+		},
 		// 商品详情
 		handleProduct(row) {
 			this.product = row
@@ -547,8 +555,22 @@ export default {
 				this.addressDisabled = false
 			}
 		},
-		// 创建BA会员
+		// 提交订单
 		onSubmit () {
+			if (!this.form.insertUserName) {
+				this.$message({
+					message: this.$t('user.enterMemberCode'),
+					type: 'error'
+				})
+				return false;
+			}
+			if (!this.toLevel) {
+				this.$message({
+					message: this.$t('user.selectLevel'),
+					type: 'error'
+				})
+				return false
+			}
 			// 已选择商品
 			this.selectProduct()
 			if (this.multipleSelection.length <= 0) {
@@ -557,10 +579,10 @@ export default {
 			}
 			// 余额
 			let amountBalance = this.userBalance[this.form.payType] || 0
-			// 账户类型提示信息
-			let accountType = this.currency[this.form.payType].name || ''
 			// 余额是否充足
 			if ((this.form.payType === 'cash') && ((amountBalance - this.payAmount) < 0)) {
+				// 账户类型提示信息
+				let accountType = this.currency[this.form.payType].name || ''
 				this.$message({
 					message: accountType + this.$t('shop.balanceNotAllow'),
 					type: 'error'
@@ -571,41 +593,26 @@ export default {
 			this.submitButtonStat = true
 
 			let params = {
-				consignee: this.form.consignee,
-				acceptMobile: this.form.acceptMobile,
-				province: this.form.areaSelected[0] ? this.form.areaSelected[0] : '',
-				city: this.form.areaSelected[1] ? this.form.areaSelected[1] : '',
-				county: this.form.areaSelected[2] ? this.form.areaSelected[2] : '',
-				address: this.form.address,
-				insertUserName: this.form.insertUserName,
-				decLv: this.form.decLv,
-				realName: this.form.realName,
-				decUserName: this.form.decUserName,
-				conUserName: this.form.conUserName,
-				recUserName: this.form.recUserName,
-				insertUserIdCard: this.form.insertUserIdCard,
-				openBank: this.form.openBank,
-				bankAddress: this.form.bankAddress,
-				mobile: this.form.mobile,
-				email: this.form.email,
-				cityName: this.form.cityName,
-				lgaName: this.form.lgaName,
-
-				bankProvince: this.form.bankAreaSelected[0] ? this.form.bankAreaSelected[0] : '',
-				bankCity: this.form.bankAreaSelected[1] ? this.form.bankAreaSelected[1] : '',
-				bankCounty: this.form.bankAreaSelected[2] ? this.form.bankAreaSelected[2] : '',
-
-				bankNo: this.form.bankNo,
-				password: this.form.password,
-				payPassword: this.form.payPassword,
+				decUserName: this.decUserName,
 				packageId: this.form.packageId,
 				goodsId: this.form.goodsId,
 				goodsNum: this.form.goodsNum,
 				location: this.form.location,
 				decWay: this.decWay,
-				payType: this.form.payType
+				decLv: this.toLevel,
+				insertUserName: this.form.insertUserName,
+				remark: this.form.remark,
+				address: this.form.address,
+				consignee: this.form.consignee,
+				acceptMobile: this.form.acceptMobile,
+				province: this.form.areaSelected[0] ? this.form.areaSelected[0] : '',
+				lgaName: this.form.lgaName,
+				cityName: this.form.cityName,
+				nowPerf: this.nowPerf,
+				nextPerf: this.nextPerf,
+				payType: this.form.payType,
 			}
-			createBrandAmbassador(params).then(response => {
+			fetchSendUpgrade(params).then(response => {
 				if (this.form.payType !== 'pay_stack') {
 					// 余额支付
 					this.$message({
@@ -613,7 +620,7 @@ export default {
 						type: 'success'
 					})
 					this.submitButtonStat = false
-					this.$router.push({path: `/shop/ba-dec-order-list`})
+					this.$router.push({path: `/shop/order-list`})
 				} else {
 					// PayStack支付
 					this.submitButtonStat = false
@@ -635,6 +642,12 @@ export default {
 				this.payAmount += item.goodsNum * item.SELL_PRICE
 			})
 		},
+		// 等级变更
+		handleChangeLevel(data) {
+			let { value, diffPv } = data
+			this.needDiffPv = diffPv
+			this.toLevel = value
+		},
   }
 }
 </script>
@@ -648,4 +661,10 @@ export default {
 	word-break: keep-all;
 	white-space: pre-wrap;
 }
+.el-radio.is-bordered + .el-radio.is-bordered {
+	margin: 5px;
+}
+.el-radio--medium.is-bordered {
+	margin: 5px;
+}
 </style>