Преглед изворни кода

Merge branch 'feature/NG-22' of guanli/ngfrontend into master

Tyler пре 1 година
родитељ
комит
2d6b092814

+ 18 - 6
.env.development

@@ -12,9 +12,21 @@ ENV='development'
 
 
 # base api
-VUE_APP_BASE_API=''
-VUE_APP_BASE_DO_API='http://16.163.228.151:8043'
-VUE_APP_CDN_API='http://16.163.228.151:8046'
-VUE_APP_BASE_WEBSITE='http://16.163.228.151:8045'
-VUE_APP_BASE_PAY_STACK_PUBLIC_KEY='pk_test_2eed10135c4a958c5073795b22854ded9d1a6c55'
-VUE_APP_ACCESS_TOKEN_PREFIX='Bearer '
+#VUE_APP_BASE_API=''
+#VUE_APP_BASE_DO_API='http://16.163.228.151:8043'
+#VUE_APP_CDN_API='http://16.163.228.151:8041'
+#VUE_APP_BASE_WEBSITE='http://16.163.228.151:8045'
+#VUE_APP_BASE_PAY_STACK_PUBLIC_KEY='pk_test_2eed10135c4a958c5073795b22854ded9d1a6c55'
+#VUE_APP_ACCESS_TOKEN_PREFIX='Bearer '
+
+# test
+# # api请求地址
+ VUE_APP_BASE_API='http://16.163.228.151:8018'
+ # 文件下载地址
+ VUE_APP_BASE_DO_API='http://16.163.228.151:8018'
+ # CDN文件地址
+ VUE_APP_CDN_API='http://16.163.228.151:8021'
+ # 会员页面地址
+ VUE_APP_BASE_WEBSITE='http://16.163.228.151:8017'
+ VUE_APP_BASE_PAY_STACK_PUBLIC_KEY='pk_test_2eed10135c4a958c5073795b22854ded9d1a6c55'
+ VUE_APP_ACCESS_TOKEN_PREFIX='Bearer '

+ 14 - 14
.env.staging

@@ -8,21 +8,21 @@ VUE_APP_ACCESS_TOKEN_PREFIX='Bearer '
 
 # mips
 #api请求地址
-VUE_APP_BASE_API=''
-#文件下载地址
-VUE_APP_BASE_DO_API='http://16.163.228.151:8043'
-#CDN文件地址
-VUE_APP_CDN_API='http://16.163.228.151:8016'
-#会员页面地址
-VUE_APP_BASE_WEBSITE='http://16.163.228.151:8045'
+#VUE_APP_BASE_API=''
+##文件下载地址
+#VUE_APP_BASE_DO_API='http://16.163.228.151:8043'
+##CDN文件地址
+#VUE_APP_CDN_API='http://16.163.228.151:8016'
+##会员页面地址
+#VUE_APP_BASE_WEBSITE='http://16.163.228.151:8045'
 
 
 # test
 # # api请求地址
-# VUE_APP_BASE_API='http://16.163.228.151:8018'
-# # 文件下载地址
-# VUE_APP_BASE_DO_API='http://16.163.228.151:8018'
-# # CDN文件地址
-# VUE_APP_CDN_API='http://16.163.228.151:8021'
-# # 会员页面地址
-# VUE_APP_BASE_WEBSITE='http://16.163.228.151:8017'
+ VUE_APP_BASE_API='http://16.163.228.151:8018'
+ # 文件下载地址
+ VUE_APP_BASE_DO_API='http://16.163.228.151:8018'
+ # CDN文件地址
+ VUE_APP_CDN_API='http://16.163.228.151:8021'
+ # 会员页面地址
+ VUE_APP_BASE_WEBSITE='http://16.163.228.151:8017'

+ 1 - 0
package.json

@@ -7,6 +7,7 @@
     "dev": "vue-cli-service serve",
     "lint": "eslint --ext .js,.vue src",
     "build:prod": "vue-cli-service build",
+    "build:dev": "vue-cli-service build --mode development",
     "build:stage": "vue-cli-service build --mode staging",
     "preview": "node build/index.js --preview",
     "new": "plop",

+ 9 - 0
src/api/config.js

@@ -35,3 +35,12 @@ export function deleteAddress(data) {
     data
   })
 }
+
+export function getRegionList(query) {
+  return request({
+    url: '/v1/config/region-list',
+    method: 'get',
+    params: query
+  })
+}
+

+ 15 - 1
src/api/setting.js

@@ -14,4 +14,18 @@ export function getPageId(data) {
     method: 'get',
     data
   })
-}
+}
+
+export function getLanguages() {
+    return request({
+        url: '/v1/site/languages',
+        method: 'get'
+    })
+}
+
+export function getCountries() {
+    return request({
+        url: '/v1/site/countries',
+        method: 'get'
+    })
+}

+ 8 - 0
src/api/user.js

@@ -151,6 +151,14 @@ export function fetchFullInfo(data) {
   })
 }
 
