瀏覽代碼

优化检查打印

DESKTOP-0GD05B0\Administrator 2 年之前
父節點
當前提交
2816853275

+ 8 - 1
src/components/xiao-chan/combo-grid/XcComboGrid.vue

@@ -233,7 +233,14 @@ const clickInput = () => {
 }
 
 const clear = () => {
-  emit('clear')
+  focus()
+  if (isObj) {
+    props.modelValue[props.code] = null
+    props.modelValue[props.name] = null
+  } else {
+    props.modelValue = null
+  }
+  emit('clear');
 }
 
 const highlightRow = async () => {

+ 96 - 0
src/components/xiao-chan/print/XcPrint.vue

@@ -0,0 +1,96 @@
+<template>
+  <iframe ref="iframeRef" :src="scr" :style="{width: props.width,height:props.height }"/>
+</template>
+
+<script setup name='XcPrint'>
+import {PrintEmr} from "@/components/xiao-chan/print/xc-print";
+
+const props = defineProps({
+  width: {
+    type: String
+  },
+  height: {
+    type: String
+  },
+  categoryId: {
+    type: String
+  },
+  categoryCode: {
+    type: String
+  }
+})
+
+let scr = $ref(`/emr/runtime/?documentId=null&categoryCode=${props.categoryCode}&categoryId=${props.categoryId}&patientId=null#/`)
+
+const iframeRef = ref()
+let emr = null
+
+let shuJu = {
+  "mattersNeedingAttention": "1.adshioiou \n 2.asdgbhjkg\n",
+  "title": "超声检查申请单彩超",
+  "reqNo": 4958090,
+  "inpatientNo": "0409327",
+  "admissTimes": 1,
+  "bedNo": "-10",
+  "groupName": "甲状旁腺彩超",
+  "actOrderNo": 15894685,
+  "orderCode": "10257",
+  "orderName": "甲状旁腺彩超",
+  "pageNo": "4958090",
+  "reqComment": "暗杀收到",
+  "reqDoctor": "02896",
+  "reqDoctorName": "肖蟾",
+  "reqDept": "8000007",
+  "reqDeptName": "七病室",
+  "reqWard": "8000007",
+  "execDept": "2020300",
+  "execDeptName": null,
+  "reqDate": "2022-12-01 15:52:44",
+  "inspectPart": null,
+  "inspectStuff": null,
+  "inspectStuffName": null,
+  "sampleStatus": null,
+  "printFlag": null,
+  "receiveFlag": "1",
+  "reqType": "3",
+  "resultComment": null,
+  "sysDate": "2022-12-01 15:52:44",
+  "startTime": "2022-12-01 13:46:45",
+  "diagText": "热性中性粒细胞皮肤病\\[斯威特\\]",
+  "diagCode": "L98.200",
+  "orderType": "02",
+  "reportNo": null,
+  "jzFlag": null,
+  "reqStudyid": null,
+  "reqTzComment": "发生的",
+  "reqOtherResult": "发生的",
+  "receiveJc": null,
+  "sex": 1,
+  "homeStreet": "湖南省株洲市荷塘区仙庾镇霞山村黄",
+  "homeTel": "13973115487     ",
+  "responceTypeName": "普通住院",
+  "ybSelfFlag": null,
+  "receiveFlagName": "申请医技",
+  "pbarCode": null,
+  "pname": "贺喜安",
+  "page": "77岁"
+}
+
+const fillData = (data) => {
+
+}
+
+onMounted(async () => {
+  await nextTick()
+  iframeRef.value.parentElement.emr = new PrintEmr((val) => {
+    emr = val
+    fillData(shuJu)
+  })
+  console.log(scr)
+})
+
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 34 - 0
src/components/xiao-chan/print/xc-print.js

@@ -0,0 +1,34 @@
+import store from "@/store";
+
+export function PrintEmr(func) {
+
+    this.setEditor = (editor, runtime) => {
+        this.editor = editor;
+        this.runtime = runtime;
+
+        editor.on('ready', () => {
+            func(this.editor)
+        })
+    };
+
+    this.getAppContext = () => {
+        return {
+            endpoints: {
+                app: "/bdp/dataservice/api",
+                his: import.meta.env.VITE_BASE_URL,
+            }, input: {
+                user: store.state.user.info.code,
+                name: store.state.user.info.name
+            }, login: {
+                token: store.state.user.info.token,
+                user: {
+                    id: store.state.user.info.code,
+                    name: store.state.user.info.name,
+                }
+            },
+            data: {}
+        }
+    };
+
+
+}

+ 0 - 332
src/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/da-ying/DaYingJianCha.vue

@@ -1,332 +0,0 @@
-<template>
-  <el-container>
-    <el-main :style="zuJianDaXiao">
-      纸张:
-      <el-radio v-model="zhiZhang" :label="1" size="large">A4</el-radio>
-      <el-radio v-model="zhiZhang" :label="2" size="large">A5</el-radio>
-      <el-button @click="daYing">打印</el-button>
-      <div id="daYing">
-        <div style="width:394.875pt;height:760px;background-color: white;font-size: 13px">
-          <svg id="barcode"></svg>
-          <div style="text-align: center;font-size: 25px;width:100%;height: 50px;margin-top: 3.75pt ">长沙泰和医院</div>
-          <div style="text-align: center;font-size: 16px;margin-top: 7px;">{{ biaoTi }}</div>
-          <div class="tanXingHeZiHeng" style="width: 520px;margin:1px auto">
-            <div class="wen-zi">
-              <div>病人身份:</div>
-              <div>{{ huanZheXinXi.responceTypeName }}</div>
-            </div>
-
-            <div class="wen-zi">
-              <div>单号:</div>
-              <div>{{ huanZheXinXi.reqNo }}</div>
-            </div>
-
-            <div class="wen-zi">
-              <div>
-                急诊:
-              </div>
-              <div>
-                <div style="border: 1px solid #000;width: 20px;height: 20px;margin: -10px 10px auto auto">
-                  <span v-if="jzFlag" style="font-size: 27px;">√</span>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div style="border: 1px solid #000;border-bottom: 0;margin: 0 3.75pt 0 3.75pt;">
-            <div class="tanXingHeZiShu">
-              <div class="tanXingHeZiHeng">
-                <div class="wen-zi">
-                  <div>住院号:</div>
-                  <div>{{ huanZheXinXi.inpatientNo }}</div>
-                </div>
-                <div class="wen-zi">
-                  <div>姓名:</div>
-                  <div>{{ huanZheXinXi.pname }}</div>
-                </div>
-                <div class="wen-zi">
-                  <div>性别:</div>
-                  <div>{{ cptSex(huanZheXinXi.sex) }}</div>
-                </div>
-                <div class="wen-zi">
-                  <div>年龄:</div>
-                  <div>{{ huanZheXinXi.page }}</div>
-                </div>
-                <div class="wen-zi">
-                  <div>床号:</div>
-                  <div>{{ huanZheXinXi.bedNo }}</div>
-                </div>
-              </div>
-              <div class="tanXingHeZiHeng" style="margin-bottom: 3.75pt">
-                <div class="wen-zi">
-                  <div>病人住址:</div>
-                  <div>{{ huanZheXinXi.homeStreet }}</div>
-                </div>
-                <div class="wen-zi">
-                  <div>联系电话:</div>
-                  <div>{{ huanZheXinXi.homeTel }}</div>
-                </div>
-              </div>
-            </div>
-          </div>
-
-          <div class="zhu-yao-ge-zi">
-            <div class="zuo-ge-zi">
-            <span>
-            病史摘要<br>
-            申请检查
-            要求:
-            </span>
-            </div>
-            <div class="you-ge-zi">
-              {{ huanZheXinXi.reqComment }}
-            </div>
-          </div>
-          <div class="zhu-yao-ge-zi">
-            <div class="zuo-ge-zi">
-              <span>体征</span>
-            </div>
-            <div class="you-ge-zi">
-              {{ huanZheXinXi.reqTzComment }}
-            </div>
-          </div>
-          <div class="zhu-yao-ge-zi">
-            <div class="zuo-ge-zi">
-            <span>
-              相关辅检<br>
-              结果
-            </span>
-            </div>
-            <div class="you-ge-zi">
-              {{ huanZheXinXi.reqOtherResult }}
-            </div>
-          </div>
-          <div class="zhu-yao-ge-zi">
-            <div class="zuo-ge-zi">
-            <span>
-              临床诊断
-            </span>
-            </div>
-            <div class="you-ge-zi">
-              {{ huanZheXinXi.diagText }}
-            </div>
-          </div>
-          <div class="zhu-yao-ge-zi">
-            <div class="zuo-ge-zi">
-            <span>
-              检查部位<br>
-              及项目
-            </span>
-            </div>
-            <div class="you-ge-zi">
-              {{ huanZheXinXi.orderName }}
-            </div>
-          </div>
-          <div class="zhu-yao-ge-zi" style="border-bottom: 1px solid #000000">
-            <div class="zuo-ge-zi" style="height: 50px">
-            </div>
-            <div class="you-ge-zi">
-              <div class="tanXingHeZiShu">
-                <div class="tanXingHeZiHeng">
-                  <div class="wen-zi">
-                    <div>申请科室:</div>
-                    <div>{{ huanZheXinXi.reqDeptName }}</div>
-                  </div>
-                  <div class="wen-zi">
-                    <div>申请医生:</div>
-                    <div style="width: 100px;">{{ huanZheXinXi.reqDoctorName }}</div>
-                  </div>
-                </div>
-                <div class="tanXingHeZiHeng">
-                  <div class="wen-zi">
-                    <div>申请日期:</div>
-                    <div>{{ huanZheXinXi.reqDate }}</div>
-                  </div>
-                  <div class="wen-zi">
-                    <div>医师签字:</div>
-                    <div style="width: 100px;"></div>
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-          <div style="margin: 1px  auto auto 20px">
-            注意事项:
-            <pre>{{ zhuYiShiXiang }}</pre>
-          </div>
-        </div>
-      </div>
-    </el-main>
-  </el-container>
-</template>
-
-<script setup name="DaYingJianCha">
-import {computed, onMounted, ref} from "vue";
-import JsBarcode from "jsbarcode";
-import {stringIsBlank, stringNotBlank} from "@/utils/blank-utils";
-import {cptSex} from "@/utils/computed";
-import {getLodop, initLodop} from "@/utils/c-lodop";
-import {ElMessage} from "element-plus";
-
-
-const props = defineProps({
-  width: {
-    type: Number,
-    default: 560,
-  },
-  height: {
-    type: Number,
-    default: 500,
-  }
-})
-
-const css = `*{font-size:9pt}.tanXingHeZiHeng{display:flex;justify-content:space-between;margin-top:3pt;padding:0 3.75pt}.tanXingHeZiShu{display:flex;flex-direction:column}.wen-zi{display:flex;margin-top:3pt}.wen-zi div:first-child{display:flex;flex-direction:row;justify-content:center}.wen-zi div:nth-child(2){margin-left:3pt;display:table}.zhu-yao-ge-zi{border:1px solid #000;border-bottom:0;margin:0 3.75pt 0 3.75pt;display:flex}.you-ge-zi{width:100%;word-wrap:break-word;padding:5px}.zuo-ge-zi span{margin:5px auto}.zuo-ge-zi{width:82.5pt;height:70px;border-right:1px solid #000;text-align:center;display:flex;padding:0 5px}pre{white-space:pre-wrap;word-wrap:break-word;margin:0;padding:0}#daYing{position:relative}#barcode{width:150px;position:absolute;z-index:222}`
-const huanZheXinXi = ref({})
-const biaoTi = ref('检查申请单')
-// 主要事项
-const zhuYiShiXiang = ref('')
-const jzFlag = ref(false)
-
-const zhiZhang = ref(2)
-
-const jieShouShuJu = (val) => {
-  huanZheXinXi.value = val.shuJu
-  biaoTi.value = val.biaoTi
-  zhuYiShiXiang.value = val.zhuYiShiXiang
-  jzFlag.value = false
-  if (stringNotBlank(val.shuJu.jzFlag)) {
-    if (val.shuJu.jzFlag === '1') {
-      jzFlag.value = true
-    }
-  }
-  JsBarcode('#barcode', val.shuJu.inpatientNo, {
-    lineColor: '#333', //线条颜色
-    width: 2, //线宽
-    height: 25, //条码高度
-    displayValue: true, //是否显示文字信息
-  })
-}
-
-const zuJianDaXiao = computed(() => {
-  return {
-    width: props.width + 'px',
-    height: props.height + 'px',
-    overflow: 'auto'
-  }
-})
-
-const daYing = () => {
-  if (!huanZheXinXi) {
-    return ElMessage.error('请先选择患者')
-  }
-  let LODOP = getLodop()
-  // A5: 148毫米 × 210毫米 = 559.37px * 793.70px
-  const strFormHtml = '<style>' + css + '</style>' + '<body>' + document.getElementById('daYing').innerHTML + '</body>';
-  LODOP.PRINT_INIT(0, 0, 522, 333, '检查申请') // 初始化打印机 名字
-  // LODOP.SET_PRINT_MODE("PRINT_PAGE_PERCENT", "Full-Width");
-  // 整宽不变形
-  if (zhiZhang.value === 1) {
-    LODOP.SET_PRINT_PAGESIZE(2, 0, 0, 'A4')   // 设置纸张大小  A
-  } else {
-    LODOP.SET_PRINT_PAGESIZE(1, 0, 0, 'A5')
-  }
-  LODOP.ADD_PRINT_HTM(0, 0, '100%', '100%', strFormHtml) //  参数分别为顶边距,左边距,宽,高,打印项内容。
-  // LODOP.PRINT_DESIGN()
-  LODOP.PREVIEW() // 关闭
-}
-
-onMounted(() => {
-  initLodop()
-  JsBarcode('#barcode', '000000', {
-    lineColor: '#333', //线条颜色
-    width: 2, //线宽
-    height: 25, //条码高度
-    displayValue: true, //是否显示文字信息
-  })
-})
-
-defineExpose({
-  jieShouShuJu,
-  daYing
-})
-
-
-</script>
-
-<style scoped>
-* {
-  font-size: 9pt;
-}
-
-.tanXingHeZiHeng {
-  display: flex;
-  justify-content: space-between;
-  margin-top: 3pt;
-  padding: 0 3.75pt;
-}
-
-.tanXingHeZiShu {
-  display: flex;
-  flex-direction: column;
-}
-
-.wen-zi {
-  display: flex;
-  margin-top: 3pt;
-}
-
-.wen-zi div:first-child {
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-}
-
-.wen-zi div:nth-child(2) {
-  margin-left: 3pt;
-  display: table;
-}
-
-.zhu-yao-ge-zi {
-  border: 1px solid #000;
-  border-bottom: 0;
-  margin: 0 3.75pt 0 3.75pt;
-  display: flex;
-}
-
-.you-ge-zi {
-  width: 100%;
-  word-wrap: break-word;
-  padding: 5px;
-}
-
-.zuo-ge-zi span {
-  margin: 5px auto;
-}
-
-.zuo-ge-zi {
-  width: 82.5pt;
-  height: 70px;
-  border-right: 1px solid #000;
-  text-align: center;
-  display: flex;
-  padding: 0 5px
-}
-
-pre {
-  white-space: pre-wrap;
-  word-wrap: break-word;
-  margin: 0;
-  padding: 0;
-}
-
-#daYing {
-  position: relative;
-}
-
-#barcode {
-  width: 150px;
-  position: absolute;
-  z-index: 222;
-}
-
-</style>

