542372506@qq.com hai 6 días
pai
achega
423b2cb572

+ 102 - 103
component/statistics/LascCervical/index.html

@ -21,11 +21,11 @@
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">地区:</label>
      <el-select class="formWidth" v-model="form.area" placeholder="请选择" @change="getHospital">
      <el-select class="formWidth" v-model="form.town" placeholder="请选择" @change="getHospital">
        <el-option v-for="(option, index) in areaOptions" :label="option.label" :value="option.value" :key="option.value"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20" v-if="form.range == 'hospital'||form.range == 'team'">
    <div class="searchDiv pb20 pr20" v-if="form.range == '2'">
      <label class="c-333 c-f14">社区:</label>
      <el-select class="formWidth" v-model="form.hospital" placeholder="请选择" @change="getTeam">
        <el-option v-for="(option, index) in hospitalOptions" :label="option.name" :value="option.code" :key="option.code"></el-option>
@ -33,7 +33,7 @@
    </div>
    <div class="searchDiv pb20">
      <el-button type="primary" size="mini" @click="queryDate">查询</el-button>
      <el-button type="primary" size="mini" @click="searchFn">查询</el-button>
      <el-button type="ff9526" size="mini" @click="exportTable" :disabled="exportLoading">导出</el-button>
      <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
    </div>
