xiaochan 1 an în urmă
părinte
comite
81c3ae6a41

+ 2 - 0
release/不删除文件.cmd

@@ -0,0 +1,2 @@
+net use \\172.16.32.160 "thyy@2018" /user:"administrator"
+robocopy ./dist \\172.16.32.160\D$\a.snapshot\web-server\dist /E /Z /R:1 /W:1

+ 0 - 0
release/上线.bat → release/删除文件上线.bat


+ 2 - 2
src/api/base-data/data-base-api.ts

@@ -39,7 +39,7 @@ export function delCompanies(uuid: string) {
     })
 }
 
-export function getApiListByCodeName(codeName) {
+export function getApiListByCodeName(codeName: any) {
     return request<string[]>({
         method: 'get',
         url: '/permissions/getApiListByCodeName',
@@ -47,7 +47,7 @@ export function getApiListByCodeName(codeName) {
     })
 }
 
-export function saveApi(data) {
+export function saveApi(data: any) {
     return request<string[]>({
         method: 'post',
         url: '/magic/web/resource/folder/save',

+ 4 - 8
src/components/js-dialog-comp/useDialogToJs.ts

@@ -1,24 +1,20 @@
-import {ref, h, Component} from 'vue';
-
-import {generateRandomString} from "../../utils/getUuid";
+import {Component, h, ref} from 'vue';
+import {generateRandomString} from "@/utils/getUuid";
 
 export enum ClosingMethod {
     CONFIRM = 'confirm',
     CANCEL = 'cancel'
 }
 
-
 export const dialogEmits = {
     ['closed']: (closingMethod: ClosingMethod, ...val: any[]) => closingMethod && val
 }
 
-
 export const compList = ref<{
     [key: string]: any
 }>({})
 
-
-function setDialogToJ<P extends Component>(comp: P, data: any) {
+function setDialogToJs<P extends Component>(comp: P, data: any) {
     return new Promise<any>((resolve, reject) => {
         const id = "cy_" + generateRandomString(5)
 
@@ -44,4 +40,4 @@ function setDialogToJ<P extends Component>(comp: P, data: any) {
     })
 }
 
-export default setDialogToJ
+export default setDialogToJs

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

@@ -115,6 +115,11 @@ const sideRow = ({row}) => {
     record.value = res['record']
     record.value.diagnosticOpinionTemp = record.value.diagnosticOpinion
   }).catch(() => {
+    record.value = {
+      checkWhatYouSee: '',
+      diagnosticOpinion: '',
+      diagnosticOpinionTemp: '',
+    }
   })
 }
 

+ 13 - 1
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/jy-jc-tree/JyJcTree.vue

@@ -1,5 +1,9 @@
 <template>
-  <el-input v-model="search" style="width: 220px" @input="handleKeyUp" placeholder="这里可以搜索项目"/>
+  <el-input v-model="search" style="width: 220px" @input="handleKeyUp" placeholder="这里可以搜索项目">
+    <template #append>
+      <el-button icon="Refresh" @click="refreshData"/>
+    </template>
+  </el-input>
   <el-tree
       ref="treeRef"
       :data="props.yjyc === 'jc' ? jcTree : jyTree"
@@ -29,6 +33,7 @@ import {Document, FolderOpened} from "@element-plus/icons-vue";
 import XEUtils from "xe-utils";
 import {notNullAndLike} from "@/utils/list-utlis";
 import {useCompRef} from "@/utils/useCompRef";
+import {getJyJcZdTree} from "@/api/zhu-yuan-yi-sheng/jian-yan-jian-cha-shen-qing";
 
 const props = defineProps({
   yjyc: {
@@ -82,6 +87,13 @@ const showName = (data) => {
   return data.name;
 }
 
+function refreshData() {
+  getJyJcZdTree().then((res) => {
+    jyTree.value = res.jy
+    jcTree.value = res.jc
+  })
+}
+
 
 </script>
 

+ 20 - 20
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/report-of-infectious-diseases/DialogDiseases.vue

@@ -417,106 +417,106 @@
             <!--     第一行       -->
             <el-col :span="6">
               <el-form-item label="ALT:" prop="valt">
-                <el-input v-model="sheetData.valt"/>
+                <el-input v-model="sheetData.valt" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="总胆红质:" prop="vzdhz">
-                <el-input v-model="sheetData.vzdhz"/>
+                <el-input v-model="sheetData.vzdhz" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="抗-HAVIgM:" prop="vkhavigm">
-                <el-input v-model="sheetData.vkhavigm"/>
+                <el-input v-model="sheetData.vkhavigm" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="HAV-RNA:" prop="vhavRna">
-                <el-input v-model="sheetData.vhavRna"/>
+                <el-input v-model="sheetData.vhavRna" maxlength="120"/>
               </el-form-item>
             </el-col>
             <!--     第2行       -->
             <el-col :span="6">
               <el-form-item label="HbsAg:" prop="vhbsag">
-                <el-input v-model="sheetData.vhbsag"/>
+                <el-input v-model="sheetData.vhbsag" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="抗-HBs:" prop="vkhbs">
-                <el-input v-model="sheetData.vkhbs"/>
+                <el-input v-model="sheetData.vkhbs" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="HBeAg:" prop="vhbeag">
-                <el-input v-model="sheetData.vhbeag"/>
+                <el-input v-model="sheetData.vhbeag" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="抗-HBe:" prop="vkhbe">
-                <el-input v-model="sheetData.vkhbe"/>
+                <el-input v-model="sheetData.vkhbe" maxlength="120"/>
               </el-form-item>
             </el-col>
             <!--     第3行       -->
             <el-col :span="6">
               <el-form-item label="抗-HBc:" prop="vkhbc">
-                <el-input v-model="sheetData.vkhbc"/>
+                <el-input v-model="sheetData.vkhbc" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="抗-HBcIgM:" prop="vkhbcigm">
-                <el-input v-model="sheetData.vkhbcigm"/>
+                <el-input v-model="sheetData.vkhbcigm" maxlength="120" />
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="HBV-DNA:" prop="vhbvDna">
-                <el-input v-model="sheetData.vhbvDna"/>
+                <el-input v-model="sheetData.vhbvDna" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="抗-HCV:" prop="vkhcv">
-                <el-input v-model="sheetData.vkhcv"/>
+                <el-input v-model="sheetData.vkhcv" maxlength="120"/>
               </el-form-item>
             </el-col>
             <!--     第4行       -->
             <el-col :span="6">
               <el-form-item label="HCV-RNA:" prop="vhcvrna">
-                <el-input v-model="sheetData.vhcvrna"/>
+                <el-input v-model="sheetData.vhcvrna" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="抗-HDVIgM:" prop="vkhdvigm">
-                <el-input v-model="sheetData.vkhdvigm"/>
+                <el-input v-model="sheetData.vkhdvigm" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="抗HDV:" prop="vkhdv">
-                <el-input v-model="sheetData.vkhdv"/>
+                <el-input v-model="sheetData.vkhdv" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="HDV-RNA:" prop="vhdvRna">
-                <el-input v-model="sheetData.vhdvRna"/>
+                <el-input v-model="sheetData.vhdvRna" maxlength="120"/>
               </el-form-item>
             </el-col>
             <!--     第5行       -->
             <el-col :span="6">
               <el-form-item label="抗-HEVIgM:" prop="vkhevigm">
-                <el-input v-model="sheetData.vkhevigm"/>
+                <el-input v-model="sheetData.vkhevigm" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="抗HEV:" prop="vkhev">
-                <el-input v-model="sheetData.vkhev"/>
+                <el-input v-model="sheetData.vkhev" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="HEV-RNA:" prop="vhevrna">
-                <el-input v-model="sheetData.vhevrna"/>
+                <el-input v-model="sheetData.vhevrna" maxlength="120"/>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="订正病名:" prop="gyDzbm">
-                <el-input v-model="sheetData.gyDzbm"/>
+                <el-input v-model="sheetData.gyDzbm" maxlength="120"/>
               </el-form-item>
             </el-col>
           </el-row>

+ 2 - 1
src/views/clinic/chronicDisease/ChronicDiseaseQuestionnaire.vue

@@ -265,13 +265,14 @@ const getId = () => {
 const appContext = () => {
   return {
     endpoints: {
-      app: "/bdp/dataservice/api",
+      app: "http://172.16.32.160:9205/thyy/api/dataEmr/comp",
       his: import.meta.env.VITE_BASE_URL,
     },
     input: {
       user: userInfoStore.value.code,
       name: userInfoStore.value.name
     },
+    userCode: userInfoStore.value.code,
     login: {
       token: userInfoStore.value.token,
       user: {

+ 20 - 14
src/views/hospitalization/zhu-yuan-yi-sheng/electronic-medical-record/emr-editor/EmrMain.vue

@@ -430,6 +430,7 @@ const categoryCode = ref('')
 const templateName = ref('')
 // 患者数据
 const patientData = ref({})
+let copy = true
 // 侧边栏
 const emrSidebarRef = ref<InstanceType<typeof EmrSidebar> | null>(null)
 
@@ -532,7 +533,7 @@ const emrEvent = {
     if (emrConfig.value.editor) {
       // 只有是空的才触发
       if (getId() === null || typeof getId() === 'undefined') {
-        editor.setValues(patientData.value, true, true)
+        editor?.setValues(patientData.value, true, true)
       }
     }
 
@@ -581,20 +582,20 @@ const emrEvent = {
     fragmentsCannotBeInserted = false
   },
   "areaFocus": (evt, view) => {
-    let modelService = editor.ModelService;
+    let modelService = editor?.ModelService;
     let node = view.model
-    let walker = modelService.createTreeWalker(node);
-    let values = modelService.getElementsDataFromWalker(walker, '编辑者');
+    let walker = modelService?.createTreeWalker(node);
+    let values = modelService?.getElementsDataFromWalker(walker, '编辑者');
     let editorCode = values['编辑者']?.value[0]?.code;
     if (editorCode) {
       openTheTraceByUser(editorCode)
     }
   },
   "beforeCopy": (evt, data) => {
-    return true
+    return copy
   },
   "beforePaste": (evt, data) => {
-    return true
+    return copy
   }
 }
 
@@ -658,7 +659,6 @@ const editJudgment = async () => {
     return
   }
   currentEditorUser.value = await isThereADoctorEditing(getId()) as any
-  console.log('有人正在编辑病历 %o', currentEditorUser.value)
   if (currentEditorUser.value === null) {
     emrSocket.value.documentChange(getId());
   } else if (currentEditorUser.value.code != userInfoStore.value.code) {
@@ -722,11 +722,13 @@ const oldHighlightConfig = {
   toggleTitle: true
 }
 
+
 const highlightIcon = (message) => {
   const link = document.querySelector("link[rel~='icon']") as HTMLLinkElement
   oldHighlightConfig.title = document.title
   oldHighlightConfig.icon = link.href
 
+  // @ts-ignore
   link.href = warning
 
   clearInterval(oldHighlightConfig.interval)
@@ -738,6 +740,7 @@ const highlightIcon = (message) => {
 
 }
 
+
 /**
  * 强制踢出接收方
  * @param forceRefreshUserInfo 踢人方的用户信息
@@ -1301,13 +1304,17 @@ const clickToSubmitTheMedicalRecord = async () => {
 /**
  * 查询患者信息
  */
-const queryingBasicPatientInformation = () => {
-  reportQueryCenterApiByGet("/dataEmr/patInfo", {
+const queryingBasicPatientInformation = async () => {
+  await reportQueryCenterApiByGet("/dataEmr/patInfo", {
     patNo: patientInfo.value.inpatientNo,
     times: patientInfo.value.admissTimes
   }).then(res => {
     patientData.value = res.patientData
     extractData = res.extractData
+    copy = res.copy
+  }).catch(() => {
+    patientData.value = {}
+    extractData = {}
   }).finally(() => {
     getCurrentPersonnelInformation()
   })
@@ -1741,21 +1748,21 @@ const initEdit = () => {
 
   const tempData = {
     endpoints: {
-      app: "/bdp/dataservice/api",
+      app: "http://172.16.32.160:9205/thyy/api/dataEmr/comp",
       his: import.meta.env.VITE_BASE_URL,
     },
     input: {
       user: userInfoStore.value.code,
       name: userInfoStore.value.name
     },
+    userCode: userInfoStore.value.code,
     login: {
       token: userInfoStore.value.token,
       user: {
         id: userInfoStore.value.code,
         name: userInfoStore.value.name
       }
-    },
-    data: {}
+    }
   }
 
   useEmrInit(editRef.value, {event: emrEvent, appContext: tempData}).then((res) => {
@@ -1784,8 +1791,7 @@ let hisSaveEmr: UseEmrInitReturn = {}
 
 onMounted(async () => {
   doctorLevelFunc()
-  await nextTick()
-  queryingBasicPatientInformation()
+  await queryingBasicPatientInformation()
   await nextTick()
   initEdit()
   window.addEventListener('beforeunload', monitorPageRefresh, {capture: true})

+ 2 - 2
src/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng.ts

@@ -882,12 +882,12 @@ export const jyJcRestriction = (data: AddJcParams, error: boolean = true) => {
             return false
         }
 
-        if (data.minAgeRestriction && data.minAgeRestriction > huanZheXinXi.value.age) {
+        if (data.minAgeRestriction && data.minAgeRestriction >= huanZheXinXi.value.age) {
             error && BizException(ExceptionEnum.MESSAGE_ERROR, "项目最小年龄限制" + data.minAgeRestriction + "岁,患者年龄不符合。")
             return false
         }
 
-        if (data.maxAgeRestriction && data.maxAgeRestriction < huanZheXinXi.value.age) {
+        if (data.maxAgeRestriction && data.maxAgeRestriction <= huanZheXinXi.value.age) {
             error && BizException(ExceptionEnum.MESSAGE_ERROR, "项目最大年龄限制" + data.maxAgeRestriction + "岁,患者年龄不符合。")
             return false
         }

+ 85 - 87
src/views/mz-emr/MzEmr.vue

@@ -5,11 +5,11 @@ import {
   useEmrInit,
   UseEmrInitReturn
 } from "@/utils/emr/emr-init-v2";
-import {getMzEmrModel,queryMzEmrTree,queryMzPatientInfo,saveMzEmrModel} from "@/api/mz-emr/mz-emr";
+import {getMzEmrModel, queryMzEmrTree, queryMzPatientInfo, saveMzEmrModel} from "@/api/mz-emr/mz-emr";
 import {EditType} from "@/utils/emr/edit";
 import {userInfoStore} from "@/utils/store-public";
-import {ElMessageBox, ElTree,ElMessage} from 'element-plus'
-import {watch } from 'vue'
+import {ElMessageBox, ElTree, ElMessage} from 'element-plus'
+import {watch} from 'vue'
 import {stringIsBlank, stringNotBlank} from "@/utils/blank-utils";
 import {getServerDateApi, getUuid} from "@/api/public-api";
 
@@ -21,7 +21,7 @@ let patNo: {
 } = {
   times: 2,
   patientId: '',
-  userIdCode:'',
+  userIdCode: '',
 }
 
 export interface Property {
@@ -63,9 +63,9 @@ const selectionStatus = ref(false)
 const rowClick = (row: emrTemplateType) => {
   selectionStatus.value = true
   editor.editor.setEditorMode('free')
-  categoryCode.value =row.code
-  mzEmrName.value =row.name
-  parent.value =row.parent
+  categoryCode.value = row.code
+  mzEmrName.value = row.name
+  parent.value = row.parent
   if (typeFlag.value == 0) {
     editor.loadAndSetDocument({
       categoryId: row._id,
@@ -80,22 +80,22 @@ const rowClick = (row: emrTemplateType) => {
 }
 
 const categoryCode = ref<string>('')
-const  mzEmrName = ref<string>('')
-const  parent = ref<string>('')
+const mzEmrName = ref<string>('')
+const parent = ref<string>('')
 
-const saveData = ()=>{
-  if(!((typeFlag.value == 0 || typeFlag.value==2)&& selectionStatus.value)){
-     return   ElMessage.error('请选择数据,只有门诊模板和当前才能保存!')
+const saveData = () => {
+  if (!((typeFlag.value == 0 || typeFlag.value == 2) && selectionStatus.value)) {
+    return ElMessage.error('请选择数据,只有门诊模板和当前才能保存!')
   }
   ElMessageBox.confirm('请确认是否保存', {
     cancelButtonText: '取消',
     confirmButtonText: '确定',
   })
-          .then(() =>  {
-           clickSaveData()
-          })
-          .catch(() => {
-          })
+      .then(() => {
+        clickSaveData()
+      })
+      .catch(() => {
+      })
 }
 
 const clickSaveData = async () => {
@@ -130,7 +130,7 @@ const clickSaveData = async () => {
     document.properties.createTime = newDate
   }
 
-  saveMzEmrModel(data).then((res:any)=>{
+  saveMzEmrModel(data).then((res: any) => {
 
   })
 
@@ -159,13 +159,14 @@ const getId = () => {
 const appContext = () => {
   return {
     endpoints: {
-      app: "/bdp/dataservice/api",
+      app: "http://172.16.32.160:9205/thyy/api/dataEmr/comp",
       his: import.meta.env.VITE_BASE_URL,
     },
     input: {
       user: userInfoStore.value.code,
       name: userInfoStore.value.name
     },
+    userCode: userInfoStore.value.code,
     login: {
       token: userInfoStore.value.token,
       user: {
@@ -179,7 +180,7 @@ const appContext = () => {
       '患者年龄': mzEmrPatientVo.value.age,
       '门/急诊号': mzEmrPatientVo.value.patientId,
       '接诊科室门诊': mzEmrPatientVo.value.deptName,
-      '编辑者':[{code:mzEmrPatientVo.value.userIdCode,name:mzEmrPatientVo.value.userName}]
+      '编辑者': [{code: mzEmrPatientVo.value.userIdCode, name: mzEmrPatientVo.value.userName}]
     }
   }
 }
@@ -194,21 +195,21 @@ const handlePrint = () => {
 
 
 const mzEmrPatientVo = ref<object>({
-  patientId:'',
-  times:null,
-  userIdCode:'',
-  userName:'',
-  deptCode:'',
-  deptName:'',
-  name:'',
-  sex:'',
-  age:null,
-  type:null,
+  patientId: '',
+  times: null,
+  userIdCode: '',
+  userName: '',
+  deptCode: '',
+  deptName: '',
+  name: '',
+  sex: '',
+  age: null,
+  type: null,
 })
 onMounted(() => {
   patNo = JSON.parse(window.atob(router.currentRoute.value.params.patientInfo))
-  queryMzPatientInfo(patNo).then((res:any)=>{
-    mzEmrPatientVo.value=res
+  queryMzPatientInfo(patNo).then((res: any) => {
+    mzEmrPatientVo.value = res
   })
   useEmrInit(emrDivRef.value, {
     appContext: appContext
@@ -218,47 +219,45 @@ onMounted(() => {
 })
 
 
-
-
-const treeData=ref<Tree[]>()
+const treeData = ref<Tree[]>()
 const typeFlag = ref<number>()
 
-const queryMzEmdrData=(type)=>{
+const queryMzEmdrData = (type) => {
   selectionStatus.value = false
   typeFlag.value = type
-  if(type==0 || type==2){
+  if (type == 0 || type == 2) {
     modelFlag.value = true;
-  }else {
+  } else {
     modelFlag.value = false;
   }
-  if(type == 0){
-    getMzEmrModel().then((res:any)=>{
+  if (type == 0) {
+    getMzEmrModel().then((res: any) => {
       let tem = []
-      if(res){
-        for (let i = 0; i <res.length ; i++) {
-          if(res[i].parent !=null){
+      if (res) {
+        for (let i = 0; i < res.length; i++) {
+          if (res[i].parent != null) {
             tem.push(res[i])
           }
         }
       }
       emrTemplateData.value = tem
     })
-  }else {
+  } else {
     mzEmrPatientVo.value['type'] = type
-    queryMzEmrTree(mzEmrPatientVo.value).then((res:any)=>{
-      if(type==2){
+    queryMzEmrTree(mzEmrPatientVo.value).then((res: any) => {
+      if (type == 2) {
         let tempData = []
-        if(res){
+        if (res) {
           for (let i = 0; i < res.length; i++) {
-             let te = {
-               _id:'',
-               categoryCode:'',
-               documentId:'',
-               name:'',
-               cade:'',
-               parent:'',
-             }
-            te.cade =  res[i].emrCategoryCode
+            let te = {
+              _id: '',
+              categoryCode: '',
+              documentId: '',
+              name: '',
+              cade: '',
+              parent: '',
+            }
+            te.cade = res[i].emrCategoryCode
             te.parent = res[i].parent
             te.categoryCode = res[i].emrCategoryCode
             te.documentId = res[i].emrDocumentId
@@ -267,7 +266,7 @@ const queryMzEmdrData=(type)=>{
           }
           emrTemplateData.value = tempData
         }
-      }else {
+      } else {
         treeData.value = res
       }
     })
@@ -275,7 +274,6 @@ const queryMzEmdrData=(type)=>{
 }
 
 
-
 interface Tree {
   [key: string]: any
 }
@@ -297,10 +295,10 @@ const filterNode = (value: string, data: Tree) => {
   return data.name.includes(value)
 }
 
-const handleNodeClick=(node, object, event)=>{
-  selectionStatus.value =true
+const handleNodeClick = (node, object, event) => {
+  selectionStatus.value = true
   editor.editor.setEditorMode('readonly')
-  console.log("node",node)
+  console.log("node", node)
   editor.loadAndSetDocument({
     documentId: node.emrDocumentId
   })
@@ -308,7 +306,7 @@ const handleNodeClick=(node, object, event)=>{
 
 }
 
-const modelFlag= ref<boolean>(false)
+const modelFlag = ref<boolean>(false)
 
 </script>
 
@@ -316,18 +314,18 @@ const modelFlag= ref<boolean>(false)
   <el-container>
     <el-aside style="width: 400px;padding: 20px;">
       <div>
-        <el-descriptions :column="4" border style="width:100%;" >
+        <el-descriptions :column="4" border style="width:100%;">
           <el-descriptions-item label="门诊号">
-           {{mzEmrPatientVo.patientId}}
+            {{ mzEmrPatientVo.patientId }}
           </el-descriptions-item>
           <el-descriptions-item label="姓名">
-            {{mzEmrPatientVo.name}}
+            {{ mzEmrPatientVo.name }}
           </el-descriptions-item>
           <el-descriptions-item label="性别">
-            {{mzEmrPatientVo.sex}}
+            {{ mzEmrPatientVo.sex }}
           </el-descriptions-item>
           <el-descriptions-item label="年龄">
-            {{mzEmrPatientVo.age+'岁'}}
+            {{ mzEmrPatientVo.age + '岁' }}
           </el-descriptions-item>
         </el-descriptions>
       </div>
@@ -335,32 +333,32 @@ const modelFlag= ref<boolean>(false)
         <div>
           <div style="width: 100%;text-align: right">
             <el-button type="success" @click="saveData">保存</el-button>
-            <el-button icon="Printer"  type="success" @click="handlePrint"> 打印</el-button>
+            <el-button icon="Printer" type="success" @click="handlePrint"> 打印</el-button>
+          </div>
+          <div>
+            <el-button-group class="ml-4">
+              <el-button @click="queryMzEmdrData(0)"> 门诊模板</el-button>
+              <el-button @click="queryMzEmdrData(1)"> 住院</el-button>
+              <el-button @click="queryMzEmdrData(2)"> 当前</el-button>
+              <el-button @click="queryMzEmdrData(3)"> 历史</el-button>
+            </el-button-group>
           </div>
-         <div>
-           <el-button-group class="ml-4">
-             <el-button @click="queryMzEmdrData(0)"> 门诊模板 </el-button>
-             <el-button @click="queryMzEmdrData(1)"> 住院</el-button>
-             <el-button @click="queryMzEmdrData(2)"> 当前</el-button>
-             <el-button @click="queryMzEmdrData(3)"> 历史</el-button>
-           </el-button-group>
-         </div>
         </div>
         <div>
           <el-table :data="emrTemplateData" v-show="modelFlag" style="width: 210px" @row-click="rowClick">
-            <el-table-column  label="名称" prop="name"></el-table-column>
+            <el-table-column label="名称" prop="name"></el-table-column>
           </el-table>
-          <el-input v-model="filterText" v-show="!modelFlag" placeholder="搜索" style="width: 210px" />
+          <el-input v-model="filterText" v-show="!modelFlag" placeholder="搜索" style="width: 210px"/>
           <el-tree v-show="!modelFlag" style="width: 210px"
-              ref="treeRef"
-              class="filter-tree"
-              :data="treeData"
-              :props="defaultProps"
-              @node-click="handleNodeClick"
-              node-key="id"
-              highlight-current
-              default-expand-all
-              :filter-node-method="filterNode"
+                   ref="treeRef"
+                   class="filter-tree"
+                   :data="treeData"
+                   :props="defaultProps"
+                   @node-click="handleNodeClick"
+                   node-key="id"
+                   highlight-current
+                   default-expand-all
+                   :filter-node-method="filterNode"
           />
 
         </div>

+ 212 - 209
src/views/reports/KeShiShouRuTongJi.vue

@@ -1,127 +1,130 @@
 <template>
-    <page-layer>
-        <template #headerBlock>
-            <el-form inline :model="queryTerm" ref="formRef">
-                <el-form-item prop="dateRange">
-                    <el-date-picker
-                            v-model="queryTerm.dateRange"
-                            :shortcuts="clockinShortcuts"
-                            end-placeholder="结束日期"
-                            placeholder="选择日期"
-                            range-separator="至"
-                            start-placeholder="开始日期"
-                            style="width: 180px"
-                            type="daterange"/>
-                </el-form-item>
+  <page-layer>
+    <template #headerBlock>
+      <el-alert title="该页面已不在维护请去 报表模块 》 super报表查询 页面查看" type="error" show-icon>
 
-                <el-form-item prop="laiYuan">
-                    <el-select v-model="queryTerm.laiYuan" style="width: 70px">
-                        <el-option :value="0" label="住院"></el-option>
-                        <el-option :value="1" label="门诊"></el-option>
-                    </el-select>
-                </el-form-item>
+      </el-alert>
+      <el-form inline :model="queryTerm" ref="formRef">
+        <el-form-item prop="dateRange">
+          <el-date-picker
+              v-model="queryTerm.dateRange"
+              :shortcuts="clockinShortcuts"
+              end-placeholder="结束日期"
+              placeholder="选择日期"
+              range-separator="至"
+              start-placeholder="开始日期"
+              style="width: 180px"
+              type="daterange"/>
+        </el-form-item>
 
-                <el-form-item prop="opId">
-                    <el-select v-model="queryTerm.opId"
-                               placeholder="录入人"
-                               :remote-method="remoteMethodRenYuan"
-                               clearable filterable remote
-                               style="width: 100px">
-                        <el-option v-for="item in renYuanList" :key="item.code" :label="item.name" :value="item.code">
-                            <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
-                            <el-divider direction="vertical"></el-divider>
-                            <span>{{ item.name }}</span>
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item prop="reqDeptCode">
-                    <el-select v-model="queryTerm.reqDeptCode" placeholder="申请科室" clearable filterable remote
-                               style="width: 120px">
-                        <el-option v-for="item in deptList" :key="item.code" :label="item.name" :value="item.code">
-                            <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
-                            <el-divider direction="vertical"></el-divider>
-                            <span>{{ item.name }}</span>
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item prop="chargeCodeMx">
-                    <el-select v-model="queryTerm.chargeCodeMx" placeholder="项目名称"
-                               :remote-method="remoteMethodChargeCode"
-                               clearable filterable remote
-                               style="width: 150px">
-                        <el-option v-for="item in chargeCodeList" :key="item.code" :label="item.name"
-                                   :value="item.code">
-                            <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
-                            <el-divider direction="vertical"></el-divider>
-                            <span>{{ item.name }}</span>
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item prop="fenLei">
-                    <el-select v-model="queryTerm.fenLei" placeholder="分类" style="width: 90px"
-                               @change="getKeShouFeiClick">
-                        <el-option v-for="item in fenLeiDate" :key="item.code" :label="item.name" :value="item.code">
-                            <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
-                            <el-divider direction="vertical"></el-divider>
-                            <span>{{ item.name }}</span>
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item v-if="quanXian.indexOf(1) > -1" label="执行科室" prop="execUnitList">
-                    <el-select style="width: 200px" v-model="queryTerm.execUnitList" clearable collapse-tags filterable
-                               multiple
-                               remote>
-                        <el-option v-for="item in deptList" :key="item.code" :label="item.name" :value="item.code">
-                            <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
-                            <el-divider direction="vertical"></el-divider>
-                            <span>{{ item.name }}</span>
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-                <el-form-item>
-                    <el-button icon="Search" type="success" @click="getKeShouFeiClick">查询</el-button>
-                    <el-button icon="Download" type="primary" @click="exportExcel"> 导出excel</el-button>
-                    <el-button icon="Refresh" type="warning" @click="formRef?.resetFields()">重置</el-button>
-                    <el-tag>总金额:{{ queryTerm.chargeFee }}</el-tag>
-                </el-form-item>
-            </el-form>
-        </template>
-        <template #main>
-            <el-table :data="keShiFeiYongData" :height="windowHeigth / 1.15 - 20" highlight-current-row stripe>
-                <el-table-column v-if="queryTerm.fenLei === 3 || queryTerm.fenLei === 5" label="患者姓名"
-                                 prop="patientName"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 3 || queryTerm.fenLei === 5" label="住院号"
-                                 prop="patient"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 3 || queryTerm.fenLei === 5" label="次数"
-                                 prop="times"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 2 || queryTerm.fenLei === 3" label="项目编码"
-                                 prop="chargeCodeMx"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 2 || queryTerm.fenLei === 3" label="项目名称"
-                                 prop="chargeCodeName"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 3" label="执行日期" prop="chargeDate"
-                                 width="80"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 0" label="收费日期" prop="chargeDateString"
-                                 width="80"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 3 || queryTerm.fenLei === 1" label="录入人"
-                                 prop="opName"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 3" label="执行科室" prop="execUnitName"></el-table-column>
-                <el-table-column v-if="queryTerm.fenLei === 4 || queryTerm.fenLei === 3" label="申请科室"
-                                 prop="wardCodeName"></el-table-column>
-                <el-table-column label="金额" prop="chargeFee"></el-table-column>
-                <el-table-column label="数量" prop="chargeAmount"></el-table-column>
-                <el-table-column label="来源" prop="source"></el-table-column>
-            </el-table>
-            <el-pagination
-                    :current-page="fenYeQueryTerm.currentPage"
-                    :page-size="fenYeQueryTerm.pageSize"
-                    :page-sizes="[20, 30, 40, 50]"
-                    :total="fenYeQueryTerm.total"
-                    layout="total, sizes, prev, pager, next, jumper"
-                    style="margin-top: 5px"
-                    @size-change="handleSizeChange"
-                    @current-change="handleCurrentChange"/>
-        </template>
-    </page-layer>
+        <el-form-item prop="laiYuan">
+          <el-select v-model="queryTerm.laiYuan" style="width: 70px">
+            <el-option :value="0" label="住院"></el-option>
+            <el-option :value="1" label="门诊"></el-option>
+          </el-select>
+        </el-form-item>
+
+        <el-form-item prop="opId">
+          <el-select v-model="queryTerm.opId"
+                     placeholder="录入人"
+                     :remote-method="remoteMethodRenYuan"
+                     clearable filterable remote
+                     style="width: 100px">
+            <el-option v-for="item in renYuanList" :key="item.code" :label="item.name" :value="item.code">
+              <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
+              <el-divider direction="vertical"></el-divider>
+              <span>{{ item.name }}</span>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="reqDeptCode">
+          <el-select v-model="queryTerm.reqDeptCode" placeholder="申请科室" clearable filterable remote
+                     style="width: 120px">
+            <el-option v-for="item in deptList" :key="item.code" :label="item.name" :value="item.code">
+              <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
+              <el-divider direction="vertical"></el-divider>
+              <span>{{ item.name }}</span>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="chargeCodeMx">
+          <el-select v-model="queryTerm.chargeCodeMx" placeholder="项目名称"
+                     :remote-method="remoteMethodChargeCode"
+                     clearable filterable remote
+                     style="width: 150px">
+            <el-option v-for="item in chargeCodeList" :key="item.code" :label="item.name"
+                       :value="item.code">
+              <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
+              <el-divider direction="vertical"></el-divider>
+              <span>{{ item.name }}</span>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="fenLei">
+          <el-select v-model="queryTerm.fenLei" placeholder="分类" style="width: 90px"
+                     @change="getKeShouFeiClick">
+            <el-option v-for="item in fenLeiDate" :key="item.code" :label="item.name" :value="item.code">
+              <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
+              <el-divider direction="vertical"></el-divider>
+              <span>{{ item.name }}</span>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item v-if="quanXian.indexOf(1) > -1" label="执行科室" prop="execUnitList">
+          <el-select style="width: 200px" v-model="queryTerm.execUnitList" clearable collapse-tags filterable
+                     multiple
+                     remote>
+            <el-option v-for="item in deptList" :key="item.code" :label="item.name" :value="item.code">
+              <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
+              <el-divider direction="vertical"></el-divider>
+              <span>{{ item.name }}</span>
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button icon="Search" type="success" @click="getKeShouFeiClick">查询</el-button>
+          <el-button icon="Download" type="primary" @click="exportExcel"> 导出excel</el-button>
+          <el-button icon="Refresh" type="warning" @click="formRef?.resetFields()">重置</el-button>
+          <el-tag>总金额:{{ queryTerm.chargeFee }}</el-tag>
+        </el-form-item>
+      </el-form>
+    </template>
+    <template #main>
+      <el-table :data="keShiFeiYongData" :height="windowHeigth / 1.15 - 20" highlight-current-row stripe>
+        <el-table-column v-if="queryTerm.fenLei === 3 || queryTerm.fenLei === 5" label="患者姓名"
+                         prop="patientName"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 3 || queryTerm.fenLei === 5" label="住院号"
+                         prop="patient"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 3 || queryTerm.fenLei === 5" label="次数"
+                         prop="times"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 2 || queryTerm.fenLei === 3" label="项目编码"
+                         prop="chargeCodeMx"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 2 || queryTerm.fenLei === 3" label="项目名称"
+                         prop="chargeCodeName"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 3" label="执行日期" prop="chargeDate"
+                         width="80"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 0" label="收费日期" prop="chargeDateString"
+                         width="80"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 3 || queryTerm.fenLei === 1" label="录入人"
+                         prop="opName"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 3" label="执行科室" prop="execUnitName"></el-table-column>
+        <el-table-column v-if="queryTerm.fenLei === 4 || queryTerm.fenLei === 3" label="申请科室"
+                         prop="wardCodeName"></el-table-column>
+        <el-table-column label="金额" prop="chargeFee"></el-table-column>
+        <el-table-column label="数量" prop="chargeAmount"></el-table-column>
+        <el-table-column label="来源" prop="source"></el-table-column>
+      </el-table>
+      <el-pagination
+          :current-page="fenYeQueryTerm.currentPage"
+          :page-size="fenYeQueryTerm.pageSize"
+          :page-sizes="[20, 30, 40, 50]"
+          :total="fenYeQueryTerm.total"
+          layout="total, sizes, prev, pager, next, jumper"
+          style="margin-top: 5px"
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"/>
+    </template>
+  </page-layer>
 </template>
 
 <script setup name="KeShiShouRuTongJi">
@@ -143,23 +146,23 @@ const quanXian = store.state.user.info.roles
 const formRef = ref(null)
 
 const queryTerm = ref({
-    dateRange: clockinShortcuts[0].value,
-    laiYuan: 0,
-    opId: '',
-    chargeCodeMx: null,
-    reqDeptCode: '',
-    execUnitList: [store.state.user.info.deptCode],
-    fenLei: 5,
-    currentPage: 1,
-    pageSize: 40,
-    total: 0,
-    chargeFee: 0,
+  dateRange: clockinShortcuts[0].value,
+  laiYuan: 0,
+  opId: '',
+  chargeCodeMx: null,
+  reqDeptCode: '',
+  execUnitList: [store.state.user.info.deptCode],
+  fenLei: 5,
+  currentPage: 1,
+  pageSize: 40,
+  total: 0,
+  chargeFee: 0,
 })
 
 const fenYeQueryTerm = ref({
-    total: 0,
-    currentPage: 1,
-    pageSize: 40,
+  total: 0,
+  currentPage: 1,
+  pageSize: 40,
 })
 
 const renYuanList = ref([])
@@ -169,101 +172,101 @@ const deptList = ref([])
 const keShiFeiYongData = ref([])
 
 const remoteMethodRenYuan = (val) => {
-    if (val.length >= 2)
-        getRenYuan(val).then((res) => {
-            renYuanList.value = res
-        })
+  if (val.length >= 2)
+    getRenYuan(val).then((res) => {
+      renYuanList.value = res
+    })
 }
 
 const remoteMethodChargeCode = (val) => {
-    if (val.length >= 2) {
-        getChargeCode(val).then((res) => {
-            chargeCodeList.value = res
-        })
-    }
+  if (val.length >= 2) {
+    getChargeCode(val).then((res) => {
+      chargeCodeList.value = res
+    })
+  }
 }
 
 const getKeShouFeiClick = () => {
-    let date = getDateRangeFormatDate(queryTerm.value.dateRange)
-    queryTerm.value.startTime = date.startTime
-    queryTerm.value.endTime = date.endTime
-    queryTerm.value.currentPage = 1
-    queryTerm.value.total = 0
-    getKeShouFei(queryTerm.value).then((res) => {
-        console.log(res)
-        queryTerm.value.chargeFee = res.chargeFee
-        queryTerm.value.total = res.total
-        keShiFeiYongData.value = res.data
-        fenYeQueryTerm.value = clone(queryTerm.value)
-    })
+  let date = getDateRangeFormatDate(queryTerm.value.dateRange)
+  queryTerm.value.startTime = date.startTime
+  queryTerm.value.endTime = date.endTime
+  queryTerm.value.currentPage = 1
+  queryTerm.value.total = 0
+  getKeShouFei(queryTerm.value).then((res) => {
+    console.log(res)
+    queryTerm.value.chargeFee = res.chargeFee
+    queryTerm.value.total = res.total
+    keShiFeiYongData.value = res.data
+    fenYeQueryTerm.value = clone(queryTerm.value)
+  })
 }
 
 const handleSizeChange = (val) => {
-    fenYeQueryTerm.value.pageSize = val
-    getKeShouFei(fenYeQueryTerm.value).then((res) => {
-        keShiFeiYongData.value = res.data
-    })
+  fenYeQueryTerm.value.pageSize = val
+  getKeShouFei(fenYeQueryTerm.value).then((res) => {
+    keShiFeiYongData.value = res.data
+  })
 }
 
 const handleCurrentChange = (val) => {
-    fenYeQueryTerm.value.currentPage = val
-    getKeShouFei(fenYeQueryTerm.value).then((res) => {
-        keShiFeiYongData.value = res.data
-    })
+  fenYeQueryTerm.value.currentPage = val
+  getKeShouFei(fenYeQueryTerm.value).then((res) => {
+    keShiFeiYongData.value = res.data
+  })
 }
 
 const exportExcel = () => {
-    if (keShiFeiYongData.value.length <= 0) {
-        return ElMessage.warning({message: '请先查询出数据'})
-    }
-    ElMessageBox.prompt('导出文件名字', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        inputPattern: /\S/,
-        inputErrorMessage: '文件名不能为空 (∩•̀ω•́)⊃-*⋆',
-    })
-        .then(({value}) => {
-            const data = {
-                param: {
-                    startTime: fenYeQueryTerm.value.startTime,
-                    endTime: fenYeQueryTerm.value.endTime,
-                    fenLei: fenYeQueryTerm.value.fenLei,
-                    chargeCodeMx: fenYeQueryTerm.value.chargeCodeMx,
-                    opId: fenYeQueryTerm.value.opId,
-                    currentPage: 1,
-                    pageSize: fenYeQueryTerm.value.total,
-                    total: fenYeQueryTerm.value.total,
-                    execUnitList: fenYeQueryTerm.value.execUnitList,
-                    reqDeptCode: fenYeQueryTerm.value.reqDeptCode,
-                    laiYuan: fenYeQueryTerm.value.laiYuan,
-                },
-                url: '/keShiTongJi/exportExcel',
-                fileName: value + '.xlsx',
-            }
-            setTimeout(() => {
-                downloadExcel(data)
-            }, 500)
-        })
-        .catch(() => {
-        })
+  if (keShiFeiYongData.value.length <= 0) {
+    return ElMessage.warning({message: '请先查询出数据'})
+  }
+  ElMessageBox.prompt('导出文件名字', '提示', {
+    confirmButtonText: '确定',
+    cancelButtonText: '取消',
+    inputPattern: /\S/,
+    inputErrorMessage: '文件名不能为空 (∩•̀ω•́)⊃-*⋆',
+  })
+      .then(({value}) => {
+        const data = {
+          param: {
+            startTime: fenYeQueryTerm.value.startTime,
+            endTime: fenYeQueryTerm.value.endTime,
+            fenLei: fenYeQueryTerm.value.fenLei,
+            chargeCodeMx: fenYeQueryTerm.value.chargeCodeMx,
+            opId: fenYeQueryTerm.value.opId,
+            currentPage: 1,
+            pageSize: fenYeQueryTerm.value.total,
+            total: fenYeQueryTerm.value.total,
+            execUnitList: fenYeQueryTerm.value.execUnitList,
+            reqDeptCode: fenYeQueryTerm.value.reqDeptCode,
+            laiYuan: fenYeQueryTerm.value.laiYuan,
+          },
+          url: '/keShiTongJi/exportExcel',
+          fileName: value + '.xlsx',
+        }
+        setTimeout(() => {
+          downloadExcel(data)
+        }, 500)
+      })
+      .catch(() => {
+      })
 }
 
 onMounted(() => {
-    getDept().then((res) => {
-        deptList.value = res
-    })
-    if (!(quanXian.indexOf(1) > -1 || quanXian.indexOf(34) > -1)) {
-        queryTerm.value.opId = store.state.user.info.code
-    }
+  getDept().then((res) => {
+    deptList.value = res
+  })
+  if (!(quanXian.indexOf(1) > -1 || quanXian.indexOf(34) > -1)) {
+    queryTerm.value.opId = store.state.user.info.code
+  }
 })
 
 const fenLeiDate = [
-    {code: 0, name: '日期'},
-    {code: 1, name: '录入人'},
-    {code: 2, name: '项目编码'},
-    {code: 3, name: '不分类'},
-    {code: 4, name: '申请科室'},
-    {code: 5, name: '住院号'},
+  {code: 0, name: '日期'},
+  {code: 1, name: '录入人'},
+  {code: 2, name: '项目编码'},
+  {code: 3, name: '不分类'},
+  {code: 4, name: '申请科室'},
+  {code: 5, name: '住院号'},
 ]
 
 

+ 0 - 2
src/views/system/login.vue

@@ -2,8 +2,6 @@
   <div class="container">
     <div class="box">
       <h1>{{ systemTitle }}</h1>
-
-
       <el-form class="form">
         <el-input v-model="form.codeRs"
                   maxlength="50"