功能点:存储阅读记录

功能目标

  • 进入到【异常记录】卡片页面记录查看信息

存储阅读记录知识点

获取当前页面的状态信息

//获取当前的单据状态 currentState:  add:新增态,edit:编辑态,browse:浏览态
var currentState = viewModel.getParams().mode;

数据加载完成后事件

viewModel.on('afterLoadData', function () {
    var id = viewModel.get("id").getValue();
    var body = {
      'id':id,
      'look_situation_m':viewModel.get("look_situation_m").getValue(),
      'look_num':viewModel.get("look_num").getValue()
    }
    cb.rest.invokeFunction("da8c40be08844e46b3d0361ca2e377e9", body,
    function(err, res) {
        //应该是无感的,所以不需要进行处理
    });
}

记录查看信息功能实现

后端API函数对查看量累加

新建api函数并进入设计器

图 1

查看阅读记录的单据编码

图 2

函数代码

let AbstractAPIHandler = require('AbstractAPIHandler');
  class MyAPIHandler extends AbstractAPIHandler {
   execute(request){
     var {id,look_situation_m,look_num} = request;
     if(look_num==undefined){look_num=0;}
     //无论是否已经查看都需要改次数   -----------------更新异常记录表的查看次数
     var object = {id:id,look_num:look_num+1};
     var res = ObjectStore.updateById("GT10261AT179.GT10261AT179.abnormalevent",object);
     //获取当前用户的员工信息-------------------------------------------------------------------
     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);
     if("1"!=resultJSON.status||resultJSON.data==null){
        throw new Error("没有获取到当前用户的组织信息");
     }
     //写入阅读记录表-------------------------------------------------------------------
     var userData = resultJSON.data;
     //需要从数据库中查询出当前人的大区信息、门店信息--TODO:
     var psnid = userData[currentUser.id].id;
     var belongArea ="select '' as id ,id as areaid from GT10261AT179.GT10261AT179.area1 where StaffNew='"+psnid+"'";
     var belongR = ObjectStore.queryByYonQL(belongArea);
     if(undefined==belongR||belongR.length==0){
      var belongStore = "select id,area.id as areaid from GT10261AT179.GT10261AT179.stores1 where StaffNew='"+psnid+"'";
      belongR = ObjectStore.queryByYonQL(belongStore);
     }
     var looklog
     if(belongR.length>0){
      looklog = {StaffNew:psnid,abnormalevent:id,area:belongR[0].areaid,stores:belongR[0].id};
     }else{
      looklog = {StaffNew:psnid,abnormalevent:id};
     }
     //TODO:第三个参数单据编码
     var looklogresult = ObjectStore.insert("GT10261AT179.GT10261AT179.looklog",looklog,"e3e52ae2");
   return {result:true};
 }
}
exports({"entryPoint":MyAPIHandler});

前端设置

进入【异常记录】卡片设计器

图 3

进入页面初始化函数设计器

图 4

图 5

//页面加载后事件
  viewModel.on('afterLoadData', function () {
    //如果是浏览态--请求api函数添加阅读记录
    if("browse"==currentState){
      var id = viewModel.get("id").getValue();
      var body = {
        'id':id,
        'look_situation_m':viewModel.get("look_situation_m").getValue(),
        'look_num':viewModel.get("look_num").getValue()
      }
      cb.rest.invokeFunction("066c3eebde254465b43ec4662eadaf2c", body,
      function(err, res) {
        //无感,不需要处理
      });
    }
  })

测试

预览【阅读记录列表】,双击行数据进入卡片页面

图 6

返回查看阅读次数是否增加

图 7

图 8

查看阅读记录是否有数据

图 9

图 10

Copyright © 用友客户成功部 2020 all right reserved,powered by Gitbook修订时间: 2020-12-22 11:24:27

results matching ""

    No results matching ""