base_info.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>个人信息</title>
  6. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  7. <link href="../../css/mui.min.css" rel="stylesheet" />
  8. <link href="../../css/animate.min.css" rel="stylesheet" />
  9. <link href="../../css/cropper.min.css" rel="stylesheet" />
  10. <link href="../../css/mui.picker.min.css" rel="stylesheet" />
  11. <style>
  12. .mui-content{padding-top: 70px!important;background-color: white;}
  13. .mui-input-row{border-bottom: 1px solid #ececec;padding: 8px;}
  14. .mui-input-row:last-child{border-bottom: 0px;}
  15. .img{width: 60px;height: 80px;border-radius: 5px;}
  16. .mui-input-row label span{font-weight: bold;color: red;}
  17. .mui-input-row .mui-btn{width: 65%;padding: 0px;}
  18. .save{color:white;padding-top: 12px;}
  19. #clipp{position:fixed;width:100%;height:100%;top:0;background-color:black;display:none;z-index:9999999}
  20. #clipp img{max-width:100%;height:auto;vertical-align:middle;}
  21. #clipp .op{position:fixed;width:100%;bottom:0;}
  22. #clipp .mui-icon{color:white;font-size:50px;font-weight:bold}
  23. [v-cloak] {display: none;}
  24. </style>
  25. </head>
  26. <body>
  27. <div id="app" v-cloak>
  28. <header class="mui-bar mui-bar-nav">
  29. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  30. <h1 class="mui-title">基本信息</h1>
  31. <span class="save mui-pull-right" @click="save()">保存</span>
  32. </header>
  33. <div class="mui-content animated bounceInUp">
  34. <div class="mui-input-row">
  35. <label style="padding-top: 35px;">证件照片</label>
  36. <a href="#picture">
  37. <img :src="item.tx==null?'../../images/mp.jpg':item.tx " class="img">
  38. </a>
  39. </div>
  40. <div class="mui-input-row">
  41. <label>姓名 <span>*</span></label>
  42. <input type="text" v-model="item.mz" placeholder="输入姓名">
  43. </div>
  44. <div class="mui-input-row">
  45. <label>性别</label>
  46. <select class="mui-btn mui-btn-block" v-model="item.sex">
  47. <option :value="s" v-for="(s,index) in sex">{{s}}</option>
  48. </select>
  49. </div>
  50. <div class="mui-input-row">
  51. <label>出生年月 <span>*</span></label>
  52. <input type="text" v-model="item.csny" placeholder="选择日期" readonly @click="picker()">
  53. </div>
  54. <div class="mui-input-row">
  55. <label>最高学历</label>
  56. <select class="mui-btn mui-btn-block" v-model="item.zgxl">
  57. <option :value="x" v-for="(x,index) in xl">{{x}}</option>
  58. </select>
  59. </div>
  60. <div class="mui-input-row">
  61. <label>学位</label>
  62. <select class="mui-btn mui-btn-block" v-model="item.xw">
  63. <option :value="w" v-for="(w,index) in xw">{{w}}</option>
  64. </select>
  65. </div>
  66. <div class="mui-input-row">
  67. <label>毕业学校</label>
  68. <input type="text" v-model="item.xx" placeholder="输入毕业学校">
  69. </div>
  70. <div class="mui-input-row">
  71. <label>所学专业</label>
  72. <input type="text" v-model="item.zy" placeholder="输入所学专业">
  73. </div>
  74. <div class="mui-input-row">
  75. <label>函授学校</label>
  76. <input type="text" v-model="item.hs" placeholder="输入函授学校">
  77. </div>
  78. <div class="mui-input-row">
  79. <label>函授专业</label>
  80. <input type="text" v-model="item.hszy" placeholder="输入函授专业">
  81. </div>
  82. <div class="mui-input-row">
  83. <label>目前所在地</label>
  84. <input type="text" v-model="item.mqszd" placeholder="输入目前所在地">
  85. </div>
  86. <div class="mui-input-row">
  87. <label>联系电话 <span>*</span></label>
  88. <input type="tel" v-model="item.phone" placeholder="输入联系电话">
  89. </div>
  90. <div class="mui-input-row">
  91. <label>工作经验</label>
  92. <input type="tel" v-model="item.gzjy" placeholder="输入工作经验(年),无工作经验留空">
  93. </div>
  94. <div class="mui-input-row">
  95. <label>电子邮箱 </label>
  96. <input type="email" v-model="item.email" placeholder="输入电子邮箱">
  97. </div>
  98. </div>
  99. <!--选择照片-->
  100. <div id="picture" class="mui-popover mui-popover-action mui-popover-bottom">
  101. <ul class="mui-table-view">
  102. <li class="mui-table-view-cell" @click="takePhoto()"><a>拍照</a></li>
  103. <li class="mui-table-view-cell" @click="pickImg()"><a>选取现有</a></li>
  104. </ul>
  105. <ul class="mui-table-view">
  106. <li class="mui-table-view-cell" style="color: red;"><a href="#picture"><b>取消</b></a></li>
  107. </ul>
  108. </div>
  109. <!--图片剪裁-->
  110. <div id="clipp">
  111. <img id="image">
  112. <div class="op">
  113. <span class="mui-icon mui-icon mui-icon-closeempty mui-pull-left" @click="cancel()"></span>
  114. <span class="mui-icon mui-icon-checkmarkempty mui-pull-right" @click="upload()"></span>
  115. </div>
  116. </div>
  117. </div>
  118. <script src="../../js/mui.min.js"></script>
  119. <script src="../../js/app.js"></script>
  120. <script src="../../js/vue.min.js"></script>
  121. <script src="../../js/cropper.min.js"></script>
  122. <script src="../../js/mui.picker.min.js"></script>
  123. <script type="text/javascript">
  124. var cropper = null;
  125. var vm = new Vue({
  126. el: "#app",
  127. data: {
  128. sex:['男','女'],
  129. xl:xl(), //学历
  130. xw:xw(),//学位
  131. item: {}
  132. },
  133. mounted: function() {
  134. mui.plusReady(function() {
  135. vm.item=plus.webview.currentWebview().param;
  136. })
  137. },
  138. methods: {
  139. //选择时间
  140. picker:function(){
  141. var picker = new mui.DtPicker({"type":"date","beginYear":1990,"endYear":2019});
  142. picker.show(function(rs) {
  143. vm.item.csny=rs.text;
  144. picker.dispose();
  145. });
  146. },
  147. //拍照
  148. takePhoto: function() {
  149. plus.nativeUI.showWaiting("准备剪裁...");
  150. takePhoto(function(path) {
  151. plus.io.resolveLocalFileSystemURL(path, function(entry) {
  152. plus.nativeUI.closeWaiting();
  153. if(cropper != null) {
  154. cropper.destroy();
  155. }
  156. cropper = getClipper(2/3, entry.toLocalURL());
  157. });
  158. })
  159. },
  160. //选择现有
  161. pickImg: function() {
  162. pickImg(function(p) {
  163. if(cropper != null) {
  164. cropper.destroy();
  165. }
  166. cropper = getClipper(2/3, p.files[0]);
  167. }, 1);
  168. },
  169. //裁剪结束并上传
  170. upload: function() {
  171. //获得裁剪对象
  172. var croppedCanvas = cropper.getCroppedCanvas({width: 200,height: 300})
  173. var dataUrl = croppedCanvas.toDataURL();
  174. request(urls().uploadPhoto, {dataImage: dataUrl}, function(res) {
  175. vm.item.tx= urls().path + res.url;
  176. mui.toast("上传成功");
  177. plus.nativeUI.closeWaiting();
  178. })
  179. document.getElementById("clipp").style.display = 'none';
  180. },
  181. //取消裁剪
  182. cancel: function() {
  183. document.getElementById("clipp").style.display = 'none';
  184. },
  185. //保存
  186. save:function(){
  187. deleteEmptyProperty(vm.item);
  188. request(urls().resume_save,this.item, function(res) {
  189. mui.toast("保存成功");
  190. plus.webview.getWebviewById('my_resume').reload(true);
  191. plus.nativeUI.closeWaiting();
  192. })
  193. }
  194. }
  195. })
  196. </script>
  197. </body>
  198. </html>