@ -41,144 +41,143 @@
  <el-table border :data="tableData" style="width: 100%" v-loading="loadingTwo" class="mt20">
    <template>
      <el-table-column type="index" width="50" label="序号" align="center"></el-table-column>
      <el-table-column prop="areaName" label="机构名称" align="center"></el-table-column>
      <el-table-column prop="gradeHospitalName" label="医生" align="center"></el-table-column>
      <el-table-column prop="targetEntryCont" label="筛查人数" align="center"></el-table-column>
      <el-table-column prop="firstEntryTime" label="结案人数" align="center"></el-table-column>
      <el-table-column prop="firstEntryTime" label="宫颈初筛已完成人数" align="center"></el-table-column>
      <el-table-column prop="gynOrg" label="机构名称" align="center"></el-table-column>
      <el-table-column prop="total" label="筛查人数" align="center"></el-table-column>
      <el-table-column prop="endNum" label="结案人数" align="center"></el-table-column>
      <el-table-column prop="num1" label="宫颈初筛已完成人数" align="center"></el-table-column>
      <el-table-column label="宫颈癌管理情况" align="center">
        <el-table-column prop="kf_value1" label="妇科检查人数" align="center"></el-table-column>
        <el-table-column prop="kf_value2" label="线上评估人数" align="center"></el-table-column>
        <el-table-column prop="kf_value1" label="线上预约人数" align="center"></el-table-column>
        <el-table-column prop="num2" label="妇科检查人数" align="center"></el-table-column>
        <el-table-column prop="assessNum" label="线上评估人数" align="center"></el-table-column>
        <el-table-column prop="orderNum" label="线上预约人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="宫颈妇科检查情况" align="center">
        <el-table-column prop="dz_value1" label="拒绝" align="center"></el-table-column>
        <el-table-column prop="dz_value3" label="依从" align="center"></el-table-column>
        <el-table-column prop="dz_value4" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="dz_value3" label="待完善人数" align="center"></el-table-column>
        <el-table-column prop="jujueNum" label="拒绝" align="center"></el-table-column>
        <el-table-column prop="yicongNum" label="依从" align="center"></el-table-column>
        <el-table-column prop="num3" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="waitNum" label="待完善人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="HPV检查情况" align="center">
        <el-table-column prop="dz_value4" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="dz_value3" label="待完善人数" align="center"></el-table-column>
        <el-table-column prop="hpvNum" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="n1" label="待完善人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="高危HPV分型检测情况" align="center">
        <el-table-column prop="all_value1" label="高危HPV阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="16型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="18型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="31型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="33型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="35型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="39型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="45型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="51型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpvH" label="高危HPV阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv16" label="16型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv18" label="18型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv31" label="31型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv33" label="33型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv35" label="35型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv39" label="39型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv45" label="45型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv51" label="51型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="52型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="53型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="56型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="58型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="59型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="66型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="68型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="73型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="82型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv52" label="52型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv53" label="53型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv56" label="56型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv58" label="58型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv59" label="59型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv66" label="66型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv68" label="68型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv73" label="73型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv82" label="82型阳性人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="低危HPV分型检测情况" align="center">
        <el-table-column prop="all_value1" label="低危HPV阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="6型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="11型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="42型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="43型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="44型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="81型阳性人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="83型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpvL" label="低危HPV阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv6" label="6型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv11" label="11型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv42" label="42型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv43" label="43型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv44" label="44型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv81" label="81型阳性人数" align="center"></el-table-column>
        <el-table-column prop="hpv83" label="83型阳性人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="宫颈细胞学检查情况" align="center">
        <el-table-column prop="all_value1" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="检查异常人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="检查异常人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="待完善人数" align="center"></el-table-column>
        <el-table-column prop="cytNum" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="cytNum1" label="检查异常人数" align="center"></el-table-column>
        <el-table-column prop="cytNum2" label="待完善人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="初筛结果临床评估情况" align="center">
        <el-table-column prop="all_value1" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="待完善人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="异常,6-12个月复查" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="异常,嘱进一步行阴道镜检查" align="center"></el-table-column>
        <el-table-column prop="preNum" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="preNum1" label="待完善人数" align="center"></el-table-column>
        <el-table-column prop="preNum2" label="未见异常,定期筛查" align="center"></el-table-column>
        <el-table-column prop="preNum3" label="异常,6-12个月复查" align="center"></el-table-column>
        <el-table-column prop="preNum4" label="异常,嘱进一步行阴道镜检查" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="阴道镜检查情况" align="center">
        <el-table-column prop="all_value1" label="需要阴道镜检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="阴道镜检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="接受检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="拒绝检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="未见异常人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="异常人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="待完善人数" align="center"></el-table-column>
        <el-table-column prop="colNum" label="需要阴道镜检查人数" align="center"></el-table-column>
        <el-table-column prop="colNum1" label="阴道镜检查人数" align="center"></el-table-column>
        <el-table-column prop="colNum2" label="接受检查人数" align="center"></el-table-column>
        <el-table-column prop="colNum3" label="拒绝检查人数" align="center"></el-table-column>
        <el-table-column prop="colNum4" label="未见异常人数" align="center"></el-table-column>
        <el-table-column prop="colNum5" label="异常人数" align="center"></el-table-column>
        <el-table-column prop="colNum6" label="待完善人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="阴道镜检查随访情况" align="center">
        <el-table-column prop="all_value1" label="已随访人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="待随访人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="未见异常 " align="center"></el-table-column>
        <el-table-column prop="all_value1" label="低度病变" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="高度病变" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="可疑癌" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="其他" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="不详" align="center"></el-table-column>
        <el-table-column prop="colfNum" label="已随访人数" align="center"></el-table-column>
        <el-table-column prop="colfNum1" label="待随访人数" align="center"></el-table-column>
        <el-table-column prop="colfNum2" label="未见异常 " align="center"></el-table-column>
        <el-table-column prop="colfNum3" label="低度病变" align="center"></el-table-column>
        <el-table-column prop="colfNum4" label="高度病变" align="center"></el-table-column>
        <el-table-column prop="colfNum5" label="可疑癌" align="center"></el-table-column>
        <el-table-column prop="colfNum6" label="其他" align="center"></el-table-column>
        <el-table-column prop="colfNum7" label="不详" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="组织病理学检查情况" align="center">
        <el-table-column prop="all_value1" label="需要组织病理学检查" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="病理学检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="接受检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="拒绝检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="未见异常人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="炎症" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="低级别病变(原CIN1)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="高级别病变(原CIN2及CIN3)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="官颈原位腺癌(AIS)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="官颈微小浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="官颈浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="cpatNum" label="需要组织病理学检查" align="center"></el-table-column>
        <el-table-column prop="cpatNum1" label="病理学检查人数" align="center"></el-table-column>
        <el-table-column prop="cpatNum2" label="接受检查人数" align="center"></el-table-column>
        <el-table-column prop="cpatNum3" label="拒绝检查人数" align="center"></el-table-column>
        <el-table-column prop="cpatNum4" label="未见异常人数" align="center"></el-table-column>
        <el-table-column prop="cpatNum5" label="炎症" align="center"></el-table-column>
        <el-table-column prop="cpatNum6" label="低级别病变(原CIN1)" align="center"></el-table-column>
        <el-table-column prop="cpatNum7" label="高级别病变(原CIN2及CIN3)" align="center"></el-table-column>
        <el-table-column prop="cpatNum8" label="官颈原位腺癌(AIS)" align="center"></el-table-column>
        <el-table-column prop="cpatNum9" label="官颈微小浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="cpatNum10" label="官颈浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="组织病理学检查随访情况" align="center">
        <el-table-column prop="all_value1" label="已随访人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="待随访人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="炎症" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="低级别病变(原CIN1)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="高级别病变(原CIN2及CIN3)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="官颈原位腺癌(AIS)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="官颈微小浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="官颈浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="cpatfNum" label="已随访人数" align="center"></el-table-column>
        <el-table-column prop="cpatfNum1" label="待随访人数" align="center"></el-table-column>
        <el-table-column prop="cpatfNum2" label="炎症" align="center"></el-table-column>
        <el-table-column prop="cpatfNum3" label="低级别病变(原CIN1)" align="center"></el-table-column>
        <el-table-column prop="cpatfNum4" label="高级别病变(原CIN2及CIN3)" align="center"></el-table-column>
        <el-table-column prop="cpatfNum5" label="官颈原位腺癌(AIS)" align="center"></el-table-column>
        <el-table-column prop="cpatfNum6" label="官颈微小浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="cpatfNum7" label="官颈浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="最后诊断情况" align="center">
        <el-table-column prop="all_value1" label="未见异常人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="炎症" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="低级别病变(原CIN1)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="高级别病变(原CIN2及CIN3)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="宫颈原位腺癌(AIS)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="宫颈微小浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="宫颈浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="待完善人数" align="center"></el-table-column>
        <el-table-column prop="finNum" label="未见异常人数" align="center"></el-table-column>
        <el-table-column prop="finNum1" label="炎症" align="center"></el-table-column>
        <el-table-column prop="finNum2" label="低级别病变(原CIN1)" align="center"></el-table-column>
        <el-table-column prop="finNum3" label="高级别病变(原CIN2及CIN3)" align="center"></el-table-column>
        <el-table-column prop="finNum4" label="宫颈原位腺癌(AIS)" align="center"></el-table-column>
        <el-table-column prop="finNum5" label="宫颈微小浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="finNum6" label="宫颈浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="finNum7" label="待完善人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="宫颈病变接受治疗情况" align="center">
        <el-table-column prop="all_value1" label="接受治疗人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="不接受治疗人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="不详人数" align="center"></el-table-column>
        <el-table-column prop="finTNum1" label="接受治疗人数" align="center"></el-table-column>
        <el-table-column prop="finTNum2" label="不接受治疗人数" align="center"></el-table-column>
        <el-table-column prop="finTNum3" label="不详人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="术后病理—接受组织病理学检查情况" align="center">
        <el-table-column prop="all_value1" label="接受检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="不接受检查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="炎症" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="低级别病变(原CIN1)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="高级别病变(原CIN2及CIN3)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="官颈微小浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="官颈浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="finSNum1" label="接受检查人数" align="center"></el-table-column>
        <el-table-column prop="finSNum2" label="不接受检查人数" align="center"></el-table-column>
        <el-table-column prop="finSNum3" label="炎症" align="center"></el-table-column>
        <el-table-column prop="finSNum4" label="低级别病变(原CIN1)" align="center"></el-table-column>
        <el-table-column prop="finSNum5" label="高级别病变(原CIN2及CIN3)" align="center"></el-table-column>
        <el-table-column prop="finSNum6" label="官颈微小浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
        <el-table-column prop="finSNum7" label="官颈浸润癌(鳞癌/腺癌)" align="center"></el-table-column>
      </el-table-column>
    </template>
  </el-table>

+ 40 - 292
component/statistics/LascCervical/index.js