+export function fetchInspectNetwork(data) {
+  return request({
+    url: '/v1/user/inspect-network',
+    method: 'get',
+    params: data
+  })
+}
+
 // 用户升级查询
 export function fetchUpgrade(data) {
   return request({

+ 26 - 12
src/components/LangSelect/index.vue

@@ -4,30 +4,44 @@
       <svg-icon class-name="international-icon" icon-class="language" />
     </div>
     <el-dropdown-menu slot="dropdown">
-      <el-dropdown-item :disabled="language==='zh'" command="zh">
-        中文
+      <el-dropdown-item v-for="(item,index) in languageList" :key="index" :disabled="language===item.KEY" :command="item.KEY">
+          {{ item.NAME }}
       </el-dropdown-item>
-      <el-dropdown-item :disabled="language==='en'" command="en">
-        English
-      </el-dropdown-item>
-      <!--      <el-dropdown-item :disabled="language==='es'" command="es">-->
-      <!--        Español-->
-      <!--      </el-dropdown-item>-->
-      <!--      <el-dropdown-item :disabled="language==='ja'" command="ja">-->
-      <!--        日本語-->
-      <!--      </el-dropdown-item>-->
     </el-dropdown-menu>
   </el-dropdown>
 </template>
 
 <script>
+import { getLanguages } from '@/api/setting'
+
 export default {
+  data(){
+      return {
+      }
+  },
   computed: {
     language() {
       return this.$store.getters.language
-    }
+    },
+    languageList() {
+      return this.$store.getters.languageList
+    },
+  },
+  mounted() {
+      this.getLanguageList()
   },
   methods: {
+    getLanguageList(){
+        getLanguages().then(response => {
+            let obj = response
+            let list = []
+            Object.keys(obj).forEach(function(key) {
+                list.push(obj[key])
+            });
+            // this.languageList = list
+            this.$store.dispatch('app/setLanguageList', list)
+        })
+    },
     handleSetLanguage(lang) {
       this.$i18n.locale = lang
       this.$store.dispatch('app/setLanguage', lang)

+ 11 - 3
src/lang/en.js

@@ -306,7 +306,8 @@ export default {
     websiteTitle: 'Member Management System',
     uploadHints: 'Uploading, please hold on. Do not close the window!',
     canNotBeBlank: ' cannot be blank',
-    require: 'is required'
+    require: 'is required',
+    language: "Language"
   },
 
   shop: {
@@ -371,7 +372,9 @@ export default {
     cityName: 'City',
     address: 'Detailed Address',
     memberNotFound: 'Member Not Found',
-    declarationCenterNumber:'Sponsor Code'
+    declarationCenterNumber:'Sponsor Code',
+    salesPrice: 'DP',
+    marketPrice: 'RP',
   },
 
   user: {
@@ -388,7 +391,12 @@ export default {
     BAUpgrade: 'BA Upgrade',
     entryLevel: 'Entry Level',
     selectEntryLevel: 'Select entry level',
-    stockistCode: 'Stockist Code'
+    stockistCode: 'Stockist Code',
+    selectCountry: 'Select Country',
+    selectLanguage: 'Select Language',
+    recommenderName: 'Sponsor ID',
+    recommenderActualName: 'Placement Sponsor ID',
+
   },
 
   atlas: {

+ 14 - 7
src/lang/zh.js

@@ -115,8 +115,8 @@ export default {
     // 二级菜单/接口-networkChart
     placementNetwork: '安置网络',
     placementNetworkEx: '安置网络Ex',
-    sponsorNetwork: '推荐网',
-    sponsorNetworkEx: '推荐网Ex',
+    sponsorNetwork: '推荐网',
+    sponsorNetworkEx: '推荐网Ex',
     brandAmbassadorList: 'BA会员',
     // 二级菜单/接口-bonusManagement
     myAccount: '我的账户',
@@ -305,7 +305,8 @@ export default {
     websiteTitle: '会员管理系统',
     uploadHints: '正在上传,请稍后。请勿关闭窗口!',
     canNotBeBlank: '不能为空',
-    require: '必须填写'
+    require: '必须填写',
+    language: '语言'
   },
   shop: {
     product: '商品',
@@ -369,9 +370,11 @@ export default {
     cityName: '城市',
     address: '详细地址',
     memberNotFound: '找不到这个用户',
-    declarationCenterNumber:'报单中心编号'
-
-
+    declarationCenterNumber: '报单中心编号',
+    country: '国家',
+    paymentCurrency: '支付币种',
+    salesPrice: 'DP',
+    marketPrice: 'RP',
   },
   user: {
     email: '电子邮箱',
@@ -387,7 +390,11 @@ export default {
     BAUpgrade: 'BA会员升级',
     entryLevel: '报单级别',
     selectEntryLevel: '请选择报单级别',
-    stockistCode: '报单中心编号'
+    stockistCode: '报单中心编号',
+    selectCountry: '请选择国家',
+    selectLanguage: '请选择语言',
+    recommenderName: '推荐人编号',
+    recommenderActualName: '实际推荐人编号',
   },
 
   atlas: {

+ 2 - 0
src/store/getters.js

@@ -17,5 +17,7 @@ const getters = {
   decLv: state => state.user.decLv,
   empLv: state => state.user.empLv,
   crownLv: state => state.user.crownLv,
+  languageList: state => state.app.languageList,
+  getCountriesList: state => state.settings.countriesList
 }
 export default getters

+ 10 - 2
src/store/modules/app.js

@@ -8,7 +8,8 @@ const state = {
   },
   device: 'desktop',
   language: getLanguage(),
-  size: Cookies.get('size') || 'medium'
+  size: Cookies.get('size') || 'medium',
+  languageList: []
 }
 
 const mutations = {
@@ -36,6 +37,9 @@ const mutations = {
   SET_SIZE: (state, size) => {
     state.size = size
     Cookies.set('size', size)
+  },
+  SET_LANGUAGE_LIST: (state, languageList) => {
+    state.languageList = languageList
   }
 }
 
@@ -54,7 +58,11 @@ const actions = {
   },
   setSize({ commit }, size) {
     commit('SET_SIZE', size)
-  }
+  },
+  setLanguageList({ commit }, languageList) {
+    commit('SET_LANGUAGE_LIST', languageList)
+  },
+
 }
 
 export default {

+ 21 - 2
src/store/modules/settings.js

@@ -1,6 +1,6 @@
 import variables from '@/styles/element-variables.scss'
 import defaultSettings from '@/settings'
-import { getWebSetting, getPageId } from '@/api/setting'
+import { getWebSetting, getPageId, getCountries } from '@/api/setting'
 
 const { showSettings, tagsView, fixedHeader, sidebarLogo, supportPinyinSearch } = defaultSettings
 
@@ -11,7 +11,8 @@ const state = {
   fixedHeader,
   sidebarLogo,
   supportPinyinSearch,
-  title:'默认网站头'
+  title:'默认网站头',
+  countriesList: []
 }
 
 const mutations = {
@@ -23,6 +24,9 @@ const mutations = {
   },
   SET_WEBTITLE: (state , title) => {
     state.title = title
+  },
+  SET_COUNTRIES_LIST: (state, countriesList) => {
+    state.countriesList = countriesList
   }
 }
 
@@ -47,6 +51,21 @@ const actions = {
       })
     })
   },
+  getCountries({ commit }) {
+    return new Promise((resolve, reject) => {
+      getCountries().then(response => {
+        let obj = response
+        let list = []
+        Object.keys(obj).forEach(function(key) {
+          list.push(obj[key])
+        });
+        commit('SET_COUNTRIES_LIST', list)
+        resolve(list)
+      }).catch(error => {
+        reject(error)
+      })
+    })
+  },
 }
 
 export default {

+ 4 - 4
src/store/modules/user.js

@@ -116,7 +116,8 @@ const actions = {
           BANK_NO: ret.BANK_NO,
           MOBILE: ret.MOBILE,
           CREATED_AT: ret.CREATED_AT,
-          REAL_NAME: ret.REAL_NAME
+          REAL_NAME: ret.REAL_NAME,
+          COUNTRY_ID: ret.COUNTRY_ID
         })
         resolve(response)
       }).catch(error => {
@@ -128,9 +129,8 @@ const actions = {
     return new Promise((resolve, reject) => {
       getBaseInfo({version: 'v2'}).then(response => {
         let ret = response.data
-        console.log(ret)
-        ret.menu[3].child[2].routePath = 'atlas/network-ex'
-        ret.menu[3].child[3].routePath = 'atlas/relation-ex'
+        // ret.menu[3].child[2].routePath = 'atlas/network-ex'
+        ret.menu[3].child[1].routePath = 'atlas/relation-ex'
         usersInfo.clearBaseInfo()
         usersInfo.setBaseInfo(ret)
         resolve(response)

+ 9 - 4
src/views/config/shipping-address-list.vue

@@ -39,7 +39,7 @@
       <el-table-column align="center" :label="$t('common.action')" min-width="150px">
         <template slot-scope="{row}">
 					<el-button-group>
-						<el-button type="primary" size="mini" @click="handleEdit(row)">{{ $t('common.edit') }}</el-button>
+						<el-button type="primary" size="mini" @click="handleEdit(row), getRegion()">{{ $t('common.edit') }}</el-button>
 						<el-button type="danger" size="mini" @click="handleDelete(row.ID)">{{ $t('common.delete') }}</el-button>
 					</el-button-group>
         </template>
@@ -47,7 +47,7 @@
     </el-table>
 
 		<div class="white-box-footer" style="margin-top: 10px;">
-			<el-button size="small" type="primary" @click="dialog = true">{{ $t('config.createAddress') }}</el-button>
+			<el-button size="small" type="primary" @click="dialog = true, getRegion()">{{ $t('config.createAddress') }}</el-button>
 			<pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.pageSize" @pagination="getList" />
 		</div>
 
@@ -127,7 +127,7 @@
 </template>
 
 <script>
-import {createAddress, fetchAddressList, updateAddress, deleteAddress} from '@/api/config'
+import {createAddress, fetchAddressList, updateAddress, deleteAddress, getRegionList} from '@/api/config'
 import waves from '@/directive/waves'
 import Pagination from '@/components/Pagination'
 import {getScreenWidth} from "@/utils"
@@ -171,7 +171,7 @@ export default {
 				address: '',
 				isDefault: '',
 			},
-			regionData: region.regionInfo.regionData,
+			regionData: [],
 			screenWidth: getScreenWidth() > 600 ? '500px' : getScreenWidth() + 'px',
 			labelPosition: getScreenWidth() > 600 ? 'right' : 'top',
     }
@@ -180,6 +180,11 @@ export default {
     this.getList()
   },
   methods: {
+    getRegion(){
+      getRegionList().then(response => {
+        this.regionData = response.data
+      })
+    },
     getList() {
       this.listLoading = true
 			fetchAddressList(this.listQuery).then(response => {

+ 7 - 7
src/views/finance/transfer-list.vue

@@ -97,23 +97,23 @@
 							</el-select>
 						</el-form-item>
 						<el-form-item :label="$t('finance.currentAvailableBonus')">
-							<el-input v-model="balance" readonly>
-								<template slot="append">{{ $t('currency.naira') }}</template>
+							<el-input v-model="balance" readonly disabled>
+<!--								<template slot="append">{{ $t('currency.naira') }}</template>-->
 							</el-input>
 						</el-form-item>
 						<el-form-item :label="$t('finance.currentAvailableEcoin')">
-							<el-input v-model="cash" readonly>
-								<template slot="append">{{ $t('currency.naira') }}</template>
+							<el-input v-model="cash" readonly disabled>
+<!--								<template slot="append">{{ $t('currency.naira') }}</template>-->
 							</el-input>
 						</el-form-item>
 						<el-form-item :label="$t('finance.currentTransferRatio')" v-if="false">
 							<el-input v-model="transferProp" readonly>
-								<template slot="append">{{ $t('currency.naira') }}</template>
+<!--								<template slot="append">{{ $t('currency.naira') }}</template>-->
 							</el-input>
 						</el-form-item>
 						<el-form-item :label="$t('finance.maximumTransferAmount')" v-if="false">
 							<el-input v-model="maxAmount" readonly>
-								<template slot="append">{{ $t('currency.naira') }}</template>
+<!--								<template slot="append">{{ $t('currency.naira') }}</template>-->
 							</el-input>
 						</el-form-item>
 						<el-form-item :label="$t('finance.memberCode')" prop="toUserName" required>
@@ -129,7 +129,7 @@
 							<el-tag type="info">{{ fee }}%</el-tag>
 						</el-form-item>
 						<el-form-item :label="$t('finance.actualAmountTransferredInto')" v-show="fee > 0">
-							<el-tag type="warning">{{ realAmount }} {{ $t('currency.naira') }}</el-tag>
+							<el-tag type="warning">{{ realAmount }}</el-tag>
 						</el-form-item>
 						<el-form-item :label="$t('finance.remark')" prop="remark">
 							<el-input size="small" v-model="form.remark" type="text"></el-input>

+ 33 - 2
src/views/profile/components/Account.vue

@@ -4,7 +4,10 @@
       <span>{{ $t('profile.personalInformation') }}</span>
     </div>
 
-    <el-form v-loading="loading" wi>
+    <el-form v-loading="loading">
+      <el-form-item :label="$t('shop.country')">
+        <el-input v-model="countryName" size="medium" prefix-icon="el-icon-user-solid" readonly />
+      </el-form-item>
       <el-form-item :label="$t('shop.memberCode')">
         <el-input v-model="user.name" size="medium" prefix-icon="el-icon-user-solid" readonly />
       </el-form-item>
@@ -44,9 +47,27 @@ export default {
   },
   data() {
     return {
-      loading: false
+      loading: false,
+      countryName:''
     }
   },
+  mounted() {
+    this.getCountries()
+  },
+  watch:{
+    countriesList: {
+      handler(newValue, old) {
+        if (newValue) {
+          this.getCountryId()
+        }
+      },
+    },
+  },
+  computed:{
+    countriesList() {
+      return this.$store.getters.getCountriesList
+    },
+  },
   methods: {
     submit() {
       const data = {
@@ -81,6 +102,16 @@ export default {
         })
         this.loading = false
       })
+    },
+    //国家列表
+    getCountries() {
+      this.$store.dispatch('settings/getCountries')
+    },
+    getCountryId(){
+      let countryId = JSON.parse(window.localStorage.getItem('baseData')).COUNTRY_ID
+      let country =  this.countriesList.find(item => item.ID === countryId)
+      console.log(country)
+      this.countryName = country.NAME
     }
   }
 }

+ 7 - 0
src/views/profile/components/UserCard.vue

@@ -133,6 +133,13 @@ export default {
 			tool: tool,
 		}
 	},
+
+
+
+  methods: {
+
+
+  }
 }
 </script>
 

+ 3 - 3
src/views/shop/ba-dec-order-list.vue

@@ -29,12 +29,12 @@
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.productPrice')">
 									<template slot-scope="{row}">
-										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row.REAL_PRICE | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row.REAL_PRICE | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalPrice')">
 									<template slot-scope="{row}">
-										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row | priceAmountFilter | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row | priceAmountFilter | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalBV')">
@@ -49,7 +49,7 @@
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalTaxAmount')">
 									<template slot-scope="{row}">
-										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row | taxAmountFilter | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row | taxAmountFilter | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 							</el-table>

+ 2 - 2
src/views/shop/car-fund-products.vue

@@ -41,8 +41,8 @@
         <el-button type="primary" size="small" style="float: left;" @click="settlement()">{{ $t('shop.checkOut') }}</el-button>
       </div>
       <div class="flex data" style="float: right; display: inline-block; line-height: 28px; font-size: 14px; margin-top: 10px; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 5px;">
-        <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ sellPriceSum | toThousandFilter }}</div>
-        <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum | toThousandFilter }}</div>
+        <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}: {{ sellPriceSum | toThousandFilter }}</div>
+        <div style="display: inline-block;">{{ $t('shop.taxAmount') }}: {{ taxSum | toThousandFilter }}</div>
       </div>
     </div>
 

+ 3 - 3
src/views/shop/dec-order-list.vue

@@ -29,12 +29,12 @@
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.productPrice')">
 									<template slot-scope="{row}">
-										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row.REAL_PRICE | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row.REAL_PRICE | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalPrice')">
 									<template slot-scope="{row}">
-										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row | priceAmountFilter | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row | priceAmountFilter | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalBV')">
@@ -49,7 +49,7 @@
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalTaxAmount')">
 									<template slot-scope="{row}">
-										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row | taxAmountFilter | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row | taxAmountFilter | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 							</el-table>

+ 14 - 4
src/views/shop/order-list.vue

@@ -29,12 +29,12 @@
 								</el-table-column>
 								<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 | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row.REAL_PRICE | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalPrice')">
 									<template slot-scope="{row}">
-										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row | priceAmountFilter | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row | priceAmountFilter | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalBV')">
@@ -49,7 +49,7 @@
 								</el-table-column>
 								<el-table-column align="center" :label="$t('shop.totalTaxAmount')">
 									<template slot-scope="{row}">
-										<span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row | taxAmountFilter | toThousandFilter }}</span>
+										<span style="white-space: nowrap;"> {{ row | taxAmountFilter | toThousandFilter }}</span>
 									</template>
 								</el-table-column>
 							</el-table>
@@ -79,6 +79,16 @@
 					<span>{{ row.FULL_ADDRESS }}</span>
 				</template>
 			</el-table-column>
+      <el-table-column align="center" :label="$t('shop.country')" prop="COUNTRY" min-width="140px">
+        <template slot-scope="{row}">
+          <span>{{ row.COUNTRY }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" :label="$t('shop.paymentCurrency')" prop="COUNTRY" min-width="140px">
+        <template slot-scope="{row}">
+          <span>{{ row.CURRENCY }}</span>
+        </template>
+      </el-table-column>
       <el-table-column align="center" :label="$t('shop.payment')" prop="PAY_TYPE" min-width="100px"></el-table-column>
       <el-table-column align="center" :label="$t('shop.createdTime')" prop="CREATED_AT" min-width="110px">
         <template slot-scope="{row}">
@@ -163,7 +173,7 @@ export default {
       this.listLoading = true
       fetchOrderList(this.listQuery).then(response => {
         this.tableData = response.data.list
-        this.total = +response.data.totalCount 
+        this.total = +response.data.totalCount
         setTimeout(() => {
           this.listLoading = false
         }, 0.5 * 1000)

+ 90 - 31
src/views/shop/reconsume.vue

@@ -1,5 +1,14 @@
 <template>
   <div class="app-container">
+    <div class="noList">
+      <el-input
+          v-model.trim="memberDetails.number"
+          :placeholder="$t('user.enterMemberCode')"
+          clearable
+          @change="memberRemoteMethod"
+          style="max-width: 50%"
+      ></el-input>
+    </div>
     <el-table :key="tableKey" ref="multipleTable" v-loading="listLoading" :data="tableData" :show-header="false" fit @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="30" align="center" />
       <!--		<el-table-column align="center" type="index" width="50"></el-table-column>-->
@@ -14,18 +23,21 @@
                 <el-col :xs="24" :sm="24" :lg="6">
                   <span style="cursor: pointer;" @click="handleProduct(row)">{{ row.GOODS_NAME }}</span>
                 </el-col>
-                <el-col :xs="24" :sm="24" :lg="4">
+                <el-col :xs="24" :sm="24" :lg="3">
                   <span style="color: #9c9c9c; cursor: pointer;">{{ row.GOODS_NO }}</span>
                 </el-col>
-                <el-col :xs="24" :sm="24" :lg="5">
+                <el-col :xs="24" :sm="24" :lg="4">
                   <span style="font-size: 13px;">
                     <span style="font-weight: bold; color: tomato;">
-                      {{ $t('currency.sign') }} {{ row.SELL_PRICE | toThousandFilter }}
+                       DP:{{row.COIN}} {{ row.SELL_PRICE | toThousandFilter }}
                       <span style="font-weight:normal; color: #606266;">({{ row.PRICE_PV | toThousandFilter }}{{ $t('shop.productBV') }})</span>
                     </span>
                   </span>
                 </el-col>
-                <el-col :xs="24" :sm="24" :lg="4">
+                <el-col :xs="24" :sm="24" :lg="3">
+                  <span style="font-size: 13px;">RP:{{row.COIN}} {{ row.MARKET_PRICE }}</span>
+                </el-col>
+                <el-col :xs="24" :sm="24" :lg="3">
                   <span style="font-size: 13px;">{{ $t('shop.inventory') }}:{{ row.STORE_NUMS }}</span>
                 </el-col>
                 <el-col :xs="24" :sm="24" :lg="5">
@@ -45,9 +57,9 @@
         <el-button type="primary" size="small" style="float: left;" @click="settlement()">{{ $t('shop.checkOut') }}</el-button>
       </div>
       <div class="flex data" style="float: right; display: inline-block; line-height: 28px; font-size: 14px; margin-top: 10px; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 5px;">
-        <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ sellPriceSum | toThousandFilter }}</div>
+        <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{currencyUnitCode}} {{ sellPriceSum | toThousandFilter }}</div>
         <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productBV') }}:{{ pricePvSum | toThousandFilter }}</div>
-        <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum | toThousandFilter }}</div>
+        <div style="display: inline-block;">{{ $t('shop.taxAmount') }}: {{currencyUnitCode}} {{ taxSum | toThousandFilter }}</div>
       </div>
     </div>
 
@@ -64,22 +76,22 @@
                   </el-aside>
                   <el-main style="padding: 10px 5px; text-align: left;">
                     <el-row :gutter="10">
-                      <el-col :xs="24" :sm="8" :lg="8">
+                      <el-col :xs="24" :sm="8" :lg="7">
                         <span style="cursor: pointer;" @click="handleProduct(row)">{{ row.GOODS_NAME }}</span>
                       </el-col>
-                      <el-col :xs="24" :sm="4" :lg="4">
+                      <el-col :xs="24" :sm="4" :lg="3">
                         <span style="color: #9c9c9c; cursor: pointer;">{{ row.GOODS_NO }}</span>
                       </el-col>
-                      <el-col :xs="20" :sm="8" :lg="8">
-                        <span style="font-weight: bold;">{{ $t('currency.sign') }} {{ row.member_price | toThousandFilter }}</span>
+                      <el-col :xs="20" :sm="8" :lg="6">
+                        <span style="font-weight: bold;"> {{currencyUnitCode}} {{ row.member_price | toThousandFilter }}</span>
                         <!-- <span style="font-weight:normal; color: #606266;">({{ row.PRICE_PV | toThousandFilter }}{{ $t('shop.productBV') }})</span> -->
                         <span>({{ row.PRICE_PV | toThousandFilter }}{{ $t('shop.productBV') }})</span><br>
                       </el-col>
-                      <el-col :xs="8" :sm="3" :lg="3">
+                      <el-col :xs="8" :sm="3" :lg="2">
                         <span style="">x {{ row.chose_num }}</span>
                       </el-col>
-                      <el-col :xs="24" :sm="5" :lg="5">
-                        <span style="color: tomato; font-weight: bold;">{{ $t('currency.sign') }} {{ row.member_price_plus | toThousandFilter }}</span>
+                      <el-col :xs="24" :sm="5" :lg="4">
+                        <span style="color: tomato; font-weight: bold;"> {{currencyUnitCode}} {{ row.member_price_plus | toThousandFilter }}</span>
                         <span>({{ row.PRICE_PV | toThousandFilter }}{{ $t('shop.productBV') }})</span><br>
                       </el-col>
                     </el-row>
@@ -97,8 +109,8 @@
                   <span style="font-weight: bold; word-break: normal; white-space: normal; line-height: 28px;">{{ $t('shop.totalOrders') }}:</span>
                 </el-col>
                 <el-col :xs="24" :sm="24" :lg="21" style="word-break: normal; white-space: nowrap; line-height: 28px;">
-                  <span>{{ $t('shop.total') }}:{{ $t('currency.sign') }} {{ parseFloat(cashSum) | toThousandFilter }}({{ pricePvSum | toThousandFilter }}{{ $t('shop.productBV') }})</span><br>
-                  <span>{{ $t('shop.freight') }}:{{ $t('currency.sign') }} {{ pointFreight }}</span>
+                  <span>{{ $t('shop.total') }}: {{currencyUnitCode}} {{ parseFloat(cashSum) | toThousandFilter }}({{ pricePvSum | toThousandFilter }}{{ $t('shop.productBV') }})</span><br>
+                  <span>{{ $t('shop.freight') }}: {{currencyUnitCode}} {{ pointFreight }}</span>
                 </el-col>
               </el-row>
             </div>
@@ -113,7 +125,7 @@
                   <el-col :xs="24" :sm="24" :lg="15">
                     <span>{{ $t('shop.reconsumeUserCode') }}</span>
                   </el-col>
-                  <el-input v-model="newOrder.userName" @change="handleChkRecUser" />
+                  <el-input v-model.trim="newOrder.userName" disabled @change="handleChkRecUser" />
                   <span style="margin-left: 10px">【{{ newOrder.recRealName }}】</span>
                 </el-form-item>
                 <el-form-item>
@@ -167,7 +179,8 @@
                   <el-radio-group v-model="payType" @change="chosePayType">
                     <div v-for="(item, index) in payList" :key="index" class="address">
                       <el-radio :label="item.label" border>
-                        {{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">({{ $t('currency.sign') }} {{ userBalance.cash | toThousandFilter }})</span>
+                        {{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">( {{currencyUnitCode}} {{ userBalance.cash | toThousandFilter }})</span>
+                          <span v-if="item.label === 'prp'" style="color: tomato;">( {{currencyUnitCode}} {{ userBalance.prp | toThousandFilter }})</span>
                       </el-radio>
                     </div>
                   </el-radio-group>
@@ -240,10 +253,11 @@
           <div style="text-align: left; line-height: 50px; font-size: 16px;">
             <span style="font-weight: bold; font-size: 20px;">{{ product.GOODS_NAME }}</span><br>
             <span style="font-weight: bold; font-size: 15px;">{{ $t('shop.productCode') }}:{{ product.GOODS_NO }}</span><br>
-            <span style="color: tomato;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ product.SELL_PRICE | toThousandFilter }}</span><br>
+            <span style="color: tomato;">{{ $t('shop.salesPrice') }}:{{currencyUnitCode}} {{ product.SELL_PRICE }}</span><br>
+            <span>{{ $t('shop.marketPrice') }}:{{currencyUnitCode}} {{ product.MARKET_PRICE }}</span><br>
             <span>{{ $t('shop.productBV') }}:{{ product.PRICE_PV | toThousandFilter }}</span><br>
             <span>{{ $t('shop.taxRate') }}:{{ product.TAX_RATE / 100 }}</span><br>
-            <span>{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ product.taxAmount | toThousandFilter }}</span><br>
+            <span>{{ $t('shop.taxAmount') }}: {{ product.taxAmount | toThousandFilter }}</span><br>
             <span>{{ $t('shop.inventory') }}:{{ product.STORE_NUMS }}</span>
           </div>
         </el-col>
@@ -260,6 +274,8 @@ import {
   fetchReconsumeProductList,
   fetchShoppingCart
 } from '@/api/shop'
+import {getRegionList} from '@/api/config'
+
 import { fetchFullInfo } from '@/api/user'
 import Pagination from '@/components/Pagination'
 import waves from '@/directive/waves'
@@ -294,11 +310,11 @@ export default {
       list: [],
       total: 0,
       tableData: [],
-      listLoading: true,
+      listLoading: false,
       listQuery: {
         categoryType: 1,
         page: 1,
-        limit: 50
+        limit: 50,
       },
       tool: tool,
       multipleSelection: [],
@@ -338,7 +354,7 @@ export default {
       payType: 'cash',
       payStackLoading: false,
       channels: ['card', 'bank', 'ussd', 'qr'],
-      regionData: region.regionInfo.regionData,
+      regionData: [],
       areaDisabled: false,
       form: {
         publicKey: process.env.VUE_APP_BASE_PAY_STACK_PUBLIC_KEY,
@@ -380,7 +396,7 @@ export default {
       selfPickUpAddressId: '100000000000000000',
       shippingAddressList: [],
 
-      screenWidth: getScreenWidth() > 600 ? '80%' : getScreenWidth() + 'px',
+      screenWidth: getScreenWidth() > 600 ? '50%' : getScreenWidth() + 'px',
       labelPosition: getScreenWidth() > 600 ? 'right' : 'top',
       dialog: false,
       dialogLoading: false,
@@ -395,7 +411,14 @@ export default {
         TAX_RATE: 0,
         taxAmount: 0
       },
-      imageStyle: 'margin-top: -50px;'
+      imageStyle: 'margin-top: 0px;',
+      countries: null,
+      memberLoading: false,
+      memberList: [],
+      memberDetails: {
+        number: '',
+      },
+      currencyUnitCode: ""
     }
   },
   computed: {
@@ -407,16 +430,45 @@ export default {
         text += possible.charAt(Math.floor(Math.random() * possible.length))
       }
       return text
-    }
+    },
   },
   created() {
-    this.getList()
+    // this.getList()
   },
   mounted() {
     // 支付方式、账户信息、余额
-    this.getShoppingCart()
   },
   methods: {
+    getRegion(){
+      getRegionList({countryId: this.memberDetails.countryId}).then(response => {
+        this.regionData = response.data
+      })
+    },
+    memberRemoteMethod(e){
+      console.log(e)
+      if (e) {
+        this.memberLoading = true
+        fetchFullInfo({ userName: e }).then(response => {
+          let memberDetails = {...response.data}
+          // countryId
+          this.memberDetails = {...this.memberDetails, ...response.data}
+          this.newOrder.recRealName = response.data.REAL_NAME
+          this.newOrder.userName = this.memberDetails.number
+          this.listQuery.userId = memberDetails.userId
+          this.memberLoading = false
+          this.getList()
+          this.getShoppingCart()
+        }).catch(() => {
+          this.memberLoading = false
+        })
+      } else {
+        this.newOrder.recRealName = null
+        this.newOrder.userName = null
+        this.listQuery.userId = null
+        this.tableData = []
+        this.total = 0
+      }
+    },
     // 商品列表
     getList() {
       this.listLoading = true
@@ -433,7 +485,9 @@ export default {
           this.storeNums[i] = 1
           settingObj[i].chose_num = 0
         }
-
+        if(this.list && this.list.length > 0){
+          this.currencyUnitCode = this.list[0].COIN
+        }
         this.tableData = Object.values(settingObj)
         const pageList = this.multipleSelection[this.currentPage]
         this.$nextTick(function() {
@@ -525,6 +579,7 @@ export default {
       this.visibleShoppingCart = true
       // 展示购物车商品数据
       this.getShowCart()
+      this.getRegion()
     },
     // 设置运费
     setFreight() {
@@ -551,7 +606,7 @@ export default {
             }
           }, 0)
           if (index !== 2) {
-            sums[index] = this.$t('currency.sign') + ' ' + sums[index]
+            sums[index] = sums[index]
           }
         }
       })
@@ -560,7 +615,7 @@ export default {
     },
     // 支付方式、账户信息、余额
     getShoppingCart() {
-      fetchShoppingCart({ categoryType: this.listQuery.categoryType }).then(response => {
+      fetchShoppingCart({ categoryType: this.listQuery.categoryType, userId: this.listQuery.userId }).then(response => {
         // 收货地址
         this.shippingAddressList = response.data.allAddress
         this.shippingAddressList.map(item => {
@@ -581,11 +636,12 @@ export default {
           }
         }
         // 支付方式的第一项默认选中
-        this.payType = Object.values(this.payList)[1]['label']
+        this.payType = Object.values(this.payList)[0]['label']
         // 免运费阈值
         this.freeShipping = response.data.freeShipping
         // 运费
         this.freight = response.data.freight
+
       })
     },
     // 支付
@@ -854,4 +910,7 @@ export default {
   border: none;
   padding: 0;
 }
+.noList{
+  margin: 10px 0;
+}
 </style>

+ 28 - 19
src/views/shop/standard-products.vue

@@ -14,18 +14,21 @@
                 <el-col :xs="24" :sm="24" :lg="6">
                   <span style="cursor: pointer;" @click="handleProduct(row)">{{ row.GOODS_NAME }}</span>
                 </el-col>
-                <el-col :xs="24" :sm="24" :lg="4">
+                <el-col :xs="24" :sm="24" :lg="3">
                   <span style="color: #9c9c9c; cursor: pointer;">{{ row.GOODS_NO }}</span>
                 </el-col>
-                <el-col :xs="24" :sm="24" :lg="5">
+                <el-col :xs="24" :sm="24" :lg="4">
                   <span style="font-size: 13px;">
                     <span style="font-weight: bold; color: tomato;">
-                      {{ $t('currency.sign') }} {{ row.SELL_PRICE | toThousandFilter }}
+                       DP:{{row.COIN}} {{ row.SELL_PRICE | toThousandFilter }}
                       <span style="font-weight:normal; color: #606266;">({{ row.PRICE_PV | toThousandFilter }}{{ $t('shop.productBV') }})</span>
                     </span>
                   </span>
                 </el-col>
-                <el-col :xs="24" :sm="24" :lg="4">
+                <el-col :xs="24" :sm="24" :lg="3">
+                  <span style="font-size: 13px;">RP:{{row.COIN}} {{ row.MARKET_PRICE }}</span>
+                </el-col>
+                <el-col :xs="24" :sm="24" :lg="3">
                   <span style="font-size: 13px;">{{ $t('shop.inventory') }}:{{ row.STORE_NUMS }}</span>
                 </el-col>
                 <el-col :xs="24" :sm="24" :lg="5">
@@ -45,9 +48,9 @@
         <el-button type="primary" size="small" style="float: left;" @click="settlement()">{{ $t('shop.checkOut') }}</el-button>
       </div>
       <div class="flex data" style="float: right; display: inline-block; line-height: 28px; font-size: 14px; margin-top: 10px; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 5px;">
-        <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ sellPriceSum | toThousandFilter }}</div>
+        <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}: {{currencyUnitCode}} {{ sellPriceSum | toThousandFilter }}</div>
         <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productBV') }}:{{ pricePvSum | toThousandFilter }}</div>
-        <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum | toThousandFilter }}</div>
+        <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{currencyUnitCode}}  {{ taxSum | toThousandFilter }}</div>
       </div>
     </div>
 
@@ -71,14 +74,14 @@
                         <span style="color: #9c9c9c; cursor: pointer;">{{ row.GOODS_NO }}</span>
                       </el-col>
                       <el-col :xs="16" :sm="4" :lg="4">
-                        <span style="font-weight: bold;">{{ $t('currency.sign') }} {{ row.member_price | toThousandFilter }}</span>
+                        <span style="font-weight: bold;"> {{currencyUnitCode}} {{ row.member_price | toThousandFilter }}</span>
                         <span>({{ row.PRICE_PV | toThousandFilter }}{{ $t('shop.productBV') }})</span><br>
                       </el-col>
                       <el-col :xs="8" :sm="3" :lg="3">
                         <span style="">x {{ row.chose_num }}</span>
                       </el-col>
                       <el-col :xs="24" :sm="5" :lg="5">
-                        <span style="color: tomato; font-weight: bold;">{{ $t('currency.sign') }} {{ row.member_price_plus | toThousandFilter }}</span>
+                        <span style="color: tomato; font-weight: bold;">{{currencyUnitCode}} {{ row.member_price_plus | toThousandFilter }}</span>
                         <span style="color: tomato;">({{ row.PRICE_PV | toThousandFilter }}{{ $t('shop.productBV') }})</span><br>
                       </el-col>
                     </el-row>
@@ -96,8 +99,8 @@
                   <span style="font-weight: bold; word-break: normal; white-space: normal; line-height: 28px;">{{ $t('shop.totalOrders') }}:</span>
                 </el-col>
                 <el-col :xs="24" :sm="24" :lg="21" style="word-break: normal; white-space: nowrap; line-height: 28px;">
-                  <span>{{ $t('shop.total') }}:{{ $t('currency.sign') }} {{ parseFloat(cashSum) | toThousandFilter }}({{ pricePvSum | toThousandFilter }}{{ $t('shop.productBV') }})</span><br>
-                  <span>{{ $t('shop.freight') }}:{{ $t('currency.sign') }} {{ pointFreight }}</span>
+                  <span>{{ $t('shop.total') }}:{{currencyUnitCode}} {{ parseFloat(cashSum) | toThousandFilter }}({{ pricePvSum | toThousandFilter }}{{ $t('shop.productBV') }})</span><br>
+                  <span>{{ $t('shop.freight') }}:{{currencyUnitCode}} {{ pointFreight }}</span>
                 </el-col>
               </el-row>
             </div>
@@ -107,7 +110,7 @@
                 <el-input v-model="recUserName" :disabled="isDec == '1'" />
               </el-form-item>
             </el-form>
-            
+
             <!-- 支付方式/账户余额 {{ cashCurrency }}:  -->
             <div class="" style="margin: 15px 0;">
               <el-row :gutter="20" type="flex" style="flex-wrap: wrap;">
@@ -118,7 +121,8 @@
                   <el-radio-group v-model="payType" @change="chosePayType">
                     <div v-for="(item, index) in payList" :key="index" class="address">
                       <el-radio :label="item.label" border>
-                        {{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">({{ $t('currency.sign') }} {{ userBalance.cash | toThousandFilter }})</span>
+                        {{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">( {{currencyUnitCode}} {{ userBalance.cash | toThousandFilter }})</span>
+                          <span v-if="item.label === 'prp'" style="color: tomato;">( {{currencyUnitCode}} {{ userBalance.prp | toThousandFilter }})</span>
                       </el-radio>
                     </div>
                   </el-radio-group>
@@ -215,10 +219,11 @@
           <div style="text-align: left; line-height: 50px; font-size: 16px;">
             <span style="font-weight: bold; font-size: 20px;">{{ product.GOODS_NAME }}</span><br>
             <span style="font-weight: bold; font-size: 15px;">{{ $t('shop.productCode') }}:{{ product.GOODS_NO }}</span><br>
-            <span style="color: tomato;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ product.SELL_PRICE | toThousandFilter }}</span><br>
+            <span style="color: tomato;">{{ $t('shop.salesPrice') }}:{{currencyUnitCode}} {{ product.SELL_PRICE }}</span><br>
+            <span>{{ $t('shop.marketPrice') }}:{{currencyUnitCode}} {{ product.MARKET_PRICE }}</span><br>
             <span>{{ $t('shop.productBV') }}:{{ product.PRICE_PV | toThousandFilter }}</span><br>
             <span>{{ $t('shop.taxRate') }}:{{ product.TAX_RATE / 100 }}</span><br>
-            <span>{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ product.taxAmount | toThousandFilter }}</span><br>
+            <span>{{ $t('shop.taxAmount') }}:{{ product.taxAmount | toThousandFilter }}</span><br>
             <span>{{ $t('shop.inventory') }}:{{ product.STORE_NUMS }}</span>
           </div>
         </el-col>
@@ -328,7 +333,7 @@ export default {
             }
           ]
         },
-        
+
       },
       payStackScreenWidth: getScreenWidth() > 500 ? '450px' : getScreenWidth() + 'px',
 
@@ -336,7 +341,7 @@ export default {
       selfPickUpAddressId: '100000000000000000',
       shippingAddressList: [],
 
-      screenWidth: getScreenWidth() > 600 ? '80%' : getScreenWidth() + 'px',
+      screenWidth: getScreenWidth() > 600 ? '50%' : getScreenWidth() + 'px',
       labelPosition: getScreenWidth() > 600 ? 'right' : 'top',
       dialog: false,
       dialogLoading: false,
@@ -355,7 +360,8 @@ export default {
       recRealName:null,
       // recUserName:usersInfo.userName(),
       recUserName:null,
-      isDec:null
+      isDec:null,
+      currencyUnitCode: ""
     }
   },
   computed: {
@@ -507,7 +513,7 @@ export default {
             }
           }, 0)
           if (index !== 2) {
-            sums[index] = this.$t('currency.sign') + ' ' + sums[index]
+            sums[index] = sums[index]
           }
         }
       })
