|
@@ -25,7 +25,7 @@
|
|
|
<template #header>
|
|
<template #header>
|
|
|
<el-row :gutter="10" class="mb8">
|
|
<el-row :gutter="10" class="mb8">
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
- <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['business:items:add']">新增套票</el-button>
|
|
|
|
|
|
|
+ <el-button type="primary" plain icon="Plus" @click="handleAdd" v-hasPermi="['business:items:add']">新增</el-button>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
<el-col :span="1.5">
|
|
|
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['business:items:edit']"
|
|
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()" v-hasPermi="['business:items:edit']"
|
|
@@ -74,6 +74,21 @@
|
|
|
<span v-else>-</span>
|
|
<span v-else>-</span>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
+ <el-table-column label="是否通用" align="center">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-tag :type="scope.row.isCommon === 1 ? 'success' : 'info'">
|
|
|
|
|
+ {{ scope.row.isCommon === 1 ? '是' : '否' }}
|
|
|
|
|
+ </el-tag>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="是否赠送" align="center">
|
|
|
|
|
+ <template #default="scope">
|
|
|
|
|
+ <el-tag :type="scope.row.isGiveAway === 1 ? 'success' : 'info'">
|
|
|
|
|
+ {{ scope.row.isGiveAway === 1 ? '是' : '否' }}
|
|
|
|
|
+ </el-tag>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="赠送截止时间" align="center" prop="giveStopTime" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
|
<el-tooltip content="修改" placement="top">
|
|
<el-tooltip content="修改" placement="top">
|
|
@@ -89,8 +104,8 @@
|
|
|
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
|
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
|
|
</el-card>
|
|
</el-card>
|
|
|
<!-- 添加或修改道具对话框 disabled-->
|
|
<!-- 添加或修改道具对话框 disabled-->
|
|
|
- <el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
|
|
|
|
|
- <el-form ref="itemsFormRef" :model="form" :rules="rules" label-width="80px">
|
|
|
|
|
|
|
+ <el-dialog :title="dialog.title" v-model="dialog.visible" width="600px" append-to-body>
|
|
|
|
|
+ <el-form ref="itemsFormRef" :model="form" :rules="rules" label-width="100px">
|
|
|
<el-form-item label="主类型" prop="giftTypeParentId">
|
|
<el-form-item label="主类型" prop="giftTypeParentId">
|
|
|
<el-select v-model="form.giftTypeParentId" placeholder="请选择" clearable filterable @change="onParentChange">
|
|
<el-select v-model="form.giftTypeParentId" placeholder="请选择" clearable filterable @change="onParentChange">
|
|
|
<el-option v-for="item in itemOptionsGiftList" :key="item.id" :label="item.label" :value="item.id" />
|
|
<el-option v-for="item in itemOptionsGiftList" :key="item.id" :label="item.label" :value="item.id" />
|
|
@@ -164,15 +179,39 @@
|
|
|
<el-date-picker
|
|
<el-date-picker
|
|
|
v-model="form.expireTime"
|
|
v-model="form.expireTime"
|
|
|
type="datetime"
|
|
type="datetime"
|
|
|
- placeholder="选择过期时间"
|
|
|
|
|
|
|
+ placeholder="选择时间"
|
|
|
format="YYYY-MM-DD HH:mm:ss"
|
|
format="YYYY-MM-DD HH:mm:ss"
|
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
+ <el-form-item label="是否通用" prop="isCommon">
|
|
|
|
|
+ <el-switch v-model="form.isCommon" active-text="是" inactive-text="否" :active-value="1" :inactive-value="0" :value-on="1" :value-off="0" />
|
|
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="是否赠送" prop="isGiveAway">
|
|
<el-form-item label="是否赠送" prop="isGiveAway">
|
|
|
- <el-switch v-model="form.isGiveAway" active-text="是" inactive-text="否" :active-value="1" :inactive-value="0" />
|
|
|
|
|
|
|
+ <el-switch
|
|
|
|
|
+ v-model="form.isGiveAway"
|
|
|
|
|
+ active-text="是"
|
|
|
|
|
+ inactive-text="否"
|
|
|
|
|
+ :active-value="1"
|
|
|
|
|
+ :inactive-value="0"
|
|
|
|
|
+ @change="handleIsGiveAwayChange"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="赠送截止类型" prop="giftTypeChildId" v-if="form.isGiveAway === 1">
|
|
|
|
|
+ <el-select v-model="form.giveStopType" placeholder="请选择" clearable @change="onGiveStopTypeChange">
|
|
|
|
|
+ <el-option :value="0" label="不限时" />
|
|
|
|
|
+ <el-option :value="1" label="选择固定日期" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ <el-form-item label="赠送截止时间" prop="expireTime" v-if="form.isGiveAway === 1 && [1].includes(Number(form.giveStopType))">
|
|
|
|
|
+ <el-date-picker
|
|
|
|
|
+ v-model="form.giveStopTime"
|
|
|
|
|
+ type="datetime"
|
|
|
|
|
+ placeholder="选择时间"
|
|
|
|
|
+ format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
|
|
+ />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
-
|
|
|
|
|
<!-- 除了服务包 为 2 其他 为 1
|
|
<!-- 除了服务包 为 2 其他 为 1
|
|
|
<el-form-item label="道具类型" prop="gameType">
|
|
<el-form-item label="道具类型" prop="gameType">
|
|
|
<el-select aria-required="true" v-model="form.itemTypeCode" placeholder="请选择">
|
|
<el-select aria-required="true" v-model="form.itemTypeCode" placeholder="请选择">
|
|
@@ -248,7 +287,8 @@ const initFormData: ItemsForm = {
|
|
|
createdAt: undefined,
|
|
createdAt: undefined,
|
|
|
updatedAt: undefined,
|
|
updatedAt: undefined,
|
|
|
itemTypeCode: '1',
|
|
itemTypeCode: '1',
|
|
|
- isGiveAway: 0
|
|
|
|
|
|
|
+ isGiveAway: 0,
|
|
|
|
|
+ isCommon: 1
|
|
|
};
|
|
};
|
|
|
const data = reactive<PageData<ItemsForm, ItemsQuery>>({
|
|
const data = reactive<PageData<ItemsForm, ItemsQuery>>({
|
|
|
form: { ...initFormData },
|
|
form: { ...initFormData },
|
|
@@ -331,7 +371,7 @@ const handleAdd = () => {
|
|
|
iconPreviewUrl.value = '';
|
|
iconPreviewUrl.value = '';
|
|
|
iconFileList.value = [];
|
|
iconFileList.value = [];
|
|
|
dialog.visible = true;
|
|
dialog.visible = true;
|
|
|
- dialog.title = '添加道具';
|
|
|
|
|
|
|
+ dialog.title = '添加';
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
/** 修改按钮操作 */
|
|
/** 修改按钮操作 */
|
|
@@ -376,7 +416,7 @@ const handleUpdate = async (row?: ItemsVO) => {
|
|
|
iconFileList.value = [];
|
|
iconFileList.value = [];
|
|
|
}
|
|
}
|
|
|
dialog.visible = true;
|
|
dialog.visible = true;
|
|
|
- dialog.title = '修改道具';
|
|
|
|
|
|
|
+ dialog.title = '修改';
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
/** 提交按钮 */
|
|
/** 提交按钮 */
|
|
@@ -663,6 +703,19 @@ function openPreview(src: string) {
|
|
|
previewSrc.value = src;
|
|
previewSrc.value = src;
|
|
|
dialogVisible.value = true;
|
|
dialogVisible.value = true;
|
|
|
}
|
|
}
|
|
|
|
|
+const onGiveStopTypeChange = (value: number | null) => {
|
|
|
|
|
+ if (value === 0) {
|
|
|
|
|
+ form.value.giveStopTime = undefined; // 清空赠送截止时间
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
|
|
+// 是否赠送开关变化处理
|
|
|
|
|
+const handleIsGiveAwayChange = (value: number) => {
|
|
|
|
|
+ if (value === 0) {
|
|
|
|
|
+ // 当切换为"否"时
|
|
|
|
|
+ form.value.giveStopType = undefined;
|
|
|
|
|
+ form.value.giveStopTime = undefined;
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
</script>
|
|
</script>
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
.upload-container {
|
|
.upload-container {
|