wangqiang 2 vuotta sitten
vanhempi
commit
abb7a1553f

+ 25 - 0
src/api/luckyDraw/LuckyDrawInfoService.js

@@ -0,0 +1,25 @@
+import request from '@/utils/httpRequest'
+
+export default class LuckyDrawInfoService {
+  save (param) {
+    return request({
+      url: '/luckyDraw/info/luckyDraw',
+      method: 'post',
+      data: param
+    })
+  }
+  findByEventId (id) {
+    return request({
+      url: '/luckyDraw/info/findByEventId',
+      method: 'get',
+      params: {id: id}
+    })
+  }
+  list (params) {
+    return request({
+      url: '/luckyDraw/info/list',
+      method: 'get',
+      params: params
+    })
+  }
+}

+ 5 - 0
src/views/modules/luckyDraw/LuckyDrawEventsList.vue

@@ -66,6 +66,7 @@
               <el-button v-if="hasPermission('lucky_draw:events:edit')" type="text" size="small" @click="changeSwitch(scope.row)">
               <el-button v-if="hasPermission('lucky_draw:events:edit')" type="text" size="small" @click="changeSwitch(scope.row)">
                 {{scope.row.switchFlag === '1' ? '关闭活动' : '开启活动'}}
                 {{scope.row.switchFlag === '1' ? '关闭活动' : '开启活动'}}
               </el-button>
               </el-button>
+              <el-button v-if="hasPermission('lucky_draw:events:edit')" type="text" size="small" @click="luckyDraw(scope.row.id)">抽奖</el-button>
               <el-button v-if="hasPermission('lucky_draw:events:del')" type="text" size="small" @click="del(scope.row.id)">删除</el-button>
               <el-button v-if="hasPermission('lucky_draw:events:del')" type="text" size="small" @click="del(scope.row.id)">删除</el-button>
 
 
             </template>
             </template>
@@ -206,6 +207,10 @@
             this.loading = false
             this.loading = false
           })
           })
         })
         })
+      },
+      luckyDraw (id) {
+        console.log('id', id)
+        this.$router.push({path: './LuckyDrawInfoList', query: {id: id}})
       }
       }
     }
     }
   }
   }

+ 209 - 0
src/views/modules/luckyDraw/LuckyDrawInfoList.vue

