BVB Source Codes

The latest thinkphp v5.2 work order system Show ClientController.class.php Source code

Return Download The latest thinkphp v5.2 work order system: download ClientController.class.php Source code - Download The latest thinkphp v5.2 work order system Source code - Type:.php
  1. <?php
  2. namespace Admin\Controller;
  3.  
  4. use Think\Controller;
  5.  
  6. class ClientController extends CommonController {
  7.        
  8.         //新工单
  9.         public function forms(){
  10.                
  11.                 $office_date = D('time')->find();               //工作 时间
  12.                 $begin_time = str_replace(":","",$office_date['begin_time']);           //上班时间
  13.                 $end_time = str_replace(":","",$office_date['end_time']);                       //下班时间
  14.                 $dan_time = str_replace(":","",date("H:i",time()));                                     //当前时间
  15.                 $begin_beputtime = $office_date['begin_beputtime'];                                     //开始放假时间
  16.                 $end_beputtime = $office_date['end_beputtime'];                                         //结束放假时间
  17.                
  18.                
  19.                 $userid = strtolower(I("session.userid"));
  20.                 $data = array(
  21.                         "active01"              =>      "class='active'",
  22.                         "uid"                   =>      I("session.uid"),
  23.                         'x_status'              =>      I('get.status'),
  24.                 );
  25.                 $this->assign('data',$data);
  26.                
  27.                
  28.                 if(IS_POST){
  29.                        
  30.  
  31.                         $string = I("post.title");
  32.                         preg_match_all("/./us", $string, $match);               //限制 标题的个数
  33.                         $title_totle = count($match[0]);
  34.                         if($title_totle > 10){
  35.                                 echo "<script>alert('标题字数不能超于10位'); history.go(-1);</script>";
  36.                                 exit;
  37.                         }
  38.                                
  39.                         //上传图片
  40.                         $sc_file = "";
  41.                         if(!empty($_FILES['photo']['tmp_name'])){
  42.                                 $info = Upload_f();
  43.                                 if($info){
  44.                                         foreach ($info as $val){
  45.                                                 $savepath =  ltrim($val['savepath'],'.');
  46.                                                 $sc_file .= $savepath.$val['savename'].',';
  47.                                         }
  48.                                 }
  49.                         }
  50.                                
  51.                         if(I("post.photo01")){
  52.                                 $photo01_arr = I("post.photo01");
  53.                                 $photo01 = implode($photo01_arr,',');
  54.                
  55.                                 //原有的图片名,拼接 上传的文件名
  56.                                 $sc_file = $photo01.','.$sc_file;
  57.                         }
  58.                                
  59.                         $sc_file = rtrim($sc_file,',');
  60.                                
  61.                         $data = array(
  62.                                         'title'         =>      I('post.title'),
  63.                                         'issue'         =>      htmlspecialchars_decode(I('post.editorValue')),
  64.                                         'sc_file'       =>      $sc_file,
  65.                                         'puddate'       =>      time(),
  66.                                         'wc_sataus'     =>      I('post.cc_status'),
  67.                                         'uid'           =>      I('post.uid'),
  68.                         );
  69.                                
  70.                                
  71.                         if(I("post.x_wid")){
  72.                
  73.                                 //修改操作
  74.                                 $id = $this->update_sql("work","id=".I("post.x_wid"),$data);
  75.                                 $id = I("post.x_wid");
  76.                                 if(I('post.cc_status') == "-1"){
  77.                                         $url = ."/index.php/Client/messages/case/cao/messages/".$id;
  78.                                 }elseif (I('post.cc_status') == "1"){
  79.                                         $url = ."/index.php/Client/messages/case/dai/messages/".$id;
  80.                                 }
  81.                                
  82.                                 $type = "update";
  83.                                
  84.                         }else{
  85.                
  86.                                 //添加操作
  87.                                 $id = $this->inser_sql("work",$data);   //添加到工单表
  88.                                 $url = ."/index.php/Client/forms";
  89.                                 $type = "insert";
  90.                
  91.                         }
  92.                                
  93.                         if($id){
  94.                                 if(I('post.cc_status') == 1){
  95.                                         if(time() < $begin_beputtime or time() > $end_beputtime){                       //放假时间
  96.                                                 if($dan_time >= $begin_time && $dan_time <= $end_time and (date("w") != "0" or date("w") != '6')){              //判断上班时间以级周六日
  97.                                                        
  98.                                                         //查询 客户,售后人员的邮箱以及手机,发送通知
  99.                                                         $result_arr = $this->lianhe_sql("user",C('DB_PREFIX')."user u, ".C('DB_PREFIX')."service s","u.uname u_name,u.phone u_phone,u.email u_email,s.uname s_name,s.phone s_phone,s.email s_email,s.id s_id","u.sid=s.id and u.id=".I('post.uid'));
  100.                                                        
  101.                                                         if(!empty($result_arr['s_phone']) && !empty($result_arr["s_email"]) && I('post.cc_status') == 1){
  102.                                                                 if($type == "insert" ){
  103.                                                                         $E = Email($result_arr["s_email"],"新工单通知","亲爱的同事:".$result_arr["s_name"].",".$result_arr["u_name"]."这位客户已提交新工单,工单标题为:“".$data['title']."”。请及时查看,并且处理。");
  104.                                                                         $M = Mobile($result_arr["s_phone"],'亲爱的:'.$result_arr["s_name"].'同事。'.$result_arr["u_name"].'这位客户已提交新工单,工单标题为:“'.$data['title'].'”。请及时查看,并且处理。');
  105.                                                                        
  106.                                                                         $data = array(
  107.                                                                                         'tz_status'             =>      '1',
  108.                                                                         );
  109.                                                                         $this->update_sql("work","id=".$id,$data);
  110.                                                                 }
  111.                                                                 echo "<script>alert('工单提交成功,并且已通知售后人员,请耐心等候。'); location.href='$url';</script>";
  112.                                                                 exit;
  113.                                                         }
  114.                                                 }else{
  115.                                                         echo "<script>alert('工单提交成功,由于现在不是上班时间,我们将会在上班时间通知售后人员,请耐心等候。'); location.href='$url';</script>";
  116.                                                         exit;
  117.                                                 }
  118.                                         }else{
  119.  
  120.                                                 echo "<script>alert('工单提交成功,由于现在不是上班时间,我们将会在上班时间通知售后人员,请耐心等候。'); location.href='$url';</script>";
  121.                                                 exit;
  122.                                         }
  123.                                        
  124.                                 }else if(I('post.cc_status') == -1){
  125.  
  126.                                         echo "<script>alert('工单已保存到草稿箱,可到草稿箱修改该工单。'); location.href='$url';</script>";
  127.                                         exit;
  128.                                 }
  129.                                
  130.                         }else{
  131.                
  132.                                 if(I('post.cc_status') == 1){
  133.                                         echo "<script>alert('工单提交失败'); history.go(-1);</script>";
  134.                                         exit();
  135.                                 }else if(I('post.cc_status') == -1){
  136.                                         echo "<script>alert('工单保存失败'); history.go(-1);</script>";
  137.                                         exit();
  138.                                 }
  139.                
  140.                         }
  141.  
  142.                         echo 5555;
  143.                 }
  144.                
  145.                 //修改操作
  146.                 if(IS_GET){
  147.                         $x_wid = I('get.forms');
  148.                         if($x_wid){
  149.                                 //显示原本的数据
  150.                                 $list = D('work')->where("id=".$x_wid)->find();
  151.                                 $this->assign('list',$list);
  152.                                
  153.                                 //图片
  154.                                 $file_arr = explode(',',$list['sc_file']);
  155.                                 $this->assign('file_arr',$file_arr);
  156.                         }
  157.                 }
  158.                
  159.                 $this->display();
  160.         }
  161.        
  162.        
  163.        
  164.        
  165.         //工单 处理
  166.         public function messages(){
  167.  
  168.                 $office_date = D('time')->find();               //工作 时间
  169.                 $begin_time = str_replace(":","",$office_date['begin_time']);           //上班时间
  170.                 $end_time = str_replace(":","",$office_date['end_time']);                       //下班时间
  171.                 $dan_time = str_replace(":","",date("H:i",time()));                                     //当前时间
  172.                 $begin_beputtime = $office_date['begin_beputtime'];                                     //开始放假时间
  173.                 $end_beputtime = $office_date['end_beputtime'];                                         //结束放假时间
  174.                
  175.                
  176.                 $limits = I("session.limits");          //权限    2-售后    3-会员
  177.                 $id = I("session.uid");                         //当前用户id
  178.                 $status = I("get.case");                        //工单状态
  179.                 $aid = I("get.messages");                       //工单id
  180.                
  181.                 if($status == "dai"){
  182.                         $sta_nb = '1';                                  //工单状态-待处理
  183.                 }elseif($status == "zhong"){
  184.                         $sta_nb = '2';                                  //工单状态-处理中
  185.                 }elseif($status == "yi"){
  186.                         $sta_nb = '3';                                  //工单状态-已处理
  187.                 }elseif($status == "cao"){
  188.                         $sta_nb = '-1';                                 //工单状态-草稿箱
  189.                 }
  190.                
  191.                 //搜索操作
  192.                 if(I("get.sou")){
  193.                         $title = I("get.sou");
  194.                         $where = " and title like '%$title%'";
  195.                 }
  196.                
  197.                
  198.                 //列表显示数据    -- 分页
  199.                 if($limits == 3){
  200.                        
  201.                         $list = $this->sel_sql("work","wc_sataus='$sta_nb' and uid='$id' $where","puddate asc");
  202.                         $this->assign('list',$list);
  203.                        
  204.                 }else if($limits == 2){
  205.                
  206.                         //获取当前的售后人员所负责 的 客户id
  207.                         $result_arr = D("user")->field("id")->where("sid='$id'")->select();
  208.                                
  209.                         $wid = "";
  210.                         foreach ($result_arr as $val){
  211.                                 $wid .= $val['id'].',';
  212.                         }
  213.                         $wid = rtrim($wid,",");
  214.                        
  215.                         //显示当前售后人员所负责 的 客户工单
  216.                         $list = $this->sel_sql("work","wc_sataus='$sta_nb' and uid in($wid) $where","puddate asc");
  217.                         $this->assign('list',$list);
  218.                        
  219.                 }else if($limits == 1){
  220.                        
  221.                         $list = $this->sel_sql("work","wc_sataus='$sta_nb' $where","puddate asc");
  222.                         $this->assign('list',$list);
  223.                        
  224.                 }
  225.                
  226.                 if(I("get.del")){
  227.                         $aid = I("get.id");
  228.                 }else if(I("get.type")){
  229.                         $aid = I("get.wc_sataus");
  230.                 }else{
  231.                         if(IS_POST){
  232.                                 $aid = I('post.pid');
  233.                         }else{
  234.                                 $aid = $aid == "" ? $list[0]['id'] : $aid;              //当没有id,默认选中第一条
  235.                         }
  236.                 }
  237.                
  238.                
  239.                
  240.                 //列表选中显示样式
  241.                 $main = D('Work as w')->field("u.id u_id,u.uname u_uname,u.email u_email,u.url u_url,u.phone u_phone,
  242.                                                                                 w.id w_id,w.title w_title,w.issue w_issue,w.sc_file w_sc_file,w.puddate w_puddate,w.wc_sataus,
  243.                                                                                 s.id s_id,s.email s_email,s.uname s_uname,s.phone s_phone")->
  244.                                                                                 join("LEFT JOIN ".C('DB_PREFIX')."user as u ON w.uid=u.id")->
  245.                                                                                 join("LEFT JOIN ".C('DB_PREFIX')."service as s ON u.sid=s.id")->where("w.id='$aid'")->find();
  246.                
  247.                 $this->assign('main',$main);
  248.  
  249.                 //对话内容显示
  250.                 $record = D("addwork as a")->field("u.uname,u.email,u.phone,u.url,u.limits,a.id,a.g_reply,a.repdate,a.pid,a.uid")->join("LEFT JOIN ".C('DB_PREFIX')."user as u ON a.uid=u.id")->where("a.pid='$aid'")->order("repdate asc")->select();
  251.                 $this->assign('record',$record);
  252.  
  253.                
  254.  
  255.                 //处理对话操作
  256.                 if(IS_POST){
  257.                         $url = ."/index.php/Client/messages/case/zhong/messages/".I('post.pid');
  258.                         if(I("post.insert") != "" && I('post.editorValue') != ""){
  259.                                 $data = array(
  260.                                                 'g_reply'               =>      htmlspecialchars_decode(I('post.editorValue')),
  261.                                                 'repdate'               =>      time(),
  262.                                                 'uid'                   =>      $id,
  263.                                                 'pid'                   =>      I('post.pid'),
  264.                                 );
  265.                                 $result = $this->inser_sql("addwork",$data);
  266.                                 if($result){
  267.                                         if(time() < $begin_beputtime or time() > $end_beputtime){                       //放假时间
  268.                                                 if($dan_time >= $begin_time && $dan_time <= $end_time and (date("w") != "0" or date("w") != '6')){              //判断上班时间以级周六日
  269.                                                        
  270.                                                         if($limits == "2"){
  271.                                                                 $E = Email($main["u_email"],"最新消息回复通知","尊敬的客户:".$main["u_uname"]."。您好!您的工单标题为:“".$main['w_title']."” 已有最新回复,请注意查看。");
  272.                                                                 $M = Mobile($main["u_phone"],'尊敬的客户:'.$main['u_uname'].'。您好!您的工单标题为:“'.$main['w_title'].'”已有最新回复,请注意查看。');
  273.                                                                 echo "<script>alert('发送成功,并且已通知客户。'); location.href='$url';</script>";
  274.                                                         }else if($limits == "3"){
  275.                                                                 $E = Email($main["s_email"],"工单追加通知","亲爱的同事:".$main["s_uname"].",".$main["u_uname"]."这位客户的工单标题为:“".$main['w_title']."” 已有最新追加,请及时查看,并且处理。");
  276.                                                                 $M = Mobile($main["s_phone"],'亲爱的:'.$main['s_uname'].'同事。'.$main['u_uname'].'这位客户的工单标题为:“'.$main['w_title'].'”已有最新追加。请及时查看,并且处理。');
  277.                                                                 echo "<script>alert('发送成功,并且已通知售后人员。'); location.href='$url';</script>";
  278.                                                         }
  279.                                                         exit;
  280.                                                        
  281.                                                 }
  282.                                         }
  283.                                         echo "<script>alert('发送成功,但由现在不是上班时间,我们将会在上班时间短息通知售后人员,请耐心等候'); location.href='$url';</script>";
  284.                                        
  285.                                 }
  286.                                 exit;
  287.                         }else{
  288.                                 echo "<script>alert('回复内容不能为空'); location.href='$url';</script>";
  289.                         }
  290.                
  291.                 }
  292.                
  293.                
  294.                 //工单处理操作
  295.                 if(I("get.type") == "chu" && $limits == "2"){
  296.                
  297.                         $url = ."/index.php/Client/messages/case/dai";
  298.                         $data   =       array(
  299.                                         "wc_sataus"             =>      2,
  300.                                         "tz_status"             =>      1,
  301.                         );
  302.                         $result = $this->update_sql("work","id=".I('get.wc_sataus'),$data);
  303.                        
  304.                         if($result){
  305.                                 $E = Email($main["u_email"],"工单处理中通知","尊敬的客户:".$main["u_uname"]."。您好!您的工单标题为:“".$main['w_title']."”。正在处理中,请耐心等候。");
  306.                                 $M = Mobile($main["u_phone"],'尊敬的客户:'.$main['u_uname'].'。您好!您的工单标题为:“'.$main['w_title'].'”。正在处理中,请耐心等候。');
  307.                                 echo "<script>alert('操作成功,请尽快处理完毕'); location.href='$url';</script>";
  308.                         }
  309.  
  310.                         exit;
  311.                 }
  312.                
  313.                 //工单结束操作
  314.                 if(I("get.type") == "wang" and $limits == "3"){
  315.                        
  316.                         $url = ."/index.php/Client/messages/case/zhong";
  317.                         $wc_sataus = I("get.wc_sataus");
  318.                         $data = array(
  319.                                         'wc_sataus'     => 3,
  320.                         );
  321.                        
  322.                         $update = $this->update_sql("work","id='$wc_sataus'",$data);
  323.                         if($update){
  324.                                
  325.                                 $E = Email($main["s_email"],"工单结束通知","亲爱的同事:".$main["s_uname"].",".$main["u_uname"]."这位客户的工单标题为:“".$main['w_title']."” 已结束,辛苦了。");
  326.                                 $M = Mobile($main["s_phone"],'亲爱的同事:'.$main['s_uname'].'。'.$main['u_uname'].'这位客户的工单标题为:“'.$main['w_title'].'”已结束,辛苦了。');
  327.                                
  328.                                 $E = Email($main["u_email"],"工单结束通知","尊敬的客户:".$main["u_uname"]."。您好!您的工单标题为:“".$main['w_title']."”已结束,若不是本人操作,请联系售后人员。");
  329.                                 $M1 = Mobile($main["u_phone"],'尊敬的客户:'.$main['u_uname'].'。您好!您的工单标题为:“'.$main['w_title'].'”已结束,若不是本人操作,请联系售后人员。');
  330.                                
  331.                                 echo "<script>alert('操作成功'); location.href='$url';</script>";
  332.                                 exit;
  333.                        
  334.                         }
  335.                 }
  336.                
  337.                
  338.                
  339.                 //取消操作工单
  340.                 if(I("get.del")){
  341.  
  342.                         $de = D('work')->where('id='.I("get.id"))->delete();
  343.                         if($de){
  344.                                
  345.                                 $url = ."/index.php/Client/messages/case/dai";
  346.                                
  347.                                 $E = Email($main["s_email"],"工单取消通知","亲爱的同事:".$main["s_uname"].",".$main["u_uname"]."这位客户的工单标题为:“".$main['w_title']."” 已取消。");
  348.                                 $M = Mobile($main["s_phone"],'亲爱的同事:'.$main['s_uname'].'。'.$main['u_uname'].'这位客户的工单标题为:“'.$main['w_title'].'”已取消。');
  349.  
  350.                                 $E = Email($main["u_email"],"工单取消通知","尊敬的客户:".$main["u_uname"]."。您好!您的工单标题为:“".$main['w_title']."”已取消。若不是本人操作,请联系售后人员。");
  351.                                 $M1 = Mobile($main["u_phone"],'尊敬的客户:'.$main['u_uname'].'。您好!您的工单标题为:“'.$main['w_title'].'”已取消。若不是本人操作,请联系售后人员。');
  352.                                 echo "<script>alert('工单取消成功'); location.href='$url';</script>";
  353.                                 exit;
  354.                         }
  355.                 }
  356.                
  357.                
  358.                 $data = array(
  359.                                 'unread'                =>      "unread",
  360.                                 "selected"              =>      "selected",
  361.                                 'unread'                =>      "unread",
  362.                                 'aid'                   =>      $aid,
  363.                                 'limits'                =>      $limits,
  364.                                 'class'                 =>      'class="active"',
  365.                                 'case'                  =>      $status,
  366.                                 "active02"              =>      "class='active'",
  367.                                 'url'                   =>      ."/index.php/Client/messages/case/".$status,
  368.                                 'sou'                   =>      '&sou='.I("get.sou"),
  369.                 );
  370.                 $this->assign('data',$data);
  371.                
  372.                 $this->display();
  373.         }
  374.        
  375.         //分页
  376.         public function page_fan($wc_sataus){
  377.                 $Work = D('work');
  378.                 $count= $Work->where($wc_sataus)->count();    //计算总数
  379.                 $Page = new \Think\Page($count,10);
  380.                 $Page ->setConfig('prev', "上一页");
  381.                 $Page ->setConfig('next', '下一页');
  382.                 $Page ->setConfig('first', '首页');
  383.                 $Page ->setConfig('last', '尾页');
  384.                 $show = $Page->show();
  385.                 $list = $Work->where($wc_sataus)->limit($Page->firstRow. ',' . $Page->listRows)->order("puddate desc")->select();
  386.                 return $this ->assign('list',$list).$this ->assign('page',$show);
  387.                
  388.         }
  389.        
  390.        
  391.         //添加数据
  392.         public function inser_sql($model,$data){
  393.  
  394.                 return D($model)->add($data);
  395.                
  396.         }
  397.        
  398.         //简单查询  多条
  399.         public function sel_sql($model,$where,$orders){
  400.                
  401.                 $result_arr = D($model)->where($where)->order($orders)->select();
  402.                 return $result_arr;
  403.                
  404.         }
  405.        
  406.         //联合查询
  407.         public function lianhe_sql($model,$table,$field,$where){
  408.                
  409.                 return  D($model)->table($table)->field($field)->where($where)->find();
  410.                
  411.         }
  412.         //更新操作 
  413.         public function update_sql($model,$where,$data){
  414.  
  415.                 $result = D($model)->where($where)->setField($data);
  416.                 return $result;
  417.         }
  418.        
  419.  
  420. }
downloadClientController.class.php Source code - Download The latest thinkphp v5.2 work order system Source code
Related Source Codes/Software:
V3.3.6 Workerman high-performance PHP Socket (framework) - High performance PHP Socket framework Workerman re... 2017-05-03
The phosphor meeting room reservation system MRBS (loop reservation v16.0) - The phosphor meeting room reservation system MRBS ... 2017-05-03
IDC v5.2.3 agent center - IDC Centre IDC for exploitation is a PHP+MySQL age... 2017-05-03
Zen master v9.0.1 project management software - Zen is the first domestic open source project mana... 2017-05-03
Ray speed v7.03 employee files management system - Employee files project is various, and some conten... 2017-05-03
HITCMS Haitian responsive electronic mechanical v3.0 foreign trade website source code - HITCMS Haitian response electronic machinery trade... 2017-05-03
Ray v7.02 speed survey system - Lightning speed survey system is a. NET+MSSQL deve... 2017-05-03
Cool HITCMS reactive black v3.0 enterprise website source code - HITCMS-Haitian response black enterprises website ... 2017-05-03
WebOA v17.2 network office automation system - WebOA network using b/s structure development of o... 2017-05-03
Pure imitation of han site source code, one a 】 【 c9cms kernel v1.0 - Generic http://www.wufazhuce.com/Han one · Config... 2017-05-04
zone.js - Implements Zones for JavaScript ... 2017-05-11
dragonfly - A Ruby gem for on-the-fly processing - suitable fo... 2017-05-11
oh-my-fish - The Fishshell Framework. 2017-05-11
canvas-lms - The open LMS by Instructure, Inc. 2017-05-11
ledger - Double-entry accounting system with a command-line... 2017-05-11
Python - My Python Examples http://w... 2017-05-11
blade - 2017-05-11
LaZagne - Credentials recovery project 2017-05-10
Pull-to-Refresh.Rentals-iOS - This project aims to provide a simple and customiz... 2017-05-10
spoon - Distributing instrumentation tests to all your And... 2017-05-10

 Back to top