Browse Source

修改bug

542372506@qq.com 1 day ago
parent
commit
d351fe0c38
36 changed files with 670 additions and 293 deletions
  1. 3 3
      app/rehabilitation/html/followRecord.html
  2. 3 3
      component/statistics/FollowRecord/index.html
  3. 2 2
      component/statistics/LascBreastCduInspectEntityList/index.html
  4. 142 0
      component/statistics/LascBreastCduInspectEntityList/index.js
  5. 1 1
      component/statistics/LascBreastFollowUp/index.html
  6. 16 8
      component/statistics/LascBreastFollowUp/index.js
  7. 3 3
      component/statistics/LascBreastMolybdenumInspectList/index.html
  8. 17 0
      component/statistics/LascBreastMolybdenumInspectList/index.js
  9. 1 1
      component/statistics/LascBreastPathologyInspectEntityList/index.html
  10. 45 37
      component/statistics/LascBreastPathologyInspectEntityList/index.js
  11. 11 3
      component/statistics/LascBreastSurgeryInspectEntity/index.js
  12. 10 10
      component/statistics/LascBreastTreatInfo/index.html
  13. 19 10
      component/statistics/LascBreastTreatInfo/index.js
  14. 7 11
      component/statistics/LascCervical/index.html
  15. 12 1
      component/statistics/LascCervical/index.js
  16. 2 2
      component/statistics/LascCervicalColposcopyEntityList/index.html
  17. 10 2
      component/statistics/LascCervicalColposcopyEntityList/index.js
  18. 22 14
      component/statistics/LascCervicalColposcopyFollowup/index.js
  19. 2 2
      component/statistics/LascCervicalCytologyInspectEntityList/index.html
  20. 18 10
      component/statistics/LascCervicalCytologyInspectEntityList/index.js
  21. 82 36
      component/statistics/LascCervicalFinalDiagnosisEntity/index.js
  22. 3 3
      component/statistics/LascCervicalGynecologicalExaminationEntityList/index.html
  23. 30 22
      component/statistics/LascCervicalGynecologicalExaminationEntityList/index.js
  24. 22 14
      component/statistics/LascCervicalHistopathologyFollowup/index.js
  25. 2 2
      component/statistics/LascCervicalHpvEntityList/index.html
  26. 32 23
      component/statistics/LascCervicalHpvEntityList/index.js
  27. 2 2
      component/statistics/LascCervicalPathologicalExaminationList/index.html
  28. 26 18
      component/statistics/LascCervicalPathologicalExaminationList/index.js
  29. 32 1
      component/statistics/LascCervicalPreliminaryScreenEntity/index.js
  30. 2 2
      component/statistics/LascClinicalExamination/index.html
  31. 19 0
      component/statistics/LascClinicalExamination/index.js
  32. 15 6
      component/statistics/LascPatient/index.js
  33. 10 14
      component/statistics/LascProgress/index.html
  34. 13 1
      component/statistics/LascProgress/index.js
  35. 7 11
      component/statistics/breastCancerPatient/index.html
  36. 27 15
      component/statistics/breastCancerPatient/index.js

+ 3 - 3
app/rehabilitation/html/followRecord.html

@ -50,13 +50,13 @@
        <div class="question-box">
          <el-form label-position="left" label-width="120px">
            <el-form-item label="姓名" required>
              <el-input v-model="form.patientName" placeholder="请输入姓名" :readonly="true"></el-input>
              <el-input v-model="form.patientName" placeholder="请输入姓名" :readonly="readonly"></el-input>
            </el-form-item>
            <el-form-item label="随访日期" required>
              <el-date-picker v-model="form.followupDate" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="请选择随访日期"></el-date-picker>
            </el-form-item>
            <el-form-item label="随访医生" required>
              <el-input v-model="form.doctorName" placeholder="请输入随访医生" :readonly="true"></el-input>
              <el-input v-model="form.doctorName" placeholder="请输入随访医生" :readonly="readonly"></el-input>
            </el-form-item>
            <el-form-item label="血压" required>
              <el-row :gutter="10" style="display: flex">
@ -123,7 +123,7 @@
              </el-radio-group>
            </el-form-item>
            <el-form-item label="随访医院" required>
              <el-input v-model="form.followHospital" placeholder="请输入随访医院" :readonly="true"></el-input>
              <el-input v-model="form.followHospital" placeholder="请输入随访医院" :readonly="readonly"></el-input>
            </el-form-item>
          </el-form>
        </div>

+ 3 - 3
component/statistics/FollowRecord/index.html

@ -92,13 +92,13 @@
    </el-row>
    <el-form label-position="left" label-width="120px" class="follow-dialog-form">
      <el-form-item label="姓名" required>
        <el-input v-model="record.patientName" placeholder="请输入姓名" :readonly="true"></el-input>
        <el-input v-model="record.patientName" placeholder="请输入姓名" :readonly="readonly"></el-input>
      </el-form-item>
      <el-form-item label="随访日期" required>
        <el-date-picker v-model="record.followupDate" type="datetime" format="yyyy-MM-dd HH:mm" value-format="yyyy-MM-dd HH:mm" placeholder="请选择随访日期"></el-date-picker>
      </el-form-item>
      <el-form-item label="随访医生" required>
        <el-input v-model="record.doctorName" placeholder="请输入随访医生" :readonly="true"></el-input>
        <el-input v-model="record.doctorName" placeholder="请输入随访医生" :readonly="readonly"></el-input>
      </el-form-item>
      <el-form-item label="血压" required>
        <el-row :gutter="10" style="display: flex">
@ -165,7 +165,7 @@
        </el-radio-group>
      </el-form-item>
      <el-form-item label="随访医院" required>
        <el-input v-model="record.followHospital" placeholder="请输入随访医院" :readonly="true"></el-input>
        <el-input v-model="record.followHospital" placeholder="请输入随访医院" :readonly="readonly"></el-input>
      </el-form-item>
    </el-form>
  </el-dialog>

+ 2 - 2
component/statistics/LascBreastCduInspectEntityList/index.html

@ -339,7 +339,7 @@
          </div>
        </van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          clearable
@ -349,7 +349,7 @@
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          clearable

+ 142 - 0
component/statistics/LascBreastCduInspectEntityList/index.js

