根据故障来源新增明细行,并且初始化错误类型
- 1、需求说明
- 2、实现方法
- 3、扩展知识点
- 3.1 批量修改字段值或显示属性
- 3.1.1 格式
- 3.1.2 参数
- 3.1.3 演示
- 3.2 根据字段ID获取字段信息
- 3.2.1 格式
- 3.2.2 参数
- 3.2.3 演示
1、需求说明
用户对出现故障的机器或设备进行判断问题判断,系统根据软硬件故障自动识别相关的故障原因,并且对故障原因进行确认,当存在某个现象时,明细表自动新增行,并初始化错误类型。
-
“硬件故障”
-
“硬件故障”去掉“硬盘存在坏道或损坏”故障原因
-
“软件故障”
2、实现方法
代码块
<script>
var gzlxField = WfForm.convertFieldNameToId("gzlypd");
var yjgzFieldArr = ["26199","26200","26201","26202","26203","26204","26205"];
var rjgzFieldArr = ["26206","26208","26209","26210","26211","26212","26213"];
//故障来源判断,清空故障相关值
clearData = function(gzlyV){
//硬件故障,清空软件故障相关值
if(gzlyV == "0"){
WfForm.changeMoreField({field26199:{value:""},field26200:{value:""},field26201:{value:""},field26202:{value:""},field26203:{value:""},field26204:{value:""},field26205:{value:""},field26214:{value:""}}
,{field26199:{viewAttr:3},field26200:{viewAttr:3},field26201:{viewAttr:3},field26202:{viewAttr:3},field26203:{viewAttr:3},field26204:{viewAttr:3},field26205:{viewAttr:3},field26214:{viewAttr:3}});
}else if(gzlyV == "1"){ //软件故障,清空硬件故障相关值
WfForm.changeMoreField({field26206:{value:""},field26208:{value:""},field26209:{value:""},field26210:{value:""},field26211:{value:""},field26212:{value:""},field26213:{value:""},field26214:{value:""}}
,{field26206:{viewAttr:3},field26208:{viewAttr:3},field26209:{viewAttr:3},field26210:{viewAttr:3},field26211:{viewAttr:3},field26212:{viewAttr:3},field26213:{viewAttr:3},field26214:{viewAttr:3}});
}else{
}
}
operateDetailRow = function(value,fieldLable){
//无问题,表示清空该行
if(value == "1"){
var rowArr = WfForm.getDetailAllRowIndexStr("detail_1").split(",");
for(var i=0; i<rowArr.length; i++){
var rowIndex = rowArr[i];
if(rowIndex !== ""){
var fieldMark = "field25902_"+rowIndex; //遍历明细行字段
var fieldValue = WfForm.getFieldValue(fieldMark);
if(fieldValue == fieldLable){
WfForm.delDetailRow("detail_1",rowIndex.toString());
}
}
}
}else if(value == "0"){
WfForm.addDetailRow("detail_1",{field25902:{value:fieldLable}});
}else{
}
}
jQuery(document).ready(function(){
debugger;
//故障来源判断 - 值触发
WfForm.bindFieldChangeEvent(gzlxField,function(obj,id,value){
WfForm.delDetailRow("detail_1","all");
clearData(value);
});
//硬件故障+其他 - 值触发
WfForm.bindFieldChangeEvent("field26199,field26200,field26201,field26202,field26203,field26204,field26205,field26214",function(obj,id,value){
var gzlxValue = WfForm.getFieldValue(gzlxField);
if(gzlxValue == "1"){
return;
}
if(value){
var fieldid = id.substring(5,id.length);
var fieldInfo = WfForm.getFieldInfo(fieldid);
var fieldLable = fieldInfo.fieldlabel;
operateDetailRow(value,fieldLable);
}
});
//软件故障+其他 - 值触发
WfForm.bindFieldChangeEvent("field26206,field26208,field26209,field26210,field26211,field26212,field26213,field26214",function(obj,id,value){
var gzlxValue = WfForm.getFieldValue(gzlxField);
if(gzlxValue == "0"){
return;
}
if(value){
var fieldid = id.substring(5,id.length);
var fieldInfo = WfForm.getFieldInfo(fieldid);
var fieldLable = fieldInfo.fieldlabel;
operateDetailRow(value,fieldLable);
}
});
})
</script>
3、扩展知识点
3.1 批量修改字段值或显示属性
3.1.1 格式
changeMoreField: function(changeDatas, changeVariable)
3.1.2 参数
参数说明
参数 | 参数类型 | 参数类型 | 参数类型 |
---|---|---|---|
changeMoreField | JSON | 是 | 修改的字段值信息集合 |
changeVariable | JSON | 否 | 修改的字段显示属性集合 |
3.1.3 演示
WfForm.changeMoreField({
field110:{value:"修改后的值"},
field111:{value:"2,3",specialobj:[
{id:"2",name:"张三"},{id:"3",name:"李四"}
]},
...
},{
field110:{viewAttr:2},
field111:{viewAttr:3},
...
});
3.2 根据字段ID获取字段信息
说明:根据字段ID获取字段信息,JSON格式,包括名称、类型、只读必填属性等
3.2.1 格式
getFieldInfo:function(fieldid)
3.2.2 参数
参数说明
参数 | 参数类型 | 参数类型 | 参数类型 |
---|---|---|---|
fieldid | String | 是 | 字段ID,不带任何标示 |
返回值字段信息JSON重要属性说明 |
参数 | 说明 |
---|---|
htmltype | 字段大类型(文本/多行文本…) |
detailtype | 字段小类型(整数/浮点数…) |
fieldname | 字段数据库名称 |
fieldlabel | 字段显示名 |
viewattr | 字段属性(1:只读;2:可编辑;3:必填) |
3.2.3 演示
WfForm.getFieldInfo("111");