Blame view

src/components/fee/aRoomDetailHisFee.vue 3.01 KB
a42b3256   wuxw   HC小区管理系统前段vue版正在开发中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
  <template>
    <div class="his-fee-container">
      <el-table :data="feeDetails" border>
        <el-table-column prop="feeName" :label="$t('adminRoomFee.feeName')" align="center" />
        <el-table-column prop="payerObjName" :label="$t('adminRoomFee.payerObj')" align="center" />
        <el-table-column prop="cycles" :label="$t('adminRoomFee.cycles')" align="center" />
        <el-table-column :label="$t('adminRoomFee.amount')" align="center">
          <template slot-scope="scope">
            {{ scope.row.receivableAmount }}/{{ scope.row.receivedAmount }}<br>
            <div v-if="scope.row.acctAmount>0">
              {{ $t('adminRoomFee.accountDeduction') }}: {{ scope.row.acctAmount }}<br>
            </div>
            <div v-for="(item,index) in scope.row.payFeeDetailDiscountDtoList" :key="index">
              {{ item.discountName }}: {{ Math.abs(item.discountPrice) }}<br>
            </div>
          </template>
        </el-table-column>
        <el-table-column prop="primeRateName" :label="$t('adminRoomFee.paymentMethod')" align="center" />
        <el-table-column :label="$t('adminRoomFee.paymentPeriod')" align="center">
          <template slot-scope="scope">
            {{ dfTime(scope.row.startTime) }}~<br>
            {{ dfTime(scope.row.endTime)}}
          </template>
        </el-table-column>
        <el-table-column prop="createTime" :label="$t('adminRoomFee.paymentTime')" align="center" />
        <el-table-column prop="cashierName" :label="$t('adminRoomFee.cashier')" align="center" />
        <el-table-column prop="stateName" :label="$t('adminRoomFee.status')" align="center" />
        <el-table-column prop="remark" :label="$t('adminRoomFee.remark')" align="center" />
      </el-table>
  
      <el-pagination
      class="margin-top"
        :current-page="page.current"
        :page-size="page.size"
        :total="page.total"
        layout="total, sizes, prev, pager, next, jumper"
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
      />
    </div>
  </template>
  
  <script>
  import { queryAdminFeeDetail } from '@/api/fee/adminRoomFeeApi'
  import {dateFormat} from '@/utils/dateUtil'
  
  
  export default {
    name: 'ARoomDetailHisFee',
    props: {
      ownerId: {
        type: String,
        default: ''
      },
      feeId: {
        type: String,
        default: ''
      }
    },
    data() {
      return {
        feeDetails: [],
        page: {
          current: 1,
          size: 10,
          total: 0
        }
      }
    },
    methods: {
      open(ownerId, roomId) {
        console.log(ownerId, roomId)
        this.loadData()
      },
    async  loadData() {
        const params = {
          page: this.page.current,
          row: this.page.size,
          ownerId: this.ownerId,
          feeId: this.feeId
        }
        
      const res = await queryAdminFeeDetail(params)
          this.feeDetails = res.feeDetails
          this.page.total = res.total
        
      },
      handleSizeChange(val) {
        this.page.size = val
        this.loadData()
      },
      handleCurrentChange(val) {
        this.page.current = val
        this.loadData()
      },
      dfTime(time) {
        return dateFormat(time)
      }
    }
  }
  </script>