救援队 增加经纬度
parent
098a49b1c9
commit
b61ac2d2e0
|
|
@ -20,6 +20,7 @@ export default antfu({
|
||||||
"react-hooks-extra/no-unnecessary-use-prefix": "off",
|
"react-hooks-extra/no-unnecessary-use-prefix": "off",
|
||||||
"react-hooks-extra/prefer-use-state-lazy-initialization": "off",
|
"react-hooks-extra/prefer-use-state-lazy-initialization": "off",
|
||||||
"react-hooks/exhaustive-deps": "off",
|
"react-hooks/exhaustive-deps": "off",
|
||||||
|
"react/no-implicit-key": "off",
|
||||||
},
|
},
|
||||||
javascript: {
|
javascript: {
|
||||||
"no-console": process.env.NODE_ENV === "production" ? "error" : "warn",
|
"no-console": process.env.NODE_ENV === "production" ? "error" : "warn",
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import { Connect } from "@cqsjjb/jjb-dva-runtime";
|
||||||
import { Button, Card, Col, DatePicker, Form, Input, message, Row, Space } from "antd";
|
import { Button, Card, Col, DatePicker, Form, Input, message, Row, Space } from "antd";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
|
import Map from "zy-react-library/components/Map";
|
||||||
import Page from "zy-react-library/components/Page";
|
import Page from "zy-react-library/components/Page";
|
||||||
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
import DictionarySelect from "zy-react-library/components/Select/Dictionary";
|
||||||
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
import useGetUrlQuery from "zy-react-library/hooks/useGetUrlQuery";
|
||||||
|
|
@ -106,7 +107,7 @@ function Add(props) {
|
||||||
const members = data.rescueMembers.map((item, index) => ({ ...item, key: item.id || index }));
|
const members = data.rescueMembers.map((item, index) => ({ ...item, key: item.id || index }));
|
||||||
setRescueMembers(members);
|
setRescueMembers(members);
|
||||||
// 同步设置Form的队员数据
|
// 同步设置Form的队员数据
|
||||||
form.setFieldValue('rescueMembersForm', members.map(m => ({
|
form.setFieldValue("rescueMembersForm", members.map(m => ({
|
||||||
personName: m.personName,
|
personName: m.personName,
|
||||||
personPhone: m.personPhone,
|
personPhone: m.personPhone,
|
||||||
})));
|
})));
|
||||||
|
|
@ -186,8 +187,8 @@ function Add(props) {
|
||||||
const newMembers = [...rescueMembers, createEmptyMember()];
|
const newMembers = [...rescueMembers, createEmptyMember()];
|
||||||
setRescueMembers(newMembers);
|
setRescueMembers(newMembers);
|
||||||
// 同步更新Form
|
// 同步更新Form
|
||||||
const formMembers = form.getFieldValue('rescueMembersForm') || [];
|
const formMembers = form.getFieldValue("rescueMembersForm") || [];
|
||||||
form.setFieldValue('rescueMembersForm', [...formMembers, { personName: '', personPhone: '' }]);
|
form.setFieldValue("rescueMembersForm", [...formMembers, { personName: "", personPhone: "" }]);
|
||||||
};
|
};
|
||||||
|
|
||||||
const removeMember = (key) => {
|
const removeMember = (key) => {
|
||||||
|
|
@ -195,9 +196,9 @@ function Add(props) {
|
||||||
const newMembers = rescueMembers.filter(item => item.key !== key);
|
const newMembers = rescueMembers.filter(item => item.key !== key);
|
||||||
setRescueMembers(newMembers);
|
setRescueMembers(newMembers);
|
||||||
// 同步更新Form
|
// 同步更新Form
|
||||||
const formMembers = form.getFieldValue('rescueMembersForm') || [];
|
const formMembers = form.getFieldValue("rescueMembersForm") || [];
|
||||||
formMembers.splice(index, 1);
|
formMembers.splice(index, 1);
|
||||||
form.setFieldValue('rescueMembersForm', [...formMembers]);
|
form.setFieldValue("rescueMembersForm", [...formMembers]);
|
||||||
};
|
};
|
||||||
|
|
||||||
const updateMember = (key, field, value) => {
|
const updateMember = (key, field, value) => {
|
||||||
|
|
@ -206,7 +207,6 @@ function Add(props) {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Page
|
<Page
|
||||||
loading={loading}
|
loading={loading}
|
||||||
|
|
@ -252,7 +252,7 @@ function Add(props) {
|
||||||
<Input
|
<Input
|
||||||
placeholder="请输入救援队名称"
|
placeholder="请输入救援队名称"
|
||||||
onChange={handleTeamNameChange}
|
onChange={handleTeamNameChange}
|
||||||
onBlur={e => {
|
onBlur={(e) => {
|
||||||
form.setFieldValue("teamName", e.target.value?.trim());
|
form.setFieldValue("teamName", e.target.value?.trim());
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
@ -318,10 +318,10 @@ function Add(props) {
|
||||||
<Input
|
<Input
|
||||||
placeholder="请输入队长电话"
|
placeholder="请输入队长电话"
|
||||||
maxLength={11}
|
maxLength={11}
|
||||||
onChange={e => {
|
onChange={(e) => {
|
||||||
// 只允许输入数字和连字符
|
// 只允许输入数字和连字符
|
||||||
const value = e.target.value.replace(/[^\d-]/g, '').slice(0, 11);
|
const value = e.target.value.replace(/[^\d-]/g, "").slice(0, 11);
|
||||||
form.setFieldValue('captainPhone', value);
|
form.setFieldValue("captainPhone", value);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
@ -387,6 +387,7 @@ function Add(props) {
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</Col>
|
</Col>
|
||||||
</Row>
|
</Row>
|
||||||
|
<Map required={false} type="cesium" />
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
<Card
|
<Card
|
||||||
|
|
@ -404,7 +405,7 @@ function Add(props) {
|
||||||
<Col span={12}>
|
<Col span={12}>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={`队员${index + 1}`}
|
label={`队员${index + 1}`}
|
||||||
name={['rescueMembersForm', index, 'personName']}
|
name={["rescueMembersForm", index, "personName"]}
|
||||||
rules={[
|
rules={[
|
||||||
{ required: true, message: "请输入队员姓名" },
|
{ required: true, message: "请输入队员姓名" },
|
||||||
{ max: 50, message: "队员姓名不能超过50个字符" },
|
{ max: 50, message: "队员姓名不能超过50个字符" },
|
||||||
|
|
@ -424,7 +425,7 @@ function Add(props) {
|
||||||
<div style={{ display: "flex", alignItems: "center", gap: 8, width: "100%" }}>
|
<div style={{ display: "flex", alignItems: "center", gap: 8, width: "100%" }}>
|
||||||
<div style={{ flex: 1 }}>
|
<div style={{ flex: 1 }}>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
name={['rescueMembersForm', index, 'personPhone']}
|
name={["rescueMembersForm", index, "personPhone"]}
|
||||||
rules={[
|
rules={[
|
||||||
{ required: true, message: "请输入队员电话" },
|
{ required: true, message: "请输入队员电话" },
|
||||||
{ validator: validatePhone },
|
{ validator: validatePhone },
|
||||||
|
|
@ -434,10 +435,10 @@ function Add(props) {
|
||||||
<Input
|
<Input
|
||||||
placeholder="请输入队员电话"
|
placeholder="请输入队员电话"
|
||||||
maxLength={11}
|
maxLength={11}
|
||||||
onChange={e => {
|
onChange={(e) => {
|
||||||
const value = e.target.value.replace(/[^\d-]/g, '').slice(0, 11);
|
const value = e.target.value.replace(/[^\d-]/g, "").slice(0, 11);
|
||||||
updateMember(member.key, "personPhone", value);
|
updateMember(member.key, "personPhone", value);
|
||||||
form.setFieldValue(['rescueMembersForm', index, 'personPhone'], value);
|
form.setFieldValue(["rescueMembersForm", index, "personPhone"], value);
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|
|
||||||
|
|
@ -113,6 +113,14 @@ function View(props) {
|
||||||
label: "职责和任务范围",
|
label: "职责和任务范围",
|
||||||
children: detail.dutyScope || "-",
|
children: detail.dutyScope || "-",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: "经度",
|
||||||
|
children: detail.longitude || "-",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "纬度",
|
||||||
|
children: detail.latitude || "-",
|
||||||
|
},
|
||||||
]}
|
]}
|
||||||
/>
|
/>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue