Prechádzať zdrojové kódy

家庭病床页面开发

zhongming 2 mesiacov pred
rodič
commit
34950ba196

+ 26 - 14
app/statistics/html/comprehensive-query.html

@ -88,18 +88,12 @@
                :style="handleNodeId==item.id?'background-color: #409eff;color:#fff;':''">
                {{item.label}}
              </div>
              <div class="copd-filter-option-list" v-if="handleNodeId == 64">
                <el-checkbox-group v-model="copdFilterCheckValue" @change="onCopdFilterChange">
                  <el-checkbox
                      v-for="(check, index) in copdManageSearchFilterList"
                      :key="index"
                      :label="check.code"
                      >
                      {{check.value}}
                  </el-checkbox>
                </el-checkbox-group>
            </template>
            <template v-if="tabsId == 8">
              <div class="particulars" v-for="(item,index) in jtbcTabsData" @click="handleNodeClick(item, 8)"
                   :style="handleNodeId==item.id?'background-color: #409eff;color:#fff;':''">
                {{item.label}}
              </div>
              <!-- <el-tree highlight-current class="bgc-f2f3f5" :data="detailInquire" :props="defaultProps" @node-click="handleNodeClick"></el-tree> -->
            </template>
            <div class="resetSelected" v-if="tabsId != 2">
              <div @click="reset">重置已选</div>
@ -545,7 +539,12 @@
											handleNodeId!=61&&
											handleNodeId!=62&&
											handleNodeId!=63&&
											handleNodeId!=64
											handleNodeId!=64&&
                                            handleNodeId!=71&&
                                            handleNodeId!=75&&
                                            handleNodeId!=72&&
                                            handleNodeId!=73&&
                                            handleNodeId!=74
											">
                <label class="c-333 c-f14" for="">数据范围:</label>
                <el-select v-model="rangeCode" style="width: 100px" class="pr10">
@ -597,7 +596,12 @@
										handleNodeId!=61&&
										handleNodeId!=62&&
										handleNodeId!=63&&
										handleNodeId!=64
										handleNodeId!=64&&
                                        handleNodeId!=71&&
                                        handleNodeId!=75&&
                                        handleNodeId!=72&&
                                        handleNodeId!=73&&
                                        handleNodeId!=74
										">
                <el-button type="primary" size="mini" @click="searchHandle(true)">查询</el-button>
                <el-button type="ff9526" size="mini" @click="exportHandle">导出</el-button>
@ -956,6 +960,7 @@
                <mzf-dejdsjyy-sfjdjczqk v-if="handleNodeId==62" type="dejdsjyysfjdjczqk"></mzf-dejdsjyy-sfjdjczqk>
                <copd-patient-record v-if="handleNodeId==63"></copd-patient-record>
                <copd-record-search v-if="handleNodeId==64"></copd-record-search>
                <jtbc-table-page v-if="handleNodeId==71||handleNodeId==72|| handleNodeId==73 || handleNodeId==74 || handleNodeId==75"></jtbc-table-page>
              </div>
              <div v-if="handleNodeShow == 3">
                <el-table v-if="collectCode == 1" border :data="diseaseReport" style="width: 100%"
@ -1034,7 +1039,12 @@
										handleNodeId!=61&&
										handleNodeId!=62&&
										handleNodeId!=63&&
										handleNodeId!=64
										handleNodeId!=64&&
										handleNodeId!=71&&
										handleNodeId!=72&&
										handleNodeId!=73&&
										handleNodeId!=74&&
										handleNodeId!=75
										">
                <div class="c-t-right mt20">
                  <el-pagination @current-change="handleCurrentChange" :current-page.sync="currentPage"
@ -1098,6 +1108,8 @@
  <script src="../js/dejdsjyysfjdjczqk.js" type="text/javascript" charset="utf-8"></script>
  <script src="../../../component/statistics/CopdPatientRecord/index.js" type="text/javascript"
    charset="utf-8"></script>
  <script src="../../../component/statistics/jtbcTablePage/index.js" type="text/javascript"
          charset="utf-8"></script>
  <script src="../../../component/statistics/CopdPatientRecordEdit/index.js" type="text/javascript"
    charset="utf-8"></script>
    <script src="../../../component/statistics/CopdServiceRecord/index.js?v=1.0.0" type="text/javascript"

