加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

yonsuite开发文档——添加制单人

发布时间:2020-12-15 02:14:35 所属栏目:C语言 来源:网络整理
导读:需求来源 原有创建人字段,系统预制字段,参照 用户 ,直接显示创建人展示唯一标识,目前无法对创建人进行参照设置,导致无法在单据上显示创建人名称 yonsuite系统 含有 用户档案和 员工档案,目前数据建模的参照支持对员工档案进行参照,无法对用户进行参照

需求来源

原有创建人字段,系统预制字段,参照用户,直接显示创建人展示唯一标识,目前无法对创建人进行参照设置,导致无法在单据上显示创建人名称

yonsuite系统 含有 用户档案和 员工档案,目前数据建模的参照支持对员工档案进行参照,无法对用户进行参照,所以我们需要根据当前用户去查询对应的员工档案,取到对应的员工档案信息,作为制单人信息。要保证员工档案中的手机号码与用户登录使用手机号码保持一致

?

步骤

1、实体中添加一个参照字段(注意这里是参照 staffNew)

?

2、在页面设计器卡片页面添加当前新增字段

?为了防止原有表单的内容丢失,建议在页面中新建一个表单,进行字段设置,添加制单人,再将制单人字段移动到原表单中。再删除新建的表单

?

??对制单人字段进行参照设置

?

?

3、添加一个获取用户信息的通用函数

?保证当前登录用户在员工档案中存在

let AbstractAPIHandler = require('AbstractAPIHandler');
  class MyAPIHandler extends AbstractAPIHandler {
   execute(request){
     var currentUser = JSON.parse(AppContext()).currentUser;
     var sysId="diwork";
     var tenantId = currentUser.tenantId;
     var userids = [currentUser.id];
     var result = listOrgAndDeptByUserIds(sysId,tenantId,userids);
     var resultJSON = JSON.parse(result);
     var userid;
      username;
     if(1"==resultJSON.status&&resultJSON.data!=null){
       //根据当前用户信息去查询员工表
       var userData = resultJSON.data;
       业务系统员工id
       userid = userData[currentUser.id].id;
       username = userData[currentUser.id].name;
     }else{
       throw new Error(获取员工信息异常);
     }
   return {userid:userid,username:username};
 }
}
exports({entryPoint":MyAPIHandler});

?

4、在页面初始化中对制单人设置初始值

function getMakeUser(){
     d9117e2959004ebaa0194e5307e12890
     cb.rest.invokeFunction(d9117e2959004ebaa0194e5307e12890,{},function(err,res) {
        if(res.exception==undefined){
          console.log(获取当前登录人)
          console.log(res)
          //{userid:userid,username:username};
 }{ cb.utils.alert(res.exception); } }) }

?

5、放在页面加载完毕事件中

viewModel.on(afterLoadData?

6、赋值操作——在创建状态下才更新制单人

var currentState = viewModel.getParams().mode;
currentState 三种状态 add edit browse(查看)
if(currentState ==add){
参照赋值两个,一个是参照唯一标识,一个是参照显示名称
  viewModel.get(staff).setValue({$userid})
  viewModel.staff_name).setValue({$username})
}

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读