yuwandanmian hace 1 año
padre
commit
0ec40ceb7f

+ 6 - 11
src/layout/components/Navbar.vue

@@ -1,27 +1,18 @@
 <template>
   <div class="navbar">
     <hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
-
-    <!-- <breadcrumb class="breadcrumb-container" /> -->
-
+    <div class="hospital">滨州医学院烟台附属医院</div>
     <div class="right-menu">
       <el-dropdown class="avatar-container" trigger="click">
         <div class="avatar-wrapper">
           <img :src="require('../../assets/images/avatar06.png')" class="user-avatar" />
-          <!-- <el-button type="primary" icon="el-icon-setting">设置</el-button> -->
           <span class="username">{{ name }}</span>
           <i class="el-icon-caret-bottom" />
         </div>
         <el-dropdown-menu slot="dropdown" class="user-dropdown">
           <router-link to="/">
-            <el-dropdown-item>Home</el-dropdown-item>
+            <el-dropdown-item>首页</el-dropdown-item>
           </router-link>
-          <!-- <a target="_blank" href="https://github.com/PanJiaChen/vue-admin-template/">
-            <el-dropdown-item>Github</el-dropdown-item>
-          </a>
-          <a target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/#/">
-            <el-dropdown-item>Docs</el-dropdown-item>
-          </a> -->
           <el-dropdown-item divided @click.native="logout">
             <span style="display: block">退出登陆</span>
           </el-dropdown-item>
