hd před 1 měsícem
rodič
revize
a9734d6a05

+ 80 - 13
component/statistics/ActivityHoldDetail/index.html

@ -30,9 +30,9 @@
      <label class="c-333 c-f14">活动一级类别:</label>
      <el-select v-model="form.firstClassify" placeholder="请输入活动名称进行搜索" @change="form.secondClassify = ''">
        <el-option label="全部" value=""></el-option>
        <el-option label="健康运动" value="健康运动"></el-option>
        <el-option label="健康教育" value="健康教育"></el-option>
        <el-option label="促进业务" value="促进业务"></el-option>
        <el-option label="健康运动类" value="健康运动类"></el-option>
        <el-option label="健康教育类" value="健康教育类"></el-option>
        <el-option label="促进业务类" value="促进业务类"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20">
@ -57,18 +57,18 @@
      <label class="c-333 c-f14">举办形式:</label>
      <el-select v-model="form.eventForm" placeholder="请输入活动名称进行搜索">
        <el-option label="全部" value=""></el-option>
        <el-option label="线上" value="1"></el-option>
        <el-option label="线下" value="2"></el-option>
        <el-option label="综合" value="3"></el-option>
        <el-option label="线上" value="线上"></el-option>
        <el-option label="线下" value="线下"></el-option>
        <el-option label="综合" value="综合"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">举办目的:</label>
      <el-select v-model="form.eventAim" placeholder="请输入活动名称进行搜索">
        <el-option label="全部" value=""></el-option>
        <el-option label="促进健康" value="1"></el-option>
        <el-option label="业务宣传" value="2"></el-option>
        <el-option label="服务提升" value="3"></el-option>
        <el-option label="促进健康" value="促进健康"></el-option>
        <el-option label="业务宣传" value="业务宣传"></el-option>
        <el-option label="服务提升" value="服务提升"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20">
@ -85,7 +85,7 @@
    </div>
    <div class="searchDiv pb20 pr20" v-if="form.range == 'hospital'||form.range == 'team'">
      <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>
@ -99,7 +99,11 @@
  <el-table :data="tableData" style="width: 100%" v-loading="loading">
    <el-table-column type="index" label="序号" width="80"></el-table-column>
    <el-table-column v-for="item in tableHeader" :key="item.prop" :label="item.label" :prop="item.prop" :min-width="item.width || 100"></el-table-column>
    <el-table-column v-for="item in tableHeader" :key="item.prop" :label="item.label" :min-width="item.width || 100">
      <template slot-scope="scope">
        <span :class="`${item.prop=='title'?'pointer c-409eff':''}`" @click="openDialog(scope.row,item.prop)">{{scope.row[item.prop]}}</span>
      </template>
    </el-table-column>
    <el-table-column label="数据查看">
      <template slot-scope="scope">
        <el-button type="text" @click="previewDetailData(scope.row)">查看</el-button>
@ -110,7 +114,7 @@
    @current-change="handleCurrentChange($event, 1)"
    @size-change="handleSizeChange($event, 1)"
    :current-page.sync="page1"
    :page-size="size2"
    :page-size="size1"
    :page-sizes="[10, 20, 50]"
    layout="total, sizes, prev, pager, next, jumper"
    class="pagination"
@ -160,4 +164,67 @@
        :total="total2"></el-pagination>
    </div>
  </el-dialog>
