大屏样式修改
This commit is contained in:
@@ -10,11 +10,31 @@ const service = axios.create({
|
||||
}
|
||||
})
|
||||
|
||||
// 从 Cookies 获取 Token(与 klp-ui 保持一致)
|
||||
const getToken = () => {
|
||||
const name = 'Admin-Token'
|
||||
const value = `; ${document.cookie}`
|
||||
const parts = value.split(`; ${name}=`)
|
||||
if (parts.length === 2) return parts.pop().split(';').shift()
|
||||
return null
|
||||
}
|
||||
|
||||
service.interceptors.request.use(
|
||||
config => {
|
||||
const token = localStorage.getItem('token')
|
||||
let token = getToken()
|
||||
// ========== 测试用:临时硬编码 Token ==========
|
||||
// 如果没有从 Cookies 获取到 Token,使用测试 Token
|
||||
if (!token) {
|
||||
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxIiwicm5TdHIiOiJGM2w5Nm5ncGV4ZDA4d1BUYWlvVmFreWhCUDdlc2gyeCIsInVzZXJJZCI6MX0.aP06S-5aJtukzMjmYW3d5zK3v10TOKcdNpROniv5lr8'
|
||||
}
|
||||
// ========== 测试用结束 ==========
|
||||
|
||||
console.log('请求URL:', config.url)
|
||||
console.log('使用的Token:', token ? '已设置' : '未设置')
|
||||
|
||||
if (token) {
|
||||
config.headers['Authorization'] = `Bearer ${token}`
|
||||
// 尝试两种格式:Bearer 和 直接使用Token
|
||||
config.headers['Authorization'] = token // 直接使用Token(不带Bearer前缀)
|
||||
}
|
||||
return config
|
||||
},
|
||||
@@ -25,15 +45,36 @@ service.interceptors.request.use(
|
||||
|
||||
service.interceptors.response.use(
|
||||
response => {
|
||||
const res = response.data
|
||||
if (res.code !== 200) {
|
||||
console.error('请求失败:', res.message)
|
||||
return Promise.reject(new Error(res.message || 'Error'))
|
||||
console.log('响应数据:', response.data)
|
||||
|
||||
let res = response.data
|
||||
|
||||
// 如果响应数据为空
|
||||
if (!res) {
|
||||
console.error('响应数据为空')
|
||||
return Promise.reject(new Error('响应数据为空'))
|
||||
}
|
||||
return res.data
|
||||
|
||||
// 如果是字符串,尝试解析
|
||||
if (typeof res === 'string') {
|
||||
try {
|
||||
res = JSON.parse(res)
|
||||
} catch {
|
||||
console.error('响应数据不是JSON格式:', res)
|
||||
return res
|
||||
}
|
||||
}
|
||||
|
||||
// 检查code
|
||||
if (res.code !== undefined && res.code !== 200) {
|
||||
console.error('请求失败 [code=' + res.code + ']:', res.message || res.msg)
|
||||
return Promise.reject(new Error(res.message || res.msg || '请求失败'))
|
||||
}
|
||||
|
||||
return res.data !== undefined ? res.data : res
|
||||
},
|
||||
error => {
|
||||
console.error('请求错误:', error)
|
||||
console.error('请求错误:', error.response?.data || error.message || error)
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
135
src/api/wms/actualWarehouse.js
Normal file
135
src/api/wms/actualWarehouse.js
Normal file
@@ -0,0 +1,135 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询实际库区/库位自关联列表
|
||||
export function listActualWarehouse(query) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 获取完整三级目录
|
||||
export function listActualWarehouseTree(query) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/tree',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询实际库区/库位自关联详细
|
||||
export function getActualWarehouse(actualWarehouseId) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/' + actualWarehouseId,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增实际库区/库位自关联
|
||||
export function addActualWarehouse(data) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 导入实际库区/库位
|
||||
export function importActualWarehouse(data) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/importData',
|
||||
method: 'post',
|
||||
data,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
}
|
||||
|
||||
// 批量新增三级目录
|
||||
export function createActualWarehouseHierarchy(data) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/hierarchy',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改实际库区/库位自关联
|
||||
export function updateActualWarehouse(data) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除实际库区/库位自关联
|
||||
export function delActualWarehouse(actualWarehouseId) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/' + actualWarehouseId,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取两级的树结构
|
||||
export function treeActualWarehouseTwoLevel(query) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/levelTwo',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function generateLocations(data) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/generateLocations',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 分割库区
|
||||
*/
|
||||
export function splitActualWarehouse(payload) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/split',
|
||||
method: 'post',
|
||||
timeout: 100000,
|
||||
data: {
|
||||
action: 1,
|
||||
splitType: 0,
|
||||
...payload
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 合并库区
|
||||
*/
|
||||
export function mergeActualWarehouse(payload) {
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/merge',
|
||||
method: 'post',
|
||||
timeout: 100000,
|
||||
data: {
|
||||
action: 0,
|
||||
splitType: 0,
|
||||
...payload
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 强制释放库位
|
||||
*/
|
||||
export function forceReleaseLocation(actualWarehouseId) {
|
||||
if (!actualWarehouseId) {
|
||||
throw new Error('actualWarehouseId is required');
|
||||
}
|
||||
return request({
|
||||
url: '/wms/actualWarehouse/release/' + actualWarehouseId,
|
||||
method: 'put',
|
||||
timeout: 100000,
|
||||
})
|
||||
}
|
||||
@@ -1,12 +1,41 @@
|
||||
import axios from 'axios'
|
||||
|
||||
// klp-oa线上API地址(测试环境)
|
||||
const baseURL = 'http://140.143.206.120:8080'
|
||||
|
||||
const service = axios.create({
|
||||
baseURL: '',
|
||||
timeout: 15000
|
||||
baseURL: baseURL,
|
||||
timeout: 30000
|
||||
})
|
||||
|
||||
// 从 Cookies 获取 Token(与 klp-ui 保持一致)
|
||||
const getToken = () => {
|
||||
const name = 'Admin-Token'
|
||||
const value = `; ${document.cookie}`
|
||||
const parts = value.split(`; ${name}=`)
|
||||
if (parts.length === 2) return parts.pop().split(';').shift()
|
||||
return null
|
||||
}
|
||||
|
||||
service.interceptors.request.use(
|
||||
config => {
|
||||
// 携带Token
|
||||
let token = getToken()
|
||||
|
||||
// ========== 测试用:临时硬编码 Token ==========
|
||||
// 如果没有从 Cookies 获取到 Token,使用测试 Token
|
||||
if (!token) {
|
||||
token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJzeXNfdXNlcjoxIiwicm5TdHIiOiJGM2w5Nm5ncGV4ZDA4d1BUYWlvVmFreWhCUDdlc2gyeCIsInVzZXJJZCI6MX0.aP06S-5aJtukzMjmYW3d5zK3v10TOKcdNpROniv5lr8'
|
||||
}
|
||||
// ========== 测试用结束 ==========
|
||||
|
||||
console.log('请求URL:', config.url)
|
||||
console.log('使用的Token:', token ? '已设置' : '未设置')
|
||||
|
||||
if (token) {
|
||||
// 直接使用Token(不带Bearer前缀)
|
||||
config.headers['Authorization'] = token
|
||||
}
|
||||
return config
|
||||
},
|
||||
error => {
|
||||
@@ -18,16 +47,22 @@ service.interceptors.request.use(
|
||||
service.interceptors.response.use(
|
||||
response => {
|
||||
const res = response.data
|
||||
if (res.code === 200) {
|
||||
return res.data
|
||||
} else {
|
||||
console.error('Response error:', res.message)
|
||||
return Promise.reject(new Error(res.message || 'Error'))
|
||||
// 兼容多种返回格式
|
||||
if (res && res.code !== undefined) {
|
||||
if (res.code === 200) {
|
||||
return res.data
|
||||
} else {
|
||||
console.warn('API error:', res.message)
|
||||
return res.data || []
|
||||
}
|
||||
}
|
||||
// 如果没有 code 字段,直接返回数据
|
||||
return res
|
||||
},
|
||||
error => {
|
||||
console.error('Response error:', error.message)
|
||||
return Promise.reject(error)
|
||||
// 返回空数组作为默认值,避免页面崩溃
|
||||
return Promise.resolve([])
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user