peng
2 天以前 e7063e86ade09de47a7405e1292dd9ff18bfd064
manager/src/views/activity-prize/prize-store.vue
@@ -109,6 +109,12 @@
            v-if="row.generateStatus ==='NOT_GENERATE'"
          >生成优惠卷</Button>
          <Button
            style="margin-left: 10px;"
            type="primary"
            class="add-btn"
            :disabled="row.material !== 'NOT_GENERATE'"
          >查看材料</Button>
          <Button
            @click="detail(row)"
            style="margin-left: 10px;"
            type="primary"
@@ -154,16 +160,16 @@
    </Modal>
    <Modal
      v-model="showCouponStore"
      v-model="showPrizeClaim"
      width="1200"
      :mask-closable="false"
      @on-cancel="handleCancelCouponStore"
    >
      <Table
        :loading="couponStoreLoading"
        :loading="showPrizeClaimLoading"
        border
        :columns="couponStoreColumns"
        :data="couponStoreData"
        :columns="prizeClaimColumns"
        :data="prizeClaimData"
        ref="table"
      >
        <template slot-scope="{ row }" slot="action">
@@ -177,11 +183,11 @@
      </Table>
      <Row type="flex" justify="center" class="mt_10">
        <Page
          :current="storeCouponSingleQuery.pageNumber"
          :total="couponStoreTotal"
          :page-size="storeCouponSingleQuery.pageSize"
          @on-change="couponStoreChangePage"
          @on-page-size-change="couponStoreChangePageSize"
          :current="prizeClaimQuery.pageNumber"
          :total="prizeClaimTotal"
          :page-size="prizeClaimQuery.pageSize"
          @on-change="prizeCliamChangePage"
          @on-page-size-change="prizeCliamChangePageSize"
          :page-size-opts="[10, 20, 50]"
          size="small"
          show-total
@@ -274,7 +280,7 @@
<script>
import vueQr from "vue-qr";
import { getPage,add,changeStatus,generateStorePrize} from "@/api/prize-store.js"
import { getPage,add,changeStatus,generateStorePrize,getClaimPage} from "@/api/prize-store.js"
import * as API_Activity_Prize from "@/api/activity-prize.js"
import * as API_Order from "@/api/order";
@@ -290,23 +296,23 @@
      showGeneralQrCode:false,
      codeLoading:false,
      codeUrl: this.QRcodeBaseUrl+ '/scanpage/couponStore',
      codeUrl: this.QRcodeBaseUrl+ '/scanpage/prize',
      showCouponStore:false,
      couponStoreTotal:0,
      couponStoreData:[],
      couponStoreLoading:false,
      couponStoreColumns: [
      showPrizeClaim:false,
      prizeClaimTotal:0,
      prizeClaimData:[],
      showPrizeClaimLoading:false,
      prizeClaimColumns: [
        {
          title: "优惠券名称",
          key: "couponName",
          title: "活动名",
          key: "prizeActivityName",
          width: 200,
          align: "center",
          tooltip: true
        },
        {
          title: "优惠券编号",
          key: "couponNo",
          title: "编号",
          key: "no",
          width: 200,
          align: "center",
          tooltip: true
@@ -410,10 +416,10 @@
      total: 0,
      listLoading: false,
      submitLoading: false,
      storeCouponSingleQuery:{
      prizeClaimQuery:{
        pageNumber: 1,
        pageSize: 10,
        refId:""
        storePrizeId:""
      },
      listQuery: {
@@ -521,12 +527,11 @@
    },
    detail(row){
      console.log(row)
      this.showCouponStore = true;
      this.storeCouponSingleQuery.refId = row.id
      this.storeCouponSingleQuery.pageSize = 10
      this.storeCouponSingleQuery.pageNumber = 1
      this.getCouponStoreDataList();
      this.showPrizeClaim = true;
      this.prizeClaimQuery.storePrizeId = row.id
      this.prizeClaimQuery.pageSize = 10
      this.prizeClaimQuery.pageNumber = 1
      this.getClaimPage();
    },
    generalStorePrize(row){
      generateStorePrize(row.id).then(response => {
@@ -556,16 +561,16 @@
      this.getActivityPrizeDataList();
    },
    couponStoreChangePage(v) {
    prizeCliamChangePage(v) {
      // 改变页码
      this.storeCouponSingleQuery.pageNumber = v;
      this.getCouponStoreDataList();
      this.prizeClaimQuery.pageNumber = v;
      this.getClaimPage();
    },
    couponStoreChangePageSize(v) {
    prizeCliamChangePageSize(v) {
      // 改变页数
      this.storeCouponSingleQuery.pageNumber = 1;
      this.storeCouponSingleQuery.pageSize = v;
      this.getCouponStoreDataList();
      this.prizeClaimQuery.pageNumber = 1;
      this.prizeClaimQuery.pageSize = v;
      this.getClaimPage();
    },
    handleRowClick(currentRow ,oldCurrentRow){
      console.log(currentRow)
@@ -576,15 +581,15 @@
      console.log(this.temp.couponId)
    },
    getCouponStoreDataList(){
      this.couponStoreLoading = true;
      // API_Activity_Prize(this.storeCouponSingleQuery).then((res) =>{
      //   this.couponStoreLoading =false;
      //   if (res.code === 200){
      //     this.couponStoreData = res.data;
      //     this.couponStoreTotal = res.total;
      //   }
      // })
    getClaimPage(){
      this.showPrizeClaimLoading = true;
      getClaimPage(this.prizeClaimQuery).then((res) =>{
        this.showPrizeClaimLoading =false;
        if (res.code === 200){
          this.prizeClaimData = res.data;
          this.prizeClaimTotal = res.total;
        }
      })
    },
    getActivityPrizeDataList() {
@@ -692,7 +697,7 @@
      return colorMap[status] || 'default';
    },
    handleCancelCouponStore(){
      this.showCouponStore = false;
      this.showPrizeClaim = false;
    },
    // 弹窗取消
    handleCancel() {
@@ -714,7 +719,29 @@
        }
      });
    }
    },
    formatDate(date, format = 'YYYY-MM-DD HH:mm:ss') {
      if (!date) return '';
      const d = new Date(date);
      if (isNaN(d.getTime())) return '';
      const padZero = (num) => String(num).padStart(2, '0'); // 更可靠的补零方法
      const year = d.getFullYear();
      const month = padZero(d.getMonth() + 1); // 月份 0-11 → +1
      const day = padZero(d.getDate());
      const hours = padZero(d.getHours());
      const minutes = padZero(d.getMinutes());
      const seconds = padZero(d.getSeconds());
      return format
        .replace('YYYY', year)
        .replace('MM', month)
        .replace('DD', day)
        .replace('HH', hours)
        .replace('mm', minutes)
        .replace('ss', seconds);
    },
  },
  mounted() {
    this.getStoreSelect();