index.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <!-- 修改记录 -->
  2. <script>
  3. import {recordColumns} from './column';
  4. import {getRecordList} from '@/api/changeApply/basic';
  5. export default {
  6. name:'AmendantRecord',
  7. components:{
  8. ElSuperTable: () => import("@/components/super-table/index.vue"),
  9. },
  10. dicts:[],
  11. props:{
  12. type:{
  13. type:String,
  14. default:'text',
  15. },
  16. value:{
  17. type:Object,
  18. require:true,
  19. },
  20. size:{
  21. type:String,
  22. default:'mini'
  23. }
  24. },
  25. data(){
  26. return {
  27. title:'修改记录',
  28. visible:false,
  29. loading:false,
  30. tableData:[],
  31. TableColumns:recordColumns,
  32. }
  33. },
  34. methods:{
  35. async beforeOpen(){
  36. try {
  37. let {id} = this.value;
  38. this.loading = true;
  39. let {code,rows} = await getRecordList({changeId:id});
  40. if(code == 200){
  41. this.tableData = rows;
  42. }
  43. } catch (error) {
  44. }finally{
  45. this.loading = false;
  46. }
  47. },
  48. //
  49. handleClose(){},
  50. handleClick(){
  51. this.visible = true;
  52. },
  53. },
  54. created(){},
  55. }
  56. </script>
  57. <template>
  58. <el-button
  59. v-bind="$attrs"
  60. v-on="$listeners"
  61. :type="type"
  62. @click="handleClick"
  63. :size="size"
  64. >
  65. {{ title }}
  66. <el-drawer
  67. :title="title"
  68. v-loading="loading"
  69. width="50%"
  70. @open="beforeOpen"
  71. :visible.sync="visible"
  72. append-to-body
  73. direction="rtl"
  74. :size="size"
  75. >
  76. <div style="padding: 10px;">
  77. <el-super-table
  78. v-model="tableData"
  79. :dict="dict"
  80. :columns="TableColumns"
  81. :size="size"
  82. >
  83. </el-super-table>
  84. </div>
  85. </el-drawer>
  86. </el-button>
  87. </template>