+ 18 - 2
app/statistics/js/comprehensive-query.js

@ -167,6 +167,14 @@ new Vue({
        value: 'deceasedPatients'
      }
    ],
    // 家庭病床统计
    jtbcTabsData: [
      {label: '患者情况分析', id: '71'},
      {label: '建床人数统计', id: '72'},
      {label: '计划服务情况分析', id: '73'},
      {label: '病床查床情况分析', id: '74'},
      {label: '转诊与撤床情况分析', id: '75'},
    ],
    copdFilterCheckValue: [],
    handleNodeShow: 1,
    handleNodeId: 0,
@ -260,7 +268,8 @@ new Vue({
      {id: '4', text: '专科综合查询', show: false},
      // {id:'5',text:'慢阻肺综合查询',show:false},
      {id: '6', text: '慢阻肺统计', show: false},
      {id: '7', text: '疾控慢阻肺监测', show: false}
      {id: '7', text: '疾控慢阻肺监测', show: false},
      {id: '8', text: '家庭病床统计', show: false}
    ],
    tabsId: '1',
    facility: '', //体征数据分析  - 设备类型
@ -957,6 +966,7 @@ if(searchStr){
      // initScope(this)
    },
    tabsClick: function (item) {
      console.log(item, 'item')
      var vm = this;
      this.copdFilterCheckValue=[]
      vm.tabsId = item.id;
@ -1164,9 +1174,15 @@ if(searchStr){
      }
      // 慢阻肺监测档案
      if (type == 7) {
        // console.log("点击了");
        console.log("点击了");
        EventBus.$emit('copd-reset-select', {});
      }
      // 家庭病床统计
      if (type == 8) {
        console.log(item, type, '---')
        EventBus.$emit('jtbc-table-page', {type, id: item.id});
        console.log('家庭病床')
      }
    },
    expertFamily: function (id) {
      var vm = this;

+ 27 - 0
component/statistics/jtbcTablePage/index.css

@ -0,0 +1,27 @@
.ad-schedule-import, .schedule-import .fileName{
    width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    white-space: nowrap;
    vertical-align: middle;
    text-align: left;
    margin-top: -1px;
}
.red{
    color: red;
}
.down-temp{
    color: #12b7f5;
    font-size: 14px;
    text-align: left;
    margin-top: 5px;
}
.err-list{
    border: 1px solid #e1e1e1;
    padding: 10px;
    color: red;
    font-size: 14px;
    margin: 10px 15px;
    text-align: left;
}

+ 168 - 0
component/statistics/jtbcTablePage/index.html

@ -0,0 +1,168 @@
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta
          name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
  <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  <title>慢阻肺患者档案</title>
  <link rel="stylesheet" type="text/css" href="index.css" />
</head>
<body>
<div id="app">
  <div class="copd-table-main">
      <div class="copd-filter-group ui-col-1 bgc-fff" style="min-width: 900px">
          <template v-if="show1">
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">患者姓名:</label>
                  <el-input v-model="name" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
              </div>
          </template>
          <template v-if="show2 || show4">
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">费别:</label>
                  <el-input v-model="obj2.cost" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
              </div>
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">入院病情:</label>
                  <el-select class="pr20 formWidth" v-model="obj2.toHospital" placeholder="请选择">
                      <el-option
                              v-for="(option, index) in toHospitalOptions"
                              :label="option.value"
                              :value="option.code"></el-option>
                      <!-- <el-option label="全部" value="item.value"></el-option> -->
                  </el-select>
              </div>
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">入院方式:</label>
                  <el-select class="pr20 formWidth" v-model="obj2.way" placeholder="请选择">
                      <el-option
                              v-for="(option, index) in toHospitalOptions"
                              :label="option.value"
                              :value="option.code"></el-option>
                      <!-- <el-option label="全部" value="item.value"></el-option> -->
                  </el-select>
              </div>
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">患者姓名:</label>
                  <el-input v-model="obj2.name" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
              </div>
          </template>
          <template v-if="show3">
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">医生姓名:</label>
                  <el-input v-model="obj3.doctorName" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
              </div>
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">患者姓名:</label>
                  <el-input v-model="obj3.name" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
              </div>
          </template>
          <template v-if="show5">
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">转诊机构:</label>
                  <el-input v-model="obj5.organization" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
              </div>
              <div class="searchDiv pb20">
                  <label class="c-333 c-f14">患者姓名:</label>
                  <el-input v-model="obj5.name" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
              </div>
          </template>
          <div class="searchDiv pb20">
              <el-button type="primary" size="mini">查询</el-button>
              <el-button type="ff9526" size="mini" >导出</el-button>
              <span class="eliminate" >清除筛选条件</span>
          </div>
      </div>
    <el-table style="width: 100%" :data="dataList" v-loading="daLoading" v-if="show1">
      <el-table-column type="selection" width="55"></el-table-column>
      <el-table-column prop="name" label="患者姓名" width="180"></el-table-column>
      <el-table-column prop="nationality" label="国籍" width="180"></el-table-column>
      <el-table-column prop="nationName" label="民族" width="180"></el-table-column>
      <el-table-column prop="idcardTypeName" label="证件类型" width="180"></el-table-column>
      <el-table-column prop="idcard" label="证件号码" width="180"></el-table-column>
      <el-table-column prop="sexName" label="性别" width="180"></el-table-column>
      <el-table-column prop="birthday" label="出生日期" width="180"></el-table-column>
      <el-table-column prop="age" label="年龄" width="180"></el-table-column>
      <el-table-column prop="mobile" label="联系电话" width="180"></el-table-column>
      <el-table-column prop="liveAddress" label="常住地址" width="180"></el-table-column>
      <el-table-column prop="registAddress" label="户籍地址" width="180"></el-table-column>
      <el-table-column prop="occupationName" label="职业" width="180"></el-table-column>
      <el-table-column prop="marriageName" label="婚姻状态" width="180"></el-table-column>
      <el-table-column prop="firstChargeType" label="医保类型" width="180"></el-table-column>
      <el-table-column prop="turnDownStatusName" label="下转状态" width="180"></el-table-column>
      <el-table-column prop="receiveStatusName" label="接收状态" width="180"></el-table-column>
      <el-table-column prop="hospitalName" label="接收医院" width="180"></el-table-column>
      <el-table-column prop="doctorName" label="接收医生" width="180"></el-table-column>
      <el-table-column prop="archivesStatusName" label="随访状态" width="180"></el-table-column>
      <el-table-column prop="isLiveName" label="生存状态" width="180"></el-table-column>
      <el-table-column prop="deathTime" label="死亡日期" width="180"></el-table-column>
      <el-table-column label="操作" min-width="220" fixed="right">
        <template slot-scope="{row}">
          <el-button type="text" @click="onClickEdit(row)">编辑</el-button>
          <el-button type="text" @click="onClickServiceRecord(row)">服务记录</el-button>
          <el-button type="text" @click="onClickHealthRecord(row)">健康档案</el-button>
        </template>
      </el-table-column>
    </el-table>
    <el-table style="width: 100%" :data="dataList" v-loading="daLoading" v-if="show2">
      <el-table-column type="index" width="55"></el-table-column>
      <el-table-column prop="name" label="姓名" width="180"></el-table-column>
      <el-table-column prop="nationality" label="性别" width="180"></el-table-column>
      <el-table-column prop="nationName" label="年龄" width="180"></el-table-column>
      <el-table-column prop="idcardTypeName" label="证件号" width="180"></el-table-column>
      <el-table-column prop="idcard" label="人群分类(职业)" width="180"></el-table-column>
      <el-table-column prop="sexName" label="住院号" width="180"></el-table-column>
      <el-table-column prop="birthday" label="住院次数" width="180"></el-table-column>
      <el-table-column prop="age" label="床位" width="180"></el-table-column>
      <el-table-column prop="mobile" label="费别" width="180"></el-table-column>
      <el-table-column prop="liveAddress" label="通讯地址" width="180"></el-table-column>
      <el-table-column prop="registAddress" label="联系电话" width="180"></el-table-column>
      <el-table-column prop="occupationName" label="入院病情" width="180"></el-table-column>
      <el-table-column prop="marriageName" label="入院方式" width="180"></el-table-column>
      <el-table-column prop="firstChargeType" label="入院办理人" width="180"></el-table-column>
      <el-table-column prop="firstChargeType" label="入院科室" width="180"></el-table-column>
      <el-table-column prop="firstChargeType" label="入院时间" width="180"></el-table-column>
    </el-table>
    <el-table style="width: 100%" :data="dataList" v-loading="daLoading" v-if="show3">
        <el-table-column type="index" width="55"></el-table-column>
        <el-table-column prop="name" label="患者姓名" width="180"></el-table-column>
        <el-table-column prop="nationality" label="诊断" width="180"></el-table-column>
        <el-table-column prop="nationName" label="责任医生" width="180"></el-table-column>
        <el-table-column prop="idcardTypeName" label="药物治疗服务情况" width="180"></el-table-column>
        <el-table-column prop="idcard" label="康复治疗服务情况" width="180"></el-table-column>
        <el-table-column prop="sexName" label="家庭病床查床服务情况" width="180"></el-table-column>
        <el-table-column prop="birthday" label="服务时间" width="180"></el-table-column>
    </el-table>
    <el-table style="width: 100%" :data="dataList" v-loading="daLoading" v-if="show4">
        <el-table-column type="index" width="55"></el-table-column>
        <el-table-column prop="name" label="患者姓名" width="180"></el-table-column>
        <el-table-column prop="nationality" label="诊断" width="180"></el-table-column>
        <el-table-column prop="nationName" label="责任医生" width="180"></el-table-column>
        <el-table-column prop="idcardTypeName" label="查床时间" width="180"></el-table-column>
        <el-table-column prop="idcard" label="查床情况" width="180"></el-table-column>
        <el-table-column prop="sexName" label="查床结果" ></el-table-column>
    </el-table>
    <el-table style="width: 100%" :data="dataList" v-loading="daLoading" v-if="show5">
        <el-table-column type="index" width="55"></el-table-column>
        <el-table-column prop="name" label="患者姓名" width="180"></el-table-column>
        <el-table-column prop="nationality" label="诊断" width="180"></el-table-column>
        <el-table-column prop="nationName" label="转诊时间" width="180"></el-table-column>
        <el-table-column prop="idcardTypeName" label="撤床时间" width="180"></el-table-column>
        <el-table-column prop="idcard" label="转诊机构" width="180"></el-table-column>
        <el-table-column prop="sexName" label="评价情况" ></el-table-column>
    </el-table>
    <div class="c-t-right mt20">
        <!-- TODO 修正 -->
        <el-pagination
                @current-change="handleCurrentChange"
                :current-page.sync="currentPage"
                :page-size="currentSize"
                layout="total, prev, pager, next, jumper"
                :total="totalCount"></el-pagination>
      </div>
  </div>
</div>
</body>
</html>

+ 69 - 0
component/statistics/jtbcTablePage/index.js

@ -0,0 +1,69 @@
// 慢阻肺患者档案表格组件
var template = ''
$.ajax('../../../component/statistics/jtbcTablePage/index.html', {
    data: {},
    dataType: 'html',
    cache: false,
    timeout: 60000,
    async: false,
    error: function (res) {},
    success: function (res) {
        template = res
    }
})
Vue.component('jtbc-table-page', {
    template: template,
    props: [],
    data() {
        return {
            show1: true,
            show2: false,
            show3: false,
            show4: false,
            show5: false,
            currentSize:50,
            currentPage: 1,
            totalCount: 0,
            docInfo: JSON.parse(window.localStorage.getItem('docInfo')),
            daLoading:false,
            dataList: [
            ],
            // show1
            name: '',
            // show2 || show4
            obj2: {name: '1', way: '1', toHospital: '1', cost: '2'},
            toHospitalOptions: [{value: '1', code: '1'}],
            // show3
            obj3: { name: '123', doctorName: '456' },
            // show5
            obj5: {organization: '1', name: '1'}
        }
    },
    mounted() {
        var vm = this
        EventBus.$on('jtbc-table-page', function (obj) {
            vm.show1 = false
            vm.show2 = false
            vm.show3 = false
            vm.show4 = false
            vm.show5 = false
            if (obj.id == 71) vm.show1 = true
            else if (obj.id == 72) vm.show2 = true
            else if (obj.id == 73) vm.show3 = true
            else if (obj.id == 74) vm.show4 = true
            if (obj.id == 75) vm.show5 = true
        })
    },
    destroyed() {
        // EventBus.$off('jtbc-table-page')
    },
    methods: {
        handleCurrentChange:function(val) {
            console.log(val)
        },
    }
})