tangjie 2026-07-10 10:39:23 +08:00
commit c4ed635cbd
3 changed files with 157 additions and 53 deletions

View File

@ -10,7 +10,7 @@ module.exports = {
javaGitBranch: "dev", javaGitBranch: "dev",
// 本地联调 safetyEval-servicecontext-path: /safetyEval默认端口 8095 // 本地联调 safetyEval-servicecontext-path: /safetyEval默认端口 8095
// 可通过环境变量覆盖: SAFETY_EVAL_API_HOST=http://192.168.x.x:8095 // 可通过环境变量覆盖: SAFETY_EVAL_API_HOST=http://192.168.x.x:8095
API_HOST: "http://192.168.0.103", API_HOST: "http://192.168.0.152",
}, },
production: { production: {
// 应用后端分支名称,部署上线需要 // 应用后端分支名称,部署上线需要

View File

@ -74,16 +74,32 @@ function StaffCertificatePage(props) {
form={searchForm} form={searchForm}
loading={loading} loading={loading}
formLine={[ formLine={[
<Form.Item key="certName" name="certName"> <Form.Item
<ControlWrapper.Input label="证照名称" placeholder="请输入证照名称" allowClear maxLength={50} /> key="certName"
name="certName"
rules={[{ max: 200, message: "证照名称不能超过200个字符" }]}
>
<ControlWrapper.Input label="证照名称" placeholder="请输入证照名称" allowClear maxLength={200} />
</Form.Item>, </Form.Item>,
<Form.Item key="certNo" name="certNo"> <Form.Item
<ControlWrapper.Input label="证书编号" placeholder="请输入证书编号" allowClear maxLength={50} /> key="certNo"
name="certNo"
rules={[{ max: 100, message: "证书编号不能超过100个字符" }]}
>
<ControlWrapper.Input label="证书编号" placeholder="请输入证书编号" allowClear maxLength={100} />
</Form.Item>, </Form.Item>,
<Form.Item key="certCategoryName" name="certCategoryName"> <Form.Item
key="certCategoryName"
name="certCategoryName"
rules={[{ max: 50, message: "证书类别名称不能超过50个字符" }]}
>
<ControlWrapper.Input label="证书类别名称" placeholder="请输入证书类别名称" allowClear maxLength={50} /> <ControlWrapper.Input label="证书类别名称" placeholder="请输入证书类别名称" allowClear maxLength={50} />
</Form.Item>, </Form.Item>,
<Form.Item key="operationCategoryName" name="operationCategoryName"> <Form.Item
key="operationCategoryName"
name="operationCategoryName"
rules={[{ max: 50, message: "证书作业类别名称不能超过50个字符" }]}
>
<ControlWrapper.Input label="证书作业类别名称" placeholder="请输入证书作业类别名称" allowClear maxLength={50} /> <ControlWrapper.Input label="证书作业类别名称" placeholder="请输入证书作业类别名称" allowClear maxLength={50} />
</Form.Item>, </Form.Item>,
]} ]}
@ -258,7 +274,7 @@ function CertModal({
handleCancel(); handleCancel();
onSuccess(); onSuccess();
} else { } else {
message.error(res?.message || res?.errMessage || "保存失败,请重试");
} }
} finally { } finally {
setSubmitting(false); setSubmitting(false);
@ -277,14 +293,35 @@ function CertModal({
onOk={form.submit} onOk={form.submit}
> >
<Form form={form} layout="vertical" onFinish={handleSubmit}> <Form form={form} layout="vertical" onFinish={handleSubmit}>
<Form.Item name="certName" label="证照名称" rules={[{ required: true, message: "请输入证照名称" }]}> <Form.Item
<Input placeholder="请输入证照名称" maxLength={50} showCount /> name="certName"
label="证照名称"
rules={[
{ required: true, message: "请输入证照名称" },
{ max: 200, message: "证照名称不能超过200个字符" },
]}
>
<Input placeholder="请输入证照名称" maxLength={200} showCount />
</Form.Item> </Form.Item>
<Form.Item name="certNo" label="证书编号" rules={[{ required: true, message: "请输入证书编号" }]}> <Form.Item
<Input placeholder="请输入证书编号" maxLength={50} showCount /> name="certNo"
label="证书编号"
rules={[
{ required: true, message: "请输入证书编号" },
{ max: 100, message: "证书编号不能超过100个字符" },
]}
>
<Input placeholder="请输入证书编号" maxLength={100} showCount />
</Form.Item> </Form.Item>
<Form.Item name="issueOrg" label="发证机关" rules={[{ required: true, message: "请输入发证机关" }]}> <Form.Item
<Input placeholder="请输入发证机关" maxLength={100} showCount /> name="issueOrg"
label="发证机关"
rules={[
{ required: true, message: "请输入发证机关" },
{ max: 200, message: "发证机关不能超过200个字符" },
]}
>
<Input placeholder="请输入发证机关" maxLength={200} showCount />
</Form.Item> </Form.Item>
<Form.Item <Form.Item
name="validDate" name="validDate"
@ -293,23 +330,47 @@ function CertModal({
> >
<DatePicker.RangePicker style={{ width: "100%" }} /> <DatePicker.RangePicker style={{ width: "100%" }} />
</Form.Item> </Form.Item>
<Form.Item name="certTypeCode" label="证书类型编码"> <Form.Item
<Input placeholder="请输入证书类型编码" maxLength={50} /> name="certTypeCode"
label="证书类型编码"
rules={[{ max: 32, message: "证书类型编码不能超过32个字符" }]}
>
<Input placeholder="请输入证书类型编码" maxLength={32} showCount />
</Form.Item> </Form.Item>
<Form.Item name="certTypeName" label="证书类型名称"> <Form.Item
<Input placeholder="请输入证书类型名称" maxLength={50} /> name="certTypeName"
label="证书类型名称"
rules={[{ max: 50, message: "证书类型名称不能超过50个字符" }]}
>
<Input placeholder="请输入证书类型名称" maxLength={50} showCount />
</Form.Item> </Form.Item>
<Form.Item name="certCategoryCode" label="证书类别编码"> <Form.Item
<Input placeholder="请输入证书类别编码" maxLength={50} /> name="certCategoryCode"
label="证书类别编码"
rules={[{ max: 32, message: "证书类别编码不能超过32个字符" }]}
>
<Input placeholder="请输入证书类别编码" maxLength={32} showCount />
</Form.Item> </Form.Item>
<Form.Item name="certCategoryName" label="证书类别名称"> <Form.Item
<Input placeholder="请输入证书类别名称" maxLength={50} /> name="certCategoryName"
label="证书类别名称"
rules={[{ max: 50, message: "证书类别名称不能超过50个字符" }]}
>
<Input placeholder="请输入证书类别名称" maxLength={50} showCount />
</Form.Item> </Form.Item>
<Form.Item name="operationCategoryCode" label="证书作业类别编码"> <Form.Item
<Input placeholder="请输入证书作业类别编码" maxLength={50} /> name="operationCategoryCode"
label="证书作业类别编码"
rules={[{ max: 32, message: "证书作业类别编码不能超过32个字符" }]}
>
<Input placeholder="请输入证书作业类别编码" maxLength={32} showCount />
</Form.Item> </Form.Item>
<Form.Item name="operationCategoryName" label="证书作业类别名称"> <Form.Item
<Input placeholder="请输入证书作业类别名称" maxLength={50} /> name="operationCategoryName"
label="证书作业类别名称"
rules={[{ max: 50, message: "证书作业类别名称不能超过50个字符" }]}
>
<Input placeholder="请输入证书作业类别名称" maxLength={50} showCount />
</Form.Item> </Form.Item>
<Form.Item name="reviewDate" label="复核日期"> <Form.Item name="reviewDate" label="复核日期">
<DatePicker style={{ width: "100%" }} /> <DatePicker style={{ width: "100%" }} />

View File

@ -151,13 +151,16 @@ function PersonnelInfoPage(props) {
form={searchForm} form={searchForm}
loading={loading} loading={loading}
formLine={[ formLine={[
<Form.Item key="userName" name="userName"> <Form.Item
key="userName"
name="userName"
rules={[{ max: 50, message: "用户名称不能超过50个字符" }]}
>
<ControlWrapper.Input <ControlWrapper.Input
label="用户名称" label="用户名称"
placeholder="请输入用户名称" placeholder="请输入用户名称"
allowClear allowClear
maxLength={20} maxLength={50}
showCount
/> />
</Form.Item>, </Form.Item>,
<Form.Item key="deptId" name="deptId"> <Form.Item key="deptId" name="deptId">
@ -201,7 +204,7 @@ function PersonnelInfoPage(props) {
<Table <Table
rowKey="id" rowKey="id"
columns={[ columns={[
{ title: "用户名称", dataIndex: "userName", ellipsis: true }, { title: "用户名称", dataIndex: "userName" },
{ title: "账号", dataIndex: "account" }, { title: "账号", dataIndex: "account" },
{ title: "部门", dataIndex: "deptName" }, { title: "部门", dataIndex: "deptName" },
{ title: "岗位", dataIndex: "postName" }, { title: "岗位", dataIndex: "postName" },
@ -213,7 +216,7 @@ function PersonnelInfoPage(props) {
}, },
{ {
title: "操作", title: "操作",
width: 200, width: 320,
render: (_, record) => ( render: (_, record) => (
<TableAction> <TableAction>
<Button <Button
@ -464,6 +467,7 @@ function StaffFormModal({
handleCancel(); handleCancel();
onSuccess(); onSuccess();
} else { } else {
message.error(res?.message || res?.errMessage || "保存失败,请重试");
} }
} finally { } finally {
setSubmitting(false); setSubmitting(false);
@ -492,9 +496,12 @@ function StaffFormModal({
<Form.Item <Form.Item
name="userName" name="userName"
label="姓名" label="姓名"
rules={[{ required: true, message: "请输入姓名" }]} rules={[
{ required: true, message: "请输入姓名" },
{ max: 50, message: "姓名不能超过50个字符" },
]}
> >
<Input placeholder="请输入姓名" maxLength={20} showCount /> <Input placeholder="请输入姓名" maxLength={50} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
@ -521,9 +528,12 @@ function StaffFormModal({
<Form.Item <Form.Item
name="account" name="account"
label="账号" label="账号"
rules={[mobileRule("账号", true)]} rules={[
mobileRule("账号", true),
{ max: 50, message: "账号不能超过50个字符" },
]}
> >
<Input placeholder="请输入账号" maxLength={11} showCount /> <Input placeholder="请输入账号" maxLength={50} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
@ -567,9 +577,12 @@ function StaffFormModal({
<Form.Item <Form.Item
name="idCardNo" name="idCardNo"
label="身份证号" label="身份证号"
rules={[idCardRule(true)]} rules={[
idCardRule(true),
{ max: 18, message: "身份证号不能超过18个字符" },
]}
> >
<Input placeholder="请输入身份证号" maxLength={18} showCount /> <Input placeholder="请输入身份证号" maxLength={18} />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
@ -599,8 +612,12 @@ function StaffFormModal({
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
<Form.Item name="evaluatorCertNo" label="证书编号"> <Form.Item
<Input placeholder="请输入安全评价师证书编号" maxLength={50} showCount /> name="evaluatorCertNo"
label="证书编号"
rules={[{ max: 100, message: "证书编号不能超过100个字符" }]}
>
<Input placeholder="请输入安全评价师证书编号" maxLength={100} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
@ -622,7 +639,11 @@ function StaffFormModal({
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
<Form.Item name="titleName" label="职称"> <Form.Item
name="titleName"
label="职称"
rules={[{ max: 50, message: "职称不能超过50个字符" }]}
>
<Input placeholder="请输入职称" maxLength={50} showCount /> <Input placeholder="请输入职称" maxLength={50} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
@ -642,21 +663,27 @@ function StaffFormModal({
<Form.Item <Form.Item
name="publications" name="publications"
label="出版学术专著、专利、获奖、发表学术论文等" label="出版学术专著、专利、获奖、发表学术论文等"
rules={[{ max: 1000, message: "不能超过1000个字符" }]}
> >
<Input.TextArea rows={2} placeholder="请输入" maxLength={200} showCount /> <Input.TextArea rows={2} placeholder="请输入" maxLength={1000} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={24}> <Col span={24}>
<Form.Item <Form.Item
name="abilityDeclaration" name="abilityDeclaration"
label="自我申报的专业能力及认定方式" label="自我申报的专业能力及认定方式"
rules={[{ max: 1000, message: "不能超过1000个字符" }]}
> >
<Input.TextArea rows={2} placeholder="请输入" maxLength={200} showCount /> <Input.TextArea rows={2} placeholder="请输入" maxLength={1000} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={24}> <Col span={24}>
<Form.Item name="workExperience" label="主要学习工作经历"> <Form.Item
<Input.TextArea rows={3} placeholder="请输入" maxLength={300} showCount /> name="workExperience"
label="主要学习工作经历"
rules={[{ max: 10000, message: "不能超过10000个字符" }]}
>
<Input.TextArea rows={3} placeholder="请输入" maxLength={10000} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={24}> <Col span={24}>
@ -667,23 +694,39 @@ function StaffFormModal({
/> />
</Col> </Col>
<Col span={12}> <Col span={12}>
<Form.Item name="currentAddress" label="现住地址"> <Form.Item
<Input placeholder="请输入现住地址" maxLength={100} showCount /> name="currentAddress"
label="现住地址"
rules={[{ max: 500, message: "现住地址不能超过500个字符" }]}
>
<Input placeholder="请输入现住地址" maxLength={500} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
<Form.Item name="officeAddress" label="办公地址"> <Form.Item
<Input placeholder="请输入办公地址" maxLength={100} showCount /> name="officeAddress"
label="办公地址"
rules={[{ max: 500, message: "办公地址不能超过500个字符" }]}
>
<Input placeholder="请输入办公地址" maxLength={500} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
<Form.Item name="graduateSchool" label="毕业院校"> <Form.Item
<Input placeholder="请输入毕业院校" maxLength={50} showCount /> name="graduateSchool"
label="毕业院校"
rules={[{ max: 200, message: "毕业院校不能超过200个字符" }]}
>
<Input placeholder="请输入毕业院校" maxLength={200} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
<Form.Item name="major" label="专业"> <Form.Item
<Input placeholder="请输入专业" maxLength={50} showCount /> name="major"
label="专业"
rules={[{ max: 100, message: "专业不能超过100个字符" }]}
>
<Input placeholder="请输入专业" maxLength={100} showCount />
</Form.Item> </Form.Item>
</Col> </Col>
</Row> </Row>