after_Blood.vue 23KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. <template>
  2. <div class="main-contain">
  3. <div class="position">
  4. <div>
  5. <span>
  6. <el-button @click="return_click" type="text" icon="el-icon-arrow-left">返回</el-button>
  7. </span>&nbsp;&nbsp;
  8. <span>患者透后血压分析</span>
  9. </div>
  10. </div>
  11. <div class="app-container">
  12. <div class="page_patientControlAnalysis">
  13. <div style="display: flex;">
  14. <div>
  15. 日期:
  16. <el-select v-model="date_value" @change="datachange" placeholder="请选择" style="width: 100px;">
  17. <el-option
  18. v-for="item in date_options"
  19. :key="item.value"
  20. :label="item.label"
  21. :value="item.value">
  22. </el-option>
  23. </el-select>
  24. </div>
  25. <div style="margin:0 10px">
  26. <el-date-picker
  27. v-model="start_date"
  28. type="date"
  29. value-format="yyyy-MM-dd"
  30. placeholder="选择日期"
  31. style="width: 150px;">
  32. </el-date-picker>
  33. <span>-</span>
  34. <el-date-picker
  35. v-model="end_date"
  36. type="date"
  37. value-format="yyyy-MM-dd"
  38. placeholder="选择日期"
  39. style="width: 150px;">
  40. </el-date-picker>
  41. </div>
  42. <div>
  43. <el-button type="primary" @click="sete_click">查询</el-button>
  44. <el-button type="primary" @click="Download_click">下载</el-button>
  45. </div>
  46. </div>
  47. <!-- 图表 -->
  48. <div ref="mychart">
  49. <div class="echart" id="mychart" style="width:100%;height:60vh"></div>
  50. </div>
  51. <div style="position: fixed;right: 5%;top: 50vh;">
  52. <el-popover
  53. placement="left"
  54. title="提示"
  55. width="500"
  56. trigger="click"
  57. content="1. 统计时间段内所有患者每次透析时的年龄和透前血压,根据不同年龄的标准值计算达标率。
  58. 2. 患者<60 岁的透前血压以收缩压<140 或舒张压<90 为达标值;患者≥60岁的透前血压以收缩压<160 或舒张压<90 为达标值。
  59. 3. 控制率=(≥60 岁患者的达标例次+<60 岁患者的达标例次)/时间段内总例次 x100%。">
  60. <img src="@/assets/img/xiang.png" alt="" style="height: 20px;width: 20px;" slot="reference">
  61. <!-- <el-button slot="reference">click 激活</el-button> -->
  62. </el-popover>
  63. </div>
  64. </div>
  65. </div>
  66. <!-- 弹窗 -->
  67. <div>
  68. <el-dialog
  69. title="提示"
  70. :visible.sync="complete_dialog"
  71. width="80%">
  72. <div>
  73. <div style="display: flex;margin-bottom: 20px;">
  74. <div style="flex: 2;display: flex;">
  75. <div>
  76. 日期:
  77. <el-select v-model="date_value" @change="datachange" placeholder="请选择" style="width: 100px;">
  78. <el-option
  79. v-for="item in date_options"
  80. :key="item.value"
  81. :label="item.label"
  82. :value="item.value">
  83. </el-option>
  84. </el-select>
  85. </div>
  86. <div style="margin:0 10px">
  87. <el-date-picker
  88. v-model="start_date"
  89. type="date"
  90. value-format="yyyy-MM-dd"
  91. placeholder="选择日期"
  92. style="width: 150px;">
  93. </el-date-picker>
  94. <span>-</span>
  95. <el-date-picker
  96. v-model="end_date"
  97. type="date"
  98. value-format="yyyy-MM-dd"
  99. placeholder="选择日期"
  100. style="width: 150px;">
  101. </el-date-picker>
  102. </div>
  103. <div>
  104. 状态:
  105. <el-select v-model="status_value" placeholder="请选择" style="width: 130px;">
  106. <el-option :key="0" label="不限" :value="0"></el-option>
  107. <el-option
  108. v-for="item in status_options"
  109. :key="item.value"
  110. :label="item.label"
  111. :value="item.value">
  112. </el-option>
  113. </el-select>
  114. </div>
  115. </div>
  116. <div style="flex: 1;">
  117. <div>
  118. <el-button type="primary" @click="detil_click">查询</el-button>
  119. <el-button type="primary" @click="derive_click">导出</el-button>
  120. </div>
  121. </div>
  122. </div>
  123. <div>
  124. <el-table :data="tableData"
  125. border
  126. style="width: 100%;"
  127. :header-cell-style = "{'text-align':'center'}"
  128. :cell-style="{'text-align':'center'}"
  129. height="380">
  130. <el-table-column
  131. prop="index"
  132. label="序号"
  133. width="">
  134. </el-table-column>
  135. <el-table-column
  136. prop="dialysis_no"
  137. label="透析号"
  138. width="">
  139. </el-table-column>
  140. <el-table-column
  141. prop="patient_name"
  142. label="患者姓名">
  143. </el-table-column>
  144. <el-table-column
  145. prop="age"
  146. label="年龄">
  147. </el-table-column>
  148. <el-table-column
  149. prop="dialysis_date"
  150. label="透析日期"
  151. width="">
  152. </el-table-column>
  153. <el-table-column
  154. prop="PostDialysisBP"
  155. label="透后血压"
  156. width="">
  157. </el-table-column>
  158. </el-table>
  159. </div>
  160. <div style="text-align:right;margin-top: 10px;">
  161. <el-pagination
  162. @size-change="handleSizeChange"
  163. @current-change="handleCurrentChange"
  164. :current-page="currentPage"
  165. :page-sizes="[50,100, 200, 300, 400]"
  166. :page-size="limit"
  167. layout="total, sizes, prev, pager, next, jumper"
  168. :total="total">
  169. </el-pagination>
  170. </div>
  171. </div>
  172. <span slot="footer" class="dialog-footer">
  173. <el-button @click="complete_dialog = false">取 消</el-button>
  174. <el-button type="primary" @click="complete_dialog = false">确 定</el-button>
  175. </span>
  176. </el-dialog>
  177. </div>
  178. </div>
  179. </template>
  180. <script>
  181. import * as echarts from 'echarts';
  182. import XLSX from 'xlsx';
  183. import { uParseTime } from "@/utils/tools";
  184. import {Getpatinetbp,Getbpdetail} from '../../../../api/qcd'
  185. import {getAllNurseList} from '@/api/fallassement'
  186. import { getAllDoctorList} from "@/api/device"
  187. import html2canvas from "html2canvas"
  188. export default {
  189. components:{
  190. },
  191. data(){
  192. return{
  193. date_value:4,
  194. start_date:'',
  195. end_date:this.getTime(new Date()),
  196. mode:'',
  197. date_mode:'',
  198. source:'',
  199. status_value:0,
  200. complete_dialog:false,
  201. currentPage:1,
  202. limit:50,
  203. total:0,
  204. tableData:[],
  205. nurseList:[],
  206. operators:[],
  207. docList:[],
  208. status_options:[],
  209. date_options:[{value:1,label:'最近七天'},{value:2,label:'本周'},{value:3,label:'上周'},{value:4,label:'本月'},
  210. {value:5,label:'上月'},{value:6,label:'本年'},{value:7,label:'上一年'}
  211. ],
  212. date_mode_options:[{value:1,label:'按周'},{value:2,label:'按天'},{value:3,label:'按月'},{value:4,label:'按年'}],
  213. source_options:[{value:1,label:'以开始透析为准'},{value:2,label:'以排班为准'}],
  214. status_id:"",
  215. }
  216. },
  217. methods:{
  218. // 返回
  219. return_click(){
  220. this.$router.push('/Dialysisanalysis/qualitycontrol/weightblood')
  221. },
  222. // 数据源
  223. getecharts(){
  224. var chartDom = document.getElementById('mychart')
  225. var myChart = echarts.init(chartDom);
  226. const params={
  227. start_time:this.start_date,
  228. end_time:this.end_date,
  229. statistics_type:2
  230. }
  231. Getpatinetbp(params).then(response =>{
  232. if(response.data.state ==1){
  233. const list = response.data.data.list
  234. const xAxis = []
  235. const yAxis = []
  236. var option = []
  237. var total =0
  238. for(let key in list){
  239. const obj={
  240. name:list[key].name,
  241. value:list[key].total
  242. }
  243. xAxis.push(obj)
  244. yAxis.push(list[key].name)
  245. total = total + list[key].total
  246. const obj2 ={
  247. value:(key*1)+1,
  248. label:list[key].name
  249. }
  250. option.push(obj2)
  251. }
  252. this.status_options = option
  253. console.log('this.status_options',response.data.data);
  254. const option = {
  255. title:{
  256. text:'总数'+total,
  257. left:'5%',
  258. bottom:'5%',
  259. textStyle:{
  260. fontSize:30
  261. }
  262. },
  263. tooltip: {
  264. trigger: 'item',
  265. },
  266. legend: {
  267. data:yAxis,
  268. left: '10%',
  269. top: '30%',
  270. orient: 'vertical'
  271. },
  272. color:['#FFD7C0','#9FBDFC',"#A9E0F3", "#FF9994",'aquamarine','gold'],
  273. series: [
  274. {
  275. name: '',
  276. type: 'pie',
  277. radius: ['40%', '70%'],
  278. avoidLabelOverlap: true,
  279. itemStyle: {
  280. borderRadius: 10,
  281. borderColor: '#fff',
  282. borderWidth: 2
  283. },
  284. label: {
  285. show: true,
  286. position: 'center',
  287. normal : {
  288. formatter: '{b}:{c}: ({d}%)',
  289. textStyle : {
  290. fontWeight : 'normal',
  291. fontSize : 15,
  292. color : "black"
  293. }
  294. }
  295. },
  296. emphasis: {
  297. label: {
  298. show: true,
  299. fontSize: 40,
  300. fontWeight: 'bold'
  301. }
  302. },
  303. labelLine: {
  304. show: false
  305. },
  306. data: xAxis
  307. }
  308. ]
  309. };
  310. myChart.setOption(option);
  311. myChart.on('click',params =>{
  312. this.complete_dialog = true
  313. console.log('bbbb',params);
  314. for(let i in this.status_options){
  315. if(params.data.name == this.status_options[i].label){
  316. this.status_value = this.status_options[i].value
  317. }
  318. }
  319. this.getdetail(this.status_value)
  320. })
  321. }
  322. })
  323. },
  324. // 查询
  325. sete_click(){
  326. this.getecharts()
  327. },
  328. // 详情查询
  329. detil_click(){
  330. this.currentPage =1
  331. this.getdetail(this.status_value)
  332. },
  333. // 下载
  334. Download_click(){
  335. const options ={
  336. allowTaint: true,
  337. useCORS: true
  338. }
  339. html2canvas(this.$refs.mychart,options).then(canvas =>{
  340. // const imageSrc = canvas.toDataURL();
  341. const imageUrl = canvas.toDataURL("image/png");
  342. const blob = this.dataURLtoBlob(imageUrl)
  343. const url = URL.createObjectURL(blob);
  344. var link= document.createElement("a");
  345. // //将生成的图片url赋值给a标签的href属性
  346. link.href = url;
  347. // //设置下载的文件名
  348. link.download = "透析完成率统计.jpg";
  349. // // 将a标签插入dom中
  350. console.log('link',link);
  351. document.body.appendChild(link);
  352. //模拟点击事件触发下载
  353. link.click();
  354. // 完成之后销毁创建的a标签
  355. document.body.removeChild(link);
  356. })
  357. },
  358. // 导出excel
  359. derive_click(){
  360. let tableData = [
  361. ['序号', '透析号', '患者姓名', '年龄','透析日期', '透后血压']//导出表头
  362. ]
  363. this.tableData.forEach((item,index) =>{
  364. let rowdata=[]
  365. rowdata=[
  366. item.index,
  367. item.dialysis_no,
  368. item.patient_name,
  369. item.age,
  370. item.dialysis_date,
  371. item.PostDialysisBP
  372. ]
  373. tableData.push(rowdata)
  374. })
  375. let workSheet = XLSX.utils.aoa_to_sheet(tableData);
  376. let bookNew = XLSX.utils.book_new();
  377. XLSX.utils.book_append_sheet(bookNew, workSheet, '患者透后血压分析') // 工作簿名称
  378. let name = '患者透后血压分析'+ '.xlsx'
  379. XLSX.writeFile(bookNew, name) // 保存的文件名
  380. },
  381. // 详情数据源
  382. getdetail(value){
  383. const params ={
  384. start_time:this.start_date,
  385. end_time:this.end_date,
  386. status_type:value,
  387. statistics_type:2,
  388. page:this.currentPage,
  389. limit:this.limit,
  390. }
  391. Getbpdetail(params).then(response =>{
  392. if(response.data.state ==1){
  393. const list = response.data.data.list
  394. const xAxis = []
  395. const table = []
  396. if(list.length > 0){
  397. list.forEach((item,index) =>{
  398. const obj={
  399. index:index+1,
  400. dialysis_no:item.dialysis_no,
  401. patient_name:item.patient_name,
  402. age:item.age,
  403. dialysis_date:this.getTime(item.assessment_date),
  404. PostDialysisBP:item.post_dialysis_bp,
  405. }
  406. table.push(obj)
  407. })
  408. this.tableData = table
  409. this.total = response.data.data.total
  410. }
  411. }
  412. console.log('55555透后',response);
  413. })
  414. },
  415. // 选择日期
  416. datachange(eve){
  417. if(eve ==1){
  418. this.start_date = this.getPreviousDate(7)
  419. this.end_date = this.getTime(new Date())
  420. }else if(eve==2){
  421. this.start_date = this.getFirstDayOfWeek(new Date())
  422. this.end_date = this.getTime(new Date())
  423. console.log('this.start_date', this.start_date);
  424. }else if(eve ==3){
  425. var date=new Date()
  426. date.setDate(date.getDate()-7 - date.getDay() + 1);
  427. var m =''
  428. var d = ''
  429. if(date.getMonth() + 1<10){
  430. m = '0'+(date.getMonth() + 1)
  431. }else{
  432. m = date.getMonth() + 1
  433. }
  434. if(date.getDate()<10){
  435. d = '0'+date.getDate()
  436. }else{
  437. d = date.getDate()
  438. }
  439. // this.start_date = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() ;
  440. this.start_date = date.getFullYear() + "-" + m + "-" + d ;
  441. date.setDate(date.getDate() +6);
  442. var mm = ''
  443. var dd = ''
  444. if(date.getMonth() + 1<10){
  445. mm = '0'+(date.getMonth() + 1)
  446. }else{
  447. mm = date.getMonth() + 1
  448. }
  449. if(date.getDate()<10){
  450. dd = '0'+date.getDate()
  451. }else{
  452. dd = date.getDate()
  453. }
  454. // if(date.getMonth() + 1<10)
  455. // this.end_date = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
  456. this.end_date = date.getFullYear() + "-" + mm + "-" + dd ;
  457. console.log('this.end_date',this.end_date);
  458. }else if(eve ==4){
  459. this.start_date = this.getFirstDayOfMonth(new Date())
  460. this.end_date = this.getTime(new Date())
  461. }else if(eve ==5){
  462. this.getLastMonthFirstDay()
  463. this.getLastMonthLastDay()
  464. }else if(eve == 6){
  465. this.start_date = this.getFirstDayOfYear(new Date())
  466. this.end_date = this.getTime(new Date())
  467. }else if(eve == 7){
  468. this.getLastYearFirstDay()
  469. this.getLastYearLastDay()
  470. }
  471. console.log('eve',eve);
  472. },
  473. // 首先定义一个getPreviousDate函数,方便调用
  474. getPreviousDate(numOfDays) {
  475. var date = new Date();
  476. date.setDate(date.getDate() - numOfDays);
  477. var year = date.getFullYear();
  478. if(date.getMonth() + 1<10){
  479. var month = '0'+(date.getMonth() + 1);
  480. }else{
  481. var month = date.getMonth() + 1;
  482. }
  483. if(date.getDate()<10){
  484. var day = '0'+date.getDate();
  485. }else{
  486. var day = date.getDate();
  487. }
  488. return year + "-" + month + "-" + day;
  489. },
  490. // 本周
  491. getFirstDayOfWeek(date){
  492. var weekday = date.getDay()
  493. date.setDate(date.getDate()-weekday+1);//往前算(weekday-1)天,年份、月份会自动变化
  494. return this.timeFormat(date);
  495. },
  496. // 本月
  497. getFirstDayOfMonth (date) {
  498. date.setDate(1);
  499. return this.timeFormat(date);
  500. },
  501. //上个月第一天
  502. getLastMonthFirstDay() {
  503. var date = new Date();
  504. date.setDate(0);
  505. var y = date.getFullYear(); //获取年份
  506. var m = date.getMonth() + 1; //获取月份
  507. m = m < 10 ? "0" + m : m;
  508. this.start_date = [y, m, '01'].join("-")
  509. // return [y, m, '01'].join("-");
  510. },
  511. // 上个月最后一天
  512. getLastMonthLastDay() {
  513. var date = new Date();
  514. date.setDate(0);
  515. var y = date.getFullYear(); //获取年份
  516. var m = date.getMonth() + 1; //获取月份
  517. var d = new Date(y, m, 0).getDate(); //获取当月最后一日
  518. m = m < 10 ? "0" + m : m; //月份补 0
  519. d = d < 10 ? "0" + d : d; //日数补 0
  520. this.end_date = [y, m, d].join("-")
  521. // return [y, m, d].join("-");
  522. },
  523. // 本年
  524. getFirstDayOfYear (date) {
  525. date.setDate(1);
  526. date.setMonth(0);
  527. return this.timeFormat(date);
  528. },
  529. // 上一年第一天
  530. getLastYearFirstDay() {
  531. let date = new Date();
  532. const year= date.setFullYear(date.getFullYear() - 1); // 设置年份为前一年
  533. const start_month= date.setMonth(0); // 设置月份为1月(注意月份是从0开始的)
  534. const start_day = date.setDate(1); // 设置日期为1日
  535. // const last_month = date.setMonth(11); // 设置月份为12月
  536. // const last_day = date.setDate(0); // 设置日期为0,这将自动设置为该月的最后一天
  537. // this.start_date = year+ "-" +start_month+ "-" +start_day
  538. this.start_date = this.getTime(start_day)
  539. // return this.start_date
  540. },
  541. // 上一年最后一天
  542. getLastYearLastDay() {
  543. let date = new Date();
  544. const year= date.setFullYear(date.getFullYear() - 1); // 设置年份为前一年
  545. const last_month = date.setMonth(12); // 设置月份为12月
  546. const last_day = date.setDate(0);// 设置日期为0,这将自动设置为该月的最后一天
  547. // this.end_date = year+ "-" +last_month+ "-" +last_day
  548. this.end_date = this.getTime(last_day)
  549. console.log('this.end_date',this.end_date);
  550. // return this.end_date;
  551. },
  552. // 日期格式化
  553. timeFormat(date) {
  554. if (!date || typeof(date) === "string") {
  555. this.error("参数异常,请检查...");
  556. }
  557. var y = date.getFullYear(); //年
  558. if(date.getMonth() + 1<10){
  559. var m ='0'+(date.getMonth() + 1); //月
  560. }else{
  561. var m =date.getMonth() + 1; //月
  562. }
  563. if(date.getDate()<10){
  564. var d ='0'+date.getDate(); //日
  565. }else{
  566. var d = date.getDate(); //日
  567. }
  568. // var d = date.getDate(); //日
  569. return y + "-" + m + "-" + d;
  570. },
  571. handleCurrentChange(val){
  572. this.currentPage = val
  573. this.getdetail(this.status_value)
  574. },
  575. handleSizeChange(val){
  576. this.limit = val
  577. this.getdetail(this.status_value)
  578. },
  579. // 转换时间
  580. getTime(val) {
  581. if(val < 0){
  582. return ""
  583. }
  584. if(val == ""){
  585. return ""
  586. }else {
  587. return uParseTime(val, '{y}-{m}-{d}')
  588. }
  589. },
  590. dataURLtoBlob(dataURL) {
  591. const arr = dataURL.split(',');
  592. const mime = arr[0].match(/:(.*?);/)[1];
  593. const bstr = atob(arr[1]);
  594. let n = bstr.length;
  595. const u8arr = new Uint8Array(n);
  596. while (n--) {
  597. u8arr[n] = bstr.charCodeAt(n);
  598. }
  599. return new Blob([u8arr], { type: mime });
  600. },
  601. // 计算年龄
  602. analyzeIDCard(IDCard){
  603. var age = 0,yearBirth,monthBirth,dayBirth;
  604. //获取用户身份证号码
  605. var userCard = IDCard;
  606. //如果身份证号码为undefind则返回空
  607. if(!userCard){
  608. return age;
  609. }
  610. var reg = /(^\d{15}$)|(^\d{17}([0-9]|X)$)/; //验证身份证号码的正则
  611. if (reg.test(userCard)) {
  612. if (userCard.length == 15) {
  613. var org_birthday = userCard.substring(6, 12);
  614. //获取出生年月日
  615. yearBirth = "19" + org_birthday.substring(0, 2);
  616. monthBirth = org_birthday.substring(2, 4);
  617. dayBirth = org_birthday.substring(4, 6);
  618. } else if (userCard.length == 18) {
  619. //获取出生年月日
  620. yearBirth = userCard.substring(6,10);
  621. monthBirth = userCard.substring(10,12);
  622. dayBirth = userCard.substring(12,14);
  623. }
  624. //获取当前年月日并计算年龄
  625. var myDate = new Date();
  626. var monthNow = myDate.getMonth() + 1;
  627. var dayNow = myDate.getDate();
  628. var age = myDate.getFullYear() - yearBirth;
  629. if(monthNow < monthBirth || (monthNow == monthBirth && dayNow < dayBirth)){
  630. age--;
  631. }
  632. //返回年龄
  633. return age;
  634. } else {
  635. return ''
  636. }
  637. },
  638. // 护士
  639. getAllNurseList(){
  640. getAllNurseList().then(response=>{
  641. if(response.data.state ==1){
  642. var nurseList = response.data.data.nurseList
  643. console.log('0000',nurseList);
  644. this.nurseList =nurseList
  645. }
  646. })
  647. },
  648. // 医生
  649. getAllDoctorList(){
  650. getAllDoctorList().then(response=>{
  651. if(response.data.state == 1){
  652. var list = response.data.data.list
  653. console.log("list222222",list)
  654. this.docList = list
  655. this.operators = response.data.data.operators
  656. }
  657. })
  658. },
  659. getnurse(ids){
  660. const nurse = this.nurseList
  661. for(let i in nurse){
  662. if(ids==nurse[i].admin_user_id){
  663. return nurse[i].user_name
  664. }
  665. }
  666. },
  667. getdoctor(ids){
  668. const doctor = this.docList
  669. for(let i in doctor){
  670. if(ids == doctor[i].admin_user_id){
  671. return doctor[i].user_name
  672. }
  673. }
  674. }
  675. },
  676. mounted(){
  677. this.getecharts()
  678. },
  679. created(){
  680. this.start_date = this.getFirstDayOfMonth(new Date())
  681. this.getAllNurseList()
  682. this.getAllDoctorList()
  683. },
  684. }
  685. </script>