From a1d7e81859f554f3a53680cc35f0f49bf1f77098 Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期四, 14 五月 2026 14:37:02 +0800
Subject: [PATCH] 导入项目
---
src/components/FormCreate/src/utils/index.ts | 61 ++++++++++++++++++++++++++++++
1 files changed, 61 insertions(+), 0 deletions(-)
diff --git a/src/components/FormCreate/src/utils/index.ts b/src/components/FormCreate/src/utils/index.ts
new file mode 100644
index 0000000..a2b3e67
--- /dev/null
+++ b/src/components/FormCreate/src/utils/index.ts
@@ -0,0 +1,61 @@
+export function makeRequiredRule() {
+ return {
+ type: 'Required',
+ field: 'formCreate$required',
+ title: '鏄惁蹇呭~'
+ }
+}
+
+export const localeProps = (t, prefix, rules) => {
+ return rules.map((rule) => {
+ if (rule.field === 'formCreate$required') {
+ rule.title = t('props.required') || rule.title
+ } else if (rule.field && rule.field !== '_optionType') {
+ rule.title = t('components.' + prefix + '.' + rule.field) || rule.title
+ }
+ return rule
+ })
+}
+
+/**
+ * 瑙f瀽琛ㄥ崟缁勪欢鐨� field, title 绛夊瓧娈碉紙閫掑綊锛屽鏋滅粍浠跺寘鍚瓙缁勪欢锛�
+ *
+ * @param rule 缁勪欢鐨勭敓鎴愯鍒� https://www.form-create.com/v3/guide/rule
+ * @param fields 瑙f瀽鍚庤〃鍗曠粍浠跺瓧娈�
+ * @param parentTitle 濡傛灉鏄瓙琛ㄥ崟锛屽瓙琛ㄥ崟鐨勬爣棰橈紝榛樿涓虹┖
+ */
+export const parseFormFields = (
+ rule: Record<string, any>,
+ fields: Array<Record<string, any>> = [],
+ parentTitle: string = ''
+) => {
+ const { type, field, $required, title: tempTitle, children } = rule
+ if (field && tempTitle) {
+ let title = tempTitle
+ if (parentTitle) {
+ title = `${parentTitle}.${tempTitle}`
+ }
+ let required = false
+ if ($required) {
+ required = true
+ }
+ fields.push({
+ field,
+ title,
+ type,
+ required
+ })
+ // TODO 瀛愯〃鍗� 闇�瑕佸鐞嗗瓙琛ㄥ崟瀛楁
+ // if (type === 'group' && rule.props?.rule && Array.isArray(rule.props.rule)) {
+ // // 瑙f瀽瀛愯〃鍗曠殑瀛楁
+ // rule.props.rule.forEach((item) => {
+ // parseFields(item, fieldsPermission, title)
+ // })
+ // }
+ }
+ if (children && Array.isArray(children)) {
+ children.forEach((rule) => {
+ parseFormFields(rule, fields)
+ })
+ }
+}
--
Gitblit v1.8.0