@@ -537,13 +543,16 @@ export default {
           }
         }
         // 支付方式的第一项默认选中
-        this.payType = Object.values(this.payList)[1]['label']
+        this.payType = Object.values(this.payList)[0]['label']
         // 免运费阈值
         this.freeShipping = response.data.freeShipping
         // 运费
         this.freight = response.data.freight
         //是否是报单中心
         this.isDec = response.data.isDec
+        //货币单位
+        this.currencyUnitCode = response.data.coin
+
       })
     },
     // 支付

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

@@ -41,8 +41,8 @@
         <el-button type="primary" size="small" style="float: left;" @click="settlement()">{{ $t('shop.checkOut') }}</el-button>
       </div>
       <div class="flex data" style="float: right; display: inline-block; line-height: 28px; font-size: 14px; margin-top: 10px; border: 1px solid #dcdfe6; border-radius: 4px; padding: 0 5px;">
-        <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ sellPriceSum | toThousandFilter }}</div>
-        <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum | toThousandFilter }}</div>
+        <div style="margin-right: 2rem; display: inline-block;">{{ $t('shop.productPrice') }}: {{ sellPriceSum | toThousandFilter }}</div>
+        <div style="display: inline-block;">{{ $t('shop.taxAmount') }}: {{ taxSum | toThousandFilter }}</div>
       </div>
     </div>
 

