From c610c6b3275bc019dab6e066338b415b9b1d64a0 Mon Sep 17 00:00:00 2001 From: 2910410219 <2910410219@qq.com> Date: Tue, 7 Apr 2026 17:06:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BA=A4=E6=98=93=E8=BF=90=E8=90=A5):=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=A4=E6=98=93=E8=BF=90=E8=90=A5=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增交易运营模块的统计、分析、分销和订单管理功能 - 添加主播维度统计和店铺维度统计页面 - 实现店铺评分监控、地域分布分析和商品数据统计功能 - 完成分销效果核算和分销订单查询功能 - 开发订单管理页面及相关接口 - 修复知识库文档列表和详情的部分问题 - 更新环境配置和API接口文件 --- .env.development | 2 + src/api/knowledge/document/index.ts | 77 +++- src/api/trade/operation/analysis/product.ts | 9 + src/api/trade/operation/analysis/region.ts | 9 + src/api/trade/operation/analysis/shop.ts | 9 + .../trade/operation/distribution/effect.ts | 9 + src/api/trade/operation/distribution/order.ts | 9 + src/api/trade/operation/order.ts | 17 + src/api/trade/operation/stats/anchor.ts | 9 + src/api/trade/operation/stats/shop.ts | 9 + src/views/knowledge/document/detail.vue | 4 +- src/views/knowledge/document/index.vue | 8 +- .../operation/analysis/product/index.vue | 269 ++++++++++++ .../trade/operation/analysis/region/index.vue | 238 +++++++++++ .../trade/operation/analysis/shop/index.vue | 269 ++++++++++++ .../operation/distribution/effect/index.vue | 311 ++++++++++++++ .../operation/distribution/order/index.vue | 307 ++++++++++++++ src/views/trade/operation/order/index.vue | 383 ++++++++++++++++++ .../trade/operation/stats/anchor/index.vue | 237 +++++++++++ .../trade/operation/stats/shop/index.vue | 274 +++++++++++++ 20 files changed, 2447 insertions(+), 12 deletions(-) create mode 100644 src/api/trade/operation/analysis/product.ts create mode 100644 src/api/trade/operation/analysis/region.ts create mode 100644 src/api/trade/operation/analysis/shop.ts create mode 100644 src/api/trade/operation/distribution/effect.ts create mode 100644 src/api/trade/operation/distribution/order.ts create mode 100644 src/api/trade/operation/order.ts create mode 100644 src/api/trade/operation/stats/anchor.ts create mode 100644 src/api/trade/operation/stats/shop.ts create mode 100644 src/views/trade/operation/analysis/product/index.vue create mode 100644 src/views/trade/operation/analysis/region/index.vue create mode 100644 src/views/trade/operation/analysis/shop/index.vue create mode 100644 src/views/trade/operation/distribution/effect/index.vue create mode 100644 src/views/trade/operation/distribution/order/index.vue create mode 100644 src/views/trade/operation/order/index.vue create mode 100644 src/views/trade/operation/stats/anchor/index.vue create mode 100644 src/views/trade/operation/stats/shop/index.vue diff --git a/.env.development b/.env.development index f929f8f..f985fad 100644 --- a/.env.development +++ b/.env.development @@ -4,3 +4,5 @@ ENV = 'development' # 统一后端服务地址前缀(网关服务名:admin-go) # 开发环境走本地代理,避免 CORS VITE_API_URL = 'http://192.168.74.41:8000' +# VITE_API_URL = 'http://192.168.3.30:8000' + diff --git a/src/api/knowledge/document/index.ts b/src/api/knowledge/document/index.ts index e23b39d..1da44ad 100644 --- a/src/api/knowledge/document/index.ts +++ b/src/api/knowledge/document/index.ts @@ -3,23 +3,27 @@ import request from '/@/utils/request'; // 文档查询参数 export interface DocumentQueryParams { keyword?: string; + title?: string; datasetId?: string; + knowledgeId?: string; + fileType?: string; + status?: string; pageNum: number; pageSize: number; } // 创建文档参数 export interface CreateDocumentParams { - datasetId: string; // 必传 - filePath: string; // 必传 - fileSize: number; // 必传 - format: string; // 必传 - title: string; // 必传 + datasetId: string; + filePath: string; + fileSize: number; + format: string; + title: string; } // 更新文档参数 export interface UpdateDocumentParams { - id: string; // 必传 + id: string; datasetId?: string; filePath?: string; fileSize?: number; @@ -27,6 +31,13 @@ export interface UpdateDocumentParams { title?: string; } +// 文档分段查询参数 +export interface DocumentChunkQueryParams { + documentId: string; + pageNum: number; + pageSize: number; +} + // 文档信息 export interface DocumentInfo { id?: string; @@ -102,6 +113,15 @@ export function uploadDocument(data: FormData) { }); } +// 预览文档 +export function previewDocument(id: string) { + return request({ + url: '/rag-knowledge/document/previewDocument', + method: 'get', + params: { id }, + }); +} + // 删除文档 export function deleteDocument(id: string) { return request({ @@ -111,6 +131,51 @@ export function deleteDocument(id: string) { }); } +// 批量删除文档 +export function batchDeleteDocuments(ids: string[]) { + return request({ + url: '/rag-knowledge/document/batchDeleteDocument', + method: 'delete', + data: { ids }, + }); +} + +// 重新处理文档 +export function reprocessDocument(id: string) { + return request({ + url: '/rag-knowledge/document/reprocessDocument', + method: 'post', + data: { id }, + }); +} + +// 获取文档分段列表 +export function listDocumentChunks(params: DocumentChunkQueryParams) { + return request({ + url: '/rag-knowledge/document/listDocumentChunk', + method: 'get', + params, + }); +} + +// 更新文档分段 +export function updateDocumentChunk(data: { id: string; content: string }) { + return request({ + url: '/rag-knowledge/document/updateDocumentChunk', + method: 'put', + data, + }); +} + +// 删除文档分段 +export function deleteDocumentChunk(id: string) { + return request({ + url: '/rag-knowledge/document/deleteDocumentChunk', + method: 'delete', + params: { id }, + }); +} + // 获取文件向量化处理进度 export function getDocumentProcess(id: string) { return request({ diff --git a/src/api/trade/operation/analysis/product.ts b/src/api/trade/operation/analysis/product.ts new file mode 100644 index 0000000..e3ef119 --- /dev/null +++ b/src/api/trade/operation/analysis/product.ts @@ -0,0 +1,9 @@ +import request from '/@/utils/request'; + +export function getProductStats(params: any) { + return request({ + url: '/admin-go/api/v1/trade/operation/analysis/product', + method: 'get', + params: params, + }); +} diff --git a/src/api/trade/operation/analysis/region.ts b/src/api/trade/operation/analysis/region.ts new file mode 100644 index 0000000..23adde0 --- /dev/null +++ b/src/api/trade/operation/analysis/region.ts @@ -0,0 +1,9 @@ +import request from '/@/utils/request'; + +export function getRegionStats(params: any) { + return request({ + url: '/admin-go/api/v1/trade/operation/analysis/region', + method: 'get', + params: params, + }); +} diff --git a/src/api/trade/operation/analysis/shop.ts b/src/api/trade/operation/analysis/shop.ts new file mode 100644 index 0000000..2ee2847 --- /dev/null +++ b/src/api/trade/operation/analysis/shop.ts @@ -0,0 +1,9 @@ +import request from '/@/utils/request'; + +export function getShopScore(params: any) { + return request({ + url: '/admin-go/api/v1/trade/operation/analysis/shop', + method: 'get', + params: params, + }); +} diff --git a/src/api/trade/operation/distribution/effect.ts b/src/api/trade/operation/distribution/effect.ts new file mode 100644 index 0000000..2b71146 --- /dev/null +++ b/src/api/trade/operation/distribution/effect.ts @@ -0,0 +1,9 @@ +import request from '/@/utils/request'; + +export function getDistributionEffect(params: any) { + return request({ + url: '/admin-go/api/v1/trade/operation/distribution/effect', + method: 'get', + params: params, + }); +} diff --git a/src/api/trade/operation/distribution/order.ts b/src/api/trade/operation/distribution/order.ts new file mode 100644 index 0000000..f5bdf22 --- /dev/null +++ b/src/api/trade/operation/distribution/order.ts @@ -0,0 +1,9 @@ +import request from '/@/utils/request'; + +export function getDistributionOrderList(params: any) { + return request({ + url: '/admin-go/api/v1/trade/operation/distribution/order/list', + method: 'get', + params: params, + }); +} diff --git a/src/api/trade/operation/order.ts b/src/api/trade/operation/order.ts new file mode 100644 index 0000000..739a86a --- /dev/null +++ b/src/api/trade/operation/order.ts @@ -0,0 +1,17 @@ +import request from '/@/utils/request'; + +export function getOrderList(params: any) { + return request({ + url: '/admin-go/api/v1/trade/operation/order/list', + method: 'get', + params: params, + }); +} + +export function getOrderDetail(id: number) { + return request({ + url: '/admin-go/api/v1/trade/operation/order/detail', + method: 'get', + params: { id }, + }); +} diff --git a/src/api/trade/operation/stats/anchor.ts b/src/api/trade/operation/stats/anchor.ts new file mode 100644 index 0000000..e5a1652 --- /dev/null +++ b/src/api/trade/operation/stats/anchor.ts @@ -0,0 +1,9 @@ +import request from '/@/utils/request'; + +export function getAnchorStats(params: any) { + return request({ + url: '/admin-go/api/v1/trade/operation/stats/anchor', + method: 'get', + params: params, + }); +} diff --git a/src/api/trade/operation/stats/shop.ts b/src/api/trade/operation/stats/shop.ts new file mode 100644 index 0000000..e826f65 --- /dev/null +++ b/src/api/trade/operation/stats/shop.ts @@ -0,0 +1,9 @@ +import request from '/@/utils/request'; + +export function getShopStats(params: any) { + return request({ + url: '/admin-go/api/v1/trade/operation/stats/shop', + method: 'get', + params: params, + }); +} diff --git a/src/views/knowledge/document/detail.vue b/src/views/knowledge/document/detail.vue index 59fbad4..3c53c40 100644 --- a/src/views/knowledge/document/detail.vue +++ b/src/views/knowledge/document/detail.vue @@ -7,7 +7,7 @@ 知识库 - {{ knowledgeName }} + {{ knowledgeName }} {{ documentInfo.name }} @@ -162,7 +162,7 @@ const onBackToknowledge = () => { }; // 返回数据集详情 -const onBackToknowledge = () => { +const onBackToDocumentList = () => { router.push({ path: '/knowledge/document', query: { knowledgeId: knowledgeId.value, knowledgeName: knowledgeName.value }, diff --git a/src/views/knowledge/document/index.vue b/src/views/knowledge/document/index.vue index 938a14a..9582122 100644 --- a/src/views/knowledge/document/index.vue +++ b/src/views/knowledge/document/index.vue @@ -18,7 +18,7 @@ - + @@ -161,7 +161,7 @@ import { ref, reactive, onMounted, watch } from 'vue'; import { useRoute } from 'vue-router'; import { ElMessage, ElMessageBox } from 'element-plus'; import { listDocuments, deleteDocument, batchDeleteDocuments, reprocessDocument } from '/@/api/knowledge/document'; -import { listknowledges } from '/@/api/knowledge/knowledge'; +import { listknowledges } from '/@/api/knowledge/dataset'; import UploadDocument from './component/uploadDocument.vue'; import PreviewDocument from './component/previewDocument.vue'; import DocumentChunks from './component/documentChunks.vue'; @@ -186,7 +186,7 @@ const tableData = reactive({ total: 0, loading: false, param: { - keyword: '', + title: '', knowledgeId: '', fileType: '', status: undefined as string | undefined, @@ -323,7 +323,7 @@ const getIndexStatusText = (status: string) => { // 重置查询 const onResetQuery = () => { - tableData.param.keyword = ''; + tableData.param.title = ''; if (!currentknowledge.id) { tableData.param.knowledgeId = ''; } diff --git a/src/views/trade/operation/analysis/product/index.vue b/src/views/trade/operation/analysis/product/index.vue new file mode 100644 index 0000000..30e6e73 --- /dev/null +++ b/src/views/trade/operation/analysis/product/index.vue @@ -0,0 +1,269 @@ + + + + + diff --git a/src/views/trade/operation/analysis/region/index.vue b/src/views/trade/operation/analysis/region/index.vue new file mode 100644 index 0000000..ed6ba53 --- /dev/null +++ b/src/views/trade/operation/analysis/region/index.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/src/views/trade/operation/analysis/shop/index.vue b/src/views/trade/operation/analysis/shop/index.vue new file mode 100644 index 0000000..3433cb3 --- /dev/null +++ b/src/views/trade/operation/analysis/shop/index.vue @@ -0,0 +1,269 @@ + + + + + diff --git a/src/views/trade/operation/distribution/effect/index.vue b/src/views/trade/operation/distribution/effect/index.vue new file mode 100644 index 0000000..ea87ddb --- /dev/null +++ b/src/views/trade/operation/distribution/effect/index.vue @@ -0,0 +1,311 @@ + + + + + diff --git a/src/views/trade/operation/distribution/order/index.vue b/src/views/trade/operation/distribution/order/index.vue new file mode 100644 index 0000000..c6ae71d --- /dev/null +++ b/src/views/trade/operation/distribution/order/index.vue @@ -0,0 +1,307 @@ + + + + + diff --git a/src/views/trade/operation/order/index.vue b/src/views/trade/operation/order/index.vue new file mode 100644 index 0000000..de4b821 --- /dev/null +++ b/src/views/trade/operation/order/index.vue @@ -0,0 +1,383 @@ + + + + + diff --git a/src/views/trade/operation/stats/anchor/index.vue b/src/views/trade/operation/stats/anchor/index.vue new file mode 100644 index 0000000..914858d --- /dev/null +++ b/src/views/trade/operation/stats/anchor/index.vue @@ -0,0 +1,237 @@ + + + + + diff --git a/src/views/trade/operation/stats/shop/index.vue b/src/views/trade/operation/stats/shop/index.vue new file mode 100644 index 0000000..8a779c4 --- /dev/null +++ b/src/views/trade/operation/stats/shop/index.vue @@ -0,0 +1,274 @@ + + + + +