@@ -0,0 +1,209 @@
+<template>
+  <div class="page">
+    <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
+      <el-form-item prop="awardsName">
+        <el-input size="small" v-model="searchForm.awardsName" placeholder="奖项名称" clearable></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button  type="primary" @click="refreshList()" size="small" icon="el-icon-search">查询</el-button>
+        <el-button @click="resetSearch()" size="small" icon="el-icon-refresh-right">重置</el-button>
+      </el-form-item>
+    </el-form>
+    <div class="bg-white top">
+      <vxe-toolbar   :refresh="{query: refreshList}" custom>
+        <template #buttons>
+          <el-button v-if="hasPermission('lucky_draw:events:add')" icon="el-icon-plus" type="primary" size="small"  @click="add()">新建</el-button>
+          <el-button v-if="hasPermission('lucky_draw:events:del')" icon="el-icon-delete" type="danger"  size="small"  @click="del()" :disabled="$refs.luckyTable && $refs.luckyTable.getCheckboxRecords().length === 0" plain>删除</el-button>
+        </template>
+      </vxe-toolbar>
+      <div style="height: calc(100% - 80px);">
+        <vxe-table
+          border="inner"
+          auto-resize
+          resizable
+          height="auto"
+          :loading="loading"
+          size="small"
+          ref="luckyTable"
+          show-header-overflow
+          show-overflow
+          highlight-hover-row
+          :print-config="{}"
+          :import-config="{}"
+          :export-config="{}"
+          :sort-config="{remote:true}"
+          :data="dataList"
+          :expand-config="{iconOpen: 'el-icon-caret-top', iconClose: 'el-icon-caret-right', accordion: true}"
+        >
+          <vxe-column type="seq" width="60" title="序号"></vxe-column>
+          <vxe-column type="checkbox"  width="40px"></vxe-column>
+          <vxe-column min-width="150" title="奖项名称" type="expand" field="awardsName" align="left">
+            <template #default="{ row, rowIndex }">
+              <span>{{ row.awardsName }}</span>
+            </template>
+            <template #content="{ row, rowIndex }">
+              <div class="expand-wrapper">
+                <vxe-table
+                  border
+                  :data="row.luckyDrawMembersDtos">
+                  <vxe-column field="name" title="姓名" align="center"></vxe-column>
+                  <vxe-column field="officeName" title="部门" align="center"></vxe-column>
+                  <vxe-column field="phone" title="手机号" align="center"></vxe-column>
+                </vxe-table>
+              </div>
+            </template>
+          </vxe-column>
+          <vxe-column min-width="180" title="奖品名称" field="prizeName" align="left"></vxe-column>
+          <vxe-column min-width="180" title="奖品数量" field="number" align="left"></vxe-column>
+          <vxe-column width="90" title="状态" field="switchFlag" align="center">
+            <template slot-scope="scope">
+              <span v-if="scope.row.switchFlag === '1'" style="color: #67C23A">已开启</span>
+              <span v-if="scope.row.switchFlag === '0'" style="color: #F56C6C">已关闭</span>
+            </template>
+          </vxe-column>
+          <vxe-column title="操作" width="200" fixed="right" align="center">
+            <template slot-scope="scope">
+              <el-button v-if="hasPermission('lucky_draw:events:edit')" type="text" size="small" @click="luckyDraw(scope.row.eventsId,scope.row.number,scope.row.id())">抽奖</el-button>
+<!--              <el-button v-if="hasPermission('lucky_draw:events:del')" type="text" size="small" @click="del(scope.row.id)">删除</el-button>-->
+
+            </template>
+          </vxe-column>
+        </vxe-table>
+        <vxe-pager
+          background
+          size="small"
+          :current-page="tablePage.currentPage"
+          :page-size="tablePage.pageSize"
+          :total="tablePage.total"
+          :page-sizes="[10, 20, 100, 1000, {label: '全量数据', value: 1000000}]"
+          :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
+          @page-change="currentChangeHandle">
+        </vxe-pager>
+      </div>
+      <!-- 弹窗, 新增 / 修改 -->
+      <LuckyDrawEventsForm  ref="luckyDrawEventsForm" @refreshDataList="refreshList"></LuckyDrawEventsForm>
+    </div>
+  </div>
+</template>
+
+<script>
+  import LuckyDrawEventsForm from './LuckyDrawEventsForm'
+  import LuckyDrawEventsService from '@/api/luckyDraw/LuckyDrawEventsService'
+  import LuckyDrawInfoService from '@/api/luckyDraw/LuckyDrawInfoService'
+
+  export default {
+    data () {
+      return {
+        searchForm: {
+          id: '',
+          awardsName: ''
+        },
+        dataList: [],
+        tablePage: {
+          total: 0,
+          currentPage: 1,
+          pageSize: 10,
+          orders: []
+        },
+        loading: false
+      }
+    },
+    components: {
+      LuckyDrawEventsForm
+    },
+    luckyDrawEventsService: null,
+    luckyDrawInfoService: null,
+    created () {
+      this.luckyDrawEventsService = new LuckyDrawEventsService()
+      this.luckyDrawInfoService = new LuckyDrawInfoService()
+    },
+    activated () {
+      this.refreshList()
+    },
+    watch: {
+    },
+    methods: {
+      // 获取数据列表
+      refreshList () {
+        this.searchForm.id = this.$route.query.id
+        console.log('this.$route.query.id', this.$route.query.id)
+        this.loading = true
+        this.luckyDrawInfoService.list({
+          'current': this.tablePage.currentPage,
+          'size': this.tablePage.pageSize,
+          'orders': this.tablePage.orders,
+          ...this.searchForm
+        }).then(({data}) => {
+          this.dataList = data.records
+          this.tablePage.total = data.total
+          this.loading = false
+        })
+      },
+      // findByEventId () {
+      //   let id = this.$route.query.id
+      //   this.luckyDrawEventsService.findByEventId(id).then(({data}) => {
+      //     this.dataList = data.records
+      //   })
+      // },
+      // 当前页
+      currentChangeHandle ({ currentPage, pageSize }) {
+        this.tablePage.currentPage = currentPage
+        this.tablePage.pageSize = pageSize
+        this.refreshList()
+      },
+      // 新建
+      add () {
+        this.$refs.luckyDrawEventsForm.init('add')
+      },
+      // 修改
+      // edit (id) {
+      //   id = id || this.$refs.luckyTable.getCheckboxRecords().map(item => {
+      //     return item.id
+      //   })[0]
+      //   this.$refs.luckyDrawEventsForm.init('edit', id)
+      // },
+      // 抽奖
+      luckyDraw (id, number, awardId) {
+        let param = {id: id, number: number, awardId: awardId}
+        this.luckyDrawEventsService.save(param)
+        // this.refreshList()
+      },
+      // 查看
+      view (id) {
+        this.$refs.luckyDrawEventsForm.init('view', id)
+      },
+      resetSearch () {
+        this.$refs.searchForm.resetFields()
+        this.refreshList()
+      }
+      // 删除
+      // del (id) {
+      //   let ids = id || this.$refs.luckyTable.getCheckboxRecords().map(item => {
+      //     return item.id
+      //   }).join(',')
+      //   this.$confirm(`确定删除所选项吗?`, '提示', {
+      //     confirmButtonText: '确定',
+      //     cancelButtonText: '取消',
+      //     type: 'warning'
+      //   }).then(() => {
+      //     this.loading = true
+      //     this.luckyDrawEventsService.delete(ids).then(({data}) => {
+      //       this.$message.success(data)
+      //       this.refreshList()
+      //       this.loading = false
+      //     })
+      //   })
+      // }
+    }
+  }
+</script>
+<style lang="scss">
+  .el-card__body {
+    overflow: auto;
+  }
+</style>
+<style>
+  .expand-wrapper {
+    padding: 10px;
+  }
+</style>

