Printing.php 4.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <?php
  2. /**
  3. * 打印设置控制器
  4. *
  5. * @author qifan
  6. * @date 2020-12-03
  7. */
  8. namespace app\admin\controller;
  9. use app\admin\logic\PrintingLogic;
  10. use think\Hook;
  11. use think\Request;
  12. class Printing extends ApiCommon
  13. {
  14. /**
  15. * 用于判断权限
  16. * @permission 无限制
  17. * @allow 登录用户可访问
  18. * @other 其他根据系统设置
  19. **/
  20. public function _initialize()
  21. {
  22. $action = [
  23. 'permission'=>[''],
  24. 'allow'=>['index', 'create', 'update', 'read', 'delete', 'field', 'copy']
  25. ];
  26. Hook::listen('check_auth',$action);
  27. $request = Request::instance();
  28. $a = strtolower($request->action());
  29. if (!in_array($a, $action['permission'])) {
  30. parent::_initialize();
  31. }
  32. }
  33. /**
  34. * 打印模板列表
  35. *
  36. * @param PrintingLogic $printingLogic
  37. * @return \think\response\Json
  38. * @throws \think\db\exception\DataNotFoundException
  39. * @throws \think\db\exception\ModelNotFoundException
  40. * @throws \think\exception\DbException
  41. */
  42. public function index(PrintingLogic $printingLogic)
  43. {
  44. $page = !empty($this->param['page']) ? $this->param['page'] : 1;
  45. $limit = !empty($this->param['limit']) ? $this->param['limit'] : 15;
  46. $data = $printingLogic->index($page, $limit);
  47. return resultArray(['data' => $data]);
  48. }
  49. /**
  50. * 创建打印模板
  51. *
  52. * @param PrintingLogic $printingLogic
  53. * @return \think\response\Json
  54. */
  55. public function create(PrintingLogic $printingLogic)
  56. {
  57. $param = $this->param;
  58. if (empty($param['name'])) return resultArray(['error' => '缺少模板名称!']);
  59. if (empty($param['type'])) return resultArray(['error' => '缺少模板类型!']);
  60. if (empty($param['content'])) return resultArray(['error' => '缺少模板详情!']);
  61. if (!$printingLogic->create($param)) return resultArray(['error' => '添加失败!']);
  62. return resultArray(['data' => '添加成功!']);
  63. }
  64. /**
  65. * 获取模板详情
  66. *
  67. * @param PrintingLogic $printingLogic
  68. * @return \think\response\Json
  69. */
  70. public function read(PrintingLogic $printingLogic)
  71. {
  72. $id = $this->param['id'];
  73. if (empty($id)) return resultArray('缺少模板ID!');
  74. $data = $printingLogic->read($id);
  75. return resultArray(['data' => $data]);
  76. }
  77. /**
  78. * 更新模板数据
  79. *
  80. * @param PrintingLogic $printingLogic
  81. * @return \think\response\Json
  82. * @throws \think\Exception
  83. * @throws \think\exception\PDOException
  84. */
  85. public function update(PrintingLogic $printingLogic)
  86. {
  87. $param = $this->param;
  88. if (empty($param['id'])) return resultArray(['error' => '缺少模板ID!']);
  89. if (!$printingLogic->update($param)) return resultArray(['error' => '更新失败!']);
  90. return resultArray(['data' => '更新成功!']);
  91. }
  92. /**
  93. * 删除模板数据
  94. *
  95. * @param PrintingLogic $printingLogic
  96. * @return \think\response\Json
  97. * @throws \think\Exception
  98. * @throws \think\exception\PDOException
  99. */
  100. public function delete(PrintingLogic $printingLogic)
  101. {
  102. $id = $this->param['id'];
  103. if (empty($id)) return resultArray(['error' => '缺少模板ID!']);
  104. if (!$printingLogic->delete($id)) return resultArray(['error' => '删除失败!']);
  105. return resultArray(['data' => '删除成功!']);
  106. }
  107. /**
  108. * 复制模板数据
  109. *
  110. * @param PrintingLogic $printingLogic
  111. * @return \think\response\Json
  112. * @throws \think\db\exception\DataNotFoundException
  113. * @throws \think\db\exception\ModelNotFoundException
  114. * @throws \think\exception\DbException
  115. */
  116. public function copy(PrintingLogic $printingLogic)
  117. {
  118. $id = $this->param['id'];
  119. if (empty($id)) return resultArray(['error' => '缺少模板ID!']);
  120. if (!$printingLogic->copy($id)) return resultArray(['error' => '复制失败!']);
  121. return resultArray(['data' => '复制成功!']);
  122. }
  123. /**
  124. * 获取打印字段
  125. *
  126. * @param PrintingLogic $printingLogic
  127. * @return \think\response\Json
  128. * @throws \think\db\exception\DataNotFoundException
  129. * @throws \think\db\exception\ModelNotFoundException
  130. * @throws \think\exception\DbException
  131. */
  132. public function field(PrintingLogic $printingLogic)
  133. {
  134. # 打印类型:1商机;2合同;3回款
  135. $type = !empty($this->param['type']) ? $this->param['type'] : 5;
  136. $data = $printingLogic->getFields($type);
  137. return resultArray(['data' => $data]);
  138. }
  139. }