下载文档

移动办公管理模块
更新时间:2016-07-22

1.序言

1.1序言

为了体现移动应用优势,提升公司办公效率,通过移动OA建立线上工作方式,简化传统公司工作方式,结合现有EMM管理平台与MBaas数据相结合,满足高度运转的公司变化需要。
本文档供项目组全体成员及项目组领导、单元测试人员、及相关人员阅读,方便后期项目更新维护、相关人员尽快熟悉项目内容。

1.2范围

本文档用于企业移动协同办公的详细设计,该详细设计的范围是:系统各组成部分的构成、各个部分的相关功能描述及相关代码的详细介绍。

2.关键词名词解析

名词 描述
OA 办公自动化(Office Automation,简称OA):是利用无线网络实现办公自动化的技术。它将原有OA系统上的公文、通讯录、日程、文件管理、通知公告等功能迁移到手机等移动设备上,让用户可以随时随地进行掌上办公,对于突发性事件和紧急性事件有极其高效和出色的支持。

3.办公OA管理

3.1企业CIS模块

 

3.1.1企业CIS列表(cis_list.html)

  • 3.1.1.1企业文化列表(cis_culture_content.html)
接口编号 zywx-culture-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行cultureListView.load(0)函数调用接口获取企业文化列表。
接口参数 {
“ifno”: “zywx-culture-0001”,
“condition”: {
 “rowCnt”: “10”,
 “pageNo”: pageNo
 },
“content”: {
 “cltrType”:””,
 “cltrTtl”:””
 }
}

 

  • 3.1.1.2培训活动列表(cis_train_content.html)
接口编号 zywx-cult-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 存储appcan.setLocVal(‘CIS-TYPEJONED’,”NO”)以便设置相应接口参数;执行trainListView.load(0)函数调用接口获取培训活动列表。
接口参数 {
“ifno”: “zywx-cult-0001”,
“condition”: {
  “rowCnt”: “10”,
 “pageNo”: pageNo
 },
“content”: {
 “cltrTtl”:””
 }
}

   

  • 3.1.1.3文体活动列表(cis_sports_content.html)
接口编号 zywx-actv-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 存储appcan.setLocVal(‘CIS-TYPEJONED’,”NO”)以便设置相应接口参数;执行sportsListView.load(0)函数调用接口获取文体活动列表。
接口参数 {
“ifno”: “zywx-actv-0001”,
“condition”: {
  “rowCnt”: “10”,
 “pageNo”: pageNo
 },
“content”: {
 “actvTtl”:””
 }
}

 

3.1.2已报名活动列表(cis_joined_list.html)

  • 3.1.2.1培训活动列表(cis_joined_train_content.html)
接口编号 zywx-members-0002
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 存储appcan.setLocVal(‘CIS-TYPEJONED’,”YES”)以便设置相应接口参数;执行trainListView.load(0)函数调用接口获取已报名培训活动列表。
接口参数 {
“ifno”: “zywx-members-0002”,
“condition”: {
  “rowCnt”: “10”,
 “pageNo”: pageNo
 “objEntityTypeId”:”06”
 },
“content”: {
  “title”:””
 }
}

 

  • 3.1.2.2文体活动列表(cis_joined_sports_content.html)
接口编号 zywx-members-0002
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 存储appcan.setLocVal(‘CIS-TYPEJONED’,”YES”)以便设置相应接口参数;执行sportsListView.load(0)函数根据相应参数调用接口获取文体活动列表。
接口参数 {
“ifno”: “zywx-members-0002”,
“condition”: {
  “rowCnt”: “10”,
 “pageNo”: pageNo
 “objEntityTypeId”:”07”
 },
“content”: {
  “title”:””
 }
}

 

3.1.3企业文化详情(cis_culture_detail.html)

接口编号 zywx-comm-0004
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行cultureView.load()函数,根据活动ID,调用接口获取详情。
接口参数 {
“ifno” : “zywx-comm-0004”,
“condition”: {
 },
“content”: {
  “entityTypeId” : “05”,
  “objectId” : objectId
 }
}

 

