Browse Source

Merge branch 'master' of http://192.168.1.220:10080/raolu/PC-application

542372506@qq.com 4 days ago
parent
commit
21172d2421
27 changed files with 1293 additions and 1056 deletions
  1. 1 0
      app/statistics/html/comprehensive-query.html
  2. 16 1
      component/statistics/CopdServiceRecordPatient/index.html
  3. 34 1
      component/statistics/CopdServiceRecordPatient/index.js
  4. 1 1
      component/statistics/LascBreastCduInspectEntityList/index.js
  5. 2 5
      component/statistics/LascBreastFollowUp/index.js
  6. 2 37
      component/statistics/LascBreastMolybdenumInspectList/index.js
  7. 1 33
      component/statistics/LascBreastPathologyInspectEntityList/index.js
  8. 2 21
      component/statistics/LascBreastSurgeryInspectEntity/index.js
  9. 156 187
      component/statistics/LascCervical/index.html
  10. 277 136
      component/statistics/LascCervical/index.js
  11. 104 39
      component/statistics/LascCervicalColposcopyEntityList/index.html
  12. 0 1
      component/statistics/LascCervicalColposcopyEntityList/index.js
  13. 55 84
      component/statistics/LascCervicalCytologyInspectEntityList/index.html
  14. 2 19
      component/statistics/LascCervicalCytologyInspectEntityList/index.js
  15. 1 1
      component/statistics/LascCervicalFinalDiagnosisEntity/index.html
  16. 3 1
      component/statistics/LascCervicalFinalDiagnosisEntity/index.js
  17. 6 5
      component/statistics/LascCervicalGynecologicalExaminationEntityList/index.js
  18. 58 81
      component/statistics/LascCervicalHpvEntityList/index.html
  19. 35 8
      component/statistics/LascCervicalHpvEntityList/index.js
  20. 95 41
      component/statistics/LascCervicalPathologicalExaminationList/index.html
  21. 1 1
      component/statistics/LascCervicalPathologicalExaminationList/index.js
  22. 14 87
      component/statistics/LascCervicalPreliminaryScreenEntity/index.html
  23. 30 54
      component/statistics/LascCervicalPreliminaryScreenEntity/index.js
  24. 4 38
      component/statistics/LascClinicalExamination/index.js
  25. 6 6
      component/statistics/LascProgress/index.js
  26. 151 148
      component/statistics/breastCancerPatient/index.html
  27. 236 20
      component/statistics/breastCancerPatient/index.js

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

@ -1008,6 +1008,7 @@
    <script src="../../../component/statistics/LascCervicalGynecologicalExaminationEntityList/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascCervicalHpvEntityList/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascCervicalFinalDiagnosisEntity/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascCervicalPreliminaryScreenEntity/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascCervicalHistopathologyFollowup/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascCervicalCytologyInspectEntityList/index.js" type="text/javascript" charset="utf-8"></script>
    <script src="../../../component/statistics/LascCervicalPathologicalExaminationList/index.js" type="text/javascript" charset="utf-8"></script>

+ 16 - 1
component/statistics/CopdServiceRecordPatient/index.html

@ -329,6 +329,21 @@
  </div>
  <el-dialog :title="title" :visible.sync="formDialogVisible" width="50%">
    <lasc-cervical-cytology-inspect-entityList></lasc-cervical-cytology-inspect-entityList>
    <lasc-lascClinical-examination :data="detailData" v-if="type==2"></lasc-lascClinical-examination>
    <lasc-breast-cduInspect-entity-list :data="detailData" v-if="type==3"></lasc-breast-cduInspect-entity-list>
    <lasc-breast-molybdenum-inspect-list :data="detailData" v-if="type==4"></lasc-breast-molybdenum-inspect-list>
    <lasc-breast-pathology-inspect-entity-list :data="detailData" v-if="type==5"></lasc-breast-pathology-inspect-entity-list>
    <lasc-breast-surgery-inspect-entity :data="detailData" v-if="type==6"></lasc-breast-surgery-inspect-entity>
    <lasc-breast-treat-info :data="detailData" v-if="type==7"></lasc-breast-treat-info>
    <lasc-breast-followUp :data="detailData" v-if="type==8"></lasc-breast-followUp>
    <lasc-cervical-gynecological-examination-entityList :data="detailData" v-if="type==9"></lasc-cervical-gynecological-examination-entityList>
    <lasc-cervical-hpv-entityList :data="detailData" v-if="type==10"></lasc-cervical-hpv-entityList>
    <lasc-cervical-cytology-inspect-entityList :data="detailData" v-if="type==11"></lasc-cervical-cytology-inspect-entityList>
    <lasc-cervical-preliminary-screen-entity :data="detailData" v-if="type==12"></lasc-cervical-preliminary-screen-entity>
    <lasc-cervical-colposcopy-entity-list :data="detailData" v-if="type==13"></lasc-cervical-colposcopy-entity-list>
    <lasc-cervical-colposcopy-followup :data="detailData" v-if="type==14"></lasc-cervical-colposcopy-followup>
    <lasc-cervical-pathological-examination-list :data="detailData" v-if="type==15"></lasc-cervical-pathological-examination-list>
    <lasc-cervical-histopathology-followup :data="detailData" v-if="type==16"></lasc-cervical-histopathology-followup>
    <lasc-cervical-final-diagnosis-entity :data="detailData" v-if="type==17"></lasc-cervical-final-diagnosis-entity>
  </el-dialog>
</div>

+ 34 - 1
component/statistics/CopdServiceRecordPatient/index.js

