帖子
帖子
用户
博客
课程
显示全部楼层

干货来啦:今日常见问题分享(系列一)

[复制链接]
发表于 2022-11-8 20:56:16
Q1:页面加的脚本或页面规则控制字段显隐,工作流中流程字段权限也有控制,此种情况流程字段权限会覆盖页面中得设置。
A:页面中添加脚本,在viewModel.on('afterProcessWorkflow',function(){})中控制。

Q2:主子结构的页面详情页,想要控制子表中某一个字段在敲enter键时光标移动到右方还是下方?
A:选中对应字段,打开编辑器,修改enterDirection属性,0:右方;2:下方

Q3:textarea类型字段录入的内容换行了,但是预览没有换行。
A:afterLoadData生命周期函数中:document.querySelector('.textAreaValue pre').style.whiteSpace = 'pre-wrap'

Q4:保存前弹框拦截,分条件继续或取消。
A:viewModel.on('beforeSave', function (args) {
    var returnPromise = new cb.promise();
    cb.utils.confirm('是否继续?', function() {
      return returnPromise.resolve();
    }, function() {
      returnPromise.reject();
    });
    return returnPromise;
});


Q5:监听附件上传事件
A:viewModel.get('new5').on('afterFileUploadSuccess',function(data){})

Q6:自建引擎的自建单据中,审核后的单据仍然能被删除。 实体勾选了审批流,在页面中拉出审批状态,审核按钮配上了批量审核的命令。在对单据进项审核后,单据状态变为了审核,但是仍然可以被删除。
A:增补流程场景,页面设计器修改isSupportBpm为true

Q7:自建单据如何添加富文本组件?
A:https://yundoc.yonyou.com/view/p/2579285

Q8:如何实现原厂扩展字段能通过开放平台接口进行保存操作?
A:https://yundoc.yonyou.com/view/p/2579287

Q9:如何设置用户数据权限?
A:https://yundoc.yonyou.com/view/p/2579286

Q10:如何实现新增时表格默认插入两行?
A:viewModel.on('afterLoadData', function (data) {
  if(viewModel.getParams().mode == 'add'){
    var girdModel = viewModel.getGridModel();
    girdModel.appendRow({});
    girdModel.appendRow({});
  }
});

Q11:移动端如何扩展字段?
A:https://yundoc.yonyou.com/view/p/2582568

Q12:第三方应用如何跳转报表?
A:https://yundoc.yonyou.com/view/p/2582569

Q13:表单中的枚举项如何过滤?
A:viewModel.on('afterLoadData',function(){
    debugger;
    var meiju = viewModel.get('licenseType');
    //枚举赋值默认值
    meiju._set_data('cDefaultValue','0');
    let data = meiju.__data.dataSource;
    //自定义过滤后重设数据源
    meiju._set_data('dataSource', data.splice(2,8));
  })

Q14:移动端如何实现工作流的撤回?
A:增加按钮,按钮的click事件中执行:
**.**.do('unsubmit', viewModel)
目前只能加在详情页。

Q15:移动端如何监听点击审批按钮事件?
A:viewModel.on('beforeOpenApproveModel',function(){})

Q16:如何动态控制子表是否允许为空?
A:viewModel.get('new1').on('afterValueChange',function(data) {
    debugger;
    if(data.value == 1){
      gridModel.setState("bIsNull",true);
    }
  })

Q17:如何控制详情页打印模板数据的显示?
A:viewModel.on('afterLoadData', function(args) {
    let preview = viewModel.get('btnModelPreview');
    preview.on('beforeSetDataSource',function(args) {
      debugger;
      if(!viewModel.getCache('isSelf')) {
        viewModel.setCache('isSelf', true);
        preview.setState('dataSourceMode','local');
        preview.setDataSource(args.splice(1,1));
        return false;
      }
      viewModel.clearCache('isSelf');
    })
  })

Q18:怎么实现转圈的loading进度条?
A:function Loading () {
      var hook = React.useState(true);
       stop = hook[1];
      return React.createElement(TinperNext.Spin,{spinning: hook[0]});
    };
//开启loading
ReactDOM.render(React.createElement(Loading),document.createElement('div'));
//关闭loading
stop();

Q19:怎么监听子表一个字段的值改变事件并给另一个字段赋值?
A:viewModel.getGridModel().on('afterCellValueChange', function (data) {
  // 字段1--值改变
  if(data.cellName=='new1'){
viewModel.getGridModel().setCellValue(data.rowIndex, "new2", "5555");
  }
});
您需要登录后才可以回帖 登录

本版积分规则