|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/leadai/leadai.co.in/resources/views/deals/ |
Upload File : |
@extends('layout')
@section('content')
<!-- begin::main content -->
<style>
.input_upload{
width:100px;
height:35px;
position:absolute;
bottom:-34px;
right:350px;
}
.import-content p{
padding:0;
margin:0;
margin-bottom:8px;
font-size:13px;
}
.filter-form-box{
background-color:#FBFAFA;
padding:10px 24px;
position:absolute;
width:450px;
border:1px solid #ddd;
border-radius:5px;
top:71px;
z-index:20;
}
.filter-form-box input{
height:40px !important;
}
.diamond {
width: 20px;
height: 20px;
background-color: #FBFAFA;
transform: rotate(45deg);
position: relative;
top:-21px;
left:0px;
border-top:1px solid #ddd;
border-left:1px solid #ddd;
}
.seach-input:focus{
outline:none !important;
border-top:1px solid #ddd !important;
border-bottom:1px solid #ddd !important;
}
.seach-input{
height:40px !important;
border-top:1px solid #ddd !important;
border-bottom:1px solid #ddd !important;
border-left:1px solid #ddd !important;
}
.kanban-column
{
height: 465px;
overflow-y: scroll;
overflow-x: hidden;
scrollbar-color: #a8a8a8 #cbcbcb;
scrollbar-width: thin;
padding: 10px;
min-height: 300px;
}
.kanban-task
{
position: relative;
cursor: grab;
background-color: white;
margin-bottom: 10px;
padding: 10px;
}
.highlight {
border: 1px dashed #06b6d4;
background-color: #c0ecff;
}
.kanban-board {
width: 100%;
overflow: auto;
display: flex;
justify-content: space-between;
}
.processing-lead {
width: 300px;
position: absolute;
left: 60%;
top: 28%;
transform: translate(-50%, 50%);
}
.kanban-div-p {
background: #ebf2f5;
padding: 0px;
margin: 5px;
border-radius: 5px;
border-top: 2px #67757c solid;
}
.stage-head {
padding: 0px 0px 0px 5px;
}
</style>
<main class="main-content">
<div class="container">
<div class="toast d-none float-right" >
<div class="toast-body bg-success text-white">
<i class="fa fa-check fa-lg"></i>  Status Update Successfully
</div>
</div>
<section class='main-section1'>
<!-- begin::page header -->
<div class="page-header d-flex justify-content-between align-items-center">
<div>
<h3>Manage @php echo \App\Helpers\Frontend::deal_name(); @endphp - Sales</h3>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ asset('dashboard') }}">{{ __('message.dashboard') }}</a></li>
<li class="breadcrumb-item"><a href="{{ asset('dashboard') }}">Dashboard</a></li>
<li class="breadcrumb-item active" aria-current="page">@php echo \App\Helpers\Frontend::deal_name(); @endphp</li>
</ol>
</nav>
</div>
<ul class='nav-item dropdown d-flex'>
<div class="dropdown show" style='margin-right:20px;'>
<form class="change_pipeline_form" action="{{asset('deals')}}" method="get">
<select class="form-control change_pipeline" name="change_pipeline">
@if(!empty($pipelines))
@foreach($pipelines as $pipeline)
<option value="{{$pipeline->id}}" {{isset($_GET["change_pipeline"]) ? ($pipeline->id==$_GET["change_pipeline"] ? 'selected' : '') : ''}}>{{$pipeline->name}}</option>
@endforeach
@endif
</select>
</form>
<div class="dropdown-menu " aria-labelledby="dropdownMenuButton" x-placement="bottom-start" style="position: absolute; transform: translate3d(0px, 26px, 0px); top: 0px; left: 0px; will-change: transform;">
<a class="dropdown-item" href="#">Sales</a>
</div>
</div>
<!-- Modal Create user-->
@include('leads.modal.create_modal')
<!-- Modal Import Lead CV-->
<li>
<a href="{{asset('deals/list')}}">
<span class="icon-block bg-blue text-white icon-block-floating icon-block-sm m-r-10">
<i class="fa fa-list" aria-hidden="true"></i>
</span>
</a>
</li>
{{--<li data-bs-toggle="modal" data-bs-target="#leadModal" class='cursor-pointer'>
<span class="icon-block bg-blue text-white icon-block-floating icon-block-sm m-r-10 cursor-pointer" style='cursor:pointer;'>
<i class="fa fa-plus" aria-hidden="true"></i>
</span>
</li>--}}
</ul>
</div>
<!-- end::page header -->
<x-flashMessage />
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-md-4 py-3">
<form action="{{asset('deals/list')}}" method="get">
<div class="company-field-box">
<div>
<div class="input-group">
<div class="input-group-prepend">
<button type="button" class="btn border input-group-text filter-company-btn">
<i class="ti-filter fa-lg px-2"></i>
</button>
</div>
<input type="search" value="{{isset($_GET['search']) ? $_GET['search'] : null}}" name="search" class="form-control border-right-0 seach-input">
<button class="btn border border-left-0" type="submit" style="margin-left:-5px;">
<i class="ti-search fa-lg"></i>
</button>
</div>
<div class="filter-form-box d-none">
<div class="diamond"></div>
<form method="get" action="{{asset('deals/list')}}">
<div class="form-group">
<label> {{__('message.email')}}</label>
<input type="text" name="email" value="{{isset($_GET['email']) ? $_GET['email'] : null}}" class="form-control" id="email">
</div>
<div class="row">
<div class="form-group col-6">
<label>{{__('message.name')}} </label>
<input value="{{isset($_GET['name']) ? $_GET['name'] : null}}" type="text" name="name" class="form-control" id="name">
</div>
<div class="form-group col-6">
<label>{{__('message.phone')}}</label>
<input type="text" value="{{isset($_GET['mobile']) ? $_GET['mobile'] : null}}" name="mobile" class="form-control" id="mobile">
</div>
</div>
<div class="row">
</div>
<div class="row">
<div class="form-group col-6">
<label>Course</label>
<select class="form-control" name="course">
</select>
</div>
<div class="form-group col-6">
<label>Pipline</label>
<select class="form-control" name="pipeline">
<option value="">Select Pipeline</option>
@if(!$pipelines->isEmpty())
@foreach($pipelines as $pipeline)
<option value="{{$pipeline->id}}">{{$pipeline->name}}</option>
@endforeach
@endif
</select>
</div>
</div>
<div class="row">
<div class="form-group col-6">
<label>{{__('message.start')}} {{__('message.date')}}</label>
<input type="date" name="start_date" value="{{isset($_GET['start_date']) ? $_GET['start_date'] : null}}" class="form-control" id="start_date">
</div>
<div class="form-group col-6">
<label>{{__('message.end')}} {{__('message.date')}}</label>
<input type="date" name="end_date" value="{{isset($_GET['end_date']) ? $_GET['end_date'] : null}}" class="form-control" id="end_date">
</div>
</div>
<div class="row">
<div class="form-group col-12">
<button type="submit" class="btn btn-success-lux mr-5 px-4 apply-button">{{__('message.apply')}}</button>
<a href="{{asset('deals/list')}}" class="btn btn-primary-lux px-5 clear-button text-white">{{__('message.clear')}}</a>
</div>
</div>
</form>
</div>
</div>
</div>
</form>
</div>
<div class="col-md-8 d-flex justify-content-end py-3">
<div>
@if (Auth::user()->hasRole('admin') || Auth::user()->can('delete-deal'))
<button data-original-title="Delete Users" class="btn btn-danger text-uppercase text-white mr-2 d-none multiple-delete-btn">
<i class="fa fa-trash fa-lg" ></i>
</button>
@endif
</div>
<div>
@if (Auth::user()->hasRole('admin') || Auth::user()->can('add-deal'))
<a data-bs-toggle="modal" data-bs-target="#dealModal"
class="btn btn-outline-secondary text-uppercase ">
<i class="ti-plus"></i>
</a>
@endif
@if (Auth::user()->hasRole('admin') || Auth::user()->can('view-deal'))
<a data-toggle="tooltip" data-original-title="Deals List"
href="{{ asset('deals/list') }}"
class="btn btn-outline-secondary mr-2"><i
class="ti-view-list" ></i>
</a>
@endif
</div>
<button type="button" class="btn btn-danger d-none" id="delete-multiple">
<i class="fa fa-trash fa-lg"></i>
</button>
</div>
</div>
</div>
<div class="card-body">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@php
$count =0;
@endphp
<div class="processing-lead text-center display-5 alert-info alert d-none" >Processing...</div>
<div class="kanban-board">
@if (isset($stages))
@foreach ($stages as $st)
<div class="col-md-4 kanban-div-p">
<div class="d-flex mb-3 justify-content-between stage-head pt-2">
<h5 class="font-size-18 text-capitalize">{{ $st->name }}</h5>
</div>
<div class="kanban-column" data-drop-id="{{ $st->id }}">
@foreach ($deals as $key => $value)
@if ($value->stage_id == $st->id)
<div style="border-radius: 5px;" class="p-3 mt-3 kanban-task"
data-lead-id="{{ $value->id }}"
data-stage-id="{{ $st->id }}">
{{-- Lead Name --}}
<div class="mb-2 d-flex justify-content-between">
<a class="font-size-15 text-capitalize"
href="{{ asset('deals/details/' . $value->id) }}">
{{ $value->client_name }}
</a>
@if (Auth::user()->hasRole('admin') || Auth::user()->can('add-task'))
<div data-toggle="tooltip" data-original-title="Add Task">
<button lead_id="{{$value->id}}" data-toggle="modal" data-target="#dealTaskModal" style="padding: 8px;"
class="btn btn-sm btn-outline-primary open_task_modal pull-right">
<i class="icon ti-plus"></i>
</button>
</div>
@endif
</div>
<p class="mb-2">
<span data-toggle="tooltip" data-original-title="Pipeline"
class="btn btn-sm btn-outline-secondary">{{ $pipeline->name ?? '' }}</span>
{{-- Product Name --}}
<span data-toggle="tooltip" data-original-title="Product"
class="btn btn-sm btn-outline-info">{{ $value->product_name }}
</span>
</p>
<p>
<span class='font-size-12'><i class="icon fa fa-phone mr-1"></i>
{{ $value->phone }}</span><br>
<span class='font-size-12'><i class="icon ti-email mr-1"></i>
{{ $value->client_email }}</span><br>
<span class='font-size-12'><i
class="icon fa fa-calendar mr-1"></i>
{{ date('d-M-Y', strtotime($value->created_at)) }}</span>
</p>
{{-- Task --}}
@php
$last_task = App\Helpers\Dashboard::getTask(
$value->id,
'deal',
);
$pipeline = App\Helpers\Dashboard::getPipeline(
$value->pipeline_id,
);
@endphp
@if(isset($last_task))
<div style="border-radius: 5px;"
class="border bg-info bg border-dashed p-2">
<p class="font-size-12 mb-1">{{ $last_task->name ?? '' }}</p>
<span>{{ date('d-M-Y', strtotime($last_task->date ?? '')) }}</span>
<br>
<p class="mb-2">
<span data-toggle="tooltip" data-original-title="Task Status"
class="badge badge-light text-uppercase">
{{ $last_task->status ?? '' }}</span>
@if ($last_task->priority ?? '' == 'high')
<span data-toggle="tooltip"
data-original-title="Task Priority"
class="badge badge-danger text-uppercase font-size-8">High</span>
@elseif($last_task->priority ?? '' == 'medium')
<span data-toggle="tooltip"
data-original-title="Task Priority"
class="badge badge-warning text-uppercase font-size-8">Medium</span>
@elseif($last_task->priority ?? '' == 'low')
<label data-toggle="tooltip"
data-original-title="Task Priority"
class="badge badge-info text-uppercase font-size-8">Low</label>
@endif
</p>
</div>
@endif
<div class='mt-2'>
@php
$deals_data = App\Helpers\Dashboard::getDealUser(
$value->id
);
$color = 'bg-success';
if ($key % 2 == 0) {
$color = 'bg-danger';
}
@endphp
<div class="avatar">
@if (!empty($deals_data))
@foreach ($deals_data as $key => $leads_da)
<figure data-toggle="tooltip"
data-original-title="{{ $leads_da->user_name }}"
class="avatar avatar-sm">
<span
class="avatar-title bg-success rounded-circle">{{ substr($leads_da->user_name, 0, 1) }}</span>
</figure>
@endforeach
@endif
</div>
</div>
</div>
@endif
@endforeach
</div>
</div>
@php $count=0; @endphp
@endforeach
@endif
</div>
</div>
</div>
</section>
<section class='main-section '>
<!-- begin::page header -->
<div class="page-header d-flex justify-content-between align-items-center">
<div>
<h3>Manage Leads - Sales</h3>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{{ asset('dashboard') }}">{{ __('message.dashboard') }}</a></li>
<li class="breadcrumb-item active" aria-current="page">Lead</li>
<li class="breadcrumb-item"><a href="{{ asset('dashboard') }}">Lead</a></li>
</ol>
</nav>
</div>
<ul class='nav-item dropdown d-flex'>
<div class="dropdown show" style='margin-right:20px;'>
<button class="btn btn-light dropdown-toggle waves-effect waves-button waves-light" type="button" data-toggle="dropdown" aria-expanded="false">
Sales
</button>
<div class="dropdown-menu " aria-labelledby="dropdownMenuButton" x-placement="bottom-start" style="position: absolute; transform: translate3d(0px, 26px, 0px); top: 0px; left: 0px; will-change: transform;">
<a class="dropdown-item" href="#">Sales</a>
</div>
</div>
<!-- Modal Import Lead CV-->
<div class="modal fade" id="exampleModal2" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="" >Import Lead CSV file</h5>
<button type="button" class="btn-close bg-blue text-white" data-bs-dismiss="modal" aria-label="Close"style='border:none;margin-right:10px;' >
<i class="fa fa-times" aria-hidden="true"></i>
</button>
</div>
<div class="modal-body">
<div class="d-flex">
<p>Download sample Lead CSV file</p>
<button class="btn btn-primary waves-effect waves-button waves-light" type="submit" style='margin-left:20px;'>Submit form</button>
</div>
<div class="form-group">
<label for="exampleFormControlFile1">Example file input</label>
<input type="file" class="form-control-file" id="exampleFormControlFile1">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary">Create</button>
</div>
</div>
</div>
</div>
<li>
<a href="{{route('lead.list')}}">
<span class="icon-block bg-blue text-white icon-block-floating icon-block-sm m-r-10">
<i class="fa fa-list" aria-hidden="true"></i>
</span>
</a>
</li>
<li data-bs-toggle="modal" data-bs-target="#exampleModal2" class='cursor-pointer'>
<span class="icon-block bg-blue text-white icon-block-floating icon-block-sm m-r-10 cursor-pointer" style='cursor:pointer;'>
<i class="fa fa-cloud-upload" aria-hidden="true"></i>
</span>
</li>
<li>
<span class="icon-block bg-blue text-white icon-block-floating icon-block-sm m-r-10">
<i class="fa fa-file-o" aria-hidden="true"></i>
</span>
</li>
<li data-bs-toggle="modal" data-bs-target="#dealModal" class='cursor-pointer'>
<span class="icon-block bg-blue text-white icon-block-floating icon-block-sm m-r-10 cursor-pointer" style='cursor:pointer;'>
<i class="fa fa-plus" aria-hidden="true"></i>
</span>
</li>
</ul>
</div>
<!-- end::page header -->
</section>
</div>
@include('deals.modal.deal_task')
</main>
<!-- end::main content -->
@endsection
@push('footer-script')
<!-- begin::dataTable -->
<!-- end::dataTable -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<!-- jQuery UI CSS for styling draggable elements -->
<link rel="stylesheet" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<!-- end::select2 -->
<script>
$(".open_task_modal").click(function(){
$(".deal_taskadd_form").trigger('reset');
var lead_id = $(this).attr("lead_id");
$(".deal_task_id").val(lead_id);
});
$(function() {
// Make the tasks draggable
$(".kanban-task").draggable({
revert: "invalid", // If dropped outside a droppable, the task returns to its original position
snap:true,
helper: "clone",
start: function(event, ui) {
$(this).css('opacity', '0.7');
},
stop: function(event, ui) {
$(this).css('opacity', '1');
}
});
// Make the columns droppable
$(".kanban-column").droppable({
accept: ".kanban-task",
hoverClass: "highlight", // Highlight the column on hover
drop: function(event, ui) {
$(this).append(ui.draggable);
ui.draggable.css({
top: "auto",
left: "auto"
});
var leadId = ui.draggable.data('lead-id');
var stageId = ui.draggable.data('stage-id');
var drop_stage_id = $(this).data("drop-id");
//alert(leadId);
$.ajax({
type: "post",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: {
"deal_id": leadId,
"stage_id": stageId,
"drop_stage_id":drop_stage_id
},
url: "{{asset('change-deal-status')}}",
dataType: "html",
beforeSend:function()
{
$(".processing-lead").removeClass("d-none");
},
success: function(result)
{
$(".processing-lead").addClass("d-none");
var allData = JSON.parse(result);
console.log(allData);
var drag_count = allData.data.drag_count;
var drop_count = allData.data.drop_count;
$(".stage-"+stageId).html(drag_count);
$(".stage-"+drop_stage_id).html(drop_count);
},
error:function(xhr,error,status)
{
console.log(xhr);
}
});
}
});
});
</script>
<script>
$(document).ready(function() {
$("#checkAll").click(function() {
$('.userids:checkbox').not(this).prop('checked', this.checked);
var length = $('.userids[type="checkbox"]:checked').length;
if($(".multiple-delete-btn").hasClass('d-none'))
{
$(".multiple-delete-btn").removeClass("d-none");
$(".multiple-delete-btn").html('<span class="pt-1">Delete ('+length+")</span>");
}
else
{
$(".multiple-delete-btn").addClass("d-none");
}
});
//employee delte button code
$(".emp-delete-btn").click(function(){
var emp_id = $(this).attr("emp_id");
swal({
title: 'Are you sure?',
text: 'Once deleted, you will not be recover!',
icon: 'warning',
dangerMode: true,
buttons: ["Cancel", "Yes!"],
}).then(function(value) {
if (value) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "post",
data: {
"emp_id": emp_id
},
url: "{{asset('delete-distributor')}}",
dataType: "html",
success: function(result) {
//console.log(result);
swal("success!", "Successfully deleted!", "success");
window.location.reload();
},
error:function(error)
{
swal("Failed !", "Failed !", "error");
window.location.reload();
}
});
}
});
});
$(".input_file_upload").on("change",function(){
$(".import-company-form").submit();
});
$(".import-company-form").on("submit", function(event) {
// Prevent the default form submission
event.preventDefault();
$.ajax({
type: "POST",
url: "{{asset('import-distributor')}}",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: new FormData(this),
processData: false,
contentType: false,
cache:false,
beforeSend:function()
{
$(".import-content").html("<h5>Please wait uploading...</h5>");
},
success: function(response)
{
if(response.message=="success")
{
var div = `<div class='text-success text-center' style='font-size:50px'>
<i class='fa fa-check-circle' ></i>
<p style='font-size:20px'>Dealer/Partner Import Successfully !</p>
</div>`;
$(".import-content").html(div);
setTimeout(function(){
window.location.reload();
},3000);
}
else
{
//console.log(error);
var div = `<div class='text-danger text-center' style='font-size:50px'>
<i class='fa fa-times-circle' ></i>
<p style='font-size:20px'>Please check the datasheet !</p>
</div>`;
$(".import-content").html(div);
}
},
error: function(xhr, status, error)
{
//console.log(error);
var div = `<div class='text-danger text-center' style='font-size:50px'>
<i class='fa fa-times-circle' ></i>
<p style='font-size:20px'>Please check the datasheet !</p>
</div>`;
$(".import-content").html(div);
}
});
});
// Delete Multiple
$(".multiple-delete-btn").click(function() {
var URL = "{{ asset('distributor-delete-multiple') }}";
var user_ids = [];
$('.userids:checkbox:checked').each(function() {
user_ids.push($(this).val());
});
swal({
title: 'Are you sure?',
text: 'Once deleted, you will not be recover!',
icon: 'warning',
dangerMode: true,
buttons: ["Cancel", "Yes!"],
}).then(function(value) {
if (value) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "post",
data: {
"ids": user_ids
},
url: URL,
dataType: "html",
success: function(result) {
console.log(result);
swal("success!", "Successfully deleted!", "success");
window.location.reload();
},
error:function(xhr,status,error)
{
swal("failed!", "Failed !", "error");
window.location.reload();
}
});
}
});
});
});
$(".apply-button").click(function(){
$(".filter-form-box").addClass("d-none");
});
//filter company code
$(".filter-company-btn").click(function(){
if($(".filter-form-box").hasClass("d-none"))
{
$(".filter-form-box").removeClass("d-none");
}
else
{
$(".filter-form-box").addClass("d-none");
}
});
$(".change_pipeline").on("change",function(){
$(".change_pipeline_form").submit();
});
//change status code
$(".status-change").on("change",function(){
var check_val = 0;
if( $(this).is(":checked"))
{
check_val = 1;
}
var id = $(this).val();
$.ajax({
type: "post",
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
url: "{{asset('change-user-status')}}",
data:{
user_id:id,
status:check_val
},
dataType: "html",
success: function(result)
{ console.log(result);
var allData = JSON.parse(result);
if(allData.message=="success")
{
$('.toast').removeClass('d-none');
$('.toast').toast('show');
}
else
{
var div = `
<div class="toast-body bg-danger text-white">
<i class="fa fa-times-circle-o fa-lg"></i>  Status Update Failed
</div>
`;
$('.toast').removeClass('d-none');
$('.toast').toast('show');
$('.toast').html(div);
}
},
error:function(xhr,status,error)
{
console.log(error);
var div = `
<div class="toast-body bg-danger text-white">
<i class="fa fa-times-circle-o fa-lg"></i>  Status Update Failed
</div>
`;
$('.toast').removeClass('d-none');
$('.toast').toast('show');
$('.toast').html(div);
}
});
});
$(".main-section").hide();
</script>
@endpush