diff --git a/.env.development b/.env.development index e67f7bf..48add0d 100644 --- a/.env.development +++ b/.env.development @@ -1,10 +1,10 @@ VITE_NOW_TYPE = 'dist' -# VITE_PUSH_URL = 'ws://192.168.1.22:8787' -# VITE_BASE_URL = 'http://192.168.1.22:8545' +VITE_PUSH_URL = 'ws://192.168.1.22:8787' +VITE_BASE_URL = 'http://192.168.1.22:8545' -VITE_PUSH_URL ='wss://test-multi-store.lihaink.cn/pull' -VITE_BASE_URL = 'https://test-multi-store.lihaink.cn' +# VITE_PUSH_URL ='wss://test-multi-store.lihaink.cn/pull' +# VITE_BASE_URL = 'https://test-multi-store.lihaink.cn' # VITE_PUSH_URL ='wss://multi-store.lihaink.cn/pull' # VITE_BASE_URL = 'https://multi-store.lihaink.cn' \ No newline at end of file diff --git a/src/api/public.js b/src/api/public.js new file mode 100644 index 0000000..7990dd1 --- /dev/null +++ b/src/api/public.js @@ -0,0 +1,31 @@ +import request from '@/utils/axiosAPI.js' + +// 省 +export function apiProvince() { + return request.get('/province') +} + +// 市 +export function apiCity(data) { + return request.get('/city', { params: data }) +} + +// 区 +export function apiArea(data) { + return request.get('/area', { params: data }) +} + +// 街道 +export function apiStreet(data) { + return request.get('/street', { params: data }) +} + +// 村 +export function apiVillage(data) { + return request.get('/village', { params: data }) +} + +// 队 +export function apiBrigade(data) { + return request.get('/brigade', { params: data }) +} diff --git a/src/api/shop.js b/src/api/shop.js index 16fb3d2..9443b45 100644 --- a/src/api/shop.js +++ b/src/api/shop.js @@ -74,7 +74,7 @@ export function saleStoreListApi(data) { * @description 店铺商品分类 */ export function merchantCategoryListApi(data) { - return request.get(`goods/goodsclass/lists`, { params: data }) + return request.get(`/cate/cate/lists`, { params: data }) } diff --git a/src/api/user.js b/src/api/user.js index 8a0de44..9377d4f 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -26,3 +26,24 @@ export function info(data) { export function logout() { return request.post(`logout`) } + +/** + * @description 会员类型 + */ +export function userShipApi() { + return request.get(`/user/UserShip/lists`) + } + + /** + * @description 添加会员 + */ +export function userAddApi(data) { + return request.post(`/user/user/add`, data) + } + + /** + * @description 会员列表 + */ +export function userListsApi() { + return request.get(`/user/user/lists`) + } diff --git a/src/config/index.js b/src/config/index.js index 10da9e1..9e2be21 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -1,6 +1,7 @@ const config = { url: import.meta.env.VITE_BASE_URL + '/store', upload: import.meta.env.VITE_BASE_URL + '/store/upload/image/field', + api: import.meta.env.VITE_BASE_URL + '/api', } export default config; \ No newline at end of file diff --git a/src/layout/myAside.vue b/src/layout/myAside.vue index 73af1e2..9a7a9cc 100644 --- a/src/layout/myAside.vue +++ b/src/layout/myAside.vue @@ -43,6 +43,7 @@ const newOrder = (e) => { } catch (error) { console.error(error); isPlaying = false; + ElMessage.error('播放失败'); } }; @@ -82,6 +83,12 @@ const list = ref([ ico: "Van", count: 0, }, + { + name: "user", + title: "用户", + ico: "User", + count: 0, + }, // { name: "purchaseOrder", title: "采购订单", ico: "Van", count: 0 }, // { name: "orderCount", title: "订单统计", ico: "DocumentRemove", count: 0 }, // { name: "wallet", title: "余额提现", ico: "Wallet", count: 0 }, diff --git a/src/router/index.js b/src/router/index.js index 38a3af4..e820b9e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -59,6 +59,12 @@ const routes = [ meta: { title: '入库登记' }, component: () => import('@/views/putStorage/index.vue'), }, + { + path: '/user', + name: 'user', + meta: { title: '用户' }, + component: () => import('@/views/user/index.vue'), + }, { path: '/test', name: 'test', diff --git a/src/utils/EscPos.js b/src/utils/EscPos.js index d461a0f..61206d9 100644 --- a/src/utils/EscPos.js +++ b/src/utils/EscPos.js @@ -116,7 +116,7 @@ export const printTicket = (obj = {}, test = false) => { if(!obj || !obj.order_id) obj = testObj; str += Esc.Size2(2) + Esc.Center() + Esc.boldFontOn() + obj.system_store_name + Esc.Size1() + "\n"; str += Esc.fillLine(" ") + Esc.boldFontOff() + "\n"; - if(obj.shipping_type == 2) str += Esc.Left() + "核销码: " + Esc.boldFontOn() + obj.verify_code + Esc.boldFontOff() + "\n"; + if(obj.shipping_type) str += Esc.Left() + "核销码: " + Esc.boldFontOn() + obj.verify_code + Esc.boldFontOff() + "\n"; str += Esc.Left() + "单号: " + obj.order_id + "\n"; str += Esc.Left() + "下单时间: " + obj.create_time + "\n"; diff --git a/src/utils/axiosAPI.js b/src/utils/axiosAPI.js new file mode 100644 index 0000000..a6d3902 --- /dev/null +++ b/src/utils/axiosAPI.js @@ -0,0 +1,86 @@ +import axios from "axios"; +import { ElMessage } from "element-plus"; +import router from "@/router/index.js"; +import { useUserStore } from "../store/user"; +import config from "@/config"; + +const request = axios.create({ + baseURL: config.api, + timeout: 60000 +}) + + +// 请求拦截器 +request.interceptors.request.use( + config => { + // 在发送请求之前做些什么,例如添加token、修改请求头等 + const token = localStorage.getItem('Token'); + if (token) { + config.headers['token'] = token; + } + + return config; + }, + error => { + // 处理请求错误 + console.error(error); + return Promise.reject(error); + } +); + +// 响应拦截器 +request.interceptors.response.use( + response => { + // 对响应数据做些什么,例如解析数据、统一处理错误等 + if (response.data.code === -1 && (response.data.msg == '登录过期' || response.data.msg == '登录超时,请重新登录')) { + ElMessage({ + message: response.data.msg, + type: 'error', + }) + setTimeout(() => { + const userStore = useUserStore(); + userStore.setUserInfo({}); + userStore.setToken(''); + router.push('/login'); + }, 500) + throw new Error(response.data.msg); + } + if (response.data.code === 400) { + ElMessage({ + message: response.data.msg, + type: 'error', + }) + throw new Error(response.data.msg); + } + if (response.data.show) { + ElMessage({ + message: response.data.msg, + type: 'error', + }) + } + if (response.data.code === 500) { + response.data.msg = JSON.parse(response.data.msg); + ElMessage({ + message: response.data.msg?.msg || response.data.msg, + type: 'error', + }) + throw new Error(response.data.msg); + } + // console.log(response.data); + if (response.data.code === 0) { + return Promise.reject(response.data) + } + return response.data; + }, + error => { + // 处理响应错误 + console.error(error); + ElMessage({ + message: error.response?.data?.msg || error, + type: 'error', + }) + return Promise.reject(error); + } +); + +export default request; \ No newline at end of file diff --git a/src/views/order/component/detail.vue b/src/views/order/component/detail.vue index eb8834f..be758f1 100644 --- a/src/views/order/component/detail.vue +++ b/src/views/order/component/detail.vue @@ -120,6 +120,11 @@ const getDetail = () => { }) } +// 备货 +const stockUp = () => { + console.log('备货'); +} + onMounted(() => { mitt.on("set-sale-order-detail", (res) => { console.log("===", res); @@ -204,6 +209,11 @@ onUnmounted(() => { +