修复问题,员工信息编辑modal,二级部门不显示
This commit is contained in:
parent
020c84483d
commit
71417b58e9
|
@ -1,4 +1,6 @@
|
||||||
from django import forms
|
from django import forms
|
||||||
|
|
||||||
|
from common.forms import DepartmentSelectionForm
|
||||||
from .models import *
|
from .models import *
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,7 +18,7 @@ class EmployeeInformationForm(forms.ModelForm):
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class EmployeeInformationAddForm(forms.ModelForm):
|
class EmployeeInformationAddForm(DepartmentSelectionForm, forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = EmployeeInformation
|
model = EmployeeInformation
|
||||||
fields = [field.name for field in EmployeeInformation._meta.fields if
|
fields = [field.name for field in EmployeeInformation._meta.fields if
|
||||||
|
@ -27,11 +29,12 @@ class EmployeeInformationAddForm(forms.ModelForm):
|
||||||
'regularization_date': forms.DateInput(attrs={'type': 'date'}),
|
'regularization_date': forms.DateInput(attrs={'type': 'date'}),
|
||||||
'departure_date': forms.DateInput(attrs={'type': 'date'}),
|
'departure_date': forms.DateInput(attrs={'type': 'date'}),
|
||||||
'contract_end_date': forms.DateInput(attrs={'type': 'date'}),
|
'contract_end_date': forms.DateInput(attrs={'type': 'date'}),
|
||||||
|
'resignation_date': forms.DateInput(attrs={'type': 'date'}),
|
||||||
'base_salary': forms.NumberInput()
|
'base_salary': forms.NumberInput()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class EmployeeInformationEditForm(forms.ModelForm):
|
class EmployeeInformationEditForm(DepartmentSelectionForm, forms.ModelForm):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = EmployeeInformation
|
model = EmployeeInformation
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
|
|
@ -11,6 +11,7 @@ from django.views.decorators.csrf import csrf_protect
|
||||||
|
|
||||||
from application.hrm_mgnt.forms import *
|
from application.hrm_mgnt.forms import *
|
||||||
from application.hrm_mgnt.models import *
|
from application.hrm_mgnt.models import *
|
||||||
|
from application.org_mgnt.models import SecondaryDepartment
|
||||||
from common.auth import custom_permission_required
|
from common.auth import custom_permission_required
|
||||||
from common.utils.page_helper import paginate_query_and_assign_numbers
|
from common.utils.page_helper import paginate_query_and_assign_numbers
|
||||||
|
|
||||||
|
@ -206,6 +207,7 @@ def emp_list_modify(request):
|
||||||
try:
|
try:
|
||||||
instance = EmployeeInformation.objects.get(employee_id=request.GET['id'])
|
instance = EmployeeInformation.objects.get(employee_id=request.GET['id'])
|
||||||
form = EmployeeInformationEditForm(instance=instance)
|
form = EmployeeInformationEditForm(instance=instance)
|
||||||
|
form.fields['secondary_department'].queryset = SecondaryDepartment.objects.filter(primary_department=instance.primary_department).order_by('secondary_department_name')
|
||||||
except EmployeeInformation.DoesNotExist:
|
except EmployeeInformation.DoesNotExist:
|
||||||
raise Http404("对象不存在")
|
raise Http404("对象不存在")
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -27,7 +27,7 @@ class DepartmentSelectionForm(forms.Form):
|
||||||
pass
|
pass
|
||||||
elif 'instance' in kwargs and kwargs['instance']:
|
elif 'instance' in kwargs and kwargs['instance']:
|
||||||
instance = kwargs['instance']
|
instance = kwargs['instance']
|
||||||
if isinstance(instance.primary_department, PrimaryDepartment):
|
if hasattr(instance, 'primary_department') and isinstance(instance.primary_department, PrimaryDepartment):
|
||||||
self.fields['secondary_department'].queryset = instance.primary_department.secondarydepartment_set.order_by('secondary_department_name')
|
self.fields['secondary_department'].queryset = instance.primary_department.secondarydepartment_set.order_by('secondary_department_name')
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -104,7 +104,7 @@
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
function updateSecondaryDepartments(primaryDepartmentId) {
|
function updateSecondaryDepartments(primaryDepartmentId, selectedSecondaryDepartmentId = null) {
|
||||||
var url = "{% url 'load_secondary_departments' %}";
|
var url = "{% url 'load_secondary_departments' %}";
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: url,
|
url: url,
|
||||||
|
@ -117,6 +117,9 @@
|
||||||
$.each(data, function (key, value) {
|
$.each(data, function (key, value) {
|
||||||
$('#id_secondary_department').append('<option value="' + value.secondary_department_id + '">' + value.secondary_department_name + '</option>');
|
$('#id_secondary_department').append('<option value="' + value.secondary_department_id + '">' + value.secondary_department_name + '</option>');
|
||||||
});
|
});
|
||||||
|
if (selectedSecondaryDepartmentId) {
|
||||||
|
$('#id_secondary_department').val(selectedSecondaryDepartmentId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -132,8 +135,9 @@
|
||||||
|
|
||||||
// 如果在页面加载时已选择一级部门,则加载相应的二级部门
|
// 如果在页面加载时已选择一级部门,则加载相应的二级部门
|
||||||
var initialPrimaryDepartmentId = $('#id_primary_department').val();
|
var initialPrimaryDepartmentId = $('#id_primary_department').val();
|
||||||
|
var initialSecondaryDepartmentId = $('#id_secondary_department').val();
|
||||||
if (initialPrimaryDepartmentId) {
|
if (initialPrimaryDepartmentId) {
|
||||||
updateSecondaryDepartments(initialPrimaryDepartmentId);
|
updateSecondaryDepartments(initialPrimaryDepartmentId, initialSecondaryDepartmentId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
Loading…
Reference in New Issue