瀏覽代碼

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

hwy 3 月之前
父節點
當前提交
5da5ab712d

+ 4 - 4
app/statistics/html/comprehensive-query.html

@ -823,10 +823,10 @@
                  <bed-check v-if="handleNodeId == 74"></bed-check>
                  <referral v-if="handleNodeId == 75"></referral>
                  <call-record v-if="handleNodeId == 76"></call-record>
                  <gxb-evaluation v-if="handleNodeId == 77"></gxb-evaluation>
                  <gxb-turnup v-if="handleNodeId == 78"></gxb-turnup>
                  <gxb-mz v-if="handleNodeId == 79"></gxb-mz>
                  <gxb-cy v-if="handleNodeId == 80"></gxb-cy>
                  <gxb-evaluation v-if="handleNodeId == 77" ref="gxbEvaluation"></gxb-evaluation>
                  <gxb-turnup v-if="handleNodeId == 78" ref="gxbTurnup"></gxb-turnup>
                  <gxb-mz v-if="handleNodeId == 79" ref="gxbMz"></gxb-mz>
                  <gxb-cy v-if="handleNodeId == 80" ref="gxbCy"></gxb-cy>
                  <gxb-manage v-if="handleNodeId == 81"></gxb-manage>
                  <sign-situation v-if="handleNodeId == 82"></sign-situation>
                  <jz-situation v-if="handleNodeId == 83"></jz-situation>

+ 16 - 0
app/statistics/js/comprehensive-query.js

