diff --git a/admin/application/controllers/Pos_booking.php b/admin/application/controllers/Pos_booking.php index 92cd291..18fdd5c 100644 --- a/admin/application/controllers/Pos_booking.php +++ b/admin/application/controllers/Pos_booking.php @@ -8,7 +8,7 @@ class Pos_booking extends CI_Controller { date_default_timezone_set("Asia/Kolkata"); $this->load->model('Pos_booking_model'); $this->load->helper('generals_helper'); - if(!$this->session->userdata('logged_in')) { + if(!$this->session->userdata('logged_pos')) { redirect(base_url()); } @@ -31,65 +31,12 @@ class Pos_booking extends CI_Controller { $this->load->view('template',$template); } - public function getPos_bookingData(){ - $resArr = array('status'=>0); - if(!isset($_POST)||empty($_POST)||!isset($_POST['Pos_booking_id'])||empty($_POST['Pos_booking_id']) || - !is_numeric($Pos_booking_id = $_POST['Pos_booking_id'])){ - echo json_encode($resArr);exit; - } - $view_all = (isset($_POST['view_all']) && !empty($_POST['view_all']))?$_POST['view_all']:''; - //$view_all = (isset($_POST['view_all']) && $_POST['view_all'] == 1)?1:0; - $mechData = $this->Pos_booking_model->getPos_bookingData($Pos_booking_id,$view_all); - //echo json_encode($mechData);exit; - if(empty($mechData)){ - echo json_encode($resArr);exit; - } - - $resArr['status'] = 1; - $resArr['data'] = $mechData; - echo json_encode($resArr);exit; - } - - function changeStatus($Pos_booking_id = '',$status ='1'){ - - $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'danger'); - if(empty($Pos_booking_id) || !is_numeric($Pos_booking_id = decode_param($Pos_booking_id))){ - $this->session->set_flashdata('message',$flashMsg); - redirect(base_url('Pos_booking')); - } - $status = $this->Pos_booking_model->changeStatus($Pos_booking_id,$status); - if(!$status){ - $this->session->set_flashdata('message',$flashMsg); - } - redirect(base_url('Pos_booking')); - } - - - - - - - -public function check_email_availability() { - - $email=$this->input->post('email'); - - $result = $this->Pos_booking_model->email_availability_check($email); - echo json_encode($result); - - - } - public function get_all_Pos_booking() { $data = $_GET; -//print_r($data);exit; $col = $data['order'][0]['column']; $col_type = $data['order'][0]['dir']; - - $columns = array("pos_booking.id","pos.name","customer.name"); - - + $columns = array("pos_booking.book_id","customer.name","customer.phone_no","pos_parts.unique_name","pos.name","pos.phone_no","customer_address.name","customer_address.phone_no","customer_address.house_no","customer_address.area","customer_address.country","customer_address.district","customer_address.city"); $value['order_by'] = $columns[$col]; $value['order_type'] = $col_type; $value['search'] = $data['search']['value']; @@ -98,77 +45,82 @@ public function get_all_Pos_booking() { $value['where'] = ''; if(!empty($value['search'])) { - $where = array(); - foreach($columns as $c) { - $where_data[] = $c." like '%".$value['search']."%' "; - } - $where = implode(" OR ", $where_data); - $where = "(".$where.")"; - $value['where'] = $where; + $where = array(); + foreach($columns as $c) { + $where_data[] = $c." like '%".$value['search']."%' "; } + $where = implode(" OR ", $where_data); + $where = "(".$where.")"; + $value['where'] = $where; + } - - - $prod_list = $this->Pos_booking_model->get_all_Pos_booking($value); - - //print_r($prod_list);exit; - + $book_list = $this->Pos_booking_model->get_all_Pos_booking($value); $all_list = $this->Pos_booking_model->get_all_Pos_booking(); - $recordsTotal = count($all_list); - $filtered = count($all_list); if($value['where']!='') { $value['length'] = '-1'; $all_list = $this->Pos_booking_model->get_all_Pos_booking($value); $filtered = count($all_list); } - $data = array(); - foreach ($prod_list as $r) { - -$action = "<a class='btn btn-info btn-sm view_wish' onclick='getPos_bookingDetails(".$r->cust_id.")'><i class='fa fa-fw fa-eye'></i>View</a>"; - -$action .= " <a class='btn btn-info btn-sm' href='".base_url()."Pos_booking/editPos_bookings/".encode_param($r->cust_id)."'> - <i class='fa fa-pencil'></i>Edit - </a>"; - - - -$action .= " <a class='btn btn-sm btn-danger' href='".base_url()."Pos_booking/changeStatus/".encode_param($r->cust_id).'/2' ."' - onClick='return doconfirm()'> - <i class='fa fa-fw fa-trash'></i>Delete - </a>"; - - - -if($r->status == 1){ -$action .= " <a class='btn btn-sm btn-success' style='background-color:#ac2925' href='".base_url()."Pos_booking/changeStatus/".encode_param($r->cust_id).'/0' ."'> - <i class='fa fa-cog'></i> De-activate - </a>"; - } else { -$action .= " <a class='btn btn-sm btn-success' href='".base_url()."Pos_booking/changeStatus/".encode_param($r->cust_id).'/1' ."'> - <i class='fa fa-cog'></i> Activate - </a>"; - } - -$action1=''; - - array_push($data, array( - $r->cust_id, - $r->book_id, - $r->customer_name.'</br>'.'<b>'.'Phone:'.'</b>'. ($r->customer_phone), - $r->pos_name.'</br>'.'<b>'.'Phone:'.'</b>'. ($r->pos_phone), - $r->pos_name, - $r->cost, - $r->est_delivery, - $action1 - )); - } - - + foreach ($book_list as $r) { + $action = $status = ''; + $action .= "<a class='btn btn-info btn-sm view_wish' onclick='getBookDetails(".$r->id.")'><i class='fa fa-fw fa-eye'></i>View</a>"; + if($r->status == 2){ + $status = "<button type='button' class='btn btn-primary'>Order Packed</button>"; + } else if ($r->status == 3) { + $status = "<button type='button' class='btn btn-success'>Order Delivered</button>"; + } else if ($r->status == 4) { + $status = "<button type='button' class='btn btn-success'>Completed</button>"; + } else if ($r->status == 0) { + $status = "<button type='button' class='btn btn-danger'>Cancelled</button>"; + } else if ($r->status == 1) { + $status = "<button type='button' class='btn btn-secondary'>New Booking</button>"; + } + + array_push($data, array( + $r->cust_id, + $r->book_id, + $r->customer_name, + $r->customer_phone, + $r->cost, + (isset($r->est_delivery) && !empty($r->est_delivery))?$r->est_delivery:'--', + $status, + $action + )); + } echo json_encode(array('recordsFiltered' => $filtered, 'recordsTotal' => $recordsTotal, 'data' => $data)); +} + +public function getbookDetails(){ + $resArr = array('status'=>"error"); + if(!isset($_POST)||empty($_POST)||!isset($_POST['bookId'])||empty($_POST['bookId'])){ + echo json_encode($resArr);exit; + } + $posData = $this->Pos_booking_model->getbookdetails($_POST['bookId']); + + if(empty($posData)){ + echo json_encode($resArr);exit; + } + $resArr['status'] = 1; + $resArr['data'] = $posData; + echo json_encode($resArr);exit; +} + +public function changeOrderStatus(){ + $resArr = array('status'=>"error"); + if(!isset($_POST)||empty($_POST)||!isset($_POST['bookingId'])||empty($_POST['bookingId']) || !isset($_POST['status'])||empty($_POST['status']) || !isset($_POST['expected_date'])||empty($_POST['expected_date'])){ + echo json_encode($resArr);exit; + } + $posData = $this->Pos_booking_model->changeOrderStatus($_POST); + + if(empty($posData)){ + echo json_encode($resArr);exit; + } + $resArr['status'] = 1; + echo json_encode($resArr);exit; } diff --git a/admin/application/controllers/Pos_request.php b/admin/application/controllers/Pos_request.php index 5d94f2f..33bc6ee 100644 --- a/admin/application/controllers/Pos_request.php +++ b/admin/application/controllers/Pos_request.php @@ -86,8 +86,7 @@ public function get_all_Pos_request() { $col = $data['order'][0]['column']; $col_type = $data['order'][0]['dir']; - $columns = array("pos_request.id","pos_request.sub_services","pos_request.Pos_name","pos_request.booking_date"); - + $columns = array("pos_request.posReq_id","customer_address.name","customer_address.phone_no","pos_parts.unique_name","customer_address.house_no","customer_address.area","customer_address.country","customer_address.district","customer_address.city","customer.name","customer.phone_no"); $value['order_by'] = $columns[$col]; $value['order_type'] = $col_type; @@ -120,32 +119,33 @@ public function get_all_Pos_request() { } $data = array(); foreach ($prod_list as $r) { - + $assign_dt2 = $assign_dtl = $status = ''; if($r->status == 1){ $status = "<button type='button' class='btn btn-primary'>Requested</button>"; } else if ($r->status == 2) { - $status = "<button type='button' class='btn btn-info'>Assigned</button>"; + $status = "<button type='button' class='btn btn-info'>Assigned to POS</button>"; } else if ($r->status == 3) { - $status = "<button type='button' class='btn btn-warning'>Respond</button>"; + $status = "<button type='button' class='btn btn-warning'>Accepted</button>"; } else if ($r->status == 4) { $status = "<button type='button' class='btn'>Quote Send</button>"; } else if ($r->status == 5) { - $status = "<button type='button' class='btn btn-success'>Approved</button>"; + $status = "<button type='button' class='btn btn-success'>Response From Pos</button>"; }else if ($r->status == 0) { $status = "<button type='button' class='btn btn-danger'>Cancelled</button>"; - } + } $action = "<a class='btn btn-info btn-sm view_wish' onclick='getPos_requestDetails(".$r->id.")'><i class='fa fa-fw fa-eye'></i>View</a>"; - $assign_dtl = ''; + $assign_dtl = "<a class='btn btn-info btn-sm' href='".base_url()."Pos_request/pos_assign/".encode_param($r->posReq_id)."'><i class='fa fa-pencil'></i>Assign</a>"; - $assign_dt2 = ''; - if($r->status == 2) { + + if($r->status == 5 || $r->status == 4) { $assign_dt2.= "<a class='btn btn-info btn-sm' href='".base_url()."Pos_response/responce/".encode_param($r->posReq_id)."'><i class='fa fa-pencil'></i>Responses</a>"; } array_push($data, array( $r->cust_id, + $r->posReq_id, $r->customer_name, $r->customer_phone, $r->unique_name, @@ -190,6 +190,7 @@ public function pos_assign($request_id=''){ $template['requestData'] = $this->Pos_request_model->getPosData('',decode_param($request_id)); $template['posData'] = $this->Pos_request_model->getPosDetails(decode_param($request_id)); $template['assign_pos'] = $this->Pos_request_model->getAssignPos(decode_param($request_id)); + //pr($template); $this->load->view('template',$template); } diff --git a/admin/application/controllers/Pos_response.php b/admin/application/controllers/Pos_response.php index 406ebcd..17658ef 100644 --- a/admin/application/controllers/Pos_response.php +++ b/admin/application/controllers/Pos_response.php @@ -58,7 +58,7 @@ class Pos_response extends CI_Controller { public function approve_quote(){ $respArr =array('status'=>'error'); $data = $_POST; - if(!isset($_POST['selectedIds']) || empty($_POST['selectedIds'])){ + if(!isset($_POST['selectedIds']) || empty($_POST['selectedIds']) || !isset($_POST['req_id']) || empty($_POST['req_id'])){ echo json_encode($respArr);exit; } $requestData = $this->Pos_response_model->approve_quote($_POST); diff --git a/admin/application/models/Pos_booking_model.php b/admin/application/models/Pos_booking_model.php index 744efd2..76eaeb3 100644 --- a/admin/application/models/Pos_booking_model.php +++ b/admin/application/models/Pos_booking_model.php @@ -1,91 +1,53 @@ <?php class Pos_booking_model extends CI_Model { - public function _consruct(){ - parent::_construct(); - } - - public function getPos_bookingData($Pos_booking_id='',$view=''){ - - $cond = (!empty($view))?" USR.user_type IN ($view) ":" USR.status != '2' "; - $cond .= (!empty($Pos_booking_id))?" AND CUST.cust_id='$Pos_booking_id' ":""; - - $query = "SELECT CUST.*,USR.status,USR.password - FROM pos_booking AS CUST - INNER JOIN users AS USR ON (USR.profile_id=CUST.cust_id) - WHERE $cond AND USR.user_type='1' Order by id DESC"; - - $Pos_bookingData = $this->db->query($query); - if($query->num_rows()>0) - { - return (empty($Pos_booking_id))?$Pos_bookingData->result():$Pos_bookingData->row(); - } - return 0; - } - - - - - - - function changeStatus($Pos_booking_id = '', $status = '0'){ - - if(empty($Pos_booking_id)){ - return 0; - } - - $status = $this->db->update('users',array('status'=>$status),array('profile_id'=>$Pos_booking_id,'user_type'=>'1')); - //echo $this->db->last_query();exit; - return $status; - } - - - -function email_availability_check($email) - { -if($email!=''){ - - $query = "SELECT * FROM pos_booking AS CUST - INNER JOIN users AS USR ON (USR.profile_id=CUST.cust_id) - WHERE USR.status!='2' AND CUST.cust_id!='".$Pos_booking_id."' AND - USR.username='".$email."'"; - $query=$this->db->query($query,array($email)); - if($query->num_rows()>0) - { - return $query->row_array(); - } else - { - return false; - } - - } - return false; + public function _consruct(){ + parent::_construct(); } - function get_all_Pos_booking($filter=null) { - if($filter){ - $this->db->order_by($filter['order_by'], $filter['order_type']); - if(!empty($filter['where'])){ - $this->db->where($filter['where']); - } - if($filter['length']!=-1) - $this->db->limit($filter['length'],$filter['start']); - } - - -$this->db->where('pos_booking.status!=','2'); + function get_all_Pos_booking($filter=null) { + if($filter){ + $this->db->order_by($filter['order_by'], $filter['order_type']); + if(!empty($filter['where'])){ + $this->db->where($filter['where']); + } + if($filter['length']!=-1) + $this->db->limit($filter['length'],$filter['start']); + } $this->db->order_by('pos_booking.id','desc'); - $this->db->select("pos_booking.*,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name,pos.name as pos_name,pos.phone_no as pos_phone"); + $this->db->select("pos_booking.*,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name,pos.name as pos_name,pos.phone_no as pos_phone,customer_address.name,customer_address.phone_no,customer_address.house_no,customer_address.area,customer_address.country,customer_address.district,customer_address.city,pos_response.req_id"); $this->db->from('pos_booking'); $this->db->join('pos','pos.pos_id = pos_booking.pos_id'); $this->db->join('customer', 'customer.cust_id = pos_booking.cust_id'); + $this->db->join('customer_address', 'customer_address.ID = pos_booking.address'); $this->db->join('pos_response', 'pos_response.id = pos_booking.resp_id'); - $this->db->join("pos_parts","find_in_set(pos_parts.id,pos_response.pos_parts)<> 0","left",false); - + $this->db->join("pos_parts","pos_parts.id=pos_response.pos_parts"); + //$this->db->where("pos_booking.pos_id",$this->session->userdata('pos_id')); $this->db->group_by('pos_booking.id'); - $res = $this->db->get(); - - return $res->result(); + $res = $this->db->get(); + return $res->result(); } + public function getbookdetails($bookingId){ + $this->db->select("pos_booking.*,customer_address.name,customer_address.phone_no,customer_address.house_no,customer_address.area,customer_address.country,customer_address.district,customer_address.city,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name,vehicle_model.make,vehicle_model.model,vehicle_model.year,vehicle_model.vehicle_name,vehicle_model.mileage,vehicle_model.vehicle_image,pos_request.posReq_id,pos_response.cost,pos_response.margin,pos_response.total"); + $this->db->from('pos_booking'); + $this->db->join('pos_response', 'pos_response.id = pos_booking.resp_id'); + $this->db->join("pos_parts","pos_parts.id=pos_response.pos_parts"); + $this->db->join("pos_request","pos_request.id=pos_response.req_id"); + $this->db->join('customer', 'customer.cust_id = pos_booking.cust_id'); + $this->db->join('customer_address', 'customer_address.id = pos_booking.address'); + $this->db->join('vehicle_model', 'vehicle_model.id = pos_request.vehicle_id'); + $this->db->where('pos_booking.id',$bookingId); + $res = $this->db->get()->row(); + + $settings = getSettings(); + $res->VAT = $settings['VAT']; + return $res; + } + + public function changeOrderStatus($postData = array()){ + if($this->db->update('pos_booking',array('est_delivery'=>$postData['expected_date'],'status'=>$postData['status']),array('id'=>$postData['bookingId']))){ + return true; + } + } } ?> \ No newline at end of file diff --git a/admin/application/models/Pos_response_model.php b/admin/application/models/Pos_response_model.php index 8380252..534d1fa 100644 --- a/admin/application/models/Pos_response_model.php +++ b/admin/application/models/Pos_response_model.php @@ -13,7 +13,7 @@ class Pos_response_model extends CI_Model { return $result; } - public function get_all_Pos_response($reqId = '',$respId=''){ + public function get_all_Pos_response($reqId = '',$respId='',$type=''){ $where = ''; if(isset($reqId) && !empty($reqId)){ $where .= "PSRSP.req_id=$reqId"; @@ -21,6 +21,9 @@ class Pos_response_model extends CI_Model { if(isset($respId) && !empty($respId)){ $where .= "PSRSP.pos_resp_code='".$respId."'"; } + if(isset($type) && $type == 3){ + $where .= " AND PSRSP.status='2'"; + } $sql = $this->db->query("SELECT POS.pos_code,POS.name,POS.phone_no,PSRSP.cost,PSRSP.margin,PSRSP.total,PSRSP.id AS ps_rsp_id,PSRSP.pos_resp_code,PSRSP.status,STNGS.admin_charge,STNGS.VAT FROM pos_response AS PSRSP INNER JOIN pos AS POS ON POS.pos_id = PSRSP.pos_id INNER JOIN settings AS STNGS WHERE $where"); if(empty($sql)){ return false; @@ -32,7 +35,9 @@ class Pos_response_model extends CI_Model { } public function updatePosMargin($postData = array()){ - if($this->db->update('pos_response',array('margin'=>$postData['margin'],'total'=>$postData['total']),array('id'=>$postData['respId']))){ + $settings = getSettings(); + $total = ($postData['total'] * $settings['VAT'])/100; + if($this->db->update('pos_response',array('margin'=>$postData['margin'],'total'=>$total),array('id'=>$postData['respId']))){ return true; } } @@ -40,7 +45,19 @@ class Pos_response_model extends CI_Model { public function approve_quote($postData = ''){ $selected = implode(',', $postData['selectedIds']); if($this->db->query("UPDATE pos_response SET status=2 WHERE id IN($selected)")){ - return true; + + $posResp = $this->get_all_Pos_response($postData['req_id'],'',3); + + $cust_data = $this->db->query("SELECT CUST.name,CUST.email_id FROM pos_request AS PSREQ INNER JOIN customer AS CUST ON CUST.cust_id = PSREQ.cust_id WHERE PSREQ.id=".$postData['req_id'])->row_array() ; + $to =isset($cust_data['email_id']) && !empty($cust_data['email_id'])?$cust_data['email_id']:''; + $sender_email = "hello@access.sa"; + $data['name']=$cust_data['name']; + $data['email']=$cust_data['email_id']; + $data['postData']=$posResp; + $mail_head = "Your POS Request Best Offers"; + $mail_status = send_custom_email($sender_email,$mail_head,$to,'Pos Request Details', $this->load->view('template/mail_template/pos_quotes', $data,TRUE),''); + $this->db->update('pos_request',array('status'=>'4'),array('id'=>$postData['req_id'])); + return true; } } diff --git a/admin/application/views/Pos_booking/list.php b/admin/application/views/Pos_booking/list.php index 8f4fff8..15ad352 100644 --- a/admin/application/views/Pos_booking/list.php +++ b/admin/application/views/Pos_booking/list.php @@ -51,29 +51,15 @@ <tr> <th>No</th> <th>Booking ID</th> - <th>Customer</th> - <th>POS</th> - <th>POS Name</th> + <th>Customer Name</th> + <th>Customer PhoneNo</th> <th>Cost</th> <th>Delivery Date</th> + <th>Status</th> <th>Action</th> </tr> </thead> - <tbody> - - </tbody> - <tfoot> - <tr> - <th>No</th> - <th>Booking ID</th> - <th>Customer</th> - <th>POS</th> - <th>POS Name</th> - <th>Cost</th> - <th>Delivery Date</th> - <th>Action</th> - </tr> - </tfoot> + <tbody></tbody> </table> </div> </div> @@ -81,12 +67,169 @@ </div> </div> </div> - <!-- PAGE-CONTENT-ENDS --> <script type="text/javascript"> function doconfirm(){ - action = confirm("Are you sure to delete permanently?"); - if(action != true) return false; + action = confirm("Are you sure to delete permanently?"); + if(action != true) return false; } + + function getBookDetails(bookingId){ + if(bookingId == '' || bookingId==undefined || bookingId == 'undefined' || bookingId == null || bookingId=='null'){ + return true; + } + modalTrigger('Booking Details',''); + addModalLoader(); + jQuery.ajax({ + url : base_url+"Pos_booking/getbookDetails", + type : 'POST', + data : {'bookId':bookingId,'view_all':'1'}, + success : function(resp){ + if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + + var resp_data = jQuery.parseJSON(resp); + if(resp_data['status'] == '0'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, Please try again later...!'); + return false; + } + + var issueHtml = ''; + issueHtml += '<form id="customQuote" role="form" method="post">'+ + '<div class="col-md-12" style="padding-top:10px">'+ + '<div class="row"><label><b>Product Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Request Code</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].posReq_id+'</label></div>'+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Product Name</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].unique_name+'</label></div>'+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div>'+ + '<div class="col-md-12" style="padding-top:20px;">'+ + '<div class="row"><label><b>Customer Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Customer Name</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].customer_name+'</label></div>'+ + '</div> '+ + '<div class="row"> '+ + '<div class="col-md-6">Customer Ph No</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].phone_no+'</label></div> '+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row"> '+ + '<div class="col-md-6">Customer Location</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].area+'</label></div> '+ + '</div> '+ + '</div>'+ + '<div class="col-md-12">'+ + '<div class="row"> '+ + '<div class="col-md-3">Customer Address</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-8"><label>'+resp_data['data'].name+', '+resp_data['data'].house_no+', '+resp_data['data'].area+', '+resp_data['data'].city+', '+resp_data['data'].district+', '+resp_data['data'].country+'</label></div> '+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div> '+ + '<div class="col-md-12" style="padding-top:20px;">'+ + '<div class="row"><label><b>Vehicle Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Make</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].make+'</label></div>'+ + '</div> '+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Year</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].year+'</label></div>'+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Model</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].model+'</label></div>'+ + '</div> '+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle mileage</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].mileage+'</label></div>'+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div> '+ + '<div class="col-md-12">'+ + '<div class="row"><label><b>Amount Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6"> Amount</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4">'+ + '<label>'+resp_data['data'].cost+'</label>'+ + '</div>'+ + '</div>'+ + '<div class="row">'+ + '<div class="col-md-6"> Margin</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4">'+ + '<label>'+resp_data['data'].margin+'</label>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">VAT</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4">'+ + '<label>'+resp_data['data'].VAT+'</label>'+ + '</div>'+ + '</div>'+ + '<div class="row">'+ + '<div class="col-md-6">Total</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4">'+ + '<label>'+resp_data['data'].total+'</label>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</form>'; + remModalLoader(); + jQuery('[id="modal_content"]').html(issueHtml); + }, + fail: function(xhr, textStatus, errorThrown){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + }, + error: function (ajaxContext) { + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + } + }) + } + </script> \ No newline at end of file diff --git a/admin/application/views/Pos_request/list.php b/admin/application/views/Pos_request/list.php index 35193fb..f8c08d5 100644 --- a/admin/application/views/Pos_request/list.php +++ b/admin/application/views/Pos_request/list.php @@ -51,6 +51,7 @@ <thead> <tr> <th>No</th> + <th>Pos Request Code</th> <th>Customer Name</th> <th>Phone</th> <th>Product Name</th> diff --git a/admin/application/views/Pos_response/list.php b/admin/application/views/Pos_response/list.php index 70fac67..80b0cec 100644 --- a/admin/application/views/Pos_response/list.php +++ b/admin/application/views/Pos_response/list.php @@ -104,7 +104,7 @@ <!-- PAGE-INDEX-ENDS --> <!-- PAGE-CONTENT-STARTS --> - +<?php $setting = getSettings();?> <div class="content"> <div class="animated fadeIn"> <div class="row"> @@ -166,6 +166,8 @@ <th>Pos Name</th> <th>Phone Number</th> <th>Cost</th> + <th>Margin</th> + <th>VAT</th> <th>Total</th> <th>Edit</th> <th>Select</th> @@ -179,6 +181,8 @@ <td><?= $value['name'] ?></td> <td><?= $value['phone_no'] ?></td> <td><?= $value['cost'] ?></td> + <td><?php echo (isset($value['margin']) && !empty($value['margin']))? $value['margin']: '--' ?></td> + <td><?= $setting['VAT'] ?></td> <td><?= $value['total'] ?></td> <td> <?php @@ -198,7 +202,7 @@ </tbody> <?php } } ?> - <td colspan="8"> + <td colspan="10"> <button type="button" class="btn btn-primary" id="send_quote" data-dismiss="modal" style="float: right;">Send Quote</button> </a> </td> @@ -223,10 +227,11 @@ $("input[type=checkbox]:checked").each ( function() { selectedValues.push($(this).val()); }); - if(selectedValues == ''){ + var req_id = jQuery('[id="req_id"]').val(); + if(selectedValues == '' || req_id == ''){ return false; } - var post_data = {"selectedIds": selectedValues}; + var post_data = {"selectedIds": selectedValues,"req_id":req_id}; $.ajax({ type: "POST", url: '<?php echo base_url('Pos_response/approve_quote'); ?>', @@ -257,7 +262,7 @@ function changeMargins(reqCode,respCode){ } var resp_data = jQuery.parseJSON(resp); - if(resp_data['status'] == '0'){ + if(resp_data['status'] == 'error'){ remModalLoader(); jQuery('[id="modal_content"]').htnl('Something went wrong, Please try again later...!'); return false; @@ -369,7 +374,7 @@ function changeMargins(reqCode,respCode){ '<div class="col-md-5">'+ '<input class="marginTop10" placeholder="Margin" id="margin" type="number" name="margin">'+ '<input class="marginTop10" id="respCode" value="'+resp_data['posDetails'].ps_rsp_id+'" type="hidden">'+ - '<input class="marginTop10" id="total" value="'+resp_data['posDetails'].total+'" type="hidden">'+ + '<input class="marginTop10" id="cost" value="'+resp_data['posDetails'].cost+'" type="hidden">'+ '</div>'+ '<div class="col-md-3">'+ '<button type="button" style="height: 25px;font-size: 13px;padding-bottom: 22px;" onclick="submitCustQuote(event);" class="btn btn-primary">Submit</button>'+ @@ -397,19 +402,19 @@ function submitCustQuote(e){ var margin = jQuery('[id="margin"]').val(); var respCode = jQuery('[id="respCode"]').val(); - var total = jQuery('[id="total"]').val(); + var cost = jQuery('[id="cost"]').val(); if((margin != '' && respCode == '') || (margin == '' && respCode != '')){ if(margin == ''){ jQuery('[id="margin"]').addClass('errInput'); } - if(respCode == '' || total == ''){ + if(respCode == '' || cost == ''){ remModalLoader(); jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); } return false; } - var subTotal = parseInt(total) + parseInt(margin); + var subTotal = parseInt(cost) + parseInt(margin); jQuery.ajax({ url : base_url+"Pos_response/insertCustomMargin", diff --git a/admin/application/views/template/mail_template/pos_quotes.php b/admin/application/views/template/mail_template/pos_quotes.php new file mode 100644 index 0000000..abf1d77 --- /dev/null +++ b/admin/application/views/template/mail_template/pos_quotes.php @@ -0,0 +1,117 @@ +<!DOCTYPE html> +<html> +<head> + <title>ALLO</title> + <style> + .pin_container{ + background: #a8a8a84a; + border:1px dashed #e7e7e7; + padding:10px; + margin-top:20px; + } + .pin_container_1{ + background: #a8a8a8; + border:1px dashed #e7e7e7; + padding:10px; + margin-top:20px; + } +</style> +</head> +<body> +<table align="center" border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" style="border-collapse: collapse; background-color: #e8e8e8;border-collapse: collapse;margin: 0;padding: 0;"> + <tbody style="border: 1px solid #00000017;border-radius: 95px;"> + <tr> + <td align="center" valign="top" style="padding: 0 10px;"> + <table cellpadding="0" cellspacing="0" border="0" align="center" width="100%" style="border-collapse: collapse; font-family:'Roboto',sans-serif;font-size: 32px;font-weight: bold;color: #3392ea; max-width: 600px;"> + <tbody> + <tr> + <!-- <td align="left" style="padding: 18px 0 7px 5px;"><a href="" style="color: #689c35;text-decoration: none;" target="_blank" rel="noopener"> <span style="color: #555555;text-decoration: none; font-size=12px"><img src="<?php echo base_url();?>user_assets/images/al-hissan--logo.png" max-height="65px" alt="xxxxx"> </span> </a></td> --> + </tr> + </tbody> + </table> + <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; background-color: #ffffff; border-collapse: collapse;width: 100%;max-width: 600px; border-radius: 8px;"> + <tbody> + <tr> + <td align="center" style="padding: 0px; text-align: center;"> + <table cellpadding="0" cellspacing="0" width="100%" align="center" style="border-collapse: collapse;"> + <tbody> + <tr> + <td align="left" style="padding: 25px;"> + <h3 style="margin: 0; text-align: center; padding: 0 0 10px; font-weight: normal; font-weight: normal; font-size: 26px; color: #bb4825; line-height: 32px; font-family:'Roboto',sans-serif; "> <strong>Hi <?php echo ($name);?></strong>, Offers For You.</h3> + <h2 style="color: #555555; font-weight: bold; margin: 0; padding: 0 0 10px; line-height: 25px; font-size: 15px; font-family:'Roboto',sans-serif; border-bottom: 1px dashed #ccc; " align="center"></h2> + <div style="border-bottom: 1px dashed #ccc; padding: 10px 0; line-height: 160%; font-size: 15px;"> + <div style="color: #555555; line-height: 160%;font-family:'Roboto',sans-serif;"> + <center> + <div class="pin_container_1"> + Following Your Request, We are Pleased to send you our Best Offers + </div> + </center> + </div> + </div> + <div style="border-bottom: 1px dashed #ccc; padding: 10px 0; line-height: 160%; font-size: 15px;"> + <div style="color: #555555; line-height: 160%;font-family:'Roboto',sans-serif;"> + <center> + <h3 style="color: midnightblue;"> + <strong> POS DETAILS</strong> + </h3> + <div class="pin_container"> + <table cellpadding="10" cellspacing="5" width="100%" border="0" style="border-collapse: collapse;"> + <thead> + <tr> + <th>Pos Code</th> + <th>Pos Name</th> + <th>Phone Number</th> + <th>Cost</th> + <th>Margin</th> + <th>Total</th> + </tr> + </thead> + <?php foreach ($postData as $key => $value) { ?> + <tbody> + <tr> + <td><?= $value['pos_code'] ?></td> + <td><?= $value['name'] ?></td> + <td><?= $value['phone_no'] ?></td> + <td><?= $value['cost'] ?></td> + <td><?= $value['margin'] ?></td> + <td><?= $value['total'] ?></td> + <tr> + </tbody> + <?php } ?> + </table> + </div> + </center><br> + </div> + </div> + <table cellpadding="0" cellspacing="0" width="100%" border="0" style="border-collapse: collapse;"> + <tbody> + <tr> + <td align="center" style="padding: 25px 0;"> + <p style="color: #555555; font-size: 16px; line-height: 140%; margin: 0; padding: 0;"> + <span style="font-size: 14px;font-family:'Roboto',sans-serif;">If you got any questions for us, drop us a not at <a href="http://www.xxxx.co.uk/" style="text-decoration: none; color: #3392ea;" target="_blank" rel="noopener">http://www.xxxx.co.uk/</a> or call us on (123) 456-7890 . </span> + </p> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + </tbody> + </table> + </td> + </tr> + </tbody> + </table> + <table cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; max-width: 600px;" align="center"> + <tbody> + + + + </tbody> + </table> + </td> + </tr> + </tbody> +</table> +</body> +</html> \ No newline at end of file diff --git a/admin/assets/css/style.css b/admin/assets/css/style.css index 6273328..a73f1a9 100644 --- a/admin/assets/css/style.css +++ b/admin/assets/css/style.css @@ -2561,3 +2561,4 @@ footer.site-footer { pointer-events: none; opacity: 0.7; } + diff --git a/pos/application/controllers/Login.php b/pos/application/controllers/Login.php index 6e52190..1ad6d43 100644 --- a/pos/application/controllers/Login.php +++ b/pos/application/controllers/Login.php @@ -48,7 +48,7 @@ public function __construct() { ); $this->session->set_userdata('logged_pos',$sess_array); $this->session->set_userdata('admin',$result->role); - $this->session->set_userdata('id',$result->id); + $this->session->set_userdata('pos_id',$result->profile_id); return true; } else { diff --git a/pos/application/controllers/Pos_booking.php b/pos/application/controllers/Pos_booking.php index 7730890..f84f6ae 100644 --- a/pos/application/controllers/Pos_booking.php +++ b/pos/application/controllers/Pos_booking.php @@ -31,65 +31,12 @@ class Pos_booking extends CI_Controller { $this->load->view('template',$template); } - public function getPos_bookingData(){ - $resArr = array('status'=>0); - if(!isset($_POST)||empty($_POST)||!isset($_POST['Pos_booking_id'])||empty($_POST['Pos_booking_id']) || - !is_numeric($Pos_booking_id = $_POST['Pos_booking_id'])){ - echo json_encode($resArr);exit; - } - $view_all = (isset($_POST['view_all']) && !empty($_POST['view_all']))?$_POST['view_all']:''; - //$view_all = (isset($_POST['view_all']) && $_POST['view_all'] == 1)?1:0; - $mechData = $this->Pos_booking_model->getPos_bookingData($Pos_booking_id,$view_all); - //echo json_encode($mechData);exit; - if(empty($mechData)){ - echo json_encode($resArr);exit; - } - - $resArr['status'] = 1; - $resArr['data'] = $mechData; - echo json_encode($resArr);exit; - } - - function changeStatus($Pos_booking_id = '',$status ='1'){ - - $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'danger'); - if(empty($Pos_booking_id) || !is_numeric($Pos_booking_id = decode_param($Pos_booking_id))){ - $this->session->set_flashdata('message',$flashMsg); - redirect(base_url('Pos_booking')); - } - $status = $this->Pos_booking_model->changeStatus($Pos_booking_id,$status); - if(!$status){ - $this->session->set_flashdata('message',$flashMsg); - } - redirect(base_url('Pos_booking')); - } - - - - - - - -public function check_email_availability() { - - $email=$this->input->post('email'); - - $result = $this->Pos_booking_model->email_availability_check($email); - echo json_encode($result); - - - } - public function get_all_Pos_booking() { $data = $_GET; -//print_r($data);exit; $col = $data['order'][0]['column']; $col_type = $data['order'][0]['dir']; - - $columns = array("pos_booking.id","pos.name","customer.name"); - - + $columns = array("pos_booking.book_id","customer.name","customer.phone_no","pos_parts.unique_name","pos.name","pos.phone_no","customer_address.name","customer_address.phone_no","customer_address.house_no","customer_address.area","customer_address.country","customer_address.district","customer_address.city"); $value['order_by'] = $columns[$col]; $value['order_type'] = $col_type; $value['search'] = $data['search']['value']; @@ -98,77 +45,88 @@ public function get_all_Pos_booking() { $value['where'] = ''; if(!empty($value['search'])) { - $where = array(); - foreach($columns as $c) { - $where_data[] = $c." like '%".$value['search']."%' "; - } - $where = implode(" OR ", $where_data); - $where = "(".$where.")"; - $value['where'] = $where; + $where = array(); + foreach($columns as $c) { + $where_data[] = $c." like '%".$value['search']."%' "; } + $where = implode(" OR ", $where_data); + $where = "(".$where.")"; + $value['where'] = $where; + } - - - $prod_list = $this->Pos_booking_model->get_all_Pos_booking($value); - - //print_r($prod_list);exit; - + $book_list = $this->Pos_booking_model->get_all_Pos_booking($value); $all_list = $this->Pos_booking_model->get_all_Pos_booking(); - $recordsTotal = count($all_list); - $filtered = count($all_list); if($value['where']!='') { $value['length'] = '-1'; $all_list = $this->Pos_booking_model->get_all_Pos_booking($value); $filtered = count($all_list); } - $data = array(); - foreach ($prod_list as $r) { - -$action = "<a class='btn btn-info btn-sm view_wish' onclick='getPos_bookingDetails(".$r->cust_id.")'><i class='fa fa-fw fa-eye'></i>View</a>"; - -$action .= " <a class='btn btn-info btn-sm' href='".base_url()."Pos_booking/editPos_bookings/".encode_param($r->cust_id)."'> - <i class='fa fa-pencil'></i>Edit - </a>"; - - - -$action .= " <a class='btn btn-sm btn-danger' href='".base_url()."Pos_booking/changeStatus/".encode_param($r->cust_id).'/2' ."' - onClick='return doconfirm()'> - <i class='fa fa-fw fa-trash'></i>Delete - </a>"; - - - -if($r->status == 1){ -$action .= " <a class='btn btn-sm btn-success' style='background-color:#ac2925' href='".base_url()."Pos_booking/changeStatus/".encode_param($r->cust_id).'/0' ."'> - <i class='fa fa-cog'></i> De-activate - </a>"; - } else { -$action .= " <a class='btn btn-sm btn-success' href='".base_url()."Pos_booking/changeStatus/".encode_param($r->cust_id).'/1' ."'> - <i class='fa fa-cog'></i> Activate - </a>"; - } - -$action1=''; - - array_push($data, array( - $r->cust_id, - $r->book_id, - $r->customer_name.'</br>'.'<b>'.'Phone:'.'</b>'. ($r->customer_phone), - $r->pos_name.'</br>'.'<b>'.'Phone:'.'</b>'. ($r->pos_phone), - $r->pos_name, - $r->cost, - $r->est_delivery, - $action1 - )); - } - - + foreach ($book_list as $r) { + $action = $status = ''; + $action .= "<a class='btn btn-info btn-sm view_wish' onclick='getBookDetails(".$r->id.")'><i class='fa fa-fw fa-eye'></i>View</a>"; + if($r->status == '1' || $r->status == '2'){ + $action .= '<a class="btn btn-sm btn-success" + onclick="ChangeStatus('.$r->id.','.$r->status.',\''.$r->est_delivery.'\')"> + <i class="fa fa-cog"></i>ChangeStatus + </a>'; + } + if($r->status == 2){ + $status = "<button type='button' class='btn btn-primary'>Order Packed</button>"; + } else if ($r->status == 3) { + $status = "<button type='button' class='btn btn-success'>Order Delivered</button>"; + } else if ($r->status == 4) { + $status = "<button type='button' class='btn btn-success'>Completed</button>"; + } else if ($r->status == 0) { + $status = "<button type='button' class='btn btn-danger'>Cancelled</button>"; + } else if ($r->status == 1) { + $status = "<button type='button' class='btn btn-secondary'>New Booking</button>"; + } + + array_push($data, array( + $r->cust_id, + $r->book_id, + $r->customer_name, + $r->customer_phone, + $r->cost, + (isset($r->est_delivery) && !empty($r->est_delivery))?$r->est_delivery:'--', + $status, + $action + )); + } echo json_encode(array('recordsFiltered' => $filtered, 'recordsTotal' => $recordsTotal, 'data' => $data)); +} + +public function getbookDetails(){ + $resArr = array('status'=>"error"); + if(!isset($_POST)||empty($_POST)||!isset($_POST['bookId'])||empty($_POST['bookId'])){ + echo json_encode($resArr);exit; + } + $posData = $this->Pos_booking_model->getbookdetails($_POST['bookId']); + + if(empty($posData)){ + echo json_encode($resArr);exit; + } + $resArr['status'] = 1; + $resArr['data'] = $posData; + echo json_encode($resArr);exit; +} + +public function changeOrderStatus(){ + $resArr = array('status'=>"error"); + if(!isset($_POST)||empty($_POST)||!isset($_POST['bookingId'])||empty($_POST['bookingId']) || !isset($_POST['status'])||empty($_POST['status']) || !isset($_POST['expected_date'])||empty($_POST['expected_date'])){ + echo json_encode($resArr);exit; + } + $posData = $this->Pos_booking_model->changeOrderStatus($_POST); + + if(empty($posData)){ + echo json_encode($resArr);exit; + } + $resArr['status'] = 1; + echo json_encode($resArr);exit; } diff --git a/pos/application/controllers/Pos_request.php b/pos/application/controllers/Pos_request.php index 39df33a..e6fb75a 100644 --- a/pos/application/controllers/Pos_request.php +++ b/pos/application/controllers/Pos_request.php @@ -13,8 +13,6 @@ class Pos_request extends CI_Controller { } } - - public function index(){ $template['page'] = 'Pos_request/list'; @@ -30,7 +28,7 @@ class Pos_request extends CI_Controller { } public function getPos_requestData(){ - $resArr = array('status'=>0); + $resArr = array('status'=>"error"); if(!isset($_POST)||empty($_POST)||!isset($_POST['Pos_request_id'])||empty($_POST['Pos_request_id']) || !is_numeric($Pos_request_id = $_POST['Pos_request_id'])){ echo json_encode($resArr);exit; @@ -81,92 +79,115 @@ public function check_email_availability() { public function get_all_Pos_request() { $data = $_GET; -//print_r($data);exit; + $pos_id = $this->session->userdata('pos_id'); $col = $data['order'][0]['column']; $col_type = $data['order'][0]['dir']; - - $columns = array("pos_request.id","pos_request.sub_services","pos_request.Pos_name","pos_request.booking_date"); - - + $columns = array("pos_request.posReq_id","customer.name","customer.phone_no","pos_parts.unique_name"); $value['order_by'] = $columns[$col]; $value['order_type'] = $col_type; $value['search'] = $data['search']['value']; $value['start'] = $data['start']; $value['length'] = $data['length']; $value['where'] = ''; - if(!empty($value['search'])) { - $where = array(); - foreach($columns as $c) { - $where_data[] = $c." like '%".$value['search']."%' "; - } - $where = implode(" OR ", $where_data); - $where = "(".$where.")"; - $value['where'] = $where; + $where = array(); + foreach($columns as $c) { + $where_data[] = $c." like '%".$value['search']."%' "; } - - - - $prod_list = $this->Pos_request_model->get_all_Pos_request($value); - - //print_r($prod_list);exit; - - $all_list = $this->Pos_request_model->get_all_Pos_request(); - + $where = implode(" OR ", $where_data); + $where = "(".$where.")"; + $value['where'] = $where; + } + $prod_list = $this->Pos_request_model->get_all_Pos_request($pos_id,$value); + $all_list = $this->Pos_request_model->get_all_Pos_request($pos_id,''); $recordsTotal = count($all_list); - $filtered = count($all_list); if($value['where']!='') { $value['length'] = '-1'; - $all_list = $this->Pos_request_model->get_all_Pos_request($value); + $all_list = $this->Pos_request_model->get_all_Pos_request($pos_id,$value); $filtered = count($all_list); } - $data = array(); foreach ($prod_list as $r) { + $action = $status = ''; + $action .= "<a class='btn btn-info btn-sm view_wish' onclick='getPos_requestDetails(".$r->id.")'><i class='fa fa-fw fa-eye'></i>View</a>"; + + if($r->status == 2){ + $action .= " <a class='btn btn-sm btn-success' onclick='sendQuote(".$r->id.",".$r->part_ids.")'><i class='fa fa-cog'></i> Quote</a>"; + $status = "<button type='button' class='btn btn-primary'>New Request</button>"; + } else if ($r->status == 3) { + $status = "<button type='button' class='btn btn-success'>Accepted</button>"; + } else if ($r->status == 4) { + $status = "<button type='button' class='btn btn-info'>Quote Send to User</button>"; + } else if ($r->status == 0) { + $status = "<button type='button' class='btn btn-danger'>Cancelled</button>"; + } else if ($r->status == 5) { + $status = "<button type='button' class='btn btn-secondary'>Quote Send to Admin</button>"; + } + if($r->status == 5 || $r->status == 4){ + $action .= " <a class='btn btn-sm btn-success' onclick='quoteDetails(".$r->id.")'><i class='fa fa-cog'></i> Quote Details</a>"; + } + array_push($data, array( + $r->id, + $r->posReq_id, + $r->customer_name, + $r->customer_phone, + $r->unique_name, + $status, + $action + )); + } + echo json_encode(array('recordsFiltered' => $filtered, 'recordsTotal' => $recordsTotal, 'data' => $data)); + } -$action = "<a class='btn btn-info btn-sm view_wish' onclick='getPos_requestDetails(".$r->cust_id.")'><i class='fa fa-fw fa-eye'></i>View</a>"; - -$action .= " <a class='btn btn-info btn-sm' href='".base_url()."Pos_request/editPos_requests/".encode_param($r->cust_id)."'> - <i class='fa fa-pencil'></i>Edit - </a>"; - - - -$action .= " <a class='btn btn-sm btn-danger' href='".base_url()."Pos_request/changeStatus/".encode_param($r->cust_id).'/2' ."' - onClick='return doconfirm()'> - <i class='fa fa-fw fa-trash'></i>Delete - </a>"; - - - -if($r->status == 1){ -$action .= " <a class='btn btn-sm btn-success' style='background-color:#ac2925' href='".base_url()."Pos_request/changeStatus/".encode_param($r->cust_id).'/0' ."'> - <i class='fa fa-cog'></i> De-activate - </a>"; - } else { -$action .= " <a class='btn btn-sm btn-success' href='".base_url()."Pos_request/changeStatus/".encode_param($r->cust_id).'/1' ."'> - <i class='fa fa-cog'></i> Activate - </a>"; - } - $action1=''; - - - array_push($data, array( - $r->cust_id, - $r->customer_name, - $r->customer_phone, - $r->unique_name, - $r->pos_name, - $r->address, - $action1 - )); - } - - - echo json_encode(array('recordsFiltered' => $filtered, 'recordsTotal' => $recordsTotal, 'data' => $data)); - -} + public function getPosData($request_id = ''){ + $resArr = array('status'=>"error"); + if(!isset($_POST)||empty($_POST)||!isset($_POST['request_id'])||empty($_POST['request_id']) || + !is_numeric($request_id = $_POST['request_id'])){ + echo json_encode($resArr);exit; + } + + $posData = $this->Pos_request_model->getPosData($request_id); + + if(empty($posData)){ + echo json_encode($resArr);exit; + } + $resArr['status'] = 1; + $resArr['data'] = $posData; + echo json_encode($resArr);exit; + } + + public function getPosDetails(){ + $resArr = array('status'=>"error"); + if(!isset($_POST)||empty($_POST)||!isset($_POST['requestId'])||empty($_POST['requestId'])){ + echo json_encode($resArr);exit; + } + + $posData = $this->Pos_request_model->getPosData($_POST['requestId']); + + if(empty($posData)){ + echo json_encode($resArr);exit; + } + $resArr['status'] = 1; + $resArr['data'] = $posData; + echo json_encode($resArr);exit; + } + + public function getSendQuoteDetails(){ + $resArr = array('status'=>"error"); + if(!isset($_POST)||empty($_POST)||!isset($_POST['requestId'])||empty($_POST['requestId'])){ + echo json_encode($resArr);exit; + } + + $quoteDetails = $this->Pos_request_model->getSendQuoteDetails($_POST['requestId']); + + if(empty($quoteDetails)){ + echo json_encode($resArr);exit; + } + $resArr['status'] = 1; + $resArr['data'] = $quoteDetails; + echo json_encode($resArr);exit; + } diff --git a/pos/application/controllers/Pos_response.php b/pos/application/controllers/Pos_response.php index ffa6261..542580d 100644 --- a/pos/application/controllers/Pos_response.php +++ b/pos/application/controllers/Pos_response.php @@ -15,162 +15,17 @@ class Pos_response extends CI_Controller { } - - - public function index(){ - - $template['page'] = 'Pos_response/list'; - $template['menu'] = 'POS Response Management'; - $template['smenu'] = 'View POS Responses'; - $template['pTitle'] = "View POS Responses"; - $template['pDescription'] = "View and Manage POS Responses"; - $template['page_head'] = "POS Response Management"; - $template['datatable'] = 1; - //$template['Pos_response_data'] = $this->Pos_response_model->getPos_responseData(); - - $this->load->view('template',$template); - } - - public function getPos_responseData(){ - $resArr = array('status'=>0); - if(!isset($_POST)||empty($_POST)||!isset($_POST['Pos_response_id'])||empty($_POST['Pos_response_id']) || - !is_numeric($Pos_response_id = $_POST['Pos_response_id'])){ - echo json_encode($resArr);exit; - } - $view_all = (isset($_POST['view_all']) && !empty($_POST['view_all']))?$_POST['view_all']:''; - //$view_all = (isset($_POST['view_all']) && $_POST['view_all'] == 1)?1:0; - $mechData = $this->Pos_response_model->getPos_responseData($Pos_response_id,$view_all); - //echo json_encode($mechData);exit; - if(empty($mechData)){ - echo json_encode($resArr);exit; - } - - $resArr['status'] = 1; - $resArr['data'] = $mechData; - echo json_encode($resArr);exit; - } - - function changeStatus($Pos_response_id = '',$status ='1'){ - - $flashMsg = array('message'=>'Something went wrong, please try again..!','class'=>'danger'); - if(empty($Pos_response_id) || !is_numeric($Pos_response_id = decode_param($Pos_response_id))){ - $this->session->set_flashdata('message',$flashMsg); - redirect(base_url('Pos_response')); - } - $status = $this->Pos_response_model->changeStatus($Pos_response_id,$status); - if(!$status){ - $this->session->set_flashdata('message',$flashMsg); - } - redirect(base_url('Pos_response')); - } - - - - - - - -public function check_email_availability() { - - $email=$this->input->post('email'); - - $result = $this->Pos_response_model->email_availability_check($email); - echo json_encode($result); - - - } - - -public function get_all_Pos_response() { - $data = $_GET; -//print_r($data);exit; - $col = $data['order'][0]['column']; - $col_type = $data['order'][0]['dir']; - - $columns = array("pos_request.id","pos_request.sub_services","pos_request.Pos_name","pos_request.booking_date"); - - - $value['order_by'] = $columns[$col]; - $value['order_type'] = $col_type; - $value['search'] = $data['search']['value']; - $value['start'] = $data['start']; - $value['length'] = $data['length']; - $value['where'] = ''; - - if(!empty($value['search'])) { - $where = array(); - foreach($columns as $c) { - $where_data[] = $c." like '%".$value['search']."%' "; - } - $where = implode(" OR ", $where_data); - $where = "(".$where.")"; - $value['where'] = $where; - } - - - - $prod_list = $this->Pos_response_model->get_all_Pos_response($value); - - //print_r($prod_list);exit; - - $all_list = $this->Pos_response_model->get_all_Pos_response(); - - $recordsTotal = count($all_list); - - $filtered = count($all_list); - if($value['where']!='') { - $value['length'] = '-1'; - $all_list = $this->Pos_response_model->get_all_Pos_response($value); - $filtered = count($all_list); + public function SendCustomQuote(){ + $resArr = array('status'=>"error"); + if(!isset($_POST)||empty($_POST)||!isset($_POST['amount'])||empty($_POST['amount'])||!isset($_POST['reqId'])||empty($_POST['reqId'])||!isset($_POST['partId'])||empty($_POST['partId'])){ + echo json_encode($resArr);exit; + } + $posData = $this->Pos_response_model->insertCustomQuote($_POST); + if(empty($posData)){ + echo json_encode($resArr);exit; + } + $resArr['status'] = 1; + echo json_encode($resArr);exit; } - - $data = array(); - foreach ($prod_list as $r) { - - -$action = "<a class='btn btn-info btn-sm view_wish' onclick='getPos_responseDetails(".$r->id.")'><i class='fa fa-fw fa-eye'></i>View</a>"; - -$action .= " <a class='btn btn-info btn-sm' href='".base_url()."Pos_response/editPos_responses/".encode_param($r->id)."'> - <i class='fa fa-pencil'></i>Edit - </a>"; - - - -$action .= " <a class='btn btn-sm btn-danger' href='".base_url()."Pos_response/changeStatus/".encode_param($r->id).'/2' ."' - onClick='return doconfirm()'> - <i class='fa fa-fw fa-trash'></i>Delete - </a>"; - - - -if($r->status == 1){ -$action .= " <a class='btn btn-sm btn-success' style='background-color:#ac2925' href='".base_url()."Pos_response/changeStatus/".encode_param($r->id).'/0' ."'> - <i class='fa fa-cog'></i> De-activate - </a>"; - } else { -$action .= " <a class='btn btn-sm btn-success' href='".base_url()."Pos_response/changeStatus/".encode_param($r->id).'/1' ."'> - <i class='fa fa-cog'></i> Activate - </a>"; - } - -$action1=''; - - array_push($data, array( - $r->id, - $r->pos_name.'</br>'.'<b>'.'Phone:'.'</b>'. ($r->pos_phone), - $r->customer_name.'</br>'.'<b>'.'Phone:'.'</b>'. ($r->customer_phone), - $r->pos_name, - $r->cost, - $action1 - )); - } - - - echo json_encode(array('recordsFiltered' => $filtered, 'recordsTotal' => $recordsTotal, 'data' => $data)); - -} - - - } ?> \ No newline at end of file diff --git a/pos/application/models/Pos_booking_model.php b/pos/application/models/Pos_booking_model.php index 744efd2..808d808 100644 --- a/pos/application/models/Pos_booking_model.php +++ b/pos/application/models/Pos_booking_model.php @@ -3,63 +3,6 @@ parent::_construct(); } - public function getPos_bookingData($Pos_booking_id='',$view=''){ - - $cond = (!empty($view))?" USR.user_type IN ($view) ":" USR.status != '2' "; - $cond .= (!empty($Pos_booking_id))?" AND CUST.cust_id='$Pos_booking_id' ":""; - - $query = "SELECT CUST.*,USR.status,USR.password - FROM pos_booking AS CUST - INNER JOIN users AS USR ON (USR.profile_id=CUST.cust_id) - WHERE $cond AND USR.user_type='1' Order by id DESC"; - - $Pos_bookingData = $this->db->query($query); - if($query->num_rows()>0) - { - return (empty($Pos_booking_id))?$Pos_bookingData->result():$Pos_bookingData->row(); - } - return 0; - } - - - - - - - function changeStatus($Pos_booking_id = '', $status = '0'){ - - if(empty($Pos_booking_id)){ - return 0; - } - - $status = $this->db->update('users',array('status'=>$status),array('profile_id'=>$Pos_booking_id,'user_type'=>'1')); - //echo $this->db->last_query();exit; - return $status; - } - - - -function email_availability_check($email) - { -if($email!=''){ - - $query = "SELECT * FROM pos_booking AS CUST - INNER JOIN users AS USR ON (USR.profile_id=CUST.cust_id) - WHERE USR.status!='2' AND CUST.cust_id!='".$Pos_booking_id."' AND - USR.username='".$email."'"; - $query=$this->db->query($query,array($email)); - if($query->num_rows()>0) - { - return $query->row_array(); - } else - { - return false; - } - - } - return false; - } - function get_all_Pos_booking($filter=null) { if($filter){ $this->db->order_by($filter['order_by'], $filter['order_type']); @@ -69,23 +12,39 @@ if($email!=''){ if($filter['length']!=-1) $this->db->limit($filter['length'],$filter['start']); } - - -$this->db->where('pos_booking.status!=','2'); $this->db->order_by('pos_booking.id','desc'); - $this->db->select("pos_booking.*,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name,pos.name as pos_name,pos.phone_no as pos_phone"); + $this->db->select("pos_booking.*,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name,pos.name as pos_name,pos.phone_no as pos_phone,customer_address.name,customer_address.phone_no,customer_address.house_no,customer_address.area,customer_address.country,customer_address.district,customer_address.city,pos_response.req_id"); $this->db->from('pos_booking'); $this->db->join('pos','pos.pos_id = pos_booking.pos_id'); $this->db->join('customer', 'customer.cust_id = pos_booking.cust_id'); + $this->db->join('customer_address', 'customer_address.ID = pos_booking.address'); $this->db->join('pos_response', 'pos_response.id = pos_booking.resp_id'); - $this->db->join("pos_parts","find_in_set(pos_parts.id,pos_response.pos_parts)<> 0","left",false); - + $this->db->join("pos_parts","pos_parts.id=pos_response.pos_parts"); + $this->db->where("pos_booking.pos_id",$this->session->userdata('pos_id')); $this->db->group_by('pos_booking.id'); $res = $this->db->get(); - return $res->result(); } + public function getbookdetails($bookingId){ + $this->db->select("pos_booking.*,customer_address.name,customer_address.phone_no,customer_address.house_no,customer_address.area,customer_address.country,customer_address.district,customer_address.city,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name,vehicle_model.make,vehicle_model.model,vehicle_model.year,vehicle_model.vehicle_name,vehicle_model.mileage,vehicle_model.vehicle_image,pos_request.posReq_id"); + $this->db->from('pos_booking'); + $this->db->join('pos_response', 'pos_response.id = pos_booking.resp_id'); + $this->db->join("pos_parts","pos_parts.id=pos_response.pos_parts"); + $this->db->join("pos_request","pos_request.id=pos_response.req_id"); + $this->db->join('customer', 'customer.cust_id = pos_booking.cust_id'); + $this->db->join('customer_address', 'customer_address.id = pos_booking.address'); + $this->db->join('vehicle_model', 'vehicle_model.id = pos_request.vehicle_id'); + $this->db->where('pos_booking.id',$bookingId); + $res = $this->db->get(); + return $res->row(); + } + + public function changeOrderStatus($postData = array()){ + if($this->db->update('pos_booking',array('est_delivery'=>$postData['expected_date'],'status'=>$postData['status']),array('id'=>$postData['bookingId']))){ + return true; + } + } } ?> \ No newline at end of file diff --git a/pos/application/models/Pos_request_model.php b/pos/application/models/Pos_request_model.php index 4ec3df3..a69df93 100644 --- a/pos/application/models/Pos_request_model.php +++ b/pos/application/models/Pos_request_model.php @@ -62,29 +62,54 @@ if($email!=''){ return false; } -function get_all_Pos_request($filter=null) { - if($filter){ - $this->db->order_by($filter['order_by'], $filter['order_type']); - if(!empty($filter['where'])){ - $this->db->where($filter['where']); - } - if($filter['length']!=-1) - $this->db->limit($filter['length'],$filter['start']); - } - - $this->db->where('pos_request.status!=','2'); - $this->db->order_by('pos_request.id','desc'); - - - $this->db->select("pos_request.*,customer.name as customer_name,customer.phone_no as customer_phone,GROUP_CONCAT(DISTINCT(pos_parts.unique_name)) AS unique_name,GROUP_CONCAT(DISTINCT(pos.name)) AS pos_name"); - $this->db->from('pos_request'); - $this->db->join('customer', 'customer.cust_id = pos_request.cust_id'); - $this->db->join("pos_parts","find_in_set(pos_parts.id,pos_request.part_ids)<> 0","left",false); - $this->db->join("pos","find_in_set(pos.pos_id,pos_request.pos_ids)<> 0","left",false); - $this->db->group_by('pos_request.id'); - $res = $this->db->get(); - return $res->result(); +function get_all_Pos_request($pos_id='',$filter=null) { + if($filter){ + $this->db->order_by($filter['order_by'], $filter['order_type']); + if(!empty($filter['where'])){ + $this->db->where($filter['where']); + } + if($filter['length']!=-1) + $this->db->limit($filter['length'],$filter['start']); } + $where = ''; + $where .= "find_in_set('".$pos_id."',pos_request.pos_ids) AND pos_request.status IN ('2','4','5')"; + $this->db->order_by('pos_request.id','desc'); + $this->db->select("pos_request.*,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name"); + $this->db->from('pos_request'); + $this->db->join('customer', 'customer.cust_id = pos_request.cust_id'); + $this->db->join("pos_parts","pos_parts.id=pos_request.part_ids"); + $this->db->where($where); + $this->db->group_by('pos_request.id'); + $res = $this->db->get(); + return $res->result(); +} + +public function getPosData($reqId =''){ + $this->db->select("pos_request.*,customer_address.name,customer_address.phone_no,customer_address.house_no,customer_address.area,customer_address.country,customer_address.district,customer_address.city,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name,GROUP_CONCAT(DISTINCT(pos.name)) AS pos_name,vehicle_model.make,vehicle_model.model,vehicle_model.year,vehicle_model.vehicle_name,vehicle_model.mileage,vehicle_model.vehicle_image"); + $this->db->from('pos_request'); + $this->db->join('customer', 'customer.cust_id = pos_request.cust_id','left'); + $this->db->join('customer_address', 'customer_address.id = pos_request.address','left'); + $this->db->join('vehicle_model', 'vehicle_model.id = pos_request.vehicle_id','left'); + $this->db->join("pos_parts","pos_parts.id=pos_request.part_ids","left",false); + $this->db->join("pos","find_in_set(pos.pos_id,pos_request.pos_ids)<> 0","left",false); + $this->db->where('pos_request.id',$reqId); + $res = $this->db->get(); + return $res->row(); +} + +public function getSendQuoteDetails($reqId){ + $this->db->select("pos_response.*,customer.name as customer_name,pos_parts.unique_name,customer_address.phone_no,customer_address.area,pos_request.posReq_id,vehicle_model.make,vehicle_model.model,vehicle_model.year,vehicle_model.vehicle_name,vehicle_model.mileage,vehicle_model.vehicle_image"); + $this->db->from('pos_response'); + $this->db->join('pos_request','pos_request.id = pos_response.req_id'); + $this->db->join('customer', 'customer.cust_id = pos_request.cust_id'); + $this->db->join('vehicle_model', 'vehicle_model.id = pos_request.vehicle_id','left'); + $this->db->join('customer_address', 'customer_address.ID = pos_request.address'); + $this->db->join("pos_parts","pos_parts.id=pos_response.pos_parts"); + $this->db->where("pos_response.pos_id",$this->session->userdata('pos_id')); + $this->db->where("pos_response.req_id",$reqId); + $res = $this->db->get(); + return $res->row(); +} } diff --git a/pos/application/models/Pos_response_model.php b/pos/application/models/Pos_response_model.php index 5badfdc..d47a2c0 100644 --- a/pos/application/models/Pos_response_model.php +++ b/pos/application/models/Pos_response_model.php @@ -4,89 +4,23 @@ class Pos_response_model extends CI_Model { parent::_construct(); } - public function getPos_responseData($Pos_response_id='',$view=''){ - - $cond = (!empty($view))?" USR.user_type IN ($view) ":" USR.status != '2' "; - $cond .= (!empty($Pos_response_id))?" AND CUST.cust_id='$Pos_response_id' ":""; - - $sql = "SELECT CUST.*,USR.status,USR.password - FROM Pos_response AS CUST - INNER JOIN users AS USR ON (USR.profile_id=CUST.cust_id) - WHERE $cond AND USR.user_type='1' Order by id DESC"; - - $Pos_responseData = $this->db->query($sql); - //echo $this->db->last_query();exit; - if(isset($Pos_responseData)){ - - return (empty($Pos_response_id))?$Pos_responseData->result():$Pos_responseData->row(); - } - return 0; - } - - - - - - - function changeStatus($Pos_response_id = '', $status = '0'){ - - if(empty($Pos_response_id)){ - return 0; - } - - $status = $this->db->update('users',array('status'=>$status),array('profile_id'=>$Pos_response_id,'user_type'=>'1')); - //echo $this->db->last_query();exit; - return $status; - } - - - -function email_availability_check($email) - { -if($email!=''){ - - $query = "SELECT * FROM Pos_response AS CUST - INNER JOIN users AS USR ON (USR.profile_id=CUST.cust_id) - WHERE USR.status!='2' AND CUST.cust_id!='".$Pos_response_id."' AND - USR.username='".$email."'"; - $query=$this->db->query($query,array($email)); - if($query->num_rows()>0) - { - return $query->row_array(); - } else - { - return false; + public function insertCustomQuote($postData =array()){ + $squence = str_pad(rand(1111,9999),4,0,STR_PAD_LEFT); + $insertArray = array( + 'pos_resp_code'=>'PSRESP'.date('ymd').$squence, + 'req_id'=>$postData['reqId'], + 'pos_id'=>$this->session->userdata('pos_id'), + 'cost'=>$postData['amount'], + 'total'=>$postData['amount'], + 'pos_parts'=>$postData['partId'], + 'status'=>1 + ); + if($this->db->insert('pos_response',$insertArray)){ + if($this->db->update('pos_request',array('status'=>5),array('id'=>$postData['reqId']))){ + return 1; + } } - - } - return false; } - function get_all_Pos_response($filter=null) { - if($filter){ - $this->db->order_by($filter['order_by'], $filter['order_type']); - if(!empty($filter['where'])){ - $this->db->where($filter['where']); - } - if($filter['length']!=-1) - $this->db->limit($filter['length'],$filter['start']); - } - - - $this->db->where('pos_response.status!=','2'); - $this->db->order_by('pos_response.id','desc'); - $this->db->select("pos_response.*,customer.name as customer_name,customer.phone_no as customer_phone,pos_parts.unique_name,pos.name as pos_name,pos.phone_no as pos_phone"); - $this->db->from('pos_response'); - $this->db->join('pos_request', 'pos_request.id = pos_response.req_id'); - $this->db->join('pos', 'pos.pos_id = pos_response.pos_id'); - $this->db->join('customer', 'customer.cust_id = pos_request.cust_id'); - $this->db->join("pos_parts","find_in_set(pos_parts.id,pos_request.part_ids)<> 0","left",false); - $this->db->group_by('pos_response.id'); - $res = $this->db->get(); - - return $res->result(); - } - - } ?> \ No newline at end of file diff --git a/pos/application/views/Pos_booking/list.php b/pos/application/views/Pos_booking/list.php index 8f4fff8..2241db4 100644 --- a/pos/application/views/Pos_booking/list.php +++ b/pos/application/views/Pos_booking/list.php @@ -51,29 +51,15 @@ <tr> <th>No</th> <th>Booking ID</th> - <th>Customer</th> - <th>POS</th> - <th>POS Name</th> + <th>Customer Name</th> + <th>Customer PhoneNo</th> <th>Cost</th> <th>Delivery Date</th> + <th>Status</th> <th>Action</th> </tr> </thead> - <tbody> - - </tbody> - <tfoot> - <tr> - <th>No</th> - <th>Booking ID</th> - <th>Customer</th> - <th>POS</th> - <th>POS Name</th> - <th>Cost</th> - <th>Delivery Date</th> - <th>Action</th> - </tr> - </tfoot> + <tbody></tbody> </table> </div> </div> @@ -81,12 +67,311 @@ </div> </div> </div> - <!-- PAGE-CONTENT-ENDS --> <script type="text/javascript"> function doconfirm(){ - action = confirm("Are you sure to delete permanently?"); - if(action != true) return false; + action = confirm("Are you sure to delete permanently?"); + if(action != true) return false; } + + function getBookDetails(bookingId){ + if(bookingId == '' || bookingId==undefined || bookingId == 'undefined' || bookingId == null || bookingId=='null'){ + return true; + } + modalTrigger('Booking Details',''); + addModalLoader(); + jQuery.ajax({ + url : base_url+"Pos_booking/getbookDetails", + type : 'POST', + data : {'bookId':bookingId,'view_all':'1'}, + success : function(resp){ + if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + + var resp_data = jQuery.parseJSON(resp); + if(resp_data['status'] == '0'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, Please try again later...!'); + return false; + } + + var issueHtml = ''; + issueHtml += '<form id="customQuote" role="form" method="post">'+ + '<div class="col-md-12" style="padding-top:10px">'+ + '<div class="row"><label><b>Product Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Request Code</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].posReq_id+'</label></div>'+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Product Name</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].unique_name+'</label></div>'+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div>'+ + '<div class="col-md-12" style="padding-top:20px;">'+ + '<div class="row"><label><b>Customer Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Customer Name</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].customer_name+'</label></div>'+ + '</div> '+ + '<div class="row"> '+ + '<div class="col-md-6">Customer Ph No</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].phone_no+'</label></div> '+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row"> '+ + '<div class="col-md-6">Customer Location</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].area+'</label></div> '+ + '</div> '+ + '</div>'+ + '<div class="col-md-12">'+ + '<div class="row"> '+ + '<div class="col-md-3">Customer Address</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-8"><label>'+resp_data['data'].name+', '+resp_data['data'].house_no+', '+resp_data['data'].area+', '+resp_data['data'].city+', '+resp_data['data'].district+', '+resp_data['data'].country+'</label></div> '+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div> '+ + '<div class="col-md-12" style="padding-top:20px;">'+ + '<div class="row"><label><b>Vehicle Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Make</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].make+'</label></div>'+ + '</div> '+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Year</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].year+'</label></div>'+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Model</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].model+'</label></div>'+ + '</div> '+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle mileage</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].mileage+'</label></div>'+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div> '+ + // '<div class="col-md-12">'+ + // '<div class="row"><label><b>Add Delivery Date</b></label></div>'+ + // '<div class="col-md-12">'+ + // '<div class="row">'+ + // '<div class="col-md-3">Delivery Date</div>'+ + // '<div class="col-md-1">:</div>'+ + // '<div class="col-md-5">'+ + // '<input class="marginTop10" placeholder="Date" id="date" type="date" name="date">'+ + // '<input id="booking_id" value="'+bookingId+'" type="hidden" name="date">'+ + // '</div>'+ + // '<div class="col-md-3">'+ + // '<button type="button" style="height: 25px;font-size: 13px;padding-bottom: 22px;" onclick="addDeliveryDate(event);" class="btn btn-primary">Submit</button>'+ + // '</div>'+ + // '</div>'+ + // '</div>'+ + // '</div>'+ + '</form>'; + remModalLoader(); + jQuery('[id="modal_content"]').html(issueHtml); + }, + fail: function(xhr, textStatus, errorThrown){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + }, + error: function (ajaxContext) { + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + } + }) + } + + // function addDeliveryDate(e){ + // e.preventDefault(); + + // var date = jQuery('[id="date"]').val(); + // var bookId = jQuery('[id="booking_id"]').val(); + // if((date != '' && bookId == '') || (date == '' && bookId != '')){ + // if(date == ''){ + // jQuery('[id="date"]').addClass('errInput'); + // } + // if(bookId == ''){ + // remModalLoader(); + // jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + // } + // return false; + // } + // jQuery.ajax({ + // url : base_url+"Pos_booking/addDeliveryDate", + // type : 'POST', + // data : {"date":date,"bookId":bookId}, + // success: function(resp){ + // if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){ + // remModalLoader(); + // jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + // return false; + // } + // var resp_data = jQuery.parseJSON(resp); + // if(resp_data['status'] == 'error'){ + // remModalLoader(); + // jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + // return false; + // } + // else{ + // window.location.reload(); + // } + // }, + // fail: function(xhr, textStatus, errorThrown){ + // remModalLoader(); + // jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + // }, + // error: function (ajaxContext) { + // remModalLoader(); + // jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + // } + // }) + // } + + function ChangeStatus(bookingId,status,date){ + if(bookingId=='' || bookingId==undefined || bookingId=='undefined' || bookingId==null || bookingId=='null' || status=='' || status==undefined || status=='undefined' || status==null || status=='null'){ + return true; + } + + modalTrigger('Change Booking Detail Status',''); + addModalLoader(); + + var stat = '', + dropOption = '<option selected disabled value="">--Change Status--</option>'; + switch (status){ + case 1: stat = 'New Booking'; + dropOption += '<option value="2">Order Packed</option>'; + dropOption += '<option value="3">Order Delivered</option>'; + break; + case 2: stat = 'Order Packed'; + dropOption += '<option value="3">Order Delivered</option>'; + break; + } + var expdate = (date=='' || date ==undefined || date=='undefined' || date==null || date=='null')?'':date; + var html = '<form id="changeOrderStatus" role="form" method="post">'+ + '<div class="col-md-12" style="padding-top:10px">'+ + '<div class="row">'+ + '<div class="col-md-3"><div class="row"><label>Current Status</label></div></div>'+ + '<div class="col-md-1"> : </div>'+ + '<div class="col-md-3"><div class="row"><label>'+stat+'</label></div></div>'+ + '</div>'+ + '</div>'+ + '<div class="col-md-12" style="padding-top:10px">'+ + '<div class="row">'+ + '<div class="col-md-3"><div class="row"><label>Change Status</label></div></div>'+ + '<div class="col-md-1"> : </div>'+ + '<div class="col-md-3">'+ + '<div class="row">'+ + '<select id="orderStatus" name="status" class="form-control required">'+ + dropOption+ + '</select>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '<div class="col-md-12" style="padding-top:10px">'+ + '<div class="row">'+ + '<div class="col-md-3"><div class="row"><label>Expected Delivery Date </label></div></div>'+ + '<div class="col-md-1"> : </div>'+ + '<div class="col-md-3"><div class="row"><label><input type="date" id="expected_delivery" value="'+ expdate +'" class="form-control required" name="expected_delivery"></label></div></div>'+ + '</div>'+ + '</div>'+ + '<input type="hidden" name="bookingId" id="bookingId" value="'+bookingId+'">'+ + '<div class="col-md-12" style="padding-top:10px">'+ + '<div class="box-footer textCenterAlign">'+ + '<button type="button" onclick="changeOrderStatus(event);" class="btn btn-primary">Submit</button>'+ + '</div>'+ + '</div>'+ + '</form>'; + remModalLoader(); + jQuery('[id="modal_content"]').html(html); + } + +function changeOrderStatus(e){ + e.preventDefault(); + var errFlag = '1'; + var status = jQuery('[id="orderStatus"]').val(); + var bookingId = jQuery('[id="bookingId"]').val(); + var expected_delivery = jQuery('[id="expected_delivery"]').val(); + if(status == '' || status == 'null' || status == 'NULL' || status == null || expected_delivery == '' || expected_delivery == 'null'){ + jQuery('[id="orderStatus"]').addClass('errInput'); + jQuery('[id="expected_delivery"]').addClass('errInput'); + return false; + } + + jQuery.ajax({ + url : base_url+"Pos_booking/changeOrderStatus", + type : 'POST', + data : {'bookingId':bookingId,'status':status,'expected_date':expected_delivery}, + success: function(resp){ + if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + var resp_data = jQuery.parseJSON(resp); + if(resp_data['status'] == '0'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + else{ + remModalLoader(); + jQuery('[id="modal_content"]').html('Status Changed Successfully.'); + + setTimeout(function(){ + modalHide(); + window.location.reload(); + }, 1000); + return false; + } + }, + fail: function(xhr, textStatus, errorThrown){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + + setTimeout(function(){ + modalHide(); + }, 1000); + }, + error: function (ajaxContext) { + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + + setTimeout(function(){ + modalHide(); + }, 1000); + } + }); +} + </script> \ No newline at end of file diff --git a/pos/application/views/Pos_request/list.php b/pos/application/views/Pos_request/list.php index 14e56a5..04fc3f9 100644 --- a/pos/application/views/Pos_request/list.php +++ b/pos/application/views/Pos_request/list.php @@ -49,30 +49,17 @@ <div class="card-body"> <table id="" class="table table-striped table-bordered dataTable-custom" data-ajax="Pos_request/get_all_Pos_request"> <thead> - <tr> - <th>No</th> + <tr> + <th type="hidden">Id</th> + <th>PosCode</th> <th>Customer Name</th> <th>Phone</th> <th>Product Name</th> - <th>POS Name</th> - <th>Address</th> + <th>Status</th> <th>Action</th> </tr> </thead> - <tbody> - - </tbody> - <tfoot> - <tr> - <th>No</th> - <th>Customer Name</th> - <th>Phone</th> - <th>Product Name</th> - <th>POS Name</th> - <th>Address</th> - <th>Action</th> - </tr> - </tfoot> + <tbody></tbody> </table> </div> </div> @@ -80,12 +67,421 @@ </div> </div> </div> - +<div id="myModal24" class="modal fade" role="dialog" data-backdrop="static" data-keyboard="false"> + <div class="modal-dialog modal-lg"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal">×</button> + <h4 class="modal-title">Request Details</h4> + </div> + <div class="modal-body" id="details" ></div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> + </div> + </div> + </div> +</div> <!-- PAGE-CONTENT-ENDS --> <script type="text/javascript"> function doconfirm(){ - action = confirm("Are you sure to delete permanently?"); - if(action != true) return false; + action = confirm("Are you sure to delete permanently?"); + if(action != true) return false; + } + + function getPos_requestDetails(request_id){ + if(request_id=='' || request_id==undefined || request_id=='undefined' || request_id==null || request_id=='null'){ + return true; + } + jQuery('[id="myModal24"]').modal('show'); + var resp = post_ajax(base_url+"Pos_request/getPosData",{'request_id':request_id,'view_all':'1'}); + if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + var quote_data = jQuery.parseJSON(resp).data; + jQuery.each(quote_data, function (index, value) { + if(value == '' || value == null || value == undefined || value == 'null' || value == 'undefined'){ + quote_data[index] = ' -- '; + } + }); + var html = '<table id="DataTables_Table_0" class="table table-striped table-bordered dataTable-custom dataTable" role="grid" aria-describedby="DataTables_Table_0_info">'+ + '<thead>'+ + '<tr role="row">'+ + '<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="2" style="width: 200px;" aria-label="Request Code: activate to sort column ascending">Request Code:'+ quote_data['posReq_id']+'</th>'+ + '</tr>'+ + '</thead>'+ + '<tbody>'+ + '<tr role="row" class="odd">'+ + '<td>Product Name</td>'+ + '<td>'+ quote_data['unique_name']+'</td>'+ + '</tr>'+ + '</tbody>'+ + '</table>'+ + '<table id="DataTables_Table_0" class="table table-striped table-bordered dataTable-custom dataTable" data-ajax="Garage_request/get_all_Garage_request" role="grid" aria-describedby="DataTables_Table_0_info">'+ + '<thead>'+ + '<tr role="row">'+ + '<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="2" style="width: 200px;" aria-label="Request Code: activate to sort column ascending">Customer Details</th>'+ + // '<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="2" style="width: 200px;" aria-label="Customer Name: activate to sort column ascending">Vehicle</th>'+ + '</tr>'+ + '</thead>'+ + '<tbody>'+ + '<tr role="row" class="odd">'+ + '<td>Name</td>'+ + '<td>'+ quote_data['customer_name']+'</td>'+ + '</tr>'+ + '<tr role="row" class="odd">'+ + '<td>Phone No</td>'+ + '<td>'+ quote_data['phone_no']+'</td>'+ + '</tr>'+ + '<tr role="row" class="odd">'+ + '<td>Address</td>'+ + '<td>'+ quote_data['house_no']+', '+quote_data['phone_no']+', '+quote_data['area']+', '+quote_data['city']+', '+quote_data['district']+'</td>'+ + '</tr>'+ + '</tbody>'+ + '</table>'+ + '<table id="DataTables_Table_0" class="table table-striped table-bordered dataTable-custom dataTable" role="grid" aria-describedby="DataTables_Table_0_info">'+ + '<thead>'+ + '<tr role="row">'+ + '<th class="sorting" tabindex="0" aria-controls="DataTables_Table_0" rowspan="1" colspan="2" style="width: 200px;" aria-label="Request Code: activate to sort column ascending">Vehicle</th>'+ + '</tr>'+ + '</thead>'+ + '<tbody>'+ + '<tr role="row" class="odd">'+ + '<td>Vehicle Name</td>'+ + '<td>'+ quote_data['vehicle_name']+'</td>'+ + '</tr>'+ + '<tr role="row" class="odd">'+ + '<td>Vehicle Modal</td>'+ + '<td>'+ quote_data['model']+'</td>'+ + '</tr>'+ + '<tr role="row" class="odd">'+ + '<td>Vehicle Make</td>'+ + '<td>'+ quote_data['make']+'</td>'+ + '</tr>'+ + '<tr role="row" class="odd">'+ + '<td>Vehicle Year</td>'+ + '<td>'+ quote_data['year']+'</td>'+ + '</tr>'+ + '<tr role="row" class="odd">'+ + '<td>Vehicle Mileage</td>'+ + '<td>'+ quote_data['mileage']+'</td>'+ + '</tr>'+ + '</tbody>'+ + '</table>'; + remModalLoader(); + jQuery('[id="details"]').html(html); + + jQuery('[id="customerProfileImg"]').error(function() { + jQuery('[id="customerProfileImg"]').attr('src',base_url+'assets/images/no_image.png'); + }); + } + + + function sendQuote(req_id,partId){ + if(req_id == '' || req_id==undefined || req_id == 'undefined' || req_id == null || req_id=='null' || partId == '' || partId==undefined || partId == 'undefined' || partId == null || partId=='null'){ + return true; + } + modalTrigger('Send Quote',''); + addModalLoader(); + jQuery.ajax({ + url : base_url+"Pos_request/getPosDetails", + type : 'POST', + data : {'requestId':req_id,'view_all':'1'}, + success : function(resp){ + if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + + var resp_data = jQuery.parseJSON(resp); + if(resp_data['status'] == '0'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, Please try again later...!'); + return false; + } + + var issueHtml = ''; + issueHtml += '<form id="customQuote" role="form" method="post">'+ + '<div class="col-md-12" style="padding-top:10px">'+ + '<div class="row"><label><b>Product Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Request Code</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].posReq_id+'</label></div>'+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Product Name</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].unique_name+'</label></div>'+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div>'+ + '<div class="col-md-12" style="padding-top:20px;">'+ + '<div class="row"><label><b>Customer Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Customer Name</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].customer_name+'</label></div>'+ + '</div> '+ + '<div class="row"> '+ + '<div class="col-md-6">Customer Ph No</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].phone_no+'</label></div> '+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row"> '+ + '<div class="col-md-6">Customer Location</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].area+'</label></div> '+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div> '+ + '<div class="col-md-12" style="padding-top:20px;">'+ + '<div class="row"><label><b>Vehicle Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Make</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].make+'</label></div>'+ + '</div> '+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Year</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].year+'</label></div>'+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Model</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].model+'</label></div>'+ + '</div> '+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle mileage</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].mileage+'</label></div>'+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div> '+ + '<div class="col-md-12">'+ + '<div class="row"><label><b>Add Cost</b></label></div>'+ + '<div class="col-md-12">'+ + '<div class="row">'+ + '<div class="col-md-3"> Amount</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-5">'+ + '<input class="marginTop10" placeholder="Amount" id="amount" type="number" name="amount">'+ + '<input class="marginTop10" id="req_id" value="'+req_id+'" type="hidden">'+ + '<input class="marginTop10" id="part_id" value="'+partId+'" type="hidden">'+ + '</div>'+ + '<div class="col-md-3">'+ + '<button type="button" style="height: 25px;font-size: 13px;padding-bottom: 22px;" onclick="submitCustQuote(event);" class="btn btn-primary">Submit</button>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</form>'; + remModalLoader(); + jQuery('[id="modal_content"]').html(issueHtml); + }, + fail: function(xhr, textStatus, errorThrown){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + }, + error: function (ajaxContext) { + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + } + }) + } + +function submitCustQuote(e){ + e.preventDefault(); + + var amount = jQuery('[id="amount"]').val(); + var reqId = jQuery('[id="req_id"]').val(); + var partId = jQuery('[id="part_id"]').val(); + if((amount != '' && reqId == '') || (amount == '' && reqId != '')){ + if(amount == ''){ + jQuery('[id="amount"]').addClass('errInput'); + } + if(reqId == '' || partId == ''){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + } + return false; + } + jQuery.ajax({ + url : base_url+"Pos_response/SendCustomQuote", + type : 'POST', + data : {"amount":amount,"reqId":reqId,'partId':partId}, + success: function(resp){ + if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + var resp_data = jQuery.parseJSON(resp); + if(resp_data['status'] == 'error'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + else{ + window.location.reload(); } + }, + fail: function(xhr, textStatus, errorThrown){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + }, + error: function (ajaxContext) { + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + } + }) +} + + + function quoteDetails(req_id){ + if(req_id == '' || req_id==undefined || req_id == 'undefined' || req_id == null || req_id=='null'){ + return true; + } + modalTrigger('Send Quote Details',''); + addModalLoader(); + jQuery.ajax({ + url : base_url+"Pos_request/getSendQuoteDetails", + type : 'POST', + data : {'requestId':req_id,'view_all':'1'}, + success : function(resp){ + if(resp == '' || resp == undefined || resp == 'undefined' || resp == null || resp == 'null'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + return false; + } + + var resp_data = jQuery.parseJSON(resp); + if(resp_data['status'] == '0'){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, Please try again later...!'); + return false; + } + + var issueHtml = ''; + issueHtml += '<form id="customQuote" role="form" method="post">'+ + '<div class="col-md-12" style="padding-top:10px">'+ + '<div class="row"><label><b>Product Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Request Code</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].posReq_id+'</label></div>'+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Product Name</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].unique_name+'</label></div>'+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div>'+ + '<div class="col-md-12" style="padding-top:20px;">'+ + '<div class="row"><label><b>Customer Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Customer Name</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].customer_name+'</label></div>'+ + '</div> '+ + '<div class="row"> '+ + '<div class="col-md-6">Customer Ph No</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].phone_no+'</label></div> '+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row"> '+ + '<div class="col-md-6">Customer Location</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].area+'</label></div> '+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div> '+ + '<div class="col-md-12" style="padding-top:20px;">'+ + '<div class="row"><label><b>Vehicle Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Make</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].make+'</label></div>'+ + '</div> '+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Year</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].year+'</label></div>'+ + '</div> '+ + '</div>'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle Model</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].model+'</label></div>'+ + '</div> '+ + '<div class="row">'+ + '<div class="col-md-6">Vehicle mileage</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4"><label>'+resp_data['data'].mileage+'</label></div>'+ + '</div> '+ + '</div>'+ + '</div>'+ + '</div> '+ + '<div class="col-md-12">'+ + '<div class="row"><label><b>Send Quote Details</b></label></div>'+ + '<div class="row">'+ + '<div class="col-md-6">'+ + '<div class="row">'+ + '<div class="col-md-6"> Amount</div>'+ + '<div class="col-md-1">:</div>'+ + '<div class="col-md-4">'+ + '<label>'+resp_data['data'].cost+'</label>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</div>'+ + '</form>'; + remModalLoader(); + jQuery('[id="modal_content"]').html(issueHtml); + }, + fail: function(xhr, textStatus, errorThrown){ + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + }, + error: function (ajaxContext) { + remModalLoader(); + jQuery('[id="modal_content"]').html('Something went wrong, please try again later...!'); + } + }) + } + </script> \ No newline at end of file diff --git a/pos/application/views/template/menu.php b/pos/application/views/template/menu.php index fdce79e..3d8ff51 100644 --- a/pos/application/views/template/menu.php +++ b/pos/application/views/template/menu.php @@ -20,15 +20,6 @@ </ul> </li> - <li class="menu-item-has-children dropdown"> - <a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="menu-icon fa fa-check-circle-o"></i>Pos Response</a> - <ul class="sub-menu children dropdown-menu"> - - <li><i class="fa fa-tasks"></i><a href="<?php echo base_url('Pos_response'); ?>">List</a></li> - - </ul> - </li> - <li class="menu-item-has-children dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="menu-icon fa fa-book"></i>Pos Booking</a> <ul class="sub-menu children dropdown-menu"> diff --git a/pos/assets/css/style.css b/pos/assets/css/style.css index f033fba..e7ed055 100644 --- a/pos/assets/css/style.css +++ b/pos/assets/css/style.css @@ -2550,4 +2550,12 @@ footer.site-footer { .modal-content{ border-radius: 0px !important; -} \ No newline at end of file +} + +.errInput{ + border: 1px solid red !important; +} + +.textCenterAlign { + text-align:center; +}