@ -89,10 +89,43 @@ Vue.component('Copd-service-record-patient', {
      serviceNode: '',
      changeModule: 1,
      moreFlag: true,
      detailInfo: {}
      detailInfo: {},
      detailData: {},
      type: ''
    }
  },
  watch: {
    formDialogVisible: function (val) {
      if (!val) {
        this.detailData = {}
      }
    }
  },
  methods: {
    showDetail(item) {
      this.title = item.typeName
      this.type = item.type
      this.detailData = {}
      var vm = this
      if (item.type == 1) {
      } else {
        var params = {
          id: item.id,
          screenId: this.detailInfo.screenId,
          type: item.type
        }
        httpRequest.get('doctor/twoCancers/count/tableDetail', { data: params }).then(function (res) {
          vm.detailData = {
            value: [
              {
                ...res.obj.entity
              }
            ]
          }
          vm.formDialogVisible = true
        })
      }
    },
    getMore() {
      this.moreFlag = !this.moreFlag
      if (this.moreFlag) {

+ 1 - 1
component/statistics/LascBreastCduInspectEntityList/index.js

@ -19,7 +19,7 @@ $.ajax('../../../component/statistics/LascBreastCduInspectEntityList/index.html'
Vue.component('lasc-breast-cduInspect-entity-list', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      readonly: true,

+ 2 - 5
component/statistics/LascBreastFollowUp/index.js

@ -13,7 +13,7 @@ $.ajax('../../../component/statistics/LascBreastFollowUp/index.html', {
Vue.component('lasc-breast-followUp', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      readonly: true,
@ -54,10 +54,7 @@ Vue.component('lasc-breast-followUp', {
        { id: '4', text: '手术或活检' },
        { id: '5', text: '不详' },
        { id: '6', text: '其他' }
      ],
      data: {
        value: [{}]
      }
      ]
    }
  },
  methods: {},

+ 2 - 37
component/statistics/LascBreastMolybdenumInspectList/index.js

@ -13,7 +13,7 @@ $.ajax('../../../component/statistics/LascBreastMolybdenumInspectList/index.html
Vue.component('lasc-breast-molybdenum-inspect-list', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      isShowPicker: false,
@ -38,42 +38,7 @@ Vue.component('lasc-breast-molybdenum-inspect-list', {
      active: '',
      mbTubeNum: '',
      orgList: [],
      orgUser: [],
      data: {
        value: [
          {
            id: 3247,
            screenId: '808080f683c9e2570183c9f84cac0000',
            name: '辅助检查-乳腺钼靶-20231221',
            receiveBreastMolybdenumOther: '',
            breastDensity: '1',
            rightMolybdenumBiRads: '2',
            leftMolybdenumBiRads: '2',
            biRadsResult: 2,
            tumor: '1',
            calcification: '1',
            disorganization: '1',
            breastMolybdenumOrg: '思明区卫生和计划生育局',
            breastMolybdenumOrgOther: null,
            breastMolybdenumUser: '苏钦毅',
            breastMolybdenumTime: '2023-12-21',
            doctor: null,
            inspectOrgCode: 'ac02a9b87a3611e69f7c005056850d66',
            inspectUserCode: '40f5371c810d411ab085cb8d9f0160a6',
            followupDate: null,
            followupOrgCode: null,
            followupOrgName: null,
            followupUserCode: null,
            followupUserName: null,
            mbTubeNum: null,
            pdfUrl: 'https://www.xmtyw.cn/twocancerpdf/null.pdf',
            receiveBreastMolybdenum: '2',
            refusalReason: '[]',
            refusalReasonOtherContent: ''
          }
        ]
      }
      orgUser: []
    }
  },
  methods: {},

+ 1 - 33
component/statistics/LascBreastPathologyInspectEntityList/index.js

@ -13,7 +13,7 @@ $.ajax('../../../component/statistics/LascBreastPathologyInspectEntityList/index
Vue.component('lasc-breast-pathology-inspect-entity-list', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      isShowPicker: false,
@ -37,38 +37,6 @@ Vue.component('lasc-breast-pathology-inspect-entity-list', {
        breastPathologyRefusalReasonContent: '',
        list: [],
        id: ''
      },
      data: {
        value: [
          {
            id: 191,
            screenId: '808080f6837851d6018378ae0ddf0002',
            name: '乳腺病理学检查-20221026',
            refusePathologicalExaminationReason: '医嘱取消',
            leftPathologicalBiopsyMethod: '1',
            leftPathologicalConclusion: '5',
            leftPathologicalMalignanciesType: '3',
            leftPathologicalMalignanciesOtherType: '',
            rightPathologicalBiopsyMethod: '1',
            rightPathologicalConclusion: '5',
            rightPathologicalMalignanciesType: '1',
            rightPathologicalMalignanciesOtherType: '',
            breastCancerTreatmentResult: '1',
            pathologicalExaminationDiagnosisOrg: '厦门市中医院',
            pathologicalExaminationDiagnosisOrgType: null,
            pathologicalExaminationFollowupUser: '黄琴',
            pathologicalExaminationFollowupTime: '2022-10-26',
            doctor: null,
            inspectOrgCode: '3502110100',
            inspectUserCode: '361aef4891de492cb0e6a47cf9fe31f3',
            followupOrg: null,
            followupOrgCode: null,
            receivePathologicalExamination: '2',
            breastPathologyRefusalReason: null,
            breastPathologyRefusalReasonContent: null,
            pathologicalExamTime: null
          }
        ]
      }
    }
  },

+ 2 - 21
component/statistics/LascBreastSurgeryInspectEntity/index.js

@ -14,7 +14,7 @@ $.ajax('../../../component/statistics/LascBreastSurgeryInspectEntity/index.html'
Vue.component('lasc-breast-surgery-inspect-entity', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      isShowPicker: false,
@ -34,26 +34,7 @@ Vue.component('lasc-breast-surgery-inspect-entity', {
        breastSurgeryClinicUser: docInfo.name, //检查人员
        breastSurgeryClinicTime: '' //检查时间
      },
      readonly: true,
      data: {
        value: [
          {
            id: 28,
            screenId: '808080f683cb15560183cb3dfadb0000',
            name: null,
            surgicalClinicTreatmentSuggestions: '3',
            surgicalClinicTreatmentOther: '',
            breastSurgeryClinicOrg: '思明区嘉莲街道社区卫生服务中心',
            breastSurgeryClinicUser: '王清秀',
            breastSurgeryClinicTime: '2022-10-12',
            doctor: '361aef4891de492cb0e6a47cf9fe31f3',
            inspectOrgCode: '3502110100',
            inspectUserCode: '361aef4891de492cb0e6a47cf9fe31f3',
            receiveBreastSurgeryClinic: '1',
            surgeryClinicRefuseContent: null
          }
        ]
      }
      readonly: true
    }
  },
  methods: {},

+ 156 - 187
component/statistics/LascCervical/index.html

@ -1,193 +1,162 @@
<div id="app" class="jtbc">
  <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-date-picker
          v-model="chooseTime"
          type="daterange"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          value-format="yyyy-MM-dd"></el-date-picker>
      </label>
    </div>
  <template v-if="!serviceRecordVisable">
    <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-date-picker
            v-model="chooseTime"
            type="daterange"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            value-format="yyyy-MM-dd"></el-date-picker>
        </label>
      </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">数据范围:</label>
      <el-select class="formWidth" v-model="form.range" placeholder="请选择" @change="resetArea">
        <el-option v-for="(option, index) in rangeOptions" :label="option.label" :value="option.value" :key="option.value"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">地区:</label>
      <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 == '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">
        <label class="c-333 c-f14">数据范围:</label>
        <el-select class="formWidth" v-model="form.range" placeholder="请选择" @change="resetArea">
          <el-option v-for="(option, index) in rangeOptions" :label="option.label" :value="option.value" :key="option.value"></el-option>
        </el-select>
      </div>
      <div class="searchDiv pb20 pr20">
        <label class="c-333 c-f14">地区:</label>
        <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 == '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">
      <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 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>
        <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
      </div>
    </div>
  </div>
  <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="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="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="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="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="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="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="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="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="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="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="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="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="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="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 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="gynOrg" label="机构名称" align="center"></el-table-column>
        <el-table-column prop="total" label="筛查人数" align="center">
          <template slot-scope="scope">
            <span class="pointer c-409eff" @click="openDialog(scope.row, 'total')">{{scope.row['total']}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="endNum" label="结案人数" align="center">
          <template slot-scope="scope">
            <span class="pointer c-409eff" @click="openDialog(scope.row, 'endNum')">{{scope.row['endNum']}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="num1" label="宫颈初筛已完成人数" align="center">
          <template slot-scope="scope">
            <span class="pointer c-409eff" @click="openDialog(scope.row, 'num1')">{{scope.row['num1']}}</span>
          </template>
        </el-table-column>
        <el-table-column v-for="(group, groupIndex) in cervicalHeaderGroups" :key="'cervical-group-'+groupIndex" :label="group.label" align="center">
          <el-table-column
            v-for="(col, colIndex) in group.children"
            :key="'cervical-col-'+colIndex"
            :prop="col.prop"
            :label="col.label"
            align="center"
            :min-width="col.width || ''">
            <template slot-scope="scope">
              <span class="pointer c-409eff" @click="openDialog(scope.row, col.prop)">{{scope.row[col.prop]}}</span>
            </template>
          </el-table-column>
        </el-table-column>
      </template>
    </el-table>
    <el-pagination
      @current-change="handleCurrentChange"
      @size-change="handleSizeChange"
      :current-page.sync="page"
      :page-size="size"
      :page-sizes="[10, 20, 50]"
      layout="total, sizes, prev, pager, next, jumper"
      :total="total"
      class="pagination"></el-pagination>
      <el-table-column label="宫颈病变接受治疗情况" align="center">
        <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="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>
  <el-pagination
    @current-change="handleCurrentChange"
    @size-change="handleSizeChange"
    :current-page.sync="page"
    :page-size="size"
    :page-sizes="[10, 20, 50]"
    layout="total, sizes, prev, pager, next, jumper"
    :total="total"
    class="pagination"></el-pagination>
    <el-dialog :visible.sync="visible" title="个案数据列表" @close="closeDialog" width="1200px">
      <el-form inline size="mini">
        <el-form-item label="居民姓名:">
          <el-input v-model="query.name" placeholder="请输入居民姓名查询"></el-input>
        </el-form-item>
        <el-form-item label="手机号码:">
          <el-input v-model="query.mobile" placeholder="请输入手机号码"></el-input>
        </el-form-item>
        <el-form-item label="证件号码:">
          <el-input v-model="query.idcard" placeholder="请输入证件号码查询"></el-input>
        </el-form-item>
        <el-form-item label="个人筛查状态:">
          <el-select v-model="query.status">
            <el-option label="全部" value=""></el-option>
            <el-option label="待评估" value="0"></el-option>
            <el-option label="已评估" value="1"></el-option>
            <el-option label="已评估且管理" value="2"></el-option>
            <el-option label="宫颈待完善乳腺待完善" value="3"></el-option>
            <el-option label="宫颈待完善乳腺完成筛查" value="4"></el-option>
            <el-option label="宫颈完成筛查乳腺待完善" value="5"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="数据范围:">
          <el-select v-model="form.range" disabled>
            <el-option v-for="item in rangeOptions" :value="item.value" :label="item.label" :key="item.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="地区:" v-if="form.range == 'town'">
          <el-select v-model="form.area" disabled>
            <el-option v-for="(option, index) in dataRangeOption" :label="option.label" :value="option.value" :key="option.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="社区:" v-if="form.range == 'hospital'">
          <el-select v-model="form.hospital" disabled>
            <el-option v-for="(option, index) in dataRangeOption" :label="option.label" :value="option.value" :key="option.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="团队:" v-if="form.range == 'team'">
          <el-select v-model="form.team" disabled>
            <el-option v-for="(option, index) in dataRangeOption" :label="option.label" :value="option.value" :key="option.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="dialogSearchFn">查询</el-button>
          <el-button type="warning" @click="dialogExportFn" :disabled="dialogExportLoading">导出</el-button>
          <span @click="dialogResetFn" style="color: #676a6c; cursor: pointer">清除筛选条件</span>
        </el-form-item>
      </el-form>
      <el-table :data="dialogTableData" border v-loading="dialogLoading">
        <el-table-column type="index" label="序号"></el-table-column>
        <el-table-column v-for="item in dialogHeader" :label="item.label" :prop="item.prop" :key="item.prop">
          <template slot-scope="scope">
            <span>{{scope.row[item.prop]}}</span>
          </template>
        </el-table-column>
        <el-table-column label="操作">
          <template slot-scope="scope">
            <el-button type="text" @click="gotoService(scope.row)">查看服务记录</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div style="display: flex; justify-content: flex-end; margin-top: 10px">
        <el-pagination
          @current-change="handleCurrentChange1"
          @size-change="handleSizeChange1"
          :current-page.sync="query.page"
          :page-size="query.size"
          :page-sizes="[10, 20, 50]"
          layout="total, sizes, prev, pager, next, jumper"
          :total="query.total"></el-pagination>
      </div>
    </el-dialog>
  </template>
  <template v-if="serviceRecordVisable">
    <Copd-service-record-patient :patient="currentEditData" @back="back"></Copd-service-record-patient>
  </template>
</div>

+ 277 - 136
component/statistics/LascCervical/index.js

@ -18,8 +18,14 @@ Vue.component('lasc-cervical', {
    return {
      years: [],
      yearType: '1',
      loadingTwo: false,
      chooseYear: null,
      chooseTime: null,
      query: {
        page: 1,
        size: 10,
        total: 0
      },
      rangeOptions: [
        { label: '区', value: '1' },
        { label: '社区', value: '2' },
@ -56,10 +62,17 @@ Vue.component('lasc-cervical', {
      ],
      level: 0,
      visible: false,
      query: {},
      dataRangeOption: [],
      dialogTableData: [],
      dialogHeader: [],
      dialogHeader: [
        { label: '居民姓名', prop: 'name', width: '100' },
        { label: '证件号码', prop: 'idcard', width: '100' },
        { label: '手机号', prop: 'mobile', width: '110' },
        { label: '年龄', prop: 'age', width: '90' },
        { label: '出生日期', prop: 'birthday', width: '90' },
        { label: '常驻地址', prop: 'address', width: '100' },
        { label: '个人筛查状态', prop: 'statusName', width: '100' }
      ],
      page: 1,
      size: 10,
      total: 0,
@ -79,10 +92,187 @@ Vue.component('lasc-cervical', {
      communityHospitals: [],
      title: '',
      dialogVisible: false,
      signatoryList: []
      signatoryList: [],
      cervicalHeaderGroups: [
        {
          label: '宫颈癌管理情况',
          children: [
            { prop: 'num2', label: '妇科检查人数' },
            { prop: 'assessNum', label: '线上评估人数' },
            { prop: 'orderNum', label: '线上预约人数' }
          ]
        },
        {
          label: '宫颈妇科检查情况',
          children: [
            { prop: 'jujueNum', label: '拒绝' },
            { prop: 'yicongNum', label: '依从' },
            { prop: 'num3', label: '检查人数' },
            { prop: 'waitNum', label: '待完善人数' }
          ]
        },
        {
          label: 'HPV检查情况',
          children: [
            { prop: 'hpvNum', label: '检查人数' },
            { prop: 'n1', label: '待完善人数' }
          ]
        },
        {
          label: '高危HPV分型检测情况',
          children: [
            { prop: 'hpvH', label: '高危HPV阳性人数' },
            { prop: 'hpv16', label: '16型阳性人数' },
            { prop: 'hpv18', label: '18型阳性人数' },
            { prop: 'hpv31', label: '31型阳性人数' },
            { prop: 'hpv33', label: '33型阳性人数' },
            { prop: 'hpv35', label: '35型阳性人数' },
            { prop: 'hpv39', label: '39型阳性人数' },
            { prop: 'hpv45', label: '45型阳性人数' },
            { prop: 'hpv51', label: '51型阳性人数' },
            { prop: 'hpv52', label: '52型阳性人数' },
            { prop: 'hpv53', label: '53型阳性人数' },
            { prop: 'hpv56', label: '56型阳性人数' },
            { prop: 'hpv58', label: '58型阳性人数' },
            { prop: 'hpv59', label: '59型阳性人数' },
            { prop: 'hpv66', label: '66型阳性人数' },
            { prop: 'hpv68', label: '68型阳性人数' },
            { prop: 'hpv73', label: '73型阳性人数' },
            { prop: 'hpv82', label: '82型阳性人数' }
          ]
        },
        {
          label: '低危HPV分型检测情况',
          children: [
            { prop: 'hpvL', label: '低危HPV阳性人数' },
            { prop: 'hpv6', label: '6型阳性人数' },
            { prop: 'hpv11', label: '11型阳性人数' },
            { prop: 'hpv42', label: '42型阳性人数' },
            { prop: 'hpv43', label: '43型阳性人数' },
            { prop: 'hpv44', label: '44型阳性人数' },
            { prop: 'hpv81', label: '81型阳性人数' },
            { prop: 'hpv83', label: '83型阳性人数' }
          ]
        },
        {
          label: '宫颈细胞学检查情况',
          children: [
            { prop: 'cytNum', label: '检查人数' },
            { prop: 'cytNum1', label: '检查异常人数' },
            { prop: 'cytNum2', label: '待完善人数' }
          ]
        },
        {
          label: '初筛结果临床评估情况',
          children: [
            { prop: 'preNum', label: '检查人数' },
            { prop: 'preNum1', label: '待完善人数' },
            { prop: 'preNum2', label: '未见异常,定期筛查' },
            { prop: 'preNum3', label: '异常,6-12个月复查' },
            { prop: 'preNum4', label: '异常,嘱进一步行阴道镜检查' }
          ]
        },
        {
          label: '阴道镜检查情况',
          children: [
            { prop: 'colNum', label: '需要阴道镜检查人数' },
            { prop: 'colNum1', label: '阴道镜检查人数' },
            { prop: 'colNum2', label: '接受检查人数' },
            { prop: 'colNum3', label: '拒绝检查人数' },
            { prop: 'colNum4', label: '未见异常人数' },
            { prop: 'colNum5', label: '异常人数' },
            { prop: 'colNum6', label: '待完善人数' }
          ]
        },
        {
          label: '阴道镜检查随访情况',
          children: [
            { prop: 'colfNum', label: '已随访人数' },
            { prop: 'colfNum1', label: '待随访人数' },
            { prop: 'colfNum2', label: '未见异常' },
            { prop: 'colfNum3', label: '低度病变' },
            { prop: 'colfNum4', label: '高度病变' },
            { prop: 'colfNum5', label: '可疑癌' },
            { prop: 'colfNum6', label: '其他' },
            { prop: 'colfNum7', label: '不详' }
          ]
        },
        {
          label: '组织病理学检查情况',
          children: [
            { prop: 'cpatNum', label: '需要组织病理学检查' },
            { prop: 'cpatNum1', label: '病理学检查人数' },
            { prop: 'cpatNum2', label: '接受检查人数' },
            { prop: 'cpatNum3', label: '拒绝检查人数' },
            { prop: 'cpatNum4', label: '未见异常人数' },
            { prop: 'cpatNum5', label: '炎症' },
            { prop: 'cpatNum6', label: '低级别病变(原CIN1)' },
            { prop: 'cpatNum7', label: '高级别病变(原CIN2及CIN3)' },
            { prop: 'cpatNum8', label: '宫颈原位腺癌(AIS)' },
            { prop: 'cpatNum9', label: '宫颈微小浸润癌(鳞癌/腺癌)' },
            { prop: 'cpatNum10', label: '宫颈浸润癌(鳞癌/腺癌)' }
          ]
        },
        {
          label: '组织病理学检查随访情况',
          children: [
            { prop: 'cpatfNum', label: '已随访人数' },
            { prop: 'cpatfNum1', label: '待随访人数' },
            { prop: 'cpatfNum2', label: '炎症' },
            { prop: 'cpatfNum3', label: '低级别病变(原CIN1)' },
            { prop: 'cpatfNum4', label: '高级别病变(原CIN2及CIN3)' },
            { prop: 'cpatfNum5', label: '宫颈原位腺癌(AIS)' },
            { prop: 'cpatfNum6', label: '宫颈微小浸润癌(鳞癌/腺癌)' },
            { prop: 'cpatfNum7', label: '宫颈浸润癌(鳞癌/腺癌)' }
          ]
        },
        {
          label: '最后诊断情况',
          children: [
            { prop: 'finNum', label: '未见异常人数' },
            { prop: 'finNum1', label: '炎症' },
            { prop: 'finNum2', label: '低级别病变(原CIN1)' },
            { prop: 'finNum3', label: '高级别病变(原CIN2及CIN3)' },
            { prop: 'finNum4', label: '宫颈原位腺癌(AIS)' },
            { prop: 'finNum5', label: '宫颈微小浸润癌(鳞癌/腺癌)' },
            { prop: 'finNum6', label: '宫颈浸润癌(鳞癌/腺癌)' },
            { prop: 'finNum7', label: '待完善人数' }
          ]
        },
        {
          label: '宫颈病变接受治疗情况',
          children: [
            { prop: 'finTNum1', label: '接受治疗人数' },
            { prop: 'finTNum2', label: '不接受治疗人数' },
            { prop: 'finTNum3', label: '不详人数' }
          ]
        },
        {
          label: '术后病理—接受组织病理学检查情况',
          children: [
            { prop: 'finSNum1', label: '接受检查人数' },
            { prop: 'finSNum2', label: '不接受检查人数' },
            { prop: 'finSNum3', label: '炎症' },
            { prop: 'finSNum4', label: '低级别病变(原CIN1)' },
            { prop: 'finSNum5', label: '高级别病变(原CIN2及CIN3)' },
            { prop: 'finSNum6', label: '宫颈微小浸润癌(鳞癌/腺癌)' },
            { prop: 'finSNum7', label: '宫颈浸润癌(鳞癌/腺癌)' }
          ]
        }
      ],
      currentEditData: '',
      serviceRecordVisable: false
    }
  },
  methods: {
    back() {
      this.currentEditData = ''
      this.serviceRecordVisable = false
    },
    gotoService(item) {
      this.currentEditData = item.patient
      this.serviceRecordVisable = true
    },
    init() {
      var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
      if (selectedRole.code.indexOf('350200') > -1) {
@ -106,9 +296,7 @@ Vue.component('lasc-cervical', {
        this.getHospital(selectedRole.code)
      } else {
        this.level = 3 // 社区管理
        this.rangeOptions = [
          { label: '社区', value: '2' },
        ]
        this.rangeOptions = [{ label: '社区', value: '2' }]
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
        this.form = {
@ -144,16 +332,14 @@ Vue.component('lasc-cervical', {
        delete this.form.team
      }
    },
    getDictData() {
    
    },
    getDictData() {},
    searchFn() {
      var vm = this
      this.loading = true
      var params = {
        ...this.form,
        page:this.page,
        size:this.size
        page: this.page,
        size: this.size
      }
      vm.tableData = []
      if (this.chooseTime) {
@ -165,15 +351,15 @@ Vue.component('lasc-cervical', {
          vm.tableData = res.detailModelList
          vm.total = res.totalCount
        }
        console.log('22222222222222222',vm.tableData)
        console.log('22222222222222222', vm.tableData)
        vm.loading = false
      })
    },
    exportTable() {
      var params = {
        ...this.form,
        page:this.page,
        size:this.size
        page: this.page,
        size: this.size
      }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
@ -241,43 +427,6 @@ Vue.component('lasc-cervical', {
        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)
        }
      })
    },
    handleCurrentChange(val) {
      this.page = val
@ -329,92 +478,86 @@ Vue.component('lasc-cervical', {
          })
      }
    },
    openDialog(row, prop) {
      if (!row.code) return
      this.page = 1
      if (['totalTimes', 'mzTimes', 'zyTimes'].includes(prop)) {
        this.query = {
          status: '',
          hospitalCode: '',
          orgCode: '',
          archiveStatus: '',
          patientType: ''
        }
        this.visible = true
        this.title = '康复下转明细列表'
        this.dialogHeader = [
          { 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: 'statusName' },
          { label: '接收社区医院', prop: 'orgName' },
          { label: '接收签约医生', prop: 'doctorName' },
          { label: '接收时间', prop: 'receiveTime' },
          { label: '档案状态', prop: 'archiveStatusName' }
        ]
        switch (prop) {
          case 'mzTimes':
            this.query.patientType = '1'
            break
          case 'zyTimes':
            this.query.patientType = '2'
            break
        }
      } else if (['totalNum', 'mzNum', 'zyNum'].includes(prop)) {
        this.visible = true
        this.title = '下转情况数据列表'
        this.query = {
          sex: '',
          isSign: '',
          eventType: ''
        }
        this.dialogHeader = [
          { label: '姓名', prop: 'name' },
          { label: '性别', prop: 'sex' },
          { label: '年龄', prop: 'age' },
          { label: '手机号', prop: 'mobile' },
          { label: '是否签约', prop: 'isSign' },
          { label: '社区医院', prop: 'hospitalName' },
          { label: '下转次数', prop: 'num' },
          { label: '最近一次下转诊断', prop: 'diagnosisName' },
          { label: '最近一次下转时间', prop: 'turnDownTime' },
          { label: '最近一次下转类型', prop: 'eventType' }
        ]
        switch (prop) {
          case 'mzNum':
            this.query.eventType = '1'
            break
          case 'zyNum':
            this.query.eventType = '2'
            break
        }
    openDialog(scope, prop) {
      var vm = this
      vm.dialogLoading = true
      this.query.type = 'g_' + prop
      var params = {
        ...this.query,
        range: (this.form && this.form.range) || '',
        town: (this.form && this.form.town) || ''
      }
      var len = row.code.length
      if (len == 6) {
        this.query.range = 'town'
        this.query.area = row.code
      } else if (len == 10) {
        this.query.range = 'hospital'
        this.query.hospital = row.code
      } else {
        this.query.range = 'team'
        this.query.team = row.code
      vm.dialogTableData = []
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      delete params.total
      httpRequest.get('doctor/twoCancers/count/caseDataList', { data: params }).then(function (res) {
        vm.dialogTableData = res.detailModelList
        vm.query.total = res.totalCount
        vm.visible = true
        vm.dialogLoading = false
      })
    },
    caseDataList() {
      var vm = this
      vm.dialogLoading = true
      var params = {
        ...this.query,
        range: (this.form && this.form.range) || '',
        town: (this.form && this.form.town) || '',
        hospital: (this.form && this.form.hospital) || ''
      }
      this.dataRangeOption = [{ label: row.name, value: row.code }]
      if (['totalTimes', 'mzTimes', 'zyTimes'].includes(prop)) {
        this.rehabilitationPatientInfo()
      } else if (['totalNum', 'mzNum', 'zyNum'].includes(prop)) {
        this.turnDownDataPage()
      vm.dialogTableData = []
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      delete params.total
      httpRequest.get('doctor/twoCancers/count/caseDataList', { data: params }).then(function (res) {
        vm.dialogTableData = res.detailModelList
        vm.query.total = res.totalCount
        vm.dialogLoading = false
      })
    },
    dialogSearchFn() {
      this.caseDataList()
    },
    handleCurrentChange1(val) {
      this.query.page = val
      this.caseDataList()
    },
    handleSizeChange1(val) {
      this.query.size = val
      this.caseDataList()
    },
    dialogExportFn() {
      var vm = this
      this.dialogExportLoading = true
      var params = {
        ...this.query,
        range: (this.form && this.form.range) || '',
        town: (this.form && this.form.town) || '',
        hospital: (this.form && this.form.hospital) || ''
      }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      var fileName = `个案数据列表${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('doctor/twoCancers/count/exportCaseDataList', fileName, params).then(function () {
        vm.dialogExportLoading = false
      })
    },
    dialogResetFn() {
      this.query = {
        page: 1,
        size: 10,
        total: 0
      }
      this.caseDataList()
    },
    closeDialog() {
      this.visible = false
@ -449,9 +592,7 @@ Vue.component('lasc-cervical', {
      } else {
        this.init()
      }
    },
    }
  },
  mounted() {
    this.init()

+ 104 - 39
component/statistics/LascCervicalColposcopyEntityList/index.html

@ -1,79 +1,144 @@
<div id="app">
  <van-form>
    <div class="item-list" >
    <div class="item-list">
      <div class="item" v-for="(item, i) in form.list" :key="i">
        <van-cell :title="i+1+'、'">
          <div id=""  v-if="!readonly">
            <van-icon v-if="form.list&&form.list.length>1"  size="20px" name="delete-o" />
          <div id="" v-if="!readonly">
            <van-icon v-if="form.list&&form.list.length>1" size="20px" name="delete-o" />
          </div>
        </van-cell>
        
        <van-field :readonly="readonly" required label-width="8rem" class=''  name="接受阴道镜检查" label="接受阴道镜检查" input-align="right">
        <van-field :readonly="readonly" required label-width="8rem" class="" name="接受阴道镜检查" label="接受阴道镜检查" input-align="right">
          <div slot="input">
            <van-radio-group :disabled="readonly" v-model="item.acceptColposcopy" direction="horizontal" :disabled='readonly' >
            <van-radio-group :disabled="readonly" v-model="item.acceptColposcopy" direction="horizontal" :disabled="readonly">
              <van-radio name="1">是</van-radio>
              <van-radio name="2">否</van-radio>
            </van-radio-grou>
            </van-radio-group>
          </div>
        </van-field>
        
        <template v-if="item.acceptColposcopy==2">
          <van-field :readonly="readonly" required  label-width="8rem" class='' name="未接受检查的原因" label="未接受检查的原因" input-align="right">
          <van-field :readonly="readonly" required label-width="8rem" class="" name="未接受检查的原因" label="未接受检查的原因" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.refuseColposcopyReason" direction="horizontal" :disabled='readonly' >
              <van-radio-group :disabled="readonly" v-model="item.refuseColposcopyReason" direction="horizontal" :disabled="readonly">
                <van-radio name="1">拒绝检查</van-radio>
                <van-radio name="2" class='top2'>失访</van-radio>
                <van-radio name="3" class='top2'>其他原因</van-radio>
              </van-radio-grou>
                <van-radio name="2" class="top2">失访</van-radio>
                <van-radio name="3" class="top2">其他原因</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" required label-width="8rem"class=''  :readonly='readonly' class='padding30' v-if='item.refuseColposcopyReason == 3'  clearable v-model="item.refuseColposcopyReasonOther" name="未接受检查其他描述"  label="未接受检查其他描述" placeholder="请输入其他描述" input-align="right"></van-field>
          <van-field
            :readonly="readonly"
            required
            label-width="8rem"
            class=""
            :readonly="readonly"
            class="padding30"
            v-if="item.refuseColposcopyReason == 3"
            clearable
            v-model="item.refuseColposcopyReasonOther"
            name="未接受检查其他描述"
            label="未接受检查其他描述"
            placeholder="请输入其他描述"
            input-align="right"></van-field>
        </template>
        
        <template v-else-if="item.acceptColposcopy==1">
          <van-field :readonly="readonly" required label-width="8rem" class='' v-if='item.acceptColposcopy == 1' name="阴道镜检查评价" label="阴道镜检查评价" input-align="right">
          <van-field :readonly="readonly" required label-width="8rem" class="" v-if="item.acceptColposcopy == 1" name="阴道镜检查评价" label="阴道镜检查评价" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.colposcopyEvaluate" direction="horizontal" :disabled='readonly' >
              <van-radio-group :disabled="readonly" v-model="item.colposcopyEvaluate" direction="horizontal" :disabled="readonly">
                <van-radio name="1">满意</van-radio>
                <van-radio name="2">不满意</van-radio>
              </van-radio-grou>
              </van-radio-group>
            </div>
          </van-field>
          
          <van-field :readonly="readonly" required label-width="10rem" class='' name="初步诊断" label="初步诊断" input-align="right">
          <van-field :readonly="readonly" required label-width="10rem" class="" name="初步诊断" label="初步诊断" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.colposcopyResult" direction="horizontal" :disabled='readonly' >
              <van-radio-group :disabled="readonly" v-model="item.colposcopyResult" direction="horizontal" :disabled="readonly">
                <van-radio name="1">未见异常</van-radio>
                <van-radio name="2">异常</van-radio>
              </van-radio-grou>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" v-if="item.colposcopyResult==2" required label-width="10rem" class='' name="初步诊断异常类型" label="初步诊断异常类型" input-align="right">
          <van-field
            :readonly="readonly"
            v-if="item.colposcopyResult==2"
            required
            label-width="10rem"
            class=""
            name="初步诊断异常类型"
            label="初步诊断异常类型"
            input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.colposcopyAbnormal" direction="horizontal" :disabled='readonly' >
                <van-radio name="1" class='top2'>低度病变</van-radio>
                <van-radio name="2" class='top2'>高度病变</van-radio>
                <van-radio name="3" class='top2'>可疑癌</van-radio>
                <van-radio name="4" class='top2'>其他原因</van-radio>
              </van-radio-grou>
              <van-radio-group :disabled="readonly" v-model="item.colposcopyAbnormal" direction="horizontal" :disabled="readonly">
                <van-radio name="1" class="top2">低度病变</van-radio>
                <van-radio name="2" class="top2">高度病变</van-radio>
                <van-radio name="3" class="top2">可疑癌</van-radio>
                <van-radio name="4" class="top2">其他原因</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="readonly" required label-width="6rem"  :readonly='readonly' class='' v-if='item.colposcopyAbnormal == "4" && item.colposcopyResult==2'  clearable v-model="item.pathologicalExaminationAbnormalOther" name="初步诊断其他描述"  label="初步诊断其他描述" placeholder="请输入其他描述" input-align="right"></van-field>
          <van-field :readonly="readonly" required label-width="8rem" class='' name="是否需组织病理检查" label="是否需组织病理检查" input-align="right">
          <van-field
            :readonly="readonly"
            required
            label-width="6rem"
            :readonly="readonly"
            class=""
            v-if='item.colposcopyAbnormal == "4" && item.colposcopyResult==2'
            clearable
            v-model="item.pathologicalExaminationAbnormalOther"
            name="初步诊断其他描述"
            label="初步诊断其他描述"
            placeholder="请输入其他描述"
            input-align="right"></van-field>
          <van-field :readonly="readonly" required label-width="8rem" class="" name="是否需组织病理检查" label="是否需组织病理检查" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.needPathologicalExamination" direction="horizontal" :disabled='readonly' >
              <van-radio-group :disabled="readonly" v-model="item.needPathologicalExamination" direction="horizontal" :disabled="readonly">
                <van-radio name="1">是</van-radio>
                <van-radio name="2">否</van-radio>
              </van-radio-grou>
              </van-radio-group>
            </div>
          </van-field>
        </template>
        <van-field readonly="true" required label-width="8rem" class=''  :readonly='readonly'  clearable v-model="item.colposcopyOrg" name="检查机构" label="检查机构" placeholder="请输入检查机构" input-align="right"></van-field>
        <van-field readonly="true" required label-width="8rem" class='' :readonly='readonly'  clearable v-model="item.colposcopyUser" name="检查人员" label="检查人员" placeholder="请输入检查人员" input-align="right"></van-field>
        <van-field :readonly="readonly" required label-width="8rem" class='' readonly clickable name="检查时间" :value="item.colposcopyTime?item.colposcopyTime:''" label="检查时间" placeholder="请选择检查时间"
          input-align="right" :is-link="!readonly">
        </van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          class=""
          :readonly="readonly"
          clearable
          v-model="item.colposcopyOrg"
          name="检查机构"
          label="检查机构"
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          class=""
          :readonly="readonly"
          clearable
          v-model="item.colposcopyUser"
          name="检查人员"
          label="检查人员"
          placeholder="请输入检查人员"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          class=""
          readonly
          clickable
          name="检查时间"
          :value="item.colposcopyTime?item.colposcopyTime:''"
          label="检查时间"
          placeholder="请选择检查时间"
          input-align="right"
          :is-link="!readonly"></van-field>
      </div>
    </div>
  </van-form>
</div>
</div>

+ 0 - 1
component/statistics/LascCervicalColposcopyEntityList/index.js

@ -23,7 +23,6 @@ Vue.component('lasc-cervical-colposcopy-entity-list', {
      isShowDatePicker: false,
      activeDateField: '',
      date: '',
      minDate: moment().add(-100, 'year').toDate(),
      form: {
        screenId: '', //两癌筛查id
        list: []

+ 55 - 84
component/statistics/LascCervicalCytologyInspectEntityList/index.html

@ -1,91 +1,62 @@
<div id="app">
  <van-form>
    <div class="item-list">
      <van-tabs title-active-color="#17b3ec" color="#17b3ec" v-model:active="active">
        <van-tab title="检查数据">
          <div class="item" v-for="(item, i) in form.list" :key="i">
            <van-cell :title="i+1+'、'">
              <div id="" v-if="!readonly">
                <van-icon v-if="form.list&&form.list.length>1" size="20px" name="delete-o" />
              </div>
            </van-cell>
            <van-field
              :readonly="readonly"
              label-width="8rem"
              class=""
              readonly
              clearable
              :value="item.tbsResult"
              name="TBS分类报告结果"
              label="TBS分类报告结果"
              placeholder="请选择"
              input-align="right"
              :is-link="!readonly"></van-field>
            <!-- <van-field :readonly="readonly" required label-width="8rem" class=''  name="宫颈DNA倍体检测结果" label="宫颈DNA倍体检测结果" input-align="right">
								<div slot="input">
									<van-radio-group :disabled="readonly" v-model="item.cervicalDnaPloidyInspect" direction="horizontal" :disabled='readonly' >
										<van-radio name="1">未见DNA倍体异常</van-radio>
										<van-radio name="2">可见少量DNA倍体异常细胞(1-2个)</van-radio>
										<van-radio name="3">可见少量细胞增生(5%-10%)</van-radio>
										<van-radio name="4">可见DNA倍体异常细胞(≥3个)</van-radio>
										<van-radio name="5">可见细胞异常增生(≥10%)</van-radio>
										<van-radio name="6">可见异倍体细胞峰</van-radio>
										<van-radio name="7">有效检测细胞不足</van-radio>
									</van-radio-grou>
								</div>
							</van-field> -->
            <van-field
              readonly="true"
              required
              label-width="8rem"
              class=""
              :readonly="readonly"
              clearable
              v-model="item.cervicalCytologyOrg"
              name="检查机构"
              label="检查机构"
              placeholder="请输入检查机构"
              input-align="right"></van-field>
            <van-field
              readonly="true"
              required
              label-width="8rem"
              class=""
              :readonly="readonly"
              clearable
              v-model="item.cervicalCytologyUser"
              name="检查人员"
              label="检查人员"
              placeholder="请输入检查人员"
              input-align="right"></van-field>
            <van-field
              :readonly="readonly"
              required
              label-width="8rem"
              class=""
              readonly
              clickable
              name="检查时间"
              :value="item.cervicalCytologyTime?item.cervicalCytologyTime:''"
              label="检查时间"
              placeholder="请选择检查时间"
              input-align="right"
              :is-link="!readonly"></van-field>
      <div class="item" v-for="(item, i) in form.list" :key="i">
        <van-cell :title="i+1+'、'">
          <div id="" v-if="!readonly">
            <van-icon v-if="form.list&&form.list.length>1" size="20px" name="delete-o" />
          </div>
          <div v-if="!readonly" class="item-add-btn" id="">
            <img src="../images/xinzhengyaopin_icon.png" />
          </div>
        </van-tab>
        <van-tab title="检查报告">
          <iframe v-if="cytoTubeNum" :src="pdfUrl" class="mt10" style="width: 100%; height: calc(100vh - 100px)"></iframe>
          <div v-else id="no_result_wrap" class="c-dn" v-else>
            <img class="no-result-img" src="../../../images/shujuweikong_img.png" />
            <div class="c-f14 c-323232 c-t-center">暂无数据</div>
          </div>
        </van-tab>
      </van-tabs>
        </van-cell>
        <van-field
          :readonly="readonly"
          label-width="8rem"
          class=""
          readonly
          clearable
          :value="item.tbsResult"
          name="TBS分类报告结果"
          label="TBS分类报告结果"
          placeholder="请选择"
          input-align="right"
          :is-link="!readonly"></van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          class=""
          :readonly="readonly"
          clearable
          v-model="item.cervicalCytologyOrg"
          name="检查机构"
          label="检查机构"
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          class=""
          :readonly="readonly"
          clearable
          v-model="item.cervicalCytologyUser"
          name="检查人员"
          label="检查人员"
          placeholder="请输入检查人员"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          class=""
          readonly
          clickable
          name="检查时间"
          :value="item.cervicalCytologyTime?item.cervicalCytologyTime:''"
          label="检查时间"
          placeholder="请选择检查时间"
          input-align="right"
          :is-link="!readonly"></van-field>
      </div>
    </div>
  </van-form>
</div>

+ 2 - 19
component/statistics/LascCervicalCytologyInspectEntityList/index.js

@ -13,7 +13,7 @@ $.ajax('../../../component/statistics/LascCervicalCytologyInspectEntityList/inde
Vue.component('lasc-cervical-cytology-inspect-entityList', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      readonly: true,
@ -35,20 +35,6 @@ Vue.component('lasc-cervical-cytology-inspect-entityList', {
        '标本不满意:上皮细胞数目太少',
        '标本不满意:大量炎细胞遮盖'
      ],
      // 			tbsResultList: [
      // 				{dictValue: '未见上皮内病变细胞和恶性细胞', value: 1},
      // 				{dictValue: '未明确意义的不典型鳞状上皮细胞(ASC-US)', value: 2},
      // 				{dictValue: '不典型鳞状上皮细胞-不除外高度鳞状上皮内病变(ASC-H)', value: 3},
      // 				{dictValue: '低度鳞状上皮内病变(LSIL)', value: 4},
      // 				{dictValue: '高度鳞状上皮内病变(HSIL)', value: 5},
      // 				{dictValue: '鳞状细胞癌(SCC)', value: 6},
      // 				{dictValue: '不典型腺上皮细胞(AGC) ', value: 7},
      // 				{dictValue: '不典型宫颈管腺细胞倾向瘤变', value: 8},
      // 				{dictValue: '宫颈管原位癌', value: 9},
      // 				{dictValue: '腺癌', value: 10}
      // 			],
      columns: [],
      pickType: '',
      curItem: '',
@ -66,10 +52,7 @@ Vue.component('lasc-cervical-cytology-inspect-entityList', {
      },
      cytoTubeNum: '',
      active: '',
      pdfUrl: '',
      data: {
        value: [{}]
      }
      pdfUrl: ''
    }
  },
  methods: {},

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

@ -97,7 +97,7 @@
    <template v-if="form.acceptPathologicalExamination==1">
    <van-field :readonly="readonly" label-width="6rem" class='' name="组织病理学检查结果" label="组织病理学检查结果" input-align="right">
      <div slot="input">
        <van-checkbox-group :disabled="readonly" @change="onCheckboxChange($event, form, 'pathologicalExaminationResult')"  v-model="form.pathologicalExaminationResult" direction="horizontal" :disabled='readonly' >
        <van-checkbox-group :disabled="readonly"  v-model="form.pathologicalExaminationResult" direction="horizontal" :disabled='readonly' >
          <van-checkbox :name="'1'">未见异常</van-checkbox>
          <van-checkbox :name="'2-1'">炎症</van-checkbox>
          <van-checkbox :name="'2-2'" class='top2'>低级别病变(原CIN1)</van-checkbox>

+ 3 - 1
component/statistics/LascCervicalFinalDiagnosisEntity/index.js

@ -1,4 +1,5 @@
var template = ''
var docInfo = JSON.parse(window.localStorage.getItem('docInfo'))
$.ajax('../../../component/statistics/LascCervicalFinalDiagnosisEntity/index.html', {
  data: {},
  dataType: 'html',
@ -58,8 +59,9 @@ Vue.component('lasc-cervical-final-diagnosis-entity', {
    }
  },
  template: template,
  created: function () {
  mounted() {
    var form = JSON.parse(JSON.stringify(this.data.value))
    console.log(form, 'formformform111111111111111')
    if (this.readonly && !form.finalDiagnosisOrg) {
      this.form = {
        screenId: '', //两癌筛查id

+ 6 - 5
component/statistics/LascCervicalGynecologicalExaminationEntityList/index.js

@ -13,7 +13,7 @@ $.ajax('../../../component/statistics/LascCervicalGynecologicalExaminationEntity
Vue.component('lasc-cervical-gynecological-examination-entityList', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      readonly: true,
@ -38,13 +38,14 @@ Vue.component('lasc-cervical-gynecological-examination-entityList', {
        screenId: '', //两癌筛查id
        receiveCervicalCarcinomaInspect: '2', //是否接收乳腺临床检查1拒绝2接收
        list: []
      },
      data: {
        value: [{}]
      }
    }
  },
  methods: {},
  methods: {
    formatList: function (str) {
      return (str && str.split(',')) || []
    }
  },
  mounted() {
    var vm = this
    this.form.screenId = this.data.screenId || ''

+ 58 - 81
component/statistics/LascCervicalHpvEntityList/index.html

@ -1,90 +1,67 @@
<div id="app">
  <van-form>
    <div class="item-list">
      <van-tabs title-active-color="#17b3ec" color="#17b3ec" v-model:active="active">
        <van-tab title="检查数据">
          <div class="item" v-for="(item, i) in form.list" :key="i">
            <van-cell :title="i+1+'、'">
              <div id="" v-if="!readonly">
                <van-icon v-if="form.list&&form.list.length>1" size="20px" name="delete-o" />
              </div>
            </van-cell>
            <van-field :readonly="readonly" required label-width="4rem" class="" name="高危型HPV分型检测" label="高危型HPV分型检测" input-align="right">
              <div slot="input">
                <template v-for="(value, key) in item.hpvHighRiskTypes" :key="key">
                  <van-radio-group :disabled="readonly" v-model="item.hpvHighRiskTypes[key]" direction="horizontal">
                    <span class="mr10">{{key}}:</span>
                    <van-radio name="1">阴性</van-radio>
                    <van-radio name="2">阳性</van-radio>
                  </van-radio-group>
                </template>
              </div>
            </van-field>
            <van-field :readonly="readonly" required label-width="4rem" class="" name="低危型HPV分型检测" label="低危型HPV分型检测" input-align="right">
              <div slot="input">
                <template v-for="(value, key) in item.hpvLowRiskTypes" :key="key">
                  <van-radio-group :disabled="readonly" v-model="item.hpvLowRiskTypes[key]" direction="horizontal">
                    <span class="mr10">{{key}}:</span>
                    <van-radio name="1">阴性</van-radio>
                    <van-radio name="2">阳性</van-radio>
                  </van-radio-group>
                </template>
              </div>
            </van-field>
            <van-field
              readonly="true"
              required
              label-width="8rem"
              clearable
              v-model="item.hpvInspectOrg"
              name="检查机构"
              label="检查机构"
              placeholder="请输入检查机构"
              input-align="right"></van-field>
            <van-field
              readonly="true"
              required
              label-width="8rem"
              clearable
              v-model="item.hpvInspectUser"
              name="检查人员"
              label="检查人员"
              placeholder="请输入检查人员"
              input-align="right"></van-field>
            <van-field
              :readonly="readonly"
              required
              label-width="8rem"
              readonly
              clickable
              name="检查时间"
              :value="item.hpvInspectTime?item.hpvInspectTime:''"
              label="检查时间"
              placeholder="请选择检查时间"
              input-align="right"
              <van-checkbox-group
              :disabled="readonly"
              :disabled="readonly"></van-field>
      <div class="item" v-for="(item, i) in form.list" :key="i">
        <van-cell :title="i+1+'、'">
          <div id="" v-if="!readonly">
            <van-icon v-if="form.list&&form.list.length>1" size="20px" name="delete-o" />
          </div>
          <div v-if="!readonly" class="item-add-btn" id="">
            <img src="../images/xinzhengyaopin_icon.png" />
        </van-cell>
        <van-field :readonly="readonly" required label-width="4rem" class="" name="高危型HPV分型检测" label="高危型HPV分型检测" input-align="right">
          <div slot="input">
            <div v-for="(value, key) in item.hpvHighRiskTypes" :key="key">
              <van-radio-group :disabled="readonly" v-model="item.hpvHighRiskTypes[key]" direction="horizontal">
                <span class="mr10">{{key}}:</span>
                <van-radio name="1">阴性</van-radio>
                <van-radio name="2">阳性</van-radio>
              </van-radio-group>
            </div>
          </div>
        </van-tab>
        <van-tab title="检查报告">
          <iframe v-if="hpvTubeNum" :src="pdfUrl" class="mt10" style="width: 100%; height: calc(100vh - 100px)"></iframe>
          <div v-else id="no_result_wrap" class="c-dn" v-else>
            <img class="no-result-img" src="../../../images/shujuweikong_img.png" />
            <div class="c-f14 c-323232 c-t-center">暂无数据</div>
        </van-field>
        <van-field :readonly="readonly" required label-width="4rem" class="" name="低危型HPV分型检测" label="低危型HPV分型检测" input-align="right">
          <div slot="input">
            <div v-for="(value, key) in item.hpvLowRiskTypes" :key="key">
              <van-radio-group :disabled="readonly" v-model="item.hpvLowRiskTypes[key]" direction="horizontal">
                <span class="mr10">{{key}}:</span>
                <van-radio name="1">阴性</van-radio>
                <van-radio name="2">阳性</van-radio>
              </van-radio-group>
            </div>
          </div>
        </van-tab>
      </van-tabs>
      <!-- <div class="tabsBox mt10" style="">
					<div   v-if="hpvTubeNum">检查数据</div>
					<div >检查报告</div>
				</div> -->
        </van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          clearable
          v-model="item.hpvInspectOrg"
          name="检查机构"
          label="检查机构"
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          clearable
          v-model="item.hpvInspectUser"
          name="检查人员"
          label="检查人员"
          placeholder="请输入检查人员"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          readonly
          clickable
          name="检查时间"
          :value="item.hpvInspectTime?item.hpvInspectTime:''"
          label="检查时间"
          placeholder="请选择检查时间"
          input-align="right"
          :disabled="readonly"></van-field>
      </div>
    </div>
  </van-form>
</div>

+ 35 - 8
component/statistics/LascCervicalHpvEntityList/index.js

@ -13,36 +13,63 @@ $.ajax('../../../component/statistics/LascCervicalHpvEntityList/index.html', {
Vue.component('lasc-cervical-hpv-entityList', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      readonly: true,
      readonlyTwo: 1,
      isShowPicker: false,
      columns: [],
      pickType: '',
      curItem: '',
      isShowDatePicker: false,
      activeDateField: '',
      date: '',
      // minDate: moment().add(-100, 'year').toDate(),
      minDate: null,
      form: {
        screenId: '', //两癌筛查id
        list: []
      },
      hpvTubeNum: '',
      active: 0,
      pdfUrl: '',
      data: {
        value: [{}]
      pdfUrl: ''
    }
  },
  methods: {
    getHpvHighRiskTypes: function () {
      return {
        16: '1',
        18: '1',
        31: '1',
        33: '1',
        35: '1',
        39: '1',
        45: '1',
        51: '1',
        52: '1',
        53: '1',
        56: '1',
        58: '1',
        59: '1',
        66: '1',
        68: '1',
        73: '1',
        82: '1'
      }
    },
    getHpvLowRiskTypes: function () {
      return {
        6: '1',
        11: '1',
        42: '1',
        43: '1',
        44: '1',
        81: '1',
        83: '1'
      }
    }
  },
  methods: {},
  mounted() {
    this.form.screenId = this.data.screenId
    var vm = this

+ 95 - 41
component/statistics/LascCervicalPathologicalExaminationList/index.html

@ -1,59 +1,113 @@
<div class="app">
  <van-form>
    <div class="item-list" >
    <div class="item-list">
      <div class="item" v-for="(item, i) in form.list" :key="i">
        <van-cell :title="i+1+'、'">
          <div id="" v-if="!readonly" >
            <van-icon v-if="form.list&&form.list.length>1"  size="20px" name="delete-o" />
          <div id="" v-if="!readonly">
            <van-icon v-if="form.list&&form.list.length>1" size="20px" name="delete-o" />
          </div>
        </van-cell>
        
        <van-field :readonly="readonly" required label-width="8rem" class=''  name="接受组织病理学检查" label="接受组织病理学检查" input-align="right">
        <van-field :readonly="readonly" required label-width="8rem" class="" name="接受组织病理学检查" label="接受组织病理学检查" input-align="right">
          <div slot="input">
            <van-radio-group :disabled="readonly" v-model="item.acceptPathologicalExamination" direction="horizontal" :disabled='readonly' >
            <van-radio-group :disabled="readonly" v-model="item.acceptPathologicalExamination" direction="horizontal">
              <van-radio name="1">是</van-radio>
              <van-radio name="2">否</van-radio>
            </van-radio-grou>
            </van-radio-group>
          </div>
        </van-field>
        
        <template v-if="item.acceptPathologicalExamination==2">
        <van-field :readonly="readonly" required  label-width="8rem" class='' name="未接受检查的原因" label="未接受检查的原因" input-align="right">
          <div slot="input">
            <van-radio-group :disabled="readonly" v-model="item.refusePathologicalExaminationReason" direction="horizontal" :disabled='readonly' >
              <van-radio name="1">拒绝检查</van-radio>
              <van-radio name="2" class='top2'>失访</van-radio>
              <van-radio name="3" class='top2'>其他原因</van-radio>
            </van-radio-grou>
          </div>
        </van-field>
        <van-field :readonly="readonly" required label-width="8rem"class=''  :readonly='readonly' class='' v-if='item.refusePathologicalExaminationReason == 3'  clearable v-model="item.refusePathologicalExaminationReasonOther" name="未接受检查其他描述"  label="未接受检查其他描述" placeholder="请输入其他描述" input-align="right"></van-field>
          <van-field :readonly="readonly" required label-width="8rem" class="" name="未接受检查的原因" label="未接受检查的原因" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="item.refusePathologicalExaminationReason" direction="horizontal">
                <van-radio name="1">拒绝检查</van-radio>
                <van-radio name="2" class="top2">失访</van-radio>
                <van-radio name="3" class="top2">其他原因</van-radio>
              </van-radio-group>
            </div>
          </van-field>
          <van-field
            :readonly="readonly"
            required
            label-width="8rem"
            class=""
            class=""
            v-if="item.refusePathologicalExaminationReason == 3"
            clearable
            v-model="item.refusePathologicalExaminationReasonOther"
            name="未接受检查其他描述"
            label="未接受检查其他描述"
            placeholder="请输入其他描述"
            input-align="right"></van-field>
        </template>
        
        <template v-if="item.acceptPathologicalExamination==1">
        <van-field :readonly="readonly" required label-width="6rem" class='' name="组织病理学检查结果" label="组织病理学检查结果" input-align="right">
          <div slot="input">
            <van-checkbox-group :disabled="readonly" v-model="item.pathologicalExaminationResult" direction="horizontal" :disabled='readonly' >
              <van-checkbox :name="'1'">未见异常</van-checkbox>
              <van-checkbox :name="'2-1'">炎症</van-checkbox>
              <van-checkbox :name="'2-2'" class='top2'>低级别病变(原CIN1)</van-checkbox>
              <van-checkbox :name="'2-3'" class='top2'>高级别病变(原CIN2及CIN3)</van-checkbox>
              <van-checkbox :name="'2-4'" class='top2'>宫颈原位腺癌(AIS)</van-checkbox>
              <van-checkbox :name="'2-5'" class='top2'>宫颈微小浸润癌(鳞癌/腺癌)</van-checkbox>
              <van-checkbox :name="'2-6'" class='top2'>宫颈浸润癌(鳞癌/腺癌)</van-checkbox>
              <van-checkbox :name="'2-7'" class='top2'>其他</van-checkbox>
            </van-checkbox-grou>
          </div>
        </van-field>
        <van-field :readonly="readonly" required label-width="6rem"  :readonly='readonly' class='' v-if='item.pathologicalExaminationResult.indexOf("2-7") != -1'  clearable v-model="item.pathologicalExaminationAbnormalOther" name="组织病理学其他描述"  label="组织病理学其他描述" placeholder="请输入其他描述" input-align="right"></van-field>
          <van-field :readonly="readonly" required label-width="6rem" class="" name="组织病理学检查结果" label="组织病理学检查结果" input-align="right">
            <div slot="input">
              <van-checkbox-group :disabled="readonly" v-model="item.pathologicalExaminationResult" direction="horizontal">
                <van-checkbox :name="'1'">未见异常</van-checkbox>
                <van-checkbox :name="'2-1'">炎症</van-checkbox>
                <van-checkbox :name="'2-2'" class="top2">低级别病变(原CIN1)</van-checkbox>
                <van-checkbox :name="'2-3'" class="top2">高级别病变(原CIN2及CIN3)</van-checkbox>
                <van-checkbox :name="'2-4'" class="top2">宫颈原位腺癌(AIS)</van-checkbox>
                <van-checkbox :name="'2-5'" class="top2">宫颈微小浸润癌(鳞癌/腺癌)</van-checkbox>
                <van-checkbox :name="'2-6'" class="top2">宫颈浸润癌(鳞癌/腺癌)</van-checkbox>
                <van-checkbox :name="'2-7'" class="top2">其他</van-checkbox>
              </van-checkbox-group>
            </div>
          </van-field>
          <van-field
            :readonly="readonly"
            required
            label-width="6rem"
            class=""
            v-if='item.pathologicalExaminationResult.indexOf("2-7") != -1'
            clearable
            v-model="item.pathologicalExaminationAbnormalOther"
            name="组织病理学其他描述"
            label="组织病理学其他描述"
            placeholder="请输入其他描述"
            input-align="right"></van-field>
        </template>
        <van-field readonly="true" required label-width="8rem" class=''  :readonly='readonly'  clearable v-model="item.pathologicalExaminationOrg" name="检查机构" label="检查机构" placeholder="请输入检查机构" input-align="right"></van-field>
        <van-field readonly="true" required label-width="8rem" class='' :readonly='readonly'  clearable v-model="item.pathologicalExaminationUser" name="检查人员" label="检查人员" placeholder="请输入检查人员" input-align="right"></van-field>
        <van-field :readonly="readonly" required label-width="8rem" class='' readonly clickable name="检查时间" :value="item.pathologicalExaminationTime?item.pathologicalExaminationTime:''" label="检查时间" placeholder="请选择检查时间"
          input-align="right" :is-link="!readonly">
        </van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          class=""
          :readonly="readonly"
          clearable
          v-model="item.pathologicalExaminationOrg"
          name="检查机构"
          label="检查机构"
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          required
          label-width="8rem"
          class=""
          :readonly="readonly"
          clearable
          v-model="item.pathologicalExaminationUser"
          name="检查人员"
          label="检查人员"
          placeholder="请输入检查人员"
          input-align="right"></van-field>
        <van-field
          :readonly="readonly"
          required
          label-width="8rem"
          class=""
          readonly
          clickable
          name="检查时间"
          :value="item.pathologicalExaminationTime?item.pathologicalExaminationTime:''"
          label="检查时间"
          placeholder="请选择检查时间"
          input-align="right"
          :is-link="!readonly"></van-field>
      </div>
     
    </div>
  </van-form>
</div>
</div>

+ 1 - 1
component/statistics/LascCervicalPathologicalExaminationList/index.js

@ -26,7 +26,6 @@ Vue.component('lasc-cervical-pathological-examination-list', {
      isShowDatePicker: false,
      activeDateField: '',
      date: '',
      minDate: moment().add(-100, 'year').toDate(),
      form: {
        screenId: '', //两癌筛查id
        list: []
@ -52,6 +51,7 @@ Vue.component('lasc-cervical-pathological-examination-list', {
      })
      this.form.list = form
      console.log('99999999999999999', this.form)
    }
  }
})

+ 14 - 87
component/statistics/LascCervicalPreliminaryScreenEntity/index.html

@ -1,91 +1,18 @@
<div id="app">
  <van-form>
    <div class="item-list">
      <van-tabs title-active-color="#17b3ec" color="#17b3ec" v-model:active="active">
        <van-tab title="检查数据">
          <div class="item" v-for="(item, i) in form.list" :key="i">
            <van-cell :title="i+1+'、'">
              <div id="" v-if="!readonly">
                <van-icon v-if="form.list&&form.list.length>1" size="20px" name="delete-o" />
              </div>
            </van-cell>
            <van-field
              :readonly="readonly"
              label-width="8rem"
              class=""
              readonly
              clearable
              :value="item.tbsResult"
              name="TBS分类报告结果"
              label="TBS分类报告结果"
              placeholder="请选择"
              input-align="right"
              :is-link="!readonly"></van-field>
            <!-- <van-field :readonly="readonly" required label-width="8rem" class=''  name="宫颈DNA倍体检测结果" label="宫颈DNA倍体检测结果" input-align="right">
								<div slot="input">
									<van-radio-group :disabled="readonly" v-model="item.cervicalDnaPloidyInspect" direction="horizontal" :disabled='readonly' >
										<van-radio name="1">未见DNA倍体异常</van-radio>
										<van-radio name="2">可见少量DNA倍体异常细胞(1-2个)</van-radio>
										<van-radio name="3">可见少量细胞增生(5%-10%)</van-radio>
										<van-radio name="4">可见DNA倍体异常细胞(≥3个)</van-radio>
										<van-radio name="5">可见细胞异常增生(≥10%)</van-radio>
										<van-radio name="6">可见异倍体细胞峰</van-radio>
										<van-radio name="7">有效检测细胞不足</van-radio>
									</van-radio-grou>
								</div>
							</van-field> -->
            <van-field
              readonly="true"
              required
              label-width="8rem"
              class=""
              :readonly="readonly"
              clearable
              v-model="item.cervicalCytologyOrg"
              name="检查机构"
              label="检查机构"
              placeholder="请输入检查机构"
              input-align="right"></van-field>
            <van-field
              readonly="true"
              required
              label-width="8rem"
              class=""
              :readonly="readonly"
              clearable
              v-model="item.cervicalCytologyUser"
              name="检查人员"
              label="检查人员"
              placeholder="请输入检查人员"
              input-align="right"></van-field>
            <van-field
              :readonly="readonly"
              required
              label-width="8rem"
              class=""
              readonly
              clickable
              name="检查时间"
              :value="item.cervicalCytologyTime?item.cervicalCytologyTime:''"
              label="检查时间"
              placeholder="请选择检查时间"
              input-align="right"
              :is-link="!readonly"></van-field>
          </div>
          <div v-if="!readonly" class="item-add-btn" id="">
            <img src="../images/xinzhengyaopin_icon.png" />
          </div>
        </van-tab>
        <van-tab title="检查报告">
          <iframe v-if="cytoTubeNum" :src="pdfUrl" class="mt10" style="width: 100%; height: calc(100vh - 100px)"></iframe>
          <div v-else id="no_result_wrap" class="c-dn" v-else>
            <img class="no-result-img" src="../../../images/shujuweikong_img.png" />
            <div class="c-f14 c-323232 c-t-center">暂无数据</div>
          </div>
        </van-tab>
      </van-tabs>
    </div>
    <van-field :readonly="readonly" required label-width="6rem" class=''  name="临床评估意见" label="临床评估意见" input-align="right">
      <div slot="input">
        <van-radio-group :disabled="readonly" v-model="form.preliminaryScreenResults" direction="horizontal" :disabled='readonly' >
          <van-radio name="1">未见异常,建议结合自身健康情况,定期筛查</van-radio>
          <van-radio name="2">存在异常,请留意自身健康情况,建议12个月内复查</van-radio>
          <van-radio name="3">异常,请在3个月内进一步行阴道镜检查</van-radio>
        </van-radio-grou>
      </div>
    </van-field>
    <van-field :readonly="readonly" required label-width="8rem" class=''  :readonly='readonly'  clearable v-model="form.preliminaryScreenOrg" name="检查机构" label="检查机构" placeholder="请输入检查机构" input-align="right"></van-field>
    <van-field :readonly="readonly" required label-width="8rem" class='' :readonly='readonly'  clearable v-model="form.preliminaryScreenUser" name="检查人员" label="检查人员" placeholder="请输入检查人员" input-align="right"></van-field>
    <van-field :readonly="readonly" required label-width="8rem" class='' readonly clickable name="检查时间" :value="form.preliminaryScreenTime?form.preliminaryScreenTime:''" label="检查时间" placeholder="请选择检查时间"
     input-align="right" :is-link="!readonly">
    </van-field>
  </van-form>
</div>

+ 30 - 54
component/statistics/LascCervicalPreliminaryScreenEntity/index.js

@ -1,5 +1,5 @@
var template = ''
$.ajax('../../../component/statistics/LascCervicalCytologyInspectEntityList/index.html', {
$.ajax('../../../component/statistics/LascCervicalPreliminaryScreenEntity/index.html', {
  data: {},
  dataType: 'html',
  cache: false,
@ -11,78 +11,54 @@ $.ajax('../../../component/statistics/LascCervicalCytologyInspectEntityList/inde
  }
})
Vue.component('lasc-cervical-cytology-inspect-entityList', {
Vue.component('lasc-cervical-preliminary-screen-entity', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      readonly: true,
      readonlyTwo: 1,
      readonly: true,
      isShowPicker: false,
      tbsResultList: [
        '未见上皮内病变细胞和恶性细胞',
        '未明确意义的不典型鳞状上皮细胞(ASC-US)',
        '不典型鳞状上皮细胞-不除外高度鳞状上皮内病变(ASC-H)',
        '低度鳞状上皮内病变(LSIL)',
        '高度鳞状上皮内病变(HSIL)',
        '鳞状细胞癌(SCC)',
        '不典型腺上皮细胞(AGC) ',
        '不典型宫颈管腺细胞倾向瘤变',
        '宫颈管原位癌',
        '腺癌',
        '其他',
        '标本不满意',
        '标本不满意:上皮细胞数目太少',
        '标本不满意:大量炎细胞遮盖'
      ],
      // 			tbsResultList: [
      // 				{dictValue: '未见上皮内病变细胞和恶性细胞', value: 1},
      // 				{dictValue: '未明确意义的不典型鳞状上皮细胞(ASC-US)', value: 2},
      // 				{dictValue: '不典型鳞状上皮细胞-不除外高度鳞状上皮内病变(ASC-H)', value: 3},
      // 				{dictValue: '低度鳞状上皮内病变(LSIL)', value: 4},
      // 				{dictValue: '高度鳞状上皮内病变(HSIL)', value: 5},
      // 				{dictValue: '鳞状细胞癌(SCC)', value: 6},
      // 				{dictValue: '不典型腺上皮细胞(AGC) ', value: 7},
      // 				{dictValue: '不典型宫颈管腺细胞倾向瘤变', value: 8},
      // 				{dictValue: '宫颈管原位癌', value: 9},
      // 				{dictValue: '腺癌', value: 10}
      // 			],
      columns: [],
      pickType: '',
      curItem: '',
      isShowDatePicker: false,
      activeDateField: '',
      date: '',
      // minDate: moment().add(-100, 'year').toDate(),
      minDate: null,
      minDate: moment().add(-100, 'year').toDate(),
      form: {
        screenId: '', //两癌筛查id
        receiveCervicalCarcinomaInspect: 2, //是否接收乳腺临床检查1拒绝2接收
        list: []
      },
      cytoTubeNum: '',
      active: '',
      pdfUrl: '',
      data: {
        value: [{}]
        preliminaryScreenResults: '', //
        preliminaryScreenOrg: docInfo.hospitalName, //检查机构
        preliminaryScreenUser: docInfo.name, //检查人员
        preliminaryScreenTime: '' //检查时间
      }
    }
  },
  methods: {},
  mounted() {
    var vm = this
    this.form.screenId = this.data.screenId
    if (this.data.value && this.data.value.length) {
      var form = JSON.parse(JSON.stringify(this.data.value))
      form.forEach(function (v) {
        v.tbsResult = vm.tbsResultList[Number(v.tbsResult) - 1]
      })
      this.form.list = form
      vm.cytoTubeNum = vm.data.value[0].cytoTubeNum
    if (this.readonly && !this.form.preliminaryScreenOrg) {
      this.form = {
        screenId: '', //两癌筛查id
        preliminaryScreenResults: '', //
        preliminaryScreenOrg: '', //检查机构
        preliminaryScreenUser: '', //检查人员
        preliminaryScreenTime: '' //检查时间
      }
    } else {
      this.form = _.assign(this.form, this.data.value)
      this.form.screenId = this.data.value[0] && this.data.value[0].screenId
    }
    httpRequest
      .get('doctor/twoCancers/getPreliminaryScreenResults', {
        data: {
          screenId: this.form.screenId
        }
      })
      .then(function (ress) {
        vm.form.preliminaryScreenResults = ress.data || '1'
      })
  }
})

+ 4 - 38
component/statistics/LascClinicalExamination/index.js

@ -13,7 +13,7 @@ $.ajax('../../../component/statistics/LascClinicalExamination/index.html', {
Vue.component('lasc-lascClinical-examination', {
  template: template,
  props: [],
  props: ['data'],
  data: function () {
    return {
      form: {
@ -34,45 +34,11 @@ Vue.component('lasc-lascClinical-examination', {
  },
  methods: {},
  mounted() {
    var data = [
      {
        d: 221,
        screenId: '808080f683c9e2570183c9f84cac0000',
        name: null,
        receiveBreastClinicalInspect: '2',
        breastClinicalInspectR: '1',
        breastClinicalInspectOtherR: '',
        breastClinicalInspectL: '1',
        breastClinicalInspectOtherL: '',
        breastClinicalInspectOrg: '集美区集美街道社区卫生服务中心',
        breastClinicalInspectUser: '黄琴',
        breastClinicalInspectTime: '2022-10-12',
        doctor: '361aef4891de492cb0e6a47cf9fe31f3',
        inspectOrgCode: '3502110100',
        inspectUserCode: '361aef4891de492cb0e6a47cf9fe31f3'
      },
      {
        id: 222,
        screenId: '808080f683c9e2570183c9f84cac0000',
        name: null,
        receiveBreastClinicalInspect: '2',
        breastClinicalInspectR: '3',
        breastClinicalInspectOtherR: '',
        breastClinicalInspectL: '1',
        breastClinicalInspectOtherL: '',
        breastClinicalInspectOrg: '集美区集美街道社区卫生服务中心',
        breastClinicalInspectUser: '黄琴',
        breastClinicalInspectTime: '2022-11-04',
        doctor: '361aef4891de492cb0e6a47cf9fe31f3',
        inspectOrgCode: '3502110100',
        inspectUserCode: '361aef4891de492cb0e6a47cf9fe31f3'
      }
    ]
    if (data && data.length) {
      var first = data[0]
    if (this.data.value && this.data.value.length) {
      var first = this.data.value[0]
      this.form.screenId = first.screenId
      this.form.receiveBreastClinicalInspect = first.receiveBreastClinicalInspect
      var form = JSON.parse(JSON.stringify(data))
      var form = JSON.parse(JSON.stringify(this.data.value))
      form.forEach(function (v) {
        v.breastClinicalInspectR = (v.breastClinicalInspectR && v.breastClinicalInspectR.split(',')) || []
        v.breastClinicalInspectL = (v.breastClinicalInspectL && v.breastClinicalInspectL.split(',')) || []

+ 6 - 6
component/statistics/LascProgress/index.js

@ -44,7 +44,7 @@ Vue.component('lasc-progress', {
      tableHeader: [
        { label: '机构', prop: 'gynOrg' },
        { label: '筛查总人数', prop: 'total' },
        { label: '待评估人数', prop: 'status0' },
        // { label: '待评估人数', prop: 'status0' },
        { label: '已评估人数', prop: 'status1' },
        { label: '已评估且管理人数', prop: 'status2' },
        { label: '宫颈待完善乳腺待完善人数', prop: 'status3' },
@ -159,8 +159,8 @@ Vue.component('lasc-progress', {
      this.loading = true
      var params = {
        ...this.form,
        page:this.page,
        size:this.size
        page: this.page,
        size: this.size
      }
      vm.tableData = []
      if (this.chooseTime) {
@ -179,8 +179,8 @@ Vue.component('lasc-progress', {
      var vm = this
      var params = {
        ...this.form,
        page:this.page,
        size:this.size
        page: this.page,
        size: this.size
      }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
@ -236,7 +236,7 @@ Vue.component('lasc-progress', {
        vm.hospitalOptions = res.list
      })
    },
  
    handleCurrentChange(val) {
      this.page = val
      this.searchFn()

+ 151 - 148
component/statistics/breastCancerPatient/index.html

@ -1,154 +1,157 @@
<div id="app" class="jtbc">
  <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">
        <div>乳腺初筛时间:</div>
        <el-date-picker
          v-model="chooseTime"
          type="daterange"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          value-format="yyyy-MM-dd"></el-date-picker>
      </label>
    </div>
  <template v-if="!serviceRecordVisable">
    <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">
          <div>乳腺初筛时间:</div>
          <el-date-picker
            v-model="chooseTime"
            type="daterange"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
            value-format="yyyy-MM-dd"></el-date-picker>
        </label>
      </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">数据范围:</label>
      <el-select class="formWidth" v-model="form.range" placeholder="请选择" @change="resetArea">
        <el-option v-for="(option, index) in rangeOptions" :label="option.label" :value="option.value" :key="option.value"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">地区:</label>
      <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 == '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">
        <label class="c-333 c-f14">数据范围:</label>
        <el-select class="formWidth" v-model="form.range" placeholder="请选择" @change="resetArea">
          <el-option v-for="(option, index) in rangeOptions" :label="option.label" :value="option.value" :key="option.value"></el-option>
        </el-select>
      </div>
      <div class="searchDiv pb20 pr20">
        <label class="c-333 c-f14">地区:</label>
        <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 == '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">
      <el-button type="primary" size="mini" @click="queryDate">查询</el-button>
      <el-button type="ff9526" size="mini" @click="exportTable" :disabled="exportLoading">导出</el-button>
      <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
      <div class="searchDiv pb20">
        <el-button type="primary" size="mini" @click="queryDate">查询</el-button>
        <el-button type="ff9526" size="mini" @click="exportTable" :disabled="exportLoading">导出</el-button>
        <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
      </div>
    </div>
  </div>
  <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="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="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="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="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="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="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="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="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="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 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="cduOrg" label="机构名称" align="center"></el-table-column>
        <el-table-column label="筛查人数" align="center">
          <template slot-scope="scope">
            <span class="pointer c-409eff" @click="openDialog(scope.row, 'screenTotal')">{{scope.row['screenTotal']}}</span>
          </template>
        </el-table-column>
        <el-table-column label="结案人数" align="center">
          <template slot-scope="scope">
            <span class="pointer c-409eff" @click="openDialog(scope.row, 'endNum')">{{scope.row['endNum']}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="cduCompleteNum" label="乳腺超声已完成人数" align="center">
          <template slot-scope="scope">
            <span class="pointer c-409eff" @click="openDialog(scope.row, 'cduCompleteNum')">{{scope.row['cduCompleteNum']}}</span>
          </template>
        </el-table-column>
        <!-- 动态生成的列 -->
        <el-table-column v-for="(group, groupIndex) in tableHeaderGroups" :key="'group-'+groupIndex" :label="group.label" align="center">
          <el-table-column v-for="(col, colIndex) in group.children" :key="'col-'+colIndex" :prop="col.prop" :label="col.label" align="center" :min-width="col.width">
            <template slot-scope="scope">
              <span class="pointer c-409eff" @click="openDialog(scope.row, col.prop)">{{scope.row[col.prop]}}</span>
            </template>
          </el-table-column>
        </el-table-column>
      </template>
    </el-table>
    <el-pagination
      @current-change="handleCurrentChange"
      @size-change="handleSizeChange"
      :current-page.sync="page"
      :page-size="size"
      :page-sizes="[10, 20, 50]"
      layout="total, sizes, prev, pager, next, jumper"
      :total="total"
      class="pagination"></el-pagination>
      <el-table-column label="治疗情况" align="center">
        <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="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>
  <el-pagination
    @current-change="handleCurrentChange"
    @size-change="handleSizeChange"
    :current-page.sync="page"
    :page-size="size"
    :page-sizes="[10, 20, 50]"
    layout="total, sizes, prev, pager, next, jumper"
    :total="total"
    class="pagination"></el-pagination>
    <el-dialog :visible.sync="visible" title="个案数据列表" @close="closeDialog" width="1200px">
      <el-form inline size="mini">
        <el-form-item label="居民姓名:">
          <el-input v-model="query.name" placeholder="请输入居民姓名查询"></el-input>
        </el-form-item>
        <el-form-item label="手机号码:">
          <el-input v-model="query.mobile" placeholder="请输入手机号码"></el-input>
        </el-form-item>
        <el-form-item label="证件号码:">
          <el-input v-model="query.idcard" placeholder="请输入证件号码查询"></el-input>
        </el-form-item>
        <el-form-item label="个人筛查状态:">
          <el-select v-model="query.status">
            <el-option label="全部" value=""></el-option>
            <el-option label="待评估" value="0"></el-option>
            <el-option label="已评估" value="1"></el-option>
            <el-option label="已评估且管理" value="2"></el-option>
            <el-option label="宫颈待完善乳腺待完善" value="3"></el-option>
            <el-option label="宫颈待完善乳腺完成筛查" value="4"></el-option>
            <el-option label="宫颈完成筛查乳腺待完善" value="5"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="数据范围:">
          <el-select v-model="form.range" disabled>
            <el-option v-for="item in rangeOptions" :value="item.value" :label="item.label" :key="item.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="地区:" v-if="form.range == 'town'">
          <el-select v-model="form.area" disabled>
            <el-option v-for="(option, index) in dataRangeOption" :label="option.label" :value="option.value" :key="option.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="社区:" v-if="form.range == 'hospital'">
          <el-select v-model="form.hospital" disabled>
            <el-option v-for="(option, index) in dataRangeOption" :label="option.label" :value="option.value" :key="option.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="团队:" v-if="form.range == 'team'">
          <el-select v-model="form.team" disabled>
            <el-option v-for="(option, index) in dataRangeOption" :label="option.label" :value="option.value" :key="option.value"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="dialogSearchFn">查询</el-button>
          <el-button type="warning" @click="dialogExportFn" :disabled="dialogExportLoading">导出</el-button>
          <span @click="dialogResetFn" style="color: #676a6c; cursor: pointer">清除筛选条件</span>
        </el-form-item>
      </el-form>
      <el-table :data="dialogTableData" border v-loading="dialogLoading">
        <el-table-column type="index" label="序号"></el-table-column>
        <el-table-column v-for="item in dialogHeader" :label="item.label" :prop="item.prop" :key="item.prop">
          <template slot-scope="scope">
            <span>{{scope.row[item.prop]}}</span>
          </template>
        </el-table-column>
        <el-table-column label="操作">
          <template slot-scope="scope">
            <el-button type="text" @click="gotoService(scope.row)">查看服务记录</el-button>
          </template>
        </el-table-column>
      </el-table>
      <div style="display: flex; justify-content: flex-end; margin-top: 10px">
        <el-pagination
          @current-change="handleCurrentChange1"
          @size-change="handleSizeChange1"
          :current-page.sync="query.page"
          :page-size="query.size"
          :page-sizes="[10, 20, 50]"
          layout="total, sizes, prev, pager, next, jumper"
          :total="query.total"></el-pagination>
      </div>
    </el-dialog>
  </template>
  <template v-if="serviceRecordVisable">
    <Copd-service-record-patient :patient="currentEditData" @back="back"></Copd-service-record-patient>
  </template>
</div>

+ 236 - 20
component/statistics/breastCancerPatient/index.js

@ -18,6 +18,9 @@ Vue.component('breast-cancer-patient', {
    return {
      years: [],
      dialogVisible: true,
      serviceRecordVisable: false,
      currentEditData: '',
      dialogExportLoading: false,
      yearType: '1',
      chooseYear: null,
      chooseTime: null,
@ -36,16 +39,31 @@ Vue.component('breast-cancer-patient', {
      ],
      hospitalOptions: [],
      teamOptions: [],
      dialogTableData: [],
      dialogHeader: [
        { label: '居民姓名', prop: 'name', width: '100' },
        { label: '证件号码', prop: 'idcard', width: '100' },
        { label: '手机号', prop: 'mobile', width: '110' },
        { label: '年龄', prop: 'age', width: '90' },
        { label: '出生日期', prop: 'birthday', width: '90' },
        { label: '常驻地址', prop: 'address', width: '100' },
        { label: '个人筛查状态', prop: 'statusName', width: '100' }
      ],
      form: {
        range: '1'
      },
      query: {
        page: 1,
        size: 10,
        total: 0
      },
      loading: false,
      exportLoading: false,
      tableData: [],
      visible: false,
      tableHeader: [
        { label: '居民姓名', prop: 'name', width: '100' },
        { label: '证件号码', prop: 'idcard', width: '100' },
        { label: '手机号', prop: 'mobile', width: '110' },
        { label: '年龄', prop: 'age', width: '90' },
        { label: '出生日期', prop: 'birthday', width: '90' },
@ -72,14 +90,144 @@ Vue.component('breast-cancer-patient', {
        { label: '宫颈评估状态', prop: 'screenNum', width: '110' },
        { label: '宫颈评估人群', prop: 'screenResult', width: '130' }
      ],
      loadingTwo: false,
      page: 1,
      size: 10,
      total: 0,
      level: 0
      level: 0,
      tableHeaderGroups: [
        {
          label: '基本信息',
          children: [
            { prop: 'infoCompleteNum', label: '完善' },
            { prop: 'basquelouNum', label: '缺漏' }
          ]
        },
        {
          label: '乳腺临床检查',
          children: [
            { prop: 'clicheckNum', label: '检查人数' },
            { prop: 'clijujueNum', label: '拒绝' },
            { prop: 'cliyicongNum', label: '依从' },
            { prop: 'cliquelouNum', label: '缺漏' }
          ]
        },
        {
          label: '乳腺超声检查',
          children: [
            { prop: 'total', label: '检查人数' },
            { prop: 'jujueNum', label: '拒绝' },
            { prop: 'yicongNum', label: '依从' },
            { prop: 'quelouNum', label: '缺漏' }
          ]
        },
        {
          label: '乳腺超声检查BI-RADS分级',
          children: [
            { prop: 'cduBiRads0', label: '0级' },
            { prop: 'cduBiRads1', label: '1级' },
            { prop: 'cduBiRads2', label: '2级' },
            { prop: 'cduBiRads3', label: '3级' },
            { prop: 'cduBiRads4a', label: '4a级' },
            { prop: 'cduBiRads4b', label: '4b级' },
            { prop: 'cduBiRads4c', label: '4c级' },
            { prop: 'cduBiRads05', label: '5级' },
            { prop: 'cduHeji', label: '合计' }
          ]
        },
        {
          label: '乳腺钼靶检查',
          children: [
            { prop: 'molycNum', label: '应查人数' },
            { prop: 'molyicongNum', label: '依从' },
            { prop: 'moljujueNum', label: '拒绝' },
            { prop: 'mollostNum', label: '失访' },
            { prop: 'molycNum1', label: '检查率' },
            { prop: 'molycNum2', label: '待完成人数' }
          ]
        },
        {
          label: '乳腺钼靶检查BI-RADS分级',
          children: [
            { prop: 'molBiRads0', label: '0级' },
            { prop: 'molBiRads1', label: '1级' },
            { prop: 'molBiRads2', label: '2级' },
            { prop: 'molBiRads3', label: '3级' },
            { prop: 'molBiRads4a', label: '4a级' },
            { prop: 'molBiRads4b', label: '4b级' },
            { prop: 'molBiRads4c', label: '4c级' },
            { prop: 'molBiRads5', label: '5级' },
            { prop: 'molBiRads6', label: '不详' },
            { prop: 'molHeji', label: '合计' }
          ]
        },
        {
          label: '乳腺病理检查\n乳腺病理学监测情况',
          children: [
            { prop: 'needCheckNum', label: '应查人数' },
            { prop: 'checkedNum', label: '已查人数' },
            { prop: 'patjujueNum', label: '拒诊人数' },
            { prop: 'lostNum', label: '失访人数' },
            { prop: 'rate1', label: '病理检查率' }
          ]
        },
        {
          label: '乳腺癌检出情况',
          children: [
            { prop: 'type4', label: '小叶原位癌人数' },
            { prop: 'type3', label: '导管原位癌人数' },
            { prop: 'type1', label: '浸润性导管癌人数' },
            { prop: 'type2', label: '浸润性小叶癌人数' },
            { prop: 'type6', label: '其他恶性肿瘤人数' },
            { prop: 'type7', label: '不详人数' },
            { prop: 'hejiNum', label: '合计人数' },
            { prop: 'rate2', label: '乳腺癌检出率' }
          ]
        },
        {
          label: 'TNM分期',
          children: [
            { prop: 'TNM0', label: '0期' },
            { prop: 'TNM1', label: '1期' },
            { prop: 'TNM2a', label: 'IIA期' },
            { prop: 'TNM2b', label: 'IIB期' },
            { prop: 'TNM3up', label: 'III期以上' },
            { prop: 'TNMbuxiang', label: '不详' },
            { prop: 'rate3', label: '获得TNM分期比率' },
            { prop: 'rate4', label: '乳腺癌早诊率' }
          ]
        },
        {
          label: '治疗情况',
          children: [
            { prop: 'num1', label: '应治疗人数' },
            { prop: 'yzlNum', label: '已治疗人数' },
            { prop: 'jzOrLostNum', label: '拒诊治疗或失访人数' },
            { prop: 'rate5', label: '早治率' }
          ]
        },
        {
          label: '乳腺癌风险人群',
          children: [
            { prop: 'label1', label: '一般风险' },
            { prop: 'label2', label: '高风险' },
            { prop: 'labelWait', label: '待评估' },
            { prop: 'rate6', label: '高风险人群比例' }
          ]
        }
      ],
      dialogLoading: false
    }
  },
  methods: {
    toUrl() {},
    back() {
      this.currentEditData = ''
      this.serviceRecordVisable = false
    },
    gotoService(item) {
      this.currentEditData = item.patient
      this.serviceRecordVisable = true
    },
    init() {
      var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
      if (selectedRole.code.indexOf('350200') > -1) {
@ -145,8 +293,8 @@ Vue.component('breast-cancer-patient', {
      this.loading = true
      var params = {
        ...this.form,
        page:this.page,
        size:this.size
        page: this.page,
        size: this.size
      }
      vm.tableData = []
      if (this.chooseTime) {
@ -171,8 +319,8 @@ Vue.component('breast-cancer-patient', {
    exportTable() {
      var params = {
        ...this.form,
        page:this.page,
        size:this.size
        page: this.page,
        size: this.size
      }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
@ -235,6 +383,7 @@ Vue.component('breast-cancer-patient', {
        vm.teamOptions = vm.teamOptions.concat(res.data)
      })
    },
    handleCurrentChange(val) {
      this.page = val
      this.getList()
@ -243,20 +392,87 @@ Vue.component('breast-cancer-patient', {
      this.size = val
      this.getList()
    },
    openDialog(scope) {
      layer.open({
        type: 2,
        //				  offset: ['100px'], //右下角弹出
        area: ['568px', '100%'],
        shade: 0.5,
        title: '查看筛选结果',
        fixed: true, //不固定
        maxmin: true,
        closeBtn: 1,
        shift: 5,
        shadeClose: false, //点击遮罩关闭层
        content: `../../jbsc/html/view_screening_results.html?resultCode=${scope.row.code}&opt=1`
    openDialog(scope, prop) {
      var vm = this
      vm.dialogLoading = true
      this.query.type = 'r_' + prop
      var params = {
        ...this.query,
        range: (this.form && this.form.range) || '',
        town: (this.form && this.form.town) || ''
      }
      vm.dialogTableData = []
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      delete params.total
      httpRequest.get('doctor/twoCancers/count/caseDataList', { data: params }).then(function (res) {
        vm.dialogTableData = res.detailModelList
        vm.query.total = res.totalCount
        vm.visible = true
        vm.dialogLoading = false
      })
    },
    caseDataList() {
      var vm = this
      vm.dialogLoading = true
      var params = {
        ...this.query,
        range: (this.form && this.form.range) || '',
        town: (this.form && this.form.town) || '',
        hospital: (this.form && this.form.hospital) || ''
      }
      vm.dialogTableData = []
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      delete params.total
      httpRequest.get('doctor/twoCancers/count/caseDataList', { data: params }).then(function (res) {
        vm.dialogTableData = res.detailModelList
        vm.query.total = res.totalCount
        vm.dialogLoading = false
      })
    },
    closeDialog() {},
    dialogSearchFn() {
      this.caseDataList()
    },
    handleCurrentChange1(val) {
      this.query.page = val
      this.caseDataList()
    },
    handleSizeChange1(val) {
      this.query.size = val
      this.caseDataList()
    },
    dialogExportFn() {
      var vm = this
      this.dialogExportLoading = true
      var params = {
        ...this.query,
        range: (this.form && this.form.range) || '',
        town: (this.form && this.form.town) || '',
        hospital: (this.form && this.form.hospital) || ''
      }
      if (this.chooseTime) {
        params.startTime = this.chooseTime[0]
        params.endTime = this.chooseTime[1]
      }
      var fileName = `个案数据列表${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('doctor/twoCancers/count/exportCaseDataList', fileName, params).then(function () {
        vm.dialogExportLoading = false
      })
    },
    dialogResetFn() {
      this.query = {
        page: 1,
        size: 10,
        total: 0
      }
      this.caseDataList()
    }
  },
  mounted() {