mirror of
https://github.com/certd/certd.git
synced 2026-05-18 06:17:31 +08:00
chore: 优化插件默认设置
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
<div class="origin-metadata w-100%">
|
<div class="origin-metadata w-100%">
|
||||||
<div class="block-title">
|
<div class="block-title">
|
||||||
自定义插件参数配置
|
自定义插件参数配置
|
||||||
<div class="helper">可以设置插件选项的配置,设置配置默认值、修改帮助说明、设置是否显示该字段等</div>
|
<div class="helper">可以设置插件选项的配置,设置配置默认值、修改帮助说明、设置是否显示该字段等,在用户申请证书对话框里面使用你自定义设置的展示效果</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="p-10">
|
<div class="p-10">
|
||||||
<div ref="formRef" class="config-form w-full" :label-col="labelCol" :wrapper-col="wrapperCol">
|
<div ref="formRef" class="config-form w-full" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
@@ -43,7 +43,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="tsx">
|
<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 { cloneDeep, merge, unset } from "lodash-es";
|
||||||
import { computed, onMounted, reactive, ref } from "vue";
|
import { computed, onMounted, reactive, ref } from "vue";
|
||||||
import { useRoute, useRouter } from "vue-router";
|
import { useRoute, useRouter } from "vue-router";
|
||||||
@@ -67,6 +67,18 @@ const labelCol = ref({
|
|||||||
const wrapperCol = ref({ span: 16 });
|
const wrapperCol = ref({ span: 16 });
|
||||||
const configForm: any = reactive({});
|
const configForm: any = reactive({});
|
||||||
|
|
||||||
|
const showDict = dict({
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
value: true,
|
||||||
|
label: "显示",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: false,
|
||||||
|
label: "不显示",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
function getScope() {
|
function getScope() {
|
||||||
return {
|
return {
|
||||||
form: configForm,
|
form: configForm,
|
||||||
@@ -104,12 +116,25 @@ const editableKeys = ref([
|
|||||||
defaultRender(item: any) {
|
defaultRender(item: any) {
|
||||||
return () => {
|
return () => {
|
||||||
const value = item["show"];
|
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) {
|
editRender(item: any) {
|
||||||
return () => {
|
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">
|
<script setup lang="ts">
|
||||||
import { defineProps } from "vue";
|
import { dict } from "@fast-crud/fast-crud";
|
||||||
|
|
||||||
const props = defineProps<{ value: any }>();
|
const props = defineProps<{ value: any }>();
|
||||||
|
|
||||||
@@ -10,20 +10,42 @@ function setValue() {
|
|||||||
function clearValue() {
|
function clearValue() {
|
||||||
emits("clear");
|
emits("clear");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const switchDict = dict({
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
value: true,
|
||||||
|
label: "自定义",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: false,
|
||||||
|
label: "原始值",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
|
||||||
|
function onSwitchChange(value: boolean) {
|
||||||
|
if (value) {
|
||||||
|
setValue();
|
||||||
|
} else {
|
||||||
|
clearValue();
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="rollbackable">
|
<div class="rollbackable">
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div style="width: 100px">
|
<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>
|
<fs-icon icon="material-symbols:edit" class="mr-5"></fs-icon>
|
||||||
自定义
|
自定义
|
||||||
</a-tag>
|
</a-tag>
|
||||||
<a-tag v-else color="red" size="small" class="pointer flex-inline items-center" @click.stop="clearValue">
|
<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>
|
<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>
|
||||||
<div class="flex-1 overflow-hidden value-render">
|
<div class="flex-1 overflow-hidden value-render">
|
||||||
<slot v-if="value === undefined" name="default"></slot>
|
<slot v-if="value === undefined" name="default"></slot>
|
||||||
|
|||||||
Reference in New Issue
Block a user