loginMain.vue 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. <template>
  2. <div id="loginMain">
  3. <el-row class="loginMains">
  4. <el-col :span="24" class="top">
  5. <el-col :span="6" class="info"> </el-col>
  6. <el-col :span="12" class="context">
  7. <el-tabs v-model="activeName" @tab-click="handleClick">
  8. <el-tab-pane label="登录" name="first">
  9. <el-col :span="24">
  10. <el-form ref="form" :model="form" label-width="80px">
  11. <el-form-item label="手机号">
  12. <el-input v-model="form.phone" placeholder="请输入手机号" :minlength="11" :maxlength="11"></el-input>
  13. </el-form-item>
  14. <el-form-item label="登录密码">
  15. <el-input v-model="form.passwd" placeholder="请输入登录密码" show-password></el-input>
  16. </el-form-item>
  17. <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="loginSubmit">登录</el-button></el-col>
  18. </el-form>
  19. </el-col>
  20. </el-tab-pane>
  21. <el-tab-pane label="注册" name="second">
  22. <el-col :span="24">
  23. <el-form ref="forms" :model="forms" label-width="120px">
  24. <el-form-item label="用户名称">
  25. <el-input v-model="forms.name" placeholder="请输入用户名称"></el-input>
  26. </el-form-item>
  27. <el-form-item label="手机号">
  28. <el-input v-model="forms.phone" placeholder="请输入手机号" :minlength="11" :maxlength="11"></el-input>
  29. </el-form-item>
  30. <el-form-item label="登录密码">
  31. <el-input v-model="forms.password" placeholder="请输入登录密码" show-password></el-input>
  32. </el-form-item>
  33. <el-form-item label="身份证号">
  34. <el-input v-model="forms.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
  35. </el-form-item>
  36. <el-form-item label="邮箱">
  37. <el-input v-model="forms.email" placeholder="请输入邮箱"></el-input>
  38. </el-form-item>
  39. <el-form-item label="地址">
  40. <el-input v-model="forms.addr" placeholder="请输入地址"></el-input>
  41. </el-form-item>
  42. <el-form-item label="头像图片" prop="img_path">
  43. <upload :limit="1" :data="forms.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
  44. </el-form-item>
  45. <el-form-item label="用户类别">
  46. <el-radio-group v-model="forms.role">
  47. <el-radio label="2">个人</el-radio>
  48. <el-radio label="3">企业管理员</el-radio>
  49. <el-radio label="6">专家</el-radio>
  50. </el-radio-group>
  51. </el-form-item>
  52. <el-form-item label="身份证正面" v-if="forms.role == '2' || forms.role == '3'">
  53. <upload :limit="1" :data="forms.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
  54. </el-form-item>
  55. <el-form-item label="身份证背面" v-if="forms.role == '2' || forms.role == '3'">
  56. <upload :limit="1" :data="forms.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
  57. </el-form-item>
  58. <el-form-item label="组织机构图片" v-if="forms.role == '3'">
  59. <upload :limit="1" :data="forms.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
  60. </el-form-item>
  61. <template v-if="forms.role == '3'">
  62. <el-form-item label="机构类型">
  63. <el-input v-model="forms.institution_type" placeholder="请输入机构类型"></el-input>
  64. </el-form-item>
  65. <el-form-item label="机构名称">
  66. <el-input v-model="forms.institution_name" placeholder="请输入机构名称"></el-input>
  67. </el-form-item>
  68. <el-form-item label="机构代码">
  69. <el-input v-model="forms.institution_code" placeholder="请输入机构代码"></el-input>
  70. </el-form-item>
  71. <el-form-item label="机构性质">
  72. <el-input v-model="forms.institution_nature" placeholder="请输入机构性质"></el-input>
  73. </el-form-item>
  74. </template>
  75. <el-form-item label="办公电话" v-if="forms.role == '2' || forms.role == '3'">
  76. <el-input v-model="forms.office_phone" placeholder="请输入办公电话"></el-input>
  77. </el-form-item>
  78. <el-form-item label="所属行业" v-if="forms.role == '2' || forms.role == '3'">
  79. <el-input v-model="forms.profession" placeholder="请输入所属行业"></el-input>
  80. </el-form-item>
  81. <el-form-item label="性别" v-if="forms.role == '6'">
  82. <el-select v-model="forms.gender" placeholder="请选择民性别">
  83. <el-option v-for="(item, index) in gender_list" :key="index" :label="item.name" :value="item.name"></el-option>
  84. </el-select>
  85. </el-form-item>
  86. <el-form-item label="出生日期" v-if="forms.role == '6'">
  87. <el-date-picker v-model="forms.birthday" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker>
  88. </el-form-item>
  89. <el-form-item label="职称级别" v-if="forms.role == '6'">
  90. <el-input v-model="forms.level" placeholder="请输入职称级别"></el-input>
  91. </el-form-item>
  92. <el-form-item label="职称" v-if="forms.role == '6'">
  93. <el-input v-model="forms.levelname" placeholder="请输入职称"></el-input>
  94. </el-form-item>
  95. <el-form-item label="职务" v-if="forms.role == '6'">
  96. <el-input v-model="forms.position" placeholder="请输入职务"></el-input>
  97. </el-form-item>
  98. <el-form-item label="院校" v-if="forms.role == '6'">
  99. <el-input v-model="forms.school" placeholder="请输入院校"></el-input>
  100. </el-form-item>
  101. <el-form-item label="学历" v-if="forms.role == '6'">
  102. <el-select v-model="forms.xl" placeholder="请选择学历要求">
  103. <el-option v-for="(item, index) in edu_list" :key="index" :label="item.name" :value="item.name"></el-option>
  104. </el-select>
  105. </el-form-item>
  106. <el-form-item label="学位" v-if="forms.role == '6'">
  107. <el-select v-model="forms.xw" placeholder="请选择学位">
  108. <el-option v-for="(item, index) in degree_list" :key="index" :label="item.name" :value="item.name"></el-option>
  109. </el-select>
  110. </el-form-item>
  111. <el-form-item label="专业" v-if="forms.role == '6'">
  112. <el-input v-model="forms.major" placeholder="请输入专业"></el-input>
  113. </el-form-item>
  114. <el-form-item label="从事专业" v-if="forms.role == '6'">
  115. <el-input v-model="forms.professional" placeholder="请输入从事专业"></el-input>
  116. </el-form-item>
  117. <el-form-item label="个人简历" v-if="forms.role == '2' || forms.role == '6'">
  118. <el-input type="textarea" v-model="forms.resume" placeholder="请输入个人简介"></el-input>
  119. </el-form-item>
  120. <el-form-item label="项目" v-if="forms.role == '6'">
  121. <el-input v-model="forms.project" placeholder="请输入项目"></el-input>
  122. </el-form-item>
  123. <el-form-item label="学术成就" v-if="forms.role == '6'">
  124. <el-input v-model="forms.academic" placeholder="请输入学术成就"></el-input>
  125. </el-form-item>
  126. <el-form-item label="论文" v-if="forms.role == '6'">
  127. <el-input v-model="forms.paper" placeholder="请输入论文"></el-input>
  128. </el-form-item>
  129. <el-form-item label="备注" v-if="forms.role == '6'">
  130. <el-input v-model="forms.remark" placeholder="请输入备注"></el-input>
  131. </el-form-item>
  132. <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="registerSubmit">注册</el-button></el-col>
  133. </el-form>
  134. </el-col>
  135. </el-tab-pane>
  136. </el-tabs>
  137. </el-col>
  138. <el-col :span="6" class="info"></el-col>
  139. </el-col>
  140. </el-row>
  141. </div>
  142. </template>
  143. <script>
  144. import upload from '@/components/uploadone.vue';
  145. export default {
  146. name: 'loginMain',
  147. props: {
  148. form: null,
  149. forms: null,
  150. },
  151. components: {
  152. upload,
  153. },
  154. data: () => ({
  155. activeName: 'first',
  156. // 性别
  157. gender_list: [
  158. {
  159. name: '男',
  160. },
  161. {
  162. name: '女',
  163. },
  164. ],
  165. // 学历
  166. edu_list: [
  167. {
  168. name: '中专及以上',
  169. },
  170. {
  171. name: '大专及以上',
  172. },
  173. {
  174. name: '本科及以上',
  175. },
  176. {
  177. name: '研究生及以上',
  178. },
  179. ],
  180. // 学位
  181. degree_list: [
  182. {
  183. name: '学士',
  184. },
  185. {
  186. name: '学士',
  187. },
  188. {
  189. name: '博士',
  190. },
  191. {
  192. name: '其他',
  193. },
  194. ],
  195. }),
  196. created() {},
  197. computed: {},
  198. methods: {
  199. handleClick(tab, event) {
  200. console.log(tab, event);
  201. },
  202. loginSubmit() {
  203. this.$emit('submitDate', this.form);
  204. },
  205. registerSubmit() {
  206. this.$emit('submitDates', { data: this.forms, id: this.forms.id });
  207. },
  208. uploadSuccess({ type, data }) {
  209. this.$set(this.forms, `${type}`, data.uri);
  210. },
  211. },
  212. };
  213. </script>
  214. <style lang="less" scoped>
  215. .loginMains {
  216. min-height: 800px;
  217. padding: 10px 0;
  218. background-color: #fff;
  219. }
  220. .top {
  221. width: 100%;
  222. padding: 20px;
  223. overflow: hidden;
  224. box-shadow: 0 0 10px #2d64b3;
  225. background: #ffffff;
  226. }
  227. .info {
  228. width: 25%;
  229. height: 800px;
  230. }
  231. .context {
  232. width: 50%;
  233. }
  234. /deep/.el-tabs__header {
  235. margin: 0;
  236. }
  237. /deep/.el-tabs__nav-wrap::after {
  238. background-color: transparent;
  239. }
  240. /deep/.el-tabs--top .el-tabs__item.is-top:nth-child(2) {
  241. padding-left: 50px;
  242. }
  243. /deep/.el-tabs--top .el-tabs__item.is-top:last-child {
  244. padding-right: 50px;
  245. }
  246. /deep/.el-tabs__active-bar {
  247. background-color: transparent;
  248. }
  249. /deep/.el-tabs__nav {
  250. margin: 0 130px;
  251. }
  252. /deep/.el-tabs__item {
  253. padding: 0 60px;
  254. height: 70px;
  255. line-height: 70px;
  256. font-size: 30px;
  257. }
  258. .loginSubmit {
  259. text-align: center;
  260. }
  261. </style>