3.1.4活动详情(cis_activity_detail.html)

接口编号 1、类型不同,接口编号不同。
2、当类型为培训活动时,接口编号为:zywx-cult-0002
3、当类型为文体活动时,接口编号为:zywx-actv-0002
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 1、活动类型不同,entityTypeId参数值不同。
2、当类型为培训活动时,entityTypeId值为:06
3、当类型为文体活动时,entityTypeId值为:07
4、进入页面执行getDetail()函数,根据活动ID,调用接口获取详情。
注:接口调用详见3.1.1.1企业文化列表(cis_culture_content.html)代码示例
接口参数 {
“ifno”: (cisType==’cultivate_card’?”zywx-cult-0002”: “zywx-actv-0002”),
“condition”: {
 },
“content”: {
  “entityTypeId”: (cisType==’cultivate_card’?”06”: “07”),
  “objectId” : objectId
 }
}

 

3.1.5活动报名(cis_activity_detail.html)

接口编号 zywx-members-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 1、活动类型不同,objEntityTypeId参数值不同。
2、当类型为培训活动时,entityTypeId值为:0
3、当类型为文体活动时,entityTypeId值为:1
注:接口调用详见3.1.1.1企业文化列表(cis_culture_content.html)代码示例
接口参数 {
“ifno”: “zywx-members-0001”,
“condition”: {
  “cultNumber”: cultNumber,
  //人数限定”oprTypeId”: “01”
 },
“content”: {
  “entityTypeId”: “08”,
  “entity”: {
    “objObjectId”: objectId,
    “objEntityTypeId”: (cisType==’cultivate_card’?0: 1),
    //0: 培训活动,1:文体活动”
    signupType”: 0 //0: 自己报名, 1: 代报名
 }
}
}

3.2公告模块

 

3.2.1公告列表(notice.html)

接口编号 zywx-notice-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行noticeListView.load(0)函数,根据活动ID,调用接口获取详情。
接口参数 {
“ifno”: “zywx-notice-0001”,
“condition”: {
  “pageNo”: pageNo,
  “rowCnt”: 10
 },
“content”: {
  “noticeTtl”: ‘’,
  “noticeType”: ‘’
}
}

 

3.2.2公告详情(notice_detail.html)

接口编号 zywx-comm-0004
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行noticeView.load()函数根据相应参数调用接口获取公告详情。
接口参数 {
“ifno”: “zywx-comm-0004”,
“condition”: {
 },
“content”: {
  “objectId”: objectId,
  “entityTypeId”: “09”
}
}

3.3员工动态模块

 

3.3.1员工动态列表(personnel_dynamics.html)

  • 3.3.1.1员工入职列表(personnel_dynamics_new_content.html)
接口编号 zywx-ryyd-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行getDetail()函数根据相应参数调用接口获取员工入职列表。注意:接口返回值data.msg.entryInfo存在即属于员工入职列表项
接口参数 {
“ifno”: “zywx-ryyd-0001”,
“condition”: {}, ,
“content”: {}
}
  • 3.3.1.2员工异动列表(personnel_dynamics_content.html)
接口编号 zywx-ryyd-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行getDetail()函数根据相应参数调用接口获取员工异动列表。注意:接口返回值data.msg.transferInfo存在即属于员工异动列表项
接口参数 {
“ifno”: “zywx-ryyd-0001”,
“condition”: {}, ,
“content”: {}
}

3.4考勤模块(punchCard.html)

接口编号 1、获取考勤数据接口:zywx-atten-0002
2、打卡接口:zywx-atten-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 1、进入页面执行selData()函数,调用接口获取当前月份打卡情况。
2、点击头部右侧日历按钮,选取时间后,通知punchCrad_content.html页面执行selData()函数更新页面数据。
3、打卡调用common.js中的addDaka()函数。详见注释4.8.1addDaka()
接口参数 {
“ifno”: “zywx-atten-0002”,
“condition”: {}, ,
“content”: {
 “year”: curYear,
  “month”: curMonth
 }
}
代码示例 1、右侧日历按钮,点击选取年份和月份,调用openDatePickerWithoutDay方法打开日期选择器。
uexControl.openDatePickerWithoutDay(year, months);
2、获取当前年份、月份
 var curYear = curDate.getFullYear();//当前年
 var curMonth = curDate.getMonth()+1;//当前月

