/**
* 尊敬的用户,你好:页面 JS 面板是高阶用法,一般不建议普通用户使用,如需使用,请确定你具备研发背景,能够自我排查问题。当然,你也可以咨询身边的技术顾问或者联系宜搭平台的技术支持获得服务(可能收费)。
* 我们可以用 JS 面板来开发一些定制度高功能,比如:调用阿里云接口用来做图像识别、上报用户使用数据(如加载完成打点)等等。
* 你可以点击面板上方的 「使用帮助」了解。
*/
// 当页面渲染完毕后马上调用下面的函数,这个函数是在当前页面 - 设置 - 生命周期 - 页面加载完成时中被关联的。
export function didMount() {
console.log(`「页面 JS」:当前页面地址 ${location.href}`);
// console.log(`「页面 JS」:当前页面 id 参数为 ${this.state.urlParams.id}`);
// 更多 this 相关 API 请参考:JS 动作面板 - 前端代码开放 · 语雀
// document.title = window.loginUser.userName + ' | 宜搭';
}
/**
* TableField onAddClick
*/
export function onAddClick(newGroupId){
this.$('numberField_l7pt3li8').setValue(this.$('tableField_l7pt3li2').getValue().length);
}
export function onChange({ value }) {
// console.log('onChange', value);
// 仪器编码值
var conSubTable = this.$('tableField_l7pt3li2');
var subTableValue = conSubTable.getValue();
// 扫码
var conScanCode = this.$('textField_lewhsg6r');
var scanCodeValue = conScanCode.getValue();
// console.log(subTableValue);
// 截取仪器编码前两位,与ST比较
var sm = this.$('textField_lewhsg6r').getValue();
var qlw = sm.substr(0, 2);
// console.log("qlw: " + qlw);
// 截取仪器编码六七位,判断是否为数字
var nf = sm.substr(5, 2);
// console.log("nf: " + nf);
// 截取小数点
var xsd = sm.substr(-5, 1)
// console.log("xsd: " + xsd);
// 截取流水
var ls = sm.slice(7, -5)
// console.log("ls: " + ls);
// 判断前两位是否为ST
if (qlw != "ST") {
// snNotNull = false;
return;
}
if (!(nf > 0 && nf < 99)) {
return;
}
if (!(ls > 0 && ls < 9999)) {
return;
}
if (xsd != ".") {
return;
}
// 判断编号是否正确,否则退出
// 注意,当前测试设置为15或者16
if (!(scanCodeValue.length == 15 || scanCodeValue.length == 16)) {
return;
}
// console.log("当前编号格式正确");
// 去重语句
var tempArr = [];
var snVCode = scanCodeValue.substr(-4, 4);
scanCodeValue = scanCodeValue.slice(0, -5);
if (subTableValue[0].textField_l7pt3lia != "") {
const stlLength = subTableValue.length;
for (let i = 0; i < stlLength; i++) {
// console.log("【3】: " + i);
// console.log(subTableValue[i]);
// console.log(subTableValue[i].textField_l7pt3lia);
// console.log(scanCodeValue);
if (subTableValue[i].textField_l7pt3lia == scanCodeValue) {
// 与表中记录重复,退出
window.alert("该仪器编码:" + "【" + scanCodeValue + "】" + "重复,请重新确认!!!");
conScanCode.setValue("");
return;
} else if (i == (subTableValue.length - 1)) {
tempArr = subTableValue;
tempArr.reverse();
tempArr.push(
{
"textField_l7pt3lia": scanCodeValue,
"textField_lewhsg6s": snVCode,
"textField_l8jwlqhw":"检验中",
"textField_l8kwvb1y":"报检中"
}
);
tempArr.reverse();
// console.log("【4】:");
// console.log(tempArr);
}
}
} else {
subTableValue = [{
"textField_l7pt3lia": scanCodeValue,
"textField_lewhsg6s": snVCode,
"textField_l8jwlqhw": "检验中",
"textField_l8kwvb1y": "报检中"
}];
}
conSubTable.setValue(subTableValue);
conScanCode.setValue("");
this.onAddClick();
}