feat(glt): 更新票券模板和门店相关功能
- 移除起始发送数量和计入购买量字段 - 修改用户票券释放页面状态显示和列配置 - 调整订单页面标签页顺序和默认激活项 - 优化门店编辑页面布局和移除电子围栏功能 - 添加门店围栏范围输入和状态选择功能 - 更新门店围栏列表页面状态标签和类型渲染 - 移除仓库编辑页面图片上传相关代码
This commit is contained in:
@@ -120,17 +120,17 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<a-form-item label="起始发送数量" name="startSendQty">
|
<!-- <a-form-item label="起始发送数量" name="startSendQty">-->
|
||||||
<a-input-number
|
<!-- <a-input-number-->
|
||||||
:min="0"
|
<!-- :min="0"-->
|
||||||
:max="999999"
|
<!-- :max="999999"-->
|
||||||
class="ele-fluid"
|
<!-- class="ele-fluid"-->
|
||||||
placeholder="支付成功后起始发放数量"
|
<!-- placeholder="支付成功后起始发放数量"-->
|
||||||
v-model:value="form.startSendQty"
|
<!-- v-model:value="form.startSendQty"-->
|
||||||
/>
|
<!-- />-->
|
||||||
</a-form-item>
|
<!-- </a-form-item>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="买赠倍率" name="giftMultiplier">
|
<a-form-item label="买赠倍率" name="giftMultiplier">
|
||||||
@@ -144,15 +144,15 @@
|
|||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
<a-col :span="12">
|
<!-- <a-col :span="12">-->
|
||||||
<a-form-item label="计入购买量" name="includeBuyQty">
|
<!-- <a-form-item label="计入购买量" name="includeBuyQty">-->
|
||||||
<a-switch
|
<!-- <a-switch-->
|
||||||
v-model:checked="form.includeBuyQty"
|
<!-- v-model:checked="form.includeBuyQty"-->
|
||||||
checked-children="是"
|
<!-- checked-children="是"-->
|
||||||
un-checked-children="否"
|
<!-- un-checked-children="否"-->
|
||||||
/>
|
<!-- />-->
|
||||||
</a-form-item>
|
<!-- </a-form-item>-->
|
||||||
</a-col>
|
<!-- </a-col>-->
|
||||||
|
|
||||||
<a-col :span="12">
|
<a-col :span="12">
|
||||||
<a-form-item label="每期释放数量" name="monthlyReleaseQty">
|
<a-form-item label="每期释放数量" name="monthlyReleaseQty">
|
||||||
|
|||||||
@@ -122,12 +122,12 @@
|
|||||||
key: 'minBuyQty',
|
key: 'minBuyQty',
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: '起始发送数',
|
// title: '起始发送数',
|
||||||
dataIndex: 'startSendQty',
|
// dataIndex: 'startSendQty',
|
||||||
key: 'startSendQty',
|
// key: 'startSendQty',
|
||||||
align: 'center'
|
// align: 'center'
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: '买赠',
|
title: '买赠',
|
||||||
dataIndex: 'giftMultiplier',
|
dataIndex: 'giftMultiplier',
|
||||||
|
|||||||
@@ -36,8 +36,8 @@
|
|||||||
<a-image :src="record.image" :width="50" />
|
<a-image :src="record.image" :width="50" />
|
||||||
</template>
|
</template>
|
||||||
<template v-if="column.key === 'status'">
|
<template v-if="column.key === 'status'">
|
||||||
<a-tag v-if="record.status === 0" color="green">显示</a-tag>
|
<a-tag v-if="record.status === 0">未释放</a-tag>
|
||||||
<a-tag v-if="record.status === 1" color="red">隐藏</a-tag>
|
<a-tag v-if="record.status === 1" color="green">已完成</a-tag>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="column.key === 'action'">
|
<template v-if="column.key === 'action'">
|
||||||
<a-space>
|
<a-space>
|
||||||
@@ -136,20 +136,21 @@
|
|||||||
key: 'releaseQty',
|
key: 'releaseQty',
|
||||||
width: 120
|
width: 120
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '状态',
|
||||||
|
dataIndex: 'status',
|
||||||
|
key: 'status',
|
||||||
|
width: 120,
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '释放时间',
|
title: '释放时间',
|
||||||
dataIndex: 'releaseTime',
|
dataIndex: 'releaseTime',
|
||||||
key: 'releaseTime',
|
key: 'releaseTime',
|
||||||
width: 120
|
width: 120
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// title: '状态',
|
|
||||||
// dataIndex: 'status',
|
|
||||||
// key: 'status',
|
|
||||||
// width: 120
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
title: '释放时间',
|
title: '创建时间',
|
||||||
dataIndex: 'createTime',
|
dataIndex: 'createTime',
|
||||||
key: 'createTime',
|
key: 'createTime',
|
||||||
width: 200,
|
width: 200,
|
||||||
|
|||||||
@@ -11,13 +11,13 @@
|
|||||||
</a-card>
|
</a-card>
|
||||||
<a-card :bordered="false" :body-style="{ padding: '16px' }">
|
<a-card :bordered="false" :body-style="{ padding: '16px' }">
|
||||||
<a-tabs type="card" v-model:activeKey="activeKey" @change="onTabs">
|
<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="undelivered" tab="待发货" />
|
||||||
<a-tab-pane key="unreceived" tab="待收货" />
|
<a-tab-pane key="unreceived" tab="待收货" />
|
||||||
<a-tab-pane key="completed" tab="已完成" />
|
<a-tab-pane key="completed" tab="已完成" />
|
||||||
|
<!-- <a-tab-pane key="unpaid" tab="待付款" />-->
|
||||||
<a-tab-pane key="refunded" tab="退货/售后" />
|
<a-tab-pane key="refunded" tab="退货/售后" />
|
||||||
<a-tab-pane key="cancelled" tab="已关闭" />
|
<a-tab-pane key="cancelled" tab="已关闭" />
|
||||||
|
<a-tab-pane key="all" tab="全部" />
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
<ele-pro-table
|
<ele-pro-table
|
||||||
ref="tableRef"
|
ref="tableRef"
|
||||||
@@ -297,7 +297,7 @@
|
|||||||
// 加载状态
|
// 加载状态
|
||||||
const loading = ref(true);
|
const loading = ref(true);
|
||||||
// 激活的标签
|
// 激活的标签
|
||||||
const activeKey = ref<string>('all');
|
const activeKey = ref<string>('undelivered');
|
||||||
// 表格数据源
|
// 表格数据源
|
||||||
const datasource: DatasourceFunction = ({
|
const datasource: DatasourceFunction = ({
|
||||||
page,
|
page,
|
||||||
|
|||||||
@@ -61,30 +61,31 @@
|
|||||||
<a-input
|
<a-input
|
||||||
allow-clear
|
allow-clear
|
||||||
placeholder="请输入经纬度"
|
placeholder="请输入经纬度"
|
||||||
|
style="width: 300px"
|
||||||
v-model:value="form.lngAndLat"
|
v-model:value="form.lngAndLat"
|
||||||
/>
|
/>
|
||||||
<a-button type="primary" @click="openUrl(`https://lbs.qq.com/getPoint/`)">获取经纬度</a-button>
|
<a-button type="primary" @click="openUrl(`https://lbs.qq.com/getPoint/`)">获取经纬度</a-button>
|
||||||
</a-space>
|
</a-space>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="轮廓" name="points">
|
<!-- <a-form-item label="轮廓" name="points">-->
|
||||||
<div class="flex">
|
<!-- <div class="flex">-->
|
||||||
<a-input
|
<!-- <a-input-->
|
||||||
allow-clear
|
<!-- allow-clear-->
|
||||||
placeholder="请选取电子围栏的轮廓"
|
<!-- placeholder="请选取电子围栏的轮廓"-->
|
||||||
v-model:value="form.points"
|
<!-- v-model:value="form.points"-->
|
||||||
/>
|
<!-- />-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<template #extra>
|
<!-- <template #extra>-->
|
||||||
<p class="py-2">
|
<!-- <p class="py-2">-->
|
||||||
<a
|
<!-- <a-->
|
||||||
class="text-blue-500"
|
<!-- class="text-blue-500"-->
|
||||||
href="https://lbs.qq.com/dev/console/cloud/placeCloud/datamanage?table_id=0q3W4MrK1-_6Xag7V1"
|
<!-- href="https://lbs.qq.com/dev/console/cloud/placeCloud/datamanage?table_id=0q3W4MrK1-_6Xag7V1"-->
|
||||||
target="_blank"
|
<!-- target="_blank"-->
|
||||||
>使用腾讯地图的工具绘制电子围栏</a
|
<!-- >使用腾讯地图的工具绘制电子围栏</a-->
|
||||||
>
|
<!-- >-->
|
||||||
</p>
|
<!-- </p>-->
|
||||||
</template>
|
<!-- </template>-->
|
||||||
</a-form-item>
|
<!-- </a-form-item>-->
|
||||||
<a-form-item label="备注" name="comments">
|
<a-form-item label="备注" name="comments">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
:rows="4"
|
:rows="4"
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
:model="form"
|
:model="form"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
:disabled="loading"
|
: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="
|
:wrapper-col="
|
||||||
styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' }
|
styleResponsive ? { md: 19, sm: 19, xs: 24 } : { flex: '1' }
|
||||||
"
|
"
|
||||||
@@ -40,6 +40,23 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</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-form-item label="定位描述" name="location">
|
||||||
<a-input
|
<a-input
|
||||||
allow-clear
|
allow-clear
|
||||||
@@ -56,15 +73,6 @@
|
|||||||
/>
|
/>
|
||||||
</a-form-item>
|
</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-form-item label="排序" name="sortNumber">
|
||||||
<a-input-number
|
<a-input-number
|
||||||
:min="0"
|
:min="0"
|
||||||
@@ -74,6 +82,14 @@
|
|||||||
v-model:value="form.sortNumber"
|
v-model:value="form.sortNumber"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</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-form-item label="备注" name="comments">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
:rows="4"
|
:rows="4"
|
||||||
|
|||||||
@@ -24,8 +24,8 @@
|
|||||||
<a-image :src="record.image" :width="50" />
|
<a-image :src="record.image" :width="50" />
|
||||||
</template>
|
</template>
|
||||||
<template v-if="column.key === 'status'">
|
<template v-if="column.key === 'status'">
|
||||||
<a-tag v-if="record.status === 0" color="green">显示</a-tag>
|
<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 === 1" color="red">禁用</a-tag>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="column.key === 'action'">
|
<template v-if="column.key === 'action'">
|
||||||
<a-space>
|
<a-space>
|
||||||
@@ -107,12 +107,23 @@
|
|||||||
{
|
{
|
||||||
title: '类型',
|
title: '类型',
|
||||||
dataIndex: 'type',
|
dataIndex: 'type',
|
||||||
key: 'type'
|
key: 'type',
|
||||||
|
align: 'center',
|
||||||
|
customRender: ({ text }) => {
|
||||||
|
if (text === 0) {
|
||||||
|
return '圆形';
|
||||||
|
}
|
||||||
|
if (text === 1) {
|
||||||
|
return '方形/多边形';
|
||||||
|
}
|
||||||
|
return text;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '排序',
|
title: '排序',
|
||||||
dataIndex: 'sortNumber',
|
dataIndex: 'sortNumber',
|
||||||
key: 'sortNumber'
|
key: 'sortNumber',
|
||||||
|
align: 'center'
|
||||||
},
|
},
|
||||||
// {
|
// {
|
||||||
// title: '备注',
|
// title: '备注',
|
||||||
@@ -120,12 +131,12 @@
|
|||||||
// key: 'comments',
|
// key: 'comments',
|
||||||
// ellipsis: true
|
// ellipsis: true
|
||||||
// },
|
// },
|
||||||
// {
|
{
|
||||||
// title: '状态',
|
title: '状态',
|
||||||
// dataIndex: 'status',
|
dataIndex: 'status',
|
||||||
// key: 'status',
|
key: 'status',
|
||||||
// width: 120
|
width: 120
|
||||||
// },
|
},
|
||||||
{
|
{
|
||||||
title: '创建时间',
|
title: '创建时间',
|
||||||
dataIndex: 'createTime',
|
dataIndex: 'createTime',
|
||||||
|
|||||||
@@ -113,14 +113,13 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, reactive, watch } from 'vue';
|
import { ref, reactive, watch } from 'vue';
|
||||||
import { Form, message } from 'ant-design-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 { addShopStoreWarehouse, updateShopStoreWarehouse } from '@/api/shop/shopStoreWarehouse';
|
||||||
import { ShopStoreWarehouse } from '@/api/shop/shopStoreWarehouse/model';
|
import { ShopStoreWarehouse } from '@/api/shop/shopStoreWarehouse/model';
|
||||||
import { useThemeStore } from '@/store/modules/theme';
|
import { useThemeStore } from '@/store/modules/theme';
|
||||||
import { storeToRefs } from 'pinia';
|
import { storeToRefs } from 'pinia';
|
||||||
import { ItemType } from 'ele-admin-pro/es/ele-image-upload/types';
|
import { ItemType } from 'ele-admin-pro/es/ele-image-upload/types';
|
||||||
import { FormInstance } from 'ant-design-vue/es/form';
|
import { FormInstance } from 'ant-design-vue/es/form';
|
||||||
import { FileRecord } from '@/api/system/file/model';
|
|
||||||
|
|
||||||
// 是否是修改
|
// 是否是修改
|
||||||
const isUpdate = ref(false);
|
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);
|
const { resetFields } = useForm(form, rules);
|
||||||
|
|
||||||
/* 保存编辑 */
|
/* 保存编辑 */
|
||||||
@@ -239,13 +224,6 @@
|
|||||||
images.value = [];
|
images.value = [];
|
||||||
if (props.data) {
|
if (props.data) {
|
||||||
assignObject(form, props.data);
|
assignObject(form, props.data);
|
||||||
if(props.data.image){
|
|
||||||
images.value.push({
|
|
||||||
uid: uuid(),
|
|
||||||
url: props.data.image,
|
|
||||||
status: 'done'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
isUpdate.value = true;
|
isUpdate.value = true;
|
||||||
} else {
|
} else {
|
||||||
isUpdate.value = false;
|
isUpdate.value = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user