From c4bbbbfef4cac3a7771475c18dd19750b5c22356 Mon Sep 17 00:00:00 2001 From: wcharles Date: Tue, 10 Sep 2019 09:54:48 +0800 Subject: [PATCH 1/2] first companyinfo --- safesite/forms.py | 24 +++ safesite/models.py | 21 +++ safesite/templates/companyinfo.html | 165 +++++++++++++++++++++ safesite/templates/htmlindex.html | 222 ++++++++++++++++++++++++++++ safesite/urls.py | 1 + safesite/views.py | 67 +++++++++ 6 files changed, 500 insertions(+) create mode 100644 safesite/forms.py create mode 100644 safesite/templates/companyinfo.html create mode 100644 safesite/templates/htmlindex.html diff --git a/safesite/forms.py b/safesite/forms.py new file mode 100644 index 00000000..2c342ee6 --- /dev/null +++ b/safesite/forms.py @@ -0,0 +1,24 @@ +from django import forms + +class UserForm(forms.Form): + username = forms.CharField(max_length=30) + password = forms.CharField(max_length=30) + +class CompanyInfoForm(forms.Form): + company_nature = ( + (0, '国企'), + (1, '私企'), + ) + name = forms.CharField(max_length=64, label='公司名称', widget=forms.TextInput(attrs={'size': '50'})) + nature = forms.ChoiceField(choices=company_nature, label='企业性质') + address = forms.CharField(max_length=128, label='公司地址', widget=forms.TextInput(attrs={'size': '50'})) + fixed_assets = forms.IntegerField(label='固定资产', widget=forms.TextInput(attrs={'size': '50'})) + website = forms.CharField(max_length=64, label='公司网址', widget=forms.TextInput(attrs={'size': '50'})) + peoplenum = forms.IntegerField(label='公司人数', widget=forms.TextInput(attrs={'size': '50'})) + legalperson = forms.CharField(max_length=24, label='法人代表', widget=forms.TextInput(attrs={'size': '50'})) + legalperson_phone = forms.CharField(max_length=24, label='法人电话', widget=forms.TextInput(attrs={'size': '50'})) + liaison = forms.CharField(max_length=24, label='联系人', widget=forms.TextInput(attrs={'size': '50'})) + liaison_phone = forms.CharField(max_length=24, label='联系人电话', widget=forms.TextInput(attrs={'size': '50'})) + liaison_fax = forms.CharField(max_length=13, label='联系人传真', widget=forms.TextInput(attrs={'size': '50'})) + introduce = forms.CharField(label='公司概况', widget=forms.Textarea) + diff --git a/safesite/models.py b/safesite/models.py index 35e1b461..5afec4ce 100644 --- a/safesite/models.py +++ b/safesite/models.py @@ -811,3 +811,24 @@ class Report(models.Model):#分析报告表 month = models.IntegerField(null=True,blank=True) cause = models.TextField(null=True,blank=True) #原因分析 suggest = models.TextField(null=True,blank=True) #下一步建议 + +class CompanyInfo(models.Model): + company_nature = ( + (0, '国企'), + (1, '私企'), + ) + partment = models.OneToOneField(Partment, on_delete=models.CASCADE, verbose_name='公司ID') + name = models.CharField(max_length=64, verbose_name='公司名称') + nature = models.SmallIntegerField(choices=company_nature, default=0, verbose_name='企业性质') + address = models.CharField(max_length=128, verbose_name='公司地址') + fixed_assets = models.IntegerField(null=True, blank=True, verbose_name='固定资产') + website = models.CharField(max_length=64, null=True, blank=True, verbose_name='公司网址') + peoplenum = models.IntegerField(null=True, blank=True, verbose_name='公司人数') + legalperson = models.CharField(max_length=24, null=True, blank=True,verbose_name='法人代表') + legalperson_phone = models.CharField(max_length=24, null=True, blank=True, verbose_name='法人电话') + liaison = models.CharField(max_length=24, verbose_name='联系人') + liaison_phone = models.CharField(max_length=24, verbose_name='联系人电话') + liaison_fax = models.CharField(max_length=10, null=True, blank=True, verbose_name='联系人传真') + introduce = models.TextField( null=True, blank=True, verbose_name='公司概况') + createtime = models.DateTimeField(auto_now_add=True) + modifytime = models.DateTimeField(auto_now=True) \ No newline at end of file diff --git a/safesite/templates/companyinfo.html b/safesite/templates/companyinfo.html new file mode 100644 index 00000000..a98d72b0 --- /dev/null +++ b/safesite/templates/companyinfo.html @@ -0,0 +1,165 @@ + + + + + + + ctc安全生产管理系统 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+
公司信息
+
+ {% csrf_token %} + {{ companyinfo.non_field_errors }} + + + + + + + + + {% for field in companyinfo %} + + + + + {% endfor %} + +
+ 属性 + + 内容 +
{{ field.label_tag }}{{ field }}{{ field.errors }}
+
+
+ + + + +
+
+
+ +
+
+
+ + {{ username }} 欢迎您! + +
+
+ 安全退出 + 绑定微信 + 修改密码 + + 数据大屏 +
+
+ +
+ + + +
+
+ + + +
+
+
+ + + + + + \ No newline at end of file diff --git a/safesite/templates/htmlindex.html b/safesite/templates/htmlindex.html new file mode 100644 index 00000000..4648a94f --- /dev/null +++ b/safesite/templates/htmlindex.html @@ -0,0 +1,222 @@ + + + + + + + ctc安全生产管理系统 + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 加载中··· +
+
+
+
+
+ +
+
+
+ + {{ username }} 欢迎您! + +
+
+ 安全退出 + 绑定微信 + 修改密码 + + 数据大屏 +
+
+ +
+ + + +
+
+ + + + + +
+
+
+ + + + + + + + \ No newline at end of file diff --git a/safesite/urls.py b/safesite/urls.py index 209b3d45..f0bc0e14 100644 --- a/safesite/urls.py +++ b/safesite/urls.py @@ -170,4 +170,5 @@ urlpatterns = [ path('edu/',include('safesite.edu.urls')), path('datashow/',datashowview.area, name='datashow'), path('datashow/charthandle', views.charthandle), + path('companyinfo/', views.companyinfo), ] diff --git a/safesite/views.py b/safesite/views.py index 9be50f12..bddaf5f2 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -24,6 +24,8 @@ from io import StringIO import operator import jwt import decimal +from . import forms +from .models import CompanyInfo #分页功能 def fenye(req): @@ -5567,3 +5569,68 @@ def apireport(req): obj.suggest = data['suggest'] obj.save() return JsonResponse({'code':1}) + + +#公司信息展示 +def companyinfo(req): + message='' + try: + user = User.objects.filter(pk=req.session['userid']) + companyid = getcompany(req.session['userid']) + companyname = Partment.objects.get(partid=companyid).partname + # 生成CompanyInof的model对象 + companyinfo = CompanyInfo.objects.get_or_create(partment_id=companyid)[0] + except Exception as e: + raise + # message='操作错误' + # return render( req, 'companyinfo.html',{'message': message}) + + if req.method == 'POST': + companyinfo_form = forms.CompanyInfoForm(req.POST) + if companyinfo_form.is_valid(): + companyinfo.name = companyinfo_form.cleaned_data.get('name') + companyinfo.address = companyinfo_form.cleaned_data.get('address') + companyinfo.nature = companyinfo_form.cleaned_data.get('nature') + companyinfo.fixed_assets = companyinfo_form.cleaned_data.get('fixed_assets') + companyinfo.introduce = companyinfo_form.cleaned_data.get('introduce') + companyinfo.legalperson = companyinfo_form.cleaned_data.get('legalperson') + companyinfo.legalperson_phone = companyinfo_form.cleaned_data.get('legalperson_phone') + companyinfo.liaison = companyinfo_form.cleaned_data.get('liaison') + companyinfo.liaison_fax = companyinfo_form.cleaned_data.get('liaison_fax') + companyinfo.liaison_phone = companyinfo_form.cleaned_data.get('liaison_phone') + companyinfo.peoplenum = companyinfo_form.cleaned_data.get('peoplenum') + companyinfo.website = companyinfo_form.cleaned_data.get('website') + companyinfo.save() + #html = 'companyinfo.html' + #return redirect('/withmenu/', html="companyinfo.html") + #return HttpResponseRedirect("/withmenu/?html=companyinfo.html") + return render(req, 'htmlindex.html', { + 'username': user[0].name, + 'userid': user[0].userid, + 'openid': user[0].openid, + 'headimgurl': user[0].headimgurl, + 'nickname': user[0].nickname, + 'companyname': companyname, + 'issuper': user[0].issuper, + 'token': user[0].token, + 'html': 'companyinfo' + }) + + + userid = user[0].userid + name = user[0].name + openid = user[0].openid + headimgurl = user[0].headimgurl + nickname = user[0].nickname + issuper = user[0].issuper + + from django.forms import model_to_dict + companyinfo_form = forms.CompanyInfoForm(model_to_dict(companyinfo)) + return render(req, 'companyinfo.html', + {'companyinfo': companyinfo_form, 'username': name, 'userid': userid, 'openid': openid, + 'headimgurl': headimgurl, 'message': message, + 'nickname': nickname, 'companyname': companyname, 'issuper': issuper, 'token': user[0].token}) + + +def dump(obj): + print('\n'.join(['%s:%s' % item for item in obj.__dict__.items()])) \ No newline at end of file From 5ce542b6f101d697be835b24d505ff0ce6569956 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 11 Sep 2019 17:20:42 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E4=BF=A1=E6=81=AFajaxsub?= =?UTF-8?q?mit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- safesite/templates/companyinfo.html | 213 +++++++--------------------- safesite/templates/index.html | 1 + safesite/views.py | 25 +--- 3 files changed, 52 insertions(+), 187 deletions(-) diff --git a/safesite/templates/companyinfo.html b/safesite/templates/companyinfo.html index a98d72b0..27b8f255 100644 --- a/safesite/templates/companyinfo.html +++ b/safesite/templates/companyinfo.html @@ -1,165 +1,50 @@ - - +
公司信息
+
+ {% csrf_token %} + {{ companyinfo.non_field_errors }} + + + + + + + + + {% for field in companyinfo %} + + + + + {% endfor %} + + + + +
+ 属性 + + 内容 +
{{ field.label_tag }}{{ field }}{{ field.errors }}
+
+ - - - - ctc安全生产管理系统 - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
-
公司信息
-
- {% csrf_token %} - {{ companyinfo.non_field_errors }} - - - - - - - - - {% for field in companyinfo %} - - - - - {% endfor %} - -
- 属性 - - 内容 -
{{ field.label_tag }}{{ field }}{{ field.errors }}
-
-
- - - - -
-
-
- -
-
-
- - {{ username }} 欢迎您! - -
-
- 安全退出 - 绑定微信 - 修改密码 - - 数据大屏 -
-
- -
- - - -
-
- - - -
-
-
- - - - - - \ No newline at end of file diff --git a/safesite/templates/index.html b/safesite/templates/index.html index c531536c..8aeacfe2 100644 --- a/safesite/templates/index.html +++ b/safesite/templates/index.html @@ -25,6 +25,7 @@ +