+ 71 - 65
src/views/modules/luckyDraw/LuckyDrawMemberList.vue

@@ -2,25 +2,24 @@
   <div class="page">
   <div class="page">
     <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
     <el-form size="small" :inline="true" class="query-form" ref="searchForm" :model="searchForm" @keyup.enter.native="refreshList()" @submit.native.prevent>
       <!-- 搜索框-->
       <!-- 搜索框-->
-<!--      <el-form-item label="入库编号" prop="wareHouseNumber">-->
-<!--        <el-input size="small" v-model="searchForm.wareHouseNumber" placeholder="请输入入库编号" clearable></el-input>-->
-<!--      </el-form-item>-->
-      <el-form-item label="商品名称" prop="tradeName">
-        <el-input size="small" v-model="searchForm.tradeName" placeholder="请输入商品名称" clearable></el-input>
+      <el-form-item label="活动" prop="eventId">
+        <el-input size="small" v-model="searchForm.eventId" placeholder="请输入活动名称" clearable></el-input>
       </el-form-item>
       </el-form-item>
-      <el-form-item label="入库类型" prop="wareHouseType">
-        <SelectTree
-          ref="areaTree"
-          :props="{
-                  value: 'id',             // ID字段名
-                  label: 'name',         // 显示名称
-                  children: 'children'    // 子级字段名
-                }"
-          url="/material/materialType/summaryTreeData?type=last"
-          :value="searchForm.wareHouseType"
-          :clearable="true"
-          :accordion="true"
-          @getValue="(value, label) => {searchForm.wareHouseType=value}"/>
+      <el-form-item label="姓名" prop="name">
+        <el-input size="small" v-model="searchForm.name" placeholder="请输入姓名" clearable></el-input>
+      </el-form-item>
+      <el-form-item label="手机号" prop="phone">
+        <el-input size="small" v-model="searchForm.phone" placeholder="请输入手机号" clearable></el-input>
+      </el-form-item>
+      <el-form-item label="部门" prop="officeName">
+        <el-select v-model="searchForm.officeName" placeholder="请选择是否收款" clearable>
+          <el-option label="工程一部" value="工程一部"></el-option>
+          <el-option label="工程二部" value="工程二部"></el-option>
+          <el-option label="工程三部" value="工程三部"></el-option>
+          <el-option label="工程四部" value="工程四部"></el-option>
+          <el-option label="工程五部" value="工程五部"></el-option>
+          <el-option label="其他" value="其他"></el-option>
+        </el-select>
       </el-form-item>
       </el-form-item>
 
 
       <el-form-item>
       <el-form-item>
@@ -48,19 +47,25 @@
           :data="dataList"
           :data="dataList"
           :checkbox-config="{}">
           :checkbox-config="{}">
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
           <vxe-column type="seq" width="60" title="序号"></vxe-column>
