This commit is contained in:
caoqianming 2020-07-05 15:53:01 +08:00
parent 881bf0c060
commit c710920f6e
6 changed files with 149 additions and 25 deletions

View File

@ -7,7 +7,7 @@ import { getToken } from '@/utils/auth'
const service = axios.create({ const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests // withCredentials: true, // send cookies when cross-domain requests
timeout: 30000 // request timeout timeout: 300000 // request timeout
}) })
// request interceptor // request interceptor

View File

@ -71,7 +71,7 @@
<el-table-column align="header-center" label="项目名称"> <el-table-column align="header-center" label="项目名称">
<template slot-scope="scope">{{ scope.row.xmmc }}</template> <template slot-scope="scope">{{ scope.row.xmmc }}</template>
</el-table-column> </el-table-column>
<el-table-column align="header-center" label="标准名称"> <el-table-column align="header-center" label="标准名称" width="300">
<template slot-scope="scope">{{ scope.row.bzmc }}</template> <template slot-scope="scope">{{ scope.row.bzmc }}</template>
</el-table-column> </el-table-column>
<el-table-column align="header-center" label="标准编号"> <el-table-column align="header-center" label="标准编号">
@ -82,6 +82,7 @@
column-key="sszx" column-key="sszx"
:filters="groupBy.sszx" :filters="groupBy.sszx"
:filter-multiple="false" :filter-multiple="false"
fixed="right"
> >
<template slot-scope="scope">{{ scope.row.sszx }}</template> <template slot-scope="scope">{{ scope.row.sszx }}</template>
</el-table-column> </el-table-column>

View File

@ -0,0 +1,53 @@
# Generated by Django 3.0.5 on 2020-07-05 04:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('ability', '0007_cma_type'),
]
operations = [
migrations.AlterField(
model_name='cma',
name='bzbh',
field=models.TextField(blank=True, null=True, verbose_name='标准编号'),
),
migrations.AlterField(
model_name='cma',
name='bzmc',
field=models.TextField(blank=True, null=True, verbose_name='标准名称'),
),
migrations.AlterField(
model_name='cma',
name='dlmc',
field=models.TextField(blank=True, null=True, verbose_name='大类'),
),
migrations.AlterField(
model_name='cma',
name='dlxh',
field=models.TextField(blank=True, null=True, verbose_name='大类序号'),
),
migrations.AlterField(
model_name='cma',
name='lbmc',
field=models.TextField(blank=True, null=True, verbose_name='类别名称'),
),
migrations.AlterField(
model_name='cma',
name='lbxh',
field=models.TextField(blank=True, null=True, verbose_name='类别序号'),
),
migrations.AlterField(
model_name='cma',
name='xmmc',
field=models.TextField(blank=True, null=True, verbose_name='项目名称'),
),
migrations.AlterField(
model_name='cma',
name='xmxh',
field=models.TextField(blank=True, null=True, verbose_name='项目序号'),
),
]

View File

@ -10,14 +10,14 @@ class CMA(BaseModel):
('center', '总部'), ('center', '总部'),
('sub', '分子公司') ('sub', '分子公司')
) )
dlxh = models.CharField('大类序号', max_length=200,null=True,blank=True) dlxh = models.TextField('大类序号', null=True,blank=True)
dlmc = models.CharField('大类', max_length=200,null=True,blank=True) dlmc = models.TextField('大类', null=True,blank=True)
lbxh = models.CharField('类别序号', max_length=200,null=True,blank=True) lbxh = models.TextField('类别序号', null=True,blank=True)
lbmc = models.CharField('类别名称', max_length=200,null=True,blank=True) lbmc = models.TextField('类别名称', null=True,blank=True)
xmxh = models.CharField('项目序号', max_length=200,null=True,blank=True) xmxh = models.TextField('项目序号', null=True,blank=True)
xmmc = models.CharField('项目名称', max_length=200,null=True,blank=True) xmmc = models.TextField('项目名称', null=True,blank=True)
bzmc = models.CharField('标准名称', max_length=400,null=True,blank=True) bzmc = models.TextField('标准名称', null=True,blank=True)
bzbh = models.CharField('标准编号', max_length=400,null=True,blank=True) bzbh = models.TextField('标准编号', null=True,blank=True)
xzfw = models.TextField('限制范围',null=True,blank=True) xzfw = models.TextField('限制范围',null=True,blank=True)
bz = models.TextField('备注',null=True,blank=True) bz = models.TextField('备注',null=True,blank=True)
sszx = models.TextField('所属中心',null=True,blank=True) sszx = models.TextField('所属中心',null=True,blank=True)

View File

