From 036d902c41a4fedff9a8a60d79a3dd52e258ddae Mon Sep 17 00:00:00 2001 From: "DESKTOP-8FGKA8Q\\chunfen" Date: Fri, 29 Aug 2025 17:25:42 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 19 + src/components/approval/balancepayment.vue | 292 ++++++++++++ src/components/approval/logs.vue | 96 ++++ src/components/approval/order.vue | 522 +++++++++++++++++++++ src/components/approval/prepayment.vue | 146 ++++++ src/components/approval/update.vue | 122 +++++ src/components/approval/uploadinvoice.vue | 162 +++++++ src/components/approval/uploadpayment.vue | 146 ++++++ src/router/white.js | 32 +- src/views/commodity/list.vue | 10 +- src/views/commodity/sku.vue | 190 ++++++-- src/views/purchase/approval.vue | 444 ++++++++++++++++++ src/views/purchase/index.vue | 40 +- src/views/purchase/otherfees.vue | 265 +++++++++++ src/views/purchase/supplier.vue | 447 ++++++++++++++++++ src/views/purchase/waitapproval.vue | 319 +++++++++++++ src/views/statistics/index.vue | 57 ++- vue.config.js | 3 +- 18 files changed, 3241 insertions(+), 71 deletions(-) create mode 100644 src/components/approval/balancepayment.vue create mode 100644 src/components/approval/logs.vue create mode 100644 src/components/approval/order.vue create mode 100644 src/components/approval/prepayment.vue create mode 100644 src/components/approval/update.vue create mode 100644 src/components/approval/uploadinvoice.vue create mode 100644 src/components/approval/uploadpayment.vue create mode 100644 src/views/purchase/approval.vue create mode 100644 src/views/purchase/otherfees.vue create mode 100644 src/views/purchase/supplier.vue create mode 100644 src/views/purchase/waitapproval.vue diff --git a/src/App.vue b/src/App.vue index a0402d8..8c867d7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -71,4 +71,23 @@ body .el-page-header__back{ left: 60px; transform: none; } +.h5Tit{ + background-color: #cad1e5; + height: 32px; + line-height: 32px; + margin-bottom: 15px; + padding-left: 20px; + position: relative; + color: #333; + font-size: 14px; + &::before{ + position: absolute; + left: 10px; + top: 9px; + height: 14px; + background-color: var(--el-color-primary); + content: ''; + width: 3px; + } +} diff --git a/src/components/approval/balancepayment.vue b/src/components/approval/balancepayment.vue new file mode 100644 index 0000000..39bb490 --- /dev/null +++ b/src/components/approval/balancepayment.vue @@ -0,0 +1,292 @@ + + + + + \ No newline at end of file diff --git a/src/components/approval/logs.vue b/src/components/approval/logs.vue new file mode 100644 index 0000000..730c5b7 --- /dev/null +++ b/src/components/approval/logs.vue @@ -0,0 +1,96 @@ + + + + + \ No newline at end of file diff --git a/src/components/approval/order.vue b/src/components/approval/order.vue new file mode 100644 index 0000000..84e8105 --- /dev/null +++ b/src/components/approval/order.vue @@ -0,0 +1,522 @@ + + + + + \ No newline at end of file diff --git a/src/components/approval/prepayment.vue b/src/components/approval/prepayment.vue new file mode 100644 index 0000000..e690c0a --- /dev/null +++ b/src/components/approval/prepayment.vue @@ -0,0 +1,146 @@ + + + + + \ No newline at end of file diff --git a/src/components/approval/update.vue b/src/components/approval/update.vue new file mode 100644 index 0000000..bbb0d0b --- /dev/null +++ b/src/components/approval/update.vue @@ -0,0 +1,122 @@ + + + + + \ No newline at end of file diff --git a/src/components/approval/uploadinvoice.vue b/src/components/approval/uploadinvoice.vue new file mode 100644 index 0000000..518cc68 --- /dev/null +++ b/src/components/approval/uploadinvoice.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/src/components/approval/uploadpayment.vue b/src/components/approval/uploadpayment.vue new file mode 100644 index 0000000..e0e44cd --- /dev/null +++ b/src/components/approval/uploadpayment.vue @@ -0,0 +1,146 @@ + + + + + \ No newline at end of file diff --git a/src/router/white.js b/src/router/white.js index aebc8cb..003aec5 100644 --- a/src/router/white.js +++ b/src/router/white.js @@ -31,10 +31,34 @@ export const whiteList = [ }, { path: '/purchase/index', - name: 'purchase', + name: 'purchaselist', full_path: 'views/purchase/index.vue', component: () => import('views/purchase/index') }, + { + path: '/purchase/supplier', + name: 'purchaseSupplier', + full_path: 'views/purchase/supplier.vue', + component: () => import('views/purchase/supplier') + }, + { + path: '/purchase/waitapproval', + name: 'waitapproval', + full_path: 'views/purchase/waitapproval.vue', + component: () => import('views/purchase/waitapproval') + }, + { + path: '/purchase/approval', + name: 'purchaseapproval', + full_path: 'views/purchase/approval.vue', + component: () => import('views/purchase/approval') + }, + { + path: '/purchase/otherfees', + name: 'otherfees', + full_path: 'views/purchase/otherfees.vue', + component: () => import('views/purchase/otherfees') + }, { path: '/warehouse/index', name: 'warehouse', @@ -85,10 +109,14 @@ export const constantRouterComponents = { 'commoditySku': () => import('views/commodity/sku'), 'combination': () => import('views/commodity/combination'), 'commodityBrand': () => import('views/commodity/brand'), - 'purchase': () => import('views/purchase/index'), + 'purchaselist': () => import('views/purchase/index'), 'warehouse': () => import('views/warehouse/index'), 'warehouseIO': () => import('views/warehouse/io'), 'supplier': () => import('views/supplier/index'), + 'purchaseSupplier': () => import('views/purchase/supplier'), + 'waitapproval': () => import('views/purchase/waitapproval'), + 'purchaseapproval': () => import('views/purchase/approval'), + 'otherfees': () => import('views/purchase/otherfees'), 'statistics': () => import('views/statistics/index'), 'role': () => import('views/permission/role'), 'menus': () => import('views/permission/menus'), diff --git a/src/views/commodity/list.vue b/src/views/commodity/list.vue index 2ecfccb..11285ab 100644 --- a/src/views/commodity/list.vue +++ b/src/views/commodity/list.vue @@ -158,6 +158,12 @@ 不启用 + + + + + + 不是 @@ -373,7 +379,9 @@ export default { warehouse_id: data.itemInfo.warehouse_id || '', status: 1, sort: 0, - gift: 0 + gift: 0, + goods_cost: '', + freight_cost: '' } data.skusList.push(sku) } diff --git a/src/views/commodity/sku.vue b/src/views/commodity/sku.vue index e0cea15..4d6d648 100644 --- a/src/views/commodity/sku.vue +++ b/src/views/commodity/sku.vue @@ -58,9 +58,11 @@
 新增 - + 设置预警库存
- + + @@ -82,6 +84,9 @@ + + + + + @@ -241,6 +246,7 @@ import { onMounted, reactive, toRefs } from "vue" import { get } from "@/api/request" import { Search, Shop, TrendCharts, QuestionFilled, List } from '@element-plus/icons' import * as echarts from 'echarts' +import { ElMessage } from 'element-plus' import dayjs from 'dayjs' export default { @@ -283,7 +289,8 @@ export default { from_shop_ids: [], shopsList: [], grain_size: 60, - dataLineY2: [] + dataLineY2: [], + exportLoading: false }) function handleSearch() { @@ -559,6 +566,48 @@ export default { }) } + const handleExport = () => { + data.exportLoading = true + let params = { + ...data.filter, + page: data.page, + pageSize: data.pageSize, + start_date: data.rangeTime ? data.rangeTime[0] : '', + end_date: data.rangeTime ? data.rangeTime[1] : '', + direction: data.ascOrDesc, + order_by_column: data.sort, + export: 1 + } + params.brand_id = data.filter.brand_id || 0 + get(`/api/orderItemDailyReport`, params, 'blob').then((res) => { + downLoadXls(res) + ElMessage({ type: "success", message: "导出成功!" }) + data.exportLoading = false + }).catch(() => { + data.exportLoading = false + }) + } + + function downLoadXls(response) { + const content = response + const blob = new Blob([content]) + const fileName = `数据统计.xlsx` + if ('download' in document.createElement('a')) { + // 非IE下载 + const elink = document.createElement('a') + elink.download = fileName + elink.style.display = 'none' + elink.href = URL.createObjectURL(blob) + document.body.appendChild(elink) + elink.click() + URL.revokeObjectURL(elink.href) // 释放URL 对象 + document.body.removeChild(elink) + } else { + // IE10+下载 + navigator.msSaveBlob(blob, fileName) + } + } + onMounted(() => { fetchData() getBrandList() @@ -582,7 +631,8 @@ export default { orderCharts, getOrderCharts, changeOrderTime, - getShopsList + getShopsList, + handleExport } } } @@ -618,6 +668,9 @@ export default { } } } + .opaBox{ + margin-bottom: 15px; + } .imgBox{ .el-image{ width: 60px; diff --git a/vue.config.js b/vue.config.js index 656e72e..39cc37c 100644 --- a/vue.config.js +++ b/vue.config.js @@ -21,8 +21,9 @@ module.exports = { // target: "http://192.168.0.52:86", // 本地 // target: "http://192.168.99.5:8093", // 本地 // target: "http://43.138.23.240:82", // 本地// - // target: "http://192.168.99.72:81", // 本地// + // target: "http://192.168.202.67:86", // 本地// target: 'http://warehouse.chutang66.com/', + // target: 'http://world.dev.chutang66.com/', changeOrigin: true, //开启代理 pathRewrite: { // 重命名 "^/api": "api"