+ 6 - 6
src/views/user/brand-ambassador.vue

@@ -30,7 +30,7 @@
 														<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 | toThousandFilter}}</span><br />
+															<span style="color: tomato;">{{ $t('shop.productPrice') }}:{{ row.SELL_PRICE | toThousandFilter}}</span><br />
 															<span>{{ $t('shop.productBV') }}:{{ row.PRICE_PV | toThousandFilter }}</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>
@@ -45,9 +45,9 @@
 
 									<div class="white-box-footer">
 										<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 | toThousandFilter }}</div>
+											<div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productPrice') }}: {{ sellPriceSum | toThousandFilter }}</div>
 											<div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productBV') }}:{{ pricePvSum | toThousandFilter }}</div>
-											<div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum | toThousandFilter }}</div>
+											<div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ taxSum | toThousandFilter }}</div>
 										</div>
 									</div>
 								</el-tab-pane>
@@ -107,7 +107,7 @@
 						<el-form-item :label="$t('shop.paymentMethod')" required>
 							<el-radio-group v-model="form.payType" @change="chosePayType">
 								<el-radio border v-for="(item, index) in payList" :key='index' :label="item.label" style="margin: 5px;">
-									{{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">({{ $t('currency.sign') }} {{ userBalance.cash | toThousandFilter }})</span>
+									{{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">( {{ userBalance.cash | toThousandFilter }})</span>
 								</el-radio>
 							</el-radio-group>
 						</el-form-item>
@@ -171,10 +171,10 @@
 					<div style="text-align: left; line-height: 50px; font-size: 16px;">
 						<span style="font-weight: bold; font-size: 20px;">{{ product.GOODS_NAME }}</span><br />
 						<span style="font-weight: bold; font-size: 15px;">{{ $t('shop.productCode') }}:{{ product.GOODS_NO }}</span><br />
-						<span style="color: tomato;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ product.SELL_PRICE | toThousandFilter }}</span><br />
+						<span style="color: tomato;">{{ $t('shop.productPrice') }}: {{ product.SELL_PRICE | toThousandFilter }}</span><br />
 						<span>{{ $t('shop.productBV') }}:{{ product.PRICE_PV | toThousandFilter }}</span><br />
 						<span>{{ $t('shop.taxRate') }}:{{ product.TAX_RATE / 100 }}</span><br />
-						<span>{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ product.taxAmount | toThousandFilter }}</span><br />
+						<span>{{ $t('shop.taxAmount') }}: {{ product.taxAmount | toThousandFilter }}</span><br />
 						<span>{{ $t('shop.inventory') }}:{{ product.STORE_NUMS }}</span>
 					</div>
 				</el-col>

+ 13 - 3
src/views/user/member-order.vue

@@ -29,12 +29,12 @@
                 </el-table-column>
                 <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 | toThousandFilter }}</span>
+                    <span style="white-space: nowrap;"> {{ row.REAL_PRICE | toThousandFilter }}</span>
                   </template>
                 </el-table-column>
                 <el-table-column align="center" :label="$t('shop.totalPrice')">
                   <template slot-scope="{row}">
-                    <span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row | priceAmountFilter | toThousandFilter }}</span>
+                    <span style="white-space: nowrap;"> {{ row | priceAmountFilter | toThousandFilter }}</span>
                   </template>
                 </el-table-column>
                 <el-table-column align="center" :label="$t('shop.totalBV')">
