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