</div>
  <el-dialog :visible.sync="dialogShow1" @close="closeDialog1" width="1200px" title="活动报名明细">
    <el-form inline size="mini">
      <el-form-item label="按活动年度:" v-if="yearType == 1">
        <el-select v-model="chooseYear" disabled>
          <el-option v-for="(item , index) in years" :key="index" :label="item" :value="item"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="创建时间:" v-if="yearType == 2">
        <el-date-picker
          v-model="chooseTime"
          type="daterange"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          value-format="yyyy-MM-dd"
          disabled></el-date-picker>
      </el-form-item>
      <el-form-item label="活动名称:">
        <el-input v-model="query1.title" placeholder="请输入活动名称进行搜索"></el-input>
      </el-form-item>
      <el-form-item label="签约机构:">
        <el-input v-model="query1.hospitalName" placeholder="请输入签约机构名称进行搜索"></el-input>
      </el-form-item>
      <el-form-item label="签约医生:">
        <el-input v-model="query1.doctorName" placeholder="请输入签约医生名称进行搜索"></el-input>
      </el-form-item>
      <el-form-item label="活动一级类别">
        <el-select v-model="query1.firstClassify" @change="query1.secondClassify = ''">
          <el-option label="全部" value=""></el-option>
          <el-option label="健康运动类" value="健康运动类"></el-option>
          <el-option label="健康教育类" value="健康教育类"></el-option>
          <el-option label="促进业务类" value="促进业务类"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="活动二级类别">
        <el-select v-model="query1.secondClassify">
          <el-option :label="item.label" :value="item.value" v-for="item in getSecondClassifyList(query1.firstClassify)" :key="item.value"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" @click="dialogSearch1">查询</el-button>
        <el-button type="ff9526" @click="dialogExport1" :disabled="dialogExportLoading1">导出</el-button>
      </el-form-item>
    </el-form>
    <el-table :data="dialogTableData1" border v-loading="dialogLoading1">
      <el-table-column type="index" label="序号" :width="70"></el-table-column>
      <el-table-column v-for="item in dialogHeader1" :label="item.label" :prop="item.prop" :key="item.prop" :min-width="item.width || 100">
        <template slot-scope="scope">
          <span>{{scope.row[item.prop]}}</span>
        </template>
      </el-table-column>
    </el-table>
    <div style="display: flex; justify-content: flex-end; margin-top: 10px">
      <el-pagination
        @current-change="handleCurrentChange($event, 3)"
        @size-change="handleSizeChange($event, 3)"
        :current-page.sync="page3"
        :page-size="size3"
        :page-sizes="[10, 20, 50]"
        layout="total, sizes, prev, pager, next, jumper"
        :total="total3"></el-pagination>
    </div>
  </el-dialog>
</div>

+ 148 - 25
component/statistics/ActivityHoldDetail/index.js