@@ -49,7 +49,7 @@
                 </el-table-column>
                 <el-table-column align="center" :label="$t('shop.totalTaxAmount')">
                   <template slot-scope="{row}">
-                    <span style="white-space: nowrap;">{{ $t('currency.sign') }} {{ row | taxAmountFilter | toThousandFilter }}</span>
+                    <span style="white-space: nowrap;">  {{ row | taxAmountFilter | toThousandFilter }}</span>
                   </template>
                 </el-table-column>
               </el-table>
@@ -79,6 +79,16 @@
           <span>{{ row.FULL_ADDRESS }}</span>
         </template>
       </el-table-column>
+      <el-table-column align="center" :label="$t('shop.country')" prop="COUNTRY" min-width="140px">
+        <template slot-scope="{row}">
+          <span>{{ row.COUNTRY }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" :label="$t('shop.paymentCurrency')" prop="COUNTRY" min-width="140px">
+        <template slot-scope="{row}">
+          <span>{{ row.CURRENCY }}</span>
+        </template>
+      </el-table-column>
       <el-table-column align="center" :label="$t('shop.payment')" prop="PAY_TYPE" min-width="100px" />
       <el-table-column align="center" :label="$t('shop.createdTime')" prop="CREATED_AT" min-width="110px">
         <template slot-scope="{row}">

+ 39 - 58
src/views/user/member-upgrade.vue

@@ -17,18 +17,18 @@
               <el-input v-model="form.addAt" disabled />
             </el-form-item>
 
-            <el-form-item v-if="showProduct && isVipAndStalment" :label="$t('profile.upgradeWay')">
+            <el-form-item v-if="!isMax" :label="$t('profile.upgradeWay')">
               <el-input v-model="form.upgradeFunc" disabled />
             </el-form-item>
-            <el-form-item v-if="showProduct && isVipAndStalment" prop="upgradeValue" :label="$t('profile.toUpgradeLevel')">
+            <el-form-item v-if="!isMax" prop="upgradeValue" :label="$t('profile.toUpgradeLevel')">
               <el-select v-model="form.upgradeValue" :placeholder="$t('profile.selectLevel')" style="width: 100%;" @change="handleChangeLevel($event)">
                 <el-option v-for="item in upgradeOption" :key="item.ID" :label="item.LEVEL_NAME" :value="{value:item.ID, diffPv:item.REPAIR_PV}" />
               </el-select>
             </el-form-item>
-            <el-form-item v-if="showProduct && isVipAndStalment" :label="$t('profile.topUpBV')">
+            <el-form-item v-if="!isMax" :label="$t('profile.topUpBV')">
               <el-input v-model="needDiffPv" disabled />
             </el-form-item>
-            <el-form-item v-if="showProduct">
+            <el-form-item v-if="!isMax">
               <template slot="label">{{ $t('profile.upgradePurchaseProduct') }}</template>
               <el-tabs v-model="decWay" type="border-card" style="position: relative; width: 100%;">
                 <el-tab-pane :label="$t('shop.product')" name="2">
@@ -46,8 +46,9 @@
                                 <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 | toThousandFilter }}</span><br>
