导出请求处理

This commit is contained in:
WUSIJIAN
2025-12-03 15:29:05 +08:00
parent 07ae596c2d
commit 8b57729c8a
7 changed files with 41 additions and 15 deletions

View File

@@ -142,7 +142,7 @@ const tableData = reactive<TableState>({
});
// 模板引用
const editRoleRef = ref<InstanceType<typeof EditRole>>();
const editRoleRef = ref<InstanceType<typeof EditAccount>>();
/**
* 获取客服账号列表

View File

@@ -12,7 +12,7 @@
<!-- 富文本编辑器 -->
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
<el-form-item label="产品详情" prop="content">
<el-form-item label="产品详情" prop="description" required>
<Editor v-model="formData.description" height="400px" placeholder="请输入产品详细描述..." />
</el-form-item>
</el-col>
@@ -81,11 +81,11 @@ const state = reactive<ComponentState>({
// 表单验证规则
const rules: FormRules = {
name: [
{ required: true, message: '产品名称不能为空', trigger: 'blur' },
{ min: 2, max: 50, message: '产品名称长度在 2 到 50 个字符', trigger: 'blur' },
name: [{ required: true, message: '产品名称不能为空', trigger: 'blur' }, { max: 64, message: '产品名称长度最多 64 个字符', trigger: 'blur' }, 1],
description: [
{ required: true, message: '产品详情不能为空', trigger: 'blur' },
{ max: 8126, message: '产品详情长度最多8126 个字符', trigger: 'blur' },
],
description: [{ required: true, message: '产品详情不能为空', trigger: 'blur' }],
};
// 模板引用

View File

@@ -12,9 +12,11 @@
<script lang="ts" setup>
import { ref, reactive } from 'vue';
import { ElMessage } from 'element-plus';
import { exportProduct } from '/@/api/customerService/product';
const isShowDialog = ref(false);
const tableData = ref([]);
const exportname = ref();
const form = reactive({
exportType: 'current',
@@ -22,14 +24,23 @@ const form = reactive({
});
// 打开对话框
const openDialog = (data: any) => {
tableData.value = data;
const openDialog = (name: string) => {
isShowDialog.value = true;
exportname.value = name;
};
// 处理导出
const handleExport = () => {
const handleExport = async () => {
// 这里处理导出逻辑
if (exportname.value) {
await exportProduct({ name: exportname.value });
} else {
await exportProduct({});
}
console.log(tableData.value, '111');
console.log(exportname.value, '222');
ElMessage.success('导出成功');
isShowDialog.value = false;
};

View File

@@ -264,7 +264,7 @@ const onOpenImport = () => {
*/
const onOpenExport = () => {
if (exportDialogRef.value) {
exportDialogRef.value.openDialog(tableData.data);
exportDialogRef.value.openDialog(tableData.param.name);
}
};

View File

@@ -64,8 +64,14 @@ const state = reactive({
// 表单验证规则
const rules: FormRules = {
tag: [{ required: true, message: '标签名称不能为空', trigger: 'blur' }],
content: [{ required: true, message: '产品详情不能为空', trigger: 'blur' }],
tag: [
{ required: true, message: '标签名称不能为空', trigger: 'blur' },
{ max: 64, message: '标签长度最多 64 个字符', trigger: 'blur' },
],
content: [
{ required: true, message: '产品详情不能为空', trigger: 'blur' },
{ max: 8126, message: '产品名称长度最多 8126 个字符', trigger: 'blur' },
],
};
// 模板引用