doctorDetails.vue 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261
  1. <template>
  2. <div style="background-color: #f0f2f5; padding-bottom: 20px; min-height: 100%; " >
  3. <div style="padding: 20px; background-color: #fff;">
  4. 医生详情
  5. </div>
  6. <div class="content" >
  7. <div class="desct">
  8. 医生信息
  9. </div>
  10. <el-descriptions title="" :column="3" border >
  11. <el-descriptions-item label="医生姓名" >
  12. <span v-if="item!=null">{{item.doctorName}}</span>
  13. </el-descriptions-item>
  14. <el-descriptions-item label="职称" >
  15. <span v-if="item!=null"><dict-tag :options="positionOptions" :value="item.position"/></span>
  16. </el-descriptions-item>
  17. <el-descriptions-item label="工作照" >
  18. <el-image v-if="item!=null"
  19. style="width: 100px"
  20. :src="item.avatar"
  21. :preview-src-list="[item.avatar]">
  22. </el-image>
  23. </el-descriptions-item>
  24. <el-descriptions-item label="所属医院" >
  25. <span v-if="item!=null">{{item.hospitalName}}</span>
  26. </el-descriptions-item>
  27. <el-descriptions-item label="科室名称" >
  28. <span v-if="item!=null">{{item.deptName}}</span>
  29. </el-descriptions-item>
  30. <el-descriptions-item label="余额" >
  31. <span v-if="item!=null">{{item.balance}}</span>
  32. </el-descriptions-item>
  33. <el-descriptions-item label="状态" >
  34. <span v-if="item!=null">
  35. <dict-tag :options="statusOptions" :value="item.status"/>
  36. </span>
  37. </el-descriptions-item>
  38. <el-descriptions-item label="所属省市区" >
  39. <span v-if="item!=null">{{item.province}}{{item.city}}{{item.district}}</span>
  40. </el-descriptions-item>
  41. <el-descriptions-item label="标签" >
  42. <span v-if="item!=null">{{item.tags}}</span>
  43. </el-descriptions-item>
  44. <el-descriptions-item label="评分" >
  45. <span v-if="item!=null">
  46. <el-rate
  47. v-model="item.pingStar"
  48. disabled
  49. show-score
  50. text-color="#ff9900"
  51. score-template="{value}">
  52. </el-rate>
  53. </span>
  54. </el-descriptions-item>
  55. <el-descriptions-item label="咨询量" >
  56. <span v-if="item!=null">{{item.orderNumber}}</span>
  57. </el-descriptions-item>
  58. <el-descriptions-item label="平均响应速度" >
  59. <span v-if="item!=null">{{item.speed}}</span>
  60. </el-descriptions-item>
  61. <el-descriptions-item label="手机号" >
  62. <span v-if="item!=null">{{item.mobile}}</span>
  63. </el-descriptions-item>
  64. <el-descriptions-item label="性别" >
  65. <dict-tag :options="sexOptions" :value="item.sex"/>
  66. </el-descriptions-item>
  67. <el-descriptions-item label="出生年月" >
  68. <span v-if="item!=null">{{item.bitthday}}</span>
  69. </el-descriptions-item>
  70. <el-descriptions-item label="登录账号" >
  71. <span v-if="item!=null">{{item.account}}</span>
  72. </el-descriptions-item>
  73. <el-descriptions-item label="医生签名" >
  74. <el-popover v-if="item.signUrl!=null"
  75. placement="right"
  76. title=""
  77. trigger="hover">
  78. <img slot="reference" :src="item.signUrl" width="50px">
  79. <img :src="item.signUrl" style="max-width: 200px;">
  80. </el-popover>
  81. </el-descriptions-item>
  82. <el-descriptions-item label="是否推荐" >
  83. <dict-tag :options="orOptions" :value="item.isTui"/>
  84. </el-descriptions-item>
  85. <el-descriptions-item label="是否专家" >
  86. <dict-tag :options="orOptions" :value="item.isExpert"/>
  87. </el-descriptions-item>
  88. <el-descriptions-item label="接诊状态" >
  89. <dict-tag :options="statusOptions" :value="item.workStatus"/>
  90. </el-descriptions-item>
  91. <el-descriptions-item label="是否自营" >
  92. <dict-tag :options="orOptions" :value="item.isSelf"/>
  93. </el-descriptions-item>
  94. <el-descriptions-item label="是否处方医生" >
  95. <dict-tag :options="orOptions" :value="item.isPrescribeDoctor"/>
  96. </el-descriptions-item>
  97. <el-descriptions-item label="处方医生名称" >
  98. <span v-if="item!=null">{{item.prescribeDoctorName}}</span>
  99. </el-descriptions-item>
  100. <el-descriptions-item label="套餐包" >
  101. <span v-if="item!=null">{{item.packageName}}</span>
  102. </el-descriptions-item>
  103. <el-descriptions-item label="审核时间" >
  104. <span v-if="item!=null">{{item.auditTime}}</span>
  105. </el-descriptions-item>
  106. <el-descriptions-item label="审核状态" >
  107. <dict-tag :options="isauditOptions" :value="item.isAudit"/>
  108. </el-descriptions-item>
  109. <el-descriptions-item label="创建时间" >
  110. <span v-if="item!=null">{{item.createTime}}</span>
  111. </el-descriptions-item>
  112. <el-descriptions-item label="医生简介" span="6">
  113. <span v-if="item!=null">{{item.introduction}}</span>
  114. </el-descriptions-item>
  115. <el-descriptions-item label="擅长领域" span="6" >
  116. <span v-if="item!=null" style="width: 100px;">{{item.speciality}}</span>
  117. </el-descriptions-item>
  118. </el-descriptions>
  119. </div>
  120. <div class="content" >
  121. <div class="desct">
  122. 证件信息
  123. </div>
  124. <el-descriptions title="" :column="3" border>
  125. <el-descriptions-item label="身份证号">
  126. <span v-if="item!=null">{{item.idCard}}</span>
  127. </el-descriptions-item>
  128. <el-descriptions-item label="身份证正面">
  129. <el-image v-if="item.idCardFrontUrl!=null"
  130. style="width: 100px"
  131. :src="item.idCardFrontUrl"
  132. :preview-src-list="[item.idCardFrontUrl]">
  133. </el-image>
  134. </el-descriptions-item>
  135. <el-descriptions-item label="身份证反面">
  136. <el-image v-if="item.idCardBackUrl!=null"
  137. style="width: 100px"
  138. :src="item.idCardBackUrl"
  139. :preview-src-list="[item.idCardBackUrl]">
  140. </el-image>
  141. </el-descriptions-item>
  142. <el-descriptions-item label="资格证编号" >
  143. <span v-if="item!=null">{{item.certificateCode}}</span>
  144. </el-descriptions-item>
  145. <el-descriptions-item label="资格证">
  146. <el-image v-for="img in item.certificateImages" :key="img"
  147. style="width: 100px"
  148. :src="img"
  149. :preview-src-list="[img]">
  150. </el-image>
  151. </el-descriptions-item>
  152. <el-descriptions-item label="执业证编号">
  153. <span v-if="item!=null">{{item.practiseCode}}</span>
  154. </el-descriptions-item>
  155. <el-descriptions-item label="执业证">
  156. <el-image v-for="img in item.practiseImages" :key="img"
  157. style="width: 100px"
  158. :src="img"
  159. :preview-src-list="[img]">
  160. </el-image>
  161. </el-descriptions-item>
  162. </el-descriptions>
  163. </div>
  164. </div>
  165. </template>
  166. <script>
  167. import {getDoctor} from '../../../api/his/doctor.js';
  168. import{listDepartment} from "@/api/his/disease";
  169. import{listHospital} from "@/api/his/hospital";
  170. export default {
  171. name: "doctordetails",
  172. props:["data"],
  173. data() {
  174. return {
  175. orOptions: [],
  176. isauditOptions: [],
  177. positionOptions: [],
  178. statusOptions: [],
  179. sexOptions: [],
  180. item:null,
  181. }
  182. },
  183. created() {
  184. this.getDicts("sys_company_isaudit").then(response => {
  185. this.isauditOptions = response.data;
  186. });
  187. this.getDicts("sys_company_or").then(response => {
  188. this.orOptions = response.data;
  189. });
  190. this.getDicts("sys_doc_position").then(response => {
  191. this.positionOptions = response.data;
  192. });
  193. this.getDicts("sys_company_status").then(response => {
  194. this.statusOptions = response.data;
  195. });
  196. this.getDicts("sys_sex").then(response => {
  197. this.sexOptions = response.data;
  198. });
  199. },
  200. methods: {
  201. getDetails(orderId) {
  202. this.item=null;
  203. getDoctor(orderId).then(response => {
  204. this.item = response.data;
  205. this.item.certificateImages= (this.item.certificateImages).split(",");
  206. this.item.practiseImages= (this.item.practiseImages).split(",");
  207. });
  208. },
  209. }
  210. }
  211. </script>
  212. <style>
  213. .content{
  214. height: 100%;
  215. background-color: #fff;
  216. padding: 0px 20px;
  217. }
  218. </style>
  219. <style>
  220. .el-descriptions-item__content {
  221. max-width: 150px;
  222. min-width: 100px;
  223. }
  224. .content{
  225. height: 100%;
  226. background-color: #fff;
  227. padding: 0px 20px 20px;
  228. margin: 20px;
  229. }
  230. .el-descriptions-item__label.is-bordered-label{
  231. font-weight: normal;
  232. }
  233. .desct{
  234. padding-top: 20px;
  235. padding-bottom: 20px;
  236. color: #524b4a;
  237. font-weight: bold;
  238. }
  239. </style>