chore: 优化插件默认设置

This commit is contained in:
xiaojunnuo
2026-04-25 11:43:17 +08:00
parent cc5154e04e
commit 91141922ee
2 changed files with 54 additions and 7 deletions
@@ -3,7 +3,7 @@
<div class="origin-metadata w-100%">
<div class="block-title">
自定义插件参数配置
<div class="helper">可以设置插件选项的配置设置配置默认值修改帮助说明设置是否显示该字段等</div>
<div class="helper">可以设置插件选项的配置设置配置默认值修改帮助说明设置是否显示该字段等在用户申请证书对话框里面使用你自定义设置的展示效果</div>
</div>
<div class="p-10">
<div ref="formRef" class="config-form w-full" :label-col="labelCol" :wrapper-col="wrapperCol">
@@ -43,7 +43,7 @@
</template>
<script setup lang="tsx">
import { FsRender } from "@fast-crud/fast-crud";
import { dict, FsRender } from "@fast-crud/fast-crud";
import { cloneDeep, merge, unset } from "lodash-es";
import { computed, onMounted, reactive, ref } from "vue";
import { useRoute, useRouter } from "vue-router";
@@ -67,6 +67,18 @@ const labelCol = ref({
const wrapperCol = ref({ span: 16 });
const configForm: any = reactive({});
const showDict = dict({
data: [
{
value: true,
label: "显示",
},
{
value: false,
label: "不显示",
},
],
});
function getScope() {
return {
form: configForm,
@@ -104,12 +116,25 @@ const editableKeys = ref([
defaultRender(item: any) {
return () => {
const value = item["show"];
return value === false ? "不显示" : "显示";
let showType = "";
let color = "";
if (item.mergeScript?.indexOf("show:") >= -1) {
showType = "条件显示";
color = "orange";
} else {
showType = value === false ? "不显示" : "显示";
color = value === false ? "red" : "green";
}
return (
<a-tag color={color} size="small">
{showType}
</a-tag>
);
};
},
editRender(item: any) {
return () => {
return <a-switch vModel:checked={configForm[item.key]["show"]} />;
return <fs-dict-switch vModel:checked={configForm[item.key]["show"]} dict={showDict} />;
};
},
},
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { defineProps } from "vue";
import { dict } from "@fast-crud/fast-crud";
const props = defineProps<{ value: any }>();
@@ -10,20 +10,42 @@ function setValue() {
function clearValue() {
emits("clear");
}
const switchDict = dict({
data: [
{
value: true,
label: "自定义",
},
{
value: false,
label: "原始值",
},
],
});
function onSwitchChange(value: boolean) {
if (value) {
setValue();
} else {
clearValue();
}
}
</script>
<template>
<div class="rollbackable">
<div class="flex">
<div style="width: 100px">
<a-tag v-if="value === undefined" color="green" size="small" class="pointer flex-inline items-center" @click.stop="setValue">
<!-- <a-tag v-if="value === undefined" color="green" size="small" class="pointer flex-inline items-center" @click.stop="setValue">
<fs-icon icon="material-symbols:edit" class="mr-5"></fs-icon>
自定义
</a-tag>
<a-tag v-else color="red" size="small" class="pointer flex-inline items-center" @click.stop="clearValue">
<fs-icon icon="material-symbols:undo" class="mr-5"></fs-icon>
还原
</a-tag>
</a-tag> -->
<fs-dict-switch :checked="value !== undefined" :dict="switchDict" @change="onSwitchChange" />
</div>
<div class="flex-1 overflow-hidden value-render">
<slot v-if="value === undefined" name="default"></slot>