OA二开摘抄(1)绩效模块
转自http://club.tongda2000.com/forum.php?mod=viewthread&tid=26878&extra=page%3D1
首先通达自带的绩效模块功能也挺大的,就是有点繁琐了,而且考虑到以后万一有变化,再想改用户习惯有点麻烦。
所以一开始就用愉快的用工作流吧!(有人需要就回复下,我就放源码)
1: 首先mysql上create一个库,不要哪天升级把我给升掉了,再开两个表(一个是指标库,一个是每月的得分表),
结构省略。。。,得分表其实就是指标库+两个列,一个是日期,一个是得分。其它列全部冗余,这样每个月变化指标也没事。
2:设计表单,这里必须要有几个全局变量你得知道:在任一个工作流里邮件查看框架源码,
).
g_prcs_id //实际步骤号
3.用jquery访问控件 ,用js按钮打开js编辑器
比如我让某个input控件变成4
var 关键字会冲突,所以用j(document).ready(function(){//这个事件会在表单打开会执行
$j("#txtMonth").val(4);//表单上所有的控件都加上id,通达创建的都只有Name, name不是唯一的
});
然后无刷的ajax技术肯定用的上,通常你会用它来查询或保存数据库
比如这里,我把界面上的表格输入保存,jquery.post函数其实就是ajax的调用
function updateDb(){
var str = ""; j(this).val()+",";//把所有的input用逗号拼起来 }); var url = "/general/updatejob.php";//交给php处理 $j.post(url,{score:str, user_id:g_login_user_id, "month": month,"form":form},function(data,status){
//回调函数,意思是php返回来后,js再处理,所以页面就不会刷新 //这里比如通过绘制table,或者告诉用户保存成功什么的 }); }
4.php访问数据库组装成json
新版的php一般都要用mysqli了, 比如用 mysqli_connect来创建一个数据库连接, mysqli_query执行sql 百度一下即可,很简单
用json_encode组装一下就可以echo函数输出了,在JS的回调函数里用JSON.parse,你就可以自己拼接一个table了,好像直接操作OA的表格对象也可以,没有试过.
5.我不知道如何捕获下一步的事件,所以创建了一个OA控件,确认分数,这样如果不打勾,就不能下一步,打勾时就保存
</ignore_js_op>