loginMain.vue 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <template>
  2. <div id="loginMain">
  3. <el-row class="loginMains">
  4. <el-col :span="6"><p>&nbsp;</p></el-col>
  5. <el-col :span="12">
  6. <el-tabs v-model="activeName" @tab-click="handleClick">
  7. <el-tab-pane label="登录" name="first">
  8. <el-col :span="24">
  9. <el-form ref="form" :model="form" label-width="80px">
  10. <!-- <el-form-item label="用户类别">
  11. <el-radio v-model="form.role" label="1">管理员</el-radio>
  12. <el-radio v-model="form.role" label="2">个人</el-radio>
  13. <el-radio v-model="form.role" label="3">企业管理员</el-radio>
  14. </el-form-item> -->
  15. <el-form-item label="手机号">
  16. <el-input v-model="form.phone" placeholder="请输入手机号" :minlength="11" :maxlength="11"></el-input>
  17. </el-form-item>
  18. <el-form-item label="登录密码">
  19. <el-input v-model="form.passwd" placeholder="请输入登录密码" show-password></el-input>
  20. </el-form-item>
  21. <el-form-item label="用户类别">
  22. <el-radio v-model="form.role" label="0">管理员</el-radio>
  23. <el-radio v-model="form.role" label="1">合作机构&业务管理员</el-radio>
  24. </el-form-item>
  25. <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="loginSubmit">登录</el-button></el-col>
  26. </el-form>
  27. </el-col>
  28. </el-tab-pane>
  29. <el-tab-pane label="注册" name="second" style="display:none;">
  30. <el-col :span="24">
  31. <el-form ref="forms" :model="forms" label-width="120px">
  32. <el-form-item label="用户名称">
  33. <el-input v-model="forms.name" placeholder="请输入用户名称"></el-input>
  34. </el-form-item>
  35. <el-form-item label="登录密码">
  36. <el-input v-model="forms.password" placeholder="请输入登录密码" show-password></el-input>
  37. </el-form-item>
  38. <el-form-item label="身份证号">
  39. <el-input v-model="forms.cardnumber" placeholder="请输入身份证号" :minlength="18" :maxlength="18"></el-input>
  40. </el-form-item>
  41. <el-form-item label="手机号">
  42. <el-input v-model="forms.phone" placeholder="请输入手机号" :minlength="11" :maxlength="11"></el-input>
  43. </el-form-item>
  44. <el-form-item label="邮箱">
  45. <el-input v-model="forms.email" placeholder="请输入邮箱"></el-input>
  46. </el-form-item>
  47. <el-form-item label="地址">
  48. <el-input v-model="forms.addr" placeholder="请输入地址"></el-input>
  49. </el-form-item>
  50. <el-form-item label="头像图片" prop="img_path">
  51. <upload :limit="1" :data="forms.img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
  52. </el-form-item>
  53. <el-form-item label="用户类别">
  54. <!-- <el-radio v-model="forms.role" label="1">管理员</el-radio> -->
  55. <el-radio-group v-model="forms.role" @change="setIsQy">
  56. <el-radio label="2">个人</el-radio>
  57. <el-radio label="3">企业管理员</el-radio>
  58. </el-radio-group>
  59. </el-form-item>
  60. <!-- <el-form-item label="个人/法人">
  61. <el-radio v-model="forms.is_qy" label="0">个人</el-radio>
  62. <el-radio v-model="forms.is_qy" label="1">法人</el-radio>
  63. </el-form-item> -->
  64. <el-form-item label="身份证正面">
  65. <upload :limit="1" :data="forms.cardfile_a" type="cardfile_a" :url="'/files/cardfilea/upload'" @upload="uploadSuccess"></upload>
  66. </el-form-item>
  67. <el-form-item label="身份证背面">
  68. <upload :limit="1" :data="forms.cardfile_b" type="cardfile_b" :url="'/files/cardfileb/upload'" @upload="uploadSuccess"></upload>
  69. </el-form-item>
  70. <el-form-item label="组织机构图片" v-if="forms.role == '3'">
  71. <upload :limit="1" :data="forms.img_qy" type="img_qy" :url="'/files/imgqy/upload'" @upload="uploadSuccess"></upload>
  72. </el-form-item>
  73. <el-form-item label="简介" placeholder="请输入简介">
  74. <el-input type="textarea" v-model="forms.resume"></el-input>
  75. </el-form-item>
  76. <el-form-item label="专业领域" placeholder="请输入专业领域">
  77. <el-input v-model="forms.major"></el-input>
  78. </el-form-item>
  79. <template v-if="forms.role == '3'">
  80. <el-form-item label="机构类型" placeholder="请输入机构类型">
  81. <el-input v-model="forms.institution_type"></el-input>
  82. </el-form-item>
  83. <el-form-item label="机构名称" placeholder="请输入机构名称">
  84. <el-input v-model="forms.institution_name"></el-input>
  85. </el-form-item>
  86. <el-form-item label="机构代码" placeholder="请输入机构代码">
  87. <el-input v-model="forms.institution_code"></el-input>
  88. </el-form-item>
  89. <el-form-item label="机构性质" placeholder="请输入机构性质">
  90. <el-input v-model="forms.institution_nature"></el-input>
  91. </el-form-item>
  92. </template>
  93. <el-form-item label="办公电话" placeholder="请输入办公电话">
  94. <el-input v-model="forms.office_phone"></el-input>
  95. </el-form-item>
  96. <el-form-item label="所属行业" placeholder="请输入所属行业">
  97. <el-input v-model="forms.profession"></el-input>
  98. </el-form-item>
  99. <el-col :span="24" class="loginSubmit"><el-button type="primary" @click="registerSubmit">注册</el-button></el-col>
  100. </el-form>
  101. </el-col>
  102. </el-tab-pane>
  103. </el-tabs>
  104. </el-col>
  105. <el-col :span="6"><p>&nbsp;</p></el-col>
  106. </el-row>
  107. </div>
  108. </template>
  109. <script>
  110. import upload from '@/components/upload.vue';
  111. export default {
  112. name: 'loginMain',
  113. props: {
  114. form: null,
  115. forms: null,
  116. },
  117. components: {
  118. upload,
  119. },
  120. data: () => ({
  121. activeName: 'first',
  122. }),
  123. created() {},
  124. computed: {},
  125. methods: {
  126. handleClick(tab, event) {
  127. console.log(tab, event);
  128. },
  129. loginSubmit() {
  130. this.$emit('submitDate', this.form);
  131. },
  132. registerSubmit() {
  133. this.$emit('submitDates', { data: this.forms, id: this.forms.id });
  134. },
  135. uploadSuccess({ type, data }) {
  136. this.$set(this.forms, `${type}`, data.uri);
  137. },
  138. setIsQy(data) {
  139. let val = '0';
  140. data == '2' ? (val = '0') : (val = '1');
  141. this.$set(this.forms, `is_qy`, val);
  142. },
  143. },
  144. };
  145. </script>
  146. <style lang="less" scoped>
  147. .loginMains {
  148. min-height: 800px;
  149. padding: 40px 0;
  150. background-color: #fff;
  151. }
  152. /deep/.el-tabs__header {
  153. margin: 0;
  154. }
  155. /deep/.el-tabs__nav-wrap::after {
  156. background-color: transparent;
  157. }
  158. /deep/.el-tabs--top .el-tabs__item.is-top:nth-child(2) {
  159. padding-left: 136px;
  160. }
  161. /deep/.el-tabs--top .el-tabs__item.is-top:last-child {
  162. padding-right: 50px;
  163. display: none;
  164. }
  165. /deep/.el-tabs__active-bar {
  166. background-color: transparent;
  167. }
  168. /deep/.el-tabs__nav {
  169. margin: 0 130px;
  170. }
  171. /deep/.el-tabs__item {
  172. padding: 0 60px;
  173. height: 70px;
  174. line-height: 70px;
  175. font-size: 30px;
  176. }
  177. .loginSubmit {
  178. text-align: center;
  179. }
  180. </style>