Authentication.vue 6.0 KB

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