瀏覽代碼

检查检验有结果回报

xiaochan 2 年之前
父節點
當前提交
3cd70dd1fb

+ 65 - 54
src/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrInspect.vue

@@ -1,79 +1,90 @@
 <template>
-  <div style="height: 5px"/>
-  <div class="main">
-    <div class="side-class">
-      <el-auto-resizer>
-        <template #default="{ height }">
-          <xc-table-v3 :height="height"
-                       :data="sideData"
-                       :columns="sideColumns"
-                       @row-click="sideRow"/>
-        </template>
-      </el-auto-resizer>
-    </div>
+    <div style="height: 5px"/>
+    <div class="main">
+        <div class="side-class">
+            <el-auto-resizer>
+                <template #default="{ height }">
+                    <xc-table-v3 :height="height"
+                                 :data="sideData"
+                                 :columns="sideColumns"
+                                 @row-click="sideRow"/>
+                </template>
+            </el-auto-resizer>
+        </div>
 
-    <div class="main-class">
-      <el-form>
-        <el-form-item label="检查项目:">
-          {{ record?.row?.orderName }}
-        </el-form-item>
-        <el-form-item label="检查所见:">
-          <el-input type="textarea" rows="5" v-model="record.checkWhatYouSee"/>
-        </el-form-item>
-        <el-form-item label="诊断意见:">
-          <el-input type="textarea" rows="5" v-model="record.diagnosticOpinion"/>
-        </el-form-item>
-        <el-form-item label="报告医生:">
-          {{ record?.reportName }}
-        </el-form-item>
-        <el-form-item label="报告时间:">
-          {{ record?.reportDate }}
-        </el-form-item>
-        <el-form-item label="审核医生:">
-          {{ record?.confirmName }}
-        </el-form-item>
-        <el-form-item label="审核时间:">
-          {{ record?.confirmDate }}
-        </el-form-item>
-      </el-form>
+        <div class="main-class">
+            <el-form>
+                <el-form-item label="检查项目:">
+                    {{ record?.row?.orderName }}
+                </el-form-item>
+                <el-form-item label="检查所见:">
+                    <el-input type="textarea" rows="5" v-model="record.checkWhatYouSee"/>
+                </el-form-item>
+                <el-form-item label="诊断意见:">
+                    <el-input type="textarea" rows="5" v-model="record.diagnosticOpinion"/>
+                </el-form-item>
+                <el-form-item label="">
+                    <el-button type="primary"
+                               @click="elementReplication(record.diagnosticOpinion, 'CT检查结果')">
+                        CT检查结果
+                    </el-button>
+                    <el-button type="primary"
+                               @click="elementReplication(record.diagnosticOpinion, '磁共振检查结果')">
+                        磁共振检查结果
+                    </el-button>
+                </el-form-item>
+                <el-form-item label="报告医生:">
+                    {{ record?.reportName }}
+                </el-form-item>
+                <el-form-item label="报告时间:">
+                    {{ record?.reportDate }}
+                </el-form-item>
+                <el-form-item label="审核医生:">
+                    {{ record?.confirmName }}
+                </el-form-item>
+                <el-form-item label="审核时间:">
+                    {{ record?.confirmDate }}
+                </el-form-item>
+            </el-form>
+        </div>
     </div>
-  </div>
 </template>
 
-<script setup name='EmrInspect' lang="tsx">
+<script setup name='EmrInspect'>
 import {getExamine} from "@/api/zhu-yuan-yi-sheng/emr-patient";
-import {patInfo} from './emr-tools-store'
 import {onMounted, ref} from "vue";
 import XcTableV3 from "@/components/xiao-chan/xc-table-v3/XcTableV3.vue";
-import {XcColumn} from "@/components/xiao-chan/xc-table-v3/XcColumn";
 import {queryCheckTextResults} from '@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing'
+import {
+    elementReplication
+} from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init";
 
 const props = defineProps({
-  patNo: String,
-  times: Number
+    patNo: String,
+    times: Number
 })
 
 const sideData = ref([])
