Files
qctool/lod.html

261 lines
9.0 KiB
HTML
Raw Normal View History

2021-10-22 20:00:32 +08:00
<!DOCTYPE html>
2021-10-22 20:52:52 +08:00
<html lang="zh_CN">
2021-10-22 20:00:32 +08:00
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
2022-07-16 00:43:41 +08:00
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
2021-10-22 20:00:32 +08:00
<title>干燥失重</title>
<link rel="stylesheet" href="./github.css">
2021-10-22 20:37:21 +08:00
<link rel="stylesheet" href="./theme.css">
2021-10-22 20:00:32 +08:00
<script src="./decimal.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
2021-10-22 20:03:17 +08:00
var debug = false;
2021-10-22 20:00:32 +08:00
var tip = "<br>" +
"操作过程:" +
"<br>" +
"空瓶 -> 干燥3小时 -> 冷却称重(1) -> 干燥1小时 -> 冷却称重(2-1) -> 加样(2-2) -> 干燥3小时 -> 冷却称重(3) -> 干燥1小时 -> 冷却称重(4)" +
"<br>" +
2022-07-06 00:13:24 +08:00
"<br>";
2021-10-22 20:00:32 +08:00
var decimal = Decimal.set(
{
rounding: Decimal.ROUND_HALF_EVEN,
precision: 12
}
);
$(document).ready(function () {
var input_m0l = document.getElementById("m0l");
var input_m1l = document.getElementById("m1l");
var input_m3l = document.getElementById("m3l");
var input_m0r = document.getElementById("m0r");
var input_m1r = document.getElementById("m1r");
var input_m3r = document.getElementById("m3r");
2021-10-22 20:00:32 +08:00
$(".msgbox").append(tip)
loadSavedContentsList();
2021-10-22 20:00:32 +08:00
$("#ok").click(function () {
var m0l = input_m0l.value;
var m1l = input_m1l.value;
var m3l = input_m3l.value;
2021-10-22 20:00:32 +08:00
var m0r = input_m0r.value;
var m1r = input_m1r.value;
var m3r = input_m3r.value;
2021-10-22 20:00:32 +08:00
var lod1 = lod(m0l, m1l, m3l)
var lod2 = lod(m0r, m1r, m3r)
var average = decimal.add(lod1, lod2).div(2).toString();
2022-07-08 00:55:20 +08:00
// 结果小于0时使用红色字体
lod1 = (lod1 < 0) ? "<span style='color: red;'>" + lod1 + "</span>" : lod1;
lod2 = (lod2 < 0) ? "<span style='color: red;'>" + lod2 + "</span>" : lod2;
average = (average < 0) ? "<span style='color: red;'>" + average + "</span>" : average;
var msg = "<br>" +
"第一组干燥失重 = " + lod1 + "<br>" +
"第二组干燥失重 = " + lod2 + "<br>" +
"两组干燥失重平均值 = " + average + "<br>";
if (m0l != '' && m1l != '') {
msg += "第一组恒重后空瓶+样 = " + decimal.add(m0l, m1l).toString() + "<br>";
}
if (m0r != '' && m1r != '') {
msg += "第二组恒重后空瓶+样 = " + decimal.add(m0r, m1r).toString() + "<br>";
}
message(msg);
});
$("#clear").click(function () {
var confirm = window.confirm("所填写的数据将被清空,确定?");
if (!confirm) {
return;
}
input_m0l.value = "";
input_m1l.value = "";
input_m3l.value = "";
input_m0r.value = "";
input_m1r.value = "";
input_m3r.value = "";
message(tip);
});
$("#new_page").click(function () {
window.open(window.location.href, "_blank");
2021-10-22 20:00:32 +08:00
});
var timer;
var isSave = true;
$("#save_and_restore").bind("touchstart mousedown", event => {
event.preventDefault();
timer = setTimeout(() => {
let save = $("#save");
let restore = $("#restore");
if (isSave) {
save.removeAttr("style");
restore.attr("style", "color: deepskyblue;");
} else {
restore.removeAttr("style");
save.attr("style", "color: deepskyblue;");
}
isSave = !isSave;
}, 1000);
});
$("#save_and_restore").bind("touchmove mouseleave", event => {
event.preventDefault();
clearTimeout(timer);
timer = null;
return false;
});
$("#save_and_restore").bind("touchend mouseup", event => {
event.preventDefault();
clearTimeout(timer);
return false;
});
$("#save_and_restore").bind("click", event => {
event.preventDefault();
let id = $("#lod-name").val();
if (id.length == 0) {
alert("请输入或选择样品批号!");
return;
}
if (isSave) {
// save data to localStorage
let m0l = input_m0l.value;
let m1l = input_m1l.value;
let m3l = input_m3l.value;
let m0r = input_m0r.value;
let m1r = input_m1r.value;
let m3r = input_m3r.value;
let lod = {
"m0l": m0l,
"m1l": m1l,
"m3l": m3l,
"m0r": m0r,
"m1r": m1r,
"m3r": m3r
};
localStorage.setItem(id, JSON.stringify(lod));
loadSavedContentsList();
} else {
let lod = JSON.parse(localStorage.getItem(id));
input_m0l.value = lod.m0l;
input_m1l.value = lod.m1l;
input_m3l.value = lod.m3l;
input_m0r.value = lod.m0r;
input_m1r.value = lod.m1r;
input_m3r.value = lod.m3r;
}
})
2021-10-22 20:00:32 +08:00
if (debug) {
document.getElementById("m0l").value = 18.34625;
document.getElementById("m1l").value = 1.04213;
document.getElementById("m3l").value = 19.38511;
}
});
function loadSavedContentsList() {
// load data from localStorage to input.
let keys = [];
$("#keys").empty();
for (let i = 0; i < localStorage.length; i++) {
keys.push(localStorage.key(i));
}
keys.forEach(key => {
let option = document.createElement("option");
option.innerText = key;
$("#keys").append(option);
});
}
2021-10-22 20:00:32 +08:00
function message(msg) {
$(".msgbox").empty();
$(".msgbox").append(msg);
}
/**
* 计算干燥失重
* @param m0 恒重后空瓶重
* @param m1 样品重
* @param m3 干燥恒重后带样品重
* @return 干燥失重(%
*/
function lod(m0, m1, m3) {
if (checkNull(m0, m1, m3)) {
return "0";
}
var a = new Decimal(m0);
var b = new Decimal(m1);
var c = new Decimal(m3);
// a + b - c / b
var d = decimal.add(a, b).minus(c);
var e = d.div(b).mul(100);
return e.toString();
}
function checkNull(m0, m1, m3) {
return m0 == '' || m1 == '' || m3 == '';
}
</script>
</head>
<body>
<h3>干燥失重</h3>
<input type="text" name="lod-name" id="lod-name" list="keys" placeholder="样品批号"><br><br>
2021-10-22 20:37:21 +08:00
2021-10-22 20:00:32 +08:00
<div class="one-team">
第一组<br>
2022-07-06 00:13:24 +08:00
<input type="number" name="m0l" id="m0l" class="one-input m0" placeholder="恒重后空瓶重" inputmode="decimal"><br>
<input type="number" name="m1l" id="m1l" class="one-input m1" placeholder="样品重" inputmode="decimal"><br>
<input type="number" name="m3l" id="m3l" class="one-input m3" placeholder="干燥恒重后带样品重" inputmode="decimal"><br>
2021-10-22 20:00:32 +08:00
<br>
</div>
<div class="two-team">
第二组<br>
2022-07-06 00:13:24 +08:00
<input type="number" name="m0r" id="m0r" class="two-input m0" placeholder="恒重后空瓶重" inputmode="decimal"><br>
<input type="number" name="m1r" id="m1r" class="two-input m1" placeholder="样品重" inputmode="decimal"><br>
<input type="number" name="m3r" id="m3r" class="two-input m3" placeholder="干燥恒重后带样品重" inputmode="decimal"><br>
2021-10-22 20:00:32 +08:00
<br>
</div>
2021-10-22 20:37:21 +08:00
<div class="buttons">
<button id="new_page">新开标签页</button>
<button id="clear">清除内容</button>
<button id="save_and_restore">
<span id="save" style="color: deepskyblue;">保存</span>
/
<span id="restore">恢复</span>
</button>
<button id="ok">计算</button>
2021-10-22 20:37:21 +08:00
</div>
2021-10-22 20:00:32 +08:00
<div class="msgbox"></div>
<datalist id="keys"></datalist>
2021-10-22 20:00:32 +08:00
</body>
</html>