3.5规章制度模块

 

3.5.1规章制度列表(rule.html)

接口编号 zywx-rule-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行RuleListViewInstance.load()函数根据相应参数调用接口获取规章制度列表。
接口参数 {
“ifno”: “zywx-rule-0001”,
“condition”: { ,
“pageNo”: pageNo,
“rowCnt”: 10
},
“content”: {
 “keyWord”: ‘’,
  “ruleTtl”: ‘’
 }
}

 

3.5.2规章制度详情(rule_detail.html)

接口编号 zywx-comm-0004
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行ruleView.load()函数根据相应参数调用接口获取规章制度详情。
接口参数 {
“ifno”: “zywx-comm-0004”,
“condition”: {
},
“content”: {
 “objectId”: objectId,
  “entityTypeId”: “10”
 }
}

 

3.6日程模块 

 

3.6.1日程列表(sched.html)

接口编号 1、获取某天日程的编号:zywx-schedule-0001
2、删除日程接口编号:zywx-comm-0003
3、获取某月有活动的日期的接口编号:zywx-schedule-0002
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 1、执行openCalendar()函数,使用uexCalendar插件,显示日历。
2、选中某一天时执行schedListView.load()函数,查询当天日程列表。
3、执行SchedView.swipeLeft(),实现日程单项左滑动显示删除按钮效果。
4、执行SchedView.swipeRight(),实现日程单项右滑动隐藏删除按钮效果。
5、执行SchedView.gesture(),显示弹窗询问是否删除日志。
6、执行SchedView.discard(),删除日程。
7、执行calendarView.load()获取每月有活动的日期。
接口参数 1、获取某天日程接口参数:
{
“ifno”: “zywx-schedule-0001”,
“condition”: {
 “year”: scdlY, //年
 “month”: scdlM,
 day”: scdlD//日
},
“content”: {
 }
}
2、删除日程接口参数
{
“ifno”: “zywx-comm-0003”,
“condition”: {
 “oprTypeId”: “03” 
 },
“content”: {
 “objectId”: objectId,
 “entityTypeId”: “25”
 }
}
3、获取某月有活动的日期的接口参数:
{
“ifno”: “zywx-schedule-0002”,
“condition”: {
  “year”: scdlY,
 //年”month”: scdlM//月
 },
“content”: {
 }
}
4、打开日历,传递的数据
var json={
“frame”:{
“y”:y//日历的起始高度(距离顶部的距离) 
 },
  “type”:”0”,
 “needScroll”:”0”,
 “startDate”:rcxsny,
 “selectedColor”:”0xe5e5e5”,//日历选中项的颜色
  “todayColor”:”0x50b9ff”//today的颜色
};

 

3.6.2日程详情(sched_detail.html)

接口编号 zywx-comm-0004
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行schedView.load()调用接口获取数据。
接口参数 {
“ifno”: “zywx-comm-0004”,
“condition”: {
},
“content”: {
 “objectId”: objectId,
  “entityTypeId”: “25”
 }
}

 

3.6.3编辑日程(sched_add.html)

