From d75d83bd2a1f4e13634f84f8a4de1f7457187b2b Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 05 Mar 2026 14:56:13 +0800
Subject: [PATCH] feat:部门管理,删除相关处理
---
packages/utils/common/index.js | 37 +++++++++++++++++++++++++++++++++++--
1 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/packages/utils/common/index.js b/packages/utils/common/index.js
index 0c1f904..c213e19 100644
--- a/packages/utils/common/index.js
+++ b/packages/utils/common/index.js
@@ -12,9 +12,30 @@
return rules
}
+const isContactPhone = value => {
+ const mobile = /^1[3-9]\d{9}$/
+ const landline = /^0\d{2,3}-?\d{7,8}$/
+ return mobile.test(value) || landline.test(value)
+}
-export function getDictLabel(value, dictList) {
- return dictList.find(item => item.dictKey === value)?.dictValue || value || '-'
+export const contactPhoneRules = (required = true, max = 50) => {
+ const validateContactPhone = (rule, value, callback) => {
+ const nextValue = String(value || '').trim()
+ if (!nextValue) return callback()
+ if (isContactPhone(nextValue)) return callback()
+ return callback(new Error('联系电话格式不正确'))
+ }
+
+ return [...fieldRules(required, max), { validator: validateContactPhone, trigger: ['blur', 'change'] }]
+}
+
+export function getDictLabel(value, dictList = []) {
+ if (value === null || value === undefined || value === '') return '';
+ const values = String(value).split(',');
+ return dictList
+ .filter(item => values.includes(String(item.dictKey)))
+ .map(item => item.dictValue)
+ .join(',');
}
export function blobDownload(res) {
@@ -30,3 +51,15 @@
elink.click()
document.body.removeChild(elink)
}
+
+export function geomAnalysis(str) {
+ if (!str) return []
+ return str
+ .replace('POLYGON((', '')
+ .replace('))', '')
+ .split(',')
+ .map(pair => {
+ const [longitude, latitude] = pair.trim().split(' ').map(Number)
+ return { longitude, latitude }
+ })
+}
--
Gitblit v1.9.3