@ -21,9 +21,9 @@ Vue.component('lasc-cervical', {
      chooseYear: null,
      chooseTime: null,
      rangeOptions: [
        { label: '区', value: 'town' },
        { label: '社区', value: 'hospital' },
        { label: '团队', value: 'team' }
        { label: '区', value: '1' },
        { label: '社区', value: '2' },
        { label: '居住地', value: '3' }
      ],
      areaOptions: [
        { label: '思明区', value: '350203' },
@ -36,7 +36,7 @@ Vue.component('lasc-cervical', {
      hospitalOptions: [],
      teamOptions: [],
      form: {
        range: 'town'
        range: '1'
      },
      loading: false,
      exportLoading: false,
@ -100,28 +100,26 @@ Vue.component('lasc-cervical', {
        this.level = 2 // 区管理
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code }]
        this.form = {
          range: 'town',
          area: selectedRole.code
          range: '2',
          town: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.level = 3 // 社区管理
        this.rangeOptions = [
          { label: '社区', value: 'hospital' },
          { label: '团队', value: 'team' }
          { label: '社区', value: '2' },
        ]
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          range: '2',
          town: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.getTeam(selectedRole.code)
      }
      this.initTime()
      this.searchFn()
      this.getDictData()
      this.hospitalsByType()
    },
    initTime() {
@ -147,104 +145,66 @@ Vue.component('lasc-cervical', {
      }
    },
    getDictData() {
      var vm = this
      statisticAPI.getDictByDictName({ name: 'rehabilitation_status' }).then(function (res) {
        vm.statusOptions = [{ value: '全部', code: '' }]
        vm.statusOptions = vm.statusOptions.concat(res.list)
      })
      statisticAPI.getDictByDictName({ name: 'rehabilitation_hospital' }).then(function (res) {
        vm.rehabilitationHospital = [{ value: '全部', code: '' }]
        vm.rehabilitationHospital = vm.rehabilitationHospital.concat(res.list)
      })
      statisticAPI.getDictByDictName({ name: 'archive_status' }).then(function (res) {
        vm.archiveList = [{ value: '全部', code: '' }]
        vm.archiveList = vm.archiveList.concat(res.list)
      })
    
    },
    searchFn() {
      var vm = this
      this.loading = true
      var params = {
        ...this.form,
        isTotal: 1
        page:this.page,
        size:this.size
      }
      vm.tableData = []
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      if (this.form.range == 'town') {
        this.tableHeader = getTownHeader().concat(this.constantHeader)
      } else if (this.form.range == 'hospital') {
        this.tableHeader = getHospitalHeader().concat(this.constantHeader)
      } else {
        this.tableHeader = getTeamHeader().concat(this.constantHeader)
      }
      httpRequest.get('statistics/collaborate/gxbTurnDownInfo', { data: params }).then(function (res) {
      httpRequest.get('/doctor/twoCancers/count/cervicalQualityCount', { data: params }).then(function (res) {
        if (res.status == 200) {
          vm.tableData = res.detailModelList.map(function (item) {
            var data = JSON.parse(JSON.stringify(item))
            if (vm.form.range == 'town') {
              data.town = item.name
              data.hasChildren = data.code && true
            } else if (vm.form.range == 'hospital') {
              data.hospital = item.name
              data.hasChildren = data.code && true
            } else if (vm.form.range == 'team') {
              data.team = item.name
            }
            return data
          })
          vm.tableData = res.detailModelList
          vm.total = res.totalCount
        }
        console.log('22222222222222222',vm.tableData)
        vm.loading = false
      })
    },
    exportTable() {
      var vm = this
      var params = {
        ...this.form
        ...this.form,
        page:this.page,
        size:this.size
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      this.exportLoading = true
      var fileName = `冠心病门诊下转统计表${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('statistics/collaborate/exportGxbTurnDownInfo', fileName, params).then(function () {
        vm.exportLoading = false
      var fileName = `宫颈癌质控统计表${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('doctor/twoCancers/count/exportCervicalQualityCount', fileName, params).then(function () {
        this.exportLoading = false
      })
    },
    eliminateClick() {
      var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
      if (this.level == 1) {
        this.form = {
          range: 'town'
          range: '1'
        }
      } else if (this.level == 2) {
        this.form = {
          range: 'town',
          range: '1',
          area: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          range: '2',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.getTeam(selectedRole.code)
      }
      this.yearType = '1'
      this.chooseYear = new Date().getFullYear()
      this.chooseTime = null
      this.$forceUpdate()
@ -317,95 +277,15 @@ Vue.component('lasc-cervical', {
        }
      })
    },
    dialogSearchFn() {
      this.page = 1
      if (this.title == '康复下转明细列表') {
        this.rehabilitationPatientInfo()
      } else if (this.title == '下转情况数据列表') {
        this.turnDownDataPage()
      }
    },
    dialogExportFn() {
      var vm = this
      var params = {
        ...this.query
      }
      if (this.title == '康复下转明细列表') {
        if (this.yearType == '1') {
          params.startTime = this.chooseYear + '-01-01'
          params.endTime = this.chooseYear + '-12-31'
        } else {
          if (this.chooseTime) {
            params.startTime = this.chooseTime[0]
            params.endTime = this.chooseTime[1]
          }
        }
        this.dialogExportLoading = true
        var fileName = `康复下转明细列表${new Date().getTime()}.xls`
        httpRequest.downLoadFileForAjax('doctor/specialist/rehabilitation/exportRehabilitationPatientInfo', fileName, params).then(function () {
          vm.dialogExportLoading = false
        })
      } else {
        if (this.yearType == '1') {
          params.startDate = this.chooseYear + '-01-01'
          params.endDate = this.chooseYear + '-12-31'
        } else {
          if (this.chooseTime) {
            params.startDate = this.chooseTime[0]
            params.endDate = this.chooseTime[1]
          }
        }
        this.dialogExportLoading = true
        var fileName = `冠心病下转情况统计表${new Date().getTime()}.xls`
        httpRequest.downLoadFileForAjax('statistics/collaborate/exportTurnDownDataPage', fileName, params).then(function () {
          vm.dialogExportLoading = false
        })
      }
    },
    dialogReset() {
      var params = {
        ...this.query
      }
      if (this.title == '康复下转明细列表') {
        this.query = {
          status: '',
          hospitalCode: '',
          orgCode: '',
          archiveStatus: '',
          patientType: '',
          range: typeof params.range == 'undefined' ? '' : params.range,
          area: typeof params.area == 'undefined' ? '' : params.area,
          hospital: typeof params.hospital == 'undefined' ? '' : params.hospital,
          team: typeof params.team == 'undefined' ? '' : params.team
        }
      } else if (this.title == '下转情况数据列表') {
        this.query = {
          sex: '',
          isSign: '',
          eventType: '',
          range: params.range,
          area: params.area,
          hospital: params.hospital,
          team: params.team
        }
      }
    },
    handleCurrentChange(val) {
      this.page = val
      if (this.title == '康复下转明细列表') {
        this.rehabilitationPatientInfo()
      } else if (this.title == '下转情况数据列表') {
        this.turnDownDataPage()
      }
      this.searchFn()
    },
    handleSizeChange(val) {
      this.size = val
      if (this.title == '康复下转明细列表') {
        this.rehabilitationPatientInfo()
      } else if (this.title == '下转情况数据列表') {
        this.turnDownDataPage()
      }
      this.searchFn()
    },
    // 获取社区医院
    hospitalsByType() {
@ -533,95 +413,8 @@ Vue.component('lasc-cervical', {
        this.turnDownDataPage()
      }
    },
    // 康复下转操作
    operation(num, item) {
      var vm = this
      if (num != 2) {
        statisticAPI
          .synchronizePationSingle({ id: item.id })
          .then(function (res) {
            if (res.status == 200) {
              vm.$message.success('操作成功')
            } else {
              vm.$message.error(res.msg)
            }
          })
          .catch(function (err) {
            console.log(err, 'Errr')
          })
      } else {
        vm.signatoryList = []
        statisticAPI
          .kangfuGetSignInfo({ idcard: item.idcard })
          .then(function (res) {
            if (res.status == 200) {
              if (res.data != null) {
                vm.signatoryList.push(res.data)
              }
            }
          })
          .catch(function (err) {
            console.log(err, 'Errr')
          })
        vm.dialogVisible = true
      }
    },
    rehabilitationPatientInfo() {
      var vm = this
      var params = {
        ...this.query,
        page: this.page,
        size: this.size,
        disease: 3
      }
      if (this.yearType == '1') {
        params.startTime = this.chooseYear + '-01-01'
        params.endTime = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startTime = this.chooseTime[0]
          params.endTime = this.chooseTime[1]
        }
      }
      this.dialogLoading = true
      statisticAPI.rehabilitationPatientInfo(params).then(function (res) {
        if (res.status == 200) {
          res.detailModelList.forEach(function (v) {
            v.sex = v.sex == 1 ? '男' : '女'
          })
          vm.dialogTableData = res.detailModelList
          vm.total = res.totalCount
        } else {
          vm.$message.error(res.msg)
        }
        vm.dialogLoading = false
      })
    },
    turnDownDataPage() {
      var vm = this
      var params = {
        ...this.query,
        page: this.page,
        pageSize: this.size
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      }
      this.dialogLoading = true
      httpRequest.get('statistics/collaborate/turnDownDataPage', { data: params }).then(function (res) {
        if (res.status == 200) {
          vm.dialogTableData = res.detailModelList
          vm.total = res.totalCount
        }
        vm.dialogLoading = false
      })
    },
    closeDialog() {
      this.visible = false
@ -657,55 +450,10 @@ Vue.component('lasc-cervical', {
        this.init()
      }
    },
    seePatientDetail(row, prop) {
      console.log('uuuuuuuuuuuuuuuuu', row, prop)
      if (prop == 'name') {
        if (row.patient && this.title == '康复下转明细列表') {
          EventBus.$emit('preview-person-info', { type: '4', code: row.patient })
        } else if (row.code && this.title == '下转情况数据列表') {
          EventBus.$emit('preview-person-info', { type: '4', code: row.code })
        } else {
          this.$message.warning('未查询到该患者信息')
        }
      }
    },
    renderHeader: function (h, item) {
      var label = item.column.label
      var column = item.column
      var tooltip = {
        '签约社区': '显示为该患者当前的签约社区医院名称',
        '社区医院': '显示为该患者当前的签约社区医院名称',
        '签约医院': '显示为该患者当前的签约社区医院名称',
        '签约医生': '显示为该患者当前的签约社区医生名称',
        '家庭医生': '显示为该患者当前的签约社区医生名称'
      }
      if (label == '签约社区' || label == '签约医生' || label == '签约医院' || label == '家庭医生' || label == '社区医院') {
        return [
          label,
          h(
            'el-tooltip',
            {
              props: {
                content: (function () {
                  return tooltip[label]
                })(),
                placement: 'top'
              }
            },
            [
              h('span', {
                class: {
                  'el-icon-question': true
                }
              })
            ]
          )
        ]
      } else {
        return [column.label]
      }
    }
  },
  mounted() {}
  mounted() {
    this.init()
  }
})

+ 3 - 8
component/statistics/LascProgress/index.html

@ -23,22 +23,17 @@
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">地区:</label>
      <el-select class="formWidth" v-model="form.area" placeholder="请选择" @change="getHospital">
      <el-select class="formWidth" v-model="form.town" placeholder="请选择" @change="getHospital">
        <el-option v-for="(option, index) in areaOptions" :label="option.label" :value="option.value" :key="option.value"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20" v-if="form.range == 'hospital'||form.range == 'team'">
    <div class="searchDiv pb20 pr20" v-if="form.range == '2'">
      <label class="c-333 c-f14">社区:</label>
      <el-select class="formWidth" v-model="form.hospital" placeholder="请选择" @change="getTeam">
        <el-option v-for="(option, index) in hospitalOptions" :label="option.name" :value="option.code" :key="option.code"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20" v-if="form.range == 'team'">
      <label class="c-333 c-f14">团队:</label>
      <el-select class="formWidth" v-model="form.team" placeholder="请选择">
        <el-option v-for="(option, index) in teamOptions" :label="option.name" :value="option.id" :key="option.id"></el-option>
      </el-select>
    </div>
   
    <div class="searchDiv pb20">
      <el-button type="primary" size="mini" @click="searchFn">查询</el-button>
      <el-button type="ff9526" size="mini" @click="exportTable" :disabled="exportLoading">导出</el-button>

+ 42 - 334
component/statistics/LascProgress/index.js

@ -21,9 +21,9 @@ Vue.component('lasc-progress', {
      chooseYear: null,
      chooseTime: null,
      rangeOptions: [
        { label: '区', value: 'town' },
        { label: '社区', value: 'hospital' },
        { label: '团队', value: 'team' }
        { label: '区', value: '1' },
        { label: '社区', value: '2' },
        { label: '居住地', value: '3' }
      ],
      areaOptions: [
        { label: '思明区', value: '350203' },
@ -36,20 +36,20 @@ Vue.component('lasc-progress', {
      hospitalOptions: [],
      teamOptions: [],
      form: {
        range: 'town'
        range: '1'
      },
      loading: false,
      exportLoading: false,
      tableData: [],
      tableHeader: [
        { label: '机构', prop: 'name' },
        { label: '筛查总人数', prop: 'sex' },
        { label: '待评估人数', prop: 'age' },
        { label: '已评估人数', prop: 'mobile' },
        { label: '已评估且管理人数', prop: 'hospitalName' },
        { label: '宫颈待完善乳腺待完善人数', prop: 'hospitalDoctor' },
        { label: '宫颈待完善乳腺完成筛查人数', prop: 'createTime' },
        { label: '宫颈完成筛查乳腺待完善人数', prop: 'patientType' }
        { label: '机构', prop: 'gynOrg' },
        { label: '筛查总人数', prop: 'total' },
        { label: '待评估人数', prop: 'status0' },
        { label: '已评估人数', prop: 'status1' },
        { label: '已评估且管理人数', prop: 'status2' },
        { label: '宫颈待完善乳腺待完善人数', prop: 'status3' },
        { label: '宫颈待完善乳腺完成筛查人数', prop: 'status4' },
        { label: '宫颈完成筛查乳腺待完善人数', prop: 'status5' }
      ],
      level: 0,
      visible: false,
@ -94,28 +94,27 @@ Vue.component('lasc-progress', {
        this.level = 2 // 区管理
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code }]
        this.form = {
          range: 'town',
          range: '1',
          area: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.level = 3 // 社区管理
        this.rangeOptions = [
          { label: '社区', value: 'hospital' },
          { label: '社区', value: '2' },
          { label: '团队', value: 'team' }
        ]
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          range: '2',
          town: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.getTeam(selectedRole.code)
      }
      this.initTime()
      this.searchFn()
      this.getDictData()
      this.hospitalsByType()
    },
    initTime() {
@ -160,40 +159,18 @@ Vue.component('lasc-progress', {
      this.loading = true
      var params = {
        ...this.form,
        isTotal: 1
        page:this.page,
        size:this.size
      }
      vm.tableData = []
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      }
      if (this.form.range == 'town') {
        this.tableHeader = getTownHeader().concat(this.constantHeader)
      } else if (this.form.range == 'hospital') {
        this.tableHeader = getHospitalHeader().concat(this.constantHeader)
      } else {
        this.tableHeader = getTeamHeader().concat(this.constantHeader)
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      httpRequest.get('statistics/collaborate/gxbTurnDownInfo', { data: params }).then(function (res) {
      httpRequest.get('doctor/twoCancers/count/twoCancerProgress', { data: params }).then(function (res) {
        if (res.status == 200) {
          vm.tableData = res.detailModelList.map(function (item) {
            var data = JSON.parse(JSON.stringify(item))
            if (vm.form.range == 'town') {
              data.town = item.name
              data.hasChildren = data.code && true
            } else if (vm.form.range == 'hospital') {
              data.hospital = item.name
              data.hasChildren = data.code && true
            } else if (vm.form.range == 'team') {
              data.team = item.name
            }
            return data
          })
          vm.tableData = res.detailModelList
          vm.total = res.totalCount
        }
        vm.loading = false
      })
@ -201,20 +178,17 @@ Vue.component('lasc-progress', {
    exportTable() {
      var vm = this
      var params = {
        ...this.form
        ...this.form,
        page:this.page,
        size:this.size
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      this.exportLoading = true
      var fileName = `冠心病门诊下转统计表${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('statistics/collaborate/exportGxbTurnDownInfo', fileName, params).then(function () {
      var fileName = `两癌筛查进度统计${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('doctor/twoCancers/count/exportTwoCancerProgress', fileName, params).then(function () {
        vm.exportLoading = false
      })
    },
@ -222,18 +196,18 @@ Vue.component('lasc-progress', {
      var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
      if (this.level == 1) {
        this.form = {
          range: 'town'
          range: '1'
        }
      } else if (this.level == 2) {
        this.form = {
          range: 'town',
          range: '1',
          area: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          range: '2',
          town: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.getTeam(selectedRole.code)
@ -262,144 +236,14 @@ Vue.component('lasc-progress', {
        vm.hospitalOptions = res.list
      })
    },
    getTeam(code, flag = true) {
      var vm = this
      if (flag) {
        delete this.form.team
      }
      var params = {
        hospital: code
      }
      httpRequest.get('statisticsExport/teamList', { data: params }).then(function (res) {
        vm.teamOptions = res.data
      })
    },
    load(row, treeNode, resolve) {
      var params = {}
      var len = row.code.length
      if (len == 6) {
        params.range = 'hospital'
        params.area = row.code
      } else if (len == 10) {
        params.range = 'team'
        params.hospital = row.code
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      }
      httpRequest.get('statistics/collaborate/gxbTurnDownInfo', { data: params }).then(function (res) {
        if (res.status == 200) {
          var children = res.detailModelList.map(function (item) {
            var data = JSON.parse(JSON.stringify(item))
            if (len == 6) {
              data.hospital = item.name
              data.hasChildren = true
            } else if (len == 10) {
              data.team = item.name
            }
            return data
          })
          resolve(children)
        }
      })
    },
    dialogSearchFn() {
      this.page = 1
      if (this.title == '康复下转明细列表') {
        this.rehabilitationPatientInfo()
      } else if (this.title == '下转情况数据列表') {
        this.turnDownDataPage()
      }
    },
    dialogExportFn() {
      var vm = this
      var params = {
        ...this.query
      }
      if (this.title == '康复下转明细列表') {
        if (this.yearType == '1') {
          params.startTime = this.chooseYear + '-01-01'
          params.endTime = this.chooseYear + '-12-31'
        } else {
          if (this.chooseTime) {
            params.startTime = this.chooseTime[0]
            params.endTime = this.chooseTime[1]
          }
        }
        this.dialogExportLoading = true
        var fileName = `康复下转明细列表${new Date().getTime()}.xls`
        httpRequest.downLoadFileForAjax('doctor/specialist/rehabilitation/exportRehabilitationPatientInfo', fileName, params).then(function () {
          vm.dialogExportLoading = false
        })
      } else {
        if (this.yearType == '1') {
          params.startDate = this.chooseYear + '-01-01'
          params.endDate = this.chooseYear + '-12-31'
        } else {
          if (this.chooseTime) {
            params.startDate = this.chooseTime[0]
            params.endDate = this.chooseTime[1]
          }
        }
        this.dialogExportLoading = true
        var fileName = `冠心病下转情况统计表${new Date().getTime()}.xls`
        httpRequest.downLoadFileForAjax('statistics/collaborate/exportTurnDownDataPage', fileName, params).then(function () {
          vm.dialogExportLoading = false
        })
      }
    },
    dialogReset() {
      var params = {
        ...this.query
      }
      if (this.title == '康复下转明细列表') {
        this.query = {
          status: '',
          hospitalCode: '',
          orgCode: '',
          archiveStatus: '',
          patientType: '',
          range: typeof params.range == 'undefined' ? '' : params.range,
          area: typeof params.area == 'undefined' ? '' : params.area,
          hospital: typeof params.hospital == 'undefined' ? '' : params.hospital,
          team: typeof params.team == 'undefined' ? '' : params.team
        }
      } else if (this.title == '下转情况数据列表') {
        this.query = {
          sex: '',
          isSign: '',
          eventType: '',
          range: params.range,
          area: params.area,
          hospital: params.hospital,
          team: params.team
        }
      }
    },
  
    handleCurrentChange(val) {
      this.page = val
      if (this.title == '康复下转明细列表') {
        this.rehabilitationPatientInfo()
      } else if (this.title == '下转情况数据列表') {
        this.turnDownDataPage()
      }
      this.searchFn()
    },
    handleSizeChange(val) {
      this.size = val
      if (this.title == '康复下转明细列表') {
        this.rehabilitationPatientInfo()
      } else if (this.title == '下转情况数据列表') {
        this.turnDownDataPage()
      }
      this.searchFn()
    },
    // 获取社区医院
    hospitalsByType() {
@ -443,95 +287,6 @@ Vue.component('lasc-progress', {
          })
      }
    },
    // 康复下转操作
    operation(num, item) {
      var vm = this
      if (num != 2) {
        statisticAPI
          .synchronizePationSingle({ id: item.id })
          .then(function (res) {
            if (res.status == 200) {
              vm.$message.success('操作成功')
            } else {
              vm.$message.error(res.msg)
            }
          })
          .catch(function (err) {
            console.log(err, 'Errr')
          })
      } else {
        vm.signatoryList = []
        statisticAPI
          .kangfuGetSignInfo({ idcard: item.idcard })
          .then(function (res) {
            if (res.status == 200) {
              if (res.data != null) {
                vm.signatoryList.push(res.data)
              }
            }
          })
          .catch(function (err) {
            console.log(err, 'Errr')
          })
        vm.dialogVisible = true
      }
    },
    rehabilitationPatientInfo() {
      var vm = this
      var params = {
        ...this.query,
        page: this.page,
        size: this.size,
        disease: 3
      }
      if (this.yearType == '1') {
        params.startTime = this.chooseYear + '-01-01'
        params.endTime = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startTime = this.chooseTime[0]
          params.endTime = this.chooseTime[1]
        }
      }
      this.dialogLoading = true
      statisticAPI.rehabilitationPatientInfo(params).then(function (res) {
        if (res.status == 200) {
          res.detailModelList.forEach(function (v) {
            v.sex = v.sex == 1 ? '男' : '女'
          })
          vm.dialogTableData = res.detailModelList
          vm.total = res.totalCount
        } else {
          vm.$message.error(res.msg)
        }
        vm.dialogLoading = false
      })
    },
    turnDownDataPage() {
      var vm = this
      var params = {
        ...this.query,
        page: this.page,
        pageSize: this.size
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      }
      this.dialogLoading = true
      httpRequest.get('statistics/collaborate/turnDownDataPage', { data: params }).then(function (res) {
        if (res.status == 200) {
          vm.dialogTableData = res.detailModelList
          vm.total = res.totalCount
        }
        vm.dialogLoading = false
      })
    },
    closeDialog() {
      this.visible = false
@ -566,56 +321,9 @@ Vue.component('lasc-progress', {
      } else {
        this.init()
      }
    },
    seePatientDetail(row, prop) {
      console.log('uuuuuuuuuuuuuuuuu', row, prop)
      if (prop == 'name') {
        if (row.patient && this.title == '康复下转明细列表') {
          EventBus.$emit('preview-person-info', { type: '4', code: row.patient })
        } else if (row.code && this.title == '下转情况数据列表') {
          EventBus.$emit('preview-person-info', { type: '4', code: row.code })
        } else {
          this.$message.warning('未查询到该患者信息')
        }
      }
    },
    renderHeader: function (h, item) {
      var label = item.column.label
      var column = item.column
      var tooltip = {
        '签约社区': '显示为该患者当前的签约社区医院名称',
        '社区医院': '显示为该患者当前的签约社区医院名称',
        '签约医院': '显示为该患者当前的签约社区医院名称',
        '签约医生': '显示为该患者当前的签约社区医生名称',
        '家庭医生': '显示为该患者当前的签约社区医生名称'
      }
      if (label == '签约社区' || label == '签约医生' || label == '签约医院' || label == '家庭医生' || label == '社区医院') {
        return [
          label,
          h(
            'el-tooltip',
            {
              props: {
                content: (function () {
                  return tooltip[label]
                })(),
                placement: 'top'
              }
            },
            [
              h('span', {
                class: {
                  'el-icon-question': true
                }
              })
            ]
          )
        ]
      } else {
        return [column.label]
      }
    }
  },
  mounted() {}
  mounted() {
    this.init()
  }
})

+ 73 - 68
component/statistics/breastCancerPatient/index.html

@ -2,7 +2,7 @@
  <div class="copd-filter-group ui-col-1 bgc-fff" style="min-width: 900px">
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14" style="display: flex; align-items: center">
        <el-radio v-model="yearType" label="2">乳腺初筛时间:</el-radio>
        <div>乳腺初筛时间:</div>
        <el-date-picker
          v-model="chooseTime"
          type="daterange"
@ -21,11 +21,11 @@
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">地区:</label>
      <el-select class="formWidth" v-model="form.area" placeholder="请选择" @change="getHospital">
      <el-select class="formWidth" v-model="form.town" placeholder="请选择" @change="getHospital">
        <el-option v-for="(option, index) in areaOptions" :label="option.label" :value="option.value" :key="option.value"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20" v-if="form.range == 'hospital'||form.range == 'team'">
    <div class="searchDiv pb20 pr20" v-if="form.range == '2'">
      <label class="c-333 c-f14">社区:</label>
      <el-select class="formWidth" v-model="form.hospital" placeholder="请选择" @change="getTeam">
        <el-option v-for="(option, index) in hospitalOptions" :label="option.name" :value="option.code" :key="option.code"></el-option>
@ -41,99 +41,104 @@
  <el-table border :data="tableData" style="width: 100%" v-loading="loadingTwo" class="mt20">
    <template>
      <el-table-column type="index" width="50" label="序号" align="center"></el-table-column>
      <el-table-column prop="areaName" label="机构名称" align="center"></el-table-column>
      <el-table-column prop="gradeHospitalName" label="医生" align="center"></el-table-column>
      <el-table-column prop="targetEntryCont" label="筛查人数" align="center"></el-table-column>
      <el-table-column prop="firstEntryTime" label="结案人数" align="center"></el-table-column>
      <el-table-column prop="firstEntryTime" label="乳腺超声已完成人数" align="center"></el-table-column>
      <el-table-column prop="cduOrg" label="机构名称" align="center"></el-table-column>
      <el-table-column prop="screenTotal" label="筛查人数" align="center"></el-table-column>
      <el-table-column prop="endNum" label="结案人数" align="center"></el-table-column>
      <el-table-column prop="cduCompleteNum" label="乳腺超声已完成人数" align="center"></el-table-column>
      <el-table-column label="基本信息" align="center">
        <el-table-column prop="kf_value1" label="完善" align="center"></el-table-column>
        <el-table-column prop="kf_value2" label="缺漏" align="center"></el-table-column>
        <el-table-column prop="infoCompleteNum" label="完善" align="center"></el-table-column>
        <el-table-column prop="basquelouNum" label="缺漏" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="乳腺临床检查" align="center">
        <el-table-column prop="dz_value1" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="dz_value2" label="拒绝" align="center"></el-table-column>
        <el-table-column prop="dz_value3" label="依从" align="center"></el-table-column>
        <el-table-column prop="dz_value4" label="缺漏" align="center"></el-table-column>
        <el-table-column prop="clicheckNum" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="clijujueNum" label="拒绝" align="center"></el-table-column>
        <el-table-column prop="cliyicongNum" label="依从" align="center"></el-table-column>
        <el-table-column prop="cliquelouNum" label="缺漏" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="乳腺超声检查" align="center">
        <el-table-column prop="total" label="检查人数" align="center"></el-table-column>
        <el-table-column prop="jujueNum" label="拒绝" align="center"></el-table-column>
        <el-table-column prop="yicongNum" label="依从" align="center"></el-table-column>
        <el-table-column prop="quelouNum" label="缺漏" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="乳腺超声检查BI-RADS分级" align="center">
        <el-table-column prop="all_value1" label="0级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="1级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="2级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="3级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="4a级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="4b级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="4c级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="5级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="合计" align="center"></el-table-column>
        <el-table-column prop="cduBiRads0" label="0级" align="center"></el-table-column>
        <el-table-column prop="cduBiRads1" label="1级" align="center"></el-table-column>
        <el-table-column prop="cduBiRads2" label="2级" align="center"></el-table-column>
        <el-table-column prop="cduBiRads3" label="3级" align="center"></el-table-column>
        <el-table-column prop="cduBiRads4a" label="4a级" align="center"></el-table-column>
        <el-table-column prop="cduBiRads4b" label="4b级" align="center"></el-table-column>
        <el-table-column prop="cduBiRads4c" label="4c级" align="center"></el-table-column>
        <el-table-column prop="cduBiRads05" label="5级" align="center"></el-table-column>
        <el-table-column prop="cduHeji" label="合计" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="乳腺钼靶检查" align="center">
        <el-table-column prop="all_value1" label="应查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="依从" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="拒绝" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="失访" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="检查率" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="待完成人数" align="center"></el-table-column>
        <el-table-column prop="molycNum" label="应查人数" align="center"></el-table-column>
        <el-table-column prop="molyicongNum" label="依从" align="center"></el-table-column>
        <el-table-column prop="moljujueNum" label="拒绝" align="center"></el-table-column>
        <el-table-column prop="mollostNum" label="失访" align="center"></el-table-column>
        <el-table-column prop="molycNum1" label="检查率" align="center"></el-table-column>
        <el-table-column prop="molycNum2" label="待完成人数" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="乳腺钼靶检查BI-RADS分级" align="center">
        <el-table-column prop="all_value1" label="0级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="1级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="2级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="3级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="4a级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="4b级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="4c级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="5级" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="不详" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="合计" align="center"></el-table-column>
        <el-table-column prop="molBiRads0" label="0级" align="center"></el-table-column>
        <el-table-column prop="molBiRads1" label="1级" align="center"></el-table-column>
        <el-table-column prop="molBiRads2" label="2级" align="center"></el-table-column>
        <el-table-column prop="molBiRads3" label="3级" align="center"></el-table-column>
        <el-table-column prop="molBiRads4a" label="4a级" align="center"></el-table-column>
        <el-table-column prop="molBiRads4b" label="4b级" align="center"></el-table-column>
        <el-table-column prop="molBiRads4c" label="4c级" align="center"></el-table-column>
        <el-table-column prop="molBiRads5" label="5级" align="center"></el-table-column>
        <el-table-column prop="molBiRads6" label="不详" align="center"></el-table-column>
        <el-table-column prop="molHeji" label="合计" align="center"></el-table-column>
      </el-table-column>
      <el-table-column
        label="乳腺病理检查
      乳腺病理学监测情况"
        align="center">
        <el-table-column prop="all_value1" label="应查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="已查人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="拒诊人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="失访人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="病理检查率" align="center"></el-table-column>
        <el-table-column prop="needCheckNum" label="应查人数" align="center"></el-table-column>
        <el-table-column prop="checkedNum" label="已查人数" align="center"></el-table-column>
        <el-table-column prop="patjujueNum" label="拒诊人数" align="center"></el-table-column>
        <el-table-column prop="lostNum" label="失访人数" align="center"></el-table-column>
        <el-table-column prop="rate1" label="病理检查率" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="乳腺癌检出情况" align="center">
        <el-table-column prop="all_value1" label="小叶原位癌人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="导管原位癌人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="浸润性导管癌人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="浸润性小叶癌人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="其他恶性肿瘤人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="不详人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="合计人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="乳腺癌检出率" align="center"></el-table-column>
        <el-table-column prop="type4" label="小叶原位癌人数" align="center"></el-table-column>
        <el-table-column prop="type3" label="导管原位癌人数" align="center"></el-table-column>
        <el-table-column prop="type1" label="浸润性导管癌人数" align="center"></el-table-column>
        <el-table-column prop="type2" label="浸润性小叶癌人数" align="center"></el-table-column>
        <el-table-column prop="type6" label="其他恶性肿瘤人数" align="center"></el-table-column>
        <el-table-column prop="type7" label="不详人数" align="center"></el-table-column>
        <el-table-column prop="hejiNum" label="合计人数" align="center"></el-table-column>
        <el-table-column prop="rate2" label="乳腺癌检出率" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="TNM分期" align="center">
        <el-table-column prop="all_value1" label="0期" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="1期" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="IIA期" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="IIB期" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="III期以上" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="不详" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="获得TNM分期比率" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="乳腺癌早诊率" align="center"></el-table-column>
        <el-table-column prop="TNM0" label="0期" align="center"></el-table-column>
        <el-table-column prop="TNM1" label="1期" align="center"></el-table-column>
        <el-table-column prop="TNM2a" label="IIA期" align="center"></el-table-column>
        <el-table-column prop="TNM2b" label="IIB期" align="center"></el-table-column>
        <el-table-column prop="TNM3up" label="III期以上" align="center"></el-table-column>
        <el-table-column prop="TNMbuxiang" label="不详" align="center"></el-table-column>
        <el-table-column prop="rate3" label="获得TNM分期比率" align="center"></el-table-column>
        <el-table-column prop="rate4" label="乳腺癌早诊率" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="治疗情况" align="center">
        <el-table-column prop="all_value1" label="应治疗人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="已治疗人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="拒诊治疗或失访人数" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="早治率" align="center"></el-table-column>
        <el-table-column prop="num1" label="应治疗人数" align="center"></el-table-column>
        <el-table-column prop="yzlNum" label="已治疗人数" align="center"></el-table-column>
        <el-table-column prop="jzOrLostNum" label="拒诊治疗或失访人数" align="center"></el-table-column>
        <el-table-column prop="rate5" label="早治率" align="center"></el-table-column>
      </el-table-column>
      <el-table-column label="乳腺癌风险人群" align="center">
        <el-table-column prop="all_value1" label="一般风险" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="高风险" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="待评估" align="center"></el-table-column>
        <el-table-column prop="all_value1" label="高风险人群比例" align="center"></el-table-column>
        <el-table-column prop="label1" label="一般风险" align="center"></el-table-column>
        <el-table-column prop="label2" label="高风险" align="center"></el-table-column>
        <el-table-column prop="labelWait" label="待评估" align="center"></el-table-column>
        <el-table-column prop="rate6" label="高风险人群比例" align="center"></el-table-column>
      </el-table-column>
    </template>
  </el-table>

+ 22 - 32
component/statistics/breastCancerPatient/index.js

@ -22,8 +22,9 @@ Vue.component('breast-cancer-patient', {
      chooseYear: null,
      chooseTime: null,
      rangeOptions: [
        { label: '区', value: 'town' },
        { label: '社区', value: 'hospital' }
        { label: '区', value: '1' },
        { label: '社区', value: '2' },
        { label: '居住地', value: '3' }
      ],
      areaOptions: [
        { label: '思明区', value: '350203' },
@ -36,7 +37,7 @@ Vue.component('breast-cancer-patient', {
      hospitalOptions: [],
      teamOptions: [],
      form: {
        range: 'town'
        range: '1'
      },
      loading: false,
      exportLoading: false,
@ -95,15 +96,15 @@ Vue.component('breast-cancer-patient', {
        this.level = 2 // 区管理
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code }]
        this.form = {
          range: 'town',
          range: '1',
          area: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.level = 3 // 社区管理
        this.rangeOptions = [
          { label: '社区', value: 'hospital' },
          { label: '团队', value: 'team' }
          { label: '社区', value: '2' },
          { label: '居住地', value: '3' }
        ]
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
@ -144,20 +145,15 @@ Vue.component('breast-cancer-patient', {
      this.loading = true
      var params = {
        ...this.form,
        page: this.page,
        pageSize: this.size
        page:this.page,
        size:this.size
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      vm.tableData = []
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      httpRequest.get('statistics/collaborate/turnDownAnalysis', { data: params }).then(function (res) {
      httpRequest.get('doctor/twoCancers/count/breastQualityCount', { data: params }).then(function (res) {
        if (res.status == 200) {
          vm.tableData = res.detailModelList
          vm.total = res.totalCount
@ -173,25 +169,19 @@ Vue.component('breast-cancer-patient', {
      this.getList()
    },
    exportTable() {
      var vm = this
      var params = {
        ...this.form,
        page: this.page,
        pageSize: this.size
        page:this.page,
        size:this.size
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      this.exportLoading = true
      var fileName = `下转动态分析${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('statistics/collaborate/exportTurnDownAnalysis', fileName, params).then(function () {
        vm.exportLoading = false
      var fileName = `乳腺癌筛查质控统计${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('doctor/twoCancers/count/exportBreastQualityCount', fileName, params).then(function () {
        this.exportLoading = false
      })
    },
    eliminateClick() {