|  | @@ -7,9 +7,11 @@ import {
 | 
	
		
			
				|  |  |    RefreshLeft,
 | 
	
		
			
				|  |  |    RefreshRight,
 | 
	
		
			
				|  |  |    SortDown,
 | 
	
		
			
				|  |  | +  Avatar
 | 
	
		
			
				|  |  |  } from "@element-plus/icons-vue";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import {
 | 
	
		
			
				|  |  | +  emrConfig,
 | 
	
		
			
				|  |  |    emrMitt, query,
 | 
	
		
			
				|  |  |    useRecoveryEmr
 | 
	
		
			
				|  |  |  } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
 | 
	
	
		
			
				|  | @@ -18,20 +20,29 @@ import {
 | 
	
		
			
				|  |  |    Button,
 | 
	
		
			
				|  |  |    PopoverButton,
 | 
	
		
			
				|  |  |  } from "./useEmrFunction";
 | 
	
		
			
				|  |  | +import {xcMessage} from "@/utils/xiaochan-element-plus";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const props = defineProps<{
 | 
	
		
			
				|  |  |    openRecovery: () => void,
 | 
	
		
			
				|  |  | -  isOpenPage: boolean
 | 
	
		
			
				|  |  | +  isOpenPage: boolean,
 | 
	
		
			
				|  |  | +  reviewMode: number;
 | 
	
		
			
				|  |  |  }>()
 | 
	
		
			
				|  |  |  let zoom = 1;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -const emits = defineEmits(['update:isOpenPage'])
 | 
	
		
			
				|  |  | +const emits = defineEmits(['update:isOpenPage', 'update:reviewMode'])
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +function setRevisionShowMode(value: number) {
 | 
	
		
			
				|  |  | +  emits('update:reviewMode', 2)
 | 
	
		
			
				|  |  | +  emrMitt.emit('editor')?.setRevisionShowMode(2);
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const businessFunctions = [
 | 
	
		
			
				|  |  |    {
 | 
	
		
			
				|  |  |      iconfontName: 'baocun',
 | 
	
		
			
				|  |  |      title: '保存正在编写的电子病历',
 | 
	
		
			
				|  |  |      name: '保存',
 | 
	
		
			
				|  |  | +    disabled: !emrConfig.value.editor,
 | 
	
		
			
				|  |  |      click() {
 | 
	
		
			
				|  |  |        emrMitt.emit('clickSaveData')
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -40,14 +51,25 @@ const businessFunctions = [
 | 
	
		
			
				|  |  |      iconfontName: 'tijiao',
 | 
	
		
			
				|  |  |      title: '标识病历为提交,提交不是保存,该功能只是在病历的前面加上一个🔒的样式',
 | 
	
		
			
				|  |  |      name: '提交',
 | 
	
		
			
				|  |  | +    disabled: !emrConfig.value.editor,
 | 
	
		
			
				|  |  |      click() {
 | 
	
		
			
				|  |  |        emrMitt.emit('clickToSubmitTheMedicalRecord')
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  | +  {
 | 
	
		
			
				|  |  | +    iconfontName: 'huizhenshenqing',
 | 
	
		
			
				|  |  | +    title: "由上级医生点击,上级医生审核完成病历后需要点击该按钮。",
 | 
	
		
			
				|  |  | +    name: '审核',
 | 
	
		
			
				|  |  | +    disabled: !emrConfig.value.editor,
 | 
	
		
			
				|  |  | +    click() {
 | 
	
		
			
				|  |  | +      emrMitt.emit('auditClick')
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |    {
 | 
	
		
			
				|  |  |      iconfontName: <Delete/>,
 | 
	
		
			
				|  |  |      title: '删除当前病历,可在回收站恢复,出院患者无法删除,需要把出院患者召回才行',
 | 
	
		
			
				|  |  |      name: '删除',
 | 
	
		
			
				|  |  | +    disabled: !emrConfig.value.editor,
 | 
	
		
			
				|  |  |      click() {
 | 
	
		
			
				|  |  |        emrMitt.emit('clickDelete')
 | 
	
		
			
				|  |  |      },
 | 
	
	
		
			
				|  | @@ -56,6 +78,7 @@ const businessFunctions = [
 | 
	
		
			
				|  |  |      iconfontName: 'huanyuan',
 | 
	
		
			
				|  |  |      title: '还原当前病历上一次保存的状态',
 | 
	
		
			
				|  |  |      name: '还原',
 | 
	
		
			
				|  |  | +    disabled: !emrConfig.value.editor,
 | 
	
		
			
				|  |  |      click: props.openRecovery,
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    {
 | 
	
	
		
			
				|  | @@ -75,6 +98,7 @@ const functionList = ref<FunctionList[][]>([
 | 
	
		
			
				|  |  |        name: '数据同步',
 | 
	
		
			
				|  |  |        title: "数据同步,患者基本信息只会在空的时候填充,从病历提取的数据会强制替换,如入院诊断,鼠标右键可选择性填充数据",
 | 
	
		
			
				|  |  |        iconfontName: 'tongbu',
 | 
	
		
			
				|  |  | +      disabled: !emrConfig.value.editor,
 | 
	
		
			
				|  |  |        click() {
 | 
	
		
			
				|  |  |          emrMitt.emit('syncEmrPatientData')
 | 
	
		
			
				|  |  |        },
 | 
	
	
		
			
				|  | @@ -101,6 +125,33 @@ const functionList = ref<FunctionList[][]>([
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    ],
 | 
	
		
			
				|  |  |    [
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: "",
 | 
	
		
			
				|  |  | +      iconfontName: 'shenyue',
 | 
	
		
			
				|  |  | +      dropdown: [
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          name: '嵌入模式',
 | 
	
		
			
				|  |  | +          title: '开启后会在病历中会有其他医生的修改痕迹,默认开启',
 | 
	
		
			
				|  |  | +          click() {
 | 
	
		
			
				|  |  | +            setRevisionShowMode(2)
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          name: '卡片模式',
 | 
	
		
			
				|  |  | +          title: '病历右侧会以列表的形式显示 添加,删除,更新的记录,可以通过该模式消除痕迹,选择 √ 或 X即可。',
 | 
	
		
			
				|  |  | +          click() {
 | 
	
		
			
				|  |  | +            const editor = emrMitt.emit('editor');
 | 
	
		
			
				|  |  | +            if (editor!.isRevisionMode) {
 | 
	
		
			
				|  |  | +              setRevisionShowMode(2)
 | 
	
		
			
				|  |  | +              xcMessage.warning('您不是该病历或片段的创建人无法使用卡片模式')
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              setRevisionShowMode(1)
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      ]
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |        iconfontName: <Printer/>,
 | 
	
		
			
				|  |  |        title: "",
 | 
	
	
		
			
				|  | @@ -164,6 +215,15 @@ const functionList = ref<FunctionList[][]>([
 | 
	
		
			
				|  |  |          emrMitt.emit('editor')!.setPaginate(value.activation)
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +  ],
 | 
	
		
			
				|  |  | +  [
 | 
	
		
			
				|  |  | +    {
 | 
	
		
			
				|  |  | +      title: "点击可以打开聊天室",
 | 
	
		
			
				|  |  | +      iconfontName: <Avatar/>,
 | 
	
		
			
				|  |  | +      click() {
 | 
	
		
			
				|  |  | +        emrMitt.emit('openChatRoom')
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |    ]
 | 
	
		
			
				|  |  |  ]);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -204,7 +264,7 @@ emrMitt.emit('setHeaderFunction', [...businessFunctions, ...functionList.value[0
 | 
	
		
			
				|  |  |    padding: 4px;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    .emr_function-action-group {
 | 
	
		
			
				|  |  | -    margin: 5px 0;
 | 
	
		
			
				|  |  | +    margin: 8px 0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      .el-button:hover {
 | 
	
		
			
				|  |  |        background-color: #f5f7fa;
 |