Authentication.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. <template>
  2. <div class="create-container">
  3. <div class="create-body">
  4. <div class="title">测评机构认证</div>
  5. <el-form :model="authentication" :rules="rules" ref="authentication" label-width="12%" class="demo-report">
  6. <el-form-item label="机构名称" prop="name">
  7. <el-input v-if="isModifyMode" v-model="authentication.name"></el-input>
  8. <!--<span v-if="!isModifyMode">{{authentication.name}}</span>-->
  9. </el-form-item>
  10. <el-form-item label="机构电话" prop="name">
  11. <el-input v-if="isModifyMode" v-model="authentication.mobile"></el-input>
  12. <!--<span v-if="!isModifyMode">{{authentication.name}}</span>-->
  13. </el-form-item>
  14. <el-form-item label="银行卡账户" prop="name">
  15. <el-input v-if="isModifyMode" v-model="authentication.bankAccount"></el-input>
  16. <!--<span v-if="!isModifyMode">{{authentication.bankAccount}}</span>-->
  17. </el-form-item>
  18. <el-form-item label="地址" prop="name">
  19. <el-input v-if="isModifyMode" v-model="authentication.address"></el-input>
  20. <!--<span v-if="!isModifyMode">{{authentication.address}}</span>-->
  21. </el-form-item>
  22. <el-form-item label="测评机构能力" prop="name">
  23. <el-input v-if="isModifyMode" v-model="authentication.ability"></el-input>
  24. <!--<span v-if="!isModifyMode">{{authentication.ability}}</span>-->
  25. </el-form-item>
  26. <el-form-item label="测评机构资源" prop="name">
  27. <el-input v-if="isModifyMode" v-model="authentication.resource"></el-input>
  28. <!--<span v-if="!isModifyMode">{{authentication.resource}}</span>-->
  29. </el-form-item>
  30. <el-form-item prop="file" label="头像">
  31. <el-upload
  32. v-if="isModifyMode"
  33. drag
  34. class="upload-demo"
  35. action="https://jsonplaceholder.typicode.com/posts/"
  36. :on-remove="handleRemove"
  37. :before-remove="beforeRemove"
  38. multiple
  39. :limit="1"
  40. :show-file-list="false"
  41. :on-exceed="handleExceed"
  42. :before-upload="beforeFileUpload"
  43. :http-request="uploadFile"
  44. :file-list="authentication.photo"
  45. >
  46. <i class="el-icon-upload"></i>
  47. <div class="el-upload__text">
  48. 将文件拖到此处,或
  49. <em>点击上传</em>
  50. </div>
  51. <div class="el-upload__tip" slot="tip">请上传头像</div>
  52. </el-upload>
  53. <!--<div v-if="!isModifyMode">-->
  54. <!--<span v-if="authentication.photo==null">暂无文件</span>-->
  55. <!--<a :href="authentication.photo" v-if="authentication.photo!=null"><i class="fa fa-file-text-o"></i>-->
  56. <!--{{authentication.photo}}</a>-->
  57. <!--</div>-->
  58. </el-form-item>
  59. <!--<el-form-item v-if="!isModifyMode">-->
  60. <!--<div class="btn btn-medium btn-info" @click="modifyInfo()">修改</div>-->
  61. <!--<div class="btn btn-medium" @click="cancelModify()">返回</div>-->
  62. <!--</el-form-item>-->
  63. <el-form-item v-if="isModifyMode">
  64. <div class="btn btn-primary btn-info" @click="submitInfo()">提交</div>
  65. <!--<div class="btn btn-primary" @click="cancelModify()">取消</div>-->
  66. </el-form-item>
  67. </el-form>
  68. </div>
  69. </div>
  70. </template>
  71. <script>
  72. import Http from '@/js/http'
  73. import Apis from '@/js/api'
  74. import {notify} from '@/constants/index'
  75. export default {
  76. name: 'Authentication',
  77. data () {
  78. return {
  79. userId: 0,
  80. isModifyMode: true,
  81. authentication: {
  82. mobile: '',
  83. name: '',
  84. bankAccount: '',
  85. address: '',
  86. ability: '',
  87. resource: '',
  88. photo: [],
  89. photoUrl: '',
  90. },
  91. rules: {
  92. // name: [
  93. // {required: true, message: '请输入报告名称', trigger: 'blur'}
  94. // // { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
  95. // ],
  96. // abstract: [
  97. // {
  98. // required: true,
  99. // message: '请输入摘要信息',
  100. // trigger: 'change'
  101. // }
  102. // ],
  103. // type: [
  104. // {required: true, message: '请选择报告类型', trigger: 'change'}
  105. // ],
  106. // conclusion: [
  107. // {required: true, message: '请输入报告结论', trigger: 'blur'}
  108. // ]
  109. }
  110. }
  111. },
  112. methods: {
  113. //加载数据
  114. loadData: function () {
  115. },
  116. modifyInfo () {
  117. this.isModifyMode = true
  118. },
  119. submitInfo () {
  120. //this.isModifyMode = false
  121. const newAuthentication = {
  122. mobile: this.authentication.mobile,
  123. evaluationAgencyName: this.authentication.name,
  124. bankAccount: this.authentication.bankAccount,
  125. address: this.authentication.address,
  126. abilities: this.authentication.ability,
  127. resources: this.authentication.resource,
  128. agencyPhoto: this.authentication.photoUrl,
  129. }
  130. Http.post(Apis.USER.AGENCY_AUTHENTICATION.replace('{userId}', 3), newAuthentication).then((res) => {
  131. console.log(res)
  132. notify('success', '测评机构成功')
  133. }).catch(error => {
  134. notify('error', error.data.msg)
  135. })
  136. },
  137. cancelModify () {
  138. this.isModifyMode = false
  139. },
  140. handleRemove (file, fileList) {
  141. console.log(file, fileList)
  142. },
  143. handleExceed (files, fileList) {
  144. this.$message.warning(
  145. `当前限制选择 1 个文件,本次选择了 ${
  146. files.length
  147. } 个文件,共选择了 ${files.length + fileList.length} 个文件`
  148. )
  149. },
  150. beforeRemove (file, fileList) {
  151. //return this.$confirm(`确定移除 ${file.name}?`)
  152. },
  153. beforeFileUpload () {
  154. },
  155. uploadFile (param) {
  156. const formData = new FormData()
  157. let config = {
  158. //添加请求头
  159. headers: {'Content-Type': 'multipart/form-data'},
  160. }
  161. formData.append('file', param.file)
  162. Http.upload(Apis.FILE.UPLOAD_IMAGE.replace('{userId}', 3), formData, config).then((res) => {
  163. console.log('上传成功')
  164. this.authentication.photoUrl = res.data
  165. console.log(res.data)
  166. notify('success', '上传成功')
  167. }).catch(error => {
  168. notify('error', error.data.msg)
  169. })
  170. }
  171. },
  172. created: function () {
  173. }
  174. }
  175. </script>
  176. <style scoped>
  177. .el-radio {
  178. margin: 10px 20px 10px 0;
  179. }
  180. .el-form-item /deep/ .el-tabs__content {
  181. max-height: 120px !important;
  182. overflow: auto;
  183. }
  184. .el-row {
  185. margin-bottom: 10px;
  186. }
  187. .el-input {
  188. width: 400px;
  189. }
  190. </style>