@ -640,6 +640,22 @@ new Vue({
    for (var i = 46; i <= 91; i++) {
      this.componentId.push(i + '')
    }
    EventBus.$on('toPage', function (data) {
      console.log(data);
      
      vm.handleNodeId = data.id
      vm.$nextTick(function () {
        if (vm.handleNodeId == 77) {
          vm.$refs.gxbEvaluation.getData(data)
        } else if (vm.handleNodeId == 78) {
          vm.$refs.gxbTurnup.getData(data)
        } else if (vm.handleNodeId == 79) {
          vm.$refs.gxbMz.getData(data)
        } else if (vm.handleNodeId == 80) {
          vm.$refs.gxbCy.getData(data)
        }
      })
    })
  },
  methods: {
    getfwDictName() {

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

@ -47,7 +47,7 @@
      </el-select>
    </div>
    <div class="searchDiv pb20">
      <el-button type="primary" size="mini" @click="search">查询</el-button>
      <el-button type="primary" size="mini" @click="searchFn">查询</el-button>
      <el-button type="ff9526" size="mini" @click="exportTable" :disabled="exportLoading">导出</el-button>
      <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
    </div>

+ 36 - 10
component/statistics/GxbEvaluation/index.js

@ -118,7 +118,7 @@ Vue.component('gxb-evaluation', {
        this.getTeam(selectedRole.code)
      }
      this.initTime()
      this.search()
      this.searchFn()
    },
    initTime() {
      var vm = this
@ -142,11 +142,12 @@ Vue.component('gxb-evaluation', {
        delete this.form.team
      }
    },
    search() {
    searchFn() {
      var vm = this
      this.loading = true
      var params = {
        ...this.form
        ...this.form,
        isTotal: 1
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
@ -172,10 +173,10 @@ Vue.component('gxb-evaluation', {
            var data = JSON.parse(JSON.stringify(item))
            if (vm.form.range == 'town') {
              data.town = item.name
              data.hasChildren = true
              data.hasChildren = item.code && true
            } else if (vm.form.range == 'hospital') {
              data.hospital = item.name
              data.hasChildren = true
              data.hasChildren = item.code && true
            } else if (vm.form.range == 'team') {
              data.team = item.name
            }
@ -212,10 +213,12 @@ Vue.component('gxb-evaluation', {
      this.chooseTime = null
      this.$forceUpdate()
    },
    getHospital(code) {
    getHospital(code, flag = true) {
      var vm = this
      delete this.form.hospital
      delete this.form.team
      if (flag) {
        delete this.form.hospital
        delete this.form.team
      }
      var params = {
        type: 5,
        code: code
@ -225,9 +228,9 @@ Vue.component('gxb-evaluation', {
        vm.hospitalOptions = vm.hospitalOptions.concat(res.list)
      })
    },
    getTeam(code) {
    getTeam(code, flag = true) {
      var vm = this
      delete this.form.team
      if (flag) delete this.form.team
      var params = {
        hospital: code,
        area: this.form.area
@ -480,6 +483,29 @@ Vue.component('gxb-evaluation', {
    },
    closeMessageDialog() {
      this.messageVisible = false
    },
    getData(data) {
      this.yearType = data.yearType
      this.form.range = data.range
      this.form.area = data.area
      this.form.hospital = data.hospital
      this.form.team = data.team
      if (this.yearType == 1) {
        this.chooseYear = data.time
      } else {
        this.chooseTime = data.time
      }
      if (this.form.hospital) {
        // 如果有社区code传过来就调社区医院列表接口
        this.getHospital(data.area, false)
      }
      if (this.form.team) {
        // 如果有团队code传过来就调团队列表接口
        this.getTeam(data.hospital, false)
      }
      this.searchFn()
    }
  },
  mounted() {

+ 5 - 18
component/statistics/GxbManageSum/index.html

@ -47,29 +47,16 @@
      </el-select>
    </div>
    <div class="searchDiv pb20">
      <el-button type="primary" size="mini" @click="queryDate">查询</el-button>
      <el-button type="primary" size="mini" @click="searchFn">查询</el-button>
      <el-button type="ff9526" size="mini" @click="exportTable" :disabled="exportLoading">导出</el-button>
      <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
    </div>
  </div>
  <!-- <el-table :data="tableData" style="width: 100%" v-loading="loading" row-key="id" :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
    <el-table-column type="index" min-width="60" label="序号"></el-table-column>
  <el-table :data="tableData" style="width: 100%" v-loading="loading" row-key="code" lazy :load="load" :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
    <el-table-column :label="item.label" v-for="item in tableHeader" :min-width="item.width" :key="item.prop">
      <template slot-scope="scope">{{scope.row[item.prop]}}</template>
      <template slot-scope="scope">
        <span @click="toPage(scope.row, item.prop)" style="cursor: pointer">{{scope.row[item.prop]}}</span>
      </template>
    </el-table-column>
  </el-table> -->
  <el-table :data="tableData" style="width: 100%; margin-bottom: 20px" row-key="id" border default-expand-all :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
    <el-table-column prop="date" label="日期" sortable width="180"></el-table-column>
    <el-table-column prop="name" label="姓名" sortable width="180"></el-table-column>
    <el-table-column prop="address" label="地址"></el-table-column>
  </el-table>
  <el-pagination
    @current-change="handleCurrentChange"
    @size-change="handleSizeChange"
    :current-page.sync="page"
    :page-size="size"
    :page-sizes="[10, 20, 50]"
    layout="total, sizes, prev, pager, next, jumper"
    :total="total"
    class="pagination"></el-pagination>
</div>

+ 132 - 74
component/statistics/GxbManageSum/index.js

@ -40,58 +40,14 @@ Vue.component('gxb-manage-sum', {
      },
      loading: false,
      exportLoading: false,
      tableData: [
        {
          id: 1,
          date: '2016-05-02',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1518 弄'
        },
        {
          id: 2,
          date: '2016-05-04',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1517 弄'
        },
        {
          id: 3,
          date: '2016-05-01',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1519 弄',
          children: [
            {
              id: 31,
              date: '2016-05-01',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1519 弄'
            },
            {
              id: 32,
              date: '2016-05-01',
              name: '王小虎',
              address: '上海市普陀区金沙江路 1519 弄'
            }
          ]
        },
        {
          id: 4,
          date: '2016-05-03',
          name: '王小虎',
          address: '上海市普陀区金沙江路 1516 弄'
        }
      tableData: [],
      tableHeader: [],
      constantHeader: [
        { label: '筛评人数', prop: 'totalNum', width: '90' },
        { label: '上转人数', prop: 'turnUpNum', width: '90' },
        { label: '下转人数', prop: 'turnDownNum', width: '90' },
        { label: '康复管理人数', prop: 'rehabilitationNum', width: '90' }
      ],
      tableHeader: [
        { label: '地区', prop: 'a', width: '90' },
        { label: '社区', prop: 'b', width: '90' },
        { label: '团队', prop: 'c', width: '100' },
        { label: '评估人数', prop: 'd', width: '90' },
        { label: '上转人数', prop: 'e', width: '90' },
        { label: '下转人数', prop: 'f', width: '90' },
        { label: '康复管理人数', prop: 'g', width: '90' }
      ],
      page: 1,
      size: 10,
      total: 0,
      level: 0
    }
  },
@ -132,7 +88,7 @@ Vue.component('gxb-manage-sum', {
        this.getTeam(selectedRole.code)
      }
      this.initTime()
      this.getList()
      this.searchFn()
    },
    initTime() {
      var vm = this
@ -156,14 +112,12 @@ Vue.component('gxb-manage-sum', {
        delete this.form.team
      }
    },
    getList() {
      return
    searchFn() {
      var vm = this
      this.loading = true
      var params = {
        ...this.form,
        page: this.page,
        pageSize: this.size
        isTotal: 1
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
@ -174,25 +128,37 @@ Vue.component('gxb-manage-sum', {
          params.endDate = this.chooseTime[1]
        }
      }
      if (this.form.range == 'town') {
        this.tableHeader = getTownHeader().concat(this.constantHeader)
      } else if (this.form.range == 'hospital') {
        this.tableHeader = getHospitalHeader().concat(this.constantHeader)
      } else {
        this.tableHeader = getTeamHeader().concat(this.constantHeader)
      }
      httpRequest.get('statistics/collaborate/gxbScreenClosedLoop', { data: params }).then(function (res) {
      httpRequest.get('statistics/collaborate/gxbScreenInfoTotal', { data: params }).then(function (res) {
        if (res.status == 200) {
          vm.tableData = res.detailModelList
          vm.total = res.totalCount
          vm.tableData = res.detailModelList.map(function (item) {
            var data = JSON.parse(JSON.stringify(item))
            if (vm.form.range == 'town') {
              data.town = item.name
              data.hasChildren = item.code && true
            } else if (vm.form.range == 'hospital') {
              data.hospital = item.name
              data.hasChildren = item.code && true
            } else if (vm.form.range == 'team') {
              data.team = item.name
            }
            return data
          })
        }
        vm.loading = false
      })
    },
    queryDate() {
      this.page = 1
      this.getList()
    },
    exportTable() {
      var vm = this
      var params = {
        ...this.form,
        page: this.page,
        pageSize: this.size
        ...this.form
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
@ -204,8 +170,8 @@ Vue.component('gxb-manage-sum', {
        }
      }
      this.exportLoading = true
      var fileName = `冠心病管理全流程闭环情况${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('statistics/collaborate/exportGxbScreenClosedLoop', fileName, params).then(function () {
      var fileName = `冠心病筛评管理情况汇总表${new Date().getTime()}.xls`
      httpRequest.downLoadFileForAjax('statistics/collaborate/exportGxbScreenInfoTotal', fileName, params).then(function () {
        vm.exportLoading = false
      })
    },
@ -241,13 +207,105 @@ Vue.component('gxb-manage-sum', {
        vm.teamOptions = vm.teamOptions.concat(res.data)
      })
    },
    handleCurrentChange(val) {
      this.page = val
      this.getList()
    load(row, treeNode, resolve) {
      var params = {}
      var len = row.code.length
      if (len == 6) {
        params.range = 'hospital'
        params.area = row.code
      } else if (len == 10) {
        params.range = 'team'
        params.hospital = row.code
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
        params.endDate = this.chooseYear + '-12-31'
      } else {
        if (this.chooseTime) {
          params.startDate = this.chooseTime[0]
          params.endDate = this.chooseTime[1]
        }
      }
      httpRequest.get('statistics/collaborate/gxbScreenInfoTotal', { data: params }).then(function (res) {
        if (res.status == 200) {
          var children = res.detailModelList.map(function (item) {
            var data = {
              ...item
            }
            if (len == 6) {
              data.hospital = item.name
              data.hasChildren = true
              data.town1 = row.code
            } else if (len == 10) {
              data.team = item.name
              data.hospital1 = row.code
              data.town1 = row.town1
            }
            return data
          })
          resolve(children)
        }
      })
    },
    handleSizeChange(val) {
      this.size = val
      this.getList()
    toPage(row, prop) {
      var len = row.code.length
      var range, area, hospital, team
      if (len == 6 && row.code.indexOf('3502') > -1) {
        range = 'town'
        area = row.code
      } else if (len == 10) {
        range = 'hospital'
        area = row.town1
        hospital = row.code
      } else {
        range = 'team'
        area = row.town1
        hospital = row.hospital1
        team = row.code
      }
      if (prop == 'totalNum') {
        EventBus.$emit('toPage', {
          id: '77',
          range: range,
          area: area,
          hospital: hospital,
          team: team,
          yearType: this.yearType,
          time: this.yearType == '1' ? this.chooseYear : this.chooseTime
        })
      } else if (prop == 'turnUpNum') {
        EventBus.$emit('toPage', {
          id: '78',
          range: range,
          area: area,
          hospital: hospital,
          team: team,
          yearType: this.yearType,
          time: this.yearType == '1' ? this.chooseYear : this.chooseTime
        })
      } else if (prop == 'turnDownNum') {
        EventBus.$emit('toPage', {
          id: '79',
          range: range,
          area: area,
          hospital: hospital,
          team: team,
          yearType: this.yearType,
          time: this.yearType == '1' ? this.chooseYear : this.chooseTime
        })
      } else if (prop == 'rehabilitationNum') {
        EventBus.$emit('toPage', {
          id: '80',
          range: range,
          area: area,
          hospital: hospital,
          team: team,
          yearType: this.yearType,
          time: this.yearType == '1' ? this.chooseYear : this.chooseTime
        })
      }
    }
  },
  mounted() {

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

@ -47,7 +47,7 @@
      </el-select>
    </div>
    <div class="searchDiv pb20">
      <el-button type="primary" size="mini" @click="search">查询</el-button>
      <el-button type="primary" size="mini" @click="searchFn">查询</el-button>
      <el-button type="ff9526" size="mini" @click="exportTable" :disabled="exportLoading">导出</el-button>
      <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
    </div>

+ 29 - 5
component/statistics/GxbTurnup/index.js

@ -102,7 +102,7 @@ Vue.component('gxb-turnup', {
        this.getTeam(selectedRole.code)
      }
      this.initTime()
      this.search()
      this.searchFn()
    },
    initTime() {
      var vm = this
@ -126,11 +126,12 @@ Vue.component('gxb-turnup', {
        delete this.form.team
      }
    },
    search() {
    searchFn() {
      var vm = this
      this.loading = true
      var params = {
        ...this.form
        ...this.form,
        isTotal: 1
      }
      if (this.yearType == '1') {
        params.startDate = this.chooseYear + '-01-01'
@ -155,10 +156,10 @@ Vue.component('gxb-turnup', {
            var data = JSON.parse(JSON.stringify(item))
            if (vm.form.range == 'town') {
              data.town = item.name
              data.hasChildren = true
              data.hasChildren = item.code && true
            } else if (vm.form.range == 'hospital') {
              data.hospital = item.name
              data.hasChildren = true
              data.hasChildren = item.code && true
            } else if (vm.form.range == 'team') {
              data.team = item.name
            }
@ -360,6 +361,29 @@ Vue.component('gxb-turnup', {
    seePatientDetail(row) {},
    closeDialog() {
      this.visible = false
    },
    getData(data) {
      this.yearType = data.yearType
      this.form.range = data.range
      this.form.area = data.area
      this.form.hospital = data.hospital
      this.form.team = data.team
      if (this.yearType == 1) {
        this.chooseYear = data.time
      } else {
        this.chooseTime = data.time
      }
      if (this.form.hospital) {
        // 如果有社区code传过来就调社区医院列表接口
        this.getHospital(data.area, false)
      }
      if (this.form.team) {
        // 如果有团队code传过来就调团队列表接口
        this.getTeam(data.hospital, false)
      }
      this.searchFn()
    }
  },
  mounted() {