| 
					
				 | 
			
			
				@@ -0,0 +1,257 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <Dialog title="活动奖品配置" v-model="dialogVisible" style="width: 70%;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="text-right mb-20px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button type="primary" plain @click="handleAddPrize"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <Icon icon="ep:plus" class="mr-5px" /> 新增奖品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div style="display: inline-block; width: 100%;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table v-loading="loading" :data="list" :stripe="true"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="奖品名称" align="center" prop="name" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="奖品图片" align="center" min-width="80" prop="image"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <img :src="scope.row.image" alt="" class="h-70px" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="奖品数量" align="center" prop="total" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="权重" align="center" prop="chance" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="类型" align="center" prop="type"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <dict-tag :type="DICT_TYPE.PROMOTION_LUCK_PRIZE_TYPE" :value="scope.row.type" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="提示语" align="center" prop="prompt" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="排序" align="center" prop="sort" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-table-column label="操作" align="center"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <template #default="scope"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button link type="primary" @click="handleEdit(scope.row.id)">编辑</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-button link type="danger" @click="handleDelete(scope.row.id)">删除</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-table-column> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-table> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <!-- 分页 --> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize" @pagination="getList" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template #footer> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button @click="dialogVisible = false">取 消</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </Dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <Dialog title="添加奖品" v-model="showAddPrize"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <el-form 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ref="formRef" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :model="addPrizeData" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :rules="addPrizeFormRules" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      label-width="80px" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="奖品" prop="type"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-radio-group v-model="addPrizeData.type"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-radio v-for="dict in getIntDictOptions(DICT_TYPE.PROMOTION_LUCK_PRIZE_TYPE)" :key="dict.value" :value="dict.value.toString()" @change="handleChangeType">{{ dict.label }}</el-radio> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-radio-group> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item v-if="isShowSpu" label="商品" prop="productId"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <div style="width: 100%;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-image v-if="Object.keys(spu).length && spu?.id" class="w-100px h-100px" :src="spu?.picUrl" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-button :icon="Plus" type="primary" @click.stop="spuQueryParams.pageNo = 1,showSpu = true">选择商品</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="奖品名称" prop="name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input v-model="addPrizeData.name" placeholder="请输入奖品名称" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="奖品图片" prop="image"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <UploadImg v-model="addPrizeData.image" :validSpecifications="true" height="150px" width="150px" :fileSize="10" :maxWidth="150" :maxHeight="150" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="排序" prop="sort"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input-number v-model="addPrizeData.sort" :min="1" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="奖品数量" prop="total"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input-number v-model="addPrizeData.total" :min="1" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="奖品权重" prop="chance"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input-number v-model="addPrizeData.chance" :min="1" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form-item label="提示语" prop="prompt"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-input v-model="addPrizeData.prompt" placeholder="请输入提示语" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template #footer> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button @click="submitPrize" type="primary">确 定</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button @click="showAddPrize = false, spu = {}">取 消</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </Dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <Dialog title="商品列表" v-model="showSpu" style="width: 70%;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div style="display: inline-block; width: 100%;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <SpuList @select="handleSelectSpu" @refresh="getSpuList" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <template #footer> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-button @click="showSpu = false">取 消</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </Dialog> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script setup lang="ts"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import { Plus } from '@element-plus/icons-vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import { getIntDictOptions, DICT_TYPE } from '@/utils/dict' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import { LuckLotteryApi } from '@/api/mall/promotion/lottery/config' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import * as ProductSpuApi from '@/api/mall/product/spu' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import SpuList from './components/spuList.vue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 幸运抽奖-活动 表单 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  defineOptions({ name: 'LuckLotteryForm' }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const message = useMessage() // 消息弹窗 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const loading = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const list = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const dialogVisible = ref(false) // 弹窗的是否展示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const total = ref(0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const queryParams = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageNo: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageSize: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lotteryId: undefined as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 获取奖品分页 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const getList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    loading.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const res = await LuckLotteryApi.getLuckLotteryPrizePage(queryParams) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      list.value = res.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      total.value = res.total 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loading.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 商品列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const showSpu = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const spuLoading = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const spuList = ref([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const spuTotal = ref(0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const spuQueryParams = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageNo: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    pageSize: 10 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const getSpuList = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    spuLoading.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const res = await ProductSpuApi.getSpuPage(spuQueryParams) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      spuList.value = res.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      spuTotal.value = res.total 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      spuLoading.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+               
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 打开弹窗 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const open = async (id: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    queryParams.lotteryId = id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await getList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dialogVisible.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  defineExpose({ open }) // 提供 open 方法,用于打开弹窗 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 删除奖品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const handleDelete = async (id: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await message.confirm('确定删除该奖品吗?') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      await LuckLotteryApi.deleteLuckLotteryPrize(id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      message.success('删除成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      await getList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } catch {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 编辑奖品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const formType = ref('add') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const handleEdit = async (id: number) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resetForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    formType.value = 'edit' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!id) return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      const data = await LuckLotteryApi.getLuckLotteryPrize(id) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      addPrizeData.value = data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      spu.value = data.spu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      isShowSpu.value = data.type === '6' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      showAddPrize.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } catch {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 添加奖品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const addPrizeData = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: '1', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    productId: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    total: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chance: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    prompt: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    image: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    status: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sort: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    lotteryId: undefined as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const showAddPrize = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const formRef = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const addPrizeFormRules = reactive({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type: [{ required: true, message: '奖品类型不能为空', trigger: 'change' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    name: [{ required: true, message: '奖品名称不能为空', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chance: [{ required: true, message: '奖品权重不能为空', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    image: [{ required: true, message: '奖品图片不能为空', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    total: [{ required: true, message: '商品数量不能为空', trigger: 'blur' }], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    prompt: [{ required: true, message: '提示语不能为空', trigger: 'blur' }] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const handleAddPrize = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    formType.value = 'add' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    isShowSpu.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resetForm() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showAddPrize.value = true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await getSpuList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 只有站内商品才展示商品信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const isShowSpu = ref(false) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const handleChangeType = (val: string) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    isShowSpu.value = val === '6' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const submitPrize = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 校验表单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await formRef.value.validate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (isShowSpu.value && !Object.keys(spu.value).length && !spu.value?.id) return message.warning('请选择商品') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addPrizeData.value.lotteryId = queryParams.lotteryId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addPrizeData.value.productId = spu.value.id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addPrizeData.value.image = spu.value?.picUrl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    delete addPrizeData.value.spu 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formType.value === 'add' ? await LuckLotteryApi.createLuckLotteryPrize(addPrizeData.value) : await LuckLotteryApi.updateLuckLotteryPrize(addPrizeData.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      message.success(formType.value === 'add' ? '添加成功' : '修改成功') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      showAddPrize.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      spu.value = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      getList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } catch {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const resetForm = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    spu.value = {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addPrizeData.value = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: '1', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      productId: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      name: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      total: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      chance: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      prompt: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      image: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      status: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      sort: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      lotteryId: undefined as any 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 选中商品 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const spu = ref({}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const handleSelectSpu = (row: any) =>{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    spu.value = row 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addPrizeData.value.name = row.name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    addPrizeData.value.image = row.picUrl 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showSpu.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 |