|
@@ -54,6 +54,22 @@ def get_item_data(db: Session, id: int, level: int):
|
|
|
if data['value'] is None:
|
|
|
data['value'] = ''
|
|
|
|
|
|
+ if level == 2:
|
|
|
+ rows = db.query(EmergencyDoc).filter(EmergencyDoc.pid == pid).all()
|
|
|
+ if len(rows) > 0:
|
|
|
+ value_level3 = "<p>"
|
|
|
+ for row in rows:
|
|
|
+ title3 = row.title
|
|
|
+ value3 = row.value
|
|
|
+
|
|
|
+ if title3 != "":
|
|
|
+ value_level3 = value_level3 + "<strong>" + title3 + "</strong></p><p>"
|
|
|
+
|
|
|
+ if value3 != "":
|
|
|
+ value_level3 = value_level3 + format_value(value3) + "</p><p>"
|
|
|
+
|
|
|
+ data['value'] = data['value'] + value_level3 + "</p>"
|
|
|
+
|
|
|
data['items'] = []
|
|
|
rows = db.query(EmergencyDoc).filter(EmergencyDoc.pid == pid).all()
|
|
|
for row in rows:
|
|
@@ -66,9 +82,12 @@ def get_item_data(db: Session, id: int, level: int):
|
|
|
data['id'] = data['plan_id']+str(data['id'])
|
|
|
data['href'] = "#" + data['id']
|
|
|
data['containerRef'] = "containerRef" + data['id']
|
|
|
- data['value'] = data['value'].replace("\r\n", "<br/>")
|
|
|
+ data['value'] = format_value(data['value'])
|
|
|
return data
|
|
|
|
|
|
+def format_value(value: str) -> str:
|
|
|
+ return value.replace("\r\n", "</p><p>").replace("\n", "</p><p>")
|
|
|
+
|
|
|
|
|
|
@router.post('/import')
|
|
|
async def import_doc(
|
|
@@ -107,16 +126,20 @@ async def import_doc(
|
|
|
# 二级目录
|
|
|
title2 = sheet.cell(i, 2).value
|
|
|
|
|
|
+ # 三级目录
|
|
|
+ title3 = sheet.cell(i, 3).value
|
|
|
+
|
|
|
# 正文
|
|
|
- content = sheet.cell(i, 3).value
|
|
|
+ content = sheet.cell(i, 4).value
|
|
|
|
|
|
- if len(plan_name) < 1 and len(title1) < 1 and len(title2) < 1 and len(content) < 1 :
|
|
|
+ if len(plan_name) < 1 and len(title1) < 1 and len(title2) < 1 and len(title3) < 1 and len(content) < 1 :
|
|
|
break
|
|
|
|
|
|
data.append({
|
|
|
'plan_name': plan_name,
|
|
|
'title1': title1,
|
|
|
'title2': title2,
|
|
|
+ 'title3': title3,
|
|
|
'content': content,
|
|
|
})
|
|
|
|
|
@@ -130,7 +153,7 @@ async def import_doc(
|
|
|
for n in data:
|
|
|
if n['title1'] != '':
|
|
|
if len(docs) > 0:
|
|
|
- add_doc(db, title1, content, docs, plan_id)
|
|
|
+ add_doc_1(db, title1, content, docs, plan_id)
|
|
|
|
|
|
docs = []
|
|
|
title1 = n['title1']
|
|
@@ -142,7 +165,7 @@ async def import_doc(
|
|
|
docs.append(n)
|
|
|
|
|
|
if len(docs) > 0:
|
|
|
- add_doc(db, title1, content, docs, plan_id)
|
|
|
+ add_doc_1(db, title1, content, docs, plan_id)
|
|
|
|
|
|
return {
|
|
|
'code': 200,
|
|
@@ -155,14 +178,57 @@ async def import_doc(
|
|
|
'msg': '导入发生异常'
|
|
|
}
|
|
|
|
|
|
-def add_doc(db: Session, title: str, content: str, docs: list, plan_id: str):
|
|
|
+def add_doc_1(db: Session, title: str, content: str, docs: list, plan_id: str):
|
|
|
+ print(title)
|
|
|
+ print(docs)
|
|
|
+ # 一级记录
|
|
|
main_entity = EmergencyDoc(title = title, value= content, pid = 0, plan_id = plan_id)
|
|
|
db.add(main_entity)
|
|
|
db.commit()
|
|
|
db.refresh(main_entity)
|
|
|
main_id = main_entity.id
|
|
|
+ print('main_id: ', main_id, 1)
|
|
|
+
|
|
|
+ title2 = ''
|
|
|
+ content = ''
|
|
|
+ docs_2 = []
|
|
|
+ for n in docs:
|
|
|
+ if n['title2'] != '':
|
|
|
+ if len(docs_2) > 0:
|
|
|
+ add_doc_2(db, title2, content, docs_2, plan_id, main_id)
|
|
|
+
|
|
|
+ docs_2 = []
|
|
|
+ title2 = n['title2']
|
|
|
+ content = n['content']
|
|
|
+ docs_2.append(n)
|
|
|
+ continue
|
|
|
+
|
|
|
+ docs_2.append(n)
|
|
|
+
|
|
|
+ if len(docs_2) > 0:
|
|
|
+ add_doc_2(db, title2, content, docs_2, plan_id, main_id)
|
|
|
+
|
|
|
+def add_doc_2(db: Session, title: str, content: str, docs: list, plan_id: str, pid: int):
|
|
|
+ # 二级记录
|
|
|
+ main_entity = EmergencyDoc(title = title, value= content, pid = pid, plan_id = plan_id)
|
|
|
+ db.add(main_entity)
|
|
|
+ db.commit()
|
|
|
+ db.refresh(main_entity)
|
|
|
+ main_id = main_entity.id
|
|
|
+
|
|
|
+ print('main_id: ', main_id, 2)
|
|
|
|
|
|
+ i = 0
|
|
|
for n in docs:
|
|
|
- sub_entity = EmergencyDoc(title = n['title2'], value= n['content'], pid = main_id, plan_id = plan_id)
|
|
|
+ i = i + 1
|
|
|
+
|
|
|
+ # 第一行是二级记录
|
|
|
+ if i == 1:
|
|
|
+ continue
|
|
|
+
|
|
|
+ sub_entity = EmergencyDoc(title = n['title3'], value= n['content'], pid = main_id, plan_id = plan_id)
|
|
|
db.add(sub_entity)
|
|
|
- db.commit()
|
|
|
+ db.commit()
|
|
|
+ db.refresh(sub_entity)
|
|
|
+ sub_id = sub_entity.id
|
|
|
+ print('sub_id: ', sub_id, 3)
|