接口编号 zywx-comm-0002
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 1、进入页面,首先判断当前操作是编辑还是新建
;appcan.locStorage.val(“openRichengPage”)为’1’表示打开编辑日程页。
2、执行schedView.initData()函数展示旧数据。
3、选取日期使用uexControl.openDatePicker(year, month, day)日期选择器。
4、选取时间使用uexControl.openTimePicker(hours, min)日期选择器。
5、执行schedView.submit()函数调用接口存储数据,接口调用成功后通知日程列表页面以及日程详情页面刷新。
接口参数 {
“ifno”: (objectId?”zywx-comm-0002”: “zywx-comm-0001”),
“condition”: {
 “oprTypeId”: (objectId?”02”: “01”)
},
“content”: {
  “entityTypeId”: “25”,
  “entity”: {
    “schedTypeId”: schedTypeId, //0工作、1个人、2特殊、3重要
    “schedContent”: schedContent,
    “startTime”: startTime,
    “endTime”: endTime,
    “remind”: remind, //0否,1是
    “remindTime”: remindTime
  }
 }
}

 

3.6.4创建日程(sched_add.html)

接口编号 zywx-comm-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 1、进入页面,首先判断当前操作是编辑还是新建;appcan.locStorage.val(“openRichengPage”)为’0’表示打开编辑日程页。
2、执行schedView.submit()函数调用接口存储数据,接口调用成功后通知日程列表页面以及日程详情页面刷新。
接口参数 {
“ifno”: (objectId?”zywx-comm-0002”: “zywx-comm-0001”),
“condition”: {
  “oprTypeId”: (objectId?”02”: “01”)
},
“content”: {
  “entityTypeId”: “25”,
  “entity”: {
    “schedTypeId”: schedTypeId, //0工作、1个人、2特殊、3重要
    “schedContent”: schedContent,
    “startTime”: startTime,
    “endTime”: endTime,
    “remind”: remind, //0否,1是
    “remindTime”: remindTime
  }
 }
}

 

3.7工单审批模块

 

3.7.1工单列表(workFlowList.html)

接口编号 zywx-workFlow-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行BillTypeView.load()函数根据相应参数调用接口获取工单列表。
接口参数 {
“ifno” : “zywx-workFlow-0001”,
“condition”: {
  “url” : “/appdo-web-flow/workFlowData/getBillTypeList”
},
“content”: {
 “tenantId” : tenantId,
  “metaid” : “”,
 “billKey” : “”,
 “prco_inset_id” : “”,
 “rowCnt” : “”,
 “pageNo” : “”
 }
}

 

3.7.2工单详情(workFlow_detail.html)

接口编号 zywx-workFlow-0005
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行workflowView.load()调用接口获取工单详情。
接口参数 {
“ifno”: “zywx-workFlow-0005”,
“condition”: {
  “url”: “/appdo-web-flow/workFlowData/getBillTypeTemplateFileds”,
  “objectId”: this.workflowdata.businessKey,
  “entityTypeId”: “24”
},
“content”: {
  “tenantId”: this.workflowdata.tenantId,
  “billKey”: this.workflowdata.busiid,
  “metaid”: this.workflowdata.metaid
  }
}

 

3.7.3办事轨迹(workFlowTrail.html)

接口编号 zywx-workFlow-0001
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 进入页面执行WorkFlowTrailView.load()调用接口获取办事轨迹数据。
接口参数 {
“ifno” : “zywx-workFlow-0001”,
“condition”: {
  “url” : “/appdo-web-flow/workFlowData/getHistoryList”
 },
“content”: {
  “tenantId” : this.WORKFLOWDATA.tenantId,
  “billKey” : this.WORKFLOWDATA.busiid,
  “metaid” : this.WORKFLOWDATA.metaid,
  “prco_inset_id” : this.WORKFLOWDATA.instanceid,
  “rowCnt” : “100”,
  “pageNo” : “1”
  }
}

 

3.7.4发起审批(workFlowTypeList.html)

 
代码说明 获取工单审批页面存储的数据即appcan.getLocVal(“workFlowType”),根据数据使用FOR循环展示各种类型审批工单。  

3.7.5添加工单(workFlow_add.html)

接口编号 zywx-workFlow-0008
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 1、执行add( )初始化工单信息,自动填充某些字段
2、执行FormView.save()提交工单
接口参数 {
“ifno”: “zywx-workFlow-0008”,
“condition”: {
 “url”: “/appdo-web-flow/workFlowAction/saveForm/“ + options.flag,
 “masifno”: “zywx-note-0001”
  },
“content”: {
 “tenantId”: String(workflowdata.tenantId),
  “entityTypeId”: “24”,
  “entity”: this.toJSON()
  }
}

 

