Spamworldpro Mini Shell
Spamworldpro


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/ts.corals.io/frontend/pages/activities.vue
<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>

Spamworldpro Mini