StepFirst.vue 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <template>
  2. <!--填写注册信息-->
  3. <div class="section">
  4. <div class="register">
  5. <div class="x-form-set-header">
  6. <h4>企业注册信息</h4>
  7. </div>
  8. <div class="row">
  9. <label class="col-sm-2 x-required">企业名称:</label>
  10. <div class="col-sm-5">
  11. <input type="text" @change="nameCheck" v-model="data.name" class="form-control" name="name" required="" placeholder="填写营业执照上的企业名称">
  12. </div>
  13. <div class="col-sm-5" v-show="!isValidTypeName">
  14. <p>
  15. <i class="fa fa-info-circle"></i>请填写正确的企业名称,2~99个字符
  16. </p>
  17. </div>
  18. <div class="col-sm-5" v-show="!isValidName">
  19. <p>
  20. <i class="fa fa-info-circle"></i>注册的企业名称已存在,请联系管理员
  21. </p>
  22. </div>
  23. </div>
  24. <div class="row">
  25. <label class="col-sm-2 x-required">企业简称:</label>
  26. <div class="col-sm-5">
  27. <input type="text" @change="simpleNameCheck" v-model="data.simpleName" class="form-control" name="name" required="" placeholder="请填写正确的企业名称,2~40个字符">
  28. </div>
  29. <div class="col-sm-5" v-show="!isValidSimpleName">
  30. <p>
  31. <i class="fa fa-info-circle"></i>请填写正确的企业名称,2~40个字符
  32. </p>
  33. </div>
  34. </div>
  35. <div class="row">
  36. <label class="col-sm-2 x-required">营业执照:</label>
  37. <div class="col-sm-5">
  38. <a class="x-btn-blank">
  39. <i class="fa fa-picture-o"></i>
  40. 请上传营业执照扫描件(≤5M的图片或PDF)
  41. <input type="file" @change="upload" class="form-control file-input" name="name" required="" placeholder="请上传营业执照扫描件(≤5M的图片或PDF)" accept="image/jpeg,image/jpg,image/gif,image/bmp,image/png,.pdf">
  42. </a>
  43. <img class="previewImg" v-if="data.url != ''" :src="isPdf?'/images/all/timg.png':data.url" alt="">
  44. </div>
  45. <div class="col-sm-5" v-show="!isValidUpload"><p><i class="fa fa-info-circle"></i>请上传营业执照扫描件(≤5M的图片或PDF)</p></div>
  46. </div>
  47. <div class="row">
  48. <label class="col-sm-2 x-required">营业执照号:</label>
  49. <div class="col-sm-5">
  50. <input type="text" @change="licenceCheck" v-model="data.licenceId" class="form-control" name="name" required="" placeholder="请填写营业执照上的注册号">
  51. </div>
  52. <div class="col-sm-5" v-show="!isValidLicence"><p><i class="fa fa-info-circle"></i>请填写营业执照上的注册号</p></div>
  53. </div>
  54. <div class="row">
  55. <label class="col-sm-2">企业地址:</label>
  56. <div class="col-sm-5">
  57. <input type="text" @change="addressCheck" v-model="data.address" class="form-control" name="name" required="" placeholder="填写总部所在地详细地址" style="padding-left:20px;">
  58. <span class="fa fa-map-marker"></span>
  59. </div>
  60. <div class="col-sm-5" v-show="!isValidAddress"><p><i class="fa fa-info-circle"></i>填写总部所在地详细地址</p></div>
  61. </div>
  62. <div class="row">
  63. <label class="col-sm-2">官网地址:</label>
  64. <div class="col-sm-5">
  65. <input type="url" v-model="data.website" class="form-control" name="name" required="" placeholder="www.example.com" style="padding-left:55px;">
  66. <span class="web">http://</span>
  67. </div>
  68. <div class="col-sm-5"></div>
  69. </div>
  70. <div class="row next-btn"><button class="btn" @click="sectionChange('next')" :disabled="!isValid">下一步</button></div>
  71. </div>
  72. </div>
  73. </template>
  74. <script>
  75. export default {
  76. data () {
  77. return {
  78. data: {
  79. name: '',
  80. simpleName: '',
  81. url: '',
  82. licenceId: '',
  83. address: '',
  84. website: ''
  85. },
  86. isValid: true,
  87. isValidUpload: true,
  88. isValidTypeName: true,
  89. isValidName: true,
  90. isValidLicence: true,
  91. isValidSimpleName: true,
  92. isValidAddress: true,
  93. isPdf: false
  94. }
  95. },
  96. methods: {
  97. sectionChange: function (type) {
  98. this.$http.post('/basic/enterprise/register', {enterprise: [], filePath: this.data.url})
  99. .then(response => {
  100. if (response.data.success) {
  101. this.$emit('sectionEvent', type)
  102. } else {
  103. this.$message.error('注册失败,请重新填写信息')
  104. }
  105. })
  106. },
  107. upload: function (e) {
  108. let file = e.target.files[0]
  109. if (file.size > 5 * 1024 * 1024) {
  110. this.isValidUpload = false
  111. } else {
  112. this.isValidUpload = true
  113. if (file.type !== 'application/pdf') {
  114. this.isPdf = false
  115. let param = new FormData()
  116. param.append('file', file, file.name)
  117. param.append('chunk', '0')
  118. let config = {
  119. headers: {'Content-Type': 'multipart/form-data'}
  120. }
  121. this.$http.post('/api/images', param, config)
  122. .then(response => {
  123. this.data.url = response.data[0].path
  124. })
  125. } else {
  126. this.isPdf = true
  127. let param = new FormData()
  128. param.append('file', file, file.name)
  129. let config = {
  130. headers: {'Content-Type': file.type}
  131. }
  132. this.$http.post('/file', param, config)
  133. .then(response => {
  134. this.data.url = response.data[0].path
  135. })
  136. }
  137. }
  138. },
  139. validCheck: function () {
  140. // this.isValid = this.isValidUpload && this.isValidTypeName && this.isValidName && this.isValidLicence && this.isValidSimpleName
  141. },
  142. nameCheck: function () {
  143. this.$http.post('/basic/enterprise/register/valid/name?name=' + this.data.name)
  144. .then(response => {
  145. this.isValidName = response.data.success
  146. })
  147. this.isValidTypeName = this.data.name && this.data.name.length >= 2 && this.data.name.length <= 99
  148. this.validCheck()
  149. },
  150. simpleNameCheck: function () {
  151. this.isValidSimpleName = this.data.simpleName && this.data.simpleName.length >= 2 && this.data.simpleName.length <= 40
  152. this.validCheck()
  153. },
  154. licenceCheck: function () {
  155. this.$http.post('/basic/enterprise/register/valid/businessCode?businessCode=' + this.data.licenceId)
  156. .then(response => {
  157. this.isValidLicence = response.data.success
  158. })
  159. this.validCheck()
  160. },
  161. addressCheck: function () {
  162. //
  163. },
  164. websiteCheck: function () {
  165. // (/^([\w-]+\.)+[\w-]+(/[\w-./?%&=])?$/).test(this.messageBoard.userTel)
  166. }
  167. }
  168. }
  169. </script>
  170. <style scoped>
  171. .register input[type="file"] {
  172. display: block;
  173. }
  174. .previewImg {
  175. max-height: 200px;
  176. max-width: 200px;
  177. margin-top: 5px;
  178. }
  179. </style>