Compare commits

...

5 Commits

Author SHA1 Message Date
李神峰 bc353a29fc Merge branch 'lsf-dev' 2024-10-09 17:04:19 +08:00
xielei 8c99a043a3 Merge branch 'master' of http://10.0.41.100:3000/lishenfeng/tsg-web 2024-10-09 08:58:59 +08:00
xielei 933a9ef08f 页面搭建 2024-10-09 08:58:52 +08:00
秦子超 e8f667264b Merge branch 'master' of http://10.0.41.100:3000/lishenfeng/tsg-web 2024-10-08 17:14:15 +08:00
秦子超 426a9931da 修改 2024-10-08 17:14:14 +08:00
10 changed files with 87 additions and 32 deletions

View File

@ -19,13 +19,23 @@ const Page = ({showPanels}) => {
const [data,setData] = useState({})//水库
useEffect(()=>{
dispatch.map.setLayerVisible({ ShuiKuLayer: true })
// dispatch.map.setLayerVisible({ ShuiKuLayer: true })
dispatch.map.setLayerVisible({ HdswLayer: true })
getData()
return ()=>{
dispatch.map.setLayerVisible({ ShuiKuLayer: false })
dispatch.map.setLayerVisible({ HdswLayer: false })
}
},[])
useEffect(()=>{
if(myKey==='2'){
dispatch.map.setLayerVisible({ ShuiKuLayer: true })
}else{
dispatch.map.setLayerVisible({ ShuiKuLayer: false })
}
},[myKey])
useEffect(()=>{
if(mapObj){
setMyKey('1')

View File

@ -126,7 +126,7 @@ const HomePage = ({showPanels}) => {
dispatch.runtime.setHome()
setCheckedObj({ key:'11', label:'预警', labelRight:'预警', icon:'yujing' })
}else if(a==='2'){
// setShowTable(true)
setShowTable(true)
// dispatch.runtime.setHome()
setCheckedObj({ key:'21', label:'巡查巡检', labelRight:'工程巡检', icon:'shuiku' })
}else if(a==='3'){

View File

@ -25,7 +25,7 @@ const MyImg = ({ record }) => {
return (
<div style={{
flexGrow: 1,
height: '36vh',
height: '33vh',
overflow: 'hidden',
position: 'relative',
backgroundColor: "#eff3f6",

View File

@ -39,7 +39,7 @@ const Player: React.FC<IProps> = ({ activeKey, badgeType, tm, ts }) => {
const onSearchClick = (val:any) => {
setSelectTime(moment(val).format("YYYYMMDD"));
mapObj.getLayers().getArray().forEach((layer:any)=> {
mapObj && mapObj.getLayers().getArray().forEach((layer:any)=> {
if( (layer.values_.name) && (layer.values_.name).indexOf("radarImage") !== -1 ){
layer.setOpacity(0);
layer.setSource(null);
@ -105,7 +105,7 @@ const Player: React.FC<IProps> = ({ activeKey, badgeType, tm, ts }) => {
return ()=>{
dispatch.runtime.closeFeaturePopAll()
mapObj.getLayers().getArray().forEach((layer:any)=> {
mapObj && mapObj.getLayers().getArray().forEach((layer:any)=> {
if( (layer?.values_.name) && (layer?.values_.name)?.indexOf("radarImage") !== -1 ){
layer.dispose();
}
@ -138,7 +138,7 @@ const Player: React.FC<IProps> = ({ activeKey, badgeType, tm, ts }) => {
useEffect(() => {
//console.log("110",badgeType);
if(badgeType === 1){
mapObj.getView().setZoom(9);
mapObj && mapObj.getView().setZoom(9);
setTooltipOpen(true);
}
}, [badgeType]);
@ -146,7 +146,7 @@ const Player: React.FC<IProps> = ({ activeKey, badgeType, tm, ts }) => {
const setIndex = (index:any) => {
setNum(index);
mapObj.getLayers().getArray().forEach((layer:any)=> {
mapObj && mapObj.getLayers().getArray().forEach((layer:any)=> {
if( (layer.values_.name) && (layer.values_.name).indexOf("radarImage") !== -1 ){
layer.dispose();
}
@ -176,11 +176,11 @@ const Player: React.FC<IProps> = ({ activeKey, badgeType, tm, ts }) => {
// @ts-ignore
const deleteLayer = (layerId) => {
// @ts-ignore
var layer = mapObj.getLayers().getArray().find(function(layer) {
var layer = mapObj && mapObj.getLayers().getArray().find(function(layer) {
return layer.get('id') === layerId;
});
if (layer) {
mapObj.removeLayer(layer);
mapObj && mapObj.removeLayer(layer);
}
};
@ -223,7 +223,7 @@ const Player: React.FC<IProps> = ({ activeKey, badgeType, tm, ts }) => {
deleteLayer("radarImage");
mapObj.addLayer(sateCloudLayer);
mapObj && mapObj.addLayer(sateCloudLayer);
}
}
}, [radarImgData, mapObj, num, activeKey]);//radarImgData, mapObj, channelVariables, num

View File

@ -61,7 +61,7 @@ const Page = () => {
x: 200,
y: 60,
width: '80%',
height: 'calc(100% - 100px)'
height: 'calc(100% - 200px)'
}}
>
<div style={{ display: 'flex', justifyContent: 'center', alignItems: 'center', width:'72%',height:'98%',}}>

View File

@ -49,7 +49,8 @@ const Page = () => {
}
const { tableProps, search, refresh } = usePageTable(createCrudService(apiurl.gcdsj.qzqda.list).find_noCode);
console.log(tableProps);
/**
* @description pdf文件预览
* @param {String} params 文件预览url
@ -62,6 +63,9 @@ const Page = () => {
const onExport = () => {
let params = {
...searchVal,
pageSo:{
pageNum:1,pageSize:9999
}
}
httppost5(apiurl.gcdsj.qzqda.export, params).then(res => {
exportFile(`全周期档案.xlsx`,res.data)

View File

@ -4,6 +4,7 @@ import { useForm } from 'antd/lib/form/Form';
import { useEffect, useState } from 'react';
import { httpgetExport, httppostAddfile } from '../../../../utils/request';
import { exportFile } from '../../../../utils/tools';
import PdfView from './pdfView'
const { Dragger } = Upload;
@ -115,9 +116,9 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
return null;
}
const preView = (item) => {
if (checkMediaType(item.name) == 'pdf') {
if (checkMediaType(item.fileName) == 'pdf') {
// window.open(baseUrl + item.previewUrl)
setUrl(item.previewUrl)
setUrl(item.fileId)
setIsModal(true)
}
@ -209,6 +210,7 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
<Button type="" style={{ marginRight: 10 }} onClick={cancel}>取消</Button>
<Button type="primary" onClick={getInfo} loading={loading}>确定</Button>
</div>
<PdfView url={`${process.env.PUBLIC_URL}/static/pdf/web/viewer.html?file=${encodeURIComponent(`/gunshiApp/tsg/rescue/goods/file/download/${url}`)}`} isModal={isModal} setModalN={(e)=>setIsModal(e)}/>
</Form >
)

View File

@ -93,32 +93,22 @@ const Page = ({ mode, onCrudSuccess,record,submit }) => {
})
}
useEffect(()=>{
let obj = {
createName: localStorage.getItem('userName'),
createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
createBy:localStorage.getItem('userId')
}
if(mode == 'edit' || mode =='view'){
httpget(apiurl.szzf.ajdj.detail + record.id).then(async res=>{
let obj = {
createName: localStorage.getItem('userName'),
createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
createBy:localStorage.getItem('userId')
}
if(res.data?.caseDate){
obj.caseDate=dayjs(res.data.caseDate)
}
if(res.data?.illegalDate){
obj.illegalDate=dayjs(res.data.illegalDate)
}
// if(res.data.IllegalDate){
// obj.IllegalDate = dayjs(res.data.IllegalDate)
// }
}
setFormData({...res.data,...obj})
})
}else if(mode == 'save'){
let obj = {
createName: localStorage.getItem('userName'),
createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
createBy:localStorage.getItem('userId'),
}
setFormData({...obj})
}

View File

@ -4,6 +4,7 @@ import { useForm } from 'antd/lib/form/Form';
import { useEffect, useState } from 'react';
import { httpgetExport, httppostAddfile } from '../../../../utils/request';
import { exportFile } from '../../../../utils/tools';
import PdfView from './pdfView'
const { Dragger } = Upload;
@ -104,9 +105,9 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
return null;
}
const preView = (item) => {
if (checkMediaType(item.name) == 'pdf') {
if (checkMediaType(item.fileName) == 'pdf') {
// window.open(baseUrl + item.previewUrl)
setUrl(item.previewUrl)
setUrl(item.fileId)
setIsModal(true)
}
@ -173,6 +174,7 @@ const Page = ({ uploadUrl, downloadUrl, type, getFormInfo, formJsonData }) => {
<Button type="" style={{ marginRight: 10 }} onClick={cancel}>取消</Button>
<Button type="primary" onClick={getInfo} loading={loading}>确定</Button>
</div>
<PdfView url={`${process.env.PUBLIC_URL}/static/pdf/web/viewer.html?file=${encodeURIComponent(`/gunshiApp/tsg/rescue/goods/file/download/${url}`)}`} isModal={isModal} setModalN={(e)=>setIsModal(e)}/>
</Form >
)

View File

@ -0,0 +1,47 @@
import React, { Component, useEffect, useState } from 'react';
import { Document, Page, pdfjs } from 'react-pdf';
import { Modal } from 'antd';
const Pdf = ({ url,isModal,setModalN }) => {
const [isModalOpen, setIsModalOpen] = useState(false);
const handleOk = () => {
setIsModalOpen(false);
setModalN(false)
};
const handleCancel = () => {
setIsModalOpen(false);
setModalN(false)
};
useEffect(()=>{
setIsModalOpen(isModal)
},[isModal])
return (
<div>
<Modal
title={<div style={{ backgroundColor: '#259dff', padding: 10, color: "#fff" }}>pdf</div>}
open={isModalOpen}
width={1000}
onOk={handleOk}
footer={false}
onCancel={handleCancel}
style={{ marginTop: "-5%" }}
destroyOnClose>
<div style={{ padding: "0 10px" }}>
<iframe
style={{
height: '80vh',
width: '100%',
border: 0,
marginTop: 20,
}}
src={url}
/>
</div>
</Modal>
</div>
);
}
export default Pdf