+ 22 - 0
src/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/da-ying/PrintCheck.vue

@@ -0,0 +1,22 @@
+<template>
+  <xc-print category-id="f4da8050a6e711ed946c0561a12323c7"
+            category-code="7d35c6e0a6d311ed87671b16314fa5ea"
+            width="800px"
+            height="800px"/>
+</template>
+
+<script setup name='PrintCheck'>
+
+import XcPrint from "@/components/xiao-chan/print/XcPrint.vue";
+
+let scr = ''
+
+const fillData = (data) => {
+  console.log(data)
+}
+
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 240 - 0
src/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/da-ying/PrintCheckV2.vue

@@ -0,0 +1,240 @@
+<template>
+  <el-button @click="printClick(2)">横向打印</el-button>
+  <el-button @click="printClick(1)">竖向打印</el-button>
+  <el-radio v-model="paperSize" label="A4" size="large">A4</el-radio>
+  <el-radio v-model="paperSize" label="A5" size="large">A5</el-radio>
+  <div ref="printRef">
+    <div style="width:394pt;height:570pt;background-color: white;font-size: 9.75pt;">
+      <div style="font-size: 18pt;text-align: center;font-weight:bold;">
+        长沙泰和医院
+      </div>
+      <div style="text-align: center;margin-top: 3.75pt">
+        {{ patInfo.title }}
+      </div>
+
+      <table class="no_border">
+        <tr>
+          <td>病人身份:{{ patInfo.responceTypeName }}</td>
+          <td>单号:{{ patInfo.reqNo }}</td>
+          <td>
+            急诊: {{ judgeWhetherItIsEmergency(patInfo.zFlag) }}
+          </td>
+        </tr>
+      </table>
+
+      <div style="border-top: 0.75pt dashed black; border-bottom: 0;width: 100%">
+        <table class="no_border">
+          <tr>
+            <td>住院号:{{ patInfo.inpatientNo }}</td>
+            <td>姓名:{{ patInfo.pname }}</td>
+            <td>性别:{{ cptSex(patInfo.sex) }}</td>
+            <td>年龄:{{ patInfo.page }}</td>
+            <td>床号:{{ patInfo.bedNo }}</td>
+          </tr>
+
+          <tr>
+            <td colspan="3">病人住址: {{ patInfo.homeStreet }}</td>
+            <td colspan="2" style="width: 90pt">联系电话:{{ patInfo.homeTel }}</td>
+          </tr>
+        </table>
+
+      </div>
+
+      <table class="table_border" cellspacing=0>
+        <tr>
+          <td class="describe" style="border-right: 0;border-top: 0.75pt solid black">
+            <div style="height: 5px"/>
+            病史摘要<br>
+            申请检查<br>
+            要求:
+          </td>
+          <td style=" border-top: 0.75pt solid black">
+            {{ patInfo.reqComment }}
+          </td>
+        </tr>
+
+        <tr>
+          <td class="describe" style="border-right: 0">
+            <div style="height: 5px"/>
+            体征
+          </td>
+          <td>
+            {{ patInfo.reqTzComment }}
+          </td>
+        </tr>
+
+        <tr>
+          <td class="describe" style="border-right: 0">
+            <div style="height: 5px"/>
+            相关辅检<br>
+            结果
+          </td>
+          <td>
+            {{ patInfo.reqOtherResult }}
+          </td>
+        </tr>
+
+        <tr>
+          <td class="describe" style="border-right: 0">
+            <div style="height: 5px"/>
+            临床诊断
+          </td>
+          <td>
+            {{ patInfo.diagText }}
+          </td>
+        </tr>
+
+        <tr>
+          <td class="describe" style="border-right: 0">
+            <div style="height: 5px"/>
+            检查部位<br>
+            及项目
+          </td>
+          <td>
+            {{ patInfo.orderName }}
+          </td>
+        </tr>
+
+        <tr>
+          <td class="describe" style="border-right: 0;height: 30pt">
+          </td>
+          <td>
+            <table style="width: 100%">
+              <tr>
+                <td style="border: 0">
+                  申请科室:{{ patInfo.reqDeptName }}
+                </td>
+                <td style="border: 0">
+                  申请医生: {{ patInfo.reqDoctorName }}
+                </td>
+              </tr>
+              <tr>
+                <td style="border: 0">
+                  申请日期:{{ patInfo.reqDate }}
+                </td>
+                <td style="border: 0">
+                  医师签字:
+                </td>
+              </tr>
+            </table>
+          </td>
+        </tr>
+      </table>
+      <div style="margin-left: 7.5pt; max-height: 187.5pt">
+        <div>
+          注意事项:
+        </div>
+        <div>
+          <pre style="margin: 3.75pt 0 0;">{{ mattersNeedingAttention }}</pre>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script setup name='PrintCheckV2'>
+
+import {getLodop, initLodop} from "@/utils/c-lodop";
+import {stringIsBlank} from "@/utils/blank-utils";
+import {cptSex} from "@/utils/computed";
+
+
+const printRef = ref()
+const printClick = (flag) => {
+  let LODOP = getLodop()
+  let css = `<style>
+table{
+width: 100%;
+}
+
+table td{
+  font-size: 9pt;
+}
+.no_border {
+  border: 0;
+  width: 100%;
+}
+.table_border {
+  width: 100%;
+}
+
+.table_border td {
+    border: 0.75pt solid black;
+    border-top: 0;
+    vertical-align: baseline;
+  }
+
+.describe {
+  width: 52.5pt;
+  height: 52.5pt;
+  text-align: center;
+  font-size: 9pt;
+}</style>`
+  let strFormHtml = css + '<body style="width:394pt;height:570pt">' + printRef.value.innerHTML + '</body>'
+  LODOP.PRINT_INIT(0, 0, 522, 333, '检查申请') // 初始化打印机 名字
+  LODOP.SET_PRINT_PAGESIZE(flag, 0, 0, paperSize)
+  LODOP.ADD_PRINT_HTML(0, 0, '100%', '100%', strFormHtml)
+  // LODOP.PRINT_DESIGN()
+  LODOP.PREVIEW()
+}
+
+
+let patInfo = $ref({})
+let title = '检查申请单'
+let mattersNeedingAttention = $ref('')
+let paperSize = $ref('A5')
+const fillData = (data) => {
+  patInfo = data.data
+  title = data.title
+  mattersNeedingAttention = data.mattersNeedingAttention
+}
+
+const judgeWhetherItIsEmergency = (val) => {
+  if (stringIsBlank(val)) return
+  if (val === '1') {
+    return '√'
+  }
+}
+
+defineExpose({
+  fillData
+})
+
+onMounted(() => {
+  initLodop()
+})
+
+</script>
+
+<style scoped>
+table {
+  width: 100%;
+}
+
+table td {
+  font-size: 9pt;
+}
+
+.no_border {
+  border: 0;
+  width: 100%;
+}
+
+.table_border {
+  width: 100%;
+}
+
+.table_border td {
+  border: 0.75pt solid;
+  border-top: 0;
+  vertical-align: baseline;
+}
+
+.describe {
+  width: 52.5pt;
+  height: 52.5pt;
+  text-align: center;
+  font-size: 9pt;
+}
+
+</style>