@@ -65,6 +56,10 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.hospital {
+  line-height: 50px;
+  color: #909399;
+}
 .navbar {
   // width: 1200px;
   height: 50px;

+ 3 - 4
src/views/data/frontHome/components/SearchBox2.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :inline="true" :model="data" class="demo-form-inline">
+    <el-form :inline="true" :model="data" class="demo-form-inline" label-width="96px">
       <el-form-item label="住院号码">
         <el-input v-model="data.AAA28" clearable placeholder="请输入"></el-input>
       </el-form-item>
@@ -15,7 +15,7 @@
           type="date"
           :picker-options="pickerOptions1"
           placeholder="开始时间"
-          style="width: 200px;"
+          style="width: 249px;"
         />
       </el-form-item>
       <el-form-item label="">
@@ -24,7 +24,7 @@
           type="date"
           :picker-options="pickerOptions2"
           placeholder="结束时间"
-          style="width: 200px;"
+          style="width: 249px;"
         />
       </el-form-item>
       <el-form-item label="" class="more-btn">
@@ -224,7 +224,6 @@ export default {
   margin: 0 auto;
   .more-btn {
     position: absolute;
-    right: 100px;
   }
 }
 .search-btn {

+ 9 - 9
src/views/data/frontHome/components/TableBox2.vue

@@ -9,7 +9,7 @@
         type="index"
         label="序号"
         align="center"
-        width="80">
+        width="50">
       </el-table-column>
       <el-table-column
         v-if="codes.includes('field')"
@@ -29,7 +29,7 @@
         v-if="codes.includes('AAA28')"
         prop="AAA28"
         label="住院号码"
-        width="160"
+        width="100"
         align="center">
         <template slot-scope="scope">
           <span class="link" @click="toPage(scope.row.MED_REC_ID)">{{ scope.row.AAA28 }}</span>
@@ -39,7 +39,7 @@
         v-if="codes.includes('AAA01')"
         prop="AAA01"
         label="姓名"
-        width="160"
+        width="100"
         align="center">
       </el-table-column>
       <el-table-column
@@ -61,14 +61,14 @@
         v-if="codes.includes('AEE08')"
         prop="AEE08"
         label="编码员"
-        width="160"
+        width="100"
         align="center">
       </el-table-column>
       <el-table-column
         v-if="codes.includes('AEE04')"
         prop="AEE04"
         label="住院医师"
-        width="160"
+        width="100"
         align="center">
       </el-table-column>
       <el-table-column
@@ -89,28 +89,28 @@
         v-if="codes.includes('ICD9_NAME')"
         prop="ICD9_NAME"
         label="主要手术名称"
-        width="160"
+        width="200"
         align="center">
       </el-table-column>
       <el-table-column
         v-if="codes.includes('ICD9_ID1')"
         prop="ICD9_ID1"
         label="主要手术编码"
-        width="160"
+        width="120"
         align="center">
       </el-table-column>
       <el-table-column
         v-if="codes.includes('level')"
         prop="level"
         label="缺陷分级"
-        width="160"
+        width="100"
         align="center">
       </el-table-column>
       <el-table-column
         v-if="codes.includes('type')"
         prop="type"
         label="缺陷归类"
-        width="160"
+        width="120"
         align="center">
       </el-table-column>
     </el-table>

+ 10 - 2
src/views/data/query/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="dashboard-container">
+  <div class="dashboard-container" :class="{'nocopy': $route.meta.nocopy}">
     <div class="block">
       <div class="barBtn">
         <el-radio-group v-model="choice" class="bnts" size="medium">
@@ -236,7 +236,7 @@
         </div>
       </div>
       <div style="text-align: right; margin-bottom: 20px;">
-        <el-button type="primary" icon="el-icon-download" class="export-btn export-btn" @click="funExport('质控列表', '/qualityList')">导出数据</el-button>
+        <el-button type="primary" v-if="!isWhitelist" icon="el-icon-download" class="export-btn export-btn" @click="funExport('质控列表', '/qualityList')">导出数据</el-button>
       </div>
       <el-table :data="tableData" style="width: 100%">
         <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
@@ -301,6 +301,14 @@ import { medicalRecordExport } from '@/api/excel';
 
 export default {
   name: 'Dashboard',
+  props: {
+    isWhitelist: {
+      type: Boolean,
+      default() {
+        return false
+      }
+    }
+  },
   components: {
     Title,
     mPagination,

+ 10 - 9
src/views/search/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="dashboard-container">
+  <div class="dashboard-container" :class="{'nocopy': $route.meta.nocopy}">
     <div class="block">
       <div class="barBtn">
         <el-radio-group v-model="choice" class="bnts" size="medium" @change="handleRadioChange">
@@ -42,11 +42,6 @@
         </el-form>
         <div style="margin: 15px" />
       </div>
-      <!-- <div v-if="choice == 0" class="fBtn" style="position: relative">
-        <el-select v-model="formData0.input1" style="position: absolute; right: 0px" placeholder="检索历史" @change="funSetList()">
-          <el-option v-for="(item, index) in setList" :key="index" :label="item" :value="item" />
-        </el-select>
-      </div> -->
       <!-- 高级检索 -->
       <div v-if="choice == 1" class="barBtn">
         <el-form ref="form" :model="formData1" label-width="100px">
@@ -183,9 +178,7 @@
         <el-radio-button label="0">列表</el-radio-button>
         <el-radio-button label="1">详情</el-radio-button>
       </el-radio-group>
-      <div class="title-right">
-        <!-- <div :class="onClass == '0' ? 'title-right-data' : ''" @click="funOnclass('0')">列表</div>
-        <div :class="onClass == '1' ? 'title-right-data' : ''" @click="funOnclass('1')">详情</div> -->
+      <div class="title-right" v-if="!isWhitelist">
         <el-button v-if="choice == 0" type="primary" icon="el-icon-download" @click="normalDownload('住院病历-普通检索')" style="margin-left: 20px;" class="export-btn">导出数据</el-button>
         <el-button v-if="choice == 1" type="primary" icon="el-icon-download" @click="highDownload('住院病历-高级检索')" style="margin-left: 20px;" class="export-btn">导出数据</el-button>
         <el-button v-if="choice == 2" type="primary" icon="el-icon-download" @click="onExport" style="margin-left: 20px;" class="export-btn">导出数据</el-button>
@@ -414,6 +407,14 @@ import { bassNormalSearchDownload, bassHighSearchDownload, professionSearchExpor
 import ProfessionSearchVue from './components/ProfessionSearch.vue';
 
 export default {
+  props: {
+    isWhitelist: {
+      type: Boolean,
+      default() {
+        return false
+      }
+    }
+  },
   components: {
     Title,
     mPagination,

+ 0 - 1047
src/views/searchSystem/components/BLSearch.vue

@@ -1,1047 +0,0 @@
-<template>
-  <div class="dashboard-container" :class="{'nocopy': $route.meta.nocopy}">
-    <div class="block">
-      <div class="barBtn">
-        <el-radio-group v-model="choice" class="bnts" size="medium">
-          <el-radio-button :label="0">普通检索</el-radio-button>
-          <el-radio-button :label="1">高级检索</el-radio-button>
-        </el-radio-group>
-      </div>
-      <div class="bnh" />
-      <div v-if="choice == 0" class="bnh">
-        <el-form :inline="true" class="demo-form-inline">
-          <el-form-item label="">
-            <el-input
-              v-model="formData0.input"
-              placeholder="输入关键字搜索"
-              class="input-with-select width500"
-            >
-            </el-input>
-          </el-form-item>
-          <el-form-item>
-            <el-date-picker
-              v-model="formData1.startTime"
-              type="date"
-              format="yyyy 年 MM 月 dd 日"
-              value-format="yyyyMMdd"
-              placeholder="出院时间开始"
-		          :picker-options="pickerOptions"
-              :disabled="lock"
-            />
-            <span class="pind10" />
-            <el-date-picker
-              v-model="formData1.endTime"
-              type="date"
-              format="yyyy 年 MM 月 dd 日"
-              value-format="yyyyMMdd"
-              placeholder="出院时间结束"
-		          :picker-options="pickerOptions"
-              :disabled="lock"
-            />
-          </el-form-item>
-          <el-form-item>
-            <el-button
-              class="bule"
-              icon="el-icon-search"
-              @click="funQuery(0)"
-              >检索</el-button
-            >
-          </el-form-item>
-        </el-form>
-        <div style="margin: 15px" />
-      </div>
-      <div v-else class="barBtn">
-        <el-form ref="form" :model="formData1" label-width="100px">
-          <el-form-item
-            v-for="(item, index) in formData1.seniorList"
-            :key="index"
-          >
-            <!-- 下拉框开始 -->
-            <el-select
-              v-if="index != 0"
-              v-model="item.select_type"
-              :class="index != 0 ? 'marginLeft' : ''"
-              class="width100"
-              filterable
-              placeholder=""
-              :disabled="item.lock"
-            >
-              <!-- fieldList -->
-              <el-option label="且" :value="0" />
-              <el-option label="或者" :value="1" />
-              <el-option label="不包含" :value="2" />
-            </el-select>
-            <span v-if="index != 0" class="pind10" />
-            <el-select
-              v-model="item.key"
-              class="width150"
-              filterable
-              placeholder="请选择"
-              @change="funSelect(index)"
-              :disabled="item.lock"
-            >
-              <!-- fieldList -->
-              <el-option
-                v-for="(item, index) in fieldList"
-                :key="index"
-                :label="item.name"
-                :value="item.id"
-                :disabled="item.lock"
-              />
-            </el-select>
-            <!-- 下拉框结束 -->
-
-            <span class="pind10" />
-            <!-- 中间选择输入框开始 -->
-            <span v-if="item.key == 'AAC11N'">
-              <el-select
-                v-model="item.value"
-                class="width150"
-                filterable
-                placeholder="请选择"
-                :disabled="item.lock"
-              >
-                <el-option
-                  v-for="(itemo, indexo) in departmentList"
-                  :key="indexo"
-                  :label="itemo.name"
-                  :value="itemo.name"
-                />
-              </el-select>
-            </span>
-            <span v-else>
-              <el-input v-model="item.value" class="width150" :disabled="item.lock" placeholder="请输入" />
-            </span>
-            <!-- 中间选择输入框结束 -->
-
-            <span class="pind10" />
-            <!-- 条件下拉开始 -->
-            <el-select v-model="item.type" class="width90" :disabled="item.lock" placeholder="">
-              <el-option label="精确" value="1" />
-              <el-option label="模糊" value="0" />
-            </el-select>
-            <!-- 条件下拉结束 -->
-
-            <span class="pind10" />
-            <!-- 增减重置选项按钮开始 -->
-            <span>
-              <el-button
-                v-if="index != 0 && !item.lock"
-                :disabled="formData1.seniorList.length == 1"
-                type="primary"
-                icon="el-icon-minus"
-                @click="funDel(index)"
-              />
-              <el-button
-                v-if="index == formData1.seniorList.length - 1"
-                type="primary"
-                icon="el-icon-plus"
-                @click="funAdd"
-              />
-              <el-button v-if="index === formData1.seniorList.length - 1 && searchNum" @click="onLockResult">结果中检索</el-button>
-            </span>
-            <!-- 增减重置选项按钮结束 -->
-          </el-form-item>
-          <el-form-item label="出院时间">
-            <el-date-picker
-              v-model="formData1.startTime"
-              type="date"
-              format="yyyy 年 MM 月 dd 日"
-              value-format="yyyyMMdd"
-              placeholder="开始日期"
-		          :picker-options="pickerOptions"
-              :disabled="lock"
-            />
-            <span class="pind10" />
-            <el-date-picker
-              v-model="formData1.endTime"
-              type="date"
-              format="yyyy 年 MM 月 dd 日"
-              value-format="yyyyMMdd"
-              placeholder="结束日期"
-		          :picker-options="pickerOptions"
-              :disabled="lock"
-            />
-          </el-form-item>
-
-          <el-form-item label="住院天数">
-            <el-input-number
-              v-model="formData1.AAC04_start"
-              :min="1"
-              :step="1"
-              :controls="false"
-              placeholder="起始天数"
-              style="width: 220px"
-              :disabled="lock"
-            ></el-input-number>
-            <span class="pind10" />
-            <el-input-number
-              v-model="formData1.AAC04_end"
-              :min="1"
-              :step="1"
-              :controls="false"
-              placeholder="终止天数"
-              style="width: 220px"
-              :disabled="lock"
-            ></el-input-number>
-          </el-form-item>
-
-          <el-form-item label="患者年龄">
-            <el-input-number
-              v-model="formData1.AAA04_start"
-              :min="1"
-              :step="1"
-              :controls="false"
-              :placeholder="formData1.ageType1 ? '起始年龄' : '起始天数'"
-              style="width: 220px"
-              :disabled="lock"
-            ></el-input-number>
-            <el-select v-model="formData1.ageType1" :disabled="lock" placeholder="请选择" style="width: 80px;">
-              <el-option label="年龄" :value="1"></el-option>
-              <el-option label="天数" :value="0"></el-option>
-            </el-select>
-            <span class="pind10" />
-            ——
-            <span class="pind10" />
-            <el-input-number
-              v-model="formData1.AAA04_end"
-              :min="1"
-              :step="1"
-              :controls="false"
-              :placeholder="formData1.ageType2 ? '终止年龄' : '终止天数'"
-              style="width: 220px"
-              :disabled="lock"
-            ></el-input-number>
-            <el-select v-model="formData1.ageType2" :disabled="lock" placeholder="请选择" style="width: 80px;">
-              <el-option label="年龄" :value="1"></el-option>
-              <el-option label="天数" :value="0"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="住院号码">
-            <el-input v-model="formData1.AAA28" placeholder="请输入" style="width: 220px;"></el-input>
-          </el-form-item>
-        </el-form>
-      </div>
-      <div v-if="choice == 1" class="fBtn" style="position: relative">
-        <!-- 不登陆访问没有导出 -->
-        <el-button v-if="!isWhitelist" type="primary" icon="el-icon-download" style="position: absolute; right: 120px" @click="highDownload('病历-高级搜索')" class="export-btn">导出数据</el-button>
-        <el-button
-          class="btn11"
-          @click="reset"
-          >重置条件</el-button
-        >
-        <el-button type="primary" @click="funQuery(1)">检索</el-button>
-      </div>
-      <div v-else class="fBtn" style="position: relative">
-        <!-- 不登陆访问没有导出 -->
-        <el-button v-if="!isWhitelist" type="primary" icon="el-icon-download" style="position: absolute; right: 220px" @click="normalDownload('病历-普通搜索')" class="export-btn">导出数据</el-button>
-        <el-select
-          v-model="formData0.input1"
-          style="position: absolute; right: 0px"
-          placeholder="检索历史"
-          @change="funSetList()"
-        >
-          <el-option
-            v-for="(item, index) in setList"
-            :key="index"
-            :label="item"
-            :value="item"
-          />
-        </el-select>
-      </div>
-    </div>
-    <div class="tableBox">
-      <div
-        class="flextab"
-        style="margin: 0; margin-bottom: 30px; display: block"
-      >
-        <div class="flextabtitle-box">
-          <div class="h-title">
-            <span class="blue" />
-            <span class="text">检索结果</span>
-            <span v-if="paginationData.total != 0" class="titleName">
-              找到
-              <span class="title-left-span">{{ paginationData.total }}</span>
-              个例条相关结果
-            </span>
-          </div>
-          <div class="title-right" style="margin-top: -30px">
-            <div
-              :class="onClass == '0' ? 'title-right-data' : ''"
-              @click="funOnclass('0')"
-            >
-              列表
-            </div>
-            <div
-              :class="onClass == '1' ? 'title-right-data' : ''"
-              @click="funOnclass('1')"
-            >
-              详情
-            </div>
-          </div>
-        </div>
-      </div>
-      <div v-if="onClass == '0'" class="conter" style="border: none">
-        <el-table
-          ref="multipleTable"
-          :data="tableData"
-          tooltip-effect="dark"
-          style="width: 100%"
-          @selection-change="handleSelectionChange"
-        >
-          <el-table-column
-            type="index"
-            :index="indexAdd"
-            label="序号"
-            width="70px"
-          />
-          <el-table-column prop="AAA28" label="住院号码">
-            <template slot-scope="scope">
-              <span class="blue" @click="funGoto(scope.row.MED_REC_ID)">
-                <template>
-                  <div>
-                    {{ scope.row.AAA28 }}
-                  </div>
-                </template>
-              </span>
-            </template>
-          </el-table-column>
-          <el-table-column prop="AAA04" label="年龄" />
-          <el-table-column prop="AAC11N" label="出院科室" />
-          <el-table-column prop="AAB01" label="入院时间" />
-          <el-table-column prop="AAC01" label="出院时间" />
-        </el-table>
-        <!-- 分页控制 -->
-      </div>
-      <div v-for="(item, index) in tableDataDetails" :key="index">
-        <div v-if="onClass == '1'" class="conter">
-          <div v-for="(i, j) in item.EMR_BL_BL01" :key="j">
-            <div class="conter-title">
-              <span>{{  paginationData.pageSize * (paginationData.currentPage - 1) + (index+1) }}.{{ j+1 }}</span>
-              病历名称:
-              <span v-for="(k, q) in fieldList" :key="q" class="blue">{{
-                i.BLLB == k.id ? k.name : ""
-              }}</span>
-            </div>
-            <div class="conter-case">
-              <div v-html="i.HJNR" />
-            </div>
-          </div>
-          <!-- 结账单 -->
-          <div v-if="item.FeeDetailed.length" style="margin-bottom: 20px;">
-            <span class="conter-title">{{  paginationData.pageSize * (paginationData.currentPage - 1) + (index+1) }}.{{ item.EMR_BL_BL01.length+1 }}</span>
-            <el-table
-              :data="item.FeeDetailed"
-              stripe
-              style="width: 100%">
-              <el-table-column
-                prop="FYMC"
-                label="费用名称">
-                <template slot-scope="scope">
-                  <span v-html="scope.row.FYMC[0]"></span>
-                </template>
-              </el-table-column>
-              <el-table-column
-                prop="JFRQ"
-                label="计费日期">
-              </el-table-column>
-              <el-table-column
-                prop="FYSL"
-                label="费用数量">
-              </el-table-column>
-            </el-table>
-          </div>
-          <!-- 医嘱本 -->
-          <div v-if="item.YZB.length" style="margin-bottom: 20px;">
-            <span class="conter-title" v-if="!item.FeeDetailed.length">{{  paginationData.pageSize * (paginationData.currentPage - 1) + (index+1) }}.{{ item.EMR_BL_BL01.length+1}}</span>
-            <span class="conter-title" v-else>{{  paginationData.pageSize * (paginationData.currentPage - 1) + (index+1) }}.{{ item.EMR_BL_BL01.length+2}}</span>
-            <el-table
-              :data="item.YZB"
-              stripe
-              style="width: 100%">
-              <el-table-column
-                prop="YZMC"
-                label="医嘱名称">
-                <template slot-scope="scope">
-                  <!-- 高级搜索 -->
-                  <span v-if="choice" v-html="scope.row.YZMC"></span>
-                  <!-- 普通搜索 -->
-                  <span v-else v-html="scope.row.YZMC[0]"></span>
-                </template>
-              </el-table-column>
-              <el-table-column
-                prop="BRKS"
-                label="开嘱科室">
-              </el-table-column>
-              <el-table-column
-                prop="KZSJ"
-                label="开嘱时间">
-              </el-table-column>
-              <el-table-column
-                prop="ZJE"
-                label="医嘱期限">
-              </el-table-column>
-            </el-table>
-          </div>
-
-          <div class="conter-num" style="margin-top: 10px;">
-            病案号:
-            <span class="yeleou" @click="funGoto(item.MED_REC_ID)">{{ item.AAA28 }}</span>
-          </div>
-          <div class="conter-time">
-            出院时间:{{ item.AAC01 }}
-          </div>
-        </div>
-      </div>
-      <el-pagination
-        v-if="tableData && tableData.length !== 0"
-        :total="paginationData.total"
-        background
-        class="table-pagination"
-        style="margin: 15px 0px"
-        :page-size="paginationData.pageSize"
-        :current-page.sync="paginationData.currentPage"
-        layout="total, sizes, prev, pager, next, jumper"
-        @size-change="SizeChangeEvent"
-        @current-change="pageHasChanged"
-      />
-    </div>
-  </div>
-</template>
-
-<script>
-import Title from "@/components/Title";
-import { mapGetters } from "vuex";
-import mPagination from "@/components/m-pagination";
-import { bassNormalSearchDownload, bassHighSearchDownload } from '@/api/excel'
-
-export default {
-  props: {
-    isWhitelist: {
-      type: Boolean,
-      default() {
-        return false
-      }
-    }
-  },
-  components: {
-    Title,
-    mPagination,
-  },
-  computed: {
-    ...mapGetters(["name"]),
-  },
-  data() {
-    return {
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now(); 
-        }
-      },
-      checked: false,
-      choice: 0,
-      formData0: {
-        input: "",
-        input1: "",
-      },
-      formData1: {
-        ageday: "",
-        age_start_type: 2,
-        age_end_type: 2,
-        ageyear: "",
-        endTime: undefined,
-        startTime: undefined,
-        seniorList: [
-          {
-            select_type: 0,
-            key: "",
-            value: "",
-            type: "0",
-            lock: false
-          },
-        ],
-        seniorList1: [],
-        hospitalizationon: "",
-        hospitalizationin: "",
-        AAC04_start: undefined,
-        AAC04_end: undefined,
-        AAA04_start: undefined,
-        AAA04_end: undefined,
-        ageType1: 1,
-        ageType2: 1,
-        AAA28: ''
-      },
-      tableData: [],
-      tableDataDetails: [],
-      paginationData: {
-        total: 0,
-        currentPage: 1,
-        pageSize: 10,
-      },
-      fieldList: [],
-      keyList: [],
-      Dayoptions: [],
-      multipleSelection: [],
-      onClass: 0,
-      setListTwe: [],
-      setList: [],
-      departmentList: [],
-      lock: false,
-      searchNum: 0
-    };
-  },
-  mounted() {
-    if (this.storageGet("inputOn")) {
-      this.formData0.input = JSON.parse(this.storageGet("inputOn"));
-      this.storageRemove("inputOn");
-    }
-    if (this.storageGet("formData1")) {
-      this.formData1 = JSON.parse(this.storageGet("formData1"));
-      this.storageRemove("formData1");
-    }
-    if (this.storageGet("choice")) {
-      this.choice = Number(this.storageGet("choice"));
-      this.storageRemove("choice");
-    }
-    if (this.storageGet("setList")) {
-      this.setList = JSON.parse(this.storageGet("setList"));
-    }
-    this.selectInfo();
-    this.funQuery(0);
-  },
-  created() {},
-  methods: {
-    normalDownload(name) {
-      const params = {
-        keyword: this.formData0.input,
-        AAC01_start: this.formData1.startTime,
-        AAC01_end: this.formData1.endTime
-      }
-      bassNormalSearchDownload(params).then(res => {
-        const content = res.data // 后台返回二进制数据
-        const blob = new Blob([content])
-        const fileName = `${name}.csv`
-        if ('download' in document.createElement('a')) { // 非IE下载
-          const elink = document.createElement('a')
-          elink.download = fileName
-          elink.style.display = 'none'
-          elink.href = URL.createObjectURL(blob)
-          document.body.appendChild(elink)
-          elink.click()
-          URL.revokeObjectURL(elink.href) // 释放URL 对象
-          document.body.removeChild(elink)
-        } else { // IE10+下载
-          navigator.msSaveBlob(blob, fileName)
-        }
-      })
-    },
-    highDownload(name) {
-      const pramse = {}
-      pramse.field = this.formData1.seniorList;
-      pramse.AAC01_start = this.formData1.startTime;
-      pramse.AAC01_end = this.formData1.endTime;
-      pramse.AAA28 = this.formData1.AAA28
-      pramse.AAC04_start = this.formData1.AAC04_start;
-      pramse.AAC04_end = this.formData1.AAC04_end;
-      const { ageType1, ageType2 } = this.formData1
-      // ageType1 = 1 年龄
-      // ageType1 = 0 天数
-      if (ageType1) {
-        pramse.AAA04_start = this.formData1.AAA04_start;
-      } else {
-        pramse.AAA40_start =  this.formData1.AAA04_start
-      }
-      if (ageType2) {
-        pramse.AAA04_end = this.formData1.AAA04_end;
-      } else {
-        pramse.AAA40_end =  this.formData1.AAA04_end
-      }
-      bassHighSearchDownload(pramse).then(res => {
-        const content = res.data // 后台返回二进制数据
-        const blob = new Blob([content])
-        const fileName = `${name}.csv`
-        if ('download' in document.createElement('a')) { // 非IE下载
-          const elink = document.createElement('a')
-          elink.download = fileName
-          elink.style.display = 'none'
-          elink.href = URL.createObjectURL(blob)
-          document.body.appendChild(elink)
-          elink.click()
-          URL.revokeObjectURL(elink.href) // 释放URL 对象
-          document.body.removeChild(elink)
-        } else { // IE10+下载
-          navigator.msSaveBlob(blob, fileName)
-        }
-      })
-    },
-    onLockResult() {
-      this.lock = true
-      this.formData1.seniorList.map(item => {
-        if (!!item.value) {
-          item.lock = true
-        } else {
-          item.lock = false
-        }
-      })
-      this.funAdd()
-    },
-    indexAdd(index) {
-      return (
-        index +
-        1 +
-        (this.paginationData.currentPage - 1) * this.paginationData.pageSize
-      );
-    },
-    funSelect(index) {
-      // 建坤:切换时,取消input 重置
-      // this.formData1.seniorList[index].value = "";
-    },
-    selectInfo() {
-      this.$axios.post("/selectInfo").then((res) => {
-        //支付方式 pay
-        this.departmentList = res.data.department;
-        //出院科室 department
-        this.levelList = res.data.level;
-        //问题属性 level
-        this.coderList = res.data.coder;
-        //编码元  coder
-        this.statusList = res.data.status;
-        this.fieldList = res.data.field;
-      });
-    },
-    funGoto(val) {
-      this.storageSet("inputOn", JSON.stringify(this.formData0.input));
-      this.storageSet("formData1", JSON.stringify(this.formData1));
-      this.storageSet("choice", JSON.stringify(this.choice));
-      this.storageSet("getData", val);
-      const { path } = this.$route
-      let toPath
-      if (path === '/hospital-search') {
-        toPath = '/hospital-caseViews'
-      } else if (path === '/whitelist-search') {
-        toPath = '/whitelist-caseViews'
-      } else {
-        toPath = '/caseViews'
-      }
-      // status = 1 代表不能复制文本
-      this.$router.push({ path: toPath, query: { status: 1 }})
-    },
-    funCeal() {
-      this.$refs.multipleTable.clearSelection();
-    },
-    funSetformData2() {
-      this.formData1.seniorList = this.formData1.seniorList1;
-    },
-    funSetList() {
-      this.formData0.input = String(this.formData0.input1);
-    },
-    funOnclass(val) {
-      this.onClass = val;
-    },
-    handleSelectionChange(val) {
-      this.multipleSelection = val;
-    },
-    SizeChangeEvent(val) {
-      this.paginationData.pageSize = val;
-      const num = this.lock ? 1 : 0
-      this.funQuery(num);
-    },
-    pageHasChanged() {
-      const num = this.lock ? 1 : 0
-      this.funQuery(num);
-    },
-    funBlur() {
-      if (this.formData1.ageday > 356) {
-        this.formData1.ageday = 356;
-      }
-      if (this.formData1.ageyear > 150) {
-        this.formData1.ageyear = 150;
-      }
-    },
-    funBluron() {
-      if (
-        this.formData1.hospitalizationon &&
-        this.formData1.hospitalizationin
-      ) {
-        if (
-          this.formData1.hospitalizationon > this.formData1.hospitalizationin
-        ) {
-          this.$message("起止住院天数输入不正确");
-        }
-      }
-    },
-    funDel(i) {
-      const index = i;
-      if (index == 0) {
-        return;
-      }
-      const list = this.formData1.seniorList;
-      list.splice(index, 1);
-      this.formData1.seniorList = list;
-    },
-    funAdd() {
-      this.formData1.seniorList.push({
-        key: "",
-        select_type: 0,
-        value: "",
-        type: "0",
-        lock: false
-      });
-    },
-    funQuery(num) {
-      const pramse = {
-        limit: this.paginationData.pageSize,
-        page: this.paginationData.currentPage, // 是当前页数 默认是0 。普通检索的参数是
-      };
-      if (this.$route.query.code) {
-        pramse.user_code = this.$route.query.code
-      }
-      let queryUrl = "normalSearch";
-      if (this.choice == "0") {
-        queryUrl = "normalSearch";
-        // 普通检索
-        pramse.keyword = this.formData0.input; // 关键字
-        pramse.AAC01_start = this.formData1.startTime;
-        pramse.AAC01_end = this.formData1.endTime;
-        
-        this.$axios3.post(queryUrl, pramse).then((res) => {
-          this.tableData = res.data.data.list || [];
-          this.tableDataDetails = res.data.data.detail || [];
-          this.paginationData.total = res.data.data.total;
-          if (this.choice == "0" && this.formData0.input) {
-            this.setList.push(String(this.formData0.input));
-            const listSetto = Array.from(new Set(this.setList));
-            this.setList = listSetto;
-            this.storageSet("setList", JSON.stringify(this.setList));
-          }
-        });
-      } else {
-        queryUrl = "search";
-        // 高级检索
-        pramse.field = this.formData1.seniorList;
-        pramse.AAC01_start = this.formData1.startTime;
-        pramse.AAC01_end = this.formData1.endTime;
-        pramse.AAA28 = this.formData1.AAA28
-        pramse.AAC04_start = this.formData1.AAC04_start;
-        pramse.AAC04_end = this.formData1.AAC04_end;
-        this.searchNum = num
-        pramse.is_tm = '1';
-        const { ageType1, ageType2 } = this.formData1
-        // ageType1 = 1 年龄
-        // ageType1 = 0 天数
-        if (ageType1) {
-          pramse.AAA04_start = this.formData1.AAA04_start;
-        } else {
-          pramse.AAA40_start =  this.formData1.AAA04_start
-        }
-        if (ageType2) {
-          pramse.AAA04_end = this.formData1.AAA04_end;
-        } else {
-          pramse.AAA40_end =  this.formData1.AAA04_end
-        }
-        
-        this.$axios3.post(queryUrl, pramse).then((res) => {
-          this.tableData = res.data.data.list || [];
-          this.tableDataDetails = res.data.data.detail || [];
-          this.paginationData.total = res.data.data.total;
-          if (this.choice == "0" && this.formData0.input) {
-            this.setList.push(String(this.formData0.input));
-            const listSetto = Array.from(new Set(this.setList));
-            this.setList = listSetto;
-            this.storageSet("setList", JSON.stringify(this.setList));
-          }
-        });
-      }
-    },
-    funBluron() {
-      if (
-        this.formData1.hospitalizationon &&
-        this.formData1.hospitalizationin
-      ) {
-        if (
-          this.formData1.hospitalizationon > this.formData1.hospitalizationin
-        ) {
-          this.$message("起止住院天数输入不正确");
-        }
-      }
-    },
-    reset() {
-      // 重置数据
-      if (this.choice == 0) {
-        Object.assign(this.$data.formData0, this.$options.data().formData0);
-      } else {
-        this.lock = false
-        this.searchNum = 0
-        Object.assign(this.$data.formData1, this.$options.data().formData1);
-      }
-    },
-  },
-};
-</script>
-  <style scoped>
-::v-deep.el-pagination.is-background .btn-next,
-::v-deep.el-pagination.is-background .btn-prev,
-::v-deep.el-pagination.is-background .el-pager li {
-  margin: 0 5px;
-  background-color: #fff;
-  color: #606266;
-  min-width: 30px;
-  border-radius: 2px;
-  border: 1px solid #dfe3f3;
-  line-height: 27px;
-}
-::v-deep.el-pagination.is-background .el-pager li:not(.disabled).active {
-  background: #7e8bab;
-}
-::v-deep.el-table .el-table__row td {
-  color: #7e8bab;
-  border-bottom: 1px solid #f4f4f4;
-}
-::v-deep.el-table .el-table__header tr th:first-child {
-  border-radius: 10px 0px 0px 10px;
-}
-::v-deep.el-table .el-table__header tr th:last-child {
-  border-radius: 0px 10px 10px 0px;
-}
-::v-deep.el-table .el-table__header tr th {
-  background: #f1f6ff;
-  color: #13171e;
-  border-bottom: 0px;
-}
-</style>
-  <style lang="scss" scoped>
-.tableBox {
-  background: #fff;
-  padding: 19px;
-  border-radius: 5px;
-  font-size: 12px;
-}
-.block {
-  background: #fff;
-  border-radius: 5px;
-  margin-bottom: 16px;
-  padding: 20px;
-  margin-bottom: 20px;
-  .fBtn {
-    margin-bottom: 20px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    .btn11 {
-      position: absolute;
-      right: 0;
-    }
-  }
-  .bnh {
-    margin: 0 auto;
-    margin-bottom: 20px;
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    justify-content: center;
-  }
-  .barBtn {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-  }
-  .selects {
-    width: 100%;
-  }
-  .rowsa {
-    margin-bottom: 20px;
-  }
-}
-.tableBox {
-  background: #fff;
-  padding: 19px;
-  border-radius: 5px;
-}
-.dashboard {
-  &-container {
-    margin: 30px;
-  }
-  &-text {
-    font-size: 30px;
-    line-height: 46px;
-  }
-}
-.pind {
-  padding: 0 20px;
-}
-.pind10 {
-  padding: 0 5px;
-}
-.width100 {
-  width: 100px;
-}
-.width150 {
-  width: 200px;
-}
-.width300 {
-  width: 295px;
-}
-.width500 {
-  width: 280px;
-}
-.width90 {
-  width: 90px;
-}
-.blue {
-  color: #185da6;
-}
-.h-title {
-  display: flex;
-  .blue {
-    display: block;
-    width: 6px;
-    height: 17px;
-    background: linear-gradient(180deg, #185da6 0%, #3195ff 100%);
-    border-radius: 3px;
-  }
-  .text {
-    font-size: 16px;
-    font-weight: 600;
-    color: #13171e;
-    margin: 0 0 0 14px;
-  }
-}
-.flextab-item {
-  display: flex;
-  align-items: center;
-  margin-left: 20px;
-}
-.flextab-item > div {
-  font-size: 15px;
-  margin-right: 15px;
-}
-.flextab-item > div span.s-1 {
-  color: #185da6;
-}
-.flextab-item > div span.s-2 {
-  font-weight: bold;
-}
-.inputOn {
-  width: 200px;
-  margin: 10px 10px;
-}
-.search-title {
-  padding: 20px 10px;
-  // width: 900px;
-  display: flex;
-  justify-content: space-between;
-}
-.search-title-span {
-  font-size: 20px;
-  font-weight: 600;
-  color: #13171e;
-}
-.conter {
-  position: relative;
-  margin: 20px 0;
-  border: 1px solid skyblue;
-  padding: 20px;
-  border-radius: 5px;
-}
-.conter-title {
-  font-size: 16px;
-  font-weight: 600;
-  color: #13171e;
-}
-.blue {
-  color: #185da6;
-  font-size: 16px;
-  font-weight: 600;
-}
-.conter-case {
-  margin: 20px 0;
-  font-size: 15px;
-  text-indent: 30px;
-  line-height: 30px;
-}
-.conter-case1 {
-  margin: 0 auto;
-  margin: 50px 0;
-}
-.yeleou {
-  font-size: 16px;
-  color: rgb(233, 157, 66);
-  cursor: pointer;
-}
-.conter-num {
-  font-size: 15px;
-  font-weight: 600;
-}
-.conter-time {
-  font-size: 15px;
-  padding-top: 10px;
-  font-weight: 600;
-}
-.onQuery {
-  padding: 0 20px;
-  color: rgb(233, 157, 66);
-}
-.cont-title {
-  width: 100%;
-  padding: 20px;
-  display: flex;
-  justify-content: space-between;
-}
-.title-left {
-  display: flex;
-}
-.title-right {
-  width: 300px;
-  display: flex;
-  float: right;
-  & > div {
-    width: 150px;
-    border: 1px solid #d5e4ff;
-    text-align: center;
-    padding: 10px 0;
-  }
-}
-.title-right-data {
-  background: #3195ff;
-  color: #fff;
-}
-.title-left-p {
-  line-height: 38px;
-  padding: 0 20px;
-  font-size: 16px;
-  color: #13171e;
-}
-.title-left-span {
-  color: #3195ff;
-  font-size: 18px;
-  padding: 0 5px;
-  // font-weight: 600;
-}
-.title-left-btn {
-  margin: 0 0 0 40px;
-}
-.title-left-checked {
-  margin-top: 10px;
-}
-.conter-checked {
-  position: absolute;
-  top: 21px;
-  left: 30px;
-}
-.bule {
-  background: #3195ff !important;
-  color: #fff !important;
-}
-.titleName {
-  margin-left: 30px;
-  vertical-align: top;
-}
-.marginLeft {
-  margin-left: -110px;
-}
-
-::v-deep .el-input-number .el-input__inner {
-  text-align: left;
-}
-</style>
-

+ 0 - 982
src/views/searchSystem/components/CaseHomeSearch.vue

@@ -1,982 +0,0 @@
-<template>
-  <div class="dashboard-container" :class="{'nocopy': $route.meta.nocopy}">
-    <div class="block">
-      <div class="barBtn">
-        <el-radio-group v-model="choice" class="bnts" size="medium">
-          <el-radio-button :label="0">普通检索</el-radio-button>
-          <el-radio-button :label="1">高级检索</el-radio-button>
-        </el-radio-group>
-      </div>
-      <div class="bnh"></div>
-      <div class="inputs" v-if="choice == 0">
-        <el-row :gutter="20" class="rowsa">
-          <el-col :span="4">
-            <div class="grid-content bg-purple">
-              <el-input class="inpus" v-model="formData0.recordNum" placeholder="病案号"></el-input>
-            </div>
-          </el-col>
-          <el-col :span="5">
-            <div class="grid-content bg-purple">
-              <el-select v-model="formData0.Department" filterable class="selects" placeholder="出院科室">
-                <el-option v-for="(item, index) in departmentList" :label="item.name" :value="item.id" :key="index"></el-option>
-              </el-select>
-            </div>
-          </el-col>
-          <el-col :span="5">
-            <div class="grid-content bg-purple">
-              <el-select v-model="formData0.problem" class="selects" placeholder="问题属性">
-                <el-option v-for="(item, index) in levelList" :label="item.name" :value="item.id" :key="index"></el-option>
-              </el-select>
-            </div>
-          </el-col>
-          <el-col :span="5">
-            <div class="grid-content bg-purple">
-              <el-select v-model="formData0.payment" filterable class="selects" placeholder="医疗付款方式">
-                <el-option v-for="(item, index) in payList" :label="item.name" :value="item.id" :key="index"></el-option>
-              </el-select>
-            </div>
-          </el-col>
-          <el-col :span="5">
-            <div class="grid-content bg-purple">
-              <el-select v-model="formData0.medicalRecord" class="selects" placeholder="全部病案">
-                <el-option label="已质控" value="1"></el-option>
-                <el-option label="未质控" value="0"></el-option>
-              </el-select>
-            </div>
-          </el-col>
-        </el-row>
-        <el-row :gutter="20" class="rowsa">
-          <el-col :span="4">
-            <div class="grid-content bg-purple">
-              <el-select v-model="formData0.state" class="selects" placeholder="编辑状态">
-                <!-- statusList -->
-                <el-option v-for="(item, index) in statusList" :label="item.name" :value="item.id" :key="index"></el-option>
-              </el-select>
-            </div>
-          </el-col>
-          <el-col :span="5">
-            <div class="grid-content bg-purple">
-              <el-date-picker
-                class="selects"
-                v-model="formData0.startTime"
-                type="date"
-                format="yyyy 年 MM 月 dd 日"
-                value-format="yyyyMMdd"
-                placeholder="开始日期"
-              ></el-date-picker>
-            </div>
-          </el-col>
-          <el-col :span="5">
-            <div class="grid-content bg-purple">
-              <el-date-picker class="selects" v-model="formData0.endTime" type="date" format="yyyy 年 MM 月 dd 日" value-format="yyyyMMdd" placeholder="结束日期"></el-date-picker>
-            </div>
-          </el-col>
-          <el-col :span="5">
-            <div class="grid-content bg-purple">
-              <el-select v-model="formData0.Coder" filterable class="selects" placeholder="编码员">
-                <el-option v-for="(item, index) in coderList" :label="item.name" :value="item.id" :key="index"></el-option>
-              </el-select>
-            </div>
-          </el-col>
-          <el-col :span="5">
-            <div class="grid-content bg-purple">
-            </div>
-          </el-col>
-        </el-row>
-      </div>
-      <div class="barBtn" v-else>
-        <el-form ref="form" :model="formData1" label-width="100px">
-          <el-form-item v-for="(item, index) in formData1.seniorList" :key="index">
-            <!-- 下拉框开始 -->
-            <el-select
-              v-if="index != 0"
-              v-model="item.select_type"
-              :class="index != 0 ? 'marginLeft' : ''"
-              class="width100"
-              filterable
-              placeholder=""
-              :disabled="item.lock"
-            >
-              <!-- fieldList -->
-              <el-option label="且" :value="0" />
-              <el-option label="或者" :value="1" />
-              <el-option label="不包含" :value="2" />
-            </el-select>
-            <span v-if="index != 0" class="pind10" />
-            <el-select class="width150" filterable v-model="item.key" @change="getOneCleck(item, index)" placeholder="请选择">
-              <!-- fieldList -->
-              <el-option v-for="(item, index) in fieldList" :label="item.name" :value="item.id" :key="index"></el-option>
-            </el-select>
-            <!-- 下拉框结束 -->
-
-            <span class="pind10"></span>
-            <!-- 中间选择输入框开始 -->
-            <span v-if="keyList.includes(item.key)">
-              <el-select class="width150" filterable v-model="item.value" placeholder="请选择">
-                <el-option v-for="(itemo, indexo) in item.selectList" :key="indexo" :label="itemo.label" :value="itemo.id"></el-option>
-              </el-select>
-            </span>
-            <span v-else>
-              <el-input class="width150" v-model="item.value" placeholder="请输入"></el-input>
-            </span>
-            <!-- 中间选择输入框结束 -->
-
-            <span class="pind10"></span>
-            <!-- 条件下拉开始 -->
-            <el-select class="width90" v-model="item.type" placeholder="">
-              <el-option label="精确" value="1"></el-option>
-              <el-option label="模糊" value="0"></el-option>
-            </el-select>
-            <!-- 条件下拉结束 -->
-
-            <span class="pind10"></span>
-            <!-- 增减重置选项按钮开始 -->
-            <span>
-              <el-button :disabled="formData1.seniorList.length == 1" type="primary" icon="el-icon-minus" @click="funDel(index)"></el-button>
-              <el-button type="primary" icon="el-icon-plus" @click="funAdd" v-if="index == 0"></el-button>
-            </span>
-            <!-- 增减重置选项按钮结束 -->
-          </el-form-item>
-          <el-form-item label="患者年龄">
-            <div class="zkSelect">
-              <el-input class="width300" v-model="formData1.ageday" :min="28" :max="365" type="number" placeholder="<28天" @blur="funBlur">
-                <template slot="append">
-                  <el-select v-model="formData1.age_start_type" placeholder="请选择">
-                    <el-option v-for="item in Dayoptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
-                  </el-select>
-                </template>
-              </el-input>
-            </div>
-            <span class="pind" style="color: #ccc">——</span>
-            <div class="zkSelect">
-              <el-input class="width300" v-model="formData1.ageyear" :min="1" :max="150" type="number" placeholder="1-150岁" @blur="funBlur">
-                <template slot="append">
-                  <el-select v-model="formData1.age_end_type" placeholder="请选择">
-                    <el-option v-for="item in Dayoptions" :key="item.value" :label="item.label" :value="item.value"></el-option>
-                  </el-select>
-                </template>
-              </el-input>
-            </div>
-          </el-form-item>
-          <el-form-item label="住院天数">
-            <div class="zkSelect">
-              <el-input class="width300" v-model="formData1.hospitalizationon" :min="28" :max="365" type="number" @blur="funBluron" placeholder="请输入">
-                <template slot="append">天</template>
-              </el-input>
-            </div>
-            <span class="pind" style="color: #ccc">——</span>
-            <div class="zkSelect">
-              <el-input class="width300" v-model="formData1.hospitalizationin" :min="1" :max="150" type="number" @blur="funBluron" placeholder="请输入">
-                <template slot="append">天</template>
-              </el-input>
-            </div>
-          </el-form-item>
-          <el-form-item label="时间范围">
-            <el-date-picker v-model="formData1.startTime" type="date" format="yyyy 年 MM 月 dd 日" value-format="yyyyMMdd" placeholder="开始日期"></el-date-picker>
-            <span class="pind10"></span>
-            <el-date-picker v-model="formData1.endTime" type="date" format="yyyy 年 MM 月 dd 日" value-format="yyyyMMdd" placeholder="结束日期"></el-date-picker>
-          </el-form-item>
-        </el-form>
-      </div>
-      <div class="fBtn" style="position: relative">
-        <el-button style="position: absolute; right: 30px" @click="reset">重置条件</el-button>
-        <el-button @click="funQuery">检索</el-button>
-      </div>
-    </div>
-    <div class="tableBox">
-      <div class="flextab" style="margin: 0; margin-bottom: 15px">
-        <div class="flextabtitle-box">
-          <div class="h-title">
-            <span class="blue"></span>
-            <span class="text">病案列表</span>
-          </div>
-          <div class="flextab-item">
-            <div>
-              平均住院日:
-              <span class="s-1">{{ ARG_STAY }}</span>
-              <span class="s-2">天</span>
-            </div>
-            <div>
-              平均费用:
-              <span class="s-1">{{ ARG_F_D }}</span>
-              <span class="s-2">元;</span>
-            </div>
-            <div>
-              例数:
-              <span class="s-1">{{ paginationData.total ? paginationData.total : 0 }}</span>
-              <span class="s-2">例</span>
-            </div>
-            <div>
-              死亡例数:
-              <span class="s-1">{{ AEM01C ? AEM01C : 0 }}</span>
-              <span class="s-2">例</span>
-            </div>
-            <div>
-              总费用:
-              <span class="s-1">{{ SUM_ARG_F_D ? SUM_ARG_F_D : 0 }}</span>
-              <span class="s-2">元</span>
-            </div>
-            <div>
-              总住院日:
-              <span class="s-1">{{ SUM_ARG_STAY ? SUM_ARG_STAY : 0 }}</span>
-              <span class="s-2">天</span>
-            </div>
-          </div>
-        </div>
-        <!-- 不登录没有导出 -->
-        <el-button v-if="!isWhitelist" type="primary" icon="el-icon-download" @click="funExport('质控列表', '/qualityList')" class="export-btn">导出数据</el-button>
-      </div>
-
-      <el-table :data="tableData" border style="width: 100%">
-        <el-table-column type="index" label="序号" width="70px"></el-table-column>
-        <el-table-column prop="AAA28" label="病案号">
-          <template slot-scope="scope">
-            <span class="blue" @click="funGoto(scope.row.MED_REC_ID)">{{ scope.row.AAA28 }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column prop="AAA01" label="患者姓名"></el-table-column>
-        <el-table-column prop="AAC01" label="出院时间"></el-table-column>
-        <el-table-column prop="AAA02C" label="性别"></el-table-column>
-        <el-table-column prop="AAA04" label="年龄"></el-table-column>
-
-        <template v-for="(item, ind) in formData1.seniorList">
-          <el-table-column :key="ind" v-if="tabKeyList.includes(item.key)" :label="funkdef(item.key)" :prop="item.key"></el-table-column>
-        </template>
-        <el-table-column prop="ABC01N" label="主诊断名称"></el-table-column>
-        <el-table-column prop="ABC01C" label="主诊断编码"></el-table-column>
-        <el-table-column prop="ICD9_NAME" label="主手术名称"></el-table-column>
-        <el-table-column prop="ICD9_ID1" label="主手术编码"></el-table-column>
-        <el-table-column v-if="columnShow" :prop="clumText.id" :label="clumText.name"></el-table-column>
-        <el-table-column prop="AAA29" label="住院次数"></el-table-column>
-        <el-table-column prop="AAC11N" label="出院科室"></el-table-column>
-        <el-table-column prop="ADA01" label="住院总费用"></el-table-column>
-        <el-table-column prop="F_D" label="药品总费用"></el-table-column>
-        <el-table-column prop="J" label="材料总费用"></el-table-column>
-        <el-table-column prop="AAC04" label="实际住院(天)"></el-table-column>
-        <el-table-column prop="AEM01C" label="离院方式"></el-table-column>
-        <el-table-column prop="AAB06C" label="入院途径"></el-table-column>
-        <el-table-column prop="SSPB" label="手术判别"></el-table-column>
-        <el-table-column prop="AAB11N" label="入院科室"></el-table-column>
-        <el-table-column prop="AAB01" label="入院时间"></el-table-column>
-      </el-table>
-      <!-- 分页控制 -->
-      <el-pagination
-        v-if="tableData && tableData.length !== 0"
-        @size-change="SizeChangeEvent"
-        @current-change="pageHasChanged"
-        :total="paginationData.total"
-        background
-        class="table-pagination"
-        style="margin: 15px 0px"
-        :page-size="paginationData.pageSize"
-        :current-page.sync="paginationData.currentPage"
-        layout="total, sizes, prev, pager, next, jumper"
-      ></el-pagination>
-    </div>
-  </div>
-</template>
-
-<script>
-import { downloadFile } from '@/httpFile';
-import Title from '@/components/Title';
-import { mapGetters } from 'vuex';
-import mPagination from '@/components/m-pagination';
-
-export default {
-  name: 'Dashboard',
-  props: {
-    isWhitelist: {
-      type: Boolean,
-      default() {
-        return false
-      }
-    }
-  },
-  components: {
-    Title,
-    mPagination,
-  },
-  computed: {
-    ...mapGetters(['name']),
-  },
-  data() {
-    return {
-      choice: 0,
-      clumText: {},
-      columnShow: false,
-      labelList: ['ICD10_NAME'],
-      formData0: {
-        recordNum: '', //病案号
-        Department: '', //出院科室
-        problem: 'all', //问题属性
-        payment: '', //医疗付款方式
-        state: '', //编辑状态
-        // rangeDate: [], //时间
-        endTime: '',
-        startTime: '',
-        Coder: '', //住院医师
-        medicalRecord: '', //全部病案
-      },
-      Dayoptions: [
-        {
-          value: 1,
-          label: '天',
-        },
-        {
-          value: 2,
-          label: '岁',
-        },
-      ],
-      formData1: {
-        ageday: '',
-        age_start_type: 2,
-        age_end_type: 2,
-        ageyear: '',
-        endTime: '',
-        startTime: '',
-        seniorList: [
-          {
-            key: '',
-            value: '',
-            type: '0',
-            selectList: [],
-            select_type: 0,
-          },
-          {
-            key: '',
-            value: '',
-            type: '0',
-            selectList: [],
-            select_type: 0,
-          },
-        ],
-        hospitalizationon: '',
-        hospitalizationin: '',
-      },
-      inputOn: '', //全站搜索病案号
-      value: '',
-      value1: '',
-      selectList: [],
-      labelText: '',
-      keyList: ['OPE_LEVEL', 'SSPB', 'ABC03C', 'RYQK', 'AAA02C', 'RJSS', 'AEM01C', 'AAC11N', 'LNSSQ', 'LNSSH', 'AEL01'],
-      tabKeyList: [
-        'ICD10_ID1_first',
-        'ICD10_NAME_first',
-        'ICD10_ID1',
-        'ICD10_NAME',
-        'ICD9_ID1',
-        'ICD9_NAME',
-        'ABC03C',
-        'RYQK',
-        'OPE_LEVEL',
-        'ABA01N',
-        'ABA01C',
-        'AEL01',
-        'RJSS',
-        'LNSSQ',
-        'LNSSH',
-      ], // 表头key动态展示
-      tableData: [],
-      payList: [], //支付方式
-      departmentList: [], //出院科室
-      levelList: [], //问题属性
-      coderList: [], //编码元
-      statusList: [], //编辑状态
-      fieldList: [], //主要诊断名字
-      department: [], //科室
-      // 分页数据
-      paginationData: {
-        total: 10,
-        currentPage: 1,
-        pageSize: 10,
-      },
-      ARG_F_D: '',
-      ARG_STAY: '',
-      AEM01C: '',
-      SUM_ARG_STAY: '',
-      SUM_ARG_F_D: ''
-    };
-  },
-  mounted() {},
-  created() {
-    this.funQuery();
-    this.selectInfo();
-  },
-  methods: {
-    funkdef(key) {
-      for (let item in this.fieldList) {
-        if (this.fieldList[item].id == key) {
-          return this.fieldList[item].name;
-        }
-      }
-    },
-    /**
-     * 根据下拉框选择出现对应数据
-     * @param {val} 选中当前
-     */
-    getOneCleck(val, index) {
-      this.$set(this.formData1.seniorList[index], 'value', '');
-      var that = this;
-      this.labelText = val.key;
-      var text = this.fieldList.filter(item => val.key == item.id);
-      that.$nextTick(function () {
-        that.clumText = {
-          name: text[0].name,
-          id: text[0].id,
-        };
-      });
-      if (val.key == 'OPE_LEVEL') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: 0,
-          },
-          {
-            label: '一级手术',
-            id: 1,
-          },
-          {
-            label: '二级手术',
-            id: 2,
-          },
-          {
-            label: '三级手术',
-            id: 3,
-          },
-          {
-            label: '四级手术',
-            id: 4,
-          },
-        ];
-      } else if (val.key == 'SSPB') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: 5,
-          },
-
-          {
-            label: '介入治疗',
-            id: 4,
-          },
-          {
-            label: '手术',
-            id: 1,
-          },
-          {
-            label: '诊断操作',
-            id: 2,
-          },
-          {
-            label: '治疗操作',
-            id: 3,
-          },
-          {
-            label: '空',
-            id: 0,
-          },
-        ];
-      } else if (val.key == 'AAA02C') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: 0,
-          },
-          {
-            label: '男',
-            id: 1,
-          },
-          {
-            label: '女',
-            id: 2,
-          },
-          {
-            label: '未知的性别',
-            id: 3,
-          },
-          {
-            label: '未说明的性别',
-            id: 4,
-          },
-        ];
-      } else if (val.key == 'RJSS') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: 0,
-          },
-          {
-            label: '是',
-            id: 1,
-          },
-          {
-            label: '否',
-            id: 2,
-          },
-        ];
-      } else if (val.key == 'ABC03C') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: 0,
-          },
-          {
-            label: '有',
-            id: 1,
-          },
-          {
-            label: '临床未确定',
-            id: 2,
-          },
-          {
-            label: '情况不明',
-            id: 3,
-          },
-          {
-            label: '无',
-            id: 4,
-          },
-        ];
-      } else if (val.key == 'RYQK') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: 0,
-          },
-          {
-            label: '有',
-            id: 1,
-          },
-          {
-            label: '临床未确定',
-            id: 2,
-          },
-          {
-            label: '情况不明',
-            id: 3,
-          },
-          {
-            label: '无',
-            id: 4,
-          },
-        ];
-      } else if (val.key == 'AEM01C') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: 0,
-          },
-          {
-            label: '医嘱离院',
-            id: 1,
-          },
-          {
-            label: '医嘱转院',
-            id: 2,
-          },
-          {
-            label: '医嘱转社区卫生服务机构/乡镇卫生院',
-            id: 3,
-          },
-          {
-            label: '非医嘱离院',
-            id: 4,
-          },
-          {
-            label: '死亡',
-            id: 5,
-          },
-          {
-            label: '其他',
-            id: 6,
-          },
-        ];
-      } else if (val.key == 'AAC11N') {
-        for (let item in this.departmentList) {
-          this.departmentList[item];
-          val.selectList.push({
-            label: this.departmentList[item].name,
-            id: this.departmentList[item].id,
-          });
-        }
-      } else if (val.key == 'LNSSQ' || val.key == 'LNSSH') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: '0',
-          },
-          {
-            label: '有',
-            id: '1',
-          },
-          {
-            label: '无',
-            id: '2',
-          },
-        ];
-      } else if (val.key == 'AEL01') {
-        val.selectList = [
-          {
-            label: '全部',
-            id: '0',
-          },
-          {
-            label: '有',
-            id: '1',
-          },
-          {
-            label: '无',
-            id: '2',
-          },
-        ];
-      }
-      this.$nextTick();
-    },
-    funRead() {
-      //重置
-      Object.assign(this.$data.formData1, this.$options.data().formData1);
-    },
-    funExport(fileName, httpUrl) {
-      //查询
-      var pramse = {};
-      let min = this.formData1.hospitalizationon;
-      let max = this.formData1.hospitalizationin;
-      if (this.choice == 0) {
-        // hospitalizationon: '',
-        // hospitalizationin: '',
-        pramse = {
-          level: this.formData0.problem || null, //问题属性
-          AAA28: this.formData0.recordNum || null, //病案号
-          AAC11C: this.formData0.Department || null, //出院科室
-          AAA26C: this.formData0.payment || null, //付款方式
-          status: this.formData0.state || null, //编辑状态
-          AAC01_start_date: this.formData0.startTime || '',
-          AAC01_end_date: this.formData0.endTime || '',
-          coder_id: this.formData0.Coder || null, //编码员ID
-          ORG_STATE: this.formData0.medicalRecord || null, //全部病案
-          page: this.paginationData.currentPage, //页码
-          limit: this.paginationData.pageSize, //条数
-          is_export: 1,
-        };
-      } else {
-        pramse = {
-          AAC04: `${min ? min : 0}-${max ? max : 0}`,
-          AAC0401: `${min ? min : 0}`,
-          AAC0402: `${max ? max : 0}`,
-          AAA04: this.formData1.ageyear || null, //年龄
-          AAA40: this.formData1.ageday || null, //不足一周岁年龄
-          age_start_type: this.formData1.age_start_type || null,
-          age_end_type: this.formData1.age_end_type || null,
-          AAC01_start_date: this.formData1.startTime || '',
-          AAC01_end_date: this.formData1.endTime || '',
-          field: this.formData1.seniorList || null, //字段条件
-          page: this.paginationData.currentPage, //页码
-          limit: this.paginationData.pageSize, //条数
-          is_export: 1,
-        };
-      }
-      console.error('pramse', pramse);
-      this.funExeclPost(fileName, pramse, httpUrl, 'xlsx');
-    },
-    funExeclPost(fileName, pramse, httpUrl, format) {
-      //导出
-      let httpUrls = '/api' + httpUrl;
-      downloadFile(httpUrls, pramse, format, fileName).then(res => {
-        console.error('111', res);
-      });
-    },
-    funGoto(val) {
-      this.storageSet('getData', val);
-      const { path } = this.$route;
-      let toPath;
-      if (path === '/hospital-search') {
-        toPath = '/hospital-details';
-      } else if (path === '/whitelist-search') {
-        toPath = '/whitelist-details';
-      } else {
-        toPath = '/details';
-      }
-      // status = 1 代表不能复制文本
-      this.$router.push({ path: toPath, query: { status: 1 } });
-    },
-    funBlur() {
-      if (this.formData1.ageday > 356) {
-        this.formData1.ageday = 356;
-      }
-      if (this.formData1.ageyear > 150) {
-        this.formData1.ageyear = 150;
-      }
-    },
-    funBluron() {
-      if (this.formData1.hospitalizationon && this.formData1.hospitalizationin) {
-        if (this.formData1.hospitalizationon > this.formData1.hospitalizationin) {
-          this.$message('起止住院天数输入不正确');
-        }
-      }
-
-      // this.formData1.hospitalizationon || '0' + '-' + this.formData1.hospitalizationin || '0',
-    },
-    funDel(i) {
-      let index = i;
-      if (index == 0) {
-        return;
-      }
-      let list = this.formData1.seniorList;
-      list.splice(index, 1);
-      this.formData1.seniorList = list;
-    },
-    funAdd() {
-      this.formData1.seniorList.push({
-        key: '',
-        value: '',
-        type: '0',
-        selectList: [],
-        select_type: 0,
-      });
-    },
-    pageHasChanged() {
-      this.funQuery();
-    },
-    SizeChangeEvent(val) {
-      this.paginationData.pageSize = val;
-      this.funQuery();
-    },
-    selectInfo() {
-      // let pramse = {};
-      this.$axios.post('/selectInfo').then(res => {
-        this.payList = res.data.pay;
-        //支付方式 pay
-        this.departmentList = res.data.department;
-        //出院科室 department
-        this.levelList = res.data.level;
-        //问题属性 level
-        this.coderList = res.data.coder;
-        //编码元  coder
-        this.statusList = res.data.status;
-        this.fieldList = res.data.field;
-        // this.department = res.data.department
-      });
-    },
-    // 点击检索按钮
-    funQuery() {
-      console.error('this.choice111', this.choice);
-      let min = this.formData1.hospitalizationon;
-      let max = this.formData1.hospitalizationin;
-      if (this.labelList.includes(this.labelText)) {
-        this.columnShow = true;
-      } else {
-        this.columnShow = false;
-      }
-      //查询
-      if (this.choice == 0) {
-        let pramse = {
-          level: this.formData0.problem || null, //问题属性
-          AAA28: this.formData0.recordNum || null, //病案号
-          AAC11C: this.formData0.Department || null, //出院科室
-          AAA26C: this.formData0.payment || null, //付款方式
-          status: this.formData0.state || null, //编辑状态
-          AAC01_start_date: this.formData0.startTime || '',
-          AAC01_end_date: this.formData0.endTime || '',
-          coder_id: this.formData0.Coder || null, //编码员ID
-          ORG_STATE: this.formData0.medicalRecord || null, //全部病案
-          page: this.paginationData.currentPage, //页码
-          limit: this.paginationData.pageSize, //条数
-          is_tm: 1,
-        };
-        if (this.$route.query.code) {
-          pramse.user_code = this.$route.query.code
-        }
-        sessionStorage.setItem('Zkpramse', JSON.stringify(pramse));
-        sessionStorage.setItem('ZkChoice', this.choice);
-        this.getinfo(pramse);
-      } else {
-        let pramse = {
-          AAC04: `${min ? min : 0}-${max ? max : 0}`,
-          AAC0401: `${min ? min : 0}`,
-          AAC0402: `${max ? max : 0}`,
-          AAA04: this.formData1.ageyear || null, //年龄
-          AAA40: this.formData1.ageday || null, //不足一周岁年龄
-          age_start_type: this.formData1.age_start_type || null,
-          age_end_type: this.formData1.age_end_type || null,
-          AAC01_start_date: this.formData1.startTime || '',
-          AAC01_end_date: this.formData1.endTime || '',
-          field: this.formData1.seniorList || null, //字段条件
-          page: this.paginationData.currentPage, //页码
-          limit: this.paginationData.pageSize, //条数
-          is_tm: 1,
-        };
-        if (this.$route.query.code) {
-          pramse.user_code = this.$route.query.code
-        }
-        sessionStorage.setItem('Zkpramse', JSON.stringify(pramse));
-        sessionStorage.setItem('ZkChoice', this.choice);
-        this.getinfo(pramse);
-      }
-    },
-    getinfo(p) {
-      this.$axios.post('/qualityList', p).then(res => {
-        this.paginationData.total = res.data.count;
-        this.tableData = res.data.list;
-        this.ARG_F_D = res.data.ARG_F_D;
-        this.ARG_STAY = res.data.ARG_STAY;
-        this.AEM01C = res.data.AEM01C;
-        this.SUM_ARG_STAY = res.data.SUM_ARG_STAY
-        this.SUM_ARG_F_D = res.data.SUM_ARG_F_D
-
-      });
-    },
-    reset() {
-      // 重置数据
-      if (this.choice == 0) {
-        Object.assign(this.$data.formData0, this.$options.data().formData0);
-      } else {
-        Object.assign(this.$data.formData1, this.$options.data().formData1);
-      }
-      this.funQuery();
-    },
-  },
-};
-</script>
-<style scoped>
-::v-deep.el-pagination.is-background .btn-next,
-::v-deep.el-pagination.is-background .btn-prev,
-::v-deep.el-pagination.is-background .el-pager li {
-  margin: 0 5px;
-  background-color: #fff;
-  color: #606266;
-  min-width: 30px;
-  border-radius: 2px;
-  border: 1px solid #dfe3f3;
-  line-height: 27px;
-}
-::v-deep.el-pagination.is-background .el-pager li:not(.disabled).active {
-  background: #7e8bab;
-}
-::v-deep.el-table .el-table__row td {
-  color: #7e8bab;
-  border-bottom: 1px solid #f4f4f4;
-}
-::v-deep.el-table .el-table__header tr th:first-child {
-  border-radius: 10px 0px 0px 10px;
-}
-::v-deep.el-table .el-table__header tr th:last-child {
-  border-radius: 0px 10px 10px 0px;
-}
-::v-deep.el-table .el-table__header tr th {
-  background: #f1f6ff;
-  color: #13171e;
-  border-bottom: 0px;
-}
-</style>
-<style lang="scss" scoped>
-.tableBox {
-  background: #fff;
-  padding: 19px;
-  border-radius: 5px;
-  font-size: 12px;
-}
-.block {
-  background: #fff;
-  border-radius: 5px;
-  margin-bottom: 16px;
-  padding: 20px 30px;
-  margin-bottom: 20px;
-  .fBtn {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-  }
-  .bnh {
-    margin-bottom: 20px;
-  }
-  .barBtn {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-  }
-  .selects {
-    width: 100%;
-  }
-  .rowsa {
-    margin-bottom: 20px;
-  }
-}
-.tableBox {
-  background: #fff;
-  padding: 19px;
-  border-radius: 5px;
-}
-.dashboard {
-  &-container {
-    margin: 30px;
-  }
-  &-text {
-    font-size: 30px;
-    line-height: 46px;
-  }
-}
-.pind {
-  padding: 0 20px;
-}
-.pind10 {
-  padding: 0 5px;
-}
-.width150 {
-  width: 200px;
-}
-.width300 {
-  width: 295px;
-}
-.width500 {
-  width: 645px;
-}
-.width90 {
-  width: 90px;
-}
-.blue {
-  color: #185da6;
-}
-.h-title {
-  display: flex;
-  .blue {
-    display: block;
-    width: 6px;
-    height: 17px;
-    background: linear-gradient(180deg, #185da6 0%, #3195ff 100%);
-    border-radius: 3px;
-  }
-  .text {
-    font-size: 16px;
-    font-weight: 600;
-    color: #13171e;
-    margin: 0 0 0 14px;
-  }
-}
-.flextabtitle-box {
-  display: flex;
-  align-items: center;
-}
-.flextab-item {
-  display: flex;
-  align-items: center;
-  margin-left: 20px;
-}
-.flextab-item > div {
-  font-size: 15px;
-  margin-right: 15px;
-}
-.flextab-item > div span.s-1 {
-  color: #185da6;
-}
-.flextab-item > div span.s-2 {
-  font-weight: bold;
-}
-
-.marginLeft {
-  margin-left: -110px;
-}
-
-.width100 {
-  width: 100px;
-}
-</style>

+ 2 - 2
src/views/searchSystem/index.vue

@@ -23,8 +23,8 @@
 </template>
 
 <script>
-import BLSearchVue from './components/BLSearch.vue';
-import CaseHomeSearchVue from './components/CaseHomeSearch.vue';
+import BLSearchVue from '@/views/search';
+import CaseHomeSearchVue from '@/views/data/query';
 import DoctorOrderSearchVue from '@/views/data/query/adviceSearch.vue';
 import OutpatientSearchVue from '@/views/outpatient/case/index.vue'
 import { setToken } from '@/utils/auth';