542372506@qq.com 1 viikko sitten
vanhempi
commit
3cffd04bcc

+ 14 - 13
component/statistics/OutsideHospitalManage/index.html

@ -4,21 +4,13 @@
      <label class="c-333 c-f14">
      <label class="c-333 c-f14">
        <el-radio v-model="yearType" label="1">按下转年份:</el-radio>
        <el-radio v-model="yearType" label="1">按下转年份:</el-radio>
        <el-select v-model="chooseYear" class="formWidth wd160">
        <el-select v-model="chooseYear" class="formWidth wd160">
          <el-option v-for="(item , index) in years" :key="index" :label="item.name" :value="item.code"></el-option>
        </el-select>
      </label>
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">
        <el-radio v-model="yearType" label="2">管理机构:</el-radio>
        <el-select v-model="chooseHospital" class="formWidth wd160">
          <el-option v-for="(item , index) in hospitalList" :key="index" :label="item.name" :value="item.code"></el-option>
          <el-option v-for="(item , index) in years" :key="index" :label="item" :value="item"></el-option>
        </el-select>
        </el-select>
      </label>
      </label>
    </div>
    </div>
    <div class="searchDiv pb20 pr20">
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14" style="display: flex; align-items: center">
      <label class="c-333 c-f14" style="display: flex; align-items: center">
        <el-radio v-model="yearType" label="3">自定义下转时间:</el-radio>
        <el-radio v-model="yearType" label="2">自定义下转时间:</el-radio>
        <el-date-picker
        <el-date-picker
          v-model="chooseTime"
          v-model="chooseTime"
          type="daterange"
          type="daterange"
@ -29,6 +21,14 @@
        ></el-date-picker>
        ></el-date-picker>
      </label>
      </label>
    </div>
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">
       管理机构:
        <el-select v-model="chooseHospital" class="formWidth wd160">
          <el-option v-for="(item , index) in hospitalList" :key="index" :label="item.name" :value="item.code"></el-option>
        </el-select>
      </label>
    </div>
    
    
@ -50,7 +50,7 @@
    <el-table-column :label="item.label" v-for="(item,index) in tableHeaderChildren" :key="index" align="center">
    <el-table-column :label="item.label" v-for="(item,index) in tableHeaderChildren" :key="index" align="center">
      <el-table-column :label="el.label" :min-width="el.width" v-for="el in item.children" :key="el.prop">
      <el-table-column :label="el.label" :min-width="el.width" v-for="el in item.children" :key="el.prop">
        <template slot-scope="scope">
        <template slot-scope="scope">
          <span :class="`${['vd1Num','v2Num','vd3Num','v4Num'].includes(el.prop)&&scope.row.code?'pointer c-409eff':''}`" @click="openDialog(scope.row, el.prop)">
          <span :class="`${['vd1Num','vd2Num','vd3Num','vd4Num'].includes(el.prop)&&scope.row.code?'pointer c-409eff':''}`" @click="openDialog(scope.row, el.prop)">
            {{scope.row[el.prop]}}
            {{scope.row[el.prop]}}
          </span>
          </span>
        </template>
        </template>
@ -104,14 +104,15 @@
      <el-table-column type="index" label="序号"></el-table-column>
      <el-table-column type="index" label="序号"></el-table-column>
      <el-table-column v-for="item in dialogHeader" :label="item.label" :prop="item.prop" :render-header="renderHeader">
      <el-table-column v-for="item in dialogHeader" :label="item.label" :prop="item.prop" :render-header="renderHeader">
        <template slot-scope="scope">
        <template slot-scope="scope">
          <span :class="`${item.prop =='name'?'pointer c-409eff':''}`" @click="seePatientDetail(scope.row, item.prop)">{{scope.row[item.prop]}}</span>
          <span v-if="scope.row.id" :class="`${item.prop =='name'?'pointer c-409eff':''}`" @click="seePatientDetail(scope.row, item.prop)">{{scope.row[item.prop]}}</span>
          <span v-else>{{scope.row[item.prop]}}</span>
        </template>
        </template>
      </el-table-column>
      </el-table-column>
    </el-table>
    </el-table>
    <div style="display: flex; justify-content: flex-end; margin-top: 10px">
    <div style="display: flex; justify-content: flex-end; margin-top: 10px">
      <el-pagination
      <el-pagination
        @current-change="handleCurrentDialogChange"
        @current-change="handleCurrentDialogChange"
        @size-change="handleSizeChange"
        @size-change="handleDialogSizeChange"
        :current-page.sync="dialogPage"
        :current-page.sync="dialogPage"
        :page-size="dialogSize"
        :page-size="dialogSize"
        :page-sizes="[10, 20, 50]"
        :page-sizes="[10, 20, 50]"