@ -40,7 +40,148 @@ Vue.component('lasc-breast-cduInspect-entity-list', {
    }
  },
  methods: {},
  watch: {
    data: {
      handler(newVal, oldVal) {
         
        if (this.data.value && this.data.value.length) {
          var first = this.data.value[0]
          this.form.screenId = first.screenId
          this.form.receiveBreastUltrasoundInspect = first.receiveBreastUltrasoundInspect
          var formData = JSON.parse(JSON.stringify(this.data.value))
          formData.forEach(function (v) {
            var left = { boxShow: false, name: '左乳' },
              right = { boxShow: false, name: '右乳' }
            for (var k in v) {
              if (k.indexOf('right') === 0) {
                right[k] = v[k]
                if (k == 'rightCduSolidMassMaxSize') {
                  if (!isStrEmpty(v[k])) {
                    var m = v[k].split('*')
                    right['minSize'] = isStrEmpty(m[0]) ? '' : Number(m[0])
                    right['middleSize'] = isStrEmpty(m[1]) ? '' : Number(m[1])
                    right['maxSize'] = isStrEmpty(m[2]) ? '' : Number(m[2])
                  } else {
                    right['minSize'] = ''
                    right['middleSize'] = ''
                    right['maxSize'] = ''
                  }
                }
                if (k == 'rightCystSize') {
                  if (!isStrEmpty(v[k])) {
                    var m = v[k].split('*')
                    right['rightCystMinSize'] = isStrEmpty(m[0]) ? '' : Number(m[0])
                    right['rightCystMiddleSize'] = isStrEmpty(m[1]) ? '' : Number(m[1])
                    right['rightCystMaxSize'] = isStrEmpty(m[2]) ? '' : Number(m[2])
                  } else {
                    right['rightCystMinSize'] = ''
                    right['rightCystMiddleSize'] = ''
                    right['rightCystMaxSize'] = ''
                  }
                }
                if (k == 'rightCduIrregularHypoechoicSize') {
                  if (!isStrEmpty(v[k])) {
                    var m = v[k].split('*')
                    right['rightCduIrregularMinSize'] = isStrEmpty(m[0]) ? '' : Number(m[0])
                    right['rightCduIrregularMiddleSize'] = isStrEmpty(m[1]) ? '' : Number(m[1])
                    right['rightCduIrregularMaxSize'] = isStrEmpty(m[2]) ? '' : Number(m[2])
                  } else {
                    right['rightCduIrregularMinSize'] = ''
                    right['rightCduIrregularMiddleSize'] = ''
                    right['rightCduIrregularMaxSize'] = ''
                  }
                }
                if (k == 'rightCduIrregularHypoechoicPosition') {
                  right[k] = right[k] ? right[k].split(',') : []
                }
                if (k == 'rightCduSolidMassBloodDistribution') {
                  right[k] = right[k] ? right[k].split(',') : []
                }
                if (k == 'rightCduCystType') {
                  right[k] = right[k] ? right[k].split(',') : []
                }
                if (k == 'rightCduCyst') {
                  right[k] = right[k] ? right[k].split(',') : []
                }
                if (k == 'rightCduOtherAbnormal') {
                  right[k] = right[k] ? right[k].split(',') : []
                }
                if (k == 'rightDuctDilationLocation') {
                  right[k] = right[k] ? right[k].split(',') : []
                }
              } else if (k.indexOf('left') === 0) {
                left['right' + k.substring(4)] = v[k]
                if (k == 'leftCduSolidMassMaxSize') {
                  if (!isStrEmpty(v[k])) {
                    var m = v[k].split('*')
                    left['minSize'] = isStrEmpty(m[0]) ? '' : Number(m[0])
                    left['middleSize'] = isStrEmpty(m[1]) ? '' : Number(m[1])
                    left['maxSize'] = isStrEmpty(m[2]) ? '' : Number(m[2])
                  } else {
                    left['minSize'] = ''
                    left['middleSize'] = ''
                    left['maxSize'] = ''
                  }
                }
                if (k == 'leftCystSize') {
                  if (!isStrEmpty(v[k])) {
                    var m = v[k].split('*')
                    left['rightCystMinSize'] = isStrEmpty(m[0]) ? '' : Number(m[0])
                    left['rightCystMiddleSize'] = isStrEmpty(m[1]) ? '' : Number(m[1])
                    left['rightCystMaxSize'] = isStrEmpty(m[2]) ? '' : Number(m[2])
                  } else {
                    left['rightCystMinSize'] = ''
                    left['rightCystMiddleSize'] = ''
                    left['rightCystMaxSize'] = ''
                  }
                }
                if (k == 'leftCduIrregularHypoechoicSize') {
                  if (!isStrEmpty(v[k])) {
                    var m = v[k].split('*')
                    left['rightCduIrregularMinSize'] = isStrEmpty(m[0]) ? '' : Number(m[0])
                    left['rightCduIrregularMiddleSize'] = isStrEmpty(m[1]) ? '' : Number(m[1])
                    left['rightCduIrregularMaxSize'] = isStrEmpty(m[2]) ? '' : Number(m[2])
                  } else {
                    left['rightCduIrregularMinSize'] = ''
                    left['rightCduIrregularMiddleSize'] = ''
                    left['rightCduIrregularMaxSize'] = ''
                  }
                }
                if (k == 'leftCduIrregularHypoechoicPosition') {
                  left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : []
                }
                if (k == 'leftCduSolidMassBloodDistribution') {
                  left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : []
                }
                if (k == 'leftCduOtherAbnormal') {
                  left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : []
                }
                if (k == 'leftCduCystType') {
                  left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : []
                }
                if (k == 'leftCduCyst') {
                  left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : []
                }
                if (k == 'leftDuctDilationLocation') {
                  left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : []
                }
                // if(k=="leftCduSolidMassMaxSize") {
                // 	left["right"+ k.substring(4)] = left["right"+ k.substring(4)].split(',')
                // }
              }
            }
            v.breastList = [right, left]
          })
          this.form.list = formData
          this.cytoTubeNum = first.cytoTubeNum ? first.cytoTubeNum : ''
          console.log(this.form, 'lkkkkkkkkkkkkkkkkkkkkkkkkkkkk')
        }
      },
      deep: true
    }
  },
  mounted() {
   
    if (this.data.value && this.data.value.length) {
      var first = this.data.value[0]
      this.form.screenId = first.screenId
@ -173,5 +314,6 @@ Vue.component('lasc-breast-cduInspect-entity-list', {
      this.cytoTubeNum = first.cytoTubeNum ? first.cytoTubeNum : ''
      console.log(this.form, 'lkkkkkkkkkkkkkkkkkkkkkkkkkkkk')
    }
    console.log('1111111111111111111',this)
  }
})

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

@ -133,7 +133,7 @@
    <template>
      <van-field
        :readonly="true"
        :readonly="readonly"
        required
        label-width="8rem"
        clearable

+ 16 - 8
component/statistics/LascBreastFollowUp/index.js

@ -58,14 +58,22 @@ Vue.component('lasc-breast-followUp', {
    }
  },
  methods: {},
  mounted() {
    if (this.data.value && this.data.value.length && this.data.value[0].id) {
      var first = this.data.value[0]
      this.form.screenId = first.screenId
      this.form.id = first.id ? first.id : ''
      first.reviewValue = first.reviewValue ? first.reviewValue.split(',') : ''
      this.show = false
      this.form = first
  watch:{
    data: {
      handler(newVal, oldVal) {
        if (this.data.value && this.data.value.length && this.data.value[0].id) {
          var first = this.data.value[0]
          this.form.screenId = first.screenId
          this.form.id = first.id ? first.id : ''
          first.reviewValue = first.reviewValue ? first.reviewValue.split(',') : ''
          this.show = false
          this.form = first
        }
      },
      deep: true
    }
  },
  mounted() {
   
  }
})

+ 3 - 3
component/statistics/LascBreastMolybdenumInspectList/index.html

@ -1,8 +1,8 @@
<div id="app">
  <van-form class="mt10">
  <van-form >
    <van-field :readonly="readonly" required label-width="4rem" class="" name="是否拒检" label="是否拒检" input-align="right">
      <div slot="input">
        <van-radio-group :disabled="readonly" v-model="form.receiveBreastMolybdenum" direction="horizontal" @change="change">
        <van-radio-group :disabled="readonly" v-model="form.receiveBreastMolybdenum" direction="horizontal" >
          <van-radio name="1" class="top2">拒绝检查</van-radio>
          <van-radio name="2" class="top2">依从</van-radio>
          <van-radio name="3" class="top2">拒绝随访</van-radio>
