Browse Source

紫亚兰

zhengjinyi 8 months ago
parent
commit
1d970032de

+ 39 - 0
src/api/activity/activity.js

@@ -0,0 +1,39 @@
+import request from '@/utils/request'
+
+/**
+ * 获取绑定紫亚兰门票机构列表
+ * @param {*} pageNum 页码
+ * @param {*} pageSize 条数
+ * @returns
+ */
+export function getZylTicketList(params) {
+  return request({
+    url: '/user/zyl/ticket/list',
+    method: 'get',
+    params
+  })
+}
+/**
+ * 门票打卡详情
+ * @param {*} userId 机构用户ID
+ * @returns
+ */
+export function getZylTicketDetail(params) {
+  return request({
+    url: '/user/zyl/ticket/detail',
+    method: 'get',
+    params
+  })
+}
+/**
+ * 修改礼品领取状态
+ * @param {*} userId 机构用户ID
+ * @returns
+ */
+export function postZylUpdateGift(data) {
+  return request({
+    url: '/user/zyl/update/gift',
+    method: 'post',
+    data: data
+  })
+}

+ 3 - 2
src/router/modules/activity.js

@@ -13,9 +13,10 @@ const keywordLibraryRouter = {
     {
       path: 'activity',
       name: 'ActivityMenu',
-      redirect: '/operate/activity/list',
+      redirect: '/operate/activity/ziyalan-list',
+      alwaysShow: true,
       component: () => import('@/views/index'),
-      meta: { title: '活动专题' },
+      meta: { title: '活动专题', useDefault: true },
       children: [
         {
           path: 'ziyalan-list',

+ 14 - 40
src/views/operate/activity/components/zi-dialog.vue

@@ -6,22 +6,6 @@
     :close-on-click-modal="false"
     :show-close="false"
   >
-    <div class="filter-container">
-      <div class="filter-control">
-        <span>供应商名称:</span>
-        <el-input
-          v-model="listQuery.shopName"
-          placeholder="供应商名称"
-          clearable
-          style="width: 160px"
-          @keyup.enter.native="getList"
-          @clear="getList"
-        />
-      </div>
-      <div class="filter-control">
-        <el-button type="primary" @click="getList"> 查询 </el-button>
-      </div>
-    </div>
     <el-table
       ref="table"
       v-loading="isLoading"
@@ -30,22 +14,13 @@
       border
     >
       <el-table-column label="供应商名称" prop="name" align="center" />
-      <el-table-column label="完成情况" prop="linkMan" align="center" />
-      <el-table-column label="打卡时间" prop="contractMobile" align="center">
+      <el-table-column prop="signFlag" label="打卡进度" align="center">
         <template slot-scope="{ row }">
-          {{ row.contractMobile ? row.contractMobile : '---' }}
+          <el-tag v-if="row.signFlag === 0" type="info" size="small">未打卡</el-tag>
+          <el-tag v-else type="success" size="small">已打卡</el-tag>
         </template>
       </el-table-column>
     </el-table>
-    <!-- 页码 -->
-    <pagination
-      :total="total"
-      :page-sizes="[100, 200]"
-      :page-size="100"
-      :page.sync="listQuery.pageNum"
-      :limit.sync="listQuery.pageSize"
-      @pagination="getShopList"
-    />
     <div slot="footer">
       <el-button @click="handleCanle"> 关闭 </el-button>
     </div>
@@ -53,18 +28,19 @@
 </template>
 
 <script>
-import { getShopList } from '@/api/user/customer/customer'
+import { getZylTicketDetail } from '@/api/activity/activity'
 
 export default {
   name: 'ZiDialog',
+  props: {
+    userId: {
+      type: Number,
+      default: 0
+    }
+  },
   data() {
     return {
       visible: true,
-      listQuery: {
-        pageNum: 1, // 页码
-        pageSize: 100, // 页面数据数
-        shopName: '' // 供应商公司名称
-      },
       list: [],
       total: 0,
       isLoading: true
@@ -80,15 +56,13 @@ export default {
     // 获取所有供应商列表
     async getList() {
       this.list = []
-      this.listQuery.pageNum = 1
-      this.getShopList()
+      this.getZylTicketDetail()
     },
     // 获取所有供应商列表
-    async getShopList() {
+    async getZylTicketDetail() {
       try {
-        const res = await getShopList(this.listQuery)
-        this.list = res.data.results
-        this.total = res.data.totalRecord
+        const res = await getZylTicketDetail({ userId: this.userId })
+        this.list = res.data
         this.isLoading = false
       } catch (error) {
         console.log(error)

+ 71 - 65
src/views/operate/activity/ziyalan-list.vue

@@ -1,61 +1,30 @@
 <template>
   <div class="app-container">
-    <!-- 顶部操作区域 -->
-    <div class="filter-container">
-      <div class="filter-control">
-        <span>机构名称:</span>
-        <el-input
-          v-model="listQuery.name"
-          placeholder="机构名称"
-          clearable
-          @keyup.enter.native="getList"
-          @clear="getList"
-        />
-      </div>
-      <div class="filter-control">
-        <span>绑定状态:</span>
-        <el-select v-model="listQuery.status" style="width: 150px" clearable @change="getList">
-          <el-option value="" label="请选择" />
-          <el-option :value="90" label="未绑定" />
-          <el-option :value="91" label="已绑定" />
-        </el-select>
-      </div>
-      <div class="filter-control">
-        <span>打卡进度:</span>
-        <el-select v-model="listQuery.status" style="width: 150px" clearable @change="getList">
-          <el-option value="" label="请选择" />
-          <el-option :value="90" label="未完成" />
-          <el-option :value="91" label="已完成" />
-        </el-select>
-      </div>
-      <div class="filter-control">
-        <el-button type="primary" @click="getList"> 查询 </el-button>
-      </div>
-    </div>
     <!-- 列表 -->
     <el-table v-loading="isLoading" :data="list" border style="width: 100%" height="660">
-      <el-table-column prop="name" fixed label="机构名称" align="center" />
-      <el-table-column prop="status" label="绑定状态" align="center">
+      <el-table-column prop="ticketId" label="票根号" align="center" />
+      <el-table-column prop="name" label="购票人姓名" align="center" />
+      <el-table-column prop="userId" label="采美机构绑定状态" align="center">
         <template slot-scope="{ row }">
-          <el-tag v-if="row.status === 1" type="warning" size="small">未绑定</el-tag>
-          <el-tag v-if="row.status === 91" type="info" size="small">已绑定</el-tag>
+          <el-tag v-if="row.userId" type="success" size="small">已绑定</el-tag>
+          <el-tag v-else type="info" size="small">已绑定</el-tag>
         </template>
       </el-table-column>
-      <el-table-column prop="addTime" label="绑定时间" align="center">
+      <el-table-column prop="bindTime" label="绑定时间" align="center">
         <template slot-scope="{ row }">
-          {{ row.addTime ? row.addTime : '---' }}
+          {{ row.bindTime ? row.bindTime : '---' }}
         </template>
       </el-table-column>
-      <el-table-column prop="status" label="礼品领取状态" align="center">
+      <el-table-column prop="giftFlag" label="礼品领取状态" align="center">
         <template slot-scope="{ row }">
-          <el-tag v-if="row.status === 1" type="warning" size="small">未完成</el-tag>
-          <el-tag v-if="row.status === 90" type="success" size="small">已完成</el-tag>
+          <el-tag v-if="row.giftFlag === 0" type="info" size="small">未领取</el-tag>
+          <el-tag v-else type="success" size="small">已领取</el-tag>
         </template>
       </el-table-column>
-      <el-table-column prop="status" label="打卡进度" align="center">
+      <el-table-column prop="shopIds" label="打卡进度" align="center">
         <template slot-scope="{ row }">
-          <el-tag v-if="row.status === 1" type="warning" size="small">未完成</el-tag>
-          <el-tag v-if="row.status === 90" type="success" size="small">已完成</el-tag>
+          <el-tag v-if="row.shopIds" type="info" size="small">未完成</el-tag>
+          <el-tag v-else type="success" size="small">已完成</el-tag>
         </template>
       </el-table-column>
 
@@ -64,6 +33,9 @@
           <el-button type="success" size="mini" style="margin: 4px" @click="handleShowDetail(row)">
             打卡详情
           </el-button>
+          <el-button v-if="row.giftFlag === 0" type="primary" size="mini" style="margin: 4px" @click="handleChangeState(row)">
+            修改领取状态
+          </el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -74,15 +46,27 @@
       :page-size="20"
       :page.sync="listQuery.pageNum"
       :limit.sync="listQuery.pageSize"
-      @pagination="getClubList"
+      @pagination="getZylTicketList"
     />
     <!--  查看打卡详情 -->
-    <zi-dialog v-if="dialogVisible" ref="ziDialog" @cancel="handleCancel" />
+    <zi-dialog v-if="dialogVisible" ref="ziDialog" :user-id="handleUserId" @cancel="handleCancel" />
+    <!-- 修改礼品领取状态 -->
+    <el-dialog title="修改礼品领取状态" :visible.sync="dialogFormVisible" width="500px">
+      <el-form ref="dataForm" :model="renewCustome" :rules="rules" label-position="right">
+        <el-form-item prop="status">
+          <el-radio v-model="renewCustome.status" :label="0">已领取</el-radio>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible = false">取消</el-button>
+        <el-button type="primary" @click="handleConfirm">确定</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
-import { getClubList } from '@/api/user/club/club'
+import { getZylTicketList, postZylUpdateGift } from '@/api/activity/activity'
 import ZiDialog from './components/zi-dialog'
 export default {
   name: 'CustomerList',
@@ -92,25 +76,21 @@ export default {
     return {
       isLoading: true,
       listQuery: {
-        clubId: '',
-        name: '',
-        contractMobile: '',
-        userIdentity: '',
-        startTime: '',
-        endTime: '',
-        allocationStartTime: '',
-        allocationEndTime: '',
-        newDeal: '',
-        spId: '',
-        trendsLabel: '',
-        stateLabel: '',
-        status: '',
         pageNum: 1,
         pageSize: 20
       },
       list: [],
       total: 0,
-      dialogVisible: false
+      dialogVisible: false,
+      dialogFormVisible: false,
+      handleUserId: '',
+      renewCustome: {
+        id: '',
+        status: ''
+      },
+      rules: {
+        status: [{ required: true, message: '请设置统计状态', trigger: 'blur' }]
+      }
     }
   },
   computed: {},
@@ -124,12 +104,12 @@ export default {
       this.list = []
       this.isLoading = true
       this.listQuery.pageNum = 1
-      this.getClubList()
+      this.getZylTicketList()
     },
     // 获取机构列表
-    async getClubList() {
+    async getZylTicketList() {
       try {
-        const res = await getClubList(this.listQuery)
+        const res = await getZylTicketList(this.listQuery)
         this.list = res.data.results
         this.total = res.data.totalRecord
         this.isLoading = false
@@ -138,9 +118,35 @@ export default {
       }
     },
     // 查看打卡详情
-    handleShowDetail() {
+    handleShowDetail(row) {
+      this.handleUserId = row.userId
       this.dialogVisible = true
     },
+    // 修改礼品领取状态
+    handleChangeState(row) {
+      this.dialogFormVisible = true
+    },
+    // 确认修改礼品领取状态
+    handleConfirm() {
+      this.$refs['dataForm'].validate((valid) => {
+        if (valid) {
+          this.postZylUpdateGift(this.renewCustome)
+        } else {
+          return false
+        }
+      })
+    },
+    // 统计状态
+    async postZylUpdateGift(params) {
+      try {
+        await postZylUpdateGift(params)
+        this.dialogFormVisible = false
+        this.$message.success('操作成功')
+        this.getList()
+      } catch (error) {
+        console.log(error)
+      }
+    },
     // 关闭
     handleCancel() {
       this.dialogVisible = false