542372506@qq.com 1 settimana fa
parent
commit
02913d44cd

+ 43 - 0
api/outsideHospital-api.js

@ -0,0 +1,43 @@
(function(exports) {
    var outsideHospitalAPI = {
	
        //i健康pc端-管理机构
		ydManageHospitalList:function(data){
			return httpRequest.get("statistics/collaborate/ydManageHospitalList",{data:data})
		},
        //i健康pc端-异地医院管理情况统计表 查询
		ydRehabilitationInfo:function(data){
			return httpRequest.get("statistics/collaborate/ydRehabilitationInfo",{data:data})
		},
        //i健康pc端-异地医院管理情况统计表 导出
		exportYdRehabilitationInfo:function(fileName, params){
			return httpRequest.downLoadFileForAjax('statistics/collaborate/exportYdRehabilitationInfo', fileName, params)
		},
         //i健康pc端-异地下转情况数据列表 查询
        ydTurnDownDataPage:function(data){
			return httpRequest.get("statistics/collaborate/ydTurnDownDataPage",{data:data})
		},
         //i健康pc端-异地下转情况数据列表 导出
    exportYdTurnDownDataPage:function(fileName, params){
			return httpRequest.downLoadFileForAjax('statistics/collaborate/exportYdTurnDownDataPage', fileName, params)
		},
         //i健康pc端-康复复诊记录明细 查询
    ydRehabilitationFz:function(data){
			return httpRequest.get("statistics/collaborate/ydRehabilitationFz",{data:data})
		},
         //i健康pc端-康复复诊记录明细 导出
    exportYdRehabilitationFz:function(fileName, params){
			return httpRequest.downLoadFileForAjax('statistics/collaborate/exportYdRehabilitationFz', fileName, params)
		},
        //i健康pc端-异地居民个案详情
    ydPatientDetailInfo:function(data){
			return httpRequest.get("statistics/collaborate/ydPatientDetailInfo",{data:data})
		},
        //i健康pc端-异地居民个案详情-列表信息
    ydPatientDetailList:function(data){
			return httpRequest.get("statistics/collaborate/ydPatientDetailList",{data:data})
		},
        
    }
    exports.outsideHospitalAPI = outsideHospitalAPI;
})(window)

+ 2 - 0
app/statistics/html/comprehensive-query.html

@ -916,6 +916,7 @@
      <vuedals></vuedals>
      <person-info v-if="componentId.indexOf(handleNodeId)>-1" ref="personInfo"></person-info>
    </div>
    
    <script src="../../../js/FileSaver/FileSaver.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/vue.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../js/jquery-2.2.4.js" type="text/javascript" charset="utf-8"></script>
@ -928,6 +929,7 @@
    <script src="../../../api/http-request.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/home-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/statistics-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../api/outsideHospital-api.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/common/event-bus.js"></script>
    <script src="../../../component/common/vuedals.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/header-tab.js" type="text/javascript" charset="utf-8"></script>

+ 41 - 15
component/statistics/OutsideHospitalManage/index.html

@ -4,13 +4,21 @@
      <label class="c-333 c-f14">
        <el-radio v-model="yearType" label="1">按下转年份:</el-radio>
        <el-select v-model="chooseYear" class="formWidth wd160">
          <el-option v-for="(item , index) in years" :key="index" :label="item" :value="item"></el-option>
          <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-select>
      </label>
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14" style="display: flex; align-items: center">
        <el-radio v-model="yearType" label="2">自定义下转时间:</el-radio>
        <el-radio v-model="yearType" label="3">自定义下转时间:</el-radio>
        <el-date-picker
          v-model="chooseTime"
          type="daterange"
@ -22,6 +30,8 @@
      </label>
    </div>
    
    <div class="searchDiv pb20">
      <el-button type="primary" size="mini" @click="queryDate">查询</el-button>
      <el-button type="ff9526" size="mini" @click="exportTable" :disabled="exportLoading">导出</el-button>
@ -32,7 +42,7 @@
    <el-table-column type="index" min-width="60" label="序号"></el-table-column>
    <el-table-column :label="item.label" v-for="item in tableHeader" :min-width="item.width" :key="item.prop">
      <template slot-scope="scope">
        <span :class="`${['idcard','hospitalName'].includes(item.prop)&&scope.row.code?'pointer c-409eff':''}`" @click="openDialog(scope.row, item.prop)">
        <span :class="`${['total','planNum'].includes(item.prop)&&scope.row.code?'pointer c-409eff':''}`" @click="openDialog(scope.row, item.prop)">
          {{scope.row[item.prop]}}
        </span>
      </template>
