255 lines
8.5 KiB
Plaintext
255 lines
8.5 KiB
Plaintext
@model AccountManagement.Application.Contracts.TaskSchedule.TaskScheduleDetailsViewModel
|
|
@using System.Security.Claims
|
|
@using AccountManagement.Application.Contracts.Media
|
|
@using AccountManagement.Application.Contracts.Task
|
|
@{
|
|
string adminVersion = _0_Framework.Application.Version.AdminVersion;
|
|
|
|
MediaViewModel voice = null;
|
|
|
|
string svgName = "unknow";
|
|
string[] fileExtensions = new string[]
|
|
{
|
|
".ai", ".avi", ".bmp", ".crd", ".csv", ".dll", ".doc", ".docx", ".dwg",
|
|
".eps", ".exe", ".flv", ".giff", ".html", ".iso", ".java", ".jpg", ".mdb",
|
|
".mid", ".mov", ".mp3", ".mp4", ".mpeg", ".pdf", ".png", ".ppt", ".ps",
|
|
".psd", ".pub", ".rar", ".raw", ".rss", ".svg", ".tiff", ".txt", ".wav",
|
|
".wma", ".xml", ".xsl", ".zip"
|
|
};
|
|
int i = 1;
|
|
|
|
<script src="~/AssetsClient/js/jquery-ui.js"></script>
|
|
<link href="~/assetsadminnew/tasks/css/task-manager-create.css?ver=@adminVersion" rel="stylesheet" />
|
|
<link href="~/AssetsClient/css/select2.css?ver=@adminVersion" rel="stylesheet" />
|
|
<link href="~/assetsadminnew/tasks/css/detailmodal.css?ver=@adminVersion" rel="stylesheet" />
|
|
<link href="~/assetsadminnew/libs/sweetalert2/sweetalert2.min.css" rel="stylesheet" />
|
|
|
|
<style>
|
|
.modal-xl-taskTime {
|
|
max-width: 720px;
|
|
}
|
|
|
|
.title-sub {
|
|
font-size: 14px;
|
|
color: #838383;
|
|
}
|
|
</style>
|
|
|
|
}
|
|
|
|
|
|
<div class="modal-content">
|
|
|
|
<div class="modal-header d-block header-custom-color">
|
|
<button type="button" class="btn-close position-absolute text-start" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
<div class="text-center">جزئیات تسک دورهای</div>
|
|
|
|
</div>
|
|
|
|
<div class="modal-body p-0">
|
|
<div class="container-fluid">
|
|
<div class="row text-start">
|
|
<div class="col-12 col-md-6 mt-3">
|
|
<div class="title-sub" style="color: #838383">
|
|
ارجاع دهنده:
|
|
<span class="text-black">@Model.SenderName</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-6 text-md-end mt-3">
|
|
<div class="title-sub">
|
|
ارجاع گیرنده:
|
|
<span class="text-black">@Model.AssignedName?.First()</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-12 col-md-4 mt-3">
|
|
<div class="title-sub">
|
|
محدودیت:
|
|
<span class="text-black">
|
|
@(Model.TaskScheduleType == TaskScheduleType.Limited ? "محدود" : "نامحدود")
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-4 text-md-center mt-3">
|
|
<div class="title-sub">
|
|
دوره بازه:
|
|
<span class="text-black">
|
|
@{
|
|
var unitTypeText = Model.TaskScheduleUnitType switch
|
|
{
|
|
TaskScheduleUnitType.Day => "روزه",
|
|
TaskScheduleUnitType.Week => "هفته",
|
|
TaskScheduleUnitType.Month => "ماهه",
|
|
TaskScheduleUnitType.Year => "سال",
|
|
_ => "نامشخص"
|
|
};
|
|
}
|
|
@if (Model.UnitNumber == "first")
|
|
{
|
|
@("اول هفته")
|
|
}
|
|
else if (Model.UnitNumber == "last")
|
|
{
|
|
@("آخر هفته")
|
|
}
|
|
else
|
|
{
|
|
@Model.UnitNumber @unitTypeText
|
|
}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class="col-12 col-md-4 text-md-end mt-3">
|
|
<div class="title-sub">
|
|
تاریخ ایجاد:
|
|
<span class="text-black">@Model.CreationDateFa</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-12 mt-3">
|
|
<div class="title-sub">
|
|
طرف حساب:
|
|
<span class="text-black">@Model.ContractingPartyName</span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-12 mt-3">
|
|
<div class="title-sub">
|
|
عنوان وظیفه:
|
|
<span class="text-black">@Model.Title</span>
|
|
</div>
|
|
</div>
|
|
|
|
<hr class="mt-4"/>
|
|
|
|
<div class="col-12 mt-2">
|
|
<div class="title-sub">
|
|
توضیحات:
|
|
</div>
|
|
|
|
<div>
|
|
|
|
@if (!String.IsNullOrWhiteSpace(Model.Description))
|
|
{
|
|
<div class="taskDesc">
|
|
<div class="taskDescText" id="taskDescText">
|
|
@Html.Raw(Model.Description)
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
@if (Model.Medias.Count > 0)
|
|
{
|
|
@foreach (var item in Model.Medias)
|
|
{
|
|
if (item.Category == "صوت")
|
|
{
|
|
voice = item;
|
|
<div class="audio-player">
|
|
<div id="waveform" class="waveform"></div>
|
|
<button id="play-pause" class="player-btn play"></button>
|
|
</div>
|
|
}
|
|
}
|
|
}
|
|
|
|
@if (Model.Medias.Count > 0)
|
|
{
|
|
|
|
<div class="d-flex align-items-center justify-content-end mt-2">
|
|
|
|
@foreach (var item in Model.Medias)
|
|
{
|
|
if (item.Category == "فایل")
|
|
{
|
|
string fileName = System.IO.Path.GetFileName(item.Path);
|
|
string extension = System.IO.Path.GetExtension(fileName);
|
|
string nameWithoutExtension = fileName.Substring(0, fileName.LastIndexOf("."));
|
|
int maxLength = 20 - extension.Length;
|
|
int sliceLength = Math.Max((maxLength - 3) / 2, 0);
|
|
|
|
string start = nameWithoutExtension.Substring(0, Math.Min(sliceLength, nameWithoutExtension.Length));
|
|
string end = nameWithoutExtension.Substring(Math.Max(nameWithoutExtension.Length - sliceLength, 0));
|
|
|
|
var inBox = "inBox" + i;
|
|
@if (item.Path.EndsWith(".jpg") || item.Path.EndsWith(".jpeg") || item.Path.EndsWith(".png") || item.Path.EndsWith(".gif") || item.Path.EndsWith(".webp"))
|
|
{
|
|
<div class="upload-box empty inBox@(i)">
|
|
<section class="gallery">
|
|
<section class="container">
|
|
<div class="row p-0">
|
|
<div class="lightbox_img_wrap">
|
|
<img class="lightbox-enabled min-img" src="@Url.Page("./Index", "ShowPicture", new { filePath = item.Path })" data-imgsrc="@Url.Page("./Index", "ShowPicture", new { filePath = item.Path })" />
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</section>
|
|
<section class="lightbox-container">
|
|
|
|
<span class="material-symbols-outlined material-icons lightbox-btn left" id="left">
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="size-6">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M15.75 19.5 8.25 12l7.5-7.5" />
|
|
</svg>
|
|
</span>
|
|
<span class="material-symbols-outlined material-icons lightbox-btn right" id="right">
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" />
|
|
</svg>
|
|
</span>
|
|
<span id="close" class="close material-icons material-symbols-outlined">
|
|
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
|
</svg>
|
|
</span>
|
|
<div class="lightbox-image-wrapper">
|
|
<img alt="lightboximage" class="lightbox-image">
|
|
|
|
</div>
|
|
</section>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
if (fileExtensions.Contains(extension))
|
|
{
|
|
svgName = extension.TrimStart('.').ToLower();
|
|
<a href="@Url.Page("./Index", "GetFile", new { filePath = item.Path, id = 1 })"><img class="uploaded-file" src="/common/filesvg/@(svgName).svg" /></a>
|
|
}
|
|
else
|
|
{
|
|
<a href="@Url.Page("./Index", "GetFile", new { filePath = item.Path, id = 1 })"><img class="uploaded-file" src="/common/filesvg/unknow.svg" /></a>
|
|
}
|
|
}
|
|
|
|
i++;
|
|
}
|
|
}
|
|
|
|
</div>
|
|
}
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal-footer justify-content-center align-items-center p-2">
|
|
<div class="row w-100">
|
|
<div class="col-12 text-end">
|
|
<button type="button" class="btn-cancel2 d-flex align-items-center justify-content-center w-100" data-bs-dismiss="modal">انصراف</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="~/assetsclient/libs/jalaali-js/jalaali.js"></script>
|
|
<script src="~/assetsclient/js/site.js"></script>
|
|
<script src="~/admintheme/js/jquery.mask_1.14.16.min.js"></script>
|
|
<script src="~/AssetsAdminNew/libs/wavesurfer/wavesurfer.min.js"></script>
|
|
<script src="~/assetsadminnew/libs/sweetalert2/sweetalert2.all.min.js"></script>
|
|
<script>
|
|
var voiceSrc = '@(voice == null ? "" : @Url.Page("./Index", "ShowVoice", new { filePath = voice?.Path }))';
|
|
</script>
|
|
|
|
<script src="~/assetsadminnew/tasks/js/detailsschedulemodal.js?ver=@adminVersion"></script> |