根据故障来源新增明细行,并且初始化错误类型
- 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");