@ -36,6 +36,9 @@ Vue.component('activity-hold-detail', {
      page2: 1,
      size2: 10,
      total2: 0,
      page3: 1,
      size3: 10,
      total3: 0,
      loading: false,
      exportLoading: false,
      rangeOptions: [
@ -68,6 +71,7 @@ Vue.component('activity-hold-detail', {
      ],
      dialogShow: false,
      query: {},
      query1: {},
      dialogTableData: [],
      dialogHeader: [
        { label: '姓名', prop: 'name' },
@ -82,7 +86,28 @@ Vue.component('activity-hold-detail', {
        { label: '排名', prop: 'ranking' }
      ],
      dialogLoading: false,
      activityId: null
      dialogLoading1: false,
      activityId: null,
      dialogShow1: false,
      dialogTableData1: [],
      dialogHeader1: [
        { label: '姓名', prop: 'name' },
        { label: '性别', prop: 'sex' },
        { label: '年龄', prop: 'age' },
        { label: '证件号码', prop: 'idcard', width: '140' },
        { label: '手机号码', prop: 'mobile' },
        { label: '签约机构', prop: 'hospitalName' },
        { label: '签约医生', prop: 'doctorName' },
        { label: '活动名称', prop: 'title' },
        { label: '活动一级类别', prop: 'firstClassify', width: '120' },
        { label: '活动二级类别', prop: 'secondClassify', width: '120' },
        { label: '主办机构', prop: 'organizer' },
        { label: '获得积分', prop: 'total' },
        { label: '获得奖励金额', prop: 'feeTotal', width: '120' },
        { label: '参与活动时间', prop: 'updateTime', width: '160' }
      ],
      dialogExportLoading1: false,
      hospitalOptions: []
    }
  },
  methods: {
@ -111,6 +136,22 @@ Vue.component('activity-hold-detail', {
          eventAim: ''
        }
        this.getHospital(selectedRole.code)
      } else {
        this.rangeOptions = [{ label: '按社区', value: 'hospital' }]
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code,
          firstClassify: '',
          secondClassify: '',
          activityStatus: '',
          eventForm: '',
          eventAim: ''
        }
        this.level = 3 // 社区管理
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
      }
      this.initTime()
      this.searchFn()
@ -195,6 +236,17 @@ Vue.component('activity-hold-detail', {
          eventAim: ''
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code,
          firstClassify: '',
          secondClassify: '',
          activityStatus: '',
          eventForm: '',
          eventAim: ''
        }
      }
      this.yearType = '1'
@ -202,6 +254,22 @@ Vue.component('activity-hold-detail', {
      this.chooseTime = null
      this.$forceUpdate()
    },
    openDialog(row, prop) {
      if (prop != 'title') {
        return
      }
      this.dialogShow1 = true
      this.page3 = 1
      this.query1 = {
        activityId: row.id,
        title: row.title,
        hospitalName: '',
        doctorName: '',
        firstClassify: row.firstClassify,
        secondClassify: row.secondClassify
      }
      this.dialogSearch1()
    },
    closeDialog() {
      this.dialogShow = false
    },
@ -211,7 +279,7 @@ Vue.component('activity-hold-detail', {
      this.query = {
        // sex: ''
      }
      this.page1 = 1
      this.page2 = 1
      this.dialogSearch()
    },
    getHospital(code) {
@ -279,29 +347,84 @@ Vue.component('activity-hold-detail', {
      })
    },
    getSecondClassifyList(val) {
      switch (val) {
        case '':
          return [
            { label: '全部', value: '' },
            { label: '健康运动', value: '健康运动' },
            { label: '健康问答', value: '健康问答' },
            { label: '健康咨询', value: '健康咨询' }
          ]
        case '健康运动':
          return [
            { label: '全部', value: '' },
            { label: '健康运动', value: '健康运动' }
          ]
        case '健康教育':
          return [
            { label: '全部', value: '' },
            { label: '健康问答', value: '健康问答' }
          ]
        case '促进业务':
          return [
            { label: '全部', value: '' },
            { label: '健康咨询', value: '健康咨询' }
          ]
      return getSecondClassifyList(val)
    },
    closeDialog1() {
      this.dialogShow1 = false
    },
    dialogSearch1() {
      var vm = this
      this.dialogLoading1 = true
      var params = {
        range: this.form.range,
        area: this.form.area,
        hospital: this.form.hospital,
        ...this.query1,
        page: this.page3,
        size: this.size3
      }
      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('doctor/healthBank/eventRegistrationDetail', { data: params }).then(function (res) {
        if (res.status == 200) {
          vm.dialogTableData1 = res.detailModelList
          vm.total3 = res.totalCount
        }
        vm.dialogLoading1 = false
      })
    },
    dialogExport1() {
      var vm = this
      var params = {
        range: this.form.range,
        area: this.form.area ?? '',
        hospital: this.form.hospital ?? '',
        ...this.query1
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      }
      this.dialogExportLoading1 = true
      var fileName = `活动报名明细${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('doctor/healthBank/exportEventRegistrationDetail', fileName, params).then(function () {
        vm.dialogExportLoading1 = false
      })
    },
    handleCurrentChange(val, num) {
      if (num == 1) {
        this.page1 = val
        this.searchFn()
      } else if (num == 2) {
        this.page2 = val
        this.dialogSearch()
      } else {
        this.page3 = val
        this.dialogSearch1()
      }
    },
    handleSizeChange(val, num) {
      if (num == 1) {
        this.size1 = val
        this.searchFn()
      } else if (num == 2) {
        this.size2 = val
        this.dialogSearch()
      } else {
        this.size3 = val
        this.dialogSearch1()
      }
    }
  },

+ 6 - 6
component/statistics/ActivityRegister/index.html

@ -85,9 +85,9 @@
      <el-form-item label="活动一级类别:">
        <el-select v-model="query.firstClassify" @change="query.secondClassify = ''">
          <el-option label="全部" value=""></el-option>
          <el-option label="健康运动" value="健康运动"></el-option>
          <el-option label="健康教育" value="健康教育"></el-option>
          <el-option label="促进业务" value="促进业务"></el-option>
          <el-option label="健康运动类" value="健康运动类"></el-option>
          <el-option label="健康教育类" value="健康教育类"></el-option>
          <el-option label="促进业务类" value="促进业务类"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="活动二级类别:">
@ -160,9 +160,9 @@
      <el-form-item label="活动一级类别">
        <el-select v-model="query1.firstClassify" @change="query1.secondClassify = ''">
          <el-option label="全部" value=""></el-option>
          <el-option label="健康运动" value="健康运动"></el-option>
          <el-option label="健康教育" value="健康教育"></el-option>
          <el-option label="促进业务" value="促进业务"></el-option>
          <el-option label="健康运动类" value="健康运动类"></el-option>
          <el-option label="健康教育类" value="健康教育类"></el-option>
          <el-option label="促进业务类" value="促进业务类"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="活动二级类别">

+ 62 - 37
component/statistics/ActivityRegister/index.js

@ -37,8 +37,8 @@ Vue.component('activity-register', {
      loading: false,
      exportLoading: false,
      rangeOptions: [
        { label: '区', value: 'town' },
        { label: '社区', value: 'hospital' }
        { label: '按区', value: 'town' },
        { label: '按社区', value: 'hospital' }
      ],
      areaOptions: [
        { label: '思明区', value: '350203' },
@ -89,12 +89,7 @@ Vue.component('activity-register', {
      ],
      dialogLoading1: false,
      dialogExportLoading1: false,
      secondClassifyList: [
        { label: '全部', value: '' },
        { label: '健康运动', value: '健康运动' },
        { label: '健康问答', value: '健康问答' },
        { label: '健康咨询', value: '健康咨询' }
      ]
      hospitalOptions: []
    }
  },
  watch: {
@ -133,6 +128,16 @@ Vue.component('activity-register', {
          area: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.rangeOptions = [{ label: '按社区', value: 'hospital' }]
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.level = 3 // 社区管理
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
      }
      this.initTime()
      setTimeout(function () {
@ -225,6 +230,15 @@ Vue.component('activity-register', {
          area: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.level = 3 // 社区管理
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
      }
      this.yearType = '1'
@ -462,6 +476,30 @@ Vue.component('activity-register', {
          activityStatus: '',
          range: range
        }
        switch (prop) {
          case 'eventTotal':
            this.query.activityStatus = ''
            break
          case 'eventDoneNum':
            this.query.activityStatus = '6'
            break
          case 'eventIngNum':
            this.query.activityStatus = '2'
            break
          case 'eventNotStartNum':
            this.query.activityStatus = '4'
            break
          case 'healthSportNum':
            this.query.firstClassify = '健康运动类'
            break
          case 'healthEduNum':
            this.query.firstClassify = '健康教育类'
            break
          case 'promoteBusinessNum':
            this.query.firstClassify = '促进业务类'
            break
        }
        if (range == 'town') {
          this.query.area = row.code
        } else if (range == 'hospital') {
@ -484,6 +522,14 @@ Vue.component('activity-register', {
        } else if (range == 'hospital') {
          this.query1.hospital = row.code
        }
        var dict = {
          signUpTotal: '',
          healthSportSignUpNum: '健康运动类',
          healthEduSignUpNum: '健康教育类',
          promoteBusinessSignUpNum: '促进业务类'
        }
        this.query1.firstClassify = dict[prop]
        this.dialogShow1 = true
        this.searchActivityRegistry()
        this.page1 = 1
@ -492,40 +538,19 @@ Vue.component('activity-register', {
    previewRegisterDetail(row, prop) {
      this.query1 = {
        activityId: row.id,
        title: '',
        title: row.title,
        hospitalName: '',
        doctorName: '',
        firstClassify: '',
        secondClassify: ''
        firstClassify: row.firstClassify,
        secondClassify: row.secondClassify
      }
      if (prop == 'title') {
        this.dialogShow1 = true
        this.searchActivityRegistry()
      }
      this.dialogShow1 = true
      this.searchActivityRegistry()
    },
    getSecondClassifyList(val) {
      switch (val) {
        case '':
          return [
            { label: '全部', value: '' },
            { label: '健康运动', value: '健康运动' },
            { label: '健康问答', value: '健康问答' },
            { label: '健康咨询', value: '健康咨询' }
          ]
        case '健康运动':
          return [
            { label: '全部', value: '' },
            { label: '健康运动', value: '健康运动' }
          ]
        case '健康教育':
          return [
            { label: '全部', value: '' },
            { label: '健康问答', value: '健康问答' }
          ]
        case '促进业务':
          return [
            { label: '全部', value: '' },
            { label: '健康咨询', value: '健康咨询' }
          ]
      }
      return getSecondClassifyList(val)
    }
  },
  mounted() {

+ 4 - 4
component/statistics/ActivityRegisterDetail/index.html

@ -24,7 +24,7 @@
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">居民姓名:</label>
      <el-input v-model="form.name" placeholder="请输入居民姓名进行搜索"></el-input>
      <el-input v-model="form.patientName" placeholder="请输入居民姓名进行搜索"></el-input>
    </div>
    <div class="searchDiv pb20 pr20">
      <label class="c-333 c-f14">手机号码:</label>
@ -42,9 +42,9 @@
      <label class="c-333 c-f14">活动一级类别:</label>
      <el-select v-model="form.firstClassify" @change="form.secondClassify = ''">
        <el-option label="全部" value=""></el-option>
        <el-option label="健康运动" value="健康运动"></el-option>
        <el-option label="健康教育" value="健康教育"></el-option>
        <el-option label="促进业务" value="促进业务"></el-option>
        <el-option label="健康运动类" value="健康运动类"></el-option>
        <el-option label="健康教育类" value="健康教育类"></el-option>
        <el-option label="促进业务类" value="促进业务类"></el-option>
      </el-select>
    </div>
    <div class="searchDiv pb20 pr20">

+ 6 - 29
component/statistics/ActivityRegisterDetail/index.js

@ -33,9 +33,9 @@ Vue.component('activity-register-detail', {
      loading: false,
      exportLoading: false,
      rangeOptions: [
        { label: '区', value: 'town' },
        { label: '社区', value: 'hospital' },
        { label: '团队', value: 'team' }
        { label: '按区', value: 'town' },
        { label: '按社区', value: 'hospital' },
        { label: '按团队', value: 'team' }
      ],
      areaOptions: [
        { label: '思明区', value: '350203' },
@ -90,8 +90,8 @@ Vue.component('activity-register-detail', {
      } else {
        this.level = 3 // 社区管理
        this.rangeOptions = [
          { label: '社区', value: 'hospital' },
          { label: '团队', value: 'team' }
          { label: '按社区', value: 'hospital' },
          { label: '按团队', value: 'team' }
        ]
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
@ -232,30 +232,7 @@ Vue.component('activity-register-detail', {
      })
    },
    getSecondClassifyList(val) {
      switch (val) {
        case '':
          return [
            { label: '全部', value: '' },
            { label: '健康运动', value: '健康运动' },
            { label: '健康问答', value: '健康问答' },
            { label: '健康咨询', value: '健康咨询' }
          ]
        case '健康运动':
          return [
            { label: '全部', value: '' },
            { label: '健康运动', value: '健康运动' }
          ]
        case '健康教育':
          return [
            { label: '全部', value: '' },
            { label: '健康问答', value: '健康问答' }
          ]
        case '促进业务':
          return [
            { label: '全部', value: '' },
            { label: '健康咨询', value: '健康咨询' }
          ]
      }
      return getSecondClassifyList(val)
    }
  },
  mounted() {

+ 32 - 7
component/statistics/MoneyReward/index.js

@ -41,8 +41,8 @@ Vue.component('money-reward', {
        2: '女'
      },
      rangeOptions: [
        { label: '区', value: 'town' },
        { label: '社区', value: 'hospital' }
        { label: '按区', value: 'town' },
        { label: '按社区', value: 'hospital' }
      ],
      areaOptions: [
        { label: '思明区', value: '350203' },
@ -54,7 +54,8 @@ Vue.component('money-reward', {
      ],
      level: 0,
      tableHeader: [],
      serviceType: []
      serviceType: [],
      hospitalOptions: []
    }
  },
  watch: {
@ -93,6 +94,18 @@ Vue.component('money-reward', {
          serviceType: ''
        }
        this.getHospital(selectedRole.code)
      } else {
        this.rangeOptions = [{ label: '按社区', value: 'hospital' }]
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code,
          serviceType: ''
        }
        this.level = 3 // 社区管理
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
      }
      this.initTime()
      this.searchFn()
@ -150,8 +163,11 @@ Vue.component('money-reward', {
      var vm = this
      var params = {
        ...this.form,
        page: this.page,
        pageSize: this.size
        menu: this.header
          .map(function (item) {
            return item.prop
          })
          .join(',')
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
@ -164,8 +180,8 @@ Vue.component('money-reward', {
      }
      this.exportLoading = true
      var fileName = `红包奖励汇总${new Date().getTime()}.xls`
      
      httpRequest.downLoadFileForAjax('statisticsExport/exPatinetIntegralAnalysis', fileName, params).then(function () {
      httpRequest.downLoadFileForAjax('/doctor/healthBank/exportRedPackageRewardStatistics', fileName, params).then(function () {
        vm.exportLoading = false
      })
    },
@ -183,6 +199,15 @@ Vue.component('money-reward', {
          serviceType: ''
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code,
          serviceType: ''
        }
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
      }
      this.yearType = '1'

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

@ -45,7 +45,6 @@ Vue.component('money-reward-detail', {
      size: 10,
      total: 0,
      serviceType: []
    }
  },
  methods: {
@ -75,7 +74,7 @@ Vue.component('money-reward-detail', {
      this.initTime()
      this.searchFn()
    },
    
    initTime() {
      var vm = this
      var now = new Date()
@ -89,7 +88,7 @@ Vue.component('money-reward-detail', {
    getDictData() {
      var vm = this
      statisticAPI.getDictByDictName({ name: 'health_bank_service_type' }).then(function (res) {
        vm.serviceType = [{label: '全部', value: ''}].concat(res.list)
        vm.serviceType = [{ label: '全部', value: '' }].concat(res.list)
      })
    },
    searchFn() {
@ -144,12 +143,14 @@ Vue.component('money-reward-detail', {
      var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
      if (this.level == 1) {
        this.form = {
          range: 'town'
          range: 'town',
          serviceType: ''
        }
      } else if (this.level == 2) {
        this.form = {
          range: 'town',
          area: selectedRole.code
          area: selectedRole.code,
          serviceType: ''
        }
        this.getHospital(selectedRole.code)
      }

+ 22 - 1
component/statistics/RedBagReward/index.js

@ -176,7 +176,28 @@ Vue.component('red-bag-reward', {
        })
    },
    eliminateClick() {
      this.resetArea()
      var selectedRole = JSON.parse(sessionStorage.getItem('selectedRole'))
      if (this.level == 1) {
        this.form = {
          range: 'town',
          serviceType: ''
        }
      } else if (this.level == 2) {
        this.form = {
          range: 'town',
          area: selectedRole.code,
          serviceType: ''
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.getTeam(selectedRole.code)
      }
      this.yearType = '1'
      this.chooseYear = new Date().getFullYear()
      this.chooseTime = null

+ 6 - 4
component/statistics/ResidentScore/index.js

@ -31,9 +31,9 @@ Vue.component('resident-score', {
      loading: false,
      exportLoading: false,
      rangeOptions: [
        { label: '区', value: 'town' },
        { label: '社区', value: 'hospital' },
        { label: '团队', value: 'team' }
        { label: '按区', value: 'town' },
        { label: '按社区', value: 'hospital' },
        { label: '按团队', value: 'team' }
      ],
      areaOptions: [
        { label: '思明区', value: '350203' },
@ -44,7 +44,9 @@ Vue.component('resident-score', {
        { label: '翔安区', value: '350213' }
      ],
      level: 0,
      tableHeader: []
      tableHeader: [],
      hospitalOptions: [],
      teamOptions: []
    }
  },
  watch: {

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

@ -44,7 +44,7 @@
    </div>
    <div class="searchDiv pb20 pr20" v-if="form.range == 'hospital'||form.range == 'team'">
      <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>

+ 20 - 3
component/statistics/ResidentScoreDetail/index.js

@ -42,7 +42,8 @@ Vue.component('resident-score-detail', {
      tableHeader: [],
      page: 1,
      size: 10,
      total: 0
      total: 0,
      hospitalOptions: []
    }
  },
  methods: {
@ -66,6 +67,16 @@ Vue.component('resident-score-detail', {
          area: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.rangeOptions = [{ label: '按社区', value: 'hospital' }]
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
        this.level = 3 // 社区管理
        this.areaOptions = [{ label: selectedRole.name.substring(0, 3), value: selectedRole.code.substring(0, 6) }]
        this.hospitalOptions = [{ name: selectedRole.name, code: selectedRole.code }]
      }
      this.initTime()
      this.searchFn()
@ -122,8 +133,8 @@ Vue.component('resident-score-detail', {
        params.signYear = this.chooseYear
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0] + ' 00:00'
          params.endDate = this.chooseTime[1] + ' 23:59'
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      }
      this.exportLoading = true
@ -144,6 +155,12 @@ Vue.component('resident-score-detail', {
          area: selectedRole.code
        }
        this.getHospital(selectedRole.code)
      } else {
        this.form = {
          range: 'hospital',
          area: selectedRole.code.substring(0, 6),
          hospital: selectedRole.code
        }
      }
      this.yearType = '1'