Няма описание

index.vue 4.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <template>
  2. <div class="app-container calendar-list-container">
  3. <div class="app-container" v-show="visible.firstLayer">
  4. <!-- <div class="app-container">
  5. <el-date-picker
  6. v-model="date"
  7. type="datetimerange"
  8. :picker-options="pickerOptions"
  9. range-separator="至"
  10. start-placeholder="開始日期"
  11. end-placeholder="结束日期"
  12. align="right">
  13. </el-date-picker>
  14. <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">搜尋</el-button>
  15. </div> -->
  16. <el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row
  17. style="width: 100%">
  18. <el-table-column label="工作室上繳金額" align="center">
  19. <template slot-scope="scope">
  20. <span>{{scope.row.all}}</span>
  21. </template>
  22. </el-table-column>
  23. <el-table-column align="center" label="工作室實收維護費" >
  24. <template slot-scope="scope">
  25. <span>{{scope.row.FixedServiceFees}}</span>
  26. </template>
  27. </el-table-column>
  28. </el-table>
  29. </div>
  30. <router-view :bucket="bucket"></router-view>
  31. </div>
  32. </template>
  33. <script>
  34. import { mapGetters, mapActions } from 'vuex'
  35. import { fetchStudiosDetail } from '@/api/studio'
  36. import waves from '@/directive/waves' // 水波纹指令
  37. import moment from 'moment-timezone'
  38. import { Decimal } from 'decimal.js';
  39. export default {
  40. directives: {
  41. waves
  42. },
  43. data() {
  44. return {
  45. list: [],
  46. listLoading: true,
  47. bucket: '',
  48. listQuery: {
  49. // startAt: moment.utc(moment().day('sunday').hour(12).minute(0).second(0).subtract(1, 'weeks').day(7).hour(16).minute(0).second(0)).format(),
  50. // endAt: moment.utc(moment().day('sunday').hour(12).minute(0).second(0).day(7).hour(11).minute(59).second(59)).format()
  51. },
  52. temp: {},
  53. pickerOptions: {
  54. shortcuts: [{
  55. text: '本週',
  56. onClick(picker) {
  57. const end = moment().day('sunday').hour(12).minute(0).second(0).day(7).hour(11).minute(59).second(59)
  58. const start = moment().day('sunday').hour(12).minute(0).second(0).subtract(1, 'weeks').day(7).hour(16).minute(0).second(0)
  59. picker.$emit('pick', [start, end])
  60. }
  61. }, {
  62. text: '上週',
  63. onClick(picker) {
  64. const end = moment().day('sunday').hour(12).minute(0).second(0).subtract(1, 'weeks').day(7).hour(11).minute(59).second(59)
  65. const start = moment().day('sunday').hour(12).minute(0).second(0).subtract(2, 'weeks').day(7).hour(16).minute(0).second(0)
  66. picker.$emit('pick', [start, end])
  67. }
  68. }]
  69. },
  70. date: null
  71. }
  72. },
  73. created() {
  74. this.getList()
  75. this.SetVisible(1)
  76. },
  77. computed: {
  78. ...mapGetters([
  79. 'visible'
  80. ])
  81. },
  82. methods: {
  83. ...mapActions([
  84. 'SetVisible'
  85. ]),
  86. getList() {
  87. this.listLoading = true
  88. fetchStudiosDetail(this.listQuery).then(response => {
  89. console.log('eee', response.data)
  90. let data = {
  91. bookies: {},
  92. members: {}
  93. }
  94. // console.log('ddd', data)
  95. if(response.data.length !== 0){
  96. this.list = []
  97. response.data.map((item)=>{
  98. if(item.isBookie){
  99. data.bookies.serviceFees = new Decimal(item.serviceFees)
  100. data.bookies.count = new Decimal(item.count)
  101. data.bookies.FixedServiceFees = item.FixedServiceFees
  102. data.bookies.wagerServiceFees = new Decimal(item.wagerServiceFees)
  103. }else{
  104. data.members.serviceFees = new Decimal(item.serviceFees)
  105. data.members.count = new Decimal(item.count)
  106. }
  107. })
  108. this.list.push({
  109. // all: data.bookies.serviceFees.plus(data.members.serviceFees).minus(data.bookies.count.times(500)).times(0.2).valueOf(),
  110. all: data.bookies.serviceFees.plus(data.members.serviceFees).plus(data.bookies.wagerServiceFees).times(0.2).valueOf(),
  111. // all: (data.bookies.serviceFees - (data.bookies.count * 500) + data.members.serviceFees) * 0.2,
  112. FixedServiceFees: data.bookies.FixedServiceFees
  113. })
  114. }else{
  115. this.list = [];
  116. }
  117. this.listLoading = false
  118. })
  119. },
  120. // handleFilter() {
  121. // this.listQuery.page = 1
  122. // if (this.date) {
  123. // this.listQuery.startAt = moment.utc(this.date[0]).format()
  124. // this.listQuery.endAt = moment.utc(this.date[1]).format()
  125. // } else {
  126. // this.listQuery.startAt = null
  127. // this.listQuery.endAt = null
  128. // }
  129. // this.getList()
  130. // },
  131. handleSizeChange(val) {
  132. this.listQuery.limit = val
  133. this.getList()
  134. },
  135. handleCurrentChange(val) {
  136. this.listQuery.page = val
  137. this.getList()
  138. },
  139. moment(time) {
  140. return moment(time).tz('Asia/Taipei').format('YYYY-MM-DD HH:mm:ss')
  141. }
  142. }
  143. }
  144. </script>