From 188dbedbe6d388113f671a9d5df1c94be657ef6b Mon Sep 17 00:00:00 2001 From: yuhawu <15545526+yuhawu@user.noreply.gitee.com> Date: Mon, 25 Aug 2025 10:41:31 +0800 Subject: [PATCH] newadmin --- src/api/modules/audit.js | 86 ++ src/api/modules/bookAudit.js | 36 + src/api/modules/excelTask.js | 107 +++ src/api/modules/pddGoods.js | 58 ++ src/api/modules/shopOrder.js | 166 ++++ src/components/Pagination.vue | 66 ++ src/components/RightToolbar.vue | 54 ++ src/layout/DynamicSidebar.vue | 2 +- src/layout/Index.vue | 2 +- src/layout/Navbar.vue | 2 +- src/layout/Sidebar.vue | 2 +- src/views/Audit/index.vue | 635 ++++++++++++++ src/views/bookAudit/index.vue | 408 +++++++++ src/views/excelTask/index.vue | 601 +++++++++++++ src/views/pddGoods/index.vue | 879 +++++++++++++++++++ src/views/shopOrder/index.vue | 1442 +++++++++++++++++++++++++++++++ 16 files changed, 4542 insertions(+), 4 deletions(-) create mode 100644 src/api/modules/audit.js create mode 100644 src/api/modules/bookAudit.js create mode 100644 src/api/modules/excelTask.js create mode 100644 src/api/modules/pddGoods.js create mode 100644 src/api/modules/shopOrder.js create mode 100644 src/components/Pagination.vue create mode 100644 src/components/RightToolbar.vue create mode 100644 src/views/Audit/index.vue create mode 100644 src/views/bookAudit/index.vue create mode 100644 src/views/excelTask/index.vue create mode 100644 src/views/pddGoods/index.vue create mode 100644 src/views/shopOrder/index.vue diff --git a/src/api/modules/audit.js b/src/api/modules/audit.js new file mode 100644 index 0000000..5c55412 --- /dev/null +++ b/src/api/modules/audit.js @@ -0,0 +1,86 @@ +import request from '@/utils/axios' + +// 查询审核列表 +export const getAuditList = (params) => { + return request({ + url: '/zhishu/audit/list', + method: 'get', + params + }) +} + +// 导出审核列表 +export const exportAudit = (data) => { + return request({ + url: '/zhishu/audit/export', + method: 'post', + data, + responseType: 'blob' + }) +} + +// 获取审核详细信息 +export const getAuditById = (id) => { + return request({ + url: `/zhishu/audit/${id}`, + method: 'get' + }) +} + +// 新增审核 +export const addAudit = (data) => { + return request({ + url: '/zhishu/audit', + method: 'post', + data + }) +} + +// 修改审核 +export const updateAudit = (data) => { + return request({ + url: '/zhishu/audit', + method: 'put', + data + }) +} + +// 删除审核 +export const deleteAudit = (ids) => { + return request({ + url: `/zhishu/audit/${ids}`, + method: 'delete' + }) +} + +// 修改审核通过状态 +export const updateAuditStatus = (data) => { + return request({ + url: '/zhishu/audit/updateStatus', + method: 'put', + data + }) +} + +// 修改审核未通过状态 +export const failSendAudit = (data) => { + return request({ + url: '/zhishu/audit/failSend', + method: 'post', + data + }) +} + +// 审核API对象 +export const auditApi = { + getAuditList, + exportAudit, + getAuditById, + addAudit, + updateAudit, + deleteAudit, + updateAuditStatus, + failSendAudit +} + +export default auditApi \ No newline at end of file diff --git a/src/api/modules/bookAudit.js b/src/api/modules/bookAudit.js new file mode 100644 index 0000000..7787c53 --- /dev/null +++ b/src/api/modules/bookAudit.js @@ -0,0 +1,36 @@ +import instance from '../../utils/axios.js' + +// 图书审核相关API +const bookAuditApi = { + // 获取图书审核列表 + getBookAuditList: (params) => instance.get('/zhishu/bookAudit/list', { params }), + + // 获取图书审核详细信息 + getBookAuditById: (id) => instance.get(`/zhishu/bookAudit/${id}`), + + // 新增图书审核 + addBookAudit: (data) => instance.post('/zhishu/bookAudit', data), + + // 修改图书审核 + updateBookAudit: (data) => instance.put('/zhishu/bookAudit', data), + + // 删除图书审核(支持批量删除) + deleteBookAudit: (ids) => { + const idStr = Array.isArray(ids) ? ids.join(',') : ids; + return instance.delete(`/zhishu/bookAudit/${idStr}`); + }, + + // 导出图书审核列表 + exportBookAudit: (data) => instance.post('/zhishu/bookAudit/export', data, { + responseType: 'blob' + }), + + // 修改审核状态(通过/未通过) + updateBookAuditStatus: (data) => instance.put('/zhishu/bookAudit/updateStatus', data), + + // 审核未通过并记录日志 + failSendBookAudit: (data) => instance.post('/zhishu/bookAudit/failSend', data) +}; + +// 导出模块 +export { bookAuditApi }; \ No newline at end of file diff --git a/src/api/modules/excelTask.js b/src/api/modules/excelTask.js new file mode 100644 index 0000000..ac5feb0 --- /dev/null +++ b/src/api/modules/excelTask.js @@ -0,0 +1,107 @@ +import instance from '../../utils/axios.js' + +// 查询任务列表 +export const getExcelTaskList = (params = {}) => { + return instance.get('/zhishu/excelTask/list', { params }) +} + +// 获取任务详细信息 +export const getExcelTaskDetail = (id) => { + return instance.get(`/zhishu/excelTask/${id}`) +} + +// 新增任务 +export const addExcelTask = (data) => { + return instance.post('/zhishu/excelTask', data) +} + +// 修改任务 +export const updateExcelTask = (data) => { + return instance.put('/zhishu/excelTask', data) +} + +// 删除任务 +export const deleteExcelTask = (ids) => { + return instance.delete(`/zhishu/excelTask/${ids}`) +} + +// 导出任务列表 +export const exportExcelTask = (params) => { + return instance.post('/zhishu/excelTask/export', params, { + responseType: 'blob' + }) +} + +// 获取导入模板 +export const getImportTemplate = () => { + return instance.post('/zhishu/excelTask/importTemplate', {}, { + responseType: 'blob' + }) +} + +// 文件上传 +export const uploadExcelFile = (file) => { + const formData = new FormData() + formData.append('file', file) + return instance.post('/zhishu/excelTask/upload', formData, { + headers: { + 'Content-Type': 'multipart/form-data' + } + }) +} + +// 获取日志列表 +export const getLogsList = (id) => { + return instance.get('/zhishu/excelTask/logsList', { + params: { id } + }) +} + +// 获取日志消息 +export const getLogsMsg = (id) => { + return instance.get('/zhishu/excelTask/logsMsg', { + params: { id } + }) +} + +// 获取详细日志列表 +export const getLogsDetailList = (taskId, shopId) => { + return instance.get(`/zhishu/excelTask/logsDetailList/${taskId}/${shopId}`) +} + +// 下载日志 +export const downloadLogs = (fileName) => { + return instance.get(`/zhishu/excelTask/downloadLogs/${fileName}`, { + responseType: 'blob' + }) +} + +// 暂停线程 +export const pauseThread = (threadId, taskId) => { + return instance.get(`/zhishu/excelTask/pauseThread/${threadId}/${taskId}`) +} + +// 继续执行线程 +export const continueThread = (threadId, taskId) => { + return instance.get(`/zhishu/excelTask/continueThread/${threadId}/${taskId}`) +} + +// 为了向后兼容,也导出整个对象 +export const excelTaskApi = { + getExcelTaskList, + getExcelTaskDetail, + addExcelTask, + updateExcelTask, + deleteExcelTask, + exportExcelTask, + getImportTemplate, + uploadExcelFile, + getLogsList, + getLogsMsg, + getLogsDetailList, + downloadLogs, + pauseThread, + continueThread +} + +export default excelTaskApi \ No newline at end of file diff --git a/src/api/modules/pddGoods.js b/src/api/modules/pddGoods.js new file mode 100644 index 0000000..1091f80 --- /dev/null +++ b/src/api/modules/pddGoods.js @@ -0,0 +1,58 @@ +import instance from '../../utils/axios.js' + +// 拼多多商品相关API +const pddGoodsApi = { + // 获取授权回调代码 + getCode: (params) => instance.get('/pddGoods', { params }), + + // 获取店铺商品总数 + getShopGoodsTotalNum: (shopId) => instance.get(`/pddGoods/getShopGoodsTotalNum?shopId=${shopId}`), + + // 创建店铺商品列表同步任务 + createShopGoodsList: (shopId, sycFlag) => instance.get(`/pddGoods/createShopGoodsList?shopId=${shopId}&sycFlag=${sycFlag}`), + + // 创建店铺商品详细信息同步任务 + createShopGoodsDetailList: (shopId) => instance.get(`/pddGoods/createShopGoodsDetailList?shopId=${shopId}`), + + // 获取店铺商品列表 + getShopGoodsList: (shopId, isOnsale, pageNum, pageSize) => instance.get(`/pddGoods/getShopGoodsList?shopId=${shopId}&isOnsale=${isOnsale}&pageNum=${pageNum}&pageSize=${pageSize}`), + + // 导出店铺商品数据 + emportShopGoods: (data) => instance.post('/pddGoods/emportShopGoods', data, { responseType: 'blob' }), + + // 检查CSV文件是否存在 + checkFile: (shopId) => instance.get(`/pddGoods/checkFile?shopId=${shopId}`), + + // 批量修改所有商品上架状态 + editShopGoodsAllByIsOnSale: (shopId, isOnSale) => instance.post('/pddGoods/editShopGoodsAllByIsOnSale', `shopId=${shopId}&isOnSale=${isOnSale}`, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }), + + // 获取商品价格验证文件下载链接 + getVerifyPriceUrl: (shopId) => instance.get(`/pddGoods/getVerifyPriceUrl?shopId=${shopId}`), + + // 通过CSV修改商品价格数据 + updateShopGoodsDataPriceCSV: (data) => instance.post('/pddGoods/updateShopGoodsDataPriceCSV', data), + + // 批量设置商品为售罄状态 + batchSetSoldOut: (shopId) => instance.post('/pddGoods/batchSetSoldOut', `shopId=${shopId}`, { + headers: { 'Content-Type': 'application/x-www-form-urlencoded' } + }), + + // 通过CSV批量翻新上架商品 + batchRenovateOnSaleByCsv: (file, shopId) => { + const formData = new FormData() + formData.append('file', file) + formData.append('shopId', shopId) + return instance.post('/pddGoods/batchRenovateOnSaleByCsv', formData, { + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, + + // 翻新单个商品上架状态 + renovateOnSale: (data) => instance.post('/pddGoods/renovateOnSale', data) + +}; + +// 导出模块 +export { pddGoodsApi }; \ No newline at end of file diff --git a/src/api/modules/shopOrder.js b/src/api/modules/shopOrder.js new file mode 100644 index 0000000..ea0e2b3 --- /dev/null +++ b/src/api/modules/shopOrder.js @@ -0,0 +1,166 @@ +import request from '@/utils/axios' + +/** + * 店铺订单相关接口 + */ + +// 查询订单列表 +export function getShopOrderList(params) { + return request({ + url: '/zhishu/shopOrder/list', + method: 'get', + params + }) +} + +// 查询订单列表(分页) +export function getShopOrderPage(params) { + return request({ + url: '/zhishu/shopOrder/page', + method: 'get', + params + }) +} + +// 导出订单列表 +export function exportShopOrder(data) { + return request({ + url: '/zhishu/shopOrder/export', + method: 'post', + data, + responseType: 'blob' + }) +} + +// 获取订单详细信息 +export function getShopOrderInfo(id) { + return request({ + url: `/zhishu/shopOrder/${id}`, + method: 'get' + }) +} + +// 新增订单 +export function addShopOrder(data) { + return request({ + url: '/zhishu/shopOrder', + method: 'post', + data + }) +} + +// 修改订单 +export function updateShopOrder(data) { + return request({ + url: '/zhishu/shopOrder', + method: 'put', + data + }) +} + +// 删除订单 +export function deleteShopOrder(ids) { + return request({ + url: `/zhishu/shopOrder/${ids}`, + method: 'delete' + }) +} + +// 订单列表查询接口(根据成交时间) +export function getInterShopOrder(data) { + return request({ + url: '/zhishu/shopOrder/getInterShopOrder', + method: 'get', + data + }) +} + +// 根据订单编码查询订单信息 +export function getOrderByOrderSn(orderSn) { + return request({ + url: '/zhishu/shopOrder/listByOrderSn', + method: 'get', + params: { orderSn } + }) +} + +// 根据店铺id查询订单信息 +export function getOrderByShopId(data) { + return request({ + url: '/zhishu/shopOrder/listByShopId', + method: 'post', + data + }) +} + +// 批量插入/更新订单信息 +export function insertOrUpdateOrderBatch(data) { + return request({ + url: '/zhishu/shopOrder/insertOrUpdateOrderBatch', + method: 'post', + data + }) +} + +// 定时同步孔网订单 +export function syncKfzOrderTask() { + return request({ + url: '/zhishu/shopOrder/syncKfzOrderTask', + method: 'get' + }) +} + +// 获取配送方式列表 +export function getDeliveryMethodList(params) { + return request({ + url: '/zhishu/shopOrder/delivery/methodList', + method: 'get', + params + }) +} + +// 订单发货 +export function orderDelivery(data) { + return request({ + url: '/zhishu/shopOrder/delivery', + method: 'post', + data + }) +} + +// 检查订单信息 +export function checkOrderInfo(orderId) { + return request({ + url: '/zhishu/shopOrder/checkInfo', + method: 'post', + params: { orderId } + }) +} + +// 重新同步订单(已扣减库存订单不会再次扣减) +export function syncKfzHistoryOrder(params, data) { + return request({ + url: '/zhishu/shopOrder/syncKfzHistoryOrder', + method: 'post', + params, + data + }) +} + +// 重新同步订单完成回调 +export function syncKfzHistoryOrderCallBack(params) { + return request({ + url: '/zhishu/shopOrder/syncKfzHistoryOrderCallBack', + method: 'get', + params + }) +} + +// 修改订单同步状态 +export function updateIsSynOrder(data) { + return request({ + url: '/zhishu/shopOrder/updateIsSynOrder', + method: 'post', + data + }) +} \ No newline at end of file diff --git a/src/components/Pagination.vue b/src/components/Pagination.vue new file mode 100644 index 0000000..e624303 --- /dev/null +++ b/src/components/Pagination.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/components/RightToolbar.vue b/src/components/RightToolbar.vue new file mode 100644 index 0000000..bc0c704 --- /dev/null +++ b/src/components/RightToolbar.vue @@ -0,0 +1,54 @@ + + + + + \ No newline at end of file diff --git a/src/layout/DynamicSidebar.vue b/src/layout/DynamicSidebar.vue index bcd2e96..3f57357 100644 --- a/src/layout/DynamicSidebar.vue +++ b/src/layout/DynamicSidebar.vue @@ -2,7 +2,7 @@