ソースを参照

提交一下

1
mo 3 年 前
コミット
8a8525fecd

+ 3 - 0
src/router/index.js

@@ -446,7 +446,10 @@ export const asyncRoutes = {
   deviceNum: () => import('@/views/deviceNumManager'),
   // 乐团会员列表
   teamMemberList: () => import('@/views/studentManager/memberList'),
+  //2021十一活动
   memeberActionManager: () => import('@/views/2021memeberActionManager'),
+  // 优惠券管理
+  couponManager:()=>import ('@/views/couponManager')
 }
 
 export default router

+ 13 - 0
src/store/modules/permission.js

@@ -598,6 +598,19 @@ function setDetailRoute(accessedRoutes) {
             id: 'xx19'
           }
         },
+        {
+          name: 'couponUpdate',
+          path: 'couponUpdate',
+          component: () => import('@/views/couponManager/couponUpdate'),
+          hidden: true,
+          meta: {
+            noCache: '1',
+            title: '优惠券详情',
+            belongTopMenu: "/operateManager",
+            activeMenu: '/couponManager',
+            id: 'xx19'
+          }
+        },
       ])
     }
     if (route.path == '/financialManager') {

+ 83 - 12
src/views/2021memeberActionManager/memberActiveDetail.vue

@@ -12,7 +12,7 @@
         @submit="search"
         @reset="onReSet"
       >
-        <el-form-item prop="organId">
+        <!-- <el-form-item prop="organId">
           <el-select
             class="multiple"
             style="width: 180px !important"
@@ -28,23 +28,23 @@
               :value="item.id"
             ></el-option>
           </el-select>
-        </el-form-item>
-        <el-form-item prop="courseViewType">
+        </el-form-item> -->
+        <el-form-item prop="typeList">
           <el-select
-            v-model.trim="searchForm.courseViewType"
+            v-model.trim="searchForm.typeList"
             filterable
             clearable
             placeholder="请选择乐团模式"
           >
             <el-option
-              :label="item.label"
-              :value="Number(item.value)"
-              v-for="item in courseViewTypeList"
-              :key="item.value"
+              v-for="(item, index) in typeList"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id"
             ></el-option>
           </el-select>
         </el-form-item>
-                <el-form-item prop="subjectId">
+        <el-form-item prop="subjectId">
           <el-select
             class="multiple"
             style="width: 180px !important"
@@ -62,8 +62,33 @@
           </el-select>
         </el-form-item>
         <el-form-item>
+          <remote-search
+            :commit="'setTeachers'"
+            aria-placeholder="请选择指导老师"
+            v-model.trim="searchForm.teacherId"
+          />
+        </el-form-item>
+        <el-form-item prop="subjectId">
+          <el-select
+            class="multiple"
+            style="width: 180px !important"
+            v-model.trim="searchForm.subjectId"
+            filterable
+            clearable
+            placeholder="购买套餐"
+          >
+            <el-option
+              v-for="(item, index) in selects.subjects"
+              :key="index"
+              :label="item.name"
+              :value="item.id"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
           <el-button native-type="submit" type="primary">搜索</el-button>
           <el-button native-type="reset" type="danger">重置</el-button>
+          <el-button native-type="reset" type="primary">导出</el-button>
         </el-form-item>
       </save-form>
       <div class="tableWrap">
@@ -75,7 +100,47 @@
           <el-table-column
             align="center"
             prop="studentId"
-            label="分部"
+            label="学生姓名(编号)"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="合作单位"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="乐团"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="乐团模式"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="声部"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="年级"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="指导老师"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="购买套餐"
+          ></el-table-column>
+                    <el-table-column
+            align="center"
+            prop="studentId"
+            label="购买金额"
           ></el-table-column>
         </el-table>
         <pagination
@@ -97,6 +162,7 @@ import { getToken } from "@/utils/auth";
 import pagination from "@/components/Pagination/index";
 import load from "@/utils/loading";
 import { classStatus, courseViewTypeList } from "@/utils/searchArray";
+import { getType } from "@/api/buildTeam";
 export default {
   components: { pagination },
   data() {
@@ -107,6 +173,7 @@ export default {
       courseViewTypeList,
       tableList: [],
       organList: [],
+      typeList: [],
       rules: {
         // 分页规则
         limit: 10, // 限制显示条数
@@ -121,8 +188,12 @@ export default {
   //生命周期 - 挂载完成(可以访问DOM元素)
   async mounted() {
     // 获取分部
-
-    await this.$store.dispatch("setBranchs");
+    getType({ rows: 1000 }).then((res) => {
+      if (res.code == 200) {
+        this.typeList = res.data.rows;
+      }
+    });
+    // await this.$store.dispatch("setBranchs");
     await this.$store.dispatch("setSubjects");
 
     this.init();

+ 0 - 0
src/views/couponManager/couponDetail.vue


+ 22 - 0
src/views/couponManager/couponUpdate.vue

@@ -0,0 +1,22 @@
+<template>
+  <div class="m-container">
+    <el-page-header
+      @back="onCancel"
+      content="新增优惠券"
+    ></el-page-header>
+    <h3>优惠券信息</h3>
+     <el-divider></el-divider>
+  </div>
+</template>
+<script>
+export default {
+  data(){
+    return{
+
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+
+</style>

+ 323 - 0
src/views/couponManager/index.vue

@@ -0,0 +1,323 @@
+<!--  -->
+<template>
+  <div class="m-container">
+    <h2>
+      <div class="squrt"></div>
+      优惠券管理
+    </h2>
+    <div class="m-core">
+      <save-form
+        :inline="true"
+        :model="searchForm"
+        @submit="search"
+        @reset="onReSet"
+      >
+        <el-form-item>
+          <el-input
+            v-model.trim="searchForm.search"
+            clearable
+            @keyup.enter.native="search"
+            placeholder="优惠券名称、编号"
+          ></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-select
+            placeholder="优惠券类型"
+            v-model.trim="searchForm.type"
+            filterable
+            clearable
+          >
+            <el-option label="满减券" value="FULL_REDUCTION"></el-option>
+            <el-option label="折扣券" value="DISCOUNT"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-select
+            placeholder="优惠券状态"
+            v-model.trim="searchForm.type"
+            filterable
+            clearable
+          >
+            <el-option label="正常" value="1"></el-option>
+            <el-option label="过期" value="0"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button native-type="submit" type="primary">搜索</el-button>
+          <el-button native-type="reset" type="danger">重置</el-button>
+        </el-form-item>
+      </save-form>
+      <div class="tableWrap">
+        <el-table
+          style="width: 100%"
+          :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
+          :data="tableList"
+        >
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="优惠券编号"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="优惠券名称"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="类型"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="cloudStudyUseStudentDuty"
+            sortable="custom"
+            width="140px"
+          >
+            <template slot="header" slot-scope="slot">
+              <div class="titleCell">
+                <span>面值</span>
+                <el-tooltip placement="top" popper-class="mTooltip">
+                  <div slot="content">可优惠最大金额</div>
+                  <i
+                    class="el-icon-question micon el-tooltip"
+                    style="
+                      font-size: 18px;
+                      color: #f56c6c;
+                      top: 2px;
+                      position: relative;
+                    "
+                  ></i>
+                </el-tooltip>
+              </div>
+            </template>
+            <template slot-scope="scope">
+              <div>{{ scope.row.cloudStudyUseStudentDuty }}人</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="cloudStudyUseStudentDuty"
+            sortable="custom"
+            width="140px"
+          >
+            <template slot="header" slot-scope="slot">
+              <div class="titleCell">
+                <span>达标金额</span>
+                <el-tooltip placement="top" popper-class="mTooltip">
+                  <div slot="content">消费满多少才可使用</div>
+                  <i
+                    class="el-icon-question micon el-tooltip"
+                    style="
+                      font-size: 18px;
+                      color: #f56c6c;
+                      top: 2px;
+                      position: relative;
+                    "
+                  ></i>
+                </el-tooltip>
+              </div>
+            </template>
+            <template slot-scope="scope">
+              <div>{{ scope.row.cloudStudyUseStudentDuty }}人</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="cloudStudyUseStudentDuty"
+            sortable="custom"
+            width="140px"
+          >
+            <template slot="header" slot-scope="slot">
+              <div class="titleCell">
+                <span>领取上限</span>
+                <el-tooltip placement="top" popper-class="mTooltip">
+                  <div slot="content">用户最大领取数量</div>
+                  <i
+                    class="el-icon-question micon el-tooltip"
+                    style="
+                      font-size: 18px;
+                      color: #f56c6c;
+                      top: 2px;
+                      position: relative;
+                    "
+                  ></i>
+                </el-tooltip>
+              </div>
+            </template>
+            <template slot-scope="scope">
+              <div>{{ scope.row.cloudStudyUseStudentDuty }}人</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="cloudStudyUseStudentDuty"
+            sortable="custom"
+            width="140px"
+          >
+            <template slot="header" slot-scope="slot">
+              <div class="titleCell">
+                <span>使用期限</span>
+                <el-tooltip placement="top" popper-class="mTooltip">
+                  <div slot="content">自领取之日起多少天有效</div>
+                  <i
+                    class="el-icon-question micon el-tooltip"
+                    style="
+                      font-size: 18px;
+                      color: #f56c6c;
+                      top: 2px;
+                      position: relative;
+                    "
+                  ></i>
+                </el-tooltip>
+              </div>
+            </template>
+            <template slot-scope="scope">
+              <div>{{ scope.row.cloudStudyUseStudentDuty }}人</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="cloudStudyUseStudentDuty"
+            sortable="custom"
+            width="140px"
+          >
+            <template slot="header" slot-scope="slot">
+              <div class="titleCell">
+                <span>有效期</span>
+                <el-tooltip placement="top" popper-class="mTooltip">
+                  <div slot="content">优惠券可使用时间段</div>
+                  <i
+                    class="el-icon-question micon el-tooltip"
+                    style="
+                      font-size: 18px;
+                      color: #f56c6c;
+                      top: 2px;
+                      position: relative;
+                    "
+                  ></i>
+                </el-tooltip>
+              </div>
+            </template>
+            <template slot-scope="scope">
+              <div>{{ scope.row.cloudStudyUseStudentDuty }}人</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="cloudStudyUseStudentDuty"
+            sortable="custom"
+            width="140px"
+          >
+            <template slot="header" slot-scope="slot">
+              <div class="titleCell">
+                <span>领取时间</span>
+                <el-tooltip placement="top" popper-class="mTooltip">
+                  <div slot="content">用户可领取优惠券时间段</div>
+                  <i
+                    class="el-icon-question micon el-tooltip"
+                    style="
+                      font-size: 18px;
+                      color: #f56c6c;
+                      top: 2px;
+                      position: relative;
+                    "
+                  ></i>
+                </el-tooltip>
+              </div>
+            </template>
+            <template slot-scope="scope">
+              <div>{{ scope.row.cloudStudyUseStudentDuty }}人</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="总库存"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="剩余库存"
+          ></el-table-column>
+          <el-table-column
+            align="center"
+            prop="studentId"
+            label="状态"
+          ></el-table-column>
+          <el-table-column align="center" prop="studentId" label="操作">
+            <template slot-scope="scope">
+              <div>
+                <el-button type="text" @click="gotoDetail(scope.row)">查看</el-button>
+                <el-button type="text">停用</el-button>
+                <el-button type="text">启用</el-button>
+                <el-button type="text">修改</el-button>
+                <el-button type="text">删除</el-button>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <pagination
+          sync
+          :total.sync="rules.total"
+          :page.sync="rules.page"
+          :limit.sync="rules.limit"
+          :page-sizes="rules.page_size"
+          @pagination="getList"
+        />
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import axios from "axios";
+import { getToken } from "@/utils/auth";
+import pagination from "@/components/Pagination/index";
+import load from "@/utils/loading";
+export default {
+  components: { pagination },
+  data() {
+    return {
+      searchForm: {
+        search: null,
+      },
+
+      tableList: [{}],
+      organList: [],
+      rules: {
+        // 分页规则
+        limit: 10, // 限制显示条数
+        page: 1, // 当前页
+        total: 0, // 总条数
+        page_size: [10, 20, 40, 50], // 选择限制显示条数
+      },
+    };
+  },
+  //生命周期 - 创建完成(可以访问当前this实例)
+  created() {},
+  //生命周期 - 挂载完成(可以访问DOM元素)
+  mounted() {
+    // 获取分部
+
+    this.init();
+  },
+  methods: {
+    init() {},
+    getList() {},
+    search() {
+      this.rules.page = 1;
+      this.getList();
+    },
+    onReSet() {},
+    gotoDetail(row){
+      this.$router.push('/operateManager/couponUpdate')
+    }
+  },
+};
+</script>
+<style lang='scss' scoped>
+.titleCell {
+  display: inline-block;
+}
+</style>