theo 3 лет назад
Родитель
Сommit
5b4ad8ea52

+ 8 - 8
backendApi/modules/v1/models/lists/finance/RechargeList.php

@@ -47,7 +47,7 @@ class RechargeList extends \common\libs\dataList\DataList implements DataListInt
             $this->columns = [
                 'ID' => null, // 这种传输方式主要是用于索引,因为过滤后的字段可能没有这种ID,但是一些功能的操作还需要用这种ID去关联,例如前台会员列表中的勾选批量状态管理,这里需要的就是USER_ID
                 'SN' => [
-                    'header' => '充值申请流水号',
+                    'header' => 'SN', // 充值申请流水号
                     'headerOther' => [
                         'width' => '250',
                     ],
@@ -58,20 +58,20 @@ class RechargeList extends \common\libs\dataList\DataList implements DataListInt
                     },
                 ],
                 'USER_NAME' => [
-                    'header' => '会员编号',
+                    'header' => 'Member code', // 会员编号
                     'headerOther' => ['width' => '150'],
                 ],
                 'OPEN_BANK_NAME' => [
-                    'header' => '汇款银行',
+                    'header' => 'Bank', // 汇款银行
                     'headerOther' => ['width' => '150'],
                 ],
                 'BANK_NO' => [
-                    'header' => '汇款账号',
+                    'header' => 'Bank account', // 汇款账号
                     'headerOther' => ['width' => '150'],
                 ],
                 'BANK_PROVE' => null,
                 'AUDIT_STATUS' => [
-                    'header' => '审核状态',
+                    'header' => 'Audit Status', // 审核状态
                     'value' => function ($row) {
                         return Recharge::STATUS_NAME[$row['AUDIT_STATUS']];
                     },
@@ -80,7 +80,7 @@ class RechargeList extends \common\libs\dataList\DataList implements DataListInt
                     ],
                 ],
                 'AMOUNT' => [
-                    'header' => '充值金额',
+                    'header' => 'Recharge amount', // 充值金额
                     'value' => function ($row) {
                         return Tool::formatPrice($row['AMOUNT']);
                     },
@@ -94,7 +94,7 @@ class RechargeList extends \common\libs\dataList\DataList implements DataListInt
                     },
                 ],
                 'CREATED_AT' => [
-                    'header' => '申请时间',
+                    'header' => 'Apply time', // 申请时间
                     'value' => function ($row) {
                         return (new DateTime([
                             'value' => $row['CREATED_AT'],
@@ -103,7 +103,7 @@ class RechargeList extends \common\libs\dataList\DataList implements DataListInt
                     'headerOther' => ['width' => '190'],
                 ],
                 'REMARK' => [
-                    'header' => '备注',
+                    'header' => 'Note', // 备注
                     'headerOther' => [
                         'width' => '200',
                     ],

+ 6 - 6
backendEle/src/router/index.js

@@ -1270,10 +1270,10 @@ export const constantRouterMap = [
         component: _import('finance/withdraw'),
         name: 'finance_withdraw',
         meta: {
-          title: '提现管理',
+          title: 'Withdrawal management',
           breadcrumb: [
             {title: 'Dashboard', path: '/dashboard/index'},
-            {title: '提现管理', path: '/finance/withdraw'},
+            {title: 'Withdrawal management', path: '/finance/withdraw'},
           ],
         },
       },
@@ -1282,12 +1282,12 @@ export const constantRouterMap = [
         component: _import('finance/withdraw-add'),
         name: 'finance_withdraw-add',
         meta: {
-          title: '新增提现',
+          title: 'Withdrawal',
           highLight: '/finance/withdraw',
           breadcrumb: [
             {title: 'Dashboard', path: '/dashboard/index'},
-            {title: '提现管理', path: '/finance/withdraw'},
-            {title: '新增提现', path: '/finance/withdraw-add'},
+            {title: 'Withdrawal management', path: '/finance/withdraw'},
+            {title: 'Withdrawal', path: '/finance/withdraw-add'},
           ],
         },
       },
@@ -1372,7 +1372,7 @@ export const constantRouterMap = [
         component: _import('finance/recharge'),
         name: 'finance_recharge',
         meta: {
-          title: '充值管理',
+          title: 'Recharge management',
           breadcrumb: [
             {title: 'Dashboard', path: '/dashboard/index'},
             {title: '财务管理', path: '/finance/balance-audit-list'},

+ 1 - 1
backendEle/src/utils/tool.js

@@ -80,7 +80,7 @@ let tool = {
       status = error.data.status ? error.data.status : 0
     }
     if (todo || status === 401) {
-      message = todo?'未获得授权,请重新登录':(message==='Your request was made with invalid credentials.'?'未获得授权,请重新登录':message)
+      message = todo ? 'Not authorized, please log in again.' : (message === 'Your request was made with invalid credentials.' ? '未获得授权,请重新登录' : message)
       userInfo.logout()
     }
     return {message, todo}

+ 10 - 16
backendEle/src/views/finance/recharge.vue

@@ -5,7 +5,7 @@
                 <filter-user :filter-types="filterTypes" @select-value="handleFilterUser"></filter-user>
             </div>
             <el-table class="table-box" ref="multipleTable" :data="tableData" stripe style="width: 100%;" :height="tool.getTableHeight()" @selection-change="handleSelectionChange">
-               <!-- <el-table-column fixed type="selection" width="55" v-if="tableHeaders" :selectable="checkSelectable"></el-table-column>-->
+                <!-- <el-table-column fixed type="selection" width="55" v-if="tableHeaders" :selectable="checkSelectable"></el-table-column>-->
                 <el-table-column v-for="(tableHeader, key) in tableHeaders" :key="key" :label="tableHeader.header" :width="tableHeader.other.width ? tableHeader.other.width : ''" :prop="tableHeader.other.prop ? tableHeader.other.prop : null">
                     <template slot-scope="scope">
                         <template v-if="scope.row[tableHeader.index].other.tag" >
@@ -16,31 +16,25 @@
                         </template>
                     </template>
                 </el-table-column>
-                <el-table-column label="操作">
+                <el-table-column label="Action"> <!-- 操作 -->
                     <template slot-scope="scope">
                     <el-button type="success" size="small" @click="handleGroupManage(scope.row)" >
-                        状态管理
+                        Status management<!-- 状态管理 -->
                     </el-button>
                 </template></el-table-column>
-                <el-table-column label="查看凭证">
-
-
-                        <template slot-scope="scope">
-                            <el-button type="success" size="small" @click="handleInvoiceShow(scope.row)"
-                                       v-if="scope.row.AUDIT_STATUS!=='0'">查看凭证
-                            </el-button>
-                        </template>
-
-
+                <el-table-column label="View voucher"><!-- 查看凭证 -->
+                    <template slot-scope="scope">
+                        <el-button type="success" size="small" @click="handleInvoiceShow(scope.row)"
+                           v-if="scope.row.AUDIT_STATUS!=='0'">View voucher<!-- 查看凭证 -->
+                        </el-button>
+                    </template>
                 </el-table-column>
 
             </el-table>
             <div class="white-box-footer">
                 <el-button type="success" size="small" @click="handleExport"
-                           v-show="permission.hasPermission(`finance/recharge-export`)">Export Excel
+                     v-show="permission.hasPermission(`finance/recharge-export`)">Export Excel
                 </el-button>
-
-
                 <pagination :total="totalCount" :page_size="pageSize" @size-change="handleSizeChange" @current-change="handleCurrentChange"></pagination>
             </div>
             <el-dialog title="查看充值凭证" :visible.sync="dialogInvoiceVisible">

+ 4 - 4
common/models/Recharge.php

@@ -51,10 +51,10 @@ class Recharge extends \common\components\ActiveRecord {
     const STATUS_REJECT = 3;
 
     const STATUS_NAME = [
-        self::STATUS_APPLIED => '待审核',
-        self::STATUS_PROVED => '已上传凭证',
-        self::STATUS_AUDITED => '已审核',
-        self::STATUS_REFUSED => '已拒绝',
+        self::STATUS_APPLIED => 'To be reviewed', // 待审核
+        self::STATUS_PROVED => 'Voucher uploaded', // 已上传凭证
+        self::STATUS_AUDITED => 'Approved', // 已审核
+        self::STATUS_REFUSED => 'Rejected', // 已拒绝
     ];
 
     const RECHARGE_STATUS_NAME = [

+ 1 - 1
common/models/Withdraw.php

@@ -73,7 +73,7 @@ class Withdraw extends \common\components\ActiveRecord {
         self::STATUS_PAID_FALSE => 'Failed', // 付款失败
         self::STATUS_REFUSED => 'Refused', // 已拒绝
         self::STATUS_PAID => 'Withdrawal has been paid', // 提现已付款
-        self::STATUS_RETURN => '已退回',
+        self::STATUS_RETURN => 'Returned',
     ];
 
     /**

+ 1 - 1
frontendApi/modules/v1/controllers/FinanceController.php

@@ -115,7 +115,7 @@ class FinanceController extends BaseController {
             switch ($checkStatus) {
                 case 0:
                     if ($formModel->load(\Yii::$app->request->post(), '') && $formModel->add()) {
-                        $rtn =  static::notice('提现申请已提交,请等待审核');
+                        $rtn =  static::notice('Withdrawal application has been submitted, please wait for review.'); // 提现申请已提交,请等待审核
                     } else {
                         $rtn = static::notice(Form::formatErrorsForApi($formModel->getErrors()), 400);
                     }

+ 2 - 2
frontendEle/src/utils/tool.js

@@ -78,11 +78,11 @@ let tool = {
       status = error.data.status ? error.data.status : 0
     }
     if (todo || status === 401) {
-      message = todo?'未获得授权,请重新登录':(message==='Your request was made with invalid credentials.'?'未获得授权,请重新登录':message)
+      message = todo ? 'Not authorized, please log in again.' : (message === 'Your request was made with invalid credentials.' ? 'Not authorized, please log in again.' : message)
       userInfo.logout()
     }
     if (todo || status === 402) {
-      message = todo?'长时间未进行操作,请重新登录':(message==='Connection not operated for too long' ?'长时间未进行操作,请重新登录' :message)
+      message = todo ? '长时间未进行操作,请重新登录':(message === 'Connection not operated for too long' ? '长时间未进行操作,请重新登录' : message)
       userInfo.logout()
     }
     return {message, todo, status}

+ 227 - 228
frontendEle/src/views/atlas/network.vue

@@ -1,250 +1,249 @@
 <template>
   <div v-loading="loading">
     <div class="white-box">
-        <div class="filter-user" @keyup.enter="enterToGetData()" >
-            <el-input v-model="mainUserName" size="small" style="width:300px;">
-                <template slot="prepend">Top Member</template>
-            </el-input>
-            <el-input v-model="expandDeep" size="small" style="width:150px;">
-                <template slot="prepend">Spread depth</template>
-            </el-input>
-            <el-input v-model="periodNum" size="small" style="width:150px;" v-show="false">
-                <template slot="prepend">期数</template>
-            </el-input>
-            <el-button type="primary" size="small" @click="getMainData()">Confirm</el-button>
-        </div>
-        <el-tree :props="props" :data="treeData" node-key="USER_ID" @node-click="getChildData" ref="tree" :indent="0"
-                 default-expand-all :height="tool.getTableHeight(true)">
-                <span :id="'node_'+data.USER_ID" :class="'custom-tree-node '+data.className"
-                      slot-scope="{ node, data }">
-                    <span :class="'el-icon-loading '+ data.displayNone"></span>
-                    <span :class="data.icon"></span>
-                    <span>
-                      <el-tag type="danger">Number of Layers: {{countTopDeep(data.TOP_NETWORK_DEEP,topDeep)}}</el-tag>
-                      <el-tag>Member Code: {{ node.label }}</el-tag>
-                      <el-tag>Name: {{data.REAL_NAME}}</el-tag>
-                      <el-tag type="danger">Location: {{data.RELATIVE_LOCATION}}</el-tag>
-                      <el-tag type="success">Level: {{data.DEC_LV_NAME}}</el-tag>
-                      <el-tag type="warning">Rank: {{data.EMP_LV_NAME}}</el-tag>
-                      <el-tag type="warning">Star: {{data.STAR_LV_NAME}}</el-tag>
-                      <el-tag>Number of joining periods: {{data.PERIOD_AT}}</el-tag></span>
-                </span>
-        </el-tree>
+      <div class="filter-user" @keyup.enter="enterToGetData()" >
+        <el-input v-model="mainUserName" size="small" style="width:300px;">
+          <template slot="prepend">Top Member</template>
+        </el-input>
+        <el-input v-model="expandDeep" size="small" style="width:150px;">
+          <template slot="prepend">Spread depth</template>
+        </el-input>
+        <el-input v-model="periodNum" size="small" style="width:150px;" v-show="false">
+          <template slot="prepend">期数</template>
+        </el-input>
+        <el-button type="primary" size="small" @click="getMainData()">Confirm</el-button>
+      </div>
+      <el-tree :props="props" :data="treeData" node-key="USER_ID" @node-click="getChildData" ref="tree" :indent="0"
+                default-expand-all :height="tool.getTableHeight(true)">
+        <span :id="'node_'+data.USER_ID" :class="'custom-tree-node '+data.className" slot-scope="{ node, data }">
+          <span :class="'el-icon-loading '+ data.displayNone"></span>
+          <span :class="data.icon"></span>
+          <span>
+            <el-tag type="danger">Number of Layers: {{countTopDeep(data.TOP_NETWORK_DEEP,topDeep)}}</el-tag>
+            <el-tag>Member Code: {{ node.label }}</el-tag>
+            <el-tag>Name: {{data.REAL_NAME}}</el-tag>
+            <el-tag type="danger">Location: {{data.RELATIVE_LOCATION}}</el-tag>
+            <el-tag type="success">Level: {{data.DEC_LV_NAME}}</el-tag>
+            <el-tag type="warning">Rank: {{data.EMP_LV_NAME}}</el-tag>
+            <el-tag type="warning">Star: {{data.STAR_LV_NAME}}</el-tag>
+            <el-tag>Number of joining periods: {{data.PERIOD_AT}}</el-tag>
+          </span>
+        </span>
+      </el-tree>
     </div>
   </div>
 </template>
 
 <script>
-    import network from '@/utils/network'
-    import tool from '@/utils/tool'
-    import store from '@/utils/vuexStore'
-    import Pagination from '@/components/Pagination'
-    import baseInfo from '@/utils/baseInfo'
+import network from '@/utils/network'
+import tool from '@/utils/tool'
+import store from '@/utils/vuexStore'
+import Pagination from '@/components/Pagination'
+import baseInfo from '@/utils/baseInfo'
 
-    export default {
-        name: 'atlas_network',
-        components: {Pagination},
-        mounted() {
-            this.getData()
-            store.state.socket.onMessageCallback = this.onMessageCallback
-        },
-        data() {
-            return {
-                loading: true,
-                tabActiveName: 'first',
-                //relation
-                props: {
-                    label: 'USER_NAME',
-                    children: 'children',
-                    //isLeaf: 'leaf',
-                    icon: 'icon',
-                },
-                treeData: null,
-                expandDeep: 5,
-                topDeep: 0,
-                mainUserName: '',
-                periodNum: null,
-                listPeriodNum: null,
-                allData: null,
-                tableHeaders: null,
-                tableData: null,
-                currentPage: 1,
-                totalPages: 1,
-                totalCount: 1,
-                pageSize: 20,
-                tool: tool,
-                filterForm: {
-                    userName: null,
-                    deep: 5,
-                    periodNum: null,
-                },
-                listTopDeep: 0,
-            }
-        },
-        methods: {
-            getData() {
-                this.$message({
-                    message: 'Retrieving data, please wait.', // 正在获取数据,请稍后
-                })
-                //this.periodNum = baseInfo.nowPeriodNum()
-                //this.filterForm.periodNum = baseInfo.nowPeriodNum()
-                this.getMainData(null,true)
-            },
-            getMainData (userName = null, getList = false) {
-                this.$message.closeAll()
-                this.$message({
-                    message: 'Retrieving data, please wait.', // 正在获取数据,请稍后
-                })
-                let thisObj = this
-                let requestData = {
-                    periodNum: this.periodNum
-                }
-                if (this.mainUserName !== null) {
-                    requestData = {userName: this.mainUserName,periodNum: this.periodNum}
-                }
-                network.getData('atlas/main-user-info', requestData).then(response => {
-                    thisObj.treeData = response
-                    thisObj.topDeep = Number(response[0].TOP_NETWORK_DEEP)
-                    thisObj.listPeriodNum = response[0].listPeriodNum
-                    if(getList) thisObj.getListData()
-                    thisObj.loading = false
-                }).catch(response => {
-                    thisObj.loading = false
-                })
-            },
-            getChildData (data, node) {
-                let thisObj = this
-                let userId = data.USER_ID
-                let thisData = data
-                if (thisData.leaf) {
-                    return ''
-                }
-                if (thisData.isExpanded) {
-                    return ''
-                }
-                if (thisData.children !== null && thisData.children.length > 0) {
-                    return ''
-                }
-                thisData.displayNone = ''
-                network.getData('atlas/network', {
-                    id: userId,
-                    deep: thisObj.expandDeep,
-                    periodNum: this.periodNum
-                }).then(response => {
-                    thisObj.$refs.tree.updateKeyChildren(userId, response.allData)
-                    thisObj.listPeriodNum = response.periodNum
-                    thisData.displayNone = 'display-none'
-                    thisData.isExpanded = true
-                })
-            },
-            countTopDeep(deep,topDeep){
-                return Number(deep)-Number(topDeep)
-            },
-            handleCurrentChange (page) {
-                this.getListData(page, this.pageSize)
-            },
-            handleSizeChange (pageSize) {
-                this.getListData(this.currentPage, pageSize)
-            },
-            handleFilter () {
-                this.getListData(1, this.pageSize)
-                this.tabActiveName = 'two'
-            },
-            handleShow(row) {
-                this.loading = true
-                this.filterForm.userName = row.SEE_USER_NAME
-                this.getListData(1, this.pageSize)
-                this.tabActiveName = 'two'
-            },
-            getListData (page, pageSize) {
-                let obj = this
-                network.getPageData(this, 'atlas/network-list', page, pageSize, this.filterForm, function (response) {
-                    obj.allData = response
-                    obj.listTopDeep = response.listTopDeep
-                })
-            },
-            onMessageCallback(data) {
-                //this.getData(this.currentPage, this.pageSize, false)
-            },
-            handleExport(){
-                this.$confirm(`确定要导出当前数据吗?`, 'Hint', {
-                    confirmButtonText: 'confirm', // 确定
-                    cancelButtonText: 'cancel', // 取消
-                    type: 'warning'
-                }).then(() => {
-                    return network.getData(`atlas/network-list-export`, this.filterForm)
-                }).then(response => {
-                    this.$message({
-                        message: response,
-                        type: 'success'
-                    })
-                }).catch(response => {
-
-                })
-            },
-            enterToGetData (ev) {
-                this.getMainData()
-            },
-        }
+export default {
+  name: 'atlas_network',
+  components: {Pagination},
+  mounted () {
+    this.getData()
+    store.state.socket.onMessageCallback = this.onMessageCallback
+  },
+  data () {
+    return {
+      loading: true,
+      tabActiveName: 'first',
+      //relation
+      props: {
+        label: 'USER_NAME',
+        children: 'children',
+        //isLeaf: 'leaf',
+        icon: 'icon',
+      },
+      treeData: null,
+      expandDeep: 5,
+      topDeep: 0,
+      mainUserName: '',
+      periodNum: null,
+      listPeriodNum: null,
+      allData: null,
+      tableHeaders: null,
+      tableData: null,
+      currentPage: 1,
+      totalPages: 1,
+      totalCount: 1,
+      pageSize: 20,
+      tool: tool,
+      filterForm: {
+        userName: null,
+        deep: 5,
+        periodNum: null,
+      },
+      listTopDeep: 0,
     }
+  },
+  methods: {
+    getData () {
+      this.$message({
+        message: 'Retrieving data, please wait.', // 正在获取数据,请稍后
+      })
+      //this.periodNum = baseInfo.nowPeriodNum()
+      //this.filterForm.periodNum = baseInfo.nowPeriodNum()
+      this.getMainData(null,true)
+    },
+    getMainData (userName = null, getList = false) {
+      this.$message.closeAll()
+      this.$message({
+        message: 'Retrieving data, please wait.', // 正在获取数据,请稍后
+      })
+      let thisObj = this
+      let requestData = {
+        periodNum: this.periodNum
+      }
+      if (this.mainUserName !== null) {
+        requestData = {userName: this.mainUserName,periodNum: this.periodNum}
+      }
+      network.getData('atlas/main-user-info', requestData).then(response => {
+        thisObj.treeData = response
+        thisObj.topDeep = Number(response[0].TOP_NETWORK_DEEP)
+        thisObj.listPeriodNum = response[0].listPeriodNum
+        if(getList) thisObj.getListData()
+        thisObj.loading = false
+      }).catch(response => {
+        thisObj.loading = false
+      })
+    },
+    getChildData (data, node) {
+      let thisObj = this
+      let userId = data.USER_ID
+      let thisData = data
+      if (thisData.leaf) {
+        return ''
+      }
+      if (thisData.isExpanded) {
+        return ''
+      }
+      if (thisData.children !== null && thisData.children.length > 0) {
+        return ''
+      }
+      thisData.displayNone = ''
+      network.getData('atlas/network', {
+        id: userId,
+        deep: thisObj.expandDeep,
+        periodNum: this.periodNum
+      }).then(response => {
+        thisObj.$refs.tree.updateKeyChildren(userId, response.allData)
+        thisObj.listPeriodNum = response.periodNum
+        thisData.displayNone = 'display-none'
+        thisData.isExpanded = true
+      })
+    },
+    countTopDeep (deep,topDeep){
+      return Number(deep)-Number(topDeep)
+    },
+    handleCurrentChange (page) {
+      this.getListData(page, this.pageSize)
+    },
+    handleSizeChange (pageSize) {
+      this.getListData(this.currentPage, pageSize)
+    },
+    handleFilter () {
+      this.getListData(1, this.pageSize)
+      this.tabActiveName = 'two'
+    },
+    handleShow (row) {
+      this.loading = true
+      this.filterForm.userName = row.SEE_USER_NAME
+      this.getListData(1, this.pageSize)
+      this.tabActiveName = 'two'
+    },
+    getListData (page, pageSize) {
+      let obj = this
+      network.getPageData(this, 'atlas/network-list', page, pageSize, this.filterForm, function (response) {
+        obj.allData = response
+        obj.listTopDeep = response.listTopDeep
+      })
+    },
+    onMessageCallback (data) {
+      //this.getData(this.currentPage, this.pageSize, false)
+    },
+    handleExport (){
+      this.$confirm(`确定要导出当前数据吗?`, 'Hint', {
+        confirmButtonText: 'confirm', // 确定
+        cancelButtonText: 'cancel', // 取消
+        type: 'warning'
+      }).then(() => {
+        return network.getData(`atlas/network-list-export`, this.filterForm)
+      }).then(response => {
+        this.$message({
+          message: response,
+          type: 'success'
+        })
+      }).catch(response => {
+      })
+    },
+    enterToGetData (ev) {
+      this.getMainData()
+    },
+  }
+}
 </script>
 
 <style>
-    .filter-user{font-size: 14px;margin-bottom: 20px;}
-    .filter-user:after{content: '';display: table;
-        clear: both;}
-    .filter-user .el-input-group{float: left;margin-right: 15px;}
-    .el-tree {
-        padding-bottom: 20px;
-        font-size: 14px;
-        overflow-x: auto;
-    }
+  .filter-user{font-size: 14px;margin-bottom: 20px;}
+  .filter-user:after{content: '';display: table;
+      clear: both;}
+  .filter-user .el-input-group{float: left;margin-right: 15px;}
+  .el-tree {
+      padding-bottom: 20px;
+      font-size: 14px;
+      overflow-x: auto;
+  }
 
-    .el-tree .el-tag {
-        height: 20px;
-        line-height: 18px;vertical-align: middle;
-    }
-    .el-tree-node{position: relative;}
+  .el-tree .el-tag {
+      height: 20px;
+      line-height: 18px;vertical-align: middle;
+  }
+  .el-tree-node{position: relative;}
 
-    .el-tree-node__content {
-        height: 30px;
-        line-height: 30px;
-    }
+  .el-tree-node__content {
+      height: 30px;
+      line-height: 30px;
+  }
 
-    .el-tree-node__children {
-        position: relative;
-        padding: 0 0 0 16px;
-    }
+  .el-tree-node__children {
+      position: relative;
+      padding: 0 0 0 16px;
+  }
 
-    .el-tree-node:before {
-        position: absolute;
-        content: '';
-        top: 0px;
-        left: -4px;
-        height: 100%;
-        border-left: 1px solid #ccc;
-    }
-    .el-tree-node:last-child:before{height: 15px;}
+  .el-tree-node:before {
+      position: absolute;
+      content: '';
+      top: 0px;
+      left: -4px;
+      height: 100%;
+      border-left: 1px solid #ccc;
+  }
+  .el-tree-node:last-child:before{height: 15px;}
 
-    .custom-tree-node {
-        position: relative;
-        padding-left: 5px;
-    }
+  .custom-tree-node {
+      position: relative;
+      padding-left: 5px;
+  }
 
-    .first-node:before {
-        display: none;
-    }
+  .first-node:before {
+      display: none;
+  }
 
-    .custom-tree-node:before {
-        position: absolute;
-        width: 8px;
-        content: '';
-        top: 15px;
-        left: -4px;
-        border-bottom: 1px solid #ccc;
-    }
+  .custom-tree-node:before {
+      position: absolute;
+      width: 8px;
+      content: '';
+      top: 15px;
+      left: -4px;
+      border-bottom: 1px solid #ccc;
+  }
 
-    .el-tree-node__expand-icon {
-        display: none !important;
-    }
+  .el-tree-node__expand-icon {
+      display: none !important;
+  }
 </style>

+ 4 - 4
frontendEle/src/views/bonus/other.vue

@@ -45,10 +45,10 @@
           <el-descriptions-item class="bonus-item" label="Total bonus">{{newData.BONUS_TOTAL.value}}</el-descriptions-item><!-- 合计 -->
 
           <el-descriptions-item class="bonus-item" label="Actual bonus">{{newData.BONUS_REAL.value}}</el-descriptions-item><!-- 实发奖金 -->
-          <el-descriptions-item class="bonus-item" label="一市场新增">{{newData.PV_1L.value}}</el-descriptions-item><!-- 一市场新增 -->
-          <el-descriptions-item class="bonus-item" label="一市场结余">{{newData.SURPLUS_1L.value}}</el-descriptions-item><!-- 一市场结余 -->
-          <el-descriptions-item class="bonus-item" label="二市场新增">{{newData.PV_2L.value}}</el-descriptions-item><!-- 二市场新增 -->
-          <el-descriptions-item class="bonus-item" label="二市场结余">{{newData.SURPLUS_2L.value}}</el-descriptions-item><!-- 二市场结余 -->
+          <el-descriptions-item class="bonus-item" label="Left newly increased performance">{{newData.PV_1L.value}}</el-descriptions-item><!-- 一市场新增 -->
+          <el-descriptions-item class="bonus-item" label="Left surplus performance">{{newData.SURPLUS_1L.value}}</el-descriptions-item><!-- 一市场结余 -->
+          <el-descriptions-item class="bonus-item" label="Right newly increased performance">{{newData.PV_2L.value}}</el-descriptions-item><!-- 二市场新增 -->
+          <el-descriptions-item class="bonus-item" label="Right surplus performance">{{newData.SURPLUS_2L.value}}</el-descriptions-item><!-- 二市场结余 -->
 <!--          <el-descriptions-item class="bonus-item" label="三市场新增">{{newData.PV_3L.value}}</el-descriptions-item>&lt;!&ndash; 三市场新增 &ndash;&gt;-->
 <!--          <el-descriptions-item class="bonus-item" label="三市场结余">{{newData.SURPLUS_3L.value}}</el-descriptions-item>&lt;!&ndash; 三市场结余 &ndash;&gt;-->
         </el-descriptions>