Quellcode durchsuchen

慢阻肺监测

hwy vor 8 Monaten
Ursprung
Commit
8e5d589ceb

+ 532 - 488
api/statistics-api.js

@ -1,504 +1,548 @@
(function(exports) {
    var statisticAPI = {
        /*************首页*******************/
        getSignInfo: function(data){
            return httpRequest.get("/statistics/sign_info", {data: data});
        },
        /*************总体分析页面接口列表**************/
        //1、顶部各个tab的值
        statisticTotal: function(data){
            return httpRequest.get("/statistics/total", {data: data});
        },
        //微信绑定和设备绑定数据接口
        statisticBindAll: function(data){
            return httpRequest.get("/statistics/index_all", {data: data});
        },
        //健康文章发送数量
        articleAll: function(data){
            return httpRequest.get("/statistics/article_total", {data: data});
        },
        //2、中间折线图接口 
        //增量(咨询量3、随访量4、健康教育5、代预约量27),到达量(绑定微信21、绑定设备20)
        interval: function(data){
            return httpRequest.get("statistics/interval", {data: data});
        },
        intervalTotal: function(data){
            return httpRequest.get("statistics/interval_total", {data: data});
        },
        //3、底部区域数据接口
        lowlevelTotal: function(data){
            return httpRequest.get("statistics/lowlevel_total", {data: data});
        },
        //微信绑定和设备绑定
        lowlevelAll: function(data){
            return httpRequest.get("statistics/lowlevel_all", {data: data});
        },
        //咨询量数据
        lowlevelTotalMesh: function(data){
            return httpRequest.get("statistics/lowlevel_total_mesh", {data: data});
        },
        articleLowlevelTotal: function(data){
            return httpRequest.get("/statistics/article_lowlevel_total", {data: data});
        },
        lowlevelData: function(url, data){
            return httpRequest.get(url, {data: data});
        },
        //获得团队的详情
        getTeamInfo: function(data){
            return httpRequest.get("doctor/admin-teams/teams/info", {data: data});
        },
        //获取居民分析相关数据
        leveltwoIncrementData: function(data){
            return httpRequest.get("/statistics/leveltwo_increment", {data: data});
        },
        statisticsTime:function(data){
        	return httpRequest.get("/statistics/time", {data: data});
        },
        //长处方分析接口
        getPrescriptionTotalHistogram: function(data){
            return httpRequest.get("statistics/getPrescriptionTotalHistogram", {data: data})
        },
        //评价分析
        //按月份获得个月的评价平均分
        getAVGSocreByMonth: function(data){
            return httpRequest.get("/statistics/getAVGSocreByMonth", {data: data});
        },
        //资质分析
        doorQualificationAnalyze: function(data){
            return httpRequest.get("/doctor/statisticAnalyze/doorQualificationAnalyze", {data: data});
        },
        //资质分析导出excel
        doorQualificationAnalyzeExport:httpRequest.server+"doctor/statisticAnalyze/doorQualificationAnalyzeExport",
        //响应速度分析
        doorResponseAnalyze: function(data){
            return httpRequest.get("/doctor/statisticAnalyze/doorResponseAnalyze", {data: data});
        },
        //响应速度分析导出excel
        doorResponseAnalyzeExport:httpRequest.server+"doctor/statisticAnalyze/doorResponseAnalyzeExport",
        //服务工单分析
        doorServiceOrderAnalyze: function(data){
            return httpRequest.get("/doctor/statisticAnalyze/doorServiceOrderAnalyze", {data: data});
        },
        //服务工单分析导出excel
        doorServiceOrderAnalyzeExport:httpRequest.server+"doctor/statisticAnalyze/doorServiceOrderAnalyzeExport",
        //补助费用
        subsidyExpense: function(data){
            return httpRequest.get("/doctor/statisticAnalyze/subsidyExpense", {data: data});
        },
        //补助费用导出excel
        subsidyExpenseExport:httpRequest.server+"doctor/statisticAnalyze/subsidyExpenseExport",
        
        //代预约记录
        GetReservationByTeamId: function(data){
            return httpRequest.post("/doctor/guahao/GetReservationByTeamId", {data: data});
        },
        
        //数据导出查询
        getStatisticDataList: function(data){
            return httpRequest.get("statisticsExport/getStatisticDataList", {data: data});
        },
        //数据导出查询-左侧树
        exportTreeList: function(data){
            return httpRequest.get("statisticsExport/treeList", {data: data});
        },
        // 专病分析-疾病类型
        specialistAnalysisDiseaseType: function(data){
            return httpRequest.get("specialistStatistics/specialistAnalysisDiseaseType", {data: data});
        },
        selectHospital: function(data){
            return httpRequest.get("specialistStatistics/selectHospital", {data: data});
        },
		//数据导出查询
		getWHFInfoList: function(data){
		    return httpRequest.get("third/door/getWHFInfoList", {data: data});
		},
		
		// 咨询分析明细  
		getConsultList: function(data){
		    return httpRequest.get("statisticsExport/getConsultList", {data: data});
		},
			
		// 签约分析明细
		getSignList: function(data){
		    return httpRequest.get("statisticsExport/getSignList", {data: data});
		},
		// 专病分析明细
		getSickList: function(data){
		    return httpRequest.get("statisticsExport/getSickList", {data: data});
		},
		
		// 生日祝福分析明细
		getBirthdayPatientList: function(data){
		    return httpRequest.get("statisticsExport/getBirthdayPatientList", {data: data});
		},
		//导出生日祝福分析明细
		getBirthdayPatientListExport: function(data){
		    return httpRequest.get("statisticsExport/getBirthdayPatientListExport", {data: data});
		},
		
		// 上门服务分析明细
		getDoorServiceList: function(data){
		    return httpRequest.get("statisticsExport/getDoorServiceList", {data: data});
		},
		
		// 长处方分析明细
		getPrescriptionList: function(data){
		    return httpRequest.get("statisticsExport/getPrescriptionList", {data: data});
		},
		
		// 获取专病疾病类型
		getDiseaseTypeList: function(data){
		    return httpRequest.get("statisticsExport/getDiseaseTypeList", {data: data});
		},
		// 年度考核报表
		getAnnualAssessment: function(data){
		    return httpRequest.get("statisticsExport/getAnnualAssessment", {data: data});
		},
		// 体征数据列表
		getHealthList: function(data){
		    return httpRequest.get("statisticsExport/getHealthList", {data: data});
		},
		// 上转预约列表
		getDoctorReservationList: function(data){
		    return httpRequest.get("statisticsExport/getDoctorReservationList", {data: data});
		},
		// 专病复诊明细列表
		getXxzxMedicalHistoryList: function(data){
		    return httpRequest.get("statisticsExport/getXxzxMedicalHistoryList", {data: data});
		},
		// 微信绑定列表
		getWexinBindingList: function(data){
		    return httpRequest.get("statisticsExport/getWexinBindingList", {data: data});
		},
		// 查询上转预约科室和医院
		getReservationHosAndDept: function(data){
		    return httpRequest.get("statisticsExport/getReservationHosAndDept", {data: data});
		},
		//  获取汇总数据的专科医院
		getSpecialHospital: function(data){
		    return httpRequest.get("statisticsExport/getSpecialHospital", {data: data});
		},
		//专病汇总查询
		getSpecialDiseaseReport: function(data){
		    return httpRequest.get("statisticsExport/getSpecialDiseaseReport", {data: data});
		},
		//体征分析查询
		getDeviceHealthReport: function(data){
		    return httpRequest.get("statisticsExport/getDeviceHealthReport", {data: data});
		},
		//上门汇总
		getDoorServerOrderReport: function(data){
		    return httpRequest.get("statisticsExport/getDoorServerOrderReport", {data: data});
		},
		// 居民积分明细
		patinetIntegralAnalysis: function(data){
		    return httpRequest.get("statisticsExport/patinetIntegralAnalysis", {data: data});
		},
		// 入户访视明细
		findPatientFollowListByCondition: function(data){
		    return httpRequest.get("statisticsExport/findPatientFollowListByCondition", {data: data});
		},
		//康复下转明细
		rehabilitationPatientInfo: function(data){
		    return httpRequest.get("doctor/specialist/rehabilitation/rehabilitationPatientInfo", {data: data});
		},
		// 康复下转分配,同步居民,同步病历
		synchronizePationSingle: function(data){
		    return httpRequest.post("doctor/specialist/rehabilitation/synchronizePationSingle", {data: data});
		},
		//康复下转获取签约信息
		kangfuGetSignInfo: function(data){
		    return httpRequest.get("doctor/specialist/rehabilitation/getSignInfo", {data: data});
		},
		// 获取社区医院
		hospitalsByType: function(data){
		    return httpRequest.get("hospitals/hospitalsByType", {data: data});
		},
		// 邀请专科医生回复明细列表
		consultHelpDetailPage: function(data){
		    return httpRequest.get("statisticsExport/consultHelpDetailPage", {data: data});
		},
		// 邀请专科医生回复统计列表
		consultHelpCountPage: function(data){
		    return httpRequest.get("statisticsExport/consultHelpCountPage", {data: data});
		},
		
		// 获取慢阻肺医院工作量表
		hospitalWorkStatistics: function(data){
		    return httpRequest.get("copd/statistics/hospitalWorkStatistics", {data: data});
		},
		
		// 级联查询医院
		cascadingFindHosptail: function(data){
		    return httpRequest.get("copd/statistics/cascadingFindHosptail", {data: data});
		},
;(function (exports) {
  var statisticAPI = {
    /*************首页*******************/
    getSignInfo: function (data) {
      return httpRequest.get('/statistics/sign_info', { data: data })
    },
    /*************总体分析页面接口列表**************/
    //1、顶部各个tab的值
    statisticTotal: function (data) {
      return httpRequest.get('/statistics/total', { data: data })
    },
    //微信绑定和设备绑定数据接口
    statisticBindAll: function (data) {
      return httpRequest.get('/statistics/index_all', { data: data })
    },
    //健康文章发送数量
    articleAll: function (data) {
      return httpRequest.get('/statistics/article_total', { data: data })
    },
    //2、中间折线图接口
    //增量(咨询量3、随访量4、健康教育5、代预约量27),到达量(绑定微信21、绑定设备20)
    interval: function (data) {
      return httpRequest.get('statistics/interval', { data: data })
    },
    intervalTotal: function (data) {
      return httpRequest.get('statistics/interval_total', { data: data })
    },
    //3、底部区域数据接口
    lowlevelTotal: function (data) {
      return httpRequest.get('statistics/lowlevel_total', { data: data })
    },
    //微信绑定和设备绑定
    lowlevelAll: function (data) {
      return httpRequest.get('statistics/lowlevel_all', { data: data })
    },
    //咨询量数据
    lowlevelTotalMesh: function (data) {
      return httpRequest.get('statistics/lowlevel_total_mesh', { data: data })
    },
    articleLowlevelTotal: function (data) {
      return httpRequest.get('/statistics/article_lowlevel_total', { data: data })
    },
    lowlevelData: function (url, data) {
      return httpRequest.get(url, { data: data })
    },
    //获得团队的详情
    getTeamInfo: function (data) {
      return httpRequest.get('doctor/admin-teams/teams/info', { data: data })
    },
    //获取居民分析相关数据
    leveltwoIncrementData: function (data) {
      return httpRequest.get('/statistics/leveltwo_increment', { data: data })
    },
    statisticsTime: function (data) {
      return httpRequest.get('/statistics/time', { data: data })
    },
    //长处方分析接口
    getPrescriptionTotalHistogram: function (data) {
      return httpRequest.get('statistics/getPrescriptionTotalHistogram', { data: data })
    },
    //评价分析
    //按月份获得个月的评价平均分
    getAVGSocreByMonth: function (data) {
      return httpRequest.get('/statistics/getAVGSocreByMonth', { data: data })
    },
    //资质分析
    doorQualificationAnalyze: function (data) {
      return httpRequest.get('/doctor/statisticAnalyze/doorQualificationAnalyze', { data: data })
    },
    //资质分析导出excel
    doorQualificationAnalyzeExport: httpRequest.server + 'doctor/statisticAnalyze/doorQualificationAnalyzeExport',
    //响应速度分析
    doorResponseAnalyze: function (data) {
      return httpRequest.get('/doctor/statisticAnalyze/doorResponseAnalyze', { data: data })
    },
    //响应速度分析导出excel
    doorResponseAnalyzeExport: httpRequest.server + 'doctor/statisticAnalyze/doorResponseAnalyzeExport',
    //服务工单分析
    doorServiceOrderAnalyze: function (data) {
      return httpRequest.get('/doctor/statisticAnalyze/doorServiceOrderAnalyze', { data: data })
    },
    //服务工单分析导出excel
    doorServiceOrderAnalyzeExport: httpRequest.server + 'doctor/statisticAnalyze/doorServiceOrderAnalyzeExport',
    //补助费用
    subsidyExpense: function (data) {
      return httpRequest.get('/doctor/statisticAnalyze/subsidyExpense', { data: data })
    },
    //补助费用导出excel
    subsidyExpenseExport: httpRequest.server + 'doctor/statisticAnalyze/subsidyExpenseExport',
		// 获取慢阻肺V1\入组情况报表
		findHospitalEntryCount: function(data){
		    return httpRequest.get("copd/statistics/findHospitalEntryCount", {data: data}); 
		},
    //代预约记录
    GetReservationByTeamId: function (data) {
      return httpRequest.post('/doctor/guahao/GetReservationByTeamId', { data: data })
    },
		//慢阻肺患者查询
		getCopdPatientInfoList: function(data){
			return httpRequest.get("copd/statistics/getCopdPatientInfoList", {data: data}); 
		},
    //数据导出查询
    getStatisticDataList: function (data) {
      return httpRequest.get('statisticsExport/getStatisticDataList', { data: data })
    },
    //数据导出查询-左侧树
    exportTreeList: function (data) {
      return httpRequest.get('statisticsExport/treeList', { data: data })
    },
    // 专病分析-疾病类型
    specialistAnalysisDiseaseType: function (data) {
      return httpRequest.get('specialistStatistics/specialistAnalysisDiseaseType', { data: data })
    },
    selectHospital: function (data) {
      return httpRequest.get('specialistStatistics/selectHospital', { data: data })
    },
    //数据导出查询
    getWHFInfoList: function (data) {
      return httpRequest.get('third/door/getWHFInfoList', { data: data })
    },
		//慢阻肺入组进度表
		getCopdEntryData: function(data){
		    return httpRequest.get("copd/statistics/getCopdEntryData", {data: data}); 
		},
		
		//慢阻肺入组明细
		getCopdEntryCommunityData: function(data){
		    return httpRequest.get("copd/statistics/getCopdEntryCommunityData", {data: data}); 
		},
    // 咨询分析明细
    getConsultList: function (data) {
      return httpRequest.get('statisticsExport/getConsultList', { data: data })
    },
		
		//慢阻肺随访进度表
		getCopdFollowData: function(data){
			return httpRequest.get("copd/statistics/getCopdFollowData", {data: data}); 
		},
    // 签约分析明细
    getSignList: function (data) {
      return httpRequest.get('statisticsExport/getSignList', { data: data })
    },
    // 专病分析明细
    getSickList: function (data) {
      return httpRequest.get('statisticsExport/getSickList', { data: data })
    },
		//慢阻肺随访明细表-PC
		getCopdFollowDetailData: function(data){
			return httpRequest.get("copd/statistics/getCopdFollowDetailData", {data: data}); 
		},
    // 生日祝福分析明细
    getBirthdayPatientList: function (data) {
      return httpRequest.get('statisticsExport/getBirthdayPatientList', { data: data })
    },
    //导出生日祝福分析明细
    getBirthdayPatientListExport: function (data) {
      return httpRequest.get('statisticsExport/getBirthdayPatientListExport', { data: data })
    },
		//阻肺呼吸训练数据【获取慢阻肺的呼吸的列表数据】
		findCopdHealthInfoList: function(data){
			return httpRequest.get("copd/statistics/findCopdHealthInfoList", {data: data}); 
		},
    // 上门服务分析明细
    getDoorServiceList: function (data) {
      return httpRequest.get('statisticsExport/getDoorServiceList', { data: data })
    },
		// 一个患者所有的呼吸数据
		findCopdHealthInfoByCode: function(data){
			return httpRequest.get("copd/statistics/findCopdHealthInfoByCode", {data: data}); 
		},
    // 长处方分析明细
    getPrescriptionList: function (data) {
      return httpRequest.get('statisticsExport/getPrescriptionList', { data: data })
    },
		// 获取个案的随访信息【随访计划】
		findCopdPatientFollowList: function(data){
			return httpRequest.get("copd/statistics/findCopdPatientFollowList", {data: data}); 
		},
		// 获取慢阻肺手表数据
		watchStatisticsList: function(data){
			return httpRequest.get("copd/statistics/watchStatisticsList", {data: data}); 
		},
		// 获取慢阻肺手表亚组居民列表
		watchPage: function(data){
			return httpRequest.get("copd/statistics/watchPage", {data: data}); 
		},
		// 获取慢阻肺手表体征数据明细
		copdList: function(data){
			return httpRequest.get("doctor/health_index/copdList", {data: data}); 
		},
		// 慢阻肺监查、稽查情况统计查询
		getCopdCheckExamineData: function(data){
			return httpRequest.get("copd/statistics/getCopdCheckExamineData", {data: data}); 
		},
		// 慢阻肺第二阶段三级医院入组进度
		getGradeHospitalEntryData: function(data){
			return httpRequest.get("/copd/statistics/getGradeHospitalEntryData", {data: data}); 
		},
	    // 慢阻肺第二阶段社区医院入组进度
	    getCommunityHospitalEntryData: function(data){
	    	return httpRequest.get("/copd/statistics/getCommunityHospitalEntryData", {data: data}); 
	    },
		// 慢阻肺第二阶段三级医院随访进度
		getGradeHospitalFollowData: function(data){
			return httpRequest.get("/copd/statistics/getGradeHospitalFollowData", {data: data}); 
		},
		// 慢阻肺第二阶段社区医院随访进度
		getCommunityHospitalFollowData: function(data){
			return httpRequest.get("/copd/statistics/getCommunityHospitalFollowData", {data: data}); 
		},
		// 慢阻肺第一阶段入组随访进度
		getFirstStageEntryData: function(data){
			return httpRequest.get("/copd/statistics/getFirstStageEntryData", {data: data}); 
		},
		// 慢阻肺第二阶段三级医院随访进度及出组情况
		getFollowAndOutData: function(data){
			return httpRequest.get("/copd/statistics/getFollowAndOutData", {data: data}); 
		},
		
        		
		
		
		
		
		
		
		
		
		
    // 获取专病疾病类型
    getDiseaseTypeList: function (data) {
      return httpRequest.get('statisticsExport/getDiseaseTypeList', { data: data })
    },
    // 年度考核报表
    getAnnualAssessment: function (data) {
      return httpRequest.get('statisticsExport/getAnnualAssessment', { data: data })
    },
    // 体征数据列表
    getHealthList: function (data) {
      return httpRequest.get('statisticsExport/getHealthList', { data: data })
    },
    // 上转预约列表
    getDoctorReservationList: function (data) {
      return httpRequest.get('statisticsExport/getDoctorReservationList', { data: data })
    },
    // 专病复诊明细列表
    getXxzxMedicalHistoryList: function (data) {
      return httpRequest.get('statisticsExport/getXxzxMedicalHistoryList', { data: data })
    },
    // 微信绑定列表
    getWexinBindingList: function (data) {
      return httpRequest.get('statisticsExport/getWexinBindingList', { data: data })
    },
    // 查询上转预约科室和医院
    getReservationHosAndDept: function (data) {
      return httpRequest.get('statisticsExport/getReservationHosAndDept', { data: data })
    },
    //  获取汇总数据的专科医院
    getSpecialHospital: function (data) {
      return httpRequest.get('statisticsExport/getSpecialHospital', { data: data })
    },
    //专病汇总查询
    getSpecialDiseaseReport: function (data) {
      return httpRequest.get('statisticsExport/getSpecialDiseaseReport', { data: data })
    },
    //体征分析查询
    getDeviceHealthReport: function (data) {
      return httpRequest.get('statisticsExport/getDeviceHealthReport', { data: data })
    },
    //上门汇总
    getDoorServerOrderReport: function (data) {
      return httpRequest.get('statisticsExport/getDoorServerOrderReport', { data: data })
    },
    // 居民积分明细
    patinetIntegralAnalysis: function (data) {
      return httpRequest.get('statisticsExport/patinetIntegralAnalysis', { data: data })
    },
    // 入户访视明细
    findPatientFollowListByCondition: function (data) {
      return httpRequest.get('statisticsExport/findPatientFollowListByCondition', { data: data })
    },
    //康复下转明细
    rehabilitationPatientInfo: function (data) {
      return httpRequest.get('doctor/specialist/rehabilitation/rehabilitationPatientInfo', { data: data })
    },
    // 康复下转分配,同步居民,同步病历
    synchronizePationSingle: function (data) {
      return httpRequest.post('doctor/specialist/rehabilitation/synchronizePationSingle', { data: data })
    },
    //康复下转获取签约信息
    kangfuGetSignInfo: function (data) {
      return httpRequest.get('doctor/specialist/rehabilitation/getSignInfo', { data: data })
    },
     // 获取社区医院
     hospitalList: function (data) {
      return httpRequest.get('/doctor/jkCopd/hospitalList', { data: data })
    },
    
    // 获取社区医院
    hospitalsByType: function (data) {
      return httpRequest.get('hospitals/hospitalsByType', { data: data })
    },
    // 邀请专科医生回复明细列表
    consultHelpDetailPage: function (data) {
      return httpRequest.get('statisticsExport/consultHelpDetailPage', { data: data })
    },
    // 邀请专科医生回复统计列表
    consultHelpCountPage: function (data) {
      return httpRequest.get('statisticsExport/consultHelpCountPage', { data: data })
    },
		// 综合分析导出
		statisticsExportExport: function(data, filename){
		    return httpRequest.downLoadFileForAjax("statisticsExport/export", filename, data);
		},
		// 咨询分析导出
		statisticsExportExportConsultList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportConsultList", filename, data);
		},
		// 签约分析导出
		statisticsExportExportSignList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportSignList", filename, data);
		},
		// 专病分析导出
		statisticsExportExportSickList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportSickList", filename, data);
		},
		// 生日祝福分析导出
		statisticsExportGetBirthdayPatientListExport: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/getBirthdayPatientListExport", filename, data);
		},
		// 上门服务导出
		statisticsExportExportDoorServiceList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportDoorServiceList", filename, data);
		},
		// 长处方导出
		statisticsExportExportPrescriptionList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportPrescriptionList", filename, data);
		},
		// 年度考核报表导出
		statisticsExportExportAnnualAssessment: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportAnnualAssessment", filename, data);
		},
		// 咨询未及时回复导出
		appAdminToExcel: function(data, filename){
			return httpRequest.downLoadFileForAjax("third/door/appAdminToExcel", filename, data);
		},
		//体征数据导出
		exportHealthList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportHealthList", filename, data);
		},
		//上转预约导出
		exportDoctorReservationList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportDoctorReservationList", filename, data);
		},
		//微信绑定导出
		exportWexinBindingList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportWexinBindingList", filename, data);
		},
		// 专病汇总导出
		exportSpecialDiseaseReport: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportSpecialDiseaseReport", filename, data);
		},
		// 体征分析导出
		exportDeviceHealthReport: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportDeviceHealthReport", filename, data);
		},
		// 上门汇总导出
		exportDoorServerOrderReport: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportDoorServerOrderReport", filename, data);
		},
		// 居民积分明细导出
		exPatinetIntegralAnalysis: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exPatinetIntegralAnalysis", filename, data);
		},
		// 入户访视明细导出
		exfindPatientFollowListByCondition: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exfindPatientFollowListByCondition", filename, data);
		},
		// 康复下转明细导出
		exportRehabilitationPatientInfo: function(data, filename){
			return httpRequest.downLoadFileForAjax("doctor/specialist/rehabilitation/exportRehabilitationPatientInfo", filename, data);
		},
		// 邀请专科医生回复明细导出
		exportConsultHelpDetailPage: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportConsultHelpDetailPage", filename, data);
		},
		// 邀请专科医生回复统计导出
		exportConsultHelpCountPage: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportConsultHelpCountPage", filename, data);
		},
		// 	慢阻肺医院工作量表导出
		exportHospitalWorkStatistics: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportHospitalWorkStatistics", filename, data);
		},
		
		// v1入组导出
		exportHospitalEntryCount: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportHospitalEntryCount", filename, data);
		},
		// 	专病复诊明细表导出
		exportXxzxMedicalHistoryList: function(data, filename){
			return httpRequest.downLoadFileForAjax("statisticsExport/exportXxzxMedicalHistoryList", filename, data);
		},
		
		// 慢阻肺入组进度表-PC-导出
		exportCopdEntryData: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportCopdEntryData", filename, data);
		},
    // 获取慢阻肺医院工作量表
    hospitalWorkStatistics: function (data) {
      return httpRequest.get('copd/statistics/hospitalWorkStatistics', { data: data })
    },
		// 慢阻肺入组明细表-PC-导出
		exportCopdEntryCommunityData: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportCopdEntryCommunityData", filename, data);
		},
    // 级联查询医院
    cascadingFindHosptail: function (data) {
      return httpRequest.get('copd/statistics/cascadingFindHosptail', { data: data })
    },
		//慢阻肺随访进度表-PC-导出
		exportCopdFollowData: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportCopdFollowData", filename, data);
		},
    // 获取慢阻肺V1\入组情况报表
    findHospitalEntryCount: function (data) {
      return httpRequest.get('copd/statistics/findHospitalEntryCount', { data: data })
    },
		//慢阻肺随访明细表-PC-导出
		exportCopdFollowDetailData: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportCopdFollowDetailData", filename, data);
		},
    //慢阻肺患者查询
    getCopdPatientInfoList: function (data) {
      return httpRequest.get('copd/statistics/getCopdPatientInfoList', { data: data })
    },
		// 呼吸数据导出
		exoprtCopdHealthInfoList: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exoprtCopdHealthInfoList", filename, data);
		},
    //慢阻肺入组进度表
    getCopdEntryData: function (data) {
      return httpRequest.get('copd/statistics/getCopdEntryData', { data: data })
    },
		 // 慢阻肺患者查询导出
		 exportCopdPatientInfoList: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportCopdPatientInfoList", filename, data);
		},
		
		//导出随访计划
		exportConclusionList: function(data, filename){
			return httpRequest.downLoadFileForAjax("doctor/copd/exportConclusionList", filename, data);
		},
		// 手表亚组数据导出
		exportWatchStatisticsList: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportWatchStatisticsList", filename, data);
		},
		// 手表亚组居民数据导出
		exportWatchPage: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportWatchPage", filename, data);
		},
		// 慢阻肺监查、稽查情况统计导出
		exportCopdCheckExamineData: function(data, filename){
			return httpRequest.downLoadFileForAjax("copd/statistics/exportCopdCheckExamineData", filename, data);
		},
		// 慢阻肺第一阶段入组随访情况统计导出
		exportFirstStageEntryData: function(data, filename){
			return httpRequest.downLoadFileForAjax("/copd/statistics/exportFirstStageEntryData", filename, data);
		},
		// 慢阻肺第二阶段社区医院随访情况导出
		exportCommunityHospitalFollowData: function(data, filename){
			return httpRequest.downLoadFileForAjax("/copd/statistics/exportCommunityHospitalFollowData", filename, data);
		},
		// 慢阻肺第二阶段三级医院随访情况统计导出
		exportGradeHospitalFollowData: function(data, filename){
			return httpRequest.downLoadFileForAjax("/copd/statistics/exportGradeHospitalFollowData", filename, data);
		},
		// 慢阻肺第二阶段社区医院入组情况统计导出
		exportCommunityHospitalEntryData: function(data, filename){
			return httpRequest.downLoadFileForAjax("/copd/statistics/exportCommunityHospitalEntryData", filename, data);
		},
		// 慢阻肺第二阶段三级医院入组情况统计导出
		exportGradeHospitalEntryData: function(data, filename){
			return httpRequest.downLoadFileForAjax("/copd/statistics/exportGradeHospitalEntryData", filename, data);
		},
		// 慢阻肺第二阶段三级医院随访进度及出组情况导出
		exportFollowAndOutData: function(data, filename){
			return httpRequest.downLoadFileForAjax("/copd/statistics/exportFollowAndOutData", filename, data);
		},
		
		
		
		
    //慢阻肺入组明细
    getCopdEntryCommunityData: function (data) {
      return httpRequest.get('copd/statistics/getCopdEntryCommunityData', { data: data })
    },
    //慢阻肺随访进度表
    getCopdFollowData: function (data) {
      return httpRequest.get('copd/statistics/getCopdFollowData', { data: data })
    },
    //慢阻肺随访明细表-PC
    getCopdFollowDetailData: function (data) {
      return httpRequest.get('copd/statistics/getCopdFollowDetailData', { data: data })
    },
    //阻肺呼吸训练数据【获取慢阻肺的呼吸的列表数据】
    findCopdHealthInfoList: function (data) {
      return httpRequest.get('copd/statistics/findCopdHealthInfoList', { data: data })
    },
    // 一个患者所有的呼吸数据
    findCopdHealthInfoByCode: function (data) {
      return httpRequest.get('copd/statistics/findCopdHealthInfoByCode', { data: data })
    },
    // 获取个案的随访信息【随访计划】
    findCopdPatientFollowList: function (data) {
      return httpRequest.get('copd/statistics/findCopdPatientFollowList', { data: data })
    },
    // 获取慢阻肺手表数据
    watchStatisticsList: function (data) {
      return httpRequest.get('copd/statistics/watchStatisticsList', { data: data })
    },
    // 获取慢阻肺手表亚组居民列表
    watchPage: function (data) {
      return httpRequest.get('copd/statistics/watchPage', { data: data })
    },
    // 获取慢阻肺手表体征数据明细
    copdList: function (data) {
      return httpRequest.get('doctor/health_index/copdList', { data: data })
    },
    // 慢阻肺监查、稽查情况统计查询
    getCopdCheckExamineData: function (data) {
      return httpRequest.get('copd/statistics/getCopdCheckExamineData', { data: data })
    },
    // 慢阻肺第二阶段三级医院入组进度
    getGradeHospitalEntryData: function (data) {
      return httpRequest.get('/copd/statistics/getGradeHospitalEntryData', { data: data })
    },
    // 慢阻肺第二阶段社区医院入组进度
    getCommunityHospitalEntryData: function (data) {
      return httpRequest.get('/copd/statistics/getCommunityHospitalEntryData', { data: data })
    },
    // 慢阻肺第二阶段三级医院随访进度
    getGradeHospitalFollowData: function (data) {
      return httpRequest.get('/copd/statistics/getGradeHospitalFollowData', { data: data })
    },
    // 慢阻肺第二阶段社区医院随访进度
    getCommunityHospitalFollowData: function (data) {
      return httpRequest.get('/copd/statistics/getCommunityHospitalFollowData', { data: data })
    },
    // 慢阻肺第一阶段入组随访进度
    getFirstStageEntryData: function (data) {
      return httpRequest.get('/copd/statistics/getFirstStageEntryData', { data: data })
    },
    // 慢阻肺第二阶段三级医院随访进度及出组情况
    getFollowAndOutData: function (data) {
      return httpRequest.get('/copd/statistics/getFollowAndOutData', { data: data })
    },
    //慢阻肺居民监测档案列表
    jkCopdAchivesPage: function (data) {
      return httpRequest.get('/doctor/jkCopd/jkCopdAchivesPage', { data: data })
    },
    updJkCopdPatient: function (data) {
      return httpRequest.post('/doctor/jkCopd/updJkCopdPatient', { data: data })
    },
    //通用字典
    getDictByDictName: function (data) {
      return httpRequest.get('/common/getDictByDictName', { data: data })
    },
    getNationDict: function (data) {
      return httpRequest.get('/doctor/patient/getNationDict', { data: data })
    },
    //获取省市区  type:省1,市2,区3  
    getDistrict:function(data) {
    return httpRequest.post("/common/district", {data: data})
    },	
    //档案同步
    synPatient:function(data) {
      return httpRequest.post("/doctor/jkCopd/synPatient", {data: data})
      },	
    dealRecordPage: function (data) {
      return httpRequest.get('/doctor/jkCopd/dealRecordPage', { data: data })
    },
    followupDetail: function (data) {
      return httpRequest.get('/doctor/jkCopd/followupDetail', { data: data })
    },
    //批量分配
    distributionHospital:function(data) {
      return httpRequest.post("/doctor/jkCopd/distributionHospital", {data: data})
      },	
      manageInfo: function (data) {
        return httpRequest.get('/doctor/jkCopd/manageInfo', { data: data })
      },
      
     // 档案导出
     exportJkCopdAchives: function (data, filename) {
      return httpRequest.downLoadFileForAjax('doctor/jkCopd/exportJkCopdAchives', filename, data)
    },
    
       // 档案导入
       importExcel:function(data) {
        return httpRequest.post("/doctor/jkCopd/importExcel", {data: data})
        },	
     // 管理情况自助查询导出
     exportManageInfo: function (data, filename) {
      return httpRequest.downLoadFileForAjax('doctor/jkCopd/exportManageInfo', filename, data)
    },
    
    // 综合分析导出
    statisticsExportExport: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/export', filename, data)
    },
    // 咨询分析导出
    statisticsExportExportConsultList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportConsultList', filename, data)
    },
    // 签约分析导出
    statisticsExportExportSignList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportSignList', filename, data)
    },
    // 专病分析导出
    statisticsExportExportSickList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportSickList', filename, data)
    },
    // 生日祝福分析导出
    statisticsExportGetBirthdayPatientListExport: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/getBirthdayPatientListExport', filename, data)
    },
    // 上门服务导出
    statisticsExportExportDoorServiceList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportDoorServiceList', filename, data)
    },
    // 长处方导出
    statisticsExportExportPrescriptionList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportPrescriptionList', filename, data)
    },
    // 年度考核报表导出
    statisticsExportExportAnnualAssessment: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportAnnualAssessment', filename, data)
    },
    // 咨询未及时回复导出
    appAdminToExcel: function (data, filename) {
      return httpRequest.downLoadFileForAjax('third/door/appAdminToExcel', filename, data)
    },
    //体征数据导出
    exportHealthList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportHealthList', filename, data)
    },
    //上转预约导出
    exportDoctorReservationList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportDoctorReservationList', filename, data)
    },
    //微信绑定导出
    exportWexinBindingList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportWexinBindingList', filename, data)
    },
    // 专病汇总导出
    exportSpecialDiseaseReport: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportSpecialDiseaseReport', filename, data)
    },
    // 体征分析导出
    exportDeviceHealthReport: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportDeviceHealthReport', filename, data)
    },
    // 上门汇总导出
    exportDoorServerOrderReport: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportDoorServerOrderReport', filename, data)
    },
    // 居民积分明细导出
    exPatinetIntegralAnalysis: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exPatinetIntegralAnalysis', filename, data)
    },
    // 入户访视明细导出
    exfindPatientFollowListByCondition: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exfindPatientFollowListByCondition', filename, data)
    },
    // 康复下转明细导出
    exportRehabilitationPatientInfo: function (data, filename) {
      return httpRequest.downLoadFileForAjax(
        'doctor/specialist/rehabilitation/exportRehabilitationPatientInfo',
        filename,
        data
      )
    },
    // 邀请专科医生回复明细导出
    exportConsultHelpDetailPage: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportConsultHelpDetailPage', filename, data)
    },
    // 邀请专科医生回复统计导出
    exportConsultHelpCountPage: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportConsultHelpCountPage', filename, data)
    },
    // 	慢阻肺医院工作量表导出
    exportHospitalWorkStatistics: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportHospitalWorkStatistics', filename, data)
    },
    // v1入组导出
    exportHospitalEntryCount: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportHospitalEntryCount', filename, data)
    },
    // 	专病复诊明细表导出
    exportXxzxMedicalHistoryList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('statisticsExport/exportXxzxMedicalHistoryList', filename, data)
    },
    // 慢阻肺入组进度表-PC-导出
    exportCopdEntryData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportCopdEntryData', filename, data)
    },
    // 慢阻肺入组明细表-PC-导出
    exportCopdEntryCommunityData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportCopdEntryCommunityData', filename, data)
    },
    //慢阻肺随访进度表-PC-导出
    exportCopdFollowData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportCopdFollowData', filename, data)
    },
    //慢阻肺随访明细表-PC-导出
    exportCopdFollowDetailData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportCopdFollowDetailData', filename, data)
    },
    // 呼吸数据导出
    exoprtCopdHealthInfoList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exoprtCopdHealthInfoList', filename, data)
    },
    // 慢阻肺患者查询导出
    exportCopdPatientInfoList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportCopdPatientInfoList', filename, data)
    },
    //导出随访计划
    exportConclusionList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('doctor/copd/exportConclusionList', filename, data)
    },
    // 手表亚组数据导出
    exportWatchStatisticsList: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportWatchStatisticsList', filename, data)
    },
    // 手表亚组居民数据导出
    exportWatchPage: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportWatchPage', filename, data)
    },
    // 慢阻肺监查、稽查情况统计导出
    exportCopdCheckExamineData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('copd/statistics/exportCopdCheckExamineData', filename, data)
    },
    // 慢阻肺第一阶段入组随访情况统计导出
    exportFirstStageEntryData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('/copd/statistics/exportFirstStageEntryData', filename, data)
    },
    // 慢阻肺第二阶段社区医院随访情况导出
    exportCommunityHospitalFollowData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('/copd/statistics/exportCommunityHospitalFollowData', filename, data)
    },
    // 慢阻肺第二阶段三级医院随访情况统计导出
    exportGradeHospitalFollowData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('/copd/statistics/exportGradeHospitalFollowData', filename, data)
    },
    // 慢阻肺第二阶段社区医院入组情况统计导出
    exportCommunityHospitalEntryData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('/copd/statistics/exportCommunityHospitalEntryData', filename, data)
    },
    // 慢阻肺第二阶段三级医院入组情况统计导出
    exportGradeHospitalEntryData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('/copd/statistics/exportGradeHospitalEntryData', filename, data)
    },
    // 慢阻肺第二阶段三级医院随访进度及出组情况导出
    exportFollowAndOutData: function (data, filename) {
      return httpRequest.downLoadFileForAjax('/copd/statistics/exportFollowAndOutData', filename, data)
    }
  }
    exports.statisticAPI = statisticAPI;
})(window)
  exports.statisticAPI = statisticAPI
})(window)

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