-const sideColumns: XcColumn<any>[] = [
-  {key: 'startTime', title: "日期", width: 135},
-  {key: 'orderName', title: "名称"},
+const sideColumns = [
+    {key: 'startTime', title: "日期", width: 135},
+    {key: 'orderName', title: "名称"},
 ]
 
 const record = ref({
-  checkWhatYouSee: '',
-  diagnosticOpinion: ''
+    checkWhatYouSee: '',
+    diagnosticOpinion: ''
 })
 const sideRow = (row) => {
-  queryCheckTextResults(row.inpatientNo, row.reqNo).then((res) => {
-    record.value = res.record
-    record.value.row = row
-  })
+    queryCheckTextResults(row.inpatientNo, row.reqNo).then((res) => {
+        record.value = res.record
+        record.value.row = row
+    })
 }
 
 onMounted(() => {
-  getExamine(props.patNo, props.times).then(res => {
-    sideData.value = res
-  })
+    getExamine(props.patNo, props.times).then(res => {
+        sideData.value = res
+    })
 })
 
 </script>

+ 21 - 4
src/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrTest.vue

@@ -10,8 +10,19 @@
             <el-button @click="query" type="primary">查询</el-button>
             <el-button @click="appendCopy" type="success">复制 / 追加</el-button>
             <el-button @click="copyClick" type="success">确认复制</el-button>
+            <br>
+
+
         </div>
         <div class="describe">
+            <el-button type="primary" @click="copyOutcome('病理结果')">
+                病理结果
+            </el-button>
+
+            <el-button type="primary" @click="copyOutcome('细菌培养结果')">
+                细菌培养结果
+            </el-button>
+
             <div class="pat-info">
                 <div>
                     <test-describe front="姓名"
@@ -127,18 +138,20 @@
     </div>
 </template>
 
-<script setup name='EmrTest' lang="tsx">
+<script setup name='EmrTest'>
 // 查询检验
 import {getServerDateApi} from "@/api/public-api";
 import {queryInspectionDetail, queryInspectionsIndex} from '@/api/inspections'
 import {patInfo} from './emr-tools-store'
 import {onMounted, ref} from "vue";
 import XcTableV3 from "@/components/xiao-chan/xc-table-v3/XcTableV3.vue";
-import {XcColumn} from "@/components/xiao-chan/xc-table-v3/XcColumn";
 import {xcMessage} from '@/utils/xiaochan-element-plus'
 import TestDescribe from "@/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/TestDescribe.vue";
 import {getDateRangeFormatDate} from '@/utils/date'
-import {emrCopyFunc} from '@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init'
+import {
+    elementReplication,
+    emrCopyFunc
+} from '@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init'
 
 const emits = defineEmits(['close'])
 const sidebarList = ref()
@@ -164,7 +177,7 @@ const query = async () => {
     })
 }
 
-const sidebarColums: XcColumn<any>[] = [
+const sidebarColums = [
     {title: '名称', key: 'aply_CTNT'},
     {title: '时间', key: 'ordr_CREATE_DATE', width: 180}
 ]
@@ -228,6 +241,10 @@ const copyClick = () => {
     emits('close')
 }
 
+const copyOutcome = (name) => {
+    elementReplication(copyStr, name)
+}
+
 const result = (row) => {
     if (row.bacteriaResults.length > 0) {
         return row.bacteriaResults[0].bac_NAME_CN

+ 0 - 5
src/components/zhu-yuan-yi-sheng/emr/auxiliary-tools/EmrYzTemperature.vue

@@ -28,7 +28,6 @@ import {getYzTemperature} from "@/api/zhu-yuan-yi-sheng/emr-patient";
 import XcTableV3 from "@/components/xiao-chan/xc-table-v3/XcTableV3.vue";
 import {XcColumn} from "@/components/xiao-chan/xc-table-v3/XcColumn";
 import {patInfo} from './emr-tools-store'
-import {emrClipBoardData} from '@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init'
 import {stringIsBlank} from '@/utils/blank-utils'
 import {stringNotBlank} from "@/utils/blank-utils";
 
@@ -280,10 +279,6 @@ const query = () => {
         })
 }
 
-const copyClick = () => {
-    emrClipBoardData(otherInfo.value)
-}
-
 onMounted(() => {
     query()
 })

+ 1 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/EmrControlRule/EmrControlRule.vue

@@ -48,6 +48,7 @@ import {
     ruleReturnData, siftData, tabsModel
 } from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/EmrControlRule/rule-store";
 import RuleSift from "@/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/EmrControlRule/RuleSift.vue";
+import {useZIndex} from "element-plus";
 
 const intervalPatients = ref([])
 const queryQualityControlData = () => {

+ 18 - 9
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/emr-init.js

@@ -168,15 +168,6 @@ export const copyEnum = {
     "会诊": 'huizhenjilv'
 }
 
-export const emrClipBoardData = (val) => {
-    if (stringNotBlank(val)) {
-        window.localStorage.setItem("clipBoardData", JSON.stringify({
-            content: [{type: 'text', data: val}], plainText: val,
-        }));
-        xcMessage.success('复制成功。')
-    }
-}
-
 export function emrCopyFunc(str) {
     let copyData = {
         content: [{type: 'text', str}],
@@ -189,6 +180,24 @@ export function emrCopyFunc(str) {
     xcMessage.success('复制成功')
 }
 
+
+/**
+ * 可以粘贴数据元
+ * @param str 文字
+ * @param name 数据元名称
+ */
+export function elementReplication(str, name) {
+    let data = [{
+        type: 'smarttext',
+        value: str,
+        tips: name,
+        children: [{type: 'text', data: str}],
+        element: {code: {business: name, internal: '', dataElement: ''}, name: name, type: 'element'}
+    }];
+    window.localStorage.setItem("clipBoardData", JSON.stringify({content: data, plainText: '值内容'}))
+    xcMessage.success('复制成功')
+}
+
 export const fontSizes = [{
     "code": "42pt", "name": "初号"
 }, {