血透系统pad前端

MonitDialog.vue 46KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362
  1. <template>
  2. <div>
  3. <div v-loading="loading">
  4. <div class="Dialog" v-show="listPanel">
  5. <div class="DialogTit">
  6. <span class="iconfont" @click="close()">&#xe6e9;</span>
  7. <h1 class="name">透析监测</h1>
  8. <span class="success">&nbsp;</span>
  9. </div>
  10. <div style="width:100%;background: #fff;">
  11. <div class="yzNav" style="width:80%">
  12. <span @click="openForm()">新增监测</span>
  13. <span @click="openEidtForm()">修改监测</span>
  14. <span @click="deleteForm()">删除监测</span>
  15. </div>
  16. </div>
  17. <div class="DialogContent choose" id="dialogTop">
  18. <div style="width:100%;overflow:hildden;">
  19. <table class="table" style>
  20. <tr @click="selectRow(-1, null)">
  21. <th v-if="isShow('监测时间')" width="60px">时间</th>
  22. <th v-if="isShow('血压')" width="60px">血压(mmHg)</th>
  23. <th v-if="isShow('脉搏')" width="50px">脉搏(次/分)</th>
  24. <th v-if="isShow('体温')" width="50px">体温(℃)</th>
  25. <th v-if="isShow('呼吸频率')" width="80px">呼吸频率(次/分)</th>
  26. <th v-if="isShow('血流量')" width="70px">血流量(ml/min)</th>
  27. <th width="76px">静脉压/动脉压(mmHg)</th>
  28. <th v-if="isShow('跨膜压')" width="70px">跨膜压(mmHg)</th>
  29. <th v-if="isShow('超滤量') && template_id ==6" width="60px">超滤量(ml)</th>
  30. <th v-if="isShow('超滤量') && template_id !=6" width="60px">超滤量(L)</th>
  31. <th v-if="isShow('钠浓度')" width="82px">钠浓度(mmol/L)</th>
  32. <th v-if="isShow('透析液温度')" width="82px">透析液温度(℃)</th>
  33. <th v-if="isShow('置换率') && template_id ==6" width="92px">置换率(ml/min)</th>
  34. <th v-if="isShow('置换率') && template_id !=6" width="92px">置换率(L/h)</th>
  35. <th v-if="isShow('置换量') && template_id ==6" width="50px">置换量(ml)</th>
  36. <th v-if="isShow('置换量') && template_id !=6" width="50px">置换量(L)</th>
  37. <th v-if="isShow('电导度')" width="50px">电导度(mS/m)</th>
  38. <th v-if="isShow('置换液流量')" width="50px">置换液流量(ml/h)</th>
  39. <th v-if="isShow('病情变化')" width="92px">病情变化</th>
  40. <th v-if="isShow('处理')" width="92px">处理</th>
  41. <th v-if="isShow('结果')" width="92px">结果</th>
  42. </tr>
  43. <tr
  44. v-for="(item,index) in monitorRecords"
  45. :key="index"
  46. :value="item.value"
  47. @click="selectRow(index, item)"
  48. :class="index==currentIndex?rowClass:''"
  49. >
  50. <td v-if="isShow('监测时间')">{{parseTime(item.operate_time, '{y}-{m}-{d} {h}:{i}')}}</td>
  51. <td
  52. v-if="isShow('血压')"
  53. >{{item.systolic_blood_pressure?item.systolic_blood_pressure:''}}/{{item.diastolic_blood_pressure?item.diastolic_blood_pressure:''}}</td>
  54. <td v-if="isShow('脉搏')">{{item.pulse_frequency?item.pulse_frequency:''}}</td>
  55. <td v-if="isShow('体温')">{{item.temperature?item.temperature:''}}</td>
  56. <td v-if="isShow('呼吸频率')">{{item.breathing_rate?item.breathing_rate:''}}</td>
  57. <td v-if="isShow('血流量')">{{item.blood_flow_volume?item.blood_flow_volume:''}}</td>
  58. <td>{{item.venous_pressure?item.venous_pressure:''}}/{{item.arterial_pressure?item.arterial_pressure:''}}</td>
  59. <td
  60. v-if="isShow('跨膜压')"
  61. >{{item.transmembrane_pressure?item.transmembrane_pressure:''}}</td>
  62. <td
  63. v-if="isShow('超滤量')"
  64. >{{item.ultrafiltration_volume?item.ultrafiltration_volume:''}}</td>
  65. <td v-if="isShow('钠浓度')">{{item.sodium_concentration?item.sodium_concentration:''}}</td>
  66. <td
  67. v-if="isShow('透析液温度')"
  68. >{{item.dialysate_temperature?item.dialysate_temperature:''}}</td>
  69. <td v-if="isShow('置换率')">{{item.replacement_rate?item.replacement_rate:''}}</td>
  70. <td
  71. v-if="isShow('置换量')"
  72. >{{item.displacement_quantity?item.displacement_quantity:''}}</td>
  73. <td v-if="isShow('电导度')">{{item.conductivity?item.conductivity:''}}</td>
  74. <td
  75. v-if="isShow('置换液流量')"
  76. >{{item.displacement_flow_quantity?item.displacement_flow_quantity:''}}</td>
  77. <td v-if="isShow('病情变化')">{{item.symptom}}</td>
  78. <td v-if="isShow('处理')">{{item.dispose}}</td>
  79. <td v-if="isShow('结果')">{{item.result}}</td>
  80. </tr>
  81. </table>
  82. </div>
  83. </div>
  84. </div>
  85. <div class="Dialog" v-show="formPanel">
  86. <div class="DialogTit">
  87. <div class="back" @click="formPanel=false;listPanel=true;">
  88. <span class="iconfont">&#xe720;</span>返回
  89. </div>
  90. <h1 class="name">{{formTitle}}</h1>
  91. <span class="success" v-if="form.id>0" @click="submitEditAction()">保存</span>
  92. <span class="success" v-else @click="submitAction()">保存</span>
  93. </div>
  94. <div class="DialogContent choose">
  95. <div class="content">
  96. <div class="cell" v-if="isShow('监测时间')">
  97. <label>监测时间</label>
  98. <input
  99. type="text"
  100. class="inputBox"
  101. @click="chooseTime()"
  102. v-on:change="timechange()"
  103. :value="parseTime(this.form.operate_time, '{y}-{m}-{d} {h}:{i}')"
  104. readonly
  105. />
  106. </div>
  107. <div class="cell" v-if="isShow('收缩压')">
  108. <label>收缩压(mmHg)</label>
  109. <input
  110. type="number"
  111. @focus="inputFocus"
  112. onclick="this.select();"
  113. class="inputBox"
  114. v-model="form.systolic_bp"
  115. />
  116. </div>
  117. <div class="cell" v-if="isShow('舒张压')">
  118. <label>舒张压(mmHg)</label>
  119. <input
  120. type="number"
  121. @focus="inputFocus"
  122. onclick="this.select();"
  123. class="inputBox"
  124. v-model="form.diastolic_bp"
  125. />
  126. </div>
  127. <div class="cell" v-if="isShow('脉搏')">
  128. <label>脉搏(次/分)</label>
  129. <input
  130. type="number"
  131. @focus="inputFocus"
  132. onclick="this.select();"
  133. class="inputBox"
  134. v-model="form.pulse_frequency"
  135. />
  136. </div>
  137. <div class="cell" v-if="isShow('体温')">
  138. <label>体温(℃)</label>
  139. <input
  140. type="number"
  141. @focus="inputFocus"
  142. onclick="this.select();"
  143. class="inputBox"
  144. v-model="form.temperature"
  145. />
  146. </div>
  147. <div class="cell" v-if="isShow('呼吸频率')">
  148. <label>呼吸频率(次/分)</label>
  149. <input
  150. type="number"
  151. @focus="inputFocus"
  152. onclick="this.select();"
  153. class="inputBox"
  154. v-model="form.breathing_rated"
  155. />
  156. </div>
  157. <div class="cell" v-if="isShow('血流量')">
  158. <label>血流量(ml/min)</label>
  159. <input
  160. type="number"
  161. @focus="inputFocus"
  162. onclick="this.select();"
  163. class="inputBox"
  164. v-model="form.blood_flow_volume"
  165. />
  166. </div>
  167. <div class="cell">
  168. <label>静脉压(mmHg)</label>
  169. <input
  170. type="number"
  171. @focus="inputFocus"
  172. onclick="this.select();"
  173. class="inputBox"
  174. v-model="form.venous_pressure"
  175. style="width:60%"
  176. />
  177. <button
  178. class="typeButton"
  179. style="width:30%;padding: 0.18rem 0; color: #fff; background: #409eff;border-radius:5px"
  180. @click="venousPressureChange(1)"
  181. >转换</button>
  182. </div>
  183. <div class="cell" v-if="isShow('跨膜压')">
  184. <label>跨膜压(mmHg)</label>
  185. <input
  186. type="number"
  187. @focus="inputFocus"
  188. onclick="this.select();"
  189. class="inputBox"
  190. v-model="form.transmembrane_pressure"
  191. style="width:60%"
  192. />
  193. <button
  194. class="typeButton"
  195. style="width:30%;padding: 0.18rem 0; color: #fff; background: #409eff;border-radius:5px"
  196. @click="venousPressureChange(2)"
  197. >转换</button>
  198. </div>
  199. <div class="cell" v-if="isShow('超滤量')">
  200. <label v-if="template_id == 6">超滤量(ml)</label>
  201. <label v-else>超滤量(L)</label>
  202. <input
  203. type="number"
  204. @focus="inputFocus"
  205. onclick="this.select();"
  206. class="inputBox"
  207. v-model="form.ultrafiltration_volume"
  208. />
  209. </div>
  210. <div class="cell" v-if="isShow('超滤率')">
  211. <label v-if="template_id == 6">超滤率(ml/h)</label>
  212. <label v-else>超滤率(L/h)</label>
  213. <input
  214. type="number"
  215. @focus="inputFocus"
  216. onclick="this.select();"
  217. class="inputBox"
  218. v-model="form.ultrafiltration_rate"
  219. />
  220. </div>
  221. <div class="cell">
  222. <label>动脉压(mmHg)</label>
  223. <input
  224. type="number"
  225. @focus="inputFocus"
  226. onclick="this.select();"
  227. class="inputBox"
  228. v-model="form.arterial_pressure"
  229. style="width:60%"
  230. />
  231. <button
  232. class="typeButton"
  233. style="width:30%;padding: 0.18rem 0; color: #fff; background: #409eff;border-radius:5px"
  234. @click="venousPressureChange(3)"
  235. >转换</button>
  236. </div>
  237. <div class="cell" v-if="isShow('透析液温度')">
  238. <label>透析液温度(℃)</label>
  239. <input
  240. type="number"
  241. @focus="inputFocus"
  242. onclick="this.select();"
  243. class="inputBox"
  244. v-model="form.dialysate_temperature"
  245. />
  246. </div>
  247. <div class="cell" v-if="isShow('钠浓度')">
  248. <label>钠浓度(mmol/L)</label>
  249. <input
  250. type="number"
  251. @focus="inputFocus"
  252. onclick="this.select();"
  253. class="inputBox"
  254. v-model="form.sodium_concentration"
  255. />
  256. </div>
  257. <div class="cell" v-if="isShow('置换率')">
  258. <label v-if="template_id == 6">置换率(ml/min)</label>
  259. <label v-else>置换率(L/h)</label>
  260. <input
  261. type="number"
  262. @focus="inputFocus"
  263. onclick="this.select();"
  264. class="inputBox"
  265. v-model="form.replacement_rate"
  266. />
  267. </div>
  268. <div class="cell" v-if="isShow('置换量')">
  269. <label v-if="template_id == 6">置换量(ml)</label>
  270. <label v-else>置换量(L)</label>
  271. <input
  272. type="number"
  273. @focus="inputFocus"
  274. onclick="this.select();"
  275. class="inputBox"
  276. v-model="form.displacement_quantity"
  277. />
  278. </div>
  279. <div class="cell" v-if="isShow('电导度')">
  280. <label>电导度(mS/m)</label>
  281. <input
  282. type="number"
  283. @focus="inputFocus"
  284. onclick="this.select();"
  285. class="inputBox"
  286. v-model="form.conductivity"
  287. />
  288. </div>
  289. <div class="cell" v-if="isShow('置换液流量')">
  290. <label>置换液流量(ml/h)</label>
  291. <input
  292. type="number"
  293. @focus="inputFocus"
  294. onclick="this.select();"
  295. class="inputBox"
  296. v-model="form.displacement_flow_quantity"
  297. />
  298. </div>
  299. <div class="cell width" v-if="isShow('KT/V')">
  300. <label>KT/V(在线)</label>
  301. <!-- <input type="text" class="inputBox" v-model="form.ktv"> -->
  302. <textarea
  303. @focus="inputFocus"
  304. class="inputBox"
  305. style="width: 100%;"
  306. :rows="4"
  307. v-model="form.ktv"
  308. ></textarea>
  309. </div>
  310. <div class="cell width" v-if="isShow('病情变化')">
  311. <label>病情变化</label>
  312. <input
  313. type="text"
  314. class="inputBox"
  315. style="width: 100%;margin-bottom:5px;"
  316. v-model="form.symptom"
  317. readonly
  318. placeholder="选择 "
  319. @click="showSubMenu('symptom')"
  320. />
  321. <textarea
  322. @focus="inputFocus"
  323. class="inputBox"
  324. style="width: 100%;"
  325. :rows="4"
  326. v-model="form.symptom"
  327. ></textarea>
  328. </div>
  329. <div class="cell width" v-if="isShow('处理')">
  330. <label>处理</label>
  331. <!-- <input type="text" class="inputBox" v-model="form.dispose"> -->
  332. <input
  333. type="text"
  334. class="inputBox"
  335. style="width: 100%;margin-bottom:5px;"
  336. v-model="form.dispose"
  337. readonly
  338. placeholder="选择"
  339. @click="showSubMenu('dispose')"
  340. />
  341. <textarea
  342. @focus="inputFocus"
  343. class="inputBox"
  344. style="width: 100%;"
  345. :rows="4"
  346. v-model="form.dispose"
  347. ></textarea>
  348. </div>
  349. <div class="cell width" v-if="isShow('结果')">
  350. <label>结果</label>
  351. <!-- <input type="text" class="inputBox" v-model="form.result"> -->
  352. <input
  353. type="text"
  354. class="inputBox"
  355. style="width: 100%;margin-bottom:5px;"
  356. v-model="form.result"
  357. readonly
  358. placeholder="选择"
  359. @click="showSubMenu('result')"
  360. />
  361. <textarea
  362. @focus="lastInputFocus"
  363. @blur="lastInputBlur"
  364. class="inputBox"
  365. style="width: 100%;"
  366. :rows="4"
  367. v-model="form.result"
  368. ></textarea>
  369. </div>
  370. <div class="cell width">
  371. <label>监测人:</label>
  372. <span class="doctor">{{doctor}}</span>
  373. </div>
  374. </div>
  375. </div>
  376. </div>
  377. </div>
  378. <mt-datetime-picker ref="picker" type="datetime" @confirm="handleConfirm" v-model="pickertime"></mt-datetime-picker>
  379. <check-box-sub-menu
  380. :visibility="visibility"
  381. v-on:menu-cancle="menuCancle"
  382. v-on:menu-comfirm="menuComfirm"
  383. :propsForm="propForm"
  384. ></check-box-sub-menu>
  385. </div>
  386. </template>
  387. <script>
  388. import {
  389. addMonitorRecord,
  390. deleteMonitorRecord,
  391. editMonitorRecord,
  392. GetMonitor,
  393. GetMonitorToday
  394. } from '@/api/dialysis'
  395. import { parseTime } from '@/utils'
  396. import { Dialog, Toast } from 'vant'
  397. import CheckBoxSubMenu from './subMenu/checkBoxSubMenu'
  398. import { getDataConfig } from '@/utils/data'
  399. export default {
  400. name: 'MonitDialog',
  401. props: {
  402. monitor_records: {
  403. type: Array
  404. },
  405. patient: {
  406. type: Object
  407. },
  408. order: {
  409. type: Object
  410. },
  411. last_monitor_record: {
  412. type: Object
  413. }
  414. },
  415. data () {
  416. return {
  417. loading: false,
  418. formTitle: '新增监测',
  419. formPanel: false,
  420. listPanel: true,
  421. tableDate: [],
  422. monitorRecords: this.monitor_records,
  423. pickertime: new Date(),
  424. monitor_time_str: '',
  425. // monitor_date_str: "",
  426. currentIndex: -1,
  427. currentRow: null,
  428. rowClass: 'row-class-active',
  429. template_id: 0,
  430. visibility: false,
  431. today_last_monitor_record: {},
  432. propForm: {
  433. title: '',
  434. list: [],
  435. optionList: [],
  436. isMultiple: 2,
  437. result: [], // 选中的值
  438. type: 1, // 用来区分不同子菜单,方便对返回值进行赋值
  439. selectId: 0
  440. },
  441. form: {
  442. // patient_id: 0,
  443. // order_id: 0,
  444. monitor_date: 0,
  445. // monitor_time: "00:00",
  446. operate_time: 0,
  447. pulse_frequency: '', // 脉率
  448. breathing_rated: '', // 呼吸频率
  449. systolic_bp: '', // 收缩压
  450. diastolic_bp: '', // 舒张压
  451. blood_flow_volume: '', // 血流量
  452. venous_pressure: '', // 静脉压
  453. arterial_pressure: '', // 动脉压
  454. transmembrane_pressure: '', // 跨膜压
  455. ultrafiltration_rate: '', // 超滤率
  456. ultrafiltration_volume: '', // 超滤量
  457. sodium_concentration: '', // 钠浓度
  458. dialysate_temperature: '', // 透析液温度
  459. temperature: '', // 体温
  460. replacement_rate: '', // 置换率
  461. displacement_quantity: '', // 置换量
  462. conductivity: '',
  463. displacement_flow_quantity: '',
  464. ktv: '', // KT/V(在线)
  465. symptom: '', // 症状
  466. dispose: '', // 处理
  467. result: '', // 结果
  468. monitoring_nurse: this.$store.getters.user.user.id // 监测人
  469. },
  470. doctor: this.$store.getters.user.user.user_name
  471. }
  472. },
  473. created () {
  474. var date = this.$route.query && this.$route.query.date
  475. this.template_id = this.$store.getters.user.template_info.template_id
  476. // date *= 1000;
  477. // var newDate = new Date(date);
  478. // var cDate = new Date();
  479. // var y = newDate.getFullYear();
  480. // var m = newDate.getMonth() + 1;
  481. // var d = newDate.getDate();
  482. // if (isNaN(y) || isNaN(m) || isNaN(d)) {
  483. // // newDate = new Date();
  484. // y = cDate.getFullYear();
  485. // m = cDate.getMonth() + 1;
  486. // d = cDate.getDate();
  487. // }
  488. // var h = cDate.getHours();
  489. // var mi = cDate.getMinutes();
  490. // var pickertime = (h < 10 ? "0" + h : h) + ":" + (mi < 10 ? "0" + mi : mi);
  491. // var monitor_date_str =
  492. // y + "-" + (m < 10 ? "0" + m : m) + "-" + (d < 10 ? "0" + d : d);
  493. // this.form.monitor_date = Math.round(
  494. // new Date(monitor_date_str + " 00:00:00").getTime() / 1000
  495. // );
  496. // this.form.monitor_date = parseInt((new Date(date.getFullYear, date.getMonth, date.getDate, 0, 0, 0, 0)).getTime()) //parseTime(date, "{y}-{m}-{d}") + " 00:00:00"
  497. this.form.monitor_date = date
  498. this.form.operate_time = this.pickertime.getTime()
  499. },
  500. methods: {
  501. timechange () {
  502. debugger
  503. },
  504. venousPressureChange (type) {
  505. if (type == 1) {
  506. this.form.venous_pressure = Math.ceil(
  507. Math.round(this.form.venous_pressure * 7.5)
  508. )
  509. } else if (type == 2) {
  510. this.form.transmembrane_pressure = Math.ceil(
  511. Math.round(this.form.transmembrane_pressure * 7.5)
  512. )
  513. } else {
  514. this.form.arterial_pressure = Math.ceil(
  515. Math.round(this.form.arterial_pressure * 7.5)
  516. )
  517. }
  518. },
  519. isShow (name) {
  520. var filedList = this.$store.getters.user.fileds
  521. for (let i = 0; i < filedList.length; i++) {
  522. if (
  523. filedList[i].module == 4 &&
  524. filedList[i].filed_name_cn == name &&
  525. filedList[i].is_show == 1
  526. ) {
  527. return true
  528. }
  529. }
  530. return false
  531. },
  532. getLastRecordTody () {
  533. let params = {
  534. patient_id: this.patient.id
  535. }
  536. GetMonitorToday(params).then(rs => {
  537. var resp = rs.data.data
  538. this.today_last_monitor_record = resp.monitor
  539. // this.form.operate_time = Date.parse(new Date())
  540. this.form.operate_time = resp.monitor.operate_time ? (resp.monitor.operate_time + 3600) * 1000 : Date.parse(new Date())
  541. this.form.pulse_frequency = '' // this.last_monitor_record.pulse_frequency;
  542. this.form.breathing_rated = resp.monitor.breathing_rate ? resp.monitor.breathing_rate : ''
  543. this.form.systolic_bp = '' // this.last_monitor_record.systolic_blood_pressure;
  544. this.form.diastolic_bp = '' // this.last_monitor_record.diastolic_blood_pressure;
  545. this.form.blood_flow_volume = resp.monitor.blood_flow_volume ? resp.monitor.blood_flow_volume : ''
  546. this.form.venous_pressure = '' // this.last_monitor_record.venous_pressure;
  547. this.form.arterial_pressure = '' // this.last_monitor_record.arterial_pressure;
  548. this.form.transmembrane_pressure = '' // this.last_monitor_record.transmembrane_pressure;
  549. this.form.ultrafiltration_rate = resp.monitor.ultrafiltration_rate ? resp.monitor.ultrafiltration_rate : ''
  550. this.form.ultrafiltration_volume = resp.monitor.ultrafiltration_volume ? resp.monitor.ultrafiltration_volume : ''
  551. this.form.sodium_concentration = resp.monitor.sodium_concentration ? resp.monitor.sodium_concentration : ''
  552. this.form.dialysate_temperature = resp.monitor.dialysate_temperature ? resp.monitor.dialysate_temperature : ''
  553. this.form.temperature = resp.monitor.temperature ? resp.monitor.temperature : ''
  554. this.form.replacement_rate = resp.monitor.replacement_rate ? resp.monitor.replacement_rate : ''
  555. this.form.displacement_quantity = '' // this.last_monitor_record.displacement_quantity;
  556. this.form.conductivity = ''
  557. this.form.displacement_flow_quantity = ''
  558. this.form.ktv = '' // this.last_monitor_record.ktv;
  559. this.form.symptom = '' // this.last_monitor_record.symptom;
  560. this.form.dispose = '' // this.last_monitor_record.dispose;
  561. this.form.result = '' // this.last_monitor_record.result;
  562. this.form.id = -1
  563. console.log(this.form)
  564. })
  565. },
  566. getLastRecord () {
  567. let params = {
  568. patient_id: this.patient.id
  569. }
  570. GetMonitor(params).then(rs => {
  571. var resp = rs.data
  572. if (resp.state == 1) {
  573. var monitor = resp.data.monitor
  574. if (monitor.systolic_blood_pressure == 0) {
  575. this.form.systolic_bp = ''
  576. } else {
  577. this.form.systolic_bp = monitor.systolic_blood_pressure
  578. }
  579. if (monitor.diastolic_blood_pressure == 0) {
  580. this.form.diastolic_bp = ''
  581. } else {
  582. this.form.diastolic_bp = monitor.diastolic_blood_pressure
  583. }
  584. if (monitor.pulse_frequency == 0) {
  585. this.form.pulse_frequency = ''
  586. } else {
  587. this.form.pulse_frequency = monitor.pulse_frequency
  588. }
  589. if (monitor.breathing_rate == 0) {
  590. this.form.breathing_rated = ''
  591. } else {
  592. this.form.breathing_rated = monitor.breathing_rate
  593. }
  594. if (monitor.blood_flow_volume == 0) {
  595. this.form.blood_flow_volume = ''
  596. } else {
  597. this.form.blood_flow_volume = monitor.blood_flow_volume
  598. }
  599. if (monitor.venous_pressure == 0) {
  600. this.form.venous_pressure = ''
  601. } else {
  602. this.form.venous_pressure = monitor.venous_pressure
  603. }
  604. if (monitor.arterial_pressure == 0) {
  605. this.form.arterial_pressure = ''
  606. } else {
  607. this.form.arterial_pressure = monitor.arterial_pressure
  608. }
  609. if (monitor.transmembrane_pressure == 0) {
  610. this.form.transmembrane_pressure = ''
  611. } else {
  612. this.form.transmembrane_pressure = monitor.transmembrane_pressure
  613. }
  614. if (monitor.ultrafiltration_rate == 0) {
  615. this.form.ultrafiltration_rate = ''
  616. } else {
  617. this.form.ultrafiltration_rate = monitor.ultrafiltration_rate
  618. }
  619. if (monitor.ultrafiltration_volume == 0) {
  620. this.form.ultrafiltration_volume = ''
  621. } else {
  622. this.form.ultrafiltration_volume = monitor.ultrafiltration_volume
  623. }
  624. if (monitor.sodium_concentration == 0) {
  625. this.form.sodium_concentration = ''
  626. } else {
  627. this.form.sodium_concentration = monitor.sodium_concentration
  628. }
  629. if (monitor.dialysate_temperature == 0) {
  630. this.form.dialysate_temperature = ''
  631. } else {
  632. this.form.dialysate_temperature = monitor.dialysate_temperature
  633. }
  634. if (monitor.temperature == 0) {
  635. this.form.temperature = ''
  636. } else {
  637. this.form.temperature = monitor.temperature
  638. }
  639. if (monitor.replacement_rate == 0) {
  640. this.form.replacement_rate = ''
  641. } else {
  642. this.form.replacement_rate = monitor.replacement_rate
  643. }
  644. if (monitor.displacement_quantity == 0) {
  645. this.form.displacement_quantity = ''
  646. } else {
  647. this.form.displacement_quantity = monitor.displacement_quantity
  648. }
  649. if (monitor.conductivity == 0) {
  650. this.form.conductivity = ''
  651. } else {
  652. this.form.conductivity = monitor.conductivity
  653. }
  654. if (monitor.displacement_flow_quantity == 0) {
  655. this.form.displacement_flow_quantity = ''
  656. } else {
  657. this.form.displacement_flow_quantity =
  658. monitor.displacement_flow_quantity
  659. }
  660. this.form.ktv = monitor.ktv
  661. this.form.symptom = monitor.symptom
  662. this.form.dispose = monitor.dispose
  663. this.form.result = monitor.result
  664. this.form.operate_time = new Date(
  665. monitor.operate_time * 1000
  666. ).getTime()
  667. this.form.id = -1
  668. }
  669. })
  670. },
  671. selectRow (index, row) {
  672. this.currentIndex = index
  673. this.currentRow = row
  674. },
  675. inputFocus: function (event) {
  676. var input = event.target
  677. setTimeout(function () {
  678. input.parentNode.scrollIntoView()
  679. }, 0)
  680. // if (input.setSelectionRange) {
  681. // setTimeout(function () {
  682. // input.setSelectionRange(0, input.value.length);
  683. // }, 0);
  684. // } else if (input.createTextRange) {
  685. // var rng = input.createTextRange();
  686. // rng.move('character', input.value.length);
  687. // rng.select();
  688. // }
  689. },
  690. lastInputFocus: function (event) {
  691. var input = event.target
  692. setTimeout(function () {
  693. input.style.marginBottom = '2rem'
  694. input.parentNode.scrollIntoView()
  695. }, 0)
  696. },
  697. lastInputBlur: function (event) {
  698. var input = event.target
  699. setTimeout(function () {
  700. input.style.marginBottom = ''
  701. }, 0)
  702. },
  703. close: function () {
  704. this.$emit('close')
  705. },
  706. setRecords (records) {
  707. this.monitorRecords = records
  708. },
  709. parseTime (time, layout) {
  710. return parseTime(time, layout)
  711. },
  712. addRecords (records) {
  713. this.tableDate.push(...records)
  714. },
  715. deleteForm () {
  716. if (this.currentIndex < 0 || this.currentRow == null) {
  717. Toast.fail('请先选择要删除的记录')
  718. return false
  719. }
  720. Dialog.confirm({
  721. title: '删除监测记录',
  722. message: '是否删除该监测记录'
  723. })
  724. .then(() => {
  725. let params = {
  726. record_id: this.currentRow.id,
  727. patient_id: this.patient.id
  728. }
  729. deleteMonitorRecord(params).then(rs => {
  730. var resp = rs.data
  731. if (resp.state == 1) {
  732. var recordId = resp.data.record_id
  733. this.$emit('did_delete_monitor', recordId)
  734. Toast.success('删除成功')
  735. } else {
  736. Toast.fail(resp.msg)
  737. }
  738. })
  739. })
  740. .catch(() => {})
  741. },
  742. handleConfirm (time) {
  743. this.form.operate_time = time.getTime()
  744. // var timeMap = time.split(":");
  745. // this.form.monitor_time = time;
  746. // this.monitor_time_str =
  747. // parseTime(this.form.monitor_date, "{y}-{m}-{d}") +
  748. // " " +
  749. // this.form.monitor_time;
  750. // this.monitor_time_str = this.handleTime(time);
  751. // this.form.monitor_time = parseTime(time, "{h}:{i}")
  752. // this.form.monitor_date = Math.round(new Date(parseTime(time, "{y}-{m}-{d}") + " 00:00:00").getTime()/1000);
  753. },
  754. handleTime (time) {
  755. var year = time.getFullYear()
  756. var month = time.getMonth() + 1
  757. var day = time.getDate()
  758. var hour = time.getHours()
  759. var minute = time.getMinutes()
  760. if (month < 10) {
  761. month = '0' + month
  762. }
  763. if (day < 10) {
  764. day = '0' + day
  765. }
  766. if (hour < 10) {
  767. hour = '0' + hour
  768. }
  769. if (minute < 10) {
  770. minute = '0' + minute
  771. }
  772. return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':00'
  773. },
  774. chooseTime () {
  775. this.$refs.picker.open()
  776. },
  777. openEidtForm () {
  778. if (this.currentIndex < 0 || this.currentRow == null) {
  779. Toast.fail('请先选择要修改的记录')
  780. return false
  781. }
  782. this.formTitle = '修改监测'
  783. this.formPanel = true
  784. this.listPanel = false
  785. // console.log("this.currentRow", this.currentRow);
  786. if (this.currentRow.systolic_blood_pressure == 0) {
  787. this.form.systolic_bp = ''
  788. } else {
  789. this.form.systolic_bp = this.currentRow.systolic_blood_pressure
  790. }
  791. if (this.currentRow.diastolic_blood_pressure == 0) {
  792. this.form.diastolic_bp = ''
  793. } else {
  794. this.form.diastolic_bp = this.currentRow.diastolic_blood_pressure
  795. }
  796. if (this.currentRow.pulse_frequency == 0) {
  797. this.form.pulse_frequency = ''
  798. } else {
  799. this.form.pulse_frequency = this.currentRow.pulse_frequency
  800. }
  801. if (this.currentRow.breathing_rate == 0) {
  802. this.form.breathing_rated = ''
  803. } else {
  804. this.form.breathing_rated = this.currentRow.breathing_rate
  805. }
  806. if (this.currentRow.blood_flow_volume == 0) {
  807. this.form.blood_flow_volume = ''
  808. } else {
  809. this.form.blood_flow_volume = this.currentRow.blood_flow_volume
  810. }
  811. if (this.currentRow.venous_pressure == 0) {
  812. this.form.venous_pressure = ''
  813. } else {
  814. this.form.venous_pressure = this.currentRow.venous_pressure
  815. }
  816. if (this.currentRow.arterial_pressure == 0) {
  817. this.form.arterial_pressure = ''
  818. } else {
  819. this.form.arterial_pressure = this.currentRow.arterial_pressure
  820. }
  821. if (this.currentRow.transmembrane_pressure == 0) {
  822. this.form.transmembrane_pressure = ''
  823. } else {
  824. this.form.transmembrane_pressure = this.currentRow.transmembrane_pressure
  825. }
  826. if (this.currentRow.ultrafiltration_rate == 0) {
  827. this.form.ultrafiltration_rate = ''
  828. } else {
  829. this.form.ultrafiltration_rate = this.currentRow.ultrafiltration_rate
  830. }
  831. if (this.currentRow.ultrafiltration_volume == 0) {
  832. this.form.ultrafiltration_volume = ''
  833. } else {
  834. this.form.ultrafiltration_volume = this.currentRow.ultrafiltration_volume
  835. }
  836. if (this.currentRow.sodium_concentration == 0) {
  837. this.form.sodium_concentration = ''
  838. } else {
  839. this.form.sodium_concentration = this.currentRow.sodium_concentration
  840. }
  841. if (this.currentRow.dialysate_temperature == 0) {
  842. this.form.dialysate_temperature = ''
  843. } else {
  844. this.form.dialysate_temperature = this.currentRow.dialysate_temperature
  845. }
  846. if (this.currentRow.temperature == 0) {
  847. this.form.temperature = ''
  848. } else {
  849. this.form.temperature = this.currentRow.temperature
  850. }
  851. if (this.currentRow.replacement_rate == 0) {
  852. this.form.replacement_rate = ''
  853. } else {
  854. this.form.replacement_rate = this.currentRow.replacement_rate
  855. }
  856. if (this.currentRow.displacement_quantity == 0) {
  857. this.form.displacement_quantity = ''
  858. } else {
  859. this.form.displacement_quantity = this.currentRow.displacement_quantity
  860. }
  861. if (this.currentRow.conductivity == 0) {
  862. this.form.conductivity = ''
  863. } else {
  864. this.form.conductivity = this.currentRow.conductivity
  865. }
  866. if (this.currentRow.displacement_flow_quantity == 0) {
  867. this.form.displacement_flow_quantity = ''
  868. } else {
  869. this.form.displacement_flow_quantity = this.currentRow.displacement_flow_quantity
  870. }
  871. if (this.currentRow.ktv == 0) {
  872. this.form.ktv = ''
  873. } else {
  874. this.form.ktv = this.currentRow.ktv
  875. }
  876. this.form.symptom = this.currentRow.symptom
  877. this.form.dispose = this.currentRow.dispose
  878. this.form.result = this.currentRow.result
  879. this.form.id = this.currentRow.id
  880. this.form.operate_time = this.currentRow.operate_time * 1000
  881. // this.monitor_time_str =
  882. // parseTime(this.form.monitor_date, "{y}-{m}-{d}") +
  883. // " " +
  884. // this.form.monitor_time;
  885. },
  886. openForm () {
  887. this.formTitle = '新增监测'
  888. this.formPanel = true
  889. this.listPanel = false
  890. // if(this.monitor_time_str == "") {
  891. var date = this.$route.query && this.$route.query.date
  892. date *= 1000
  893. var newDate = new Date(date)
  894. var y = newDate.getFullYear()
  895. var m = newDate.getMonth() + 1
  896. var d = newDate.getDate()
  897. var record_date =
  898. y + '/' + (m < 10 ? '0' + m : m) + '/' + (d < 10 ? '0' + d : d)
  899. this.form.monitor_date =
  900. new Date(record_date + ' 00:00:00').getTime() / 1000
  901. var nowTime = new Date()
  902. // this.form.monitor_time = parseTime(nowTime, "{h}:{i}");
  903. // this.monitor_time_str = this.handleTime(nowTime);
  904. // this.monitor_time_str = record_date + " " + this.form.monitor_time;
  905. this.getLastRecordTody()
  906. // }
  907. },
  908. submitEditAction: function () {
  909. this.loading = true
  910. Toast.loading({ forbidClick: true, duration: 0 })
  911. var params = {}
  912. params.patient_id = this.patient.id
  913. params.order_id = this.order == null ? 0 : this.order.id
  914. params.date = this.form.monitor_date
  915. // params.time = this.form.monitor_time;
  916. params.operate_time = parseInt(this.form.operate_time / 1000)
  917. params.pulse_frequency = this.form.pulse_frequency
  918. params.breathing_rated = this.form.breathing_rated
  919. params.systolic_bp = this.form.systolic_bp
  920. params.diastolic_bp = this.form.diastolic_bp
  921. params.blood_flow_volume = this.form.blood_flow_volume
  922. params.venous_pressure = this.form.venous_pressure
  923. params.arterial_pressure = this.form.arterial_pressure
  924. params.transmembrane_pressure = this.form.transmembrane_pressure
  925. params.ultrafiltration_rate = this.form.ultrafiltration_rate
  926. params.ultrafiltration_volume = this.form.ultrafiltration_volume
  927. params.sodium_concentration = this.form.sodium_concentration
  928. params.dialysate_temperature = this.form.dialysate_temperature
  929. params.temperature = this.form.temperature
  930. params.replacement_rate = this.form.replacement_rate
  931. params.displacement_quantity = this.form.displacement_quantity
  932. params.ktv = this.form.ktv
  933. params.conductivity = this.form.conductivity
  934. params.symptom = this.form.symptom
  935. params.dispose = this.form.dispose
  936. params.result = this.form.result
  937. params.monitoring_nurse = this.form.monitoring_nurse
  938. params.displacement_flow_quantity = this.form.displacement_flow_quantity
  939. params.id = this.form.id
  940. editMonitorRecord(params).then(rs => {
  941. var resp = rs.data
  942. if (resp.state == 1) {
  943. this.loading = false
  944. var monitor = resp.data.monitor
  945. this.$emit('did_edit_monitor', monitor)
  946. this.selectRow(-1, null)
  947. this.form.pulse_frequency = ''
  948. this.form.breathing_rated = ''
  949. this.form.systolic_bp = ''
  950. this.form.diastolic_bp = ''
  951. this.form.blood_flow_volume = ''
  952. this.form.venous_pressure = ''
  953. this.form.arterial_pressure = ''
  954. this.form.transmembrane_pressure = ''
  955. this.form.ultrafiltration_rate = ''
  956. this.form.ultrafiltration_volume = ''
  957. this.form.sodium_concentration = ''
  958. this.form.dialysate_temperature = ''
  959. this.form.temperature = ''
  960. this.form.replacement_rate = ''
  961. this.form.displacement_quantity = ''
  962. this.form.ktv = ''
  963. this.form.symptom = ''
  964. this.form.dispose = ''
  965. this.form.result = ''
  966. this.form.conductivity = ''
  967. this.form.displacement_flow_quantity = ''
  968. this.form.id = -1
  969. Toast.success('修改成功')
  970. this.formPanel = false
  971. this.listPanel = true
  972. } else {
  973. this.loading = false
  974. Toast.fail(resp.msg)
  975. }
  976. }).catch(error => {
  977. Toast.fail("请求失败")
  978. })
  979. },
  980. submitAction: function () {
  981. this.loading = true
  982. Toast.loading({ forbidClick: true, duration: 0 })
  983. var params = {}
  984. params.patient_id = this.patient.id
  985. params.order_id = this.order == null ? 0 : this.order.id
  986. params.date = this.form.monitor_date
  987. params.operate_time = parseInt(this.form.operate_time / 1000)
  988. params.pulse_frequency = this.form.pulse_frequency
  989. params.breathing_rated = this.form.breathing_rated
  990. params.systolic_bp = this.form.systolic_bp
  991. params.diastolic_bp = this.form.diastolic_bp
  992. params.blood_flow_volume = this.form.blood_flow_volume
  993. params.venous_pressure = this.form.venous_pressure
  994. params.arterial_pressure = this.form.arterial_pressure
  995. params.transmembrane_pressure = this.form.transmembrane_pressure
  996. params.ultrafiltration_rate = this.form.ultrafiltration_rate
  997. params.ultrafiltration_volume = this.form.ultrafiltration_volume
  998. params.sodium_concentration = this.form.sodium_concentration
  999. params.dialysate_temperature = this.form.dialysate_temperature
  1000. params.temperature = this.form.temperature
  1001. params.replacement_rate = this.form.replacement_rate
  1002. params.displacement_quantity = this.form.displacement_quantity
  1003. params.conductivity = this.form.conductivity
  1004. params.displacement_flow_quantity = this.form.displacement_flow_quantity
  1005. params.ktv = this.form.ktv
  1006. params.symptom = this.form.symptom
  1007. params.dispose = this.form.dispose
  1008. params.result = this.form.result
  1009. params.monitoring_nurse = this.form.monitoring_nurse
  1010. addMonitorRecord(params)
  1011. .then(rs => {
  1012. var resp = rs.data
  1013. if (resp.state == 1) {
  1014. this.loading = false
  1015. var monitor = resp.data.monitor
  1016. this.$emit('did_add_monitor', monitor)
  1017. // this.monitor_records.unshift(monitor)
  1018. // this.monitor_records= this.quickSort(this.monitor_records,"operate_time",false)
  1019. this.form.pulse_frequency = ''
  1020. this.form.breathing_rated = ''
  1021. this.form.systolic_bp = ''
  1022. this.form.diastolic_bp = ''
  1023. this.form.blood_flow_volume = ''
  1024. this.form.venous_pressure = ''
  1025. this.form.arterial_pressure = ''
  1026. this.form.transmembrane_pressure = ''
  1027. this.form.ultrafiltration_rate = ''
  1028. this.form.ultrafiltration_volume = ''
  1029. this.form.sodium_concentration = ''
  1030. this.form.dialysate_temperature = ''
  1031. this.form.temperature = ''
  1032. this.form.replacement_rate = ''
  1033. this.form.displacement_quantity = ''
  1034. this.form.ktv = ''
  1035. this.form.symptom = ''
  1036. this.form.dispose = ''
  1037. this.form.result = ''
  1038. this.form.conductivity = ''
  1039. this.form.displacement_flow_quantity = ''
  1040. // this.last_monitor_record.sodium_concentration =
  1041. // monitor.sodium_concentration
  1042. // this.last_monitor_record.dialysate_temperature =
  1043. // monitor.dialysate_temperature
  1044. Toast.success('新增成功')
  1045. this.formPanel = false
  1046. this.listPanel = true
  1047. } else {
  1048. this.loading = false
  1049. Toast.fail(resp.msg)
  1050. }
  1051. })
  1052. .catch(err => {
  1053. this.loading = false
  1054. Toast.fail(err)
  1055. })
  1056. },
  1057. showSubMenu: function (val) {
  1058. switch (val) {
  1059. case 'symptom':
  1060. this.propForm.type = 1
  1061. this.formPanel = false
  1062. this.propForm.title = '病情变化'
  1063. this.visibility = true
  1064. this.propForm.list = getDataConfig('hemodialysis', 'symptoms')
  1065. this.propForm.optionList = []
  1066. this.propForm.isMultiple = 2
  1067. if (this.form.symptom.length > 0) {
  1068. this.propForm.result = this.form.symptom.split(',')
  1069. } else {
  1070. this.propForm.result = []
  1071. }
  1072. break
  1073. case 'dispose':
  1074. this.propForm.type = 2
  1075. this.formPanel = false
  1076. this.propForm.title = '处理'
  1077. this.visibility = true
  1078. this.propForm.list = getDataConfig('hemodialysis', 'deals')
  1079. this.propForm.optionList = []
  1080. this.propForm.isMultiple = 2
  1081. if (this.form.dispose.length > 0) {
  1082. this.propForm.result = this.form.dispose.split(',')
  1083. } else {
  1084. this.propForm.result = []
  1085. }
  1086. break
  1087. case 'result':
  1088. this.propForm.type = 3
  1089. this.formPanel = false
  1090. this.propForm.title = '结果'
  1091. this.visibility = true
  1092. this.propForm.list = getDataConfig('hemodialysis', 'results')
  1093. this.propForm.optionList = []
  1094. this.propForm.isMultiple = 2
  1095. if (this.form.result.length > 0) {
  1096. this.propForm.result = this.form.result.split(',')
  1097. } else {
  1098. this.propForm.result = []
  1099. }
  1100. break
  1101. }
  1102. },
  1103. menuCancle: function () {
  1104. this.visibility = false
  1105. this.formPanel = true
  1106. },
  1107. menuComfirm: function (val) {
  1108. this.visibility = false
  1109. this.formPanel = true
  1110. switch (val.type) {
  1111. case 1:
  1112. this.form.symptom = val.result.join(',')
  1113. break
  1114. case 2:
  1115. this.form.dispose = val.result.join(',')
  1116. break
  1117. case 3:
  1118. this.form.result = val.result.join(',')
  1119. break
  1120. }
  1121. },
  1122. open: function () {
  1123. this.listPanel = true
  1124. this.formPanel = false
  1125. this.visibility = false
  1126. this.$refs.picker.close()
  1127. var dialogTop = document.querySelector('#dialogTop')
  1128. if (dialogTop != null) {
  1129. this.$nextTick(() => {
  1130. dialogTop.scrollTop = 0
  1131. })
  1132. }
  1133. },
  1134. parseTime: function (time, format) {
  1135. return parseTime(time, format)
  1136. },
  1137. quickSort (arr, name, snum) {
  1138. // 如果数组<=1,则直接返回
  1139. if (arr.length <= 1) {
  1140. return arr
  1141. }
  1142. var pivotIndex = Math.floor(arr.length / 2)
  1143. // 找基准,并把基准从原数组删除
  1144. var pivot = arr.splice(pivotIndex, 1)[0]
  1145. var middleNum = pivot[name]
  1146. // 定义左右数组
  1147. var left = []
  1148. var right = []
  1149. // 比基准小的放在left,比基准大的放在right
  1150. if (snum) {
  1151. for (var i = 0; i < arr.length; i++) {
  1152. if (arr[i][name] <= middleNum) {
  1153. left.push(arr[i])
  1154. } else {
  1155. right.push(arr[i])
  1156. }
  1157. }
  1158. } else {
  1159. for (var i = 0; i < arr.length; i++) {
  1160. if (arr[i][name] <= middleNum) {
  1161. left.push(arr[i])
  1162. } else {
  1163. right.push(arr[i])
  1164. }
  1165. }
  1166. }
  1167. // 递归,返回所需数组
  1168. return this.quickSort(left, name, snum).concat(
  1169. [pivot],
  1170. this.quickSort(right, name, snum)
  1171. )
  1172. }
  1173. },
  1174. components: {
  1175. CheckBoxSubMenu
  1176. }
  1177. }
  1178. </script>
  1179. <style style="stylesheet/scss" lang="scss" scoped>
  1180. .DialogContent {
  1181. .content {
  1182. .cell {
  1183. float: left;
  1184. width: 4.8rem;
  1185. margin: 0.35rem 0 0 0.5rem !important;
  1186. label {
  1187. display: block;
  1188. height: 0.55rem;
  1189. line-height: 0.55rem;
  1190. color: $pgh-color;
  1191. font-size: 0.45rem;
  1192. margin-bottom: 0.2rem;
  1193. }
  1194. select {
  1195. width: 100%;
  1196. padding: 0.2rem 0;
  1197. border: 1px $border-color solid;
  1198. border-radius: 2px;
  1199. padding-left: 5px;
  1200. }
  1201. .inputBox {
  1202. border: 1px $border-color solid;
  1203. border-radius: 2px;
  1204. padding: 0.18rem 0;
  1205. padding-left: 5px;
  1206. width: 100%;
  1207. @media only screen and (max-width: 415px) {
  1208. padding: 12px 0;
  1209. }
  1210. @media only screen and (min-width: 415px) and (max-width: 767px) {
  1211. padding: 9.4px 0;
  1212. }
  1213. @media only screen and (min-width: 768px) {
  1214. height: 60px;
  1215. line-height: 60px;
  1216. font-size: 0.45rem;
  1217. }
  1218. }
  1219. .typeButton {
  1220. height: 38px;
  1221. line-height: 38px;
  1222. font-size: 0.42rem;
  1223. padding: 0 !important;
  1224. @media only screen and (min-width: 415px) and (max-width: 767px) {
  1225. font-size: 0.4rem;
  1226. }
  1227. @media only screen and (min-width: 768px) {
  1228. height: 60px;
  1229. line-height: 60px;
  1230. font-size: 0.45rem;
  1231. padding: 0 !important;
  1232. }
  1233. }
  1234. .input_focus {
  1235. margin-bottom: 2rem;
  1236. }
  1237. .textarea {
  1238. width: 100%;
  1239. height: 1.22rem;
  1240. border: 1px $border-color solid;
  1241. border-radius: 2px;
  1242. padding-left: 5px;
  1243. }
  1244. }
  1245. .width {
  1246. width: 95%;
  1247. @include box-sizing;
  1248. label {
  1249. display: inline-block;
  1250. }
  1251. button {
  1252. background: $main-color;
  1253. color: #fff;
  1254. border-radius: 6px;
  1255. width: 3.1rem;
  1256. height: 0.9rem;
  1257. line-height: 0.9rem;
  1258. text-align: center;
  1259. margin: 0 0 0.9rem 0;
  1260. }
  1261. }
  1262. .center {
  1263. text-align: center;
  1264. }
  1265. }
  1266. }
  1267. .row-class-active > td {
  1268. background: #badcff !important;
  1269. }
  1270. .doctor {
  1271. font-size: 0.45rem;
  1272. }
  1273. </style>
  1274. <style lang="scss">
  1275. .el-table td {
  1276. padding: 0;
  1277. }
  1278. .el-table th {
  1279. padding: 6px 0;
  1280. }
  1281. </style>