Просмотр исходного кода

Merge remote-tracking branch 'origin/wuguojie' into dev

wuguojie 1 год назад
Родитель
Сommit
018aa875da
2 измененных файлов с 84 добавлено и 16 удалено
  1. 12 1
      src/api/modules/lottery.ts
  2. 72 15
      src/views/marketingManagement/record.vue

+ 12 - 1
src/api/modules/lottery.ts

@@ -28,6 +28,16 @@ export interface AddActivityAward {
   activityId: string
 }
 
+export interface GetActivityRecord {
+  pages: number,
+  size: number,
+  salesman?: string,
+  createTimeStart?: string,
+  createTimeEnd?: string,
+  awardName?: string,
+  awardType?: string
+}
+
 const lotteryApi = (axiosInstance: ApiInstance) => ({
   addActivity: (data: AddActivity) => axiosInstance.post('/activity/addActivity', data),
   getActivityList: (data: GetActivityList) => axiosInstance.post('/activity/getActivityList', data),
@@ -35,7 +45,8 @@ const lotteryApi = (axiosInstance: ApiInstance) => ({
   getActivity: (data: { id: string }) => axiosInstance.post('/activity/getActivity', data),
   updateActivity: (data: AddActivity) => axiosInstance.post('/activity/updateActivity', data),
   deleteActivity: (data: { id: string }) => axiosInstance.post('/activity/deleteActivity', data),
-  endActivity: (data: { id: string }) => axiosInstance.post('/activity/endActivity', data)
+  endActivity: (data: { id: string }) => axiosInstance.post('/activity/endActivity', data),
+  getActivityRecord: (data: GetActivityRecord) => axiosInstance.post('/activity/getActivityRecord', data)
 })
 
 export default lotteryApi

+ 72 - 15
src/views/marketingManagement/record.vue

@@ -4,7 +4,7 @@
       <el-row :gutter="20">
         <el-col :span="8">
           <el-form-item label="业务员信息">
-            <el-input v-model="form.info" placeholder="请输入"></el-input>
+            <el-input v-model="form.salesman" placeholder="请输入"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
@@ -15,13 +15,17 @@
               range-separator="至"
               start-placeholder="开始时间"
               end-placeholder="结束时间"
+              format="YYYY-MM-DD"
+              value-format="YYYY-MM-DD"
+              @change="timeChange"
             />
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="奖品类型">
-            <el-select v-model="form.type">
-              <el-option label="类型1" value="1"></el-option>
+            <el-select v-model="form.awardType">
+              <el-option label="现金" value="1"></el-option>
+              <el-option label="增值服务" value="2"></el-option>
             </el-select>
           </el-form-item>
         </el-col>
@@ -29,32 +33,42 @@
       <el-row :gutter="20">
         <el-col :span="8">
           <el-form-item label="奖品名称">
-            <el-input v-model="form.name" placeholder="请输入"></el-input>
+            <el-input v-model="form.awardName" placeholder="请输入"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="中奖结果">
-            <el-select v-model="form.result">
+            <el-select v-model="form.awardResult">
               <el-option label="结果1" value="1"></el-option>
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="8"></el-col>
+        <el-col :span="8">
+          <el-button type="primary" @click="search">查询</el-button>
+          <el-button type="primary" plain @click="reset">重置</el-button>
+        </el-col>
       </el-row>
     </el-form>
+    <p>
+      <el-button type="primary">导出数据</el-button>
+    </p>
     <el-table
       :data="tableData"
       height="580"
       style="width: 100%"
     >
       <el-table-column type="selection" width="55"></el-table-column>
-      <el-table-column prop="a" label="业务员" ></el-table-column>
-      <el-table-column prop="b" label="手机号" ></el-table-column>
-      <el-table-column prop="c" label="归属机构" ></el-table-column>
-      <el-table-column prop="d" label="抽奖时间" ></el-table-column>
+      <el-table-column prop="name" label="业务员" ></el-table-column>
+      <el-table-column prop="mobile" label="手机号" ></el-table-column>
+      <el-table-column prop="deptName" label="归属机构" ></el-table-column>
+      <el-table-column prop="createTime" label="抽奖时间" ></el-table-column>
       <el-table-column prop="e" label="中奖结果" ></el-table-column>
-      <el-table-column prop="f" label="奖品类型" ></el-table-column>
-      <el-table-column prop="g" label="奖品名称" ></el-table-column>
+      <el-table-column prop="awardType" label="奖品类型" >
+        <template #default="scope">
+          {{ scope.row.awardType=='1'?'现金':'增值服务' }}
+        </template>
+      </el-table-column>
+      <el-table-column prop="awardName" label="奖品名称" ></el-table-column>
       <el-table-column prop="h" label="中奖数量" ></el-table-column>
     </el-table>
     <div style="display: flex; justify-content: center; margin-top: 15px">
@@ -73,12 +87,12 @@
 
 <script setup lang="ts">
 import { ref } from 'vue'
+import api from '@/api'
+import { ElMessage } from "element-plus";
 
 let form = ref({})
 // 列表数据
-let tableData = ref([{
-  a:'1111'
-}])
+let tableData = ref([])
 
 // 分页数据
 let currentPage = ref(1)
@@ -86,10 +100,53 @@ let pageSize = ref(10)
 let total = ref(0)
 const handleSizeChange = (pageSize) => {
   pageSize.value = pageSize
+  initData()
 }
 const handleCurrentChange = (page) => {
   currentPage.value = page
+  initData()
+}
+const timeChange = (e) => {
+  if(e) {
+    form.value.createTimeStart = e[0]
+    form.value.createTimeEnd = e[1]
+  } else {
+    form.value.createTimeStart = ''
+    form.value.createTimeEnd = ''
+  }
+}
+const initData = () => {
+  api.lotteryApi.getActivityRecord({
+    pages: currentPage.value,
+    size: pageSize.value,
+    ...form.value
+  }).then(res => {
+    if(res.code == 200) {
+      tableData.value = res.data.records
+      total.value = res.data.total
+    } else {
+      ElMessage({
+        message: res.msg,
+        type: 'warning'
+      })
+    }
+  })
 }
+const search = () => {
+  currentPage.value = 1
+  pageSize.value = 10
+  initData()
+}
+const reset = () => {
+  form.value = {}
+  currentPage.value = 1
+  pageSize.value = 10
+  initData()
+}
+
+onMounted(() => {
+  initData();
+})
 </script>
 
 <style scoped lang="scss">