diff --git a/src/views/post/PostList.vue b/src/views/post/PostList.vue index c4a17317..ead44fb4 100644 --- a/src/views/post/PostList.vue +++ b/src/views/post/PostList.vue @@ -753,7 +753,6 @@ export default { this.selectedPost = response.data.data this.selectedTagIds = this.selectedPost.tagIds this.selectedCategoryIds = this.selectedPost.categoryIds - this.selectedPostMetaIds = this.selectedPost.postMetaIds this.selectedPostMetas = this.selectedPost.postMetas this.postSettingVisible = true }) diff --git a/src/views/sheet/SheetEdit.vue b/src/views/sheet/SheetEdit.vue index 429f8f49..dd9f5a48 100644 --- a/src/views/sheet/SheetEdit.vue +++ b/src/views/sheet/SheetEdit.vue @@ -27,9 +27,11 @@ @@ -83,6 +85,7 @@ export default { attachmentDrawerVisible: false, sheetSettingVisible: false, sheetToStage: {}, + selectedSheetMetas: [], isSaved: false } }, @@ -95,6 +98,7 @@ export default { sheetApi.get(sheetId).then(response => { const sheet = response.data.data vm.sheetToStage = sheet + vm.selectedSheetMetas = sheet.sheetMetas }) } }) @@ -214,6 +218,9 @@ export default { onRefreshSheetFromSetting(sheet) { this.sheetToStage = sheet }, + onRefreshSheetMetasFromSetting(sheetMetas) { + this.selectedSheetMetas = sheetMetas + }, onSaved(isSaved) { this.isSaved = isSaved } diff --git a/src/views/sheet/SheetList.vue b/src/views/sheet/SheetList.vue index 1186bd16..da76dd0e 100644 --- a/src/views/sheet/SheetList.vue +++ b/src/views/sheet/SheetList.vue @@ -482,10 +482,12 @@ { this.selectedSheet = response.data.data + this.selectedSheetMetas = this.selectedSheet.sheetMetas this.sheetSettingVisible = true }) }, @@ -697,6 +701,9 @@ export default { }, onRefreshSheetFromSetting(sheet) { this.selectedSheet = sheet + }, + onRefreshSheetMetasFromSetting(sheetMetas) { + this.selectedSheetMetas = sheetMetas } } } diff --git a/src/views/sheet/components/SheetSettingDrawer.vue b/src/views/sheet/components/SheetSettingDrawer.vue index 8ddaa9c7..04add1e4 100644 --- a/src/views/sheet/components/SheetSettingDrawer.vue +++ b/src/views/sheet/components/SheetSettingDrawer.vue @@ -84,6 +84,41 @@ + +
+

元数据

+ + + + + K + + + + V + + + + + + + + + 新增 + + +
@@ -130,6 +165,10 @@ export default { type: Object, required: true }, + sheetMetas: { + type: Array, + required: true + }, needTitle: { type: Boolean, required: false, @@ -152,13 +191,20 @@ export default { selectedSheet(val) { this.$emit('onRefreshSheet', val) }, + selectedSheetMetas(val) { + this.$emit('onRefreshSheetMetas', val) + }, visible: function(newValue, oldValue) { if (newValue) { this.loadSkeleton() + this.loadPresetMetasField() } } }, computed: { + selectedSheetMetas() { + return this.sheetMetas + }, pickerDefaultValue() { if (this.selectedSheet.createTime) { var date = new Date(this.selectedSheet.createTime) @@ -175,6 +221,21 @@ export default { this.settingLoading = false }, 500) }, + loadPresetMetasField() { + if (this.sheetMetas.length <= 0) { + themeApi.getActivatedTheme().then(response => { + const fields = response.data.data.sheetMetaField + if (fields && fields.length > 0) { + for (let i = 0, len = fields.length; i < len; i++) { + this.selectedSheetMetas.push({ + value: '', + key: fields[i] + }) + } + } + }) + } + }, loadCustomTpls() { themeApi.customTpls().then(response => { this.customTpls = response.data.data @@ -210,6 +271,7 @@ export default { }) return } + this.selectedSheet.sheetMetas = this.selectedSheetMetas if (this.selectedSheet.id) { sheetApi.update(this.selectedSheet.id, this.selectedSheet, autoSave).then(response => { this.$log.debug('Updated sheet', response.data.data) @@ -239,6 +301,18 @@ export default { }, onSheetDateOk(value) { this.selectedSheet.createTime = value.valueOf() + }, + handleRemoveSheetMeta(item) { + var index = this.selectedSheetMetas.indexOf(item) + if (index !== -1) { + this.selectedSheetMetas.splice(index, 1) + } + }, + handleInsertSheetMeta() { + this.selectedSheetMetas.push({ + value: '', + key: '' + }) } } }