Explorar o código

查询与管理里面查询本院在院信息

xiaochan %!s(int64=3) %!d(string=hai) anos
pai
achega
6adbab5e35

+ 38 - 50
src/utils/ExportExcel.js

@@ -1,8 +1,8 @@
 import fs from 'file-saver'
 import XLSX from 'xlsx'
 import {clone} from "./clone";
-import {ElMessageBox} from "element-plus";
-import {stringIsBlank, stringNotBlank} from "./blank-utils";
+import {ElMessage, ElMessageBox} from "element-plus";
+import {listIsBlank, stringIsBlank, stringNotBlank} from "./blank-utils";
 
 export function Export(json, fields, filename) {
     const temp = clone(json)
@@ -14,57 +14,45 @@ export function Export(json, fields, filename) {
             delete item[i]; //删除原先的对象属性
         }
     })
-    if (stringNotBlank(filename)) {
-        let sheetName = filename //excel的文件名称
-        let wb = XLSX.utils.book_new()  //工作簿对象包含一SheetNames数组,以及一个表对象映射表名称到表对象。XLSX.utils.book_new实用函数创建一个新的工作簿对象。
-        let ws = XLSX.utils.json_to_sheet(temp, {header: Object.values(fields)}) //将JS对象数组转换为工作表。
-        wb.SheetNames.push(sheetName)
-        wb.Sheets[sheetName] = ws
-        const defaultCellStyle = {
-            font: {name: "Verdana", sz: 13, color: "FF00FF88"},
-            fill: {fgColor: {rgb: "FFFFAA00"}}
-        };//设置表格的样式
-        let wopts = {
-            bookType: 'xlsx',
-            bookSST: false,
-            type: 'binary',
-            cellStyles: true,
-            defaultCellStyle: defaultCellStyle,
-            showGridLines: false
-        }  //写入的样式
-        let wbout = XLSX.write(wb, wopts)
-        let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'})
-        fs.saveAs(blob, filename + '.xlsx')
-    } else {
-        ElMessageBox.prompt('请输入导出的文件名称', '提示', {
-            type: 'warning'
-        }).then(({value}) => {
-            let sheetName = value  //excel的文件名称
-            let wb = XLSX.utils.book_new()  //工作簿对象包含一SheetNames数组,以及一个表对象映射表名称到表对象。XLSX.utils.book_new实用函数创建一个新的工作簿对象。
-            let ws = XLSX.utils.json_to_sheet(temp, {header: Object.values(fields)}) //将JS对象数组转换为工作表。
-            wb.SheetNames.push(sheetName)
-            wb.Sheets[sheetName] = ws
-            const defaultCellStyle = {
-                font: {name: "Verdana", sz: 13, color: "FF00FF88"},
-                fill: {fgColor: {rgb: "FFFFAA00"}}
-            };//设置表格的样式
-            let wopts = {
-                bookType: 'xlsx',
-                bookSST: false,
-                type: 'binary',
-                cellStyles: true,
-                defaultCellStyle: defaultCellStyle,
-                showGridLines: false
-            }  //写入的样式
-            let wbout = XLSX.write(wb, wopts)
-            let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'})
-            fs.saveAs(blob, sheetName + '.xlsx')
-        }).catch((e) => {
-            console.error(e)
-        })
+    let sheetName = filename //excel的文件名称
+    let wb = XLSX.utils.book_new()  //工作簿对象包含一SheetNames数组,以及一个表对象映射表名称到表对象。XLSX.utils.book_new实用函数创建一个新的工作簿对象。
+    let ws = XLSX.utils.json_to_sheet(temp, {header: Object.values(fields)}) //将JS对象数组转换为工作表。
+    wb.SheetNames.push(sheetName)
+    wb.Sheets[sheetName] = ws
+    const defaultCellStyle = {
+        font: {name: "Verdana", sz: 13, color: "FF00FF88"},
+        fill: {fgColor: {rgb: "FFFFAA00"}}
+    };//设置表格的样式
+    let wopts = {
+        bookType: 'xlsx',
+        bookSST: false,
+        type: 'binary',
+        cellStyles: true,
+        defaultCellStyle: defaultCellStyle,
+        showGridLines: false
+    }  //写入的样式
+    let wbout = XLSX.write(wb, wopts)
+    let blob = new Blob([s2ab(wbout)], {type: 'application/octet-stream'})
+    fs.saveAs(blob, filename + '.xlsx')
+}
+
+export function ExcelName(json, fields) {
+    if (listIsBlank(json)) {
+        return ElMessage.error("没有可以导出的数据。")
     }
+    ElMessageBox.prompt('请输入导出的文件名称。', '提示', {
+        type: "warning",
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        inputPattern: /\S/,
+        inputErrorMessage: '文件名不能为空 (∩•̀ω•́)⊃-*⋆',
+    }).then(({value}) => {
+        Export(json, fields, value)
+    }).catch(() => {
+    })
 }
 