+ 6 - 6
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/EmrMain.vue

@@ -100,7 +100,7 @@
       </el-button-group>
     </el-header>
     <el-container>
-      <div :class="foldBothSides.isLeft ? 'emr-template-open' : 'emr-template-put-away' ">
+      <div :class="foldBothSides.isLeft ? 'editor-template-open' : 'editor-template-put-away' ">
         <emr-sidebar @nodeClick="nodeClick"
                      @patient-medical-record="foldBothSides.isLeft = true"
                      v-show="foldBothSides.isLeft"
@@ -258,7 +258,7 @@
                   :src="caseHistoryUrl"/>
         </div>
       </div>
-      <div :class="foldBothSides.isRight ? 'emr-fragment-open' : 'emr-fragment-put-away' ">
+      <div :class="foldBothSides.isRight ? 'editor-fragment-open' : 'editor-fragment-put-away' ">
         <emr-snippet
             v-show="foldBothSides.isRight"
             @node-click="clickSnippet"
@@ -330,7 +330,7 @@ let documentId = $ref('')
 let patientId = $ref('')
 let categoryId = $ref('')
 let templateName = $ref('')
-let caseHistoryUrl = $ref('/emr/runtime/#/editor')
+let caseHistoryUrl = $ref('/editor/runtime/#/editor')
 let openAssistant = $ref({
   data: {},
   dialog: false
@@ -422,7 +422,7 @@ const emrEvent = {
   'contentchange': (event) => {
     if (!readonlyPattern()) {
       // 如果是空的编辑器就不触发了
-      if (!emrRef.value.src.includes('/emr/runtime/#/editor')) {
+      if (!emrRef.value.src.includes('/editor/runtime/#/editor')) {
         // 判断内容是否改变
         isEditorChange = true
         emrSidebarRef.value.changeTemplateType(2)
@@ -636,7 +636,7 @@ const nodeClick = (val, jumpOrNot, templateType) => {
 
 const updateCaseHistoryUrl = async (val) => {
   courseSegmentLocking()
-  let temp = `/emr/runtime/?documentId=${val.documentId}&categoryCode=${val.categoryCode}&categoryId=${val.categoryId}&patientId=${patientId}#/`
+  let temp = `/editor/runtime/?documentId=${val.documentId}&categoryCode=${val.categoryCode}&categoryId=${val.categoryId}&patientId=${patientId}#/`
   if (temp === caseHistoryUrl) return
   loaded = true
   isEditorChange = false
@@ -644,7 +644,7 @@ const updateCaseHistoryUrl = async (val) => {
   categoryCode = val.categoryCode
   templateName = val.name
   categoryId = val.categoryId
-  caseHistoryUrl = `/emr/runtime/?documentId=${documentId}&categoryCode=${categoryCode}&categoryId=${categoryId}&patientId=${patientId}#/`
+  caseHistoryUrl = `/editor/runtime/?documentId=${documentId}&categoryCode=${categoryCode}&categoryId=${categoryId}&patientId=${patientId}#/`
 }
 
 // 空的编辑器

+ 6 - 4
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-init.js

@@ -8,10 +8,12 @@ export function EMRInteractive(data, editorEvent) {
     this.setEditor = (editor, runtime) => {
         this.editor = editor;
         this.runtime = runtime;
-        for (let key in editorEvent) {
-            editor.on(key, function (...args) {
-                editorEvent[key](...args)
-            })
+        if (editorEvent !== null) {
+            for (let key in editorEvent) {
+                editor.on(key, function (...args) {
+                    editorEvent[key](...args)
+                })
+            }
         }
     };
 

+ 10 - 7
src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/JianChaShenQing.vue

@@ -44,9 +44,9 @@
       <el-main>
         <el-tabs v-model="mainTabs">
           <el-tab-pane :name="0" label="检查申请单">
-            <da-ying-jian-cha
-                ref="daYingJianChaRef"
-                :height="windowSize.h / 1.4"></da-ying-jian-cha>
+            <div :style="{height:windowSize.h / 1.4 + 'px' }" style="overflow: auto">
+              <print-check-v2 ref="daYingJianChaRef"/>
+            </div>
           </el-tab-pane>
           <el-tab-pane :name="1" label="检查结果">
             <jian-cha-jie-guo ref="jianChaJieGuoRef" :pat-info="huanZheXinXi"/>
@@ -128,7 +128,6 @@ import {
   queryCheckTextResults,
 } from '@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing'
 import store from '@/store'
-import DaYingJianCha from '@/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/da-ying/DaYingJianCha.vue'
 import {getDateRangeFormatDate} from '@/utils/date'
 import {shortcuts} from '@/data/shortcuts'
 import {ElMessageBox} from 'element-plus'
@@ -145,6 +144,7 @@ import JianChaJieGuo from "@/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/da-
 import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";
 import XcDialogV2 from "@/components/xiao-chan/dialog/XcDialogV2.vue";
 import XcComboGrid from "@/components/xiao-chan/combo-grid/XcComboGrid.vue";
+import PrintCheckV2 from "@/components/zhu-yuan-yi-sheng/jian-cha-shen-qing/da-ying/PrintCheckV2.vue";
 
 
 const windowSize = computed(() => {
@@ -206,6 +206,11 @@ const handleCurrentChange = (val) => {
  * @param row 行数据
  */
 const dianJiaJianChaXiangQing = (row) => {
+  huoQuShengQingXiangQing(row.reqNo).then((res) => {
+    daYingJianChaRef.value.fillData(res)
+    mainTabs.value = 0
+  })
+
   queryCheckTextResults(row.inpatientNo, row.reqNo).then((res) => {
     res.row = row
     jianChaJieGuoRef.value.fillData(res).then(() => {
@@ -217,9 +222,7 @@ const dianJiaJianChaXiangQing = (row) => {
     })
   })
 
-  huoQuShengQingXiangQing(row.reqNo).then((res) => {
-    daYingJianChaRef.value.jieShouShuJu(res)
-  })
+
 }