HistoryVersion.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <!-- 更多模板 -->
  2. <template>
  3. <div class="hello">
  4. <Header> </Header>
  5. <el-container class="container-narrow">
  6. <el-dialog :title="$t('history_version')" :visible.sync="dialogTableVisible">
  7. <el-table :data="content">
  8. <el-table-column property="addtime" :label="$t('update_time')" width="170"></el-table-column>
  9. <el-table-column property="author_username" :label="$t('update_by_who')" ></el-table-column>
  10. <el-table-column
  11. label="操作"
  12. width="150">
  13. <template slot-scope="scope">
  14. <el-button @click="preview_diff(scope.row)" type="text" size="small">{{$t('overview')}}</el-button>
  15. <el-button type="text" size="small" @click="recover(scope.row)">{{$t('recover_to_this_version')}}</el-button>
  16. </template>
  17. </el-table-column>
  18. </el-table>
  19. </el-dialog>
  20. </el-container>
  21. <Footer> </Footer>
  22. <div class=""></div>
  23. </div>
  24. </template>
  25. <style>
  26. </style>
  27. <script>
  28. export default {
  29. props:{
  30. callback:'',
  31. },
  32. data () {
  33. return {
  34. currentDate: new Date(),
  35. content: [],
  36. dialogTableVisible: false,
  37. };
  38. },
  39. components:{
  40. },
  41. methods:{
  42. get_content(){
  43. var that = this ;
  44. var url = DocConfig.server+'/api/page/history';
  45. var params = new URLSearchParams();
  46. params.append('page_id', that.$route.params.page_id);
  47. that.axios.post(url, params)
  48. .then(function (response) {
  49. if (response.data.error_code === 0 ) {
  50. //that.$message.success("加载成功");
  51. var json = response.data.data ;
  52. if (json.length > 0 ) {
  53. that.content = response.data.data ;
  54. that.dialogTableVisible = true ;
  55. }else{
  56. that.dialogTableVisible = false;
  57. that.$alert('no data');
  58. }
  59. }else{
  60. that.dialogTableVisible = false;
  61. that.$alert(response.data.error_message);
  62. }
  63. })
  64. .catch(function (error) {
  65. console.log(error);
  66. });
  67. },
  68. show(){
  69. this.get_content();
  70. },
  71. recover(row){
  72. this.callback(row.page_content,true);
  73. this.dialogTableVisible = false;
  74. },
  75. preview_diff(row){
  76. var page_history_id = row['page_history_id'] ;
  77. var page_id = this.$route.params.page_id
  78. var url = '#/page/diff/'+page_id+'/'+page_history_id;
  79. window.open(url);
  80. }
  81. },
  82. mounted () {
  83. }
  84. }
  85. </script>