kevin_zhangl 3 жил өмнө
parent
commit
7608fe7aeb

+ 11 - 0
src/api/atlas.js

@@ -0,0 +1,11 @@
+import request from '@/utils/request'
+
+// BA会员列表
+export function fetchBrandAmbassadorList(query) {
+  return request({
+    url: '/v1/atlas/brand-ambassador-list',
+    method: 'get',
+    params: query
+  })
+}
+

+ 2 - 0
src/lang/en.js

@@ -288,6 +288,8 @@ export default {
     currentPayCycle: 'Current Pay Cycle',
     currentSystemTime: 'Current System Time',
     memberJoinTime: 'Member Join Time',
+    joiningPeriod: 'Joining Period',
+    whetherUpgrade: 'Whether Upgrade',
     loginPasswordSuccessTips: 'User login password has been updated successfully.',
     paymentPasswordSuccessTips: 'User payment password has been updated successfully.',
   },

+ 2 - 0
src/lang/zh.js

@@ -289,5 +289,7 @@ export default {
     memberLevel: '会员等级',
     highestDirector: '最高管理聘级',
     highestCrown: '最高皇冠星级',
+    joiningPeriod: '加入期数',
+    whetherUpgrade: '是否已升级',
   },
 }

+ 2 - 0
src/router/index.js

@@ -14,6 +14,7 @@ import nestedRouter from './modules/nested'
 import shopRouter from '@/router/modules/shop'
 import profileRouter from "@/router/modules/profile"
 import configRouter from "@/router/modules/config"
+import atlasRouter from "@/router/modules/atlas";
 
 /**
  * Note: sub-menu only appear when route children.length >= 1
@@ -199,6 +200,7 @@ export const asyncRoutes = [
   shopRouter,
   profileRouter,
   configRouter,
+  atlasRouter,
 
   {
     path: '/error',

+ 17 - 0
src/router/modules/atlas.js

@@ -0,0 +1,17 @@
+import Layout from '@/layout'
+
+const atlasRouter = {
+  path: '/atlas',
+  component: Layout,
+  redirect: '/atlas/network',
+  hidden: true,
+  children: [
+    {
+      path: 'brand-ambassador-list',  // BA会员列表
+      component: () => import('@/views/atlas/brand-ambassador-list'),
+      name: 'BrandAmbassadorList',
+      meta: { title: 'brandAmbassadorList', icon: 'user', noCache: true }
+    },
+  ]
+}
+export default atlasRouter

+ 1 - 1
src/router/modules/shop.js

@@ -39,7 +39,7 @@ const shopRouter = {
       path: 'dec-order-list', // 报单列表
       component: () => import('@/views/shop/dec-order-list'),
       name: 'DecOrderList',
-      meta: { title: 'DecOrderList', icon: 'el-icon-goods' }
+      meta: { title: 'decOrderList', icon: 'el-icon-goods' }
     },
     {
       path: 'order-list', // 订单列表

+ 84 - 0
src/views/atlas/brand-ambassador-list.vue

@@ -0,0 +1,84 @@
+<template>
+  <div class="app-container">
+    <el-table
+      :key="tableKey"
+      v-loading="listLoading"
+      :data="list"
+      border
+      fit
+      highlight-current-row
+      style="width: 100%;"
+    >
+      <el-table-column align="center" :label="$t('shop.memberCode')" prop="USER_NAME">
+        <template slot-scope="{row}">
+          <span>{{ row.USER_NAME }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" :label="$t('shop.memberName')" prop="REAL_NAME">
+        <template slot-scope="{row}">
+          <span>{{ row.REAL_NAME }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" :label="$t('profile.joiningPeriod')" prop="PERIOD_AT">
+        <template slot-scope="{row}">
+          <span>{{ row.PERIOD_AT }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column align="center" :label="$t('profile.whetherUpgrade')" prop="WHETHER_UPGRADE">
+        <template slot-scope="{row}">
+          <el-tag :type="row.WHETHER_UPGRADE | statusFilter">
+						{{ parseInt(row.WHETHER_UPGRADE) === 1 ? 'YES' : 'NO' }}
+          </el-tag>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.limit" @pagination="getList" />
+  </div>
+</template>
+
+<script>
+import { fetchBrandAmbassadorList} from '@/api/atlas'
+import waves from '@/directive/waves'
+import Pagination from '@/components/Pagination'
+
+export default {
+  name: 'brandAmbassadorList',
+  components: { Pagination },
+  directives: { waves },
+  filters: {
+    statusFilter(status) {
+      const statusMap = {
+        Unpaid: 'info',
+        Paid: 'success'
+      }
+      return statusMap[status]
+    }
+  },
+  data() {
+    return {
+      tableKey: 0,
+      list: null,
+      total: 0,
+      listLoading: true,
+    }
+  },
+  created() {
+    // 列表查询
+    this.getList()
+  },
+  methods: {
+    getList() {
+      this.listLoading = true
+			fetchBrandAmbassadorList({}).then(response => {
+        this.list = response.data.list
+        this.total = parseInt(response.data.totalCount)
+
+        setTimeout(() => {
+          this.listLoading = false
+        }, 1.5 * 1000)
+      })
+    },
+  }
+}
+</script>