Blame view

src/components/scm/CouponRuleCpps.vue 4.02 KB
71def04c   wuxw   优化优惠
1
2
3
  <template>
    <div class="coupon-rule-cpps">
      <el-row class="operation-row">
f52d2b06   wuxw   积分功能开发中
4
5
        <el-col :span="24" class="text-right">
          <el-button type="primary" size="small" @click="handleQuery" class="query-btn">
71def04c   wuxw   优化优惠
6
7
            {{ $t('common.query') }}
          </el-button>
f52d2b06   wuxw   积分功能开发中
8
          <el-button type="primary" size="small" @click="openAddModal" class="add-btn">
71def04c   wuxw   优化优惠
9
10
11
12
13
14
            <i class="el-icon-plus"></i>
            {{ $t('common.add') }}
          </el-button>
        </el-col>
      </el-row>
  
f52d2b06   wuxw   积分功能开发中
15
16
      <el-table :data="tableData" border style="width: 100%" v-loading="loading">
        <el-table-column prop="crcId" :label="$t('couponRuleCpps.id')" align="center" width="100">
71def04c   wuxw   优化优惠
17
        </el-table-column>
f52d2b06   wuxw   积分功能开发中
18
        <el-table-column prop="couponName" :label="$t('couponRuleCpps.coupon')" align="center">
71def04c   wuxw   优化优惠
19
        </el-table-column>
f52d2b06   wuxw   积分功能开发中
20
        <el-table-column prop="quantity" :label="$t('couponRuleCpps.quantity')" align="center">
71def04c   wuxw   优化优惠
21
        </el-table-column>
f52d2b06   wuxw   积分功能开发中
22
        <el-table-column prop="giftFrequencyName" :label="$t('couponRuleCpps.frequency')" align="center">
71def04c   wuxw   优化优惠
23
        </el-table-column>
f52d2b06   wuxw   积分功能开发中
24
        <el-table-column :label="$t('common.operation')" align="center" width="200">
71def04c   wuxw   优化优惠
25
          <template slot-scope="scope">
f52d2b06   wuxw   积分功能开发中
26
            <el-button size="mini" @click="openEditModal(scope.row)">
71def04c   wuxw   优化优惠
27
28
              {{ $t('common.edit') }}
            </el-button>
f52d2b06   wuxw   积分功能开发中
29
            <el-button size="mini" type="danger" @click="openDeleteModal(scope.row)">
71def04c   wuxw   优化优惠
30
31
32
33
34
35
              {{ $t('common.delete') }}
            </el-button>
          </template>
        </el-table-column>
      </el-table>
  
f52d2b06   wuxw   积分功能开发中
36
37
38
      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
        :current-page="pagination.current" :page-sizes="[10, 20, 30, 50]" :page-size="pagination.size"
        layout="total, sizes, prev, pager, next, jumper" :total="pagination.total">
71def04c   wuxw   优化优惠
39
40
      </el-pagination>
  
f52d2b06   wuxw   积分功能开发中
41
42
43
      <add-coupon-rule-cpps ref="addCouponRuleCpps" :rule-id="ruleId" @success="handleSuccess" />
      <edit-coupon-rule-cpps ref="editCouponRuleCpps" @success="handleSuccess" />
      <delete-coupon-rule-cpps ref="deleteCouponRuleCpps" @success="handleSuccess" />
71def04c   wuxw   优化优惠
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
    </div>
  </template>
  
  <script>
  import { listCouponRuleCpps } from '@/api/scm/couponRuleApi'
  import AddCouponRuleCpps from './AddCouponRuleCpps'
  import EditCouponRuleCpps from './EditCouponRuleCpps'
  import DeleteCouponRuleCpps from './DeleteCouponRuleCpps'
  import { getCommunityId } from '@/api/community/communityApi'
  
  export default {
    name: 'CouponRuleCpps',
    components: {
      AddCouponRuleCpps,
      EditCouponRuleCpps,
      DeleteCouponRuleCpps
    },
71def04c   wuxw   优化优惠
61
62
    data() {
      return {
f52d2b06   wuxw   积分功能开发中
63
        ruleId:'',
71def04c   wuxw   优化优惠
64
65
66
67
68
69
70
71
72
        loading: false,
        tableData: [],
        pagination: {
          current: 1,
          size: 10,
          total: 0
        }
      }
    },
71def04c   wuxw   优化优惠
73
    methods: {
f52d2b06   wuxw   积分功能开发中
74
75
76
77
      open(ruleId){
        this.ruleId = ruleId
        this.getList()
      },
71def04c   wuxw   优化优惠
78
79
      async getList() {
        if (!this.ruleId) return
f52d2b06   wuxw   积分功能开发中
80
  
71def04c   wuxw   优化优惠
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
        this.loading = true
        try {
          const params = {
            page: this.pagination.current,
            row: this.pagination.size,
            ruleId: this.ruleId,
            communityId: getCommunityId()
          }
          const { data, total } = await listCouponRuleCpps(params)
          this.tableData = data
          this.pagination.total = total
        } catch (error) {
          console.error('Failed to get coupon rule cpps:', error)
        } finally {
          this.loading = false
        }
      },
      handleQuery() {
        this.pagination.current = 1
        this.getList()
      },
      handleSizeChange(val) {
        this.pagination.size = val
        this.getList()
      },
      handleCurrentChange(val) {
        this.pagination.current = val
        this.getList()
      },
      openAddModal() {
        this.$refs.addCouponRuleCpps.open()
      },
      openEditModal(row) {
        this.$refs.editCouponRuleCpps.open(row)
      },
      openDeleteModal(row) {
        this.$refs.deleteCouponRuleCpps.open(row)
      },
      handleSuccess() {
        this.getList()
      }
    }
  }
  </script>
  
  <style lang="scss" scoped>
  .coupon-rule-cpps {
    .operation-row {
      margin-bottom: 20px;
f52d2b06   wuxw   积分功能开发中
130
  
71def04c   wuxw   优化优惠
131
132
133
134
      .query-btn {
        margin-right: 10px;
      }
    }
f52d2b06   wuxw   积分功能开发中
135
  
71def04c   wuxw   优化优惠
136
137
138
139
140
141
    .el-pagination {
      margin-top: 20px;
      text-align: right;
    }
  }
  </style>