Browse Source

修改课酬确认

lex-xin 4 years ago
parent
commit
1d9be4fe98

File diff suppressed because it is too large
+ 0 - 0
dist/app.c8b73560c0ce7a3fddf7.js


File diff suppressed because it is too large
+ 0 - 0
dist/css/Remuneration.43085111.css


File diff suppressed because it is too large
+ 0 - 0
dist/css/Remuneration.465b9c6f.css


BIN
dist/img/reword_icon.ab6d68c8.png


File diff suppressed because it is too large
+ 0 - 0
dist/index.html


File diff suppressed because it is too large
+ 0 - 0
dist/js/AppealDetail.81d8af11.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/AppealDetail.88312fbe.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/AppealRecord.98f43a9a.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/AppealRecord.da8833af.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/AppealResult.8e65bb6b.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/AppealResult.c7a76d06.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/MonthAppeal.1c615575.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/MonthAppeal.d39933c1.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/Remuneration.39d7c075.js


File diff suppressed because it is too large
+ 0 - 0
dist/js/Remuneration.cf3d2220.js


+ 10 - 0
src/api/audition.js

@@ -12,6 +12,15 @@ const findTeacherSettlementCourseSalarys = (data) => {
   })
 }
 
+// 分页查询结转奖励
+const findTeacherRewards = (data) => {
+  return axios({
+      url: api + '/courseScheduleTeacherSalary/findTeacherRewards',
+      method: 'get',
+      params: data
+  })
+}
+
 // 确定教师指定月份的课酬 
 const confirmTeacherMonthSalary = (data) => {
   return axios({
@@ -77,6 +86,7 @@ const teacherSalaryComplaintQueryPage = (data) => {
 
 export {
   findTeacherSettlementCourseSalarys,
+  findTeacherRewards,
   confirmTeacherMonthSalary,
   teacherSalaryComplaintAdd,
   teacherSalaryComplaintGet,

BIN
src/assets/images/audition/reword_icon.png


+ 132 - 44
src/views/audition/Remuneration.vue

@@ -2,46 +2,87 @@
   <div class="wrap" id="remuneration">
     <m-header v-if="headerStatus" />
 
-    <div class="monthMoney">{{ appealDate }}课酬</div>
+    <div class="monthMoney">{{ appealDate }}课酬 <br/><span>总计:{{ allMoney }}元</span></div>
     <div class="monthCount" v-if="statistics.length > 0">
       <div class="item" v-for="(item, index) in statistics" :key="index">
-        <span class="title" v-if="item.groupType == 'ALL'">本月合计</span>
-        <span class="title" v-if="item.groupType == 'MUSIC'">乐团课合计</span>
-        <span class="title" v-if="item.groupType == 'VIP'">VIP课合计</span>
-        <span class="title" v-if="item.groupType == 'PRACTICE'">网管课合计</span>
-        <span>{{ item.courseTimes }}节</span>
+        <!-- <span class="title" v-if="item.groupType == 'ALL'">本月合计</span> -->
+        <span class="title" v-if="item.statType == 'MUSIC'">乐团课合计</span>
+        <span class="title" v-if="item.statType == 'VIP'">VIP课合计</span>
+        <span class="title" v-if="item.statType == 'PRACTICE'">网管课合计</span>
+        <span class="title" v-if="item.statType == 'REWARD'">转结奖励合计</span>
+        <span>{{ item.courseTimes }}{{ item.statType == 'REWARD' ? '组' : '节' }}</span>
         <span class="money">{{ item.totalActualSalary }}元</span>
       </div>
     </div>
 
     <div :class="confirmStatus == 0 ? 'paddingB80' : 'paddingB16'">
-      <van-list v-model="loading" :finished="finished" finished-text=" " @load="getList">
-        <van-cell-group v-for="(item, index) in dataList" :key="index">
-          <van-cell>
-            <template #icon>
-              <i class="icon icon_audition" v-if="item.groupType == 'PRACTICE'"></i>
-              <i class="icon icon_vip" v-if="item.groupType == 'VIP'"></i>
-              <i class="icon icon_music" v-if="item.groupType == 'MUSIC'"></i>
-            </template>
-            <template #title>
-              <div class="title">{{ item.courseName }}</div>
-              <div class="baseInfo">
-                <p>排课:{{ item.startClassTime | getMonthDay }} {{ item.startClassTime | getHourMin }}-{{ item.endClassTime | getHourMin }}</p>
-                <p>签到:{{ item.signInTime | getHourMin }}&nbsp;&nbsp;&nbsp;&nbsp;签退:{{ item.signOutTime | getHourMin }}</p>
-              </div>
-            </template>
-            <template #default>
-              <p class="money" :class="[item.reduceSalary > 0 ? 'error' : '']">
-                ¥<span>{{ item.finalSalary }}</span>
-              </p>
-              <div class="moneyInfo" v-if="item.reduceSalary > 0">
-                课酬:¥{{ item.actualSalary }}
-                <br />扣款:¥{{ item.reduceSalary }}
-              </div>
-            </template>
-          </van-cell>
-        </van-cell-group>
-      </van-list>
+      <van-tabs v-model="active">
+        <van-tab title="课酬明细">
+          <div v-if="dataShow" key="data">
+            <van-list v-model="loading" :finished="finished" finished-text=" " @load="getList">
+              <van-cell-group v-for="(item, index) in dataList" :key="index">
+                <van-cell>
+                  <template #icon>
+                    <i class="icon icon_audition" v-if="item.groupType == 'PRACTICE'"></i>
+                    <i class="icon icon_vip" v-if="item.groupType == 'VIP'"></i>
+                    <i class="icon icon_music" v-if="item.groupType == 'MUSIC'"></i>
+                  </template>
+                  <template #title>
+                    <div class="title">{{ item.courseName }}</div>
+                    <div class="baseInfo">
+                      <p>排课:{{ item.startClassTime | getMonthDay }} {{ item.startClassTime | getHourMin }}-{{ item.endClassTime | getHourMin }}</p>
+                      <p>签到:{{ item.signInTime | getHourMin }}&nbsp;&nbsp;&nbsp;&nbsp;签退:{{ item.signOutTime | getHourMin }}</p>
+                    </div>
+                  </template>
+                  <template #default>
+                    <p class="money" :class="[item.reduceSalary > 0 ? 'error' : '']">
+                      ¥<span>{{ item.finalSalary }}</span>
+                    </p>
+                    <div class="moneyInfo" v-if="item.reduceSalary > 0">
+                      课酬:¥{{ item.actualSalary }}
+                      <br />扣款:¥{{ item.reduceSalary }}
+                    </div>
+                  </template>
+                </van-cell>
+              </van-cell-group>
+            </van-list>
+          </div>
+          <m-empty class="empty" v-else key="data" />
+        </van-tab>
+        <van-tab title="转结奖励明细">
+          <div v-if="dataShow2" key="data2">
+            <van-list v-model="loading2" :finished="finished2" finished-text=" " @load="getList2">
+              <van-cell-group v-for="(item, index) in dataList2" :key="index">
+                <van-cell>
+                  <template #icon>
+                    <!-- <i class="icon icon_audition" v-if="item.groupType == 'PRACTICE'"></i>
+                    <i class="icon icon_vip" v-if="item.groupType == 'VIP'"></i>
+                    <i class="icon icon_music" v-if="item.groupType == 'MUSIC'"></i> -->
+                    <i class="icon icon_reword"></i>
+                  </template>
+                  <template #title>
+                    <div class="title">{{ item.courseName }}</div>
+                    <div class="baseInfo">
+                      <p>排课:{{ item.startClassTime | getMonthDay }} {{ item.startClassTime | getHourMin }}-{{ item.endClassTime | getHourMin }}</p>
+                      <p>签到:{{ item.signInTime | getHourMin }}&nbsp;&nbsp;&nbsp;&nbsp;签退:{{ item.signOutTime | getHourMin }}</p>
+                    </div>
+                  </template>
+                  <template #default>
+                    <p class="money" :class="[item.reduceSalary > 0 ? 'error' : '']">
+                      ¥<span>{{ item.finalSalary }}</span>
+                    </p>
+                    <div class="moneyInfo" v-if="item.reduceSalary > 0">
+                      课酬:¥{{ item.actualSalary }}
+                      <br />扣款:¥{{ item.reduceSalary }}
+                    </div>
+                  </template>
+                </van-cell>
+              </van-cell-group>
+            </van-list>
+          </div>
+          <m-empty class="empty" v-else key="data2" />
+        </van-tab>
+      </van-tabs>
     </div>
 
     <!-- <m-empty class="empty" v-else key="data" /> -->
@@ -55,11 +96,11 @@
 <script>
 import MHeader from "@/components/MHeader";
 import { browser, getSTD } from "@/common/common";
-// import MEmpty from "@/components/MEmpty";
-import { findTeacherSettlementCourseSalarys, confirmTeacherMonthSalary } from "@/api/audition";
+import MEmpty from "@/components/MEmpty";
+import { findTeacherSettlementCourseSalarys, confirmTeacherMonthSalary, findTeacherRewards } from "@/api/audition";
 export default {
   name: "remuneration",
-  components: { MHeader },
+  components: { MHeader, MEmpty },
   data() {
     let query = this.$route.query
     let tempDate = new Date(query.month + '-01')
@@ -70,12 +111,14 @@ export default {
     let tempAppealDate = tempDate.getFullYear() + '年' + getSTD(tempDate.getMonth() + 1) + '月'
     let tempAppealDateStr = tempDate.getFullYear() + '-' + getSTD(tempDate.getMonth() + 1)
     return {
+      active: 0,
       headerStatus: true,
       appealDate: tempAppealDate,
       appealDateStr: tempAppealDateStr,
       loading: false,
       finished: false,
       statistics: [],
+      allMoney: 0, // 总计金额
       dataList: [],
       dataShow: true, // 是否有数据
       confirmStatus: 1, // 是否确认
@@ -84,7 +127,16 @@ export default {
         month: query.month ? query.month : null,
         page: 1,
         rows: 20
-      }
+      },
+      loading2: false,
+      finished2: false,
+      dataList2: [],
+      dataShow2: true, // 是否有数据
+      params2: {
+        month: query.month ? query.month : null,
+        page: 1,
+        rows: 20
+      },
     };
   },
   mounted() {
@@ -97,6 +149,7 @@ export default {
     if (browser().android || browser().iPhone) {
       this.headerStatus = false;
     }
+
   },
   methods: {
     getList() {
@@ -108,7 +161,7 @@ export default {
         if (result.code == 200) {
           // 判断是否有统计数据
           if(result.data.stat && result.data.stat.length > 0) {
-            let tempStatistics = result.data.stat
+            this.statistics = result.data.stat
             let counts = {
               courseTimes: 0,
               totalActualSalary: 0
@@ -117,9 +170,7 @@ export default {
               counts.courseTimes += item.courseTimes
               counts.totalActualSalary += item.totalActualSalary
             })
-            counts.groupType = 'ALL'
-            tempStatistics.unshift(counts)
-            this.statistics = tempStatistics
+            this.allMoney = counts.totalActualSalary
           }
           let pageInfo = result.data.pageInfo
           params.page = pageInfo.pageNo
@@ -139,6 +190,29 @@ export default {
         }
       });
     },
+    getList2() {
+      // this.finished = true
+      let params = this.params2;
+      findTeacherRewards(params).then(res => {
+        let result = res.data;
+        this.loading2 = false;
+        if (result.code == 200) {
+          let pageInfo = result.data
+          params.page = pageInfo.pageNo
+          this.dataList2 = this.dataList2.concat(pageInfo.rows)
+          if (params.page >= pageInfo.totalPage) {
+            this.finished2 = true;
+          }
+          this.params2.page++;
+        } else {
+          this.finished2 = true;
+        }
+        // 判断是否有数据
+        if (this.dataList.length <= 0) {
+          this.dataShow2 = false;
+        }
+      });
+    },
     onAppeal(haveComplaints) {
       this.$router.push({
         path: "appealDetail",
@@ -211,13 +285,16 @@ export default {
   color: #1a1a1a;
   background: #fff;
   text-align: center;
-  line-height: 0.5rem;
+  padding: .1rem 0;
+  span {
+    font-size: .18rem;
+  }
 }
 
 .monthCount {
   border: 1px solid rgba(204, 204, 204, 1);
   border-radius: 0.04rem;
-  margin: 0.16rem 0.16rem 0;
+  margin: 0.16rem 0.16rem .12rem;
   background: #fff;
   padding: 0.12rem;
   .item {
@@ -227,7 +304,7 @@ export default {
     font-size: 0.14rem;
     padding: 0.05rem 0.1rem;
     .title {
-      width: 0.8rem;
+      width: 1rem;
     }
     .money {
       width: 0.8rem;
@@ -239,6 +316,13 @@ export default {
     }
   }
 }
+/deep/.van-tabs {
+  background: #fff;
+  padding-bottom: .12rem;
+}
+/deep/.van-tabs__line {
+  background-color: #14928A;
+}
 /deep/.van-cell-group {
   margin: 0.16rem 0.16rem 0;
   border: 1px solid #71bdb8;
@@ -301,6 +385,10 @@ export default {
   background: url("../../assets/images/audition/vip_icon.png") no-repeat center;
   background-size: contain;
 }
+.icon_reword {
+  background: url("../../assets/images/audition/reword_icon.png") no-repeat center;
+  background-size: contain;
+}
 .paddingB80 {
   padding-bottom: .8rem
 }

Some files were not shown because too many files changed in this diff