Browse Source

页面查看时增加历史版本的入口

star7th 7 years ago
parent
commit
dd350045b5

+ 12 - 2
web_src/src/components/item/show/show_regular_item/PageBar.vue

@@ -20,6 +20,7 @@
             <el-dropdown-menu slot="dropdown">
               <router-link :to="'/page/edit/'+item_id+'/0?copy_page_id='+page_id"><el-dropdown-item>{{$t('copy')}}</el-dropdown-item></router-link>
               <el-dropdown-item :command="show_page_info">{{$t('detail')}}</el-dropdown-item>
+              <el-dropdown-item :command="ShowHistoryVersion">{{$t('history_version')}}</el-dropdown-item>
               <el-dropdown-item :command="delete_page">{{$t('delete')}}</el-dropdown-item>
             </el-dropdown-menu>
           </el-dropdown>
@@ -50,6 +51,9 @@
     </span>
   </el-dialog>
 
+    <!-- 历史版本 -->
+    <HistoryVersion :page_id="page_id" :is_show_recover_btn="false" :is_modal="false" callback="insertValue" ref="HistoryVersion"></HistoryVersion>
+
   </div>
 </template>
 
@@ -62,7 +66,7 @@
 </style>
 
 <script>
-
+  import HistoryVersion from '@/components/page/edit/HistoryVersion'
   export default {
   props:{
     item_id:'',
@@ -80,7 +84,7 @@
       }
     },
   components:{
-
+    HistoryVersion
   },
   methods:{
     edit_page(){
@@ -105,6 +109,12 @@
       var html ="本页面由 "+this.page_info.author_username+' 于 '+this.page_info.addtime+' 更新';
       this.$alert(html);
     },
+    
+    //展示历史版本
+    ShowHistoryVersion(){
+        let childRef = this.$refs.HistoryVersion ;//获取子组件
+        childRef.show() ; 
+    },
 
     delete_page(){
       var page_id = this.page_id > 0 ? this.page_id : 0 ;

+ 8 - 4
web_src/src/components/page/edit/HistoryVersion.vue

@@ -5,7 +5,7 @@
 
     <el-container class="container-narrow">
 
-      <el-dialog :title="$t('history_version')" :visible.sync="dialogTableVisible">
+      <el-dialog :title="$t('history_version')" :modal="is_modal"  :visible.sync="dialogTableVisible">
         <el-table :data="content">
           <el-table-column property="addtime" :label="$t('update_time')" width="170"></el-table-column>
           <el-table-column property="author_username" :label="$t('update_by_who')" ></el-table-column>
@@ -14,7 +14,7 @@
             width="150">
             <template slot-scope="scope">
               <el-button @click="preview_diff(scope.row)" type="text" size="small">{{$t('overview')}}</el-button>
-              <el-button type="text" size="small" @click="recover(scope.row)">{{$t('recover_to_this_version')}}</el-button>
+              <el-button v-if="is_show_recover_btn"  type="text" size="small" @click="recover(scope.row)">{{$t('recover_to_this_version')}}</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -36,6 +36,9 @@
 export default {
   props:{
     callback:'',
+    page_id:'',
+    is_modal:true,
+    is_show_recover_btn:true,
   },
   data () {
     return {
@@ -52,7 +55,8 @@ export default {
         var that = this ;
         var url = DocConfig.server+'/api/page/history';
         var params = new URLSearchParams();
-        params.append('page_id',  that.$route.params.page_id);
+        let page_id = this.page_id ? this.page_id: that.$route.params.page_id ;
+        params.append('page_id',  page_id);
         that.axios.post(url, params)
           .then(function (response) {
             if (response.data.error_code === 0 ) {
@@ -87,7 +91,7 @@ export default {
 
     preview_diff(row){
       var page_history_id = row['page_history_id'] ;
-      var page_id = this.$route.params.page_id
+      let page_id = this.page_id ? this.page_id: this.$route.params.page_id ;
       var url = '#/page/diff/'+page_id+'/'+page_history_id;
       window.open(url);
     }