+                                  <span style="color: tomato;">{{ $t('shop.salesPrice') }}:{{row.CODE}} {{ row.SELL_PRICE | toThousandFilter }}</span><br>
                                   <span>{{ $t('shop.productBV') }}:{{ row.PRICE_PV | toThousandFilter }}</span><br>
+                                  <span>{{ $t('shop.marketPrice') }}:{{row.CODE}} {{ row.MARKET_PRICE | toThousandFilter }}</span><br>
                                   <span style="display: inline-block; float: right; ">
                                     <el-input-number v-model="storeNums[$index]" size="mini" :min="1" :max="Number(row.STORE_NUMS)" @change="handleInputNumber($event, row)" />
                                   </span>
@@ -63,45 +64,45 @@
 
                   <div class="white-box-footer">
                     <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 | toThousandFilter }}</div>
+                      <div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productPrice') }}:{{currencyUnitCode}} {{ sellPriceSum | toThousandFilter }}</div>
                       <div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productBV') }}:{{ pricePvSum | toThousandFilter }}</div>
-                      <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum }}</div>
+                      <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{currencyUnitCode}} {{ taxSum }}</div>
                     </div>
                   </div>
                 </el-tab-pane>
               </el-tabs>
             </el-form-item>
-            <el-form-item v-if="showProduct" :label="$t('shop.recipientName')">
+            <el-form-item v-if="!isMax" :label="$t('shop.recipientName')">
               <el-input v-model="form.consignee" />
             </el-form-item>
-            <el-form-item v-if="showProduct" :label="$t('shop.phoneNumber')">
+            <el-form-item v-if="!isMax" :label="$t('shop.phoneNumber')">
               <el-input v-model="form.acceptMobile" />
             </el-form-item>
-            <el-form-item v-if="showProduct" prop="areaSelected" :label="$t('config.state')">
+            <el-form-item v-if="!isMax" prop="areaSelected" :label="$t('config.state')">
               <el-cascader v-model="form.areaSelected" size="large" :options="regionData" style="width: 100%;" />
             </el-form-item>
-            <el-form-item v-if="showProduct" :label="$t('config.localGovernmentArea')">
+            <el-form-item v-if="!isMax" :label="$t('config.localGovernmentArea')">
               <el-input v-model="form.lgaName" />
             </el-form-item>
-            <el-form-item v-if="showProduct" :label="$t('config.city')">
+            <el-form-item v-if="!isMax" :label="$t('config.city')">
               <el-input v-model="form.cityName" />
             </el-form-item>
-            <el-form-item v-if="showProduct" :label="$t('config.detailedAddress')">
+            <el-form-item v-if="!isMax" :label="$t('config.detailedAddress')">
               <el-input v-model="form.address" />
             </el-form-item>
-            <el-form-item v-if="showProduct" :label="$t('common.note')">
+            <el-form-item v-if="!isMax" :label="$t('common.note')">
               <el-input v-model="form.remark" type="textarea" />
             </el-form-item>
 
