teacherInfo.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <template>
  2. <div class="teacherInfo">
  3. <div class="infoWrap">
  4. <div class="left">
  5. <h4>基本信息</h4>
  6. <el-form :model="topForm" >
  7. <el-row>
  8. <el-col :span="12">
  9. <el-form-item label="老师编号" :label-width="formLabelWidth">
  10. <el-input disabled v-model="topForm.id"></el-input>
  11. </el-form-item>
  12. </el-col>
  13. <el-col :span="12">
  14. <el-form-item label="性别" :label-width="formLabelWidth">
  15. <el-input disabled v-model="topForm.gender"></el-input>
  16. </el-form-item>
  17. </el-col>
  18. </el-row>
  19. <el-row>
  20. <el-col :span="12">
  21. <el-form-item label="出生日期" :label-width="formLabelWidth">
  22. <el-input disabled v-model="topForm.birthdate"></el-input>
  23. </el-form-item>
  24. </el-col>
  25. <el-col :span="12">
  26. <el-form-item label="工作类别" :label-width="formLabelWidth">
  27. <el-input disabled v-model="topForm.jobNature "></el-input>
  28. </el-form-item>
  29. </el-col>
  30. </el-row>
  31. <el-row>
  32. <el-col :span="12">
  33. <el-form-item label="入职日期" :label-width="formLabelWidth">
  34. <el-input disabled v-model="topForm.entryDate"></el-input>
  35. </el-form-item>
  36. </el-col>
  37. <el-col :span="12">
  38. <el-form-item label="教学点" :label-width="formLabelWidth">
  39. <el-input disabled v-model="topForm.teacherSchools"></el-input>
  40. </el-form-item>
  41. </el-col>
  42. </el-row>
  43. <el-row>
  44. <el-col :span="12">
  45. <el-form-item label="所属分部" :label-width="formLabelWidth">
  46. <el-input disabled v-model="topForm.organName"></el-input>
  47. </el-form-item>
  48. </el-col>
  49. <el-col :span="12">
  50. <el-form-item label="流动范围" :label-width="formLabelWidth">
  51. <el-input disabled v-model="topForm.flowOrganRange"></el-input>
  52. </el-form-item>
  53. </el-col>
  54. </el-row>
  55. <el-row>
  56. <el-col :span="12">
  57. <el-form-item label="老师简介" :label-width="formLabelWidth">
  58. <el-input disabled type='textarea'
  59. v-model="topForm.introduction"></el-input>
  60. </el-form-item>
  61. </el-col>
  62. </el-row>
  63. <h4>资料学历</h4>
  64. <el-row>
  65. <el-col :span="12">
  66. <el-form-item label="手机号" :label-width="formLabelWidth">
  67. <el-input disabled v-model="topForm.phone"></el-input>
  68. </el-form-item>
  69. </el-col>
  70. <el-col :span="12">
  71. <el-form-item label="毕业学校" :label-width="formLabelWidth">
  72. <el-input disabled v-model="topForm.graduateSchool"></el-input>
  73. </el-form-item>
  74. </el-col>
  75. </el-row>
  76. <el-row>
  77. <el-col :span="12">
  78. <el-form-item label="电子邮箱" :label-width="formLabelWidth">
  79. <el-input disabled v-model="topForm.email"></el-input>
  80. </el-form-item>
  81. </el-col>
  82. <el-col :span="12">
  83. <el-form-item label="最高学历" :label-width="formLabelWidth">
  84. <el-input disabled v-model="topForm.educationBackground"></el-input>
  85. </el-form-item>
  86. </el-col>
  87. </el-row>
  88. <el-row>
  89. <el-col :span="12">
  90. <el-form-item label="专业技能" :label-width="formLabelWidth">
  91. <el-input disabled v-model="topForm.subjectName"></el-input>
  92. </el-form-item>
  93. </el-col>
  94. <el-col :span="12">
  95. <el-form-item label="职称" :label-width="formLabelWidth">
  96. <el-input disabled v-model="topForm.technicalTitles"></el-input>
  97. </el-form-item>
  98. </el-col>
  99. </el-row>
  100. <el-row>
  101. <el-col :span="12">
  102. <el-form-item label="证件类型" :label-width="formLabelWidth">
  103. <el-input disabled v-model="topForm.certificateType"></el-input>
  104. </el-form-item>
  105. </el-col>
  106. <el-col :span="12">
  107. <el-form-item label="证件号码" :label-width="formLabelWidth">
  108. <el-input disabled v-model="topForm.certificateNum"></el-input>
  109. </el-form-item>
  110. </el-col>
  111. </el-row>
  112. </el-form>
  113. </div>
  114. <div class="right">
  115. <div class="teacherIcon">
  116. <img v-if="topForm.avatar" :src="topForm.avatar"
  117. alt="">
  118. <img v-else src="@/assets/images/base/woman.png"
  119. alt="">
  120. </div>
  121. </div>
  122. </div>
  123. </div>
  124. </template>
  125. <script>
  126. import { teacherGet } from '@/api/teacherManager'
  127. export default {
  128. data () {
  129. return {
  130. formLabelWidth: '80px',
  131. teacherId: this.$route.query.teacherId,
  132. topForm: {}
  133. }
  134. },
  135. mounted() {
  136. this.teacherGet()
  137. },
  138. methods: {
  139. teacherGet() {
  140. teacherGet({ teacherId: this.teacherId }).then(res => {
  141. if(res.code == 200) {
  142. let tempData = res.data
  143. tempData.subjectName = this.joinArray(tempData.subjectName)
  144. tempData.teacherSchools = this.joinArray(tempData.teacherSchools) // 教学点
  145. tempData.entryDate = this.formatTimer(tempData.entryDate)
  146. tempData.jobNature = this.jobNature(tempData.jobNature)
  147. tempData.birthdate = this.formatTimer(tempData.birthdate)
  148. tempData.gender = tempData.birthdate ? '男' : '女'
  149. this.topForm = res.data
  150. }
  151. })
  152. },
  153. joinArray(value, type) {
  154. if (!type) {
  155. type = ' '
  156. }
  157. if (typeof value == 'object' && value != null) {
  158. return value.join(type)
  159. } else {
  160. return value
  161. }
  162. },
  163. formatTimer(value) {
  164. if (value) {
  165. return value.split(' ')[0]
  166. } else {
  167. return value
  168. }
  169. },
  170. jobNature(value) {
  171. let template = {
  172. PART_TIME: "兼职",
  173. FULL_TIME: "全职",
  174. TEMPORARY: "零时工"
  175. }
  176. return template[value]
  177. }
  178. }
  179. }
  180. </script>
  181. <style lang="scss" scoped>
  182. .teacherInfo {
  183. .infoWrap {
  184. margin-top: 20px;
  185. display: flex;
  186. flex-direction: row;
  187. justify-content: flex-start;
  188. .left {
  189. max-width: 1000px;
  190. width: 100%;
  191. h4 {
  192. margin-bottom: 20px;
  193. }
  194. }
  195. .right {
  196. margin-left: 100px;
  197. .teacherIcon {
  198. width: 150px;
  199. height: 150px;
  200. // border: 1px solid #444;
  201. border-radius: 50%;
  202. overflow: hidden;
  203. img {
  204. width: 150px;
  205. height: 150px;
  206. }
  207. }
  208. }
  209. }
  210. }
  211. /deep/.el-form-item {
  212. width: 100%;
  213. }
  214. /deep/.el-date-editor.el-input, /deep/.el-select {
  215. width: 100% !important;
  216. }
  217. /deep/.el-form-item__content {
  218. font-size: 14px !important;
  219. margin-right: 5%;
  220. }
  221. </style>