:art: Add maintenance

huangqimin001 3 年之前
父節點
當前提交
6e549c2762

+ 1 - 0
kodo/settings.py

@@ -58,6 +58,7 @@ INSTALLED_APPS = (
58 58
     'guideline',
59 59
     'integral',
60 60
     'logs',
61
+    'maintenance',
61 62
     'marketcode',
62 63
     'mch',
63 64
     'member',

+ 0 - 0
maintenance/__init__.py


+ 22 - 0
maintenance/admin.py

@@ -0,0 +1,22 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.contrib import admin
4
+
5
+from maintenance.models import MaintenacePointInfo, ExpressCompanyInfo, MaintenaceInfo
6
+
7
+
8
+class MaintenacePointInfoAdmin(admin.ModelAdmin):
9
+    list_display = ('name', 'province', 'location', 'postcode', 'status', 'created_at', 'updated_at')
10
+
11
+
12
+class ExpressCompanyInfoAdmin(admin.ModelAdmin):
13
+    list_display = ('name', 'status', 'created_at', 'updated_at')
14
+
15
+
16
+class MaintenaceInfoAdmin(admin.ModelAdmin):
17
+    list_display = ('name', 'phone', 'address', 'sn', 'desc', 'point_id', 'point_name', 'express_name', 'tracking_number', 'maintenace_status', 'status', 'created_at', 'updated_at')
18
+
19
+
20
+admin.site.register(MaintenacePointInfo, MaintenacePointInfoAdmin)
21
+admin.site.register(ExpressCompanyInfo, ExpressCompanyInfoAdmin)
22
+admin.site.register(MaintenaceInfo, MaintenaceInfoAdmin)

+ 8 - 0
maintenance/apps.py

@@ -0,0 +1,8 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.apps import AppConfig
5
+
6
+
7
+class MaintenanceConfig(AppConfig):
8
+    name = 'maintenance'

+ 70 - 0
maintenance/migrations/0001_initial.py

@@ -0,0 +1,70 @@
1
+# -*- coding: utf-8 -*-
2
+# Generated by Django 1.11.29 on 2021-09-15 05:12
3
+from __future__ import unicode_literals
4
+
5
+from django.db import migrations, models
6
+
7
+
8
+class Migration(migrations.Migration):
9
+
10
+    initial = True
11
+
12
+    dependencies = [
13
+    ]
14
+
15
+    operations = [
16
+        migrations.CreateModel(
17
+            name='ExpressCompanyInfo',
18
+            fields=[
19
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
20
+                ('status', models.BooleanField(default=True, help_text='Status', verbose_name='status')),
21
+                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
22
+                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
23
+                ('name', models.CharField(blank=True, help_text='\u540d\u79f0', max_length=255, null=True, verbose_name='name')),
24
+            ],
25
+            options={
26
+                'verbose_name': '\u5feb\u9012\u516c\u53f8\u4fe1\u606f',
27
+                'verbose_name_plural': '\u5feb\u9012\u516c\u53f8\u4fe1\u606f',
28
+            },
29
+        ),
30
+        migrations.CreateModel(
31
+            name='MaintenaceInfo',
32
+            fields=[
33
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
34
+                ('status', models.BooleanField(default=True, help_text='Status', verbose_name='status')),
35
+                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
36
+                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
37
+                ('name', models.CharField(blank=True, help_text='\u59d3\u540d', max_length=255, null=True, verbose_name='name')),
38
+                ('phone', models.CharField(blank=True, help_text='\u7535\u8bdd', max_length=11, null=True, verbose_name='phone')),
39
+                ('address', models.CharField(blank=True, help_text='\u5730\u5740', max_length=255, null=True, verbose_name='address')),
40
+                ('sn', models.CharField(blank=True, db_index=True, help_text='\u5e8f\u5217\u53f7', max_length=32, null=True, verbose_name='sn')),
41
+                ('desc', models.TextField(blank=True, help_text='\u6545\u969c\u63cf\u8ff0', null=True, verbose_name='desc')),
42
+                ('point_id', models.CharField(blank=True, db_index=True, help_text='\u7ef4\u4fee\u70b9\u552f\u4e00\u6807\u8bc6', max_length=32, null=True, verbose_name='point_id')),
43
+                ('point_name', models.CharField(blank=True, help_text='\u7ef4\u4fee\u70b9\u540d\u79f0', max_length=255, null=True, verbose_name='point_name')),
44
+                ('express_name', models.CharField(blank=True, help_text='\u5feb\u9012\u516c\u53f8\u540d\u79f0', max_length=255, null=True, verbose_name='express_name')),
45
+                ('tracking_number', models.CharField(blank=True, help_text='\u5feb\u9012\u5355\u53f7', max_length=255, null=True, verbose_name='tracking_number')),
46
+                ('maintenace_status', models.CharField(blank=True, help_text='\u7ef4\u4fee\u72b6\u6001', max_length=8, null=True, verbose_name='maintenace_status')),
47
+            ],
48
+            options={
49
+                'verbose_name': '\u7ef4\u4fee\u4fe1\u606f',
50
+                'verbose_name_plural': '\u7ef4\u4fee\u4fe1\u606f',
51
+            },
52
+        ),
53
+        migrations.CreateModel(
54
+            name='MaintenacePointInfo',
55
+            fields=[
56
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
57
+                ('status', models.BooleanField(default=True, help_text='Status', verbose_name='status')),
58
+                ('created_at', models.DateTimeField(auto_now_add=True, help_text='Create Time', verbose_name='created_at')),
59
+                ('updated_at', models.DateTimeField(auto_now=True, help_text='Update Time', verbose_name='updated_at')),
60
+                ('name', models.CharField(blank=True, help_text='\u540d\u79f0', max_length=255, null=True, verbose_name='name')),
61
+                ('province', models.CharField(blank=True, help_text='\u7701\u4efd', max_length=255, null=True, verbose_name='province')),
62
+                ('location', models.CharField(blank=True, help_text='\u5730\u5740', max_length=255, null=True, verbose_name='location')),
63
+                ('postcode', models.CharField(blank=True, help_text='\u90ae\u653f\u7f16\u7801', max_length=255, null=True, verbose_name='postcode')),
64
+            ],
65
+            options={
66
+                'verbose_name': '\u7ef4\u4fee\u70b9\u4fe1\u606f',
67
+                'verbose_name_plural': '\u7ef4\u4fee\u70b9\u4fe1\u606f',
68
+            },
69
+        ),
70
+    ]

+ 0 - 0
maintenance/migrations/__init__.py


+ 54 - 0
maintenance/models.py

@@ -0,0 +1,54 @@
1
+# -*- coding: utf-8 -*-
2
+
3
+from django.db import models
4
+from django.utils.translation import ugettext_lazy as _
5
+from django_models_ext import BaseModelMixin
6
+
7
+
8
+class MaintenacePointInfo(BaseModelMixin):
9
+    name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'名称')
10
+    province = models.CharField(_(u'province'), max_length=255, blank=True, null=True, help_text=u'省份')
11
+    location = models.CharField(_(u'location'), max_length=255, blank=True, null=True, help_text=u'地址')
12
+    postcode = models.CharField(_(u'postcode'), max_length=255, blank=True, null=True, help_text=u'邮政编码')
13
+
14
+    class Meta:
15
+        verbose_name = _(u'维修点信息')
16
+        verbose_name_plural = _(u'维修点信息')
17
+
18
+    def __unicode__(self):
19
+        return '%d' % self.pk
20
+
21
+
22
+class ExpressCompanyInfo(BaseModelMixin):
23
+    name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'名称')
24
+
25
+    class Meta:
26
+        verbose_name = _(u'快递公司信息')
27
+        verbose_name_plural = _(u'快递公司信息')
28
+
29
+    def __unicode__(self):
30
+        return '%d' % self.pk
31
+
32
+
33
+class MaintenaceInfo(BaseModelMixin):
34
+    name = models.CharField(_(u'name'), max_length=255, blank=True, null=True, help_text=u'姓名')
35
+    phone = models.CharField(_(u'phone'), max_length=11, blank=True, null=True, help_text=u'电话')
36
+    address = models.CharField(_(u'address'), max_length=255, blank=True, null=True, help_text=u'地址')
37
+
38
+    sn = models.CharField(_(u'sn'), max_length=32, blank=True, null=True, help_text=u'序列号', db_index=True)
39
+    desc = models.TextField(_(u'desc'), blank=True, null=True, help_text=u'故障描述')
40
+
41
+    point_id = models.CharField(_(u'point_id'), max_length=32, blank=True, null=True, help_text=u'维修点唯一标识', db_index=True)
42
+    point_name = models.CharField(_(u'point_name'), max_length=255, blank=True, null=True, help_text=u'维修点名称')
43
+
44
+    express_name = models.CharField(_(u'express_name'), max_length=255, blank=True, null=True, help_text=u'快递公司名称')
45
+    tracking_number = models.CharField(_(u'tracking_number'), max_length=255, blank=True, null=True, help_text=u'快递单号')
46
+
47
+    maintenace_status = models.CharField(_(u'maintenace_status'), max_length=8, blank=True, null=True, help_text=u'维修状态')
48
+
49
+    class Meta:
50
+        verbose_name = _(u'维修信息')
51
+        verbose_name_plural = _(u'维修信息')
52
+
53
+    def __unicode__(self):
54
+        return '%d' % self.pk

+ 7 - 0
maintenance/tests.py

@@ -0,0 +1,7 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.test import TestCase
5
+
6
+
7
+# Create your tests here.

+ 7 - 0
maintenance/views.py

@@ -0,0 +1,7 @@
1
+# -*- coding: utf-8 -*-
2
+from __future__ import unicode_literals
3
+
4
+from django.shortcuts import render
5
+
6
+
7
+# Create your views here.