sdd
This commit is contained in:
parent
35e3f4c77e
commit
074fb1e561
|
@ -0,0 +1,32 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
export function getEnterpriseList(query) {
|
||||
return request({
|
||||
url: '/crm/enterprise/',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function createEnterprise(data) {
|
||||
return request({
|
||||
url: '/crm/enterprise/',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function updateEnterprise(id, data) {
|
||||
return request({
|
||||
url: `/crm/enterprise/${id}/`,
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteEnterprise(id) {
|
||||
return request({
|
||||
url: `/crm/enterprise/${id}/`,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
|
@ -80,6 +80,24 @@ export const asyncRoutes = [
|
|||
component: () => import('@/views/standard/standard'),
|
||||
meta: { title: '标准库', icon: 'example', perms: ['standard_manage'] }
|
||||
}
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/crm',
|
||||
component: Layout,
|
||||
redirect: '/crm/enterprise',
|
||||
name: 'crm',
|
||||
meta: { title: '客户企业', icon: 'example' },
|
||||
children: [
|
||||
|
||||
{
|
||||
path: 'enterprise',
|
||||
name: 'enterprise',
|
||||
component: () => import('@/views/enterprise/enterprise'),
|
||||
meta: { title: '组织信息', icon: 'example', perms: ['enterprise_manage'] }
|
||||
}
|
||||
|
||||
]
|
||||
},
|
||||
{
|
||||
|
|
|
@ -0,0 +1,216 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<div>
|
||||
<el-select v-model="listQuery.type"
|
||||
placeholder="标准状态"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
class="filter-item"
|
||||
@change="handleFilter">
|
||||
<el-option v-for="item in statusOptions"
|
||||
:key="item.key"
|
||||
:label="item.display_name"
|
||||
:value="item.key" />
|
||||
</el-select>
|
||||
<el-input v-model="listQuery.search"
|
||||
placeholder="编号/名称"
|
||||
style="width: 300px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="handleFilter" />
|
||||
<el-button class="filter-item"
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
@click="handleFilter">搜索</el-button>
|
||||
<el-button class="filter-item"
|
||||
style="margin-left: 10px;"
|
||||
type="primary"
|
||||
icon="el-icon-refresh-left"
|
||||
@click="resetFilter">刷新重置</el-button>
|
||||
</div>
|
||||
<div style="margin-top:6px">
|
||||
<el-button type="primary" icon="el-icon-plus" @click="handleCreate">新增</el-button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<el-table v-loading="listLoading"
|
||||
:data="enterpriseList.results"
|
||||
style="width: 100%;margin-top:10px;"
|
||||
border
|
||||
fit
|
||||
stripe
|
||||
highlight-current-row
|
||||
max-height="600">
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column label="组织查询码">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.query_code }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="工厂编号">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.code }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="组织名称">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="英文名">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.ename }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="法人">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.legal }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="机构类型">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.type }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="县/区">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.region_code }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="组织机构代码">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.credit_code }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="注册资本">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.gassets }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="组织员工数">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.person_count }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="建厂时间">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.build_time }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="常用联系人">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="常用联系人电话">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.linkman1_tel }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="常用联系人手机">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.linkman1_mobile }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="经济行业">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.economy_class }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="经营范围">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.business_type }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="常用联系人职务">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.linkman1_duty }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="primary"
|
||||
size="small"
|
||||
icon="el-icon-edit"
|
||||
:disabled="!checkPermission(['standard_update'])"
|
||||
@click="handleUpdate(scope)" />
|
||||
<el-button type="danger"
|
||||
size="small"
|
||||
icon="el-icon-delete"
|
||||
:disabled="!checkPermission(['standard_delete'])"
|
||||
@click="handleDelete(scope)" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getEnterpriseList, createEnterprise, updateEnterprise, deleteEnterprise } from "@/api/enterprise"
|
||||
import { upUrl, upHeaders} from "@/api/file"
|
||||
import Pagination from "@/components/Pagination"
|
||||
import checkPermission from '@/utils/permission'
|
||||
const defaultEnterprise = {
|
||||
id:null,
|
||||
code:null,
|
||||
name:null,
|
||||
publish_date:null,
|
||||
implement_date:null,
|
||||
status:'现行'
|
||||
}
|
||||
export default {
|
||||
components: { Pagination },
|
||||
data() {
|
||||
return {
|
||||
upHeaders: upHeaders(),
|
||||
upUrl: upUrl(),
|
||||
enterpriseList: {count:0},
|
||||
enterprise:Object.assign({}, defaultEnterprise),
|
||||
listLoading: true,
|
||||
listQuery: {
|
||||
page: 1,
|
||||
page_size: 20
|
||||
},
|
||||
statusOptions: [
|
||||
{ key: "现行", display_name: "现行" },
|
||||
{ key: "即将实施", display_name: "即将实施" },
|
||||
{ key: "作废", display_name: "作废" },
|
||||
{ key: "废止", display_name: "废止" }
|
||||
],
|
||||
|
||||
fileList:[]
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
checkPermission,
|
||||
getList() {
|
||||
this.listLoading = true;
|
||||
getEnterpriseList(this.listQuery).then(response => {
|
||||
if (response.data) {
|
||||
this.enterpriseList = response.data
|
||||
}
|
||||
this.listLoading = false;
|
||||
});
|
||||
},
|
||||
resetFilter() {
|
||||
this.listQuery = {
|
||||
page: 1,
|
||||
page_size: 20
|
||||
};
|
||||
this.getList();
|
||||
},
|
||||
handleFilter() {
|
||||
this.listQuery.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
Binary file not shown.
|
@ -1,3 +1,5 @@
|
|||
from django.contrib import admin
|
||||
|
||||
from .models import Enterprise
|
||||
# Register your models here.
|
||||
admin.site.register(Enterprise)
|
|
@ -0,0 +1,86 @@
|
|||
# Generated by Django 3.0.5 on 2020-06-24 01:05
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('system', '0021_auto_20200616_1722'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Enterprise',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('create_time', models.DateTimeField(default=django.utils.timezone.now, help_text='创建时间', verbose_name='创建时间')),
|
||||
('update_time', models.DateTimeField(auto_now=True, help_text='修改时间', verbose_name='修改时间')),
|
||||
('is_deleted', models.BooleanField(default=False, help_text='删除标记', verbose_name='删除标记')),
|
||||
('code', models.CharField(max_length=300, verbose_name='工厂编号')),
|
||||
('name', models.CharField(max_length=1000, verbose_name='工厂名称')),
|
||||
('ename', models.CharField(max_length=1000, verbose_name='工厂英文名称')),
|
||||
('legal', models.CharField(max_length=300, verbose_name='申请单位法人代表')),
|
||||
('production_address', models.CharField(max_length=1000, verbose_name='生产地址')),
|
||||
('production_eaddress', models.CharField(max_length=1000, verbose_name='生产英文地址')),
|
||||
('production_postcode', models.CharField(max_length=100, verbose_name='生产地址邮编')),
|
||||
('build_time', models.DateField(max_length=200, verbose_name='建厂时间')),
|
||||
('person_count', models.IntegerField(verbose_name='工厂人数')),
|
||||
('ceramics_output', models.IntegerField(verbose_name='陶瓷年产量')),
|
||||
('gassets', models.CharField(max_length=100, verbose_name='固定资产')),
|
||||
('linkman1_name', models.CharField(max_length=300, verbose_name='第1联系人')),
|
||||
('linkman1_duty', models.CharField(max_length=300, verbose_name='第1联系人职务')),
|
||||
('linkman1_email', models.EmailField(max_length=300, verbose_name='第1联系人邮箱')),
|
||||
('linkman1_tel', models.CharField(max_length=300, verbose_name='第1联系人电话')),
|
||||
('linkman1_mobile', models.CharField(max_length=300, verbose_name='第1联系人手机')),
|
||||
('linkman1_fax', models.CharField(max_length=300, verbose_name='第1联系人传真')),
|
||||
('linkman2_name', models.CharField(max_length=300, verbose_name='备用联系人')),
|
||||
('linkman2_email', models.EmailField(max_length=300, verbose_name='备用联系人邮箱')),
|
||||
('linkman2_tel', models.CharField(max_length=300, verbose_name='备用联系人电话')),
|
||||
('linkman2_duty', models.CharField(max_length=300, verbose_name='备用联系人职务')),
|
||||
('linkman2_mobile', models.CharField(max_length=300, verbose_name='备用联系人手机')),
|
||||
('linkman2_fax', models.CharField(max_length=300, verbose_name='备用联系人传真')),
|
||||
('credit_code', models.CharField(max_length=300, verbose_name='统一社会信用代码')),
|
||||
('registered_address', models.CharField(max_length=1000, verbose_name='注册地址')),
|
||||
('registered_eaddress', models.CharField(max_length=1000, verbose_name='注册地址英文')),
|
||||
('registered_code', models.CharField(max_length=1000, verbose_name='注册地址邮编')),
|
||||
('mailing_address', models.CharField(max_length=1000, verbose_name='通信地址')),
|
||||
('mailing_eaddress', models.CharField(max_length=1000, verbose_name='通信英文地址')),
|
||||
('mailing_code', models.CharField(max_length=300, verbose_name='地址邮编')),
|
||||
('qms_person', models.IntegerField(verbose_name='QMS人数')),
|
||||
('ems_person', models.IntegerField(verbose_name='EMS人数')),
|
||||
('pcv_person', models.IntegerField(verbose_name='PCV人数')),
|
||||
('ohs_person', models.IntegerField(verbose_name='OHS人数')),
|
||||
('all_person', models.IntegerField(verbose_name='组织员工数')),
|
||||
('business_type', models.CharField(max_length=1000, verbose_name='经营范围')),
|
||||
('credit_rate', models.CharField(max_length=300, verbose_name='企业信誉级别')),
|
||||
('credit_remark', models.CharField(max_length=1000, verbose_name='企业信誉级别备注')),
|
||||
('query_code', models.CharField(max_length=1000, verbose_name='组织查询码')),
|
||||
('linkman3_name', models.CharField(max_length=300, verbose_name='ES联系人')),
|
||||
('linkman3_duty', models.CharField(max_length=300, verbose_name='ES联系人职务')),
|
||||
('linkman3_email', models.EmailField(max_length=300, verbose_name='ES联系人邮箱')),
|
||||
('linkman3_tel', models.CharField(max_length=300, verbose_name='ES联系人电话')),
|
||||
('linkman3_mobile', models.CharField(max_length=300, verbose_name='ES联系人手机')),
|
||||
('linkman3_fax', models.CharField(max_length=300, verbose_name='ES联系人传真')),
|
||||
('belong_dept', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_belong_dept', to='system.Organization', verbose_name='所属部门')),
|
||||
('country_code', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_country_code', to='system.Dict', verbose_name='生产企业所在国家地区代码')),
|
||||
('create_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_create_by', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
||||
('economy_class', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_economy_class', to='system.Dict', verbose_name='经济行业')),
|
||||
('economy_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_economy_type', to='system.Dict', verbose_name='经济类型')),
|
||||
('professional', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_professional', to='system.Dict', verbose_name='所属专业')),
|
||||
('region_code', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_region_code1', to='system.Dict', verbose_name='县/区')),
|
||||
('type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_type', to='system.Dict', verbose_name='机构类型')),
|
||||
('update_by', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='enterprise_update_by', to=settings.AUTH_USER_MODEL, verbose_name='最后编辑人')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': '组织信息',
|
||||
'verbose_name_plural': '组织信息',
|
||||
},
|
||||
),
|
||||
]
|
|
@ -6,13 +6,13 @@ class Enterprise(CommonBModel):
|
|||
code = models.CharField('工厂编号', max_length=300)
|
||||
name = models.CharField('工厂名称',max_length=1000)
|
||||
ename = models.CharField('工厂英文名称',max_length=1000)
|
||||
type = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='工厂类型', related_name= 'enterprise_type')
|
||||
type = models.ForeignKey(Dict, on_delete=models.SET_NULL,null=True, blank=True,verbose_name='机构类型', related_name= 'enterprise_type')
|
||||
legal = models.CharField('申请单位法人代表',max_length=300)
|
||||
production_address = models.CharField('生产地址',max_length=1000)
|
||||
production_eaddress = models.CharField('生产英文地址',max_length=1000)
|
||||
production_postcode = models.CharField('生产地址邮编',max_length=100)
|
||||
build_time = models.DateField('建厂时间',max_length=200)
|
||||
person_count = models.IntegerField('工厂人数',max_length=100)
|
||||
person_count = models.IntegerField('工厂人数')
|
||||
ceramics_output = models.IntegerField('陶瓷年产量')
|
||||
gassets = models.CharField('固定资产',max_length=100)
|
||||
linkman1_name = models.CharField('第1联系人',max_length=300)
|
||||
|
@ -27,7 +27,7 @@ class Enterprise(CommonBModel):
|
|||
linkman2_duty = models.CharField('备用联系人职务',max_length=300)
|
||||
linkman2_mobile = models.CharField('备用联系人手机',max_length=300)
|
||||
linkman2_fax = models.CharField('备用联系人传真',max_length=300)
|
||||
country_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='生产企业所在国家地区代码', related_name= 'enterprise_country_code')
|
||||
country_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,null=True, blank=True,verbose_name='生产企业所在国家地区代码', related_name= 'enterprise_country_code')
|
||||
credit_code = models.CharField('统一社会信用代码',max_length=300)
|
||||
# post_name = models.CharField('通信公司',null=True, blank=True, max_length=1000)
|
||||
# post_ename = models.CharField('通信公司(英)',null=True, blank=True, max_length=1000)
|
||||
|
@ -37,20 +37,19 @@ class Enterprise(CommonBModel):
|
|||
mailing_address = models.CharField('通信地址',max_length=1000)
|
||||
mailing_eaddress = models.CharField('通信英文地址',max_length=1000)
|
||||
mailing_code = models.CharField('地址邮编',max_length=300)
|
||||
region = models.CharField('地区',max_length=300)
|
||||
region_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='地区代码', related_name= 'enterprise_region_code')
|
||||
region_code = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='县/区',null=True, blank=True, related_name= 'enterprise_region_code1')
|
||||
# status = models.CharField('是否受理',null=True, blank=True, max_length=1000)
|
||||
# bak1 = models.CharField('',null=True, blank=True, max_length=1000)
|
||||
# bak2 = models.CharField('',null=True, blank=True, max_length=1000)
|
||||
# bak3 = models.CharField('',null=True, blank=True, max_length=1000)
|
||||
professional = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='所属专业', related_name= 'enterprise_professional')
|
||||
professional = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='所属专业',null=True, blank=True, related_name= 'enterprise_professional')
|
||||
qms_person = models.IntegerField('QMS人数')
|
||||
ems_person = models.IntegerField('EMS人数')
|
||||
pcv_person = models.IntegerField('PCV人数')
|
||||
ohs_person = models.IntegerField('OHS人数')
|
||||
all_person = models.IntegerField('组织员工数')
|
||||
economy_class = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='经济行业', related_name= 'enterprise_economy_class')
|
||||
economy_type =models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='经济类型', related_name= 'enterprise_economy_type')
|
||||
economy_class = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='经济行业',null=True, blank=True, related_name= 'enterprise_economy_class')
|
||||
economy_type = models.ForeignKey(Dict, on_delete=models.SET_NULL,verbose_name='经济类型',null=True, blank=True, related_name= 'enterprise_economy_type')
|
||||
business_type = models.CharField('经营范围',max_length=1000)
|
||||
credit_rate = models.CharField('企业信誉级别',max_length=300)
|
||||
credit_remark = models.CharField('企业信誉级别备注',max_length=1000)
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
from rest_framework import serializers
|
||||
|
||||
from .models import Enterprise
|
||||
|
||||
|
||||
class EnterpriseSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = Enterprise
|
||||
fields = '__all__'
|
|
@ -1,9 +1,9 @@
|
|||
from django.urls import path, include
|
||||
from .views import EntBaseInfoViewSet
|
||||
from .views import EnterpriseViewSet
|
||||
from rest_framework import routers
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
router.register('EntBaseInfo', EntBaseInfoViewSet, basename="EntBaseInfo")
|
||||
router.register('enterprise', EnterpriseViewSet, basename="enterprise")
|
||||
|
||||
urlpatterns = [
|
||||
path('', include(router.urls))
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
from django.shortcuts import render
|
||||
|
||||
from rest_framework.viewsets import ModelViewSet
|
||||
from .models import TEntBaseInfo
|
||||
from .serializers import StandardSerializer, ImplementRuleSerializer, UnitTypeSerializer
|
||||
from .models import Enterprise
|
||||
from .serializers import EnterpriseSerializer
|
||||
# Create your views here.
|
||||
class EntBaseInfoViewSet(ModelViewSet):
|
||||
perms_map = {'get': '*', 'post': 'standard_create',
|
||||
'put': 'standard_update', 'delete': 'standard_delete'}
|
||||
queryset = Standard.objects
|
||||
serializer_class = StandardSerializer
|
||||
search_fields = ['name', 'code', 'status', 'implement_date']
|
||||
filterset_fields = ['status']
|
||||
class EnterpriseViewSet(ModelViewSet):
|
||||
perms_map = {'get': '*', 'post': 'Enterprise_create',
|
||||
'put': 'Enterprise_update', 'delete': 'Enterprise_delete'}
|
||||
queryset = Enterprise.objects
|
||||
serializer_class = EnterpriseSerializer
|
||||
search_fields = ['name', 'query_code']
|
||||
ordering = ['-create_time']
|
||||
|
|
|
@ -33,6 +33,7 @@ urlpatterns = [
|
|||
path('token/black/', LogoutView.as_view(), name='token_black'),
|
||||
path('system/', include('apps.system.urls')),
|
||||
path('certset/', include('apps.certset.urls')),
|
||||
path('crm/', include('apps.crm.urls')),
|
||||
path('docs/', include_docs_urls(title="接口文档",
|
||||
authentication_classes=[], permission_classes=[])),
|
||||
path('', include(router.urls)),
|
||||
|
|
Loading…
Reference in New Issue