From 1719155602ef0d6f9d849ad50c44d46efb5935e6 Mon Sep 17 00:00:00 2001 From: qzc Date: Fri, 11 Oct 2024 09:39:55 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E5=BA=A6=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/models/auth/_.ts | 3 + src/service/apiurl.js | 8 + src/views/AppRouters.tsx | 2 + src/views/szydd/ddjl/form.js | 315 ++++++++++++++++++++++++++++++++ src/views/szydd/ddjl/index.js | 184 +++++++++++++++++++ src/views/szydd/ddjl/index.less | 30 +++ src/views/szydd/ddjl/toolbar.js | 87 +++++++++ 7 files changed, 629 insertions(+) create mode 100644 src/views/szydd/ddjl/form.js create mode 100644 src/views/szydd/ddjl/index.js create mode 100644 src/views/szydd/ddjl/index.less create mode 100644 src/views/szydd/ddjl/toolbar.js diff --git a/src/models/auth/_.ts b/src/models/auth/_.ts index 1447caaad..c9603cca4 100644 --- a/src/models/auth/_.ts +++ b/src/models/auth/_.ts @@ -416,6 +416,9 @@ export async function loadMenu(): Promise { { id: id(), title: '年度渗流统计表', path: '/mgr/gcaqjc/sjtjcx/ndsltjb' }, ] }, + { + id: id(), title: '调度记录', path: '/mgr/gcaqjc/gcaqyj/diaodu', + }, ], }, diff --git a/src/service/apiurl.js b/src/service/apiurl.js index 0d2564764..a186a62b4 100644 --- a/src/service/apiurl.js +++ b/src/service/apiurl.js @@ -1138,6 +1138,14 @@ const apiurl = { upload:service_fxdd + '/SzRegulatoryFramework/file/upload/singleSimple', download:service_fxdd + '/SzRegulatoryFramework/file/download/', list:service_fxdd + '/SzRegulatoryFramework/page' + }, + + ddjl:{ + page: service_fxdd + '/dispatchRecord/page', + save: service_fxdd + '/dispatchRecord/insert', + edit: service_fxdd + '/dispatchRecord/update', + del: service_fxdd + '/dispatchRecord/del', + export: service_fxdd + '/dispatchRecord/export', } } diff --git a/src/views/AppRouters.tsx b/src/views/AppRouters.tsx index 346936b12..394e1f035 100644 --- a/src/views/AppRouters.tsx +++ b/src/views/AppRouters.tsx @@ -110,6 +110,7 @@ import Ajtj from './sz/szzf/ajtj' import Clyj from './sz/szzf/clyj' import Krgl from './KrLine' +import Ddjl from './szydd/ddjl' @@ -174,6 +175,7 @@ const AppRouters: React.FC = () => { { path: 'gcaqjc/gcaqyj/bzt', element: }, { path: 'gcaqjc/gcaqyj/yhyj', element: }, { path: 'gcaqjc/gcaqyj/yjgzpz', element: }, + { path: 'gcaqjc/gcaqyj/diaodu', element: }, //统计 { path: 'gcaqjc/sjtjcx/syjx', element: }, diff --git a/src/views/szydd/ddjl/form.js b/src/views/szydd/ddjl/form.js new file mode 100644 index 000000000..6b097cbc2 --- /dev/null +++ b/src/views/szydd/ddjl/form.js @@ -0,0 +1,315 @@ +import React,{useEffect,useState,useMemo,useRef} from 'react'; +import { Form, Button, Input, Row,Upload, Col, Table, DatePicker, InputNumber,message,Image,Modal,Typography ,Popconfirm } from 'antd'; +import { DeleteOutlined,FileWordOutlined,FilePdfOutlined,FileZipOutlined,FileExcelOutlined } from '@ant-design/icons'; +import { formItemLayout, btnItemLayout } from '../../../components/crud/FormLayoutProps'; + +import apiurl from '../../../service/apiurl'; + +import NormalSelect from '../../../components/Form/NormalSelect'; + +import "./index.less" +import moment from 'moment'; +const { RangePicker } = DatePicker +const { Dragger } = Upload; +const url = "http://223.75.53.141:9102/test.by-lyf.tmp" + + +const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => { + + const [form] = Form.useForm(); + const [fileList, setFileList] = useState([]) //上传文件列表 + const [fileIds, setFileIds] = useState([]) + const [iframeSrc, setIframeSrc] = useState('') + const [pdfViewOPen, setPdfViewOPen] = useState(false) + const [flag,setFlag] = useState(false) + + const [loading, setLoading] = useState(false) + + /** + * @description 文件下载 + * @param {String} params 文件fileId + */ + const download = (params) => { + let downloadLink = document.createElement("a"); + downloadLink.href = `http://local.gunshiiot.com:18083/gunshiApp/tsg/safety/hazard/invest/file/download/${params.fileId}`; + downloadLink.download = `${params.fileName}`; + downloadLink.style.display = "none"; + // 将链接添加到页面中 + document.body.appendChild(downloadLink); + + // 模拟点击事件,开始下载 + downloadLink.click(); + } + /** + * @description 上传图片 + * @param {string} file 上传的文件 + */ + const fileChange = (info) => { + if (info.file.status === "done") { + setLoading(false); + } + if (info.file.status === "uploading") { + setLoading(true); + } + if (info.file.status === "error") { + message.error("文件上传失败") + setLoading(false); + } + let fileIds = info.fileList?.map(file => { + return file.response?.data?.fileId + }) + setFileIds(fileIds) + setFileList(info.fileList) +} + /** + * @description pdf文件预览 + * @param {String} params 文件预览url + */ + const viewPdf = (params) => { + setIframeSrc(params) + setPdfViewOPen(true) + } + + + const onfinish = (values) => { + let oldFiles = fileList?.map(item => ({fileId:item.response?.data?.fileId}) ) + if (mode === 'edit') { + values.files = oldFiles; + values.id = record.id; + // values.opUserId = record.opUserId; + onEdit(apiurl.ddjl.edit,values) + } + if (mode === 'save') { + values.files = oldFiles + onSave(apiurl.ddjl.save,values) + } + } + + /** + * @description 删除上传的图片 + * @param {string} id 删除的id + */ + const deleteFile = (fileId) => { + console.log(fileId); + let filterFile = fileList.filter(item => item.response?.data?.fileId !== fileId); + setFileList(filterFile) + } + useEffect(() => { + if (mode != 'save') { + const imgFile = record?.files?.map(o => ({ + name: o.fileName, + response: { + data: { + filePath: o.filePath, + fileId:o.fileId + } + }, + })) + setFileList(imgFile) + } + }, [record, mode]) + + + + return ( + <> +
{ + setFlag(b.status===0?false:true) + }} + > + + + dateString} + getValueProps={(value) => ({ value: value ? moment(value) : undefined })} + rules={[{required: true}]} + > + + + + + dateString} + getValueProps={(value) => ({ value: value ? moment(value) : undefined })} + rules={[{required: flag}]} + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {mode !== "view" && + { console.log(info.dataTransfer.files); }} + fileList={fileList} + disabled={loading} + // onSuccess={handleSuccess} + > +

点击或拖拽文件到此区域上传

+

+ 支持扩展名:.doc .docx .pdf .jpg .png .xlsx .xls +

+
+ } + + { + fileList?.length > 0 && fileList?.map(file => { + return ( + +
+
+ {file.name.indexOf('.docx') > -1 ? +
{ download(file.response?.data?.fileId) }} + style={{ cursor: 'pointer' }} + > + +
+ : + file.name.indexOf('.pdf') > -1 ? +
{ viewPdf(file.response?.data?.fileId) }} + style={{ cursor: 'pointer' }} + > + +
+ : + file.name.indexOf('.zip') > -1 ? +
{ download(file.response?.data?.fileId) }} + style={{ cursor: 'pointer' }} + > + +
+ : + file.name.indexOf('.xlsx') > -1 ? +
{ download(file.response?.data?.fileId) }} + style={{ cursor: 'pointer' }} + > + +
+ : + + } + {file.name} +
+
deleteFile(file.response?.data?.fileId)}> + +
+
+ + ) + }) + } +
+
+ +
+ { + mode==='view'?null:( + <> + + + + + ) + } +
+ { + setPdfViewOPen(false) + }} + > +