project.vue 55KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590
  1. <template>
  2. <div class="main-contain">
  3. <div class="position">
  4. <bread-crumb :crumbs="crumbs"></bread-crumb>
  5. </div>
  6. <div class="app-container">
  7. <el-tabs v-model="activeName" @tab-click="handleClick">
  8. <el-tab-pane label="按时间分组" name="first"></el-tab-pane>
  9. <el-tab-pane label="按项目分组" name="second"></el-tab-pane>
  10. </el-tabs>
  11. <div class="cell clearfix">
  12. <!-- <el-select v-model="lapseto" placeholder="请选择" style="width:120px;margin-right:10px" @change="changeOptions">
  13. <el-option
  14. v-for="item in options"
  15. :key="item.value"
  16. :label="item.label"
  17. :value="item.value"
  18. ></el-option>
  19. </el-select> -->
  20. <el-select v-model="type" placeholder="请选择" @change="chooseType" style="margin-right:10px">
  21. <el-option
  22. v-for="item in options1"
  23. :key="item.value"
  24. :label="item.label"
  25. :value="item.value"
  26. ></el-option>
  27. </el-select>
  28. <el-select v-model="mode_type" placeholder="请选择" style="width:120px;margin-right:0px" @change="handleModeType">
  29. <el-option
  30. v-for="item in normdata"
  31. :key="item.inspection_minor"
  32. :label="item.item_name"
  33. :value="item.inspection_minor"
  34. ></el-option>
  35. </el-select>
  36. </div>
  37. <div class="cell clearfix">
  38. <p class="chartTitle">统计图</p>
  39. </div>
  40. <div class="cell clearfix">
  41. <p class="point"></p>
  42. <p class="pointTitle">达标率</p>
  43. </div>
  44. <div>
  45. <line-chart :options="chart"></line-chart>
  46. </div>
  47. <div class="cell clearfix">
  48. <p class="point"></p>
  49. <p class="pointTitle">指标正常范围值</p>
  50. </div>
  51. <div class="cell clearfix newDisplay">
  52. <span v-for="(item,index) in normdata" :key="index" class="index">
  53. <span v-if="item.is_status == 1">{{item.item_name}}</span>
  54. <span v-if="item.is_status == 0 && item.inspection_major == 0 && item.inspection_minor == -1">收缩压</span>
  55. <span v-if="item.is_status == 0 && item.inspection_major == 0 && item.inspection_minor == -2">舒张压</span>
  56. <span v-if="item.range_type == 1 && item.is_status == 1">({{item.min_range}}-{{item.large_range}})</span>
  57. <span v-if="item.range_type == 2 && item.is_status == 1">({{item.range_value}})</span>
  58. <span v-if="item.range_type == 0 && item.is_status == 0">({{item.min_range}}-{{item.large_range}})</span>
  59. </span>
  60. </div>
  61. </div>
  62. </div>
  63. </template>
  64. <script>
  65. const moment = require('moment')
  66. import echarts from "echarts";
  67. import { GetOICData } from "@/api/qcd";
  68. import LineChart from "../../qcd/components/LineChart";
  69. import { uParseTime } from "@/utils/tools";
  70. import BreadCrumb from "@/xt_pages/components/bread-crumb";
  71. import {getNormData,getProjectList,getMonthProjectList,getBloodPressureList,getMonthBloodList } from "@/api/common/common"
  72. export default {
  73. components: {
  74. LineChart,
  75. BreadCrumb
  76. },
  77. data() {
  78. return {
  79. isMode:0,
  80. activeName: "second",
  81. normdata:[],
  82. modesData: {
  83. xAxis: [],
  84. series: []
  85. },
  86. crumbs: [
  87. { path: false, name: "科室质控" },
  88. { path: false, name: "科室质控达标统计" },
  89. { path: false, name: "按项目分组" }
  90. ],
  91. options: [
  92. {
  93. value:0,
  94. label:"全部",
  95. },
  96. {
  97. value: 1,
  98. label: "留治",
  99. },
  100. {
  101. value:2,
  102. label: "转归"
  103. },
  104. ],
  105. options1: [
  106. {
  107. value: 1,
  108. label: "按季度统计对比"
  109. },
  110. {
  111. value: 2,
  112. label: "按月份统计对比"
  113. },
  114. ],
  115. value: "请选项",
  116. lapseto:0,
  117. type:1,
  118. mode_type:"",
  119. range_type:"",
  120. bloodType:-1,
  121. chart: {
  122. // title: {
  123. // text: "ECharts 入门示例"
  124. // },
  125. tooltip: {},
  126. // legend: {
  127. // data: ["次数"],
  128. // left: 0
  129. // },
  130. xAxis: {
  131. data: []
  132. },
  133. yAxis: {
  134. axisLabel: {
  135. formatter: "{value} %"
  136. },
  137. show: false
  138. },
  139. series: [
  140. {
  141. name: "达标率",
  142. type: "bar",
  143. data: [],
  144. barWidth: 30,
  145. label: {
  146. normal: {
  147. show: true,
  148. position: "top",
  149. formatter: "{c}%"
  150. }
  151. },
  152. //配置样式
  153. itemStyle: {
  154. //通常情况下:
  155. //每个柱子的颜色即为colorList数组里的每一项,如果柱子数目多于colorList的长度,则柱子颜色循环使用该数组
  156. normal: {
  157. color: function(params) {
  158. //我这边就两个柱子,大体就两个柱子颜色渐变,所以数组只有两个值,多个颜色就多个值
  159. var colorList = [
  160. ["#A9E0F3", "#9FBDFC"],
  161. ["#A9E0F3", "#9FBDFC"],
  162. ["#A9E0F3", "#9FBDFC"],
  163. ["#FFD7C0", "#FF9994"],
  164. ["#FFD7C0", "#FF9994"],
  165. ["#FFD7C0", "#FF9994"],
  166. ["#D7C3FD", "#B3A8F7"],
  167. ["#D7C3FD", "#B3A8F7"],
  168. ["#D7C3FD", "#B3A8F7"]
  169. ];
  170. var index = params.dataIndex;
  171. if (params.dataIndex >= colorList.length) {
  172. index = params.dataIndex % colorList.length;
  173. }
  174. return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  175. { offset: 0, color: colorList[index][0] },
  176. // { offset: 0.5, color: colorList[index][1] },
  177. { offset: 1, color: colorList[index][1] }
  178. ]);
  179. },
  180. barBorderRadius: [5, 5, 0, 0] //柱状角成椭圆形
  181. },
  182. //鼠标悬停时:
  183. emphasis: {
  184. shadowBlur: 10,
  185. shadowOffsetX: 0,
  186. shadowColor: "rgba(0, 0, 0, 0.2)"
  187. }
  188. }
  189. }
  190. ]
  191. },
  192. syslarge:0,
  193. sysmin:0,
  194. dialarge:0,
  195. diamin:0,
  196. };
  197. },
  198. methods: {
  199. handleClick() {
  200. if (this.activeName == "first") {
  201. this.$router.push({ path: "/qcd/officesControlAnalysis/time" });
  202. }
  203. },
  204. chooseType(val) {
  205. this.type = val;
  206. //按季度
  207. if(val == 1){
  208. if(this.mode_type ==-1 || this.mode_type == -2){
  209. this.getBloodList()
  210. return false
  211. }else{
  212. this.getlist()
  213. }
  214. }
  215. //按月份
  216. if(val == 2){
  217. if(this.mode_type == -1 || this.mode_type == -2){
  218. this.getMonthBloodList()
  219. return false
  220. }else{
  221. this.getMonthList()
  222. }
  223. }
  224. },
  225. changeOptions(val){
  226. if(this.type == 1){
  227. this.lapseto = val
  228. this.getlist()
  229. return false
  230. }
  231. if(this.type == 2){
  232. this.lapseto = val
  233. this.getMonthList()
  234. return false
  235. }
  236. },
  237. getNormData(){
  238. getNormData().then(response=>{
  239. var newArr = []
  240. var normdata = response.data.data.normdata
  241. newArr = normdata
  242. var bloodpressure = response.data.data.bloodPressure
  243. // console.log("血压",bloodpressure)
  244. for(let i=0;i<bloodpressure.length;i++){
  245. if(bloodpressure[i].inspection_major == 0 && bloodpressure[i].inspection_minor == -1 && bloodpressure[i].is_status == 0){
  246. bloodpressure[i].item_name = "收缩压"
  247. this.syslarge = parseInt(bloodpressure[i].large_range)
  248. this.sysmin = parseInt(bloodpressure[i].min_range)
  249. }
  250. if(bloodpressure[i].inspection_major == 0 && bloodpressure[i].inspection_minor == -2 && bloodpressure[i].is_status == 0){
  251. bloodpressure[i].item_name = "舒张压"
  252. this.dialarge = parseInt(bloodpressure[i].large_range)
  253. this.diamin = parseInt(bloodpressure[i].min_range)
  254. }
  255. }
  256. bloodpressure.map(item=>{
  257. newArr.push(item)
  258. })
  259. var newarr = newArr.sort((a,b)=>{ return a.sort-b.sort})
  260. // console.log("newarr",newarr)
  261. for(let i=0;i<newarr.length;i++){
  262. this.mode_type = normdata[0].inspection_minor
  263. }
  264. this.normdata = newarr
  265. this.getBloodList()
  266. })
  267. },
  268. handleModeType(val){
  269. console.log("modetype",this.type,this.mode_type)
  270. if(this.type == 2){
  271. this.bloodType = val
  272. if(this.mode_type == -1 || this.mode_type == -2){
  273. this.getMonthBloodList()
  274. return false
  275. }else{
  276. // console.log("chuff")
  277. this.getMonthList()
  278. return false
  279. }
  280. }
  281. if(val == -1){
  282. // 统计收缩压
  283. this.bloodType = val
  284. this.getBloodList()
  285. return false
  286. }
  287. if(val == -2){
  288. this.bloodType = val
  289. //统计舒张压
  290. this.getBloodList()
  291. return false
  292. }
  293. if(val !=-1 || val !=-2){
  294. this.isMode = 2
  295. this.mode_type = val
  296. this.getlist()
  297. }
  298. },
  299. //季度
  300. getlist(){
  301. this.modesData.series = []
  302. this.modesData.xAxis = []
  303. const firstQuarterStart = moment().startOf('year').format('YYYY-MM-DD')
  304. const firstQuarterEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
  305. //第一季度
  306. const first_quarter_start = moment().startOf('year').format('YYYY-MM-DD')
  307. const first_qurter_end = moment().month(2).endOf('month').format("YYYY-MM-DD")
  308. //第二季度
  309. const second_qurter_start = moment().month(3).startOf('month').format("YYYY-MM-DD")
  310. const second_qurter_end = moment().month(5).endOf('month').format("YYYY-MM-DD")
  311. //第三季度
  312. const three_qurter_start = moment().month(6).startOf('month').format("YYYY-MM-DD")
  313. const three_qurter_end = moment().month(8).endOf('month').format("YYYY-MM-DD")
  314. //第四季度
  315. const four_qurter_start = moment().month(9).startOf('month').format("YYYY-MM-DD")
  316. const four_qurter_end = moment().month(11).endOf('month').format("YYYY-MM-DD")
  317. // console.log("this.modetype",this.mode_type)
  318. for(let i=0;i<this.normdata.length;i++){
  319. if(this.normdata[i].inspection_minor == this.mode_type){
  320. this.range_type = this.normdata[i].range_type
  321. }
  322. }
  323. const params = {
  324. lapseto:this.lapseto,
  325. itemtype:this.type,
  326. modetype:this.mode_type,
  327. startime:firstQuarterStart,
  328. endtime:firstQuarterEnd,
  329. first_quarter_start:first_quarter_start,
  330. first_qurter_end:first_qurter_end,
  331. second_qurter_start:second_qurter_start,
  332. second_qurter_end:second_qurter_end,
  333. three_qurter_start:three_qurter_start,
  334. three_qurter_end:three_qurter_end,
  335. four_qurter_start:four_qurter_start,
  336. four_qurter_end:four_qurter_end,
  337. range_type:this.range_type
  338. }
  339. getProjectList(params).then(response=>{
  340. if(response.data.state === 1){
  341. var list = response.data.data.list
  342. var standList = response.data.data.standList
  343. var newArr = [
  344. {Total:"第一季度",Count:1,NoCount: 0},
  345. {Total:"第二季度",Count:1,NoCount: 0},
  346. {Total:"第三季度",Count:1,NoCount: 0},
  347. {Total:"第四季度",Count:1,NoCount: 0},
  348. ]
  349. //获取2个数组不同的部分
  350. var arrTwo = this.arrayDate(list,newArr)
  351. arrTwo.map(item => {
  352. list.push(item)
  353. })
  354. for(let i=0;i<list.length;i++){
  355. if(list[i].Total == "第一季度"){
  356. list[i].Total = 1
  357. }
  358. if(list[i].Total == "第二季度"){
  359. list[i].Total = 2
  360. }
  361. if(list[i].Total == "第三季度"){
  362. list[i].Total = 3
  363. }
  364. if(list[i].Total == "第四季度"){
  365. list[i].Total = 4
  366. }
  367. }
  368. //排序
  369. list.sort(this.compare('Total'))
  370. for(let i=0;i<list.length;i++){
  371. if(list[i].Total == 1){
  372. list[i].Total = "第一季度"
  373. }
  374. if(list[i].Total == 2){
  375. list[i].Total = "第二季度"
  376. }
  377. if(list[i].Total == 3){
  378. list[i].Total = "第三季度"
  379. }
  380. if(list[i].Total == 4){
  381. list[i].Total = "第四季度"
  382. }
  383. }
  384. var newArrThree = [
  385. {Total:"第一季度",Count:0},
  386. {Total:"第二季度",Count:0},
  387. {Total:"第三季度",Count:0},
  388. {Total:"第四季度",Count:0},
  389. ]
  390. //获取2个数组不同的部分
  391. var standArr = this.arrayDateTwo(standList,newArrThree)
  392. standArr.map(item=>{
  393. standList.push(item)
  394. })
  395. var arrFive = []
  396. for(let i=0;i<list.length;i++){
  397. for(let j=0;j<standList.length;j++){
  398. if(list[i].Total == standList[j].Total){
  399. list[i].NoCount = standList[j].Count
  400. arrFive.push(list[i])
  401. }
  402. }
  403. }
  404. for(const key in arrFive){
  405. this.modesData.xAxis.push(arrFive[key].Total);
  406. this.modesData.series.push(((arrFive[key].NoCount/arrFive[key].Count)*100).toFixed(1));
  407. }
  408. this.chart.series[0].data = this.modesData.series
  409. this.chart.xAxis.data = this.modesData.xAxis
  410. }
  411. })
  412. },
  413. arrayDate(array1,array2){
  414. var array1 = array1;
  415. var array2 = array2;
  416. var result = [];
  417. for(var i = 0; i < array2.length; i++){
  418. var obj = array2[i];
  419. var num = obj.Total; //staff_id 就是要对比的key
  420. var isExist = false;
  421. for(var j = 0; j < array1.length; j++){
  422. var aj = array1[j];
  423. var n = aj.Total;
  424. if(n == num){
  425. isExist = true;
  426. break;
  427. }
  428. }
  429. if(!isExist){
  430. result.push(obj);
  431. }
  432. }
  433. return result;
  434. },
  435. arrayDateTwo(array1,array2){
  436. var array1 = array1;
  437. var array2 = array2;
  438. var result = [];
  439. for(var i = 0; i < array2.length; i++){
  440. var obj = array2[i];
  441. var num = obj.Total; //staff_id 就是要对比的key
  442. var isExist = false;
  443. for(var j = 0; j < array1.length; j++){
  444. var aj = array1[j];
  445. var n = aj.Total;
  446. if(n == num){
  447. isExist = true;
  448. break;
  449. }
  450. }
  451. if(!isExist){
  452. result.push(obj);
  453. }
  454. }
  455. return result;
  456. },
  457. arrayDateThree(array1,array2){
  458. var array1 = array1;
  459. var array2 = array2;
  460. var result = [];
  461. for(var i = 0; i < array2.length; i++){
  462. var obj = array2[i];
  463. var num = obj.Total; //staff_id 就是要对比的key
  464. var isExist = false;
  465. for(var j = 0; j < array1.length; j++){
  466. var aj = array1[j];
  467. var n = aj.Total;
  468. if(n == num){
  469. isExist = true;
  470. break;
  471. }
  472. }
  473. if(!isExist){
  474. result.push(obj);
  475. }
  476. }
  477. return result;
  478. },
  479. arrayDateFour(array1,array2){
  480. var array1 = array1;
  481. var array2 = array2;
  482. var result = [];
  483. for(var i = 0; i < array2.length; i++){
  484. var obj = array2[i];
  485. var num = obj.Total; //staff_id 就是要对比的key
  486. var isExist = false;
  487. for(var j = 0; j < array1.length; j++){
  488. var aj = array1[j];
  489. var n = aj.Total;
  490. if(n == num){
  491. isExist = true;
  492. break;
  493. }
  494. }
  495. if(!isExist){
  496. result.push(obj);
  497. }
  498. }
  499. return result;
  500. },
  501. compare(property){
  502. return function(a,b){
  503. var value1 = a[property];
  504. var value2 = b[property];
  505. return value1 - value2;
  506. }
  507. },
  508. //按月份统计
  509. getMonthList(){
  510. this.modesData.series = []
  511. this.modesData.xAxis = []
  512. const januaryStart = moment().month(0).startOf('month').format("YYYY-MM-DD")
  513. const januaryEnd = moment().month(0).endOf('month').format("YYYY-MM-DD")
  514. const febStart = moment().month(1).startOf('month').format("YYYY-MM-DD")
  515. const febEnd = moment().month(1).endOf('month').format("YYYY-MM-DD")
  516. const marchStart = moment().month(2).startOf('month').format("YYYY-MM-DD")
  517. const marchEnd = moment().month(2).endOf('month').format("YYYY-MM-DD")
  518. const aprStart = moment().month(3).startOf('month').format("YYYY-MM-DD")
  519. const aprEnd = moment().month(3).endOf('month').format("YYYY-MM-DD")
  520. const mayStart = moment().month(4).startOf('month').format("YYYY-MM-DD")
  521. const mayEnd = moment().month(4).endOf('month').format("YYYY-MM-DD")
  522. const junStart = moment().month(5).startOf('month').format("YYYY-MM-DD")
  523. const junEnd = moment().month(5).endOf('month').format("YYYY-MM-DD")
  524. const julStart = moment().month(6).startOf('month').format("YYYY-MM-DD")
  525. const julEnd = moment().month(6).endOf('month').format("YYYY-MM-DD")
  526. const augStart = moment().month(7).startOf('month').format("YYYY-MM-DD")
  527. const augEnd = moment().month(7).endOf('month').format("YYYY-MM-DD")
  528. const sepStart = moment().month(8).startOf('month').format("YYYY-MM-DD")
  529. const sepEnd = moment().month(8).endOf('month').format("YYYY-MM-DD")
  530. const octStart = moment().month(9).startOf('month').format("YYYY-MM-DD")
  531. const octEnd = moment().month(9).endOf('month').format("YYYY-MM-DD")
  532. const novStart = moment().month(10).startOf('month').format("YYYY-MM-DD")
  533. const novEnd = moment().month(10).endOf('month').format("YYYY-MM-DD")
  534. const decStart = moment().month(11).startOf('month').format("YYYY-MM-DD")
  535. const decEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
  536. for(let i=0;i<this.normdata.length;i++){
  537. if(this.normdata[i].inspection_minor == this.mode_type){
  538. this.range_type = this.normdata[i].range_type
  539. }
  540. }
  541. for(let i=0;i<this.normdata.length;i++){
  542. if(this.normdata[i].inspection_minor == this.mode_type){
  543. this.range_type = this.normdata[i].range_type
  544. }
  545. }
  546. const params = {
  547. lapseto:this.lapseto,
  548. itemtype:this.type,
  549. modetype:this.mode_type,
  550. januaryStart:januaryStart,
  551. januaryEnd:januaryEnd,
  552. febStart:febStart,
  553. febEnd:febEnd,
  554. marchStart:marchStart,
  555. marchEnd:marchEnd,
  556. aprStart:aprStart,
  557. aprEnd:aprEnd,
  558. mayStart:mayStart,
  559. mayEnd:mayEnd,
  560. junStart:junStart,
  561. junEnd:junEnd,
  562. julStart:julStart,
  563. julEnd:julEnd,
  564. augStart:augStart,
  565. augEnd:augEnd,
  566. sepStart:sepStart,
  567. sepEnd:sepEnd,
  568. octStart:octStart,
  569. octEnd:octEnd,
  570. novStart:novStart,
  571. novEnd:novEnd,
  572. decStart:decStart,
  573. decEnd:decEnd,
  574. range_type:this.range_type,
  575. }
  576. console.log("222222",params)
  577. getMonthProjectList(params).then(response=>{
  578. if(response.data.state === 1){
  579. var monthlist = response.data.data.monthlist
  580. var newArr = [
  581. {Total:"一月",Count:1,NoCount: 0},
  582. {Total:"二月",Count:1,NoCount: 0},
  583. {Total:"三月",Count:1,NoCount: 0},
  584. {Total:"四月",Count:1,NoCount: 0},
  585. {Total:"五月",Count:1,NoCount: 0},
  586. {Total:"六月",Count:1,NoCount: 0},
  587. {Total:"七月",Count:1,NoCount: 0},
  588. {Total:"八月",Count:1,NoCount: 0},
  589. {Total:"九月",Count:1,NoCount: 0},
  590. {Total:"十月",Count:1,NoCount: 0},
  591. {Total:"十一月",Count:1,NoCount: 0},
  592. {Total:"十二月",Count:1,NoCount: 0},
  593. ]
  594. var newArrTwo = [
  595. {Total:"一月",Count:0},
  596. {Total:"二月",Count:0},
  597. {Total:"三月",Count:0},
  598. {Total:"四月",Count:0},
  599. {Total:"五月",Count:0},
  600. {Total:"六月",Count:0},
  601. {Total:"七月",Count:0},
  602. {Total:"八月",Count:0},
  603. {Total:"九月",Count:0},
  604. {Total:"十月",Count:0},
  605. {Total:"十一月",Count:0},
  606. {Total:"十二月",Count:0},
  607. ]
  608. //获取2个数组不同的部分
  609. var standArr = this.arrayDateThree(monthlist,newArr)
  610. standArr.map(item=>{
  611. monthlist.push(item)
  612. })
  613. //排序
  614. for(let i=0;i<monthlist.length;i++){
  615. if(monthlist[i].Total == "一月"){
  616. monthlist[i].Total = 1
  617. }
  618. if(monthlist[i].Total == "二月"){
  619. monthlist[i].Total = 2
  620. }
  621. if(monthlist[i].Total == "三月"){
  622. monthlist[i].Total = 3
  623. }
  624. if(monthlist[i].Total == "四月"){
  625. monthlist[i].Total = 4
  626. }
  627. if(monthlist[i].Total == "五月"){
  628. monthlist[i].Total = 5
  629. }
  630. if(monthlist[i].Total == "六月"){
  631. monthlist[i].Total = 6
  632. }
  633. if(monthlist[i].Total == "七月"){
  634. monthlist[i].Total = 7
  635. }
  636. if(monthlist[i].Total == "八月"){
  637. monthlist[i].Total = 8
  638. }
  639. if(monthlist[i].Total == "九月"){
  640. monthlist[i].Total = 9
  641. }
  642. if(monthlist[i].Total == "十月"){
  643. monthlist[i].Total = 10
  644. }
  645. if(monthlist[i].Total == "十一月"){
  646. monthlist[i].Total = 11
  647. }
  648. if(monthlist[i].Total == "十二月"){
  649. monthlist[i].Total = 12
  650. }
  651. }
  652. //排序
  653. monthlist.sort(this.compare('Total'))
  654. for(let i=0;i<monthlist.length;i++){
  655. if(monthlist[i].Total == 1){
  656. monthlist[i].Total = "一月"
  657. }
  658. if(monthlist[i].Total == 2){
  659. monthlist[i].Total = "二月"
  660. }
  661. if(monthlist[i].Total == 3){
  662. monthlist[i].Total = "三月"
  663. }
  664. if(monthlist[i].Total == 4){
  665. monthlist[i].Total = "四月"
  666. }
  667. if(monthlist[i].Total == 5){
  668. monthlist[i].Total = "五月"
  669. }
  670. if(monthlist[i].Total == 6){
  671. monthlist[i].Total = "六月"
  672. }
  673. if(monthlist[i].Total == 7){
  674. monthlist[i].Total = "七月"
  675. }
  676. if(monthlist[i].Total == 8){
  677. monthlist[i].Total = "八月"
  678. }
  679. if(monthlist[i].Total == 9){
  680. monthlist[i].Total = "九月"
  681. }
  682. if(monthlist[i].Total == 10){
  683. monthlist[i].Total = "十月"
  684. }
  685. if(monthlist[i].Total == 11){
  686. monthlist[i].Total = "十一月"
  687. }
  688. if(monthlist[i].Total == 12){
  689. monthlist[i].Total = "十二月"
  690. }
  691. }
  692. var monthNolist = response.data.data.monthNolist
  693. var standArrTwo = this.arrayDateThree(monthNolist,newArrTwo)
  694. standArrTwo.map(item=>{
  695. monthNolist.push(item)
  696. })
  697. var arrOne = []
  698. for(let i=0;i<monthlist.length;i++){
  699. for(let j=0;j<monthNolist.length;j++){
  700. if(monthlist[i].Total == monthNolist[j].Total){
  701. monthlist[i].NoCount = monthNolist[j].Count
  702. arrOne.push(monthlist[i])
  703. }
  704. }
  705. }
  706. for(const key in arrOne){
  707. this.modesData.xAxis.push(arrOne[key].Total);
  708. this.modesData.series.push(((arrOne[key].NoCount/arrOne[key].Count)*100).toFixed(1));
  709. }
  710. this.chart.series[0].data = this.modesData.series
  711. this.chart.xAxis.data = this.modesData.xAxis
  712. }
  713. })
  714. },
  715. getBloodList(){
  716. this.modesData.series = []
  717. this.modesData.xAxis = []
  718. const firstQuarterStart = moment().startOf('year').format('YYYY-MM-DD')
  719. const firstQuarterEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
  720. //第一季度
  721. const first_quarter_start = moment().startOf('year').format('YYYY-MM-DD')
  722. const first_qurter_end = moment().month(2).endOf('month').format("YYYY-MM-DD")
  723. //第二季度
  724. const second_qurter_start = moment().month(3).startOf('month').format("YYYY-MM-DD")
  725. const second_qurter_end = moment().month(5).endOf('month').format("YYYY-MM-DD")
  726. //第三季度
  727. const three_qurter_start = moment().month(6).startOf('month').format("YYYY-MM-DD")
  728. const three_qurter_end = moment().month(8).endOf('month').format("YYYY-MM-DD")
  729. //第四季度
  730. const four_qurter_start = moment().month(9).startOf('month').format("YYYY-MM-DD")
  731. const four_qurter_end = moment().month(11).endOf('month').format("YYYY-MM-DD")
  732. const params = {
  733. first_quarter_start:first_quarter_start,
  734. first_qurter_end:first_qurter_end,
  735. second_qurter_start:second_qurter_start,
  736. second_qurter_end:second_qurter_end,
  737. three_qurter_start:three_qurter_start,
  738. three_qurter_end:three_qurter_end,
  739. four_qurter_start:four_qurter_start,
  740. four_qurter_end:four_qurter_end,
  741. bloodType:this.bloodType
  742. }
  743. // console.log("params",params)
  744. getBloodPressureList(params).then(response=>{
  745. if(response.data.state == 1){
  746. if(this.bloodType == -1){
  747. var firstTotal = response.data.data.firstTotal
  748. if(firstTotal == 0){
  749. firstTotal = 1
  750. }
  751. var firstStandTotal = 0
  752. var firstlist = response.data.data.firstList
  753. var fistArr = []
  754. for(let i=0;i<firstlist.length;i++){
  755. if(firstlist[i].systolic_blood_pressure>=this.sysmin && firstlist[i].systolic_blood_pressure<=this.syslarge){
  756. fistArr.push(firstlist[i])
  757. }
  758. }
  759. firstStandTotal = fistArr.length
  760. var secondetotal = response.data.data.secondeTotal
  761. if(secondetotal == 0){
  762. secondetotal = 1
  763. }
  764. var secondeStandTotal = 0
  765. var secondelist = response.data.data.secondelist
  766. var secondeArr = []
  767. for(let i=0;i<secondelist.length;i++){
  768. if(secondelist[i].systolic_blood_pressure>=this.sysmin && secondelist[i].systolic_blood_pressure<=this.syslarge){
  769. secondeArr.push(secondelist[i])
  770. }
  771. }
  772. secondeStandTotal = secondeArr.length
  773. var threetotal = response.data.data.threeTotal
  774. if(threetotal == 0){
  775. threetotal = 1
  776. }
  777. var threeStandtotal = 0
  778. var threelist = response.data.data.threelist
  779. var threeArr = []
  780. for(let i=0;i<threelist.length;i++){
  781. if(threelist[i].systolic_blood_pressure>=this.sysmin && threelist[i].systolic_blood_pressure<=this.syslarge){
  782. threeArr.push(threelist[i])
  783. }
  784. }
  785. threeStandtotal = threeArr.length
  786. var fourtotal = response.data.data.fourTotal
  787. if(fourtotal == 0){
  788. fourtotal = 1
  789. }
  790. var fourStandTotal = 0
  791. var fourlist = response.data.data.fourlist
  792. var fourArr = []
  793. for(let i=0;i<fourlist.length;i++){
  794. if(fourlist[i].systolic_blood_pressure>=this.sysmin && fourlist[i].systolic_blood_pressure<=this.syslarge){
  795. fourArr.push(fourlist[i])
  796. }
  797. }
  798. fourStandTotal = fourArr.length
  799. var newArr = [
  800. {name:"第一季度",Total:0,StandCount: 0},
  801. {name:"第二季度",Total:0,StandCount: 0},
  802. {name:"第三季度",Total:0,StandCount: 0},
  803. {name:"第四季度",Total:0,StandCount: 0},
  804. ]
  805. for(let i=0;i<newArr.length;i++){
  806. newArr[0].Total = firstTotal
  807. newArr[0].StandCount = firstStandTotal
  808. newArr[1].Total = secondetotal
  809. newArr[1].StandCount =secondeStandTotal
  810. newArr[2].Total = threetotal
  811. newArr[2].StandCount = threeStandtotal
  812. newArr[3].Total = fourtotal
  813. newArr[3].StandCount = fourStandTotal
  814. }
  815. // console.log("newArr",newArr)
  816. for(let j=0;j<newArr.length;j++){
  817. this.modesData.xAxis.push(newArr[j].name);
  818. this.modesData.series.push(((newArr[j].StandCount/newArr[j].Total)*100).toFixed(1));
  819. }
  820. this.chart.series[0].data = this.modesData.series
  821. this.chart.xAxis.data = this.modesData.xAxis
  822. }
  823. if(this.bloodType == -2){
  824. var firstTotal = response.data.data.firstTotal
  825. if(firstTotal == 0){
  826. firstTotal = 1
  827. }
  828. var firstStandTotal = 0
  829. var firstlist = response.data.data.firstList
  830. var fistArr = []
  831. for(let i=0;i<firstlist.length;i++){
  832. if(firstlist[i].diastolic_blood_pressure>=this.diamin && firstlist[i].diastolic_blood_pressure<=this.dialarge){
  833. fistArr.push(firstlist[i])
  834. }
  835. }
  836. firstStandTotal = fistArr.length
  837. var secondetotal = response.data.data.secondeTotal
  838. if(secondetotal == 0){
  839. secondetotal = 1
  840. }
  841. var secondeStandTotal = 0
  842. var secondelist = response.data.data.secondelist
  843. var secondeArr = []
  844. for(let i=0;i<secondelist.length;i++){
  845. if(secondelist[i].diastolic_blood_pressure>=this.diamin && secondelist[i].diastolic_blood_pressure<=this.dialarge){
  846. secondeArr.push(secondelist[i])
  847. }
  848. }
  849. secondeStandTotal = secondeArr.length
  850. var threetotal = response.data.data.threeTotal
  851. if(threetotal == 0){
  852. threetotal = 1
  853. }
  854. var threeStandtotal = 0
  855. var threelist = response.data.data.threelist
  856. var threeArr = []
  857. for(let i=0;i<threelist.length;i++){
  858. if(threelist[i].diastolic_blood_pressure>=this.diamin && threelist[i].diastolic_blood_pressure<=this.dialarge){
  859. threeArr.push(threelist[i])
  860. }
  861. }
  862. // console.log("threeArr",threeArr)
  863. threeStandtotal = threeArr.length
  864. var fourtotal = response.data.data.fourTotal
  865. if(fourtotal == 0){
  866. fourtotal = 1
  867. }
  868. var fourStandTotal = 0
  869. var fourlist = response.data.data.fourlist
  870. var fourArr = []
  871. for(let i=0;i<fourlist.length;i++){
  872. if(fourlist[i].diastolic_blood_pressure>=this.diamin && fourlist[i].diastolic_blood_pressure<=this.dialarge){
  873. fourArr.push(fourlist[i])
  874. }
  875. }
  876. fourStandTotal = fourArr.length
  877. var newArr = [
  878. {name:"第一季度",Total:0,StandCount: 0},
  879. {name:"第二季度",Total:0,StandCount: 0},
  880. {name:"第三季度",Total:0,StandCount: 0},
  881. {name:"第四季度",Total:0,StandCount: 0},
  882. ]
  883. for(let i=0;i<newArr.length;i++){
  884. newArr[0].Total = firstTotal
  885. newArr[0].StandCount = firstStandTotal
  886. newArr[1].Total = secondetotal
  887. newArr[1].StandCount =secondeStandTotal
  888. newArr[2].Total = threetotal
  889. newArr[2].StandCount = threeStandtotal
  890. newArr[3].Total = fourtotal
  891. newArr[3].StandCount = fourStandTotal
  892. }
  893. // console.log("newArr",newArr)
  894. for(let j=0;j<newArr.length;j++){
  895. this.modesData.xAxis.push(newArr[j].name);
  896. this.modesData.series.push(((newArr[j].StandCount/newArr[j].Total)*100).toFixed(1));
  897. }
  898. this.chart.series[0].data = this.modesData.series
  899. this.chart.xAxis.data = this.modesData.xAxis
  900. }
  901. }
  902. })
  903. },
  904. getMonthBloodList(){
  905. this.modesData.series = []
  906. this.modesData.xAxis = []
  907. const januaryStart = moment().month(0).startOf('month').format("YYYY-MM-DD")
  908. const januaryEnd = moment().month(0).endOf('month').format("YYYY-MM-DD")
  909. const febStart = moment().month(1).startOf('month').format("YYYY-MM-DD")
  910. const febEnd = moment().month(1).endOf('month').format("YYYY-MM-DD")
  911. const marchStart = moment().month(2).startOf('month').format("YYYY-MM-DD")
  912. const marchEnd = moment().month(2).endOf('month').format("YYYY-MM-DD")
  913. const aprStart = moment().month(3).startOf('month').format("YYYY-MM-DD")
  914. const aprEnd = moment().month(3).endOf('month').format("YYYY-MM-DD")
  915. const mayStart = moment().month(4).startOf('month').format("YYYY-MM-DD")
  916. const mayEnd = moment().month(4).endOf('month').format("YYYY-MM-DD")
  917. const junStart = moment().month(5).startOf('month').format("YYYY-MM-DD")
  918. const junEnd = moment().month(5).endOf('month').format("YYYY-MM-DD")
  919. const julStart = moment().month(6).startOf('month').format("YYYY-MM-DD")
  920. const julEnd = moment().month(6).endOf('month').format("YYYY-MM-DD")
  921. const augStart = moment().month(7).startOf('month').format("YYYY-MM-DD")
  922. const augEnd = moment().month(7).endOf('month').format("YYYY-MM-DD")
  923. const sepStart = moment().month(8).startOf('month').format("YYYY-MM-DD")
  924. const sepEnd = moment().month(8).endOf('month').format("YYYY-MM-DD")
  925. const octStart = moment().month(9).startOf('month').format("YYYY-MM-DD")
  926. const octEnd = moment().month(9).endOf('month').format("YYYY-MM-DD")
  927. const novStart = moment().month(10).startOf('month').format("YYYY-MM-DD")
  928. const novEnd = moment().month(10).endOf('month').format("YYYY-MM-DD")
  929. const decStart = moment().month(11).startOf('month').format("YYYY-MM-DD")
  930. const decEnd = moment().month(11).endOf('month').format("YYYY-MM-DD")
  931. const params = {
  932. januaryStart:januaryStart,
  933. januaryEnd:januaryEnd,
  934. febStart:febStart,
  935. febEnd:febEnd,
  936. marchStart:marchStart,
  937. marchEnd:marchEnd,
  938. aprStart:aprStart,
  939. aprEnd:aprEnd,
  940. mayStart:mayStart,
  941. mayEnd:mayEnd,
  942. junStart:junStart,
  943. junEnd:junEnd,
  944. julStart:julStart,
  945. julEnd:julEnd,
  946. augStart:augStart,
  947. augEnd:augEnd,
  948. sepStart:sepStart,
  949. sepEnd:sepEnd,
  950. octStart:octStart,
  951. octEnd:octEnd,
  952. novStart:novStart,
  953. novEnd:novEnd,
  954. decStart:decStart,
  955. decEnd:decEnd,
  956. bloodType:this.bloodType
  957. }
  958. console.log("params",params)
  959. getMonthBloodList(params).then(response=>{
  960. if(response.data.state == 1){
  961. if(this.bloodType == -1){
  962. var januarytotal = response.data.data.januaryTotal
  963. if(januarytotal == 0){
  964. januarytotal = 1
  965. }
  966. var januarystandtotal = 0
  967. var januarylist = response.data.data.januarylist
  968. var januaryArr=[]
  969. for(let i=0;i<januarylist.length;i++){
  970. if(januarylist[i].systolic_blood_pressure>=this.sysmin && januarylist[i].systolic_blood_pressure<=this.syslarge){
  971. januaryArr.push(januarylist[i])
  972. }
  973. }
  974. console.log("一月",januarylist)
  975. console.log("一月",januaryArr)
  976. januarystandtotal = januaryArr.length
  977. var febtotal = response.data.data.febTotal
  978. if(febtotal == 0){
  979. febtotal = 1
  980. }
  981. var febstandtotal = 0
  982. var feblist = response.data.data.feblist
  983. var febArr=[]
  984. for(let i=0;i<feblist.length;i++){
  985. if(feblist[i].systolic_blood_pressure>=this.sysmin && feblist[i].systolic_blood_pressure<=this.syslarge){
  986. febArr.push(feblist[i])
  987. }
  988. }
  989. console.log("二月",feblist)
  990. console.log("二月",febArr)
  991. febstandtotal = febArr.length
  992. var marchtotal = response.data.data.marchTotal
  993. if(marchtotal == 0){
  994. marchtotal = 1
  995. }
  996. var marchstandtotal = 0
  997. var marchlist = response.data.data.marchlist
  998. var marArr = []
  999. for(let i=0;i<marchlist.length;i++){
  1000. if(marchlist[i].systolic_blood_pressure>=this.sysmin && marchlist[i].systolic_blood_pressure<=this.syslarge){
  1001. marArr.push(marchlist[i])
  1002. }
  1003. }
  1004. console.log("三月",marchlist)
  1005. console.log("三月",marArr)
  1006. marchstandtotal = marArr.length
  1007. var aprtotal = response.data.data.aprTotal
  1008. if(aprtotal == 0){
  1009. aprtotal =1
  1010. }
  1011. var aprstandtotal = 0
  1012. var aprlist = response.data.data.aprlist
  1013. var aprArr = []
  1014. for(let i=0;i<aprlist.length;i++){
  1015. if(aprlist[i].systolic_blood_pressure>=this.sysmin && aprlist[i].systolic_blood_pressure<=this.syslarge){
  1016. aprArr.push(aprlist[i])
  1017. }
  1018. }
  1019. console.log("四月",aprlist)
  1020. console.log("四月",aprArr)
  1021. var maytotal = response.data.data.mayTotal
  1022. if(maytotal == 0){
  1023. maytotal = 1
  1024. }
  1025. var maystandtotal = 0
  1026. var maylist = response.data.data.maylist
  1027. var mayArr = []
  1028. for(let i=0;i<maylist.length;i++){
  1029. if(maylist[i].systolic_blood_pressure>=this.sysmin && maylist[i].systolic_blood_pressure<=this.syslarge){
  1030. mayArr.push(maylist[i])
  1031. }
  1032. }
  1033. console.log("五月",maylist)
  1034. console.log("五月",mayArr)
  1035. maystandtotal = mayArr.length
  1036. var juntotal = response.data.data.junTotal
  1037. if(juntotal ==0){
  1038. juntotal = 1
  1039. }
  1040. var junstandtotal = 0
  1041. var junlist = response.data.data.junlist
  1042. var junArr = []
  1043. for(let i=0;i<junlist.length;i++){
  1044. if(junlist[i].systolic_blood_pressure>=this.sysmin && junlist[i].systolic_blood_pressure<=this.syslarge){
  1045. junArr.push(junlist[i])
  1046. }
  1047. }
  1048. console.log("六月",junlist)
  1049. console.log("六月",junArr)
  1050. junstandtotal = junArr.length
  1051. var jultotal = response.data.data.julTotal
  1052. if(jultotal == 0){
  1053. jultotal = 1
  1054. }
  1055. var julstandtotal = 0
  1056. var jullist = response.data.data.jullist
  1057. var julArr = []
  1058. for(let i=0;i<jullist.length;i++){
  1059. if(jullist[i].systolic_blood_pressure>=this.sysmin && jullist[i].systolic_blood_pressure<=this.syslarge){
  1060. julArr.push(jullist[i])
  1061. }
  1062. }
  1063. julstandtotal = julArr.length
  1064. var augtotal = response.data.data.augTotal
  1065. if(augtotal ==0){
  1066. augtotal =1
  1067. }
  1068. var augstandtotal = 0
  1069. var auglist = response.data.data.auglist
  1070. var augArr=[]
  1071. for(let i=0;i<auglist.length;i++){
  1072. if(auglist[i].systolic_blood_pressure>=this.sysmin && auglist[i].systolic_blood_pressure<=this.syslarge){
  1073. augArr.push(auglist[i])
  1074. }
  1075. }
  1076. augstandtotal = augArr.length
  1077. var septotal = response.data.data.sepTotal
  1078. if(septotal == 0){
  1079. septotal = 1
  1080. }
  1081. var sepstandtotal = 0
  1082. var seplist = response.data.data.seplist
  1083. var sepArr =[]
  1084. for(let i=0;i<seplist.length;i++){
  1085. if(seplist[i].systolic_blood_pressure>=this.sysmin && seplist[i].systolic_blood_pressure<=this.syslarge){
  1086. sepArr.push(seplist[i])
  1087. }
  1088. }
  1089. sepstandtotal = sepArr.length
  1090. var octtotal = response.data.data.octTotal
  1091. if(octtotal == 0){
  1092. octtotal = 1
  1093. }
  1094. var octstandtotal = 0
  1095. var octlist = response.data.data.octlist
  1096. var octArr = []
  1097. for(let i=0;i<octlist.length;i++){
  1098. if(octlist[i].systolic_blood_pressure>=this.sysmin && octlist[i].systolic_blood_pressure<=this.syslarge){
  1099. octArr.push(octlist[i])
  1100. }
  1101. }
  1102. octstandtotal = octArr.length
  1103. var novtotal = response.data.data.novTotal
  1104. if(novtotal == 0){
  1105. novtotal = 1
  1106. }
  1107. var novstandtotal = 0
  1108. var novlist = response.data.data.novlist
  1109. var novArr =[]
  1110. for(let i=0;i<novlist.length;i++){
  1111. if(novlist[i].systolic_blood_pressure>=this.sysmin && novlist[i].systolic_blood_pressure<=this.syslarge){
  1112. novArr.push(novlist[i])
  1113. }
  1114. }
  1115. var dectotal = response.data.data.decTotal
  1116. if(dectotal == 0){
  1117. dectotal = 1
  1118. }
  1119. var decstandtotal = 0
  1120. var declist = response.data.data.declist
  1121. var decArr = []
  1122. for(let i=0;i<declist.length;i++){
  1123. if(declist[i].systolic_blood_pressure>=this.sysmin && declist[i].systolic_blood_pressure<=this.syslarge){
  1124. decArr.push(declist[i])
  1125. }
  1126. }
  1127. decstandtotal = decArr.length
  1128. var newArr = [
  1129. {name:"一月",Total:0,Count:0},
  1130. {name:"二月",Total:0,Count:0},
  1131. {name:"三月",Total:0,Count:0},
  1132. {name:"四月",Total:0,Count:0},
  1133. {name:"五月",Total:0,Count:0},
  1134. {name:"六月",Total:0,Count:0},
  1135. {name:"七月",Total:0,Count:0},
  1136. {name:"八月",Total:0,Count:0},
  1137. {name:"九月",Total:0,Count:0},
  1138. {name:"十月",Total:0,Count:0},
  1139. {name:"十一月",Total:0,Count:0},
  1140. {name:"十二月",Total:0,Count:0},
  1141. ]
  1142. for(let i=0;i<newArr.length;i++){
  1143. newArr[0].Total = januarytotal
  1144. newArr[0].Count = januarystandtotal
  1145. newArr[1].Total = febtotal
  1146. newArr[1].Count = febstandtotal
  1147. newArr[2].Total = marchtotal
  1148. newArr[2].Count = marchstandtotal
  1149. newArr[3].Total = aprtotal
  1150. newArr[3].Count = aprstandtotal
  1151. newArr[4].Total = maytotal
  1152. newArr[4].Count = maystandtotal
  1153. newArr[5].Total = juntotal
  1154. newArr[5].Count = junstandtotal
  1155. newArr[6].Total = jultotal
  1156. newArr[6].Count = julstandtotal
  1157. newArr[7].Total = augtotal
  1158. newArr[7].Count = augstandtotal
  1159. newArr[8].Total = septotal
  1160. newArr[8].Count = sepstandtotal
  1161. newArr[9].Total = octtotal
  1162. newArr[9].Count = octstandtotal
  1163. newArr[10].Total = novtotal
  1164. newArr[10].Count = novstandtotal
  1165. newArr[11].Total = dectotal
  1166. newArr[11].Count = decstandtotal
  1167. }
  1168. // console.log("newarr",newArr)
  1169. for(let j=0;j<newArr.length;j++){
  1170. this.modesData.xAxis.push(newArr[j].name);
  1171. this.modesData.series.push(((newArr[j].Count/newArr[j].Total)*100).toFixed(1));
  1172. }
  1173. this.chart.series[0].data = this.modesData.series
  1174. this.chart.xAxis.data = this.modesData.xAxis
  1175. }
  1176. if(this.bloodType == -2){
  1177. var januarytotal = response.data.data.januaryTotal
  1178. if(januarytotal == 0){
  1179. januarytotal = 1
  1180. }
  1181. var januarystandtotal = 0
  1182. var januarylist = response.data.data.januarylist
  1183. var januaryArr=[]
  1184. for(let i=0;i<januarylist.length;i++){
  1185. if(januarylist[i].diastolic_blood_pressure>=this.diamin && januarylist[i].diastolic_blood_pressure<=this.dialarge){
  1186. januaryArr.push(januarylist[i])
  1187. }
  1188. }
  1189. console.log("一月==",januarylist)
  1190. console.log("一月==",januaryArr)
  1191. januarystandtotal = januaryArr.length
  1192. var febtotal = response.data.data.febTotal
  1193. if(febtotal == 0){
  1194. febtotal = 1
  1195. }
  1196. var febstandtotal = 0
  1197. var feblist = response.data.data.feblist
  1198. var febArr=[]
  1199. for(let i=0;i<feblist.length;i++){
  1200. if(feblist[i].diastolic_blood_pressure>=this.diamin && feblist[i].diastolic_blood_pressure<=this.dialarge){
  1201. febArr.push(feblist[i])
  1202. }
  1203. }
  1204. console.log("二月",feblist)
  1205. console.log("二月",febArr)
  1206. febstandtotal = febArr.length
  1207. var marchtotal = response.data.data.marchTotal
  1208. if(marchtotal == 0){
  1209. marchtotal = 1
  1210. }
  1211. var marchstandtotal = 0
  1212. var marchlist = response.data.data.marchlist
  1213. var marArr = []
  1214. for(let i=0;i<marchlist.length;i++){
  1215. if(marchlist[i].diastolic_blood_pressure>=this.diamin && marchlist[i].diastolic_blood_pressure<=this.dialarge){
  1216. marArr.push(marchlist[i])
  1217. }
  1218. }
  1219. console.log("三月",marchlist)
  1220. console.log("三月",marArr)
  1221. marchstandtotal = marArr.length
  1222. var aprtotal = response.data.data.aprTotal
  1223. if(aprtotal == 0){
  1224. aprtotal =1
  1225. }
  1226. var aprstandtotal = 0
  1227. var aprlist = response.data.data.aprlist
  1228. var aprArr = []
  1229. for(let i=0;i<aprlist.length;i++){
  1230. if(aprlist[i].diastolic_blood_pressure>=this.diamin && aprlist[i].diastolic_blood_pressure<=this.dialarge){
  1231. aprArr.push(aprlist[i])
  1232. }
  1233. }
  1234. console.log("四月",aprlist)
  1235. console.log("四月",aprArr)
  1236. var maytotal = response.data.data.mayTotal
  1237. if(maytotal == 0){
  1238. maytotal = 1
  1239. }
  1240. var maystandtotal = 0
  1241. var maylist = response.data.data.maylist
  1242. var mayArr = []
  1243. for(let i=0;i<maylist.length;i++){
  1244. if(maylist[i].diastolic_blood_pressure>=this.diamin && maylist[i].diastolic_blood_pressure<=this.dialarge){
  1245. mayArr.push(maylist[i])
  1246. }
  1247. }
  1248. console.log("五月",maylist)
  1249. console.log("五月",mayArr)
  1250. maystandtotal = mayArr.length
  1251. var juntotal = response.data.data.junTotal
  1252. if(juntotal ==0){
  1253. juntotal = 1
  1254. }
  1255. var junstandtotal = 0
  1256. var junlist = response.data.data.junlist
  1257. var junArr = []
  1258. for(let i=0;i<junlist.length;i++){
  1259. if(junlist[i].diastolic_blood_pressure>=this.diamin && junlist[i].diastolic_blood_pressure<=this.dialarge){
  1260. junArr.push(junlist[i])
  1261. }
  1262. }
  1263. console.log("六月",junlist)
  1264. console.log("六月",junArr)
  1265. junstandtotal = junArr.length
  1266. var jultotal = response.data.data.julTotal
  1267. if(jultotal == 0){
  1268. jultotal = 1
  1269. }
  1270. var julstandtotal = 0
  1271. var jullist = response.data.data.jullist
  1272. var julArr = []
  1273. for(let i=0;i<jullist.length;i++){
  1274. if(jullist[i].diastolic_blood_pressure>=this.diamin && jullist[i].diastolic_blood_pressure<=this.dialarge){
  1275. julArr.push(jullist[i])
  1276. }
  1277. }
  1278. console.log("七月",jullist)
  1279. console.log("七月",julArr)
  1280. julstandtotal = julArr.length
  1281. var augtotal = response.data.data.augTotal
  1282. if(augtotal ==0){
  1283. augtotal =1
  1284. }
  1285. var augstandtotal = 0
  1286. var auglist = response.data.data.auglist
  1287. var augArr=[]
  1288. for(let i=0;i<auglist.length;i++){
  1289. if(auglist[i].diastolic_blood_pressure>=this.diamin && auglist[i].diastolic_blood_pressure<=this.dialarge){
  1290. augArr.push(auglist[i])
  1291. }
  1292. }
  1293. augstandtotal = augArr.length
  1294. var septotal = response.data.data.sepTotal
  1295. if(septotal == 0){
  1296. septotal = 1
  1297. }
  1298. var sepstandtotal = 0
  1299. var seplist = response.data.data.seplist
  1300. var sepArr =[]
  1301. for(let i=0;i<seplist.length;i++){
  1302. if(seplist[i].diastolic_blood_pressure>=this.diamin && seplist[i].diastolic_blood_pressure<=this.dialarge){
  1303. sepArr.push(seplist[i])
  1304. }
  1305. }
  1306. sepstandtotal = sepArr.length
  1307. var octtotal = response.data.data.octTotal
  1308. if(octtotal == 0){
  1309. octtotal = 1
  1310. }
  1311. var octstandtotal = 0
  1312. var octlist = response.data.data.octlist
  1313. var octArr = []
  1314. for(let i=0;i<octlist.length;i++){
  1315. if(octlist[i].diastolic_blood_pressure>=this.sysmin && octlist[i].diastolic_blood_pressure<=this.syslarge){
  1316. octArr.push(octlist[i])
  1317. }
  1318. }
  1319. octstandtotal = octArr.length
  1320. var novtotal = response.data.data.novTotal
  1321. if(novtotal == 0){
  1322. novtotal = 1
  1323. }
  1324. var novstandtotal = 0
  1325. var novlist = response.data.data.novlist
  1326. var novArr =[]
  1327. for(let i=0;i<novlist.length;i++){
  1328. if(novlist[i].diastolic_blood_pressure>=this.diamin && novlist[i].diastolic_blood_pressure<=this.dialarge){
  1329. novArr.push(novlist[i])
  1330. }
  1331. }
  1332. var dectotal = response.data.data.decTotal
  1333. if(dectotal == 0){
  1334. dectotal = 1
  1335. }
  1336. var decstandtotal = 0
  1337. var declist = response.data.data.declist
  1338. var decArr = []
  1339. for(let i=0;i<declist.length;i++){
  1340. if(declist[i].diastolic_blood_pressure>=this.diamin && declist[i].diastolic_blood_pressure<=this.dialarge){
  1341. decArr.push(declist[i])
  1342. }
  1343. }
  1344. decstandtotal = decArr.length
  1345. var newArr = [
  1346. {name:"一月",Total:0,Count:0},
  1347. {name:"二月",Total:0,Count:0},
  1348. {name:"三月",Total:0,Count:0},
  1349. {name:"四月",Total:0,Count:0},
  1350. {name:"五月",Total:0,Count:0},
  1351. {name:"六月",Total:0,Count:0},
  1352. {name:"七月",Total:0,Count:0},
  1353. {name:"八月",Total:0,Count:0},
  1354. {name:"九月",Total:0,Count:0},
  1355. {name:"十月",Total:0,Count:0},
  1356. {name:"十一月",Total:0,Count:0},
  1357. {name:"十二月",Total:0,Count:0},
  1358. ]
  1359. for(let i=0;i<newArr.length;i++){
  1360. newArr[0].Total = januarytotal
  1361. newArr[0].Count = januarystandtotal
  1362. newArr[1].Total = febtotal
  1363. newArr[1].Count = febstandtotal
  1364. newArr[2].Total = marchtotal
  1365. newArr[2].Count = marchstandtotal
  1366. newArr[3].Total = aprtotal
  1367. newArr[3].Count = aprstandtotal
  1368. newArr[4].Total = maytotal
  1369. newArr[4].Count = maystandtotal
  1370. newArr[5].Total = juntotal
  1371. newArr[5].Count = junstandtotal
  1372. newArr[6].Total = jultotal
  1373. newArr[6].Count = julstandtotal
  1374. newArr[7].Total = augtotal
  1375. newArr[7].Count = augstandtotal
  1376. newArr[8].Total = septotal
  1377. newArr[8].Count = sepstandtotal
  1378. newArr[9].Total = octtotal
  1379. newArr[9].Count = octstandtotal
  1380. newArr[10].Total = novtotal
  1381. newArr[10].Count = novstandtotal
  1382. newArr[11].Total = dectotal
  1383. newArr[11].Count = decstandtotal
  1384. }
  1385. // console.log("newarr",newArr)
  1386. for(let j=0;j<newArr.length;j++){
  1387. this.modesData.xAxis.push(newArr[j].name);
  1388. this.modesData.series.push(((newArr[j].Count/newArr[j].Total)*100).toFixed(1));
  1389. }
  1390. this.chart.series[0].data = this.modesData.series
  1391. this.chart.xAxis.data = this.modesData.xAxis
  1392. }
  1393. }
  1394. })
  1395. }
  1396. },
  1397. created(){
  1398. //获取指标正常范围值
  1399. this.getNormData()
  1400. },
  1401. };
  1402. </script>
  1403. <style lang="scss" scoped>
  1404. .newLi {
  1405. li {
  1406. background: #f5f5f6;
  1407. }
  1408. }
  1409. .chartTitle {
  1410. font-size: 16px;
  1411. font-weight: bold;
  1412. color: #000000;
  1413. }
  1414. .point {
  1415. width: 13px;
  1416. height: 13px;
  1417. background: linear-gradient(
  1418. 0deg,
  1419. rgba(169, 224, 243, 1),
  1420. rgba(159, 189, 252, 1)
  1421. );
  1422. border-radius: 7px;
  1423. margin-right: 8px;
  1424. }
  1425. .pointTitle {
  1426. font-size: 13px;
  1427. }
  1428. .index {
  1429. color: #a09ba3;
  1430. font-size: 13px;
  1431. margin-right: 36px;
  1432. margin-bottom: 20px;
  1433. }
  1434. .newDisplay {
  1435. flex-wrap: wrap;
  1436. padding-left: 20px;
  1437. }
  1438. </style>