Răsfoiți Sursa

fix: 对接抽奖/转盘、红包拉新、表单活动

wuguojie 1 an în urmă
părinte
comite
7220081ab2

+ 19 - 1
src/api/lottery/index.js

@@ -61,7 +61,7 @@ export function getEquityCoupon() {
 // 红包拉新查看
 export function getRedEnvelopeRecord(params) {
     return request({
-        url: local + 'chinacoal/redEnvelope/getRedEnvelopeRecord',
+        url: local + '/chinacoal/redEnvelope/getRedEnvelopeRecord',
         method: 'get',
         params
     })
@@ -76,3 +76,21 @@ export function exportRedEnvelopeRecord(data) {
         responseType: 'blob'
     })
 }
+
+// 表单活动记录
+export function getFormRecord(params) {
+    return request({
+        url: local + '/chinacoal/redEnvelope/getFormRecord',
+        method: 'get',
+        params
+    })
+}
+
+// 抽奖中奖人数
+export function getWinningRecord(params) {
+    return request({
+        url: local + '/chinacoal/redEnvelope/getWinningRecord',
+        method: 'get',
+        params
+    })
+}

+ 83 - 6
src/views/application/form/list.vue

@@ -23,8 +23,12 @@
                         {{ `${scope.row.actStartTime}-${scope.row.actEndTime}` }}
                     </template>
                 </el-table-column>
-                <el-table-column prop="a" label="活动规则"></el-table-column>
-                <el-table-column prop="a" label="收集数量"></el-table-column>
+                <el-table-column prop="actDesc" label="活动规则"></el-table-column>
+                <el-table-column prop="listNum" label="收集数量">
+                    <template slot-scope="scope">
+                        <el-button type="text" @click="showNumber(scope.row)">{{ scope.row.listNum }}</el-button>
+                    </template>
+                </el-table-column>
                 <el-table-column prop="actStatus" label="状态">
                     <template slot-scope="scope">
                         {{ scope.row.actStatus == '1'?'开启':scope.row.actStatus == '2'?'关闭':'' }}
@@ -48,11 +52,40 @@
                 @pagination="initList"
             />
         </div>
+        <el-dialog
+            :visible.sync="numberShow"
+            width="400"
+        >
+            <el-form :model="viewForm">
+                <el-form-item prop="userInfo" label="用户信息">
+                    <el-input placeholder="请输入用户信息" v-model="viewForm.userInfo"></el-input>
+                    <el-button @click="viewSearch()" type="primary" style="margin-left: 10px;">搜索</el-button>
+                </el-form-item>
+            </el-form>
+            <div class="mid-action">
+                <el-button type="primary" @click="addDownoad">导出</el-button>
+            </div>
+            <el-table
+                :data="numbersData"
+            >
+                <el-table-column label="序号" type="index"></el-table-column>
+                <el-table-column label="用户ID" prop="userId"></el-table-column>
+                <el-table-column label="填写信息" prop="userInfo"></el-table-column>
+            </el-table>
+            <pagination
+                v-show="total1 > 0"
+                :total="total1"
+                :page.sync="viewForm.pageNum"
+                :limit.sync="viewForm.pageSize"
+                @pagination="initViewList"
+            />
+        </el-dialog>
     </div>
 </template>
 
 <script>
 import * as api from "@/api/lottery";
+import {getFormRecord} from "@/api/lottery";
 
 export default {
     name: "formList",
@@ -65,9 +98,16 @@ export default {
             },
             total: 1,
             loading: false,
-            tableData: [{
-                a: 1
-            }]
+            tableData: [],
+            numberShow: false,
+            numbersData: [],
+            viewForm: {
+                userInfo: '',
+                pageNum: 1,
+                pageSize: 10
+            },
+            total1: 0,
+            viewId: ''
         }
     },
     created() {
@@ -95,7 +135,44 @@ export default {
                 path: 'add'
             })
         },
