diff --git a/api/orderManager/index.js b/api/orderManager/index.js new file mode 100644 index 0000000..201b0ac --- /dev/null +++ b/api/orderManager/index.js @@ -0,0 +1,84 @@ +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, + + }) +} +// 查询剩余额度 +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/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 1b743ca..4c4dc49 100644 --- a/config.js +++ b/config.js @@ -2,7 +2,10 @@ export default { // baseUrl: 'https://vue.ruoyi.vip/prod-api', // // baseUrl: '/prod-api', //前后端分离版的接口地址,转发代理 设置在了manifest.json文件中 +<<<<<<< HEAD // baseUrl: 'http://192.168.3.27:18090', //前后端分离版的接口地址 +======= +>>>>>>> 58da6a52b9b5baa9a2c6179775a634eecca96b80 baseUrl: 'http://106.15.139.36:18090', //前后端分离版的接口地址 //测试提交 // 应用信息 diff --git a/main.js b/main.js index 76aa9bd..d36a208 100644 --- a/main.js +++ b/main.js @@ -1,16 +1,36 @@ +// 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' +// import { createPinia } from 'pinia' +import * as Pinia from 'pinia'; +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' export function createApp() { const app = createSSRApp(App) - app.use(store) - app.config.globalProperties.useDict = useDict - install(app) - return { - app + // const pinia = createPinia() +const pinia = 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, + Pinia + } +} \ No newline at end of file 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/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 5467be5..5a076cd 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,23 @@ "style": { "navigationBarTitleText": "订单审批详情" } + },{ + "path": "pages/work/OrderManager/components/LookData", + "style": { + "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/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/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 new file mode 100644 index 0000000..ae40f35 --- /dev/null +++ b/pages/work/OrderManager/components/NewAdd.vue @@ -0,0 +1,853 @@ + + + + + \ 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..2abf1c3 --- /dev/null +++ b/pages/work/OrderManager/index.vue @@ -0,0 +1,306 @@ + + + + + \ 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' + }) + } diff --git a/store/modules/orderManager.js b/store/modules/orderManager.js new file mode 100644 index 0000000..6ff7170 --- /dev/null +++ b/store/modules/orderManager.js @@ -0,0 +1,46 @@ +// 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); + // } + // } + // } + persist: true +}); \ No newline at end of file