接口优化
This commit is contained in:
parent
5c796f418e
commit
99a83d9374
|
|
@ -1,5 +1,5 @@
|
|||
// 全局变量
|
||||
const API_BASE_URL = commonService+'/backstage/';
|
||||
const API_BASE_URL = commonService + '/backstage/';
|
||||
const API_ENDPOINT = 'purchase/getProPurchaseList';
|
||||
let token = localStorage.getItem("safetyToken");
|
||||
console.log('safetyPlanShipment.js - 初始化,从localStorage获取safetyToken:', token);
|
||||
|
|
@ -34,11 +34,11 @@ function loadProjectList(pageNum) {
|
|||
type: 'GET',
|
||||
url: url,
|
||||
dataType: 'json',
|
||||
beforeSend: function(xhr) {
|
||||
beforeSend: function (xhr) {
|
||||
xhr.setRequestHeader('Authorization', token);
|
||||
console.log('📤 设置Authorization header:', token ? '已设置' : '未设置');
|
||||
},
|
||||
success: function(response) {
|
||||
success: function (response) {
|
||||
showLoading(false);
|
||||
console.log('✅ API响应成功');
|
||||
console.log('完整响应:', JSON.stringify(response, null, 2));
|
||||
|
|
@ -64,7 +64,7 @@ function loadProjectList(pageNum) {
|
|||
showEmpty(true);
|
||||
}
|
||||
},
|
||||
error: function(xhr, errorStatus, error) {
|
||||
error: function (xhr, errorStatus, error) {
|
||||
showLoading(false);
|
||||
console.error('❌ API请求失败');
|
||||
console.error('状态码:', xhr.status);
|
||||
|
|
@ -80,7 +80,7 @@ function loadProjectList(pageNum) {
|
|||
// 渲染工程列表
|
||||
function renderProjectList(projects) {
|
||||
const projectList = document.getElementById('projectList');
|
||||
|
||||
|
||||
if (!projects || projects.length === 0) {
|
||||
showEmpty(true);
|
||||
return;
|
||||
|
|
@ -212,7 +212,8 @@ function showEmpty(show) {
|
|||
|
||||
// 返回上一页
|
||||
function goBack() {
|
||||
window.location.href = 'safetyPlanIndex.html';
|
||||
// window.location.href = 'safetyPlanIndex.html';
|
||||
window.location.href = '../index.html';
|
||||
}
|
||||
|
||||
// 进入工程详情(第2层)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
|
@ -7,6 +8,7 @@
|
|||
<script src="../part/jquery-2.0.3.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<link rel="stylesheet" href="safetyPlanShipmentDetail.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="detail-container">
|
||||
<!-- 头部 -->
|
||||
|
|
@ -64,5 +66,5 @@
|
|||
<script src="../../js/public.js"></script>
|
||||
<script src="safetyPlanShipmentDetail.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</html>
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
// 全局变量
|
||||
const API_BASE_URL = commonService+'/backstage/';
|
||||
const API_BASE_URL = commonService + '/backstage/';
|
||||
const API_ENDPOINT = 'purchase/getProApplyList';
|
||||
let token = localStorage.getItem("safetyToken");
|
||||
console.log('safetyPlanShipmentDetail.js - 初始化,从localStorage获取safetyToken:', token);
|
||||
|
|
@ -7,16 +7,18 @@ let currentPage = 1;
|
|||
let pageSize = 20;
|
||||
let proId = null;
|
||||
let projectName = '';
|
||||
let status = null; // 状态参数
|
||||
let allPlans = []; // 存储所有计划数据用于搜索
|
||||
let filteredPlans = []; // 存储过滤后的数据
|
||||
let currentStatusFilter = ''; // 当前状态筛选
|
||||
|
||||
// 页面加载
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
// 从URL获取proId
|
||||
// 从URL获取proId、projectName和status
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
proId = urlParams.get('proId');
|
||||
projectName = urlParams.get('projectName') || '';
|
||||
status = urlParams.get('status');
|
||||
|
||||
if (!proId) {
|
||||
alert('缺少工程ID参数');
|
||||
|
|
@ -57,11 +59,11 @@ function loadPlanList(pageNum) {
|
|||
type: 'GET',
|
||||
url: url,
|
||||
dataType: 'json',
|
||||
beforeSend: function(xhr) {
|
||||
beforeSend: function (xhr) {
|
||||
xhr.setRequestHeader('Authorization', token);
|
||||
console.log('📤 设置Authorization header:', token ? '已设置' : '未设置');
|
||||
},
|
||||
success: function(response) {
|
||||
success: function (response) {
|
||||
showLoading(false);
|
||||
console.log('✅ API响应成功');
|
||||
console.log('完整响应:', JSON.stringify(response, null, 2));
|
||||
|
|
@ -89,7 +91,7 @@ function loadPlanList(pageNum) {
|
|||
showEmpty(true);
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
error: function (xhr, status, error) {
|
||||
showLoading(false);
|
||||
console.error('❌ API请求失败');
|
||||
console.error('状态码:', xhr.status);
|
||||
|
|
@ -111,7 +113,7 @@ function loadPlanList(pageNum) {
|
|||
// 渲染需求计划列表
|
||||
function renderPlanList(plans) {
|
||||
const planList = document.getElementById('planList');
|
||||
|
||||
|
||||
if (!plans || plans.length === 0) {
|
||||
showEmpty(true);
|
||||
return;
|
||||
|
|
@ -130,17 +132,29 @@ function renderPlanList(plans) {
|
|||
function createPlanCard(plan) {
|
||||
const card = document.createElement('div');
|
||||
card.className = 'plan-card';
|
||||
card.onclick = () => goToPlanDetail(plan.id);
|
||||
|
||||
const status = determinePlanStatus(plan);
|
||||
const planStatus = determinePlanStatus(plan);
|
||||
|
||||
// 卡片点击时传递status参数(优先使用URL中的status,如果没有则使用计划的状态)
|
||||
card.onclick = () => goToPlanDetail(plan.id, status || planStatus);
|
||||
const progress = calculateProgress(plan);
|
||||
const lkNum = plan.lkNum || 0;
|
||||
const needNum = plan.needNum || 0;
|
||||
|
||||
// 根据状态判断按钮文本
|
||||
let buttonText = '发货';
|
||||
if (planStatus === '已发货') {
|
||||
buttonText = '详情';
|
||||
} else if (planStatus === '部分发货') {
|
||||
buttonText = '补发货';
|
||||
} else if (planStatus === '待发货') {
|
||||
buttonText = '发货';
|
||||
}
|
||||
|
||||
card.innerHTML = `
|
||||
<div class="plan-card-header">
|
||||
<div class="plan-code">${plan.planCode}</div>
|
||||
<div class="plan-status status-${status}">${status}</div>
|
||||
<div class="plan-status status-${planStatus}">${planStatus}</div>
|
||||
</div>
|
||||
<div class="plan-info">
|
||||
<div class="info-item">
|
||||
|
|
@ -166,10 +180,18 @@ function createPlanCard(plan) {
|
|||
</div>
|
||||
<div class="progress-text">已发货: ${lkNum}/${needNum}</div>
|
||||
</div>
|
||||
<button class="action-btn" onclick="event.stopPropagation(); goToPlanDetail('${plan.id}')">发货</button>
|
||||
<button class="action-btn">${buttonText}</button>
|
||||
</div>
|
||||
`;
|
||||
|
||||
// 为按钮添加点击事件,阻止事件冒泡
|
||||
const button = card.querySelector('.action-btn');
|
||||
button.addEventListener('click', function (e) {
|
||||
e.stopPropagation();
|
||||
// 按钮点击传递计划的状态
|
||||
goToPlanDetail(plan.id, planStatus);
|
||||
});
|
||||
|
||||
return card;
|
||||
}
|
||||
|
||||
|
|
@ -232,17 +254,17 @@ function renderPagination(response) {
|
|||
// 搜索计划
|
||||
function searchPlans() {
|
||||
const searchText = document.querySelector('.search-input').value.toLowerCase();
|
||||
filteredPlans = allPlans.filter(plan =>
|
||||
filteredPlans = allPlans.filter(plan =>
|
||||
plan.planCode.toLowerCase().includes(searchText)
|
||||
);
|
||||
|
||||
|
||||
// 应用状态筛选
|
||||
if (currentStatusFilter) {
|
||||
filteredPlans = filteredPlans.filter(plan =>
|
||||
filteredPlans = filteredPlans.filter(plan =>
|
||||
determinePlanStatus(plan) === currentStatusFilter
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
renderPlanList(filteredPlans);
|
||||
}
|
||||
|
||||
|
|
@ -250,23 +272,23 @@ function searchPlans() {
|
|||
function filterByStatus() {
|
||||
const statusFilter = document.getElementById('statusFilter').value;
|
||||
currentStatusFilter = statusFilter;
|
||||
|
||||
|
||||
filteredPlans = allPlans;
|
||||
|
||||
|
||||
if (statusFilter) {
|
||||
filteredPlans = filteredPlans.filter(plan =>
|
||||
filteredPlans = filteredPlans.filter(plan =>
|
||||
determinePlanStatus(plan) === statusFilter
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// 应用搜索文本
|
||||
const searchText = document.querySelector('.search-input').value.toLowerCase();
|
||||
if (searchText) {
|
||||
filteredPlans = filteredPlans.filter(plan =>
|
||||
filteredPlans = filteredPlans.filter(plan =>
|
||||
plan.planCode.toLowerCase().includes(searchText)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
renderPlanList(filteredPlans);
|
||||
}
|
||||
|
||||
|
|
@ -296,7 +318,11 @@ function goBack() {
|
|||
}
|
||||
|
||||
// 进入计划详情(第3层)
|
||||
function goToPlanDetail(planId) {
|
||||
window.location.href = `safetyPlanShipmentItem.html?planId=${planId}&proId=${proId}`;
|
||||
function goToPlanDetail(planId, status) {
|
||||
let url = `safetyPlanShipmentItem.html?planId=${planId}&proId=${proId}`;
|
||||
if (status) {
|
||||
url += `&status=${encodeURIComponent(status)}`;
|
||||
}
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
|
@ -7,6 +8,7 @@
|
|||
<script src="../part/jquery-2.0.3.min.js" type="text/javascript" charset="utf-8"></script>
|
||||
<link rel="stylesheet" href="safetyPlanShipmentItem.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="item-container">
|
||||
<!-- 头部 -->
|
||||
|
|
@ -81,5 +83,5 @@
|
|||
<script src="../../js/public.js"></script>
|
||||
<script src="safetyPlanShipmentItem.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
</html>
|
||||
|
|
@ -1,20 +1,24 @@
|
|||
// 全局变量
|
||||
const API_BASE_URL = commonService+'/';
|
||||
const API_BASE_URL = commonService + '/';
|
||||
const GET_DETAILS_ENDPOINT = 'backstage/purchase/getOutApplyDetails';
|
||||
const SUBMIT_SHIPMENT_ENDPOINT = 'backstage/purchase/addPurchaseData';
|
||||
const SUBMIT_SHIPMENT_ENDPOINT = 'backstage/purchase/addPurchaseData'; // 正常发货接口
|
||||
const SUBMIT_SHIPMENT_ENDPOINT_BUFFER = 'backstage/purchase/addPurchaseDataBySupplement'; // 部分发货时 补发货接口
|
||||
let token = localStorage.getItem("safetyToken");
|
||||
console.log('safetyPlanShipmentItem.js - 初始化,从localStorage获取safetyToken:', token);
|
||||
let planId = null;
|
||||
let proId = null;
|
||||
let status = null; // 状态参数
|
||||
let planDetails = null; // 存储计划详情
|
||||
let shipmentDetails = []; // 存储发货明细
|
||||
let newOutStatus = null; // 新的outStatus
|
||||
|
||||
// 页面加载
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
// 从URL获取planId和proId
|
||||
// 从URL获取planId、proId和status
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
planId = urlParams.get('planId');
|
||||
proId = urlParams.get('proId');
|
||||
status = urlParams.get('status');
|
||||
|
||||
if (!planId) {
|
||||
alert('缺少计划ID参数');
|
||||
|
|
@ -50,11 +54,11 @@ function loadPlanDetails() {
|
|||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
data: 'encryptedData=' + encodeURIComponent(JSON.stringify(encryptedData)),
|
||||
beforeSend: function(xhr) {
|
||||
beforeSend: function (xhr) {
|
||||
xhr.setRequestHeader('Authorization', token);
|
||||
console.log('📤 设置Authorization header:', token ? '已设置' : '未设置');
|
||||
},
|
||||
success: function(response) {
|
||||
success: function (response) {
|
||||
showLoading(false);
|
||||
console.log('✅ API响应成功');
|
||||
console.log('完整响应:', JSON.stringify(response, null, 2));
|
||||
|
|
@ -75,6 +79,8 @@ function loadPlanDetails() {
|
|||
renderPlanInfo();
|
||||
renderDetailsList();
|
||||
initShipmentDetails();
|
||||
// 根据status处理表单和输入框的禁用状态
|
||||
handleStatusBasedUI();
|
||||
} else {
|
||||
console.warn('❌ No data found in response');
|
||||
console.warn('响应内容:', JSON.stringify(response, null, 2));
|
||||
|
|
@ -82,7 +88,7 @@ function loadPlanDetails() {
|
|||
goBack();
|
||||
}
|
||||
},
|
||||
error: function(xhr, status, error) {
|
||||
error: function (xhr, status, error) {
|
||||
showLoading(false);
|
||||
console.error('❌ API请求失败');
|
||||
console.error('状态码:', xhr.status);
|
||||
|
|
@ -117,6 +123,34 @@ function renderPlanInfo() {
|
|||
return;
|
||||
}
|
||||
|
||||
// 格式化日期时间(如果outTime是时间戳或其他格式,需要转换)
|
||||
let displayTime = data.outTime || data.applyTime || '-';
|
||||
if (displayTime !== '-') {
|
||||
// 如果是时间戳,转换为可读格式
|
||||
if (typeof displayTime === 'number' || /^\d+$/.test(displayTime)) {
|
||||
const date = new Date(parseInt(displayTime));
|
||||
displayTime = date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit'
|
||||
});
|
||||
} else if (displayTime.includes('T')) {
|
||||
// 如果是ISO格式,转换为可读格式
|
||||
const date = new Date(displayTime);
|
||||
displayTime = date.toLocaleString('zh-CN', {
|
||||
year: 'numeric',
|
||||
month: '2-digit',
|
||||
day: '2-digit',
|
||||
hour: '2-digit',
|
||||
minute: '2-digit',
|
||||
second: '2-digit'
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
infoGrid.innerHTML = `
|
||||
<div class="info-item">
|
||||
<div class="info-label">计划编号</div>
|
||||
|
|
@ -124,11 +158,11 @@ function renderPlanInfo() {
|
|||
</div>
|
||||
<div class="info-item">
|
||||
<div class="info-label">申请人</div>
|
||||
<div class="info-value">${data.userName || '-'}</div>
|
||||
<div class="info-value">${data.creator || '-'}</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<div class="info-label">申请时间</div>
|
||||
<div class="info-value">${data.applyTime || '-'}</div>
|
||||
<div class="info-value">${data.createTime || '-'}</div>
|
||||
</div>
|
||||
`;
|
||||
console.log('✅ renderPlanInfo - 渲染完成');
|
||||
|
|
@ -159,7 +193,7 @@ function renderDetailsList() {
|
|||
|
||||
const needNum = item.needNum ? parseInt(item.needNum) : 0;
|
||||
const pendingNum = needNum - lkNum;
|
||||
console.log("数量:"+lkNum+"needNum:");
|
||||
console.log("数量:" + lkNum + "needNum:");
|
||||
const card = document.createElement('div');
|
||||
card.className = 'detail-card';
|
||||
card.innerHTML = `
|
||||
|
|
@ -211,6 +245,82 @@ function renderDetailsList() {
|
|||
console.log('✅ renderDetailsList - 渲染完成,共', list.length, '条数据');
|
||||
}
|
||||
|
||||
// 根据状态处理UI的禁用和显示
|
||||
function handleStatusBasedUI() {
|
||||
if (!status) {
|
||||
return; // 如果没有status参数,不处理
|
||||
}
|
||||
|
||||
const data = planDetails.data || {};
|
||||
const outStatus = data.outStatus;
|
||||
newOutStatus = outStatus;
|
||||
|
||||
// 如果状态为"已发货"
|
||||
if (status === '已发货') {
|
||||
// 禁用所有发货数量输入框
|
||||
const shipmentInputs = document.querySelectorAll('.shipment-input');
|
||||
shipmentInputs.forEach(input => {
|
||||
input.disabled = true;
|
||||
});
|
||||
|
||||
// 禁用发货信息表单
|
||||
document.getElementById('fhDay').disabled = true;
|
||||
document.getElementById('jbUser').disabled = true;
|
||||
document.getElementById('address').disabled = true;
|
||||
document.getElementById('remark').disabled = true;
|
||||
|
||||
// 隐藏提交发货按钮
|
||||
const submitBtn = document.querySelector('.btn-primary');
|
||||
if (submitBtn) {
|
||||
submitBtn.style.display = 'none';
|
||||
}
|
||||
}
|
||||
// 如果状态为"待发货"或"部分发货"
|
||||
else if (status === '待发货' || status === '部分发货') {
|
||||
// 如果outStatus为1,禁用表单并回填数据
|
||||
if (outStatus == 1) {
|
||||
// 禁用发货信息表单
|
||||
document.getElementById('fhDay').disabled = true;
|
||||
document.getElementById('jbUser').disabled = true;
|
||||
document.getElementById('address').disabled = true;
|
||||
document.getElementById('remark').disabled = true;
|
||||
|
||||
// 回填表单数据
|
||||
if (data.outTime) {
|
||||
// 格式化日期(如果outTime是时间戳或其他格式,需要转换)
|
||||
let dateValue = data.outTime;
|
||||
// 如果是时间戳,转换为YYYY-MM-DD格式
|
||||
if (typeof dateValue === 'number' || /^\d+$/.test(dateValue)) {
|
||||
const date = new Date(parseInt(dateValue));
|
||||
dateValue = date.toISOString().split('T')[0];
|
||||
} else if (dateValue.includes(' ')) {
|
||||
// 如果是日期时间字符串,只取日期部分
|
||||
dateValue = dateValue.split(' ')[0];
|
||||
}
|
||||
document.getElementById('fhDay').value = dateValue;
|
||||
}
|
||||
if (data.manager) {
|
||||
document.getElementById('jbUser').value = data.manager;
|
||||
}
|
||||
if (data.address) {
|
||||
document.getElementById('address').value = data.address;
|
||||
}
|
||||
if (data.remark) {
|
||||
document.getElementById('remark').value = data.remark;
|
||||
}
|
||||
}
|
||||
// 如果outStatus为0,表单无需禁用(保持默认状态)
|
||||
|
||||
// 如果status为"部分发货"且outStatus==1,修改按钮文本为"补充发货"
|
||||
if (status === '部分发货' && outStatus == 1) {
|
||||
const submitBtn = document.querySelector('.btn-primary');
|
||||
if (submitBtn) {
|
||||
submitBtn.textContent = '补充发货';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化发货明细
|
||||
function initShipmentDetails() {
|
||||
const list = planDetails.list || [];
|
||||
|
|
@ -264,6 +374,7 @@ function submitShipment() {
|
|||
const detailsList = [];
|
||||
const list = planDetails.list || [];
|
||||
let totalShipmentNum = 0;
|
||||
console.log('newOutStatus--list:', list);
|
||||
|
||||
list.forEach(item => {
|
||||
const inputElement = document.getElementById(`shipment_${item.detailId}`);
|
||||
|
|
@ -292,7 +403,7 @@ function submitShipment() {
|
|||
const detail = {
|
||||
modelId: item.modelId,
|
||||
planId: item.planId,
|
||||
detailId: item.detailId,
|
||||
// detailId: item.detailId,
|
||||
type: item.type,
|
||||
name: item.name,
|
||||
model: item.model,
|
||||
|
|
@ -312,6 +423,12 @@ function submitShipment() {
|
|||
contractId: ''
|
||||
}]
|
||||
};
|
||||
|
||||
if (status === '部分发货' && newOutStatus == 1) {
|
||||
detail.id = item.id;
|
||||
} else {
|
||||
detail.detailId = item.detailId;
|
||||
}
|
||||
detailsList.push(detail);
|
||||
}
|
||||
});
|
||||
|
|
@ -340,6 +457,12 @@ function submitShipmentToServer(detailsList, fhDay, jbUser, address, remark) {
|
|||
showSubmitLoading(true);
|
||||
|
||||
const planCode = planDetails.data.planCode;
|
||||
const outStatus = planDetails.data.outStatus;
|
||||
|
||||
// 判断使用哪个接口:当status为"部分发货"且outStatus==1时,使用补发货接口
|
||||
const endpoint = (status === '部分发货' && outStatus == 1)
|
||||
? SUBMIT_SHIPMENT_ENDPOINT_BUFFER
|
||||
: SUBMIT_SHIPMENT_ENDPOINT;
|
||||
|
||||
const submitData = {
|
||||
planCode: planCode,
|
||||
|
|
@ -352,23 +475,29 @@ function submitShipmentToServer(detailsList, fhDay, jbUser, address, remark) {
|
|||
proId: proId
|
||||
};
|
||||
|
||||
if (status === '部分发货' && newOutStatus == 1) {
|
||||
submitData.id = planDetails.data.id;
|
||||
}
|
||||
|
||||
console.log('========== safetyPlanShipmentItem.js - 提交发货 ==========');
|
||||
console.log('请求URL:', API_BASE_URL + SUBMIT_SHIPMENT_ENDPOINT);
|
||||
console.log('状态判断 - status:', status, ', outStatus:', outStatus);
|
||||
console.log('使用的接口:', endpoint);
|
||||
console.log('请求URL:', API_BASE_URL + endpoint);
|
||||
console.log('请求数据:', JSON.stringify(submitData, null, 2));
|
||||
console.log('请求Headers:', { 'Authorization': token ? '已设置' : '未设置' });
|
||||
console.log('Token值:', token);
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: API_BASE_URL + SUBMIT_SHIPMENT_ENDPOINT,
|
||||
url: API_BASE_URL + endpoint,
|
||||
dataType: 'json',
|
||||
contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
|
||||
data: 'params=' + encodeURIComponent(JSON.stringify(submitData)),
|
||||
beforeSend: function(xhr) {
|
||||
beforeSend: function (xhr) {
|
||||
xhr.setRequestHeader('Authorization', token);
|
||||
console.log('📤 设置Authorization header:', token ? '已设置' : '未设置');
|
||||
},
|
||||
success: function(response) {
|
||||
success: function (response) {
|
||||
showSubmitLoading(false);
|
||||
console.log('✅ API响应成功');
|
||||
console.log('完整响应:', JSON.stringify(response, null, 2));
|
||||
|
|
@ -379,7 +508,7 @@ function submitShipmentToServer(detailsList, fhDay, jbUser, address, remark) {
|
|||
alert('发货失败: ' + (response.msg || response.message || '未知错误'));
|
||||
}
|
||||
},
|
||||
error: function(xhr, errorStatus, error) {
|
||||
error: function (xhr, errorStatus, error) {
|
||||
showSubmitLoading(false);
|
||||
console.error('❌ API请求失败');
|
||||
console.error('状态码:', xhr.status);
|
||||
|
|
|
|||
|
|
@ -1,39 +1,39 @@
|
|||
//localStorage.setItem("url", "http://10.1.0.142:1935/gz_imw")
|
||||
localStorage.setItem("url", "http://192.168.0.38:8080/GZMachinesWeb")
|
||||
localStorage.setItem("url", "http://192.168.0.133:8080/GZMachinesWeb")
|
||||
//localStorage.setItem("url", "http://192.168.8.103:8080/gz_imw")
|
||||
//localStorage.setItem("url", "http://172.20.10.3:8080/GZMachinesWeb");
|
||||
//localStorage.setItem("url", "http://36.33.26.177:1356/GZMachinesWeb");
|
||||
//localStorage.setItem("url", "http://10.1.0.142:1935/GZMachinesWeb");
|
||||
$(function() {
|
||||
onDeviceReady();
|
||||
$(function () {
|
||||
onDeviceReady();
|
||||
});
|
||||
|
||||
function onDeviceReady() {
|
||||
deviceReady = true;
|
||||
dataBase = openDatabase("ImtMachineWeb", "", "工作簿", 1024 * 1024, function() {});
|
||||
if(!dataBase) {
|
||||
alert("数据库创建失败!");
|
||||
} else {
|
||||
create(dataBase);
|
||||
}
|
||||
deviceReady = true;
|
||||
dataBase = openDatabase("ImtMachineWeb", "", "工作簿", 1024 * 1024, function () { });
|
||||
if (!dataBase) {
|
||||
alert("数据库创建失败!");
|
||||
} else {
|
||||
create(dataBase);
|
||||
}
|
||||
}
|
||||
|
||||
function create(dataBase) {
|
||||
dataBase.transaction(function(tx) {
|
||||
tx.executeSql(
|
||||
"CREATE TABLE IF NOT EXISTS BM_USER(ID INT(11) NOT NULL," +
|
||||
"NAME VARCHAR(50)," +
|
||||
"PASSWORD VARCAHR(50)," +
|
||||
"POST_ID INT(11)," + //职位ID
|
||||
"LOGIN_NAME VARCAHR(50)," +
|
||||
"ORG_ID INT(11),"+
|
||||
"LOGGED VARCHAR(10)," +
|
||||
"PRIMARY KEY (ID))", [],
|
||||
function(tx, result) {
|
||||
},
|
||||
function(tx, error) {
|
||||
alert('创建BM_USER表失败:' + error.message);
|
||||
}
|
||||
);
|
||||
})
|
||||
dataBase.transaction(function (tx) {
|
||||
tx.executeSql(
|
||||
"CREATE TABLE IF NOT EXISTS BM_USER(ID INT(11) NOT NULL," +
|
||||
"NAME VARCHAR(50)," +
|
||||
"PASSWORD VARCAHR(50)," +
|
||||
"POST_ID INT(11)," + //职位ID
|
||||
"LOGIN_NAME VARCAHR(50)," +
|
||||
"ORG_ID INT(11)," +
|
||||
"LOGGED VARCHAR(10)," +
|
||||
"PRIMARY KEY (ID))", [],
|
||||
function (tx, result) {
|
||||
},
|
||||
function (tx, error) {
|
||||
alert('创建BM_USER表失败:' + error.message);
|
||||
}
|
||||
);
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
const commonIp = "http://192.168.0.38:21520";
|
||||
const commonService = commonIp+"/gz-aqgqj";
|
||||
const commonIp = "http://192.168.0.133:21520";
|
||||
const commonService = commonIp + "/gz-aqgqj";
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue