feat(glt): 更新票券模板和门店相关功能

- 移除起始发送数量和计入购买量字段
- 修改用户票券释放页面状态显示和列配置
- 调整订单页面标签页顺序和默认激活项
- 优化门店编辑页面布局和移除电子围栏功能
- 添加门店围栏范围输入和状态选择功能
- 更新门店围栏列表页面状态标签和类型渲染
- 移除仓库编辑页面图片上传相关代码
This commit is contained in:
2026-02-09 16:39:34 +08:00
parent d28226bbf0
commit ebed9edb64
8 changed files with 115 additions and 108 deletions

View File

@@ -120,17 +120,17 @@
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="起始发送数量" name="startSendQty">
<a-input-number
:min="0"
:max="999999"
class="ele-fluid"
placeholder="支付成功后起始发放数量"
v-model:value="form.startSendQty"
/>
</a-form-item>
</a-col>
<!-- <a-col :span="12">-->
<!-- <a-form-item label="起始发送数量" name="startSendQty">-->
<!-- <a-input-number-->
<!-- :min="0"-->
<!-- :max="999999"-->
<!-- class="ele-fluid"-->
<!-- placeholder="支付成功后起始发放数量"-->
<!-- v-model:value="form.startSendQty"-->
<!-- />-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col :span="12">
<a-form-item label="买赠倍率" name="giftMultiplier">
@@ -144,15 +144,15 @@
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="计入购买量" name="includeBuyQty">
<a-switch
v-model:checked="form.includeBuyQty"
checked-children=""
un-checked-children=""
/>
</a-form-item>
</a-col>
<!-- <a-col :span="12">-->
<!-- <a-form-item label="计入购买量" name="includeBuyQty">-->
<!-- <a-switch-->
<!-- v-model:checked="form.includeBuyQty"-->
<!-- checked-children="是"-->
<!-- un-checked-children="否"-->
<!-- />-->
<!-- </a-form-item>-->
<!-- </a-col>-->
<a-col :span="12">
<a-form-item label="每期释放数量" name="monthlyReleaseQty">

View File

