From 9a85f1bd138cf4334ba267588abb2526706763d2 Mon Sep 17 00:00:00 2001 From: Fsd0511 <422865775@qq.com> Date: Thu, 28 Aug 2025 17:29:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix=EF=BC=9A=E6=96=B0=E5=A2=9E=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/orderManager/index.js | 29 + components/dict-tag/dict-tag.vue | 185 ++++ config.js | 4 +- main.js | 4 +- manifest.json | 36 +- pages.json | 15 + pages/work/OrderApproval/OrderDetail.vue | 61 +- pages/work/OrderManager/components/NewAdd.vue | 814 ++++++++++++++++++ .../OrderManager/components/OrderDetail.vue | 449 ++++++++++ pages/work/OrderManager/components/data1.js | 113 +++ pages/work/OrderManager/data.js | 49 ++ pages/work/OrderManager/detail.vue | 34 + pages/work/OrderManager/detailData.js | 72 ++ pages/work/OrderManager/index.vue | 296 +++++++ pages/work/index.vue | 11 + 15 files changed, 2101 insertions(+), 71 deletions(-) create mode 100644 api/orderManager/index.js create mode 100644 components/dict-tag/dict-tag.vue create mode 100644 pages/work/OrderManager/components/NewAdd.vue create mode 100644 pages/work/OrderManager/components/OrderDetail.vue create mode 100644 pages/work/OrderManager/components/data1.js create mode 100644 pages/work/OrderManager/data.js create mode 100644 pages/work/OrderManager/detail.vue create mode 100644 pages/work/OrderManager/detailData.js create mode 100644 pages/work/OrderManager/index.vue diff --git a/api/orderManager/index.js b/api/orderManager/index.js new file mode 100644 index 0000000..93e88ed --- /dev/null +++ b/api/orderManager/index.js @@ -0,0 +1,29 @@ +import request from '@/utils/request' +export function listsalemain(data,query) { + return request({ + url: '/bussiness/salemain/list', + method: 'post', + data: data, + params: query, + + }) +} +// 查询s生产单位列表 +export function listproductList(data,query) { + return request({ + url: '/system/dept/productList', + method: 'get', + data:data, + params: query + }) +} +// 新建销售订单时候的商品列表 +export function listsaleBusGoodsList(data,query) { + return request({ + url: '/bussiness/businessgoods/saleBusGoodsList', + method: 'post', + data: data, + params: query, + + }) +} \ No newline at end of file diff --git a/components/dict-tag/dict-tag.vue b/components/dict-tag/dict-tag.vue new file mode 100644 index 0000000..2545cad --- /dev/null +++ b/components/dict-tag/dict-tag.vue @@ -0,0 +1,185 @@ + + + + + + \ No newline at end of file diff --git a/config.js b/config.js index f9c5bc2..b3dae19 100644 --- a/config.js +++ b/config.js @@ -1,8 +1,8 @@ // 应用全局配置 export default { - baseUrl: 'https://vue.ruoyi.vip/prod-api', // + // baseUrl: 'https://vue.ruoyi.vip/prod-api', // // baseUrl: '/prod-api', //前后端分离版的接口地址,转发代理 设置在了manifest.json文件中 - // baseUrl: 'http://192.168.3.27:18090', //前后端分离版的接口地址 + baseUrl: 'http://106.15.139.36:18090', //前后端分离版的接口地址 //测试提交 // 应用信息 appInfo: { diff --git a/main.js b/main.js index 76aa9bd..cbe9a47 100644 --- a/main.js +++ b/main.js @@ -4,10 +4,12 @@ import store from './store' // store import { install } from './plugins' // plugins import './permission' // permission import { useDict } from '@/utils/dict' - +// 全局注册 dict-tag 组件 +// import DictTag from '@/components/dict-tag/dict-tag.vue'; export function createApp() { const app = createSSRApp(App) app.use(store) + // app.component('dict-tag', DictTag); app.config.globalProperties.useDict = useDict install(app) return { diff --git a/manifest.json b/manifest.json index c87595c..d1ee0f3 100644 --- a/manifest.json +++ b/manifest.json @@ -57,24 +57,24 @@ }, "vueVersion" : "3", "h5" : { - "template" : "static/index.html", - "devServer" : { - "port" : 30088, - "https" : false - // "proxy" : { - // "/prod-api" : { - // "target" : "http://192.168.0.3:18090/", - // "changeOrigin" : true, - // "secure" : false, - // "pathRewrite" : { - // "^/prod-api" : "/" - // }, - // "headers" : { - // "Origin" : "http://192.168.0.3:18090/", - // "Referer" : "http://192.168.0.3:18090/" - // } - // } - // } + "template" : "static/index.html" + // "devServer" : { + // "port" : 30088, + // "https" : false, + // "proxy": { + // "/prod-api":{ + // "target" : "http://106.15.139.36:18090", + // "changeOrigin" : true, + // "secure" : false, + // "pathRewrite" : { + // "^/prod-api" : "/" + // }, + // "headers" : { + // "Origin" : "http://106.15.139.36:18090", + // "Referer" : "http://106.15.139.36:18090" + // } + // } + // } }, "title" : "RuoYi-App", "router" : { diff --git a/pages.json b/pages.json index 5467be5..6ac2ba9 100644 --- a/pages.json +++ b/pages.json @@ -20,6 +20,11 @@ "style": { "navigationBarTitleText": "工作台" } + }, { + "path": "pages/work/OrderManager/index", + "style": { + "navigationBarTitleText": "订单管理" + } }, { "path": "pages/work/BusinessApproval/index", "style": { @@ -100,6 +105,16 @@ "style": { "navigationBarTitleText": "订单审批详情" } + },{ + "path": "pages/work/OrderManager/components/OrderDetail", + "style": { + "navigationBarTitleText": "订单管理详情" + } + },{ + "path": "pages/work/OrderManager/components/NewAdd", + "style": { + "navigationBarTitleText": "新增订单" + } }], "tabBar": { diff --git a/pages/work/OrderApproval/OrderDetail.vue b/pages/work/OrderApproval/OrderDetail.vue index bcaf354..ac8d8ea 100644 --- a/pages/work/OrderApproval/OrderDetail.vue +++ b/pages/work/OrderApproval/OrderDetail.vue @@ -34,41 +34,10 @@ 联系方式:{{ contract.ispaynow }} - - - - *执行月份: - - - - - - 折后订单金额:{{ contract.piaokous }} - - - - - 本月商务额度:{{ contract.contractmoney }} - - - 本月商务可用:{{ contract.contractmoney }} - - - - - 本月大区额度:{{ contract.contractmoney }} - - - 本月大区可用:{{ contract.contractmoney }} - - + - 收货地址:{{ contract.place }} + 发货仓库:{{ contract.place }} @@ -97,19 +66,19 @@ - + 件装数:{{ goods.packingnum }} - 供应参考价:{{ goods.invoiceprice }} + 单价:{{ goods.invoiceprice }} - + 前三月平均数:{{ goods.mon3 }} @@ -121,26 +90,17 @@ - + - 小计:{{ goods.allmoney }} + 可分配数:{{ goods.allmoney }} - 使用票扣:{{ goods.piaokou }} + 要求补差:{{ goods.piaokou }} - - - - - 税率:{{ goods.taxrate }} - - - - @@ -148,8 +108,9 @@ - - + + + diff --git a/pages/work/OrderManager/components/NewAdd.vue b/pages/work/OrderManager/components/NewAdd.vue new file mode 100644 index 0000000..de00ac7 --- /dev/null +++ b/pages/work/OrderManager/components/NewAdd.vue @@ -0,0 +1,814 @@ + + + + + \ No newline at end of file diff --git a/pages/work/OrderManager/components/OrderDetail.vue b/pages/work/OrderManager/components/OrderDetail.vue new file mode 100644 index 0000000..f4b46b7 --- /dev/null +++ b/pages/work/OrderManager/components/OrderDetail.vue @@ -0,0 +1,449 @@ + + + + + \ No newline at end of file diff --git a/pages/work/OrderManager/components/data1.js b/pages/work/OrderManager/components/data1.js new file mode 100644 index 0000000..a47c85f --- /dev/null +++ b/pages/work/OrderManager/components/data1.js @@ -0,0 +1,113 @@ +// buchadata.js +export default { + data: [ + { + piaokouid: 1, + goodsid: 1, // 对应盐酸丙卡特罗片(美普清)10 + applydate: "2024-01-15", + piaokoutype: "价格补差", + shortname: "MPT10", + goodsname: "盐酸丙卡特罗片(美普清)10", + piaokou: 100 + }, + { + piaokouid: 101, + goodsid: 1, // 对应盐酸丙卡特罗片(美普清)10 + applydate: "2025-11-15", + piaokoutype: "价格补差", + shortname: "MPT10", + goodsname: "盐酸丙卡特罗片(美普清)10", + piaokou: 200 + }, + { + piaokouid: 2, + goodsid: 3, // 对应盐酸丙卡特罗片(美普清)20 + applydate: "2024-01-16", + piaokoutype: "运费补差", + shortname: "MPT20", + goodsname: "盐酸丙卡特罗片(美普清)20", + piaokou: 8.00 + }, + { + piaokouid: 3, + goodsid: 5, // 对应瑞巴派特片(膜固思达)24 + applydate: "2024-01-17", + piaokoutype: "促销补差", + shortname: "MCT24", + goodsname: "瑞巴派特片(膜固思达)24", + piaokou: 12.80 + }, + { + piaokouid: 4, + goodsid: 35, // 对应瑞巴派特片(膜固思达)48 + applydate: "2024-01-18", + piaokoutype: "价格补差", + shortname: "MCT48", + goodsname: "瑞巴派特片(膜固思达)48", + piaokou: 25.00 + }, + { + piaokouid: 5, + goodsid: 6, // 对应阿立哌唑片(安律凡)5mg + applydate: "2024-01-19", + piaokoutype: "运费补差", + shortname: "ABF5", + goodsname: "阿立哌唑片(安律凡)5mg", + piaokou: 18.50 + }, + { + piaokouid: 6, + goodsid: 8, // 对应托伐普坦片(苏麦卡) + applydate: "2024-01-20", + piaokoutype: "促销补差", + shortname: "SMC", + goodsname: "托伐普坦片(苏麦卡)", + piaokou: 45.75 + }, + { + piaokouid: 7, + goodsid: 10, // 对应白消安注射液(白舒非) + applydate: "2024-01-21", + piaokoutype: "价格补差", + shortname: "BSF", + goodsname: "白消安注射液(白舒非)", + piaokou: 120.25 + }, + { + piaokouid: 8, + goodsid: 33, // 对应德拉马尼片(德尔巴) + applydate: "2024-01-22", + piaokoutype: "运费补差", + shortname: "DLM", + goodsname: "德拉马尼片(德尔巴)", + piaokou: 280.00 + }, + { + piaokouid: 9, + goodsid: 39, // 对应注射用阿立哌唑0.4g + applydate: "2024-01-23", + piaokoutype: "促销补差", + shortname: "AOM400", + goodsname: "注射用阿立哌唑0.4g", + piaokou: 95.90 + }, + { + piaokouid: 10, + goodsid: 41, // 对应布瑞哌唑片(锐思定)1mg + applydate: "2024-01-24", + piaokoutype: "价格补差", + shortname: "RXT1", + goodsname: "布瑞哌唑片(锐思定)1mg", + piaokou: 22.40 + }, + { + piaokouid: 11, + goodsid: 42, // 对应泊那替尼片(英可欣)15mg + applydate: "2024-01-25", + piaokoutype: "运费补差", + shortname: "ISG", + goodsname: "泊那替尼片(英可欣)15mg", + piaokou: 350.60 + } + ] +}; \ No newline at end of file diff --git a/pages/work/OrderManager/data.js b/pages/work/OrderManager/data.js new file mode 100644 index 0000000..2464c2a --- /dev/null +++ b/pages/work/OrderManager/data.js @@ -0,0 +1,49 @@ +// staticData.js +export const contractData = { + "total": 2, + "rows": [ + { + "saleid": 999822, + "adddate": "2025-08-20 09:05:26", + "contractcode": "Z-CQ-000120", + "contractmoney": 5767.4700, + "usernames": "重庆医药集团医贸药品有限公司", + "businessManagerName": "商务经理名字-西区", + "transport": "汽运", + "areaName": "重庆", + "warehouseName": "临安GSP库", + "companyName": "浙江大冢制药有限公司", + "stateText": "待商务审批", + "bigAreaName": "西区" + }, + { + "saleid": 999833, + "adddate": "2025-08-20 09:05:26", + "contractcode": "Z-CQ-000120", + "contractmoney": 5767.4700, + "usernames": "重庆医药集团医贸药品有限公司", + "businessManagerName": "商务经理名字-西区", + "transport": "汽运", + "areaName": "重庆", + "warehouseName": "临安GSP库", + "companyName": "浙江大冢制药有限公司", + "stateText": "待商务审批", + "bigAreaName": "西区" + }, + { + "saleid": 166314, + "adddate": "2025-07-08 15:09:20", + "contractcode": "G-SC-40861", + "contractmoney": 109296.0000, + "usernames": "国药集团西南医药有限公司", + "transport": "汽运", + "areaName": "四川", + "warehouseName": "广东三方(上药)", + "companyName": "广东大冢制药有限公司", + "stateText": "待商务审批", + "bigAreaName": "西区" + } + ], + "code": 200, + "msg": "查询成功" +}; \ No newline at end of file diff --git a/pages/work/OrderManager/detail.vue b/pages/work/OrderManager/detail.vue new file mode 100644 index 0000000..9783562 --- /dev/null +++ b/pages/work/OrderManager/detail.vue @@ -0,0 +1,34 @@ + + + + + \ No newline at end of file diff --git a/pages/work/OrderManager/detailData.js b/pages/work/OrderManager/detailData.js new file mode 100644 index 0000000..ec2fd89 --- /dev/null +++ b/pages/work/OrderManager/detailData.js @@ -0,0 +1,72 @@ +// staticData.js +export const contractData = { + "total": 2, + "data": [ + { + "saleid": 999822, + "user_name": "重庆医药集团医贸药品有限公司", + "phonenumber": "", + "budgetmoney_area": 0.0000, + "ispaynow": "非现款", + "contractcode": "Z-CQ-000120", + "piaokous": 5767.4700, + "budgetmoney1": 0.0000, + "CAN": 0.0000, + "ContractMoney1": 0.00, + "contractmoney": 5767.4700, + "ContractMoney_area": 0.00, + "CAN_area": 0.0000, + "place": "重庆市沙坪坝区土主镇明珠山一支路4号", + "piaokou": 0.0000, + "dept_id": 1, + "shortName": "重庆医贸", + "adddate": "2025-08-20" + }, + + ], + "code": 200, + "msg": "查询成功" +}; +export const goodsData = + { + "msg": "操作成功", + "code": 200, + "data": [ + { + "taxrate": 1.00, + "mon3": 0.0000, + "packingnum": 200, + "invoiceprice": 46.8900, + "goodsname": "盐酸丙卡特罗片(美普清)10", + "piaokou": 0.0000, + "goodsnum": 123, + "allmoney": 5767.4700, + "shortname": "MPT10", + "num":0 + }, + { + "taxrate": 2.00, + "mon3": 0.0000, + "packingnum": 200, + "invoiceprice": 46.8900, + "goodsname": "诺氟沙星(美普清)10", + "piaokou": 0.0000, + "goodsnum": 123, + "allmoney": 5767.4700, + "shortname": "MPT10", + "num":0 + }, + { + "taxrate": 3.00, + "mon3": 0.0000, + "packingnum": 200, + "invoiceprice": 46.8900, + "goodsname": "盐酸宁干片(美普清)10", + "piaokou": 0.0000, + "goodsnum": 123, + "allmoney": 5767.4700, + "shortname": "MPT10", + "num":0 + } + ] + } diff --git a/pages/work/OrderManager/index.vue b/pages/work/OrderManager/index.vue new file mode 100644 index 0000000..1f12be7 --- /dev/null +++ b/pages/work/OrderManager/index.vue @@ -0,0 +1,296 @@ + + + + + \ No newline at end of file diff --git a/pages/work/index.vue b/pages/work/index.vue index 929edbf..2416d1f 100644 --- a/pages/work/index.vue +++ b/pages/work/index.vue @@ -15,6 +15,12 @@ + + + + 订单管理 + + @@ -124,6 +130,11 @@ url:'/pages/work/OrderApproval/index' }) } + const gotoOrderManager = () =>{ + uni.navigateTo({ + url:'/pages/work/OrderManager/index' + }) + } From 18d6627f411a0129299a15da859ad749bb9bf60f Mon Sep 17 00:00:00 2001 From: Fsd0511 <422865775@qq.com> Date: Mon, 1 Sep 2025 16:05:31 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=9F=BA=E6=9C=AC=E5=AE=8C=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/orderManager/index.js | 57 +- main.js | 32 +- package.json | 5 + pages.json | 11 +- .../work/OrderManager/components/EditData.vue | 882 ++++++++++++++++++ .../work/OrderManager/components/LookData.vue | 590 ++++++++++++ pages/work/OrderManager/components/NewAdd.vue | 79 +- .../OrderManager/components/OrderDetail.vue | 449 --------- pages/work/OrderManager/index.vue | 18 +- store/modules/orderManager.js | 45 + 10 files changed, 1684 insertions(+), 484 deletions(-) create mode 100644 package.json create mode 100644 pages/work/OrderManager/components/EditData.vue create mode 100644 pages/work/OrderManager/components/LookData.vue delete mode 100644 pages/work/OrderManager/components/OrderDetail.vue create mode 100644 store/modules/orderManager.js diff --git a/api/orderManager/index.js b/api/orderManager/index.js index 93e88ed..201b0ac 100644 --- a/api/orderManager/index.js +++ b/api/orderManager/index.js @@ -26,4 +26,59 @@ export function listsaleBusGoodsList(data,query) { params: query, }) -} \ No newline at end of file +} +// 查询剩余额度 +export function getsalemaincheckAmount(queryParams) { + return request({ + url: '/bussiness/salemain/checkAmount?companyId=' + queryParams.companyId + '&saleId=' + queryParams.saleId, + method: 'post', + // isEncrypt: false + }) +} +// 新增 +export function addsalemain(data) { + return request({ + url: '/bussiness/salemain/add', + method: 'post', + data: data, + // isEncrypt: false + }) +} + +// 修改 +export function updatesalemain(data) { + return request({ + url: '/bussiness/salemain/edit', + method: 'post', + data: data, + // isEncrypt: false + }) +} + +// 查询详细 +export function salemainDetail(salemainId) { + return request({ + url: '/bussiness/salemain/info?id=' + salemainId, + method: 'get', + // isEncrypt: false + }) +} +// 商务经理审批时获取详情,下面的商品列表 +export function businessManagerReviewGoodsList(salemainId) { + return request({ + url: '/bussiness/businessgoods/businessManagerReviewGoodsList?saleId=' + salemainId, + method: 'post', + // isEncrypt: false + }) +} + + + +// 删除 +export function delsalemain(id) { + return request({ + url: '/bussiness/salemain/remove?ids=' +id, + method: 'post', + // isEncrypt: false + }) +} diff --git a/main.js b/main.js index cbe9a47..fc115ae 100644 --- a/main.js +++ b/main.js @@ -1,18 +1,34 @@ +// main.js import { createSSRApp } from 'vue' import App from './App' -import store from './store' // store -import { install } from './plugins' // plugins -import './permission' // permission +import store from './store' // Vuex store(如果还在用) +import { install } from './plugins' // 自定义插件 +import './permission' // 路由权限 import { useDict } from '@/utils/dict' -// 全局注册 dict-tag 组件 -// import DictTag from '@/components/dict-tag/dict-tag.vue'; +import { createPinia } from 'pinia' +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' + export function createApp() { const app = createSSRApp(App) - app.use(store) - // app.component('dict-tag', DictTag); + const pinia = createPinia() + + // ✅ 安全注册持久化插件 + if (piniaPluginPersistedstate) { + pinia.use(piniaPluginPersistedstate) + } else { + console.warn('pinia-plugin-persistedstate not found, persistence may not work') + } + + app.use(pinia) + app.use(store) // 如果你还在用 Vuex,否则可删除 + + // 挂载全局方法 app.config.globalProperties.useDict = useDict + + // 安装其他插件 install(app) + return { app } -} +} \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..e28cdf7 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "pinia-plugin-persistedstate": "^4.5.0" + } +} diff --git a/pages.json b/pages.json index 6ac2ba9..5a076cd 100644 --- a/pages.json +++ b/pages.json @@ -106,15 +106,22 @@ "navigationBarTitleText": "订单审批详情" } },{ - "path": "pages/work/OrderManager/components/OrderDetail", + "path": "pages/work/OrderManager/components/LookData", "style": { - "navigationBarTitleText": "订单管理详情" + "navigationBarTitleText": "订单详情", + "props": true // 开启 props 传参 } },{ "path": "pages/work/OrderManager/components/NewAdd", "style": { "navigationBarTitleText": "新增订单" } + },{ + "path": "pages/work/OrderManager/components/EditData", + "style": { + "navigationBarTitleText": "修改订单", + "props": true // 开启 props 传参 + } }], "tabBar": { diff --git a/pages/work/OrderManager/components/EditData.vue b/pages/work/OrderManager/components/EditData.vue new file mode 100644 index 0000000..c7fb96b --- /dev/null +++ b/pages/work/OrderManager/components/EditData.vue @@ -0,0 +1,882 @@ + + + + + \ No newline at end of file diff --git a/pages/work/OrderManager/components/LookData.vue b/pages/work/OrderManager/components/LookData.vue new file mode 100644 index 0000000..f4ad765 --- /dev/null +++ b/pages/work/OrderManager/components/LookData.vue @@ -0,0 +1,590 @@ + + + + + \ No newline at end of file diff --git a/pages/work/OrderManager/components/NewAdd.vue b/pages/work/OrderManager/components/NewAdd.vue index de00ac7..ae40f35 100644 --- a/pages/work/OrderManager/components/NewAdd.vue +++ b/pages/work/OrderManager/components/NewAdd.vue @@ -192,7 +192,8 @@ - - \ No newline at end of file diff --git a/pages/work/OrderManager/index.vue b/pages/work/OrderManager/index.vue index 1f12be7..2abf1c3 100644 --- a/pages/work/OrderManager/index.vue +++ b/pages/work/OrderManager/index.vue @@ -87,7 +87,7 @@ import { ref, reactive, onMounted, computed,getCurrentInstance } from "vue" import { contractData } from "../OrderManager/data.js" // 根据实际路径调整 import { getDicts } from "../../../api/system/dict/data.js" // import DictTag from '@/components/dict-tag/dict-tag.vue'; - +import { useOrderManagerStore } from "../../../store/modules/orderManager.js" // import { log } from "console" const { proxy } = getCurrentInstance() // 表单数据 @@ -214,9 +214,19 @@ function gotoDetail(contract) { // proxy.$tab.navigateTo('/pages/work/yonghu/detail') // proxy.$tab.navigateTo(`/pages/work/yonghu/detail?saleid=${contract.saleid}`) // proxy.$tab.navigateTo('pages/work/OrderManager/OrderDetail') -uni.navigateTo({ - url: "/pages/work/OrderManager/components/OrderDetail" -}); + //存储要传的值到pinia + useOrderManagerStore().addOrder(contract) + console.log('数据',useOrderManagerStore().orders) + if(contract.state == '0'){ + uni.navigateTo({ + url: "/pages/work/OrderManager/components/EditData?" + }); + }else{ + uni.navigateTo({ + url: "/pages/work/OrderManager/components/LookData" + }); + } + } const gotoNewAdd = () =>{ uni.navigateTo({ diff --git a/store/modules/orderManager.js b/store/modules/orderManager.js new file mode 100644 index 0000000..83f754f --- /dev/null +++ b/store/modules/orderManager.js @@ -0,0 +1,45 @@ +// store/orderManager.js +import { defineStore } from 'pinia'; +import { ref } from 'vue'; + +export const useOrderManagerStore = defineStore('orderManager', () => { + const orders = ref([]); + + const addOrder = (order) => { + orders.value = [order] + }; + + const removeOrder = (orderId) => { + orders.value = orders.value.filter(order => order.id !== orderId); + }; + + const clearOrders = () => { + orders.value = []; + }; + + return { + orders, + addOrder, + removeOrder, + clearOrders + }; +}, { + persist: { + storage: { + // 读取:从 uni.storage 获取 + getItem(key) { + const value = uni.getStorageSync(key); + // 如果有值,解析 JSON;否则返回 null(Pinia 会处理默认值) + return value ? JSON.parse(value) : null; + }, + // 写入:保存到 uni.storage + setItem(key, value) { + uni.setStorageSync(key, JSON.stringify(value)); + }, + // 可选:删除(一般不需要手动调用) + removeItem(key) { + uni.removeStorageSync(key); + } + } + } +}); \ No newline at end of file From 58da6a52b9b5baa9a2c6179775a634eecca96b80 Mon Sep 17 00:00:00 2001 From: Fsd0511 <422865775@qq.com> Date: Mon, 1 Sep 2025 22:43:08 +0800 Subject: [PATCH 3/3] =?UTF-8?q?pinia=E6=8C=81=E4=B9=85=E5=8C=96=E5=AD=98?= =?UTF-8?q?=E5=82=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.js | 12 +++++++----- store/modules/orderManager.js | 37 ++++++++++++++++++----------------- 2 files changed, 26 insertions(+), 23 deletions(-) diff --git a/main.js b/main.js index fc115ae..d36a208 100644 --- a/main.js +++ b/main.js @@ -5,13 +5,14 @@ import store from './store' // Vuex store(如果还在用) import { install } from './plugins' // 自定义插件 import './permission' // 路由权限 import { useDict } from '@/utils/dict' -import { createPinia } from 'pinia' +// import { createPinia } from 'pinia' +import * as Pinia from 'pinia'; import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' export function createApp() { const app = createSSRApp(App) - const pinia = createPinia() - + // const pinia = createPinia() +const pinia = Pinia.createPinia() // ✅ 安全注册持久化插件 if (piniaPluginPersistedstate) { pinia.use(piniaPluginPersistedstate) @@ -20,7 +21,7 @@ export function createApp() { } app.use(pinia) - app.use(store) // 如果你还在用 Vuex,否则可删除 + // app.use(store) // 如果你还在用 Vuex,否则可删除 // 挂载全局方法 app.config.globalProperties.useDict = useDict @@ -29,6 +30,7 @@ export function createApp() { install(app) return { - app + app, + Pinia } } \ No newline at end of file diff --git a/store/modules/orderManager.js b/store/modules/orderManager.js index 83f754f..6ff7170 100644 --- a/store/modules/orderManager.js +++ b/store/modules/orderManager.js @@ -24,22 +24,23 @@ export const useOrderManagerStore = defineStore('orderManager', () => { clearOrders }; }, { - persist: { - storage: { - // 读取:从 uni.storage 获取 - getItem(key) { - const value = uni.getStorageSync(key); - // 如果有值,解析 JSON;否则返回 null(Pinia 会处理默认值) - return value ? JSON.parse(value) : null; - }, - // 写入:保存到 uni.storage - setItem(key, value) { - uni.setStorageSync(key, JSON.stringify(value)); - }, - // 可选:删除(一般不需要手动调用) - removeItem(key) { - uni.removeStorageSync(key); - } - } - } + // persist: { + // storage: { + // // 读取:从 uni.storage 获取 + // getItem(key) { + // const value = uni.getStorageSync(key); + // // 如果有值,解析 JSON;否则返回 null(Pinia 会处理默认值) + // return value ? JSON.parse(value) : null; + // }, + // // 写入:保存到 uni.storage + // setItem(key, value) { + // uni.setStorageSync(key, JSON.stringify(value)); + // }, + // // 可选:删除(一般不需要手动调用) + // removeItem(key) { + // uni.removeStorageSync(key); + // } + // } + // } + persist: true }); \ No newline at end of file