mindAssessment.vue 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <template>
  2. <div class="patient-container">
  3. <patient-sidebar :id="patientID" defaultActive="5-10"></patient-sidebar>
  4. <div>
  5. <div class="patient-app-container advice-container app-container">
  6. <div class='content_top' style="width: 100%;margin-bottom: 20px;">
  7. <div style="font-size: 20px;">心理评估</div>
  8. <div>
  9. <el-button @click="mindhistory">历史评分</el-button>
  10. </div>
  11. </div>
  12. <div>
  13. <table class="table" border="1" style="width: 100%;">
  14. <thead>
  15. <tr>
  16. <th style="width: 130px;">项目</th>
  17. <th style="">症状</th>
  18. </tr>
  19. </thead>
  20. <tbody>
  21. <tr class="bg_color">
  22. <td class="start">心理评估</td>
  23. <td>
  24. <div class="jiange">
  25. <span v-for="item in xinli" class="rightjiange">
  26. <label><input type="checkbox" name="ball" v-model="item.is_check" @click="xinliclick(item)"/>&nbsp;{{ item.label }}</label>
  27. </span>
  28. </div>
  29. </td>
  30. </tr>
  31. <tr>
  32. <td class="start">情感障碍</td>
  33. <td>
  34. <div class="jiange">
  35. <el-radio-group v-model="radio1">
  36. <el-radio v-for="(item,index ) in qingan" :label="item" :key="index" style="color: black;font-size: 15px;">{{ item }}</el-radio>
  37. </el-radio-group>
  38. </div>
  39. </td>
  40. </tr>
  41. <tr class="bg_color">
  42. <td class="start">自伤</td>
  43. <td>
  44. <div class="jiange">
  45. <el-radio-group v-model="radio2">
  46. <el-radio v-for="(item,index ) in qingan" :label="item" :key="index" style="color: black;font-size: 15px;">{{ item }}</el-radio>
  47. </el-radio-group>
  48. </div>
  49. </td>
  50. </tr>
  51. <tr>
  52. <td class="start">伤人</td>
  53. <td>
  54. <div class="jiange">
  55. <el-radio-group v-model="radio3">
  56. <el-radio v-for="(item,index ) in qingan" :label="item" :key="index" style="color: black;font-size: 15px;">{{ item }}</el-radio>
  57. </el-radio-group>
  58. </div>
  59. </td>
  60. </tr>
  61. </tbody>
  62. </table>
  63. </div>
  64. <div class="content_top" style="margin-bottom: 10px ;">
  65. <div>
  66. <div class="bottoms">
  67. <span>评估日期:</span>
  68. <el-date-picker
  69. v-model="date"
  70. type="date"
  71. value-format="yyyy-MM-dd"
  72. placeholder="选择日期"
  73. :clearable="false"
  74. style="width: 150px;">
  75. </el-date-picker>
  76. </div>
  77. <div class="bottoms">
  78. <span>评估人:</span>
  79. <el-select v-model="appraiser" placeholder="请选择" >
  80. <el-option
  81. v-for="item in optionsarr"
  82. :key="item.value"
  83. :label="item.label"
  84. :value="item.value"
  85. style="width:150px;">
  86. </el-option>
  87. </el-select>
  88. </div>
  89. </div>
  90. <div style="margin:5px 10px;">
  91. <el-button type="primary" @click="mindclick">确认</el-button>
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. </template>
  98. <script>
  99. import { uParseTime } from '@/utils/tools'
  100. import PatientSidebar from '../components/PatientSidebar.vue'
  101. export default {
  102. components:{
  103. PatientSidebar
  104. },
  105. data(){
  106. return{
  107. patientID:0,
  108. checkList:'',
  109. radio1:'',
  110. radio2:'',
  111. radio3:'',
  112. options:[],
  113. value:'',
  114. value1:'',
  115. xinli:[{label:'配合治疗',is_check:false,check:0},{label:'担忧',is_check:false,check:0},{label:'烦躁',is_check:false,check:0},
  116. {label:'抵触情绪',is_check:false,check:0},{label:'拒绝治疗',is_check:false,check:0},{label:'坐立不安',is_check:false,check:0},
  117. {label:'怪异行为',is_check:false,check:0},{label:'其他',is_check:false,check:0},],
  118. qingan:['有','无'],
  119. appraiser:'',
  120. optionsarr:[],
  121. date:this.getTime(new Date())
  122. }
  123. },
  124. methods:{
  125. // 历史评分
  126. mindhistory(){
  127. this.$router.push({path: '/patients/mind_history'})
  128. },
  129. xinliclick(item){
  130. for(let i in this.xinli){
  131. if(item.is_check ==false){
  132. if(item.label==this.xinli[i].label){
  133. this.xinli[i].check=1
  134. }
  135. }
  136. }
  137. console.log(this.xinli);
  138. },
  139. // 确认
  140. mindclick(){
  141. var params={
  142. radio1:this.radio1,
  143. radio2:this.radio2,
  144. radio3:this.radio3,
  145. date:this.date,
  146. appraiser:this.appraiser,
  147. optionsarr:this.optionsarr,
  148. xinli:this.xinli,
  149. }
  150. },
  151. // 转换时间
  152. getTime(val) {
  153. if(val < 0){
  154. return ""
  155. }
  156. if(val == ""){
  157. return ""
  158. }else {
  159. return uParseTime(val, '{y}-{m}-{d}')
  160. }
  161. },
  162. }
  163. }
  164. </script>
  165. <style lang="scss" scoped>
  166. .content_top{
  167. display: flex;
  168. justify-content: space-between;
  169. }
  170. .table{
  171. border: 1px solid #DCDFE6;
  172. border-collapse:collapse;
  173. border-spacing: 0;
  174. thead th{
  175. background: #0077ff9f;
  176. color: white;
  177. text-align: center;
  178. height: 40px;
  179. }
  180. tbody td{
  181. height: 40px;
  182. }
  183. .start{
  184. text-align: center;
  185. }
  186. .bing{
  187. width: 150px;
  188. text-align: center;
  189. }
  190. .bg_color{
  191. background: rgb(243, 240, 240);
  192. }
  193. .jiange{
  194. margin-left: 20px;
  195. color: black;
  196. }
  197. .rightjiange{
  198. margin-right: 40px;
  199. font-size: 15px;
  200. }
  201. input{
  202. -webkit-appearance: checkbox;
  203. }
  204. }
  205. .el-radio__label{
  206. font-size: 15px !important;
  207. }
  208. .bottoms{
  209. display: inline-block;
  210. margin-left: 10px;
  211. margin-top: 5px;
  212. }
  213. </style>