2022-10-15 23:32:33 +08:00
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="zh-cmn-Hans">
|
|
|
|
|
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
2022-11-10 00:56:33 +08:00
|
|
|
<title>L414-5KR 相关物质</title>
|
2022-10-15 23:32:33 +08:00
|
|
|
<link rel="stylesheet" href="./github.css">
|
|
|
|
|
<link rel="stylesheet" href="./theme.css">
|
|
|
|
|
<script src="./decimal.js"></script>
|
|
|
|
|
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
|
|
|
|
<script>
|
2022-11-20 00:19:56 +08:00
|
|
|
let debug = false
|
2022-10-15 23:32:33 +08:00
|
|
|
|
|
|
|
|
// 校正因子
|
2022-11-20 00:19:56 +08:00
|
|
|
let F_L414_3 = new Decimal(0.80)
|
|
|
|
|
let F_L414_5_IM = new Decimal(1.48)
|
2022-10-15 23:32:33 +08:00
|
|
|
// 计算精度
|
2022-11-20 00:19:56 +08:00
|
|
|
let PRECISION = 3
|
2022-10-15 23:32:33 +08:00
|
|
|
// 操规允许的最大值
|
2022-11-20 00:19:56 +08:00
|
|
|
let MAX_L414_3 = 0.3
|
|
|
|
|
let MAX_L414_5_IM = 1.0
|
|
|
|
|
let MAX_TOTAL_IMPURITIES = 2.0
|
|
|
|
|
let MIN_PURITY = 98.0
|
2022-10-15 23:32:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
// 默认的消息提示
|
2022-11-20 00:19:56 +08:00
|
|
|
let tips = `计算 L414-3、L414-5-IM、杂质总量、纯度`
|
2022-10-15 23:32:33 +08:00
|
|
|
|
2022-11-20 00:19:56 +08:00
|
|
|
let decimal = Decimal.set({
|
2022-10-15 23:32:33 +08:00
|
|
|
rounding: Decimal.ROUND_HALF_EVEN,
|
|
|
|
|
precision: 12
|
2022-11-20 00:19:56 +08:00
|
|
|
})
|
2022-10-15 23:32:33 +08:00
|
|
|
|
|
|
|
|
$(document).ready(() => {
|
|
|
|
|
let one_all = $("#one-all")
|
|
|
|
|
let one_414_3 = $("#one-414-3")
|
|
|
|
|
let one_414_5_im = $("#one-414-5-im")
|
|
|
|
|
let one_414_5 = $("#one-414-5")
|
|
|
|
|
let two_all = $("#two-all")
|
|
|
|
|
let two_414_3 = $("#two-414-3")
|
|
|
|
|
let two_414_5_im = $("#two-414-5-im")
|
|
|
|
|
let two_414_5 = $("#two-414-5")
|
|
|
|
|
|
|
|
|
|
if (debug) {
|
|
|
|
|
one_414_3.val(1762)
|
|
|
|
|
one_414_5_im.val(2614)
|
|
|
|
|
one_414_5.val(24001626)
|
|
|
|
|
one_all.val(24075340)
|
|
|
|
|
|
|
|
|
|
two_414_3.val(2175)
|
|
|
|
|
two_414_5_im.val(3319)
|
|
|
|
|
two_414_5.val(24320630)
|
|
|
|
|
two_all.val(24409434)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$("#msgbox").html(tips)
|
|
|
|
|
$("#new_page").click(() => window.open(window.location.href, "_BLANK"))
|
2022-11-20 00:19:56 +08:00
|
|
|
|
2022-10-15 23:32:33 +08:00
|
|
|
$("#clear").click(() => {
|
|
|
|
|
one_all.val("")
|
|
|
|
|
two_all.val("")
|
|
|
|
|
one_414_3.val("")
|
|
|
|
|
two_414_3.val("")
|
|
|
|
|
one_414_5_im.val("")
|
|
|
|
|
two_414_5_im.val("")
|
|
|
|
|
one_414_5.val("")
|
|
|
|
|
two_414_5.val("")
|
|
|
|
|
$("#msgbox").empty()
|
|
|
|
|
$("#msgbox").html(tips)
|
2022-11-10 00:56:33 +08:00
|
|
|
$("#table").hide()
|
2022-10-15 23:32:33 +08:00
|
|
|
})
|
2022-11-20 00:19:56 +08:00
|
|
|
|
2022-10-15 23:32:33 +08:00
|
|
|
$("#ok").click(() => {
|
|
|
|
|
let one_414_3_cf = correctionFactor(one_414_3.val(), one_all.val(), F_L414_3)
|
|
|
|
|
let one_414_5_im_cf = correctionFactor(one_414_5_im.val(), one_all.val(), F_L414_5_IM)
|
|
|
|
|
|
|
|
|
|
let two_414_3_cf = correctionFactor(two_414_3.val(), two_all.val(), F_L414_3)
|
|
|
|
|
let two_414_5_im_cf = correctionFactor(two_414_5_im.val(), two_all.val(), F_L414_5_IM)
|
|
|
|
|
|
|
|
|
|
let one_total_impurities = totalImpurities(
|
|
|
|
|
one_all.val(), one_414_5.val(),
|
|
|
|
|
one_414_3.val(), one_414_3_cf,
|
|
|
|
|
one_414_5_im.val(), one_414_5_im_cf
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
let two_total_impurities = totalImpurities(
|
|
|
|
|
two_all.val(), two_414_5.val(),
|
|
|
|
|
two_414_3.val(), two_414_3_cf,
|
|
|
|
|
two_414_5_im.val(), two_414_5_im_cf
|
|
|
|
|
)
|
|
|
|
|
|
2022-11-10 00:56:33 +08:00
|
|
|
let one_purity = decimal.sub(100, one_total_impurities).toFixed(PRECISION)
|
|
|
|
|
let two_purity = decimal.sub(100, two_total_impurities).toFixed(PRECISION)
|
|
|
|
|
|
|
|
|
|
let data = {
|
|
|
|
|
"one": {
|
|
|
|
|
"L414_3": format(one_414_3_cf, MAX_L414_3),
|
|
|
|
|
"L414_5_IM": format(one_414_5_im_cf, MAX_L414_5_IM),
|
|
|
|
|
"impurities": format(one_total_impurities, MAX_TOTAL_IMPURITIES),
|
|
|
|
|
"purity": format(one_purity, MIN_PURITY, true)
|
|
|
|
|
},
|
|
|
|
|
"two": {
|
|
|
|
|
"L414_3": format(two_414_3_cf, MAX_L414_3),
|
|
|
|
|
"L414_5_IM": format(two_414_5_im_cf, MAX_L414_5_IM),
|
|
|
|
|
"impurities": format(two_total_impurities, MAX_TOTAL_IMPURITIES),
|
|
|
|
|
"purity": format(two_purity, MIN_PURITY, true)
|
|
|
|
|
},
|
|
|
|
|
"average": {
|
|
|
|
|
"L414_3": format(average(one_414_3_cf, two_414_3_cf), MAX_L414_3),
|
|
|
|
|
"L414_5_IM": format(average(one_414_5_im_cf, two_414_5_im_cf), MAX_L414_5_IM),
|
|
|
|
|
"impurities": format(average(one_total_impurities, two_total_impurities), MAX_TOTAL_IMPURITIES),
|
|
|
|
|
"purity": format(average(one_purity, two_purity, 1), MIN_PURITY, true)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$("#table").show()
|
|
|
|
|
generateTable(data)
|
|
|
|
|
|
2022-10-15 23:32:33 +08:00
|
|
|
let msg = `
|
|
|
|
|
操规允许: <br>
|
|
|
|
|
L414-3 ≤ ${MAX_L414_3}% <br>
|
|
|
|
|
L414-5-IM ≤ ${MAX_L414_5_IM.toPrecision(2)}% <br>
|
|
|
|
|
总杂 ≤ ${MAX_TOTAL_IMPURITIES.toPrecision(2)}% <br>
|
|
|
|
|
纯度 ≥ ${MIN_PURITY}% <br>
|
|
|
|
|
`
|
|
|
|
|
$("#msgbox").html(msg)
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
2022-11-10 00:56:33 +08:00
|
|
|
/**
|
|
|
|
|
* 将结果输出到表格中
|
|
|
|
|
*/
|
|
|
|
|
function generateTable(data) {
|
|
|
|
|
$("#L414-3>#one").html(data.one.L414_3)
|
|
|
|
|
$("#L414-5-IM>#one").html(data.one.L414_5_IM)
|
|
|
|
|
$("#impurities>#one").html(data.one.impurities)
|
|
|
|
|
$("#purity>#one").html(data.one.purity)
|
|
|
|
|
|
|
|
|
|
$("#L414-3>#two").html(data.two.L414_3)
|
|
|
|
|
$("#L414-5-IM>#two").html(data.two.L414_5_IM)
|
|
|
|
|
$("#impurities>#two").html(data.two.impurities)
|
|
|
|
|
$("#purity>#two").html(data.two.purity)
|
|
|
|
|
|
|
|
|
|
$("#L414-3>#average").html(data.average.L414_3)
|
|
|
|
|
$("#L414-5-IM>#average").html(data.average.L414_5_IM)
|
|
|
|
|
$("#impurities>#average").html(data.average.impurities)
|
|
|
|
|
$("#purity>#average").html(data.average.purity)
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-15 23:32:33 +08:00
|
|
|
/**
|
|
|
|
|
* 代入校正因子进行计算
|
|
|
|
|
*/
|
|
|
|
|
function correctionFactor(pa, paa, f) {
|
|
|
|
|
if (pa == '' || paa == '' || f == '') return 0
|
|
|
|
|
return decimal.div(pa, paa).mul(f).mul(100).toFixed(PRECISION, Decimal.ROUND_HALF_EVEN)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 计算杂质总量
|
|
|
|
|
*/
|
|
|
|
|
function totalImpurities(paa, l414_5, l414_3, l414_3_rrf, l414_5_im, l414_5_im_rrf) {
|
|
|
|
|
if (paa == '' || l414_5 == '' || l414_3 == '' || l414_3_rrf == '' ||
|
|
|
|
|
l414_5_im == '' || l414_5_im_rrf == '') return 0
|
|
|
|
|
|
|
|
|
|
// X = All - (L414-5) - (L414-3) - (L414-5-IM) / All * 100
|
|
|
|
|
// R = X + (%L414-3) + (%L414-5-IM)
|
|
|
|
|
let a = decimal.sub(paa, l414_5).sub(l414_3).sub(l414_5_im)
|
|
|
|
|
let b = decimal.div(a, paa).mul(100)
|
|
|
|
|
let r = decimal.add(b, l414_3_rrf).add(l414_5_im_rrf)
|
|
|
|
|
return r.toFixed(PRECISION, Decimal.ROUND_HALF_EVEN)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function format(value, max, morethen = false) {
|
2022-11-10 00:56:33 +08:00
|
|
|
let red_value = `<span style='color: red;'>${value}</span>`
|
2022-10-15 23:32:33 +08:00
|
|
|
if (value == 0) return "ND"
|
|
|
|
|
if (value < 0) return red_value
|
|
|
|
|
if (!morethen && value >= max) return red_value
|
|
|
|
|
if (morethen && value <= max) return red_value
|
2022-11-10 00:56:33 +08:00
|
|
|
return `${value}`
|
2022-10-15 23:32:33 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 求两个数的平均值
|
|
|
|
|
*/
|
|
|
|
|
function average(a, b, fd = (PRECISION - 1)) {
|
|
|
|
|
return decimal.add(a, b).div(2).toFixed(fd)
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
<body>
|
2022-11-10 00:56:33 +08:00
|
|
|
<h3>L414-5KR 相关物质</h3>
|
2022-10-15 23:32:33 +08:00
|
|
|
<div class="one">
|
|
|
|
|
第一组<br>
|
|
|
|
|
<input type="number" name="one-414-3" id="one-414-3" , placeholder="L414-3 峰面积" inputmode="numeric">
|
|
|
|
|
<input type="number" name="one-414-5-im" id="one-414-5-im" , placeholder="L414-5-IM 峰面积" inputmode="numeric">
|
|
|
|
|
<input type="number" name="one-414-5" id="one-414-5" , placeholder="L414-5 峰面积" inputmode="numeric">
|
|
|
|
|
<input type="number" name="one-all" id="one-all" placeholder="总峰面积" inputmode="numeric">
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
<div class="two">
|
|
|
|
|
第二组<br>
|
|
|
|
|
<input type="number" name="two-414-3" id="two-414-3" , placeholder="L414-3 峰面积" inputmode="numeric">
|
|
|
|
|
<input type="number" name="two-414-5-im" id="two-414-5-im" , placeholder="L414-5-IM 峰面积" inputmode="numeric">
|
|
|
|
|
<input type="number" name="two-414-5" id="two-414-5" , placeholder="L414-5 峰面积" inputmode="numeric">
|
|
|
|
|
<input type="number" name="two-all" id="two-all" placeholder="总峰面积" inputmode="numeric">
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
<div class="buttons">
|
|
|
|
|
<button id="new_page">新开标签页</button>
|
|
|
|
|
<button id="clear">清除内容</button>
|
|
|
|
|
<button id="ok">计算</button>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<br>
|
2022-11-10 00:56:33 +08:00
|
|
|
<table id="table" style="font-size: small; width: 100%; text-align: center; display: none;">
|
|
|
|
|
<caption>计算结果</caption>
|
|
|
|
|
<tr>
|
|
|
|
|
<th scope="col">/</th>
|
|
|
|
|
<th scope="col">第一组(%)</th>
|
|
|
|
|
<th scope="col">第二组(%)</th>
|
|
|
|
|
<th scope="col">平均值(%)</th>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr id="L414-3">
|
|
|
|
|
<th scope="row">L414-3</th>
|
|
|
|
|
<td id="one"></td>
|
|
|
|
|
<td id="two"></td>
|
|
|
|
|
<td id="average"></td>
|
|
|
|
|
</tr>
|
2022-11-13 23:13:21 +08:00
|
|
|
<tr id="L414-4">
|
|
|
|
|
<th scope="row">L414-4</th>
|
|
|
|
|
<td id="one">/</td>
|
|
|
|
|
<td id="two">/</td>
|
|
|
|
|
<td id="average">/</td>
|
|
|
|
|
</tr>
|
2022-11-10 00:56:33 +08:00
|
|
|
<tr id="L414-5-IM">
|
|
|
|
|
<th scope="row">L414-5-IM</th>
|
|
|
|
|
<td id="one"></td>
|
|
|
|
|
<td id="two"></td>
|
|
|
|
|
<td id="average"></td>
|
|
|
|
|
</tr>
|
2022-11-13 23:13:21 +08:00
|
|
|
<tr id="purity">
|
|
|
|
|
<th scope="row">纯度</th>
|
2022-11-10 00:56:33 +08:00
|
|
|
<td id="one"></td>
|
|
|
|
|
<td id="two"></td>
|
|
|
|
|
<td id="average"></td>
|
|
|
|
|
</tr>
|
2022-11-13 23:13:21 +08:00
|
|
|
<tr id="max_impurities">
|
|
|
|
|
<th scope="row">最大单杂</th>
|
|
|
|
|
<td id="one">/</td>
|
|
|
|
|
<td id="two">/</td>
|
|
|
|
|
<td id="average">/</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr id="impurities">
|
|
|
|
|
<th scope="row">杂质总量</th>
|
2022-11-10 00:56:33 +08:00
|
|
|
<td id="one"></td>
|
|
|
|
|
<td id="two"></td>
|
|
|
|
|
<td id="average"></td>
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
2022-10-15 23:32:33 +08:00
|
|
|
<div id="msgbox"></div>
|
|
|
|
|
</body>
|
|
|
|
|
|
|
|
|
|
</html>
|