From d3b7f89d69b38aabd430ad2daf8b4330facab90e Mon Sep 17 00:00:00 2001 From: lishenfeng Date: Thu, 10 Apr 2025 16:35:52 +0800 Subject: [PATCH] =?UTF-8?q?fix():=20=E4=BF=AE=E6=94=B9=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/sq/qfg/zcdjxx.js | 2 +- src/views/sz/flfg/toolbar.js | 4 +- src/views/sz/szzf/ajdj/editTabs.js | 2 +- src/views/sz/szzf/ajdj/index.js | 2 +- src/views/sz/szzf/form/index.js | 670 +++++++++++++++-------------- 5 files changed, 352 insertions(+), 328 deletions(-) diff --git a/src/views/sq/qfg/zcdjxx.js b/src/views/sq/qfg/zcdjxx.js index 8aba27771..4d4c80d58 100644 --- a/src/views/sq/qfg/zcdjxx.js +++ b/src/views/sq/qfg/zcdjxx.js @@ -4,7 +4,7 @@ import zd from '../../../assets/img/wait.png' const Page = () => { return (
- +
) } diff --git a/src/views/sz/flfg/toolbar.js b/src/views/sz/flfg/toolbar.js index 178be5ace..c2eed8d7a 100644 --- a/src/views/sz/flfg/toolbar.js +++ b/src/views/sz/flfg/toolbar.js @@ -96,9 +96,9 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => { - + {/* - + */} } diff --git a/src/views/sz/szzf/ajdj/editTabs.js b/src/views/sz/szzf/ajdj/editTabs.js index 373a158c0..8e9d2e3c1 100644 --- a/src/views/sz/szzf/ajdj/editTabs.js +++ b/src/views/sz/szzf/ajdj/editTabs.js @@ -68,7 +68,7 @@ const Page = ({ mode, onCrudSuccess,record,submit }) => { if (mode == 'save') { addBasic(params) } else if (mode == 'edit') { - editBasic({...params}) + editBasic({...params,caseDate:record.caseDate ? dayjs(record.caseDate).format('YYYY-MM-DD HH:mm:ss'):''}) } } const addBasic = (params) => { diff --git a/src/views/sz/szzf/ajdj/index.js b/src/views/sz/szzf/ajdj/index.js index ea6e58b99..8e38f33f9 100644 --- a/src/views/sz/szzf/ajdj/index.js +++ b/src/views/sz/szzf/ajdj/index.js @@ -70,7 +70,7 @@ const Page = () => { refModal.current.showSave(); } else if (type === 'edit') { - let obj={} + let obj = {} if (params.caseDate) { obj.caseDate = params.caseDate ? dayjs(params.caseDate) :undefined } diff --git a/src/views/sz/szzf/form/index.js b/src/views/sz/szzf/form/index.js index b3999bc33..9c7a18c89 100644 --- a/src/views/sz/szzf/form/index.js +++ b/src/views/sz/szzf/form/index.js @@ -1,10 +1,10 @@ import React, { useEffect, useState, useRef } from 'react'; -import { TreeSelect, Table, Tag, DatePicker, Form, Select, Button, message, Upload, Input, Row, Col, Switch, Image,Radio } from 'antd'; +import { TreeSelect, Table, Tag, DatePicker, Form, Select, Button, message, Upload, Input, Row, Col, Switch, Image, Radio } from 'antd'; import './ddForm.less' import dayjs from 'dayjs' import { InboxOutlined, LinkOutlined, DeleteOutlined, LoadingOutlined, VerticalAlignBottomOutlined } from '@ant-design/icons' import apiurl from '../../../../service/apiurl'; -import { httpgetExport, httppostAddfile } from '../../../../utils/request'; +import { httpgetExport, httppostAddfile } from '../../../../utils/request'; import { exportFile } from '../../../../utils/tools'; // import apiUrl from '../../service/apiurl' @@ -13,349 +13,373 @@ const { RangePicker } = DatePicker; const { TextArea } = Input; const baseUrl = "http://223.75.53.141:9100/gs-tsg" +let dataList = []; +const FormZdy = ({ fileKey, typeName = "ddForm", formJson, getFormInfo, type, formJsonData, typeUpload = 'dispatch', isModalOpen, fileType, footer = true, uploadUrl, TableZdyProps, downloadUrl, + onSave }) => { + const [fileList, setFileList] = useState([]) + const [fileListUp, setFileLisUp] = useState([]) + const [url, setUrl] = useState('') + const [isModal, setIsModal] = useState(false) + const [loading, setLoading] = useState(false) + const [searchValue, setSearchValue] = useState(''); -const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, formJsonData, typeUpload = 'dispatch', isModalOpen, fileType, footer = true, uploadUrl,TableZdyProps,downloadUrl, - onSave }) => { - const [fileList, setFileList] = useState([]) - const [fileListUp, setFileLisUp] = useState([]) - const [url, setUrl] = useState('') - const [isModal, setIsModal] = useState(false) - const [loading, setLoading] = useState(false) - const [searchValue, setSearchValue] = useState(''); + const treeRef = useRef(); + + // + const [form] = Form.useForm(); + + // function onDocumentLoadSuccess({ numPages }) { + // setRenderNumPages(numPages); + // } + const onFinish = (e) => { + } + const getInfo = () => { + form.validateFields().then((values) => { + + getFormInfo({ + ...values, + // caseDate: type != 'edit' ? values?.caseDate : "", + caseDate: values?.caseDate, + [fileKey]: fileList, fileIds: fileList.map(item => item.fileId) + }) + + setFileList([]) + }).catch((errorInfo) => { + console.log(errorInfo, 'error'); + }) + // + } + const cancel = () => { + getFormInfo(false) + form.resetFields() + setFileList([]) + + } + const { Dragger } = Upload; + // const preView = (e) => { + // window.open('http://local.gunshiiot.com:18083/xintankou/api/file/preview/104') + // } + const deleteFile = (e) => { + // debugger; + let arr = fileList.filter(item => item.fileId !== e) + setFileList(arr) + } + const props = { + name: 'file', + multiple: true, + fileList: fileList, + showUploadList: false, + beforeUpload: (file, fileList) => { + if (fileType == "pic" && + (file.type != "image/jpeg" || file.type != "image/png" || file.type != "image/jpg")) { + message.error('仅支持上传jpg/png/jpeg格式的图片'); + return false; + } else { + return true; + } + }, + customRequest(e) { + setLoading(true); + httppostAddfile(uploadUrl, e).then(res => { + setLoading(false); + setFileList([...fileList, res.data]) + }) + } + }; + const onChange = () => { } + function checkMediaType(url) { + // 创建URL对象 + var link = url; + // 获取路径的最后一个点之后的内容作为文件扩展名 + var extension = link?.split('.').pop().toLowerCase(); + + // 声明支持的图片和视频文件扩展名 + var imageExtensions = ['jpg', 'jpeg', 'gif', 'png']; + var file = ['pdf', 'word', 'xslx', 'xsl', 'txt', "pptx"]; + // + // 判断文件扩展名是否在图片扩展名数组中 + if (imageExtensions.includes(extension)) { + return 'image'; + } + + // 判断文件扩展名是否在视频扩展名数组中 + if (file.includes(extension)) { + return extension; + } + + // 扩展名不在图片或视频数组中,返回null表示无法确定媒体类型 + return null; + } + const preView = (item) => { + if (checkMediaType(item.fileName) == 'pdf') { + // window.open(baseUrl + item.previewUrl) + setUrl(item.fileId) + setIsModal(true) + } + + } + + /** +* @description 文件下载 +* @param {String} params 文件fileId +*/ + const download = async (id, name) => { + var extension = name?.split('.').pop().toLowerCase(); + httpgetExport(downloadUrl + id).then(res => { + exportFile(name, res.data) + }) + } + useEffect(() => { + form.resetFields() + }, []) + useEffect(() => { + + let formType = type + if (type = 'edit') { + formType = 2 + } + if (type == 'view') { + formType = 1 + } + if (type == 'save') { + form.setFieldsValue(formJsonData) + formType = 0 + } + if (formType == 1 || formType == 2 || formType == 3) { + form.setFieldsValue(formJsonData) + if (formJsonData?.[fileKey]) { + setFileList(formJsonData[fileKey]) + } + + console.log(formJsonData, formJson); + // + + } + + return () => { + setFileList([]) + } + + }, [type, formJsonData, isModalOpen]) + + const handleTreeData = (treeData, searchValue = '') => { + const loop = (treeData) => + treeData.map((item) => { + const strTitle = item.legalName; + const index = strTitle?.indexOf(searchValue); + const beforeStr = strTitle.substring(0, index); + const afterStr = strTitle.slice(index + searchValue?.length); + const title = + index > -1 ? ( + + {beforeStr} + {searchValue} + {afterStr} + + ) : ( + {strTitle} + ); + if (item.children) { + return { title: title, key: item.id, children: loop(item.children), name: strTitle }; + } + if (index > -1) { + + console.log(index, strTitle, searchValue); + + dataList.push(item.id) + // setExpandedKeys(dataList); + if (dataList.length < 2) { + treeRef.current.scrollTo({ key: dataList[0].id }); + } + + } + return { + title: title, + key: item.id, + name: strTitle + }; + }); + + return loop(treeData); + }; + + 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; + }); + } - // - const [form] = Form.useForm(); + return ( +
+
+ + {formJson?.map(item => { + return ( + + {item.type == "input" && + + + } + {item.type == "title" && + - // function onDocumentLoadSuccess({ numPages }) { - // setRenderNumPages(numPages); - // } - const onFinish = (e) => { - } - const getInfo = () => { - form.validateFields().then((values) => { - - getFormInfo({ - ...values, - // caseDate: type != 'edit' ? values?.caseDate : "", - caseDate: values?.caseDate, - [fileKey]: fileList, fileIds: fileList.map(item => item.fileId) - }) - - setFileList([]) - }).catch((errorInfo) => { - console.log(errorInfo, 'error'); - }) - // - } - const cancel = () => { - getFormInfo(false) - form.resetFields() - setFileList([]) +
+
+ {item.content} +
+
} - } - const { Dragger } = Upload; - // const preView = (e) => { - // window.open('http://local.gunshiiot.com:18083/xintankou/api/file/preview/104') - // } - const deleteFile = (e) => { - // debugger; - let arr = fileList.filter(item => item.fileId !== e) - setFileList(arr) - } - const props = { - name: 'file', - multiple: true, - fileList: fileList, - showUploadList: false, - beforeUpload: (file, fileList) => { - if (fileType == "pic" && - (file.type != "image/jpeg" || file.type != "image/png" || file.type != "image/jpg")) { - message.error('仅支持上传jpg/png/jpeg格式的图片'); - return false; - } else { - return true; - } - }, - customRequest(e) { - setLoading(true); - httppostAddfile(uploadUrl, e).then(res => { - setLoading(false); - setFileList([...fileList, res.data]) - }) - } - }; - const onChange = () => { } - function checkMediaType(url) { - // 创建URL对象 - var link = url; - // 获取路径的最后一个点之后的内容作为文件扩展名 - var extension = link?.split('.').pop().toLowerCase(); + {item.type == "Select" && + } */} - // 判断文件扩展名是否在视频扩展名数组中 - if (file.includes(extension)) { - return extension; - } + {item.type == "Switch" && + + } - // 扩展名不在图片或视频数组中,返回null表示无法确定媒体类型 - return null; - } - const preView = (item) => { - if (checkMediaType(item.fileName) == 'pdf') { - // window.open(baseUrl + item.previewUrl) - setUrl(item.fileId) - setIsModal(true) - } + {/* {item.type == "Switch" && } */} - } + {item.type == "DatePicker" && + {/* {formJsonData[item.key]} */} + + } - /** - * @description 文件下载 - * @param {String} params 文件fileId - */ - const download = async(id, name) => { - var extension = name?.split('.').pop().toLowerCase(); - httpgetExport(downloadUrl+id).then(res => { - exportFile(name,res.data) - }) - } - useEffect(()=>{ - form.resetFields() - },[]) - useEffect(() => { - - let formType = type - if (type = 'edit') { - formType = 2 - } - if (type == 'view') { - formType = 1 - } - if (type == 'save') { - form.setFieldsValue(formJsonData) - formType = 0 - } - if (formType == 1 || formType == 2 || formType == 3) { - form.setFieldsValue(formJsonData) - if (formJsonData?.[fileKey]) { - setFileList(formJsonData[fileKey]) - } + {/* {item.type == "DatePicker" && } */} - console.log(formJsonData, formJson); - // + {item.type == "TextArea" && +