@@ -122,12 +122,12 @@
key: 'minBuyQty',
align: 'center'
},
{
title: '起始发送数',
dataIndex: 'startSendQty',
key: 'startSendQty',
align: 'center'
},
// {
// title: '起始发送数',
// dataIndex: 'startSendQty',
// key: 'startSendQty',
// align: 'center'
// },
{
title: '买赠',
dataIndex: 'giftMultiplier',

View File

@@ -36,8 +36,8 @@
<a-image :src="record.image" :width="50" />
</template>
<template v-if="column.key === 'status'">
<a-tag v-if="record.status === 0" color="green">显示</a-tag>
<a-tag v-if="record.status === 1" color="red">隐藏</a-tag>
<a-tag v-if="record.status === 0">未释放</a-tag>
<a-tag v-if="record.status === 1" color="green">已完成</a-tag>
</template>
<template v-if="column.key === 'action'">
<a-space>
@@ -136,20 +136,21 @@
key: 'releaseQty',
width: 120
},
{
title: '状态',
dataIndex: 'status',
key: 'status',
width: 120,
align: 'center'
},
{
title: '释放时间',
dataIndex: 'releaseTime',
key: 'releaseTime',
width: 120
},
// {
// title: '状态',
// dataIndex: 'status',
// key: 'status',
// width: 120
// },
{
title: '释放时间',
title: '创建时间',
dataIndex: 'createTime',
key: 'createTime',
width: 200,

View File

@@ -11,13 +11,13 @@
</a-card>
<a-card :bordered="false" :body-style="{ padding: '16px' }">
<a-tabs type="card" v-model:activeKey="activeKey" @change="onTabs">
<a-tab-pane key="all" tab="全部" />
<a-tab-pane key="unpaid" tab="待付款" />
<a-tab-pane key="undelivered" tab="待发货" />
<a-tab-pane key="unreceived" tab="待收货" />
<a-tab-pane key="completed" tab="已完成" />
<!-- <a-tab-pane key="unpaid" tab="待付款" />-->
<a-tab-pane key="refunded" tab="退货/售后" />
<a-tab-pane key="cancelled" tab="已关闭" />
<a-tab-pane key="all" tab="全部" />
</a-tabs>
<ele-pro-table
ref="tableRef"
@@ -297,7 +297,7 @@
// 加载状态
const loading = ref(true);
// 激活的标签
const activeKey = ref<string>('all');
const activeKey = ref<string>('undelivered');
// 表格数据源
const datasource: DatasourceFunction = ({
page,

View File

@@ -61,30 +61,31 @@
<a-input
allow-clear
placeholder="请输入经纬度"
style="width: 300px"
v-model:value="form.lngAndLat"
/>
<a-button type="primary" @click="openUrl(`https://lbs.qq.com/getPoint/`)">获取经纬度</a-button>
</a-space>
</a-form-item>
<a-form-item label="轮廓" name="points">
<div class="flex">
<a-input
allow-clear
placeholder="请选取电子围栏的轮廓"
v-model:value="form.points"
/>
</div>
<template #extra>
<p class="py-2">
<a
class="text-blue-500"
href="https://lbs.qq.com/dev/console/cloud/placeCloud/datamanage?table_id=0q3W4MrK1-_6Xag7V1"
target="_blank"
>使用腾讯地图的工具绘制电子围栏</a
>
</p>
</template>
</a-form-item>
<!-- <a-form-item label="轮廓" name="points">-->
<!-- <div class="flex">-->
<!-- <a-input-->
<!-- allow-clear-->
<!-- placeholder="请选取电子围栏的轮廓"-->
<!-- v-model:value="form.points"-->
<!-- />-->
<!-- </div>-->
<!-- <template #extra>-->
<!-- <p class="py-2">-->
<!-- <a-->
<!-- class="text-blue-500"-->
<!-- href="https://lbs.qq.com/dev/console/cloud/placeCloud/datamanage?table_id=0q3W4MrK1-_6Xag7V1"-->
<!-- target="_blank"-->
<!-- >使用腾讯地图的工具绘制电子围栏</a-->
<!-- >-->
<!-- </p>-->
<!-- </template>-->
<!-- </a-form-item>-->
<a-form-item label="备注" name="comments">
<a-textarea
:rows="4"

View File

@@ -16,7 +16,7 @@
:model="form"
:rules="rules"
:disabled="loading"
:label-col="styleResponsive ? { md: 5, sm: 5, xs: 24 } : { flex: '90px' }"
:label-col="styleResponsive ? { md: 4, sm: 5, xs: 24 } : { flex: '90px' }"
:wrapper-col="
styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' }
"
@@ -40,6 +40,23 @@
</a-col>
</a-row>
<a-form-item label="围栏范围" name="points" :extra="pointsHelp">
<a-textarea
:auto-size="{ minRows: 3, maxRows: 6 }"
allow-clear
:placeholder="pointsPlaceholder"
v-model:value="form.points"
/>
<p class="py-2">
<a
class="text-blue-500"
href="https://lbs.qq.com/dev/console/cloud/placeCloud/datamanage?table_id=0q3W4MrK1-_6Xag7V1"
target="_blank"
>使用腾讯地图的工具绘制电子围栏</a
>
</p>
</a-form-item>
<a-form-item label="定位描述" name="location">
<a-input
allow-clear
@@ -56,15 +73,6 @@
/>
</a-form-item>
<a-form-item label="围栏范围" name="points" :extra="pointsHelp">
<a-textarea
:auto-size="{ minRows: 3, maxRows: 6 }"
allow-clear
:placeholder="pointsPlaceholder"
v-model:value="form.points"
/>
</a-form-item>
<a-form-item label="排序" name="sortNumber">
<a-input-number
:min="0"
@@ -74,6 +82,14 @@
v-model:value="form.sortNumber"
/>
</a-form-item>
<a-form-item label="状态" name="status">
<a-radio-group v-model:value="form.status">
<a-radio :value="0">启用</a-radio>
<a-radio :value="1">禁用</a-radio>
</a-radio-group>
</a-form-item>
<a-form-item label="备注" name="comments">
<a-textarea
:rows="4"

View File

@@ -24,8 +24,8 @@
<a-image :src="record.image" :width="50" />
</template>
<template v-if="column.key === 'status'">
<a-tag v-if="record.status === 0" color="green">显示</a-tag>
<a-tag v-if="record.status === 1" color="red">隐藏</a-tag>
<a-tag v-if="record.status === 0" color="green">启用</a-tag>
<a-tag v-if="record.status === 1" color="red">禁用</a-tag>
</template>
<template v-if="column.key === 'action'">
<a-space>
@@ -107,12 +107,23 @@
{
title: '类型',
dataIndex: 'type',
key: 'type'
key: 'type',
align: 'center',
customRender: ({ text }) => {
if (text === 0) {
return '圆形';
}
if (text === 1) {
return '方形/多边形';
}
return text;
}
},
{
title: '排序',
dataIndex: 'sortNumber',
key: 'sortNumber'
key: 'sortNumber',
align: 'center'
},
// {
// title: '备注',
@@ -120,12 +131,12 @@
// key: 'comments',
// ellipsis: true
// },
// {
// title: '状态',
// dataIndex: 'status',
// key: 'status',
// width: 120
// },
{
title: '状态',
dataIndex: 'status',
key: 'status',
width: 120
},
{
title: '创建时间',
dataIndex: 'createTime',

View File

@@ -113,14 +113,13 @@
<script lang="ts" setup>
import { ref, reactive, watch } from 'vue';
import { Form, message } from 'ant-design-vue';
import { assignObject, uuid } from 'ele-admin-pro';
import { assignObject } from 'ele-admin-pro';
import { addShopStoreWarehouse, updateShopStoreWarehouse } from '@/api/shop/shopStoreWarehouse';
import { ShopStoreWarehouse } from '@/api/shop/shopStoreWarehouse/model';
import { useThemeStore } from '@/store/modules/theme';
import { storeToRefs } from 'pinia';
import { ItemType } from 'ele-admin-pro/es/ele-image-upload/types';
import { FormInstance } from 'ant-design-vue/es/form';
import { FileRecord } from '@/api/system/file/model';
// 是否是修改
const isUpdate = ref(false);
@@ -188,20 +187,6 @@
]
});
const chooseImage = (data: FileRecord) => {
images.value.push({
uid: data.id,
url: data.path,
status: 'done'
});
form.image = data.path;
};
const onDeleteItem = (index: number) => {
images.value.splice(index, 1);
form.image = '';
};
const { resetFields } = useForm(form, rules);
/* 保存编辑 */
@@ -239,13 +224,6 @@
images.value = [];
if (props.data) {
assignObject(form, props.data);
if(props.data.image){
images.value.push({
uid: uuid(),
url: props.data.image,
status: 'done'
})
}
isUpdate.value = true;
} else {
isUpdate.value = false;