fix(): 修复bug

qzc-dev-demo
李神峰 2025-03-19 13:26:44 +08:00
parent 4308922177
commit 9198ccfa24
17 changed files with 179 additions and 51 deletions

View File

@ -30,7 +30,7 @@ export default function drpOption({ data, wrz, grz }) {
// 显示图例 // 显示图例
show: true, show: true,
// 图例的位置 // 图例的位置
data: ['警戒水位', '危险水位', "降雨量", "水位", "转换流量"], data: ['警戒水位', '保证水位', "降雨量", "水位", "转换流量"],
}, },
xAxis: [ xAxis: [
{ {
@ -165,7 +165,7 @@ export default function drpOption({ data, wrz, grz }) {
{ {
xAxisIndex: 1, xAxisIndex: 1,
yAxisIndex: 1, yAxisIndex: 1,
name: '危险水位', name: '保证水位',
type: 'line', type: 'line',
color: "#D9001B", color: "#D9001B",
lineStyle: { lineStyle: {

View File

@ -425,7 +425,7 @@ console.log(record);
<Col span={24}> <Col span={24}>
<Form.Item <Form.Item
label="处理描述" label="处理描述"
name="itemProblemDesc" name="handleDesc"
labelCol={{ span: 3 }} labelCol={{ span: 3 }}
wrapperCol={{ span: 19 }} wrapperCol={{ span: 19 }}
> >

View File

@ -20,9 +20,9 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
const [itemParams, setItemParams] = useState([]) const [itemParams, setItemParams] = useState([])
const [list, setList] = useState([]) const [list, setList] = useState([])
const taskTypes = [ const taskTypes = [
{label:"日常巡查",value:0}, {label:"日常巡查",value:1},
{label:"特别检查",value:1}, {label:"特别检查",value:2},
{label:"汛前巡检",value:2}, {label:"汛前巡检",value:3},
] ]
const [form] = Form.useForm(); const [form] = Form.useForm();

View File

@ -182,21 +182,21 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
<Col span={12}> <Col span={12}>
<Form.Item <Form.Item
label="施行日期" label="施行日期"
name="announcementDate" name="implementationDate"
getValueFromEvent={(e, dateString) => dateString} getValueFromEvent={(e, dateString) => dateString}
getValueProps={(value) => ({ value: value ? moment(value) : undefined })} getValueProps={(value) => ({ value: value ? moment(value) : undefined })}
> >
<DatePicker disabled={mode === 'view'} format={'YYYY-MM-DD HH:mm:ss'} style={{ width: '100%' }} allowClear /> <DatePicker disabled={mode === 'view'} format={'YYYY-MM-DD'} style={{ width: '100%' }} allowClear />
</Form.Item> </Form.Item>
</Col> </Col>
<Col span={12}> <Col span={12}>
<Form.Item <Form.Item
label="公布日期" label="公布日期"
name="implementationDate" name="announcementDate"
getValueFromEvent={(e, dateString) => dateString} getValueFromEvent={(e, dateString) => dateString}
getValueProps={(value) => ({ value: value ? moment(value) : undefined })} getValueProps={(value) => ({ value: value ? moment(value) : undefined })}
> >
<DatePicker disabled={mode === 'view'} format={'YYYY-MM-DD HH:mm:ss'} style={{ width: '100%' }} allowClear /> <DatePicker disabled={mode === 'view'} format={'YYYY-MM-DD'} style={{ width: '100%' }} allowClear />
</Form.Item> </Form.Item>
</Col> </Col>
</Row> </Row>

View File

@ -44,16 +44,16 @@ const Page = () => {
}, },
{ {
title: '公布日期', key: 'announcementDate', dataIndex: 'announcementDate', title: '公布日期', key: 'announcementDate', dataIndex: 'announcementDate',
render: (value) => <span>{dayjs(value).format('YYYY-MM-DD')}</span>, render: (value) => <span>{value ? dayjs(value).format('YYYY-MM-DD'):''}</span>,
}, },
{ {
title: '施行日期', key: 'implementationDate', dataIndex: 'implementationDate' title: '施行日期', key: 'implementationDate', dataIndex: 'implementationDate'
}, },
{ {
title: '上传时间', key: 'uploadDate', dataIndex: 'uploadDate' title: '上传时间', key: 'createTime', dataIndex: 'createTime'
}, },
{ {
title: '附件', key: 'files', dataIndex: 'files',render:(v,r)=><a onClick={()=>download(v[0].fileId,v[0]?.fileName)}><PaperClipOutlined />{v[0]?.fileName}</a> title: '附件', key: 'files', dataIndex: 'files', render: (v, r) => <a onClick={() => download(v[0].fileId, v[0]?.fileName)}>{ v[0]?.fileName ?<PaperClipOutlined />:''}{v[0]?.fileName}</a>
}, },
{ {
title: '操作', key: 'operation', title: '操作', key: 'operation',

View File

@ -18,12 +18,12 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
if (values.implementationDate) { if (values.implementationDate) {
// 施行日期 // 施行日期
values.stmIm= values.implementationDate[0].format('YYYY-MM-DD HH:mm:ss') values.stmIm= values.implementationDate[0].format('YYYY-MM-DD HH:mm:ss')
values.etmIm= values.implementationDate[0].format('YYYY-MM-DD HH:mm:ss') values.etmIm= values.implementationDate[1].format('YYYY-MM-DD HH:mm:ss')
} }
if (values.uploadTime) { if (values.uploadTime) {
// 上传日期 // 上传日期
values.stmUd= values.uploadTime[0].format('YYYY-MM-DD HH:mm:ss') values.stmUd= values.uploadTime[0].format('YYYY-MM-DD HH:mm:ss')
values.etmUd= values.uploadTime[0].format('YYYY-MM-DD HH:mm:ss') values.etmUd= values.uploadTime[1].format('YYYY-MM-DD HH:mm:ss')
} }
delete values.announcementDate delete values.announcementDate

View File

@ -280,7 +280,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
labelCol={{ span: 3 }} labelCol={{ span: 3 }}
wrapperCol={{ span: 19 }} wrapperCol={{ span: 19 }}
> >
<InputNumber min={0} disabled={mode==='view'} style={{width:'100%'}} allowClear /> <Input disabled={mode==='view'} style={{width:'100%'}} allowClear />
</Form.Item> </Form.Item>
</Col> </Col>
</Row> </Row>

View File

@ -30,7 +30,8 @@ const Page = () => {
},{ },{
label: "政治学习教育", label: "政治学习教育",
value:4 value:4
},{ },
{
label: "其他", label: "其他",
value:5 value:5
}, },
@ -51,7 +52,7 @@ const Page = () => {
{ title: '主办单位', key: 'unit', dataIndex: 'unit', width: 150 }, { title: '主办单位', key: 'unit', dataIndex: 'unit', width: 150 },
{ {
title: '培训分类', key: 'type', dataIndex: 'type', width: 150, title: '培训分类', key: 'type', dataIndex: 'type', width: 150,
render: (v) => <span>{types[v]?.label}</span> render: (v) => <span>{types[v - 1]?.label}</span>
}, },
{ {
title: '培训内容', key: 'content', dataIndex: 'content', width: 200,ellipsis: true title: '培训内容', key: 'content', dataIndex: 'content', width: 200,ellipsis: true

View File

@ -181,7 +181,7 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
<p className="ant-upload-drag-icon"> <p className="ant-upload-drag-icon">
<InboxOutlined /> <InboxOutlined />
</p> </p>
<p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名jpegpng</p> <p className="ant-upload-text">点击或将文件拖拽到这里上传</p>
</Dragger>} </Dragger>}
<div className='flex'> <div className='flex'>
{fileListHj?.[item1.key]?.map((item) => { {fileListHj?.[item1.key]?.map((item) => {

View File

@ -145,7 +145,7 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
<p className="ant-upload-drag-icon"> <p className="ant-upload-drag-icon">
<InboxOutlined /> <InboxOutlined />
</p> </p>
<p className="ant-upload-text">点击或将文件拖拽到这里上传 支持扩展名jpegpng</p> <p className="ant-upload-text">点击或将文件拖拽到这里上传</p>
</Dragger>} </Dragger>}
<div className='flex'> <div className='flex'>
{fileListHj?.[item1.key]?.map((item) => { {fileListHj?.[item1.key]?.map((item) => {

View File

@ -11,14 +11,14 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [showGj, setShowGj] = useState(false) const [showGj, setShowGj] = useState(false)
const onFinish = (values) => { const onFinish = (values) => {
let dateSo; let dateSo;
if (values.tm) { if (values.createTime) {
dateSo = { dateSo = {
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'), stm: moment(values.createTime[0]).format('YYYY-MM-DD'),
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss') etm: moment(values.createTime[1]).format('YYYY-MM-DD')
} }
} }
delete values.tm delete values.createTime
setSearchVal({ ...values, dateSo }); setSearchVal({ ...values, ...dateSo });
} }
const opntios = [ const opntios = [

View File

@ -41,7 +41,7 @@ const Page = ({ treeSelect }) => {
<div className={styles.listborder} style={{ padding: '0 10px', marginBottom: 5 }}>{data?.status?'启用':'禁用'}</div> <div className={styles.listborder} style={{ padding: '0 10px', marginBottom: 5 }}>{data?.status?'启用':'禁用'}</div>
<div className={styles.contentBor} style={{ padding: '0 10px', marginBottom: 5, height: '35%' }}> <div className={styles.contentBor} style={{ padding: '0 10px', marginBottom: 5, height: '35%' }}>
<div className={styles.listborder} style={{ padding: '0 10px', height: '30%' }}>法律依据</div> <div className={styles.listborder} style={{ padding: '0 10px', height: '30%' }}>法律依据</div>
{data?.legalName ?? '无内容请添加'} {data?.legalContent ?? '无内容请添加'}
</div> </div>
<div style={{ display: 'flex', height: '33%' }}> <div style={{ display: 'flex', height: '33%' }}>

View File

@ -131,6 +131,16 @@ const Page = ({ setTreeSelect }) => {
return res return res
} }
} }
const getFirstLeafKey =(treeData) =>{
if (!treeData || !treeData.length) return null;
let node = treeData[0];
while (node.children && node.children.length > 0) {
node = node.children[0];
}
return {id:node.id,name:node.legalName};
}
useEffect(() => { useEffect(() => {
httpget(apiurl.szzf.clyj.tree).then(res => { httpget(apiurl.szzf.clyj.tree).then(res => {
setData(res.data) setData(res.data)
@ -145,11 +155,13 @@ const Page = ({ setTreeSelect }) => {
// setSelect([res.data[0].id]) // setSelect([res.data[0].id])
// getFirstChild(res.data) // getFirstChild(res.data)
setSelect([getFirstChild(res.data).id]); // setSelect([getFirstChild(res.data).id]);
setSelect([getFirstLeafKey(res.data)?.id])
setExpandedKeys([getFirstLeafKey(res.data)?.id])
setTreeSelect( setTreeSelect(
[{ [{
key: getFirstChild(res.data).id, key: getFirstLeafKey(res.data)?.id,
name: getFirstChild(res.data).legalName, name: getFirstLeafKey(res.data)?.name,
}] }]

View File

@ -156,6 +156,16 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
}, [type, formJsonData, isModalOpen]) }, [type, formJsonData, isModalOpen])
const disableParentNodes =(treeData) => {
return treeData.map(node => {
const newNode = { ...node };
if (node.children && node.children.length > 0) {
newNode.disabled = true;
newNode.children = disableParentNodes(node.children);
}
return newNode;
});
}
return ( return (
@ -172,7 +182,7 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
labelCol={item.labelCol} labelCol={item.labelCol}
rules={[{ required: item.required, message: '请输入' + item.label }]} rules={[{ required: item.required, message: '请输入' + item.label }]}
> >
<Input disabled={type == 'view' || item.disabled} placeholder={item.placeholder} addonAfter={item.addonAfter}/> <Input disabled={type == 'view' || item.disabled} placeholder={item.placeholder} />
</Form.Item>} </Form.Item>}
{item.type == "title" && {item.type == "title" &&
<Form.Item <Form.Item
@ -253,7 +263,7 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }} dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
allowClear allowClear
fieldNames={item.fieldNames} fieldNames={item.fieldNames}
treeData={item.treeData} treeData={disableParentNodes(item.treeData)}
treeCheckable={item.multiple} treeCheckable={item.multiple}
disabled={type == 'view'} disabled={type == 'view'}
/> />

View File

@ -33,7 +33,7 @@ const Page = () => {
}, },
{ {
title: '发布日期', key: 'releaseDate', dataIndex: 'releaseDate', title: '发布日期', key: 'releaseDate', dataIndex: 'releaseDate',
render: (value) => <span>{dayjs(value).format('YYYY-MM-DD')}</span>, render: (value) => <span>{value ? dayjs(value).format('YYYY-MM-DD') : ''}</span>,
}, },
{ {
title: '发布单位', key: 'fillUnit', dataIndex: 'fillUnit' title: '发布单位', key: 'fillUnit', dataIndex: 'fillUnit'

View File

@ -5,7 +5,110 @@ import { httpget2, httppost2,xyt_httpget2 } from '../../../utils/request';
import apiurl from '../../../service/apiurl'; import apiurl from '../../../service/apiurl';
import "./index.less" import "./index.less"
export default function Zzjgck() { export default function Zzjgck() {
const demoList = [
{
title: '中共红安县檀树岗水库支部委员会',
key: 100,
parentId: 0,
children: [
{
title: "第一党小组委员会",
parentId: 100,
key: 101,
children: [
{
title: "周志才",
parentId: 101,
key: 103,
},
{
title: "刘立新",
parentId: 101,
key: 104,
},
{
title: "陈辉来",
parentId: 101,
key: 105,
},
{
title: "王胜娣",
parentId: 101,
key: 106,
},
{
title: "高服气",
parentId: 101,
key: 107,
},
{
title: "李帅华",
parentId: 101,
key: 108,
},
{
title: "潘宏祥",
parentId: 101,
key: 109,
},
{
title: "耿协成",
parentId: 101,
key: 110,
}
]
},
{
title: "第二党小组委员会",
parentId: 100,
key: 102,
children: [
{
title: "吴吉琛",
parentId: 102,
key: 111,
},
{
title: "吴胜林",
parentId: 102,
key: 112,
},
{
title: "刘义华",
parentId: 102,
key: 113,
},
{
title: "陈斌",
parentId: 102,
key: 113,
},
{
title: "董希贵",
parentId: 102,
key: 114,
},
{
title: "吴昌元",
parentId: 102,
key: 115,
},
{
title: "石守银",
parentId: 102,
key: 116,
},
{
title: "高粱",
parentId: 102,
key: 117,
}
]
}
]
}
]
const [deptList, setDeptList] = useState([]) const [deptList, setDeptList] = useState([])
@ -56,17 +159,17 @@ export default function Zzjgck() {
// 演示用 // 演示用
const nameObj = { // const nameObj = {
"刘测": "高伟", // "刘测": "高伟",
"若依": "刘立新", // "若依": "刘立新",
"张雨齐": "彭双林", // "张雨齐": "彭双林",
"杜飞": "王忠明", // "杜飞": "王忠明",
"李斯": "刘艳华", // "李斯": "刘艳华",
"李峰": "吴吉琛", // "李峰": "吴吉琛",
"刘玉": "赵国栋", // "刘玉": "赵国栋",
"李星雨": "李星雨", // "李星雨": "李星雨",
} // }
const handleTreeList = (dept, user) => { const handleTreeList = (dept, user) => {
const deptArr = dept.map(item => { const deptArr = dept.map(item => {
return { return {
@ -77,7 +180,7 @@ export default function Zzjgck() {
children: user.filter(u => u.deptId == item.deptId).map(u => ({ children: user.filter(u => u.deptId == item.deptId).map(u => ({
...u, ...u,
value: u.userId, value: u.userId,
title: nameObj[u.nickName], title: u.nickName,
})) }))
} }
}) })
@ -93,11 +196,13 @@ export default function Zzjgck() {
}, [deptUserList, deptList]) }, [deptUserList, deptList])
const jgOptions = useMemo(() => { const jgOptions = useMemo(() => {
if (treeList.length > 0) { return jgOption(demoList)
return jgOption(treeList); // if (treeList.length > 0) {
} else {
return {} // return jgOption(treeList);
} // } else {
// return {}
// }
}, [treeList]) }, [treeList])
useEffect(() => { useEffect(() => {

View File

@ -12,7 +12,7 @@ export default function jgOption(data1) {
top: '10%', top: '10%',
left: '10%', left: '10%',
bottom: '20%', bottom: '20%',
right: '30%', right: '30%',
avoidLabelOverlap: true,//防止标签重叠 avoidLabelOverlap: true,//防止标签重叠
roam: true, //移动+缩放 'scale' 或 'zoom':只能够缩放。 'move' 或 'pan':只能够平移。 roam: true, //移动+缩放 'scale' 或 'zoom':只能够缩放。 'move' 或 'pan':只能够平移。
scaleLimit:{ //缩放比例 scaleLimit:{ //缩放比例
@ -100,7 +100,7 @@ export default function jgOption(data1) {
fontSize: 18, fontSize: 18,
color: '#000', color: '#000',
align: 'center', align: 'center',
padding: [10, 10], padding: [5, 10],
backgroundColor: { backgroundColor: {
image: three, image: three,
repeat: "norepeat", repeat: "norepeat",