Order.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace addons\qingdongams\controller;
  3. use addons\qingdongams\model\Order as OrderModel;
  4. use addons\qingdongams\model\StaffSignIn;
  5. use addons\qingdongams\model\Staff;
  6. use addons\qingdongams\model\Contract;
  7. /**
  8. * 订单管理
  9. */
  10. class Order extends StaffApi
  11. {
  12. protected $noNeedLogin = ['*'];
  13. protected $noNeedRight = [];
  14. //获取订单记录
  15. public function getList() {
  16. $params = $this->request->post();
  17. $limit = input("limit/d", 10);
  18. $staff_id = input("staff_id", '');
  19. $number = input("number", '');
  20. $where = [];
  21. if($staff_id){
  22. $where['create_staff_id']=$staff_id;
  23. }else{
  24. $where['create_staff_id'] = ['in',Staff::getMyStaffIds()];
  25. }
  26. if($number){
  27. $ids=Contract::where(['num'=>['like',"%{$number}%"]])->column('id');
  28. $where['contract_id']=['in',$ids];
  29. }
  30. $order = 'id desc';
  31. if(isset($params['id_list'])){//日志 查询id列表
  32. $where=[];
  33. $where['id']=['in',explode(',',$params['id_list'])];
  34. }
  35. $list = OrderModel::where($where)->with([
  36. 'customer','contract'
  37. ])->order($order)->paginate($limit);
  38. $this->success('请求成功', $list);
  39. }
  40. //获取订单详情
  41. public function getDetail(){
  42. $id=input('id');
  43. $order=OrderModel::where(['id'=>$id])->with(['customer','contract','product'])->find();
  44. if(empty($order)){
  45. $this->error('订单信息不存在');
  46. }
  47. $order['is_operation']=0;
  48. if($order['owner_staff_id'] == $this->auth->id){
  49. //是否可以操作
  50. $order['is_operation']=1;
  51. }
  52. $order['record']=StaffSignIn::where(['relation_type'=>StaffSignIn::ORDER_TYPE,'relation_id'=>$id])
  53. ->field('id,staff_id,relation_type,relation_id,content,file_ids,createtime,staff_id')->with(['staff'])->select();
  54. $this->success('请求成功',$order);
  55. }
  56. //录入到账信息
  57. public function inputPayment(){
  58. $id=input('id');
  59. $payment_date=input('payment_date');
  60. $file_ids=input('file_ids','');
  61. $remarks=input('remarks','');
  62. if(empty($payment_date)){
  63. $this->error('参数不能为空');
  64. }
  65. //存在通话内容
  66. $content='到账时间:'.$payment_date.'<br>备注:'.$remarks;
  67. $data = [
  68. 'staff_id' => $this->auth->id,
  69. 'relation_type' => StaffSignIn::ORDER_TYPE,//日程类型
  70. 'relation_id' => $id,//签到关联id
  71. 'content' => $content,//处理结果
  72. 'file_ids' => $file_ids,
  73. ];
  74. StaffSignIn::createSignIn($data);
  75. $this->success('录入成功');
  76. }
  77. }