feat: 机组管理迁移l2代码

This commit is contained in:
砂糖
2025-10-10 14:40:29 +08:00
parent b0b8416e2f
commit 0a366b054c
32 changed files with 5133 additions and 11 deletions

52
klp-ui/src/api/l2/pdo.js Normal file
View File

@@ -0,0 +1,52 @@
import axios from 'axios'
export default function createFetch(url) {
const l2Request = axios.create({
baseURL: url,
headers: {
'Content-Type': 'application/json'
},
timeout: 10000,
// 自定义响应数据转换处理大整数ID精度问题
transformResponse: [data => {
// 在JSON解析前将所有id数值转换为字符串避免大整数精度丢失
const modifiedData = data.replace(/"id":\s*(\d+)/g, '"id": "$1"');
return JSON.parse(modifiedData);
}]
})
l2Request.interceptors.response.use(response => {
return response.data
})
return {
updatePdo: (data) => l2Request({
method: 'put',
url: '/api/pdo/update',
data
}),
getPdoList: (params) => l2Request({
method: 'post',
url: '/api/pdo/list',
data: params
}),
addPdo: (data) => l2Request({
method: 'post',
url: '/api/pdo/add',
data
}),
getPdo: (excoilid, operid) => l2Request({
method: 'get',
url: `/api/pdo/get/${excoilid}/${operid}`
}),
deletePdo: (excoilid, planId) => l2Request({
method: 'delete',
url: `/api/pdo/delete/${excoilid}/${planId}`
}),
getSegmentList: (query) => l2Request({
method: 'get',
url: '/api/segment/getSegmentHistory',
params: query
}),
}
}

191
klp-ui/src/api/l2/plan.js Normal file
View File

@@ -0,0 +1,191 @@
import axios from 'axios'
// 格式化日期字段
function formatDateFields(data) {
const dateFields = ['timestamp', 'onlineDate', 'startDate', 'endDate', 'furInDate', 'furOutDate', 'createTime', 'updateTime'];
// 对每个日期字段进行格式化
dateFields.forEach(field => {
// 处理空值情况
if (!data[field] || data[field] === '') {
data[field] = null;
return;
}
// 如果已经是ISO格式的日期字符串保持不变
if (typeof data[field] === 'string' && data[field].includes('T')) {
return;
}
// 如果是日期对象转换为ISO格式字符串
if (data[field] instanceof Date) {
data[field] = data[field].toISOString().slice(0, 19);
return;
}
// 如果是其他格式的日期字符串转换为ISO格式
if (typeof data[field] === 'string') {
try {
const date = new Date(data[field]);
if (!isNaN(date.getTime())) {
data[field] = date.toISOString().slice(0, 19);
} else {
data[field] = null;
}
} catch (e) {
console.error(`日期格式化错误 (${field}):`, e);
data[field] = null;
}
}
});
return data;
}
export default function createFetch(url) {
const l2Request = axios.create({
baseURL: url,
headers: {
'Content-Type': 'application/json'
},
timeout: 10000,
// 自定义响应数据转换处理大整数ID精度问题
transformResponse: [data => {
// 在JSON解析前将所有id数值转换为字符串避免大整数精度丢失
const modifiedData = data.replace(/"id":\s*(\d+)/g, '"id": "$1"');
return JSON.parse(modifiedData);
}]
})
l2Request.interceptors.response.use(response => {
return response.data
})
return {
listPlan: (query) => {
// 确保查询参数格式正确
const params = {
coilid: query.coilid || '',
entryThick: query.entryThick || null,
entryWidth: query.entryWidth || null,
status: query.status || '',
// 使用ISO格式的日期时间不添加额外的时间部分
startDate: query.startDate || '',
endDate: query.endDate || ''
};
return l2Request({
url: '/api/pdi/list',
method: 'post',
data: params
})
},
getPlan: (coilId) => l2Request({
url: '/api/pdi/getByCoilId',
method: 'get',
params: {
coilId: coilId
}
}),
addPlan: (data) => {
// 深拷贝数据,避免修改原始对象
const formattedData = JSON.parse(JSON.stringify(data));
// 处理日期字段,确保格式正确
formatDateFields(formattedData);
return l2Request({
url: '/api/pdi/add',
method: 'post',
data: formattedData
})
},
updatePlan: (data) => {
// 深拷贝数据,避免修改原始对象
const formattedData = JSON.parse(JSON.stringify(data));
// 处理日期字段,确保格式正确
formatDateFields(formattedData);
return l2Request({
url: '/api/pdi/update',
method: 'put',
data: formattedData
})
},
delPlan: (data) => {
// 确保ids是数组
const idArray = Array.isArray(ids) ? ids : [ids];
// 始终保持ID为字符串类型避免大整数精度问题
const processedIds = idArray.map(id => String(id));
console.log('删除的ID:', processedIds);
return l2Request({
url: '/api/pdi/delete',
method: 'post',
data: processedIds
})
},
getSetup: (ID) => {
return l2Request({
url: '/business/setup/' + ID,
method: 'get',
})
},
addSetup: (data) => {
return l2Request({
url: '/business/setup',
method: 'post',
data: data
})
},
listSetup: (query) => {
return l2Request({
url: '/business/setup/list',
method: 'post',
data: query
})
},
getBendforce: (query) => {
return l2Request({
url: '/business/bendforce',
method: 'get',
params: query
})
},
getFur: (steelGrade) => {
return l2Request({
url: '/business/fur/' + steelGrade,
method: 'get'
})
},
getMesh: (query) => {
return l2Request({
url: '/business/mesh',
method: 'get',
params: query
})
},
getRollforce: (query) => {
return l2Request({
url: '/business/rollforce',
method: 'get',
params: query
})
},
getTension: (query) => {
return l2Request({
url: '/business/tension',
method: 'get',
params: query
})
},
getTl: (query) => {
return l2Request({
url: '/business/tl',
method: 'get',
params: query
})
}
}
}

