移动端
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

196 rindas
5.9 KiB

  1. <template>
  2. <div class="app-container" :style="{height:height+'px'}">
  3. <van-nav-bar
  4. title="单位用户注册"
  5. left-arrow
  6. fixed
  7. placeholder
  8. @click-left="onClickLeft"
  9. />
  10. <van-form @submit="getSubmit">
  11. <van-field
  12. readonly
  13. clickable
  14. name="picker"
  15. :value="value"
  16. label="经济类型"
  17. placeholder="点击选择经济类型"
  18. @click="showPicker = true"
  19. required
  20. :rules="[{ required:true }]"
  21. />
  22. <van-popup v-model="showPicker" position="bottom">
  23. <van-picker
  24. show-toolbar
  25. :columns="columns"
  26. @confirm="onConfirm"
  27. @cancel="showPicker = false"
  28. />
  29. </van-popup>
  30. <van-field v-model="form.phone" type="tel" label="手机号" placeholder="请输入手机号,作为登录账号!" required :rules="[{ required:true }]" />
  31. <van-field
  32. v-model="form.code"
  33. center
  34. clearable
  35. label="验证码"
  36. placeholder="图形验证码"
  37. required :rules="[{ required:true }]"
  38. >
  39. <template #button>
  40. <img class="code-img" :src="codeUrl" @click="getCode" />
  41. </template>
  42. </van-field>
  43. <van-field v-model="form.password" type="password" label="密码" placeholder="请输入密码" required :rules="[{ required:true }]"/>
  44. <van-field v-model="confirmPassWord" type="password" label="确认密码" placeholder="请再次输入密码" required :rules="[{ required:true }]"/>
  45. <van-field v-model="form.companyName" label="公司名称" placeholder="请输入公司名称" required :rules="[{ required:true }]"/>
  46. <van-field v-model="form.realname" label="负责人姓名" placeholder="请输入负责人姓名" required :rules="[{ required:true }]"/>
  47. <van-field v-model="form.idCardNum" label="身份证号" placeholder="请输入法人身份证号" required :rules="[{ required:true }]"/>
  48. <van-field v-model="form.companyCode" label="社会信用代码" placeholder="请输入公司的社会信用代码" required :rules="[{ required:true }]"/>
  49. <van-field v-model="form.companyLicense" label="营业执照号" placeholder="请输入公司的营业执照号" required :rules="[{ required:true }]"/>
  50. <van-field v-model="form.address" label="联系地址" placeholder="请输入联系地址" />
  51. <van-field name="uploader" label="开户证明" required>
  52. <template #input>
  53. <van-uploader :after-read="afterReadKHZM" :before-delete="deleteFileKHZM" v-model="fileListKHZM" multiple :max-count="1" />
  54. </template>
  55. </van-field>
  56. <div class="submit">
  57. <!-- <p>我已阅读并同意<span>《农村产权交易信息服务平台会员注册协议》</span></p>-->
  58. <van-button round block type="info" color="#007E72" native-type="submit">立即注册</van-button>
  59. </div>
  60. </van-form>
  61. </div>
  62. </template>
  63. <script>
  64. import { getCodeImg } from "@/api/login";
  65. import {base64Upload, userRegister} from "@/api/register/index";
  66. export default {
  67. name: "companyRegister",
  68. data() {
  69. return {
  70. height:0,
  71. tel:'',
  72. value:'',
  73. confirmPassWord:'',
  74. showPicker: false,
  75. columns:[],
  76. fileListKHZM:[],
  77. form: {
  78. phone: "", //账号
  79. code: "", //验证码
  80. password: "", //密码
  81. realname: "", //姓名
  82. idCardNum: "", //身份证号
  83. address: "", //地址
  84. uuid:'',//图形验证码ID
  85. memberType:2,
  86. economicType:1,
  87. companyName:'',
  88. companyLicense:'',
  89. companyCode:''
  90. },
  91. codeUrl:''
  92. };
  93. },
  94. created() {
  95. this.getCode();
  96. this.getDicts("economic_type").then(res => {
  97. res.data.map(item => {
  98. this.columns.push(item.dictLabel);
  99. });
  100. });
  101. this.height = document.body.clientHeight
  102. },
  103. methods: {
  104. getCode() {
  105. getCodeImg().then((res) => {
  106. this.form.uuid = res.uuid;
  107. this.codeUrl = "data:image/gif;base64," + res.img;
  108. });
  109. },
  110. onConfirm(value, index) {
  111. this.value = value;
  112. this.showPicker = false;
  113. this.form.supplyDemandType = index + 1 ;
  114. },
  115. getSubmit(){
  116. console.log(this.form)
  117. if (this.form.password!= this.confirmPassWord){
  118. this.$toast({
  119. icon: 'error', // 找到自己需要的图标
  120. message: '两次密码输入不一致',
  121. duration:"2000",
  122. onClose:function(){
  123. }
  124. })
  125. return;
  126. }
  127. if (this.form.accountOpenCert == ''){
  128. this.$toast({
  129. icon: 'error', // 找到自己需要的图标
  130. message: '请上传开户证明',
  131. duration:"2000",
  132. onClose:function(){
  133. }
  134. })
  135. return;
  136. }
  137. this.form.accountType = '1';
  138. var that = this
  139. userRegister(this.form).then((res) => {
  140. this.$toast({
  141. icon: 'success', // 找到自己需要的图标
  142. message: '注册成功',
  143. duration:"2000",
  144. onClose:function(){
  145. that.$router.push({path: '/login'})
  146. }
  147. })
  148. });
  149. },
  150. afterReadKHZM(file) {
  151. this.$toast.loading({
  152. message: "上传中...",
  153. forbidClick: true,
  154. duration: 0,
  155. });
  156. // 此时可以自行将文件上传至服务器
  157. let params1 = new FormData();
  158. params1.append("file", file.content);
  159. base64Upload(params1).then((r1) => {
  160. this.form.accountOpenCert = r1.fileName;
  161. })
  162. },
  163. deleteFileKHZM(elIndex){
  164. return (file, name) => {
  165. let fileIndex = name.index
  166. this.fileListKHZM[elIndex].splice(fileIndex, 1)
  167. this.form.accountOpenCert = '';
  168. }
  169. },
  170. },
  171. };
  172. </script>
  173. <style scoped lang="scss">
  174. .app-container {
  175. background-color: #FFF;
  176. .code-img {
  177. width: 220px;
  178. }
  179. }
  180. .submit{
  181. width: 90%;
  182. margin: 2vh auto 0;
  183. p{
  184. text-align: center;
  185. margin-bottom: 0.2rem;
  186. span{
  187. color: #007E72;
  188. }
  189. }
  190. }
  191. </style>