personal-info.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. (function() {
  2. Vue.component('personal-info', {
  3. template: `<div class="container ptb20 ">
  4. <div class="row w3-row">
  5. <left-menu :code="code"></left-menu>
  6. <div class="pl251">
  7. <div class="bgc-fff c-border ptb30">
  8. <form class="mainbox" id="form" role="form" onsubmit="return false;" enctype="multipart/form-data" id="newInterfaceForm">
  9. <div class="c-t-center mb10">
  10. <img :src="userinfo.imgRemotePath || defaultImg" class="img-circle" width="100" height="100" id="personalImg" />
  11. <div class="c-f14 c-909090 pt15">
  12. <span>修改头像</span>
  13. <input type="file" @change="uploadImg($event)" class="c-vam c-inline-block type-hide pl105" accept="image/jpg,image/jpeg,image/png" style="height:150px;margin-top:-150px;"></div>
  14. </div>
  15. <div class="w3-row mt50 form-group" style="height: 40px;">
  16. <div class="w3-col c-f16 m5 c-t-right" style="width:80px;">姓&emsp;&emsp;名</div>
  17. <div class="w3-rest pl15">
  18. <input type="text" class="form-control" v-model="userinfo.realName" name="realName">
  19. </div>
  20. </div>
  21. <div class="w3-row form-group">
  22. <div class="w3-col c-f16 m5 c-t-right" style="width:80px;">性&emsp;&emsp;别</div>
  23. <div class="w3-rest pl15 c-f14">
  24. <input type="radio" name="gender" value="0" v-model="userinfo.gender">&emsp;男&emsp;
  25. <input type="radio" name="gender" value="1" v-model="userinfo.gender">&emsp;女
  26. </div>
  27. </div>
  28. <div class="w3-row mt25 form-group">
  29. <div class="w3-col c-f16 m5 c-t-right" style="width:80px;">手机号码</div>
  30. <div class="w3-rest pl15">
  31. <input type="text" class="form-control" v-model="userinfo.telephone" name="telephone">
  32. </div>
  33. </div>
  34. <div class="w3-row mt25 form-group">
  35. <div class="w3-col c-f16 m5 c-t-right" style="width:80px;">身份证号</div>
  36. <div class="w3-rest pl15">
  37. <input type="text" class="form-control" v-model="userinfo.idCardNo" name="idCardNo">
  38. </div>
  39. </div>
  40. <div class="w3-row mt25 form-group">
  41. <div class="w3-col c-f16 m5 c-t-right" style="width:80px;">社保卡号</div>
  42. <div class="w3-rest pl15">
  43. <input type="text" class="form-control" v-model="userinfo.ssid" name="ssid">
  44. </div>
  45. </div>
  46. <div class="w3-row mt25 form-group">
  47. <div class="w3-col c-f16 m5 c-t-right" style="width:80px;">医疗保险号</div>
  48. <div class="w3-rest pl15">
  49. <input type="text" class="form-control" v-model="userinfo.micard" name="micard">
  50. </div>
  51. </div>
  52. <div class="w3-row mt25 form-group">
  53. <div class="w3-col c-323232 c-f16 m5 c-t-right" style="width:80px;">行&emsp;&emsp;业</div>
  54. <div class="pl105" data-toggle="modal" data-target="#selindustry">
  55. <input id="industry" placeholder="请选择行业" type="text" class="form-control" name="industry" v-model="userinfo.profession" name="profession"><span class="caret selcaret"></span>
  56. </div>
  57. </div>
  58. <div class="w3-row mt25">
  59. <div class="w3-col c-323232 c-f16 m5 c-t-right" style="width:80px;">家庭住址</div>
  60. <div class="pl105">
  61. <selsect-address ref="getAddress"></selsect-address>
  62. <textarea class="form-control mt10 form-group" v-model="userinfo.street" name="street"></textarea>
  63. </div>
  64. </div>
  65. <div class="c-t-center ">
  66. <button type="submit" class="btn btn-theme c-f16 mtb30" style="width:144px;" @click="update()">保 存</button>
  67. </div>
  68. </form>
  69. <select-industry ref="getIndustry"></select-industry>
  70. </div>
  71. </div>
  72. </div>
  73. </div>`,
  74. props: [],
  75. data: function() {
  76. return {
  77. userinfo: {},
  78. code: "info",
  79. address: '',
  80. defaultImg: "../../../images/moren_touxiang_img.png",
  81. }
  82. },
  83. mounted: function() {
  84. var vm = this
  85. vm.initinfo()
  86. $('#selindustry').on('hidden.bs.modal', function(e) {
  87. vm.getNewIndustry()
  88. })
  89. },
  90. methods: {
  91. initinfo: function() {
  92. var vm = this;
  93. var loginInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));
  94. var data1 = {
  95. userName: loginInfo.user,
  96. token: loginInfo.accessToken
  97. }
  98. loginAPI.getUserInfo(data1).then(function(res) {
  99. vm.userinfo = res
  100. })
  101. },
  102. getNewAddress: function() {
  103. var vm = this
  104. vm.userinfo.provinceId = vm.$refs.getAddress.provinceid
  105. vm.userinfo.cityId = vm.$refs.getAddress.cityid
  106. vm.userinfo.areaId = vm.$refs.getAddress.countyid
  107. vm.userinfo.provinceName = vm.$refs.getAddress.provincename
  108. vm.userinfo.cityName = vm.$refs.getAddress.cityname
  109. vm.userinfo.areaName = vm.$refs.getAddress.countyname
  110. },
  111. getNewIndustry: function() {
  112. var vm = this
  113. var aaa = vm.$refs.getIndustry.industryname
  114. var bbb = vm.$refs.getIndustry.directionname
  115. if(bbb != "请选择方向") {
  116. vm.userinfo.profession = bbb
  117. } else if(aaa != "请选择行业") {
  118. vm.userinfo.profession = aaa
  119. }
  120. },
  121. uploadImg: function(e) {
  122. var file = {},
  123. vm = this
  124. file = e.target.files[0]
  125. if(file.size > 5 * 1024 * 1024) {
  126. alert("图片大小格式超出5M范围不可用")
  127. return false
  128. }
  129. var formData = new FormData()
  130. formData.append('file', file)
  131. var param = {
  132. files: formData,
  133. creator: vm.userinfo.id,
  134. objectId: 'EHR',
  135. }
  136. fileAPI.uploadImg(param).then(function(reslove) {
  137. vm.userinfo.imgRemotePath = reslove.obj.httpUrl //上传到图片服务器成功则修改个人资料
  138. }, function(err) {
  139. alert("选择图片失败");
  140. })
  141. },
  142. update: function() {
  143. var vm = this
  144. var flag = $("#newInterfaceForm").valid();
  145. if(!flag) {
  146. //没有通过验证
  147. return;
  148. }
  149. vm.getNewAddress()
  150. mineAPI.userInforUpdate(vm.userinfo).then(function (res) {
  151. alert("修改成功!")
  152. }).catch(function(){
  153. alert("修改失败!")
  154. })
  155. },
  156. },
  157. })
  158. })()