-
+        showNumber(row) {
+            this.numberShow = true
+            this.viewId = row.actId
+            this.initViewList()
+        },
+        initViewList() {
+            api.getFormRecord({
+                actId: this.viewId
+            }).then(res => {
+                if(res.code == 200) {
+                    this.numbersData = res.rows
+                    this.total1 = res.total
+                }
+            })
+        },
+        viewSearch() {
+            this.initViewList()
+        },
+        addDownoad() {
+            api.exportRedEnvelopeRecord({
+                actId: this.viewId
+            }).then(res => {
+                const blob = new Blob([res], { type: 'application/vnd.ms-excel' });
+                const fileName = '表单活动' + new Date().getTime() + '.xlsx';
+                if ('download' in document.createElement('a')) {
+                    const elink = document.createElement('a');
+                    elink.download = fileName;
+                    elink.style.display = 'none';
+                    elink.href = URL.createObjectURL(blob);
+                    document.body.appendChild(elink);
+                    elink.click();
+                    URL.revokeObjectURL(elink.href);
+                    document.body.removeChild(elink);
+                } else {
+                    navigator.msSaveBlob(blob, fileName);
+                }
+            })
+        },
         handleClose(row) {
             api.editActivityStatus({
                 actId: row.actId,

+ 36 - 8
src/views/application/lottery/list.vue

@@ -33,9 +33,9 @@
                         {{ scope.row.actStartTime&&scope.row.actEndTime?`${scope.row.actStartTime}-${scope.row.actEndTime}`:'' }}
                     </template>
                 </el-table-column>
-                <el-table-column prop="actWinNum" label="中奖人数">
+                <el-table-column prop="winNum" label="中奖人数">
                     <template slot-scope="scope">
-                        <el-button type="text" @click="showNumber(scope.row)">{{ scope.row.actWinNum?scope.row.actWinNum:0 }}</el-button>
+                        <el-button type="text" @click="showNumber(scope.row)">{{ scope.row.winNum?scope.row.winNum:0 }}</el-button>
                     </template>
                 </el-table-column>
                 <el-table-column prop="actStatus" label="状态">
@@ -69,15 +69,23 @@
                 :data="numbersData"
             >
                 <el-table-column label="序号" type="index"></el-table-column>
-                <el-table-column label="用户名称" prop="name"></el-table-column>
-                <el-table-column label="手机号" prop="phone"></el-table-column>
+                <el-table-column label="用户名称" prop="userNickName"></el-table-column>
+                <el-table-column label="手机号" prop="userPhone"></el-table-column>
             </el-table>
         </el-dialog>
+        <pagination
+            v-show="total1 > 0"
+            :total="total1"
+            :page.sync="numberForm.pageNum"
+            :limit.sync="numberForm.pageSize"
+            @pagination="getWinningRecord"
+        />
     </div>
 </template>
 
 <script>
 import * as api from '@/api/lottery'
+import {getWinningRecord} from "@/api/lottery";
 export default {
     name: "lotteryList",
     data() {
@@ -91,7 +99,13 @@ export default {
             loading: false,
             tableData: [],
             numberShow: false,
-            numbersData: [{}]
+            numbersData: [],
+            total1: 0,
+            numberForm: {
+                pageNum: 1,
+                pageSize: 10
+            },
+            numberId: ''
         }
     },
     created() {
@@ -122,9 +136,23 @@ export default {
             })
         },
         showNumber(row) {
-            if(row.actWinNum) {
-                this.numberShow = true
-            }
+            // if(row.winNum) {
+            //     this.numberShow = true
+            // }
+            this.numberShow = true
+            this.numberId = row.actId
+            this.getWinningRecord()
+        },
+        getWinningRecord() {
+            api.getWinningRecord({
+                actId: this.numberId,
+                ...this.numberForm
+            }).then(res => {
+                if(res.code == 200) {
+                    this.numbersData = res.rows
+                    this.total1 = res.total
+                }
+            })
         },
         handleClose(row) {
             api.editActivityStatus({

+ 6 - 1
src/views/customerManage/userSync/detail.vue

@@ -48,14 +48,19 @@ export default {
   },
   // 生命周期函数
   created() {
+
   },
   // 方法函数
   methods: {
+
   },
   // 计算属性
   computed: {
+
   }
 }
 </script>
 <!-- 样式区域 -->
-<style lang='scss' scoped></style>
+<style lang='scss' scoped>
+
+</style>