From ce6d5e5d6ec6d0300aac82aa9298d6de39b1eadc Mon Sep 17 00:00:00 2001 From: zx Date: Fri, 3 Apr 2026 08:38:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E6=B5=81=E7=A8=8B=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E5=AE=8C=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/getRepository.js | 24 ++ api/request.js | 3 +- api/stockIn.js | 37 +++ api/system.js | 8 + api/uniqueCode.js | 6 +- components/BarcodeGenerator.vue | 60 ---- package-lock.json | 24 ++ package.json | 3 + pages.json | 122 +++++++- pages/components/ChooseList.vue | 236 ++++++++++++++ pages/components/DetailInfo.vue | 88 ++++++ pages/components/LineSteps.vue | 97 ++++++ pages/components/MaterialList.vue | 281 +++++++++++++++++ pages/components/Navigation.vue | 107 +++++++ pages/components/SearchList.vue | 186 +++++++++++ pages/components/WarehousingInfo.vue | 144 +++++++++ pages/index/index.vue | 1 + pages/intelligent/index.vue | 1 + pages/login/login.vue | 4 +- pages/my/index.vue | 5 +- pages/uniqueCode/issueUniqueCode/index.vue | 242 --------------- .../issueUniqueCode/materialSelection.vue | 121 -------- pages/uniqueCode/myUniqueCode/QrCodeModal.vue | 97 ------ pages/uniqueCode/myUniqueCode/detail.vue | 292 ------------------ pages/until.js | 123 ++++++++ .../warehousing/StockIn/components/detail.vue | 147 +++++++++ .../StockIn/components/inbound.vue | 158 ++++++++++ pages/warehousing/StockIn/create.vue | 206 ++++++++++++ pages/warehousing/StockIn/my.vue | 9 + pages/warehousing/StockIn/putaway.vue | 10 + pages/warehousing/index.vue | 69 +++-- pages/warehousing/toChooseList.vue | 18 ++ .../uniqueCode/issueUniqueCode/index.vue | 205 ++++++++++++ .../issueUniqueCode/materialSelection.vue | 218 +++++++++++++ .../uniqueCode/myUniqueCode/QrCodeModal.vue | 112 +++++++ .../uniqueCode/myUniqueCode/detail.vue | 184 +++++++++++ .../uniqueCode/myUniqueCode/index.vue | 18 +- pages/{ => warehousing}/uniqueCode/until.js | 5 +- static/edit.png | Bin 0 -> 2850 bytes static/printer.png | Bin 0 -> 3071 bytes styles/theme.scss | 278 +++++++++++++---- yarn.lock | 15 + 42 files changed, 3028 insertions(+), 936 deletions(-) create mode 100644 api/getRepository.js create mode 100644 api/stockIn.js create mode 100644 api/system.js delete mode 100644 components/BarcodeGenerator.vue create mode 100644 pages/components/ChooseList.vue create mode 100644 pages/components/DetailInfo.vue create mode 100644 pages/components/LineSteps.vue create mode 100644 pages/components/MaterialList.vue create mode 100644 pages/components/Navigation.vue create mode 100644 pages/components/SearchList.vue create mode 100644 pages/components/WarehousingInfo.vue delete mode 100644 pages/uniqueCode/issueUniqueCode/index.vue delete mode 100644 pages/uniqueCode/issueUniqueCode/materialSelection.vue delete mode 100644 pages/uniqueCode/myUniqueCode/QrCodeModal.vue delete mode 100644 pages/uniqueCode/myUniqueCode/detail.vue create mode 100644 pages/until.js create mode 100644 pages/warehousing/StockIn/components/detail.vue create mode 100644 pages/warehousing/StockIn/components/inbound.vue create mode 100644 pages/warehousing/StockIn/create.vue create mode 100644 pages/warehousing/StockIn/my.vue create mode 100644 pages/warehousing/StockIn/putaway.vue create mode 100644 pages/warehousing/toChooseList.vue create mode 100644 pages/warehousing/uniqueCode/issueUniqueCode/index.vue create mode 100644 pages/warehousing/uniqueCode/issueUniqueCode/materialSelection.vue create mode 100644 pages/warehousing/uniqueCode/myUniqueCode/QrCodeModal.vue create mode 100644 pages/warehousing/uniqueCode/myUniqueCode/detail.vue rename pages/{ => warehousing}/uniqueCode/myUniqueCode/index.vue (90%) rename pages/{ => warehousing}/uniqueCode/until.js (91%) create mode 100644 static/edit.png create mode 100644 static/printer.png diff --git a/api/getRepository.js b/api/getRepository.js new file mode 100644 index 0000000..367f1e9 --- /dev/null +++ b/api/getRepository.js @@ -0,0 +1,24 @@ +// mockWarehousing.js + +// 模拟数据 +const mockWarehousingData = [ + { id: 101, deptName: "Y00002", deptId: "WSA0197", remark: "备注" }, + { id: 102, deptName: "Y00003", deptId: "WSA0198", remark: "" }, + { id: 103, deptName: "Y00004", deptId: "WSA0199", remark: "备注" }, + { id: 104, deptName: "Y00005", deptId: "WSA0200", remark: "" }, +]; + +// Mock 接口(和你原接口格式一致) +const getRepository = (params) => { + return new Promise((resolve) => { + setTimeout(() => { + resolve({ + code: 200, + msg: "获取成功", + data: mockWarehousingData, + }); + }, 200); + }); +}; + +export default getRepository; diff --git a/api/request.js b/api/request.js index dd881bb..341a530 100644 --- a/api/request.js +++ b/api/request.js @@ -1,5 +1,6 @@ //存放主站域名 -const BASE_URL = 'http://192.168.1.5:8082' // 正式环境接口 +// const BASE_URL = 'http://192.168.1.5:8082' // w +const BASE_URL = 'http://192.168.1.9:8082' // 正式环境接口 // const BASE_URL = 'http://47.100.212.83:18088' // 正式环境接口 // const BASE_URL = 'http://192.168.1.9:8088' // 测试环境接口 // const BASE_URL = 'http://192.168.1.5:8088' // 测试环境接口 diff --git a/api/stockIn.js b/api/stockIn.js new file mode 100644 index 0000000..5b26149 --- /dev/null +++ b/api/stockIn.js @@ -0,0 +1,37 @@ +import { request } from './request' +const api ='/worn/inboundBill/' +// 新建:入库单 +const addStockIn = (params) => { + return request(api+'add', params, 'POST') +} +// 列表 +const stockList = (params) => { + return request(api+'list', params, 'get') +} +// 详情 +const stockInDetail = (params) => { + return request('/worn/item/list', params, 'get') +} +// 编辑 +const stockInUpdate = (params) => { + return request('/worn/item/update', params, 'post') +} +// 入库 +const inboundFinish = (params) => { + return request('/worn/inboundBill/inboundFinish', params, 'post') +} +// 作废 +const inboundBillVoid = (params) => { + return request('/worn/inboundBill/void', params, 'post') +} + + +export { + addStockIn, + stockList, + stockInDetail, + stockInUpdate, + inboundFinish, + inboundBillVoid + +} \ No newline at end of file diff --git a/api/system.js b/api/system.js new file mode 100644 index 0000000..1e2a9c5 --- /dev/null +++ b/api/system.js @@ -0,0 +1,8 @@ +import { request } from "./request"; + +// 根据当前用户获取仓库信息 +const getWarehousingInfo = (params) => { + return request(`/system/user/myDeptChildren`, params, "get"); +}; + +export { getWarehousingInfo }; diff --git a/api/uniqueCode.js b/api/uniqueCode.js index 4bd7818..dfd8aa4 100644 --- a/api/uniqueCode.js +++ b/api/uniqueCode.js @@ -21,9 +21,12 @@ const delUniqueCode = (params) => { }; // 详情:唯一码 const detailUniqueCode = (params) => { - console.log(params,'params'); return request(`/unique/code/${params.id}`, params, 'GET'); }; +// 详情:通过唯一码获取物料信息 +const getMaterialUnique = (params) => { + return request(`/unique/code/materialInfo/${params.code}`, params, 'GET'); +}; export { getMaterial, @@ -32,4 +35,5 @@ export { delUniqueCode, detailUniqueCode, editUniqueCode, + getMaterialUnique }; diff --git a/components/BarcodeGenerator.vue b/components/BarcodeGenerator.vue deleted file mode 100644 index 189810d..0000000 --- a/components/BarcodeGenerator.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - - \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 76a6634..dd3ecd6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,10 @@ "": { "dependencies": { "@climblee/uv-ui": "^1.1.20", + "dayjs": "^1.11.20", "jsbarcode": "^3.12.3", + "lodash": "^4.17.23", + "numeral": "^2.0.6", "z-paging": "^2.8.8" }, "devDependencies": { @@ -817,6 +820,12 @@ "dev": true, "license": "MIT" }, + "node_modules/dayjs": { + "version": "1.11.20", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.20.tgz", + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", + "license": "MIT" + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-2.1.2.tgz", @@ -1107,6 +1116,12 @@ "node": ">=8.9.0" } }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "license": "MIT" + }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz", @@ -1159,6 +1174,15 @@ "dev": true, "license": "MIT" }, + "node_modules/numeral": { + "version": "2.0.6", + "resolved": "https://registry.npmmirror.com/numeral/-/numeral-2.0.6.tgz", + "integrity": "sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", diff --git a/package.json b/package.json index 978e13e..eb56032 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,10 @@ { "dependencies": { "@climblee/uv-ui": "^1.1.20", + "dayjs": "^1.11.20", "jsbarcode": "^3.12.3", + "lodash": "^4.17.23", + "numeral": "^2.0.6", "z-paging": "^2.8.8" }, "devDependencies": { diff --git a/pages.json b/pages.json index 6dcbacf..81daa19 100644 --- a/pages.json +++ b/pages.json @@ -32,22 +32,117 @@ "path": "pages/my/index", "style": { "navigationBarTitleText": "我的" } }, + + // 仓储 - 唯一码 { - "path": "pages/uniqueCode/issueUniqueCode/index", + "path": "pages/warehousing/uniqueCode/issueUniqueCode/index", "style": { "navigationBarTitleText": "唯一码发放" } }, { - "path": "pages/uniqueCode/issueUniqueCode/materialSelection", + "path": "pages/warehousing/uniqueCode/issueUniqueCode/materialSelection", "style": { "navigationBarTitleText": "物料选择" } }, { - "path": "pages/uniqueCode/myUniqueCode/index", + "path": "pages/warehousing/uniqueCode/myUniqueCode/index", "style": { "navigationBarTitleText": "唯一码" } }, { - "path": "pages/uniqueCode/myUniqueCode/detail", - "style": { "navigationBarTitleText": "唯一码详情" } + "path": "pages/warehousing/uniqueCode/myUniqueCode/detail", + "style": { + "navigationBarTitleText": "唯一码详情", + "navigationStyle": "custom" + } + }, + // { + // "path": "pages/uniqueCode/bindRfid", + // "style": { "navigationBarTitleText": "绑定RFID" } + // }, + + // ========== 库存信息模块 ========== + // { + // "path": "pages/inventory/checkUniqueCode", + // "style": { "navigationBarTitleText": "唯一码盘点" } + // }, + // { + // "path": "pages/inventory/age", + // "style": { "navigationBarTitleText": "库龄查看" } + // }, + // { + // "path": "pages/inventory/alert", + // "style": { "navigationBarTitleText": "库存预警" } + // }, + + // ========== 报表模块 ========== + // { + // "path": "pages/report/daily", + // "style": { "navigationBarTitleText": "库存日报" } + // }, + // { + // "path": "pages/report/monthly", + // "style": { "navigationBarTitleText": "库存月报" } + // }, + // { + // "path": "pages/report/company", + // "style": { "navigationBarTitleText": "公司库存报表" } + // }, + // { + // "path": "pages/report/warehouse", + // "style": { "navigationBarTitleText": "仓库库存报表" } + // }, + + // ========== 申报单模块 ========== + // { + // "path": "pages/declaration/materialQuery", + // "style": { "navigationBarTitleText": "物资查询" } + // }, + // { + // "path": "pages/declaration/create", + // "style": { "navigationBarTitleText": "申报单开单" } + // }, + // { + // "path": "pages/declaration/my", + // "style": { "navigationBarTitleText": "我的申报单" } + // }, + + // ========== 入库单模块 ========== + { + "path": "pages/warehousing/stockIn/create", + "style": { "navigationBarTitleText": "入库单开单" } + }, + { + "path": "pages/warehousing/stockIn/my", + "style": { "navigationBarTitleText": "我的入库单" } + }, + { + "path": "pages/warehousing/stockIn/components/detail", + "style": { "navigationBarTitleText": "详情", "navigationStyle": "custom" } + }, + { + "path": "pages/warehousing/stockIn/putaway", + "style": { "navigationBarTitleText": "入库单入库" } + }, + { + "path": "pages/warehousing/toChooseList", + "style": { "navigationBarTitleText": "请选择" } + }, + { + "path": "pages/warehousing/stockIn/components/inbound", + "style": { "navigationBarTitleText": "入库" } } + + // ========== 出库单模块 ========== + // { + // "path": "pages/stockOut/create", + // "style": { "navigationBarTitleText": "出库单开单" } + // }, + // { + // "path": "pages/stockOut/my", + // "style": { "navigationBarTitleText": "我的出库单" } + // }, + // { + // "path": "pages/stockOut/warehousing", + // "style": { "navigationBarTitleText": "出库单出库" } + // } ], "globalStyle": { "navigationBarTextStyle": "black", @@ -55,18 +150,17 @@ "navigationBarBackgroundColor": "#F5F5F5", "backgroundColor": "#F5F5F5" }, - // 底部 tabBar 核心配置 "tabBar": { - "color": "#666", // 未选中文字颜色 - "selectedColor": "#007AFF", // 选中文字颜色 - "backgroundColor": "#fff", // 导航栏背景色 - "borderStyle": "black", // 上边框样式(black/white) - "height": "50px", // 导航栏高度(App 端建议 50px 左右) + "color": "#666", + "selectedColor": "#007AFF", + "backgroundColor": "#fff", + "borderStyle": "black", + "height": "50px", "list": [ { - "pagePath": "pages/index/index", // 必须和 pages 中的路径一致 - "text": "首页", // 底部文字 - "iconPath": "static/icon/home.png", // 未选中图标(建议 28x28px) + "pagePath": "pages/index/index", + "text": "首页", + "iconPath": "static/icon/home.png", "selectedIconPath": "static/icon/home-active.png" }, { diff --git a/pages/components/ChooseList.vue b/pages/components/ChooseList.vue new file mode 100644 index 0000000..805fc85 --- /dev/null +++ b/pages/components/ChooseList.vue @@ -0,0 +1,236 @@ + + + + \ No newline at end of file diff --git a/pages/components/DetailInfo.vue b/pages/components/DetailInfo.vue new file mode 100644 index 0000000..bdda3c6 --- /dev/null +++ b/pages/components/DetailInfo.vue @@ -0,0 +1,88 @@ + + + + \ No newline at end of file diff --git a/pages/components/LineSteps.vue b/pages/components/LineSteps.vue new file mode 100644 index 0000000..6a6cc15 --- /dev/null +++ b/pages/components/LineSteps.vue @@ -0,0 +1,97 @@ + + + + + \ No newline at end of file diff --git a/pages/components/MaterialList.vue b/pages/components/MaterialList.vue new file mode 100644 index 0000000..6bd0a1b --- /dev/null +++ b/pages/components/MaterialList.vue @@ -0,0 +1,281 @@ + + + + \ No newline at end of file diff --git a/pages/components/Navigation.vue b/pages/components/Navigation.vue new file mode 100644 index 0000000..9d62ed7 --- /dev/null +++ b/pages/components/Navigation.vue @@ -0,0 +1,107 @@ + + + + + \ No newline at end of file diff --git a/pages/components/SearchList.vue b/pages/components/SearchList.vue new file mode 100644 index 0000000..8628150 --- /dev/null +++ b/pages/components/SearchList.vue @@ -0,0 +1,186 @@ + + + + + \ No newline at end of file diff --git a/pages/components/WarehousingInfo.vue b/pages/components/WarehousingInfo.vue new file mode 100644 index 0000000..4d3f848 --- /dev/null +++ b/pages/components/WarehousingInfo.vue @@ -0,0 +1,144 @@ + + + + \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue index 3ec3d6e..e655b9c 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,3 +1,4 @@ +