Files
exchange-2.0/resources/assets/vue/components/companies/forms/AssignSegmentFormComponent.vue
T
edmondlang 7cf7fdec54 honey trap
2023-03-17 18:40:48 +08:00

94 lines
4.4 KiB
Vue

<template>
<div class="row">
<div class="col">
<loading-component style="height: 50px; top: 0;" key="1" color="success" v-show="$store.getters.isLoading(section)"></loading-component>
<div class="row" v-show="!$store.getters.isLoading(section)">
<div class="col">
<div class="row m-b-10">
<div class="col">
<h3 class="all-caps m-b-5 bold no-margin">Assign Segment</h3>
<div class="fs-11">Select a segment to {{parameters.name}}</div>
</div>
</div>
<div class="row m-b-5 animate__animated animate__fadeInUpBig animate__fast" v-if="error">
<div class="col">
<small class="bold fs-10 text-danger">{{error}}</small>
</div>
</div>
<div class="row m-b-15">
<div class="col">
<validation-wrapper-component selectable :validator="$v.parameters.segment_id">
<label>Segment</label>
<selectable-component :endpoint="route('api.segment.list') + '?filters=' + JSON.stringify({'id_not_in': currentSegmentIds})" :section="multiple?'segmentsListSection_'+data.id:'segmentsListSection'" valueColumn="id" :labelColumn="['name']" v-model="parameters.segment_id"></selectable-component>
</validation-wrapper-component>
</div>
</div>
<!-- <div class="row m-b-15">
<div class="col">
<validation-wrapper-component :validator="$v.parameters.starting_on">
<label>Start Date</label>
<date-picker-component :parameters="parameters" v-model.lazy="parameters.starting_on"></date-picker-component>
</validation-wrapper-component>
</div>
</div> -->
<div class="row m-b-15">
<div class="col">
<validation-wrapper-component :validator="$v.parameters.ending_on">
<label>End Date</label>
<date-picker-component :parameters="parameters" v-model.lazy="parameters.ending_on"></date-picker-component>
</validation-wrapper-component>
<p class="fs-13 d-block text-center m-t-10 m-b-0">Please leave End Date <b class="text-uppercase">empty</b> if the end date is not confirmed or there is no end date.</p>
</div>
</div>
<div class="row">
<div class="col p-r-5">
<div class="btn btn-sm btn-default bg-master-lightest btn-block b-rad-none" data-dismiss="modal">Not Now</div>
</div>
<div class="col p-l-5">
<div class="btn btn-sm btn-success btn-block b-rad-none" @click="submit(route('api.company.segment.assign', data.id), 'post', section, true, false)">Assign Segment</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import ModalFormHandler from '../../../general/mixins/modalFormHandler';
import { required } from "vuelidate/lib/validators";
export default {
props: {
multiple: {
default: false,
type: Boolean
}
},
data(){
return {
parameters: {
segment_id: '',
// starting_on: '',
ending_on: '',
}
}
},
validations: {
parameters: {
segment_id: {
required
},
// starting_on: {},
ending_on: {},
}
},
computed: {
currentSegmentIds(){
return this.parameters.segments.map(function (value){
return value.id;
})
}
},
mixins: [ModalFormHandler]
}
</script>