ok
Direktori : /home2/selectio/www/fms-worksuite/resources/views/employees/ajax/ |
Current File : /home2/selectio/www/fms-worksuite/resources/views/employees/ajax/create.blade.php |
@php $addDesignationPermission = user()->permission('add_designation'); @endphp <link rel="stylesheet" href="{{ asset('vendor/css/tagify.css') }}"> <div class="row"> <div class="col-sm-12"> <x-form id="save-employee-data-form"> <div class="add-client bg-white rounded"> <h4 class="mb-0 p-20 f-21 font-weight-normal text-capitalize border-bottom-grey"> @lang('modules.employees.accountDetails')</h4> <div class="row p-20"> <div class="col-lg-9"> <div class="row"> <div class="col-lg-4 col-md-6"> <x-forms.text fieldId="employee_id" :fieldLabel="__('modules.employees.employeeId')" fieldName="employee_id" :fieldValue="((!$checkifExistEmployeeId) ? ($lastEmployeeID+1) : '')" fieldRequired="true" :fieldPlaceholder="__('modules.employees.employeeIdInfo')" :popover="__('modules.employees.employeeIdHelp')"> </x-forms.text> </div> <div class="col-lg-4 col-md-6"> <x-forms.text fieldId="name" :fieldLabel="__('modules.employees.employeeName')" fieldName="name" fieldRequired="true" :fieldPlaceholder="__('placeholders.name')"> </x-forms.text> </div> <div class="col-lg-4 col-md-6"> <x-forms.text fieldId="email" :fieldLabel="__('modules.employees.employeeEmail')" fieldName="email" fieldRequired="true" :fieldPlaceholder="__('placeholders.email')"> </x-forms.text> </div> <div class="col-lg-4 col-md-6"> <x-forms.label class="mt-3" fieldId="password" :fieldLabel="__('app.password')" fieldRequired="true"> </x-forms.label> <x-forms.input-group> <input type="password" name="password" id="password" class="form-control height-35 f-14"> <x-slot name="preappend"> <button type="button" data-toggle="tooltip" data-original-title="@lang('app.viewPassword')" class="btn btn-outline-secondary border-grey height-35 toggle-password"><i class="fa fa-eye"></i></button> </x-slot> <x-slot name="append"> <button id="random_password" type="button" data-toggle="tooltip" data-original-title="@lang('modules.client.generateRandomPassword')" class="btn btn-outline-secondary border-grey height-35"><i class="fa fa-random"></i></button> </x-slot> </x-forms.input-group> <small class="form-text text-muted">@lang('placeholders.password')</small> </div> <div class="col-lg-4 col-md-6"> <x-forms.label class="my-3" fieldId="category_id" :fieldLabel="__('app.designation')" fieldRequired="true"> </x-forms.label> <x-forms.input-group> <select class="form-control select-picker" name="designation" id="employee_designation" data-live-search="true"> <option value="">--</option> @foreach ($designations as $designation) <option value="{{ $designation->id }}">{{ $designation->name }}</option> @endforeach </select> {{-- @if ($addDesignationPermission == 'all' || $addDesignationPermission == 'added') <x-slot name="append"> <button id="designation-setting-add" type="button" class="btn btn-outline-secondary border-grey">@lang('app.add')</button> </x-slot> @endif --}} </x-forms.input-group> </div> <div class="col-lg-4 col-md-6"> <x-forms.label class="my-3" fieldId="category_id" :fieldLabel="__('app.department')" fieldRequired="true"> </x-forms.label> <x-forms.input-group> <select class="form-control select-picker" name="department" id="employee_department" data-live-search="true"> <option value="">--</option> @foreach ($teams as $team) <option value="{{ $team->id }}">{{ $team->team_name }}</option> @endforeach </select> </x-forms.input-group> </div> </div> </div> <div class="col-lg-3"> <x-forms.file allowedFileExtensions="png jpg jpeg svg" class="mr-0 mr-lg-2 mr-md-2 cropper" :fieldLabel="__('modules.profile.profilePicture')" fieldName="image" fieldId="image" fieldHeight="119" :popover="__('messages.fileFormat.ImageFile')" /> </div> <div class="col-lg-3 col-md-6"> <x-forms.select fieldId="country" :fieldLabel="__('app.country')" fieldName="country" search="true"> @foreach ($countries as $item) <option data-tokens="{{ $item->iso3 }}" data-phonecode = "{{$item->phonecode}}" data-content="<span class='flag-icon flag-icon-{{ strtolower($item->iso) }} flag-icon-squared'></span> {{ $item->nicename }}" value="{{ $item->id }}">{{ $item->nicename }}</option> @endforeach </x-forms.select> </div> <div class="col-lg-3 col-md-6"> <x-forms.label class="my-3" fieldId="mobile" :fieldLabel="__('app.mobile')"></x-forms.label> <x-forms.input-group style="margin-top:-4px"> <x-forms.select fieldId="country_phonecode" fieldName="country_phonecode" search="true"> @foreach ($countries as $item) <option data-tokens="{{ $item->name }}" data-content="{{$item->flagSpanCountryCode()}}" value="{{ $item->phonecode }}">{{ $item->phonecode }} </option> @endforeach </x-forms.select> <input type="tel" class="form-control height-35 f-14" placeholder="@lang('placeholders.mobile')" name="mobile" id="mobile"> </x-forms.input-group> </div> <div class="col-lg-3 col-md-6"> <x-forms.select fieldId="gender" :fieldLabel="__('modules.employees.gender')" fieldName="gender"> <option value="male">@lang('app.male')</option> <option value="female">@lang('app.female')</option> <option value="others">@lang('app.others')</option> </x-forms.select> </div> <div class="col-lg-3 col-md-6"> <x-forms.datepicker fieldId="joining_date" :fieldLabel="__('modules.employees.joiningDate')" fieldName="joining_date" :fieldPlaceholder="__('placeholders.date')" fieldRequired="true" :fieldValue="now(company()->timezone)->format(company()->date_format)" /> </div> <div class="col-lg-3 col-md-6"> <x-forms.datepicker fieldId="date_of_birth" :fieldLabel="__('modules.employees.dateOfBirth')" fieldName="date_of_birth" :fieldPlaceholder="__('placeholders.date')" /> </div> <div class="col-lg-3 col-md-6"> <x-forms.select fieldId="reporting_to" :fieldLabel="__('modules.employees.reportingTo')" fieldName="reporting_to" :fieldPlaceholder="__('placeholders.date')" search="true"> <option value="">--</option> @foreach ($employees as $item) <x-user-option :user="$item" /> @endforeach </x-forms.select> </div> <div class="col-lg-3 col-md-6"> <x-forms.select fieldId="locale" :fieldLabel="__('app.language')" fieldName="locale" search="true"> @foreach ($languages as $language) <option {{ user()->locale == $language->language_code ? 'selected' : '' }} data-content="<span class='flag-icon flag-icon-{{ ($language->flag_code == 'en') ? 'gb' : strtolower($language->flag_code) }} flag-icon-squared'></span> {{ $language->language_name }}" value="{{ $language->language_code }}">{{ $language->language_name }}</option> @endforeach </x-forms.select> </div> <div class="col-lg-3 col-md-6"> <x-forms.select fieldId="role" :fieldLabel="__('app.role')" fieldName="role"> @foreach ($roles as $role) <option {{ ($role->name == 'employee') ? 'selected' : '' }} value="{{ $role->id }}">{{ $role->display_name }}</option> @endforeach </x-forms.select> </div> <div class="col-md-12"> <div class="form-group my-3"> <x-forms.textarea class="mr-0 mr-lg-2 mr-md-2" :fieldLabel="__('app.address')" fieldName="address" fieldId="address" :fieldPlaceholder="__('placeholders.address')"> </x-forms.textarea> </div> </div> <div class="col-md-12"> <div class="form-group my-3"> <x-forms.textarea class="mr-0 mr-lg-2 mr-md-2" :fieldLabel="__('app.about')" fieldName="about_me" fieldId="about_me" fieldPlaceholder=""> </x-forms.textarea> </div> </div> </div> <h4 class="mb-0 p-20 f-21 font-weight-normal text-capitalize border-top-grey"> @lang('modules.client.clientOtherDetails')</h4> <div class="row p-20"> <div class="col-lg-3 col-md-6"> <div class="form-group my-3"> <label class="f-14 text-dark-grey mb-12 w-100" for="usr">@lang('modules.client.clientCanLogin')</label> <div class="d-flex"> <x-forms.radio fieldId="login-yes" :fieldLabel="__('app.yes')" fieldName="login" fieldValue="enable" checked="true"> </x-forms.radio> <x-forms.radio fieldId="login-no" :fieldLabel="__('app.no')" fieldValue="disable" fieldName="login"></x-forms.radio> </div> </div> </div> <div class="col-lg-3 col-md-6"> <div class="form-group my-3"> <label class="f-14 text-dark-grey mb-12 w-100" for="usr">@lang('modules.emailSettings.emailNotifications')</label> <div class="d-flex"> <x-forms.radio fieldId="notification-yes" :fieldLabel="__('app.yes')" fieldValue="yes" fieldName="email_notifications" checked="true"> </x-forms.radio> <x-forms.radio fieldId="notification-no" :fieldLabel="__('app.no')" fieldValue="no" fieldName="email_notifications"> </x-forms.radio> </div> </div> </div> <div class="col-lg-3 col-md-6"> <x-forms.label class="my-3" fieldId="hourly_rate" :fieldLabel="__('modules.employees.hourlyRate')"></x-forms.label> <x-forms.input-group> <x-slot name="prepend"> <span class="input-group-text f-14 bg-white-shade">{{ company()->currency->currency_symbol }}</span> </x-slot> <input type="number" step=".01" min="0" class="form-control height-35 f-14" name="hourly_rate" id="hourly_rate"> </x-forms.input-group> </div> <div class="col-lg-3 col-md-6"> <x-forms.label class="my-3" fieldId="slack_username" :fieldLabel="__('modules.employees.slackUsername')"></x-forms.label> <x-forms.input-group> <x-slot name="prepend"> <span class="input-group-text f-14 bg-white-shade">@</span> </x-slot> <input type="text" class="form-control height-35 f-14" name="slack_username" id="slack_username"> </x-forms.input-group> </div> <div class="col-md-12"> <x-forms.text fieldId="tags" :fieldLabel="__('app.skills')" fieldName="tags" :fieldPlaceholder="__('placeholders.skills')" /> </div> @if (function_exists('sms_setting') && sms_setting()->telegram_status) <div class="col-md-4"> <x-forms.number fieldName="telegram_user_id" fieldId="telegram_user_id" fieldLabel="<i class='fab fa-telegram'></i> {{ __('sms::modules.telegramUserId') }}" :popover="__('sms::modules.userIdInfo')" /> </div> @endif <div class="col-lg-3 col-md-6"> <x-forms.datepicker fieldId="probation_end_date" :fieldLabel="__('modules.employees.probationEndDate')" fieldName="probation_end_date" :fieldPlaceholder="__('placeholders.date')" :popover="__('messages.probationEndDate')"/> </div> <div class="col-lg-3 col-md-6"> <x-forms.datepicker fieldId="notice_period_start_date" :fieldLabel="__('modules.employees.noticePeriodStartDate')" fieldName="notice_period_start_date" :fieldPlaceholder="__('placeholders.date')" :popover="__('messages.noticePeriodStartDate')"/> </div> <div class="col-lg-3 col-md-6"> <x-forms.datepicker fieldId="notice_period_end_date" :fieldLabel="__('modules.employees.noticePeriodEndDate')" fieldName="notice_period_end_date" :fieldPlaceholder="__('placeholders.date')" :popover="__('messages.noticePeriodEndDate')"/> </div> <div class="col-lg-3 col-md-6"> <x-forms.select fieldId="employment_type" :fieldLabel="__('modules.employees.employmentType')" fieldName="employment_type" :fieldPlaceholder="__('placeholders.date')"> <option value="">--</option> <option value="full_time">@lang('app.fullTime')</option> <option value="part_time">@lang('app.partTime')</option> <option value="on_contract">@lang('app.onContract')</option> <option value="internship">@lang('app.internship')</option> <option value="trainee">@lang('app.trainee')</option> </x-forms.select> </div> <div class="col-lg-3 col-md-6 d-none internship-date"> <x-forms.datepicker fieldId="internship_end_date" :fieldLabel="__('modules.employees.internshipEndDate')" fieldName="internship_end_date" :fieldPlaceholder="__('placeholders.date')"/> </div> <div class="col-lg-3 col-md-6 d-none contract-date"> <x-forms.datepicker fieldId="contract_end_date" :fieldLabel="__('modules.employees.contractEndDate')" fieldName="contract_end_date" :fieldPlaceholder="__('placeholders.date')"/> </div> <div class="col-lg-3 col-md-6"> <x-forms.select fieldId="marital_status" :fieldLabel="__('modules.employees.maritalStatus')" fieldName="marital_status" :fieldPlaceholder="__('placeholders.date')"> <option value="unmarried">@lang('modules.leaves.unmarried')</option> <option value="married">@lang('modules.leaves.married')</option> </x-forms.select> </div> <div class="col-lg-3 col-md-6 d-none marriage_date"> <x-forms.datepicker fieldId="marriage_anniversary_date" :fieldLabel="__('modules.employees.marriageAnniversaryDate')" fieldName="marriage_anniversary_date" :fieldPlaceholder="__('placeholders.date')"/> </div> <input type ="hidden" name="add_more" value="false" id="add_more" /> </div> <x-forms.custom-field :fields="$fields"></x-forms.custom-field> <x-form-actions> <x-forms.button-primary id="save-employee-form" class="mr-3" icon="check"> @lang('app.save') </x-forms.button-primary> <x-forms.button-secondary class="mr-3" id="save-more-employee-form" icon="check-double">@lang('app.saveAddMore') </x-forms.button-secondary> <x-forms.button-cancel class="border-0 " data-dismiss="modal">@lang('app.cancel') </x-forms.button-cancel> </x-form-actions> </div> </x-form> </div> </div> <script src="{{ asset('vendor/jquery/tagify.min.js') }}"></script> <script> $(document).ready(function() { $('.custom-date-picker').each(function(ind, el) { datepicker(el, { position: 'bl', ...datepickerConfig }); }); datepicker('#joining_date', { position: 'bl', ...datepickerConfig }); datepicker('#probation_end_date', { position: 'bl', ...datepickerConfig }); datepicker('#notice_period_start_date', { position: 'bl', ...datepickerConfig }); datepicker('#notice_period_end_date', { position: 'bl', ...datepickerConfig }); datepicker('#marriage_anniversary_date', { position: 'bl', ...datepickerConfig }); datepicker('#date_of_birth', { position: 'bl', maxDate: new Date(), ...datepickerConfig }); datepicker('#internship_end_date', { position: 'bl', ...datepickerConfig }); datepicker('#contract_end_date', { position: 'bl', ...datepickerConfig }); $('#marital_status').change(function(){ var value = $(this).val(); if(value == 'married') { $('.marriage_date').removeClass('d-none'); } else { $('.marriage_date').addClass('d-none'); } }) $('#employment_type').change(function(){ var value = $(this).val(); if(value == 'on_contract') { $('.contract-date').removeClass('d-none'); } else { $('.contract-date').addClass('d-none'); } if(value == 'internship') { $('.internship-date').removeClass('d-none'); } else { $('.internship-date').addClass('d-none'); } }) var input = document.querySelector('input[name=tags]'), // init Tagify script on the above inputs tagify = new Tagify(input); $('#save-more-employee-form').click(function() { $('#add_more').val(true); const url = "{{ route('employees.store') }}"; var data = $('#save-employee-data-form').serialize(); saveEmployee(data, url, "#save-more-employee-form"); }); $('#save-employee-form').click(function() { const url = "{{ route('employees.store') }}"; var data = $('#save-employee-data-form').serialize(); saveEmployee(data, url, "#save-employee-form"); }); function saveEmployee(data, url, buttonSelector) { $.easyAjax({ url: url, container: '#save-employee-data-form', type: "POST", disableButton: true, blockUI: true, buttonSelector: buttonSelector, file: true, data: data, success: function(response) { if (response.status == 'success') { if ($(MODAL_XL).hasClass('show')) { $(MODAL_XL).modal('hide'); window.location.reload(); } else if(response.add_more == true) { var right_modal_content = $.trim($(RIGHT_MODAL_CONTENT).html()); if(right_modal_content.length) { $(RIGHT_MODAL_CONTENT).html(response.html.html); $('#add_more').val(false); } else { $('.content-wrapper').html(response.html.html); init('.content-wrapper'); $('#add_more').val(false); } } else { window.location.href = response.redirectUrl; } if (typeof showTable !== 'undefined' && typeof showTable === 'function') { showTable(); } } } }); } $('#random_password').click(function() { const randPassword = Math.random().toString(36).substr(2, 8); $('#password').val(randPassword); }); $('#designation-setting-add').click(function() { const url = "{{ route('designations.create') }}"; $(MODAL_LG + ' ' + MODAL_HEADING).html('...'); $.ajaxModal(MODAL_LG, url); }) $('.department-setting').click(function() { const url = "{{ route('departments.create') }}"; $(MODAL_LG + ' ' + MODAL_HEADING).html('...'); $.ajaxModal(MODAL_LG, url); }); $('#country').change(function(){ var phonecode = $(this).find(':selected').data('phonecode'); $('#country_phonecode').val(phonecode); $('.select-picker').selectpicker('refresh'); }); init(RIGHT_MODAL); }); function checkboxChange(parentClass, id) { var checkedData = ''; $('.' + parentClass).find("input[type= 'checkbox']:checked").each(function() { checkedData = (checkedData !== '') ? checkedData + ', ' + $(this).val() : $(this).val(); }); $('#' + id).val(checkedData); } $('.cropper').on('dropify.fileReady', function(e) { var inputId = $(this).find('input').attr('id'); var url = "{{ route('cropper', ':element') }}"; url = url.replace(':element', inputId); $(MODAL_LG + ' ' + MODAL_HEADING).html('...'); $.ajaxModal(MODAL_LG, url); }) </script>