@ -54,19 +64,34 @@
        <el-input v-model="query.name" placeholder="请输入居民姓名查询"></el-input>
      </el-form-item>
      <el-form-item label="手机号码:">
        <el-input v-model="query.signHospitalName" placeholder="请输入手机号码查询"></el-input>
        <el-input v-model="query.mobile" placeholder="请输入手机号码查询"></el-input>
      </el-form-item>
      <el-form-item label="管理医生:">
        <el-input v-model="query.signDoctorName" placeholder="请输入管理医生查询"></el-input>
      <el-form-item label="性别" v-if="title=='下转情况数据列表'">
        <el-select v-model="query.sex" >
            <el-option v-for="(item , index) in sexs" :key="index" :label="item.name" :value="item.code"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="下转类型" v-if="title=='下转情况数据列表'">
        <el-select v-model="query.eventType" >
          <el-option v-for="(item , index) in eventTypes" :key="index" :label="item.name" :value="item.code"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="管理医院:">
        <el-select v-model="query.remind" disabled>
          <el-option label="和平县医院" value=""></el-option>
        <el-select v-model="query.hospital" >
          <el-option v-for="(item , index) in hospitalList" :key="index" :label="item.name" :value="item.code"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="是否康复管理" v-if="title=='下转情况数据列表'">
        <el-select v-model="query.isRehabilitation" >
          <el-option v-for="(item , index) in isRehabilitations" :key="index" :label="item.name" :value="item.code"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="服务方式:">
        <el-select v-model="query.serve" disabled>
          <el-option label="全部" value=""></el-option>
      <el-form-item label="管理医生:" v-if="title=='康复复诊记录明细'">
        <el-input v-model="query.doctorName" placeholder="请输入医生姓名查询"></el-input>
      </el-form-item>
      <el-form-item label="服务方式" v-if="title=='康复复诊记录明细'">
        <el-select v-model="query.reservationType" >
          <el-option v-for="(item , index) in reservationTypes" :key="index" :label="item.name" :value="item.code"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item>
@ -85,13 +110,13 @@
    </el-table>
    <div style="display: flex; justify-content: flex-end; margin-top: 10px">
      <el-pagination
        @current-change="handleCurrentChange"
        @current-change="handleCurrentDialogChange"
        @size-change="handleSizeChange"
        :current-page.sync="page"
        :page-size="size"
        :current-page.sync="dialogPage"
        :page-size="dialogSize"
        :page-sizes="[10, 20, 50]"
        layout="total, sizes, prev, pager, next, jumper"
        :total="total"
        :total="dialogTotal"
      ></el-pagination>
    </div>
  </el-dialog>
@ -112,3 +137,4 @@
    class="pagination"
  ></el-pagination>
</div>

+ 209 - 115
component/statistics/OutsideHospitalManage/index.js

