craetejobs modal front
This commit is contained in:
@@ -14,6 +14,14 @@ public interface IClassificationGroupRepository : IRepository<long, Classificati
|
||||
/// <returns></returns>
|
||||
Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت مشاغل گروه توسط آی دی گروه
|
||||
/// </summary>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد گروه های بیست گانه
|
||||
/// </summary>
|
||||
|
||||
@@ -11,6 +11,13 @@ public interface IJobRepository : IRepository<long, Job>
|
||||
EditJob GetDetails(long id);
|
||||
List<JobViewModel> Search(JobSearchModel searchModel);
|
||||
List<JobViewModel> SearchJobForMain(JobSearchModel searchModel);
|
||||
|
||||
/// <summary>
|
||||
/// جستجوس مشاغل
|
||||
/// </summary>
|
||||
/// <param name="searchtText"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<JobViewModel>> JobSearchSelect(string searchtText);
|
||||
// Task<List<JobViewModel>> GetJobListByText(string searchtText);
|
||||
List<JobViewModel> GetJobListByText(string searchtText);
|
||||
List<JobViewModel> GetJobListByWorkshopId(long workshopId);
|
||||
|
||||
@@ -48,6 +48,13 @@ public interface IClassificationSchemeApplication
|
||||
Task<List<ClassificationGroupAndJobModel>> GetGroupAndJobs(long schemeId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// دریافت مشاغل گروه توسط آی دی گروه
|
||||
/// </summary>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId);
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد مشاغل گروه
|
||||
/// </summary>
|
||||
|
||||
@@ -13,6 +13,13 @@ public interface IJobApplication
|
||||
List<JobViewModel> Search(JobSearchModel searchModel);
|
||||
List<JobViewModel> SearchJobForMain(JobSearchModel searchModel);
|
||||
//Task<List<JobViewModel>> GetJobListByText(string searchtText);
|
||||
|
||||
/// <summary>
|
||||
/// جستجوی مشاغل برای سلکت تو
|
||||
/// </summary>
|
||||
/// <param name="searchtText"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<JobViewModel>> JobSearchSelect(string searchtText);
|
||||
List<JobViewModel> GetJobListByText(string searchtText);
|
||||
List<JobViewModel> GetJobListByWorkshopId(long workshopId);
|
||||
List<JobViewModel> GetJobListByTextAndWorkshopId(string textSearch, long workshopId);
|
||||
|
||||
@@ -115,6 +115,11 @@ public class ClassificationSchemeApplication : IClassificationSchemeApplication
|
||||
return await _classificationGroupRepository.GetGroupAndJobs(schemeId);
|
||||
}
|
||||
|
||||
public async Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId)
|
||||
{
|
||||
return await _classificationGroupRepository.GetGroupJobs(groupId);
|
||||
}
|
||||
|
||||
public Task<OperationResult> CreateGroupJobs(ClassificationGroupAndJobModel command)
|
||||
{
|
||||
throw new System.NotImplementedException();
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using Company.Domain.JobAgg;
|
||||
using CompanyManagment.App.Contracts.Job;
|
||||
@@ -66,6 +67,11 @@ public class JobApplication : IJobApplication
|
||||
return _jobRepository.SearchJobForMain(searchModel);
|
||||
}
|
||||
|
||||
public async Task<List<JobViewModel>> JobSearchSelect(string searchtText)
|
||||
{
|
||||
return await _jobRepository.JobSearchSelect(searchtText);
|
||||
}
|
||||
|
||||
//public Task<List<JobViewModel>> GetJobListByText(string searchtText)
|
||||
//{
|
||||
// return _jobRepository.GetJobListByText(searchtText);
|
||||
|
||||
@@ -46,6 +46,29 @@ public class ClassificationGroupRepository : RepositoryBase<long, Classification
|
||||
}).OrderBy(x=>x.GroupNoInt).ToListAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// دریافت مشاغل گروه توسط آی دی گروه
|
||||
/// </summary>
|
||||
/// <param name="groupId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<EditClassificationGroupJob>> GetGroupJobs(long groupId)
|
||||
{
|
||||
|
||||
return await _context.ClassificationGroupJobs
|
||||
.Where(x => x.id == groupId).Select(jobs => new EditClassificationGroupJob()
|
||||
{
|
||||
Id = jobs.id,
|
||||
JobId = jobs.JobId,
|
||||
JobName = jobs.JobName,
|
||||
JobCode = jobs.JobCode,
|
||||
ClassificationGroupId = jobs.ClassificationGroupId,
|
||||
GroupNo = jobs.GroupNo,
|
||||
|
||||
}).ToListAsync();
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// ایجاد گروه های بیست گانه
|
||||
/// </summary>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.InfraStructure;
|
||||
using Company.Domain.JobAgg;
|
||||
using CompanyManagment.App.Contracts.Job;
|
||||
@@ -83,6 +84,32 @@ public class JobRepository: RepositoryBase<long, Job>, IJobRepository
|
||||
}
|
||||
|
||||
|
||||
public async Task<List<JobViewModel>> JobSearchSelect(string searchtText)
|
||||
{
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(searchtText))
|
||||
{
|
||||
var query =_context.Jobs.Select(x => new JobViewModel
|
||||
{
|
||||
Id = x.id,
|
||||
JobName = x.JobName,
|
||||
JobCode = x.JobCode
|
||||
});
|
||||
query = query.Where(x => x.JobName.Contains(searchtText));
|
||||
var jobViewModelList =await query.Take(100).Select(x => new JobViewModel
|
||||
{
|
||||
Id = x.Id,
|
||||
JobName = x.JobName,
|
||||
JobCode = x.JobCode
|
||||
}).ToListAsync();
|
||||
return jobViewModelList;
|
||||
}
|
||||
else
|
||||
{
|
||||
return new List<JobViewModel>();
|
||||
}
|
||||
}
|
||||
|
||||
// public async Task<List<JobViewModel>> GetJobListByText(string searchtText)
|
||||
public List<JobViewModel> GetJobListByText(string searchtText)
|
||||
{
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using CompanyManagment.App.Contracts.ClassificationScheme;
|
||||
using CompanyManagment.App.Contracts.Job;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Mvc.RazorPages;
|
||||
|
||||
@@ -10,11 +11,12 @@ namespace ServiceHost.Areas.Admin.Pages.Company.Workshops;
|
||||
public class ClassificationSchemeModel : PageModel
|
||||
{
|
||||
private readonly IClassificationSchemeApplication _classificationSchemeApplication;
|
||||
private readonly IJobApplication _jobApplication;
|
||||
|
||||
|
||||
public ClassificationSchemeModel(IClassificationSchemeApplication classificationSchemeApplication)
|
||||
public ClassificationSchemeModel(IClassificationSchemeApplication classificationSchemeApplication, IJobApplication jobApplication)
|
||||
{
|
||||
_classificationSchemeApplication = classificationSchemeApplication;
|
||||
_jobApplication = jobApplication;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -116,14 +118,42 @@ public class ClassificationSchemeModel : PageModel
|
||||
/// لود مدال ایجاد یا ویرایش مشاغل گروه
|
||||
/// </summary>
|
||||
/// <param name="groupId"></param>
|
||||
/// <param name="groupNo"></param>
|
||||
/// <returns></returns>
|
||||
public IActionResult OnGetCreateOrEditJobs(long groupId)
|
||||
public IActionResult OnGetCreateOrEditJobs(long groupId, string groupNo)
|
||||
{
|
||||
var model = new ClassificationGroupAndJobModel();
|
||||
model.GroupId = groupId;
|
||||
model.GroupNo = groupNo;
|
||||
model.EditClassificationGroupJob =
|
||||
_classificationSchemeApplication.GetGroupJobs(groupId).GetAwaiter().GetResult();
|
||||
|
||||
return Partial("_ClassificationPartials/ClassificationGroupJobsTab");
|
||||
return Partial("_ClassificationPartials/CreateOrEditGroupJobs", model);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// جستجو شغل
|
||||
/// </summary>
|
||||
/// <param name="textSearch"></param>
|
||||
/// <returns></returns>
|
||||
public IActionResult OnPostJobByTextSearch(string textSearch)
|
||||
{
|
||||
var jobs = _jobApplication.JobSearchSelect(textSearch).GetAwaiter().GetResult();
|
||||
|
||||
jobs = jobs.OrderBy(x => x.JobName.Length).ToList().Select(x => new JobViewModel
|
||||
{
|
||||
Id = x.Id,
|
||||
JobName = x.JobName,
|
||||
JobCode = x.JobCode,
|
||||
SearchResultTitle = x.JobName,
|
||||
SearchResultCode = x.JobCode
|
||||
}).ToList();
|
||||
return new JsonResult(new
|
||||
{
|
||||
IsSuccedded = true,
|
||||
List = jobs
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
<div class="col-3 col-md-3 align-items-center" style="float:left; direction:ltr">
|
||||
|
||||
<a href="#">
|
||||
<a href="#showmodal=@Url.Page("./ClassificationScheme", "CreateOrEditJobs" ,new {groupId = itemRight.GroupId , groupNo = itemRight.GroupNo})">
|
||||
<span class="icon-span @(itemRight.EditClassificationGroupJob.Count < 1 ? "add-jobs" : "edit-jobs")" style="padding: 4px;font-size: 11px;">
|
||||
@if (itemRight.EditClassificationGroupJob.Count < 1)
|
||||
{
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
<div class="col-3 col-md-3 align-items-center" style="float:left; direction:ltr">
|
||||
|
||||
<a href="#">
|
||||
<a href="#showmodal=@Url.Page("./ClassificationScheme", "CreateOrEditJobs" ,new {groupId = itemLeft.GroupId , groupNo = itemLeft.GroupNo})">
|
||||
<span class="icon-span @(itemLeft.EditClassificationGroupJob.Count < 1 ? "add-jobs" : "edit-jobs")" style="padding: 4px;font-size: 11px;">
|
||||
@if (itemLeft.EditClassificationGroupJob.Count < 1)
|
||||
{
|
||||
|
||||
@@ -1,9 +1,63 @@
|
||||
@model CompanyManagment.App.Contracts.ClassificationScheme.ClassificationGroupAndJobModel
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
@{
|
||||
int index = 1;
|
||||
|
||||
|
||||
<link href="@Href("~/DadmehrSelect/dad-mehr-select.css")" rel="stylesheet" />
|
||||
|
||||
<style>
|
||||
.name-right{
|
||||
position:inherit !important;
|
||||
}
|
||||
|
||||
.dadmehr-select-search .options li{
|
||||
padding: 4px 12px;
|
||||
margin-top: 6px;
|
||||
font-size: 12px;
|
||||
box-shadow: 0 1px 2px 0 rgba(0,0,0,.1);
|
||||
border-top: none;
|
||||
border-radius: 7px;
|
||||
background-color: #e8e8e8 !important;
|
||||
cursor: pointer;
|
||||
color: #504f4f;
|
||||
}
|
||||
|
||||
.dadmehr-select-search .custom-select{
|
||||
|
||||
borderRadius: 5px!important;
|
||||
border-top-right-radius : 5px;
|
||||
|
||||
}
|
||||
|
||||
.job-item{
|
||||
background-color: #bdeae9;
|
||||
|
||||
|
||||
flex: 0 0 calc(33.333% - 8px); /* دقیقاً سهتا در هر سطر */
|
||||
box-sizing: border-box;
|
||||
direction: rtl;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start; /* آیتمها در یک راستا از بالا */
|
||||
padding: 6px 10px;
|
||||
border-radius: 5px;
|
||||
min-height: 36px; /* برای ارتفاع یکنواخت */
|
||||
}
|
||||
|
||||
.tr-job {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
}
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title"> @Model.GroupNo تعیین مشاغل گروه </h5>
|
||||
<h5 class="modal-title"> تعیین مشاغل گروه @Model.GroupNo </h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="بستن">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
@@ -11,61 +65,263 @@
|
||||
|
||||
|
||||
|
||||
<form asp-page="./ClassificationScheme" asp-page-handler="CreateScheme" method="post" autocomplete="off"
|
||||
data-ajax="true" data-action="Refresh" enctype="multipart/form-data">
|
||||
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="row">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card shadow-sm border-0">
|
||||
<div class="card-body">
|
||||
|
||||
<div class="row fw-bold mb-2 head-table">
|
||||
<div class="col-2 col-md-1">ردیف</div>
|
||||
<div class="col-10 col-md-3">نام شغل</div>
|
||||
<div class=" dadmehr-select-search" onclick="inputFocus(this)">
|
||||
<div class="custom-select text-right">
|
||||
<ul class="ul-search single text-right" data-url="@Url.Page("/Company/Workshops/ClassificationScheme", "JobByTextSearch")">
|
||||
|
||||
<div class="col-12 col-md-3" style="float:left; direction:ltr">عملیات</div>
|
||||
</div>
|
||||
|
||||
@foreach (var item in Model.EditClassificationGroupJob)
|
||||
{
|
||||
<div class="row align-items-center mb-2 p-2 tr-table">
|
||||
<li>
|
||||
<input id="searchingJob" placeholder="جستجوی شغل..." job-id="" onkeyup="searchText(event, this, '@Url.Page("/Company/Workshops/ClassificationScheme", "JobByTextSearch")', true)" class="text-right input-text" />
|
||||
|
||||
<div class="col-2 col-md-1">
|
||||
<div class="row-number">@index</div></div>
|
||||
<div class="col-10 col-md-3">@item.JobName</div>
|
||||
|
||||
@{
|
||||
index++;
|
||||
}
|
||||
<div class="col-12 col-md-3 align-items-center" style="float:left; direction:ltr">
|
||||
|
||||
<a style="border-radius:5px;" href="#showmodal=@Url.Page("./ClassificationScheme", "CreateScheme", new { workshopId = @Model.WorkshopId })">
|
||||
<span class="icon-span" style="background-color:#ddd3e0">
|
||||
<svg width="19" height="18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="18.5047" height="18.5047" transform="translate(0.523438 0.523438)" fill="#DDD3E0"></rect>
|
||||
<path d="M7.84814 11.7031L7.84814 9.39004" stroke="#BF3737" stroke-linecap="round"></path>
|
||||
<path d="M11.7031 11.7031L11.7031 9.39004" stroke="#BF3737" stroke-linecap="round"></path>
|
||||
<path d="M2.83643 5.53125H16.7149V5.53125C16.0652 5.53125 15.7403 5.53125 15.4745 5.60604C14.8039 5.79477 14.2799 6.31884 14.0911 6.98943C14.0163 7.25518 14.0163 7.58007 14.0163 8.22985V11.5546C14.0163 13.4402 14.0163 14.383 13.4305 14.9688C12.8448 15.5546 11.902 15.5546 10.0163 15.5546H9.53502C7.64941 15.5546 6.7066 15.5546 6.12081 14.9688C5.53502 14.383 5.53502 13.4402 5.53502 11.5546V8.22985C5.53502 7.58007 5.53502 7.25518 5.46023 6.98943C5.27151 6.31884 4.74744 5.79477 4.07685 5.60604C3.8111 5.53125 3.48621 5.53125 2.83643 5.53125V5.53125Z" stroke="#BF3737" stroke-linecap="round"></path>
|
||||
<path d="M7.84799 3.22434C7.84799 3.22434 8.2335 2.45312 9.77556 2.45312C11.3176 2.45312 11.7031 3.22415 11.7031 3.22415" stroke="#BF3737" stroke-linecap="round"></path>
|
||||
</svg>
|
||||
</span>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<ul class="result options text-right">
|
||||
</ul>
|
||||
</div>
|
||||
<span class="span-input"></span>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="shadow-sm border-0 m-t-10">
|
||||
<button onclick="addJobs()" class="btn btn-success" style="position: relative;border-radius: 10px; padding:1px 5px;">
|
||||
<span class="icon-span" style="padding: 4px;font-size: 11px;">
|
||||
|
||||
|
||||
<svg width="19" height="18" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="11" cy="11" r="8.25" stroke="white" />
|
||||
<path d="M11 13.75L11 8.25" stroke="white" stroke-linecap="round" />
|
||||
<path d="M13.75 11L8.25 11" stroke="white" stroke-linecap="round" />
|
||||
</svg>
|
||||
<span class="job-btn-text" >افزودن شغل</span>
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="card shadow-sm border-0 m-t-10" style="height:300px; overflow-y:scroll">
|
||||
<div class="card-body">
|
||||
<div class="align-items-center mb-2 p-2 tr-table tr-job">
|
||||
@if (Model.EditClassificationGroupJob.Count > 0)
|
||||
{
|
||||
@foreach (var item in Model.EditClassificationGroupJob)
|
||||
{
|
||||
|
||||
|
||||
<div class="col-xs-12 col-md-4 job-item">
|
||||
<span>@item.JobName</span>
|
||||
<span> </span>
|
||||
<span>-</span>
|
||||
<span> </span>
|
||||
<span>@item.JobCode</span>
|
||||
<input type="hidden" job-id="@item.JobId" job-code="@item.JobCode" job-name="@item.JobName" name="job-data"/>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
</div>
|
||||
<input type="hidden" asp-for="WorkshopId" value="@Model.GroupId" />
|
||||
@* <input type="hidden" asp-for="WorkshopId" value="@Model.GroupId" /> *@
|
||||
<div class="modal-footer border-0">
|
||||
<button type="submit" class="btn btn-success px-4 rounded-pill">ذخیره</button>
|
||||
<button type="button" class="btn btn-outline-secondary px-4 rounded-pill" data-dismiss="modal">بستن</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script language="javascript" src="~/AdminTheme/js/city.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
function addJobs() {
|
||||
|
||||
let jobHiddenInput = $('.span-input').find('.selectedJob');
|
||||
|
||||
|
||||
|
||||
// اگر وجود داشت
|
||||
if (jobHiddenInput.length > 0) {
|
||||
let jobItems = document.querySelectorAll(".job-item-data");
|
||||
// خواندن مقادیر از اتریبیوتها
|
||||
let jobName = jobHiddenInput.attr('selectedJob-name');
|
||||
let jobCode = jobHiddenInput.attr('selectedJob-code');
|
||||
let jobId = jobHiddenInput.attr('selectedJob-id');
|
||||
var checkExist = false;
|
||||
|
||||
|
||||
jobItems.forEach((jobItem) => {
|
||||
if($(jobItem).attr("job-id") == jobId){
|
||||
$.Notification.autoHideNotify('error', 'top center', 'پیام سیستم ', 'این شغل قبلا اضافه شده است');
|
||||
checkExist = true;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
if(checkExist == false){
|
||||
let html = `
|
||||
<div class="col-xs-12 job-item">
|
||||
<span>${jobName}</span>
|
||||
<span> </span>
|
||||
<span>-</span>
|
||||
<span> </span>
|
||||
<span>${jobCode}</span>
|
||||
<input class="job-item-data" type="hidden"
|
||||
job-id="${jobId}"
|
||||
job-code="${jobCode}"
|
||||
job-name="${jobName}"
|
||||
name="job-data"/>
|
||||
</div>`;
|
||||
|
||||
// افزودن به div مقصد
|
||||
$('.tr-job').append(html);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function inputFocus(element) {
|
||||
$(element).find('ul.ul-search').find('.input-text').focus();
|
||||
}
|
||||
function searchText(e,element, urlPost, hasCode) {
|
||||
|
||||
var code = e.code;
|
||||
|
||||
if (code != "ArrowDown" && code != "ArrowUp" && code != "Enter") {
|
||||
|
||||
var text = $(element).val();
|
||||
|
||||
textlength = text.length;
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').html('');
|
||||
if (text != "") {
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').html('');
|
||||
$(element).parent().parent().parent('.custom-select').children('ul.result').show();
|
||||
$.ajax({
|
||||
dataType: 'json',
|
||||
type: 'POST',
|
||||
url: urlPost,
|
||||
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
|
||||
data: { "textSearch": text },
|
||||
success: function (response) {
|
||||
index = 0;
|
||||
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').html('');
|
||||
if (response.list.length > 0) {
|
||||
var ids = [];
|
||||
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').find("li.select-item:not(.hasinput)").remove();
|
||||
|
||||
$('.custom-select').children('ul.ul-search').find('span.items-selected').each(function (x) {
|
||||
ids.push(Number($(this).attr('data-value')));
|
||||
});
|
||||
$.each(response.list, function (i, item) {
|
||||
if (jQuery.inArray(item.id, ids) == -1) {
|
||||
if (hasCode) {
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').append('<li class="select-item" onclick="selectItemSearch(this)" data-code="' + item.searchResultCode + '" data-name="' + item.searchResultTitle + '" data-value="' + item.id + '"><span class="name-right">' + item.searchResultTitle + ' - ' + item.searchResultCode + '</span></li>');
|
||||
$('.code-left').each(function () {
|
||||
var spanContent = $(this).text();
|
||||
if (/\D/.test(spanContent)) { // Check if the content of the span contains non-digits
|
||||
$(this).css('color', 'red');
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').append('<li class="select-item" onclick="selectItemSearch(this)" data-name="' + item.searchResultTitle + '" data-value="' + item.id + '"><span class="name-right">' + item.searchResultTitle + '</span></li>');
|
||||
}
|
||||
}
|
||||
});
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').find("li.select-item:not(.hasinput)").first().focus();
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').find("li.select-item:not(.hasinput)").first().addClass('arrowselected');
|
||||
}
|
||||
else {
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').html('');
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').append('<li class="select-item"><span>هیچ نتیجه ای یافت نشد</span></li>');
|
||||
}
|
||||
},
|
||||
failure: function (response) {
|
||||
//console.log(5, response);
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
$(element).parent().parent().parent('.custom-select').children('.result').find("li.select-item:not(.hasinput)").remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var selectItemSearch = function (element) {
|
||||
$('.selectedJob').remove();
|
||||
|
||||
let activeTabPane = $('.card-body');
|
||||
var name = activeTabPane.find(element).attr("data-name");
|
||||
var code = activeTabPane.find(element).attr("data-code");
|
||||
var value = activeTabPane.find(element).attr("data-value");
|
||||
//وقنی اسکرول بالا رفت اینطور شود
|
||||
//$(element).parent().parent('.custom-select').children('ul.result').removeClass('posistion-static');
|
||||
//$(element).parent().parent('.custom-select').children('ul.result').removeClass('posistion-absolute');
|
||||
activeTabPane.find(element).parent().parent().children('ul.ul-search').find('input').val(name + ' - ' + code);
|
||||
activeTabPane.find(element).parent().parent().children('ul.ul-search').find('input').attr("job-id", value);
|
||||
// activeTabPane.find(element).parent().parent().children('ul.ul-search').find('input').parent('li').remove();
|
||||
activeTabPane.find(element).parent().parent('.custom-select').children('ul.result').hide();
|
||||
$('.span-input')
|
||||
.append('<input class="selectedJob" type="hidden" selectedJob-id="' + value + '" selectedJob-code="' + code + '" selectedJob-name="' + name + '" name="selectedjob-data"/>');
|
||||
|
||||
// activeTabPane.find(element).parent().parent().children('ul.ul-search').find('.singleItem').remove();
|
||||
|
||||
|
||||
// if (code == 'undefined' || code == null) {
|
||||
// activeTabPane.find(element).parent().parent().children('ul.ul-search').append('<li onclick="openSearchResult(this)" class="singleItem"><span data-value="' + value + '" >' + name + '</li>');
|
||||
// }
|
||||
// else
|
||||
// activeTabPane.find(element).parent().parent().children('ul.ul-search').append('<li onclick="openSearchResultByCode(this)" class="singleItem"><span class="value" data-value="' + value + '" >' + name + '</span>|<span class="code" data-code="' + code + '" >' + code + '</span></li>');
|
||||
|
||||
//$(element).parent().parent().children('ul.ul-search').append('<li> <input onkeyup="searchText(this)" onkeypress="searchTextResize(this)" class="text-right input-text" /></li>');
|
||||
}
|
||||
|
||||
$(document).on('input', '#searchingJob', function () {
|
||||
var value = $(this).val().trim();
|
||||
|
||||
if (value === "") {
|
||||
$('.selectedJob').remove();
|
||||
}
|
||||
});
|
||||
|
||||
$(document).click(
|
||||
function (e) {
|
||||
// console.log($(e.target).attr('class'));
|
||||
var classElement = $(e.target).parent().attr('class');
|
||||
if (classElement != "input-text-single" && classElement != "select-item hasinput" && classElement != "del-selected" && classElement != "singleItem" && classElement != "select-item" && classElement !="result options text-right" ) {
|
||||
$(".dadmehr-select-search").find('.result').hide();
|
||||
}
|
||||
});
|
||||
|
||||
function handleClick(event) {
|
||||
const customSelect = $(event.target).closest(".custom-select input");
|
||||
const divOffset = customSelect.offset();
|
||||
$(".options").css("top", divOffset.top - 5);
|
||||
if ($(window).width() < 1550) {
|
||||
$(".options").css("top", divOffset.top + 10);
|
||||
// console.log(1);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user