-          <vxe-column min-width="160" align="center" title="入库类型" field="wareHouseTypeName"></vxe-column>
-          <vxe-column min-width="160" align="center" title="商品名称" field="tradeName">
-            <template slot-scope="scope">
-              <el-link  type="primary" :underline="false" v-if="hasPermission('material:list')" @click="view(scope.row.tradeName)">{{scope.row.tradeName}}</el-link>
-              <el-link  type="primary" :underline="false" v-else-if="hasPermission('material:list')"  @click="view(scope.row.tradeName,)">{{scope.row.tradeName}}</el-link>
-              <span v-else>{{scope.row.tradeName}}</span>
+          <vxe-column min-width="160" align="center" title="活动" field="eventName"></vxe-column>
+          <vxe-column min-width="160" align="center" title="姓名" field="name"></vxe-column>
+          <vxe-column min-width="160" align="center" title="手机号" field="phone"></vxe-column>
+          <vxe-column min-width="160" align="center" title="部门" field="officeName">
+<!--            <template slot-scope="scope">-->
+<!--              <span v-if="scope.row.officeName === '1'">工程一部</span>-->
+<!--              <span v-if="scope.row.officeName === '2'">工程二部</span>-->
+<!--              <span v-if="scope.row.officeName === '3'">工程三部</span>-->
+<!--              <span v-if="scope.row.officeName === '4'">工程四部</span>-->
+<!--              <span v-if="scope.row.officeName === '5'">工程五部</span>-->
+<!--              <span v-if="scope.row.officeName === '6'">其他</span>-->
+<!--            </template>-->
+          </vxe-column>
+          <vxe-column title="操作" width="120px" fixed="right" align="center">
+            <template  slot-scope="scope">
+              <el-button v-if="hasPermission('luckyDraw:member:edit')&&scope.row.createBy === $store.state.user.id" type="text"  size="small" @click="edit(scope.row.id)">修改</el-button>
+              <el-button v-if="hasPermission('luckyDraw:member:del')&&scope.row.createBy === $store.state.user.id" type="text"   size="small" @click="del(scope.row.id)">删除</el-button>
             </template>
             </template>
           </vxe-column>
           </vxe-column>
-          <vxe-column min-width="160" align="center" title="总量" field="allNumber"></vxe-column>
-          <vxe-column min-width="160" align="center" title="领用量" field="borrowNumber"></vxe-column>
-          <vxe-column min-width="160" align="center" title="剩余量" field="tradeNumber"></vxe-column>
-          <vxe-column min-width="160" align="center" title="单位" field="company"></vxe-column>
-
         </vxe-table>
         </vxe-table>
         <vxe-pager
         <vxe-pager
           background
           background
@@ -72,20 +77,18 @@
           :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
           :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
           @page-change="currentChangeHandle">
           @page-change="currentChangeHandle">
         </vxe-pager>
         </vxe-pager>
+        <LuckyDrawMemberUpdateForm ref="luckyDrawMemberUpdateForm" @refreshList="refreshList"></LuckyDrawMemberUpdateForm>
       </div>
       </div>
     </div>
     </div>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
+  import LuckyDrawMemberUpdateForm from './LuckyDrawMemberUpdateForm'
   import UserSelect from '@/components/userSelect'
   import UserSelect from '@/components/userSelect'
   import InputNumber from '@/views/modules/cw/workContract/InputNumber.vue'
   import InputNumber from '@/views/modules/cw/workContract/InputNumber.vue'
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
   import SelectTree from '@/components/treeSelect/treeSelect.vue'