@ -22,7 +22,7 @@ class CMAViewSet(ModelViewSet):
search_fields = ['bzbh', 'bzmc', 'sszx', 'xmmc'] search_fields = ['bzbh', 'bzmc', 'sszx', 'xmmc']
filterset_fields = ['sszx', 'type'] filterset_fields = ['sszx', 'type']
ordering_fields = ['xmxh'] ordering_fields = ['xmxh']
ordering = 'xmxh' ordering = 'sszx'
@action(methods=['get'], detail=False,url_name='cma_group_by', perms_map = {'*':'*'}) @action(methods=['get'], detail=False,url_name='cma_group_by', perms_map = {'*':'*'})
def group(self, request, pk=None): def group(self, request, pk=None):
@ -53,7 +53,7 @@ class CMAViewSet(ModelViewSet):
os.chdir(fulldir) os.chdir(fulldir)
rar.extractall() rar.extractall()
rar.close() rar.close()
CMA.objects.all().delete() CMA.objects.filter(type='center').delete()
for root, dirs, files in os.walk(fulldir): for root, dirs, files in os.walk(fulldir):
for f in files: for f in files:
import_cma(f, os.path.join(root,f)) import_cma(f, os.path.join(root,f))
@ -74,7 +74,7 @@ class CMAViewSet(ModelViewSet):
os.chdir(fulldir) os.chdir(fulldir)
rar.extractall() rar.extractall()
rar.close() rar.close()
CMA.objects.all().delete() CMA.objects.filter(type='sub').delete()
for root, dirs, files in os.walk(fulldir): for root, dirs, files in os.walk(fulldir):
for f in files: for f in files:
import_cma2(f, os.path.join(root,f)) import_cma2(f, os.path.join(root,f))
@ -134,6 +134,7 @@ def import_cma(filename, path):
data['xzfw'] = sheet['i'+str(i)].value data['xzfw'] = sheet['i'+str(i)].value
data['bz'] = sheet['j'+str(i)].value data['bz'] = sheet['j'+str(i)].value
data['sszx'] = sszx data['sszx'] = sszx
data['type'] = 'center'
print(data) print(data)
datalist.append(CMA(**data)) datalist.append(CMA(**data))
i = i + 1 i = i + 1
@ -175,23 +176,92 @@ def import_cnas(filename, path):
CNAS.objects.bulk_create(datalist) CNAS.objects.bulk_create(datalist)
def import_cma2(filename, path): def import_cma2(filename, path):
wb = load_workbook(path) wb = load_workbook(path,data_only=True)
sheet = wb.worksheets[0] sheet = wb.worksheets[0]
datalist = [] datalist = []
sszx = filename.split('-')[0] sszx = filename.split('-')[0]
i = 3 i = 3
while sheet['b'+str(i)].value: max_row = sheet.max_row
while i<max_row+1:
data = {} data = {}
data['dlxh'] = sheet['a'+str(i)].value if sheet['a'+str(i)].value:
data['dlmc'] = sheet['b'+str(i)].value data['dlxh'] = sheet['a'+str(i)].value
data['lbxh'] = sheet['c'+str(i)].value elif sheet['a3'].value:
data['lbmc'] = sheet['d'+str(i)].value m = i - 1
data['xmxh'] = sheet['e'+str(i)].value while True:
data['xmmc'] = sheet['f'+str(i)].value if sheet['a'+str(m)].value:
data['bzmc'] = sheet['g'+str(i)].value data['dlxh'] = sheet['a'+str(m)].value
data['bzbh'] = sheet['h'+str(i)].value break
data['xzfw'] = sheet['i'+str(i)].value m = m - 1
data['bz'] = sheet['j'+str(i)].value if sheet['b'+str(i)].value:
data['dlmc'] = sheet['b'+str(i)].value
elif sheet['b3'].value:
m = i - 1
while True:
if sheet['b'+str(m)].value:
data['dlmc'] = sheet['b'+str(m)].value
break
m = m - 1
if sheet['c'+str(i)].value:
data['lbxh'] = sheet['c'+str(i)].value
else:
m = i - 1
while True:
if sheet['c'+str(m)].value:
data['lbxh'] = sheet['c'+str(m)].value
break
m = m - 1
if sheet['d'+str(i)].value:
data['lbmc'] = sheet['d'+str(i)].value
else:
m = i - 1
while True:
if sheet['d'+str(m)].value:
data['lbmc'] = sheet['d'+str(m)].value
break
m = m - 1
if sheet['e'+str(i)].value:
data['xmxh'] = sheet['e'+str(i)].value
elif sheet['e3'].value: # 该表存在项目序号
m = i - 1
while True:
if sheet['e'+str(m)].value:
data['xmxh'] = sheet['e'+str(m)].value
break
m = m - 1
else: #该表没有项目序号,自己定
pass
if sheet['f'+str(i)].value:
data['xmmc'] = sheet['f'+str(i)].value
elif sszx=='枣庄公司':
pass
else:
m = i - 1
while True:
if sheet['f'+str(m)].value:
data['xmmc'] = sheet['f'+str(m)].value
break
m = m - 1
if sheet['g'+str(i)].value:
data['bzmc'] = sheet['g'+str(i)].value
else:
m = i - 1
while True:
if sheet['g'+str(m)].value:
data['bzmc'] = sheet['g'+str(m)].value
break
m = m - 1
if sheet['h'+str(i)].value:
data['bzbh'] = sheet['h'+str(i)].value
else:
m = i - 1
while True:
if sheet['h'+str(m)].value:
data['bzbh'] = sheet['h'+str(m)].value
break
m = m - 1
data['xzfw'] = sheet['i'+str(i)].value if (sheet['i'+str(i)].value and sheet['i'+str(i)].value !='') else None
data['bz'] = sheet['j'+str(i)].value if (sheet['j'+str(i)].value and sheet['j'+str(i)].value !='') else None
data['sszx'] = sszx data['sszx'] = sszx
data['type'] = 'sub' data['type'] = 'sub'
print(data) print(data)

Binary file not shown.