Browse Source

添加薪资和等级名称

c c 1 year ago
parent
commit
cbb1a9522d
3 changed files with 119 additions and 15 deletions
  1. 11 0
      src/api/home.js
  2. 20 7
      src/views/mine/index.vue
  3. 88 8
      src/views/mine/myAssets.vue

+ 11 - 0
src/api/home.js

@@ -522,4 +522,15 @@ export default {
       data
     })
   },
+  //薪资列表
+  salaryList(data) {
+    return request.request({
+      url: '/salary/list',
+      method: "post",
+      headers: {
+        'Lang': localStorage.getItem('lang') || '',
+      },
+      data
+    })
+  },
 }

+ 20 - 7
src/views/mine/index.vue

@@ -6,7 +6,10 @@
           <img src="@/assets/logo.jpg" class="avatar" />
         </div>
         <div class="flex-col">
-          <span class="text_1">{{ userinfo.nickname }}</span>
+          <div>
+            <span class="text_1">{{ userinfo.nickname }}</span>
+            <span class="level_name" v-if="userinfo.level_name">{{"("+userinfo.level_name+")"}}</span>
+          </div>
           <div class="flex-row">
             <span class="text_2">{{ userinfo.addressEncrypt }}</span>
             <div class="text-wrapper_2">
@@ -75,12 +78,14 @@
         </div>
       </div> -->
       <div class="list">
-        <div v-for="(item, index) of list" :key="index" @click="switchovers(item)" :style="{ 'border-top': index != 0 ? ' 1px solid rgba(232, 240, 247, 1)' : '' }" class="li">
-          <div class="li_left">
-            <img :src="item.image" class="li_img" />
-            <span>{{ item.name }}</span>
-          </div>
-          <img src="@/assets/images/right-white.png" class="right" />
+        <div v-for="(item, index) of list" :key="index" @click="switchovers(item)" class="li">
+          <template v-if="index != 5 ? true : userinfo.level_id > 0 ? true : false">
+            <div class="li_left">
+              <img :src="item.image" class="li_img" />
+              <span>{{ item.name }}</span>
+            </div>
+            <img src="@/assets/images/right-white.png" class="right" />
+          </template>
         </div>
       </div>
     </div>
@@ -274,6 +279,10 @@ export default {
       font-weight: 600;
       padding-bottom: 4px;
     }
+    .level_name {
+      color: rgba(#000, 0.8);
+      font-size: 13px;
+    }
     .text_2 {
       color: rgba(#000, 0.6);
       font-size: 13px;
@@ -407,6 +416,7 @@ export default {
         font-size: 14px;
         color: rgba(51, 51, 51, 1);
         padding: 16px 0;
+        border-bottom: 1px solid rgba(232, 240, 247, 1);
         .li_left {
           display: flex;
           align-items: center;
@@ -422,6 +432,9 @@ export default {
           height: 12px;
         }
       }
+      :li:last-child {
+        border-bottom: 0;
+      }
     }
   }
 

+ 88 - 8
src/views/mine/myAssets.vue

@@ -13,10 +13,10 @@
       <div class="tbody">
         <template v-if="total > 0">
           <van-list v-model="loading" :finished="finished" :finished-text="finishText" @load="onLoad" class="list_box" ref="vanList">
-            <div class="flex item" v-for="(item, index) in list" :key="index">
+            <div class="flex item" v-for="(item, index) in list" :key="index" @click="showDetail(item)">
               <span class="text"> {{ dateFormatFn(item.create_time) }} </span>
-              <span class="text"> {{ Math.floor(item.amount * 100) / 100 || 0 }}</span>
-              <span class="text"> {{ statusFormatFn(item.status) }} </span>
+              <span class="text"> {{ Number(item.base) + Number(item.jobs) + Number(item.work_full_hours) + Number(item.telephone) + Number(item.divvy) + Number(item.bonus) || 0 }}</span>
+              <span class="text"> {{ item.status == 0 ? '待发放' : item.status == 1 ? '已发放' : '未知' }} </span>
             </div>
           </van-list>
         </template>
@@ -28,6 +28,43 @@
         </template>
       </div>
     </div>
+    <van-overlay :show="show" @click="show = false">
+      <div class="wrapper">
+        <div class="block" @click.stop>
+          <div class="title">
+            <span>{{ dateFormatFn(detail.create_time) }}</span>
+          </div>
+          <div class="row">
+            <span class="key">底薪</span>
+            <span>{{ detail.base }}</span>
+          </div>
+          <div class="row">
+            <span class="key">岗位补贴</span>
+            <span>{{ detail.jobs }}</span>
+          </div>
+          <div class="row">
+            <span class="key">满勤补贴</span>
+            <span>{{ detail.work_full_hours }}</span>
+          </div>
+          <div class="row">
+            <span class="key">话费补贴</span>
+            <span>{{ detail.telephone }}</span>
+          </div>
+          <div class="row">
+            <span class="key">分红</span>
+            <span>{{ detail.divvy }}</span>
+          </div>
+          <div class="row">
+            <span class="key">奖金</span>
+            <span>{{ detail.bonus }}</span>
+          </div>
+          <div class="row">
+            <span class="key">总计</span>
+            <span>{{ Number(detail.base) + Number(detail.jobs) + Number(detail.work_full_hours) + Number(detail.telephone) + Number(detail.divvy) + Number(detail.bonus) || 0 }}</span>
+          </div>
+        </div>
+      </div>
+    </van-overlay>
   </div>
 </template>
 
@@ -44,6 +81,8 @@ export default {
       total: 1,
       realList: 0,
       finishText: '加载更多',
+      show: false,
+      detail: {},
     };
   },
   mounted() {
@@ -75,7 +114,10 @@ export default {
         // this.loading = false; // 关闭加载状态
       }
     },
-
+    showDetail(item) {
+      this.show = true;
+      this.detail = item;
+    },
     dateFormatFn(date) {
       return dateFormat(new Date(date * 1000), 'yyyy-MM');
     },
@@ -96,12 +138,12 @@ export default {
     check(e) {
       this.$refs.vanList.check();
     },
-    getWithdrawList() {
+    getSalaryList() {
       let params = {
         page: this.page,
         query: {},
       };
-      homeApi.withdrawList(params).then(res => {
+      homeApi.salaryList(params).then(res => {
         console.log(res);
         if (res.code == 200) {
           let rows = res.data.rows;
@@ -139,7 +181,7 @@ export default {
 
     onLoad() {
       this.page += 1;
-      this.getWithdrawList();
+      this.getSalaryList();
     },
   },
 };
@@ -197,7 +239,7 @@ export default {
       color: rgba(83, 89, 122, 1);
 
       .item {
-        padding: 10px 0;
+        padding: 12px 0;
         border-top: 1px solid rgba(232, 240, 247, 1);
       }
       .nodata {
@@ -206,5 +248,43 @@ export default {
       }
     }
   }
+  .wrapper {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: 100%;
+  }
+
+  .block {
+    color: #000;
+    width: 80%;
+    padding: 16px;
+    border-radius: 20px;
+    background-color: #fff;
+    box-shadow: 4px 4px 15px 0px rgba(180, 212, 212, 0.1);
+
+    .title {
+      text-align: center;
+      font-size: 16px;
+      font-weight: 600;
+      padding-bottom: 6px;
+    }
+
+    .row {
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      font-size: 14px;
+      padding: 12px 0;
+      border-bottom: 1px solid rgba(232, 240, 247, 1);
+
+      .key {
+        color: rgba(83, 89, 122, 1);
+      }
+    }
+    .row:last-child {
+      border: 0;
+    }
+  }
 }
 </style>