feat(shop): 添加商户入驻申请功能

- 在API模型中新增证件类型字段(idType)
- 修改API请求路径,移除SERVER_API_URL前缀
- 新增根据入驻申请创建商户的接口方法
- 在菜单配置中添加商城管理和商户入驻申请菜单项
- 新增商家入驻申请和申请成功页面路由
- 创建商家入驻申请表单页面,包含三步流程:基本信息、资质信息、确认提交
- 实现图片上传和预览功能,支持营业执照、身份证等资质文件上传
- 添加表单验证规则,确保必填信息完整
- 创建申请提交成功页面,提供返回首页和查看申请按钮
- 优化CMS网站搜索组件代码结构和格式
This commit is contained in:
2025-12-05 23:48:16 +08:00
parent f59b581836
commit a485faa0e4
17 changed files with 2904 additions and 236 deletions

View File

@@ -1,18 +1,20 @@
<!-- 搜索表单 -->
<template>
<a-space :size="10" style="flex-wrap: wrap">
<a-button type="primary" class="ele-btn-icon" @click="add">
<template #icon>
<PlusOutlined />
</template>
<span>添加</span>
</a-button>
<a-input-search
allow-clear
placeholder="请输入关键词"
style="width: 280px"
v-model:value="where.keywords"
@search="reload"
/>
</a-space>
</template>
<script lang="ts" setup>
import { PlusOutlined } from '@ant-design/icons-vue';
import { watch } from 'vue';
import useSearch from '@/utils/use-search';
import { ShopMerchantParam } from '@/api/shop/shopMerchant/model';
const props = withDefaults(
defineProps<{
@@ -22,6 +24,12 @@
{}
);
// 表单数据
const { where } = useSearch<ShopMerchantParam>({
merchantId: undefined,
keywords: ''
});
const emit = defineEmits<{
(e: 'search', where?: any): void;
(e: 'add'): void;
@@ -30,8 +38,12 @@
}>();
// 新增
const add = () => {
emit('add');
// const add = () => {
// emit('add');
// };
const reload = () => {
emit('search', where);
};
watch(