王新雷 4 years ago
parent
commit
31c37b312a

+ 47 - 46
src/utils/searchArray.js

@@ -1,7 +1,7 @@
 // 搜索用的下拉数据列表
 
 // 课程类型
-const courseType = [
+export const courseType = [
   { label: "单技课", value: "SINGLE" },
   { label: "合奏课", value: "MIX" },
   { label: "基础技能课", value: "HIGH" },
@@ -17,7 +17,7 @@ const courseType = [
   { label: "课堂课", value: "CLASSROOM" },
   { label: "对外课", value: "COMM" }
 ]
-const courseListType = [
+export const courseListType = [
   { label: "乐团课", value: "MUSIC" },
   { label: "VIP课", value: "VIP" },
   { label: "网管课", value: "PRACTICE" },
@@ -25,27 +25,27 @@ const courseListType = [
 ]
 
 // 考勤状态
-const attendance = [
+export const attendance = [
   { label: '正常签到', value: 1 },
   { label: '异常签到', value: 0 },
 ]
 
 // 工作类型
-const jobNature = [
+export const jobNature = [
   { label: '兼职', value: 'PART_TIME' },
   { label: '全职', value: 'FULL_TIME' },
   { label: '临时工', value: 'TEMPORARY' }
 ]
 
 // 老师状态
-const teacherStatus = [
+export const teacherStatus = [
   { label: '正常', value: '0' },
   { label: '冻结', value: '1' },
   { label: '锁定', value: '9' }
 ]
 
 // 考勤状态
-const attendanceStatus = [
+export const attendanceStatus = [
   { value: "NORMAL", label: "正常" },
   { value: "TRUANT", label: "旷课" },
   { value: "LEAVE", label: "请假" },
@@ -54,7 +54,7 @@ const attendanceStatus = [
 ]
 
 // 交易状态
-const orderStatus = [
+export const orderStatus = [
   { value: "APPLY", label: "报名" },
   { value: "RENEW", label: "续费" },
   { value: "OTHER", label: "其他" },
@@ -72,14 +72,14 @@ const orderStatus = [
 ]
 
 // 交易状态
-const dealStatus = [
+export const dealStatus = [
   { value: "ING", label: "交易中" },
   { value: "SUCCESS", label: "成功交易" },
   { value: "FAILED", label: "交易失败" },
   { value: "CLOSE", label: "交易关闭" }
 ]
 
-const musicGroupStatus = [
+export const musicGroupStatus = [
   { value: 'APPLY', text: '报名中' },
   { value: 'PAY', text: '缴费中' },
   { value: 'PREPARE', text: '筹备中' },
@@ -91,7 +91,7 @@ const musicGroupStatus = [
   { value: 'CANCELED', text: '取消' },
 ]
 
-const vipGroupStatus = [
+export const vipGroupStatus = [
   { value: '0', text: '未开始' },
   { value: '1', text: '报名中' },
   { value: '5', text: '报名结束' },
@@ -102,18 +102,18 @@ const vipGroupStatus = [
 ]
 
 // 课程状态
-const courseStatus = [
+export const courseStatus = [
   { value: "NOT_START", label: "未开始" },
   { value: "UNDERWAY", label: "进行中" },
   { value: "OVER", label: "已结束" },
 ]
-const courseGroupStatus = [
+export const courseGroupStatus = [
   { value: "NORMAL", label: "正常" },
   { value: "LOCK", label: "锁定" },
   { value: "FINISH", label: "结束" },
   { value: "CANCEL", label: "取消" },
 ]
-const commGroupStatus = [
+export const commGroupStatus = [
   { value: "NORMAL", label: "进行中" },
   { value: "FINISH", label: "结束" },
   { value: "CANCEL", label: "关闭" },
@@ -121,7 +121,7 @@ const commGroupStatus = [
 ]
 
 // 老师时间充值状态
-const teacherTimeStatus = [
+export const teacherTimeStatus = [
   { value: "RECHARGE", label: "充值" },
   { value: "CONSUME", label: "建课" },
   { value: "RETURN", label: "退课" },
@@ -129,39 +129,39 @@ const teacherTimeStatus = [
   { value: "MANUAL_SUB", label: "系统扣除" },
 ]
 
-const practiceGroupType = [
+export const practiceGroupType = [
   { value: "FREE", label: "免费" },
   { value: "CHARGE", label: "收费" },
   { value: "TRIAL", label: "试听课" },
 ]
-const visitChiose = [
+export const visitChiose = [
   { value: '课程推荐', label: '课程推荐', children: [{ value: '新课推荐', label: '新课推荐' }, { value: '续费提醒', label: '续费提醒' }] },
   { value: '常规回访', label: '常规回访', children: [{ value: '课后及作业回访', label: '课后及作业回访' }, { value: '练习及乐团表现', label: '练习及乐团表现' }] },
   { value: '其它', label: '其它', children: [{ value: '其它', label: '其它' }] }
 ]
 
 // 交易状态
-const paymentChannelStatus = [
+export const paymentChannelStatus = [
   { value: 'YQPAY', label: '双乾' },
   { value: 'BALANCE', label: '余额' },
   { value: 'ADAPAY', label: '汇付' }
 ]
 // 销售类型
-const saleStatus = [
+export const saleStatus = [
   { value: 'INSTRUMENT', label: '乐器销售' },
   { value: 'ACCESSORIES', label: '配件销售' },
   { value: 'SCHOOL_BUY', label: '学校采购' },
   { value: 'OTHER', label: '其它' }
 ]
 // 商品类型
-const goodsType = [
+export const goodsType = [
   { value: 'INSTRUMENT', label: '乐器' },
   { value: 'ACCESSORIES', label: '辅件' },
   { value: 'TEACHING', label: '教材' },
   { value: 'STAFF', label: '教谱' },
 ]
 
-const classStatus = [
+export const classStatus = [
   { value: '1', label: '一年级' },
   { value: '2', label: '二年级' },
   { value: '3', label: '三年级' },
@@ -176,12 +176,12 @@ const classStatus = [
   { value: '12', label: '高三' },
 ]
 // 库存类型
-const stockType = [
+export const stockType = [
   { value: 'INTERNAL', label: '内部' },
   { value: 'EXTERNAL', label: '外部' },
   { value: 'ALL', label: '全部' }
 ]
-const classTimeList = [
+export const classTimeList = [
   { label: "90", value: "SINGLE" },
   { label: "90", value: "MIX" },
   { label: "45", value: "HIGH" },
@@ -194,27 +194,28 @@ const classTimeList = [
   { label: "40", value: "CLASSROOM" },
 ]
 
-export {
-  courseType,
-  attendance,
-  jobNature,
-  teacherStatus,
-  attendanceStatus,
-  orderStatus,
-  dealStatus,
-  musicGroupStatus,
-  vipGroupStatus,
-  courseStatus,
-  teacherTimeStatus,
-  courseGroupStatus,
-  commGroupStatus,
-  courseListType,
-  practiceGroupType,
-  visitChiose,
-  paymentChannelStatus,
-  saleStatus,
-  goodsType,
-  classStatus,
-  stockType,
-  classTimeList
-}
+
+// export {
+//   courseType,
+//   attendance,
+//   jobNature,
+//   teacherStatus,
+//   attendanceStatus,
+//   orderStatus,
+//   dealStatus,
+//   musicGroupStatus,
+//   vipGroupStatus,
+//   courseStatus,
+//   teacherTimeStatus,
+//   courseGroupStatus,
+//   commGroupStatus,
+//   courseListType,
+//   practiceGroupType,
+//   visitChiose,
+//   paymentChannelStatus,
+//   saleStatus,
+//   goodsType,
+//   classStatus,
+//   stockType,
+//   classTimeList
+// }

+ 16 - 3
src/views/luckyDraw/api.js

@@ -1,5 +1,5 @@
 import request from '@/utils/request'
-import qs from 'qs'
+// import qs from 'qs'
 
 // 查询奖品组列表
 export function luckDrawGroupList(data) {
@@ -14,6 +14,19 @@ export function luckDrawGroupList(data) {
   })
 }
 
+// 查询奖品组列表
+export function luckDrawGroupFindAll(data) {
+  return request({
+    url: '/api-web/luckDrawGroup/findAll',
+    method: 'get',
+    headers: {
+      'content-type': 'application/x-www-form-urlencoded'
+    },
+    data: {},
+    params: data
+  })
+}
+
 // 添加抽奖组
 export function luckDrawGroupAdd(data) {
   return request({
@@ -28,7 +41,7 @@ export function luckDrawGroupUpdate(data) {
   return request({
     url: '/api-web/luckDrawGroup/update',
     method: 'post',
-    data: qs.stringify(data)
+    data: data
   })
 }
 
@@ -59,7 +72,7 @@ export function luckDrawPrizeUpdate(data) {
   return request({
     url: '/api-web/luckDrawPrize/update',
     method: 'post',
-    data: qs.stringify(data)
+    data: data
   })
 }
 

+ 16 - 12
src/views/luckyDraw/lotteryManager.vue

@@ -35,7 +35,7 @@
                 </el-table-column>
                 <el-table-column align="center" label="操作">
                     <template slot-scope="scope">
-                        <el-button @click="onOperationLottery(scope.row)" v-permission="'luckDrawGroup/update'" type="text">修改</el-button>
+                        <el-button @click="onOperationLottery('update', scope.row)" v-permission="'luckDrawGroup/update'" type="text">修改</el-button>
                         <el-button @click="onLook(scope.row)" v-permission="'/trophyManager'" type="text">查看奖品</el-button>
                     </template>
                 </el-table-column>
@@ -128,12 +128,20 @@ export default {
         this.getList()
     },
     activated () {
-        // this.getList()
+        this.getList()
     },
     methods: {
         onOperationLottery(type, data) {
             this.formActionTitle = type
-
+            if(type == 'update') {
+                this.$nextTick(() => {
+                    this.form = {
+                        id: data.id,
+                        name: data.name,
+                        time: [data.startTime, data.endTime]
+                    }
+                })
+            }
             this.lotteryStatus = true
         },
         onSubmit(formName) {
@@ -161,10 +169,13 @@ export default {
                 }
             })
         },
+        onFormClose(formName) {
+            this.$refs[formName].resetFields()
+        },
         messageTips (title, res) {
             if (res.code == 200) {
                 this.$message.success(title + '成功')
-                this.branchStatus = false
+                this.lotteryStatus = false
                 this.getList()
             } else {
                 this.$message.error(res.msg)
@@ -191,11 +202,4 @@ export default {
         }
     }
 };
-</script>
-<style lang='scss' scoped>
-.micon {
-  position: absolute;
-  top: 3px;
-  right: 2px;
-}
-</style>
+</script>

+ 63 - 23
src/views/luckyDraw/lotteryRecord.vue

@@ -8,16 +8,36 @@
         <el-form :inline="true"
                 class="searchForm"
                 v-model.trim="searchForm">
-           <el-form-item>
-                <el-input v-model.trim="searchForm.search"
-                        placeholder="学生编号/姓名/手机号"></el-input>
+            <el-form-item>
+                <el-input v-model.trim="searchForm.userId"
+                        placeholder="请输入学生编号"></el-input>
+            </el-form-item>
+            <el-form-item>
+                <el-input v-model.trim="searchForm.name"
+                        placeholder="请输入奖项名称"></el-input>
             </el-form-item>
             <el-form-item>
-                <el-select v-model.trim="searchForm.groupId"
-                        style="width: 100% !important"
-                        placeholder="请选择所属分部">
-                    <el-option value="reg" label="未缴费"></el-option>
-                    <el-option value="pay" label="已缴费"></el-option>
+                <el-date-picker
+                    style="width: 100%"
+                    v-model="time"
+                    :picker-options="{ firstDayOfWeek: 1 }"
+                    @change="onDateChange"
+                    type="daterange"
+                    range-separator="至"
+                    start-placeholder="抽奖开始日期"
+                    end-placeholder="抽奖结束日期">
+                </el-date-picker>
+            </el-form-item>
+            <el-form-item prop="organId">
+                <el-select class="multiple"
+                            v-model.trim="searchForm.organId"
+                            filterable
+                            clearable
+                            placeholder="请选择分部">
+                    <el-option v-for="(item,index) in organList"
+                            :key="index"
+                            :label="item.name"
+                            :value="item.id"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item>
@@ -30,27 +50,23 @@
             <el-table :data="tableList"
                         :header-cell-style="{background:'#EDEEF0',color:'#444'}">
                 <el-table-column align="center"
-                                prop="title"
+                                prop="userId"
                                 label="学员编号"></el-table-column>
                 <el-table-column align="center"
-                                label="学员姓名">
-                <template slot-scope="scope">{{ scope.row.linkUrl + '/' + scope.row.id }}</template>
-                </el-table-column>
+                                prop="user.username"
+                                label="学员姓名"></el-table-column>
                 <el-table-column align="center"
-                                prop="remark"
-                                label="手机号码">
-                    <template slot-scope="scope">{{ scope.row.status == 1 ? '是' : '否' }}</template>
-                </el-table-column>
-
+                                prop="user.phone"
+                                label="手机号码"></el-table-column>
                 <el-table-column align="center"
-                                prop="order"
+                                prop="user.organName"
                                 label="所属分部"></el-table-column>
                 <el-table-column align="center"
-                                prop="remark"
+                                prop="luckDrawPrize.name"
                                 label="奖项">
                 </el-table-column>
                 <el-table-column align="center"
-                                prop="remark"
+                                prop="createOn"
                                 label="抽奖时间">
                 </el-table-column>
             </el-table>
@@ -65,6 +81,7 @@
 
 <script>
 import pagination from "@/components/Pagination/index";
+import { getEmployeeOrgan } from '@/api/buildTeam'
 import { luckDrawLogList } from './api'
 import dayjs from 'dayjs';
 import cleanDeep from 'clean-deep';
@@ -72,11 +89,15 @@ export default {
     components: { pagination },
     data () {
         return {
+            time: null,
             searchForm: {
-                search: null,
-                organId: null
+                userId: null,
+                name: null,
+                startDate: null,
+                endDate: null
             },
             tableList: [],
+            organList: null,
             pageInfo: {
                 // 分页规则
                 limit: 10, // 限制显示条数
@@ -92,12 +113,31 @@ export default {
     },
     //生命周期 - 挂载完成(可以访问DOM元素)
     mounted () {
+        this.__init()
         this.getList()
     },
     activated () {
-
+        this.__init()
+        this.getList()
     },
     methods: {
+        __init() {
+            getEmployeeOrgan().then(res => {
+                if (res.code == 200) {
+                    this.organList = res.data;
+                }
+            })
+        },
+        onDateChange(value) {
+            console.log(value)
+            let searchForm = this.searchForm
+            searchForm.startDate = null
+            searchForm.endDate = null
+            if(value) {
+                searchForm.startDate = dayjs(value[0]).format('YYYY-MM-DD')
+                searchForm.endDate = dayjs(value[1]).format('YYYY-MM-DD') + ' 23:59:59'
+            }
+        },
         getList() {
             let params = Object.assign({}, this.searchForm)
             params.rows = this.pageInfo.limit

+ 176 - 0
src/views/luckyDraw/trophyCreate.vue

@@ -0,0 +1,176 @@
+<!--  -->
+<template>
+    <div>
+        <el-form :model="form"
+                :rules="rules"
+                ref="trophyForm">
+            <el-form-item label="所属活动" prop="groupId" label-width="100PX">
+                <el-select v-model.trim="form.groupId"
+                        style="width: 100% !important"
+                        placeholder="请选择所属活动">
+                    <el-option v-for="item in groupList" :key="item.id" :value="item.id" :label="item.name"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-row>
+                <el-col :span="10">
+                    <el-form-item label="奖品名称" prop="name" label-width="100PX">
+                        <el-input v-model.trim="form.name"
+                                autocomplete="off"
+                                placeholder="请输入奖品名称"></el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="7">
+                    <el-form-item prop="chances">
+                        <el-input v-model.trim="form.chances"
+                                type="number"
+                                autocomplete="off"
+                                placeholder="请输入中奖概率">
+                            <template slot="append">%</template>
+                        </el-input>
+                    </el-form-item>
+                </el-col>
+                <el-col :span="7">
+                    <el-form-item prop="stock">
+                        <el-input v-model.trim="form.stock"
+                                type="number"
+                                autocomplete="off"
+                                placeholder="请输入库存">
+                        </el-input>
+                    </el-form-item>
+                </el-col>
+            </el-row>
+            <!-- <div class="reword-list">
+                <el-form-item label="奖品名称" prop="name">
+                    <el-input v-model.trim="form.name"
+                            autocomplete="off"
+                            placeholder="请输入奖品名称"></el-input>
+                </el-form-item>
+                <el-form-item prop="chances">
+                    <el-input v-model.trim="form.chances"
+                            type="number"
+                            autocomplete="off"
+                            placeholder="请输入中奖概率">
+                        <template slot="append">%</template>
+                    </el-input>
+                </el-form-item>
+                <el-form-item prop="stock">
+                    <el-input v-model.trim="form.stock"
+                            type="number"
+                            autocomplete="off"
+                            placeholder="请输入库存">
+                    </el-input>
+                </el-form-item>
+            </div> -->
+            <el-form-item label="备注" label-width="100PX"
+                        prop="memo">
+                <el-input type="textarea" :rows="2" v-model.trim="form.memo"
+                        autocomplete="off"
+                        placeholder="请输入备注"></el-input>
+            </el-form-item>
+        </el-form>
+        <div class="dialog-footer">
+            <el-button @click="close">取 消</el-button>
+            <el-button type="primary" @click="onSubmit('ruleForm')">确 定</el-button>
+        </div>
+    </div>
+</template>
+
+<script>
+import Tooltip from '@/components/Tooltip/index'
+import pagination from "@/components/Pagination/index";
+import dayjs from 'dayjs';
+import cleanDeep from 'clean-deep';
+import { luckDrawPrizeAdd } from './api'
+export default {
+    components: { pagination, Tooltip, },
+    props: ['groupList', 'close', 'getList'],
+    data () {
+        return {
+            form: {
+                name: null,
+                groupId: null,
+                chances: null,
+                stock: null,
+                memo: null
+            },
+            rules: {
+                name: [{required: true, message:'请输入活动名称', trigger: 'blur'}],
+                groupId: [{required: true, message:'请选择所属活动', trigger: 'change'}],
+                chances: [{required: true, message:'请输入中奖概率', trigger: 'blur'}],
+                stock: [{required: true, message:'请输入库存', trigger: 'blur'}],
+                enabled: [{required: true, message:'请选择是否启用', trigger: 'change'}]
+            },
+            pageInfo: {
+                // 分页规则
+                limit: 10, // 限制显示条数
+                page: 1, // 当前页
+                total: 1, // 总条数
+                page_size: [10, 20, 40, 50] // 选择限制显示条数
+            }
+        };
+    },
+    //生命周期 - 挂载完成(可以访问DOM元素)
+    mounted () {
+    },
+    methods: {
+        onOperationTrophy(type, data) {
+            this.formActionTitle = type
+            if(type == 'update') {
+                this.$nextTick(() => {
+                    this.form = {
+                        id: data.id,
+                        name: data.name,
+                        groupId: data.groupId,
+                        chances: data.chances * 100,
+                        stock: data.stock,
+                        memo: data.memo
+                    }
+                })
+            }
+            this.lotteryStatus = true
+        },
+        onSubmit(formName) {
+            this.$refs[formName].validate(item => {
+                if(item) {
+                    console.log(this.form)
+                    let form = Object.assign({}, this.form)
+                    let params = {
+                        name: form.name,
+                        groupId: form.groupId,
+                        chances: form.chances ? form.chances / 100 : 0,
+                        stock: form.stock,
+                        memo: form.memo,
+                        enabled: 1
+                    }
+                    params.id = form.id
+                    luckDrawPrizeUpdate(params).then(res => {
+                        this.messageTips('修改', res)
+                    })
+                }
+            })
+        },
+        messageTips (title, res) {
+            if (res.code == 200) {
+                this.$message.success(title + '成功')
+                this.lotteryStatus = false
+                this.getList()
+            } else {
+                this.$message.error(res.msg)
+            }
+        }
+    }
+};
+</script>
+<style lang="less" scoped>
+.dialog-footer {
+    width: 100%;
+    text-align: right;
+}
+
+.reword-list {
+    display: flex;
+    .el-form-item {
+        flex: 1;
+    }
+}
+</style>

+ 66 - 36
src/views/luckyDraw/trophyManager.vue

@@ -10,15 +10,14 @@
                 class="searchForm"
                 v-model.trim="searchForm">
             <el-form-item>
-                <el-input v-model.trim="searchForm.search"
+                <el-input v-model.trim="searchForm.name"
                         placeholder="请输入奖品名称"></el-input>
             </el-form-item>
             <el-form-item>
                 <el-select v-model.trim="searchForm.groupId"
                         style="width: 100% !important"
                         placeholder="请选择所属活动">
-                    <el-option value="reg" label="未缴费"></el-option>
-                    <el-option value="pay" label="已缴费"></el-option>
+                    <el-option v-for="item in groupList" :key="item.id" :value="item.id" :label="item.name"></el-option>
                 </el-select>
             </el-form-item>
             <el-form-item>
@@ -33,14 +32,14 @@
                 <el-table-column align="center"
                                 prop="name"
                                 label="奖品名称"></el-table-column>
-                <el-table-column align="center"
+                <!-- <el-table-column align="center"
                                 prop="groupName"
-                                label="所属活动"></el-table-column>
+                                label="所属活动"></el-table-column> -->
                 <el-table-column align="center"
                                 prop="chances"
                                 label="中奖概率">
                     <template slot-scope="scope">
-                        {{ scope.row.chances }}%
+                        {{ scope.row.chances * 100 }}%
                     </template>
                 </el-table-column>
                 <el-table-column align="center"
@@ -54,19 +53,16 @@
                     </template>
                 </el-table-column>
                 <el-table-column align="center"
-                                prop="rewardType"
-                                label="奖品类型"></el-table-column>
-                <el-table-column align="center"
                                 prop="memo"
                                 label="备注">
                     <template slot-scope="scope">
-                        <tool-tip :content="scope.row.memo" />
+                        <tooltip :content="scope.row.memo" />
                     </template>
                 </el-table-column>
                 </el-table-column>
                 <el-table-column align="center" label="操作">
                     <template slot-scope="scope">
-                        <el-button @click="onOperationTrophy(scope.row)" v-permission="'luckDrawPrize/update'" type="text">修改</el-button>
+                        <el-button @click="onOperationTrophy('update', scope.row)" v-permission="'luckDrawPrize/update'" type="text">修改</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -78,13 +74,22 @@
         </div>
 
         <el-dialog :title="formTitle[formActionTitle]"
+                :visible.sync="lotteryCreateStatus"
+                @close="onFormClose('trophyForm')"
+                width="600px">
+            <trophy-create :groupList="groupList"
+                        :getList="getList"
+                        :close="onPopupClose"></trophy-create>
+        </el-dialog>
+
+        <el-dialog :title="formTitle[formActionTitle]"
                 :visible.sync="lotteryStatus"
-                @close="onFormClose('ruleForm')"
+                @close="onFormClose('trophyForm')"
                 width="500px">
             <el-form :model="form"
                     :rules="rules"
                     label-width="100PX"
-                    ref="ruleForm">
+                    ref="trophyForm">
                 <el-form-item label="奖品名称"
                             prop="name">
                 <el-input v-model.trim="form.name"
@@ -95,8 +100,7 @@
                     <el-select v-model.trim="form.groupId"
                             style="width: 100% !important"
                             placeholder="请选择所属活动">
-                        <el-option value="reg" label="未缴费"></el-option>
-                        <el-option value="pay" label="已缴费"></el-option>
+                        <el-option v-for="item in groupList" :key="item.id" :value="item.id" :label="item.name"></el-option>
                     </el-select>
                 </el-form-item>
                 <el-form-item label="中奖概率"
@@ -135,17 +139,17 @@
 <script>
 import Tooltip from '@/components/Tooltip/index'
 import pagination from "@/components/Pagination/index";
+import trophyCreate from './trophyCreate'
 import dayjs from 'dayjs';
 import cleanDeep from 'clean-deep';
-import { luckDrawPrizeList, luckDrawPrizeAdd, luckDrawPrizeUpdate } from './api'
+import { luckDrawPrizeList, luckDrawPrizeAdd, luckDrawPrizeUpdate, luckDrawGroupFindAll } from './api'
 export default {
-    components: { pagination, Tooltip, },
+    components: { pagination, Tooltip, trophyCreate },
     data () {
         return {
             searchForm: {
-                search: null,
-                groupId: null,
-                enabled: null
+                name: null,
+                groupId: null
             },
             formTitle: {
                 create: "添加奖品",
@@ -153,7 +157,9 @@ export default {
             },
             formActionTitle: 'create',
             lotteryStatus: false,
+            lotteryCreateStatus: false,
             tableList: [],
+            groupList: [],
             form: {
                 name: null,
                 groupId: null,
@@ -182,17 +188,42 @@ export default {
         // 设置默认为当前周
     },
     //生命周期 - 挂载完成(可以访问DOM元素)
-    mounted () {
-        this.getList()
+    async mounted () {
+        await this.__init()
     },
-    activated () {
-        // this.getList()
+    async activated () {
+        await this.__init()
     },
     methods: {
+        async __init() {
+            const query = this.$route.query
+            await luckDrawGroupFindAll({ page: 1, rows: 9999 }).then(res => {
+                const result = res.data
+                if(res.code == 200) {
+                    this.groupList = result?.length > 0 ? result : []
+                    this.searchForm.groupId = query.groupId ? Number(query.groupId) : this.groupList[0]?.id
+                }
+            })
+
+            this.getList()
+        },
         onOperationTrophy(type, data) {
             this.formActionTitle = type
-
-            this.lotteryStatus = true
+            if(type == 'update') {
+                this.$nextTick(() => {
+                    this.form = {
+                        id: data.id,
+                        name: data.name,
+                        groupId: data.groupId,
+                        chances: data.chances * 100,
+                        stock: data.stock,
+                        memo: data.memo
+                    }
+                })
+                this.lotteryStatus = true
+            } else if(type == 'create') {
+                this.lotteryCreateStatus = true
+            }
         },
         onSubmit(formName) {
             this.$refs[formName].validate(item => {
@@ -202,7 +233,7 @@ export default {
                     let params = {
                         name: form.name,
                         groupId: form.groupId,
-                        chances: form.chances,
+                        chances: form.chances ? form.chances / 100 : 0,
                         stock: form.stock,
                         memo: form.memo,
                         enabled: 1
@@ -220,10 +251,16 @@ export default {
                 }
             })
         },
+        onPopupClose() {
+            this.lotteryCreateStatus = false
+        },
+        onFormClose(formName) {
+            this.$refs[formName].resetFields()
+        },
         messageTips (title, res) {
             if (res.code == 200) {
                 this.$message.success(title + '成功')
-                this.branchStatus = false
+                this.lotteryStatus = false
                 this.getList()
             } else {
                 this.$message.error(res.msg)
@@ -242,11 +279,4 @@ export default {
         }
     }
 };
-</script>
-<style lang='scss' scoped>
-.micon {
-  position: absolute;
-  top: 3px;
-  right: 2px;
-}
-</style>
+</script>