%PDF- %PDF-
Direktori : /home/ugotscom/bos_naturals/resources/js/components/clients/ |
Current File : /home/ugotscom/bos_naturals/resources/js/components/clients/clientdetail.vue |
<template> <div class="container-fluid" > <div class="row" v-for="user in users" :key="user.id"> <div class="col-md"> <div class="card"> <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('projects')" :class="{ active: isActive('projects') }" href="#projects">Properties</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('tasks')" :class="{ active: isActive('tasks') }" href="#tasks">Tasks</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('documents')" :class="{ active: isActive('documents') }" href="#documents">Documents</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('accounts')" :class="{ active: isActive('accounts') }" href="#accounts">Accounts</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('requirements')" :class="{ active: isActive('requirements') }" href="#requirements">Requirement</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('requests')" :class="{ active: isActive('requests') }" href="#requests">Maintenance</a> </li> </ul> <div class="tab-content py-3" id="myTabContent"> <div class="tab-pane fade" :class="{ 'active show': isActive('activity') }" id="activity"> <div class="uk-container uk-padding"> <div class="uk-timeline" > <div class="uk-timeline-item" v-for="activity in activities" :key="activity.id"> <div class="uk-timeline-icon"> <span class="uk-badge"><span uk-icon="check"></span></span> </div> <div class="uk-timeline-content"> <div class="uk-card uk-card-default uk-margin-medium-bottom uk-overflow-auto"> <div class="uk-card-header"> <div class="uk-grid-small uk-flex-middle" uk-grid> <h3 class="uk-card-title">{{activity.activity}}-{{activity.created_at|fdate}}</h3> <span class="uk-label uk-label-success uk-margin-auto-left"></span> </div> </div> <div class="uk-card-body"> <p class="uk-text-success">{{activity.message}} </p> </div> </div> </div> </div> </div> </div> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('projects') }" id="projects"> <div v-for="property in properties.data" :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 v-if="property.available_status==2"> <button id="" class="btn btn-success">Available</button> </div> <div v-else> <button id="" class="btn btn-danger">Not available</button> </div> </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">{{property.carpet_area}}</div> </div> <div class="cbe-je0"> <div class="cbe-18tu5">BHK</div> <div class="cbe-18tu4">{{property.bhk}}</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-info">View Details</button></router-link> </div> </div> </div> </div> </div> </div> <pagination :data="properties" @pagination-change-page="getProperties"></pagination> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('tasks') }" id="tasks"> <div v-for="task in tasks" :key="task.id"> <div class="card border-left-primary shadow h-100 py-2"> <div class="card-body"> <div class="row"> <div class="col-md-3"> <p>{{task.id}}</p> <p>{{task.status}}</p> </div> <div class="col-md-9"> <p>{{task.task}}</p> <p>{{task.description}}</p> </div> </div> </div> </div> </div> <pagination :data="tasks" @pagination-change-page="getResults"></pagination> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('documents') }" id="documents">documents content</div> <div class="tab-pane fade" :class="{ 'active show': isActive('requirements') }" id="requirements"> <div v-for="lead in leads.data" :key="lead.id"> <div class="card border-left-primary shadow h-100 py-2"> <div class="card-body"> <div class="row"> <div class="col-md-3"> </div> <div class="col-md-9"> <p>{{lead.property_for}}</p> <p>{{lead.additional_info}}</p> <div class="row"> </div> </div> </div> </div> </div> </div> <pagination :data="leads" @pagination-change-page="getLeads"></pagination> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('requests') }" id="requests"> <div v-for="maintenance in maintenances" :key="maintenance.id"> <div class="card" style=""> <div class="card-body"> <h5 class="card-title">{{maintenance.status_name}}</h5> <p class="card-text"> {{maintenance.created_at|fdate}}</p> <p class="card-text"> {{maintenance.request}}</p> <router-link v-bind:to="'/viewmaintenance/'+maintenance.m_id"><button class="btn btn-primary">View Details</button></router-link> </div> </div> </div> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('accounts') }" id="accounts">accounts content</div> </div> </div> </div> </div> <div class="col-md-3"> <b-dropdown id="dropdown-1" text="Actions" class="m-md-2"> <b-dropdown-item><router-link to="/addticket">Add Ticket</router-link></b-dropdown-item> <b-dropdown-item><a v-b-toggle href="#example-collapse" @click.prevent>Add task</a></b-dropdown-item> <b-dropdown-item><a v-b-toggle href="#add-tag" @click.prevent>Add Tag</a></b-dropdown-item> <b-dropdown-item>Add Properties</b-dropdown-item> <b-dropdown-item>Add Maintenance Request</b-dropdown-item> <b-dropdown-item>Add Document</b-dropdown-item> <b-dropdown-divider></b-dropdown-divider> <b-dropdown-item active>Active action</b-dropdown-item> <b-dropdown-item disabled>Disabled action</b-dropdown-item> </b-dropdown> <b-sidebar id="example-collapse" class="w-50" title="Add Client" right shadow backdrop backdrop-variant="dark"> <h2>Add Task</h2> <form action="/tasks" method="POST" @submit.prevent="addtask()"> <div class="form-group"> <input type="hidden" class="form-control" v-model="id" placeholder="client_id"> </div> <div class="form-group"> <label for="task">Task</label> <input type="text" class="form-control" name="task" v-model="task" placeholder="Task"> </div> <div class="form-row"> <div class="form-group"> <label for="status">status</label> <input type="text" class="form-control" name="status" v-model="status"> </div> </div> <button type="submit" value="submit" class="btn btn-primary">Submit</button> </form> </b-sidebar> <b-sidebar id="add-tag" class="w-50" title="Add Client" right shadow backdrop backdrop-variant="dark"> <h1>add tag</h1> <addtags :client_id="id"/> </b-sidebar> <div class="card"> <div class="card-body"> <img src="/images/profile.png" class="img-responsive profile-img"> <h4 class="profile-title">{{user.name}}</h4> <span>Contact Details</span> <p>{{user.email}}</p> <p>{{user.phone}}</p> <div class="form-group"> <label for="pwd">Phone:</label> <p>+{{user.cc}}-{{user.phone}}</p> </div> <div class="form-group"> <label for="pwd">Whatsapp No:</label> <p>{{user.phone}}</p> </div> <div class="form-group"> <label for="pwd">Address:</label> <p></p> </div> <div class="form-group"> <label for="pwd">Client Profile:</label> <p>{{user.profile_name}}</p> <div v-if="ref != null"> <p>Reference</p> {{ref_name}} </div> <div v-else> <p>ref</p> </div> </div> </div> </div> </div> </div> </div> </template> <script> import addtags from '../addtag.vue' export default { components: { addtags}, data(){ return { id:this.$route.params.id, clientid:1, client_id:'', task:'', status:'', id:this.$route.params.id, users:[], ref:[], ref_name:'', ref_id:'', tasks:{}, activeItem: 'activity', properties:{}, leads:{}, profiles:[], maintenances:[], activities:[] } }, methods:{ loadusers(){ axios.get('/client/clientdetails/'+this.id) .then(response => { this.users = response.data; this.ref_id=this.users[0].refsource; this.loadref(); }) }, loadref(){ axios.get('/client/clientdetails/'+this.ref_id) .then(response => { this.ref = response.data; this.ref_name=this.ref[0].name; }) }, loadtasks(){ axios.get('/tasks/gettasksuserid/'+this.id).then(response => { this.tasks = response.data }) }, loadMaintenances(){ axios.get('/maintenance/maintenancebyclient/'+this.id).then(response => { this.maintenances = response.data }) }, loadactivities(){ axios.get('/activities/'+this.id) .then(response => { this.activities = response.data; }) }, getResults(page = 1) { axios.get('/tasks/taskdetails/'+this.id+'?page=' + page) .then(response => { this.tasks = response.data; }); }, addtask(){ axios .post('/tasks', { client_id: this.client_id, task: this.task, status:this.status }) .then(function (response) { //handle success console.log(response); }); this.$root.$emit('bv::toggle::collapse', 'example-collapse') }, isActive (menuItem) { return this.activeItem === menuItem }, setActive (menuItem) { this.activeItem = menuItem }, getProperties:function(page = 1) { axios.get('/properties/allclientproperties/'+this.id+'?page=' + page) .then(response => { this.properties = response.data; }); }, loadproperties:function(){ axios.get('/properties/allclientproperties/'+this.id).then(({data})=> (this.properties = data)); }, getLeads:function(page = 1) { axios.get('/leads/leaddetailsid/'+this.id+'?page=' + page) .then(response => { this.leads = response.data; }); }, loadLeads:function(){ axios.get('/leads/leaddetailsid/'+this.id).then(({data})=> (this.leads = data)); }, }, created: function(){ this.loadusers(), this.loadtasks(), this.loadproperties(), this.loadLeads(), this.loadMaintenances(), this.loadactivities() } } </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; } .profile-title{ font-size: 1em; } </style>