浏览代码

调用代金券,兑换管理

asd123a20 2 年之前
父节点
当前提交
e09b167ca9
共有 4 个文件被更改,包括 84 次插入46 次删除
  1. 26 7
      src/api/goods/voucher/index.js
  2. 27 15
      src/views/goods/voucher/exchange.vue
  3. 29 22
      src/views/goods/voucher/index.vue
  4. 2 2
      vue.config.js

+ 26 - 7
src/api/goods/voucher/index.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询代金券管理列表
 export function listVoucher(query) {
   return request({
-    url: '/goods/voucher/list',
+    url: '/discount/info/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listVoucher(query) {
 // 查询代金券管理详细
 export function getVoucher(voucherId) {
   return request({
-    url: `/goods/voucher/${voucherId}`,
+    url: `/discount/info/${voucherId}`,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function getVoucher(voucherId) {
 // 新增代金券管理
 export function addVoucher(data) {
   return request({
-    url: '/goods/voucher',
+    url: '/discount/info',
     method: 'post',
     data: data
   })
@@ -29,17 +29,18 @@ export function addVoucher(data) {
 // 修改代金券管理
 export function updateVoucher(data) {
   return request({
-    url: '/goods/voucher',
+    url: `/discount/info/${data.discountId}`,
     method: 'put',
     data: data
   })
 }
 
 // 删除代金券管理
-export function delVoucher(voucherId) {
+export function delVoucher(data) {
   return request({
-    url: `/goods/voucher/${voucherId}`,
-    method: 'delete'
+    url: `/discount/info`,
+    method: 'delete',
+    data
   })
 }
 
@@ -51,3 +52,21 @@ export function updateNumber(data) {
     data
   })
 }
+
+// 取记录列表
+export function recordList(query) {
+  return request({
+    url: '/discount/record/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 领取详情
+export function getRecord(query) {
+  return request({
+    url: `/discount/record/${query.recordId}`,
+    method: 'get',
+    params: query
+  })
+}

+ 27 - 15
src/views/goods/voucher/exchange.vue

@@ -1,15 +1,23 @@
 <template>
     <div class="app-container">
-      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
         <el-form-item label="姓名">
           <el-input  v-model="queryParams['user.name']" placeholder="请输入名称" clearable @keyup.enter.native="handleQuery"/>
         </el-form-item>
         <el-form-item label="手机号">
-          <el-cascader v-model="queryParams['user.phone']" :options="voucher_category" :props="{emitPath:false}"></el-cascader>
+          <el-input  v-model="queryParams['user.phone']" placeholder="请输入手机号" clearable @keyup.enter.native="handleQuery"/>
         </el-form-item>
-        <el-form-item label="群体">
-          <el-select v-model="queryParams['user.tags']" placeholder="请选择">
-            <el-option v-for="dict in dict.type.user_tags" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+        <el-form-item label="商家名称">
+          <el-input  v-model="queryParams['discountInfo.name']" placeholder="请输入商家名称" clearable @keyup.enter.native="handleQuery"/>
+        </el-form-item>
+        <el-form-item label="社区" prop="community">
+          <el-select v-model="queryParams.community" placeholder="请选择">
+            <el-option v-for="dict in dict.type.community" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="兑换群体" prop="tags">
+          <el-select v-model="queryParams.tags" placeholder="请选择">
+            <el-option v-for="dict in dict.type.receive_tags" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
@@ -31,12 +39,13 @@
       </el-row>
   
       <el-table v-loading="loading" :data="taskList">
+        <el-table-column label="代金券名称" align="center" prop="discountInfo.name" />
         <el-table-column label="姓名" align="center" prop="user.name" />
         <el-table-column label="手机号" align="center" prop="user.phone" />
-        <el-table-column label="群体" align="center" prop="user.tags" />
-        <el-table-column label="代金券种类" align="center" prop="voucher.category" />
-        <el-table-column label="面额" align="center" prop="voucher.money" />
-        <el-table-column label="状态" align="center" prop="status" />
+        <el-table-column label="领取群体" align="center" prop="discountInfo.tags" />
+        <el-table-column label="代金券种类" align="center" prop="discountInfo.categoryText" />
+        <el-table-column label="面额" align="center" prop="discountInfo.money" />
+        <el-table-column label="状态" align="center" prop="statusText" />
         <el-table-column label="创建时间" align="center" prop="createTime" width="180">
           <template slot-scope="scope">
             <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@@ -54,11 +63,11 @@
   </template>
   
   <script>
-  import { listVoucher } from "@/api/goods/voucher/index";
+  import { recordList } from "@/api/goods/voucher/index";
   
   export default {
     name: "voucher",
-    dicts: ['tags'],
+    dicts: ['receive_tags', 'voucher_category', 'voucher_status', 'community'],
     data() {
       return {
         // 遮罩层
@@ -76,7 +85,7 @@
       };
     },
     async created() {
-      // this.getList();
+      this.getList();
       const dict = await this.getDicts('voucher_category');
       dict.data = dict.data.map(e => ({ ...e, label: e.dictLabel, value: e.dictValue }))
       this.voucher_category = dict.data.filter(e => !e.remark).map(e => {
@@ -89,10 +98,13 @@
       /** 查询检测代金券管理列表 */
       getList() {
         this.loading = true;
-        listVoucher(this.queryParams).then(response => {
+        recordList(this.queryParams).then(response => {
           this.taskList = response.rows.map(e => {
-            const dict = this.dict.type.voucher_category.find(j => j.dictValue == e.category)
-            if (dict) e.categoryText = dict.dictLabel;
+            const dict = this.dict.type.voucher_category.find(j => j.value == e.discountInfo.category)
+            if (dict) e.discountInfo.categoryText = dict.label;
+            const dictstatus = this.dict.type.voucher_status.find(j => j.value == e.status)
+            if (dictstatus) e.statusText = dictstatus.label;
+            
             return e;
           });
           this.total = response.total;

+ 29 - 22
src/views/goods/voucher/index.vue

@@ -4,12 +4,12 @@
       <el-form-item label="名称" prop="name">
         <el-input  v-model="queryParams.name" placeholder="请输入名称" clearable @keyup.enter.native="handleQuery"/>
       </el-form-item>
-      <el-form-item label="种类" prop="name">
-        <el-cascader v-model="queryParams.tags" :options="voucher_category" :props="{emitPath:false}"></el-cascader>
+      <el-form-item label="种类" prop="category">
+        <el-cascader v-model="queryParams.category" :options="voucher_category" :props="{emitPath:false}"></el-cascader>
       </el-form-item>
-      <el-form-item label="兑换群体" prop="name">
+      <el-form-item label="兑换群体" prop="tags">
         <el-select v-model="queryParams.tags" placeholder="请选择">
-          <el-option v-for="dict in dict.type.user_tags" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+          <el-option v-for="dict in dict.type.receive_tags" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
@@ -63,11 +63,11 @@
           <el-input v-model="form.name" placeholder="请输入名称" />
         </el-form-item>
         <el-form-item label="种类" prop="category">
-          <el-cascader v-model="form.tags" :options="voucher_category" :props="{emitPath:false}"></el-cascader>
+          <el-cascader v-model="form.category" :options="voucher_category" :props="{emitPath:false}"></el-cascader>
         </el-form-item>
         <el-form-item label="可兑换群体" prop="tags">
           <el-select v-model="form.tags" placeholder="请选择">
-            <el-option v-for="dict in dict.type.user_tags" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+            <el-option v-for="dict in dict.type.receive_tags" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="面额" prop="money">
@@ -80,16 +80,24 @@
           <el-input v-model="form.count" type="number" placeholder="请输入发放数量" />
         </el-form-item>
         <el-form-item label="领取开始时间" prop="startTime">
-          <el-date-picker v-model="form.startTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
+          <el-date-picker :value-format="'yyyy-MM-dd HH:mm:ss'" v-model="form.startTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
         </el-form-item>
         <el-form-item label="领取结束时间" type="endTime" prop="name">
-          <el-date-picker v-model="form.endTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
+          <el-date-picker :value-format="'yyyy-MM-dd HH:mm:ss'" v-model="form.endTime" type="datetime" placeholder="选择日期时间"></el-date-picker>
+        </el-form-item>
+        <el-form-item label="选则社区" prop="location">
+          <el-select v-model="form.community" placeholder="请选择">
+            <el-option v-for="dict in dict.type.community" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="商家名称" prop="location">
+          <el-input v-model="form.sellers" placeholder="请输入领取地点" />
         </el-form-item>
         <el-form-item label="领取地点" prop="location">
           <el-input v-model="form.location" placeholder="请输入领取地点" />
         </el-form-item>
         <el-form-item label="详情" prop="details">
-          <editoritem5 :value="form.details" @change="getFileId"></editoritem5>
+          <editoritem5 :value="form.details" @change="getFileId" v-if="open"></editoritem5>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -105,7 +113,7 @@ import { updateNumber, delVoucher, updateVoucher, addVoucher, getVoucher, listVo
 
 export default {
   name: "voucher",
-  dicts: ['tags'],
+  dicts: ['voucher_category', 'community', 'receive_tags'],
   data() {
     return {
       // 遮罩层
@@ -133,7 +141,7 @@ export default {
     };
   },
   async created() {
-    // this.getList();
+    this.getList();
     const dict = await this.getDicts('voucher_category');
     dict.data = dict.data.map(e => ({ ...e, label: e.dictLabel, value: e.dictValue }))
     this.voucher_category = dict.data.filter(e => !e.remark).map(e => {
@@ -141,13 +149,12 @@ export default {
       if (children.length > 0) e.children = children;
       return e;
     })
-    console.log(this.voucher_category, 'voucher_category');
   },
   methods: {
     // 减发
     handleReduce(e) {
       this.$modal.prompt('请输入减发数量').then(({ value }) => {
-        return updateNumber({ voucherId: e.voucherId, type: 'delete', comment: value });
+        return updateNumber({ discountId: e.discountId, type: 'delete', comment: value });
       }).then(() => {
         this.query();
         this.$modal.msgSuccess("减发成功");
@@ -156,7 +163,7 @@ export default {
     // 增发
     handleIncrease(e) {
       this.$modal.prompt('请输入增发数量').then(({ value }) => {
-        return updateNumber({ voucherId: e.voucherId, type: 'add', comment: value });
+        return updateNumber({ discountId: e.discountId, type: 'add', comment: value });
       }).then(() => {
         this.query();
         this.$modal.msgSuccess("增发成功");
@@ -167,8 +174,8 @@ export default {
       this.loading = true;
       listVoucher(this.queryParams).then(response => {
         this.taskList = response.rows.map(e => {
-          const dict = this.dict.type.voucher_category.find(j => j.dictValue == e.category)
-          if (dict) e.categoryText = dict.dictLabel;
+          const dict = this.dict.type.voucher_category.find(j => j.value == e.category)
+          if (dict) e.categoryText = dict.label;
           return e;
         });
         this.total = response.total;
@@ -178,7 +185,7 @@ export default {
     // 取消按钮
     cancel() {
       this.open = false;
-      this.reset();
+      this.form = {};
     },
     // 表单重置
     reset() {
@@ -205,7 +212,7 @@ export default {
     submitForm() {
       this.$refs["form"].validate(valid => {
         if (valid) {
-          if (this.form.natTaskId != null) {
+          if (this.form.discountId) {
             updateVoucher(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
@@ -224,17 +231,17 @@ export default {
     /** 删除按钮操作 */
     handleDelete(row) {
       this.$modal.confirm(`是否确认删除代金券名称为${ row.name}的数据项?`).then(function() {
-        return delVoucher(row.voucherId);
+        return delVoucher([row.discountId]);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("删除成功");
       }).catch(() => {});
     },
     /** 修改按钮操作 */
-    handleUpdate(row) {
+    handleEdit(row) {
       this.reset();
-      getVoucher(row.voucherId).then(response => {
-        this.form = data;
+      getVoucher(row.discountId).then(data => {
+        this.form = data.data;
         this.open = true;
         this.title = "代金券详情";
       });

+ 2 - 2
vue.config.js

@@ -39,7 +39,7 @@ module.exports = {
       [process.env.VUE_APP_BASE_API]: {
         // target: `http://fuyu.scapp.cn/prod-api/`,
         // target: `https://fuyu.cc-lotus.info`,
-        target: `http://192.168.0.19:8080`,
+        target: `http://192.168.0.18:8080`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''
@@ -50,7 +50,7 @@ module.exports = {
         changeOrigin: true,
       },
       '/profile/': {
-        target: `http://192.168.0.19:8080`,
+        target: `http://192.168.0.18:8080`,
         changeOrigin: true,
       },
     },