%PDF- %PDF-
Direktori : /home/ugotscom/bos_naturals/resources/js/components/ |
Current File : /home/ugotscom/bos_naturals/resources/js/components/maintenancedetail2.vue |
<template> <div class="container" > <div class="row" v-for="user in users" :key="user.leadid"> <div class="col-md-9"> <div class="card"> <div class="card-body"> <div class="row"> <div class="col-md-9"> <p>Request {{user.request}}</p> </div> <div class="col-md-3"> <p>{{user.created_at|fdate}}</p> </div> </div> <div class="row"> <div class="col-md"><p>Location</p></div> <div class="col-md"> <p>Client:{{user.client_id}}</p></div> <div class="col-md"><p>Property: 6B DD Samudra </p> </div> </div> <b-sidebar id="add-file" class="w-50" title="Add file" right shadow backdrop backdrop-variant="dark"> <mfileupload /> </b-sidebar> <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="row"> <div class="card-body"> <p>{{user.created_at|fdate}}</p> <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('documents')" :class="{ active: isActive('documents') }" href="#documents">Documents</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('contractors')" :class="{ active: isActive('contractors') }" href="#contractors">Contractors</a> </li> <li class="nav-item"> <a class="nav-link" @click.prevent="setActive('Accounts')" :class="{ active: isActive('Accounts') }" href="#Accounts">Accounts</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}}</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"> </p> </div> </div> </div> </div> </div> </div> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('documents') }" id="documents"> <h2>Documents</h2> <h3>ghghjhjg</h3> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('contractors') }" id="contractors"> <h2>contractors</h2> </div> <div class="tab-pane fade" :class="{ 'active show': isActive('Accounts') }" id="Accounts"> <h2>Accounts</h2> </div> </div> </div> </div> </div> </div> <div class="col-md-3"> <div class="card"> <div class="card-body"> <b-dropdown id="dropdown-1" text="Actions" class="m-md-2"> <b-dropdown-item><router-link to="/addticket">Assign Site Visit</router-link></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>Add Quote</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-contractor" @click.prevent>Add Contractor</a></b-dropdown-item> <b-dropdown-item> <a v-b-toggle href="#add-contract-value" @click.prevent>Add Contract Value</a></b-dropdown-item> </b-dropdown> </div> <select class="form-control" v-model="selected" @change="updatestatus(selected)"> <option>Select Status</option> <option value="1">Open</option> <option value="2">Site Visit</option> <option value="3">Quote in Progress</option> <option value="4">Quoted</option> <option value="5">Won</option> <option value="6">Work Completed</option> <option value="7">Invoice</option> <option value="8">Rejected</option> </select> </div> <!-- Call Log Sidebar --> <b-sidebar id="call-log" class="w-50" title="Add Call Log" right shadow backdrop backdrop-variant="dark"> <form action=""> <input type="text" class="form-control"> </form> <div class="form-group"> <label for="">Call Type</label> <select name="" id="" class="form-control"> <option value="outgoing">Outgoing</option> <option value="incoming">Incoming</option> </select> </div> <div class="form-group"> <label for="">Call Response</label> <select name="" id="" class="form-control"> <option value="Interested">Interested</option> <option value="Left Message">Left Message</option> <option value="No Response">No Response</option> <option value="Not Interested">Not Interested</option> <option value="Not able to reach">Not able to reach</option> </select> </div> <div class="form-group"> <label for="">Notes</label> <input type="text" class="form-control"> </div> </b-sidebar> <!-- Call Log Sidebar --> <b-sidebar id="add-task" class="w-50" title="Add Task" right shadow backdrop backdrop-variant="dark"> <form action="/tasks" method="POST" @submit.prevent="addtask()" class="form-task"> <div class="form-group"> <input type="hidden" placeholder="Enter Client Phone" v-model="clientid" autocomplete="off" class="form-control input-lg" list="users"/> </div> <div class="form-group"> <input type="hidden" placeholder="Enter Client Phone" v-model="propertyid" autocomplete="off" class="form-control input-lg" list="users"/> </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="taskstatus"> </div> </div> <div class="form-row"> <div class="form-group"> <label for="assigned">Assigned</label> <select class="form-control" name="template" v-model="assigned"> <option v-for="staff in staffs" :key="staff.id" :value="staff.id"> {{ staff.name }} </option> </select> </div> </div> <div class="form-row"> <div class="form-group"> <label for="duedatee">Due Date</label> <input type="date" class="form-control" name="due_date" v-model="due_date"> </div> </div> <div class="form-group"> <input type="radio" name="" id="">Billable <input type="radio" name="" id="">Non Billable </div> <button type="submit" value="submit" class="btn btn-primary">Submit</button> </form> </b-sidebar> </div> </div> <b-sidebar id="add-contract-value" class="w-50" title="Add Client" right shadow backdrop backdrop-variant="dark"> <form action=""> <label for="">Client Amount</label> <input type="text" name="" class="form-control"> <label for="">GST</label> <input type="text" class="form-control"> <label for="">KFC</label> <input type="text" class="form-control"> <button type="submit" class="btn btn-primary">Submit</button> </form> </b-sidebar> <b-sidebar id="add-contractor" class="w-50" title="add-contractor" right shadow backdrop backdrop-variant="dark"> <addcontractor/> </b-sidebar> </div> </template> <script> import mfileupload from './mfileupload' import addclients from './clients/addclients' import addcontractor from './addcontractor' export default { data(){ return { id:this.$route.params.id, clientid:'', users:[], tasks:[], staffs:[], contractors:[], properties:{}, property_for:'', property_type:'', location:'', min_budget:'', max_budget:'', selected:'', activeItem: 'activity', status:'', activities:[], works:[], propertyid:'', task:'', taskstatus:'', assigned:'', due_date:'', items: [ { message: 'Foo' }, { message: 'Bar' } ], activeItem: 'activity', currentstep: 4, // totalPages: ['Enquiry','Sitevisit'], totalPages: [ { id: 1, text: "Enquiry" }, { id: 2, text: "Site Visit" }, { id: 3, text: "Quote Progress" }, { id: 4, text: "Quoted" }, { id: 5, text: "Won/lost" } ], currentPage:4, current:1 } }, methods:{ loadusers(){ axios.get('/maintenance/maintenancedetails/'+this.id) .then(response => { this.users = response.data; this.clientid=response.data[0].client_id; this.propertyid=response.data[0].property_id; this.selected= response.data[0].status; }) }, loadactivities(){ axios.get('/maintenanceactivity/'+this.id) .then(response => { this.activities = response.data; }) }, loadstaffs(){ axios.get('/users') .then(response => { this.staffs = response.data; }) }, loadcontractors(){ axios.get('/contractors') .then(response => { this.contractors = response.data; }) }, addtask(){ axios .post('/tasks', { client_id:this.clientid, property_id:this.propertyid, task: this.task, status:this.taskstatus, assigned:this.assigned, due_date:this.due_date }) .then( response => this.$router.push({ path: '/tasks'})); }, loadworks(){ axios.get('/maintenanceworks') .then(response => { this.works = response.data; }) }, alert(){ alert(this.selected); }, updatestatus: function (id) { axios.post('/maintenance/updatestatus/',{ id:this.id, status:this.selected, }) .then(response => { }) window.location.reload() }, loadproperties(){ axios.post('/properties/searchproperty', { property_for: this.property_for, property_type: this.property_type, location:this.location, min_budget:5000, max_budget:35000 }).then(response => { this.properties = response.data}) }, isActive (menuItem) { return this.activeItem === menuItem }, setActive (menuItem) { this.activeItem = menuItem }, myBtnClass: function(name) { if(name<=this.selected) return 'active' else return 'mope' }, }, created: function(){ this.loadusers(), this.loadworks(), this. loadstaffs(), this.loadactivities(), this.loadcontractors() }, computed:{ totalQuantity: function(){ console.log(this.works); return this.works.reduce(function(total, item){ return total += parseFloat(item.totalamount); },0); }, } } </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: 20%; 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; } </style>