3.7.6编辑工单(workFlow_edit.html)

接口编号 1、获取工单信息接口编号:zywx-workFlow-0005
2、工单编辑后提交接口编号:zywx-workFlow-0008
3、工单编辑后保存接口:zywx-workFlow-0004
接口地址 服务器地址+端口号 + “emoa/app”
代码说明 1、执行update( )初始化工单信息
2、执行FormView.save()提交工单
接口参数 读取工单接口参数:
{
“ifno”: “zywx-workFlow-0005”,
“condition”: {
 “url”: “/appdo-web-flow/workFlowData/getBillTypeTemplateFileds” 
  },
“content”: {
 “tenantId”: workflowdata.tenantId,
  “metaid”: workflowdata.metaid
  }
}
未提交工单编辑后提交接口参数:
{
“ifno”: “zywx-workFlow-0008”,
“condition”: {
 “url”: “/appdo-web-flow/workFlowAction/saveForm/1”,
  “masifno”: “zywx-note-0004”
 },
“content”: {
  “metaid”: workflowdata.metaid,
  “user_info_id”: workflowdata.userId,
  “tenantId”: String(workflowdata.tenantId), 
  “objectId”: this.id, 
  “entityTypeId”: “24”,
  “entity”: this.toJSON()
  }
}
工单(除未提交订单)编辑后提交接口参数:
{
“ifno”: “zywx-workFlow-0008”,
“condition”: {
 “url”: “/appdo-web-flow/workFlowAction/commitTask”,
 “masifno”: “zywx-note-0004”,
  “oprTypeId”: “02”,
 “editTypeId”: “02”, //编辑种类 01:办理,02编辑提交
 “edit”: {
   “objectId”: this.id,
   “entityTypeId”: “24”,
   “entity”: this.toJSON()
}
  },
“content”: {
 “user_info_id”: workflowdata.userId,
  “tenantId”: String(workflowdata.tenantId),
  “taskId”: workflowdata.taskId,
  “approve”: “true”,
  “approveResult”: “”
  }
}
工单编辑后保存接口:
{
“ifno”: “zywx-workFlow-0004”,
“condition”: {
  “url”: “”,
  “masifno”: “zywx-note-0004”
  },
“content”: {
 “objectId”: this.id,
  “entityTypeId”: “24”,
 “entity”: this.toJSON()
  }
}

 

3.8注释

3.8.1 addDaka()

代码说明

1、addDaka()为在common.js 中封装的函数
2、getBaiduFromGoogle接口在设备未开启定位服务时跳转到系统的定位设置页面
3、根据获取的经纬度执行addDakaDo()函数调用接口进行打卡

代码示例

1、addDaka()函数

  1. function addDaka(cb) {
  2. appcan.ready(function() {
  3. uexLocation.cbGetBaiduFromGoogle = function(log, lat) {
  4. appcan.logs("===" + log + "lat==" + lat);
  5. addDakaDo(cb, lat, log);
  6. }
  7. var n = 0;
  8. uexLocation.onChange = function(lat, log) {
  9. n++;
  10. uexLocation.closeLocation();
  11. if (n == 1) {
  12. if (isAndroid) {
  13. addDakaDo(cb, lat, log);
  14. } else {
  15. uexLocation.getBaiduFromGoogle(log, lat);
  16. }
  17. }
  18. }
  19. });
  20. uexLocation.openLocation();
  21. }

2、接口编号:zywx-atten-0001
3、接口参数:

  1. {
  2. "ifno": "zywx-atten-0001",
  3. "condition": { },
  4. "content": {
  5. "lat": latitude,
  6. "lng": longitude
  7. }
  8. }

如问题还未解决,请联系在线客服


以上信息是否解决您的问题?


免费试用