Browse Source

优化日志分析。

lighter 3 years ago
parent
commit
87b3bb85b6

+ 8 - 0
src/api/medical-insurance/si-log.js

@@ -7,3 +7,11 @@ export function selectSiLogs(data) {
     data,
   })
 }
+
+export function selectSiLogBody(msgid) {
+  return request({
+    url: '/siLog/selectSiLogBody',
+    method: 'get',
+    params: { msgid },
+  })
+}

+ 30 - 21
src/views/medical-insurance/allpatient/LogAnalyse.vue

@@ -22,14 +22,17 @@
       <el-button type="primary" icon="el-icon-search" @click="fetchSiLogs">检索</el-button>
     </el-header>
     <el-main>
-      <el-table :data="logs.slice(pageSize * (currentPage - 1), pageSize * currentPage)" :height="tableHeight" stripe highlight-current-row @row-dblclick="formatBodyResult">
+      <el-table :data="logs" :height="tableHeight" stripe highlight-current-row @row-dblclick="formatBodyResult">
         <el-table-column prop="msgid" label="报文ID" width="230"></el-table-column>
-        <el-table-column prop="insuplcAdmdvs" label="参保区划" width="60"></el-table-column>
-        <el-table-column prop="opter" label="操作员" width="70"></el-table-column>
+        <el-table-column prop="insuplcAdmdvs" label="参保区划"></el-table-column>
+        <el-table-column prop="infno" label="功能号"></el-table-column>
+        <el-table-column prop="infname" label="功能号名称"></el-table-column>
+        <el-table-column prop="opter" label="操作员"></el-table-column>
+        <el-table-column prop="opterName" label="操作员姓名"></el-table-column>
         <el-table-column prop="createDatetime" label="操作时间" width="130"></el-table-column>
-        <el-table-column prop="patNo" label="患者ID" width="70"></el-table-column>
-        <el-table-column prop="times" label="次数" width="50"></el-table-column>
-        <el-table-column label="报文原文">
+        <el-table-column prop="patNo" label="患者ID"></el-table-column>
+        <el-table-column prop="times" label="次数"></el-table-column>
+        <!-- <el-table-column label="报文原文">
           <template #default="scope">
             <div class="ellipsis-text" :title="scope.row.body">{{ scope.row.body }}</div>
           </template>
@@ -38,16 +41,16 @@
           <template #default="scope">
             <div class="ellipsis-text" :title="scope.row.result">{{ scope.row.result }}</div>
           </template>
-        </el-table-column>
+        </el-table-column> -->
       </el-table>
       <el-pagination
         @size-change="handleSizeChange"
         @current-change="handleCurrentChange"
-        :current-page="currentPage"
+        :current-page="headerParam.currentPage"
         :page-sizes="[15, 30, 45, 60]"
-        :page-size="pageSize"
+        :page-size="headerParam.pageSize"
         layout="total, sizes, prev, pager, next, jumper"
-        :total="logs.length"
+        :total="totalSize"
         style="margin-top: 5px"
       ></el-pagination>
       <el-drawer v-model="showFormatModal" :with-header="false" :size="drawerWidth">
@@ -69,7 +72,7 @@ import { computed, reactive, ref } from 'vue'
 import { useStore } from 'vuex'
 import { setlShtcuts } from '@/data/shortcuts'
 import { infnos } from '@/data/index'
-import { selectSiLogs } from '../../../api/medical-insurance/si-log'
+import { selectSiLogs, selectSiLogBody } from '../../../api/medical-insurance/si-log'
 import { getDateRangeFormatDate } from '../../../utils/date'
 export default {
   setup() {
@@ -107,25 +110,31 @@ export default {
       logType: 1,
       infno: null,
       patNo: null,
+      pageSize: 30,
+      currentPage: 1,
     })
     const logs = ref([])
-    const pageSize = ref(30)
-    const currentPage = ref(1)
     const handleSizeChange = (val) => {
-      pageSize.value = val
+      headerParam.pageSize = val
+      fetchSiLogs()
     }
     const handleCurrentChange = (val) => {
-      currentPage.value = val
+      headerParam.currentPage = val
+      fetchSiLogs()
     }
     const showFormatModal = ref(false)
     const formattedBody = ref(null)
     const formattedResult = ref(null)
     const formatBodyResult = (row) => {
-      formattedBody.value = JSON.stringify(JSON.parse(row.body), null, 2)
-      formattedResult.value = JSON.stringify(JSON.parse(row.result), null, 2)
-      showFormatModal.value = true
+      selectSiLogBody(row.msgid).then((res) => {
+        formattedBody.value = JSON.stringify(JSON.parse(res.body), null, 2)
+        formattedResult.value = JSON.stringify(JSON.parse(res.result), null, 2)
+        showFormatModal.value = true
+      })
     }
 
+    const totalSize = ref(0)
+
     const fetchSiLogs = () => {
       if (dateRange.value) {
         const dtrge = getDateRangeFormatDate(dateRange.value)
@@ -133,7 +142,8 @@ export default {
         headerParam.endtime = dtrge.endTime
       }
       selectSiLogs(headerParam).then((res) => {
-        logs.value = res
+        logs.value = res.list
+        totalSize.value = res.total
       })
     }
 
@@ -153,9 +163,8 @@ export default {
       formattedBody,
       formattedResult,
       fetchSiLogs,
+      totalSize,
       formatBodyResult,
-      pageSize,
-      currentPage,
       handleCurrentChange,
       handleSizeChange,
     }