From cfc9870314c0aba90ce904d1ca9c61451d6b1baa Mon Sep 17 00:00:00 2001 From: "DESKTOP-8FGKA8Q\\chunfen" Date: Wed, 7 Aug 2024 18:17:56 +0800 Subject: [PATCH] =?UTF-8?q?yyw=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/frontend/package-lock.json | 45 ++- resources/frontend/package.json | 1 + resources/frontend/src/api/rankingData.js | 8 +- .../frontend/src/components/selectTree.vue | 193 +++++++++ resources/frontend/src/css/style.css | 2 +- resources/frontend/src/views/brand/brand.vue | 338 ++++++++-------- .../src/views/dataCenter/gmvStatistics.vue | 10 +- .../src/views/dataCenter/skuStatistics.vue | 12 +- .../src/views/dataCenter/spuStatistics.vue | 11 +- .../src/views/goods/addgoods/addgoods.vue | 76 ++-- .../frontend/src/views/goods/combination.vue | 5 +- .../frontend/src/views/goods/editgoods.vue | 56 +-- resources/frontend/src/views/goods/goods.vue | 29 +- .../src/views/goodsType/goodsType.vue | 368 +++++++++--------- .../src/views/plat/afterSaleOrder.vue | 16 + .../frontend/src/views/plat/faceSheet.vue | 8 +- resources/frontend/src/views/store/store.vue | 59 ++- .../src/views/supplyChain/dailyStock.vue | 5 +- .../src/views/supplyChain/lossRecord.vue | 6 +- .../src/views/supplyChain/procureLog.vue | 12 +- .../src/views/supplyChain/supplier.vue | 10 +- 21 files changed, 788 insertions(+), 482 deletions(-) create mode 100644 resources/frontend/src/components/selectTree.vue diff --git a/resources/frontend/package-lock.json b/resources/frontend/package-lock.json index da20dae..0c50b59 100644 --- a/resources/frontend/package-lock.json +++ b/resources/frontend/package-lock.json @@ -1203,7 +1203,6 @@ "version": "7.23.9", "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.9.tgz", "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", - "dev": true, "requires": { "regenerator-runtime": "^0.14.0" }, @@ -1211,8 +1210,7 @@ "regenerator-runtime": { "version": "0.14.1", "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" } } }, @@ -1390,6 +1388,21 @@ "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", "dev": true }, + "@riophae/vue-treeselect": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/@riophae/vue-treeselect/-/vue-treeselect-0.4.0.tgz", + "integrity": "sha512-J4atYmBqXQmiPFK/0B5sXKjtnGc21mBJEiyKIDZwk0Q9XuynVFX6IJ4EpaLmUgL5Tve7HAS7wkiGGSti6Uaxcg==", + "requires": { + "@babel/runtime": "^7.3.1", + "babel-helper-vue-jsx-merge-props": "^2.0.3", + "easings-css": "^1.0.0", + "fuzzysearch": "^1.0.3", + "is-promise": "^2.1.0", + "lodash": "^4.0.0", + "material-colors": "^1.2.6", + "watch-size": "^2.0.0" + } + }, "@samverschueren/stream-to-observable": { "version": "0.3.1", "resolved": "https://registry.npmmirror.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz", @@ -4278,6 +4291,11 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, + "easings-css": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/easings-css/-/easings-css-1.0.0.tgz", + "integrity": "sha512-7Uq7NdazNfVtr0RNmPAys8it0zKCuaqxJStYKEl72D3j4gbvXhhaM7iWNbqhA4C94ygCye6VuyhzBRQC4szeBg==" + }, "easy-stack": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/easy-stack/-/easy-stack-1.0.1.tgz", @@ -5448,6 +5466,11 @@ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, + "fuzzysearch": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/fuzzysearch/-/fuzzysearch-1.0.3.tgz", + "integrity": "sha512-s+kNWQuI3mo9OALw0HJ6YGmMbLqEufCh2nX/zzV5CrICQ/y4AwPxM+6TIiF9ItFCHXFCyM/BfCCmN57NTIJuPg==" + }, "gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -6247,8 +6270,7 @@ "is-promise": { "version": "2.2.2", "resolved": "https://registry.npmmirror.com/is-promise/-/is-promise-2.2.2.tgz", - "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" }, "is-regex": { "version": "1.1.4", @@ -6882,8 +6904,7 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.debounce": { "version": "4.0.8", @@ -7111,6 +7132,11 @@ "semver": "^6.0.0" } }, + "material-colors": { + "version": "1.2.6", + "resolved": "https://registry.npmmirror.com/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" + }, "mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", @@ -9996,6 +10022,11 @@ "resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz", "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==" }, + "watch-size": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/watch-size/-/watch-size-2.0.0.tgz", + "integrity": "sha512-M92R89dNoTPWyCD+HuUEDdhaDnh9jxPGOwlDc0u51jAgmjUvzqaEMynXSr3BaWs+QdHYk4KzibPy1TFtjLmOZQ==" + }, "watchpack": { "version": "2.4.0", "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", diff --git a/resources/frontend/package.json b/resources/frontend/package.json index fbf0935..5d5800d 100644 --- a/resources/frontend/package.json +++ b/resources/frontend/package.json @@ -8,6 +8,7 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "@riophae/vue-treeselect": "^0.4.0", "axios": "^0.21.1", "core-js": "^3.6.5", "dayjs": "^1.11.12", diff --git a/resources/frontend/src/api/rankingData.js b/resources/frontend/src/api/rankingData.js index a9b5229..40eb6cc 100644 --- a/resources/frontend/src/api/rankingData.js +++ b/resources/frontend/src/api/rankingData.js @@ -29,11 +29,17 @@ export function storeDetail(params) { // 商品种类列表 export function goods_types(params) { return http({ - url: "/api/goods_types", + url: "/api/goodsTypes/tree", method: "get", params, }); } +export function goods_types_detail(id) { + return http({ + url: `/api/goods_types/${id}`, + method: "get", + }); +} // 商品种类列表删除 export function Delgoods_types(id) { return http({ diff --git a/resources/frontend/src/components/selectTree.vue b/resources/frontend/src/components/selectTree.vue new file mode 100644 index 0000000..69fde72 --- /dev/null +++ b/resources/frontend/src/components/selectTree.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/resources/frontend/src/css/style.css b/resources/frontend/src/css/style.css index ec6bae8..5ccf4e7 100644 --- a/resources/frontend/src/css/style.css +++ b/resources/frontend/src/css/style.css @@ -9,4 +9,4 @@ body,html { } ul { list-style: none; -} \ No newline at end of file +} diff --git a/resources/frontend/src/views/brand/brand.vue b/resources/frontend/src/views/brand/brand.vue index 4f1814b..a6360fd 100644 --- a/resources/frontend/src/views/brand/brand.vue +++ b/resources/frontend/src/views/brand/brand.vue @@ -1,185 +1,181 @@ diff --git a/resources/frontend/src/views/dataCenter/gmvStatistics.vue b/resources/frontend/src/views/dataCenter/gmvStatistics.vue index 0b29db9..fd04b49 100644 --- a/resources/frontend/src/views/dataCenter/gmvStatistics.vue +++ b/resources/frontend/src/views/dataCenter/gmvStatistics.vue @@ -54,9 +54,7 @@ -
- -
+
@@ -70,7 +68,7 @@ export default { data() { return { loading: false, - time_type: 'day', + time_type: 'thirty', timeTypeList: [ { label: '自然日', value: 'day' }, { label: '自然周', value: 'week' }, @@ -100,8 +98,8 @@ export default { }, methods: { getInitList() { - let time = this.getDayTime() - this.dayValue = this.startTime = this.endTime = time + this.dayValue = this.endTime = dayjs().format('YYYY-MM-DD') + this.startTime = dayjs().subtract(30, 'day').format('YYYY-MM-DD') this.fetchData() }, changeTimeType() { diff --git a/resources/frontend/src/views/dataCenter/skuStatistics.vue b/resources/frontend/src/views/dataCenter/skuStatistics.vue index a0f489d..d99a544 100644 --- a/resources/frontend/src/views/dataCenter/skuStatistics.vue +++ b/resources/frontend/src/views/dataCenter/skuStatistics.vue @@ -106,6 +106,14 @@ export default { { label: '近30天', value: 'thirty' }, { label: '自定义', value: 'custom' } ], + TIMETYPE: { + 'day': '自然日', + 'week': '自然周', + 'month': '自然月', + 'seven': '近7天', + 'thirty': '近30天', + 'custom': '自定义' + }, dayValue: '', monthValue: '', customValue: [], @@ -239,6 +247,7 @@ export default { message: '暂无数据', type: 'error' }) + this.downloadLoading = false return } import('@/util/Export2Excel').then(excel => { @@ -246,10 +255,11 @@ export default { const filterVal = ['name', 'title', 'external_sku_id', 'goods_total', 'goods_total_amount'] const list = res.data.data.data const data = this.formatJson(filterVal, list) + let date = this.startTime == this.endTime ? this.startTime : this.startTime + '-' + this.endTime excel.export_json_to_excel({ header: tHeader, data, - filename: 'sku销售统计数据', + filename: 'sku销售统计数据【' + this.TIMETYPE[this.time_type] + date + '】', autoWidth: this.autoWidth, bookType: this.bookType }) diff --git a/resources/frontend/src/views/dataCenter/spuStatistics.vue b/resources/frontend/src/views/dataCenter/spuStatistics.vue index afc2e57..e9604af 100644 --- a/resources/frontend/src/views/dataCenter/spuStatistics.vue +++ b/resources/frontend/src/views/dataCenter/spuStatistics.vue @@ -91,6 +91,14 @@ export default { { label: '近30天', value: 'thirty' }, { label: '自定义', value: 'custom' } ], + TIMETYPE: { + 'day': '自然日', + 'week': '自然周', + 'month': '自然月', + 'seven': '近7天', + 'thirty': '近30天', + 'custom': '自定义' + }, dayValue: '', monthValue: '', customValue: [], @@ -203,11 +211,12 @@ export default { const tHeader = ['类型名称', '库存', '可售库存', '未发货数', '未发货数', '总销量', '总销售金额'] const filterVal = ['type_name', 'stock', 'sale_stock', 'shipping_num', 'unshipping_num', 'goods_total', 'goods_total_amount'] const list = this.saleList + let date = this.startTime == this.endTime ? this.startTime : this.startTime + '-' + this.endTime const data = this.formatJson(filterVal, list) excel.export_json_to_excel({ header: tHeader, data, - filename: 'sku销售统计数据', + filename: 'sku销售统计数据【' + this.TIMETYPE[this.time_type] + date + '】', autoWidth: this.autoWidth, bookType: this.bookType }) diff --git a/resources/frontend/src/views/goods/addgoods/addgoods.vue b/resources/frontend/src/views/goods/addgoods/addgoods.vue index 3b279de..7c90dc2 100644 --- a/resources/frontend/src/views/goods/addgoods/addgoods.vue +++ b/resources/frontend/src/views/goods/addgoods/addgoods.vue @@ -30,17 +30,22 @@ - + + - +
规格{{ i + 1 }}
@@ -90,16 +95,20 @@ diff --git a/resources/frontend/src/views/plat/afterSaleOrder.vue b/resources/frontend/src/views/plat/afterSaleOrder.vue index 6a2c95b..e580379 100644 --- a/resources/frontend/src/views/plat/afterSaleOrder.vue +++ b/resources/frontend/src/views/plat/afterSaleOrder.vue @@ -53,6 +53,14 @@ + + + +