Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Нужно написать подключаемый jQuery плагин с настройкой дизайна через отдельный css-файл (цветовая палитра, шрифты и т.п.) и возможностью опциональной настройки разного рода динамических параметров.

Для описания организационных единиц любого юридического лица используется следующая структура (таблица) данных:

1 ID ИД орг. единицы (целое число)

2 CompanyID ИД юр. лица (целое число)

3 CompanyDepLevelID Логический уровень в иерархии (целое число)

4 ParentDepID Прямая связь (целое число, значение ИД другого элемента из данной таблицы)

5 OtherDepID Косвенная связь (целое число, значение ИД другого элемента из данной таблицы)

6 IsDisplay Отображается ли (да/нет)

7 Title Сокращенное наименование (однострочный текст)

8 FullName Полное наименование (многострочный текст)

9 FoundationDate Дата создания (дата)

10 Email Адрес электронной почты (гиперссылка)

11 Site Электронный адрес сайта (гиперссылка)

12 Logo1 Эмблема (маленькая) (картинка)

13 MembersCount Штатная численность (целое число)

14 Chif ФИО руководителя (многострочный текст)

14 Description Описание (многострочный текст)

Как видно из таблицы, организационные единицы связываются друг с другом прямыми (показывают подчинение) и косвенными (показывают влияние) связями. При этом каждая организационная единица располагается на одном из логических уровней (от 1 до n).

Для удобного графического представления схемы организационных единиц одного юридического лица используется специальная форма, отражающая ориентированный древовидный граф (дерево) иерархической соподчинённости и связей организационных единиц между собой, градуированная по логическим уровням (макеты формы представлены см. на рис.).

Каждый узел располагается строго на своём логическом уровне (узлы разных уровней имеют разный цвет) и представляется в виде прямоугольного блока, содержащего произвольную html-разметку. К примеру (только для примера!) для узла могут выводится следующие элементы (нужно показать различные варианты):

- сокращённое наименование (атрибут Title) в виде жирного (bold) текста;

- ФИО руководителя в виде ссылки (атрибут Chief); При этом, если количественный состав орг. единицы равен 1 (атрибут MembersCount), то ФИО выводится как есть, а если больше 1, то перед ним выводится текст «Руководитель:» (этот текст не входит в ссылку);

- Пиктограмма «человечек», при нажатии на которую узел меняет свой цвет;

- Пиктограмма «карточка», при нажатии на которую всплывает модальное окно;

- Эмблема орг. единицы;

Прямые связи между узлами обозначаются непрерывными линиями, а косвенные - пунктирными, при этом связываться могут как узлы на одном уровне, так и на разных, и связь при этом может идти через несколько уровней (например один узел расположен на 1 уровне, а подчинённый ему на 3 уровне).

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

В нижней правой части схемы расположена текстовая информация, отражающая общее количество узлов на схеме.

При первом открытии на схему выводится только 3 первых логических уровня (параметр настраивается), и все отображаемые при этом узлы выводятся в масштабе 90% от их оригинального размера (параметр настраивается).

При выборе любого узла на схеме его размер становится равным 100%, а размер всех остальных узлов на схеме изменяется (масштабируется) и становится равным:

- у узлов на том же уровне, связанных с текущим узлом, масштаб меньше на 10%;

- у прочих узлов того же уровня, не связанных с текущим узлом, масштаб меньше на 5%;

- на каждом следующем уровне по мере удаления от выбранного уровня как вверх так и вниз, масштаб узлов, связанных с текущим узлом, которые становятся текущими для своего уровня, уменьшается на 10%, при этом масштаб остальных узлов, связанных и несвязанных с текущими, на любом уровне рассчитывается по той же схеме;

- минимальный размер узла (при наличии большого числа уровней): 5%.

На форме используется также дополнительный элемент управления (например, ползунок), меняющий масштаб отображения всей схемы, относительно её первоначально отображения, с учётом взаимных пропорций узлов, как это описано выше.

11 лет назад
refinance
Роман 
36 летРоссия
11 лет в сервисе
Был
10 лет назад