From 597da8767d57ac2f9e26e1cb98e41225d4802ade Mon Sep 17 00:00:00 2001 From: lyp Date: Wed, 27 Aug 2025 10:06:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E9=A1=B9=E7=9B=AE=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E6=96=B0=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/route/proj/ProjNew.tsx | 74 +++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 32 deletions(-) diff --git a/src/route/proj/ProjNew.tsx b/src/route/proj/ProjNew.tsx index 2d09a14..d08a8ba 100644 --- a/src/route/proj/ProjNew.tsx +++ b/src/route/proj/ProjNew.tsx @@ -300,12 +300,12 @@ export default function ProjNew() { }) } //判断是否以“软件”、“系统”、“平台”或“APP”结尾 - function isEndsWithKeywords(str: string) { - const keywords = ["软件", "系统", "平台", "APP"]; - return keywords.some(keyword => str.endsWith(keyword)); - } + // function isEndsWithKeywords(str: string) { + // const keywords = ["软件", "系统", "平台", "APP"]; + // return keywords.some(keyword => str.endsWith(keyword)); + // } // 提示信息是否显示 - const [showTip, setShowTip] = useState(false) + // const [showTip, setShowTip] = useState(false) const [page, setPage] = useState(1); const packColumns: TableColumnsType = [ { @@ -662,6 +662,16 @@ export default function ProjNew() { { pattern: /^[^']*$/, // 正则表达式:不包含任何英文单引号 message: '系统全称禁止使用英文单引号(\')' + }, + { + validator: async (_, value) => { + if (!value) return Promise.resolve(); + const keywords = ["软件", "系统", "平台", "APP", "小程序"]; + if (keywords.some(keyword => value.endsWith(keyword))) { + return Promise.resolve(); + } + return Promise.reject(new Error('系统全称须以“软件”、“系统”、“平台”、“APP”或“小程序”结尾')); + } } ]} @@ -682,32 +692,32 @@ export default function ProjNew() { }} placeholder="请输入系统全称 (注:系统全称建议以“软件”、“系统”、“平台”或“APP”结尾)" options={selectList} - onSearch={(value) => { - // setProjNameValue(value); - // 先检查基础规则是否通过 - const isBasicValid = value - && value.length <= 80 - && !/'/.test(value); + // onSearch={(value) => { + // // setProjNameValue(value); + // // 先检查基础规则是否通过 + // const isBasicValid = value + // && value.length <= 80 + // && !/'/.test(value); - if (isBasicValid) { - // 基础规则通过后,再检查尾部关键词 - setShowTip(!isEndsWithKeywords(value)); - } else { - // 基础规则未通过,不显示尾部提示 - setShowTip(false); - } - }} + // if (isBasicValid) { + // // 基础规则通过后,再检查尾部关键词 + // setShowTip(!isEndsWithKeywords(value)); + // } else { + // // 基础规则未通过,不显示尾部提示 + // setShowTip(false); + // } + // }} onChange={(value) => { // setProjNameValue(value); // console.log(value); if (value) { // getHistoryList(value); - if (isEndsWithKeywords(value)) { - setShowTip(false); - } else { - setShowTip(true); - } + // if (isEndsWithKeywords(value)) { + // setShowTip(false); + // } else { + // setShowTip(true); + // } // 清除之前的定时器 if (debounceTimer) { clearTimeout(debounceTimer); @@ -721,7 +731,7 @@ export default function ProjNew() { // 更新定时器 ID setDebounceTimer(newTimer); } else { - setShowTip(false); + // setShowTip(false); setSelectList([]) } }} @@ -746,11 +756,11 @@ export default function ProjNew() { top: 10, display: disable ? 'none' : 'unset', }}>推荐 -
系统全称建议以“软件”、“系统”、“平台”或“APP”结尾
+ }}>系统全称建议以“软件”、“系统”、“平台”或“APP”结尾 */}