Доска Канбан

Пример kanban доски

Это режим компонента Таблица

Позволяет вывести данные в виде канбан доски с разделением по статусам и возможностью переноса карточки в другой статус. 

Для показа канбан доски, необходимо сделать следующее: 
  1. Создать таблицу статусов с колонками id (PK),name, color. Это статусы элементов, выводятся наверху канбан доски. 
  2. Во втором запросе GetItems выбрать статусы
    CREATE TABLE dbo.#result (id int, name nvarchar(256), color nvarchar(64))
    
    declare @filterName nvarchar(128)
    select @filterName = Value from @filters where [Key] = 'name'
    
    insert into #result
    SELECT [id],
           [name],
           [color]
    FROM [demo].[dbo].[as_en_statuses] -- забираем статусы
    WHERE entityID in (select id from as_en_entities where code='order')
    ORDER BY ord
  3. В третьем select в GetItems указать тип вывода viewType='kanban'
  4. В четвертом select в GetItems (вместо данных футера) выводим данные карточек канбана (именно с такой моделью данных). 
    SELECT ord_orders.id,
           as_en_entityInstances.statusID,-- Статус элемента выводится в середине карточки
           customerName name, customerContact text, -- Если указан код формы, то
           'Комментарий заказчика: ' + customerComment tooltip, -- будет ссылкой на мод.форму
           convert(nvarchar, ord_orders.created, 120) bottomText, '' customClass--css класс
    FROM ord_orders
    INNER JOIN as_en_entityInstances on as_en_entityInstances.id = ord_orders.instanceID
  5. Дополнительно в 3 запросе select можно настроить следующие параметры: 
    1. kanbanItemForm- код формы. Если указан, то при клике на карточку доски в модальном окне будет вызываться форма
      (форму с указанным кодом необходимо будет реализовать отдельно, ей передается itemID=id сущности из 4 запроса select).
      Также  этот параметр (kanbanItemForm- ) можно передавать и в 4 запросе для каждой карточки отдельно,
      чтобы выводить разные формы для разных карточек. 
    2. kanbanItemFormTitle - заголовок диалогового окна формы. 
  6. Для смены статуса необходимо реализовать метод обновления updateField для таблицы. Передаваемое поле задано жестко - statusID. 
CREATE PROCEDURE [dbo].[crud_kanbanOrders_updateField]
	@itemID int,
	@field nvarchar(64),
	@value nvarchar(max),
	@username nvarchar(64)
AS
BEGIN

if(@field = 'statusID') begin
   update as_en_entityInstances
   set statusID = cast(@value as int)
   where id in (select instanceID from ord_orders where id = @itemID)

end else if(@field = 'YYY') begin
    update as_trace set code = @value
    where id = @itemID

end else begin
    select 'Невалидный код свойства' Msg, 0 Result
    return
end

select '' Msg, 1 Result

END

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Бесплатное обучение разработке на Falcon Space

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space.
Примечание