RegPatinfo.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. <template>
  2. <div class="container">
  3. <div class="bgimg"></div>
  4. <div class="content">
  5. <div class="title">请录入病例信息</div>
  6. <div class="loginForm">
  7. <mt-field placeholder="请输入病例姓名" label="姓名" v-model="form.name"></mt-field>
  8. <mt-field placeholder="请选择出生年月" class="inputDisable" disabled label="年龄" v-model="form.birthday"
  9. @click.native="$refs.birthdayPicker.open();sexFlag=false">
  10. <img src="../assets/images/down.png" alt="" width="16px">
  11. </mt-field>
  12. <mt-field placeholder="请选择性别" class="inputDisable" disabled label="性别" v-model="form.sex"
  13. @click.native="sexFlag=true">
  14. <img src="../assets/images/down.png" alt="" width="16px">
  15. </mt-field>
  16. <mt-field placeholder="请输入手机号" label="手机" v-model="form.phone" type="number"></mt-field>
  17. </div>
  18. <div class="footer">
  19. <div class="jbbtn" @click="submit">确定</div>
  20. <div class="jbbtn" @click="$router.go(-1)">返回</div>
  21. <!-- <div class="jbbtn" @click="birthdayClick">测试</div> -->
  22. </div>
  23. </div>
  24. <mt-datetime-picker ref="birthdayPicker" type="date" v-model="now" year-format="{value} 年" month-format="{value} 月"
  25. date-format="{value} 日" @confirm='changeTime' :startDate='startDate' :endDate='endDate' @change='changeTime'
  26. @touchmove.native.stop.prevent>
  27. </mt-datetime-picker>
  28. <mt-picker @change="onValuesChange" v-if="sexFlag" :slots="slots" ref="sexPicker" class="sexPicker"
  29. :showToolbar="true" @touchmove.native.stop.prevent>
  30. <div class="pickerConfirm" v-model="now" @click="sexFlag=false">确认</div>
  31. </mt-picker>
  32. <vue-hash-calendar :visible="false"></vue-hash-calendar>
  33. </div>
  34. </template>
  35. <script>
  36. import {
  37. Field,
  38. MessageBox,
  39. DatetimePicker,
  40. Picker,
  41. Button
  42. } from 'mint-ui'
  43. export default {
  44. name: 'Index',
  45. components: {
  46. Field,
  47. MessageBox,
  48. DatetimePicker,
  49. Picker,
  50. Button
  51. },
  52. data() {
  53. return {
  54. form: {
  55. birthday: '',
  56. sex: ''
  57. },
  58. sexFlag: false,
  59. slots: [{
  60. flex: 1,
  61. values: ['男', '女'],
  62. className: 'slot1',
  63. textAlign: 'center'
  64. }],
  65. startDate: new Date('1923/01/01'),
  66. endDate: new Date(this.$datetime.formatDate(new Date())),
  67. now: new Date(),
  68. }
  69. },
  70. methods: {
  71. birthdayClick() { //生日
  72. this.$picker.show({
  73. type: 'datePicker',
  74. date: '1990-01-01',
  75. endTime: '2018-01-01', //截至时间
  76. startTime: '1930-01-01', //开始时间
  77. onOk: (date) => {
  78. this.birthday = date; // birthday就是所需字段,在data 里定义下
  79. }
  80. })
  81. },
  82. goPage(path) {
  83. this.$router.push(path)
  84. },
  85. changeTime(value) {
  86. this.form.birthday = this.$datetime.formatDate(value).replaceAll("/", "-")
  87. this.sexFlag = false
  88. },
  89. onValuesChange(picker, values) {
  90. if (picker.getSlotValue(0)) {
  91. this.form.sex = picker.getSlotValue(0)
  92. } else {
  93. this.form.sex = "男"
  94. }
  95. },
  96. submit() {
  97. if (!this.form.name) {
  98. MessageBox({
  99. title: '提示',
  100. message: '请输入姓名'
  101. })
  102. return
  103. }
  104. if (!this.form.birthday) {
  105. MessageBox({
  106. title: '提示',
  107. message: '请选择出生年月'
  108. })
  109. return
  110. }
  111. if (!this.form.sex) {
  112. MessageBox({
  113. title: '提示',
  114. message: '请选择性别'
  115. })
  116. return
  117. }
  118. if (!this.form.phone) {
  119. MessageBox({
  120. title: '提示',
  121. message: '请输入手机号'
  122. })
  123. return
  124. } else {
  125. if (!this.$recheck.checkPhone(this.form.phone)) {
  126. MessageBox({
  127. title: '提示',
  128. message: '请输入正确的手机号'
  129. })
  130. return
  131. }
  132. }
  133. let params = this.form
  134. localStorage.setItem("patientCase", JSON.stringify(params))
  135. this.$api.regPatient(params).then(res => {
  136. if (!res.data.code) {
  137. this.$router.push({
  138. path:"diagcalc",
  139. query:{patid:res.data.data}
  140. })
  141. }
  142. })
  143. }
  144. },
  145. created() {
  146. // this.$api.getAccountInfo().then(res=>{
  147. // if(!res.data.code){
  148. // if(res.data.data.role=="1"){
  149. // this.goPage("/docindex")
  150. // }else{
  151. // this.goPage("/patindex")
  152. // }
  153. // localStorage.setItem("authinfo",JSON.stringify(res.data.data))
  154. // }
  155. // })
  156. },
  157. }
  158. </script>
  159. <style scoped lang="scss">
  160. /* .picker-slot-wrapper{
  161. transform: translate(0px, 10px) translateZ(0px)!important;
  162. height: 252px!important;
  163. } */
  164. /deep/ .picker-items {
  165. width: 100% !important;
  166. }
  167. /deep/ .picker-slot {
  168. /* overflow:scroll!important; */
  169. }
  170. </style>