From 7c17e5d0c71d0cb3a37f9afab14f3350aae7d016 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Thu, 24 Jul 2025 17:44:00 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AF=9D=E6=9C=AF?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- klp-ui/package.json | 1 + klp-ui/src/api/wms/productSalesScript.js | 44 +++ klp-ui/src/components/VditorEditor.vue | 55 +++ klp-ui/src/views/index.vue | 4 +- klp-ui/src/views/wms/order/index.vue | 2 +- .../views/wms/productSalesScript/index.vue | 365 ++++++++++++++++++ 6 files changed, 468 insertions(+), 3 deletions(-) create mode 100644 klp-ui/src/api/wms/productSalesScript.js create mode 100644 klp-ui/src/components/VditorEditor.vue create mode 100644 klp-ui/src/views/wms/productSalesScript/index.vue diff --git a/klp-ui/package.json b/klp-ui/package.json index 388e9f2a..a807cc66 100644 --- a/klp-ui/package.json +++ b/klp-ui/package.json @@ -56,6 +56,7 @@ "quill": "1.3.7", "screenfull": "5.0.2", "sortablejs": "1.10.2", + "vditor": "^3.11.1", "vue": "2.6.12", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", diff --git a/klp-ui/src/api/wms/productSalesScript.js b/klp-ui/src/api/wms/productSalesScript.js new file mode 100644 index 00000000..738b156d --- /dev/null +++ b/klp-ui/src/api/wms/productSalesScript.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询产品销售话术列表 +export function listProductSalesScript(query) { + return request({ + url: '/klp/productSalesScript/list', + method: 'get', + params: query + }) +} + +// 查询产品销售话术详细 +export function getProductSalesScript(scriptId) { + return request({ + url: '/klp/productSalesScript/' + scriptId, + method: 'get' + }) +} + +// 新增产品销售话术 +export function addProductSalesScript(data) { + return request({ + url: '/klp/productSalesScript', + method: 'post', + data: data + }) +} + +// 修改产品销售话术 +export function updateProductSalesScript(data) { + return request({ + url: '/klp/productSalesScript', + method: 'put', + data: data + }) +} + +// 删除产品销售话术 +export function delProductSalesScript(scriptId) { + return request({ + url: '/klp/productSalesScript/' + scriptId, + method: 'delete' + }) +} diff --git a/klp-ui/src/components/VditorEditor.vue b/klp-ui/src/components/VditorEditor.vue new file mode 100644 index 00000000..3a6cc980 --- /dev/null +++ b/klp-ui/src/components/VditorEditor.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/klp-ui/src/views/index.vue b/klp-ui/src/views/index.vue index a35e2131..faed9bf4 100644 --- a/klp-ui/src/views/index.vue +++ b/klp-ui/src/views/index.vue @@ -126,7 +126,7 @@ export default { description: '订单审核与发货管理', icon: 'fas fa-clipboard-check', bgColor: 'bg-green-500', - link: '/wms/order' + link: '/shop/order' }, { title: '人员管理', @@ -140,7 +140,7 @@ export default { description: '订单数据可视化分析', icon: 'fas fa-chart-line', bgColor: 'bg-purple-500', - link: '/wms/order/dashboard' + link: '/shop/order/dashboard' }, { title: '出库入库', diff --git a/klp-ui/src/views/wms/order/index.vue b/klp-ui/src/views/wms/order/index.vue index fa84827b..8d73e67a 100644 --- a/klp-ui/src/views/wms/order/index.vue +++ b/klp-ui/src/views/wms/order/index.vue @@ -241,7 +241,7 @@ export default { }); }, goDashboard() { - this.$router.push('/wms/order/dashboard'); + this.$router.push('/shop/order/dashboard'); }, /** 推荐采购计划确认 */ handleRecommendConfirm(data) { diff --git a/klp-ui/src/views/wms/productSalesScript/index.vue b/klp-ui/src/views/wms/productSalesScript/index.vue new file mode 100644 index 00000000..fc57f4fb --- /dev/null +++ b/klp-ui/src/views/wms/productSalesScript/index.vue @@ -0,0 +1,365 @@ + + + + + + From 9acd408a5bb0e1d8e04b820586b5ec78758e443f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Fri, 25 Jul 2025 10:17:30 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=9F=A9=E5=BD=A2=E6=A0=91=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- klp-ui/src/views/wms/stock/box.vue | 259 +++++++++++++++++++++++++++ klp-ui/src/views/wms/stock/index.vue | 21 ++- 2 files changed, 279 insertions(+), 1 deletion(-) create mode 100644 klp-ui/src/views/wms/stock/box.vue diff --git a/klp-ui/src/views/wms/stock/box.vue b/klp-ui/src/views/wms/stock/box.vue new file mode 100644 index 00000000..849f414c --- /dev/null +++ b/klp-ui/src/views/wms/stock/box.vue @@ -0,0 +1,259 @@ + + + + + + diff --git a/klp-ui/src/views/wms/stock/index.vue b/klp-ui/src/views/wms/stock/index.vue index 1f209df2..0918e425 100644 --- a/klp-ui/src/views/wms/stock/index.vue +++ b/klp-ui/src/views/wms/stock/index.vue @@ -51,6 +51,9 @@ 导出 + + 库存分析 + @@ -81,6 +84,11 @@ + + + + + @@ -128,6 +136,7 @@ import { listWarehouse } from "@/api/wms/warehouse"; import RawMaterialSelect from "@/components/KLPService/RawMaterialSelect"; import ProductSelect from "@/components/KLPService/ProductSelect"; import WarehouseSelect from "@/components/WarehouseSelect"; +import StockBox from './box'; export default { name: "Stock", @@ -135,10 +144,13 @@ export default { components: { WarehouseSelect, RawMaterialSelect, - ProductSelect + ProductSelect, + StockBox }, data() { return { + // 库存分析对话框显示状态 + stockBoxVisible: false, // 按钮loading buttonLoading: false, // 遮罩层 @@ -340,6 +352,13 @@ export default { this.download('wms/stock/export', { ...this.queryParams }, `stock_${new Date().getTime()}.xlsx`) + }, + /** 显示库存分析图表 */ + showStockBox() { + this.stockBoxVisible = true; + this.$nextTick(() => { + this.$refs.stockBoxChart && this.$refs.stockBoxChart.refresh(); + }); } } };