├── .idea ├── .name ├── inspectionProfiles │ ├── Project_Default.xml │ └── profiles_settings.xml ├── modules.xml ├── misc.xml └── vfOA.iml ├── demo ├── __init__.py ├── bloodtest │ ├── __init__.py │ ├── migrations │ │ ├── __init__.py │ │ └── 0001_initial.py │ ├── templates │ │ └── bloodtest │ │ │ └── bloodtest │ │ │ ├── hormone_data.html │ │ │ ├── second_sample.html │ │ │ ├── biochemical_data.html │ │ │ └── first_sample.html │ ├── apps.py │ ├── admin.py │ ├── forms.py │ ├── flows.py │ ├── models.py │ └── views.py ├── countersign │ ├── __init__.py │ ├── migrations │ │ ├── __init__.py │ │ ├── 0002_auto_20171127_1554.py │ │ └── 0001_initial.py │ ├── tests.py │ ├── apps.py │ ├── admin.py │ ├── models.py │ └── flows.py ├── customnode │ ├── __init__.py │ ├── migrations │ │ ├── __init__.py │ │ └── 0001_initial.py │ ├── doc │ │ └── DynamicSplit.png │ ├── urls.py │ ├── README.rst │ ├── models.py │ ├── views.py │ ├── flows.py │ └── nodes.py ├── testing │ ├── __init__.py │ ├── migrations │ │ └── __init__.py │ ├── tests.py │ ├── views.py │ ├── apps.py │ ├── forms.py │ ├── models.py │ └── admin.py ├── hr │ ├── migrations │ │ ├── __init__.py │ │ └── 0001_initial.py │ ├── __init__.py │ ├── tests.py │ ├── views.py │ ├── apps.py │ ├── admin.py │ ├── urls.py │ └── models.py ├── leave │ ├── migrations │ │ ├── __init__.py │ │ ├── 0002_leave_comment.py │ │ ├── 0003_auto_20171130_0922.py │ │ └── 0001_initial.py │ ├── __init__.py │ ├── tests.py │ ├── apps.py │ ├── urls.py │ ├── admin.py │ ├── flows.py │ ├── models.py │ └── forms.py ├── employees │ ├── migrations │ │ ├── __init__.py │ │ └── 0001_initial.py │ ├── __init__.py │ ├── locale │ │ ├── de │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ ├── es │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ ├── fr │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ ├── ko │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ ├── ru │ │ │ └── LC_MESSAGES │ │ │ │ └── django.mo │ │ └── zh_Hans │ │ │ └── LC_MESSAGES │ │ │ ├── django.mo │ │ │ └── django.po │ ├── templates │ │ └── employees │ │ │ ├── base_module.html │ │ │ ├── menu.html │ │ │ ├── department_employees.html │ │ │ ├── change_manager.html │ │ │ ├── change_title.html │ │ │ ├── change_salary.html │ │ │ ├── department_detail.html │ │ │ └── employee_detail.html │ ├── urls.py │ ├── apps.py │ ├── managers.py │ ├── admin.py │ ├── forms.py │ ├── models.py │ └── views.py ├── integration │ ├── migrations │ │ ├── __init__.py │ │ ├── 0003_auto_20171128_1814.py │ │ └── 0001_initial.py │ ├── __init__.py │ ├── locale │ │ ├── de │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ ├── es │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ ├── fr │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ ├── ko │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ ├── ru │ │ │ └── LC_MESSAGES │ │ │ │ ├── django.mo │ │ │ │ └── django.po │ │ └── zh_Hans │ │ │ └── LC_MESSAGES │ │ │ ├── django.mo │ │ │ └── django.po │ ├── templates │ │ └── integration │ │ │ ├── base_module.html │ │ │ └── menu.html │ ├── apps.py │ ├── urls.py │ ├── views.py │ └── models.py ├── templates │ ├── leave │ │ ├── check.html │ │ ├── menu.html │ │ └── start.html │ ├── hr │ │ └── menu.html │ ├── demo │ │ ├── base_module.html │ │ └── index.html │ └── material │ │ ├── fields │ │ ├── django_nullbooleanselect.html │ │ ├── django_clearablefileinput.html │ │ ├── django_selectmultiple.html │ │ ├── django_checkboxinput.html │ │ ├── django_fileinput.html │ │ ├── django_textarea.html │ │ ├── _django_rangeinput.html │ │ ├── django_input.html │ │ ├── django_dateinput.html │ │ ├── django_timeinput.html │ │ ├── django_datetimeinput.html │ │ ├── django_select.html │ │ ├── django_radioselect.html │ │ ├── django_checkboxselectmultiple.html │ │ ├── django_splitdatetimewidget.html │ │ └── django_selectdatewidget.html │ │ └── frontend │ │ └── base_site.html ├── README.rst ├── static │ └── demo │ │ ├── css │ │ └── vfOA.css │ │ └── js │ │ └── jquery.cookie.js ├── urls.py ├── website.py └── settings.py ├── img ├── 1.PNG ├── 2.PNG ├── 3.PNG ├── 4.PNG └── 5.PNG ├── db111.sqlite3 ├── requirements.txt ├── manage.py └── README.md /.idea/.name: -------------------------------------------------------------------------------- 1 | vfOA -------------------------------------------------------------------------------- /demo/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/bloodtest/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/countersign/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/customnode/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/testing/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/hr/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/leave/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/bloodtest/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/customnode/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/employees/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/testing/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/countersign/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/integration/migrations/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /demo/hr/__init__.py: -------------------------------------------------------------------------------- 1 | default_app_config = 'demo.hr.apps.HrConfig' -------------------------------------------------------------------------------- /img/1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/htwenhe/vfOA/HEAD/img/1.PNG -------------------------------------------------------------------------------- /img/2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/htwenhe/vfOA/HEAD/img/2.PNG -------------------------------------------------------------------------------- /img/3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/htwenhe/vfOA/HEAD/img/3.PNG -------------------------------------------------------------------------------- /img/4.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/htwenhe/vfOA/HEAD/img/4.PNG -------------------------------------------------------------------------------- /img/5.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/htwenhe/vfOA/HEAD/img/5.PNG -------------------------------------------------------------------------------- /demo/leave/__init__.py: -------------------------------------------------------------------------------- 1 | default_app_config = 'demo.leave.apps.LeaveConfig' -------------------------------------------------------------------------------- /demo/templates/leave/check.html: -------------------------------------------------------------------------------- 1 | {% extends 'viewflow/flow/task.html' %} -------------------------------------------------------------------------------- /db111.sqlite3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/htwenhe/vfOA/HEAD/db111.sqlite3 -------------------------------------------------------------------------------- /demo/employees/__init__.py: -------------------------------------------------------------------------------- 1 | default_app_config = 'demo.employees.apps.EmployeesConfig' -------------------------------------------------------------------------------- /demo/hr/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /demo/leave/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /demo/testing/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /demo/countersign/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /demo/integration/__init__.py: -------------------------------------------------------------------------------- 1 | default_app_config = 'demo.integration.apps.IntegrationAppConfig' 2 | -------------------------------------------------------------------------------- /demo/testing/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render 2 | 3 | # Create your views here. 4 | -------------------------------------------------------------------------------- /demo/templates/leave/menu.html: -------------------------------------------------------------------------------- 1 |
基于Viewflow的OA演示系统,能够快速实现数据的CURD以及流程处理,可开发轻量级OA/CRM/ERP等系统
32 |15 |
{% endpart %} 22 | {% part field help_text %}{% if field.help_text %} 23 || {{ field_name }} | 14 |{{ value }} | 15 | {% endfor %} 16 |
|---|---|
| Employees | 20 |21 | {{ object.deptemp_set.count }} 22 | | 23 |
| {% trans 'Manager' %} | 42 |{% trans 'Since' %} | 43 |
| {{ manager.employee }} | 49 |{{ manager.from_date }} | 50 |
| {{ field_name }} | 14 |{{ value }} | 15 | {% endfor %} 16 |
|---|
| {% trans 'Position' %} | 34 |{% trans 'Since' %} | 35 |{% trans 'To' %} | 36 |
| {{ title.title }} | 42 |{{ title.from_date }} | 43 |{{ title.to_date }} | 44 |
| {% trans 'Department' %} | 60 |{% trans 'Since' %} | 61 |{% trans 'To' %} | 62 |
| {{ dept.department }} | 68 |{{ dept.from_date }} | 69 |{{ dept.to_date }} | 70 |
| {% trans 'Salary' %} | 85 |{% trans 'Since' %} | 86 |
| ${{ salary.salary }} | 92 |{{ salary.from_date }} | 93 |