@ -1,3 +1,4 @@
var template = ''
$.ajax('../../../component/statistics/OutsideHospitalManage/index.html', {
  data: {},
@ -17,9 +18,11 @@ Vue.component('outside-hospital-manage', {
  data: function() {
    return {
      years: [],
      hospitalList:[],
      yearType: '1',
      chooseYear: null,
      chooseTime: null,
      chooseHospital:null,
      rangeOptions: [{ label: '区', value: 'town' }, { label: '医院', value: 'hospital' }, { label: '团队', value: 'team' }],
      hospitalOptions: [],
@ -41,10 +44,10 @@ Vue.component('outside-hospital-manage', {
        }
      ],
      tableHeader: [
        { label: '医院名称', prop: 'patientName', width: '110' },
        { label: '患者总数', prop: 'idcard', width: '110' },
        { label: '康复管理人数', prop: 'hospitalName', width: '180' },
        { label: '康复计划数量', prop: 'doctorName', width: '110' }
        { label: '医院名称', prop: 'name', width: '110' },
        { label: '患者总数', prop: 'total', width: '110' },
        { label: '康复管理人数', prop: 'planNum', width: '180' },
        { label: '康复计划数量', prop: 'planTimes', width: '110' }
      ],
      tableHeaderChildren: [
        {
@ -112,6 +115,9 @@ Vue.component('outside-hospital-manage', {
      size: 10,
      total: 0,
      level: 0,
      dialogPage:1,
      dialogSize:10,
      dialogTotal:0,
      messageVisible: false,
      messTxt: '',
      paramsObj: {
@ -125,10 +131,13 @@ Vue.component('outside-hospital-manage', {
      // 详情
      query: {
        name: '',
        signHospitalName: '',
        signDoctorName: '',
        remind: '',
        serve: ''
        mobile: '',
        sex: '',
        eventType: '',
        hospital: '',
        isRehabilitation:'',
        reservationType:'',
        doctorName:'',
      },
      dialogTableData: [
        {
@ -141,7 +150,28 @@ Vue.component('outside-hospital-manage', {
      dialogLoading: false,
      dialogHeader: [],
      title: '',
      dialogExportLoading: false
      dialogExportLoading: false,
      reservationTypes:[
        { name: '全部', code: '' },
        { name: '代预约', code: '4' },
        { name: '电话短信提醒', code: '5' },
      ],
      sexs: [
        { name: '全部', code: '' },
        { name: '男', code: '1' },
        { name: '女', code: '2' }
      ],
      eventTypes: [
        { name: '全部', code: '' },
        { name: '门诊', code: '1' },
        { name: '住院', code: '2' }, 
      ],
      isRehabilitations: [
        { name: '全部', code: '' },
        { name: '是', code: '1' },
        { name: '否', code: '0' }, 
      ]
    }
  },
  methods: {
@ -182,6 +212,7 @@ Vue.component('outside-hospital-manage', {
      }
      this.initTime()
      this.getList()
      this.initHospitalList();
    },
    initTime() {
      var vm = this
@ -193,6 +224,17 @@ Vue.component('outside-hospital-manage', {
        vm.years.push(i)
      }
    },
    initHospitalList() {
      var vm = this;
      vm.hospitalList=[{code:'',name:'全部'}];
      outsideHospitalAPI.ydManageHospitalList().then(function(res){
        if(res.status == 200){
          res.detailModelList.forEach(item => {
            vm.hospitalList.push(item)
          });
        }
      })
    },
    resetArea() {
      if (this.level == 1) {
        delete this.form.area
@ -209,24 +251,23 @@ Vue.component('outside-hospital-manage', {
      var vm = this
      this.loading = true
      var params = {
        ...this.paramsObj,
        page: this.page,
        size: this.size
      }
      if (this.yearType == '1') {
        params.startTime = this.chooseYear + '-01-01' + ' 00:00:00'
        params.endTime = this.chooseYear + '-12-31' + ' 11:59:59'
      } else {
        if (this.chooseTime) {
          params.startTime = this.chooseTime[0] + ' 00:00:00'
          params.endTime = this.chooseTime[1] + ' 11:59:59'
        }
      }
      httpRequest.get('statistics/collaborate/selectSmsInfoList', { data: params }).then(function(res) {
        params.startDate = this.chooseYear + '-01-01' 
        params.endDate = this.chooseYear + '-12-31' 
      } else if (this.yearType == '2'){
        params.hospital = this.chooseHospital
      }else if(this.yearType=='3'){
        params.startDate = this.chooseTime[0] 
        params.endDate = this.chooseTime[1] 
      } 
      outsideHospitalAPI.ydRehabilitationInfo(params).then(function(res) {
        if (res.status == 200) {
          // vm.tableData = res.detailModelList
          vm.total = res.totalCount
          vm.tableData = res.detailModelList
          if (res.detailModelList.length == 0) {
            vm.$message.warning('暂无数据!')
          }
          vm.total = res.detailModelList.length
        }
        vm.loading = false
      })
@ -237,21 +278,21 @@ Vue.component('outside-hospital-manage', {
    },
    exportTable() {
      var vm = this
      this.exportLoading = true
      var params = {
        ...this.paramsObj
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01 00:00'
        params.endDate = this.chooseYear + '-12-31 23:59'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0] + ' 00:00'
          params.endDate = this.chooseTime[1] + ' 23:59'
        }
      }
        params.startDate = this.chooseYear + '-01-01' 
        params.endDate = this.chooseYear + '-12-31' 
      } else if (this.yearType == '2'){
        params.hospital = this.chooseHospital
      }else if(this.yearType=='3'){
        params.startDate = this.chooseTime[0] 
        params.endDate = this.chooseTime[1] 
      } 
      this.exportLoading = true
      var fileName = `消息推送明细.xls`
      httpRequest.downLoadFileForAjax('statistics/collaborate/exportSelectSmsInfoList', fileName, params).then(function() {
      var fileName = `异地医院管理情况统计.xls`
      outsideHospitalAPI.exportYdRehabilitationInfo(fileName,params).then(function(){
        vm.exportLoading = false
      })
    },
@ -272,29 +313,6 @@ Vue.component('outside-hospital-manage', {
      this.chooseTime = null
      this.$forceUpdate()
    },
    getHospital(code) {
      var vm = this
      delete this.form.hospital
      delete this.form.team
      var params = {
        type: 5,
        code: code
      }
      httpRequest.post('common/district', { data: params }).then(function(res) {
        vm.hospitalOptions = res.list
      })
    },
    getTeam(code) {
      var vm = this
      delete this.form.team
      var params = {
        hospital: code
      }
      httpRequest.get('statisticsExport/teamList', { data: params }).then(function(res) {
        vm.teamOptions = res.data
      })
    },
    handleCurrentChange(val) {
      this.page = val
      this.getList()
@ -303,34 +321,49 @@ Vue.component('outside-hospital-manage', {
      this.size = val
      this.getList()
    },
    handleCurrentDialogChange(val) {
      this.DialogPage = val
      if( this.title = '康复复诊记录明细'){
        this.ydRehabilitationFz() 
      }else{
        this.ydTurnDownDataPage()
      }
      
    },
    handleDialogSizeChange(val) {
      this.dialogSize = val
      if( this.title = '康复复诊记录明细'){
        this.ydRehabilitationFz() 
      }else{
        this.ydTurnDownDataPage()
      }
    },
  
    //详情
    openDialog(row, prop) {
      // if (!row.code) return
      // this.page = 1
      // this.query = {}
      // var len = row.code.length
      // if (len == 6) {
      //   this.query.range = 'town'
      //   this.query.area = row.code
      // } else if (len == 10) {
      //   this.query.range = 'hospital'
      //   this.query.hospital = row.code
      // } else {
      //   this.query.range = 'team'
      //   this.query.team = row.code
      // }
      // this.dataRangeOption = [{ label: row.name, value: row.code }]
      if (prop == 'idcard' || prop == 'hospitalName') {
      this.query = {
        name: '',
        mobile: '',
        sex: '',
        eventType: '',
        hospital: '',
        isRehabilitation:'',
        reservationType:'',
        doctorName:'',
      }
      if (prop == 'total' || prop == 'planNum') {
        this.title = '下转情况数据列表'
        this.dialogHeader = [
          { label: '姓名', prop: 'name', width: '110' },
          { label: '性别', prop: 'sex', width: '110' },
          { label: '年龄', prop: 'age', width: '110' },
          { label: '手机号', prop: 'phoen', width: '110' },
          { label: '下转次数', prop: 'sex', width: '110' },
          { label: '最近一次下转诊断', prop: 'age', width: '110' },
          { label: '最近一次下转时间', prop: 'phoen', width: '110' }
          { label: '手机号', prop: 'mobile', width: '110' },
          { label: '下转次数', prop: 'num', width: '110' },
          { label: '最近一次下转诊断', prop: 'diagnosisName', width: '110' },
          { label: '最近一次下转时间', prop: 'turnDownTime', width: '110' },
          { label: '最近一次下转类型', prop: 'eventType', width: '110' }
        ]
        this.ydTurnDownDataPage()
        this.visible = true
      } else if (prop == 'vd1Num' || prop == 'v4Num') {
        this.title = '康复复诊记录明细'
@ -339,13 +372,65 @@ Vue.component('outside-hospital-manage', {
          { label: '性别', prop: 'sex' },
          { label: '年龄', prop: 'age' },
          { label: '手机号', prop: 'mobile' },
          { label: '管理医院', prop: 'turnHospitalName' },
          { label: '管理医生', prop: 'turnDoctorName' },
          { label: '服务方式', prop: 'createTime' },
          { label: '服务时间', prop: 'hospitalName' }
          { label: '管理医院', prop: 'hospitalName' },
          { label: '管理医生', prop: 'doctorName' },
          { label: '服务方式', prop: 'reservationType' },
          { label: '服务时间', prop: 'finishTime' }
        ]
        this.ydRehabilitationFz()
        this.visible = true
      }
      
    },
    ydTurnDownDataPage(){
      vm = this;
      vm.dialogTableData = [];
      vm.dialogTotal=0
      var params ={
        page:this.dialogPage,
        pageSize:this.dialogSize,
        ...this.query
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01' 
        params.endDate = this.chooseYear + '-12-31' 
      } else if (this.yearType == '2'){
        params.hospital = this.chooseHospital
      }else if(this.yearType=='3'){
        params.startDate = this.chooseTime[0] 
        params.endDate = this.chooseTime[1] 
      } 
      outsideHospitalAPI.ydTurnDownDataPage(params).then(function(res){
        if(res.status == 200){
          vm.dialogTableData = res.detailModelList
          vm.dialogTotal = res.totalCount
        } 
      })
    },
    ydRehabilitationFz(){
      vm = this;
      vm.dialogTableData = [];
      vm.dialogTotal=0
      var params ={
        page:this.dialogPage,
        pageSize:this.dialogSize,
        ...this.query
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01' 
        params.endDate = this.chooseYear + '-12-31' 
      } else if (this.yearType == '2'){
        params.hospital = this.chooseHospital
      }else if(this.yearType=='3'){
        params.startDate = this.chooseTime[0] 
        params.endDate = this.chooseTime[1] 
      } 
      outsideHospitalAPI.ydRehabilitationFz(params).then(function(res){
        if(res.status == 200){
          vm.dialogTableData = res.detailModelList
          vm.dialogTotal = res.totalCount
        } 
      })
    },
    closeDialog() {
      this.visible = false
@ -364,42 +449,45 @@ Vue.component('outside-hospital-manage', {
    },
    dialogExportFn() {
      var vm = this
      this.exportLoading = true
      if (this.title == '康复随访记录明细') {
        var params = {
      vm.dialogExportLoading = true
      if (this.title == '康复复诊记录明细') {
        var params ={
          page:this.dialogPage,
          pageSize:9999,
          ...this.query
        }
        if (this.yearType == '1') {
          params.startDate = this.chooseYear + '-01-01'
          params.endDate = this.chooseYear + '-12-31'
        } else {
          if (this.chooseTime) {
            params.startDate = this.chooseTime[0]
            params.endDate = this.chooseTime[1]
          }
        }
        var fileName = `康复随访记录明细${new Date().getTime()}.xls`
        httpRequest.downLoadFileForAjax('statistics/collaborate/exportGxbRehabilitationFollowupRecord', fileName, params).then(function() {
          vm.exportLoading = false
          params.startDate = this.chooseYear + '-01-01' 
          params.endDate = this.chooseYear + '-12-31' 
        } else if (this.yearType == '2'){
          params.hospital = this.chooseHospital
        }else if(this.yearType=='3'){
          params.startDate = this.chooseTime[0] 
          params.endDate = this.chooseTime[1] 
        } 
        var fileName = `康复复诊记录明细${new Date().getTime()}.xls`
        outsideHospitalAPI.exportYdRehabilitationFz(fileName, params).then(function() {
          vm.dialogExportLoading = false
        })
      } else {
        var params = {
          ...this.query,
          type: 2
        vm = this;
        var params ={
          page:this.dialogPage,
          pageSize:9999,
          ...this.query
        }
        if (this.yearType == '1') {
          params.startDate = this.chooseYear + '-01-01'
          params.endDate = this.chooseYear + '-12-31'
        } else {
          if (this.chooseTime) {
            params.startDate = this.chooseTime[0]
            params.endDate = this.chooseTime[1]
          }
        }
        var fileName = `康复随访消息推送明细${new Date().getTime()}.xls`
        httpRequest.downLoadFileForAjax('statistics/collaborate/exportSelectSmsInfoList', fileName, params).then(function() {
          vm.exportLoading = false
          params.startDate = this.chooseYear + '-01-01' 
          params.endDate = this.chooseYear + '-12-31' 
        } else if (this.yearType == '2'){
          params.hospital = this.chooseHospital
        }else if(this.yearType=='3'){
          params.startDate = this.chooseTime[0] 
          params.endDate = this.chooseTime[1] 
        } 
        var fileName = `下转情况数据列表${new Date().getTime()}.xls`
        outsideHospitalAPI.exportYdTurnDownDataPage(fileName, params).then(function() {
          vm.dialogExportLoading = false 
        })
      }
    },
@ -408,10 +496,11 @@ Vue.component('outside-hospital-manage', {
      this.dialogSearch()
    },
    dialogSearch() {
      if (this.title == '康复随访记录明细') {
        this.gxbRehabilitationFollowupRecord()
      console.log(this,'this')
      if (this.title == '康复复诊记录明细') {
        this.ydRehabilitationFz()
      } else {
        this.selectSmsInfoList()
        this.ydTurnDownDataPage()
      }
    },
    renderHeader: function(h, item) {
@ -454,7 +543,12 @@ Vue.component('outside-hospital-manage', {
    // 个人案
    seePatientDetail(row, prop) {
      if (prop == 'name') {
        EventBus.$emit('preview-person-info', { type: '5', code: row.code })
        if(this.title == '康复复诊记录明细'){
          EventBus.$emit('preview-person-info', { type: '5', code: row.patient||row.id,flag:'yd' })
        }else{
          EventBus.$emit('preview-person-info', { type: '4', code: row.patient||row.id,flag:'yd' })
        }
        
      }
    }
  },

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

@ -168,7 +168,7 @@
          <div class="sf-doctor">{{item.doctor_name}}</div>
          <div class="sf-hospital">{{item.hospital_name}}</div>
          <div class="sf-status">{{item.status == '0'?'未完成':'已完成'}}</div>
          <el-button type="primary" @click="toDetail(item)" size="mini" v-if="item.status == '1'">查看详情</el-button>
          <el-button type="primary" @click="toDetail(item)" size="mini" v-if="!flag&&item.status == '1'">查看详情</el-button>
        </div>
      </div>
    </div>

+ 62 - 5
component/statistics/PersonInfo/index.js

@ -1,3 +1,4 @@
var template = ''
$.ajax('../../../component/statistics/PersonInfo/index.html', {
  data: {},
@ -35,7 +36,8 @@ Vue.component('person-info', {
      service: {},
      messageVisible: false,
      messInfo: '',
      title: ''
      title: '',
      flag:''
    }
  },
  methods: {
@ -49,6 +51,13 @@ Vue.component('person-info', {
        vm.title = vm.patientInfo.name + '个案详情'
      })
    },
    ydPatientDetailInfo() {
      var vm = this
      outsideHospitalAPI.ydPatientDetailInfo({ code: vm.code }).then(function (res) {
        vm.patientInfo = res.data
        vm.title = vm.patientInfo.name + '个案详情'
      })
    },
    goAssessment(code) {
      top.layer.open({
        type: 2,
@ -116,7 +125,12 @@ Vue.component('person-info', {
    },
    handleClick(item) {
      this.getPatientDetailList(item.name)
      if(this.flag&&this.flag=='yd'){
        this.ydPatientDetailList(item.name)
      }else{
        this.getPatientDetailList(item.name)
      }
      
    },
    getPatientDetailList(type) {
      var vm = this
@ -127,13 +141,50 @@ Vue.component('person-info', {
        vm[vm.tabListName[Number(type) - 1]] = data
        vm.loading = false
      })
    },
    ydPatientDetailList(type,code) {
      var vm = this
      if(code){
        outsideHospitalAPI.ydPatientDetailList({ code: code, type: type }).then(function (res) {
          if(res.status == 200){
            res.obj.compeletTotal = res.obj.num; 
            res.data.forEach(item=>{
              item.create_time = item.executeTime
              item.status = item.status =='未完成'?0:1;
              item.doctor_name = item.doctorName
              item.hospital_name = item.hospitalName
            })
            vm.sfList = res.data
            vm.sfNumObj=res.obj
          }
          console.log('1111111111111111111',res)
        })
      }else{
        vm.loading = true
        console.log('kkkkkkkkkkkkkkkkkkkkooooooooooo', type)
        outsideHospitalAPI.ydPatientDetailList({ code: vm.code, type: type }).then(function (res) {
          var data = vm.transformDataToAssessmentFormat(res.data, type)
          vm[vm.tabListName[Number(type) - 1]] = data
          vm.loading = false
        })
      }
      
      
    },
    openDialog(data) {
      this.visible = true
      this.type = data.type
      this.code = data.code
      this.getPatientInfo()
      this.getPatientDetailList(this.type)
      this.flag = data.flag
      if(this.flag && this.flag == 'yd'){
        this.ydPatientDetailInfo();
        this.ydPatientDetailList(this.type)
      }else{
        this.getPatientInfo()
        this.getPatientDetailList(this.type)
      }
     
    },
    closeDialog() {
      this.visible = false
@ -183,8 +234,14 @@ Vue.component('person-info', {
    toRehabilitationDetail(item) {
      this.currentPlan = item
      this.getSfList()
      console.log('this.flag',this.flag)
      if(this.flag && this.flag == 'yd'){
       this.ydPatientDetailList(6,item.id) 
      }else{
        this.getSfList()
      }
      this.rehabilitationDetailVisible = true
      
    },
    getSfList() {
      var vm = this