From 3b6ef1d9c0e6f4bb0ede83f9d2f01faa0a376ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=BF=E5=91=BD=E7=9A=84=E9=A3=8E?= <115224070@qq.com> Date: Mon, 14 Apr 2025 15:45:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=A1=A8=E5=8D=95=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E9=83=A8=E9=97=A8=E6=9C=BA=E6=9E=84=E6=A0=91=E9=80=89?= =?UTF-8?q?=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- run.bat | 2 + .../src/components/DeptTreeSelect.vue | 50 +++++++++++++++++++ src/components/FormCreate/src/config/index.ts | 2 + .../src/config/useDeptTreeSelectRule.ts | 36 +++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 run.bat create mode 100644 src/components/FormCreate/src/components/DeptTreeSelect.vue create mode 100644 src/components/FormCreate/src/config/useDeptTreeSelectRule.ts diff --git a/run.bat b/run.bat new file mode 100644 index 000000000..4adb79e22 --- /dev/null +++ b/run.bat @@ -0,0 +1,2 @@ +title ǰ˷ +npm run dev \ No newline at end of file diff --git a/src/components/FormCreate/src/components/DeptTreeSelect.vue b/src/components/FormCreate/src/components/DeptTreeSelect.vue new file mode 100644 index 000000000..1b2d5ba16 --- /dev/null +++ b/src/components/FormCreate/src/components/DeptTreeSelect.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/components/FormCreate/src/config/index.ts b/src/components/FormCreate/src/config/index.ts index b1e2ddea5..9188f533e 100644 --- a/src/components/FormCreate/src/config/index.ts +++ b/src/components/FormCreate/src/config/index.ts @@ -2,6 +2,7 @@ import { useUploadFileRule } from './useUploadFileRule' import { useUploadImgRule } from './useUploadImgRule' import { useUploadImgsRule } from './useUploadImgsRule' import { useDictSelectRule } from './useDictSelectRule' +import { useDeptTreeSelectRule } from './useDeptTreeSelectRule' import { useEditorRule } from './useEditorRule' import { useSelectRule } from './useSelectRule' @@ -10,6 +11,7 @@ export { useUploadImgRule, useUploadImgsRule, useDictSelectRule, + useDeptTreeSelectRule, useEditorRule, useSelectRule } diff --git a/src/components/FormCreate/src/config/useDeptTreeSelectRule.ts b/src/components/FormCreate/src/config/useDeptTreeSelectRule.ts new file mode 100644 index 000000000..7ea5414cc --- /dev/null +++ b/src/components/FormCreate/src/config/useDeptTreeSelectRule.ts @@ -0,0 +1,36 @@ +import { generateUUID } from '@/utils' +import { localeProps, makeRequiredRule } from '@/components/FormCreate/src/utils' +import { selectRule } from '@/components/FormCreate/src/config/selectRule' +import { cloneDeep } from 'lodash-es' + +/** + * 部门树选择器规则,如果规则使用到动态数据则需要单独配置不能使用 useSelectRule + */ +export const useDeptTreeSelectRule = () => { + const label = '部门树选择' + const name = 'DeptTreeSelect' + const event = ['click','change','visibleChange','clear','blur','focus'] + const rules = cloneDeep(selectRule) + return { + icon: 'icon-doc-text', + label, + name, + event: event, + rule() { + return { + type: name, + field: generateUUID(), + title: label, + info: '', + $required: false + } + }, + props(_, { t }) { + return localeProps(t, name + '.props', [ + makeRequiredRule(), + { type: 'switch', field: 'showCheckbox', title: '是否显示复选框' }, + ...rules + ]) + } + } +}