创建项目添加新规则

This commit is contained in:
lyp 2025-08-27 10:06:55 +08:00
parent 63401b10b0
commit 597da8767d

View File

@ -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<DataType> = [
{
@ -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',
}}></a>
<div style={{
{/* <div style={{
position: 'absolute', left: 165,
display: showTip ? 'unset' : 'none',
color: 'green',
}}>APP</div>
}}>APP</div> */}
</div>
<div style={{
display: 'flex',
@ -1818,11 +1828,11 @@ export default function ProjNew() {
form.setFieldsValue({
projName: item
});
if (isEndsWithKeywords(item)) {
setShowTip(false);
} else {
setShowTip(true);
}
// if (isEndsWithKeywords(item)) {
// setShowTip(false);
// } else {
// setShowTip(true);
// }
messageApi.success(`已选择${item}`);
setRecommendModal(false)