@ -93,8 +93,9 @@
                  <el-checkbox
                      v-for="(check, index) in copdManageSearchFilterList"
                      :key="index"
                      :label="check.value">
                    {{check.label}}
                      :label="check.code"
                      >
                      {{check.value}}
                  </el-checkbox>
                </el-checkbox-group>
              </div>

+ 12 - 1
app/statistics/js/comprehensive-query.js

@ -1,3 +1,4 @@
Vue.use(Vuedals.default);
new Vue({
  el: '#main',
@ -92,7 +93,7 @@ new Vue({
    ],
    mzfJcTabsData: [
      {label: '慢阻肺患者档案', id: '63'},
      {label: '管理情况自主查询', id: '64'}
      {label: '管理情况自助查询', id: '64'}
    ],
    // 慢阻肺管理情况自处查询字段列表
    copdManageSearchFilterList: [
@ -570,6 +571,7 @@ new Vue({
    var vm = this;
    //初始化数据
    initData(vm);
    vm.getQuotaStr()
    vm.getDiseaseTypeList();
    vm.height = document.body.offsetHeight - 85;
    window.onresize = function () {
@ -580,6 +582,14 @@ new Vue({
    this.list.unshift({type: '0', id: 'time', label: this.s + '~' + this.e});
  },
  methods: {
    //获取综合查询指标
    getQuotaStr(){
      var vm =this
    statisticAPI.getDictByDictName({name:'jkcopd_quotaStr'}).then(function(res){
      vm.copdManageSearchFilterList=res.list
      console.log(vm.copdManageSearchFilterList,'osidosioaidoasodais')
    })
    },
    startTimeChange: function (o) {
      if (!this.list[0] || this.list[0].type != 0) {
        this.list.unshift({
@ -941,6 +951,7 @@ new Vue({
    },
    tabsClick: function (item) {
      var vm = this;
      this.copdFilterCheckValue=[]
      vm.tabsId = item.id;
      if (item.id != 4) {
        vm.expertFamilyIdType = '';

+ 1 - 1
app/statistics/js/home.js

@ -228,7 +228,7 @@ new Vue({
	    //获取缓存里面的userRole
		this.userRoleData()
				//TODO 发布删除这个
		window.location.href = 'comprehensive-query.html'
		// window.location.href = 'comprehensive-query.html'
		// 获取URL地址
		var url = window.location.href;
		// 获取参数部分

+ 27 - 0
component/statistics/CopdPatientRecord/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;
}

+ 212 - 146
component/statistics/CopdPatientRecord/index.html

@ -1,151 +1,217 @@
<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>
<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">
      <template v-if="showTotalTable">
        <!--过滤器-->
        <div class="copd-filter-group ui-col-1 bgc-fff" style="min-width: 900px;">
          <!--=======================================================-->
          <div class="searchDiv pb20">
            <label class="c-333 c-f14">
              患者姓名:
            </label>
            <el-input class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
          </div>
          <!--=======================================================-->
          <div class="searchDiv pb20">
            <label class="c-333 c-f14">
              下转状态:
            </label>
            <el-select class="pr20 formWidth" placeholder="请选择">
              <el-option v-for="(option, index) in transferStatusOptions" :label="option.label"
                :value="option.value"></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" placeholder="请选择">
              <el-option v-for="(option, index) in receiveStatusOptions" :label="option.label"
                :value="option.value"></el-option>
            </el-select>
          </div>
          <!--=======================================================-->
          <div class="searchDiv pb20">
            <label class="c-333 c-f14">
              接收社区医院:
            </label>
            <el-select class="pr20 formWidth" placeholder="请选择">
              <el-option v-for="(option, index) in receivingHospitalList" :label="option.label"
                :value="option.value"></el-option>
            </el-select>
          </div>
          <!--=======================================================-->
          <div class="searchDiv pb20">
            <label class="c-333 c-f14">
              接收医生:
            </label>
            <el-input class="pr20 formWidth wd160" placeholder="请输入医生姓名查询"></el-input>
          </div>
          <!--=======================================================-->
          <div class="searchDiv pb20">
            <label class="c-333 c-f14">
              档案状态:
            </label>
            <el-select class="pr20 formWidth" placeholder="请选择">
              <el-option v-for="(option, index) in recordStatusOptions" :label="option.label"
                :value="option.value"></el-option>
            </el-select>
          </div>
          <!--=======================================================-->
          <div class="searchDiv pb20">
            <label class="c-333 c-f14">
              生存状态:
            </label>
            <el-select class="pr20 formWidth" placeholder="请选择">
              <el-option v-for="(option, index) in survivalStatusOption" :label="option.label"
                :value="option.value"></el-option>
            </el-select>
  <body>
    <div id="app">
      <div class="copd-table-main">
        <template v-if="showTotalTable">
          <!--过滤器-->
          <div class="copd-filter-group ui-col-1 bgc-fff" style="min-width: 900px">
            <!--=======================================================-->
            <div class="searchDiv pb20">
              <label class="c-333 c-f14">患者姓名:</label>
              <el-input v-model="name" 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="turnDownStatus" placeholder="请选择">
                <el-option
                  v-for="(option, index) in transferStatusOptions"
                  :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="receiveStatus" placeholder="请选择">
                <el-option
                  v-for="(option, index) in receiveStatusOptions"
                  :label="option.label"
                  :value="option.value"></el-option>
              </el-select>
            </div>
            <!--=======================================================-->
            <div class="searchDiv pb20">
              <label class="c-333 c-f14">接收社区医院:</label>
              <el-select class="pr20 formWidth" v-model="hospital" placeholder="请选择">
                <el-option
                  v-for="(option, index) in receivingHospitalList"
                  :label="option.name"
                  :value="option.code"></el-option>
              </el-select>
            </div>
            <!--=======================================================-->
            <div class="searchDiv pb20">
              <label class="c-333 c-f14">接收医生:</label>
              <el-input class="pr20 formWidth wd160" v-model="doctorName" placeholder="请输入医生姓名查询"></el-input>
            </div>
            <!--=======================================================-->
            <div class="searchDiv pb20">
              <label class="c-333 c-f14">档案状态:</label>
              <el-select class="pr20 formWidth" v-model="archivesStatus" placeholder="请选择">
                <el-option
                  v-for="(option, index) in recordStatusOptions"
                  :label="option.value"
                  :value="option.code"></el-option>
              </el-select>
            </div>
            <!--=======================================================-->
            <div class="searchDiv pb20">
              <label class="c-333 c-f14">生存状态:</label>
              <el-select class="pr20 formWidth" v-model="isLive" placeholder="请选择">
                <el-option
                  v-for="(option, index) in survivalStatusOption"
                  :label="option.value"
                  :value="option.code"></el-option>
              </el-select>
            </div>
            <!--=======================================================-->
            <div class="searchDiv">
              <label class="c-333 c-f14">首次诊断医院名称:</label>
              <el-input class="pr20 formWidth wd160" v-model="firstOrg" placeholder="请输入医院名称查询"></el-input>
            </div>
            <!--=======================================================-->
            <div class="searchDiv">
              <el-button type="primary" size="mini" @click="queryDate">查询</el-button>
              <!-- <el-upload
                class="upload-demo"
                active=""
                :on-preview="handlePreview"
                 :file-list="fileList">
              <el-button type="success  " size="mini">导入</el-button>
            </el-upload> -->
            <!-- <div> 
                <input ref="imgFile" type="file" name="FileUpload" class="file-upload" @change="handlePreview">
              </div>
         -->  
              <el-button type="success  " size="mini" @click="toggle(true)">导入</el-button>
              <el-button type="ff9526" size="mini" @click="exportTable">导出</el-button>
              <el-button type="success" size="mini" @click="synPatient">档案同步</el-button>
              <el-button type="5692fb" size="mini" @click="distributionHospital">批量分配</el-button>
              <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
            </div>
            <!--=======================================================-->
          </div>
          <!--=======================================================-->
          <div class="searchDiv">
            <label class="c-333 c-f14">
              首次诊断医院名称:
            </label>
            <el-input class="pr20 formWidth wd160" placeholder="请输入医院名称查询"></el-input>
          </div>
          <!--=======================================================-->
          <div class="searchDiv">
            <el-button type="primary" size="mini">查询</el-button>
            <el-button type="success  " size="mini">导入</el-button>
            <el-button type="ff9526" size="mini">导出</el-button>
            <el-button type="success" size="mini">档案同步</el-button>
            <el-button type="5692fb" size="mini">批量分配</el-button>
            <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
          </div>
          <!--=======================================================-->
        </div>
        <el-table style="width: 100%;" :data="dataList">
          <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="ethnicity" label="民族" width="180"></el-table-column>
          <el-table-column prop="idType" label="证件类型" width="180"></el-table-column>
          <el-table-column prop="idNumber" label="证件号码" width="180"></el-table-column>
          <el-table-column prop="gender" label="性别" width="180"></el-table-column>
          <el-table-column prop="birthdate" label="出生日期" width="180"></el-table-column>
          <el-table-column prop="age" label="年龄" width="180"></el-table-column>
          <el-table-column prop="contactNumber" label="联系电话" width="180"></el-table-column>
          <el-table-column prop="permanentAddress" label="常住地址" width="180"></el-table-column>
          <el-table-column prop="registeredAddress" label="户籍地址" width="180"></el-table-column>
          <el-table-column prop="occupation" label="职业" width="180"></el-table-column>
          <el-table-column prop="maritalStatus" label="婚姻状态" width="180"></el-table-column>
          <el-table-column prop="medicalInsuranceType" label="医保类型" width="180"></el-table-column>
          <el-table-column prop="transferStatus" label="下转状态" width="180"></el-table-column>
          <el-table-column prop="receiveStatus" label="接收状态" width="180"></el-table-column>
          <el-table-column prop="receivingHospital" label="接收医院" width="180"></el-table-column>
          <el-table-column prop="receivingDoctor" label="接收医生" width="180"></el-table-column>
          <el-table-column prop="recordStatus" label="档案状态" width="180"></el-table-column>
          <el-table-column prop="survivalStatus" label="生存状态" width="180"></el-table-column>
          <el-table-column prop="deathDate" 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>
        <div class="c-t-right mt20">
          <!-- TODO 修正 -->
          <el-pagination layout="total, prev, pager, next, jumper"></el-pagination>
          <div class="ad-schedule-import">
            <el-dialog
                :destroy-on-close="true"
                title="导入"
                custom-class="schedule-import"
                :visible.sync="isShow"
                :append-to-body="true"
                width="400px">
                <div>
                    <el-form ref="form"  label-width="100px">
                        <el-form-item label="居民档案">
                            <el-upload
                                action=""
                                :before-upload="beforeUploadPic"
                                :multiple="false"
                                accept=".xls,.xlsx"
                                :show-file-list="false"
                                :file-list="fileList">
                                    <span class="fileName" style="color: #12b7f5;">{{file? file.name : '请选择文件'}}</span>
                                    <el-button style="vertical-align: middle;" size="small" type="primary">选择文件</el-button>
                            </el-upload>
                        </el-form-item>
                    </el-form>
                </div>
                <span slot="footer" class="dialog-footer">
                    <el-button @click="toggle(false)">取 消</el-button>
                    <el-button v-loading="loading" type="primary" @click="check">确 定</el-button>
                </span>
            </el-dialog>
    
            <div >
            <el-dialog
                :destroy-on-close="true"
                title="导入进度"
                custom-class="schedule-import"
                :visible.sync="isProgressShow"
                :append-to-body="true"
                :close-on-click-modal="false"
                :close-on-press-escape="false"
                :show-close="false"
                width="400px">
                <div class="tc">
                    <div class="mb20">{{percentage!=100? '批量处理中,请耐心等待' : success? '处理成功!' : '处理失败,请重试'}}</div>
                    <el-progress v-if="percentage!=100||success"  :percentage="percentage"></el-progress>
                    <el-progress v-else="" status="exception" :percentage="percentage"></el-progress>
                    <div class="err-list" v-if="errList&&errList.length">
                        <div v-for="(item, i) in errList" :key="i" v-html="item.errorMes"></div>
                    </div>
                    <div class="mt20">
                        <el-button v-if="percentage!=100" type="info">处理中...</el-button>
                        <el-button @click="close()" v-else-if="success" type="primary">处理成功</el-button>
                        <el-button @click="close(1)" v-else type="danger">重试</el-button>
                    </div>
    
                </div>
            </el-dialog>
            </div>
        </div>
      </template>
      <template v-else-if="showEditView">
        <copd-patient-record-edit></copd-patient-record-edit>
      </template>
      <template v-else-if="serviceRecordVisable">
        <copd-service-record></copd-service-record>
      </template>
      <template v-else-if="healthRecordVisable">
        <health-record></health-record>
      </template>
          <el-table style="width: 100%" :data="dataList" v-loading="daLoading"  @selection-change="selectionLineChangeHandle">
            <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="receivingHospital" label="接收医院" width="180"></el-table-column>
            <el-table-column prop="receivingDoctor" 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="deathDate" 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>
          <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>
        </template>
        <template v-else-if="showEditView">
          <copd-patient-record-edit :editData="currentEditData"></copd-patient-record-edit>
        </template>
        <template v-else-if="serviceRecordVisable">
          <copd-service-record :detailInfo="currentEditData"></copd-service-record>
        </template>
        <template v-else-if="healthRecordVisable">
          <health-record></health-record>
        </template>
      </div>
    </div>
  </div>
</body>
</html>
  </body>
</html>

+ 341 - 27
component/statistics/CopdPatientRecord/index.js

@ -1,3 +1,4 @@
// 慢阻肺患者档案表格组件
var template = ''
$.ajax('../../../component/statistics/CopdPatientRecord/index.html', {
@ -17,30 +18,9 @@ Vue.component('copd-patient-record', {
  props: [],
  data() {
    return {
      docInfo: JSON.parse(window.localStorage.getItem('docInfo')),
      daLoading:false,
      dataList: [
        {
          name: '张三',
          nationality: '中国',
          ethnicity: '汉族',
          idType: '身份证',
          idNumber: '310************1234',
          gender: '男',
          birthdate: '1990-01-01',
          age: '32',
          contactNumber: '13812345678',
          permanentAddress: '上海市浦东新区',
          registeredAddress: '江苏省南京市',
          occupation: '工程师',
          maritalStatus: '已婚',
          medicalInsuranceType: '城镇职工基本医疗保险',
          transferStatus: '已下转',
          receiveStatus: '已接收',
          receivingHospital: '上海市第一人民医院',
          receivingDoctor: '李医生',
          recordStatus: '正常',
          survivalStatus: '存活',
          deathDate: ''
        }
      ],
      // 当前编辑的数据,点击编辑按钮后设置,取消或退出则清空
      currentEditData: null,
@ -48,14 +28,53 @@ Vue.component('copd-patient-record', {
      editViewVisable: false,
      //服务记录是否显示
      serviceRecordVisable: false,
      transferStatusOptions:[{code:'',value:'全部'}],
      recordStatusOptions:[{code:'',value:'全部'}],
      receivingHospitalList:[{code:'',name:'全部'}],
      receiveStatusOptions:[{value:'',label:'全部'},{value:'1',label:' 已接收'},{value:'0',label:' 未接收'}],
      survivalStatusOption:[{code:'',value:'全部'}],
      // 健康档案是否显示
      healthRecordVisable: false
      healthRecordVisable: false,
      page: 1,
      size: 50,
      currentSize:50,
      currentPage: 1,
      totalPage: 0,
      totalCount: 0,
      name:'',
      turnDownStatus:'',
      receiveStatus:'',
      archivesStatus:'',
      hospital:'',
      doctorName:'',
      isLive: '',
      firstOrg: '',
      currentSelect:[],
      dicName:['jkcopd_archivesStatus','jkcopd_turnDownStatus','jkcopd_isLive'],
      isShow: false,
            fileList: [],
            file: undefined,
            isProgressShow: false,
            percentage: 0,
            success: false,
            loading: false,
            isOver: false,
            status: "",
            errList: [],
            pickerOptions: {
                disabledDate(time) {
                    let timeSpace = time.getTime() <= moment.toDate().getTime();
                    return timeSpace;
                }
            },
    }
  },
  computed: {
    showTotalTable() {
      return (
        (this.currentEditData == null && this.editViewVisable == false) &&
        this.currentEditData == null &&
        this.editViewVisable == false &&
        this.serviceRecordVisable == false &&
        this.healthRecordVisable == false
      )
@ -66,17 +85,195 @@ Vue.component('copd-patient-record', {
  },
  mounted() {
    var vm = this
    this.hospitalList()
    EventBus.$on('copd-reset-select', function () {
      vm.currentEditData = null
      vm.editViewVisable = false
      vm.serviceRecordVisable = false
      vm.healthRecordVisable = false
    })
    EventBus.$on('copd-reset-save', function () {
      vm.currentEditData = null
      vm.editViewVisable = false
      vm.serviceRecordVisable = false
      vm.healthRecordVisable = false
      vm.getJkCopdPatientPage()
      vm.dicName.forEach(function(item) {
        vm.getDictByDictName(item)
      });
    })
    this.getJkCopdPatientPage()
    this.dicName.forEach(function(item) {
      vm.getDictByDictName(item)
    });
  },
  destroyed() {
    EventBus.$off('copd-reset-select')
    EventBus.$off('copd-reset-save')
  },
  methods: {
    handlePreview(value) {
      var vm = this
			var file = value.target.files[0]
      this.daLoading=true
      console.log(file,'vvvvvvvvvvvv',value,value.target.files[0])
			if(file && file.size) {
				var formFile = new FormData()
            formFile.append("file", file)
            httpRequest.post('doctor/jkCopd/importExcel',{
              data: formFile,
              cache: false,//上传文件无需缓存
                processData: false,//用于对data参数进行序列化处理 这里必须false
                contentType: false, //必须
            }).then(function(res) {
              if(res.status == 200) {
                vm.getJkCopdPatientPage()
                vm.dicName.forEach(function(item) {
                  vm.getDictByDictName(item)
                });
              vm.daLoading=false
              vm.$message({
			          message: '导入成功!',
			          type: 'success'
			        });
              } else {
                vm.$message.error('导入失败!')
                vm.daLoading=false
              }
            }).catch(function(e) {
              console.error(e)
              vm.daLoading=false
            })
            // statisticAPI.importExcel({file:formFile}).then(function(res){
            //   console.log('22222222222',res)
            // })
          }
    },
    hospitalList(){
      var vm=this
    statisticAPI.hospitalList().then(function(res){
      vm.receivingHospitalList=vm.receivingHospitalList.concat(res.detailModelList)
    })
    },
    exportTable(){
      var vm=this
      vm.daLoading=true
      var params = {
        turnDownStatus:this.turnDownStatus,
        receiveStatus:this.receiveStatus,
        archivesStatus:this.archivesStatus,
        hospital:this.hospital,
        doctorName:this.doctorName,
        isLive: this.isLive,
        firstOrg: this.firstOrg
      }
      statisticAPI.exportJkCopdAchives(params,'居民档案.xls').then(
         function(res){
          vm.daLoading=false
          vm.$message({
            message: '导出成功!',
            type: 'success'
          });
         }
      )
    },
    selectionLineChangeHandle(val){
      var vm=this
      var arr=[]
      val.forEach(function(item){
        arr.push(item.id)
      })
      vm.currentSelect=arr
    },
    synPatient(){
      var vm=this
      if(vm.currentSelect.length){
        statisticAPI.synPatient({
          ids:vm.currentSelect.join(','),
          doctor: vm.docInfo.code
        }).then(function(res){
          if(res.status=='200'){
            vm.$message({
              message: res.message,
              type: 'success'
            });
            vm.getJkCopdPatientPage()
            vm.dicName.forEach(function(item) {
              vm.getDictByDictName(item)
            });
            
          }else{
            vm.$message({
              message: res.message,
              type: 'warning'
            });
          }
        })
      }else{
        vm.$message('请勾选患者!')
      }
    },
    queryDate(){
      this.getJkCopdPatientPage()
    },
    distributionHospital(){
      var vm=this
      if(vm.currentSelect.length){
       vm.daLoading=true
        statisticAPI.distributionHospital({
          type:1,
          ids:vm.currentSelect.join(','),
          doctor: vm.docInfo.code
        }).then(function(res){
          if(res.status=='200'){
            vm.daLoading=false
            vm.$message({
              message: res.message,
              type: 'success'
            });
            vm.getJkCopdPatientPage()
            vm.dicName.forEach(function(item) {
              vm.getDictByDictName(item)
            });
            
          }else{
            vm.daLoading=false
            vm.$message({
              message: res.message,
              type: 'warning'
            });
          }
        })
      }else{
        vm.daLoading=false
        vm.$message('请勾选患者!')
      }
    },
    eliminateClick(){
      this.name='',
      this.turnDownStatus='',
      this.receiveStatus='',
      this.archivesStatus='',
      this.hospital='',
      this.doctorName='',
      this.isLive= '',
      this.firstOrg= ''
    },
    //下转状态
    getDictByDictName(value){
      var vm=this
    statisticAPI.getDictByDictName({name:value}).then(function(res){
      if(value=='jkcopd_turnDownStatus'){
        vm.transferStatusOptions= vm.transferStatusOptions.concat(res.list)
      }else if(value=='jkcopd_archivesStatus'){
        vm.recordStatusOptions=vm.recordStatusOptions.concat(res.list)
      }else if(value=='jkcopd_isLive'){
        vm.survivalStatusOption=  vm.survivalStatusOption.concat(res.list)
      }
    })
  
    },
    onClickEdit(record) {
      if (!record) {
        return
@ -85,10 +282,127 @@ Vue.component('copd-patient-record', {
      this.editViewVisable = true
    },
    onClickServiceRecord(record) {
      this.currentEditData = record
      this.serviceRecordVisable = true
    },
    onClickHealthRecord(record) {
      this.healthRecordVisable = true
    }
      console.log('ssssssssssssssss',record)
    var  healthRecordServer="http://www.xmtyw.cn/wlyy/profileweb/#/"  //健康档案服务
     var healthRecordServer="https://www.xmtyw.cn/wlyytest/profileweb/#/"  //健康档案服务wlyytest
       window.open(healthRecordServer + '?patientCode=' + record.patient)
      // this.healthRecordVisable = true
    },
  	handleCurrentChange:function(val) {
      this.page = val
      this.getJkCopdPatientPage()
    },
    getJkCopdPatientPage: function (val) {
      this.daLoading=true
      var vm =this
      var params = {
        page: this.page,
        size: this.size,
        name:this.name,
        turnDownStatus:this.turnDownStatus,
        receiveStatus:this.receiveStatus,
        archivesStatus:this.archivesStatus,
        hospital:this.hospital,
        doctorName:this.doctorName,
        isLive: this.isLive,
        firstOrg: this.firstOrg
      }
      statisticAPI.jkCopdAchivesPage(params).then(function (res) {
        vm.totalCount = res.totalCount
        vm.totalPage = res.totalPage
        vm.currentPage=res.currPage
        vm.dataList = res.detailModelList
        console.log(vm.currentPage,res,'88888888888')
        vm.daLoading=false
      })
    },
    //上传
    toggle(isShow){
      this.isShow = isShow
      if(!isShow){
          this.reset()
      }
  },
  reset(type){
      this.percentage = 0
      this.success = false
      this.isOver = false
      this.errList = []
      if(type!=1){
          this.loading = false
          this.file = undefined
          this.month = ""
      }
  },
  close(type){
      this.reset(type)
      this.isProgressShow = false
      if(type!=1){
          this.isShow = false
      }
  },
  beforeUploadPic(file){
    console.log(file,'000000000000000000000')
      this.file = file
  },
  check(){
      var vm = this
      vm.loading = true
      if(!vm.file){
          vm.loading = false
          vm.$message('请选择文件');
          return
      }
      vm.save()
  },
  save(){
      var vm = this
      vm.daLoading=true
      var formData = new FormData()
      formData.append("file", vm.file)
      // vm.initProgress()
      console.log(formData, 'formData');
      httpRequest.post('doctor/jkCopd/importExcel',{
        data: formData,
        cache: false,//上传文件无需缓存
          processData: false,//用于对data参数进行序列化处理 这里必须false
          contentType: false, //必须
      }).then(function(res) {
        if(res.status == 200) {
          vm.getJkCopdPatientPage()
          vm.dicName.forEach(function(item) {
            vm.getDictByDictName(item)
          });
        vm.daLoading=false
        vm.isShow = false
        vm.$message({
          message: '导入成功!',
          type: 'success'
        });
        } else {
          vm.$message.error('导入失败!')
          vm.daLoading=false
        }
      }).catch(function(e) {
        console.error(e)
        vm.daLoading=false
      })
  },
  initProgress(){
      var vm = this
      this.isProgressShow = true
      setTimeout(()=>{
          if(!vm.isOver && vm.percentage!=90){
              vm.percentage += 10
              vm.initProgress()
          }
      }, 1000)
  }
}
})

+ 4 - 0
component/statistics/CopdPatientRecordEdit/index.css

@ -125,4 +125,8 @@
.copd-form-item .el-date-editor.el-input, .el-date-editor.el-input__inner {
  width: 100%; 
  margin: 0 
}
.el-cascader{
  width: 100%; 
  margin: 0 
}

+ 264 - 179
component/statistics/CopdPatientRecordEdit/index.html

@ -22,121 +22,163 @@
        <div class="copd-d-p-i-content">
          <div class="copd-d-p-i-content_inner">
            <el-form-item label="患者姓名:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" readonly disabled :value="formData.name"></el-input>
            </el-form-item>
            <el-form-item label="性别:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" readonly disabled v-model="formData.sexName"></el-input>
            </el-form-item>
            <el-form-item label="证件类型:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <!-- <el-input class="copd-form-input" disabled :value="formData.idcardType" ></el-input> -->
              <el-select placeholder="请选择" disabled v-model="formData.idcardType" style="width: 100%;">
                <el-option
                  v-for="item in idCardTypeArr"
                  :key="item.value"
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="证件号码:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" disabled :value="formData.idcard" ></el-input>
            </el-form-item>
            <el-form-item label="联系电话:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.mobile"></el-input>
            </el-form-item>
            <el-form-item label="婚姻状态:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.marriage" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in marriageArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="国籍:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" disabled v-model="formData.nationality"></el-input>
            </el-form-item>
            <el-form-item label="民族:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.nation" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  v-for="item in nationDict"
                  :key="item.NATION_NAME"
                  :label="item.NATION_NAME"
                  :value="item.NATION_CODE">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="出生日期:" class="copd-form-item">
            <el-form-item label="出生日期:" v-if="formData.idcardType!='idCard'" v-model="formData.birthday" class="copd-form-item">
              <el-date-picker
                class="copd-edit-datepicker"
                v-model="value1"
                type="datetime"
                v-model="formData.birthday"
                placeholder="选择日期时间"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="出生日期:"  v-else  class="copd-form-item">
              <el-input class="copd-form-input" disabled v-model="formData.birthday"></el-input>
            </el-form-item>
            <el-form-item label="年龄:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.age"></el-input>
            </el-form-item>
            <el-form-item label="职业:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.occupation"  style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in occupationArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="学历:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.educational" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in educationalArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="生存状态:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model='formData.isLive' style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in isLiveArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="死亡时间:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            <el-form-item label="死亡时间:" class="copd-form-item" v-if="formData.isLive==2">
              <el-date-picker
              class="copd-edit-datepicker"
              v-model="formData.deathTime"
              type="datetime"
              placeholder="选择日期时间"
            ></el-date-picker>
            </el-form-item>
            <el-form-item label="死亡时间:" class="copd-form-item" v-else>
              <el-input class="copd-form-input" disabled  readonly v-model="formData.deathTime" ></el-input>
         
            </el-form-item>
            <el-form-item label="死亡原因:" class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
            <el-form-item label="死亡原因:"  class="copd-form-item copd-fill-width">
              
              <el-input v-if="formData.isLive==2" class="copd-form-input"   v-model="formData.deathReason" ></el-input>
              <el-input class="copd-form-input" v-else disabled  v-model="formData.deathReason" ></el-input>
            </el-form-item>
            <el-form-item label="是否有吸烟史:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.hasSmoke" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in smokeArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="是否有饮酒史:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择"  v-model="formData.hasDrink" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in drinkArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="常住地区:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <div     class="copd-form-input">
                <el-cascader
                clearable
                width="100%"
                placeholder="请选择地址"
                ref="cascader"
                :options="addressOptions"
                @active-item-change="handleItemChange"
                :props="props"
                v-model="addressVal"
              ></el-cascader>
              </div>
            </el-form-item>
            <el-form-item label="常住地址:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.liveAddress"></el-input>
            </el-form-item>
            <el-form-item label="户籍地区:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-cascader
              clearable
              class="copd-form-input"
              placeholder="请选择地址"
              ref="cas"
              :options="addressOptions"
              @active-item-change="handleItemChange"
              :props="props"
              v-model="resiginAddressVal"
            ></el-cascader>
            </el-form-item>
            <el-form-item label="户籍地址:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.registAddress" ></el-input>
            </el-form-item>
          </div>
        </div>
@ -149,24 +191,34 @@
        <div class="copd-d-p-i-content">
          <div class="copd-d-p-i-content_inner">
            <el-form-item label="下转状态:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" disabled readonly :value="formData.turnDownStatus==1?'已下转':'未下转'"></el-input>
            </el-form-item>
            <el-form-item label="接收状态:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" disabled readonly :value="formData.receiveStatus==1?'已接收':'未接收'"></el-input>
            </el-form-item>
            <el-form-item label="接收医院:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" disabled readonly></el-input>
            </el-form-item>
            <el-form-item label="接收医生:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" disabled readonly :value="formData.hospital"></el-input>
            </el-form-item>
            <el-form-item label="档案状态:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.archivesStatus" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in archivesArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="病情转归:" class="copd-form-item">
              <el-select placeholder="请选择" v-model="formData.diseaseConversion" style="width: 100%;">
                <el-option
                  v-for="item in conversionArr"
                  :key="item.value"
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
@ -181,15 +233,15 @@
        <div class="copd-d-p-i-content">
          <div class="copd-d-p-i-content_inner"  id="copdFirstInfo">
            <el-form-item label="patient_SN:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.patientSn"></el-input>
            </el-form-item>
            <el-form-item label="就诊标识.X:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.visitFlag"></el-input>
            </el-form-item>
            <el-form-item label="慢阻肺是否主诊断:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.isCopd" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
@ -203,39 +255,39 @@
              </div>
            </div>
            <el-form-item label="有无过敏史:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.hasAllergy" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="是否有放射性物质接触史:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.hasRadioactivity" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="是否有手术史新:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
            <el-form-item label="是否有手术史:"  class="copd-form-item">
              <el-select placeholder="请选择" v-model="formData.hasSurgical" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in  copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="是否有疾病史新:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
            <el-form-item label="是否有疾病史:"  class="copd-form-item">
              <el-select placeholder="请选择" v-model="formData.hasDisease" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
@ -249,42 +301,70 @@
              </div>
            </div>
            <el-form-item label="主诉.阳性症状.体征:"  class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.chief"></el-input>
            </el-form-item>
            <el-form-item label="首次诊断地区:"  class="copd-form-item">
              <el-select placeholder="请选择" v-model="formData.firstVisitArea" style="width: 100%;">
              <el-option
                  v-for="item in firstAreaArr"
                  :key="item.value"
                  :label="item.value"
                  :value="item.code">
                </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="首次诊断机构级别:"  class="copd-form-item">
              <el-select placeholder="请选择" v-model="formData.firstVisitOrgLevel" style="width: 100%;">
              <el-option
                  v-for="item in orgLevelArr"
                  :key="item.value"
                  :label="item.value"
                  :value="item.code">
                </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="首次诊断医疗机构:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.firstOrg"></el-input>
            </el-form-item>
            <el-form-item label="首次诊断时间:"  class="copd-form-item">
              <el-date-picker
                v-model="value1"
                v-model="formData.firstVisitTime"
                type="datetime"
                placeholder="选择日期时间"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="首次诊断科室:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input"  v-model="formData.firstDept"></el-input>
            </el-form-item>
            <el-form-item label="首次就诊类型:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-select placeholder="请选择" v-model="formData.firstVisitType" style="width: 100%;">
              <el-option
                  v-for="item in firstVisitTypeArr"
                  :key="item.value"
                  :label="item.value"
                  :value="item.code">
                </el-option>
                </el-select>
            </el-form-item>
            <el-form-item label="首次就诊医保类型:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-input class="copd-form-input"  v-model="formData.firstChargeType"></el-input>
              <!-- <el-select placeholder="请选择" v-model="formData.firstChargeType" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                </el-option>
              </el-select>
              </el-select> -->
            </el-form-item>
            <el-form-item label="首次就诊联系电话:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.firstMobile"></el-input>
            </el-form-item>
            <el-form-item label="ICD10诊断代码:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.icd10Code"></el-input>
            </el-form-item>
            <el-form-item label="ICD10诊断名称:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.icd10Name"></el-input>
            </el-form-item>
            <div class="copd-sub-title">
              <div class="title">
@ -293,20 +373,20 @@
              </div>
            </div>
            <el-form-item label="是否有共病:" class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.comorbiditySituation" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="共病个数:" class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.comorbidityNum" ></el-input>
            </el-form-item>
            <el-form-item label="共病情况:" class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.comorbiditySituation" ></el-input>
            </el-form-item>
            <div class="copd-sub-title">
              <div class="title">
@ -317,43 +397,43 @@
            <el-form-item label="是否做过血气分析:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="检验报告时间:"  class="copd-form-item">
              <el-date-picker
                v-model="value1"
                v-model="formData.checkReportTime"
                type="datetime"
                placeholder="选择日期时间"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="酸碱度:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.ph"></el-input>
            </el-form-item>
            <el-form-item label="氧气压:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.oxygenPartialPressure" ></el-input>
            </el-form-item>
            <el-form-item label="肺泡动脉痒分压差值:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.alveolarArteryOpp"></el-input>
            </el-form-item>
            <el-form-item label="痒饱和度:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input"  v-model="formData.oxygenSaturation"></el-input>
            </el-form-item>
            <el-form-item label="二氧化碳分压:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.co2" ></el-input>
            </el-form-item>
            <el-form-item label="氧含量:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.oxygenContent"></el-input>
            </el-form-item>
            <el-form-item label="实际碳酸氢盐:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.actualBicarbonate"></el-input>
            </el-form-item>
            <el-form-item label="标准盐酸氢盐:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.standardBicarbonate"></el-input>
            </el-form-item>
            <div class="copd-sub-title">
              <div class="title">
@ -362,43 +442,43 @@
              </div>
            </div>
            <el-form-item label="是否做过肺功能检查:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.hasLung" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="肺功能测定-检查时间:"  class="copd-form-item">
              <el-date-picker
                v-model="value1"
                v-model="formData.lungTime"
                type="datetime"
                placeholder="选择日期时间"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="肺功能测定-检查项目:"  class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.lungItem"></el-input>
            </el-form-item>
            <el-form-item label="肺功能测定-检查结论:"  class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input"  v-model="formData.lungConclusion"></el-input>
            </el-form-item>
            <el-form-item label="肺功能测定-检查所见:"  class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input"  v-model="formData.lungSeen"></el-input>
            </el-form-item>
            <el-form-item label="脉冲振荡肺功能测定-检查时间:"  class="copd-form-item copd-fill-width">
              <el-date-picker
                v-model="value1"
                v-model="formData.lungTime2"
                type="datetime"
                placeholder="选择日期时间"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="脉冲振荡肺功能测定-检查项目:"  class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input"  v-model="formData.lungItem2"></el-input>
            </el-form-item>
            <el-form-item label="脉冲振荡肺功能测定-检查结论:"  class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input"  v-model="formData.lungConclusion2"></el-input>
            </el-form-item>
            <div class="copd-sub-title">
              <div class="title">
@ -407,27 +487,27 @@
              </div>
            </div>
            <el-form-item label="是否做过X线检查:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.hasx" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="胸部X线检查-检查时间:"  class="copd-form-item">
              <el-date-picker
                v-model="value1"
                v-model="formData.xtime"
                type="datetime"
                placeholder="选择日期时间"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="胸部X线检查-检查项目:"  class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.xitem"></el-input>
            </el-form-item>
            <el-form-item label="胸部X线检查-检查结论:"  class="copd-form-item copd-fill-width">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input" v-model="formData.xconclusion"></el-input>
            </el-form-item>
            <div class="copd-sub-title">
              <div class="title">
@ -436,89 +516,94 @@
              </div>
            </div>
            <el-form-item label="是否做过CT:"  class="copd-form-item">
              <el-select placeholder="请选择" style="width: 100%;">
              <el-select placeholder="请选择" v-model="formData.hasCt" style="width: 100%;">
                <el-option
                  v-for="item in []"
                  v-for="item in copdArr"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value">
                  :label="item.value"
                  :value="item.code">
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item label="胸部CT检查-检查时间:"  class="copd-form-item">
              <el-date-picker
                v-model="value1"
                v-model="formData.ctTime"
                type="datetime"
                placeholder="选择日期时间"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="胸部CT检查-检查项目:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
              <el-input class="copd-form-input"  v-model="formData.ctItem"></el-input>
            </el-form-item>
            <el-form-item label="胸部CT检查-检查结论:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <div class="copd-sub-title">
              <div class="title">
                <div class="forent-bar"></div>
                <div>门诊类型</div>
              <el-input class="copd-form-input"  v-model="formData.ctConclusion"></el-input>
            </el-form-item>
            <template v-if="formData.firstVisitType==1">
              <div class="copd-sub-title">
                <div class="title">
                  <div class="forent-bar"></div>
                  <div>门诊类型</div>
                </div>
              </div>
            </div>
            <el-form-item label="门诊结算时间:"  class="copd-form-item">
              <el-date-picker
                v-model="value1"
                type="datetime"
                placeholder="选择日期时间"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="门诊结算金额:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <el-form-item label="门诊医保支付金额:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <el-form-item label="门诊自费支付金额:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <div class="copd-sub-title">
              <div class="title">
                <div class="forent-bar"></div>
                <div>住院类型</div>
              <el-form-item label="门诊结算时间:"  class="copd-form-item">
                <el-date-picker
                  v-model="formData.settleTime"
                  type="datetime"
                  placeholder="选择日期时间"
                ></el-date-picker>
              </el-form-item>
              <el-form-item label="门诊结算金额:"  class="copd-form-item">
                <el-input class="copd-form-input"       v-model="formData.settleFee"></el-input>
              </el-form-item>
              <el-form-item label="门诊医保支付金额:"  class="copd-form-item">
                <el-input class="copd-form-input"       v-model="formData.ybFee"></el-input>
              </el-form-item>
              <el-form-item label="门诊自费支付金额:"  class="copd-form-item">
                <el-input class="copd-form-input"       v-model="formData.zfFee"></el-input>
              </el-form-item>
            </template>
            <template v-if="formData.firstVisitType==2">
              <div class="copd-sub-title">
                <div class="title">
                  <div class="forent-bar"></div>
                  <div>住院类型</div>
                </div>
              </div>
            </div>
            <el-form-item label="出院时间:"  class="copd-form-item">
              <el-date-picker
                v-model="value1"
                type="datetime"
                placeholder="选择日期时间"
                class="copd-edit-datepicker"
              ></el-date-picker>
            </el-form-item>
            <el-form-item label="出院科室:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <el-form-item label="住院天数:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <el-form-item label="出院诊断代码:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <el-form-item label="出院诊断名称:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <el-form-item label="住院应收总费用:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
            <el-form-item label="住院自付费用:"  class="copd-form-item">
              <el-input class="copd-form-input"></el-input>
            </el-form-item>
              <el-form-item label="出院时间:"  class="copd-form-item">
                <el-date-picker
                  v-model="formData.outpatientTime"
                  type="datetime"
                  placeholder="选择日期时间"
                  class="copd-edit-datepicker"
                ></el-date-picker>
              </el-form-item>
              <el-form-item label="出院科室:"  class="copd-form-item">
                <el-input class="copd-form-input"  v-model="formData.outpatientDept"></el-input>
              </el-form-item>
              <el-form-item label="住院天数:"  class="copd-form-item">
                <el-input class="copd-form-input"  v-model="formData.inpatientDays"></el-input>
              </el-form-item>
              <el-form-item label="出院诊断代码:"  class="copd-form-item">
                <el-input class="copd-form-input"  v-model="formData.diagnosis"></el-input>
              </el-form-item>
              <el-form-item label="出院诊断名称:"  class="copd-form-item">
                <el-input class="copd-form-input"  v-model="formData.diagnosisName"></el-input>
              </el-form-item>
              <el-form-item label="住院应收总费用:"  class="copd-form-item">
                <el-input class="copd-form-input"  v-model="formData.totalFee"></el-input>
              </el-form-item>
              <el-form-item label="住院自付费用:"  class="copd-form-item">
                <el-input class="copd-form-input"  v-model="formData.zfFee2"></el-input>
              </el-form-item>
            </template>
          </div>
        </div>
      </div>
    </el-form>
    <div class="copd-edit-bottom-box">
      <el-button>取消</el-button>
      <el-button type="primary">保存</el-button>
      <el-button @click="cancel">取消</el-button>
      <el-button type="primary" @click="updJkCopdPatient">保存</el-button>
    </div>
  </div>
</div>

+ 285 - 3
component/statistics/CopdPatientRecordEdit/index.js

@ -1,6 +1,7 @@
// 慢阻肺患者档案-编辑
var template = ''
$.ajax('../../../component/statistics/CopdPatientRecordEdit/index/index.html',{
$.ajax('../../../component/statistics/CopdPatientRecordEdit/index.html',{
  data: {},
  dataType: 'html',
  cache: false,
@ -12,19 +13,300 @@ $.ajax('../../../component/statistics/CopdPatientRecordEdit/index/index.html',{
    template = res
  }
})
  
  let vm
Vue.component('copd-patient-record-edit', {
  template: template,
  props: [],
  props: ['editData'],
  data() {
    return {
      formData:{},
      nationDict:[],
      dicName:['jkcopd_isLive','jkcopd_first_area','jkcopd_first_org_level', 'jkcopd_marriage','jkcopd_occupation','jkcopd_smoke','jkcopd_drink','jkcopd_archivesStatus','jkcopd_disease_conversion','jkcopd_firstVisitType','jkcopd_educational','idCardType'],
      marriageArr:[],
      idCardTypeArr:[],
      firstAreaArr:[],
      isLiveArr:[],
      orgLevelArr:[],
      occupationArr:[],
      smokeArr:[],
      drinkArr:[],
      archivesArr:[],
      conversionArr:[],
      firstVisitTypeArr:[],
      educationalArr:[],
      copdArr:[{value:'是',code:1},{value:'否',code:0}],
      addressOptions:[],
      props: {
        label: 'name',
        value: 'code',
        children: 'children'
      },
      addressVal:[],
      resiginAddressVal:[],
      docInfo: JSON.parse(window.localStorage.getItem('docInfo')),
    }
  },
  created() {
    vm=this
  },
  mounted() {
    var vm=this
    this.formData=this.editData
    console.log('222222222222222222222222',this.formData)
    if(this.formData.liveStreet){
    this.addressVal=[this.formData.liveProvince,this.formData.liveCity,this.formData.liveTown,this.formData.liveStreet]
    this.getDistrict(0)
    }else{
      this.addressVal=[this.formData.liveProvince,this.formData.liveCity,this.formData.liveTown]
      this.getDistrict(0)
    }
    this.getNation()
   
    if(this.formData.liveStreet){
      this.resiginAddressVal=[this.formData.registProvince,this.formData.registCity,this.formData.registTown,this.formData.registStreet]
      this.getDistrict(1)
      console.log('999999999999999999999999999999',this.resiginAddressVal)
      }else{
        this.resiginAddressVal=[this.formData.registProvince,this.formData.registCity,this.formData.registTown]
        this.getDistrict(1)
      }
    this.dicName.forEach(function(item) {
      vm.getDictByDictName(item)
    });
  },
  methods: {
    handleItemChange(val) {
      // 获取地址
      if (val.length == 1) {
        // 获取市
        this.baseCityList(val[0])
      }
      if (val.length == 2) {
        // 获取区
        this.baseTownList(val)
        
      }
      if (val.length == 3) {
        // 获取区
        this.stressList(val)
      }
      
    },
     //字典
     getDictByDictName(value){
      var vm=this
    statisticAPI.getDictByDictName({name:value}).then(function(res){
      if(value=='jkcopd_marriage'){
        vm.marriageArr=res.list
      }else if(value=='jkcopd_occupation'){
        vm.occupationArr=res.list
      }else if(value=='jkcopd_smoke'){
        vm.smokeArr=res.list
      }else if(value=='jkcopd_drink'){
        vm.drinkArr=res.list
      }else if(value=='jkcopd_archivesStatus'){
        vm.archivesArr=res.list
      }else if(value=='jkcopd_disease_conversion'){
        vm.conversionArr=res.list
      }else if(value=='jkcopd_firstVisitType'){
        vm.firstVisitTypeArr=res.list
      }else if(value=='jkcopd_educational'){
        vm.educationalArr=res.list
      }else if(value=='idCardType'){
        vm.idCardTypeArr=res.list
      }else if(value=='jkcopd_first_area'){
        vm.firstAreaArr=res.list
      }else if(value=='jkcopd_first_org_level'){
        vm.orgLevelArr=res.list
      }else if(value=='jkcopd_isLive'){
        vm.isLiveArr=res.list
      }
     
    })
  
    },
    getNation(){
      var vm=this
       statisticAPI.getNationDict().then(function(res){
           vm.nationDict= res.data
           console.log('2222222222222222',vm.nationDict)
       })
    },
    getDistrict(id){
      var vm =this
      homeAPI.getDistrict({ type:1 ,code:'' }).then(function(res) {
        var detailModelList=res.list
        detailModelList.forEach(function(item){
          item.children = []
        })
         vm.addressOptions=detailModelList
         if(vm.formData.liveProvince&&id==0){
          
           vm.baseCityList(vm.formData.liveProvince,id)
         }
         if(vm.formData.registProvince&&id==1){
          
          vm.baseCityList(vm.formData.registProvince,id)
        }
      })
    },
    onClickNavLink(id) {
      var element = document.getElementById(id);
      var top = element.offsetTop;
      window.scrollTo({ top: top, behavior: 'smooth' });
    },
    //市
    baseCityList:function(code,id){
      var vm = this
      var activeIndex = null
      vm.addressOptions.forEach(function(item, index) {
        if (item.code == code) {
          activeIndex = index
        }
      })
      homeAPI.getDistrict({ type:2 ,code:code }).then(function(res) {
        if (res.status == 200) {
          var detailModelList = res.list
          detailModelList.forEach(item => {
            item.children = []
          })
          vm.addressOptions[activeIndex].children = detailModelList
          if(vm.addressVal.length&&id==0){
            vm.baseTownList([vm.addressVal[0], vm.addressVal[1]],id)
          }
          if(vm.resiginAddressVal.length&&id==1){
            vm.baseTownList([vm.resiginAddressVal[0], vm.resiginAddressVal[1]],id)
          }
        }
      })
    },
    //县
    baseTownList(val,id) {
      var vm = this
      var provinceIndex = null
      var activeIndex = null
      vm.addressOptions.forEach(function(item, index){
        if (item.code == val[0]) {
          var children = item.children
          provinceIndex = index
          children.forEach(function(item, idx)  {
            if (item.code == val[1]) {
              activeIndex = idx
            }
          })
        }
      })
      homeAPI.getDistrict({ type:3,code:val[1] }).then( function(res){
        if (res.status == 200) {
          var detailModelList = res.list
          if(val[1]=='350200'){
            detailModelList.forEach(function(item){
              item.children = []
            })
          }
          if (vm.addressOptions[provinceIndex].children[activeIndex]) {
            vm.addressOptions[provinceIndex].children[activeIndex].children = detailModelList
            if(vm.addressVal.length&&id==0){
            vm.stressList([vm.addressVal[0], vm.addressVal[1],vm.addressVal[2]])
            }
            if(vm.resiginAddressVal.length&&id==1){
              vm.stressList([vm.resiginAddressVal[0], vm.resiginAddressVal[1],vm.resiginAddressVal[2]])
  
              }
          }
        }
      })
    },
    //街道
    stressList(val) {
      var vm = this
      var provinceIndex = null
      var activeIndex = null
      var xIndex=null
      vm.addressOptions.forEach(function(item, index)  {
        if (item.code == val[0]) {
          var children = item.children
          provinceIndex = index
          children.forEach(function(item, idx) {
            if (item.code == val[1]) {
              activeIndex = idx
               var xItem=item.children
               xItem.forEach(function(item,xianIndex){
                if(item.code==val[2]){
                  xIndex=xianIndex
                }
               })
            }
          })
        }
      })
      homeAPI.getDistrict({ type:4,code:val[2] }).then( function(res){
        if (res.status == 200) {
          var detailModelList = res.list
          console.log(vm.addressOptions, 'vm.addressOptions')
          if (vm.addressOptions[provinceIndex].children[activeIndex].children[xIndex]) {
            vm.addressOptions[provinceIndex].children[activeIndex].children[xIndex].children = detailModelList
          }
        }
      })
    },
    cancel:function(){
      EventBus.$emit('copd-reset-select')
    },
    updJkCopdPatient(){
      var vm =this
      if(!this.formData.mobile){
        this.$message.error('请填写手机号!')
        return false
      }
      if(this.formData.sexName=='男'){
        this.formData.sex=1
      }else{
        this.formData.sex=2
      }
      this.addressVal.forEach(function(item,index){
         if(index==0){
          vm.formData.liveProvince=item
          vm.formData.liveProvinceName=vm.$refs.cascader.currentLabels[index]
         }else if(index==1){
          vm.formData.liveCity=item
          vm.formData.liveCityName=vm.$refs.cascader.currentLabels[index]
         }else if(index==2){
          vm.formData.liveTown=item
          vm.formData.liveTownName=vm.$refs.cascader.currentLabels[index]
         }else if(index==3){
          vm.formData.liveStreet=item
          vm.formData.liveStreetName=vm.$refs.cascader.currentLabels[index]
         }
      })
      this.resiginAddressVal.forEach(function(item,index){
        if(index==0){
         vm.formData.registProvince=item
         vm.formData.registProvinceName=vm.$refs.cas.currentLabels[index]
        }else if(index==1){
         vm.formData.registCity=item
         vm.formData.registCityName=vm.$refs.cas.currentLabels[index]
        }else if(index==2){
         vm.formData.registTown=item
         vm.formData.registTownName=vm.$refs.cas.currentLabels[index]
        }else if(index==3){
         vm.formData.registStreet=item
         vm.formData.registStreetName=vm.$refs.cas.currentLabels[index]
        }
     })
      statisticAPI.updJkCopdPatient({jsonData:JSON.stringify(vm.formData),doctor:vm.docInfo.code}).then(
        function(res){
          if(res.status==200){
            EventBus.$emit('copd-reset-save')
          }
        }
      )
    }
  }
});

+ 82 - 83
component/statistics/CopdRecordSearch/index.html

@ -3,16 +3,11 @@
    <!--=======================================================-->
    <div class="searchDiv pb20">
      <label class="c-333 c-f14">
        <el-radio v-model="radio" label="1">按新增年份:</el-radio>
      </label>
      <el-select>
        <el-option
            v-for="item in []"
            :key="item.value"
            :label="item.label"
            :value="item.value">
        </el-option>
      </el-select>
          <el-radio v-model="radio" label="1">按确诊年份:</el-radio>
          <el-select v-model="chooseYear" class="pr20 formWidth">
            <el-option v-for="(item , index) in years" :key="index" :label="item" :value="item"></el-option>
          </el-select>
      </label>
    </div>
    <!--=======================================================-->
    <div class="searchDiv pb20">
@ -21,7 +16,8 @@
      </label>
      <el-date-picker
          v-model="value1"
          type="datetimerange"
          type="daterange"
          value-format="yyyy-MM-dd"
          range-separator="-"
          start-placeholder="开始日期"
          end-placeholder="结束日期">
@ -32,8 +28,8 @@
      <label class="c-333 c-f14">
        患者性别:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
      <el-select class="pr20 formWidth" v-model="sex" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option label="男" value="1"></el-option>
        <el-option label="女" value="2"></el-option>
      </el-select>
@ -43,12 +39,9 @@
      <label class="c-333 c-f14">
        首次诊断地区:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
        <el-option label="本市" value="1"></el-option>
        <el-option label="本省外市" value="2"></el-option>
        <el-option label="外省" value="2"></el-option>
        <el-option label="外国" value="2"></el-option>
      <el-select class="pr20 formWidth" v-model="firstVisitArea"  placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option v-for="item in  areaArr " :key="item.code" :label="item.value" :value="item.code"></el-option>
      </el-select>
    </div>
    <!--=======================================================-->
@ -56,13 +49,9 @@
      <label class="c-333 c-f14">
        首次诊断机构级别:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
        <el-option label="三级医院" value="1"></el-option>
        <el-option label="二级医院" value="2"></el-option>
        <el-option label="村卫生院" value="2"></el-option>
        <el-option label="乡镇卫生院/社区卫生服务机构" value="2"></el-option>
        <el-option label="其他医疗机构" value="2"></el-option>
      <el-select class="pr20 formWidth" v-model="firstVisitOrgLevel" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option v-for="item in orGlevelArr " :key="item.code" :label="item.value" :value="item.code"></el-option>
      </el-select>
    </div>
    <!--=======================================================-->
@ -70,8 +59,8 @@
      <label class="c-333 c-f14">
        肺功能检查情况:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
      <el-select class="pr20 formWidth" v-model="hasLung" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option label="是" value="1"></el-option>
        <el-option label="否" value="2"></el-option>
      </el-select>
@ -79,21 +68,22 @@
    <!--=======================================================-->
    <div class="searchDiv pb20">
      <label class="c-333 c-f14">
        胸部CT或X线检查情况:
        胸部CT检查情况:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
      <el-select class="pr20 formWidth" v-model="hasCt" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option label="是" value="1"></el-option>
        <el-option label="否" value="2"></el-option>
      </el-select>
    </div>
    <!--=======================================================-->
    <div class="searchDiv pb20">
      <label class="c-333 c-f14">
        血气分析检查情况:
        X线检查情况:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
      <el-select class="pr20 formWidth" v-model="hasx" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option label="是" value="1"></el-option>
        <el-option label="否" value="2"></el-option>
      </el-select>
@ -101,14 +91,22 @@
    <!--=======================================================-->
    <div class="searchDiv pb20">
      <label class="c-333 c-f14">
        是否抽烟:
        血气分析检查情况:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
      <el-select class="pr20 formWidth" v-model="hasBloodGas" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option label="是" value="1"></el-option>
        <el-option label="否" value="2"></el-option>
        <el-option label="从不" value="2"></el-option>
        <el-option label="已戒烟" value="2"></el-option>
      </el-select>
    </div>
    <!--=======================================================-->
    <div class="searchDiv pb20">
      <label class="c-333 c-f14">
        是否抽烟:
      </label>
      <el-select class="pr20 formWidth" v-model="hasSmoke" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option v-for="item in smokeArr " :key="item.code" :label="item.value" :value="item.code"></el-option>
      </el-select>
    </div>
    <!--=======================================================-->
@ -116,12 +114,9 @@
      <label class="c-333 c-f14">
        是否饮酒:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
        <el-option label="是" value="1"></el-option>
        <el-option label="否" value="2"></el-option>
        <el-option label="从不" value="2"></el-option>
        <el-option label="已戒酒" value="2"></el-option>
      <el-select class="pr20 formWidth" v-model="hasDrink" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option v-for="item in  drinkArr " :key="item.code" :label="item.value" :value="item.code"></el-option>
      </el-select>
    </div>
    <!--=======================================================-->
@ -129,14 +124,10 @@
      <label class="c-333 c-f14">
        病人转归情况:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option label="全部" value="all"></el-option>
        <el-option label="治愈" value="1"></el-option>
        <el-option label="好转" value="2"></el-option>
        <el-option label="稳定" value="2"></el-option>
        <el-option label="恶化" value="2"></el-option>
        <el-option label="死亡" value="2"></el-option>
        <el-option label="其他" value="2"></el-option>
      <el-select class="pr20 formWidth" v-model="diseaseConversion" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option v-for="item in conversionArr " :key="item.code" :label="item.value" :value="item.code"></el-option>
       
      </el-select>
    </div>
    <!--=======================================================-->
@ -144,24 +135,20 @@
      <label class="c-333 c-f14">
        患者年龄段:
      </label>
      <el-checkbox-group v-model="checkList">
        <el-checkbox label="0~29"></el-checkbox>
        <el-checkbox label="30~39"></el-checkbox>
        <el-checkbox label="40~49"></el-checkbox>
        <el-checkbox label="50~59"></el-checkbox>
        <el-checkbox label="60~69"></el-checkbox>
        <el-checkbox label="70~79"></el-checkbox>
        <el-checkbox label="80以上"></el-checkbox>
      </el-checkbox-group>
      <el-select class="pr20 formWidth" v-model="age" placeholder="请选择">
        <el-option label="全部" value=""></el-option>
        <el-option v-for="item in ageArr " :key="item.code" :label="item.value" :value="item.code"></el-option>
       
      </el-select>
    </div>
    <!--=======================================================-->
    <div class="searchDiv pb20">
      <label class="c-333 c-f14">
        数据范围:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option v-for="(option, index) in []" :label="option.label"
                   :value="option.value"></el-option>
      <el-select class="pr20 formWidth" v-model="rangeCode"  placeholder="请选择">
        <el-option v-for="(option, index) in rangeList" :label="option.name"
                   :value="option.code"></el-option>
      </el-select>
    </div>
    <!--=======================================================-->
@ -169,30 +156,30 @@
      <label class="c-333 c-f14">
        地区:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option v-for="(option, index) in []" :label="option.label"
                   :value="option.value"></el-option>
      </el-select>
      <el-select v-model="areaCode" style="width: 100px" class="pr10">
      <el-option v-for="(item , index) in areaList" :key="index" :label="item.name"
        :value="item.code"></el-option>
    </el-select>
    </div>
    <!--=======================================================-->
    <div class="searchDiv pb20">
    <div class="searchDiv pb20" v-show="rangeCode!='town'&&rangeCode!='specHos'">
      <label class="c-333 c-f14">
        社区:
      </label>
      <el-select class="pr20 formWidth" placeholder="请选择">
        <el-option v-for="(option, index) in []" :label="option.label"
                   :value="option.value"></el-option>
      </el-select>
      <el-select v-model="communityCode" style="width: 200px" class="pr10">
      <el-option v-for="(item , index) in communityList" :key="index" :label="item.name"
        :value="item.code"></el-option>
    </el-select>
    </div>
    <!--=======================================================-->
    <div class="searchDiv pb20">
      <el-button type="primary" size="mini">查询</el-button>
      <el-button type="ff9526" size="mini">导出</el-button>
      <span class="eliminate">清除筛选条件</span>
      <el-button type="primary" size="mini" @click="search">查询</el-button>
      <el-button type="ff9526" size="mini" @click="exportTable" >导出</el-button>
      <span class="eliminate" @click="resetDate">清除筛选条件</span>
    </div>
    <!--=======================================================-->
  </div>
  <el-table style="width: 100%; margin-top: 16px">
  <!-- <el-table style="width: 100%; margin-top: 16px"  :data="dataList" v-loading="daLoading" >
    <el-table-column prop="serialNumber" label="序号" width="180" align="center"></el-table-column>
    <el-table-column prop="region" label="地区" width="180" align="center"></el-table-column>
    <el-table-column prop="communityHospital" label="社区医院" width="180" align="center"></el-table-column>
@ -236,9 +223,21 @@
      <el-table-column prop="deceased" label="死亡" width="180" align="center"></el-table-column>
      <el-table-column prop="other" label="其他" width="180" align="center"></el-table-column>
    </el-table-column>
  </el-table>
  <div class="c-t-right mt20">
    <!-- TODO 修正 -->
    <el-pagination layout="total, prev, pager, next, jumper"></el-pagination>
  </div>
  </el-table> -->
  <el-table border :data="tabledata" style="width: 100%" class="mt20" v-loading="daLoading"
  >
  <el-table-column fixed type="index" label="序号" width="50" min-width="50"
    align="center"></el-table-column>
  <el-table-column prop="townName" label="地区" align="center" v-if="rangeCode == 'town'"
    min-width="100"></el-table-column>
  <el-table-column prop="hospitalName" label="社区" align="center" v-if="rangeCode == 'hospital'"
    min-width="180"></el-table-column>
  <el-table-column :prop="item.prop" :label="item.label" align="right" header-align="center"
    v-for="(item,index) in tableHeader" :key="index"></el-table-column>
</el-table>
<div class="c-t-right mt20">
  <el-pagination @current-change="handleCurrentChange" :current-page.sync="currentPage"
    :page-size="currentSize" layout="total, prev, pager, next, jumper"
    :total="datatotal"></el-pagination>
</div>
</div>

+ 345 - 2
component/statistics/CopdRecordSearch/index.js

@ -1,3 +1,4 @@
// 慢阻肺患者档案-服务档案
var template = '';
$.ajax('../../../component/statistics/CopdRecordSearch/index.html', {
@ -19,19 +20,361 @@ Vue.component('copd-record-search', {
  data() {
    return {
      // 当前显示的字段
      tableFieldList: []
      tableFieldList: [],
      quotaStrArr:[],
      value1:[],
      rangeList:[  {name: '按区', code: 'town'},
    {name: '按社区', code: 'hospital'}],
      startTime:'',
      endTime:'',
      rangeCode:'town',
      quotaStr:'',
      range:'',
      area:'',
      hospital:'',
      page:1,
      size:50,
      sex:'',
      firstVisitType:'',
      hasLung:'',
      hasCt:'',
      hasx:'',
      hasBloodGas:'',
      hasSmoke:'',
      hasDrink:'',
      diseaseConversion:'',
      age:'',
      dataList:[],
      daLoading:false,
      datatotal:0,
      currentPage: 1,
      currentSize:50,
      chooseYear: '',
      firstVisitArea:'',
      firstVisitOrgLevel:'',
      end:'',
      start:'',
      nowyear:'',
      nowmonth:'',
      years:[],
      radio: '1',
      dicName:['jkcopd_disease_conversion','jkcopd_age','jkcopd_smoke','jkcopd_drink','jkcopd_firstVisitType','jkcopd_first_area','jkcopd_first_org_level'],
      conversionArr:[],
      ageArr:[],
      firstVisitType:[],
      areaArr:[],
      smokeArr:[],
      drinkArr:[],
      orGlevelArr:[],
      userRole:'',
      levelList: [
        {level: '4', areaLevel: '2'},
        {level: '3', areaLevel: '3'},
        {level: '2', areaLevel: '4'}
      ], //两种搜索,地区等级对比
      areaLevel: '', // 2、市,3、区,4、社区,5、团队
      initareaLevel: '',
      initlevel: '',
      initarea: '',
      level: '',
      areaTitle: '',
      areaCode:'',
      communityList: [{code: '', name: '全部'}],
      communityCode: '',
      teamList: [{code: '', name: '全部'}],
      teamCode: ''
    };
  },
  watch:{
    value1(va){
      if(this.radio=='2'){
        this.startTime=va[0]
        this.endTime=va[1]
      }
    },
    rangeCode: function (val) {
      var vm = this;
      if (vm.initlevel != 2) {
        vm.communityCode = '';
      }
      vm.teamCode = '';
    },
    areaCode: function (val) {
      var vm = this;
      vm.selChange(3);
    },
    communityCode: function (val) {
      var vm = this;
      vm.selChange(5);
    },
  },
  methods: {
     //字典
     getDictByDictName(value){
      var vm=this
    statisticAPI.getDictByDictName({name:value}).then(function(res){
      if(value=='jkcopd_age'){
        vm.ageArr=res.list
      }else if(value=='jkcopd_smoke'){
        vm.smokeArr=res.list
      }else if(value=='jkcopd_drink'){
        vm.drinkArr=res.list
      }else if(value=='jkcopd_first_area'){
        vm.areaArr=res.list
      }else if(value=='jkcopd_disease_conversion'){
        vm.conversionArr=res.list
      }else if(value=='jkcopd_firstVisitType'){
        vm.firstVisitTypeArr=res.list
      }else if(value=='jkcopd_first_org_level'){
        vm.orGlevelArr=res.list
        
      }
     
    })
  
    },
       //获取省市区  type:区3
       getDistrict: function (type, code, name) {
        var vm = this,
          list = [],
          param = '';
        if (type == 3) {
          list = [{code: code, name: name}];
          param = 'area';
        } else if (type == 5) {
          list = [{code: '', name: '全部'}];
          param = 'community';
        }
        var params = {
          type: type,
          code: code
        };
        homeAPI.getDistrict(params).then(function (res) {
          if (res.status == 200) {
            vm[param + 'List'] = list.concat(res.list);
            vm[param + 'Code'] = vm[param + 'List'][0].code;
          } else {
            vm.$message.error(res.msg);
          }
        });
      },
    // 初始化时间
 initTime(vm) {
  var now = new Date();
  vm.endTime = now.format('yyyy-MM-dd');
  var start = now.getFullYear()+'-'+'01-01';
  vm.startTime = new Date(start).format('yyyy-MM-dd');
  vm.nowyear = vm.chooseYear = now.getFullYear();
  vm.chooseYear='2021'
  vm.nowmonth = now.getMonth() + 1;
  vm.years = [];
  for (i = vm.nowyear; i >= 2016; i--) {
    vm.years.push(i);
  }
},    
    // 数据范围初始化
initScope(vm) {
  //获得缓存中缓存的角色权限
  var userRole = window.sessionStorage.getItem('selectedRole');
  if (!userRole) {
    return false;
  }
  vm.userRole = JSON.parse(userRole);
  //level:2、市,3、区,4、社区,5、团队
  vm.initareaLevel = vm.areaLevel = vm.userRole.code == '350200' ? 2 : vm.userRole.code.length == 6 ? 3 : 4;
  vm.initlevel = vm.level = vm.userRole.code == '350200' ? 4 : vm.userRole.code.length == 6 ? 3 : 2;
  //	vm.lowLevel = vm.initlowLevel = vm.userRole.code == '350200' ? 3 : vm.userRole.code.length == 6 ? 2 : 1;
  vm.initarea = vm.area = vm.userRole.code;
  vm.areaTitle = vm.userRole.name;
  if (vm.initlevel == 4) {
    //市获取区
    vm.getDistrict(3, vm.initarea, vm.areaTitle.substr(0, 3));
    vm.rangeCode = vm.rangeList[0].code;
  } else if (vm.initlevel == 3) {
    //区获取社区
    vm.areaList = [{code: vm.initarea, name: vm.areaTitle}];
    vm.areaCode = vm.initarea;
    vm.rangeCode = vm.rangeList[0].code;
  } else if (vm.initlevel == 2) {
    //社区获取团队
    console.log(vm.initarea,vm.areaTitle,'sasasasasasasasasasasasasasasasas')
    vm.communityList = [{code: vm.initarea, name: vm.areaTitle}];
    vm.communityCode = vm.initarea;
    vm.rangeList.shift();
    vm.rangeCode = vm.rangeList[0].code;
  }
  vm.range = vm.rangeCode;
},
    toggleField(fieldName) {
      return this.tableFieldList.indexOf(fieldName) !== -1
    },
    manageInfo(){
      var vm =this
      this.daLoading=true
      var params={
      startTime: this.radio==1? this.chooseYear+'-01-01' : this.startTime,
      endTime:this.radio==1? this.chooseYear+'-12-31': this.endTime,
      quotaStr:this.quotaStrArr.join(','),
      range:this.rangeCode,
      area:this.area,
      hospital:this.communityCode,
      page:1,
      size:50,
      sex:this.sex,
      firstVisitType:this.firstVisitType,
      hasLung:this.hasLung,
      hasCt:this.hasCt,
      hasx:this.hasx,
      hasBloodGas:this.hasBloodGas,
      hasSmoke:this.hasSmoke,
      hasDrink:this.hasDrink,
      diseaseConversion:this.diseaseConversion,
      age:this.age,
      }
      statisticAPI.manageInfo(params).then(function(res){
        if (res.status == 200) {
          vm.tabledata = res.data.data;
          vm.datatotal = res.data.total;
          if (vm.tabledata.length) {
            vm.tableHeader = [];
            _.each(vm.tabledata[0], function (item, index) {
              if (
                index != 'town' &&
                index != 'townName' &&
                index != 'hospital' &&
                index != 'hospitalName' &&
                index != 'area' &&
                index != 'areaName' &&
                index != 'code' &&
                index != 'name'
              )
                vm.tableHeader.push({prop: index, label: index});
            });
          }
        } else {
          vm.$message.error(res.msg);
        }
        vm.daLoading=false
      }).catch(function(err){
        vm.daLoading=false
      })
    },
    search(){
      if(this.quotaStrArr.length){
        this.manageInfo()
      }else{
        this.$message({
          message: '请选择查询指标!',
          type: 'warning'
        });
        return false
      }
    },
    selChange: function (type) {
      var vm = this,
        name = '';
      if (type == 3) {
        vm.initSelOption('community');
        vm.initSelOption('team');
        vm.getCommunityHospital();
      } else if (type == 5) {
        vm.initSelOption('team');
        vm.teamListByArea();
      }
    },
    initSelOption: function (param) {
      var vm = this;
      vm[param + 'List'] = [{code: '', name: '全部'}];
      if (param == 'team') {
        vm[param + 'List'] = [{id: '', name: '全部'}];
      }
      vm[param + 'Code'] = vm[param + 'List'][0].code || vm[param + 'List'][0].id;
    },
    getCommunityHospital: function () {
      var vm = this,
        list = [{code: '', name: '全部'}],
        param = 'community';
      homeAPI.getCommunityHospital({area: vm.areaCode == '350200' ? '' : vm.areaCode}).then(function (res) {
        if (res.status == 200) {
          vm[param + 'List'] = list.concat(res.data);
          vm[param + 'Code'] = vm[param + 'List'][0].code;
        } else {
          vm.$message.error(res.msg);
        }
      });
    },
    exportTable(){
      var vm=this
      vm.daLoading=true
      var params={
        startTime: this.radio==1? this.chooseYear+'-01-01' : this.startTime,
        endTime:this.radio==1? this.chooseYear+'-12-31': this.endTime,
        quotaStr:this.quotaStrArr.join(','),
        range:this.rangeCode,
        area:this.area,
        hospital:this.communityCode,
        page:1,
        size:50,
        sex:this.sex,
        firstVisitType:this.firstVisitType,
        hasLung:this.hasLung,
        hasCt:this.hasCt,
        hasx:this.hasx,
        hasBloodGas:this.hasBloodGas,
        hasSmoke:this.hasSmoke,
        hasDrink:this.hasDrink,
        diseaseConversion:this.diseaseConversion,
        age:this.age,
        }
      statisticAPI.exportManageInfo(params,'管理情况.xls').then(
         function(res){
          vm.daLoading=false
          vm.$message({
            message: '导出成功!',
            type: 'success'
          });
         }
      )
    },
    resetDate(){
      this.startTime='',
      this.endTime='',
      this.rangeCode='town',
      this.quotaStr='',
      this.range='',
      this.area='',
      this.hospital='',
      this.sex='',
      this.firstVisitType='',
      this.firstVisitArea='',
      this.firstVisitOrgLevel='',
      this.areaCode='',
      this.hasLung='',
      this.hasCt='',
      this.hasx='',
      this.hasBloodGas='',
      this.hasSmoke='',
      this.hasDrink='',
      this.diseaseConversion='',
      this.age=''
    }
  },
  mounted() {
    var vm = this
    this.initTime(this)
    this.initScope(this)
    EventBus.$on('copd-record-filter-change', function (event) {
      vm.tableFieldList = event
      vm.quotaStrArr = event
      console.log(vm.quotaStrArr,'999sd8s9a8d9s8ad9sa89')
    })
    this.dicName.forEach(function(item) {
      vm.getDictByDictName(item)
    });
    // this.manageInfo()
  },
  destroyed() {
    EventBus.$off('copd-record-filter-change');

+ 1 - 1
component/statistics/CopdServiceRecord/index.css

@ -19,7 +19,7 @@
.service-record-timeline .timeline-item {
  display: flex;
  align-items: center;
  align-items: stretch;
  width: 100%;
  padding: 10px 0;
  position: relative;

+ 232 - 53
component/statistics/CopdServiceRecord/index.html

@ -5,51 +5,216 @@
    </div>
    <div class="base-content">
      <div class="base-info-item">
        姓名:张三
        姓名:{{detailInfo.name}}
      </div>
      <div class="base-info-item">
        性别:男
        性别:{{detailInfo.sexName}}
      </div>
      <div class="base-info-item">
        证件号码:359603196101017560
        证件号码:{{detailInfo.idcard}}
      </div>
      <div class="base-info-item">
        联系电话:18522222222
        联系电话:{{detailInfo.mobile}}
      </div>
      <div class="base-info-item">
        下转状态:已下转
        下转状态:{{detailInfo.turnDownStatus==1?'已下转':'未下转'}}
      </div>
      <div class="base-info-item">
        接收状态:已接收
        接收状态:{{detailInfo.receiveStatus==1?'已下转':'未下转'}}
      </div>
      <div class="base-info-item">
        接收医院:湖里区禾山街道卫生服务中心
        接收医院:{{detailInfo.hospital}}
      </div>
      <div class="base-info-item">
        接收医生:黄琴
        接收医生:{{detailInfo.doctorName}}
      </div>
    </div>
  </div>
  <div class="service-record-timeline">
    <div class="title">服务记录</div>
    <div class="record-list time-line">
      <div class="timeline">
        <div v-for="(event, eI) in events" :key="eI" class="timeline-item"
          :class="{'timeline-item-blue-dot': event.title != null}">
          <div class="timeline-time" :id="'left-' + eI">{{ event.date }}</div>
          <div class="timeline-content" v-if="event.title" :id="'right-' + eI">
            <div class="data-item" v-for="(data, index) in 3" :key="index">
              <!-- TODO 根据记录的类型显示不同的记录标题 -->
              <div class="data-title">
                下转患者
              </div>
              <div class="data-cont">
                <div style="width: 25%;" v-for="(re, i ) in 20" :key="i">
                  <span style="color: #9fa2a8">介四个字:</span>
                  <span style="color: #656565">
                    <template v-if="i% 3 == 0">——</template>
                    <template v-else>这是数据值,他可能会很长</template>
                  </span>
      <div class="timeline" v-loading="loading">
        <div v-for="(event, eI) in events" :key="eI">
          <div class="timeline-item" v-if="event.flag">
            <div class="timeline-time" :id="'left-' + eI">
              {{ event.createTime&&event.createTime.substring(0,4)}}
            </div>
          </div>
          <div class="timeline-item" :class="{'timeline-item-blue-dot': event.createTime != null}">
            <div class="timeline-time" :id="'left-' + eI">{{event.createTime&& event.createTime.slice(5) }}</div>
            <div class="timeline-content" :id="'right-' + eI">
              <div class="data-item">
                <div class="data-title">
                  {{event.type==1?'下转患者':event.type==2?'医生接收':event.type==3?'居民流转':
                  event.type==4?'医生退回':event.type==5?'医生随访':'档案修改'}}
                </div>
                <div class="data-cont" v-if="event.type!=5&&event.type!=6">
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">下转状态:</span>
                    <span style="color: #656565">
                      <template>{{event.turnDownStatus==0?'未下转':'已下转'}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">接收状态:</span>
                    <span style="color: #656565">
                      <template>{{event.receiveStatus==0?'未接收':'已接收'}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">接收医生:</span>
                    <span style="color: #656565">
                      <template>{{event.doctorName}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">是否流转:</span>
                    <span style="color: #656565">
                      <template>{{event.isCirculation==0?'否':'是'}}</template>
                      <!-- <template v-if="i% 3 == 0">———</template>
                    <template v-else>这是数据值,他可能会很长</template> -->
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">流转去向:</span>
                    <span style="color: #656565">
                      <template v-if="event.isCirculation==0">———</template>
                      <template v-else>{{event.circulation}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">是否回退:</span>
                    <span style="color: #656565">
                      <template>{{event.isBack==0?'否':'是'}}</template>
                      <!-- <template v-if="i% 3 == 0">———</template>
                    <template v-else>这是数据值,他可能会很长</template> -->
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">是否回退:</span>
                    <span style="color: #656565">
                      <template v-if="event.isBack==0">———</template>
                      <template v-else>{{event.backReason}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">是否失访:</span>
                    <span style="color: #656565">
                      <template>{{event.isLost==0?'否':'是'}}</template>
                      <!-- <template v-if="i% 3 == 0">———</template>
                    <template v-else>这是数据值,他可能会很长</template> -->
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">操作医生:</span>
                    <span style="color: #656565">
                      <template>{{event.operaterName}}</template>
                      <!-- <template v-if="i% 3 == 0">———</template>
                    <template v-else>这是数据值,他可能会很长</template> -->
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">所属机构:</span>
                    <span style="color: #656565">
                      <template>{{event.orgName}}</template>
                      <!-- <template v-if="i% 3 == 0">———</template>
                    <template v-else>这是数据值,他可能会很长</template> -->
                    </span>
                  </div>
                </div>
                <div class="data-cont" v-else-if="event.type==5">
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">下转状态:</span>
                    <span style="color: #656565">
                      <template>{{event.turnDownStatus==0?'未下转':'已下转'}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">接收状态:</span>
                    <span style="color: #656565">
                      <template>{{event.receiveStatus==0?'未接收':'已接收'}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">接收医院:</span>
                    <span style="color: #656565">
                      <template>{{event.hospitalName}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">接收医生:</span>
                    <span style="color: #656565">
                      <template>{{event.doctorName}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">是否流转:</span>
                    <span style="color: #656565">
                      <template>{{event.isCirculation==0?'否':'是'}}</template>
                      <!-- <template v-if="i% 3 == 0">———</template>
                    <template v-else>这是数据值,他可能会很长</template> -->
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">流转去向:</span>
                    <span style="color: #656565">
                      <template v-if="event.isCirculation==0">———</template>
                      <template v-else>{{event.circulation}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">是否回退:</span>
                    <span style="color: #656565">
                      <template>{{event.isBack==0?'否':'是'}}</template>
                      <!-- <template v-if="i% 3 == 0">———</template>
                    <template v-else>这是数据值,他可能会很长</template> -->
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">是否回退:</span>
                    <span style="color: #656565">
                      <template v-if="event.isBack==0">———</template>
                      <template v-else>{{event.backReason}}</template>
                    </span>
                  </div>
                  <div style="display: flex; justify-content: space-between; width: 100%; ">
                    <div class="data-title">随访信息</div>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">随访医生:</span>
                    <span style="color: #656565">
                      <template>{{event.jkcopdFollowup.doctorName}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">随访机构:</span>
                    <span style="color: #656565">
                      <template>{{event.jkcopdFollowup.hospitalName}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">随访时间:</span>
                    <span style="color: #656565">
                      <template>{{event.jkcopdFollowup.followupDate}}</template>
                    </span>
                  </div>
                  <div style="width: 50%">
                    <span style="color: #9fa2a8">生存状态:</span>
                    <span style="color: #656565">
                      <template>{{event.jkcopdFollowup.isLive==1?'生存':'死亡'}}</template>
                    </span>
                  </div>
                  
                </div>
                <div class="data-title" style="color: #12B7F5; font-size: 14px" v-if="event.type==5" @click="showDetail(event)"> 查看随访详情</div>
                <div class="data-cont" v-else>
                  <div style="width: 50%" v-for="item in event.achievesRecordList" :key="item.id">
                    <span style="color: #9fa2a8">{{item.classFieldName}}:</span>
                    <span style="color: #656565">
                      <template>{{item.newCommentName}}</template>
                    </span>
                  </div>
                </div>
              </div>
            </div>
@ -59,7 +224,7 @@
    </div>
  </div>
  <div class="cops-service-record-bottom-box">
    <el-button>返回</el-button>
    <el-button @click="recordBack">返回</el-button>
  </div>
  <el-dialog title="随访详情" :visible.sync="dialog" width="50%">
    <div class="copd-follow-up-dialog-box">
@ -69,13 +234,13 @@
        </div>
        <div class="copd-bb-base-content">
          <div class="copd-bb-base-info-item">
            随访时间:2023-05-11 16:35:00
            随访时间:{{followInfo.createTime}}
          </div>
          <div class="copd-bb-base-info-item">
            随访医生:黄琴
            随访医生:{{followInfo.doctorName}}
          </div>
          <div class="copd-bb-base-info-item">
            湖里区禾山街道卫生服务中心
            {{followInfo.hospitalName}}
          </div>
        </div>
      </div>
@ -85,28 +250,28 @@
        </div>
        <div class="copd-bb-base-content">
          <div class="copd-bb-base-info-item">
            姓名:张三
            姓名:{{followInfo.name}}
          </div>
          <div class="copd-bb-base-info-item">
            性别:男
            性别:{{followInfo.sex==1?'男':'女'}}
          </div>
          <div class="copd-bb-base-info-item">
            出生日期:1961-03-04
            出生日期:{{followInfo.birthday}}
          </div>
          <div class="copd-bb-base-info-item">
            证件类型:身份证
            证件类型:{{followInfo.idcardType}}
          </div>
          <div class="copd-bb-base-info-item">
            证件号码:359603196101017560
            证件号码:{{followInfo.idcard}}
          </div>
          <div class="copd-bb-base-info-item">
            联系电话:18522222222
            联系电话:{{followInfo.mobile}}
          </div>
          <div class="copd-bb-base-info-item">
            现住地址:福建省厦门市湖里区禾山街道伟星城市之光1栋1单元3203室
            现住地址:{{followInfo.liveAddress}}
          </div>
          <div class="copd-bb-base-info-item">
            户籍地址:福建省厦门市湖里区禾山街道伟星城市之光1栋1单元3203室
            户籍地址:{{followInfo.registAddress}}
          </div>
        </div>
      </div>
@ -116,31 +281,45 @@
        </div>
        <div class="copd-bb-base-content">
          <div class="copd-bb-base-info-item">
            生存状态:
          </div>
          <div class="copd-bb-base-info-item">
            生存状态:
          </div>
          <div class="copd-bb-base-info-item">
            慢阻肺首次诊断时间:2022-03-03
            生存状态:{{followInfo.isLive==1?'生存':'死亡'}}
          </div>
          <div class="copd-bb-base-info-item">
            慢阻肺首次诊断地区:
            随访状态:{{
              followInfo.status == 1 ? '接收随访' :
              followInfo.status == 2 ? '拒访' :
              followInfo.status == 3 ? '不详' :
              followInfo.status == 4 ? '失访' :
              followInfo.status == 5 ? '非本辖区—退回再根据现住址下推' :
              ''
            }}
          </div>
          <div class="copd-bb-base-info-item">
            慢阻肺首次诊断机构级别
            慢阻肺首次诊断时间:{{followInfo.firstVisitTime}}
          </div>
          <div class="copd-bb-base-info-item">
            是否做过肺功能检查
            慢阻肺首次诊断地区:{{followInfo.firstVisitArea}}
          </div>
          <div class="copd-bb-base-info-item">
            是否做过胸部CT或X线检查:
            慢阻肺首次诊断机构级别:{{
              followInfo.firstVisitOrgLevel == 1 ? '三级医院' :
              followInfo.firstVisitOrgLevel == 2 ? '二级医院' :
              followInfo.firstVisitOrgLevel == 3 ? '村卫生室' :
              followInfo.firstVisitOrgLevel == 4 ? '乡镇卫生院/社区卫生服务机构' :
              followInfo.firstVisitOrgLevel == 5 ? '其他医疗卫生机构' :
              ''
            }}
          </div>
          <!-- <div class="copd-bb-base-info-item">
            是否做过肺功能检查:{{followInfo.hasLung}}
          </div> -->
          <!-- <div class="copd-bb-base-info-item">e
            是否做过胸部CT或X线检查:{{followInfo.birthday}}
          </div> -->
          <div class="copd-bb-base-info-item">
            是否抽烟:
            是否抽烟:{{followInfo.hasSmoke==1?'是':followInfo.hasSmoke==0?'':'已戒'}}
          </div>
          <div class="copd-bb-base-info-item">
            是否饮酒:
            是否饮酒:{{followInfo.hasDrink==1?'是':followInfo.hasDrink==0?'':'已戒'}}
          </div>
        </div>
      </div>
@ -150,16 +329,16 @@
        </div>
        <div class="copd-bb-base-content">
          <div class="copd-bb-base-info-item">
            死亡情况:2023-02-02
            死亡情况:{{followInfo.isLive==1?'生存':'死亡'}}
          </div>
          <div class="copd-bb-base-info-item">
            死亡时间:自然死亡
            死亡时间:{{followInfo.deathTime}}
          </div>
        </div>
      </div>
    </div>
    <span slot="footer" class="dialog-footer">
      <el-button @click="dialogVisible = false">关闭</el-button>
      <el-button @click="dialog = false">关闭</el-button>
    </span>
  </el-dialog>
</div>

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

@ -1,3 +1,4 @@
// 慢阻肺患者档案-服务档案
var template = ''
$.ajax('../../../component/statistics/CopdServiceRecord/index.html',{
@ -15,10 +16,14 @@ $.ajax('../../../component/statistics/CopdServiceRecord/index.html',{
  
Vue.component('copd-service-record', {
  template: template,
  props: [],
  props: ['detailInfo'],
  data() {
    return {
      dialog: true,
      dialog: false,
      loading:false,
      page:1,
      size:999,
      followInfo:{},
      events: [
        {date: '2023年'},
        {title: 'Event 1', date: '05-11 17:00:01', description: 'Description for event 1'},
@ -40,11 +45,63 @@ Vue.component('copd-service-record', {
          }
        });
      });
    },
    recordBack(){
      EventBus.$emit('copd-reset-select')
    },
    getDealRecord: function () {
      var vm = this
      vm.loading = true
      var params = {
        page: vm.page,
        size: vm.size,
        patient: vm.detailInfo.patient
      }
      statisticAPI.dealRecordPage(params).then(function(res){
        res.detailModelList.forEach(function (item, index) {
          var time1 =
            res.detailModelList[index] &&
            res.detailModelList[index].createTime &&
            res.detailModelList[index].createTime.slice(0, 4)
          var time2 =
            res.detailModelList[index + 1] &&
            res.detailModelList[index + 1].createTime &&
            res.detailModelList[index + 1].createTime.slice(0, 4)
          if (index == 0) {
            item.flag = 1
          } else if (index != res.detailModelList.length - 1 && time1 == time2) {
            res.detailModelList[index + 1].flag = 0
          } else if (res.detailModelList.length - 1 == index&& res.detailModelList[index + 1] &&
            res.detailModelList[index + 1].createTime &&res.detailModelList[index]&&res.detailModelList[index].createTime) {
            if (
              res.detailModelList[index - 1].createTime.slice(0, 4) ==res.detailModelList[index].createTime.slice(0, 4)
            ) {
              res.detailModelList[res.detailModelList.length - 1].flag = 0
            } else {
              res.detailModelList[res.detailModelList.length - 1].flag = 1
            }
          }
        })
        vm.loading=false
        vm.events = res.detailModelList
        console.log(vm.events,'999999999999')
      })
    },
    showDetail(item){
      var vm =this
      console.log(item,'oooooooooooooo')
       statisticAPI.followupDetail({id:item.jkcopdFollowup.id}).then(function(res){
        console.log(res)
        vm.followInfo=res.obj
        console.log(vm.followInfo,'sssss')
        vm.dialog=true
       })
    }
  },
  mounted() {
    this.$nextTick(() => {
      this.setLeftHeights();
    });
    // this.$nextTick(() => {
    //   this.setLeftHeights();
    // });
    this.getDealRecord()
  },
});