opt: 看板加急字段显示

This commit is contained in:
2025-07-02 10:26:22 +08:00
parent d30e25a8cd
commit 56285ab21c
4 changed files with 28 additions and 19 deletions

View File

@@ -157,13 +157,13 @@
margin-bottom: 15px;
gap: 20px;
}
.legend-item {
display: flex;
align-items: center;
font-size: 0.9em;
}
.color-box {
display: inline-block;
width: 16px;
@@ -171,11 +171,11 @@
margin-right: 8px;
border-radius: 3px;
}
.red-box {
background-color: #8B0000;
}
.yellow-box {
background-color: #FFC107;
}
@@ -223,6 +223,7 @@
<th>呼叫时间</th>
<th>管芯规格</th>
<th>套轴标记</th>
<th>是否加急</th>
<th>一键恢复</th>
</tr>
</thead>
@@ -241,7 +242,7 @@
recoverApiUrl: `${BASE_URL}/api/wms/apply/recover`,
tipApiUrl: `${BASE_URL}/api/wms/apply/v2/tzTaskINfo`
};
const refreshInterval = 5000; // 刷新间隔统一为5秒
const devices = ['B_CBJ01', 'B_CBJ02'];
@@ -254,9 +255,9 @@
},
body: JSON.stringify({ device_code: deviceCode }),
});
if (!response.ok) {
const errorText = await response.text();
const errorText = await response.text();
console.error(`HTTP error response for ${deviceCode} (log):`, errorText);
throw new Error(`HTTP error! status: ${response.status} for ${deviceCode} (log). Response: ${errorText}`);
}
@@ -374,7 +375,7 @@
row.insertCell().textContent = item.up_or_down === '1' ? '上' : (item.up_or_down === '2' ? '下' : item.up_or_down || 'N/A');
row.insertCell().textContent = item.qzz_size || 'N/A';
row.insertCell().textContent = item.qzz_generation || 'N/A';
let statusText = '已完成';
if (item.status === '01') {
statusText = '准备套轴';
@@ -389,7 +390,7 @@
const startTimeCell = row.insertCell();
startTimeCell.textContent = item.start_time || 'N/A';
row.insertCell().textContent = item.tube || 'N/A';
let tzText = '未套轴';
@@ -406,7 +407,14 @@
tzText = '套轴异常';
}
row.insertCell().textContent = tzText || 'N/A';
// 是否加急
let urgentText = '未加急';
if (item.manufacture_sort === 'P2') {
urgentText = '已加急';
}
row.insertCell().textContent = urgentText || 'N/A';
// 添加恢复按钮
const recoverCell = row.insertCell();
const recoverBtn = document.createElement('button');
@@ -424,7 +432,7 @@
container_name: item.container_name
})
});
if (response.ok) {
const alertDiv = document.createElement('div');
alertDiv.style.position = 'fixed';
@@ -451,7 +459,7 @@
}
};
recoverCell.appendChild(recoverBtn);
// 检查start_time是否超过2小时并设置行样式
if (item.start_time) {
const startTime = new Date(item.start_time.replace(/-/g, '/'));
@@ -467,7 +475,7 @@
} else {
const row = tableBody.insertRow();
const cell = row.insertCell();
cell.colSpan = 7;
cell.colSpan = 11;
cell.textContent = '暂无数据。';
cell.style.textAlign = 'center';
}
@@ -492,7 +500,7 @@
const data = await response.json();
tip = data.tip || '';
tip2 = data.tip2 || '';
// 显示tip2在对应设备标题下方
document.getElementById('tip2-' + deviceCode).textContent = tip2;
}
@@ -544,4 +552,4 @@
cursor: not-allowed;
opacity: 0.6;
}
</style>
</style>

View File

@@ -201,7 +201,8 @@
MIN(p.start_time) AS start_time,
IF(p.paper_tube_or_FRP = '1', p.paper_tube_description, p.FRP_description) AS tube,
MIN(p.`status`) AS `status`,
MAX(p.qzzno) AS qzzno
MAX(p.qzzno) AS qzzno,
MAX(p.manufacture_sort) AS manufacture_sort
FROM `pdm_bi_slittingproductionplan` p
WHERE p.`status` <![CDATA[ < ]]> '09'
AND p.is_delete = '0'
@@ -228,7 +229,6 @@
p.container_name
ORDER BY
`status`,
qzz_size,
manufacture_sort desc,
start_time
</select>

View File

@@ -47,4 +47,5 @@ public class CallPlanViewVO implements Serializable {
private String start_time;
private String is_paper_ok;
private String qzzno;
private String manufacture_sort;
}

View File

@@ -90,11 +90,11 @@ public class EventTest {
// List<String> list = Arrays.asList("482210000000001");
// System.out.println(papervehicleMapper.getGXs("0", list));
// PdmBiSlittingproductionplan byContainerName = slittingproductionplanService.getByContainerName("B1虚拟-B50FQ00001-2");
PdmBiSlittingproductionplan byContainerName = slittingproductionplanService.getByContainerName("B1虚拟-B50FQ00003-0");
PdmBiSlittingproductionplan byContainerName = slittingproductionplanService.getByContainerName("BB3X2410280907A1");
List<PdmBiSlittingproductionplan> plans = new ArrayList<>();
plans.add(byContainerName);
BstIvtShafttubeivt shafttubeivt = bstIvtShafttubeivtMapper.selectOne(new LambdaQueryWrapper<BstIvtShafttubeivt>().eq(BstIvtShafttubeivt::getPoint_code, "B_CBJ01"));
autoCallAirShaftTask.toCallAgvMovePaperTube(plans, "0", shafttubeivt);
autoCallAirShaftTask.toCallAgvMovePaperTube(plans, "0", shafttubeivt, slittingproductionplanService.getAllCutPlan(0));
}
@Test