{{ $t('login.title') }}
diff --git a/frontend/src/views/panel/GrantAuth/shareTree.vue b/frontend/src/views/panel/GrantAuth/shareTree.vue
index 1eba43faa5..f81fc250ba 100644
--- a/frontend/src/views/panel/GrantAuth/shareTree.vue
+++ b/frontend/src/views/panel/GrantAuth/shareTree.vue
@@ -19,6 +19,8 @@
+
+
diff --git a/frontend/src/views/panel/list/PanelMain.vue b/frontend/src/views/panel/list/PanelMain.vue
index f314f18e67..449a84aed3 100644
--- a/frontend/src/views/panel/list/PanelMain.vue
+++ b/frontend/src/views/panel/list/PanelMain.vue
@@ -6,9 +6,9 @@
列表
-
+
收藏
- 开发中...
+
分享
@@ -29,14 +29,16 @@ import DeAsideContainer from '@/components/dataease/DeAsideContainer'
import PanelList from '../list/PanelList'
import PanelViewShow from '../list/PanelViewShow'
import ShareTree from '../GrantAuth/shareTree'
+import Enshrine from '../enshrine/index'
export default {
name: 'PanelMain',
- components: { DeMainContainer, DeContainer, DeAsideContainer, PanelList, PanelViewShow, ShareTree },
+ components: { DeMainContainer, DeContainer, DeAsideContainer, PanelList, PanelViewShow, ShareTree, Enshrine },
data() {
return {
activeName: 'PanelList',
- showShare: false
+ showShare: false,
+ showEnshrine: false
}
},
methods: {
@@ -45,10 +47,17 @@ export default {
if (tab.name === 'panels_share') {
this.refreshShare()
}
+ if (tab.name === 'panels_star') {
+ this.refreshEnshrine()
+ }
},
refreshShare() {
this.showShare = false
this.$nextTick(() => (this.showShare = true))
+ },
+ refreshEnshrine() {
+ this.showEnshrine = false
+ this.$nextTick(() => (this.showEnshrine = true))
}
}
}
diff --git a/frontend/src/views/panel/list/PanelViewShow.vue b/frontend/src/views/panel/list/PanelViewShow.vue
index f01b0f05aa..d0a80ac4e9 100644
--- a/frontend/src/views/panel/list/PanelViewShow.vue
+++ b/frontend/src/views/panel/list/PanelViewShow.vue
@@ -19,6 +19,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -48,7 +60,7 @@ import SaveToTemplate from '@/views/panel/list/SaveToTemplate'
import { mapState } from 'vuex'
import html2canvas from 'html2canvas'
import FileSaver from 'file-saver'
-
+import { enshrineList, saveEnshrine, deleteEnshrine } from '@/api/panel/enshrine'
export default {
name: 'PanelViewShow',
components: { Preview, SaveToTemplate },
@@ -57,7 +69,8 @@ export default {
showMain: true,
templateInfo: '',
templateSaveTitle: '保存为模板',
- templateSaveShow: false
+ templateSaveShow: false,
+ hasStar: false
}
},
computed: {
@@ -73,7 +86,10 @@ export default {
panelInfo(newVal, oldVla) {
// 刷新 进行重新渲染
this.showMain = false
- this.$nextTick(() => { this.showMain = true })
+ this.$nextTick(() => {
+ this.showMain = true
+ this.initHasStar()
+ })
}
},
mounted() {
@@ -138,6 +154,22 @@ export default {
},
closeSaveDialog() {
this.templateSaveShow = false
+ },
+ star() {
+ this.panelInfo && saveEnshrine(this.panelInfo.id).then(res => {
+ this.hasStar = true
+ })
+ },
+ unstar() {
+ this.panelInfo && deleteEnshrine(this.panelInfo.id).then(res => {
+ this.hasStar = false
+ })
+ },
+ initHasStar() {
+ const param = {}
+ enshrineList(param).then(res => {
+ this.hasStar = res.data && res.data.some(item => item.panelGroupId === this.panelInfo.id)
+ })
}
}