فهرست منبع

支持代金券上架、下架及相关查询

skym1024 2 سال پیش
والد
کامیت
6904b08421
2فایلهای تغییر یافته به همراه55 افزوده شده و 8 حذف شده
  1. 8 0
      src/api/goods/voucher/index.js
  2. 47 8
      src/views/goods/voucher/index.vue

+ 8 - 0
src/api/goods/voucher/index.js

@@ -61,6 +61,14 @@ export function updateNumber(data) {
   })
 }
 
+// 代金券上架下架
+export function changeAvailableStatus(discountId, status) {
+  return request({
+    url: `/discount/status/${discountId}/${status}`,
+    method: 'put'
+  })
+}
+
 // 取记录列表
 export function recordList(query) {
   return request({

+ 47 - 8
src/views/goods/voucher/index.vue

@@ -7,11 +7,21 @@
       <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="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 label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择">
+          <el-option v-for="dict in dict.type.goods_status" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -26,19 +36,32 @@
 
     <el-table v-loading="loading" :data="taskList">
       <el-table-column label="名称" align="center" prop="name" />
-      <el-table-column label="种类" align="center" prop="categoryText" />
-      <el-table-column label="发行社区" align="center" prop="community" />
-      <el-table-column label="可兑换群体" align="center" prop="tags" />
-      <el-table-column label="发放数量" align="center" prop="count" width="80" />
+      <el-table-column label="种类" align="center" prop="categoryText" width="100" />
+      <el-table-column label="发行社区" align="center" prop="community" width="80" />
+      <el-table-column label="可兑换群体" align="center" prop="tags" width="100" />
+      <el-table-column label="发放数" align="center" prop="count" width="80" />
+      <el-table-column label="库存数" align="center" prop="remainCount" width="80" />
       <el-table-column label="面额" align="center" prop="money" width="50" />
       <el-table-column label="需要积分" align="center" prop="integral" width="80" />
-      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+      <el-table-column label="状态" align="center" prop="status" width="80">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.goods_status" :value="scope.row.status"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="上架时间" align="center" prop="startTime" width="180">
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
+          <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="下架时间" align="center" prop="endTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
         </template>
       </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
+          <el-button size="mini" type="text" icon="el-icon-top" @click="handleAvailable(scope.row)">上架</el-button>
+          <el-button size="mini" type="text" icon="el-icon-bottom" @click="handleUnavailable(scope.row)">下架</el-button>
           <el-button size="mini" type="text" icon="el-icon-plus" @click="handleIncrease(scope.row)">增发</el-button>
           <el-button size="mini" type="text" icon="el-icon-minus" @click="handleReduce(scope.row)">减发</el-button>
           <el-button size="mini" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">修改</el-button>
@@ -111,11 +134,11 @@
 </template>
 
 <script>
-import { updateNumber, delVoucher, updateVoucher, addVoucher, getVoucher, listVoucher } from "@/api/goods/voucher/index";
+import { updateNumber, delVoucher, updateVoucher, addVoucher, getVoucher, listVoucher, changeAvailableStatus } from "@/api/goods/voucher/index";
 
 export default {
   name: "voucher",
-  dicts: ['voucher_category', 'community', 'receive_tags'],
+  dicts: ['voucher_category', 'community', 'receive_tags', 'goods_status'],
   data() {
     return {
       // 遮罩层
@@ -136,6 +159,11 @@ export default {
       queryParams: {
         pageNum: 1,
         pageSize: 10,
+        name:'',
+        category:'',
+        tags:'',
+        community:'',
+        status:''
       },
       // 表单参数
       form: {},
@@ -155,6 +183,17 @@ export default {
     })
   },
   methods: {
+    // 上架
+    handleAvailable(e) {
+      console.log(e.discountId);
+      changeAvailableStatus(e.discountId, 1);
+      this.getList();
+    },
+    // 上架
+    handleUnavailable(e) {
+      changeAvailableStatus(e.discountId, 0);
+      this.getList();
+    },
     // 减发
     handleReduce(e) {
       const _this = this;