-  import WorkClientService from '@/api/cw/workClientInfo/WorkClientService'
-  import MaterialManagementService from '@/api/materialManagement/MaterialManagementService'
-  import WareHouseService from '@/api/materialManagement/WareHouseService'
-  import TaskService from '@/api/flowable/TaskService'
-  import ProcessService from '@/api/flowable/ProcessService'
+  import LuckyDrawMemberService from '@/api/luckyDraw/LuckyDrawMemberService'
   import UserService from '@/api/sys/UserService'
   import UserService from '@/api/sys/UserService'
   import SelectUserTree from '@/views/modules/utils/treeUserSelect'
   import SelectUserTree from '@/views/modules/utils/treeUserSelect'
   export default {
   export default {
@@ -93,14 +96,10 @@
       return {
       return {
         num: 0,
         num: 0,
         searchForm: {
         searchForm: {
-          wareHouseType: '',
-          tradeName: '',
-          wareHouseNumber: '',
-          wareHouseMan: '',
-          wareHouseManOffice: '',
-          wareHouseDates: [],
-          procurementType: '',
-          createBy: ''
+          eventId: '',
+          officeName: '',
+          phone: '',
+          name: ''
         },
         },
         dataList: [],
         dataList: [],
         tablePage: {
         tablePage: {
@@ -117,25 +116,18 @@
         create: ''
         create: ''
       }
       }
     },
     },
-    workClientService: null,
-    materialManagementService: null,
-    wareHouseService: null,
-    taskService: null,
-    processService: null,
+    luckyDrawMemberService: null,
     userService: null,
     userService: null,
     created () {
     created () {
-      this.workClientService = new WorkClientService()
-      this.materialManagementService = new MaterialManagementService()
-      this.wareHouseService = new WareHouseService()
-      this.taskService = new TaskService()
-      this.processService = new ProcessService()
+      this.luckyDrawMemberService = new LuckyDrawMemberService()
       this.userService = new UserService()
       this.userService = new UserService()
     },
     },
     components: {
     components: {
       UserSelect,
       UserSelect,
       InputNumber,
       InputNumber,
       SelectUserTree,
       SelectUserTree,
-      SelectTree
+      SelectTree,
+      LuckyDrawMemberUpdateForm
     },
     },
     computed: {
     computed: {
       userName () {
       userName () {
@@ -153,11 +145,6 @@
       this.refreshList()
       this.refreshList()
     },
     },
     methods: {
     methods: {
-      // 查看
-      view (tradeName) {
-        // this.$refs.wareHouseHistoryPopup.init()
-        this.$refs.wareHouseHistory.init(tradeName)
-      },
       // 查询当前用户是否是管理员用户
       // 查询当前用户是否是管理员用户
       checkIsAdmin () {
       checkIsAdmin () {
         this.userService.is().then(({data}) => {
         this.userService.is().then(({data}) => {
@@ -167,7 +154,7 @@
       // 获取数据列表
       // 获取数据列表
       refreshList () {
       refreshList () {
         this.loading = true
         this.loading = true
-        this.wareHouseService.wareHouseSummaryList({
+        this.luckyDrawMemberService.list({
           'current': this.tablePage.currentPage,
           'current': this.tablePage.currentPage,
           'size': this.tablePage.pageSize,
           'size': this.tablePage.pageSize,
           'orders': this.tablePage.orders,
           'orders': this.tablePage.orders,
@@ -179,12 +166,6 @@
           this.loading = false
           this.loading = false
         })
         })
         this.checkIsAdmin()
         this.checkIsAdmin()
-        this.processService.getByName('物资管理-采购申请').then(({data}) => {
-          if (!this.commonJS.isEmpty(data.id)) {
-            this.processDefinitionAuditId = data.id
-            this.procDefAuditKey = data.key
-          }
-        })
       },
       },
       // 当前页
       // 当前页
       currentChangeHandle ({ currentPage, pageSize }) {
       currentChangeHandle ({ currentPage, pageSize }) {
@@ -203,6 +184,31 @@
       resetSearch () {
       resetSearch () {
         this.$refs.searchForm.resetFields()
         this.$refs.searchForm.resetFields()
         this.refreshList()
         this.refreshList()
+      },
+      // 修改
+      edit (id) {
+        id = id || this.$refs.clientTable.getCheckboxRecords().map(item => {
+          return item.id
+        })[0]
+        this.$refs.luckyDrawMemberUpdateForm.init('edit', id)
+      },
+      // 删除
+      del (id) {
+        let ids = id || this.$refs.clientTable.getCheckboxRecords().map(item => {
+          return item.id
+        }).join(',')
+        this.$confirm(`确定删除所选项吗?`, '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          type: 'warning'
+        }).then(() => {
+          this.loading = true
+          this.luckyDrawMemberService.remove(ids).then(({data}) => {
+            this.$message.success(data)
+            this.refreshList()
+            this.loading = false
+          })
+        })
       }
       }
     }
     }
   }
   }

+ 190 - 0
src/views/modules/luckyDraw/LuckyDrawMemberUpdateForm.vue

@@ -0,0 +1,190 @@
+<template>
+  <div>
+    <el-dialog
+      :title="title"
+      :close-on-click-modal="false"
+      v-dialogDrag
+      width="1500px"
+      @close="close"
+      @keyup.enter.native="doSubmit"
+      :visible.sync="visible">
+      <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="method==='view'"
+               label-width="100px" @submit.native.prevent>
+        <el-row :gutter="26">
+          <el-col :span="12">
+            <el-form-item label="活动" prop="eventName">
+              <el-input placeholder="活动" v-model="inputForm.eventName" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="姓名" prop="name">
+              <el-input placeholder="姓名" v-model="inputForm.name"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="手机号" prop="phone">
+              <el-input placeholder="手机号" v-model="inputForm.phone"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="部门" prop="officeName">
+              <el-select v-model="inputForm.officeName" size="small" placeholder="请选择"  style="width: 100%;">
+                <el-option
+                  v-for="(item, index) in  columnTypes"
+                  :key="index"
+                  :label="item.label"
+                  :value="item.value">
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+      </el-form>
+      <!-- 附件 -->
+      <span slot="footer" class="dialog-footer">
+      <el-button size="small" @click="close()" icon="el-icon-circle-close">关闭</el-button>
+      <el-button size="small" type="primary" v-if="method !== 'view'" @click="doSubmit()" icon="el-icon-circle-check" v-noMoreClick>确定</el-button>
+    </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+  import CollectService from '@/api/materialManagement/CollectService'
+  import LuckyDrawMemberService from '@/api/luckyDraw/LuckyDrawMemberService'
+  import SelectTree from '@/components/treeSelect/treeSelect.vue'
+  import MaterialManagementService from '@/api/materialManagement/MaterialManagementService'
+  export default {
+    data () {
+      return {
+        title: '',
+        method: '',
+        visible: false,
+        loading: false,
+        columnTypes: [
+          {
+            label: '工程一部',
+            value: '工程一部'
+          },
+          {
+            label: '工程二部',
+            value: '工程二部'
+          },
+          {
+            label: '工程三部',
+            value: '工程三部'
+          },
+          {
+            label: '工程四部',
+            value: '工程四部'
+          },
+          {
+            label: '工程五部',
+            value: '工程五部'
+          },
+          {
+            label: '其他',
+            value: '其他'
+          }
+        ],
+        inputForm: {
+          id: '',
+          officeName: '',
+          eventName: '',
+          phone: '',
+          name: ''
+        }
+      }
+    },
+    CollectService: null,
+    LuckyDrawMemberService: null,
+    MaterialManagementService: null,
+    created () {
+      this.collectService = new CollectService()
+      this.luckyDrawMemberService = new LuckyDrawMemberService()
+      this.materialManagementService = new MaterialManagementService()
+    },
+    props: {
+      businessId: {
+        type: String,
+        default: ''
+      },
+      formReadOnly: {
+        type: Boolean,
+        default: false
+      },
+      status: {
+        type: String,
+        default: ''
+      }
+    },
+    components: {
+      SelectTree
+    },
+    computed: {
+      bus: {
+        get () {
+          return this.businessId
+        },
+        set (val) {
+          this.businessId = val
+        }
+      }
+    },
+    methods: {
+      init (method, id) {
+        this.method = method
+        this.inputForm = {
+          id: '',
+          officeName: '',
+          eventName: '',
+          phone: '',
+          name: ''
+        }
+        if (method === 'add') {
+          this.title = `新建人员信息`
+        } else if (method === 'edit') {
+          this.inputForm.id = id
+          this.title = '修改人员信息'
+        } else if (method === 'view') {
+          this.inputForm.id = id
+          this.title = '查看人员信息'
+        }
+        this.visible = true
+        this.loading = false
+        this.$nextTick(() => {
+          if (method === 'edit' || method === 'view') { // 修改或者查看
+            this.loading = true
+            this.$refs.inputForm.resetFields()
+            this.luckyDrawMemberService.findById(this.inputForm.id).then(({data}) => {
+              this.inputForm = this.recover(this.inputForm, data)
+              this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
+              this.loading = false
+            })
+          }
+        })
+      },
+      // 表单提交
+      doSubmit () {
+        this.$refs['inputForm'].validate((valid) => {
+          if (valid) {
+            this.loading = true
+            this.luckyDrawMemberService.save(this.inputForm).then(({data}) => {
+              this.$emit('refreshList')
+              this.loading = false
+              this.close()
+            }).catch(() => {
+              // this.$refs.inputForm.resetFields()
+              this.loading = false
+            })
+          }
+        })
+      },
+      close () {
+        this.$refs.inputForm.resetFields()
+        this.visible = false
+      }
+    }
+  }
+</script>