网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月31日漏签0天
android开发吧 关注:225,838贴子:948,814
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 9回复贴,共1页
<<返回android开发吧
>0< 加载中...

一个合同审批系统

  • 只看楼主
  • 收藏

  • 回复
  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最近帮人做了一个合同审批系统,在这里发给大家看看,相互交流一下,并附带少量代码,大神勿喷。
有疑问的或者对我使用的技术感兴趣的或者有什么意见和建议的可以留言或者私信,吧主请手下留情。
以下是系统的一些信息:
手机端开发工具和语言:Android Studio+java
服务端开发工具和语言:bmob后端云+node.js云函数
手机端使用的网络请求框架:Retrofit
测试设备:android手机或模拟器
另外我的其他两篇帖子,有兴趣的也可以看一看:
分享一个点餐系统(可以连接小票打印机)http://tieba.baidu.com/p/6095661255
基于百度地图的防走丢系统(只给部分重要源码)http://tieba.baidu.com/p/6137933557


  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


界面很丑,还没有经过美工设计,将就看看。
注册和登录界面,没什么好说的,用户通过选择管理员,填写手机号,填写管理员密码进行注册,注册成功后登录,这里我们用管理员17777777777注册了13333333333、14444444444、15555555555、16666666666。四个账号


2026-03-31 20:19:28
广告
不感兴趣
开通SVIP免广告
  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


显示所有合同界面和我的界面,
我的界面:这里我已经将13333333333的用户姓名设置为张三,部门设置为工程部,其余三个账户,分别对应李四、王五、赵六,部门也各部相同。


  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


添加合同界面和显示所有合同界面
添加合同界面:这里我们录入了所有合同需要的信息,一共创建了三个合同,合同名称分别为:测试合同1,测试合同2,测试合同3。合同编号分别为:测试合同编号1111,测试合同编号2222,测试合同编号3333。


  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


我的参与界面和合同细节界面。
我的参与界面:当前登录账号13333333333没有参与任何审批,所以没有任何内容
合同细节界面:该合同的所有信息,下方两个按钮可以进行审批人操作和上传下载文件操作。


  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


附文件界面:
该界面会扫描指定文件夹,将其中所有文件列举出来,这里一共有5个文件。合同创建人可以
上传文件,我们一共上传了三个文件,所有用户可以下载文件查看
new Thread(new Runnable() {
@Override
public void run() {
find(Environment.getExternalStorageDirectory().toString() + "/a_contract_upload", "");
}
}).start();
public void find(String path, String reg) {
File file = new File(path);
File[] arr = file.listFiles();
String str = "";
for (int i = 0; i < arr.length; i++) {
//判断是否是文件夹,如果是的话,再调用一下find方法
if (arr[i].isDirectory()) {
find(arr[i].getAbsolutePath(), reg);
continue;
}
//根据正则表达式,寻找匹配的文件
// if (arr[i].getAbsolutePath().endsWith(reg))
{
//这个getAbsolutePath()方法返回一个String的文件绝对路径
GuLogUtils.log(TAG, arr[i].getAbsolutePath());
File myFile = new File(arr[i].getAbsolutePath());
GuLogUtils.log(TAG, arr[i].getAbsolutePath() + "文件大小:" + myFile.length());
if (myFile.length() < MAX_FILE_SIZE) {//只显示1.5M的文件
Message message = handler.obtainMessage();
message.arg1 = GET_DOCX_BACK;
message.obj = arr[i].getAbsolutePath();
handler.sendMessageDelayed(message, 100);
}
}
}
}
上面启动了一个线程去扫描设备sd卡根目录下a_contract_upload文件夹(指定文件夹)的所有文件并例举出来。


  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


添加审批人界面
我们添加了三个审批人,李四、王五、赵六,我们现在登录的账号还是13333333333点击14444444444的通过,发现失败,原因是我们不是赵四无法通过该合同。


  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


审批人审批界面:
切换到14444444444界面,点击通过,手写通过签名,通过成功。
我们需要自定义一个SignatureView代码来完成手写签名功能,其中的重写onTouchEvent为
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
touchDown(event);
break;
case MotionEvent.ACTION_MOVE:
touchMove(event);
break;
case MotionEvent.ACTION_UP:
//将路径画到bitmap中,即一次笔画完成才去更新bitmap,而手势轨迹是实时显示在画板上的。
mBitmapCanvas.drawPath(mPath, mPaint);
// mPath.reset();
//将一条完整的路径保存下来(相当于入栈操作)
mSavePath.add(mDrawPath);
mPath = null;// 重新置空
break;
}
// 更新绘制
invalidate();
return true;
}
通过上面的方法我们的手指在SignatureView滑动时会像笔一样写出内容,最后获取到SignatureView上的图片进行保存。


2026-03-31 20:13:28
广告
不感兴趣
开通SVIP免广告
  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

最后在我的参与界面,可以看见审批人为我的内容,包括正在审核的和已经同意或者否定的。


  • minicow11
  • 初一年级
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶一下


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 9回复贴,共1页
<<返回android开发吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示