123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645 |
- Vue.use(Vuedals.default);
- new Vue({
- el: "#main",
- data: {
- height:"",
- isloading:false, //加载中
- start:"",
- end:"",
- tabledata:[], //表格数据
- levelList:[{level:"4",areaLevel:"2"},{level:"3",areaLevel:"3"},{level:"2",areaLevel:"4"}], //两种搜索,地区等级对比
- areaLevel:"", // 2、市,3、区,4、社区,5、团队
- initareaLevel:"",
- initlevel: '',
- initarea: '',
- level: '',
- area: '',
- areaTitle: '',
- index: '121',
- lowLevel: '',
- initlowLevel:"",
- years:[],
- chooseYear: '',
- userRole: '',
- treedata: [],
- tableHeader:[],
- defaultProps: {
- children: 'children',
- label: 'label'
- },
- pickerOptions:{
- disabledDate(time) {
- return time.getTime() > Date.now()
- },
- },
- radio:'1',
- timeLevel: 2,
- searchJson:{},
- currentPage:1,
- currentSize:10,
- datatotal:0,
- rangeList:[],
- rangeCode:"",
- areaList:[],
- areaCode:"",
- communityList:[{code:"",name:"全部"}],
- communityCode:"",
- teamList:[{code:"",name:"全部"}],
- teamCode:"",
- data: [{
- label: '明细查询',
- children: [
- {label: '咨询分析', },
- {label: '签约分析', },
- {label: '专病分析', },
- {label: '生日祝福分析', },
- {label: '上门服务分析', },
- {label: '长处方分析', },
- ]
- }],
- handleNodeShow:1,
- handleNodeId:0,
- radio1:'',
- radio2:'',
- radio3:'',
- radio4:'',
- radio5:'',
- radio6:'',
- radio7:'',
- radio8:'',
- cities:[{value:'高血压',num:'1'},
- {value:'糖尿病',num:'2'},
- {value:'65岁以上人群',num:'3'},
- {value:'0-6岁小孩',num:'4'},
- {value:'计划生育家庭',num:'5'},
- {value:'严重精神障碍',num:'6'},
- {value:'残疾人',num:'7'},
- {value:'普通人群',num:'8'},
- {value:'结核病',num:'9'},
- {value:'低保人群',num:'10'},
- {value:'孕产妇',num:'11'},
- ],
- checkedCities: [],
- specialCities:[{value:'冠心病',num:'1'},
- {value:'慢性前列腺',num:'2'},
- {value:'脑卒中',num:'3'},
- {value:'慢性乳腺疾病',num:'4'},
- {value:'慢性阻塞性肺病',num:'5'},
- {value:'慢性肝病',num:'6'},
- {value:'肺癌',num:'7'},
- {value:'慢性肾病',num:'8'},
- {value:'慢性胃肠病',num:'9'},
- {value:'慢性妇科炎症',num:'10'},
- ],
- specialCheckedCities:[],
- serveCities:[{value:'残疾人',num:'1'},
- {value:'失能/半失能老人',num:'2'},
- {value:'80岁以上老人',num:'3'},
- {value:'肺结核患者',num:'4'},
- {value:'计生特殊家庭',num:'5'},
- {value:'重性精神病',num:'6'},
- {value:'其他',num:'7'},
- ],
- serveSpecialCities:[],
- options: [{
- value: '请选择',
- label: ''
- }, {
- value: '是',
- label: '1'
- }, {
- value: '否',
- label: '0'
- },],
- value: '',
- form:{
- endorseTheTicket:'',
- renew:'',
- backToSign:'',
- WeChat:'',
- },
- form2:{
- juniorCollege:'',
- family:'',
- resident:'',
- },
- form3:{
- family:'',
- resident:'',
- },
- form4:{
- family:'',
- resident:'',
- },
- form5:{
- family:'',
- resident:'',
- },
- handleData:[],
- diseaseData:[],
- serviceTypeData:[],
- analyseData:[], //分析数据
- },
- components: {
- vuedals: Vuedals.Component
- },
- watch: {
- rangeCode: function (val) {
- var vm=this
- if(vm.initlevel != 2){
- vm.communityCode=""
- }
- vm.teamCode=""
- vm.getTreeList()
- },
- areaCode:function(val){
- var vm=this
- vm.selChange(3)
- },
- communityCode:function(val){
- var vm=this
- vm.selChange(5)
- },
- },
- mounted: function () {
- var vm=this
- //初始化数据
- initData(vm);
- vm.height = document.body.offsetHeight - 85
- window.onresize = function () {
- vm.height = document.body.offsetHeight - 85
- console.log(vm.height)
- }
- },
- methods: {
- // 签约人群
- handleCheckedCitiesChange:function(value) {
- var vm = this
- vm.handleData = value
- },
- // 下转病种
- diseaseChange:function(value) {
- var vm = this
- vm.diseaseData = value
- },
- // 服务类型
- serviceTypeChange:function(value) {
- var vm = this
- vm.serviceTypeData = value
- },
- treedataClick:function(name,data) {
- var vm = this
- vm.handleNodeShow = 1
- vm.handleNodeId = 0
- vm.radio = '1'
- // initTime(vm)
- // initScope(vm)
- },
- handleNodeClick:function(name,data) {
- var vm = this
- if(data.id>=3) {
- vm.handleNodeShow = 2
- vm.tableHeader = []
- vm.analyseData = []
- }
- vm.handleNodeId = data.id
- vm.radio = '1'
- initTime(vm)
- initScope(vm)
- vm.analysFunction(vm.handleNodeId)
- },
- analysFunction:function(id) {
- // idcard = idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2") 身份证 医保卡 脱敏显示
-
- if(id == 3) {
- // 咨询分析
- }else if(id == 4) {
- // 签约分析
-
- }else if(id == 5) {
- // 专病分析
-
- }else if(id == 6) {
- // 生日祝福分析
-
- }else if(id == 7) {
- // 上门服务分析
-
- }else if(id == 8) {
- // 长处方分析
- }
- },
- getTreeList:function(){
- var vm=this
- statisticAPI.exportTreeList({rang:vm.rangeCode}).then(function(res){
- if(res.status == 200){
- vm.treedata = [],jindex=0
- _.each(res.data,function(item,index){
- vm.treedata.push({
- id:"p_"+jindex,
- label:index,
- children:[]
- })
- _.each(item,function(citem,cindex){
- vm.treedata[jindex].children.push({
- id:cindex,
- label:citem,
- })
- })
- jindex++
- })
- }
- })
- },
- beforeReq:function(flag){
- var vm=this,startDate="",endDate="",checked=[]
- if(vm.radio=="1"){
- startDate = getStartDate(vm.chooseYear-1)
- endDate = getEndDate(vm.chooseYear)
- vm.timeLevel = 2
- }else{
- if(!vm.start&&!vm.end){
- this.$message({
- message: '请选择创建时间',
- type: 'warning'
- });
- return false
- }else{
- if(vm.start>vm.end){
- this.$message({
- message: '开始时间应早于结束时间',
- type: 'warning'
- });
- return false
- }else{
- startDate = vm.start
- endDate = vm.end
- vm.timeLevel = 1
- }
- }
- }
- if(vm.handleNodeId == 0) {
- var checkTree = vm.$refs.tree.getCheckedNodes(true);
- if(checkTree.length){
- if(!flag){
- vm.tableHeader = []
- }
- _.each(checkTree,function(item,index){
- if(!flag){
- vm.tableHeader.push({prop:item.label,label:item.label})
- }
- checked.push(item.id)
- })
- }else{
- this.$message({
- message: '请选择搜索指标!',
- type: 'warning'
- });
- return false
- }
- }else if(vm.handleNodeId == 2) {
- this.$message({
- message: '请选择明细查询!',
- type: 'warning'
- });
- return false
- }
- return {start:startDate,end:endDate,checked:checked.join(",")}
- },
- // 查询
- searchHandle:function(){
- var vm = this,searchJson=undefined
- console.log("before-pass")
- searchJson = vm.beforeReq()
- if(vm.handleNodeId == 0) {
- if(searchJson){
- vm.currentPage = 1
- vm.searchJson = {
- startDate:searchJson.start,
- endDate:searchJson.end,
- quotaStr:searchJson.checked,
- range:vm.rangeCode,
- team:vm.teamCode,
- hospital:vm.communityCode,
- area:vm.areaCode=="350200"?"":vm.areaCode,
- size:vm.currentSize,
- page:vm.currentPage,
- timeLevel: vm.timeLevel
- }
- console.log(vm.searchJson,"vm.searchJson")
- vm.getStatisticDataList()
- }
- }else if(vm.handleNodeId == 3) {
- // 咨询分析
- var par = {
- '开始时间':searchJson.start,
- '结束时间':searchJson.end,
- '咨询状态':vm.radio1,
- '数据范围':vm.rangeCode,
- '地区':vm.areaCode=="350200"?"":vm.areaCode,
- '社区':vm.communityCode,
- '团队':vm.teamCode,
- }
- console.log(par,'查询')
-
- }else if(vm.handleNodeId == 4) {
- // 签约分析
- var par = {
- '开始时间':searchJson.start,
- '结束时间':searchJson.end,
- '咨询状态':vm.radio2,
- '签约人群':vm.handleData,
- "是否改签":vm.form.endorseTheTicket,
- "是否续签":vm.form.renew,
- "是否退签":vm.form.backToSign,
- "绑定微信":vm.form.WeChat,
- '数据范围':vm.rangeCode,
- '地区':vm.areaCode=="350200"?"":vm.areaCode,
- '社区':vm.communityCode,
- '团队':vm.teamCode,
- }
- console.log(vm.handleData,"签约人群多选")
- console.log(par,'查询')
- }else if(vm.handleNodeId == 5) {
- // 专病分析
- var par = {
- '开始时间':searchJson.start,
- '结束时间':searchJson.end,
- '下转状态':vm.radio3,
- '下转病种':vm.diseaseData,
- "专科医生":vm.form2.juniorCollege,
- "家庭医生":vm.form2.family,
- "居民姓名":vm.form2.resident,
- '数据范围':vm.rangeCode,
- '地区':vm.areaCode=="350200"?"":vm.areaCode,
- '社区':vm.communityCode,
- '团队':vm.teamCode,
- }
- console.log(vm.diseaseData,"下转病种多选")
- console.log(par,'查询')
- }else if(vm.handleNodeId == 6) {
- // 生日祝福分析
- var par = {
- '开始时间':searchJson.start,
- '结束时间':searchJson.end,
- '发送状态':vm.radio4,
- "家庭医生":vm.form3.family,
- "居民姓名":vm.form3.resident,
- '数据范围':vm.rangeCode,
- '地区':vm.areaCode=="350200"?"":vm.areaCode,
- '社区':vm.communityCode,
- '团队':vm.teamCode,
- }
- console.log(par,'查询')
- }else if(vm.handleNodeId == 7) {
- // 上门服务分析
- var par = {
- '开始时间':searchJson.start,
- '结束时间':searchJson.end,
- '工单状态':vm.radio5,
- '服务类型':vm.serviceTypeData,
- "家庭医生":vm.form4.family,
- "居民姓名":vm.form4.resident,
- '数据范围':vm.rangeCode,
- '地区':vm.areaCode=="350200"?"":vm.areaCode,
- '社区':vm.communityCode,
- '团队':vm.teamCode,
- }
- console.log(vm.serviceTypeData,"服务类型多选")
- console.log(par,'查询')
- }else if(vm.handleNodeId == 8) {
- // 长处方分析
- var par = {
- '开始时间':searchJson.start,
- '结束时间':searchJson.end,
- '续方状态':vm.radio6,
- '疾病类型':vm.radio7,
- '取药方式':vm.radio8,
- "家庭医生":vm.form5.family,
- "居民姓名":vm.form5.resident,
- '数据范围':vm.rangeCode,
- '地区':vm.areaCode=="350200"?"":vm.areaCode,
- '社区':vm.communityCode,
- '团队':vm.teamCode,
- }
- console.log(par,'查询')
- }
- },
- getStatisticDataList:function(){
- var vm = this
- vm.isloading = true
- var params=JSON.parse(JSON.stringify(vm.searchJson))
- params.page = vm.currentPage
- statisticAPI.getStatisticDataList(params).then(function(res){
- if(res.status == 200) {
- vm.tabledata = res.data.data
- vm.datatotal = res.data.total
- if(vm.tabledata.length){
- vm.tableHeader=[]
- _.each(vm.tabledata[0],function(item,index){
- if(index!="town"&&index!="townName"&&index!="hospital"&&index!="hospitalName"&&index!="area"&&index!="areaName"&&index!="code"&&index!="name")
- vm.tableHeader.push({prop:index,label:index})
- })
- }
- } else {
- vm.$message.error(res.msg)
- }
- vm.isloading = false
- })
- },
- // 导出
- exportHandle:function(){
- var vm =this
- var vm = this,searchJson=undefined
- searchJson = vm.beforeReq('export')
- if(vm.handleNodeId == 0) {
- if(searchJson){
- var areaCode = vm.areaCode=="350200"?"":vm.areaCode
- let str = httpRequest.server + 'statisticsExport/export?startDate='+searchJson.start+'&endDate='+searchJson.end+'"aStr='+searchJson.checked+'&range='+vm.rangeCode+'&area='+areaCode+'&hospital='+vm.communityCode+'&team='+vm.teamCode+'&timeLevel='+vm.timeLevel
- console.log(str)
- window.location.href = str
- }
- }else if(vm.handleNodeId == 3) {
- // 咨询分析
-
- }else if(vm.handleNodeId == 4) {
- // 签约分析
-
- }else if(vm.handleNodeId == 5) {
- // 专病分析
-
- }else if(vm.handleNodeId == 6) {
- // 生日祝福分析
-
- }else if(vm.handleNodeId == 7) {
- // 上门服务分析
-
- }else if(vm.handleNodeId == 8) {
- // 长处方分析
-
- }
- },
- backClick:function(){
- history.go(-1);
- },
- bindEvent:function(){
- var vm=this
- //监听后退按钮的操作
- EventBus.$on("back-click", function (arg) {
- EventBus.$emit('update-statistics-time', {}); //更新统计时间
- vm.backClick()
- });
- //监听页面刷新
- EventBus.$on("refresh-click", function (arg) {
- EventBus.$emit('update-statistics-time', {}); //更新统计时间
- initData(vm)
- });
- $("#main").removeClass("c-hide");
- },
- // 下一页 上一页
- handleCurrentChange:function(val) {
- this.currentPage = val
- if(vm.handleNodeId == 0) {
- this.getStatisticDataList()
- }else if(vm.handleNodeId == 3) {
- // 咨询分析
-
- }else if(vm.handleNodeId == 4) {
- // 签约分析
-
- }else if(vm.handleNodeId == 5) {
- // 专病分析
-
- }else if(vm.handleNodeId == 6) {
- // 生日祝福分析
-
- }else if(vm.handleNodeId == 7) {
- // 上门服务分析
-
- }else if(vm.handleNodeId == 8) {
- // 长处方分析
-
- }
- },
- //获取省市区 type:区3
- getDistrict: function(type,code,name) {
- var vm=this,list = [],param=""
- if(type == 3){
- list = [{code:code,name:name}]
- param = "area"
- }else if(type == 5){
- list = [{code:"",name:"全部"}]
- param = "community"
- }
- var params={
- type:type,code:code
- }
- homeAPI.getDistrict(params).then(function(res) {
- if(res.status == 200) {
- vm[param+"List"]=list.concat(res.list)
- vm[param+"Code"]=vm[param+"List"][0].code
- } else {
- vm.$message.error(res.msg)
- }
- })
- },
- selChange:function(type){
- var vm=this,name=""
- if(type == 3){
- vm.initSelOption("community")
- vm.initSelOption("team")
- vm.getCommunityHospital()
- }else if(type == 5){
- vm.initSelOption("team")
- vm.teamListByArea()
- }
- },
- initSelOption:function(param){
- var vm=this
- vm[param+"List"]=[{code:"",name:"全部"}]
- if(param == "team"){
- vm[param+"List"]=[{id:"",name:"全部"}]
- }
- vm[param+"Code"]=vm[param+"List"][0].code||vm[param+"List"][0].id
- },
- getCommunityHospital:function() {
- var vm=this,list = [{code:"",name:"全部"}],param="community"
- homeAPI.getCommunityHospital({area:vm.areaCode=='350200'?"":vm.areaCode}).then(function(res) {
- if(res.status == 200) {
- vm[param+"List"]=list.concat(res.data)
- vm[param+"Code"]=vm[param+"List"][0].code
- } else {
- vm.$message.error(res.msg)
- }
- })
- },
- teamListByArea:function() {
- var vm=this,list = [{id:"",name:"全部"}],param="team"
- homeAPI.teamListByArea({area:vm.areaCode=='350200'?"":vm.areaCode,hospital:vm.communityCode}).then(function(res) {
- if(res.status == 200) {
- vm[param+"List"]=list.concat(res.data)
- vm[param+"Code"]=vm[param+"List"][0].id
- } else {
- vm.$message.error(res.msg)
- }
- })
- }
- },
- })
- // 初始化时间
- function initTime(vm){
- var now = new Date();
- vm.end = now.format("yyyy-MM-dd")
- var start = now.getTime() - 30*24*60*60*1000
- vm.start = new Date(start).format("yyyy-MM-dd")
-
- vm.nowyear = vm.chooseYear = now.getFullYear()
- vm.nowmonth = now.getMonth()+1
- vm.years = []
- for(i=vm.nowyear; i>=2016; i--){
- vm.years.push(i)
- }
- }
- // 数据范围初始化
- function initScope(vm) {
- //获得缓存中缓存的角色权限
- var userRole = window.sessionStorage.getItem("selectedRole");
- if (!userRole) {
- return false;
- }
- vm.userRole = JSON.parse(userRole);
- //level:2、市,3、区,4、社区,5、团队
- vm.initareaLevel = vm.areaLevel = vm.userRole.code == '350200' ? 2 : vm.userRole.code.length == 6 ? 3 : 4;
- vm.initlevel = vm.level = vm.userRole.code == '350200' ? 4 : vm.userRole.code.length == 6 ? 3 : 2;
- // vm.lowLevel = vm.initlowLevel = vm.userRole.code == '350200' ? 3 : vm.userRole.code.length == 6 ? 2 : 1;
-
- vm.initarea =vm.area = vm.userRole.code;
- vm.areaTitle = vm.userRole.name;
-
- vm.rangeList=[{name:"按区",code:"town"},{name:"按社区",code:"hospital"},{name:"按团队",code:"team"}]
-
- if(vm.initlevel == 4){ //市获取区
- vm.getDistrict(3,vm.initarea,vm.areaTitle.substr(0,3))
- vm.rangeCode = vm.rangeList[0].code
- }else if(vm.initlevel == 3){ //区获取社区
- vm.areaList = [{code:vm.initarea,name:vm.areaTitle}]
- vm.areaCode = vm.initarea
- vm.rangeCode = vm.rangeList[0].code
- }else if(vm.initlevel == 2){ //社区获取团队
- vm.communityList = [{code:vm.initarea,name:vm.areaTitle}]
- vm.communityCode = vm.initarea
- vm.rangeList.shift()
- vm.rangeCode = vm.rangeList[0].code
- }
- vm.searchJson.range = vm.rangeCode
- }
- function initData(vm) {
- initScope(vm)
-
- //初始化时间
- initTime(vm)
-
- vm.tabledata = []
- vm.bindEvent()
- }
|