View File

@@ -0,0 +1,38 @@
import axios from 'axios'
export default function createFetch(url) {
const l2Request = axios.create({
baseURL: url,
headers: {
'Content-Type': 'application/json'
},
timeout: 10000,
// 自定义响应数据转换处理大整数ID精度问题
transformResponse: [data => {
// 在JSON解析前将所有id数值转换为字符串避免大整数精度丢失
const modifiedData = data.replace(/"id":\s*(\d+)/g, '"id": "$1"');
return JSON.parse(modifiedData);
}]
})
l2Request.interceptors.response.use(response => {
return response.data
})
return {
getReportSummary: (params) => {
return l2Request({
method: 'get',
url: '/api/report/summary',
params
})
},
getReportDetail: (params) => {
return l2Request({
method: 'get',
url: '/api/report/details',
params
})
}
}
}

View File

@@ -0,0 +1,75 @@
import axios from 'axios'
export default function createFetch(url) {
const l2Request = axios.create({
baseURL: url,
headers: {
'Content-Type': 'application/json'
},
timeout: 10000,
// 自定义响应数据转换处理大整数ID精度问题
transformResponse: [data => {
// 在JSON解析前将所有id数值转换为字符串避免大整数精度丢失
const modifiedData = data.replace(/"id":\s*(\d+)/g, '"id": "$1"');
return JSON.parse(modifiedData);
}]
})
l2Request.interceptors.response.use(response => {
return response.data
})
return {
getRollIdList: () => {
return l2Request({
method: 'get',
url: '/api/roller/history/rollid'
})
},
getChangeIdList: () => {
return l2Request({
method: 'get',
url: '/api/roller/history/changeid'
})
},
getRollHistorytList: (params) => {
return l2Request({
method: 'post',
data: params,
url: '/api/roller/history/list'
})
},
backupRoll: (data) => {
return l2Request({
method: 'post',
data,
url: '/api/roller/change/standby'
})
},
onlineRoll: (data) => {
return l2Request({
method: 'post',
data,
url: '/api/roller/change/online'
})
},
getOnlineRollList: () => {
return l2Request({
method: 'get',
url: '/api/roller/data/online'
})
},
getOfflineRollList: (position, type) => {
return l2Request({
method: 'get',
url: `/api/roller/data/ready/${position}/${type}`
})
},
getReadyRollList: () => {
return l2Request({
method: 'get',
url: '/api/roller/data/standby'
})
}
}
}

View File

@@ -0,0 +1,58 @@
import axios from 'axios'
export default function createFetch(url) {
const l2Request = axios.create({
baseURL: url,
headers: {
'Content-Type': 'application/json'
},
timeout: 10000,
// 自定义响应数据转换处理大整数ID精度问题
transformResponse: [data => {
// 在JSON解析前将所有id数值转换为字符串避免大整数精度丢失
const modifiedData = data.replace(/"id":\s*(\d+)/g, '"id": "$1"');
return JSON.parse(modifiedData);
}]
})
l2Request.interceptors.response.use(response => {
return response.data
})
return {
updateSteelGrade: (data) => {
return l2Request({
method: 'put',
url: '/api/steelGrade/update',
data
})
},
addSteelGrade: (data) => {
return l2Request({
method: 'post',
url: '/api/steelGrade/add',
data
})
},
getSteelGradeList: () => {
return l2Request({
method: 'get',
url: '/api/steelGrade/list'
})
},
getSteelGradeInfo: (gradeid) => {
return l2Request({
method: 'get',
url: '/api/steelGrade/info',
params: { gradeid }
})
},
deleteSteelGrade: (id) => {
return l2Request({
method: 'delete',
url: `/l2-api/api/steelGrade/delete/${id}`
})
}
}
}

43
klp-ui/src/api/l2/stop.js Normal file
View File

@@ -0,0 +1,43 @@
import axios from 'axios'
export default function createFetch(url) {
const l2Request = axios.create({
baseURL: url,
headers: {
'Content-Type': 'application/json'
},
timeout: 10000,
// 自定义响应数据转换处理大整数ID精度问题
transformResponse: [data => {
// 在JSON解析前将所有id数值转换为字符串避免大整数精度丢失
const modifiedData = data.replace(/"id":\s*(\d+)/g, '"id": "$1"');
return JSON.parse(modifiedData);
}]
})
l2Request.interceptors.response.use(response => {
return response.data
})
return {
updateStoppage: (params) => l2Request({
method: 'put',
data: params,
url: '/api/stoppage/update'
}),
listStoppage: (data) => l2Request({
method: 'post',
data,
url: '/api/stoppage/list'
}),
deleteStoppage: (stopid) => l2Request({
method: 'delete',
url: `/api/stoppage/delete/${stopid}`
}),
getStoppageSummary: (data) => l2Request({
method: 'post',
data,
url: '/api/stoppage/calc'
})
}
}

View File

@@ -6,7 +6,13 @@ export default function createFetch(url) {
headers: {
'Content-Type': 'application/json'
},
timeout: 10000
timeout: 10000,
// 自定义响应数据转换处理大整数ID精度问题
transformResponse: [data => {
// 在JSON解析前将所有id数值转换为字符串避免大整数精度丢失
const modifiedData = data.replace(/"id":\s*(\d+)/g, '"id": "$1"');
return JSON.parse(modifiedData);
}]
})
l2Request.interceptors.response.use(response => {