From 978e6ba33dc01d7f3569f35622ccec382cf71fa6 Mon Sep 17 00:00:00 2001 From: Rui Xue <1345359360@qq.com> Date: Tue, 23 May 2023 08:52:12 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E9=94=80?= =?UTF-8?q?=E5=94=AE=E7=9A=84=E8=B7=AF=E5=BE=84url=EF=BC=8C=E5=88=B6?= =?UTF-8?q?=E4=BD=9C=E4=BA=86=E8=AE=A2=E5=8D=95=E6=98=BE=E7=A4=BA=E5=92=8C?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=A4=84=E7=90=86=E7=9A=84=E5=8F=82=E8=80=83?= =?UTF-8?q?=E5=90=8E=E7=AB=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/login/urls.py | 4 +- system/login/views.py | 5 -- system/sales/models.py | 114 +++++++++++++++++++++++++ system/sales/urls.py | 2 + system/sales/views.py | 26 +++++- system/templates/Sales/index.html | 14 +-- system/templates/Sales/order-page.html | 32 +++---- system/templates/index.html | 2 +- system/templates/live-info.html | 3 +- system/templates/register.html | 2 +- 10 files changed, 171 insertions(+), 33 deletions(-) diff --git a/system/login/urls.py b/system/login/urls.py index 66911f4..69c6336 100644 --- a/system/login/urls.py +++ b/system/login/urls.py @@ -1,4 +1,4 @@ -from django.urls import path +from django.urls import path, include from django.urls import re_path as url from . import views from . import view1 @@ -12,7 +12,7 @@ urlpatterns = [ path('create/', views.create, name='create'), path('i_graph1/', views.index_graph1, name='i_graph1'), path('index1/Proc_index/', views.proc_index, name='proc_index'), - path('index1/Sales_index/', views.sale_index, name='sale_index'), + path('index1/Sales_index/', include('sales.urls')), path('index1/Warehouse_index/', views.Warehouse_index, name='warehouse_index'), path('index1/live_info', views.Stream_info, name='stream_info'), url(r'^line/$', view1.ChartView.as_view(), name='demo'), diff --git a/system/login/views.py b/system/login/views.py index cbaf9bf..cae2d52 100644 --- a/system/login/views.py +++ b/system/login/views.py @@ -54,11 +54,6 @@ def create(request):##注册并登录界面, def proc_index(request): return render(request, '../templates/Procurement/index.html') - -def sale_index(request): - return render(request, '../templates/Sales/index.html') - - def Warehouse_index(request): return render(request, '../templates/Warehouse/index.html') diff --git a/system/sales/models.py b/system/sales/models.py index 71a8362..e4ac254 100644 --- a/system/sales/models.py +++ b/system/sales/models.py @@ -1,3 +1,117 @@ from django.db import models # Create your models here. + + +class EmployeeInfo(models.Model): + eid = models.CharField(primary_key=True, max_length=10) + ename = models.CharField(max_length=10, blank=True, null=True) + psword = models.CharField(max_length=20, blank=True, null=True) + etype = models.CharField(max_length=20, blank=True, null=True) + + class Meta: + managed = False + db_table = 'employee_info' + + +class LiveroomInfo(models.Model): + liveroom_id = models.CharField(primary_key=True, max_length=10) + liveroom_status = models.IntegerField(blank=True, null=True) + + class Meta: + managed = False + db_table = 'liveroom_info' + + +class GoodsInfo(models.Model): + goods_id = models.CharField(primary_key=True, max_length=10) + goods_name = models.CharField(max_length=20, blank=True, null=True) + goods_type = models.CharField(max_length=20, blank=True, null=True) + gprice = models.FloatField(blank=True, null=True) + + class Meta: + managed = False + db_table = 'goods_info' + + +class CustomerInfo(models.Model): + cid = models.CharField(primary_key=True, max_length=20) + clevel = models.CharField(max_length=10, blank=True, null=True) + + class Meta: + managed = False + db_table = 'customer_info' + + +class ZbInfo(models.Model): + eid = models.OneToOneField(EmployeeInfo, models.DO_NOTHING, db_column='eid', primary_key=True) + zbname = models.CharField(max_length=10, blank=True, null=True) + zblevel = models.CharField(max_length=1024, blank=True, null=True) + login_status = models.IntegerField(blank=True, null=True) + + class Meta: + managed = False + db_table = 'zb_info' + + +class SalesInfo(models.Model): + eid = models.OneToOneField(EmployeeInfo, models.DO_NOTHING, db_column='eid', primary_key=True) + sales_name = models.CharField(max_length=10, blank=True, null=True) + sales_duty = models.CharField(max_length=20, blank=True, null=True) + login_status = models.IntegerField(blank=True, null=True) + salary = models.FloatField(blank=True, null=True) + + class Meta: + managed = False + db_table = 'sales_info' + + +class LiveRecord(models.Model): + live_record_id = models.CharField(primary_key=True, max_length=20) + liveroom = models.ForeignKey(LiveroomInfo, models.DO_NOTHING) + eid = models.ForeignKey(ZbInfo, models.DO_NOTHING, db_column='eid') + live_starttime = models.DateTimeField(blank=True, null=True) + live_endtime = models.DateTimeField(blank=True, null=True) + + class Meta: + managed = False + db_table = 'live_record' + + +class OrderInfo(models.Model): + order_id = models.CharField(primary_key=True, max_length=25) + live_record = models.ForeignKey(LiveRecord, models.DO_NOTHING) + cid = models.ForeignKey(CustomerInfo, models.DO_NOTHING, db_column='cid') + eid = models.ForeignKey(SalesInfo, models.DO_NOTHING, db_column='eid') + order_time = models.DateTimeField(blank=True, null=True) + address = models.CharField(max_length=100, blank=True, null=True) + sum_price = models.FloatField(blank=True, null=True) + process_status = models.CharField(max_length=10, blank=True, null=True) + + class Meta: + managed = True + db_table = 'order_info' + + +class OrderDetails(models.Model): + order = models.OneToOneField(OrderInfo, models.DO_NOTHING, primary_key=True) # The composite primary key (order_id, goods_id) found, that is not supported. The first column is selected. + goods = models.ForeignKey(GoodsInfo, models.DO_NOTHING) + goods_num = models.IntegerField(blank=True, null=True) + + class Meta: + managed = False + db_table = 'order_details' + unique_together = (('order', 'goods'),) + + +class ReturnInfo(models.Model): + return_id = models.CharField(primary_key=True, max_length=20) + order = models.ForeignKey(OrderInfo, models.DO_NOTHING) + apply_time = models.DateTimeField(blank=True, null=True) + process_time = models.DateTimeField(blank=True, null=True) + process_way = models.CharField(max_length=20, blank=True, null=True) + retrun_status = models.CharField(max_length=20, blank=True, null=True) + + class Meta: + managed = False + db_table = 'return_info' diff --git a/system/sales/urls.py b/system/sales/urls.py index c2805f9..4f2cdc0 100644 --- a/system/sales/urls.py +++ b/system/sales/urls.py @@ -6,6 +6,8 @@ app_name='sales'#需要添加app名称,不然include无法找到该model,在ht urlpatterns = [ # 主页,用来显示类别等其他数据 + path('', views.sale_index, name='sale_index'), path('order', views.sale_order, name='sale_order'), + path('order_p', views.order_process, name='next_order'), ] diff --git a/system/sales/views.py b/system/sales/views.py index 5bde43e..706022d 100644 --- a/system/sales/views.py +++ b/system/sales/views.py @@ -1,8 +1,32 @@ from django.shortcuts import render +from sales import models # Create your views here. from django.http import HttpResponse +def sale_index(request): + info = models.OrderInfo.objects.filter(eid='SA42376', process_status='未处理') + if info.exists(): + return render(request, '../templates/Sales/index.html', {'order': info}) + else: + return render(request, '../templates/Sales/index.html') + + def sale_order(request): - return render(request, '../templates/Sales/order-page.html') \ No newline at end of file + info = models.OrderInfo.objects.filter(eid='SA42376', process_status='未处理') + if info.exists(): + return render(request, '../templates/Sales/order-page.html', {'order': info[0]}) + else: + return render(request, '../templates/Sales/order-page.html') + + +def order_process(request): + if request.method == "POST": + order_id = request.POST["order_id"] + models.OrderInfo.objects.filter(order_id=order_id).update(process_status="已处理") + # order.process_status = "已处理" + # order.save() + return sale_order(request) + else: + return sale_order(request) diff --git a/system/templates/Sales/index.html b/system/templates/Sales/index.html index 8d68ee0..5600d2c 100644 --- a/system/templates/Sales/index.html +++ b/system/templates/Sales/index.html @@ -80,7 +80,7 @@