From 61e34db972a232cf46f9cb1f39d71d1adfaf6c63 Mon Sep 17 00:00:00 2001 From: ycy <2861518472@qq.com> Date: Mon, 8 Apr 2024 16:29:46 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=E7=A5=A8=E6=8D=AE=E6=8A=A5?= =?UTF-8?q?=E6=8D=9F=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mock/modules/ycy.js | 33 ++ src/api/finance-bill-manage/breakageList.js | 7 + src/layout/components/LayoutAside.vue | 3 + .../finance-bill-manage/billBreakage.vue | 540 ++++++++++++++++++ src/pages/finance-bill-manage/billCancel.vue | 5 +- .../finance-bill-manage/billQuitneck.vue | 22 +- src/pages/finance-bill-manage/billStock.vue | 19 +- src/router/modules/financeBillManage.js | 9 + src/stores/billBreakage.js | 33 ++ 9 files changed, 659 insertions(+), 12 deletions(-) create mode 100644 src/api/finance-bill-manage/breakageList.js create mode 100644 src/pages/finance-bill-manage/billBreakage.vue create mode 100644 src/stores/billBreakage.js diff --git a/mock/modules/ycy.js b/mock/modules/ycy.js index 1885209..2141287 100644 --- a/mock/modules/ycy.js +++ b/mock/modules/ycy.js @@ -1,4 +1,6 @@ import Mock from "mockjs"; + +// 入库列表 const StockList = Mock.mock({ "list|20-30": [ { @@ -13,6 +15,8 @@ const StockList = Mock.mock({ }, ], }); + +// 领用列表 const ReceiptList = Mock.mock([ { "list|20-30": [ @@ -67,6 +71,8 @@ const ReceiptList = Mock.mock([ ], }, ]); + +// 退领列表 const quitneckList = Mock.mock([ { list: [ @@ -122,6 +128,7 @@ const quitneckList = Mock.mock([ }, ]); +// 人员名单 const personName = () => { return [ { @@ -144,6 +151,7 @@ const personName = () => { ]; }; +// 退库列表 const CancelList = Mock.mock({ "list|20-30": [ { @@ -159,6 +167,21 @@ const CancelList = Mock.mock({ ], }); +// 报损列表 +const breakageList = Mock.mock({ + "list|20-30": [ + { + "id|+1": 0, + billserial: "@integer(100000000,199999999)1", + billType: "@integer(0,4)", + breakNum: "@integer(1,2)", + breakDate: "@date", + operator: "@cname", + breakStatus: "@integer(0,2)", + }, + ], +}); + export default [ { url: "/api/stockList", @@ -218,4 +241,14 @@ export default [ } }, }, + { + url: "/api/breakageList", + method: "get", + response: () => { + return { + code: 200, + data: breakageList, + }; + }, + }, ]; diff --git a/src/api/finance-bill-manage/breakageList.js b/src/api/finance-bill-manage/breakageList.js new file mode 100644 index 0000000..1d6e577 --- /dev/null +++ b/src/api/finance-bill-manage/breakageList.js @@ -0,0 +1,7 @@ +import request from "@/utils/requestMock"; + +const API = { + BACKAGE_LIST: "/breakageList", +}; + +export const reqBreakageList = () => request.get(API.BACKAGE_LIST); diff --git a/src/layout/components/LayoutAside.vue b/src/layout/components/LayoutAside.vue index d5287c3..83ee151 100644 --- a/src/layout/components/LayoutAside.vue +++ b/src/layout/components/LayoutAside.vue @@ -25,6 +25,9 @@ 票据退领管理 + + 票据报损管理 + @@ -163,7 +164,7 @@ @@ -191,7 +192,7 @@ diff --git a/src/router/modules/financeBillManage.js b/src/router/modules/financeBillManage.js index 0e8b947..c4aff91 100644 --- a/src/router/modules/financeBillManage.js +++ b/src/router/modules/financeBillManage.js @@ -3,6 +3,7 @@ import BillStockURL from "@/pages/finance-bill-manage/billStock.vue"; import BillCancelURL from "@/pages/finance-bill-manage/billCancel.vue"; import BillReceiptURL from "@/pages/finance-bill-manage/billReceipt.vue"; import BillQuitneckURL from "@/pages/finance-bill-manage/billQuitneck.vue"; +import BillBreakagekURL from "@/pages/finance-bill-manage/billBreakage.vue"; const financeBillManage = [ { @@ -43,6 +44,14 @@ const financeBillManage = [ title: "票据退领", }, }, + { + path: "BillBreakagek", + name: "billBreakagek", + component: BillBreakagekURL, + meta: { + title: "票据报损", + }, + }, ], }, ]; diff --git a/src/stores/billBreakage.js b/src/stores/billBreakage.js new file mode 100644 index 0000000..9569d3e --- /dev/null +++ b/src/stores/billBreakage.js @@ -0,0 +1,33 @@ +import { defineStore } from "pinia"; +import { reqBreakageList } from "@/api/finance-bill-manage/breakageList"; + +export const useBreakage = defineStore("breakageList", { + state: () => { + return { + breakageList: [], + }; + }, + actions: { + async getBreakageList() { + let { data } = await reqBreakageList(); + this.breakageList = data.list; + return this.breakageList; + }, + addBreakageList(arr) { + const index = this.breakageList.findIndex((item) => item.id === arr.id); + if (index !== -1) { + this.breakageList[index] = arr; + } else { + arr.id = new Date().getTime(); + this.breakageList.unshift(arr); + localStorage.setItem("breakageList", JSON.stringify(this.breakageList)); + } + return this.breakageList; + }, + deleteBreakageList(item) { + let arr = this.breakageList.filter((i) => i.id !== item.id); + this.breakageList = arr; + }, + }, + persist: true, +});