sunny 1 yıl önce
ebeveyn
işleme
1fc97f8501

+ 25 - 3
src/api/allApi.js

@@ -1,6 +1,28 @@
 import request from '@/utils/request'
-
-
+// 节日活动
+export function actList(data) {
+  return request({
+    url: '/mall-act/user/list',
+    method: 'get',
+    data
+  })
+}
+//积分规则类型
+export function integralTypes(query) {
+  return request({
+    url: '/system/dict/data/type',
+    method: 'get',
+    params:query
+  })
+}
+// 员工积分记录列表
+export function userlogs(query) {
+  return request({
+    url: '/mall-integral/userlogs',
+    method: 'get',
+    params:query
+  })
+}
 //表彰墙
 export function commendPage(query) {
   return request({
@@ -73,7 +95,7 @@ export function festivalInfo(query) {
     params: query
   })
 }
-// 兑换须知   商品兑换须知 goodsNotice 礼品兑换须知giftNotice
+// 兑换须知   商品兑换须知 goodsNotice 礼品兑换须知giftNotice  积分规则integralNotice
 export function notice(query) {
   return request({
     url: '/news/mall/getNotice',

+ 0 - 4
src/views/HomeView/EarnPoints.vue

@@ -161,10 +161,6 @@ export default{
             this.total = response.data.data.total;
         })
     },
-    handleFilter() {
-            this.listQuery.page = 1
-            this.getDataList()
-        },
         handleSizeChange(val) {
             this.listQuery.limit = val
             this.getDataList()

+ 9 - 26
src/views/HomeView/FestiveEvents.vue

@@ -17,8 +17,10 @@
                         </div>
                         <div class="btn-container">
                             <button v-if="item.status==9" class="ui-btn default medium btn">活动已结束</button>
-                            <button v-else @click="handleClickReceive(item.id)"
-                                class="ui-btn primary medium btn">立即参与</button>
+                            <button v-else @click="handleClickReceive(item.activityUrl)"
+                                class="ui-btn primary medium btn">
+                                立即参与
+                            </button>
                         </div>
                     </div>
                 </div>
@@ -47,7 +49,7 @@
     </div>
 </template>
 <script>
-import { welfareList } from "@/api/allApi";
+import { actList } from "@/api/allApi";
 export default {
     data() {
         return {
@@ -62,33 +64,14 @@ export default {
     },
     methods: {
         getList() {
-            welfareList({status:'0,9'}).then(response => {
-                const dataList = response.data.data;
-                dataList.forEach(element => {
-                    element.imgUrl = element.relationWelfareVo.imgUrl;
-                    element.title = element.relationWelfareVo.title;
-                    element.startTime = element.relationWelfareVo.startTime;
-                    element.endTime = element.relationWelfareVo.endTime;
-                    element.welfareId = element.relationWelfareVo.welfareId;
-                });
-                console.log(dataList);
-                this.goodsList = dataList;
+            actList().then(response => {
+                this.goodsList = response.data.data;
             }).catch(() => {
                
             })
         },
-        handleClickReceive(id){
-            // receiveWelfare({voucherId:id,status:1}).then(response => {
-            //     if(response.data.errno==0){
-            //         this.goodsList.forEach(element => {
-            //             if(element.id==id){
-            //                 this.imgUrl = element.imgUrl;
-            //                 this.title = element.title;
-            //             }
-            //         });
-            //         this.dialogMsgVisible = true;
-            //     }
-            // }).catch(() => {})
+        handleClickReceive(val){
+            window.location.href = val;
         }
     }
 };

+ 45 - 35
src/views/HomeView/MyCenter.vue

@@ -10,25 +10,23 @@
                         </el-radio-button>
                     </el-radio-group>
                     <div v-if="firstTabPosition == 'integralList'" class="integralList">
-                        <el-select style="width: 220px; margin-right: 30px;" size="small" v-model="value"
+                        <el-select style="width: 220px; margin-right: 30px;" size="small" v-model="listQuery.type"
                             placeholder="请选择积分类型">
-                            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                            <el-option v-for="item in options" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
                             </el-option>
                         </el-select>
-                        <el-date-picker style="width: 220px; margin-right: 30px;" size="small" v-model="time" type="date"
-                            placeholder="选择日期"></el-date-picker>
-                        <el-button size="small" style="margin-right: 30px;" type="primary">查询</el-button>
+                        <el-button size="small" style="margin-right: 30px;" type="primary" @click="handleFilter">查询</el-button>
                         <el-button size="small" type="default">重置</el-button>
-                        <el-table size="small" :data="tableData" border style="margin-top: 30px;width: 100%">
+                        <el-table size="small" :data="firstList" border style="margin-top: 30px;width: 100%">
                             <el-table-column align="center" type="index" width="50" label="序号"></el-table-column>
-                            <el-table-column align="center" prop="date" label="积分类型"></el-table-column>
-                            <el-table-column align="center" prop="name" label="积分"></el-table-column>
-                            <el-table-column align="center" prop="address" label="获取时间"></el-table-column>
+                            <el-table-column align="center" prop="integralTypeName" label="积分类型"></el-table-column>
+                            <el-table-column align="center" prop="integral" label="积分"></el-table-column>
+                            <el-table-column align="center" prop="createTime" label="获取时间"></el-table-column>
                         </el-table>
                         <div class="myPage">
                             <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                                 :current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="10"
-                                layout="total, sizes, prev, pager, next, jumper" :total="40">
+                                layout="total, sizes, prev, pager, next, jumper" :total="total">
                             </el-pagination>
                         </div>
 
@@ -121,7 +119,7 @@
     </div>
 </template>
 <script scoped>
-import { orderList, welfareList, } from "@/api/allApi";
+import { orderList, welfareList,notice,integralTypes,userlogs, } from "@/api/allApi";
 export default {
     data() {
         return {
@@ -165,38 +163,44 @@ export default {
                 },
             ],
             thirdList:[],
-            options: [{
-                value: '选项1',
-                label: '黄金糕'
-            }, {
-                value: '选项2',
-                label: '双皮奶'
-            }, {
-                value: '选项3',
-                label: '蚵仔煎'
-            }, {
-                value: '选项4',
-                label: '龙须面'
-            }, {
-                value: '选项5',
-                label: '北京烤鸭'
-            }],
+            options: [],
             value: '',
             time: '',
             tableData: [],
             currentPage: 4,
-            integralRules: '<p>1. 掘金小铺【公益进展】最新公益活动进展在这里,感谢掘友们的大力支持</p> <p>2. 小铺商品春夏限定4月上新啦</p>',
+            integralRules: '',
             activeName: 'first',
+            total:0,
+            listQuery: {
+                page: 1,
+                limit: 10,
+                type:''
+            },
         };
     },
     created() {
-        
-        this.getSecondList('1,2,3');
-        this.getThirdList();
+        this.getIntegralTypes();
+        this.getFirstList();
+        this.getIntegralNotice();
+        // this.getSecondList('1,2,3');
+        // this.getThirdList();
     },
     methods: {
-        getFirstList(val){
-
+        getIntegralNotice(){
+            notice({noticeType:'integralNotice'}).then(response=>{
+                this.integralRules = response.data.data.content;
+            })
+        },
+        getIntegralTypes(){
+            integralTypes({dictType:'integral_rule_type'}).then(response=>{
+                this.options = response.data.data; 
+            })
+        },
+        getFirstList(){
+            userlogs(this.listQuery).then(response=>{
+                this.firstList = response.data.data.items; 
+                this.total = response.data.data.total;
+            })
         },
         getSecondList(val){
             orderList({orderType:val}).then(response=>{
@@ -224,11 +228,17 @@ export default {
                 }
             });
         },
+        handleFilter() {
+            this.listQuery.page = 1
+            this.getFirstList();
+        },
         handleSizeChange(val) {
-            console.log(`每页 ${val} 条`);
+            this.listQuery.limit = val;
+            this.getFirstList();
         },
         handleCurrentChange(val) {
-            console.log(`当前页: ${val}`);
+            this.listQuery.page = val;
+            this.getFirstList();
         },
         handleClickFirstTabs(val) {
             console.log(val);

+ 5 - 5
src/views/HomeView/PointsMall.vue

@@ -379,11 +379,11 @@ button {
 }
 
 .notice-board .notice-content {
-    margin-top: 0.2rem;
-    margin-left: 2.5rem;
-    font-size: 0.8rem;
-    line-height: 0.5rem;
-    white-space: pre-line;
+    /* margin-top: 0.2rem;
+    margin-left: 2.5rem; */
+    font-size: 0.4rem;
+    /* line-height: 0.5rem;
+    white-space: pre-line; */
     color: #515767;
 }