泛微E9开发 根据故障来源新增明细行,并且初始化错误类型

1、需求说明

用户对出现故障的机器或设备进行判断问题判断,系统根据软硬件故障自动识别相关的故障原因,并且对故障原因进行确认,当存在某个现象时,明细表自动新增行,并初始化错误类型。

  1. “硬件故障”
    在这里插入图片描述

  2. “硬件故障”去掉“硬盘存在坏道或损坏”故障原因在这里插入图片描述

  3. “软件故障”
    在这里插入图片描述

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 参数

参数说明

参数参数类型参数类型参数类型
changeMoreFieldJSON修改的字段值信息集合
changeVariableJSON修改的字段显示属性集合
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 参数

参数说明

参数参数类型参数类型参数类型
fieldidString字段ID,不带任何标示

返回值字段信息JSON重要属性说明

参数说明
htmltype字段大类型(文本/多行文本…)
detailtype字段小类型(整数/浮点数…)
fieldname字段数据库名称
fieldlabel字段显示名
viewattr字段属性(1:只读;2:可编辑;3:必填)
3.2.3 演示
WfForm.getFieldInfo("111");
  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值