![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/ts.corals.io/frontend/pages/ |
<template> <div> <CRUDIndex :columns="columns" :resourceURL="resourceUrl" :options="options" :form="form" :labels="labels"> <template v-slot:billable="{object}"> <fa icon="check" class="text-success" v-if="object.row.billable"/> <span v-else>-</span> </template> <template v-slot:is_limited="{object}"> <fa icon="check" class="text-success" v-if="object.row.is_limited"/> <span v-else>-</span> </template> <template v-slot:is_active="{object}"> <fa icon="check" class="text-success" v-if="object.row.is_active"/> <fa icon="times" class="text-danger" v-else/> </template> <template v-slot:is_special="{object}"> <fa icon="check" class="text-success" v-if="object.row.is_special"/> <span v-else>-</span> </template> <template v-slot:default="{form}"> <corals-input :form="form" field="title" required/> <div class="row"> <div class="col-md-6"> <corals-input :form="form" type="number" field="hourly_rate" step="0.01"/> </div> </div> <div class="row"> <div class="col-md-6"> <corals-checkbox field="billable" :form="form"/> <corals-checkbox field="is_active" label="Active" :form="form"/> <corals-checkbox field="is_special" label="Special" :form="form"/> <corals-checkbox field="is_limited" label="Limited By Level" :form="form"/> </div> </div> <div v-if="form.is_limited"> <table class="table"> <tr> <template v-for="(label,key) in form.getFormData('positions')"> <th>{{ label }}</th> </template> </tr> <tr> <template v-for="(label,key) in form.getFormData('positions')"> <td> <corals-input :form="form" type="number" :label="false" :field="'properties.'+key" v-model="form.properties[key]" min="0"/> </td> </template> </tr> </table> </div> <corals-textarea field="description" :form="form"/> </template> </CRUDIndex> </div> </template> <script> import CRUDIndex from "@/components/layout/CRUDIndex"; import commonMixin from "@/mixins/commonMixin"; export default { name: "index", components: {CRUDIndex}, middleware: 'Authorization', mixins: [commonMixin], data() { return { resourceUrl: 'timesheet/activities', columns: ['title', 'hourly_rate', 'billable', 'is_special', 'is_limited', 'is_active', 'actions'], labels: { title: 'Activities', singularTitle: 'Activity', }, options: { listColumns: { billable: this.yesNoOptions(), is_active: this.yesNoOptions(), is_limited: this.yesNoOptions(), }, sortable: ['title'], filterable: ['title', 'billable', 'is_active', 'is_limited', 'is_special'], customColumns: ['billable', 'is_limited', 'is_special', 'is_active'], hideCreate: this.$cant('create', 'activity'), headings: { 'is_limited': 'Limited', 'is_active': 'Active', 'is_special': 'Special' } }, form: this.$form({ title: '', description: '', billable: 0, is_active: 1, is_limited: 0, is_special: 0, properties: {}, hourly_rate: '', }, {fetchFormDataURL: '/timesheet/activities/get-form-data', model: 'activity'}), } }, } </script> <style scoped> </style>