+ 68 - 39
component/statistics/OutsideHospitalManage/index.js

@ -70,12 +70,12 @@ Vue.component('outside-hospital-manage', {
          children: [
          children: [
            {
            {
              label: '应服务人次',
              label: '应服务人次',
              prop: 'v1Num',
              prop: 'v2Num',
              width: '130'
              width: '130'
            },
            },
            {
            {
              label: '已服务人次',
              label: '已服务人次',
              prop: 'vd1Num',
              prop: 'vd2Num',
              width: '130'
              width: '130'
            }
            }
          ]
          ]
@ -85,12 +85,12 @@ Vue.component('outside-hospital-manage', {
          children: [
          children: [
            {
            {
              label: '应服务人次',
              label: '应服务人次',
              prop: 'v1Num',
              prop: 'v3Num',
              width: '130'
              width: '130'
            },
            },
            {
            {
              label: '已服务人次',
              label: '已服务人次',
              prop: 'vd1Num',
              prop: 'vd3Num',
              width: '130'
              width: '130'
            }
            }
          ]
          ]
@ -100,12 +100,12 @@ Vue.component('outside-hospital-manage', {
          children: [
          children: [
            {
            {
              label: '应服务人次',
              label: '应服务人次',
              prop: 'v1Num',
              prop: 'v4Num',
              width: '130'
              width: '130'
            },
            },
            {
            {
              label: '已服务人次',
              label: '已服务人次',
              prop: 'vd1Num',
              prop: 'vd4Num',
              width: '130'
              width: '130'
            }
            }
          ]
          ]
@ -171,7 +171,8 @@ Vue.component('outside-hospital-manage', {
        { name: '全部', code: '' },
        { name: '全部', code: '' },
        { name: '是', code: '1' },
        { name: '是', code: '1' },
        { name: '否', code: '0' }, 
        { name: '否', code: '0' }, 
      ]
      ],
      prop:''
    }
    }
  },
  },
  methods: {
  methods: {
@ -223,6 +224,7 @@ Vue.component('outside-hospital-manage', {
      for (i = vm.nowyear; i >= 2013; i--) {
      for (i = vm.nowyear; i >= 2013; i--) {
        vm.years.push(i)
        vm.years.push(i)
      }
      }
      console.log('years',vm.years)
    },
    },
    initHospitalList() {
    initHospitalList() {
      var vm = this;
      var vm = this;
@ -256,11 +258,10 @@ Vue.component('outside-hospital-manage', {
        params.startDate = this.chooseYear + '-01-01' 
        params.startDate = this.chooseYear + '-01-01' 
        params.endDate = this.chooseYear + '-12-31' 
        params.endDate = this.chooseYear + '-12-31' 
      } else if (this.yearType == '2'){
      } else if (this.yearType == '2'){
        params.hospital = this.chooseHospital
      }else if(this.yearType=='3'){
        params.startDate = this.chooseTime[0] 
        params.startDate = this.chooseTime[0] 
        params.endDate = this.chooseTime[1] 
      } 
        params.endDate = this.chooseTime[1]
      }
      params.hospital = this.chooseHospital
      outsideHospitalAPI.ydRehabilitationInfo(params).then(function(res) {
      outsideHospitalAPI.ydRehabilitationInfo(params).then(function(res) {
        if (res.status == 200) {
        if (res.status == 200) {
          vm.tableData = res.detailModelList
          vm.tableData = res.detailModelList
@ -285,11 +286,10 @@ Vue.component('outside-hospital-manage', {
        params.startDate = this.chooseYear + '-01-01' 
        params.startDate = this.chooseYear + '-01-01' 
        params.endDate = this.chooseYear + '-12-31' 
        params.endDate = this.chooseYear + '-12-31' 
      } else if (this.yearType == '2'){
      } else if (this.yearType == '2'){
        params.hospital = this.chooseHospital
      }else if(this.yearType=='3'){
        params.startDate = this.chooseTime[0] 
        params.startDate = this.chooseTime[0] 
        params.endDate = this.chooseTime[1] 
        params.endDate = this.chooseTime[1] 
      } 
      }
      params.hospital = this.chooseHospital
      this.exportLoading = true
      this.exportLoading = true
      var fileName = `异地医院管理情况统计.xls`
      var fileName = `异地医院管理情况统计.xls`
      outsideHospitalAPI.exportYdRehabilitationInfo(fileName,params).then(function(){
      outsideHospitalAPI.exportYdRehabilitationInfo(fileName,params).then(function(){
@ -301,7 +301,6 @@ Vue.component('outside-hospital-manage', {
      this.messageVisible = true
      this.messageVisible = true
    },
    },
    eliminateClick() {
    eliminateClick() {
      this.resetArea()
      this.yearType = '1'
      this.yearType = '1'
      this.paramsObj = {
      this.paramsObj = {
        name: '',
        name: '',
@ -311,6 +310,7 @@ Vue.component('outside-hospital-manage', {
      }
      }
      this.chooseYear = new Date().getFullYear()
      this.chooseYear = new Date().getFullYear()
      this.chooseTime = null
      this.chooseTime = null
      this.chooseHospital = null
      this.$forceUpdate()
      this.$forceUpdate()
    },
    },
    handleCurrentChange(val) {
    handleCurrentChange(val) {
@ -322,8 +322,9 @@ Vue.component('outside-hospital-manage', {
      this.getList()
      this.getList()
    },
    },
    handleCurrentDialogChange(val) {
    handleCurrentDialogChange(val) {
      this.DialogPage = val
      if( this.title = '康复复诊记录明细'){
      console.log('44444444444444444444',val)
      this.dialogPage = val
      if( this.title == '康复复诊记录明细'){
        this.ydRehabilitationFz() 
        this.ydRehabilitationFz() 
      }else{
      }else{
        this.ydTurnDownDataPage()
        this.ydTurnDownDataPage()
@ -332,7 +333,7 @@ Vue.component('outside-hospital-manage', {
    },
    },
    handleDialogSizeChange(val) {
    handleDialogSizeChange(val) {
      this.dialogSize = val
      this.dialogSize = val
      if( this.title = '康复复诊记录明细'){
      if( this.title == '康复复诊记录明细'){
        this.ydRehabilitationFz() 
        this.ydRehabilitationFz() 
      }else{
      }else{
        this.ydTurnDownDataPage()
        this.ydTurnDownDataPage()
@ -341,6 +342,7 @@ Vue.component('outside-hospital-manage', {
  
  
    //详情
    //详情
    openDialog(row, prop) {
    openDialog(row, prop) {
      console.log(prop)
      this.query = {
      this.query = {
        name: '',
        name: '',
        mobile: '',
        mobile: '',
@ -351,6 +353,7 @@ Vue.component('outside-hospital-manage', {
        reservationType:'',
        reservationType:'',
        doctorName:'',
        doctorName:'',
      }
      }
      this.prop = '';
      if (prop == 'total' || prop == 'planNum') {
      if (prop == 'total' || prop == 'planNum') {
        this.title = '下转情况数据列表'
        this.title = '下转情况数据列表'
        this.dialogHeader = [
        this.dialogHeader = [
@ -363,9 +366,13 @@ Vue.component('outside-hospital-manage', {
          { label: '最近一次下转时间', prop: 'turnDownTime', width: '110' },
          { label: '最近一次下转时间', prop: 'turnDownTime', width: '110' },
          { label: '最近一次下转类型', prop: 'eventType', width: '110' }
          { label: '最近一次下转类型', prop: 'eventType', width: '110' }
        ]
        ]
        if(prop=='planNum'){
          this.query.isRehabilitation = '1'; 
          this.prop= prop
        }
        this.ydTurnDownDataPage()
        this.ydTurnDownDataPage()
        this.visible = true
        this.visible = true
      } else if (prop == 'vd1Num' || prop == 'v4Num') {
      } else if (prop == 'vd1Num' || prop == 'vd4Num' || prop == 'vd2Num'|| prop == 'vd3Num') {
        this.title = '康复复诊记录明细'
        this.title = '康复复诊记录明细'
        this.dialogHeader = [
        this.dialogHeader = [
          { label: '姓名', prop: 'name' },
          { label: '姓名', prop: 'name' },
@ -377,6 +384,8 @@ Vue.component('outside-hospital-manage', {
          { label: '服务方式', prop: 'reservationType' },
          { label: '服务方式', prop: 'reservationType' },
          { label: '服务时间', prop: 'finishTime' }
          { label: '服务时间', prop: 'finishTime' }
        ]
        ]
        this.prop = prop
        console.log('111111111111111',this.prop)
        this.ydRehabilitationFz()
        this.ydRehabilitationFz()
        this.visible = true
        this.visible = true
      }
      }
@ -385,7 +394,6 @@ Vue.component('outside-hospital-manage', {
    ydTurnDownDataPage(){
    ydTurnDownDataPage(){
      vm = this;
      vm = this;
      vm.dialogTableData = [];
      vm.dialogTableData = [];
      vm.dialogTotal=0
      var params ={
      var params ={
        page:this.dialogPage,
        page:this.dialogPage,
        pageSize:this.dialogSize,
        pageSize:this.dialogSize,
@ -395,11 +403,10 @@ Vue.component('outside-hospital-manage', {
        params.startDate = this.chooseYear + '-01-01' 
        params.startDate = this.chooseYear + '-01-01' 
        params.endDate = this.chooseYear + '-12-31' 
        params.endDate = this.chooseYear + '-12-31' 
      } else if (this.yearType == '2'){
      } else if (this.yearType == '2'){
        params.hospital = this.chooseHospital
      }else if(this.yearType=='3'){
        params.startDate = this.chooseTime[0] 
        params.startDate = this.chooseTime[0] 
        params.endDate = this.chooseTime[1] 
        params.endDate = this.chooseTime[1] 
      } 
      }
      params.hospital = this.chooseHospital
      outsideHospitalAPI.ydTurnDownDataPage(params).then(function(res){
      outsideHospitalAPI.ydTurnDownDataPage(params).then(function(res){
        if(res.status == 200){
        if(res.status == 200){
          vm.dialogTableData = res.detailModelList
          vm.dialogTableData = res.detailModelList
@ -410,21 +417,29 @@ Vue.component('outside-hospital-manage', {
    ydRehabilitationFz(){
    ydRehabilitationFz(){
      vm = this;
      vm = this;
      vm.dialogTableData = [];
      vm.dialogTableData = [];
      vm.dialogTotal=0
      var params ={
      var params ={
        page:this.dialogPage,
        page:this.dialogPage,
        pageSize:this.dialogSize,
        pageSize:this.dialogSize,
        ...this.query
        ...this.query
      }
      }
      if (this.prop == 'vd1Num') {
        params.visitCount = 1 
      }else if(this.prop == 'vd4Num'){
        params.visitCount = 4 
      }else if(this.prop == 'vd2Num'){
        params.visitCount = 2 
      }else if(this.prop == 'vd3Num'){
        params.visitCount = 3 
      }
    
      if (this.yearType == '1') {
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01' 
        params.startDate = this.chooseYear + '-01-01' 
        params.endDate = this.chooseYear + '-12-31' 
        params.endDate = this.chooseYear + '-12-31' 
      } else if (this.yearType == '2'){
      } else if (this.yearType == '2'){
        params.hospital = this.chooseHospital
      }else if(this.yearType=='3'){
        params.startDate = this.chooseTime[0] 
        params.startDate = this.chooseTime[0] 
        params.endDate = this.chooseTime[1] 
        params.endDate = this.chooseTime[1] 
      } 
      }
      params.hospital = this.chooseHospital
      outsideHospitalAPI.ydRehabilitationFz(params).then(function(res){
      outsideHospitalAPI.ydRehabilitationFz(params).then(function(res){
        if(res.status == 200){
        if(res.status == 200){
          vm.dialogTableData = res.detailModelList
          vm.dialogTableData = res.detailModelList
@ -440,12 +455,19 @@ Vue.component('outside-hospital-manage', {
        ...this.query
        ...this.query
      }
      }
      this.query = {
      this.query = {
        visitCount: params.visitCount,
        range: typeof params.range == 'undefined' ? '' : params.range,
        area: typeof params.area == 'undefined' ? '' : params.area,
        hospital: typeof params.hospital == 'undefined' ? '' : params.hospital,
        team: typeof params.team == 'undefined' ? '' : params.team
        name: '',
        mobile: '',
        sex: '',
        eventType: '',
        hospital: '',
        isRehabilitation:'',
        reservationType:'',
        doctorName:'', 
      }
      }
      if(this.prop=='planNum'){
        this.query.isRehabilitation = '1'; 
      }
      this.dialogSearchFn();
    },
    },
    dialogExportFn() {
    dialogExportFn() {
      var vm = this
      var vm = this
@ -460,11 +482,19 @@ Vue.component('outside-hospital-manage', {
          params.startDate = this.chooseYear + '-01-01' 
          params.startDate = this.chooseYear + '-01-01' 
          params.endDate = this.chooseYear + '-12-31' 
          params.endDate = this.chooseYear + '-12-31' 
        } else if (this.yearType == '2'){
        } else if (this.yearType == '2'){
          params.hospital = this.chooseHospital
        }else if(this.yearType=='3'){
          params.startDate = this.chooseTime[0] 
          params.startDate = this.chooseTime[0] 
          params.endDate = this.chooseTime[1] 
          params.endDate = this.chooseTime[1] 
        } 
        }   
        params.hospital = this.chooseHospital
        if (this.prop == 'vd1Num') {
          params.visitCount = 1 
        }else if(this.prop == 'vd4Num'){
          params.visitCount = 4 
        }else if(this.prop == 'vd2Num'){
          params.visitCount = 2 
        }else if(this.prop == 'vd3Num'){
          params.visitCount = 3 
        }
        var fileName = `康复复诊记录明细${new Date().getTime()}.xls`
        var fileName = `康复复诊记录明细${new Date().getTime()}.xls`
        outsideHospitalAPI.exportYdRehabilitationFz(fileName, params).then(function() {
        outsideHospitalAPI.exportYdRehabilitationFz(fileName, params).then(function() {
          vm.dialogExportLoading = false
          vm.dialogExportLoading = false
@ -480,11 +510,10 @@ Vue.component('outside-hospital-manage', {
          params.startDate = this.chooseYear + '-01-01' 
          params.startDate = this.chooseYear + '-01-01' 
          params.endDate = this.chooseYear + '-12-31' 
          params.endDate = this.chooseYear + '-12-31' 
        } else if (this.yearType == '2'){
        } else if (this.yearType == '2'){
          params.hospital = this.chooseHospital
        }else if(this.yearType=='3'){
          params.startDate = this.chooseTime[0] 
          params.startDate = this.chooseTime[0] 
          params.endDate = this.chooseTime[1] 
        } 
          params.endDate = this.chooseTime[1]
        }
        params.hospital = this.chooseHospital
        var fileName = `下转情况数据列表${new Date().getTime()}.xls`
        var fileName = `下转情况数据列表${new Date().getTime()}.xls`
        outsideHospitalAPI.exportYdTurnDownDataPage(fileName, params).then(function() {
        outsideHospitalAPI.exportYdTurnDownDataPage(fileName, params).then(function() {
          vm.dialogExportLoading = false 
          vm.dialogExportLoading = false 

+ 2 - 1
component/statistics/PersonInfo/index.html

@ -106,7 +106,8 @@
                  {{el.hospitalName}}
                  {{el.hospitalName}}
                  <el-tag size="small" style="margin-left: 6px">{{el.eventType}}</el-tag>
                  <el-tag size="small" style="margin-left: 6px">{{el.eventType}}</el-tag>
                </div>
                </div>
                <div>接收社区医院:{{el.orgName}}</div>
                <div v-if="flag&&flag=='yd'">接收医院:{{el.orgName}}</div>
                <div v-else>接收社区医院:{{el.orgName}}</div>
              </div>
              </div>
              <div>
              <div>
                <div>下转医生:{{el.hospitalDoctor}}</div>
                <div>下转医生:{{el.hospitalDoctor}}</div>