@ -178,7 +178,7 @@
          placeholder="请输入随访机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          clearable

+ 17 - 0
component/statistics/LascBreastMolybdenumInspectList/index.js

@ -42,6 +42,23 @@ Vue.component('lasc-breast-molybdenum-inspect-list', {
    }
  },
  methods: {},
  watch: {
    data: {
      handler(newVal, oldVal) {
        if (this.data.value && this.data.value.length && this.data.value[0].id) {
          var first = this.data.value[0]
          this.form.screenId = first.screenId
          this.form.receiveBreastMolybdenum = first.receiveBreastMolybdenum
          this.form.receiveBreastMolybdenumOther = first.receiveBreastMolybdenumOther
          this.form.refusalReason = first.refusalReason ? first.refusalReason.split(',') : []
          this.form.refusalReasonOtherContent = first.refusalReasonOtherContent
          this.form.list = this.data.value
          this.mbTubeNum = first.mbTubeNum ? first.mbTubeNum : ''
        }
      },
      deep: true
    }
  },
  mounted() {
    if (this.data.value && this.data.value.length && this.data.value[0].id) {
      var first = this.data.value[0]

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

@ -168,7 +168,7 @@
            </div>
          </van-field>
          <van-field
            :readonly="true"
            :readonly="readonly"
            required
            label-width="8rem"
            clearable

+ 45 - 37
component/statistics/LascBreastPathologyInspectEntityList/index.js

@ -27,7 +27,7 @@ Vue.component('lasc-breast-pathology-inspect-entity-list', {
      isShowOrgsPicker: false,
      activeDateField: '',
      date: '',
      sort:0,
      form: {
        screenId: '', //两癌筛查id
        receivePathologicalExamination: '2', //是否接收乳腺临床检查1拒绝2接收
@ -51,44 +51,52 @@ Vue.component('lasc-breast-pathology-inspect-entity-list', {
      return _.difference(field, excludes)
    }
  },
  created() {
    var vm = this
    if (this.data.value && this.data.value.length && this.data.value[0].id) {
      var first = this.data.value[0]
      this.form.screenId = first.screenId
      this.form.id = first.id ? first.id : ''
      this.form.receivePathologicalExamination = first.receivePathologicalExamination
      this.form.refusePathologicalExaminationReason = first.refusePathologicalExaminationReason
      this.form.breastPathologyRefusalReason = first.breastPathologyRefusalReason ? first.breastPathologyRefusalReason.split(',') : []
      this.form.breastPathologyRefusalReasonContent = first.breastPathologyRefusalReasonContent
      this.form.pathologicalExamTime = first.pathologicalExamTime
      var formData = JSON.parse(JSON.stringify(this.data.value))
      formData.forEach(function (v) {
        var left = { boxShow: false, name: '左乳' },
          right = { boxShow: false, name: '右乳' }
        for (var k in v) {
          if (k.indexOf('right') === 0) {
            right[k] = v[k]
            if (k == 'rightPathologicalBiopsyMethod') {
              right[k] = right[k] ? right[k].split(',') : []
            }
            if (k == 'rightPathologicalMalignanciesType') {
              right[k] = right[k] ? right[k].split(',') : []
            }
          } else if (k.indexOf('left') === 0) {
            left['right' + k.substring(4)] = v[k]
            if (k == 'leftPathologicalBiopsyMethod') {
              left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : ''
  watch:{
    data: {
      handler(newVal, oldVal) {
        var vm = this
        if (this.data.value && this.data.value.length && this.data.value[0].id) {
          var first = this.data.value[0]
          this.form.screenId = first.screenId
          this.form.id = first.id ? first.id : ''
          this.form.receivePathologicalExamination = first.receivePathologicalExamination
          this.form.refusePathologicalExaminationReason = first.refusePathologicalExaminationReason
          this.form.breastPathologyRefusalReason = first.breastPathologyRefusalReason ? first.breastPathologyRefusalReason.split(',') : []
          this.form.breastPathologyRefusalReasonContent = first.breastPathologyRefusalReasonContent
          this.form.pathologicalExamTime = first.pathologicalExamTime
          var formData = JSON.parse(JSON.stringify(this.data.value))
          formData.forEach(function (v) {
            var left = { boxShow: false, name: '左乳' },
              right = { boxShow: false, name: '右乳' }
            for (var k in v) {
              if (k.indexOf('right') === 0) {
                right[k] = v[k]
                if (k == 'rightPathologicalBiopsyMethod') {
                  right[k] = right[k] ? right[k].split(',') : []
                }
                if (k == 'rightPathologicalMalignanciesType') {
                  right[k] = right[k] ? right[k].split(',') : []
                }
              } else if (k.indexOf('left') === 0) {
                left['right' + k.substring(4)] = v[k]
                if (k == 'leftPathologicalBiopsyMethod') {
                  left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : ''
                }
                if (k == 'leftPathologicalMalignanciesType') {
                  left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : ''
                }
              }
            }
            if (k == 'leftPathologicalMalignanciesType') {
              left['right' + k.substring(4)] = left['right' + k.substring(4)] ? left['right' + k.substring(4)].split(',') : ''
            }
          }
            v.breastList = [right, left]
            v.pathologicalExaminationDiagnosisOrgPick = vm.getPathologicalExaminationDiagnosisOrg(v.pathologicalExaminationDiagnosisOrg)
          })
          this.form.list = formData
        }
        v.breastList = [right, left]
        v.pathologicalExaminationDiagnosisOrgPick = vm.getPathologicalExaminationDiagnosisOrg(v.pathologicalExaminationDiagnosisOrg)
      })
      this.form.list = formData
      },
      deep: true
    }
  },
  created() {
    
  }
})

+ 11 - 3
component/statistics/LascBreastSurgeryInspectEntity/index.js

@ -38,9 +38,17 @@ Vue.component('lasc-breast-surgery-inspect-entity', {
    }
  },
  methods: {},
  watch:{
    data: {
      handler(newVal, oldVal) {
        var form = JSON.parse(JSON.stringify(this.data.value))
        form.surgicalClinicTreatmentSuggestions = (form.surgicalClinicTreatmentSuggestions && form.surgicalClinicTreatmentSuggestions.split(',')) || []
        this.form = _.assign(this.form, form)
      },
      deep: true
    }
  },
  mounted() {
    var form = JSON.parse(JSON.stringify(this.data.value))
    form.surgicalClinicTreatmentSuggestions = (form.surgicalClinicTreatmentSuggestions && form.surgicalClinicTreatmentSuggestions.split(',')) || []
    this.form = _.assign(this.form, form)
    
  }
})

+ 10 - 10
component/statistics/LascBreastTreatInfo/index.html

@ -116,7 +116,7 @@
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="8rem" name="术前分期" label="术前分期" input-align="right">
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="8rem" name="术前分期" label="术前分期" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opFront" direction="horizontal">
                <van-radio name="0">0期</van-radio>
@ -163,7 +163,7 @@
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="8rem" name="术后分期" label="术后分期" input-align="right">
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="8rem" name="术后分期" label="术后分期" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.opAfter" direction="horizontal">
                <van-radio name="0">0期</van-radio>
@ -178,7 +178,7 @@
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(ER)" label="免疫组织化学结果(ER)" input-align="right">
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(ER)" label="免疫组织化学结果(ER)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsErUnknown" direction="horizontal">
                <van-radio name="0" class="top2">百分比</van-radio>
@ -201,7 +201,7 @@
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(PR)" label="免疫组织化学结果(PR)" input-align="right">
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(PR)" label="免疫组织化学结果(PR)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsPrUnknown" direction="horizontal">
                <van-radio name="0" class="top2">百分比</van-radio>
@ -223,7 +223,7 @@
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(HER2)" label="免疫组织化学结果(HER2)" input-align="right">
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(HER2)" label="免疫组织化学结果(HER2)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsHer" direction="horizontal">
                <van-radio name="0" class="">0</van-radio>
@ -234,7 +234,7 @@
              </van-radio-group>
            </div>
          </van-field>
          <van-field :readonly="true" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(Ki67)" label="免疫组织化学结果(Ki67)" input-align="right">
          <van-field :readonly="readonly" :required="required" class="padding30" label-width="10rem" name="免疫组织化学结果(Ki67)" label="免疫组织化学结果(Ki67)" input-align="right">
            <div slot="input">
              <van-radio-group :disabled="readonly" v-model="form.immunohistochemicalResultsKiUnknown" direction="horizontal">
                <van-radio name="0" class="">百分比</van-radio>
@ -255,7 +255,7 @@
            </div>
          </van-field>
          <van-field
            :readonly="true"
            :readonly="readonly"
            :required="required"
            class="padding30"
            label-width="12rem"
@ -298,7 +298,7 @@
          </van-field>
          <van-field
            :readonly="true"
            :readonly="readonly"
            v-if='form.breastCancerSurgeryMode&&form.breastCancerSurgeryMode.indexOf("1")!=-1'
            :required="required"
            class="padding30"
@ -328,7 +328,7 @@
            </div>
          </van-field>
          <van-field
            :readonly="true"
            :readonly="readonly"
            v-if='form.breastCancerSurgeryMode&&form.breastCancerSurgeryMode.indexOf("1")!=-1'
            :required="required"
            class="padding30"
@ -357,7 +357,7 @@
            </div>
          </van-field>
          <van-field
            :readonly="true"
            :readonly="readonly"
            v-if='form.breastCancerSurgeryMode&&form.breastCancerSurgeryMode.indexOf("1")!=-1'
            :required="required"
            class="padding30"

+ 19 - 10
component/statistics/LascBreastTreatInfo/index.js

@ -64,19 +64,28 @@ Vue.component('lasc-breast-treat-info', {
      isShowOrgsPicker: false,
      show: true,
      showType: '',
      required: true
      required: true,
      readonly:true
    }
  },
  methods: {},
  mounted() {
    if (this.data.value && this.data.value.length && this.data.value[0].id) {
      var first = this.data.value[0]
      this.form.screenId = first.screenId
      this.form.id = first.id ? first.id : ''
      first.type = first.type ? first.type.split(',') : []
      first.breastCancerSurgeryMode = first.breastCancerSurgeryMode ? first.breastCancerSurgeryMode.split(',') : []
      first.armpitSurgeryMode = first.armpitSurgeryMode ? first.armpitSurgeryMode.split(',') : []
      this.form = first
  watch:{
    data: {
      handler(newVal, oldVal) {
        if (this.data.value && this.data.value.length && this.data.value[0].id) {
          var first = this.data.value[0]
          this.form.screenId = first.screenId
          this.form.id = first.id ? first.id : ''
          first.type = first.type ? first.type.split(',') : []
          first.breastCancerSurgeryMode = first.breastCancerSurgeryMode ? first.breastCancerSurgeryMode.split(',') : []
          first.armpitSurgeryMode = first.armpitSurgeryMode ? first.armpitSurgeryMode.split(',') : []
          this.form = first
        }
      },
      deep: true
    }
  },
  mounted() {
    
  }
})

+ 7 - 11
component/statistics/LascCervical/index.html

@ -42,7 +42,8 @@
    <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="gynOrg" label="区" align="center" v-if="form.range==3"></el-table-column>
        <el-table-column prop="gynOrg" label="机构名称" align="center" v-else></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>
@ -110,19 +111,14 @@
            <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-form-item label="地区:" >
          <el-select v-model="form.town" disabled>
            <el-option v-for="(option, index) in areaOptions" :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-form-item label="机构:" v-if="form.range == '2'||form.range == '3'">
          <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-option v-for="(option, index) in hospitalOptions" :label="option.name" :value="option.code" :key="option.code"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item>

+ 12 - 1
component/statistics/LascCervical/index.js

@ -393,6 +393,14 @@ Vue.component('lasc-cervical', {
      }
      this.chooseYear = new Date().getFullYear()
      this.chooseTime = null
      const now = new Date()
      // 获取当前日期
      const endDate = new Date()
      // 获取30天前的日期
      const startDate = new Date()
      startDate.setDate(endDate.getDate() - 30)
      this.chooseTime = [this.formatDate(startDate), this.formatDate(endDate)]
      this.init()
      this.$forceUpdate()
    },
    getHospital(code, flag = true) {
@ -483,6 +491,7 @@ Vue.component('lasc-cervical', {
      vm.dialogLoading = true
      this.query.type = 'g_' + prop
      this.query.orgCode = row.orgCode
     
      var params = {
        ...this.query,
        range: (this.form && this.form.range) || '',
@ -555,7 +564,9 @@ Vue.component('lasc-cervical', {
      this.query = {
        page: 1,
        size: 10,
        total: 0
        total: 0,
        type:this.query.type, 
        orgCode:this.query.orgCode, 
      }
      this.caseDataList()
    },

+ 2 - 2
component/statistics/LascCervicalColposcopyEntityList/index.html

@ -102,7 +102,7 @@
          </van-field>
        </template>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          class=""
@ -114,7 +114,7 @@
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          class=""

+ 10 - 2
component/statistics/LascCervicalColposcopyEntityList/index.js

@ -31,8 +31,16 @@ Vue.component('lasc-cervical-colposcopy-entity-list', {
  },
  template: template,
  created: function () {
    if (this.data.value && this.data.value.length && this.data.value[0].id) {
      this.form.list = this.data.value
   
  },
  watch:{
    data:{
      handler(newVal,oldVal){
        if (this.data.value && this.data.value.length && this.data.value[0].id) {
          this.form.list = this.data.value
        }
      },
      deep:true
    }
  },
  methods: {}

+ 22 - 14
component/statistics/LascCervicalColposcopyFollowup/index.js

@ -28,21 +28,29 @@ Vue.component('lasc-cervical-colposcopy-followup', {
    }
  },
  template: template,
  created: function () {
    var vm = this
    if (this.data.value && this.data.value.length) {
      var form = JSON.parse(JSON.stringify(this.data.value))
      if (vm.isStrEmpty(form[0].examineStatus)) {
        this.form.list = _.map(form, function (v) {
          return _.assign(vm.getDefItem(), v)
        })
      } else {
        _.each(form, function (m) {
          m.examineCauseResultAbnormal = m.examineCauseResultAbnormal.split(',')
        })
        this.form.list = form
      }
  watch:{
    data:{
      handler(newVal,oldVal){
        var vm = this
        if (this.data.value && this.data.value.length) {
          var form = JSON.parse(JSON.stringify(this.data.value))
          if (vm.isStrEmpty(form[0].examineStatus)) {
            this.form.list = _.map(form, function (v) {
              return _.assign(vm.getDefItem(), v)
            })
          } else {
            _.each(form, function (m) {
              m.examineCauseResultAbnormal = m.examineCauseResultAbnormal.split(',')
            })
            this.form.list = form
          }
        }
      },
      deep:true
    }
  },
  created: function () {
    
  },
  methods: {
    getDefItem: function (noDefault) {

+ 2 - 2
component/statistics/LascCervicalCytologyInspectEntityList/index.html

@ -20,7 +20,7 @@
          input-align="right"
          :is-link="!readonly"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          class=""
@ -32,7 +32,7 @@
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          class=""

+ 18 - 10
component/statistics/LascCervicalCytologyInspectEntityList/index.js

@ -56,16 +56,24 @@ Vue.component('lasc-cervical-cytology-inspect-entityList', {
    }
  },
  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
  watch:{
    data:{
      handler(newVal,oldVal){
        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
        }
      },
      deep:true
    }
  },
  mounted() {
   
  }
})

+ 82 - 36
component/statistics/LascCervicalFinalDiagnosisEntity/index.js

@ -60,42 +60,88 @@ Vue.component('lasc-cervical-final-diagnosis-entity', {
  },
  template: template,
  mounted() {
    var form = JSON.parse(JSON.stringify(this.data.value))
    console.log(form, 'formformform111111111111111')
    if (this.readonly && !form.finalDiagnosisOrg) {
      this.form = {
        screenId: '', //两癌筛查id
        finalDiagnosisResult: '', //最后诊断
        finalDiagnosisAbnormal: [], //最后诊断 - 异常内容
        finalDiagnosisMalignantTumors: '', //最后诊断 - 异常内容 - 其他恶性肿瘤说明
        finalDiagnosisOtherAbnormal: '', //最后诊断 - 异常内容 - 其他异常描述
        finalDiagnosisOrg: '', //检查机构
        finalDiagnosisUser: '', //检查人员
        finalDiagnosisTime: '', //检查时间
        cervicalLesionsFollowStatus: '', //宫颈病变随访情况
        cervicalLesionsTreatment: '', //宫颈病变接受治疗
        cervicalLesionsUnbehandeltReason: '', //宫颈病变接受治疗 - 未接收治疗原因
        cervicalLesionsTreatmentMethod: '', //治疗方法
        cervicalLesionsTreatmentOther: '', //治疗方法 - 其他
        followUpOrg: '', //治疗机构
        followUpTime: '', //治疗日期
        acceptPathologicalExamination: '', //接受组织病理学检查
        refusePathologicalExaminationReason: '', //未接受检查的原因
        refusePathologicalExaminationReasonOther: '', // 未接受检查的其他原因
        pathologicalExaminationResult: [], //组织病理学检查结果
        pathologicalExaminationAbnormalOther: '', //组织病理学其他描述
        pathologicalExaminationOrg: '', // 检查机构
        pathologicalExaminationUser: '', //检查人员
        pathologicalExaminationTime: '' //检查时间
      }
    } else {
      console.log(form, 'formformform')
      form.finalDiagnosisAbnormal = (form.finalDiagnosisAbnormal && form.finalDiagnosisAbnormal.split(',')) || []
      form.pathologicalExaminationResult = (form.pathologicalExaminationResult && form.pathologicalExaminationResult.split(',')) || []
      this.form = _.assign(this.form, form)
      this.form.screenId = this.data.screenId
        var form = JSON.parse(JSON.stringify(this.data.value[0]))
        console.log(form, 'formformform111111111111111')
        if (!this.readonly) {
          this.form = {
            screenId: '', //两癌筛查id
            finalDiagnosisResult: '', //最后诊断
            finalDiagnosisAbnormal: [], //最后诊断 - 异常内容
            finalDiagnosisMalignantTumors: '', //最后诊断 - 异常内容 - 其他恶性肿瘤说明
            finalDiagnosisOtherAbnormal: '', //最后诊断 - 异常内容 - 其他异常描述
            finalDiagnosisOrg: '', //检查机构
            finalDiagnosisUser: '', //检查人员
            finalDiagnosisTime: '', //检查时间
    
            cervicalLesionsFollowStatus: '', //宫颈病变随访情况
            cervicalLesionsTreatment: '', //宫颈病变接受治疗
            cervicalLesionsUnbehandeltReason: '', //宫颈病变接受治疗 - 未接收治疗原因
            cervicalLesionsTreatmentMethod: '', //治疗方法
            cervicalLesionsTreatmentOther: '', //治疗方法 - 其他
            followUpOrg: '', //治疗机构
            followUpTime: '', //治疗日期
    
            acceptPathologicalExamination: '', //接受组织病理学检查
            refusePathologicalExaminationReason: '', //未接受检查的原因
            refusePathologicalExaminationReasonOther: '', // 未接受检查的其他原因
            pathologicalExaminationResult: [], //组织病理学检查结果
            pathologicalExaminationAbnormalOther: '', //组织病理学其他描述
            pathologicalExaminationOrg: '', // 检查机构
            pathologicalExaminationUser: '', //检查人员
            pathologicalExaminationTime: '' //检查时间
          }
        } else {
          console.log(form, 'formformform')
          form.finalDiagnosisAbnormal = (form.finalDiagnosisAbnormal && form.finalDiagnosisAbnormal.split(',')) || []
          form.pathologicalExaminationResult = (form.pathologicalExaminationResult && form.pathologicalExaminationResult.split(',')) || []
          this.form = _.assign(this.form, form)
          this.form.screenId = this.data.screenId
          console.log('1111111111111111',this.form)
        }
  },
  watch:{
    'data':{
      handler(newVal,oldVal){
        var form = JSON.parse(JSON.stringify(this.data.value))
        console.log(form, 'formformform111111111111111')
        if (!this.readonly) {
          this.form = {
            screenId: '', //两癌筛查id
            finalDiagnosisResult: '', //最后诊断
            finalDiagnosisAbnormal: [], //最后诊断 - 异常内容
            finalDiagnosisMalignantTumors: '', //最后诊断 - 异常内容 - 其他恶性肿瘤说明
            finalDiagnosisOtherAbnormal: '', //最后诊断 - 异常内容 - 其他异常描述
            finalDiagnosisOrg: '', //检查机构
            finalDiagnosisUser: '', //检查人员
            finalDiagnosisTime: '', //检查时间
    
            cervicalLesionsFollowStatus: '', //宫颈病变随访情况
            cervicalLesionsTreatment: '', //宫颈病变接受治疗
            cervicalLesionsUnbehandeltReason: '', //宫颈病变接受治疗 - 未接收治疗原因
            cervicalLesionsTreatmentMethod: '', //治疗方法
            cervicalLesionsTreatmentOther: '', //治疗方法 - 其他
            followUpOrg: '', //治疗机构
            followUpTime: '', //治疗日期
    
            acceptPathologicalExamination: '', //接受组织病理学检查
            refusePathologicalExaminationReason: '', //未接受检查的原因
            refusePathologicalExaminationReasonOther: '', // 未接受检查的其他原因
            pathologicalExaminationResult: [], //组织病理学检查结果
            pathologicalExaminationAbnormalOther: '', //组织病理学其他描述
            pathologicalExaminationOrg: '', // 检查机构
            pathologicalExaminationUser: '', //检查人员
            pathologicalExaminationTime: '' //检查时间
          }
        } else {
          console.log(form, 'formformform')
          form.finalDiagnosisAbnormal = (form.finalDiagnosisAbnormal && form.finalDiagnosisAbnormal.split(',')) || []
          form.pathologicalExaminationResult = (form.pathologicalExaminationResult && form.pathologicalExaminationResult.split(',')) || []
          this.form = _.assign(this.form, form)
          this.form.screenId = this.data.screenId
          console.log('1111111111111111',this.form)
        }
      },
      deep:true
    }
  },
  methods: {}

+ 3 - 3
component/statistics/LascCervicalGynecologicalExaminationEntityList/index.html

@ -456,7 +456,7 @@
            input-align="right"></van-field>
        </template>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="10rem"
          clearable
@ -466,7 +466,7 @@
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="10rem"
          clearable
@ -476,7 +476,7 @@
          placeholder="请输入检查人员"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="10rem"
          clearable

+ 30 - 22
component/statistics/LascCervicalGynecologicalExaminationEntityList/index.js

@ -46,28 +46,36 @@ Vue.component('lasc-cervical-gynecological-examination-entityList', {
      return (str && str.split(',')) || []
    }
  },
  mounted() {
    var vm = this
    this.form.screenId = this.data.screenId || ''
    if (this.data.value && this.data.value.length) {
      var list = JSON.parse(JSON.stringify(this.data.value))
      list.forEach(function (v) {
        v.vulvaInspect = vm.formatList(v.vulvaInspect)
        v.vaginalInspect = vm.formatList(v.vaginalInspect)
        v.secretion = vm.formatList(v.secretion)
        v.cervixInspect = vm.formatList(v.cervixInspect)
        v.uterusInspect = vm.formatList(v.uterusInspect)
        v.pelvicInspect = vm.formatList(v.pelvicInspect)
        v.secretionInspectPathogens = vm.formatList(v.secretionInspectPathogens)
        v.clinicalDiagnosis = vm.formatList(v.clinicalDiagnosis)
        v.pelvicTendernessLocation = vm.formatList(v.pelvicTendernessLocation)
        v.uterusInspectTumorPosition = vm.formatList(v.uterusInspectTumorPosition)
        v.vaginalInspectTumorPosition = vm.formatList(v.vaginalInspectTumorPosition)
        v.vulvaInspectTumorPosition = vm.formatList(v.vulvaInspectTumorPosition)
        v.pelvicInspectTumorPosition = vm.formatList(v.pelvicInspectTumorPosition)
      })
      this.form.list = list
      this.form.receiveCervicalCarcinomaInspect = list[0].receiveCervicalCarcinomaInspect
  watch:{
    data:{
      handler(newVal,oldVal){
        var vm = this
        this.form.screenId = this.data.screenId || ''
        if (this.data.value && this.data.value.length) {
          var list = JSON.parse(JSON.stringify(this.data.value))
          list.forEach(function (v) {
            v.vulvaInspect = vm.formatList(v.vulvaInspect)
            v.vaginalInspect = vm.formatList(v.vaginalInspect)
            v.secretion = vm.formatList(v.secretion)
            v.cervixInspect = vm.formatList(v.cervixInspect)
            v.uterusInspect = vm.formatList(v.uterusInspect)
            v.pelvicInspect = vm.formatList(v.pelvicInspect)
            v.secretionInspectPathogens = vm.formatList(v.secretionInspectPathogens)
            v.clinicalDiagnosis = vm.formatList(v.clinicalDiagnosis)
            v.pelvicTendernessLocation = vm.formatList(v.pelvicTendernessLocation)
            v.uterusInspectTumorPosition = vm.formatList(v.uterusInspectTumorPosition)
            v.vaginalInspectTumorPosition = vm.formatList(v.vaginalInspectTumorPosition)
            v.vulvaInspectTumorPosition = vm.formatList(v.vulvaInspectTumorPosition)
            v.pelvicInspectTumorPosition = vm.formatList(v.pelvicInspectTumorPosition)
          })
          this.form.list = list
          this.form.receiveCervicalCarcinomaInspect = list[0].receiveCervicalCarcinomaInspect
        }
      },
      deep:true
    }
  },
  mounted() {
    
  }
})

+ 22 - 14
component/statistics/LascCervicalHistopathologyFollowup/index.js

@ -29,20 +29,28 @@ Vue.component('lasc-cervical-histopathology-followup', {
  },
  template: template,
  created: function () {
    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))
      if (vm.isStrEmpty(form[0].examineStatus)) {
        this.form.list = _.map(form, function (v) {
          return _.assign(vm.getDefItem(), v)
        })
      } else {
        _.each(form, function (m) {
          m.examineResultAbnorma = m.examineResultAbnorma.split(',')
        })
        this.form.list = form
      }
    
  },
  watch:{
    data:{
      handler(newVal,oldVal){
        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))
          if (vm.isStrEmpty(form[0].examineStatus)) {
            this.form.list = _.map(form, function (v) {
              return _.assign(vm.getDefItem(), v)
            })
          } else {
            _.each(form, function (m) {
              m.examineResultAbnorma = m.examineResultAbnorma.split(',')
            })
            this.form.list = form
          }
        }
      },
      deep:true
    }
  },
  methods: {

+ 2 - 2
component/statistics/LascCervicalHpvEntityList/index.html

@ -30,7 +30,7 @@
          </div>
        </van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          clearable
@ -40,7 +40,7 @@
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          clearable

+ 32 - 23
component/statistics/LascCervicalHpvEntityList/index.js

@ -70,32 +70,41 @@ Vue.component('lasc-cervical-hpv-entityList', {
      }
    }
  },
  mounted() {
    this.form.screenId = this.data.screenId
    var vm = this
    if (this.data.value && this.data.value.length) {
      var first = this.data.value[0]
      var formValue = JSON.parse(JSON.stringify(this.data.value))
      formValue.forEach(function (v) {
        var hpvHighRiskTypes = vm.getHpvHighRiskTypes(),
          hpvLowRiskTypes = vm.getHpvLowRiskTypes()
        if (v.hpvHighRiskTypes) {
          v.hpvHighRiskTypes.split(',').forEach(function (v) {
            hpvHighRiskTypes[v] = '2'
          })
        }
        v.hpvHighRiskTypes = hpvHighRiskTypes
  watch:{
    data:{
      handler(newVal,oldVal){
        this.form.screenId = this.data.screenId
        var vm = this
        if (this.data.value && this.data.value.length) {
          var first = this.data.value[0]
          var formValue = JSON.parse(JSON.stringify(this.data.value))
          formValue.forEach(function (v) {
            var hpvHighRiskTypes = vm.getHpvHighRiskTypes(),
              hpvLowRiskTypes = vm.getHpvLowRiskTypes()
            if (v.hpvHighRiskTypes) {
              v.hpvHighRiskTypes.split(',').forEach(function (v) {
                hpvHighRiskTypes[v] = '2'
              })
            }
            v.hpvHighRiskTypes = hpvHighRiskTypes
        if (v.hpvLowRiskTypes) {
          v.hpvLowRiskTypes.split(',').forEach(function (v) {
            hpvLowRiskTypes[v] = '2'
            if (v.hpvLowRiskTypes) {
              v.hpvLowRiskTypes.split(',').forEach(function (v) {
                hpvLowRiskTypes[v] = '2'
              })
            }
            v.hpvLowRiskTypes = hpvLowRiskTypes
          })
        }
        v.hpvLowRiskTypes = hpvLowRiskTypes
      })
      this.form.list = formValue
      vm.hpvTubeNum = vm.data.value && vm.data.value[0].hpvTubeNum ? vm.data.value[0].hpvTubeNum : ''
          this.form.list = formValue
          vm.hpvTubeNum = vm.data.value && vm.data.value[0].hpvTubeNum ? vm.data.value[0].hpvTubeNum : ''
        }
      },
      deep:true
    }
  },
  mounted() {
    
  }
})

+ 2 - 2
component/statistics/LascCervicalPathologicalExaminationList/index.html

@ -71,7 +71,7 @@
            input-align="right"></van-field>
        </template>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          class=""
@ -83,7 +83,7 @@
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          :readonly="readonly"
          required
          label-width="8rem"
          class=""

+ 26 - 18
component/statistics/LascCervicalPathologicalExaminationList/index.js

@ -33,25 +33,33 @@ Vue.component('lasc-cervical-pathological-examination-list', {
    }
  },
  methods: {},
  mounted() {
    if (this.data.value && this.data.value.length && this.data.value[0].id) {
      var form = JSON.parse(JSON.stringify(this.data.value))
      form.forEach(function (v) {
        if (v.pathologicalExaminationResult != 1) {
          var pathologicalExaminationResult = v.pathologicalExaminationResult
          v.pathologicalExaminationResult = []
          if (v.pathologicalExaminationAbnormal) {
            v.pathologicalExaminationAbnormal.split(',').forEach(function (m) {
              v.pathologicalExaminationResult.push(pathologicalExaminationResult + '-' + m)
            })
          }
        } else {
          v.pathologicalExaminationResult = v.pathologicalExaminationResult ? v.pathologicalExaminationResult.split(',') : ''
  watch:{
    data:{
      handler(newVal,oldVal){
        if (this.data.value && this.data.value.length && this.data.value[0].id) {
          var form = JSON.parse(JSON.stringify(this.data.value))
          form.forEach(function (v) {
            if (v.pathologicalExaminationResult != 1) {
              var pathologicalExaminationResult = v.pathologicalExaminationResult
              v.pathologicalExaminationResult = []
              if (v.pathologicalExaminationAbnormal) {
                v.pathologicalExaminationAbnormal.split(',').forEach(function (m) {
                  v.pathologicalExaminationResult.push(pathologicalExaminationResult + '-' + m)
                })
              }
            } else {
              v.pathologicalExaminationResult = v.pathologicalExaminationResult ? v.pathologicalExaminationResult.split(',') : ''
            }
          })
    
          this.form.list = form
          console.log('99999999999999999', this.form)
        }
      })
      this.form.list = form
      console.log('99999999999999999', this.form)
      },
      deep:true
    }
  },
  mounted() {
    
  }
})

+ 32 - 1
component/statistics/LascCervicalPreliminaryScreenEntity/index.js

@ -36,6 +36,37 @@ Vue.component('lasc-cervical-preliminary-screen-entity', {
    }
  },
  methods: {},
  watch:{
    data:{
      handler(newVal,oldVal){
       
        var vm = this
        if (this.readonly && !this.form.preliminaryScreenOrg) {
          this.form = {
            screenId: '', //两癌筛查id
            preliminaryScreenResults: '', //
            preliminaryScreenOrg: '', //检查机构
            preliminaryScreenUser: '', //检查人员
            preliminaryScreenTime: '' //检查时间
          }
        } else {
          this.form = _.assign(this.form, this.data.value[0])
          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'
          })
      },
      deep:true
    }
  },
  mounted() {
    var vm = this
    if (this.readonly && !this.form.preliminaryScreenOrg) {
@ -47,7 +78,7 @@ Vue.component('lasc-cervical-preliminary-screen-entity', {
        preliminaryScreenTime: '' //检查时间
      }
    } else {
      this.form = _.assign(this.form, this.data.value)
      this.form = _.assign(this.form, this.data.value[0])
      this.form.screenId = this.data.value[0] && this.data.value[0].screenId
    }

+ 2 - 2
component/statistics/LascClinicalExamination/index.html

@ -78,7 +78,7 @@
        </template>
        <van-field
          readonly="true"
          readonly
          required
          label-width="8rem"
          clearable
@ -88,7 +88,7 @@
          placeholder="请输入检查机构"
          input-align="right"></van-field>
        <van-field
          readonly="true"
          readonly
          required
          label-width="8rem"
          clearable

+ 19 - 0
component/statistics/LascClinicalExamination/index.js

@ -33,6 +33,25 @@ Vue.component('lasc-lascClinical-examination', {
    }
  },
  methods: {},
  watch:{
    data: {
      handler(newVal, oldVal) {
        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(this.data.value))
          form.forEach(function (v) {
            v.breastClinicalInspectR = (v.breastClinicalInspectR && v.breastClinicalInspectR.split(',')) || []
            v.breastClinicalInspectL = (v.breastClinicalInspectL && v.breastClinicalInspectL.split(',')) || []
          })
          this.form.list = form
          console.log(this.form.list, 'popppppppppp')
        }
      },
      deep: true
    }
  },
  mounted() {
    if (this.data.value && this.data.value.length) {
      var first = this.data.value[0]

+ 15 - 6
component/statistics/LascPatient/index.js

@ -221,20 +221,21 @@ Vue.component('lasc-patient', {
    },
    eliminateClick() {
      var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
      console.log('11111111111111',this.level)
      if (this.level == 1) {
        this.form = {
          range: 'town'
          range: '1'
        }
      } else if (this.level == 2) {
        this.form = {
          range: 'town',
          area: selectedRole.code
          range: '1',
          town: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          range: '2',
          town: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.getTeam(selectedRole.code)
@ -242,7 +243,15 @@ Vue.component('lasc-patient', {
      this.yearType = '1'
      this.chooseYear = new Date().getFullYear()
      this.chooseTime = null
      const now = new Date()
      // 获取当前日期
      const endDate = new Date()
      // 获取30天前的日期
      const startDate = new Date()
      startDate.setDate(endDate.getDate() - 30)
      this.chooseTime1 = [this.formatDate(startDate), this.formatDate(endDate)]
      this.chooseTime = [this.formatDate(startDate), this.formatDate(endDate)]
      this.init()
      this.$forceUpdate()
    },
    getHospital(code) {

+ 10 - 14
component/statistics/LascProgress/index.html

@ -28,7 +28,7 @@
      </div>
      <div class="searchDiv pb20 pr20" v-if="form.range == '2'|| form.range == '3'">
        <label class="c-333 c-f14">机构:</label>
        <el-select class="formWidth" v-model="form.hospital" placeholder="请选择" @change="getTeam">
        <el-select class="formWidth" v-model="form.hospital" placeholder="请选择" >
          <el-option v-for="(option, index) in hospitalOptions" :label="option.name" :value="option.code" :key="option.code"></el-option>
        </el-select>
      </div>
@ -41,9 +41,9 @@
    </div>
    <el-table :data="tableData" style="width: 100%" v-loading="loading" row-key="code" lazy border class="mt20">
      <el-table-column label="序号" type="index"></el-table-column>
      <el-table-column :label="item.label" v-for="item in tableHeader" :min-width="item.width" :key="item.prop" :prop="item.prop">
        <template slot-scope="scope">
          <span :class="`${item.prop!='gynOrg'?'pointer c-409eff':''}`" @click="openDialog(scope.row, item.prop)">{{scope.row[item.prop]}}</span>
      <el-table-column :label="form.range==3&&item.prop=='gynOrg'?'区':item.label" v-for="item in tableHeader" :min-width="item.width" :key="item.prop" :prop="item.prop">
        <template slot-scope="scope" >
          <span :class="`${item.prop!='gynOrg'?'pointer c-409eff':''}`" @click="openDialog(scope.row, item.prop)" >{{scope.row[item.prop]}}</span>
        </template>
      </el-table-column>
    </el-table>
@ -84,21 +84,17 @@
            <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-form-item label="地区:" >
          <el-select v-model="form.town" disabled @change="getHospital">
            <el-option v-for="(option, index) in areaOptions" :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-form-item label="机构:" v-if="form.range == '2' ||form.range == '3'">
          <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-option v-for="(option, index) in hospitalOptions" :label="option.name" :value="option.code" :key="option.code"></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>

+ 13 - 1
component/statistics/LascProgress/index.js

@ -239,6 +239,14 @@ Vue.component('lasc-progress', {
      this.yearType = '1'
      this.chooseYear = new Date().getFullYear()
      this.chooseTime = null
      const now = new Date()
      // 获取当前日期
      const endDate = new Date()
      // 获取30天前的日期
      const startDate = new Date()
      startDate.setDate(endDate.getDate() - 30)
      this.chooseTime = [this.formatDate(startDate), this.formatDate(endDate)]
      this.init()
      this.$forceUpdate()
    },
    getHospital(code, flag = true) {
@ -354,6 +362,7 @@ Vue.component('lasc-progress', {
      vm.dialogLoading = true
      this.query.type = 't_' + prop
      this.query.orgCode = row.orgCode
     
      var params = {
        ...this.query,
        range: (this.form && this.form.range) || '',
@ -370,6 +379,7 @@ Vue.component('lasc-progress', {
        vm.query.total = res.totalCount
        vm.visible = true
        vm.dialogLoading = false
        console.log('333333333333333',vm)
      })
    },
    caseDataList() {
@ -427,7 +437,9 @@ Vue.component('lasc-progress', {
      this.query = {
        page: 1,
        size: 10,
        total: 0
        total: 0,
        type:this.query.type, 
        orgCode:this.query.orgCode, 
      }
      this.caseDataList()
    },

+ 7 - 11
component/statistics/breastCancerPatient/index.html

@ -42,7 +42,8 @@
    <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="cduOrg" label="区" align="center" v-if="form.range==3"></el-table-column>
        <el-table-column prop="cduOrg" label="机构名称" align="center" v-else></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>
@ -105,19 +106,14 @@
            <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-form-item label="地区:" >
          <el-select v-model="form.town" disabled>
            <el-option v-for="(option, index) in areaOptions" :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-form-item label="机构:" v-if="form.range == '2' || form.range == '3'">
          <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-option v-for="(option, index) in hospitalOptions" :label="option.name" :value="option.code" :key="option.code"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item>

+ 27 - 15
component/statistics/breastCancerPatient/index.js

@ -74,17 +74,17 @@ Vue.component('breast-cancer-patient', {
        { label: '乳腺超声初筛时间', prop: 'turnDownTime', width: '150' },
        { label: '乳腺超声评估结果', prop: 'eventType', width: '130' },
        { label: '乳腺超声评估机构', prop: 'screenNum', width: '110' },
        { label: '乳腺超声评估人', prop: 'screenResult', width: '130' },
        { label: '乳腺超声评估人', prop: 'cudUser', width: '130' },
        { label: '乳腺钼靶评估时间', prop: 'turnDownTime', width: '150' },
        { label: '乳腺钼靶评估结果', prop: 'eventType', width: '130' },
        { label: '乳腺钼靶评估状态(待随访/已完成)', prop: 'screenNum', width: '110' },
        { label: '乳腺病理结果', prop: 'screenResult', width: '130' },
        { label: '乳腺病理评估机构', prop: 'screenResult', width: '130' },
        { label: '乳腺病理结果', prop: 'bpatResultName', width: '130' },
        { label: '乳腺病理评估机构', prop: 'bpatOrg', width: '130' },
        { label: '乳腺病理随访时间', prop: 'turnDownTime', width: '150' },
        { label: '乳腺癌分期状态(术前)', prop: 'eventType', width: '130' },
        { label: '乳腺癌分期状态(术后)', prop: 'screenNum', width: '110' },
        { label: '宫颈初筛时间', prop: 'screenResult', width: '130' },
        { label: '宫颈评估机构', prop: 'screenResult', width: '130' },
        { label: '宫颈初筛时间', prop: 'gynTime', width: '130' },
        { label: '宫颈评估机构', prop: 'cerOrg', width: '130' },
        { label: '宫颈评估人', prop: 'turnDownTime', width: '150' },
        { label: '宫颈评估时间', prop: 'eventType', width: '130' },
        { label: '宫颈评估状态', prop: 'screenNum', width: '110' },
@ -246,7 +246,7 @@ Vue.component('breast-cancer-patient', {
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code }]
        this.form = {
          range: '1',
          area: selectedRole.code
          town: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
@ -258,8 +258,8 @@ Vue.component('breast-cancer-patient', {
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          range: '2',
          town: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.getTeam(selectedRole.code)
@ -337,18 +337,18 @@ Vue.component('breast-cancer-patient', {
      var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
      if (this.level == 1) {
        this.form = {
          range: 'town'
          range: '1'
        }
      } else if (this.level == 2) {
        this.form = {
          range: 'town',
          area: selectedRole.code
          range: '1',
          town: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          range: '2',
          town: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.getTeam(selectedRole.code)
@ -356,7 +356,15 @@ Vue.component('breast-cancer-patient', {
      this.yearType = '1'
      this.chooseYear = new Date().getFullYear()
      this.chooseTime = null
      console.log('1111111111111111',this)
      const now = new Date()
      // 获取当前日期
      const endDate = new Date()
      // 获取30天前的日期
      const startDate = new Date()
      startDate.setDate(endDate.getDate() - 30)
      this.chooseTime = [this.formatDate(startDate), this.formatDate(endDate)]
      this.init()
      this.$forceUpdate()
    },
    getHospital(code) {
@ -469,10 +477,14 @@ Vue.component('breast-cancer-patient', {
      })
    },
    dialogResetFn() {
      console.log('22222222222222',this)
      
      this.query = {
        page: 1,
        size: 10,
        total: 0
        total: 0,
        type:this.query.type, 
        orgCode:this.query.orgCode, 
      }
      this.caseDataList()
    },