From bf1e46bbdcf64260eddd82e708d8b4c92be5efd6 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Tue, 4 Jan 2022 00:09:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9B=86=E5=9B=A2=E7=AB=AF=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=90=AF=E7=94=A8=E7=A6=81=E7=94=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- groups/templates/groups/company.html | 40 ++++++++++++++++++-- groups/urls.py | 3 +- groups/views.py | 10 ++++- safesite/migrations/0395_partment_enabled.py | 18 +++++++++ safesite/models.py | 1 + safesite/views.py | 2 +- 6 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 safesite/migrations/0395_partment_enabled.py diff --git a/groups/templates/groups/company.html b/groups/templates/groups/company.html index 4ceb6b83..276d4cd8 100644 --- a/groups/templates/groups/company.html +++ b/groups/templates/groups/company.html @@ -73,18 +73,27 @@ return html.join('') } + function enableFormatter(value, row, index){ + if (value){ + return '' + } + return '' + } function operateFormatter(value, row, index) { return [ - '', + '', '修改', ' ', - '', + '', '密码', ' ', - '', '查看员工', + ' ', + '', + '启/禁用', '' ].join('') } @@ -106,6 +115,23 @@ } }); }, + 'click .disable': function (e, value, row, index) { + layer.alert('确定执行该操作?', function(index){ + //do something + $.ajax({ + type: "get", + url: "/groups/api/company/toggle/"+row.partid+'/', + data: {}, + //async: false, // ajax同步使用false + success: function (data) { + $table.bootstrapTable('refresh') + + } + }); + + layer.close(index); + }); + }, 'click .viewpw': function (e, value, row, index) { $.ajax({ type: "get", @@ -172,7 +198,7 @@ footerFormatter: totalNameFormatter, }, { title: '公司详情', - colspan: 4, + colspan: 5, align: 'center' }], [{ @@ -182,6 +208,12 @@ align: 'center' }, { + field: 'enabled', + title: '是否有效', + sortable: true, + align: 'center', + formatter: enableFormatter, + },{ field: 'position.formatted_address', title: '地址', sortable: true, diff --git a/groups/urls.py b/groups/urls.py index ad8370d9..5d56ff75 100644 --- a/groups/urls.py +++ b/groups/urls.py @@ -45,5 +45,6 @@ urlpatterns = [ path('company/list', views.company_list, name='company-list'), path('company/create/',views.CompanyCreateView.as_view(),name="company-create"), - path('company/update/',views.CompanyUpdateView.as_view(),name='company-update') + path('company/update/',views.CompanyUpdateView.as_view(),name='company-update'), + path('api/company/toggle//', views.company_toggle) ] diff --git a/groups/views.py b/groups/views.py index 792175ed..dcae16e4 100644 --- a/groups/views.py +++ b/groups/views.py @@ -125,9 +125,17 @@ def company_list(request): else: companys = GroupUser.objects.get(id=request.session['user_id']).group.members.all().order_by('-creattime') total = companys.count() - company_list = companys.values('partid','partname','creattime','position','role__name') + company_list = companys.values('partid','partname','creattime','position','role__name', 'enabled') return JsonResponse({'total':total,'rows':list(company_list)},encoder=MyEncoder) +def company_toggle(request, id): + company = s_models.Partment.objects.get(partid=id) + if company.enabled: + company.enabled = False + else: + company.enabled = True + company.save() + return JsonResponse({}) class CompanyCreateView(CreateView): diff --git a/safesite/migrations/0395_partment_enabled.py b/safesite/migrations/0395_partment_enabled.py new file mode 100644 index 00000000..fd203281 --- /dev/null +++ b/safesite/migrations/0395_partment_enabled.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.8 on 2022-01-03 23:54 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('safesite', '0394_auto_20220103_2335'), + ] + + operations = [ + migrations.AddField( + model_name='partment', + name='enabled', + field=models.BooleanField(default=True, verbose_name='是否有效'), + ), + ] diff --git a/safesite/models.py b/safesite/models.py index f4dfefe7..1588ce79 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -56,6 +56,7 @@ class Partment(models.Model): bsq = models.TextField(default=',') # 授权者 position = JSONField('坐标', null=True, blank=True) role = models.ForeignKey(Role, blank=True, null=True, on_delete=models.SET_NULL) + enabled = models.BooleanField('是否有效', default=True) def __str__(self): return self.partname diff --git a/safesite/views.py b/safesite/views.py index ef994617..a3c14f1a 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -673,7 +673,7 @@ def login(req): if user_form.is_valid(): username = req.POST.get('username') password = req.POST.get('password') - user = User.objects.filter(username=username, deletemark=1) + user = User.objects.filter(username=username, deletemark=1, usecomp__enabled=True) if user.exists(): if check_password(password, user[0].epassword): req.session['userid'] = user[0].userid