1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaoka2017-easy-flow

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

easy-flow

Демонстрационный адрес

Спасибо платформе кода Cloud за бесплатный сервис Gitee Pages, доступ может быть немного медленным.

Демонстрационный адрес

Эффектные изображения

Изображение

Описание проекта

easy-flow — это дизайнер процессов на основе VUE+ElementUI+JsPlumb. Узлы можно перетаскивать с помощью плагина vuedraggable.

Функциональное описание

  • Поддержка перетаскивания для добавления узлов.
  • Возможность устанавливать условия, нажимая на линию.
  • Поддержка загрузки данных для создания схемы процесса.
  • Можно перетаскивать холст.
  • Поддерживаются настраиваемые стили линий, якорей и типов.
  • Поддерживается принудительно управляемая диаграмма.

Журнал обновлений

2020-11-12

  • Добавлена адаптивная компоновка принудительно управляемой диаграммы, нужно только предоставить узлы, отношения между узлами и автоматически рассчитать координаты (лучше, чем без координат).

2020-08-06

  • Добавлено несколько примеров самосоединения.
  • Добавлены масштабирование (всё ещё есть некоторые проблемы) и использование инструкций.
  • Добавлен обратный вызов перетаскивания.
  • Узел имеет параметр viewOnly, который можно использовать для управления тем, доступен ли узел только для чтения.

2020-06-14

  • Добавлено: пользовательские типы линий.
  • Добавлено: настраиваемые якоря для линий.
  • Добавлено: настройка стилей линий.

2020-05-10

  • Модификация исходного кода JsPlumb.
  • Поддержка настройки и изменения меток.
  • Добавление состояния узла.

2020-05-06

  • Новое: поддержка условий для линий.
  • Рефакторинг: рефакторинг макета.
  • Удалено: показать контроль отображения параметров.
  • Новое: перетаскивание холста.

2020-03-14

  • Настройка стиля страницы.
  • Новый параметр типа.
  • Настройка стиля меню.

2019-12-09

  • Исправлена проблема, из-за которой информация об узле не обновлялась при перемещении узла и нажатии на «Информация о процессе».

2019-12-08

  • Удалены определения _this, используются стрелочные функции.

2019-11-26

  • Исправлено: исправлена ошибка, из-за которой удаление узла также удаляло другие линии.
  • Оптимизировано: оптимизирована структура кода.
  • Версия обновлена: версия lodash обновлена до 4.17.15.

2019-11-25

  • Проблема с уникальными идентификаторами nodeId при загрузке данных решена.

2019-08-23

2019-08-22

  • Ошибка перетаскивания в браузере Firefox решена.

Инструкция по эксплуатации

  • Левые дочерние узлы можно перетащить, чтобы переместить их на холст справа, а затем отпустить мышь, чтобы добавить узел.
  • Узлы разделены на три части: левая часть представляет собой значок, обозначающий узел, средняя часть описывает узел, правая часть представляет состояние узла, и вы можете перетащить левую часть значка, чтобы создать линию, которая может соединять другие узлы. Перемещение левого значка за пределы позиции может изменить положение узла на странице.

Формат данных

{
    name: 'Процесс D',
    nodeList: [
        {
            id: 'nodeA',
            name: 'Узел A процесса D',
            type: 'task',
            left: '18px',
            top: '223px',
            ico: 'el-icon-user-solid',
            state: 'success'
        },
        {
            id: 'nodeB',
            type: 'task',
            name: 'Узел B процесса D',
            left: '351px',
            top: '96px',
            ico: 'el-icon-goods',
            viewOnly: true,
            state: 'error'
        },
        {
            id: 'nodeC',
            name: 'Узел C процесса D',
            type: 'task',
            left: '354px',
            top: '351px',
            ico: 'el-icon-present',
            state: 'warning'
        }, {
            id: 'nodeD',
            name: 'Узел D процесса D',
            type: 'task',
            left: '723px',
            top: '215px',
            ico: 'el-icon-present',
            state: 'running'
        }
    ],
    lineList: [{
        from: 'nodeA',
        to: 'nodeB',
        label: 'Прямая линия, пользовательский стиль линии, фиксированный якорь',
        connector: 'Straight',
        anchors: ['Top', 'Bottom'],
        paintStyle: {strokeWidth: 2, stroke: '#1879FF'}
    }, {
        from: 'nodeA',
        to: 'nodeC',
        label: 'Кривая Безье, фиксированный якорь',
        connector: 'Bezier',
        anchors: ['Bottom', 'Left']
    }, {
        from: 'nodeB',
        to: 'nodeD',
        label: 'Стиль линии по умолчанию, динамический якорь'
    }, {
        from: 'nodeC',
        to: 'nodeD',
        label: 'Стиль линии по умолчанию, динамический якорь'
    }
    ]
}

Параметры данных

Параметр Описание
name Название схемы процесса

Параметры nodeList

Параметр Обязательный Описание Возможные значения
id Да Уникальный идентификатор узла, который может быть объединён с бизнес-идентификатором
name Да Имя узла
type Да Тип узла, который можно объединить с бизнесом для обработки
left Да Положение X узла на странице, заканчивающееся на px
top Да Позиция Y узла на странице, оканчивающаяся на px
ico Да Значок, отображаемый узлом, для идентификации
state Нет Состояние, разные состояния отображают разные значки справа success, error, warning, running
viewOnly Нет Можно ли его перетаскивать, true: нельзя перетаскивать true, false

Параметры lineList

Параметр Обязательный Примечание Возможные значения
from Да Начальный узел линии ID
to Да Конечный узел ID линии
label Нет Описание на линии
anchors Нет Якорь линии, например: ["Top", "Right"] ['Top', 'TopCenter', 'TopRight', 'TopLeft', 'Right', 'RightMiddle', 'Bottom', 'BottomCenter', 'BottomRight', 'BottomLeft', 'Left', 'LeftMiddle']
connector Нет Тип линии StateMachine, Flowchart, Bezier, Straight
  1. Скопируйте папку easy-flow/src/components/ef в каталог вашего проекта (например, /src/views).

  2. Измените файл main.js, добавив в него следующие строки:

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import '@/этот каталог был скопирован на предыдущем шаге/ef/index.css'
Vue.use(ElementUI, {size: 'small'});

Запуск

# Скачать проект
git clone  https://github.com/lettersporter/easy-flow.git

# Установить зависимости
npm install

# Запустить проект
npm run dev

# Адрес для доступа
http://localhost:8080

GitHub

https://github.com/lettersporter/easy-flow

Кодовый облачный сервис

https://gitee.com/xiaoka2017/easy-flow

Группа общения

QQ группа: 534446043

avatar

Соглашение

Используйте соглашение, указанное в файле package.json проекта.

Учебные материалы

Название Адрес Описание
Backend SDK https://gitee.com/xiaoka2017/easy-flow-sdk Пример хранения и обработки данных на бэкенде
Учебные материалы https://www.cnblogs.com/mq0036/p/7942139.html
Официальный сайт jsplumb http://jsplumb.github.io/jsplumb/home.html#setup Официальная документация по API jsplumb

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xiaoka2017-easy-flow.git
git@api.gitlife.ru:oschina-mirror/xiaoka2017-easy-flow.git
oschina-mirror
xiaoka2017-easy-flow
xiaoka2017-easy-flow
master