fix settings bug
This commit is contained in:
parent
2f645252fe
commit
6004ac2ac3
@ -64,7 +64,12 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
<div class="btn-group">
|
<div class="btn-group">
|
||||||
<el-button type="success" size="small" @click="addSetting">添加新的配置项</el-button>
|
<el-button type="success" size="small" @click="addSetting">添加新的配置项</el-button>
|
||||||
<el-button type="danger" size="small" @click="clearSettings">清空</el-button>
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
size="small"
|
||||||
|
@click="clearSettings"
|
||||||
|
v-show="selectedSettings.length> 0"
|
||||||
|
>清空</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -194,6 +199,10 @@ export default {
|
|||||||
this.getSettingsList()
|
this.getSettingsList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
changeState(changed) {
|
||||||
|
this.$emit('change', changed)
|
||||||
|
console.log('子change', changed)
|
||||||
|
},
|
||||||
// left
|
// left
|
||||||
getGameInfo(cb) {
|
getGameInfo(cb) {
|
||||||
request({
|
request({
|
||||||
@ -245,6 +254,7 @@ export default {
|
|||||||
this.tip = '配置已发布'
|
this.tip = '配置已发布'
|
||||||
}
|
}
|
||||||
if (this.settingsForm.settings.length === 0) this.tip = ''
|
if (this.settingsForm.settings.length === 0) this.tip = ''
|
||||||
|
this.changeState(false)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
openEditor(index) {
|
openEditor(index) {
|
||||||
@ -348,12 +358,14 @@ export default {
|
|||||||
}
|
}
|
||||||
this.$message.success('配置保存成功!')
|
this.$message.success('配置保存成功!')
|
||||||
this.tip = '配置已保存,待发布'
|
this.tip = '配置已保存,待发布'
|
||||||
|
this.changeState(false)
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
changTip() {
|
changTip() {
|
||||||
this.tip = '配置已修改'
|
this.tip = '配置已修改'
|
||||||
|
this.changeState(true)
|
||||||
},
|
},
|
||||||
// right
|
// right
|
||||||
getSettingsList() {
|
getSettingsList() {
|
||||||
@ -373,9 +385,18 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
clearSettings() {
|
clearSettings() {
|
||||||
this.selectedSettings = []
|
this.$confirm('是否要清空配置项?', '提示', {
|
||||||
this.settingKeys = []
|
confirmButtonText: '确定',
|
||||||
this.settingsForm.settings = []
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.selectedSettings = []
|
||||||
|
this.settingKeys = []
|
||||||
|
this.settingsForm.settings = []
|
||||||
|
this.$message.success('已清空配置项!')
|
||||||
|
})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
addSetting() {
|
addSetting() {
|
||||||
this.openNewSettingModal()
|
this.openNewSettingModal()
|
||||||
@ -391,8 +412,10 @@ export default {
|
|||||||
let index1 = 0
|
let index1 = 0
|
||||||
const index2 = this.settingKeys.indexOf(key)
|
const index2 = this.settingKeys.indexOf(key)
|
||||||
for (let i = 0; i < this.settingsForm.settings.length; i++) {
|
for (let i = 0; i < this.settingsForm.settings.length; i++) {
|
||||||
if (this.settingsForm.settings[i].key === key) index1 = i
|
if (this.settingsForm.settings[i].key === key) {
|
||||||
break
|
index1 = i
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.settingsForm.settings.splice(index1, 1)
|
this.settingsForm.settings.splice(index1, 1)
|
||||||
this.settingKeys.splice(index2, 1)
|
this.settingKeys.splice(index2, 1)
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="main-content p-game-settings">
|
<div class="main-content p-game-settings">
|
||||||
<el-tabs tab-position="left">
|
<el-tabs tab-position="left" :value="active" :before-leave="handleLeave">
|
||||||
<el-tab-pane label="普通配置">
|
<el-tab-pane label="普通配置" name="normal">
|
||||||
<setting-panle type="normal"/>
|
<setting-panle type="normal" @change="handleChange"/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="私有配置">
|
<el-tab-pane label="私有配置" name="private">
|
||||||
<setting-panle type="private"/>
|
<setting-panle type="private" @change="handleChange"/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
@ -16,8 +16,38 @@ import SettingPanle from './SettingPanel.vue'
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GameDetailsSettings',
|
name: 'GameDetailsSettings',
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
changed: false,
|
||||||
|
active: 'normal',
|
||||||
|
}
|
||||||
|
},
|
||||||
components: {
|
components: {
|
||||||
SettingPanle
|
SettingPanle
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleLeave(activeName, oldActiveName) {
|
||||||
|
if (this.changed) {
|
||||||
|
this.$confirm('配置项已修改未保存,是否离开', '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
})
|
||||||
|
.then(() => {})
|
||||||
|
.catch(() => {
|
||||||
|
return false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleChange(val) {
|
||||||
|
this.changed = val
|
||||||
|
},
|
||||||
|
openModal() {
|
||||||
|
this.modaleVisible = true
|
||||||
|
},
|
||||||
|
closeModal() {
|
||||||
|
this.modaleVisible = false
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user