Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

index.vue 58KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525
  1. <template>
  2. <div class="main-contain">
  3. <div class="position">
  4. <bread-crumb :crumbs='crumbs'></bread-crumb>
  5. </div>
  6. <div v-if="this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028"
  7. class="app-container">
  8. <div class="nameTitle">患者基本信息:</div>
  9. <div class="formMain">
  10. <el-form class="basicForm" :model="form" :rules="rules2" ref="form" label-width="100px">
  11. <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
  12. <el-autocomplete
  13. class="checkSearch"
  14. popper-class="my-autocomplete"
  15. v-model="form.name"
  16. :fetch-suggestions="querySearchAsync"
  17. :trigger-on-focus="false"
  18. placeholder="请输入病人名字"
  19. @select="handleSelect"
  20. style="width:160px;"
  21. >
  22. <i class="el-icon-search el-input__icon" slot="suffix"></i>
  23. <template slot-scope="{ item }">
  24. <div class="name">{{ item.name }}</div>
  25. </template>
  26. </el-autocomplete>
  27. </el-form-item>
  28. <el-form-item label="性别:" prop="sex" :validate-event="is_Name">
  29. <el-select v-model="form.sex" placeholder="请选择">
  30. <el-option
  31. v-for="item in sex"
  32. :key="item.value"
  33. :label="item.label"
  34. :value="item.value">
  35. </el-option>
  36. </el-select>
  37. </el-form-item>
  38. <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
  39. <el-input v-model="form.age"></el-input>
  40. </el-form-item>
  41. <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
  42. <el-date-picker v-model="form.birthday" type="date" @change="getBirthday"
  43. placeholder="选择日期"></el-date-picker>
  44. </el-form-item>
  45. <el-form-item label="手机号码:" prop="phone">
  46. <el-input v-model="form.phone"></el-input>
  47. </el-form-item>
  48. <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
  49. <el-select v-model="form.certificates" placeholder="请选择">
  50. <el-option
  51. v-for="item in certificates"
  52. :key="item.value"
  53. :label="item.label"
  54. :value="item.value">
  55. </el-option>
  56. </el-select>
  57. </el-form-item>
  58. <el-form-item label="证件号码:" prop="idCard" :validate-event="is_Name">
  59. <el-input v-model="form.idCard"></el-input>
  60. </el-form-item>
  61. <el-form-item label="结算类型:">
  62. <el-select v-model="form.settlementValue" placeholder="请选择">
  63. <el-option
  64. v-for="item in settlement"
  65. :key="item.value"
  66. :label="item.label"
  67. :value="item.value">
  68. </el-option>
  69. </el-select>
  70. </el-form-item>
  71. <el-form-item label="社保类型:">
  72. <el-select v-model="form.social_type" placeholder="请选择">
  73. <!-- <el-option
  74. v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
  75. :key="index"
  76. :label="item.name"
  77. :value="item.id">
  78. </el-option> -->
  79. <el-option
  80. v-for="item in medicalCare"
  81. :key="item.value"
  82. :label="item.label"
  83. :value="item.value">
  84. </el-option>
  85. </el-select>
  86. </el-form-item>
  87. <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
  88. <el-select v-model="form.id_card_type" placeholder="请选择">
  89. <el-option
  90. v-for="item in IDCardTypes"
  91. :key="item.value"
  92. :label="item.label"
  93. :value="item.value">
  94. </el-option>
  95. </el-select>
  96. </el-form-item>
  97. <el-form-item class="specialFormItem" label="医保卡号:">
  98. <div style="display:flex;">
  99. <el-input v-model="form.medicalInsuranceCard"></el-input>
  100. <el-button style="margin-left:10px;" type="primary" @click="readingSZ"
  101. v-loading="read_loading">读卡
  102. </el-button>
  103. </div>
  104. </el-form-item>
  105. </el-form>
  106. </div>
  107. <div class="nameTitle">患者挂号信息:</div>
  108. <div class="formMain">
  109. <el-form class="basicForm" :model="form" :rules="rules2" ref="form" label-width="100px">
  110. <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
  111. <el-select v-model="form.register" placeholder="请选择" @change="changeReg">
  112. <el-option
  113. v-for="item in his_registers"
  114. :key="item.value"
  115. :label="item.label"
  116. :value="item.value">
  117. </el-option>
  118. </el-select>
  119. </el-form-item>
  120. <el-form-item label="医疗类别:" :validate-event="is_Name" prop="medicalCare">
  121. <el-select v-model="form.medicalCare" placeholder="请选择">
  122. <el-option
  123. v-for="(item,index) in medical_care"
  124. :key="index"
  125. :label="item.label"
  126. :value="item.value">
  127. </el-option>
  128. </el-select>
  129. </el-form-item>
  130. <el-form-item label="医生:" prop="doctor" :validate-event="is_Name">
  131. <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
  132. <el-option
  133. v-for="item in doctorList"
  134. :key="item.admin_user_id"
  135. :label="item.user_name"
  136. :value="item.admin_user_id">
  137. </el-option>
  138. </el-select>
  139. </el-form-item>
  140. <el-form-item label="科室:" prop="department" :validate-event="is_Name">
  141. <el-select v-model="form.department" placeholder="请选择">
  142. <el-option
  143. v-for="item in departmentList"
  144. :key="item.id"
  145. :label="item.name"
  146. :value="item.id">
  147. </el-option>
  148. </el-select>
  149. </el-form-item>
  150. <el-form-item label="挂号费:">
  151. <el-input v-model="form.registrationFee" readonly></el-input>
  152. </el-form-item>
  153. <el-form-item label="诊疗费:">
  154. <el-input v-model="form.medicalExpenses" readonly></el-input>
  155. </el-form-item>
  156. <el-form-item label="合计:">
  157. <el-input v-model.number="total" readonly></el-input>
  158. </el-form-item>
  159. </el-form>
  160. <el-button style="float:right" v-loading="loadingone" @click="saveHisPatient9504('form')"
  161. type="primary">挂号
  162. </el-button>
  163. </div>
  164. </div>
  165. <div v-else class="app-container">
  166. <div class="nameTitle">患者基本信息:</div>
  167. <div class="formMain">
  168. <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
  169. <!--<el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">-->
  170. <!--&lt;!&ndash; <el-input v-model="form.name"></el-input> &ndash;&gt;-->
  171. <!--<el-select v-model="form.name" placeholder="请选择" @change="changeName">-->
  172. <!--<el-option-->
  173. <!--v-for="item,index in patient"-->
  174. <!--:key="index"-->
  175. <!--:label="item.name"-->
  176. <!--:value="item.id">-->
  177. <!--</el-option>-->
  178. <!--</el-select>-->
  179. <!--</el-form-item>-->
  180. <el-form-item label="患者姓名:" prop="name" :validate-event="is_Name">
  181. <el-autocomplete
  182. class="checkSearch"
  183. popper-class="my-autocomplete"
  184. v-model="form.name"
  185. :fetch-suggestions="querySearchAsync"
  186. :trigger-on-focus="false"
  187. placeholder="请输入病人名字"
  188. @select="handleSelect"
  189. style="width:160px;"
  190. >
  191. <i class="el-icon-search el-input__icon" slot="suffix"></i>
  192. <template slot-scope="{ item }">
  193. <div class="name">{{ item.name }}</div>
  194. </template>
  195. </el-autocomplete>
  196. </el-form-item>
  197. <el-form-item label="性别:" prop="sex" :validate-event="is_Name">
  198. <el-select v-model="form.sex" placeholder="请选择">
  199. <el-option
  200. v-for="item in sex"
  201. :key="item.value"
  202. :label="item.label"
  203. :value="item.value">
  204. </el-option>
  205. </el-select>
  206. </el-form-item>
  207. <el-form-item label="年龄:" prop="age" :validate-event="is_Name">
  208. <el-input v-model="form.age"></el-input>
  209. </el-form-item>
  210. <el-form-item label="出生日期:" prop="birthday" :validate-event="is_Name">
  211. <el-date-picker v-model="form.birthday" type="date" @change="getBirthday"
  212. placeholder="选择日期"></el-date-picker>
  213. </el-form-item>
  214. <el-form-item label="手机号码:" prop="phone">
  215. <el-input v-model="form.phone"></el-input>
  216. </el-form-item>
  217. <el-form-item label="证件类型:" prop="certificates" :validate-event="is_Name">
  218. <el-select v-model="form.certificates" placeholder="请选择">
  219. <el-option
  220. v-for="item in certificates"
  221. :key="item.value"
  222. :label="item.label"
  223. :value="item.value">
  224. </el-option>
  225. </el-select>
  226. </el-form-item>
  227. <el-form-item label="证件号码:" prop="idCard" :validate-event="is_Name">
  228. <el-input v-model="form.idCard"></el-input>
  229. </el-form-item>
  230. <el-form-item label="结算类型:">
  231. <el-select v-model="form.settlementValue" placeholder="请选择">
  232. <el-option
  233. v-for="item in settlement"
  234. :key="item.value"
  235. :label="item.label"
  236. :value="item.value">
  237. </el-option>
  238. </el-select>
  239. </el-form-item>
  240. <el-form-item label="社保类型:">
  241. <el-select v-model="form.social_type" placeholder="请选择">
  242. <!-- <el-option
  243. v-for="(item,index) in getDictionaryDataConfig('system','social_type')"
  244. :key="index"
  245. :label="item.name"
  246. :value="item.id">
  247. </el-option> -->
  248. <el-option
  249. v-for="item in medicalCare"
  250. :key="item.value"
  251. :label="item.label"
  252. :value="item.value">
  253. </el-option>
  254. </el-select>
  255. </el-form-item>
  256. <el-form-item label="读卡类型:" prop="id_card_type" :validate-event="is_Name">
  257. <el-select v-model="form.id_card_type" placeholder="请选择">
  258. <el-option
  259. v-for="item in IDCardTypes"
  260. :key="item.value"
  261. :label="item.label"
  262. :value="item.value">
  263. </el-option>
  264. </el-select>
  265. </el-form-item>
  266. <el-form-item class="specialFormItem" label="医保卡号:">
  267. <div style="display:flex;">
  268. <el-input v-model="form.medicalInsuranceCard"></el-input>
  269. <el-button style="margin-left:10px;" type="primary" @click="reading">读卡</el-button>
  270. </div>
  271. </el-form-item>
  272. </el-form>
  273. </div>
  274. <div class="nameTitle">患者挂号信息:</div>
  275. <div class="formMain">
  276. <el-form class="basicForm" :model="form" :rules="rules" ref="form" label-width="100px">
  277. <el-form-item label="挂号类型:" prop="register" :validate-event="is_Name">
  278. <el-select v-model="form.register" placeholder="请选择">
  279. <el-option
  280. v-for="item in his_registers"
  281. :key="item.value"
  282. :label="item.label"
  283. :value="item.value">
  284. </el-option>
  285. </el-select>
  286. </el-form-item>
  287. <el-form-item label="处方类型:" prop="p_type" :validate-event="is_Name">
  288. <el-select style="margin-right:5px;width:100px;" v-model="form.p_type" placeholder=""
  289. >
  290. <el-option
  291. v-for="(item,index) in registers"
  292. :key="index"
  293. :label="item.label"
  294. :value="item.value">
  295. </el-option>
  296. </el-select>
  297. </el-form-item>
  298. <el-form-item label="大病类别:" prop="sick_type" :validate-event="is_Name">
  299. <el-select style="margin-right:5px;width:100px;" v-model="form.sick_type" placeholder="">
  300. <el-option
  301. v-for="(item,index) in sick"
  302. :key="index"
  303. :label="item.class_name"
  304. :value="item.id">
  305. </el-option>
  306. </el-select>
  307. </el-form-item>
  308. <el-form-item label="诊断:" prop="diagnosis" :validate-event="is_Name">
  309. <el-select style="margin-right:5px;width:100px;" v-model="form.diagnosis" placeholder="">
  310. <el-option
  311. v-for="(item,index) in diagnoses"
  312. :key="index"
  313. :label="item.class_name"
  314. :value="item.id">
  315. </el-option>
  316. </el-select>
  317. </el-form-item>
  318. <el-form-item label="医疗类别:">
  319. <el-select v-model="form.medicalCare" placeholder="请选择">
  320. <el-option
  321. v-for="(item,index) in medical_care"
  322. :key="index"
  323. :label="item.label"
  324. :value="item.value">
  325. </el-option>
  326. </el-select>
  327. </el-form-item>
  328. <el-form-item label="医生:" prop="doctor" :validate-event="is_Name">
  329. <el-select v-model="form.doctor" placeholder="请选择" @change="changeDoctor">
  330. <el-option
  331. v-for="item in doctorList"
  332. :key="item.admin_user_id"
  333. :label="item.user_name"
  334. :value="item.admin_user_id">
  335. </el-option>
  336. </el-select>
  337. </el-form-item>
  338. <el-form-item label="科室:" prop="department" :validate-event="is_Name">
  339. <el-select v-model="form.department" placeholder="请选择">
  340. <el-option
  341. v-for="item in departmentList"
  342. :key="item.id"
  343. :label="item.name"
  344. :value="item.id">
  345. </el-option>
  346. </el-select>
  347. </el-form-item>
  348. <!-- <el-form-item>
  349. <el-checkbox v-model="form.costChecked">是否需要工本费</el-checkbox>
  350. </el-form-item> -->
  351. <el-form-item label="挂号费:">
  352. <el-input v-model.number="form.registrationFee"></el-input>
  353. </el-form-item>
  354. <el-form-item label="诊疗费:">
  355. <el-input v-model.number="form.medicalExpenses"></el-input>
  356. </el-form-item>
  357. <el-form-item label="工本费:">
  358. <el-input v-model.number="form.cost"></el-input>
  359. </el-form-item>
  360. <el-form-item label="合计:">
  361. <el-input v-model.number="total" readonly></el-input>
  362. </el-form-item>
  363. <el-form-item>
  364. <!-- <el-input v-model="form.name"></el-input> -->
  365. </el-form-item>
  366. </el-form>
  367. <el-button style="float:right" @click="saveHisPatient('form')" v-loading="loadingone" type="primary">挂号</el-button>
  368. </div>
  369. </div>
  370. </div>
  371. </template>
  372. <script>
  373. import { PostSearch } from '@/api/patient'
  374. import BreadCrumb from '@/xt_pages/components/bread-crumb'
  375. import { basename } from 'path'
  376. import {
  377. getAllDoctorList,
  378. getPatientDetail,
  379. getTodaySchedulePatient,
  380. getUnRegisterHisPatientList,
  381. saveHisPatient
  382. } from '@/api/project/project'
  383. import { getDictionaryDataConfig } from '@/utils/data'
  384. import { jsGetAge, uParseTime } from '@/utils/tools'
  385. import { getInitData } from '@/api/his/his'
  386. import axios from 'axios'
  387. const moment = require('moment');
  388. export default {
  389. components: {
  390. BreadCrumb
  391. },
  392. data() {
  393. return {
  394. loadingone: false,
  395. read_loading: false,
  396. registers: [
  397. { value: 11, label: '普通门诊' },
  398. { value: 12, label: '门诊挂号' },
  399. { value: 13, label: '急诊' },
  400. { value: 14, label: '门诊特殊病' },
  401. { value: 15, label: '门诊统筹' },
  402. { value: 16, label: '门诊慢性病' },
  403. { value: 21, label: '普通住院' }
  404. ],
  405. sick: [],
  406. diagnoses: [],
  407. crumbs: [
  408. { path: false, name: '门诊挂号' },
  409. { path: false, name: '门诊挂号' }
  410. ],
  411. form: {
  412. id: 0,
  413. p_type: '',
  414. sick_type: '',
  415. diagnosis: '',
  416. settlementValue: '',
  417. medicalInsuranceCard: '',
  418. name: '',
  419. sex: '',
  420. certificates: 1,
  421. medicalCare: '',
  422. birthday: '',
  423. age: '',
  424. idCard: '',
  425. register: '',
  426. doctor: '',
  427. department: '',
  428. costChecked: false,
  429. registrationFee: '',
  430. medicalExpenses: '',
  431. cost: '',
  432. total: '',
  433. phone: '',
  434. social_type: '',
  435. id_card_type: 2
  436. },
  437. medical_care: [
  438. { value: 11, label: '普通门诊' },
  439. { value: 12, label: '家庭通道' },
  440. { value: 13, label: '门诊大病' },
  441. { value: 14, label: '重疾特药' },
  442. { value: 15, label: '门诊慢病' },
  443. { value: 16, label: '门诊特检' },
  444. { value: 17, label: '健康体检' },
  445. { value: 18, label: '预防接种' },
  446. { value: 19, label: '门诊输血' },
  447. { value: 91, label: '新冠肺炎门诊' }
  448. ],
  449. settlement:
  450. [
  451. { value: 1, label: '医保' },
  452. { value: 2, label: '自费' },
  453. { value: 3, label: '公费' },
  454. { value: 4, label: '农保' },
  455. { value: 5, label: '会员' },
  456. { value: 6, label: '职工' },
  457. { value: 7, label: '合同' }
  458. ],
  459. sex: [{
  460. value: 1,
  461. label: '男'
  462. }, {
  463. value: 2,
  464. label: '女'
  465. }],
  466. certificates: [{
  467. value: 1,
  468. label: '内地身份证'
  469. }, {
  470. value: 2,
  471. label: '社保卡'
  472. }, {
  473. value: 3,
  474. label: '护照'
  475. }, {
  476. value: 4,
  477. label: '军官证'
  478. }, {
  479. value: 5,
  480. label: '台胞证'
  481. }, {
  482. value: 6,
  483. label: '港澳地区身份证'
  484. }],
  485. IDCardTypes: [{
  486. value: 1,
  487. label: '社保卡'
  488. }, {
  489. value: 2,
  490. label: '身份证'
  491. }, {
  492. value: 3,
  493. label: '电子凭证'
  494. }],
  495. medicalCare: [{
  496. value: 1,
  497. label: '职工基本医疗保险'
  498. }, {
  499. value: 2,
  500. label: '公务员医疗补助'
  501. }, {
  502. value: 3,
  503. label: '大额医疗费用补助'
  504. }, {
  505. value: 4,
  506. label: '离休人员医疗'
  507. }, {
  508. value: 5,
  509. label: '城乡居民基本医疗保险'
  510. }, {
  511. value: 6,
  512. label: '城乡居民大病医疗保险'
  513. },
  514. {
  515. value: 7,
  516. label: '生育保险'
  517. }],
  518. his_registers: [{
  519. value: 1,
  520. label: '普通'
  521. }, {
  522. value: 2,
  523. label: '主治'
  524. }, {
  525. value: 3,
  526. label: '主任'
  527. }, {
  528. value: 4,
  529. label: '免收诊金'
  530. }, {
  531. value: 5,
  532. label: '专家'
  533. }],
  534. baseinfo: {
  535. certno: '440221195903290027',
  536. psn_no: '0221201972',
  537. gend: '2',
  538. brdy: '1960-03-29',
  539. naty: '01',
  540. psn_cert_type: '01',
  541. psn_name: '杨美英',
  542. age: 60.7
  543. },
  544. rules2: {
  545. name: [{ required: true, message: '患者姓名不能为空', trigger: 'blur' }],
  546. sex: [{ required: true, message: '患者性别不能为空', trigger: 'blur' }],
  547. idCard: [{ required: true, message: '证件号码不能为空', trigger: 'blur' }],
  548. register: [{ required: true, message: '请选择挂号类型', trigger: 'blur' }],
  549. doctor: [{ required: true, message: '请选择医生', trigger: 'blur' }],
  550. department: [{ required: true, message: '请填写科室', trigger: 'blur' }],
  551. age: [{ required: true, message: '患者年龄不能为空', trigger: 'blur' }],
  552. birthday: [{ required: true, message: '患者出生日期不能为空', trigger: 'blur' }],
  553. certificates: [{ required: true, message: '证件类型不能为空', trigger: 'change' }],
  554. id_card_type: [{ required: true, message: '读卡类型不能为空', trigger: 'change' }],
  555. medicalCare: [{ required: true, message: '医疗类别不能为空', trigger: 'change' }]
  556. },
  557. rules: {
  558. name: [{ required: true, message: '患者姓名不能为空', trigger: 'blur' }],
  559. sex: [{ required: true, message: '患者性别不能为空', trigger: 'blur' }],
  560. idCard: [{ required: true, message: '证件号码不能为空', trigger: 'blur' }],
  561. register: [{ required: true, message: '请选择挂号类型', trigger: 'blur' }],
  562. doctor: [{ required: true, message: '请选择医生', trigger: 'blur' }],
  563. department: [{ required: true, message: '请填写科室', trigger: 'blur' }],
  564. age: [{ required: true, message: '患者年龄不能为空', trigger: 'blur' }],
  565. birthday: [{ required: true, message: '患者出生日期不能为空', trigger: 'blur' }],
  566. certificates: [{ required: true, message: '证件类型不能为空', trigger: 'change' }],
  567. id_card_type: [{ required: true, message: '读卡类型不能为空', trigger: 'change' }],
  568. p_type: [{ required: true, message: '处方类型不能为空', trigger: 'change' }],
  569. sick_type: [{ required: true, message: '大病类别不能为空', trigger: 'change' }],
  570. diagnosis: [{ required: true, message: '诊断不能为空', trigger: 'change' }]
  571. },
  572. doctorList: [],
  573. departmentList: [],
  574. check: 0,
  575. show: false,
  576. is_Name: false,
  577. patient: [],
  578. scialType: []
  579. }
  580. },
  581. computed: {
  582. total() {
  583. if (this.form.registrationFee || this.form.medicalExpenses || this.form.cost) {
  584. return parseFloat(this.form.registrationFee ? this.form.registrationFee : 0) + parseFloat(this.form.medicalExpenses ? this.form.medicalExpenses : 0) + parseFloat(this.form.cost ? this.form.cost : 0)
  585. }
  586. }
  587. },
  588. methods: {
  589. changeReg() {
  590. console.log(this.form.register);
  591. if (this.form.register != 4) {
  592. this.form.registrationFee = 10
  593. } else {
  594. this.form.registrationFee = 0
  595. }
  596. },
  597. handleSelect(val) {
  598. this.form.id = val.id;
  599. this.form.name = val.name;
  600. this.form.sex = val.gender;
  601. this.form.age = val.age;
  602. this.form.birthday = uParseTime(val.birthday, '{y}-{m}-{d}');
  603. this.form.phone = val.phone;
  604. this.form.idCard = val.id_card_no;
  605. var thisLen = this.form.idCard.length;
  606. var birth = '';
  607. if (thisLen == 15) {
  608. birth = '19' + this.form.idCard.substr(6, 6)
  609. } else {
  610. birth = this.form.idCard.substr(6, 8)
  611. }
  612. var births =
  613. birth.substr(0, 4) +
  614. '-' +
  615. birth.substr(4, 2) +
  616. '-' +
  617. birth.substr(6, 2);
  618. this.form.age = jsGetAge(births, '-')
  619. },
  620. querySearchAsync(keyword, cb) {
  621. let key = '';
  622. if (keyword != undefined) {
  623. key = keyword
  624. }
  625. let searchArray = [];
  626. PostSearch(key).then(response => {
  627. if (response.data.state == 1) {
  628. searchArray = response.data.data.patient;
  629. cb(searchArray)
  630. } else {
  631. cb([])
  632. }
  633. })
  634. },
  635. readingSZ() {
  636. var that = this;
  637. if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
  638. this.$message.error('请先选择读卡类型');
  639. return
  640. }
  641. this.read_loading = true;
  642. let params = {
  643. 'id_card_type': this.form.id_card_type
  644. };
  645. axios.get('http://127.0.0.1:9532/sz/api/readcard', {
  646. params: params
  647. })
  648. .then(function(response) {
  649. if (response.data.state == 0) {
  650. that.read_loading = false;
  651. that.$message.error(response.data.msg);
  652. return false
  653. } else {
  654. that.read_loading = false;
  655. var patient = response.data.data.patient;
  656. if (that.form.id_card_type == 1) {
  657. that.form.id = patient.id;
  658. that.form.name = patient.name;
  659. that.form.sex = patient.gender;
  660. that.form.age = patient.age;
  661. that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
  662. that.form.phone = patient.phone;
  663. that.form.idCard = patient.id_card_no;
  664. that.form.medicalInsuranceCard = response.data.data.health_card_no
  665. } else if (that.form.id_card_type == 2) {
  666. this.form.id = patient.id;
  667. that.form.name = patient.name;
  668. that.form.sex = patient.gender;
  669. that.form.age = patient.age;
  670. that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
  671. that.form.phone = patient.phone;
  672. that.form.idCard = patient.id_card_no
  673. }
  674. that.$message({ message: '读卡成功', type: 'success' })
  675. }
  676. })
  677. .catch(function(error) {
  678. })
  679. },
  680. reading(medicalInsuranceCard) {
  681. var that = this;
  682. if (this.form.id_card_type.length == 0 || this.form.id_card_type == 0) {
  683. this.$message.error('请先选择读卡类型');
  684. return
  685. }
  686. let params = {
  687. 'id_card_type': this.form.id_card_type
  688. };
  689. axios.get('http://127.0.0.1:9532/api/sscard', {
  690. params: params
  691. })
  692. .then(function(response) {
  693. if (response.data.state == 0) {
  694. that.$message.error(response.data.msg);
  695. return false
  696. } else {
  697. var patient = response.data.data.patient;
  698. if (that.form.id_card_type == 1) {
  699. that.form.name = patient.ID;
  700. that.form.sex = patient.gender;
  701. that.form.age = patient.age;
  702. that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
  703. that.form.phone = patient.phone;
  704. that.form.idCard = patient.id_card_no;
  705. that.form.medicalInsuranceCard = response.data.data.number
  706. } else if (that.form.id_card_type == 2) {
  707. that.form.name = patient.ID;
  708. that.form.sex = patient.gender;
  709. that.form.age = patient.age;
  710. that.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
  711. that.form.phone = patient.phone;
  712. that.form.idCard = patient.id_card_no
  713. }
  714. that.$message({ message: '读卡成功', type: 'success' })
  715. }
  716. })
  717. .catch(function(error) {
  718. })
  719. },
  720. getBirthday(date) {
  721. console.log(date);
  722. let curTime = moment(new Date(date)).format('YYYY-MM-DD');
  723. console.log('curTime22222', curTime);
  724. console.log(this.jsGetAge(curTime));
  725. this.form.age = this.jsGetAge(curTime)
  726. },
  727. jsGetAge(strBirthday) { //传入形式yyyy-MM-dd
  728. //strBirthday = util.formatTime(strBirthday);转换成yyyy-MM-dd形式
  729. var returnAge;
  730. var strBirthdayArr = strBirthday.split('-');
  731. var birthYear = strBirthdayArr[0];
  732. var birthMonth = strBirthdayArr[1];
  733. var birthDay = strBirthdayArr[2];
  734. var d = new Date();
  735. var nowYear = d.getFullYear();
  736. var nowMonth = d.getMonth() + 1;
  737. var nowDay = d.getDate();
  738. if (nowYear == birthYear) {
  739. returnAge = 0 //同年 则为0岁
  740. } else {
  741. var ageDiff = nowYear - birthYear; //年之差
  742. if (ageDiff > 0) {
  743. if (nowMonth == birthMonth) {
  744. var dayDiff = nowDay - birthDay; //日之差
  745. if (dayDiff < 0) {
  746. returnAge = ageDiff - 1
  747. } else {
  748. returnAge = ageDiff
  749. }
  750. } else {
  751. var monthDiff = nowMonth - birthMonth; //月之差
  752. if (monthDiff < 0) {
  753. returnAge = ageDiff - 1
  754. } else {
  755. returnAge = ageDiff
  756. }
  757. }
  758. } else {
  759. returnAge = -1 //返回-1 表示出生日期输入错误 晚于今天
  760. }
  761. }
  762. return returnAge //返回周岁年龄
  763. },
  764. getForm() {
  765. this.form.total = this.total;
  766. if (localStorage.getItem('temp')) {
  767. let a = JSON.parse(localStorage.getItem('temp'));
  768. // let arr = []
  769. this.form.create_time = new Date(new Date().toLocaleDateString()).getTime() / 1000;
  770. this.form.org_id = this.$store.getters.xt_user.org_id;
  771. a.push(this.form);
  772. console.log(111, a);
  773. localStorage.setItem('temp', JSON.stringify(a));
  774. Object.keys(this.form).forEach((key) => {
  775. this.form[key] = ''
  776. });
  777. this.$message({ message: '添加成功', type: 'success' })
  778. } else {
  779. let arr = [];
  780. this.form.create_time = new Date(new Date().toLocaleDateString()).getTime() / 1000;
  781. this.form.org_id = this.$store.getters.xt_user.org_id;
  782. arr.push(this.form);
  783. localStorage.setItem('temp', JSON.stringify(arr));
  784. Object.keys(this.form).forEach((key) => {
  785. this.form[key] = ''
  786. });
  787. this.$message({ message: '添加成功', type: 'success' })
  788. }
  789. },
  790. getAllDoctorList() {
  791. getAllDoctorList().then(response => {
  792. if (response.data.state == 1) {
  793. var doctor = response.data.data.doctor;
  794. console.log('doctor-----', doctor);
  795. this.doctorList = doctor;
  796. var department = response.data.data.department;
  797. console.log('department', department);
  798. this.departmentList = department
  799. }
  800. })
  801. }, saveHisPatient9504(formName) {
  802. if (this.form.name == '') {
  803. this.$message.error('患者姓名不能为空');
  804. this.is_Name = true;
  805. return
  806. }
  807. if (this.form.sex == '') {
  808. this.$message.error('患者性别不能为空')
  809. }
  810. if (this.form.register == '') {
  811. this.$message.error('挂号类型不能为空');
  812. this.is_Name = true;
  813. return
  814. }
  815. // if (this.form.doctor == '') {
  816. // this.$message.error('医生不能为空')
  817. // this.is_Name = true
  818. // return
  819. // }
  820. if (this.form.department == '') {
  821. this.$message.error('科室不能为空');
  822. this.is_Name = true;
  823. return
  824. }
  825. if (this.form.age == '') {
  826. this.$message.error('患者年龄不能为空');
  827. this.is_Name = true;
  828. return
  829. }
  830. if (this.form.birthday == '') {
  831. this.$message.error('出生日期不能为空');
  832. this.is_Name = true;
  833. return
  834. }
  835. if (this.form.id_card_type == '') {
  836. this.$message.error('读卡类型不能为空');
  837. this.is_Name = true;
  838. return
  839. }
  840. if (this.form.idCard == '') {
  841. this.$message.error('证件号码不能为空');
  842. this.is_Name = true;
  843. return
  844. }
  845. this.$refs[formName].validate((valid) => {
  846. if (valid) {
  847. var params = {
  848. id: this.form.id,
  849. settlement_value: this.form.settlementValue,
  850. medical_insurance_card: this.form.medicalInsuranceCard,
  851. name: this.form.name,
  852. sex: this.form.sex,
  853. id_card_type: this.form.id_card_type,
  854. certificates: this.form.certificates,
  855. medical_care: this.form.medicalCare,
  856. birthday: moment(new Date(this.form.birthday)).format('YYYY-MM-DD'),
  857. age: parseInt(this.form.age),
  858. id_card: this.form.idCard,
  859. register: this.form.register,
  860. doctor: this.form.doctor,
  861. department: this.form.department,
  862. costChecked: this.check,
  863. registration_fee: this.form.registrationFee,
  864. medical_expenses: this.form.medicalExpenses,
  865. cost: this.form.cost,
  866. total: this.total,
  867. phone: this.form.phone,
  868. social_type: this.form.social_type,
  869. p_type: this.form.p_type,
  870. diagnosis: this.form.diagnosis,
  871. sick_type: this.form.sick_type
  872. };
  873. params['record_time'] = this.record_date;
  874. params['admin_user_id'] = this.$store.getters.xt_user.user.id;
  875. this.loadingone = true;
  876. if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028) {
  877. var that = this;
  878. axios.get('http://127.0.0.1:9532/sz/api/register/get', {
  879. params: params,
  880. headers: {
  881. 'Permission': 5
  882. }
  883. })
  884. .then(function(response) {
  885. if (response.data.state == 0) {
  886. that.$message.error(response.data.msg);
  887. that.loadingone = false;
  888. return false
  889. } else {
  890. if (response.data.data.failed_code == -10) {
  891. // that.$message.error(response.data.data.msg)
  892. that.$confirm(response.data.data.msg, '医保错误信息', {
  893. confirmButtonText: '确 定',
  894. type: 'warning'
  895. }).then(() => {
  896. }).catch(() => {
  897. })
  898. } else {
  899. that.$message({ message: '挂号成功', type: 'success' });
  900. that.form.settlementValue = '';
  901. that.form.medicalInsuranceCard = '';
  902. that.form.name = '';
  903. that.form.sex = '';
  904. that.form.certificates = '';
  905. that.form.medicalCare = '';
  906. that.form.birthday = '';
  907. that.form.age = '';
  908. that.form.idCard = '';
  909. that.form.register = '';
  910. that.form.doctor = '';
  911. that.form.department = '';
  912. that.form.costChecked = false;
  913. that.form.registrationFee = '';
  914. that.form.medicalExpenses = '';
  915. that.form.cost = '';
  916. that.form.total = '';
  917. that.form.phone = '';
  918. that.form.social_type = '';
  919. that.loadingone = false;
  920. that.form.p_type = 14;
  921. that.form.sick_type = that.sick[0].id;
  922. that.form.diagnosis = that.diagnoses[0].id
  923. }
  924. }
  925. })
  926. .catch(function(error) {
  927. })
  928. } else if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9990) {
  929. var that = this;
  930. axios.get('http://127.0.0.1:9532/api/register/get', {
  931. params: params,
  932. headers: {
  933. 'Permission': 5
  934. }
  935. })
  936. .then(function(response) {
  937. if (response.data.state == 0) {
  938. that.$message.error(response.data.msg);
  939. that.loadingone = false;
  940. that.$refs.register.hide();
  941. return false
  942. } else {
  943. that.loadingone = false;
  944. if (response.data.data.failed_code == -10) {
  945. // that.$message.error(response.data.data.msg);
  946. that.$confirm(response.data.data.msg, '医保错误信息', {
  947. confirmButtonText: '确 定',
  948. type: 'warning'
  949. }).then(() => {
  950. }).catch(() => {
  951. })
  952. } else {
  953. that.$message({ message: '挂号成功', type: 'success' });
  954. that.form.settlementValue = '';
  955. that.form.medicalInsuranceCard = '';
  956. that.form.name = '';
  957. that.form.sex = '';
  958. that.form.certificates = '';
  959. that.form.medicalCare = '';
  960. that.form.birthday = '';
  961. that.form.age = '';
  962. that.form.idCard = '';
  963. that.form.register = '';
  964. that.form.doctor = '';
  965. that.form.department = '';
  966. that.form.costChecked = false;
  967. that.form.registrationFee = '';
  968. that.form.medicalExpenses = '';
  969. that.form.cost = '';
  970. that.form.total = '';
  971. that.form.phone = '';
  972. that.form.social_type = '';
  973. that.form.p_type = 14;
  974. that.form.sick_type = that.sick[0].id;
  975. that.form.diagnosis = that.diagnoses[0].id
  976. }
  977. // var his_info = response.data.data.his_info
  978. // that.hisPatientInfo = his_info
  979. }
  980. })
  981. .catch(function(error) {
  982. })
  983. } else {
  984. var that = this;
  985. saveHisPatient(params).then(response => {
  986. if (response.data.state == 1) {
  987. var patient = response.data.data.patient;
  988. this.getTodaySchedulePatient();
  989. this.$message({ message: '挂号成功', type: 'success' });
  990. this.form.settlementValue = '';
  991. this.form.medicalInsuranceCard = '';
  992. this.form.name = '';
  993. this.form.sex = '';
  994. this.form.certificates = '';
  995. this.form.medicalCare = '';
  996. this.form.birthday = '';
  997. this.form.age = '';
  998. this.form.idCard = '';
  999. this.form.register = '';
  1000. this.form.doctor = '';
  1001. this.form.department = '';
  1002. this.form.costChecked = false;
  1003. this.form.registrationFee = '';
  1004. this.form.medicalExpenses = '';
  1005. this.form.cost = '';
  1006. this.form.total = '';
  1007. this.form.phone = '';
  1008. this.form.social_type = '';
  1009. this.loadingone = false;
  1010. this.form.p_type = 14;
  1011. this.form.sick_type = this.sick[0].id;
  1012. this.form.diagnosis = this.diagnoses[0].id
  1013. } else {
  1014. this.$message.error('今日患者已挂号!')
  1015. }
  1016. })
  1017. }
  1018. }
  1019. })
  1020. },
  1021. saveHisPatient(formName) {
  1022. if (this.form.name == '') {
  1023. this.$message.error('患者姓名不能为空');
  1024. this.is_Name = true;
  1025. return
  1026. }
  1027. if (this.form.sex == '') {
  1028. this.$message.error('患者性别不能为空')
  1029. }
  1030. if (this.form.register == '') {
  1031. this.$message.error('挂号类型不能为空');
  1032. this.is_Name = true;
  1033. return
  1034. }
  1035. if (this.form.doctor == '') {
  1036. this.$message.error('医生不能为空');
  1037. this.is_Name = true;
  1038. return
  1039. }
  1040. if (this.form.department == '') {
  1041. this.$message.error('科室不能为空');
  1042. this.is_Name = true;
  1043. return
  1044. }
  1045. if (this.form.age == '') {
  1046. this.$message.error('患者年龄不能为空');
  1047. this.is_Name = true;
  1048. return
  1049. }
  1050. if (this.form.birthday == '') {
  1051. this.$message.error('出生日期不能为空');
  1052. this.is_Name = true;
  1053. return
  1054. }
  1055. if (this.form.id_card_type == '') {
  1056. this.$message.error('读卡类型不能为空');
  1057. this.is_Name = true;
  1058. return
  1059. }
  1060. if (this.form.idCard == '') {
  1061. this.$message.error('证件号码不能为空');
  1062. this.is_Name = true;
  1063. return
  1064. }
  1065. if (this.form.p_type == '') {
  1066. this.$message.error('处方类型不能为空');
  1067. this.is_Name = true;
  1068. return
  1069. }
  1070. if (this.form.diagnosis == '') {
  1071. this.$message.error('诊断不能为空');
  1072. this.is_Name = true;
  1073. return
  1074. }
  1075. if (this.form.sick_type == '') {
  1076. this.$message.error('大病类别不能为空');
  1077. this.is_Name = true;
  1078. return
  1079. }
  1080. this.$refs[formName].validate((valid) => {
  1081. if (valid) {
  1082. if (this.form.costChecked == true) {
  1083. this.check = 1
  1084. }
  1085. if (this.form.costChecked == false) {
  1086. this.check = 2
  1087. }
  1088. if (this.form.idCard == '') {
  1089. this.show = true
  1090. }
  1091. var params = {
  1092. id: this.form.id,
  1093. settlement_value: this.form.settlementValue,
  1094. medical_insurance_card: this.form.medicalInsuranceCard,
  1095. name: this.form.name,
  1096. sex: this.form.sex,
  1097. id_card_type: this.form.id_card_type,
  1098. certificates: this.form.certificates,
  1099. medical_care: this.form.medicalCare,
  1100. birthday: moment(new Date(this.form.birthday)).format('YYYY-MM-DD'),
  1101. age: parseInt(this.form.age),
  1102. id_card: this.form.idCard,
  1103. register: this.form.register,
  1104. doctor: this.form.doctor,
  1105. department: this.form.department,
  1106. costChecked: this.check,
  1107. registration_fee: this.form.registrationFee,
  1108. medical_expenses: this.form.medicalExpenses,
  1109. cost: this.form.cost,
  1110. total: this.total,
  1111. phone: this.form.phone,
  1112. social_type: this.form.social_type,
  1113. p_type: this.form.p_type,
  1114. diagnosis: this.form.diagnosis,
  1115. sick_type: this.form.sick_type
  1116. };
  1117. params['record_time'] = this.record_date,
  1118. params['admin_user_id'] = this.$store.getters.xt_user.user.id;
  1119. this.loadingone = true;
  1120. if (this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028) {
  1121. var that = this;
  1122. axios.get('http://127.0.0.1:9532/sz/api/register/get', {
  1123. params: params,
  1124. headers: {
  1125. 'Permission': 5
  1126. }
  1127. })
  1128. .then(function(response) {
  1129. if (response.data.state == 0) {
  1130. that.$message.error(response.data.msg);
  1131. that.loadingone = false;
  1132. that.$refs.register.hide();
  1133. return false
  1134. } else {
  1135. that.loadingone = false;
  1136. if (response.data.data.failed_code == -10) {
  1137. // that.$message.error(response.data.data.msg)
  1138. that.$confirm(response.data.data.msg, '医保错误信息', {
  1139. confirmButtonText: '确 定',
  1140. type: 'warning'
  1141. }).then(() => {
  1142. }).catch(() => {
  1143. })
  1144. } else {
  1145. that.$message({ message: '挂号成功', type: 'success' });
  1146. that.form.settlementValue = '';
  1147. that.form.medicalInsuranceCard = '';
  1148. that.form.name = '';
  1149. that.form.sex = '';
  1150. that.form.certificates = '';
  1151. that.form.medicalCare = '';
  1152. that.form.birthday = '';
  1153. that.form.age = '';
  1154. that.form.idCard = '';
  1155. that.form.register = '';
  1156. that.form.doctor = '';
  1157. that.form.department = '';
  1158. that.form.costChecked = false;
  1159. that.form.registrationFee = '';
  1160. that.form.medicalExpenses = '';
  1161. that.form.cost = '';
  1162. that.form.total = '';
  1163. that.form.phone = '';
  1164. that.form.social_type = '';
  1165. that.form.p_type = 14;
  1166. that.form.sick_type = that.sick[0].id;
  1167. that.form.diagnosis = that.diagnoses[0].id
  1168. }
  1169. }
  1170. })
  1171. .catch(function(error) {
  1172. })
  1173. } else if (this.$store.getters.xt_user.org_id == 9919 || this.$store.getters.xt_user.org_id == 10106 || this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9538 || this.$store.getters.xt_user.org_id == 9990) {
  1174. var that = this;
  1175. axios.get('http://127.0.0.1:9532/api/register/get', {
  1176. params: params,
  1177. headers: {
  1178. 'Permission': 5
  1179. }
  1180. })
  1181. .then(function(response) {
  1182. if (response.data.state == 0) {
  1183. that.$message.error(response.data.msg);
  1184. that.loadingone = false;
  1185. return false
  1186. } else {
  1187. that.loadingone = false;
  1188. if (response.data.data.failed_code == -10) {
  1189. // that.$message.error(response.data.data.msg)
  1190. that.$confirm(response.data.data.msg, '医保错误信息', {
  1191. confirmButtonText: '确 定',
  1192. type: 'warning'
  1193. }).then(() => {
  1194. }).catch(() => {
  1195. })
  1196. } else {
  1197. that.$message({ message: '挂号成功', type: 'success' });
  1198. that.form.settlementValue = '';
  1199. that.form.medicalInsuranceCard = '';
  1200. that.form.name = '';
  1201. that.form.sex = '';
  1202. that.form.certificates = '';
  1203. that.form.medicalCare = '';
  1204. that.form.birthday = '';
  1205. that.form.age = '';
  1206. that.form.idCard = '';
  1207. that.form.register = '';
  1208. that.form.doctor = '';
  1209. that.form.department = '';
  1210. that.form.costChecked = false;
  1211. that.form.registrationFee = '';
  1212. that.form.medicalExpenses = '';
  1213. that.form.cost = '';
  1214. that.form.total = '';
  1215. that.form.phone = '';
  1216. that.form.social_type = '';
  1217. that.form.p_type = 14;
  1218. that.form.sick_type = that.sick[0].id;
  1219. that.form.diagnosis = that.diagnoses[0].id
  1220. }
  1221. }
  1222. })
  1223. .catch(function(error) {
  1224. })
  1225. } else {
  1226. saveHisPatient(params).then(response => {
  1227. if (response.data.state == 1) {
  1228. var patient = response.data.data.patient;
  1229. this.getTodaySchedulePatient();
  1230. this.$message({ message: '挂号成功', type: 'success' });
  1231. this.form.settlementValue = '';
  1232. this.form.medicalInsuranceCard = '';
  1233. this.form.name = '';
  1234. this.form.sex = '';
  1235. this.form.certificates = '';
  1236. this.form.medicalCare = '';
  1237. this.form.birthday = '';
  1238. this.form.age = '';
  1239. this.form.idCard = '';
  1240. this.form.register = '';
  1241. this.form.doctor = '';
  1242. this.form.department = '';
  1243. this.form.costChecked = false;
  1244. this.form.registrationFee = '';
  1245. this.form.medicalExpenses = '';
  1246. this.form.cost = '';
  1247. this.form.total = '';
  1248. this.form.phone = '';
  1249. this.form.social_type = '';
  1250. this.loadingone = false;
  1251. this.form.p_type = 14;
  1252. this.form.sick_type = this.sick[0].id;
  1253. this.form.diagnosis = this.diagnoses[0].id
  1254. } else {
  1255. this.$message.error('今日患者已挂号!')
  1256. }
  1257. })
  1258. }
  1259. }
  1260. })
  1261. },
  1262. getTodaySchedulePatient() {
  1263. var nowDate = new Date();
  1264. var nowYear = nowDate.getFullYear();
  1265. var nowMonth = nowDate.getMonth() + 1;
  1266. var nowDay = nowDate.getDate();
  1267. this.record_date =
  1268. nowYear +
  1269. '-' +
  1270. (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
  1271. '-' +
  1272. (nowDay < 10 ? '0' + nowDay : nowDay);
  1273. let params = {
  1274. record_date: this.record_date
  1275. };
  1276. getUnRegisterHisPatientList(params).then(response => {
  1277. if (response.data.state == 1) {
  1278. var patient = response.data.data.list;
  1279. console.log('今日排班', patient);
  1280. this.patient = patient
  1281. }
  1282. })
  1283. },
  1284. getDictionaryDataConfig(module, filed_name) {
  1285. return getDictionaryDataConfig(module, filed_name)
  1286. },
  1287. changeDoctor(id) {
  1288. for (let i = 0; i < this.doctorList.length; i++) {
  1289. if (this.doctorList[i].admin_user_id == id) {
  1290. if (this.doctorList[i].department_id == 0) {
  1291. this.form.department = this.departmentList[0].id
  1292. } else {
  1293. this.form.department = this.doctorList[i].department_id
  1294. }
  1295. }
  1296. }
  1297. },
  1298. changeName(id) {
  1299. this.form.sex = '';
  1300. this.form.age = '';
  1301. this.form.birthday = '';
  1302. this.form.phone = '';
  1303. this.form.idCard = '';
  1304. getPatientDetail(id).then(response => {
  1305. if (response.data.state == 1) {
  1306. var patient = response.data.data.patient;
  1307. console.log('patient', patient);
  1308. this.form.sex = patient.gender;
  1309. this.form.age = patient.age;
  1310. this.form.birthday = uParseTime(patient.birthday, '{y}-{m}-{d}');
  1311. this.form.phone = patient.phone;
  1312. this.form.idCard = patient.id_card_no
  1313. }
  1314. })
  1315. }, getInitData() {
  1316. getInitData().then(response => {
  1317. if (response.data.state == 0) {
  1318. this.$message.error(response.data.msg);
  1319. return false
  1320. } else {
  1321. this.doctors = response.data.data.doctors;
  1322. this.department = response.data.data.department;
  1323. this.sick = response.data.data.sick;
  1324. this.diagnoses = response.data.data.diagnose;
  1325. this.form.p_type = 14;
  1326. this.form.sick_type = this.sick[0].id;
  1327. this.form.diagnosis = this.diagnoses[0].id
  1328. }
  1329. })
  1330. }
  1331. },
  1332. created() {
  1333. if(this.$store.getters.xt_user.org_id == 9504 || this.$store.getters.xt_user.org_id == 10028){
  1334. this.form.certificates = 2;
  1335. this.form.id_card_type = 1
  1336. }else{
  1337. this.form.certificates = 1;
  1338. this.form.id_card_type = 2
  1339. }
  1340. this.getInitData();
  1341. //获取当前机构有人员信息
  1342. this.getAllDoctorList();
  1343. //获取今日排班的患者
  1344. this.getTodaySchedulePatient()
  1345. }
  1346. }
  1347. </script>
  1348. <style lang="scss" scoped>
  1349. .nameTitle {
  1350. font-weight: bold;
  1351. font-size: 16px;
  1352. }
  1353. .formMain {
  1354. /*/ / padding: 10 px 90 px;*/
  1355. width: 80%;
  1356. margin: 0 auto;
  1357. }
  1358. .basicForm {
  1359. display: flex;
  1360. flex-wrap: wrap;
  1361. justify-content: space-between;
  1362. .el-form-item {
  1363. width: 33%;
  1364. }
  1365. .specialFormItem {
  1366. width: 66.5%;
  1367. .el-input {
  1368. min-width: 150px;
  1369. }
  1370. }
  1371. .el-select {
  1372. width: 100%;
  1373. }
  1374. .el-input {
  1375. width: 100%;
  1376. }
  1377. }
  1378. .el-form-item__error {
  1379. color: #F56C6C;
  1380. font-size: 12px;
  1381. line-height: 1;
  1382. padding-top: 4px;
  1383. position: absolute;
  1384. top: 100%;
  1385. left: 0;
  1386. }
  1387. </style>