Files
prod/frontend/dist/assets/TasksView-Aox-BjX2.js
T
2026-10-27 10:22:58 +07:00

1 line
28 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{Bn as e,Ct as t,Dt as n,Ot as r,Sn as i,St as a,Wt as o,Yt as s,_n as c,bt as l,hn as u,ht as d,kt as f,on as p,qt as m,wt as h,xt as g}from"./client-Cla4nwje.js";import{o as ee}from"./utils-CWEDSsX_.js";import{t as _}from"./Card-CrMmjCG9.js";import{i as v,r as te}from"./ui-BA7-de63.js";import{c as y,l as b,o as x,s as S}from"./Suffix-DzMq4Iwi.js";import{t as C}from"./Modal-CN5nME2y.js";import{n as w,t as ne}from"./DatePicker-9AZnBsvW.js";import{t as T}from"./FormItem-BA3gn3PT.js";import{t as E}from"./Button-VoKvEQ76.js";import{t as D}from"./Select-B9I1NLMN.js";import{t as O}from"./_plugin-vue_export-helper-B7eW7EFJ.js";import{t as k}from"./Input-DzFzi-R9.js";import{t as A}from"./Alert-fL3Q-g2e.js";import{t as j}from"./Flex-DuV0IffR.js";import{t as M}from"./Spin-BcL1HAqx.js";import{D as re,i as ie,pt as N}from"./index-7v6g2BIQ.js";import{t as ae}from"./HeaderMenu-DU5PaOxU.js";var oe={name:`ru-RU`,global:{undo:`Отменить`,redo:`Вернуть`,confirm:`Подтвердить`,clear:`Очистить`},Popconfirm:{positiveText:`Подтвердить`,negativeText:`Отмена`},Cascader:{placeholder:`Выбрать`,loading:`Загрузка`,loadingRequiredMessage:e=>`Загрузите все дочерние узлы ${e} прежде чем они станут необязательными`},Time:{dateFormat:`yyyy-MM-dd`,dateTimeFormat:`yyyy-MM-dd HH:mm:ss`},DatePicker:{yearFormat:`yyyy`,monthFormat:`MMM`,dayFormat:`eeeeee`,yearTypeFormat:`yyyy`,monthTypeFormat:`yyyy-MM`,dateFormat:`yyyy-MM-dd`,dateTimeFormat:`yyyy-MM-dd HH:mm:ss`,quarterFormat:`yyyy-qqq`,weekFormat:`YYYY-w`,clear:`Очистить`,now:`Сейчас`,confirm:`Подтвердить`,selectTime:`Выбрать время`,selectDate:`Выбрать дату`,datePlaceholder:`Выбрать дату`,datetimePlaceholder:`Выбрать дату и время`,monthPlaceholder:`Выберите месяц`,yearPlaceholder:`Выберите год`,quarterPlaceholder:`Выберите квартал`,weekPlaceholder:`Select Week`,startDatePlaceholder:`Дата начала`,endDatePlaceholder:`Дата окончания`,startDatetimePlaceholder:`Дата и время начала`,endDatetimePlaceholder:`Дата и время окончания`,startMonthPlaceholder:`Начало месяца`,endMonthPlaceholder:`Конец месяца`,monthBeforeYear:!0,firstDayOfWeek:0,today:`Сегодня`},DataTable:{checkTableAll:`Выбрать все в таблице`,uncheckTableAll:`Отменить все в таблице`,confirm:`Подтвердить`,clear:`Очистить`},LegacyTransfer:{sourceTitle:`Источник`,targetTitle:`Назначение`},Transfer:{selectAll:`Выбрать все`,unselectAll:`Снять все`,clearAll:`Очистить`,total:e=>`Всего ${e} элементов`,selected:e=>`${e} выбрано элементов`},Empty:{description:`Нет данных`},Select:{placeholder:`Выбрать`},TimePicker:{placeholder:`Выбрать время`,positiveText:`OK`,negativeText:`Отменить`,now:`Сейчас`,clear:`Очистить`},Pagination:{goto:`Перейти`,selectionSuffix:`страница`},DynamicTags:{add:`Добавить`},Log:{loading:`Загрузка`},Input:{placeholder:`Ввести`},InputNumber:{placeholder:`Ввести`},DynamicInput:{create:`Создать`},ThemeEditor:{title:`Редактор темы`,clearAllVars:`Очистить все`,clearSearch:`Очистить поиск`,filterCompName:`Фильтровать по имени компонента`,filterVarName:`Фильтровать имена переменных`,import:`Импорт`,export:`Экспорт`,restore:`Сбросить`},Image:{tipPrevious:`Предыдущее изображение (←)`,tipNext:`Следующее изображение (→)`,tipCounterclockwise:`Против часовой стрелки`,tipClockwise:`По часовой стрелке`,tipZoomOut:`Отдалить`,tipZoomIn:`Приблизить`,tipDownload:`Скачать`,tipClose:`Закрыть (Esc)`,tipOriginalSize:`Вернуть исходный размер`},Heatmap:{less:`меньше`,more:`больше`,monthFormat:`MMM`,weekdayFormat:`eeeeee`}};function P(e,t){if(e.one!==void 0&&t===1)return e.one;let n=t%10,r=t%100;return n===1&&r!==11?e.singularNominative.replace(`{{count}}`,String(t)):n>=2&&n<=4&&(r<10||r>20)?e.singularGenitive.replace(`{{count}}`,String(t)):e.pluralGenitive.replace(`{{count}}`,String(t))}function F(e){return(t,n)=>n?.addSuffix?n.comparison&&n.comparison>0?e.future?P(e.future,t):`через `+P(e.regular,t):e.past?P(e.past,t):P(e.regular,t)+` назад`:P(e.regular,t)}var I={lessThanXSeconds:F({regular:{one:`меньше секунды`,singularNominative:`меньше {{count}} секунды`,singularGenitive:`меньше {{count}} секунд`,pluralGenitive:`меньше {{count}} секунд`},future:{one:`меньше, чем через секунду`,singularNominative:`меньше, чем через {{count}} секунду`,singularGenitive:`меньше, чем через {{count}} секунды`,pluralGenitive:`меньше, чем через {{count}} секунд`}}),xSeconds:F({regular:{singularNominative:`{{count}} секунда`,singularGenitive:`{{count}} секунды`,pluralGenitive:`{{count}} секунд`},past:{singularNominative:`{{count}} секунду назад`,singularGenitive:`{{count}} секунды назад`,pluralGenitive:`{{count}} секунд назад`},future:{singularNominative:`через {{count}} секунду`,singularGenitive:`через {{count}} секунды`,pluralGenitive:`через {{count}} секунд`}}),halfAMinute:(e,t)=>t?.addSuffix?t.comparison&&t.comparison>0?`через полминуты`:`полминуты назад`:`полминуты`,lessThanXMinutes:F({regular:{one:`меньше минуты`,singularNominative:`меньше {{count}} минуты`,singularGenitive:`меньше {{count}} минут`,pluralGenitive:`меньше {{count}} минут`},future:{one:`меньше, чем через минуту`,singularNominative:`меньше, чем через {{count}} минуту`,singularGenitive:`меньше, чем через {{count}} минуты`,pluralGenitive:`меньше, чем через {{count}} минут`}}),xMinutes:F({regular:{singularNominative:`{{count}} минута`,singularGenitive:`{{count}} минуты`,pluralGenitive:`{{count}} минут`},past:{singularNominative:`{{count}} минуту назад`,singularGenitive:`{{count}} минуты назад`,pluralGenitive:`{{count}} минут назад`},future:{singularNominative:`через {{count}} минуту`,singularGenitive:`через {{count}} минуты`,pluralGenitive:`через {{count}} минут`}}),aboutXHours:F({regular:{singularNominative:`около {{count}} часа`,singularGenitive:`около {{count}} часов`,pluralGenitive:`около {{count}} часов`},future:{singularNominative:`приблизительно через {{count}} час`,singularGenitive:`приблизительно через {{count}} часа`,pluralGenitive:`приблизительно через {{count}} часов`}}),xHours:F({regular:{singularNominative:`{{count}} час`,singularGenitive:`{{count}} часа`,pluralGenitive:`{{count}} часов`}}),xDays:F({regular:{singularNominative:`{{count}} день`,singularGenitive:`{{count}} дня`,pluralGenitive:`{{count}} дней`}}),aboutXWeeks:F({regular:{singularNominative:`около {{count}} недели`,singularGenitive:`около {{count}} недель`,pluralGenitive:`около {{count}} недель`},future:{singularNominative:`приблизительно через {{count}} неделю`,singularGenitive:`приблизительно через {{count}} недели`,pluralGenitive:`приблизительно через {{count}} недель`}}),xWeeks:F({regular:{singularNominative:`{{count}} неделя`,singularGenitive:`{{count}} недели`,pluralGenitive:`{{count}} недель`}}),aboutXMonths:F({regular:{singularNominative:`около {{count}} месяца`,singularGenitive:`около {{count}} месяцев`,pluralGenitive:`около {{count}} месяцев`},future:{singularNominative:`приблизительно через {{count}} месяц`,singularGenitive:`приблизительно через {{count}} месяца`,pluralGenitive:`приблизительно через {{count}} месяцев`}}),xMonths:F({regular:{singularNominative:`{{count}} месяц`,singularGenitive:`{{count}} месяца`,pluralGenitive:`{{count}} месяцев`}}),aboutXYears:F({regular:{singularNominative:`около {{count}} года`,singularGenitive:`около {{count}} лет`,pluralGenitive:`около {{count}} лет`},future:{singularNominative:`приблизительно через {{count}} год`,singularGenitive:`приблизительно через {{count}} года`,pluralGenitive:`приблизительно через {{count}} лет`}}),xYears:F({regular:{singularNominative:`{{count}} год`,singularGenitive:`{{count}} года`,pluralGenitive:`{{count}} лет`}}),overXYears:F({regular:{singularNominative:`больше {{count}} года`,singularGenitive:`больше {{count}} лет`,pluralGenitive:`больше {{count}} лет`},future:{singularNominative:`больше, чем через {{count}} год`,singularGenitive:`больше, чем через {{count}} года`,pluralGenitive:`больше, чем через {{count}} лет`}}),almostXYears:F({regular:{singularNominative:`почти {{count}} год`,singularGenitive:`почти {{count}} года`,pluralGenitive:`почти {{count}} лет`},future:{singularNominative:`почти через {{count}} год`,singularGenitive:`почти через {{count}} года`,pluralGenitive:`почти через {{count}} лет`}})},L=(e,t,n)=>I[e](t,n),R={date:b({formats:{full:`EEEE, d MMMM y 'г.'`,long:`d MMMM y 'г.'`,medium:`d MMM y 'г.'`,short:`dd.MM.y`},defaultWidth:`full`}),time:b({formats:{full:`H:mm:ss zzzz`,long:`H:mm:ss z`,medium:`H:mm:ss`,short:`H:mm`},defaultWidth:`full`}),dateTime:b({formats:{any:`{{date}}, {{time}}`},defaultWidth:`any`})},z=[`воскресенье`,`понедельник`,`вторник`,`среду`,`четверг`,`пятницу`,`субботу`];function B(e){let t=z[e];switch(e){case 0:return`'в прошлое `+t+` в' p`;case 1:case 2:case 4:return`'в прошлый `+t+` в' p`;case 3:case 5:case 6:return`'в прошлую `+t+` в' p`}}function V(e){let t=z[e];return e===2?`'во `+t+` в' p`:`'в `+t+` в' p`}function H(e){let t=z[e];switch(e){case 0:return`'в следующее `+t+` в' p`;case 1:case 2:case 4:return`'в следующий `+t+` в' p`;case 3:case 5:case 6:return`'в следующую `+t+` в' p`}}var U={lastWeek:(e,t,n)=>{let r=e.getDay();return w(e,t,n)?V(r):B(r)},yesterday:`'вчера в' p`,today:`'сегодня в' p`,tomorrow:`'завтра в' p`,nextWeek:(e,t,n)=>{let r=e.getDay();return w(e,t,n)?V(r):H(r)},other:`P`},se={name:`ru-RU`,locale:{code:`ru`,formatDistance:L,formatLong:R,formatRelative:(e,t,n,r)=>{let i=U[e];return typeof i==`function`?i(t,n,r):i},localize:{ordinalNumber:(e,t)=>{let n=Number(e),r=t?.unit,i;return i=r===`date`?`-е`:r===`week`||r===`minute`||r===`second`?`-я`:`-й`,n+i},era:y({values:{narrow:[`до н.э.`,`н.э.`],abbreviated:[`до н. э.`,`н. э.`],wide:[`до нашей эры`,`нашей эры`]},defaultWidth:`wide`}),quarter:y({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`1-й кв.`,`2-й кв.`,`3-й кв.`,`4-й кв.`],wide:[`1-й квартал`,`2-й квартал`,`3-й квартал`,`4-й квартал`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:y({values:{narrow:[`Я`,`Ф`,`М`,`А`,`М`,`И`,`И`,`А`,`С`,`О`,`Н`,`Д`],abbreviated:[`янв.`,`фев.`,`март`,`апр.`,`май`,`июнь`,`июль`,`авг.`,`сент.`,`окт.`,`нояб.`,`дек.`],wide:[`январь`,`февраль`,`март`,`апрель`,`май`,`июнь`,`июль`,`август`,`сентябрь`,`октябрь`,`ноябрь`,`декабрь`]},defaultWidth:`wide`,formattingValues:{narrow:[`Я`,`Ф`,`М`,`А`,`М`,`И`,`И`,`А`,`С`,`О`,`Н`,`Д`],abbreviated:[`янв.`,`фев.`,`мар.`,`апр.`,`мая`,`июн.`,`июл.`,`авг.`,`сент.`,`окт.`,`нояб.`,`дек.`],wide:[`января`,`февраля`,`марта`,`апреля`,`мая`,`июня`,`июля`,`августа`,`сентября`,`октября`,`ноября`,`декабря`]},defaultFormattingWidth:`wide`}),day:y({values:{narrow:[`В`,`П`,`В`,`С`,`Ч`,`П`,`С`],short:[`вс`,`пн`,`вт`,`ср`,`чт`,`пт`,`сб`],abbreviated:[`вск`,`пнд`,`втр`,`срд`,`чтв`,`птн`,`суб`],wide:[`воскресенье`,`понедельник`,`вторник`,`среда`,`четверг`,`пятница`,`суббота`]},defaultWidth:`wide`}),dayPeriod:y({values:{narrow:{am:`ДП`,pm:`ПП`,midnight:`полн.`,noon:`полд.`,morning:`утро`,afternoon:`день`,evening:`веч.`,night:`ночь`},abbreviated:{am:`ДП`,pm:`ПП`,midnight:`полн.`,noon:`полд.`,morning:`утро`,afternoon:`день`,evening:`веч.`,night:`ночь`},wide:{am:`ДП`,pm:`ПП`,midnight:`полночь`,noon:`полдень`,morning:`утро`,afternoon:`день`,evening:`вечер`,night:`ночь`}},defaultWidth:`any`,formattingValues:{narrow:{am:`ДП`,pm:`ПП`,midnight:`полн.`,noon:`полд.`,morning:`утра`,afternoon:`дня`,evening:`веч.`,night:`ночи`},abbreviated:{am:`ДП`,pm:`ПП`,midnight:`полн.`,noon:`полд.`,morning:`утра`,afternoon:`дня`,evening:`веч.`,night:`ночи`},wide:{am:`ДП`,pm:`ПП`,midnight:`полночь`,noon:`полдень`,morning:`утра`,afternoon:`дня`,evening:`вечера`,night:`ночи`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:x({matchPattern:/^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:S({matchPatterns:{narrow:/^((до )?н\.?\s?э\.?)/i,abbreviated:/^((до )?н\.?\s?э\.?)/i,wide:/^(до нашей эры|нашей эры|наша эра)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^д/i,/^н/i]},defaultParseWidth:`any`}),quarter:S({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^[1234](-?[ыои]?й?)? кв.?/i,wide:/^[1234](-?[ыои]?й?)? квартал/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:S({matchPatterns:{narrow:/^[яфмаисонд]/i,abbreviated:/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,wide:/^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^я/i,/^ф/i,/^м/i,/^а/i,/^м/i,/^и/i,/^и/i,/^а/i,/^с/i,/^о/i,/^н/i,/^я/i],any:[/^я/i,/^ф/i,/^мар/i,/^ап/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^ав/i,/^с/i,/^о/i,/^н/i,/^д/i]},defaultParseWidth:`any`}),day:S({matchPatterns:{narrow:/^[впсч]/i,short:/^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,abbreviated:/^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,wide:/^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^в/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^в[ос]/i,/^п[он]/i,/^в/i,/^ср/i,/^ч/i,/^п[ят]/i,/^с[уб]/i]},defaultParseWidth:`any`}),dayPeriod:S({matchPatterns:{narrow:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,wide:/^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i},defaultMatchWidth:`wide`,parsePatterns:{any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^у/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1}}};function ce(e,t=new Date){let n=`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`;return e.status!==`done`&&!!e.dueDate&&e.dueDate<n}var le={class:`center-block-custom`},ue={class:`width1200`},de={class:`board`},fe=[`aria-label`,`onDrop`],pe={class:`task-id`},me={class:`task-title`},he={class:`server-description`},W=O(f({__name:`TasksPage`,setup(f){let y=ie(),b=te(),x=[{label:`Новая`,value:`new`},{label:`В работе`,value:`in_progress`},{label:`На проверке`,value:`review`},{label:`Готово`,value:`done`}],S=c([]),w=c([]),O=c(!1),P=c(!0),F=c(!1),I=c(``),L=c(`all`),R=c(!1),z=c(),B=c(),V=c(null),H=c(),U=u({title:``,description:``,status:`new`,assigneeID:null,dueDate:null}),W=l(()=>w.value.map(e=>({label:e.name||`#${e.ID}`,value:e.ID}))),G=l(()=>[{label:`Все ответственные`,value:`all`},{label:`Без ответственного`,value:0},...W.value,...S.value.filter(e=>e.assigneeID&&!w.value.some(t=>t.ID===e.assigneeID)).filter((e,t,n)=>n.findIndex(t=>t.assigneeID===e.assigneeID)===t).map(e=>({label:e.assigneeName||`#${e.assigneeID}`,value:e.assigneeID}))]),ge=l(()=>{if(!U.assigneeID||W.value.some(e=>e.value===U.assigneeID))return W.value;let e=S.value.find(e=>e.ID===z.value);return[...W.value,{label:`${e?.assigneeName||`#${U.assigneeID}`} (роль отозвана)`,value:U.assigneeID,disabled:!0}]}),_e=l(()=>x.map(e=>({...e,tasks:S.value.filter(t=>t.status===e.value&&(L.value===`all`||(t.assigneeID||0)===L.value))}))),K=l(()=>S.value.find(e=>e.ID===z.value)),q=l(()=>U.title.trim()?[...U.title.trim()].length>255?`Не более 255 символов`:void 0:`Введите название задачи`),J=l(()=>[...U.description].length>1e4?`Не более 10 000 символов`:void 0),Y=l(()=>z.value!==void 0&&K.value!==void 0&&K.value.version!==B.value),X=l(()=>z.value!==void 0&&!K.value);function ve(e){return x.find(t=>t.value===e)?.label||e}function Z(e){return e?e.split(`-`).reverse().join(`.`):`Без срока`}async function Q(){if(!(P.value||F.value)){P.value=!0,I.value=``;try{let e=await y.GetPermissions({});if(O.value=e.permissions?.includes(`tasks_page`)||!1,!O.value)return;let[t,n]=await Promise.all([y.GetTasks({}),y.GetTaskAssignees({})]);S.value=t.tasks||[],w.value=n.assignees||[]}catch(e){I.value=e instanceof Error&&e.message===`unauthorized`?`Войдите под учётной записью разработчика или администратора`:e instanceof Error?e.message:`Не удалось загрузить задачи`,b.error(I.value)}finally{P.value=!1}}}function $(e){F.value||(z.value=e?.ID,B.value=e?.version,Object.assign(U,{title:e?.title||``,description:e?.description||``,status:e?.status||`new`,assigneeID:e?.assigneeID??null,dueDate:e?.dueDate||null}),R.value=!0)}async function ye(){if(F.value||P.value||Y.value||X.value)return;let e=U.title.trim();if(!e||[...e].length>255||[...U.description].length>1e4){b.error(`Введите название до 255 символов и описание до 10 000 символов`);return}F.value=!0;try{let t={title:e,description:U.description,status:U.status,assigneeID:U.assigneeID??void 0,dueDate:U.dueDate||``},n=z.value===void 0?await y.CreateTask(t):await y.UpdateTask({...t,ID:z.value,version:B.value});if(n.task){let e=n.task;S.value=z.value===void 0?[e,...S.value]:S.value.map(t=>t.ID===e.ID?e:t)}R.value=!1,b.success(`Задача сохранена`)}catch(e){b.error(e instanceof Error?e.message:`Не удалось сохранить задачу`)}finally{F.value=!1}await Q()}function be(e,t){if(F.value||P.value||!e.dataTransfer){e.preventDefault();return}H.value=t.ID,e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,String(t.ID))}async function xe(e){let t=S.value.find(e=>e.ID===H.value);if(H.value=void 0,!(!t||t.status===e||F.value||P.value)){F.value=!0;try{let n=await y.SetTaskStatus({ID:t.ID,status:e,version:t.version});if(n.task){let e=n.task;S.value=S.value.map(n=>n.ID===t.ID?e:n)}b.success(`Статус изменён`)}catch(e){b.error(e instanceof Error?e.message:`Не удалось изменить статус`)}finally{F.value=!1}await Q()}}async function Se(){if(!(!V.value||F.value||P.value)){F.value=!0;try{await y.DeleteTask({ID:V.value.ID,version:V.value.version}),S.value=S.value.filter(e=>e.ID!==V.value?.ID),V.value=null,R.value=!1,b.success(`Задача удалена`)}catch(e){b.error(e instanceof Error?e.message:`Не удалось удалить задачу`),V.value=null}finally{F.value=!1}await Q()}}function Ce(){B.value=K.value?.version}return o(()=>{P.value=!1,Q()}),(o,c)=>(m(),a(i(re),{locale:i(oe),"date-locale":i(se)},{default:p(()=>[g(`div`,le,[g(`div`,ue,[r(i(j),{class:`toolbar`,justify:`space-between`,align:`center`},{default:p(()=>[c[16]||=g(`h1`,null,`Задачи`,-1),r(i(j),null,{default:p(()=>[r(i(E),{loading:P.value,disabled:F.value,onClick:Q},{default:p(()=>[...c[14]||=[n(`Обновить`,-1)]]),_:1},8,[`loading`,`disabled`]),O.value?(m(),a(i(E),{key:0,type:`primary`,disabled:F.value||P.value,onClick:c[0]||=e=>$()},{default:p(()=>[...c[15]||=[n(` Создать задачу `,-1)]]),_:1},8,[`disabled`])):t(``,!0)]),_:1})]),_:1}),I.value?(m(),a(i(A),{key:0,type:`error`,class:`notice`},{default:p(()=>[n(e(I.value),1)]),_:1})):t(``,!0),P.value&&!O.value?(m(),a(i(M),{key:1,class:`initial-loading`})):!O.value&&!I.value?(m(),a(i(A),{key:2,type:`warning`},{default:p(()=>[...c[17]||=[n(` Страница доступна разработчикам и администратору. `,-1)]]),_:1})):t(``,!0),O.value?(m(),h(d,{key:3},[r(i(D),{value:L.value,"onUpdate:value":c[1]||=e=>L.value=e,options:G.value,"aria-label":`Фильтр по ответственному`,class:`assignee-filter`},null,8,[`value`,`options`]),r(i(M),{show:P.value||F.value},{default:p(()=>[g(`div`,de,[(m(!0),h(d,null,s(_e.value,o=>(m(),h(`section`,{key:o.value,class:`column`,"aria-label":o.label,onDragover:c[3]||=N(()=>{},[`prevent`]),onDrop:N(e=>xe(o.value),[`prevent`])},[r(i(j),{justify:`space-between`,align:`center`,class:`column-heading`},{default:p(()=>[g(`h2`,null,e(o.label),1),r(i(v),{size:`small`},{default:p(()=>[n(e(o.tasks.length),1)]),_:2},1024)]),_:2},1024),o.tasks.length?t(``,!0):(m(),a(i(ee),{key:0,description:`Нет задач`,class:`empty-column`})),(m(!0),h(d,null,s(o.tasks,o=>(m(),a(i(_),{key:o.ID,class:`task-card`,size:`small`,draggable:!F.value&&!P.value,onDragstart:e=>be(e,o),onDragend:c[2]||=e=>H.value=void 0},{default:p(()=>[g(`div`,pe,`#`+e(o.ID),1),g(`h3`,me,e(o.title),1),g(`p`,null,e(o.assigneeName||`Без ответственного`),1),r(i(j),{align:`center`,class:`task-due`},{default:p(()=>[g(`span`,null,e(Z(o.dueDate)),1),i(ce)(o)?(m(),a(i(v),{key:0,type:`error`,size:`small`},{default:p(()=>[...c[18]||=[n(`Просрочена`,-1)]]),_:1})):t(``,!0)]),_:2},1024),r(i(E),{size:`small`,disabled:F.value||P.value,onClick:e=>$(o)},{default:p(()=>[...c[19]||=[n(` Открыть задачу `,-1)]]),_:1},8,[`disabled`,`onClick`])]),_:2},1032,[`draggable`,`onDragstart`]))),128))],40,fe))),128))])]),_:1},8,[`show`])],64)):t(``,!0)])]),r(ae,{active:`tasks`}),r(i(C),{show:R.value,"onUpdate:show":c[11]||=e=>R.value=e,"mask-closable":!F.value,"close-on-esc":!F.value},{default:p(()=>[r(i(_),{class:`task-modal`,title:z.value?`Задача #${z.value}`:`Новая задача`,role:`dialog`,"aria-modal":`true`},{default:p(()=>[X.value?(m(),a(i(A),{key:0,type:`warning`,class:`notice`},{default:p(()=>[...c[20]||=[n(` Задача удалена другим пользователем. Черновик сохранён в этой форме. `,-1)]]),_:1})):t(``,!0),Y.value&&K.value?(m(),a(i(A),{key:1,type:`warning`,class:`notice`},{default:p(()=>[c[22]||=n(` Задача изменена другим пользователем. Ваш черновик сохранён. Актуальные данные: `,-1),g(`p`,null,e(K.value.title)+` — `+e(ve(K.value.status)),1),g(`p`,null,e(K.value.assigneeName||`Без ответственного`)+` · `+e(Z(K.value.dueDate)),1),g(`p`,he,e(K.value.description||`Без описания`),1),r(i(E),{disabled:P.value||F.value,onClick:Ce},{default:p(()=>[...c[21]||=[n(` Продолжить с моим черновиком `,-1)]]),_:1},8,[`disabled`])]),_:1})):t(``,!0),r(i(T),{label:`Название *`,"label-for":`task-title`,feedback:q.value,"validation-status":q.value?`error`:void 0},{default:p(()=>[r(i(k),{"input-props":{id:`task-title`},value:U.title,"onUpdate:value":c[4]||=e=>U.title=e,disabled:F.value,placeholder:`Название задачи`},null,8,[`value`,`disabled`])]),_:1},8,[`feedback`,`validation-status`]),r(i(T),{label:`Описание`,"label-for":`task-description`,feedback:J.value,"validation-status":J.value?`error`:void 0},{default:p(()=>[r(i(k),{"input-props":{id:`task-description`},value:U.description,"onUpdate:value":c[5]||=e=>U.description=e,type:`textarea`,disabled:F.value,placeholder:`Что нужно сделать`,autosize:{minRows:3,maxRows:10}},null,8,[`value`,`disabled`])]),_:1},8,[`feedback`,`validation-status`]),r(i(T),{label:`Статус`,"label-for":`task-status`},{default:p(()=>[r(i(D),{"input-props":{id:`task-status`,"aria-label":`Статус`},filterable:``,value:U.status,"onUpdate:value":c[6]||=e=>U.status=e,options:x,disabled:F.value},null,8,[`value`,`disabled`])]),_:1}),r(i(T),{label:`Ответственный`,"label-for":`task-assignee`},{default:p(()=>[r(i(D),{"input-props":{id:`task-assignee`,"aria-label":`Ответственный`},value:U.assigneeID,"onUpdate:value":c[7]||=e=>U.assigneeID=e,options:ge.value,disabled:F.value,placeholder:`Без ответственного`,clearable:``,filterable:``},null,8,[`value`,`options`,`disabled`])]),_:1}),r(i(T),{label:`Срок выполнения`,"label-for":`task-due-date`},{default:p(()=>[r(i(ne),{id:`task-due-date`,"formatted-value":U.dueDate,"onUpdate:formattedValue":c[8]||=e=>U.dueDate=e,type:`date`,placeholder:`Дата завершения`,"value-format":`yyyy-MM-dd`,format:`dd.MM.yyyy`,disabled:F.value,clearable:``,class:`date-picker`},null,8,[`formatted-value`,`disabled`])]),_:1}),r(i(j),{justify:`space-between`},{default:p(()=>[z.value&&K.value?(m(),a(i(E),{key:0,type:`error`,disabled:F.value||P.value,onClick:c[9]||=e=>V.value=K.value},{default:p(()=>[...c[23]||=[n(`Удалить`,-1)]]),_:1},8,[`disabled`])):t(``,!0),r(i(j),null,{default:p(()=>[r(i(E),{disabled:F.value,onClick:c[10]||=e=>R.value=!1},{default:p(()=>[...c[24]||=[n(`Закрыть`,-1)]]),_:1},8,[`disabled`]),r(i(E),{type:`primary`,loading:F.value,disabled:P.value||Y.value||X.value||!!q.value||!!J.value,onClick:ye},{default:p(()=>[...c[25]||=[n(`Сохранить`,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`title`])]),_:1},8,[`show`,`mask-closable`,`close-on-esc`]),r(i(C),{show:!!V.value,"mask-closable":!F.value,"close-on-esc":!F.value,"onUpdate:show":c[13]||=e=>!F.value&&(V.value=null)},{default:p(()=>[r(i(_),{class:`task-modal`,title:`Удалить задачу?`,role:`dialog`,"aria-modal":`true`},{default:p(()=>[g(`p`,null,`Удалить «`+e(V.value?.title)+`»? Это действие необратимо.`,1),r(i(j),{justify:`end`,class:`delete-actions`},{default:p(()=>[r(i(E),{disabled:F.value,onClick:c[12]||=e=>V.value=null},{default:p(()=>[...c[26]||=[n(`Отмена`,-1)]]),_:1},8,[`disabled`]),r(i(E),{type:`error`,loading:F.value,onClick:Se},{default:p(()=>[...c[27]||=[n(`Удалить`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`show`,`mask-closable`,`close-on-esc`])]),_:1},8,[`locale`,`date-locale`]))}}),[[`__scopeId`,`data-v-ff75f974`]]),G=f({__name:`TasksView`,setup(e){return(e,t)=>(m(),a(W))}});export{G as default};