|
@@ -615,7 +615,7 @@ const emrEvent = {
|
|
|
view.setAttribute('fragment', {
|
|
|
name: values['查房标题'].value,
|
|
|
createId: userData.code,
|
|
|
- createDate: newDate,
|
|
|
+ creationTime: newDate,
|
|
|
referPhysician: extractFields('管床医生编码'),
|
|
|
consultPhysician: extractFields('主治医生编码'),
|
|
|
deptDirector: extractFields('主任医生编码'),
|
|
@@ -746,7 +746,7 @@ const clickSaveData = async () => {
|
|
|
templateName = '病程记录'
|
|
|
}
|
|
|
saveDialog.dialog = true
|
|
|
- data.fragment = await 解析病程记录()
|
|
|
+ data.fragment = 解析病程记录()
|
|
|
saveDialog.prompt(templateName, async (value) => {
|
|
|
data.name = value
|
|
|
let newDate = await getServerDateApi()
|
|
@@ -1087,7 +1087,7 @@ const courseSegmentLocking = async () => {
|
|
|
if (documentId) {
|
|
|
let courseTitles = [];
|
|
|
let loginUserCode = userData.code;
|
|
|
- await 循环病程返回数据元((value, node) => {
|
|
|
+ 循环病程返回数据元((value, node) => {
|
|
|
courseTitles.push({
|
|
|
code: '查房时间',
|
|
|
name: value['查房标题']?.value,
|
|
@@ -1647,32 +1647,34 @@ const changeClear = () => {
|
|
|
isEditorChange = false
|
|
|
}
|
|
|
|
|
|
-const 解析病程记录 = async () => {
|
|
|
+const 解析病程记录 = () => {
|
|
|
if (categoryCode !== emrCodeEnum.courseRecord) {
|
|
|
saveDialog.analyzeTheCourseOfTheDisease = false
|
|
|
return
|
|
|
}
|
|
|
saveDialog.analyzeTheCourseOfTheDisease = true
|
|
|
let fragment = []
|
|
|
- await 循环病程返回数据元((values, node) => {
|
|
|
+ 循环病程返回数据元((values, node) => {
|
|
|
let data
|
|
|
let fragmentData = node.view.getAttribute('fragment')
|
|
|
+
|
|
|
function listNull(name) {
|
|
|
let temp = null
|
|
|
try {
|
|
|
values[name]?.value[0]?.code
|
|
|
- }catch (e) {
|
|
|
+ } catch (e) {
|
|
|
}
|
|
|
return temp
|
|
|
}
|
|
|
+
|
|
|
// 以前老数据是没有的所以做不到质控
|
|
|
if (typeof fragmentData === 'undefined') {
|
|
|
data = {
|
|
|
name: values['查房标题']?.value,
|
|
|
- createId: listNull('编辑者') ,
|
|
|
+ createId: listNull('编辑者'),
|
|
|
creationTime: values['查房时间']?.value,
|
|
|
referPhysician: values['编辑者']?.value[0]?.code,
|
|
|
- consultPhysician: listNull('上级医师签名') ,
|
|
|
+ consultPhysician: listNull('上级医师签名'),
|
|
|
deptDirector: extractFields('主任医生编码'),
|
|
|
}
|
|
|
if (!data.name) {
|
|
@@ -1680,21 +1682,25 @@ const 解析病程记录 = async () => {
|
|
|
saveDialog.close()
|
|
|
BizException(ExceptionEnum.MESSAGE_ERROR, '片段中存在异常标题,请检查。')
|
|
|
}
|
|
|
- if (!data.creationTime) {
|
|
|
- saveDialog.close()
|
|
|
- BizException(ExceptionEnum.MESSAGE_ERROR, '片段中存在异常查房时间,请检查。')
|
|
|
- }
|
|
|
- node.view.setAttribute('fragment', data)
|
|
|
} else {
|
|
|
+ let tempDate = fragmentData.creationTime
|
|
|
+ if (!fragmentData.creationTime) {
|
|
|
+ tempDate = values['查房时间']?.value
|
|
|
+ }
|
|
|
data = {
|
|
|
name: values['查房标题']?.value,
|
|
|
createId: fragmentData.createId,
|
|
|
- creationTime: fragmentData.createDate,
|
|
|
+ creationTime: tempDate,
|
|
|
referPhysician: extractFields('管床医生编码'),
|
|
|
consultPhysician: extractFields('主治医生编码'),
|
|
|
deptDirector: extractFields('主任医生编码'),
|
|
|
}
|
|
|
}
|
|
|
+ if (!data.creationTime) {
|
|
|
+ node.view.setAttribute('fragment', undefined)
|
|
|
+ saveDialog.close()
|
|
|
+ BizException(ExceptionEnum.MESSAGE_ERROR, '片段中存在异常查房时间,请检查。')
|
|
|
+ }
|
|
|
fragment.push(data)
|
|
|
})
|
|
|
saveDialog.analyzeTheCourseOfTheDisease = false
|
|
@@ -1710,23 +1716,20 @@ const 解析病程提示 = computed(() => {
|
|
|
})
|
|
|
|
|
|
const 循环病程返回数据元 = (callback) => {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- let root = currentEmr.value.getRoot()
|
|
|
- let walker, values;
|
|
|
- let modelService = editor.ModelService;
|
|
|
- for (let node of root.getChildren()) {
|
|
|
- if (node.view && node.type === 'area') {
|
|
|
- if (!walker) {
|
|
|
- walker = modelService.createTreeWalker(node);
|
|
|
- } else {
|
|
|
- modelService.setWalkerRoot(walker, node);
|
|
|
- }
|
|
|
- values = modelService.getElementsDataFromWalker(walker, '编辑者');
|
|
|
- callback(values, node)
|
|
|
+ let root = currentEmr.value.getRoot()
|
|
|
+ let walker, values;
|
|
|
+ let modelService = editor.ModelService;
|
|
|
+ for (let node of root.getChildren()) {
|
|
|
+ if (node.view && node.type === 'area') {
|
|
|
+ if (!walker) {
|
|
|
+ walker = modelService.createTreeWalker(node);
|
|
|
+ } else {
|
|
|
+ modelService.setWalkerRoot(walker, node);
|
|
|
}
|
|
|
+ values = modelService.getElementsDataFromWalker(walker, '编辑者');
|
|
|
+ callback(values, node)
|
|
|
}
|
|
|
- resolve()
|
|
|
- })
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|