瀏覽代碼

feat: 账号设置-手机号、座机号添加正则校验。

lanjianrong 4 年之前
父節點
當前提交
0660e674f9

+ 22 - 2
src/pages/Management/Setting/components/Modal.tsx

@@ -123,10 +123,30 @@ const UserModal: React.FC<iUserModal> = ({ visible, loading, onCreate, onCancel,
           <Form.Item name="position" label="职位名称" rules={[ { required: true, message: '请输入职位名称' } ]}>
             <Input size="small" />
           </Form.Item>
-          <Form.Item name="mobile" label="手机" rules={[ { required: true, message: '请输入手机号码' } ]}>
+          <Form.Item name="mobile" label="手机" rules={[ { required: true, message: '请输入手机号码' }, () => ({
+            validator(_, value) {
+              if (value) {
+                if(/^(?:(?:\+|00)86)?1\d{10}$/.test(value)) {
+                  return Promise.resolve()
+                }
+                return Promise.reject('请输入正确的手机号码')
+              }
+              return Promise.resolve()
+            }
+          }) ]}>
             <Input size="small" />
           </Form.Item>
-          <Form.Item name="telephone" label="电话">
+          <Form.Item name="telephone" label="电话" rules={[ () => ({
+            validator(_, value) {
+              if (value) {
+                if(/^(?:(?:\d{3}-)?\d{8}|^(?:\d{4}-)?\d{7,8})(?:-\d+)?$/.test(value)) {
+                  return Promise.resolve()
+                }
+                return Promise.reject('请输入正确的座机号码')
+              }
+              return Promise.resolve()
+            }
+          }) ]}>
             <Input size="small" placeholder="格式000-0000000" />
           </Form.Item>
         </Form>

+ 4 - 2
src/pages/Management/Tender/List/components/ModalForm.tsx

@@ -24,6 +24,7 @@ const ModalForm: React.FC<iModalFormProps> = ({
   modalObj: { visible, confirmLoading, type, id, name, isFolder }
 }) => {
   const [ form ] = Form.useForm()
+
   const modalObj = {
     tender: {
       title: '添加新标段',
@@ -72,9 +73,10 @@ const ModalForm: React.FC<iModalFormProps> = ({
 
   useEffect(() => {
     form.setFieldsValue({ [type === 'tender' ? 'folderId' : 'id']: id })
+    if (type === 'rename') {
+      form.setFieldsValue({ name })
+    }
     if (type === 'move') {
-      console.log(mapTree(treeObj.children, id, isFolder) as Option[])
-
       setCascader(mapTree(treeObj.children, id, isFolder) as Option[])
     }
     if (type === 'move' || type.indexOf('del') !== -1) {

+ 5 - 6
src/pages/Management/Tender/List/index.tsx

@@ -8,7 +8,6 @@ import { CaretDownOutlined, FolderAddFilled } from '@ant-design/icons'
 import { Button, Dropdown, Menu, Table, Tooltip } from 'antd'
 import { ColumnsType } from 'antd/lib/table'
 import React, { useEffect, useState } from 'react'
-import { useActivate } from 'react-activation'
 import { Link } from 'react-router-dom'
 import { apiResfulTree, apiTree } from './api'
 import ModalForm from './components/ModalForm'
@@ -16,7 +15,6 @@ import styles from './index.module.scss'
 import './index.scss'
 const Tender: React.FC<{}> = () => {
   const needSubtractHeight =  34 + 32 + 32 // 需要被裁掉的高度
-
   const [ y ] = useAutoTable(needSubtractHeight)
   const [ tree, setTree ] = useState<TenderTree>({
     ancounts: 0,
@@ -45,7 +43,8 @@ const Tender: React.FC<{}> = () => {
     visible: false,
     confirmLoading: false,
     isFolder: false,
-    id: ''
+    id: '',
+    name: ''
   })
   const treeBtnClick = (payload: any) => {
     setModal({
@@ -90,14 +89,14 @@ const Tender: React.FC<{}> = () => {
       title: '操作',
       dataIndex: 'opreate',
       key: 'opreate',
-      width: 80,
+      width: 130,
       // eslint-disable-next-line react/display-name
       render: (text: string, record: TenderTree) => {
         return <Dropdown overlay={() => {
           return (
             <Menu>
-              <Menu.Item key="0"><div className="menu-item" onClick={() => treeBtnClick({ type: 'rename', id: record.id })}><SvgIcon type="xxh-edit" style={{ fontSize: 12 }} /><span className="pi-mg-left-5">重命名</span></div></Menu.Item>
-              <Menu.Item key="1"><div className="menu-item" onClick={() => treeBtnClick({ type: 'move', id: record.id, isFolder: Boolean(record.isfolder) })}><SvgIcon type="xxh-exchange-alt" style={{ fontSize: 12 }} /><span className="pi-mg-left-5">移动</span></div></Menu.Item>
+              <Menu.Item key="0"><div className="menu-item" onClick={() => treeBtnClick({ type: 'rename', id: record.id, name: record.name })}><SvgIcon type="xxh-edit" style={{ fontSize: 12 }} /><span className="pi-mg-left-5">重命名</span></div></Menu.Item>
+              <Menu.Item key="1"><div className="menu-item" onClick={() => treeBtnClick({ type: 'move', id: record.id, isFolder: Boolean(record.isfolder) })}><SvgIcon type="xxh-exchange-alt-left-right" style={{ fontSize: 12 }} /><span className="pi-mg-left-5">移动</span></div></Menu.Item>
               {
                 record.children?.length ?
                   <Menu.Item key="2">