From dc0dc18ad8a64b3f2f2939deb9555fa32999a365 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 30 九月 2025 16:53:05 +0800
Subject: [PATCH] 店铺材料

---
 seller/src/views/activity/store-prize-proof |  353 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 353 insertions(+), 0 deletions(-)

diff --git a/seller/src/views/activity/store-prize-proof b/seller/src/views/activity/store-prize-proof
new file mode 100644
index 0000000..f2f462d
--- /dev/null
+++ b/seller/src/views/activity/store-prize-proof
@@ -0,0 +1,353 @@
+<template>
+  <div class="search">
+    <Card>
+      <Button style="margin-bottom: 10px" @click="back()">杩斿洖</Button>
+      <Form
+        ref="searchForm"
+        :model="searchForm"
+        inline
+        :label-width="75"
+        class="search-form mb_10"
+      >
+        <Form-item label="浼樻儬鍒稿悕绉�" prop="couponName">
+          <Input
+            type="text"
+            v-model="searchForm.couponName"
+            placeholder="璇疯緭鍏ヤ紭鎯犲埜鍚嶇О"
+            clearable
+            style="width: 200px"
+          />
+        </Form-item>
+        <Form-item label="浼氬憳鍚嶇О" prop="memberName">
+          <Input
+            type="text"
+            v-model="searchForm.memberName"
+            placeholder="璇疯緭鍏ヤ細鍛樺悕绉�"
+            clearable
+            style="width: 200px"
+          />
+        </Form-item>
+        <Form-item label="鑾峰彇鏂瑰紡" prop="getType">
+          <Select
+            v-model="searchForm.getType"
+            placeholder="璇烽�夋嫨"
+            clearable
+            style="width: 200px"
+          >
+            <Option value="FREE">鍏嶈垂鑾峰彇</Option>
+            <Option value="ACTIVITY">娲诲姩鑾峰彇</Option>
+          </Select>
+        </Form-item>
+        <Form-item label="浼樻儬鍒哥姸鎬�" prop="memberCouponStatus">
+          <Select
+            v-model="searchForm.memberCouponStatus"
+            placeholder="璇烽�夋嫨"
+            clearable
+            style="width: 200px"
+          >
+            <Option value="NEW">宸查鍙�</Option>
+            <Option value="USED">宸蹭娇鐢�</Option>
+            <Option value="EXPIRE">宸茶繃鏈�</Option>
+            <Option value="CLOSED">宸蹭綔搴�</Option>
+          </Select>
+        </Form-item>
+        <Form-item label="娲诲姩鏃堕棿">
+          <DatePicker
+            v-model="selectDate"
+            type="daterange"
+            clearable
+            placeholder="閫夋嫨璧峰鏃堕棿"
+            style="width: 200px"
+          ></DatePicker>
+        </Form-item>
+        <Button
+          @click="handleSearch"
+          type="primary"
+          icon="ios-search"
+          class="search-btn"
+        >鎼滅储</Button
+        >
+        <Button
+          @click="queryExportCoupon"
+          type="primary"
+          class="search-btn">
+          瀵煎嚭棰嗗彇璁板綍
+        </Button>
+      </Form>
+      <Table
+        v-if="refreshTable"
+        :loading="loading"
+        border
+        :columns="columns"
+        :data="data"
+        ref="table"
+        class="mt_10"
+        @on-selection-change="changeSelect"
+      >
+      </Table>
+      <Row type="flex" justify="end" class="mt_10">
+        <Page
+          :current="searchForm.pageNumber"
+          :total="total"
+          :page-size="searchForm.pageSize"
+          @on-change="changePage"
+          @on-page-size-change="changePageSize"
+          :page-size-opts="[10, 20, 50]"
+          size="small"
+          show-total
+          show-elevator
+          show-sizer
+        ></Page>
+      </Row>
+    </Card>
+  </div>
+</template>
+<script>
+  export default {
+    name: "store-prize-proof",
+    data() {
+      return {
+        loading: true, // 琛ㄥ崟鍔犺浇鐘舵��
+        searchForm: {
+          // 鎼滅储妗嗗垵濮嬪寲瀵硅薄
+          pageNumber: 1, // 褰撳墠椤垫暟
+          pageSize: 10, // 椤甸潰澶у皬
+          sort: "create_time", // 榛樿鎺掑簭瀛楁
+          order: "desc", // 榛樿鎺掑簭鏂瑰紡
+          getType: "", // 榛樿鎺掑簭鏂瑰紡
+          couponId: this.$route.query.couponId, // 浼樻儬鍒竔d
+        },
+        selectList: [], // 澶氶�夋暟鎹�
+        selectCount: 0, // 澶氶�夎鏁�
+        columns: [
+          // 琛ㄥご
+          {
+            title: "浼氬憳鍚嶇О",
+            key: "memberName",
+            minWidth: 130,
+            fixed: "left",
+          },
+          {
+            title: "浼樻儬鍒稿悕绉�",
+            key: "couponName",
+            minWidth: 100,
+            tooltip: true,
+          },
+          {
+            title: "鍙戝竷搴楅摵",
+            key: "storeName",
+            minWidth: 100,
+            render: (h, params) => {
+              return h("div", (params.row.storeName === 'platform' && "骞冲彴") || params.row.storeName);
+            },
+          },
+          {
+            title: "闈㈤/鎶樻墸",
+            key: "price",
+            width: 100,
+            render: (h, params) => {
+              if (params.row.price) {
+
+                return h("priceColorScheme", {props:{value:params.row.price,color:this.$mainColor}} );
+
+              } else {
+                return h("div", params.row.discount + "鎶�");
+              }
+            },
+          },
+
+          {
+            title: "浣跨敤闂ㄦ",
+            key: "consumeThreshold",
+            width: 130,
+          },
+          {
+            title: "鑾峰彇鏂瑰紡",
+            width: 120,
+            key: "getType",
+            render: (h, params) => {
+              if (params.row.getType === "FREE") {
+                return h("Tag", { props: { color: "red" } }, "鍏嶈垂鑾峰彇");
+              } else if (params.row.getType === "ACTIVITY") {
+                return h("Tag", { props: { color: "volcano" } }, "娲诲姩鑾峰彇");
+              } else if (params.row.getType === "INSIDE") {
+                return h("Tag", { props: { color: "lime" } }, "鍐呰喘");
+              } else {
+                return h("Tag", { props: { color: "purple" } }, "鏈煡");
+              }
+            },
+          },
+          {
+            title: "浼氬憳浼樻儬鍒哥姸鎬�",
+            width: 130,
+            key: "memberCouponStatus",
+            render: (h, params) => {
+              return memberPromotionsStatusRender(
+                h,
+                params.row.memberCouponStatus
+              );
+            },
+          },
+          {
+            title: "浼樻儬鍒哥被鍨�",
+            key: "couponType",
+            width: 120,
+            render: (h, params) => {
+              if (params.row.couponType === "DISCOUNT") {
+                return h("Tag", { props: { color: "orange" } }, "鎵撴姌");
+              } else if (params.row.couponType === "PRICE") {
+                return h("Tag", { props: { color: "magenta" } }, "鍑忓厤鐜伴噾");
+              } else {
+                return h("Tag", { props: { color: "purple" } }, "鏈煡");
+              }
+            },
+          },
+          {
+            title: "鍝佺被鎻忚堪",
+            key: "scopeType",
+            width: 120,
+            render: (h, params) => {
+              return promotionsScopeTypeRender(h, params);
+            },
+          },
+          {
+            title: "鏈夋晥鏃堕棿",
+            width: 150,
+            render: (h, params) => {
+              if (
+                params?.row?.getType === "ACTIVITY" &&
+                params?.row?.rangeDayType === "DYNAMICTIME"
+              ) {
+                return h("div", "闀挎湡鏈夋晥");
+              } else if (params?.row?.startTime && params?.row?.endTime) {
+                return h("div", {
+                  domProps: {
+                    innerHTML:
+                      params.row.startTime + "<br/>" + params.row.endTime,
+                  },
+                });
+              }
+            },
+          },
+        ],
+        data: [], // 琛ㄥ崟鏁版嵁
+        total: 0, // 琛ㄥ崟鏁版嵁鎬绘暟
+        refreshTable: true, // 淇敼閫変腑鐘舵�佸悗鍒锋柊琛ㄦ牸
+        selectDate: [], //閫変腑鐨勪俊鎭�
+      };
+    },
+    props: {
+      promotionStatus: {
+        type: String,
+        default: "",
+      },
+    },
+    watch: {
+      $route(e) {
+        // 鐩戝惉璺敱锛屽弬鏁板彉鍖栬皟鍙栨帴鍙�
+        this.searchForm.couponId = e.query.couponId;
+        if (this.couponId) {
+          this.getDataList();
+        } else {
+          this.$refs.form.resetFields();
+        }
+      },
+    },
+    methods: {
+      queryExportCoupon(){
+        console.log(this.selectDate.length === 0);
+
+        if(this.selectDate.length === 0){
+          this.$Message.error("蹇呴』閫夋嫨鏃堕棿鑼冨洿锛屾悳绱㈠悗杩涜瀵煎嚭锛�");
+          this.searchForm.startTime = null;
+          this.searchForm.endTime = null;
+        }else{
+          this.searchForm.startTime = this.selectDate[0].getTime();
+          this.searchForm.endTime = this.selectDate[1].getTime();
+          queryExportCoupon(this.searchForm).then(res =>{
+            const blob = new Blob([res], {
+              type: "application/vnd.ms-excel;charset=utf-8",
+            });
+            //瀵逛簬<a>鏍囩锛屽彧鏈� Firefox 鍜� Chrome锛堝唴鏍革級 鏀寔 download 灞炴��
+            //IE10浠ヤ笂鏀寔blob浣嗘槸渚濈劧涓嶆敮鎸乨ownload
+            if ("download" in document.createElement("a")) {
+              //鏀寔a鏍囩download鐨勬祻瑙堝櫒
+              const link = document.createElement("a"); //鍒涘缓a鏍囩
+              link.download = "浼樻儬鍒搁鍙栬褰�.xlsx"; //a鏍囩娣诲姞灞炴��
+              link.style.display = "none";
+              link.href = URL.createObjectURL(blob);
+              document.body.appendChild(link);
+              link.click(); //鎵ц涓嬭浇
+              URL.revokeObjectURL(link.href); //閲婃斁url
+              document.body.removeChild(link); //閲婃斁鏍囩
+            } else {
+              navigator.msSaveBlob(blob, fileName);
+            }
+          })
+        }
+
+      },
+      back() {
+        this.$store.commit("removeTag", "coupon-receive");
+        this.$router.go(-1);
+      },
+      check() {
+        // 閫変腑鐨勪紭鎯犲埜
+        this.$emit("selected", this.selectList);
+      },
+      // 鍒濆鍖栨暟鎹�
+      init() {
+        this.getDataList();
+      },
+      changePage(v) {
+        // 鏀瑰彉椤电爜
+        this.searchForm.pageNumber = v;
+        this.getDataList();
+      },
+      changePageSize(v) {
+        // 鏀瑰彉椤垫暟
+        this.searchForm.pageNumber = 1;
+        this.searchForm.pageSize = v;
+        this.getDataList();
+      },
+      handleSearch() {
+        // 鎼滅储
+        this.searchForm.pageNumber = 1;
+        this.searchForm.pageSize = 10;
+        this.getDataList();
+      },
+      /**
+       * 閫夋嫨浼樻儬鍒�
+       */
+      changeSelect(e) {
+        this.selectList = e;
+        this.selectCount = e.length;
+        if (this.getType === "ACTIVITY") this.check();
+      },
+      getDataList() {
+        // 鑾峰彇鏁版嵁
+        this.loading = true;
+        if (this.selectDate && this.selectDate[0] && this.selectDate[1]) {
+          this.searchForm.startTime = this.selectDate[0].getTime();
+          this.searchForm.endTime = this.selectDate[1].getTime();
+        } else {
+          this.searchForm.startTime = null;
+          this.searchForm.endTime = null;
+        }
+        getCouponReceiveList(this.searchForm).then((res) => {
+          this.loading = false;
+          if (res.success) {
+            console.log(res);
+            this.data = res.result.records;
+            this.total = res.result.total;
+          }
+        });
+        this.total = this.data.length;
+        this.loading = false;
+      },
+    },
+    mounted() {
+      this.init();
+    },
+  };
+</script>

--
Gitblit v1.8.0