实现接口部分功能

This commit is contained in:
WUSIJIAN
2025-11-28 17:17:07 +08:00
parent 0ad816cc6d
commit 4c2fb2a189
11 changed files with 317 additions and 686 deletions

View File

@@ -43,8 +43,8 @@
<el-table-column prop="name" label="产品名称" show-overflow-tooltip />
<el-table-column prop="creator" label="创建人" show-overflow-tooltip />
<el-table-column prop="updater" label="修改人" show-overflow-tooltip />
<el-table-column prop="createdAt" label="创建时间" show-overflow-tooltip />
<el-table-column prop="updatedAt" label="修改时间" show-overflow-tooltip />
<el-table-column prop="createdAtString" label="创建时间" show-overflow-tooltip />
<el-table-column prop="updatedAtString" label="修改时间" show-overflow-tooltip />
<el-table-column label="操作" width="220">
<template #default="scope">
<el-button size="small" text type="primary" @click="onOpenEditRole(scope.row)">
@@ -82,7 +82,7 @@ import { ElMessageBox, ElMessage } from 'element-plus';
import EditRole from '/@/views/customerService/product/component/editRole.vue';
import ImportDialog from '/@/views/customerService/product/component/importDialog.vue';
import ExportDialog from '/@/views/customerService/product/component/exportDialog.vue';
import { deleteRole, getRoleList } from '/@/api/customerService/product';
import { deleteProduct, getList, getproductAdd } from '/@/api/customerService/product';
/**
* 产品数据接口
@@ -123,80 +123,6 @@ interface TableState {
/**
* 模拟产品数据
*/
const mockProductData: ProductData[] = [
{
id: 1,
status: 1,
listOrder: 0,
name: 'xxx药品',
creator: '张三',
updater: '李四',
remark: '药品描述',
dataScope: 3,
createdAt: '2022-04-01 11:38:39',
updatedAt: '2022-04-28 10:00:15',
},
{
id: 2,
status: 1,
listOrder: 0,
name: 'yyy医疗器械',
creator: '王五',
updater: '赵六',
remark: '医疗器械描述',
dataScope: 3,
createdAt: '2022-04-01 11:38:39',
updatedAt: '2022-04-28 10:01:34',
},
{
id: 3,
status: 1,
listOrder: 0,
name: 'zzz保健品',
creator: '孙七',
updater: '周八',
remark: '保健品描述',
dataScope: 3,
createdAt: '2022-04-01 11:38:39',
updatedAt: '2022-04-01 11:38:39',
},
{
id: 4,
status: 1,
listOrder: 0,
name: 'aaa化妆品',
creator: '吴九',
updater: '郑十',
remark: '化妆品描述',
dataScope: 3,
createdAt: '2022-04-01 11:38:39',
updatedAt: '2022-04-01 11:38:39',
},
{
id: 5,
status: 1,
listOrder: 0,
name: 'bbb药品',
creator: '钱一',
updater: '孙二',
remark: '药品描述',
dataScope: 2,
createdAt: '2022-04-01 11:38:39',
updatedAt: '2022-04-01 11:38:39',
},
{
id: 8,
status: 1,
listOrder: 0,
name: 'ccc医疗器械',
creator: '李三',
updater: '王四',
remark: '医疗器械描述',
dataScope: 2,
createdAt: '2022-04-01 11:38:39',
updatedAt: '2022-04-06 09:53:40',
},
];
// 响应式状态
const tableData = reactive<TableState>({
@@ -223,21 +149,11 @@ const getProductList = async () => {
try {
tableData.loading = true;
// 实际API调用 - 注释掉模拟数据后取消注释
// const res = await getRoleList(tableData.param);
// if (res.data?.list) {
// tableData.data = res.data.list;
// tableData.total = res.data.total;
// }
// 模拟数据 - 添加延迟模拟网络请求
await new Promise((resolve) => setTimeout(resolve, 500));
// 根据产品名称过滤数据
const filteredData = mockProductData.filter((item) => !tableData.param.productName || item.name.includes(tableData.param.productName));
tableData.data = filteredData;
tableData.total = filteredData.length;
const res = await getList(tableData.param);
if (res.data?.list) {
tableData.data = res.data.list;
tableData.total = res.data.total;
}
} catch (error) {
console.error('获取产品列表失败:', error);
ElMessage.error('获取产品列表失败');
@@ -312,9 +228,10 @@ const onRowDel = async (row: ProductData) => {
cancelButtonText: '取消',
type: 'warning',
});
console.log(row.id, 'row');
// 实际删除操作
// await deleteRole(row.id);
await deleteProduct({ id: row.id });
// 模拟删除成功
ElMessage.success('删除成功');