-            <el-form-item v-if="showProduct" :label="$t('shop.paymentMethod')" required style="padding-left: 0;">
+            <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-radio v-for="(item, index) in payList" :key="index" border :label="item.label" style="margin: 5px;">
-                  {{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">({{ $t('currency.sign') }} {{ userBalance.cash | toThousandFilter }})</span>
+                  {{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">( {{currencyUnitCode}} {{ userBalance.cash | toThousandFilter }})</span>
                 </el-radio>
               </el-radio-group>
             </el-form-item>
 
-            <el-form-item v-if="showProduct">
+            <el-form-item v-if="!isMax">
               <el-button size="small" type="primary" :loading="submitButtonStat" @click="onSubmit">{{ $t('common.save') }}</el-button>
             </el-form-item>
           </el-form>
@@ -160,10 +161,11 @@
           <div style="text-align: left; line-height: 50px; font-size: 16px;">
             <span style="font-weight: bold; font-size: 20px;">{{ product.GOODS_NAME }}</span><br>
             <span style="font-weight: bold; font-size: 15px;">{{ $t('shop.productCode') }}:{{ product.GOODS_NO }}</span><br>
-            <span style="color: tomato;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ product.SELL_PRICE | toThousandFilter }}</span><br>
+            <span style="color: tomato;">{{ $t('shop.salesPrice') }}:{{currencyUnitCode}} {{ product.SELL_PRICE }}</span><br>
+            <span>{{ $t('shop.marketPrice') }}:{{currencyUnitCode}} {{ product.MARKET_PRICE }}</span><br>
             <span>{{ $t('shop.productBV') }}:{{ product.PRICE_PV | toThousandFilter }}</span><br>
             <span>{{ $t('shop.taxRate') }}:{{ product.TAX_RATE / 100 }}</span><br>
-            <span>{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ product.taxAmount | toThousandFilter }}</span><br>
+            <span>{{ $t('shop.taxAmount') }}:{{currencyUnitCode}} {{ product.taxAmount | toThousandFilter }}</span><br>
             <span>{{ $t('shop.inventory') }}:{{ product.STORE_NUMS }}</span>
           </div>
         </el-col>
@@ -218,7 +220,7 @@ export default {
       toLevel: '',
       currentRow: null,
       decWay: '2',
-      regionData: region.regionInfo.regionData,
+      regionData: [],
       form: {
         address: '',
         areaSelected: [],
@@ -303,9 +305,9 @@ export default {
         TAX_RATE: 0,
         taxAmount: 0
       },
-      imageStyle: 'margin-top: -50px;',
+      imageStyle: 'margin-top: 0px;',
 
-      screenWidth: getScreenWidth() > 600 ? '600px' : getScreenWidth() + 'px',
+      screenWidth: getScreenWidth() > 600 ? '50%' : getScreenWidth() + 'px',
       labelPosition: getScreenWidth() > 500 ? 'right' : 'top',
       payStackScreenWidth: getScreenWidth() > 500 ? '450px' : getScreenWidth() + 'px',
 
@@ -321,10 +323,7 @@ export default {
       },
 
       activeName: 'product',
-
-      isStalment: false,
-      showProduct: false,
-      isVipAndStalment: true
+      currencyUnitCode: ""
     }
   },
   computed: {
@@ -339,26 +338,32 @@ export default {
     }
   },
   created() {
+    // this.fetchUpgrade()
   },
   mounted() {
   },
   methods: {
-    fetchUpgrade(data) {
+    fetchUpgrade() {
       this.loading = true
-      fetchUpgrade(data).then(response => {
+      fetchUpgrade({
+        userName: this.form.insertUserName
+      }).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
+        this.regionData = response.data.region
 
         const settingObj = this.allGoods
         for (const i in this.allGoods) {
           this.storeNums[i] = 1
           settingObj[i].goodsNum = 0
         }
-
+        if(response.data.allGoods && response.data.allGoods.length > 0){
+          this.currencyUnitCode = response.data.allGoods[0].CODE
+        }
         this.tableData = Object.values(settingObj)
         const pageList = this.multipleSelection
         this.$nextTick(function() {
@@ -403,33 +408,11 @@ export default {
         this.form.upgradeFunc = response.data.baseInfo.UPGRADE_FUNC
         this.nowPerf = response.data.baseInfo.NOW_PERF
         this.nextPerf = response.data.baseInfo.NEXT_PERF
-        this.isStalment = response.data.baseInfo.INSTALMENT
-        const data = {
-          isMax: Boolean(this.isMax),
-          userName: this.form.insertUserName
-        }
-        if (this.isMax === true) {
-          if (this.isStalment === true) {
-            this.fetchUpgrade(data)
-            this.toLevel = response.data.baseInfo.DEC_ID
-            this.showProduct = true
-            // isVipAndStalment 等级是vip且有分期商品
-            this.isVipAndStalment = false
-          } else {
-            this.showProduct = false
-            this.isVipAndStalment = true
-            this.tableData = []
-            return false
-          }
-        } else {
-          this.fetchUpgrade(data)
-          this.isVipAndStalment = true
-          this.showProduct = true
-        }
+        this.fetchUpgrade()
 
-        // setTimeout(() => {
-        //   this.loading = false
-        // }, 0.5 * 1000)
+        setTimeout(() => {
+          this.loading = false
+        }, 0.5 * 1000)
       })
     },
     // 商品详情
@@ -625,10 +608,8 @@ export default {
         cityName: this.form.cityName,
         nowPerf: this.nowPerf,
         nextPerf: this.nextPerf,
-        payType: this.form.payType,
-        isMax: this.isMax
+        payType: this.form.payType
       }
-
       fetchSendUpgrade(params).then(response => {
         if (this.form.payType !== 'pay_stack') {
           // 余额支付

+ 125 - 55
src/views/user/welcome-pack.vue

@@ -1,20 +1,34 @@
 <template>
   <div v-loading="loading">
     <div class="white-box" style="padding: 0 25px; margin-top: 25px;">
+<!--      <div class="noList">-->
+<!--        <el-select ref="select" @change="countriesChange" v-model="countries" filterable placeholder="">-->
+<!--          <el-option v-for="(item, index) in countriesList" :key="item.ID" :label="item.NAME" :value="item.ID" />-->
+<!--        </el-select>-->
+<!--      </div>-->
       <el-row :gutter="20">
         <el-col :xs="24" :sm="24" :lg="14">
-          <el-form ref="form" label-width="180px" :label-position="labelPosition" class="form-page">
-
-            <el-form-item :label="$t('user.welcomePackWay')">
-              <el-radio-group v-model="form.decType" @change="decTypeChange">
-                <el-radio size="small" label="normal">{{ $t('user.normal') }}</el-radio>
-                <!--								<el-radio size="small" label="ba">{{ $t('user.BAUpgrade') }}</el-radio>-->
-              </el-radio-group>
-            </el-form-item>
 
+          <el-form ref="form" label-width="180px" :label-position="labelPosition" class="form-page">
+<!--            <el-form-item :label="$t('user.welcomePackWay')">-->
+<!--              <el-radio-group v-model="form.decType" @change="decTypeChange">-->
+<!--                <el-radio size="small" label="normal">{{ $t('user.normal') }}</el-radio>-->
+<!--                &lt;!&ndash;								<el-radio size="small" label="ba">{{ $t('user.BAUpgrade') }}</el-radio>&ndash;&gt;-->
+<!--              </el-radio-group>-->
+<!--            </el-form-item>-->
             <el-divider content-position="left">{{ $t('user.accountInformation') }}</el-divider>
+            <el-form-item :label="$t('shop.country')">
+              <el-select ref="select" @change="countriesChange" v-model="form.countryId" filterable :placeholder="$t('user.selectCountry')" style="width: 100%;">
+                <el-option v-for="(item, index) in countriesList" :key="item.ID" :label="item.NAME" :value="item.ID" />
+              </el-select>
+            </el-form-item>
+            <el-form-item :label="$t('common.language')">
+              <el-select ref="select" v-model="form.languageId" filterable :placeholder="$t('user.selectLanguage')" style="width: 100%;">
+                <el-option v-for="(item, index) in languageList" :key="item.ID" :label="item.NAME" :value="item.ID" />
+              </el-select>
+            </el-form-item>
             <el-form-item :label="$t('user.newMemberCode')">
-              <el-input v-model="form.insertUserName" :readonly="userReadOnly" @blur="checkBaUser" />
+              <el-input v-model="form.insertUserName" :readonly="userReadOnly" @blur="checkBaUser" :placeholder="$t('user.enterMemberCode')" />
             </el-form-item>
             <el-form-item :label="$t('user.entryLevel')">
               <el-select v-model="form.decLv" :placeholder="$t('user.selectEntryLevel')" style="width: 100%;">
@@ -22,7 +36,7 @@
               </el-select>
             </el-form-item>
             <el-form-item :label="$t('user.stockistCode')">
-              <el-input v-model="form.decUserName"  :disabled="isDec == 1"/>
+              <el-input v-model="form.decUserName" :disabled="isDec == 1" />
             </el-form-item>
 
             <el-form-item>
@@ -45,8 +59,10 @@
                                 <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 | toThousandFilter }}</span><br>
+                                  <span style="color: tomato;">{{ $t('shop.salesPrice') }}:{{row.CODE}} {{ row.SELL_PRICE | toThousandFilter }}</span><br>
                                   <span>{{ $t('shop.productBV') }}:{{ row.PRICE_PV | toThousandFilter }}</span><br>
+                                  <span>{{ $t('shop.marketPrice') }}:{{row.CODE}} {{ row.MARKET_PRICE | toThousandFilter }}</span><br>
+
                                   <span style="display: inline-block; float: right; ">
                                     <el-input-number v-model="storeNums[$index]" size="mini" :min="1" :max="Number(row.STORE_NUMS)" @change="handleInputNumber($event, row)" />
                                   </span>
@@ -62,9 +78,9 @@
 
                   <div class="white-box-footer">
                     <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 | toThousandFilter }}</div>
+                      <div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productPrice') }}: {{currencyUnitCode}} {{ sellPriceSum | toThousandFilter }}</div>
                       <div style="margin-right: 1rem; display: inline-block;">{{ $t('shop.productBV') }}:{{ pricePvSum | toThousandFilter }}</div>
-                      <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ taxSum }}</div>
+                      <div style="display: inline-block;">{{ $t('shop.taxAmount') }}:{{currencyUnitCode}} {{ taxSum }}</div>
                     </div>
                   </div>
                 </el-tab-pane>
@@ -72,41 +88,39 @@
             </el-form-item>
 
             <el-divider content-position="left">{{ $t('atlas.networkInformation') }}</el-divider>
-            <el-form-item :label="$t('shop.sponsorCode')">
+            <el-form-item :label="$t('user.recommenderName')">
               <el-input v-model="form.recUserName" :readonly="recReadOnly" @change="handleChkRecUser" />
             </el-form-item>
             <el-form-item>
               <el-input v-model="recRealName" :disabled="true" />
             </el-form-item>
-            <el-form-item :label="$t('atlas.placementCode')">
-              <el-input v-model="form.conUserName" @change="handleChkConUser" />
+            <el-form-item :label="$t('user.recommenderActualName')">
+              <el-input v-model="form.conUserName" @change="handleChkRecommenderActualName" />
             </el-form-item>
             <el-form-item>
               <el-input v-model="conRealName" type="textarea" :rows="2" :disabled="true" />
             </el-form-item>
-            <el-form-item :label="$t('atlas.placementTree')">
-              <el-radio-group v-model="form.location" border>
-                <el-radio :label="1">{{ $t('atlas.left') }}</el-radio>
-                <el-radio :label="2">{{ $t('atlas.right') }}</el-radio>
-              </el-radio-group>
-            </el-form-item>
-            <el-form-item><!--自动安置区位-->
-              <el-row :gutter="5">
-                <el-col :xs="24" :sm="12" :lg="12">
-                  <el-button size="small" type="primary" @click="setAutoPlace('left')">{{ $t('atlas.placementAutoLeft') }}</el-button>
-                </el-col>
-                <el-col :xs="24" :sm="12" :lg="12">
-                  <el-button size="small" type="primary" @click="setAutoPlace('right')">{{ $t('atlas.placementAutoRight') }}</el-button>
-                </el-col>
-              </el-row>
-            </el-form-item>
+<!--            <el-form-item :label="$t('atlas.placementTree')">-->
+<!--              <el-radio-group v-model="form.location" border>-->
+<!--                <el-radio :label="1">{{ $t('atlas.left') }}</el-radio>-->
+<!--                <el-radio :label="2">{{ $t('atlas.right') }}</el-radio>-->
+<!--              </el-radio-group>-->
+<!--            </el-form-item>-->
+<!--            <el-form-item>&lt;!&ndash;自动安置区位&ndash;&gt;-->
+<!--              <el-row :gutter="5">-->
+<!--                <el-col :xs="24" :sm="12" :lg="12">-->
+<!--                  <el-button size="small" type="primary" @click="setAutoPlace('left')">{{ $t('atlas.placementAutoLeft') }}</el-button>-->
+<!--                </el-col>-->
+<!--                <el-col :xs="24" :sm="12" :lg="12">-->
+<!--                  <el-button size="small" type="primary" @click="setAutoPlace('right')">{{ $t('atlas.placementAutoRight') }}</el-button>-->
+<!--                </el-col>-->
+<!--              </el-row>-->
+<!--            </el-form-item>-->
 
             <el-divider content-position="left">{{ $t('profile.personalInformation') }}</el-divider>
             <el-form-item :label="$t('shop.memberName')">
               <el-input v-model="form.realName" />
             </el-form-item>
-         
-
             <el-form-item :label="$t('shop.phoneNumber')">
               <el-input v-model="form.mobile" />
             </el-form-item>
@@ -161,7 +175,7 @@
             <el-form-item :label="$t('shop.paymentMethod')" required>
               <el-radio-group v-model="form.payType" @change="chosePayType">
                 <el-radio v-for="(item, index) in payList" :key="index" border :label="item.label" style="margin: 5px;">
-                  {{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">({{ $t('currency.sign') }} {{ userBalance.cash }})</span>
+                  {{ item.name }}<span v-if="item.label === 'cash'" style="color: tomato;">( {{currencyUnitCode}} {{ userBalance.cash }})</span>
                 </el-radio>
               </el-radio-group>
             </el-form-item>
@@ -225,10 +239,11 @@
           <div style="text-align: left; line-height: 50px; font-size: 16px;">
             <span style="font-weight: bold; font-size: 20px;">{{ product.GOODS_NAME }}</span><br>
             <span style="font-weight: bold; font-size: 15px;">{{ $t('shop.productCode') }}:{{ product.GOODS_NO }}</span><br>
-            <span style="color: tomato;">{{ $t('shop.productPrice') }}:{{ $t('currency.sign') }} {{ product.SELL_PRICE }}</span><br>
+            <span style="color: tomato;">{{ $t('shop.salesPrice') }}:{{currencyUnitCode}} {{ product.SELL_PRICE }}</span><br>
+            <span>{{ $t('shop.marketPrice') }}:{{currencyUnitCode}} {{ product.MARKET_PRICE }}</span><br>
             <span>{{ $t('shop.productBV') }}:{{ product.PRICE_PV }}</span><br>
             <span>{{ $t('shop.taxRate') }}:{{ product.TAX_RATE / 100 }}</span><br>
-            <span>{{ $t('shop.taxAmount') }}:{{ $t('currency.sign') }} {{ product.taxAmount }}</span><br>
+            <span>{{ $t('shop.taxAmount') }}:{{currencyUnitCode}} {{ product.taxAmount }}</span><br>
             <span>{{ $t('shop.inventory') }}:{{ product.STORE_NUMS }}</span>
           </div>
         </el-col>
@@ -239,7 +254,14 @@
 
 <script>
 import { deleteApproachOrder } from '@/api/shop'
-import { createWelcomePack, fetchAutoPlace, fetchBrandAmbassadorInfo, fetchFullInfo, fetchWelcomePack } from '@/api/user'
+import {
+  createWelcomePack,
+  fetchAutoPlace,
+  fetchBrandAmbassadorInfo,
+  fetchFullInfo,
+  fetchInspectNetwork,
+  fetchWelcomePack
+} from '@/api/user'
 import Pagination from '@/components/Pagination'
 import waves from '@/directive/waves'
 import region from '@/store/modules/region'
@@ -272,6 +294,7 @@ export default {
   },
   data() {
     return {
+      isChooseCountry: false,
       loading: false,
       tool: tool,
 
@@ -280,7 +303,7 @@ export default {
       categoryType: '',
       sellType: [],
       payList: [],
-      screenWidth: getScreenWidth() > 600 ? '500px' : getScreenWidth() + 'px',
+      screenWidth: getScreenWidth() > 600 ? '50%' : getScreenWidth() + 'px',
       labelPosition: getScreenWidth() > 600 ? 'right' : 'top',
       payStackScreenWidth: getScreenWidth() > 500 ? '450px' : getScreenWidth() + 'px',
 
@@ -358,10 +381,10 @@ export default {
         TAX_RATE: 0,
         taxAmount: 0
       },
-      imageStyle: 'margin-top: -50px;',
+      imageStyle: 'margin-top: 0px;',
 
       decWay: '2',
-      regionData: region.regionInfo.regionData,
+      regionData: [],
       form: {
         decType: 'normal',
         realName: '',
@@ -405,11 +428,14 @@ export default {
 
       userReadOnly: true,
       recReadOnly: false,
-      allDecLevel: usersInfo.getBaseInfo().decLevels,
+      allDecLevel: [],
       allOpenBank: [],
 
       activeName: 'product',
-      isDec:null
+      isDec:null,
+
+      countries: null,
+      currencyUnitCode: ""
     }
   },
   computed: {
@@ -421,7 +447,16 @@ export default {
         text += possible.charAt(Math.floor(Math.random() * possible.length))
       }
       return text
-    }
+    },
+    countriesList() {
+      return this.$store.getters.getCountriesList
+    },
+    languageList() {
+      return this.$store.getters.languageList
+    },
+    language() {
+      return this.$store.getters.language
+    },
   },
      watch: {
      isDec: {
@@ -431,25 +466,39 @@ export default {
          }
        },
      }
-   },
+  },
   created() {
     const regionInfo = this.$store.getters.regionInfo
     // console.log(this.$store.state.region)
-    this.fetchWelcomePack()
+    // this.fetchWelcomePack()
+    this.getCountries()
   },
   methods: {
+
+    countriesChange(e){
+      this.fetchWelcomePack()
+    },
+    //国家列表
+    getCountries() {
+      this.$store.dispatch('settings/getCountries')
+    },
     // 会员报单/BA升级
     fetchWelcomePack() {
       this.loading = true
-      fetchWelcomePack().then(response => {
+      fetchWelcomePack({countryId: this.form.countryId}).then(response => {
         this.form.insertUserName = response.data.userName
         this.allOpenBank = response.data.allOpenBank
         this.allDecPackage = response.data.allDecPackage
         this.allGoods = response.data.allGoods
         this.userBalance = response.data.userBalance
+        this.regionData = response.data.region
+        this.allDecLevel = response.data.decLevel
         this.categoryType = 1
-          //是否是报单中心
-          this.isDec = response.data.isDec
+        if(response.data.allGoods && response.data.allGoods.length > 0){
+          this.currencyUnitCode = response.data.allGoods[0].CODE
+        }
+        //是否是报单中心
+        this.isDec = response.data.isDec
         const settingObj = this.allGoods
         for (const i in this.allGoods) {
           this.storeNums[i] = 1
@@ -478,12 +527,15 @@ export default {
         setTimeout(() => {
           this.loading = false
         }, 0.5 * 1000)
+      }).catch(err => {
+        console.log(err)
+        this.loading = false
       })
     },
     // 商品详情
     handleProduct(row) {
       this.product = row
-      this.product.taxAmount = tool.calculateTax(row.SELL_PRICE, row.TAX_RATE)
+      this.product.taxAmount = tool.calculateTax(row.MARKET_PRICE, row.TAX_RATE)
       this.visibleProduct = true
     },
     // 选择商品计数
@@ -507,9 +559,9 @@ export default {
       if (this.multipleSelection.length > 0) {
         let accumulatorSellPrice = 0; let accumulatorPricePv = 0; let accumulatorTax = 0
         this.multipleSelection.forEach(accumulator => {
-          accumulatorSellPrice += accumulator.SELL_PRICE * accumulator.goodsNum
+          accumulatorSellPrice += accumulator.MARKET_PRICE * accumulator.goodsNum
           accumulatorPricePv += Number(accumulator.PRICE_PV) * Number(accumulator.goodsNum)
-          accumulatorTax += tool.calculateTax(Number(accumulator.SELL_PRICE), Number(accumulator.TAX_RATE), Number(accumulator.goodsNum))
+          accumulatorTax += tool.calculateTax(Number(accumulator.MARKET_PRICE), Number(accumulator.TAX_RATE), Number(accumulator.goodsNum))
         })
 
         this.sellPriceSum = tool.formatPrice(accumulatorSellPrice)
@@ -680,9 +732,11 @@ export default {
         packageId: this.form.packageId,
         goodsId: this.form.goodsId,
         goodsNum: this.form.goodsNum,
-        location: this.form.location,
+        location: 1, //自动安置
         decWay: this.decWay,
-        payType: this.form.payType
+        payType: this.form.payType,
+        countryId: this.form.countryId,
+        languageId: this.form.languageId
       }
       createWelcomePack(params).then(response => {
         if (this.form.payType !== 'pay_stack') {
@@ -721,7 +775,7 @@ export default {
       this.multipleSelection.map((item) => {
         this.form.goodsId.push(item.ID)
         this.form.goodsNum.push(item.goodsNum)
-        this.payAmount += item.goodsNum * item.SELL_PRICE
+        this.payAmount += item.goodsNum * item.MARKET_PRICE
       })
     },
     // 报单方式
@@ -765,6 +819,19 @@ export default {
         })
       }
     },
+      // 查询安置人
+      handleChkRecommenderActualName() {
+          if (this.form.conUserName) {
+              this.loading = true
+            fetchInspectNetwork({ recommenderName: this.form.recUserName, recommenderActualName: this.form.conUserName }).then(response => {
+                  this.conRealName = response.data.REAL_NAME
+                  this.loading = false
+              }).catch(() => {
+                  this.conRealName = '-'
+                  this.loading = false
+              })
+          }
+      },
     // 自动设置区位
     setAutoPlace(side) {
       if (this.recRealName !== '-') {
@@ -807,4 +874,7 @@ export default {
 .el-radio--medium.is-bordered {
 	margin: 5px 0;
 }
+.noList{
+  margin: 10px 0;
+}
 </style>

+ 1 - 1
vue.config.js

@@ -39,7 +39,7 @@ module.exports = {
     },
     proxy: {
       [process.env.VUE_APP_BASE_API]: {
-        target: 'http://16.163.228.151:8043',
+        target: 'http://16.163.228.151:8018',
         changeOrigin: true,
         pathRewrite: {
           [ '^' + process.env.VUE_APP_BASE_API ]: ''