16 İşlemeler 7b52a36863 ... edfdf41c6d

Yazar SHA1 Mesaj Tarih
  tyler edfdf41c6d Merge branch 'master' into develop 1 ay önce
  Tyler 16313d7461 Merge branch 'feature/EK-627' of guanli/ngds-backend-ele into master 8 ay önce
  Tyler ad30b0feb6 Merge branch 'feature/EK-1281' of guanli/ngds-backend-ele into master 8 ay önce
  tyler b76d552bd7 feat: EK-1281: 【Product Management】商品设置可售卖国家时,搜索国家并填写或修改DP时无法修改 01 8 ay önce
  Tyler a156c92fb6 Merge branch 'feature/EK-1281' of guanli/ngds-backend-ele into master 8 ay önce
  tyler 2a004769a4 feat: EK-1281: 【Product Management】商品设置可售卖国家时,搜索国家并填写或修改DP时无法修改 8 ay önce
  Tyler 9d6bbeb441 Merge branch 'feature/EK-1281' of guanli/ngds-backend-ele into master 8 ay önce
  tyler f718eb5a6f feat: EK-1281: 【Product Management】商品设置可售卖国家时,搜索国家并填写或修改DP时无法修改 8 ay önce
  kevinElken 64e62eecc1 Merge branch 'master' into feature/EK-627 8 ay önce
  kevinElken ecb8582fda Merge branch 'feature/EK-879' 8 ay önce
  kevinElken 5ad33f74e0 feat: EK-1214: 修改系统URL. 8 ay önce
  kevinElken b993bb996d feat: EK-879: 【AE】管理员增加“Country”属性,根据所选国家限制登录后所显示的奖金、余额等数据(二期). 9 ay önce
  kevinElken 9bd93d1635 feat: EK-879: 【AE】管理员增加“Country”属性,根据所选国家限制登录后所显示的奖金、余额等数据(二期). 9 ay önce
  kevinElken fe796089be feat: EK-879: 【AE】管理员增加“Country”属性,根据所选国家限制登录后所显示的奖金、余额等数据(二期). 9 ay önce
  kevinElken 755b97bdb4 feat: EK-856: 管理员增加“Country”属性. 9 ay önce
  kevinElken 857469e79f feat: EK-856: 管理员增加“Country”属性. 9 ay önce

+ 10 - 22
.env.development

@@ -1,24 +1,15 @@
+NODE_ENV=production
+
 # just a flag
-ENV='development'
+ENV='staging'
 
-# # api请求地址
-# VUE_APP_BASE_API='http://172.17.133.86:9970'
-# # 文件下载地址
-# VUE_APP_BASE_DO_API='http://local.ng.backend.api.com'
-# # CDN文件地址
-# VUE_APP_CDN_API='http://172.17.133.86:9970'
-# # 页面地址
-# VUE_APP_BASE_WEBSITE='http://local.ng.backend.ele.com'
-# # 会员端地址
-# VUE_APP_FRONTEND_WEBSITE='http://local.ng.frontend.ele.com'
-# # PayStack
-# VUE_APP_BASE_PAY_STACK_PUBLIC_KEY='pk_test_2eed10135c4a958c5073795b22854ded9d1a6c55'
-# # 请求token前缀
-# VUE_APP_ACCESS_TOKEN_PREFIX='Bearer '
-# # 区域js文件地址
-# VUE_APP_SYSTEM_JS='http://ng-upload.elken.com'
+# PayStack支付key
+VUE_APP_BASE_PAY_STACK_PUBLIC_KEY='pk_test_2eed10135c4a958c5073795b22854ded9d1a6c55'
+# 请求token前缀
+VUE_APP_ACCESS_TOKEN_PREFIX='Bearer '
 
-# api请求地址
+# test
+# # api请求地址
  VUE_APP_BASE_API='http://16.163.228.151:8020'
  # 文件下载地址
  VUE_APP_BASE_DO_API='http://16.163.228.151:8020'
@@ -30,7 +21,4 @@ ENV='development'
  VUE_APP_BASE_WEBSITE='http://16.163.228.151:8019'
  # 会员页面地址
  VUE_APP_FRONTEND_WEBSITE='http://16.163.228.151:8017'
-# PayStack支付key
-VUE_APP_BASE_PAY_STACK_PUBLIC_KEY='pk_test_2eed10135c4a958c5073795b22854ded9d1a6c55'
-# 请求token前缀
-VUE_APP_ACCESS_TOKEN_PREFIX='Bearer '
+

+ 2 - 2
.env.production

@@ -10,9 +10,9 @@ ENV='production'
  # 区域js文件地址
  VUE_APP_SYSTEM_JS='https://ng-upload.elken.com'
  # 结算页面地址
- VUE_APP_BASE_WEBSITE='https://ngmanager.elken.com'
+ VUE_APP_BASE_WEBSITE='https://meamanager.elken.com'
  # 会员页面地址
- VUE_APP_FRONTEND_WEBSITE='https://ngds.elken.com'
+ VUE_APP_FRONTEND_WEBSITE='https://meads.elken.com'
  # PayStack支付key
  VUE_APP_BASE_PAY_STACK_PUBLIC_KEY='pk_live_fae524f9d073d877beeb661fd825a37a9bc91f0a'
  # 请求token前缀

+ 5 - 5
src/api/config.js

