jcloud/dashboard_backup/src2/components/ConfigPreviewDialog.vue
2025-12-28 00:20:10 +08:00

45 lines
826 B
Vue

<template>
<Dialog
:options="{
title: '配置预览'
}"
v-model="showDialog"
>
<template #body-content>
<pre
class="overflow-x-scroll rounded bg-gray-100 p-4 text-base"
v-html="configPreview"
></pre>
</template>
</Dialog>
</template>
<script>
export default {
props: ['configs'],
data() {
return {
showDialog: true
};
},
computed: {
configPreview() {
let obj = {};
for (let d of this.configs) {
let value = d.value;
if (['Boolean', 'Number'].includes(d.type)) {
value = Number(d.value);
} else if (d.type === 'JSON') {
try {
value = JSON.parse(d.value);
} catch (error) {
value = {};
}
}
obj[d.key] = value;
}
return JSON.stringify(obj, null, '&nbsp; ');
}
}
};
</script>