Approve.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\service\ApproveService;
  4. use hg\apidoc\annotation as Apidoc;
  5. use think\Db;
  6. use think\Exception;
  7. /**
  8. * @Apidoc\Title("审批")
  9. * @Apidoc\Group("api")
  10. * @Apidoc\Sort("12")
  11. */
  12. class Approve extends Base
  13. {
  14. public function initialize()
  15. {
  16. parent::initialize();
  17. parent::checkLogin();
  18. }
  19. /**
  20. * 审批列表
  21. *
  22. * @Apidoc\Method("POST")
  23. * @Apidoc\Param("page", type="integer",require=true, desc="页数")
  24. * @Apidoc\Param("page_num", type="integer", require=true, desc="每页数量")
  25. * @Apidoc\Param("status", type="integer", require=true, desc="处理状态:1=待处理,2=已处理,3=我收到的")
  26. * @Apidoc\Param("module", type="integer", require=false, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件 不传默认全部")
  27. * @Apidoc\Param("start_time", type="string", require=false, desc="申请开始时间")
  28. * @Apidoc\Param("end_time", type="string", require=false, desc="申请结束时间")
  29. * @Apidoc\Param("search", type="string", require=false, desc="搜索 姓名 事由 编号")
  30. * )
  31. */
  32. public function get_list()
  33. {
  34. $status = input('status');
  35. $module = input('module');
  36. $start_time = input('start_time');
  37. $end_time = input('end_time');
  38. $search = input('search');
  39. $offset = $this->off_set;
  40. $length = $this->page_num;
  41. $data = ApproveService::get_list($status, $module, $start_time, $end_time, $search, $offset, $length, $this->user);
  42. $this->success('审批列表', $data);
  43. }
  44. /**
  45. * 详情
  46. *
  47. * @Apidoc\Method("POST")
  48. * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
  49. */
  50. public function get_detail()
  51. {
  52. $id = input('approve_id');
  53. $info = ApproveService::get_detail($id, $this->user, 'detail');
  54. $this->success('详情', $info);
  55. }
  56. /**
  57. * 信息
  58. *
  59. * @Apidoc\Desc("修改信息")
  60. * @Apidoc\Method("POST")
  61. * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
  62. */
  63. public function get_info()
  64. {
  65. $id = input('approve_id');
  66. $info = ApproveService::get_detail($id, $this->user, 'info');
  67. $this->success('信息', $info);
  68. }
  69. /**
  70. * 审批
  71. *
  72. * @Apidoc\Method("POST")
  73. * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
  74. * @Apidoc\Param("status", type="integer",require=true, desc="审批状态:3=审批同意,4=审批驳回")
  75. * @Apidoc\Param("remark", type="sting",require=false, desc="审批意见")
  76. **/
  77. public function audit()
  78. {
  79. $id = input('approve_id');
  80. $status = input('status');
  81. $remark = input('remark');
  82. $params = compact("id", "status", "remark");
  83. Db::startTrans();
  84. try {
  85. ApproveService::make($id, $params, $this->user,'audit');
  86. Db::commit();
  87. } catch (Exception $e) {
  88. Db::rollback();
  89. $this->error($e->getMessage());
  90. }
  91. $this->success('确认成功');
  92. }
  93. /**
  94. * 修改
  95. *
  96. * @Apidoc\Method("POST")
  97. * @Apidoc\Param("approve_id", type="integer",require=true, desc="审批ID")
  98. * @Apidoc\Param("module", type="integer", require=true, desc="模块类型:1=申购申请,2=呈批申请,3=入库申请,4=领用申请,5=出差申请,6=请假申请,7=用车申请,8=维修申请,9=合同呈批,10=收文批阅,11=学校文件")
  99. * @Apidoc\Param("reason", type="string", require=true, desc="事由")
  100. * @Apidoc\Param("start_time", type="string", require=true, desc="开始时间")
  101. * @Apidoc\Param("end_time", type="string", require=true, desc="结束时间")
  102. * @Apidoc\Param("document", type="string", require=false, desc="附件(多个用英文逗号隔开)")
  103. * @Apidoc\Param("images", type="string", require=false, desc="图片(多个用英文逗号隔开)")
  104. * @Apidoc\Param("type", type="integer", require=true, desc="出差类型:1=市内,2=市外")
  105. * @Apidoc\Param("is_who", type="integer", require=false, desc="是否跨关内关外:0=否,1=是")
  106. * @Apidoc\Param("remark", type="string", require=false, desc="备注")
  107. * @Apidoc\Param("peer_user", type="array", require=false, desc="同行员工数据 module=5",
  108. * @Apidoc\Param("is_who", type="integer", require=true, desc="是否外部人员:0=否,1=是"),
  109. * @Apidoc\Param("user_id", type="string", require=false, desc="用户userid"),
  110. * @Apidoc\Param("name", type="string", require=true, desc="姓名"),
  111. * @Apidoc\Param("desc", type="string", require=false, desc="备注"),
  112. * )
  113. **/
  114. public function edit(){
  115. $id = input('approve_id');
  116. $module = input('module');
  117. $reason = input('reason');
  118. $desc = input('desc','');
  119. $start_time = input('start_time');
  120. $end_time = input('end_time');
  121. $document = input('document');
  122. $images = input('images');
  123. $type = input('type');
  124. $is_who = input('is_who');
  125. $remark = input('remark');
  126. $peer_user = input('peer_user');
  127. $params = compact("id", "module", "reason", "desc", "start_time", "end_time", "document", "images", "type", "is_who", "remark", "peer_user");
  128. Db::startTrans();
  129. try {
  130. ApproveService::make($id,$params, $this->user,'edit');
  131. Db::commit();
  132. } catch (Exception $e) {
  133. Db::rollback();
  134. $this->error($e->getMessage());
  135. }
  136. $this->success('修改成功');
  137. }
  138. }