فهرست منبع

feat: NG-74: 奖金计算调整

tyler 1 سال پیش
والد
کامیت
f8682e13ff
1فایلهای تغییر یافته به همراه95 افزوده شده و 2 حذف شده
  1. 95 2
      src/views/bonus/account-list.vue

+ 95 - 2
src/views/bonus/account-list.vue

@@ -19,6 +19,95 @@
     </el-row>
 
     <el-dialog v-loading="loading" :title="bonusFlowType" :visible.sync="dialog" :width="screenWidth" style="margin-top: -80px;">
+      <el-row :gutter="10" style="margin-top: -30px;">
+        <el-col :xs="24" :sm="24" :lg="6">
+          <el-date-picker
+            v-model="listQuery.createAt[0]"
+            type="date"
+            :placeholder="$t('common.startDate')"
+            value-format="yyyy-MM-dd"
+            clearable
+            style="width: 100%; margin: 10px 0;"
+          />
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="6" :span="6">
+          <el-date-picker
+            v-model="listQuery.createAt[1]"
+            type="date"
+            :placeholder="$t('common.endDate')"
+            value-format="yyyy-MM-dd"
+            clearable
+            style="width: 100%; margin: 10px 0;"
+          />
+        </el-col>
+        <el-col v-if="listQuery.walletType !== 'cash'" :xs="24" :sm="24" :lg="6" :span="6">
+          <el-select v-model="listQuery.dealType" size="small" :placeholder="$t('bonus.transType')" clearable style="width: 100%; margin: 10px 0;">
+            <el-option v-for="(item, key) in dealTypeList" :key="key" :label="item" :value="key" />
+          </el-select>
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="6" :span="6">
+          <el-input v-model="listQuery.remark" size="small" :placeholder="$t('bonus.remark')" clearable style="width: 100%; margin: 10px 0;" />
+        </el-col>
+        <el-col :xs="24" :sm="24" :lg="24" :span="24">
+          <div class="grid-content bg-purple">
+            <el-button size="small" type="primary" @click="handleBonusFlow(listQuery.walletType, walletName)">{{ $t('common.select') }}</el-button>
+            <el-button size="small" type="warning" @click="handleFilterClear(listQuery.walletType, walletName)">{{ $t('common.reset') }}</el-button>
+          </div>
+        </el-col>
+      </el-row>
+
+      <el-table
+        :data="bonusData"
+        border
+        fit
+        highlight-current-row
+        style="margin-top: 10px;"
+        :xs="24"
+        :sm="24"
+        :lg="6"
+      >
+        <el-table-column :label="$t('bonus.transTime')" align="center" min-width="140px">
+          <template slot-scope="{row}">
+            <span>{{ row.CREATED_AT | parseTime('{y}-{m}-{d} {h}:{i}') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column v-if="dealTypeSwitch" :label="$t('bonus.transType')" align="center" min-width="150px">
+          <template slot-scope="{row}">
+            <span>{{ row.DEAL_TYPE_NAME }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('bonus.preTransactionBalance')" align="center" min-width="150px">
+          <template slot-scope="{row}">
+            <span>{{ tool.formatPrice(row.TOTAL - row.AMOUNT) | amountFilter }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('bonus.postTransactionBalance')" align="center" min-width="160px">
+          <template slot-scope="{row}">
+            <span>{{ row.AMOUNT | amountFilter }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('bonus.transAmount')" align="center" min-width="120px">
+          <template slot-scope="{row}">
+            <el-tag :type="row.IS_INCR > 0 ? 'danger' : 'info'" size="small" class="no-border">
+              <span class="text-danger">{{ row.IS_INCR > 0 ? '+' : '' }}  {{ row.AMOUNT | amountFilter }}</span>
+            </el-tag>
+          </template>
+        </el-table-column>
+        <el-table-column :label="$t('bonus.remark')" align="center" min-width="240px">
+          <template slot-scope="{row}">
+            <span>{{ row.REMARK }}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <el-row :gutter="10">
+        <el-col :xs="24" :sm="24" :lg="24" :span="24">
+          <pagination v-show="total>0" :total="total" :page.sync="listQuery.page" :limit.sync="listQuery.pageSize" @pagination="handleBonusFlow(listQuery.walletType, walletName)" />
+        </el-col>
+      </el-row>
+    </el-dialog>
+
+    <el-dialog v-loading="loading" :title="bonusFlowType" :visible.sync="userPerformanceBonusDialog" :width="screenWidth" style="margin-top: -80px;">
       <el-table
         :data="bonusData"
         border
@@ -32,7 +121,6 @@
         <el-table-column align="center" min-width="100px" :label="$t('bonus.No')" prop="ID" />
         <el-table-column align="center" min-width="100px" :label="$t('bonus.amount')" prop="AMOUNTS" />
         <el-table-column align="center" min-width="100px" :label="$t('bonus.originalAmount')" prop="ORIGINAL" />
-
         <el-table-column :label="$t('bonus.expiredTime')" align="center" min-width="140px">
           <template slot-scope="{row}">
             <span>{{ row.EXPIRED_AT | parseTime('{y}-{m}-{d}') }}</span>
@@ -68,6 +156,7 @@ export default {
       dealTypeSwitch: true,
 
       dialog: false,
+      userPerformanceBonusDialog: false,
       bonusFlowType: '',
       walletName: '',
       dealTypeList: null,
@@ -106,7 +195,11 @@ export default {
         this.total = response.data.totalCount
         this.dealTypeList = response.data.dealTypes
         this.dealTypeSwitch = walletType !== 'cash'
-        this.dialog = true
+        if(this.listQuery.walletType === 'userPerformanceBonus'){
+          this.userPerformanceBonusDialog = true
+        }else {
+          this.dialog = true
+        }
         this.loading = false
       })
     },