Merge remote-tracking branch 'origin/build' into build
This commit is contained in:
		| @@ -83,6 +83,13 @@ | ||||
|             <el-form-item prop="round4ActiveLimit" label="第四轮抽奖限制日活天数" :rules="[{required: true, message: '请输入', trigger: 'change'}]"> | ||||
|               <el-input-number size="small" v-model="form.round4ActiveLimit" :min="1"></el-input-number> | ||||
|             </el-form-item> | ||||
|             <el-form-item style="width: 100%;" prop="wxQrcode" label="微信插件二维码" :rules="[{required: true, message: '请上传', trigger: 'change'}]"> | ||||
|               <ai-uploader | ||||
|                 :instance="instance" | ||||
|                 v-model="form.wxQrcode" | ||||
|                 :limit="1"> | ||||
|               </ai-uploader> | ||||
|             </el-form-item> | ||||
|             <div> | ||||
|               <el-form-item :label="'奖品' + (index + 1)" style="width: 100%;" v-for="(item, index) in form.prizes" :key="'prizes' + (index + 1)"> | ||||
|                 <div> | ||||
| @@ -92,7 +99,7 @@ | ||||
|                       <el-input size="small" style="width: 265px;" placeholder="请输入奖品名称" v-model="item.name"></el-input> | ||||
|                     </div> | ||||
|                     <div class="prize-item"> | ||||
|                       <span>中奖名称:</span> | ||||
|                       <span>中奖规则:</span> | ||||
|                       <el-input size="small" style="width: 265px;" placeholder="指定第x个抽奖的人中奖,多个逗号隔开" v-model="item.rule"></el-input> | ||||
|                     </div> | ||||
|                     <div class="prize-item"> | ||||
| @@ -104,7 +111,7 @@ | ||||
|                       <el-input-number size="small" v-model="item.showIndex" :min="1"></el-input-number> | ||||
|                     </div> | ||||
|                     <div class="prize-item"> | ||||
|                       <span>奖品排序:</span> | ||||
|                       <span>开放轮次:</span> | ||||
|                       <el-radio-group v-model="item.belongRound"> | ||||
|                         <el-radio :label="1">第一轮</el-radio> | ||||
|                         <el-radio :label="2">第二轮</el-radio> | ||||
| @@ -174,6 +181,7 @@ | ||||
|           round2ActiveLimit: '', | ||||
|           round3ActiveLimit: '', | ||||
|           round4ActiveLimit: '', | ||||
|           wxQrcode: [], | ||||
|           prizes: [] | ||||
|         }, | ||||
|         id: '' | ||||
| @@ -197,6 +205,9 @@ | ||||
|           if (res.code === 0) { | ||||
|             this.form = res.data | ||||
|  | ||||
|             this.form.wxQrcode = [{ | ||||
|               url: res.data.wxQrcode | ||||
|             }] | ||||
|             if (res.data.prizes.length) { | ||||
|               this.form.prizes = res.data.prizes.map(v => { | ||||
|                 return { | ||||
| @@ -233,6 +244,7 @@ | ||||
|             this.instance.post(`/app/appmarketingactivityinfo/addOrUpdate`, { | ||||
|               ...this.form, | ||||
|               id: this.params.id || '', | ||||
|               wxQrcode: this.form.wxQrcode[0].url, | ||||
|               prizes: this.form.prizes.map(v => { | ||||
|                 return { | ||||
|                   ...v, | ||||
|   | ||||
| @@ -1,44 +1,108 @@ | ||||
| <template> | ||||
|   <ai-detail class="detail"> | ||||
|   <ai-detail isHasSidebar class="AppMarketingActivity-detail"> | ||||
|     <template slot="title"> | ||||
|       <ai-title title="活动详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)"> | ||||
|       </ai-title> | ||||
|     </template> | ||||
|     <template slot="content"> | ||||
|       <ai-card title="基本信息"> | ||||
|         <template #content> | ||||
|           <ai-wrapper | ||||
|             label-width="120px"> | ||||
|             <ai-info-item label="活动标题" :value="info.title"></ai-info-item> | ||||
|             <ai-info-item label="活动内容" isLine> | ||||
|               <AiArticle :value="info.content"></AiArticle> | ||||
|             </ai-info-item> | ||||
|             <ai-info-item label="附件" isLine> | ||||
|               <AiFileList :fileList="info.files"></AiFileList> | ||||
|             </ai-info-item> | ||||
|           </ai-wrapper> | ||||
|         </template> | ||||
|       </ai-card> | ||||
|       <ai-card title="报名列表"> | ||||
|         <template #content> | ||||
|           <ai-table | ||||
|             :tableData="tableData" | ||||
|             :col-configs="colConfigs" | ||||
|             :total="total" | ||||
|             style="margin-top: 6px;" | ||||
|             :current.sync="search.current" | ||||
|             :size.sync="search.size" | ||||
|             @getList="getList"> | ||||
|             <!-- <el-table-column slot="options" width="90px" fixed="right" label="操作" align="center"> | ||||
|               <template slot-scope="{ row }"> | ||||
|                 <div class="table-options"> | ||||
|                   <el-button type="text" @click="toAdd(row.id)">编辑</el-button> | ||||
|                 </div> | ||||
|               </template> | ||||
|             </el-table-column> --> | ||||
|           </ai-table> | ||||
|         </template> | ||||
|       </ai-card> | ||||
|       <AiSidebar :tabTitle="tabList" v-model="currIndex"></AiSidebar> | ||||
|       <div v-show="currIndex === 0"> | ||||
|         <ai-card title="基本信息"> | ||||
|           <template #content> | ||||
|             <ai-wrapper | ||||
|               label-width="180px"> | ||||
|               <ai-info-item label="活动标题" isLine :value="info.title"></ai-info-item> | ||||
|               <ai-info-item label="开始时间" :value="info.beginTime"></ai-info-item> | ||||
|               <ai-info-item label="结束时间" :value="info.endTime"></ai-info-item> | ||||
|               <ai-info-item label="第一轮抽奖开始时间" :value="info.beginTime1"></ai-info-item> | ||||
|               <ai-info-item label="第一轮抽奖限制日活天数" :value="info.round1ActiveLimit"></ai-info-item> | ||||
|               <ai-info-item label="第二轮抽奖开始时间" :value="info.beginTime2"></ai-info-item> | ||||
|               <ai-info-item label="第二轮抽奖限制日活天数" :value="info.round2ActiveLimit"></ai-info-item> | ||||
|               <ai-info-item label="第三轮抽奖开始时间" :value="info.beginTime3"></ai-info-item> | ||||
|               <ai-info-item label="第三轮抽奖限制日活天数" :value="info.round3ActiveLimit"></ai-info-item> | ||||
|               <ai-info-item label="第四轮抽奖开始时间" :value="info.beginTime4"></ai-info-item> | ||||
|               <ai-info-item label="第四轮抽奖限制日活天数" :value="info.round4ActiveLimit"></ai-info-item> | ||||
|               <ai-info-item label="微信插件二维码" :value="info.round4ActiveLimit"> | ||||
|                 <ai-uploader | ||||
|                   :instance="instance" | ||||
|                   disabled | ||||
|                   :value="[{ | ||||
|                     url: info.wxQrcode | ||||
|                   }]" | ||||
|                   :limit="1"> | ||||
|                 </ai-uploader> | ||||
|               </ai-info-item> | ||||
|             </ai-wrapper> | ||||
|           </template> | ||||
|         </ai-card> | ||||
|         <ai-card title="奖品"> | ||||
|           <template #content> | ||||
|             <ai-wrapper | ||||
|               class="prize-item" | ||||
|               v-for="(item, key) in info.prizes" | ||||
|               :key="key" | ||||
|               label-width="180px"> | ||||
|               <ai-info-item label="奖品名称" isLine :value="item.name"></ai-info-item> | ||||
|               <ai-info-item label="中奖规则" :value="item.rule"></ai-info-item> | ||||
|               <ai-info-item label="奖品总数" :value="item.total"></ai-info-item> | ||||
|               <ai-info-item label="奖品排序" :value="item.showIndex"></ai-info-item> | ||||
|               <ai-info-item label="开放轮次" :value="item.belongRound"></ai-info-item> | ||||
|               <ai-info-item label="是否默认" :value="item.defaultPrize === '0' ? '否' : '是'"></ai-info-item> | ||||
|               <ai-info-item label="奖品图片" isLine> | ||||
|                 <ai-uploader | ||||
|                   :instance="instance" | ||||
|                   disabled | ||||
|                   :value="[{ | ||||
|                     url: item.picture | ||||
|                   }]" | ||||
|                   :limit="1"> | ||||
|                 </ai-uploader> | ||||
|               </ai-info-item> | ||||
|             </ai-wrapper> | ||||
|           </template> | ||||
|         </ai-card> | ||||
|       </div> | ||||
|       <div v-show="currIndex === 1"> | ||||
|         <ai-card title="报名记录"> | ||||
|           <template #content> | ||||
|             <ai-table | ||||
|               :tableData="tableData" | ||||
|               :col-configs="colConfigs" | ||||
|               :total="total" | ||||
|               style="margin-top: 6px;" | ||||
|               :current.sync="search.current" | ||||
|               :size.sync="search.size" | ||||
|               @getList="getList"> | ||||
|             </ai-table> | ||||
|           </template> | ||||
|         </ai-card> | ||||
|       </div> | ||||
|       <div v-show="currIndex === 2"> | ||||
|         <ai-card title="抽奖记录"> | ||||
|           <template #content> | ||||
|             <ai-search-bar class="search-bar"> | ||||
|               <template #left> | ||||
|                 <ai-select | ||||
|                   v-model="prizeSearch.prizeId" | ||||
|                   clearable | ||||
|                   placeholder="请选择奖品" | ||||
|                   :selectList="prizes" | ||||
|                   @change="prizeSearch.current = 1, getPrizeList()"> | ||||
|                 </ai-select> | ||||
|                 </template> | ||||
|             </ai-search-bar> | ||||
|             <ai-table | ||||
|               :tableData="prizeList" | ||||
|               :col-configs="prizeColConfigs" | ||||
|               :total="prizeSearch.total" | ||||
|               style="margin-top: 6px;" | ||||
|               :current.sync="prizeSearch.current" | ||||
|               :size.sync="prizeSearch.size" | ||||
|               @getList="getPrizeList"> | ||||
|             </ai-table> | ||||
|           </template> | ||||
|         </ai-card> | ||||
|       </div> | ||||
|     </template> | ||||
|   </ai-detail> | ||||
| </template> | ||||
| @@ -55,15 +119,30 @@ | ||||
|  | ||||
|     data () { | ||||
|       return { | ||||
|         currIndex: 0, | ||||
|         tabList: ['基本信息', '报名记录', '抽奖记录'], | ||||
|         colConfigs: [ | ||||
|           { prop: 'userName',  label: '姓名', align: 'left', width: '200px' }, | ||||
|           { prop: 'userPhone', label: '手机号', align: 'center' }, | ||||
|           { prop: 'createTime', label: '报名时间', align: 'center' } | ||||
|         ], | ||||
|         prizeColConfigs: [ | ||||
|           { prop: 'name',  label: '姓名', align: 'left', width: '200px' }, | ||||
|           { prop: 'phone', label: '手机号', align: 'center' }, | ||||
|           { prop: 'prizeName', label: '奖品名称', align: 'center' }, | ||||
|           { prop: 'createTime', label: '抽奖时间', align: 'center' } | ||||
|         ], | ||||
|         prizeList: [], | ||||
|         prizeSearch: { | ||||
|           size: 10, | ||||
|           current: 1, | ||||
|           prizeId: '' | ||||
|         }, | ||||
|         search: { | ||||
|           size: 10, | ||||
|           current: 1 | ||||
|         }, | ||||
|         prizes: [], | ||||
|         tableData: [], | ||||
|         total: 0, | ||||
|         info: {} | ||||
| @@ -73,11 +152,12 @@ | ||||
|     created () { | ||||
|       this.getInfo() | ||||
|       this.getList() | ||||
|       this.getPrizeList() | ||||
|     }, | ||||
|  | ||||
|     methods: { | ||||
|       getList() { | ||||
|         this.instance.post(`/app/appactivityinfo/signUpList?activityId=${this.params.id}`, null, { | ||||
|         this.instance.post(`/app/appmarketingactivityinfo/signUpList?activityId=${this.params.id}`, null, { | ||||
|           params: { | ||||
|             ...this.search | ||||
|           } | ||||
| @@ -89,11 +169,30 @@ | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       getPrizeList() { | ||||
|         this.instance.post(`/app/appmarketingactivityinfo/raffleList?activityId=${this.params.id}`, null, { | ||||
|           params: { | ||||
|             ...this.prizeSearch | ||||
|           } | ||||
|         }).then(res => { | ||||
|           if (res.code == 0) { | ||||
|             this.prizeList = res.data.records | ||||
|             this.prizeSearch.total = res.data.total | ||||
|           } | ||||
|         }) | ||||
|       }, | ||||
|  | ||||
|       getInfo () { | ||||
|         this.instance.post(`/app/appactivityinfo/queryDetailById?id=${this.params.id}`).then(res => { | ||||
|         this.instance.post(`/app/appmarketingactivityinfo/queryDetailById?id=${this.params.id}`).then(res => { | ||||
|           if (res.code == 0) { | ||||
|             if (res.data) { | ||||
|               this.info = res.data | ||||
|               this.prizes = res.data.prizes.map(v => { | ||||
|                 return { | ||||
|                   dictValue: v.id, | ||||
|                   dictName: v.name | ||||
|                 } | ||||
|               }) | ||||
|             } | ||||
|           } | ||||
|         }) | ||||
| @@ -110,4 +209,14 @@ | ||||
| </script> | ||||
|  | ||||
| <style scoped lang="scss"> | ||||
|   .AppMarketingActivity-detail { | ||||
|     .prize-item { | ||||
|       padding: 20px 0 0; | ||||
|       border-bottom: 1px solid #eee; | ||||
|  | ||||
|       &:first-child { | ||||
|         padding-top: 0; | ||||
|       } | ||||
|     } | ||||
|   } | ||||
| </style> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user