Организационная диаграмма, также известная как органиграмма или диаграмма иерархии, представляет собой графическое представление структуры организации. В контексте логистики организационная диаграмма помогает отобразить иерархические отношения и линии отчетности внутри отдела логистики или компании. В этой статье мы рассмотрим различные методы создания организационной схемы логистики с использованием разных языков программирования и предоставим примеры кода для каждого метода.
Метод 1: использование HTML и CSS
Пример кода:
<!DOCTYPE html>
<html>
<head>
<style>
.org-chart {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.org-chart ul {
list-style-type: none;
padding-left: 0;
}
.org-chart li {
margin-bottom: 1rem;
}
</style>
</head>
<body>
<div class="org-chart">
<ul>
<li>CEO
<ul>
<li>Logistics Manager
<ul>
<li>Warehouse Supervisor</li>
<li>Transportation Manager</li>
</ul>
</li>
<li>Procurement Manager</li>
<li>Inventory Manager</li>
</ul>
</li>
</ul>
</div>
</body>
</html>
Метод 2: использование Python и Graphviz
Пример кода:
import graphviz
dot = graphviz.Digraph()
dot.node('CEO')
dot.node('LogisticsManager')
dot.node('WarehouseSupervisor')
dot.node('TransportationManager')
dot.node('ProcurementManager')
dot.node('InventoryManager')
dot.edge('CEO', 'LogisticsManager')
dot.edge('LogisticsManager', 'WarehouseSupervisor')
dot.edge('LogisticsManager', 'TransportationManager')
dot.edge('CEO', 'ProcurementManager')
dot.edge('CEO', 'InventoryManager')
dot.render('logistics_org_chart', format='png')
Метод 3. Использование JavaScript и D3.js
Пример кода:
<!DOCTYPE html>
<html>
<head>
<script src="https://d3js.org/d3.v7.min.js"></script>
<style>
.node {
fill: #fff;
stroke: steelblue;
stroke-width: 1.5px;
}
.link {
fill: none;
stroke: #ccc;
stroke-width: 1.5px;
}
</style>
</head>
<body>
<svg width="600" height="400"></svg>
<script>
const data = {
name: 'CEO',
children: [
{ name: 'Logistics Manager',
children: [
{ name: 'Warehouse Supervisor' },
{ name: 'Transportation Manager' }
]
},
{ name: 'Procurement Manager' },
{ name: 'Inventory Manager' }
]
};
const svg = d3.select('svg');
const width = +svg.attr('width');
const height = +svg.attr('height');
const g = svg.append('g').attr('transform', `translate(40,0)`);
const tree = d3.tree().size([height, width - 160]);
const root = d3.hierarchy(data);
tree(root);
const link = g.selectAll('.link')
.data(root.links())
.enter()
.append('path')
.attr('class', 'link')
.attr('d', d3.linkHorizontal().x(d => d.y).y(d => d.x));
const node = g.selectAll('.node')
.data(root.descendants())
.enter()
.append('g')
.attr('class', 'node')
.attr('transform', d => `translate(${d.y},${d.x})`);
node.append('circle').attr('r', 5);
node.append('text')
.attr('dy', '0.31em')
.attr('x', d => d.children ? -13 : 13)
.attr('text-anchor', d => d.children ? 'end' : 'start')
.text(d => d.data.name);
</script>
</body>
</html>
В этой статье мы рассмотрели три различных метода создания организационной схемы логистики с использованием HTML/CSS, Python с Graphviz и JavaScript с D3.js. Каждый метод предлагает свои преимущества и гибкость в зависимости от ваших конкретных требований и языка программирования, который вам удобен. Используя эти примеры кода, вы можете легко создавать визуально привлекательные и информативные организационные схемы логистики, которые эффективно представляют структуру вашего логистического отдела или компании. Предпочитаете ли вы простоту HTML/CSS, гибкость Python с Graphviz или интерактивность JavaScript с D3.js, теперь у вас есть инструменты для создания организационной схемы логистики, соответствующей вашим потребностям.