%PDF- %PDF-
Direktori : /home/ugotscom/bos_naturals/resources/js/components/ |
Current File : /home/ugotscom/bos_naturals/resources/js/components/leaddetail copy.vue |
<template> <div class="container" > <div class="row" v-for="user in users" :key="user.leadid"> <div class="col-md-9"> <div class="row"> <div class="card"> <div class="card-body"> <h4>{{user.name}}</h4> <p v-if="user.property_for==1">Rent</p> <p v-else>Buy</p> <p> Budget :{{user.budget_min|currency}}-{{user.budget_max|currency}}</p> <p>Location{{user.location}}</p> <p>{{user.additional_info}}</p> <p>Source:{{user.source}}</p> <p>Added By: {{user.staff}}</p> </div> </div> </div> <div class="row"> <ul class="progressbar"> <li v-for="page in totalPages" :key="page.id" v-bind:class="myBtnClass(page.id)"> {{ page.text }} </li> </ul> </div> </div> <div class="col-md-3"> <div class="card"> <div class="card-body"> <div v-for="user in clients" :key="user.id"> <div class="form-group"> <label for="name">Name:</label> <p>{{user.name}}</p> </div> <div class="form-group"> <label for="phone">Phone:</label> <p>+{{user.cc}}-{{user.phone}}</p> </div> <div class="form-group"> <label for="phone">Whatsapp No:</label> <p>+{{user.wcc}}-{{user.wphone}}</p> </div> <div class="form-group"> <label for="date">Created Date:</label> <p>{{user.created_at|fdate}}</p> </div> </div> <button v-on:click="getLinkWhastapp">Share</button> <b-dropdown id="dropdown-1" text="Actions" class="m-md-2"> <b-dropdown-item><a v-b-toggle href="#add-site-visit" @click.prevent>Add Site Visit</a></b-dropdown-item> <b-dropdown-item><a v-b-toggle href="#add-task" @click.prevent>Add task</a></b-dropdown-item> <b-dropdown-item><a v-b-toggle href="#call-log" @click.prevent>Add Call Log</a></b-dropdown-item> <b-dropdown-item><a v-b-toggle href="#add-file" @click.prevent>Add File</a></b-dropdown-item> <b-dropdown-item><a v-b-toggle href="#add-note" @click.prevent>Add Note</a></b-dropdown-item> <b-dropdown-item><a v-b-toggle href="#add-brokerage" @click.prevent>Add Brokerage</a></b-dropdown-item> </b-dropdown> </div> <label for="">Select Status</label> <select class="form-control" v-model="selected" @change="updatestatus(selected)"> <option value="4">Negotiation</option> <option value="5">Not Intersted</option> <option value="6">Won</option> </select> </div> </div> </div> <div class="row"> <div class="col-md-12"> <div class="card-body"> <ul class="nav nav-tabs nav-justified"> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('activity')" :class="{ active: isActive('activity') }" href="#activity">Activity</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('matching-property')" :class="{ active: isActive('matching-property') }" href="#matching-property">Matching Property</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('contracts')" :class="{ active: isActive('contracts') }" href="#contracts">Properties Send</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('Notes')" :class="{ active: isActive('Notes') }" href="#Notes">Notes</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('calllogs')" :class="{ active: isActive('calllogs') }" href="#calllogs">Call Logs</a> </li> </ul> <div class="tab-content py-3" id="myTabContent"> <div class="tab-pane fade" :class="{ 'active show': isActive('activity') }" id="activity"> <h2>Hello Activity</h2> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('matching-property') }" id="matching-property"> <div class="row"> <form action="" class="search-property" @submit.prevent="propertysearch()"> <div class="searchproperty"> <div class="pinputfield"> <label for="">Property For</label> <select id="exampleFormControlSelect1" class="form-control search-slt" v-model="picked"> <option value="1" selected>Rent</option> <option value="2">Sale</option> </select> </div> <div class="pinputfield"> <div class="form-group"> <label for="">Location</label> <select v-model="addlocation" class="form-control" v-on:change="addLocation()" required> <option value="" disabled selected>Select Location</option> <option v-for="option in locationlist" :value="option.location_id" :key="option.location_id">{{option.location}}</option> </select> </div> </div> <div class="pinputfield" v-if="picked==1"> <label for="">Budget</label> <select class="minc" v-model="min"> <option value="" disabled selected>Min Budget</option> <option value="10000">10000</option> <option value="20000">20000</option> <option value="30000">30000</option> <option value="40000">40000</option> <option value="50000">50000</option> <option value="60000">60000</option> <option value="70000">70000</option> <option value="80000">80000</option> <option value="90000">90000</option> <option value="100000">1 Lac</option> <option value="150000">1.5 Lac</option> <option value="200000">2 Lac</option> <option value="400000">4 Lac</option> <option value="700000">7 Lac</option> <option value="1000000">10 Lac</option> </select> <select class="minc" v-model="max"> <option value="" disabled selected>Min Budget</option> <option value="10000">10000</option> <option value="20000">20000</option> <option value="30000">30000</option> <option value="40000">40000</option> <option value="50000">50000</option> <option value="60000">60000</option> <option value="70000">70000</option> <option value="80000">80000</option> <option value="90000">90000</option> <option value="100000">1 Lac</option> <option value="150000">1.5 Lac</option> <option value="200000">2 Lac</option> <option value="400000">4 Lac</option> <option value="700000">7 Lac</option> <option value="1000000">10 Lac</option> </select> </div> <div class="pinputfield" v-else> <label for="">Budget</label> <select class="minc" v-model="min"> <option value="500000">5 Lac</option> <option value="1000000">10 Lac</option> <option value="2000000">20 Lac</option> <option value="3000000">30 Lac</option> <option value="4000000">40 Lac</option> <option value="5000000">50 Lac</option> <option value="6000000">60 Lac</option> <option value="7000000">70 Lac</option> <option value="8000000">80 Lac</option> <option value="9000000">90 Lac</option> <option value="10000000">1 Cr</option> <option value="20000000">2 Cr</option> <option value="30000000">3 Cr</option> <option value="40000000">4 Cr</option> <option value="50000000">5 Cr</option> <option value="100000000">10 Cr</option> <option value="200000000">20 Cr</option> </select> <span class="budgetspan">to</span> <select class="minc" v-model="max"> <option value="500000">5 Lac</option> <option value="1000000">10 Lac</option> <option value="2000000">20 Lac</option> <option value="3000000">30 Lac</option> <option value="4000000">40 Lac</option> <option value="5000000">50 Lac</option> <option value="6000000">60 Lac</option> <option value="7000000">70 Lac</option> <option value="8000000">80 Lac</option> <option value="9000000">90 Lac</option> <option value="10000000">1 Cr</option> <option value="20000000">2 Cr</option> <option value="30000000">3 Cr</option> <option value="40000000">4 Cr</option> <option value="50000000">5 Cr</option> <option value="100000000">10 Cr</option> <option value="200000000">20 Cr</option> </select> </div> <div class="pinputfield"> <label for="">Property Type</label> <select class="form-control" v-model="property_type"> <optgroup label="Residential"> <option value="1">Apartment</option> <option value="2">House</option> <option value="3">Villa Gated Community</option> <option value="4">Residential Land</option> </optgroup> <optgroup label="Commercial"> <option value="9">Commercial Office Space</option> <option value="5">Office in IT Park/ SEZ</option> <option value="6">Shop/Showroom/Retail Space</option> <option value="7">Commercial Land</option> <option value="8">Warehouse/ Godown</option> </optgroup> </select> </div> <div class="pinputfield"> <button type="submit" value="submit" class="btn btn-primary">Search</button> </div> </div> </form> </div> <div class="row"> <div v-for="property in properties.data" :key="property.id" class="col-md-12"> <div class="card border-left-primary shadow h-100 py-2"> <div class="card-body"> <div class="row"> <div class="col-md-3"> <img v-bind:src="'/images/'+property.featured_image" width="150px" height="180px"/> <input :value="property.id" name="property" type="checkbox" v-model="checkedProducts" /> </div> <div class="col-md-9"> <div class="row"> <p class="property_title">{{property.title}}</p> <p class="property_price">Rs {{property.price}}</p> </div> <div class="row"> <div class="summary_item"> <div class="summary_title">carpet area</div> <div class="summary_info">{{property.carpet_area}}sqft</div> </div> <div class="summary_item"> <div class="summary_title">BHK</div> <div class="summary_info">{{property.bhk}}</div> </div> <div class="summary_item"> <div class="summary_title">carpet area</div> <div class="summary_info">1450 sqft</div> </div> </div> <div class="row"> <p>Location:{{property.location}}</p> </div> <div class="wrapperbutton"> <button id="button1">Available</button> <router-link v-bind:to="'/propertydetail/'+property.id"><button id="button2">View Details</button></router-link> <p>Days old:55</p> </div> </div> </div> </div> </div> </div> <pagination :data="properties" @pagination-change-page="getResults"></pagination> </div> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('contracts') }" id="contracts"> <div v-for="property in sendproperties" :key="property.id"> <div class="card border-left-primary shadow h-100 py-2"> <div class="card-body"> <div class="row"> <div class="col-md-3"> <img v-bind:src="'../images/'+property.featured_image" width="150px" height="70%"/> <p class="prop-m">{{property.location}}</p> </div> <div class="col-md-9"> <div class="card-body prop-listing"> <h5 class="card-title price-title"><i class="fa fa-rupee"></i> {{ Number(property.price).toLocaleString()}}</h5> <h5 class="card-title">{{property.title}}</h5> <div> <div class="cbe-je0"> <div class="cbe-18tu5">Super Area</div> <div class="cbe-18tu4">2580 sq.ft</div> </div> <div class="cbe-je0"> <div class="cbe-18tu5">BHK</div> <div class="cbe-18tu4">4</div> </div> <div class="cbe-je0"> <div class="cbe-18tu5">Furnishing</div> <div class="cbe-18tu4">{{property.furnishing}}</div> </div> </div> <p>{{property.description}}</p> <router-link v-bind:to="'/propertydetail/'+property.id"><button id="" class="btn btn-danger">View Details</button></router-link> </div> </div> </div> </div> </div> </div> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('calllogs') }" id="calllogs"> <div v-for="calllog in calllogs" :key="calllog.id"> <div class="card"> <div class="card-body"> <h5 class="card-title">{{calllog.created_at|fdate}}</h5> <p class="card-text">{{calllog.description}}</p> </div> </div> </div> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('Notes') }" id="Notes"> <div v-for="note in notes" :key="note.id"> <div class="card"> <div class="card-body"> <h5 class="card-title">{{note.created_at|fdate}}</h5> <p class="card-text">{{note.notes}}</p> </div> </div> </div> </div> </div> </div> </div> </div> <b-sidebar id="add-site-visit" class="w-50" title="Assisted Site Visit" right shadow backdrop backdrop-variant="dark"> <form action="" method="POST" @submit.prevent="addsitevisit()" class="form-task"> <div class="form-group"> <label for="">Site Visit Date</label> <input type="date" name="" id="" v-model="due_date" class="form-control"> </div> <div class="form-group"> <label for="">Time Slot</label> <select v-model="time" class="form-control"> <option value="9.30 AM- 10.30 AM">9.30 AM- 10.30 AM</option> <option value="10.30 AM- 11.30 AM">10.30 AM- 11.30 AM</option> <option value="12.30 AM- 1.00 AM">12.30 PM- 01.00 PM</option> <option value="01.00 PM- 2.00 PM">01.00 PM- 2.00 PM</option> <option value="02.00 PM- 3.00 PM">02.00 PM- 03.00 PM</option> <option value="03.00 PM- 04.00 PM">03.00 PM- 04.00 PM</option> <option value="04.00 PM- 5.00 PM">04.00 PM- 05.00 PM</option> </select> </div> <div class="form-group"> <label for="">Property Names</label> <input type="text" name="" id="" v-model="property_names" class="form-control"> </div> <button type="submit" value="submit" class="btn btn-primary">Submit</button> </form> </b-sidebar> <b-sidebar id="add-task" class="w-50" title="Add file" right shadow backdrop backdrop-variant="dark"> <propertytask :leadid="id" :clientid="clientid" /> </b-sidebar> <b-sidebar id="call-log" class="w-50" title="Add Call Log" right shadow backdrop backdrop-variant="dark"> <addcalllog :leadid="id" :clientid="clientid" :type="1"/> </b-sidebar> <b-sidebar id="add-note" class="w-50" title="add-noteg" right shadow backdrop backdrop-variant="dark"> <form action="" method="POST" @submit.prevent="addnote()" class="task-form"> <div class="form-group"> <label for="task"> Add Note</label> <textarea class="form-control" id="exampleFormControlTextarea1" rows="5" v-model="theNote"></textarea> </div> <button type="submit" value="submit" class="btn btn-primary">Submit</button> </form> </b-sidebar> <b-sidebar id="add-brokerage" class="w-50" title="add-brokerage" right shadow backdrop backdrop-variant="dark"> <form action="" method="POST" @submit.prevent="addbrokerage()" class="task-form"> <div class="form-group"> <label for="task">Landlord Amount</label> <input type="text" name="" id="" v-model="landlordamt" class="form-control"> </div> <div class="form-group"> <label for="task">Tenant Amount</label> <input type="text" name="" id="" v-model="tenantamt" class="form-control"> </div> <button type="submit" value="submit" class="btn btn-primary">Submit</button> </form> </b-sidebar> </div> </template> <script> import propertytask from './propertytask' import addcalllog from './addcalllog' export default { data(){ return { id:this.$route.params.id, clientid:'', users:[], tasks:[], properties:{}, sendproperties:[], calllogs:[], property_for:'', property_type:'', client_name:'', location:'', property_names:'', min_budget:'', max_budget:'', time:'', locations:[], locationlist:{}, addlocation:'', selected:'', checkedProducts:[], landlordamt:'', tenantamt:'', random:'', picked:'', min:'', max:'', wphone:'', notes:[], theNote:'', wcc:'', clients:[], items: [ { message: 'Foo' }, { message: 'Bar' } ], activeItem: 'activity', totalPages: [ { id: 1, text: "Enquiry" }, { id: 2, text: "Send Property" }, { id: 3, text: "Site Visit" }, { id: 4, text: "Negotiation" }, { id: 5, text: "Not Interested" }, { id: 6, text: "Interested" } ], } }, methods:{ isActive (menuItem) { return this.activeItem === menuItem }, setActive (menuItem) { this.activeItem = menuItem }, loadusers(){ axios.get('/leads/leaddetails/'+this.id) .then(response => { this.users = response.data; this.picked=response.data[0].property_for; this.client_name=response.data[0].name; this.clientid=response.data[0].client_id; this.property_type=response.data[0].property_type; this.addlocation=response.data[0].location; this.min=response.data[0].budget_min; this.max=response.data[0].budget_max; this.selected= response.data[0].status; this.wphone=response.data[0].wphone; this.wcc=response.data[0].wcc; axios.get('/client/clientdetails/'+this.clientid) .then(response => { this.clients = response.data; }) }) }, loadlocations:function(){ axios.get('/locations').then(response=> {this.locationlist = response.data}); }, loadSendproperties:function(){ axios.get('/propertysends/properties/'+this.id) .then(response => { this.sendproperties = response.data; }); }, loadcalllogs:function(){ axios.get('/calllogs/logs/'+this.id) .then(response => { this.calllogs = response.data; }); }, loadnotes(){ axios.get('/leadnotes/notes/'+this.id) .then(response => { this.notes = response.data; }); }, addLocation:function(){ this.locations.push(this.addlocation) ; }, myBtnClass: function(name) { if(name<=this.selected) return 'active' else return 'mope' }, addnote(){ axios.post('/leadnotes',{ lead_id:this.id, notes:this.theNote, }) .then(response => { this.$toaster.success('Note Added'), this.$root.$emit('bv::toggle::collapse','add-note') this.loadnotes() }) }, addbrokerage(){ axios.post('/brokerage',{ propertyid:this.id, landlordamt:this.landlordamt, tenantamt:this.tenantamt }) .then(response => { this.$toaster.success('Brokerage Added'), this.$root.$emit('bv::toggle::collapse','add-brokerage') this.loadnotes() }) }, addsitevisit(){ axios.post('/allsitevisits', { title:this.client_name, location:this.addlocation, date: this.due_date, } ) .then(axios.post('/leads/updatestatus',{ id:this.id, status:3 }) .then(axios.post('/sitevisitsms',{ phone:this.wphone, client_name:this.client_name, time:this.time, property_names:this.property_names, date:this.due_date }), this.$toaster.success('Site Visit Added'), this.$root.$emit('bv::toggle::collapse', 'add-site-visit'), this.loadactivities(), //window.location.reload() )) }, updatestatus: function (id) { axios.post('/leads/updatestatus',{ id:this.id, status:this.selected, }) .then(response => { }).catch(err => { console.log(err); }) // window.location.reload() }, propertysearch(){ axios.post('/properties/searchproperty', { location:this.locations, property_for:this.picked, p_t: this.property_type, max:this.max, min:this.min, }).then(response => { this.properties = response.data}) }, getLinkWhastapp:function () { let number=this.wcc+this.wphone; let random=Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); let message='Hi'+this.client_name+'Here are the properties matching your requirement. https://karetakers.in/propertymatch/search/'+ random; var url = 'https://api.whatsapp.com/send?phone=' + number + '&text=' + encodeURIComponent(message); axios.post('/propertysends', { lead_id:this.id, client_id:this.clientid, property_ids: 7, code:random, property_ids:this.checkedProducts, }).then(); // window.open = url,'_blank'; window.open(url, "_blank"); //return url } }, created: function(){ this.loadusers(), this.loadlocations(), this.loadSendproperties(), this.loadcalllogs(), this.loadnotes() }, } </script> <style scoped> .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: #ffffff; background-color: #0d75dd; border-color: #dee2e6 #dee2e6 #f8fafc; } #tasks ul { padding: 0; margin: 0; list-style: none; } .progressbar { width: 100%; padding: 0%; } .progressbar li { list-style-type: none; width: 16%; float: left; font-size: 12px; position: relative; text-align: center; text-transform: uppercase; color: #7d7d7d; padding:10px; border: 1px solid #eee; background: #f3f2f2; } .progressbar li.active { color: white; font-weight: bold; background: #3aac5d; border-right: 1px solid #fff; } .progressbar li.active:before { border-color: #55b776; background: green; } .progressbar li.active + li:after { background-color: #55b776; } .card{ width: 100%; } </style>