IUploadAnswer.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <div class="app-container">
  3. <upload-excel-component :on-success="handleSuccess" :before-upload="beforeUpload" />
  4. <div class="p20 tc">
  5. <el-button @click="onSubmit" type="primary">确认提交</el-button>
  6. </div>
  7. <el-table :data="tableData" border highlight-current-row
  8. style="width: 100%;margin-top:20px;">
  9. <el-table-column v-for="item of tableHeader" :key="item" :prop="item" :label="item" />
  10. </el-table>
  11. </div>
  12. </template>
  13. <script>
  14. import UploadExcelComponent from '@/components/UploadExcel/index.vue'
  15. export default {
  16. name: 'UploadExcel',
  17. components: { UploadExcelComponent },
  18. data() {
  19. return {
  20. tableData: [],
  21. tableHeader: []
  22. }
  23. },
  24. methods: {
  25. beforeUpload(file) {
  26. const isLt1M = file.size / 1024 / 1024 < 1
  27. if (isLt1M) {
  28. return true
  29. }
  30. this.$message({
  31. message: 'Please do not upload files larger than 1m in size.',
  32. type: 'warning'
  33. })
  34. return false
  35. },
  36. onSubmit(){
  37. let list = []
  38. this.tableData.forEach( v=>{
  39. let item = Object.assign( {}, v)
  40. item.answerId = +v.answer_id;
  41. item.type = +v.type;
  42. item.answer1 = ''+v.answer1;
  43. item.answer2 = ''+v.answer2;
  44. item.answer3 = ''+v.answer3;
  45. item.answer4 = ''+v.answer4;
  46. item.answer5 = ''+v.answer5;
  47. delete item["answer_id"];
  48. if( item.answerId ){
  49. list.push( item )
  50. }
  51. })
  52. if( list.length <1){
  53. this.$message.errorMsg("无内容", 2)
  54. return
  55. }
  56. this.$emit("submit", list )
  57. },
  58. handleSuccess({ results, header }) {
  59. this.tableData = results
  60. this.tableHeader = header
  61. }
  62. }
  63. }
  64. </script>