mirror of
https://github.com/certd/certd.git
synced 2026-04-26 05:37:25 +08:00
chore: 优化插件默认设置
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user