+
 const s2ab = s => {
     let buf;
     let i;

+ 1 - 2
src/utils/websocket.js

@@ -70,12 +70,11 @@ export function initWebSocket(sid) {
                 globalCallback(data)
             }
         } else if (data.name === 'sidSingle') {
+            store.dispatch('user/loginOut')
             ElMessageBox.alert('您的账号已在其他地方登陆,如需修改密码请在个人中心中修改。', '提示', {
                 type: 'warning'
             }).then(() => {
-                store.dispatch('user/loginOut')
             }).catch(() => {
-                store.dispatch('user/loginOut')
             })
         } else {
             if (null !== globalCallback) {

+ 16 - 11
src/views/medical-insurance/allpatient/InhospInfo.vue

@@ -38,16 +38,18 @@
     <el-main>
       <el-table v-if="benYuanFlag" :data="inhosps.slice((currentPage - 1) * pageSize, currentPage * pageSize)" stripe
                 highlight-current-row :height="tableHeight">
+        <el-table-column prop="smallDeptName" label="入院科室"></el-table-column>
         <el-table-column prop="inpatientNo" label="住院号"></el-table-column>
-        <el-table-column prop="admissTimes" label="住院次数"></el-table-column>
         <el-table-column prop="name" label="姓名"></el-table-column>
-        <el-table-column prop="responceTypeName" label="医保身份"></el-table-column>
-        <el-table-column prop="referPhysicianName" label="管床医生"></el-table-column>
         <el-table-column prop="sexName" label="性别"></el-table-column>
-        <el-table-column prop="smallDeptName" label="入院科室"></el-table-column>
+        <el-table-column prop="certno" label="身份证"></el-table-column>
+        <el-table-column prop="admissTimes" label="住院次数"></el-table-column>
+        <el-table-column prop="responceTypeName" label="医保身份"></el-table-column>
         <el-table-column prop="disDiag" label="诊断代码"></el-table-column>
         <el-table-column prop="disDiagComment" label="诊断名称"></el-table-column>
         <el-table-column prop="totalCharge" label="总费用"></el-table-column>
+        <el-table-column prop="referPhysicianName" label="管床医生"></el-table-column>
+        <el-table-column prop="insuplcAdmdvsName" label="参保地"></el-table-column>
       </el-table>
       <el-table v-else :data="inhosps.slice((currentPage - 1) * pageSize, currentPage * pageSize)" stripe
                 highlight-current-row
@@ -275,7 +277,8 @@ import {
   obtainMedicalInstitutionInfo,
   queryInHospitalPatientsInfo,
   queryInsuplcAdmdvsByMdtrtId,
-  queryPersonnelTransferHospitalInfo, weiJieSuanZaiYuanHuanZhe
+  queryPersonnelTransferHospitalInfo,
+  weiJieSuanZaiYuanHuanZhe
 } from '../../../api/medical-insurance/si-query'
 import {formatDatetime} from '@/utils/date'
 import store from '@/store'
@@ -288,7 +291,7 @@ import {
 import Cuminfo from '../../../components/medical-insurance/cuminfo/Index.vue'
 import {getDateRangeFormatDate} from "../../../utils/date";
 import {cptSex} from "../../../utils/computed"
-import {Export} from "../../../utils/ExportExcel";
+import {ExcelName} from "../../../utils/ExportExcel";
 
 export default {
   components: {
@@ -516,18 +519,20 @@ export default {
 
     const benYuanDownload = () => {
       let title = {
+        smallDeptName: "入院科室",
         inpatientNo: "住院号",
-        admissTimes: "住院次数",
         name: "姓名",
-        responceTypeName: "医保身份",
-        referPhysicianName: "管床医生",
         sexName: "性别",
-        smallDeptName: "入院科室",
+        certno: "身份证",
+        admissTimes: "住院次数",
+        responceTypeName: "医保身份",
         disDiag: "诊断代码",
         disDiagComment: "诊断名称",
         totalCharge: "总费用",
+        referPhysicianName: "管床医生",
+        insuplcAdmdvsName: "参保地",
       }
-      Export(inhosps.value, title)
+      ExcelName(inhosps.value, title)
     }
 
     return {