@@ -265,7 +265,7 @@ export function updateOtherConfig(data) {
  */
 export function fetchCurrenciesList() {
   return request({
-    url: '/v1/currency/currencies',
+    url: '/v1/config/currencies',
     method: 'get'
   })
 }
@@ -276,7 +276,7 @@ export function fetchCurrenciesList() {
  */
 export function fetchCurrencyConversionsList() {
   return request({
-    url: '/v1/currency/currencies-conversions',
+    url: '/v1/config/currencies',
     method: 'get'
   })
 }
@@ -287,7 +287,7 @@ export function fetchCurrencyConversionsList() {
  */
 export function setCurrencyConversions(data) {
   return request({
-    url: '/v1/currency/set-currencies-conversions',
+    url: '/v1/config/set-currencies-conversions',
     method: 'post',
     data
   })
@@ -299,7 +299,7 @@ export function setCurrencyConversions(data) {
  */
 export function fetchTransportationList() {
   return request({
-    url: '/v1/transportation/transportation',
+    url: '/v1/config/transportation',
     method: 'get'
   })
 }
@@ -310,7 +310,7 @@ export function fetchTransportationList() {
  */
 export function setTransportation(data) {
   return request({
-    url: '/v1/transportation/set-transportation',
+    url: '/v1/config/set-transportation',
     method: 'post',
     data
   })

+ 4 - 2
src/lang/en.js

@@ -403,7 +403,8 @@ export default {
     exportCurrentData: 'Are you sure you want to export the current data?',
     all: 'All',
     countryName: 'Country Name',
-    language: "Language"
+    language: "Language",
+    country: "Country",
   },
 
   filter: {
@@ -518,7 +519,7 @@ export default {
     bonusConfig: 'Bonus settings',
     scoreConfig: 'Points configuration',
     transferConfig: 'Transfer configuration',
-    exchangeRateConfig: 'Exchange rate configuration',
+    currenciesConfig: 'Exchange rate configuration',
     otherConfig: 'Other configuration',
     decLevelConfig: 'Member level configuration',
     empLevelConfig: 'Member rank level configuration',
@@ -893,6 +894,7 @@ export default {
     delNotice: 'Determine to delete the selected data'
   },
   exchangeRateConfig: {
+    countryName: "Country",
     currencyType: "Currency Type",
     ProductExchangeRate: 'Product Exchange Rate',
     BonusExchangeRate: "Bonus Exchange Rate"

+ 5 - 3
src/lang/zh.js

@@ -402,7 +402,8 @@ export default {
     unHideSelectedData: '您确定要展示所选数据吗?',
     exportCurrentData: '您确定要导出当前数据吗?',
     all: '全部',
-    language: "语言"
+    language: "语言",
+    country: "国家",
   },
 
   filter: {
@@ -518,7 +519,7 @@ export default {
     bonusConfig: '奖金设置',
     scoreConfig: '积分配置',
     transferConfig: '转账配置',
-    exchangeRateConfig: '汇率配置',
+    currenciesConfig: '汇率配置',
     otherConfig: '其他配置',
     decLevelConfig: '会员级别配置',
     empLevelConfig: '会员聘级配置',
@@ -883,7 +884,8 @@ export default {
     delNotice: '确定删除选定的数据?'
   },
   exchangeRateConfig: {
-    currencyType: "货币类型",
+    countryName: "国家",
+    currencyType: "货币",
     ProductExchangeRate: '产品汇率',
     BonusExchangeRate: "奖金汇率"
   },

+ 0 - 5
src/router/index.js

@@ -9,8 +9,6 @@ import Layout from '@/layout'
 /* Router Modules */
 import configRouter from '@/router/modules/config'
 import memberRouter from '@/router/modules/member'
-import currencyRouter from "@/router/modules/currency"
-import transportationRouter from "@/router/modules/transportation"
 /**
  * Note: sub-menu only appear when route children.length >= 1
  * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
@@ -301,9 +299,6 @@ export const asyncRoutes = [
     // 设置
     configRouter,
 
-    currencyRouter,
-
-    transportationRouter,
   {
     path: '/ad',
     component: Layout,

+ 9 - 3
src/router/modules/config.js

@@ -15,11 +15,17 @@ const configRouter = {
       meta: { title: '站点配置', icon: 'user', noCache: true }
     },
     {
-      path: 'currency-conversions', // 汇率配置
-      component: () => import('@/views/config/exchange-rate'),
-      name: 'exchangeRate',
+      path: 'currencies', // 汇率配置
+      component: () => import('@/views/config/currencies-config'),
+      name: 'currenciesConfig',
       meta: { title: '汇率列表', icon: 'user', noCache: true }
     },
+    {
+      path: 'transportation',
+      component: () => import('@/views/config/transportation-config'),
+      name: 'transportationConfig',
+      meta: { title: '运费配置', icon: 'user', noCache: true }
+    },
     {
       path: 'dec-role', // 报单中心配置
       component: () => import('@/views/config/stockist-config'),

+ 0 - 20
src/router/modules/currency.js

@@ -1,20 +0,0 @@
-/** When your routing table is too long, you can split it into small modules **/
-
-import Layout from '@/layout'
-
-const currencyRouter = {
-  path: '/currency',
-  component: Layout,
-  redirect: '/currency/currencies-conversions',
-  hidden: true,
-  children: [
-    {
-      path: 'currencies-conversions', // 汇率配置
-      component: () => import('@/views/config/exchange-rate'),
-      name: 'exchangeRate',
-      meta: { title: '汇率列表', icon: 'user', noCache: true }
-    }
-  ]
-}
-
-export default currencyRouter

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

@@ -1,21 +0,0 @@
-/** When your routing table is too long, you can split it into small modules **/
-
-import Layout from '@/layout'
-
-const transportationRouter = {
-  path: '/transportation',
-  component: Layout,
-  redirect: '/transportation/transportation',
-  hidden: true,
-  children: [
-    {
-      path: 'transportation',
-      component: () => import('@/views/config/transportation-config'),
-      name: 'transportation',
-      meta: { title: '运费配置', icon: 'user', noCache: true }
-    },
-
-  ]
-}
-
-export default transportationRouter

+ 4 - 0
src/store/modules/permission.js

@@ -33,6 +33,8 @@ export function generaMenu(routes, data) {
       }
     }
 
+    console.log('menu', menu)
+
     if (item.child) {
       generaMenu(menu.children, item.child)
     }
@@ -48,7 +50,9 @@ const actions = {
       roles = ['admin']
       const baseInfo = JSON.parse(localStorage.getItem('baseInfo'))
       const apiMenu = baseInfo.menu
+      console.log('apiMenu', apiMenu)
       const formatMenu = generaMenu([], apiMenu)
+      console.log('formatMenu', formatMenu)
       commit('SET_ROUTES', formatMenu)
       resolve(formatMenu)
     })

+ 3 - 0
src/utils/usersInfo.js

@@ -183,6 +183,9 @@ const usersInfo = {
   daysDiff() {
     return this.get('daysDiff')
   },
+  isSuperAdmin() {
+    return this.get('isSuperAdmin')
+  },
   get(...arg) {
     let baseInfo = null
     try {

+ 17 - 11
src/views/admin/edit.vue

@@ -13,7 +13,7 @@
             <el-option v-for="item in roles" :key="item.ID" :label="item.ROLE_NAME" :value="item.ID" />
           </el-select>
         </el-form-item>
-        <el-form-item :label="$t('transportationConfig.countryName')"><!-- 国家 -->
+        <el-form-item :label="$t('transportationConfig.countryName')" v-if="form.roleId !== baseInfo.superAdminRoleId()"><!-- 国家 -->
           <el-select v-model="form.countryId" multiple :placeholder="$t('Administrator.pleaseSelectCountry')">
             <el-option v-for="item in countries" :key="item.ID" :label="item.NAME" :value="item.ID" />
           </el-select>
@@ -53,6 +53,8 @@
 import { adminAddAndEditAndChangePassword, adminAdd, adminEdit } from '@/api/filter'
 import {getCountries} from "@/api/site";
 import {isArray} from "@/utils/validate";
+import usersInfo from "@/utils/usersInfo";
+import baseInfo from "@/utils/baseInfo";
 export default {
   name: 'RoleAdd',
   data() {
@@ -77,6 +79,12 @@ export default {
     }
   },
   computed: {
+    baseInfo() {
+      return baseInfo
+    },
+    usersInfo() {
+      return usersInfo
+    },
     isAddOrEdit() {
       if (this.$route.name === 'admin_add' || this.$route.name === 'admin_edit') {
         return true
@@ -96,10 +104,10 @@ export default {
       adminEdit(this.$route.params.id).then(response => {
         this.form = response.data.oneData
         this.roles = response.data.adminRoles
+        this.countries = response.data.countries
         this.loading = false
         this.isEdit = true
       }).catch(err => {
-        console.log('err=============' + err)
         this.loading = false
         this.$message({
           message: err,
@@ -109,9 +117,9 @@ export default {
     } else if (this.$route.name === 'admin_add') {
       adminAdd().then(response => {
         this.roles = response.data.adminRoles
+        this.countries = response.data.countries
         this.loading = false
       }).catch(err => {
-        console.log('err=============' + err)
         this.loading = false
         this.$message({
           message: err,
@@ -133,7 +141,7 @@ export default {
         path = 'admin/change-password'
       }
 
-      if (!(isArray(this.form.countryId) && this.form.countryId.length > 0)){
+      if ((this.form.roleId !== baseInfo.superAdminRoleId()) && !(isArray(this.form.countryId) && this.form.countryId.length > 0)){
         this.$message({
           message: this.$t('Administrator.pleaseSelectCountry'),
           type: 'error'
@@ -143,14 +151,12 @@ export default {
       }
       adminAddAndEditAndChangePassword(path, this.form).then(response => {
         this.submitButtonStat = false
-        console.log(response)
         this.$message({
           message: response.data,
           type: 'success'
         })
         this.$router.go(-1)
       }).catch(err => {
-        console.log('err=============' + err)
         this.submitButtonStat = false
         this.$message({
           message: err,
@@ -159,11 +165,11 @@ export default {
       })
     },
     getCountries(){
-      getCountries().then(response => {
-        this.countries = response
-      }).catch(err => {
-
-      })
+      // getCountries().then(response => {
+      //   this.countries = response
+      // }).catch(err => {
+      //
+      // })
     },
   }
 }

+ 14 - 56
src/views/admin/index.vue

@@ -20,17 +20,12 @@
             {{ scope.row.REAL_NAME }}
           </template>
         </el-table-column>
-        <el-table-column :label="$t('Administrator.remark')" prop="REMARK" width="150">
-          <template slot-scope="scope">
-            {{ scope.row.REMARK }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.role')" prop="ROLE_NAME" width="150">
+        <el-table-column :label="$t('Administrator.role')" prop="ROLE_NAME" width="170">
           <template slot-scope="scope">
             <el-tag type="warning" size="small" class="no-border">{{ scope.row.ROLE_NAME }}</el-tag>
           </template>
         </el-table-column>
-        <el-table-column :label="$t('Administrator.isEnable')" prop="IS_ENABLE">
+        <el-table-column :label="$t('Administrator.isEnable')" prop="IS_ENABLE" width="150">
           <template slot-scope="scope">
             <el-tag :type="(scope.row.IS_ENABLE==1?'success':'danger')">
               <template v-if="scope.row.IS_ENABLE==1">
@@ -42,45 +37,13 @@
             </el-tag>
           </template>
         </el-table-column>
-        <el-table-column :label="$t('Administrator.loginTimes')" prop="LOGIN_NUMS">
-          <template slot-scope="scope">
-            {{ scope.row.LOGIN_NUMS }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.lastLoginIp')" prop="LAST_LOGIN_IP" width="150">
-          <template slot-scope="scope">
-            {{ scope.row.LAST_LOGIN_IP }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.lastLoginAt')" width="180">
-          <template slot-scope="scope">
-            {{ tool.formatDate(scope.row.LAST_LOGIN_AT) }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.bindIp')" width="250">
-          <template slot-scope="scope">
-            {{ scope.row.BIND_IP }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.creatUser')" width="150">
-          <template slot-scope="scope">
-            {{ scope.row.CREATE_ADMIN_NAME }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.creatAt')" width="180">
-          <template slot-scope="scope">
-            {{ tool.formatDate(scope.row.CREATED_AT) }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.updateUser')" width="150">
-          <template slot-scope="scope">
-            {{ scope.row.UPDATE_ADMIN_NAME }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.updateAt')" width="180">
-          <template slot-scope="scope">
-            {{ tool.formatDate(scope.row.UPDATED_AT) }}
+        <el-table-column :label="$t('transportationConfig.countryName')" prop="country">
+          <template slot-scope="scope" v-if="!scope.row.isSuper">
+            <el-tag type="info" size="mini" v-for="country in scope.row.country">
+              {{ country }}
+            </el-tag>
           </template>
+          <template v-else>-</template>
         </el-table-column>
 
         <el-table-column :fixed="fixedColumn" :label="$t('table.actions')" width="180">
@@ -122,9 +85,15 @@ import permission from '@/utils/permission'
 import Pagination from '@/components/Pagination'
 import filterHelper from '@/utils/filterHelper'
 import {getOperatingSystem, getScreenWidth} from "@/utils"
+import usersInfo from "@/utils/usersInfo";
 
 export default {
   name: 'DecLevel',
+  computed: {
+    usersInfo() {
+      return usersInfo
+    }
+  },
   components: { FilterUser, Pagination },
   data() {
     return {
@@ -159,12 +128,6 @@ export default {
   },
   mounted() {
     this.getData()
-    // let system =  getOperatingSystem()
-    // if (system == "Android" || system == 'ios') {
-    //   this.fixedColumn = false
-    // } else {
-    //   this.fixedColumn = 'right'
-    // }
 		this.fixedColumn = getScreenWidth() < 500 ? false : 'right'
   },
   methods: {
@@ -223,7 +186,6 @@ export default {
         vueObj.pageSize = pageSize
         this.loading = false
       }).catch(err => {
-        console.log('err=============' + err)
         this.loading = false
       })
     },
@@ -250,11 +212,7 @@ export default {
           })
           obj.getData()
         }).catch(err => {
-          console.log('err---------' + err)
         })
-        //   return network.postData(`admin/admin-delete`, {
-        //       selected: selectedIds
-        //   })
       }).then(response => {
         obj.$message({
           message: response.data,

+ 0 - 6
src/views/admin/role-add.vue

@@ -61,7 +61,6 @@ export default {
           message: err,
           type: 'error'
         })
-        console.log('err---------' + err)
       })
     }
   }
@@ -73,9 +72,4 @@ export default {
   background: #fff;
   padding: 25px;
 }
-@media (min-width: 760px) {
-  /* /deep/ .el-form-item__content {
-    width: 700px;
-  } */
-}
 </style>

+ 0 - 22
src/views/admin/role.vue

@@ -15,27 +15,6 @@
             <el-tag type="warning" size="small" class="no-border">{{ scope.row.ROLE_NAME }}</el-tag>
           </template>
         </el-table-column>
-        <el-table-column prop="REMARK" :label="$t('Administrator.remark')" />
-        <el-table-column :label="$t('Administrator.creatUser')">
-          <template slot-scope="scope">
-            {{ scope.row.CREATE_ADMIN_NAME }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.creatAt')">
-          <template slot-scope="scope">
-            {{ tool.formatDate(scope.row.CREATED_AT) }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.updateUser')">
-          <template slot-scope="scope">
-            {{ scope.row.UPDATE_ADMIN_NAME }}
-          </template>
-        </el-table-column>
-        <el-table-column :label="$t('Administrator.updateAt')">
-          <template slot-scope="scope">
-            {{ tool.formatDate(scope.row.UPDATED_AT) }}
-          </template>
-        </el-table-column>
         <el-table-column :fixed="fixedColumn" :label="$t('table.actions')" width="180">
           <template slot-scope="scope">
             <el-dropdown v-if="scope.row.DONT_DEL==='0'&&(permission.hasPermission(`admin/role-permission`)||permission.hasPermission(`admin/role-edit`)||permission.hasPermission(`admin/role-delete`))" size="small" trigger="click" @command="handleRow" @click.stop="">
@@ -44,7 +23,6 @@
               </el-button>
               <el-dropdown-menu slot="dropdown">
                 <el-dropdown-item v-if="permission.hasPermission(`admin/role-permission`)" :command="`permission|${scope.row.ID}`">{{ $t('permission.permission') }}</el-dropdown-item>
-                <!--                <el-dropdown-item :command="`column|${scope.row.ID}`" v-if="permission.hasPermission(`admin/role-column`)">列表字段权限</el-dropdown-item>-->
                 <el-dropdown-item v-if="permission.hasPermission(`admin/role-edit`)" :command="`edit|${scope.row.ID}`">{{ $t('table.edit') }}</el-dropdown-item>
                 <el-dropdown-item v-if="permission.hasPermission(`admin/role-delete`)" :command="`delete|${scope.row.ID}`">{{ $t('table.delete') }}</el-dropdown-item>
               </el-dropdown-menu>

+ 1 - 11
src/views/config/exchange-rate.vue → src/views/config/currencies-config.vue

@@ -5,16 +5,6 @@
         <el-table-column prop="NAME" :label="$t('exchangeRateConfig.currencyType')" />
         <el-table-column prop="PRODUCT_RATE" :label="$t('exchangeRateConfig.ProductExchangeRate')" min-width="90px;" />
         <el-table-column prop="BONUSES_RATE" :label="$t('exchangeRateConfig.BonusExchangeRate')" min-width="90px;" />
-<!--        <el-table-column :label="$t('common.createdAt')" min-width="100px;">-->
-<!--          <template slot-scope="{row}">-->
-<!--            {{ row.CREATED_AT | parseTime('{y}-{m}-{d} {h}:{i}:{s}') }}-->
-<!--          </template>-->
-<!--        </el-table-column>-->
-<!--        <el-table-column :label="$t('common.updatedAt')" min-width="100px;">-->
-<!--          <template slot-scope="{row}">-->
-<!--            {{ row.UPDATED_AT | parseTime('{y}-{m}-{d} {h}:{i}:{s}') }}-->
-<!--          </template>-->
-<!--        </el-table-column>-->
         <el-table-column :label="$t('common.action')" min-width="100px;">
           <template slot-scope="scope">
             <el-button type="primary" size="mini" icon="el-icon-edit" plain @click="edit(scope.row)">{{ $t('common.edit') }}</el-button>
@@ -57,7 +47,7 @@ import {
 import { getScreenWidth } from '@/utils'
 
 export default {
-  name: 'Currencies',
+  name: 'currencies',
   data() {
     return {
       form: {

+ 1 - 11
src/views/config/transportation-config.vue

@@ -3,19 +3,9 @@
     <div v-loading="loading" class="white-box">
       <el-table :data="conversionsList" stripe style="width: 100%;">
         <el-table-column prop="NAME" :label="$t('transportationConfig.countryName')" />
-        <el-table-column prop="currency.NAME" :label="$t('exchangeRateConfig.currencyType')" />
+        <el-table-column prop="currency.CODE" :label="$t('exchangeRateConfig.currencyType')" />
         <el-table-column prop="free_shipping" :label="$t('transportationConfig.freeShipping')" min-width="90px;" />
         <el-table-column prop="freight" :label="$t('transportationConfig.free')" min-width="90px;" />
-<!--        <el-table-column :label="$t('common.createdAt')" min-width="100px;">-->
-<!--          <template slot-scope="{row}">-->
-<!--            {{ row.CREATED_AT | parseTime('{y}-{m}-{d} {h}:{i}:{s}') }}-->
-<!--          </template>-->
-<!--        </el-table-column>-->
-<!--        <el-table-column :label="$t('common.updatedAt')" min-width="100px;">-->
-<!--          <template slot-scope="{row}">-->
-<!--            {{ row.UPDATED_AT | parseTime('{y}-{m}-{d} {h}:{i}:{s}') }}-->
-<!--          </template>-->
-<!--        </el-table-column>-->
         <el-table-column :label="$t('common.action')" min-width="100px;">
           <template slot-scope="scope">
             <el-button type="primary" size="mini" icon="el-icon-edit" plain @click="edit(scope.row)">{{ $t('common.edit') }}</el-button>

+ 4 - 0
src/views/finance/change-balance-opt.vue

@@ -13,6 +13,9 @@
               <el-form-item :label="$t('financial.memberLevel')" v-show="userInfo.REAL_NAME!==null"><!--会员级别-->
                 <el-input :value="userInfo.LEVEL_NAME" :disabled="true"></el-input>
               </el-form-item>
+              <el-form-item :label="$t('common.country')" v-show="userInfo.country!==null">
+                <el-input :value="userInfo.country" :disabled="true"></el-input>
+              </el-form-item>
               <!--<el-form-item label="报单中心级别" v-show="userInfo.DEC_ROLE_NAME!=='无'">-->
                 <!--<el-input :value="userInfo.DEC_ROLE_NAME" :disabled="true"></el-input>-->
               <!--</el-form-item>-->
@@ -119,6 +122,7 @@
           },
           userInfo: {
             REAL_NAME: null,
+            country: null,
             DEC_ROLE_NAME: '',
             BONUS: 0,
             BONUS_FREEZE: 0,

+ 28 - 61
src/views/shop/goods-add.vue

@@ -11,41 +11,15 @@
                 <el-form-item :label="$t('shop.productType')"><!-- 商品类型 -->
                     <el-checkbox  v-for="(value,key) in GiftTypeArr" v-model="form.giftType[key-1]" :key="key" >{{value.name}}</el-checkbox>
                 </el-form-item>
-                <el-form-item :label="$t('shop.bvSplit')">
-                  <el-select v-model="form.pvSplit" placeholder="">
-                    <el-option
-                      v-for="item in pvSplitOptions"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
-                    </el-option>
-                  </el-select>
-                </el-form-item>
-                <el-form-item :label="$t('shop.productCategory')"><!-- 商品分类 -->
-                    <el-select v-model="form.categoryType" placeholder="">
-                        <el-option v-for="item in categoryType" :key="item.id" :label="item.name" :value="item.id"></el-option>
-                    </el-select>
-                </el-form-item>
                 <el-form-item :label="$t('shop.productCode')"><!-- 商品编号 -->
                     <el-input v-model="form.goodsNo"></el-input>
                 </el-form-item>
                 <el-form-item :label="$t('shop.unit')"><!-- 单位 -->
                     <el-input v-model="form.unit"></el-input>
                 </el-form-item>
-<!--                <el-form-item :label="$t('shop.taxRate')">&lt;!&ndash; 税率 &ndash;&gt;-->
-<!--                  <el-input v-model="form.taxRate">-->
-<!--                    <template slot="append">%</template>-->
-<!--                  </el-input>-->
-<!--                </el-form-item>-->
                 <el-form-item :label="$t('shop.standardPrice')">
                     <el-input-number v-model="form.sellPriceStandard" @input="handleInput" class="left-aligned-input" :precision="2" :step="0.1" :min="0" :controls="false" style="text-align: left"></el-input-number>
                 </el-form-item>
-<!--                <el-form-item :label="$t('shop.salesPrice')">-->
-<!--                    <el-input v-model="form.sellPrice"></el-input>-->
-<!--                </el-form-item>-->
-<!--                <el-form-item :label="$t('shop.marketPrice')">-->
-<!--                  <el-input v-model="form.marketPrice"></el-input>-->
-<!--                </el-form-item>-->
                 <el-form-item :label="$t('shop.priceBV')" v-show="pvDisabled"><!-- 价格BV -->
                     <el-input v-model="form.pricePv"></el-input>
                 </el-form-item>
@@ -77,10 +51,6 @@
                 </el-form-item>
                 <el-form-item :label="$t('shop.uploadImages')"><!-- 上传图片 -->
                     <div class='up_load'>
-                        <!-- <leo-uploader
-                            @on-success='upLoadSuccess'
-                            :request-route="'shop/upload'"
-                        ></leo-uploader> -->
                         <Upload
                             :request-route="'v1/shop/upload'"
                             width="400px"
@@ -99,13 +69,13 @@
           <el-form-item :label="$t('shop.productName')"><!-- 商品名称 -->
             <el-input v-model="form.goodsName" disabled></el-input>
           </el-form-item>
-          <el-form-item :label="$t('transportationConfig.countryName')">
-            <el-input
-              v-model="searchQuery"
-              placeholder=""
-              @input="updateTableData"
-            ></el-input>
-          </el-form-item>
+<!--          <el-form-item :label="$t('transportationConfig.countryName')">-->
+<!--            <el-input-->
+<!--              v-model="searchQuery"-->
+<!--              placeholder=""-->
+<!--              @input="updateTableData"-->
+<!--            ></el-input>-->
+<!--          </el-form-item>-->
         </el-form>
 
         <el-form :model="availableCountriesTableForm" ref="availableCountriesTableForm" :rules="rules">
@@ -122,7 +92,7 @@
             <el-table-column :label="$t('shop.salesPrice')" min-width="100px;">
               <template slot-scope="scope">
                 <el-form-item :prop="`availableCountriesList.${scope.$index}.sellPrice`" >
-                  <el-input-number v-model="scope.row.sellPrice" :controls="false"></el-input-number>
+                  <el-input-number v-model="scope.row.sellPrice" :precision="2" :min="0" :controls="false" clearable></el-input-number>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -157,7 +127,7 @@
             <el-table-column :label="$t('shop.salesPrice')" min-width="100px;">
               <template slot-scope="scope">
                 <el-form-item :prop="`tempData.${scope.$index}.sellPrice`" >
-                  <el-input-number v-model="scope.row.sellPrice" :controls="false" disabled></el-input-number>
+                  <el-input-number v-model="scope.row.sellPrice" :controls="false" clearable></el-input-number>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -239,7 +209,7 @@ export default {
         cover: '',
         textarea: '',
         sellDiscount: '',
-        categoryType: '',
+        categoryType: 1,
         sellPriceStandard: undefined,
         taxRate: 0,
         nature: [],
@@ -250,6 +220,7 @@ export default {
       GiftTypeArr: [],
       categoryType: [],
       sellType: null,
+      countries: [],
       width: '100px',
       height: '100px',
       pvDisabled: true,
@@ -286,7 +257,6 @@ export default {
     'form.sellPriceStandard': {
         deep: true,
         handler(modern, origin) {
-            // this.form.sellPrice = modern * this.exchangeRate
           if(modern){
             this.form.nature = []
             this.availableCountriesTableForm.availableCountriesList = []
@@ -355,14 +325,8 @@ export default {
 
     },
     setSelection() {
-      console.log(this.selectedIds)
-      console.log(this.availableCountriesTableForm.tempData)
       this.availableCountriesTableForm.tempData.forEach(row => {
-        console.log('----1111')
-        console.log(this.selectedIds.includes(row.ID))
         if (this.selectedIds.includes(row.ID)) {
-          console.log('----1111----------aaa')
-          console.log(row)
           this.$nextTick(() => {
             this.$refs.multipleTableTemp.toggleRowSelection(row, true);
           });
@@ -374,11 +338,8 @@ export default {
       let selectedIds = JSON.parse(JSON.stringify(this.selectedIds))
       let selectedIdsTemp = JSON.parse(JSON.stringify(this.selectedIdsTemp))
 
-      console.log('----2222')
       let list = selectedIds.concat(selectedIdsTemp)
-      console.log("list=====+" + list)
       this.availableCountriesTableForm.availableCountriesList.forEach(row => {
-        console.log('----3333')
         if (list.includes(row.ID)) {
           this.$refs.multipleTable.toggleRowSelection(row, true);
         }
@@ -391,8 +352,8 @@ export default {
       // this.$refs.multipleTable.toggleRowSelection(row,true);
     },
     handleRowClickTemp(row) {
-      console.log(row)
-      console.log('temp 选中')
+      // console.log(row)
+      // console.log('temp 选中')
       // 手动控制行点击时的选中状态
       // this.$refs.multipleTableTemp.toggleRowSelection(row,true);
     },
@@ -450,7 +411,7 @@ export default {
     submitAvailableCountries(){
       this.$refs.availableCountriesTableForm.validate((valid) => {
         if (valid) {
-          this.form.nature = this.multipleSelection
+          this.form.nature = {...this.multipleSelection, ...this.multipleSelectionTemp}
           this.editAvailableCountriesDialog = false
         } else {
 
@@ -460,6 +421,7 @@ export default {
 
     },
     handleSelectionChange(val) {
+      console.log(val)
       this.multipleSelection = val;
       // 更新选中的项
       this.selectedIds = val.map(item => item.ID);
@@ -498,14 +460,18 @@ export default {
       row.marketPrice = (row.sellPrice * 1.2).toFixed(2)
     },
     editAvailableCountries(){
-      getCountries({'filter': 1}).then(response => {
-        this.availableCountriesTableForm.availableCountriesList = response
-        this.editAvailableCountriesDialog = true
-        // this.multipleSelection = this.form.nature
-        this.toggleSelection(this.form.nature)
-      }).catch(err => {
-
-      })
+      this.availableCountriesTableForm.availableCountriesList = this.countries
+      this.editAvailableCountriesDialog = true
+      this.toggleSelection(this.form.nature)
+
+      // getCountries({'filter': 1}).then(response => {
+      //   this.availableCountriesTableForm.availableCountriesList = response
+      //   this.editAvailableCountriesDialog = true
+      //   // this.multipleSelection = this.form.nature
+      //   this.toggleSelection(this.form.nature)
+      // }).catch(err => {
+      //
+      // })
     },
     toggleSelection(rows) {
       if (rows) {
@@ -557,6 +523,7 @@ export default {
         this.goodsType = response.data.goodsType
         this.GiftTypeArr = response.data.giftType
         this.sellType = response.data.sellType
+        this.countries = response.data.countries
       }).catch(err => {
         this.$message({
           message: err,

+ 15 - 119
src/views/shop/index.vue

@@ -33,97 +33,39 @@
               </el-dropdown>
             </template>
           </el-table-column>
-          <!--   <el-table-column label="操作">
-            <template slot-scope="scope">
-              <el-button type="success" size="small" @click="handleGroupManage(scope.row)" >
-                状态管理
-              </el-button>
-            </template></el-table-column>-->
         </el-table>
         <div class="white-box-footer">
-
-         <!-- <el-dropdown size="small" trigger="click">
-              <el-button type="primary" size="small">
-                  所选数据<i class="el-icon-arrow-down el-icon&#45;&#45;right"></i>
-              </el-button>
-              <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item command="delete" @click.native="handleMuliDel()">上架</el-dropdown-item>
-              </el-dropdown-menu>
-          </el-dropdown>-->
           <el-button type="primary" size="small" @click="handlestate" icon="el-icon-plus" v-if="permission.hasPermission(`shop/goods-add`)">
-            <!-- 商品添加 -->{{ $t('shop.addProduct') }}
+            {{ $t('shop.addProduct') }}
           </el-button>
-
           <el-button type="success" size="small" @click="handleExport" v-show="permission.hasPermission(`shop/goods-list-export`)">{{ $t('common.exportExcel') }}</el-button>
-          <!-- <el-button-group>
-            <el-button type="success" size="mini" @click.native="handleup(scope.row.ID)">上架</el-button>
-            <el-button type="danger" size="mini">下架</el-button>
-          </el-button-group> -->
           <pagination :total="totalCount" :page_size="pageSize" @size-change="handleSizeChange" @current-change="handleCurrentChange"></pagination>
         </div>
       </div>
+
       <el-dialog :title="$t('shop.editProducts')" :visible.sync="dialogEditFormVisible"><!-- 修改商品 -->
         <el-form :model="form"  v-loading="dialogEditLoading" label-width="130px" :label-position="labelPosition">
           <el-form-item :label="$t('shop.productName')"><!-- 商品名称 -->
             <el-input v-model="form.goodsName"></el-input>
           </el-form-item>
-            <!-- <el-form-item label="商品来源">
-              <el-select v-model="form.type">
-                  <el-option v-for="(item,index) in goodsType" :key="index" :label="item.name"
-                             :value="index"></el-option>
-              </el-select>
-            </el-form-item> -->
             <el-form-item :label="$t('shop.memberDiscount')"><!-- 会员折扣 -->
               <el-input v-model="form.sellDiscount"></el-input>
             </el-form-item>
             <el-form-item :label="$t('shop.productType')"><!-- 商品类型 -->
               <el-checkbox  v-for="(value,index) in GiftTypeArr" v-model="value.checked" :key="index" >{{value.name}}</el-checkbox>
             </el-form-item>
-            <!-- <el-form-item label="复消购买方式">
-               <el-checkbox  v-for="(value,index) in sell_type" v-model="value.checked" :key="index" >{{value.name}}</el-checkbox>
-            </el-form-item> -->
-            <el-form-item :label="$t('shop.bvSplit')">
-  <!--                      <el-checkbox v-model="form.pvSplit" :checked="form.pvSplit">Yes</el-checkbox>-->
-              <el-select v-model="form.pvSplit" placeholder="">
-                <el-option
-                  v-for="item in pvSplitOptions"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value">
-                </el-option>
-              </el-select>
-            </el-form-item>
-            <el-form-item :label="$t('shop.productCategory')"> <!-- 商品分类 -->
-              <el-select v-model="form.categoryType">
-                <el-option v-for="item in categoryType" :key="item.id" :label="item.name" :value="item.id" ></el-option>
-              </el-select>
-            </el-form-item>
             <el-form-item :label="$t('shop.productCode')"><!-- 商品编号 -->
               <el-input v-model="form.goodsNo"></el-input>
             </el-form-item>
             <el-form-item :label="$t('shop.unit')"><!-- 单位 -->
               <el-input v-model="form.unit"></el-input>
             </el-form-item>
-<!--            <el-form-item :label="$t('shop.taxRate')">&lt;!&ndash; 税率 &ndash;&gt;-->
-<!--              <el-input v-model="form.taxRate">-->
-<!--                <template slot="append">%</template>-->
-<!--              </el-input>-->
-<!--            </el-form-item>-->
-            <el-form-item :label="$t('shop.standardPrice')" p>
+            <el-form-item :label="$t('shop.standardPrice')">
               <el-input v-model="form.sellPriceStandard" @input="sellPriceStandardInput"></el-input>
             </el-form-item>
-<!--            <el-form-item :label="$t('shop.salesPrice')" p>-->
-<!--              <el-input v-model="form.sellPrice"></el-input>-->
-<!--            </el-form-item>-->
-<!--            <el-form-item :label="$t('shop.marketPrice')">-->
-<!--              <el-input v-model="form.marketPrice"></el-input>-->
-<!--            </el-form-item>-->
             <el-form-item :label="$t('shop.priceBV')" v-show="pvDisabled"> <!-- 价格BV -->
               <el-input v-model="form.pricePv"></el-input>
             </el-form-item>
-  <!--                    <el-form-item label="Exchange points" v-show="false"> &lt;!&ndash; 兑换积分 &ndash;&gt;-->
-  <!--                        <el-input v-model="form.point"></el-input>-->
-  <!--                    </el-form-item>-->
           <el-form-item :label="$t('shop.availableCountries')"><!-- 可购买国家 -->
             <el-button type="primary" size="small" @click="editAvailableCountries">{{ $t('shop.modifyAvailableCountries') }}</el-button>
           </el-form-item>
@@ -175,14 +117,14 @@
           <el-form-item :label="$t('shop.productName')"><!-- 商品名称 -->
             <el-input v-model="form.goodsName" style="width: 90%" disabled></el-input>
           </el-form-item>
-          <el-form-item :label="$t('transportationConfig.countryName')">
-            <el-input
-              v-model="searchQuery"
-              placeholder=""
-              style="width: 90%"
-              @input="updateTableData"
-            ></el-input>
-          </el-form-item>
+<!--          <el-form-item :label="$t('transportationConfig.countryName')">-->
+<!--            <el-input-->
+<!--              v-model="searchQuery"-->
+<!--              placeholder=""-->
+<!--              style="width: 90%"-->
+<!--              @input="updateTableData"-->
+<!--            ></el-input>-->
+<!--          </el-form-item>-->
         </el-form>
         <el-form :model="availableCountriesTableForm" ref="availableCountriesTableForm" :rules="rules">
           <el-table v-show="!searchQuery" :data="availableCountriesTableForm.availableCountriesList" ref="multipleTableCountries" @selection-change="countriesSelectionChange" @select="selectOne" :selectable="isRowSelectable" stripe :header-cell-class-name="cellClass" height="500" style="width: 100%;">
@@ -198,14 +140,14 @@
             <el-table-column :label="$t('shop.salesPrice')" min-width="100px;">
               <template slot-scope="scope">
                 <el-form-item :prop="`availableCountriesList.${scope.$index}.sellPrice`" >
-                  <el-input-number v-model="scope.row.sellPrice" :controls="false"></el-input-number>
+                  <el-input-number v-model="scope.row.sellPrice" :precision="2" :min="0" :controls="false" clearable></el-input-number>
                 </el-form-item>
               </template>
             </el-table-column>
             <el-table-column :label="$t('shop.marketPrice')" min-width="100px;">
               <template slot-scope="scope">
                 <el-form-item :prop="`availableCountriesList.${scope.$index}.marketPrice`" >
-                  <el-input-number v-model="scope.row.marketPrice" :precision="2" :min="0.01" :controls="false" clearable></el-input-number>
+                  <el-input-number v-model="scope.row.marketPrice" :precision="2" :min="0" :controls="false" clearable></el-input-number>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -233,7 +175,7 @@
                 <el-table-column :label="$t('shop.salesPrice')" min-width="100px;">
                     <template slot-scope="scope">
                         <el-form-item :prop="`tempData.${scope.$index}.sellPrice`" >
-                            <el-input-number v-model="scope.row.sellPrice" :controls="false" disabled></el-input-number>
+                            <el-input-number v-model="scope.row.sellPrice" :controls="false" clearable></el-input-number>
                         </el-form-item>
                     </template>
                 </el-table-column>
@@ -281,13 +223,6 @@
     components: {FilterUser, Pagination, Upload},
     mounted () {
       this.getData()
-      // this.$refs.up_load.successImageUrl='';
-      // let system =  getOperatingSystem()
-      // if (system == "Android" || system == 'ios') {
-      //   this.fixedColumn = false
-      // } else {
-      //   this.fixedColumn = 'right'
-      // }
 			this.fixedColumn = getScreenWidth() < 500 ? false : 'right'
     },
 
@@ -324,7 +259,6 @@
             label: this.$t('common.yes')
           }],
         form: {
-          // sellType: [],
           goodsName: '',
           type: '',
           giftType: [],
@@ -343,7 +277,7 @@
           textarea: '',
           sellDiscount: '',
           pvSplit: '',
-          categoryType: '',
+          categoryType: 1,
           sellType: 1,
           taxRate: 0,
           autoMaintenance: null,
@@ -377,17 +311,10 @@
     methods: {
         updateTableData() {
             let that = this;
-            // if (!this.searchQuery) {
-            //   return this.availableCountriesTableForm.availableCountriesList;
-            // }
             // 临时存储原始数据,保持搜索时不改变其他列的值
             const query = that.searchQuery.toLowerCase();
-            // this.$refs.multipleTable.toggleRowSelection(JSON.parse(JSON.stringify(this.multipleSelection)),true)
 
             if (that.availableCountriesTableForm.tempData.length === 0) {
-                // this.tempData = JSON.parse(JSON.stringify(this.availableCountriesTableForm.availableCountriesList));
-                // this.selectionTempData = JSON.parse(JSON.stringify(this.multipleSelection));
-
             }
             // const query = this.searchQuery.toLowerCase();
             that.$nextTick(() => {
@@ -407,27 +334,10 @@
 
                 }
             });
-            // this.availableCountriesTableForm.availableCountriesList.forEach(row => {
-            //   if (row.NAME.toLowerCase().includes(query)) {
-            //   } else {
-            //     const originalRow = this.filteredData.find(item => item.NAME === row.NAME);
-            //     if (originalRow) {
-            //       if(originalRow.selected === true){
-            //         console.log('originalRow true')
-            //       }
-            //       row = originalRow;
-            //
-            //     }
-            //   }
-            // });
-            // this.$refs.multipleTable.toggleRowSelection(this.selectionTempData)
-
         },
         setSelection() {
             // this.$refs.multipleTable.clearSelection();
-            console.log('----00000')
             this.availableCountriesTableForm.tempData.forEach(row => {
-                console.log('----1111')
                 if (this.selectedIdsCountry.includes(row.ID)) {
                   this.$nextTick(() => {
                     this.$refs.multipleTableTemp.toggleRowSelection(row, true);
@@ -436,15 +346,11 @@
             });
         },
         setSelectionTemp() {
-            // this.$refs.multipleTable.clearSelection();
             let selectedIds = JSON.parse(JSON.stringify(this.selectedIdsCountry))
             let selectedIdsTemp = JSON.parse(JSON.stringify(this.selectedIdsTemp))
 
-            console.log('----2222')
             let list = selectedIds.concat(selectedIdsTemp)
-            console.log("list=====+" + list)
             this.availableCountriesTableForm.availableCountriesList.forEach(row => {
-                console.log('----3333')
                 if (list.includes(row.ID)) {
                     this.$refs.multipleTableCountries.toggleRowSelection(row, true);
                 }
@@ -509,9 +415,6 @@
       },
         selectOneTemp(selection,row){
             console.log(row.CURRENCY_PRODUCT_RATE)
-            // if(!row.CURRENCY_PRODUCT_RATE){
-            //   return false
-            // }
             row.sellPrice = (row.CURRENCY_PRODUCT_RATE * this.form.sellPriceStandard).toFixed(2)
             row.marketPrice = (row.sellPrice * 1.2).toFixed(2)
         },
@@ -672,13 +575,6 @@
           message: this.$t('common.modifyData'), // 正在修改数据
           type: 'info'
         })
-        // let sen_sell=[];
-        // this.sell_type.map((item,index)=>{
-        //     if(item.checked){
-        //         sen_sell.push(item.key);
-        //     }
-        // })
-        // this.form.sellType=sen_sell;
 
         let sen_gift = []
         this.GiftTypeArr.map((item, index) => {

+ 5 - 2
src/views/user/change-highest-emp-level.vue

@@ -107,7 +107,7 @@
           </el-input>
 
           <el-tag v-show="userInfo.REAL_NAME !== null" style="margin-top: 5px">
-            {{ $t("member.memberName") }}:{{ userInfo.REAL_NAME }}
+            {{ $t("member.memberName") }}:{{ userInfo.REAL_NAME }} ({{ userInfo.country }})
           </el-tag>
           <el-tag
             v-show="userInfo.REAL_NAME !== null"
@@ -116,7 +116,7 @@
             :value="item.ID"
             :key="key"
             v-if="key === userInfo.EMP_LV"
-            style="margin-top: 5px"
+            style="margin-top: 5px;"
           >
             {{ $t("member.highestLevel") }}:{{ item.LEVEL_NAME }}
           </el-tag>
@@ -205,6 +205,7 @@ export default {
       userInfo: {
         REAL_NAME: null,
         DEC_LV: null,
+        country: null,
       },
     };
   },
@@ -321,6 +322,8 @@ export default {
         })
         .catch((error) => {
           this.userInfo.REAL_NAME = null;
+          this.userInfo.country = null;
+          this.userInfo.DEC_LV = null;
           this.$message({
             message: error,
             type: "warning",

+ 3 - 1
src/views/user/dec-level-list.vue

@@ -35,7 +35,8 @@
 			<el-form ref="form" :model="form" label-width="150px" :label-position="labelPosition">
 				<el-form-item :label="$t('member.memberCode')">
 					<el-input v-model.trim="form.userName" @change="handleChange"></el-input>
-					<el-tag style="margin-top: 15px;" v-show="userInfo.REAL_NAME!==null">{{ $t('member.memberName') }}:{{ userInfo.REAL_NAME }} {{ $t('member.currentLevel') }}:{{ userInfo.LEVEL_NAME }}</el-tag>
+					<el-tag style="margin-top: 15px;" v-show="userInfo.REAL_NAME!==null">{{ $t('member.memberName') }}:{{ userInfo.REAL_NAME }} ({{ userInfo.country }})</el-tag>
+          <el-tag style="margin-top: 15px;" v-show="userInfo.REAL_NAME!==null">{{ $t('member.currentLevel') }}:{{ userInfo.LEVEL_NAME }}</el-tag>
 				</el-form-item>
 				<el-form-item :label="$t('member.entryLevel')">
 					<el-select v-model="form.levelId" :placeholder="$t('member.selectEntryLevelHint')">
@@ -100,6 +101,7 @@
 				userInfo: {
 					REAL_NAME: null,
 					DEC_LV: null,
+          country: null,
 				},
 			}
 		},

+ 3 - 1
src/views/user/modify-stockist-level.vue

@@ -4,7 +4,8 @@
 			<el-form ref="form" :model="form" label-width="250px" :label-position="labelPosition">
 				<el-form-item :label="$t('member.memberCode')">
 					<el-input v-model.trim="form.userName" @change="handleChange"></el-input>
-					<el-tag style="margin-top: 15px;" v-show="userInfo.REAL_NAME !== null">{{ $t('member.memberName') }}:{{ userInfo.REAL_NAME }} {{ $t('member.currentLevel') }}:{{ allDecRole[userInfo.DEC_ROLE_ID] ? allDecRole[userInfo.DEC_ROLE_ID]['ROLE_NAME'] : '' }}</el-tag>
+					<el-tag style="margin-top: 15px;" v-show="userInfo.REAL_NAME !== null">{{ $t('member.memberName') }}:{{ userInfo.REAL_NAME }} ({{ userInfo.country }})</el-tag>
+          <el-tag v-show="userInfo.REAL_NAME !== null" style="margin-top: 5px;">{{ $t('member.currentLevel') }}:{{ allDecRole[userInfo.DEC_ROLE_ID] ? allDecRole[userInfo.DEC_ROLE_ID]['ROLE_NAME'] : '' }}</el-tag>
 				</el-form-item>
 				<el-form-item :label="$t('member.stockistLevel')">
 					<el-select v-model="form.levelId" :placeholder="$t('member.pleaseSelectStockistLevel')">
@@ -46,6 +47,7 @@ export default {
 			userInfo: {
 				REAL_NAME: null,
 				DEC_ROLE_ID: null,
+        country: null,
 			},
       screenWidth: getScreenWidth() > 600 ? '500px' : getScreenWidth() + 'px',
       labelPosition: getScreenWidth() > 600 ? 'right' : 'top',