Merge branch 'master' of http://10.0.41.100:3000/lishenfeng/tsg-web
commit
d3a55d163b
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.4 KiB |
|
|
@ -301,3 +301,121 @@ background-color: #ecf2f9 !important;
|
|||
.nonebox .ant-card-body {
|
||||
padding: 5px 20px !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.ant-radio-button-wrapper{
|
||||
height:28px;
|
||||
line-height:26px;
|
||||
border: 1px solid #0893FF !important;
|
||||
color:#0893FF;
|
||||
&.ant-radio-button-wrapper-checked{
|
||||
color: #fff !important;
|
||||
}
|
||||
.ant-radio-button-checked{
|
||||
background:#0893FF;
|
||||
border-color:#0893FF !important;
|
||||
}
|
||||
}
|
||||
|
||||
.normalModalStyle{
|
||||
width: 100%;
|
||||
// min-height: 600px;
|
||||
background-color: #fff;
|
||||
.ant-card-body{
|
||||
|
||||
.ant-table-thead{
|
||||
.ant-table-cell{
|
||||
background-color: #e2edfd !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.normalModalStyle_title{
|
||||
height: 40px;
|
||||
background-color: #f7f7f7;
|
||||
border-radius: 10px 10px 0 0 ;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: #007afd;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 10px;
|
||||
|
||||
.normalModalStyle_title_icon{
|
||||
margin: 0 10px 0 15px;
|
||||
width: 5px;
|
||||
height: 16px;
|
||||
background: #3477f5;
|
||||
}
|
||||
.normalModalStyle_title_cancel{
|
||||
margin-right: 15px;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.home_modal{
|
||||
.ant-modal-content{
|
||||
border-radius: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.homeModal1{
|
||||
// .ant-radio-button-wrapper:not(:first-child)::before{
|
||||
// background-color: red;
|
||||
// }
|
||||
|
||||
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.homeModal1_content{
|
||||
height: 504px;
|
||||
display: flex;
|
||||
padding: 5px 20px 20px 20px;
|
||||
.homeModal1_content_lf{
|
||||
width: 40%;
|
||||
height: 100%;
|
||||
}
|
||||
.homeModal1_content_rf{
|
||||
width: 60%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.homeModal2{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
.homeModal2_content{
|
||||
height: 504px;
|
||||
display: flex;
|
||||
padding: 5px 20px 20px 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.colorTable{
|
||||
.ant-table-thead{
|
||||
th{
|
||||
height: 40px !important;
|
||||
background-color: #e2edfd !important;
|
||||
}
|
||||
}
|
||||
.ant-table-tbody{
|
||||
.ant-table-measure-row{
|
||||
td{
|
||||
padding: 0 !important;
|
||||
}
|
||||
}
|
||||
tr:nth-child(odd) {
|
||||
td{
|
||||
background-color: #f5f8fe !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,12 +40,12 @@ async function send(url, options) {
|
|||
}
|
||||
|
||||
const { code } = res.data;
|
||||
if (code === 401) {
|
||||
//debugger;
|
||||
//window.location.href = '/mgr/home';// /mgr/home /login
|
||||
window.location.href = '/tsg/#/login';
|
||||
// window.location.hash = '#/login';
|
||||
}
|
||||
// if (code === 401) {
|
||||
// // debugger;
|
||||
// //window.location.href = '/mgr/home';// /mgr/home /login
|
||||
// window.location.href = '/tsg/#/login';
|
||||
// // window.location.hash = '#/login';
|
||||
// }
|
||||
return res.data;
|
||||
} catch (e) {
|
||||
//message.error(e);
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ export default function drpOption(data) {
|
|||
{
|
||||
type: 'category',
|
||||
data: data.map(o => o.tm),
|
||||
inverse: true,
|
||||
inverse: false,
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ const ToolBar = ({search, setTabVal, setTms}) => {
|
|||
<Form className='toolbarBox' layout="inline" onFinish={onFinish}>
|
||||
<Form.Item label="时间段" name="imgName">
|
||||
<RangePicker
|
||||
allowClear
|
||||
allowClear={false}
|
||||
defaultValue={[moment().add(-1,'months'),moment()]}
|
||||
onChange={onFinish}
|
||||
style={{ width: "300px" }}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,26 @@
|
|||
export default function drpOption(data) {
|
||||
export default function drpOption(data,yjData) {
|
||||
console.log("data",data);
|
||||
const maxVal = 0//Math.max(...data.map(obj => obj.drp))
|
||||
const max1 = Math.max(...data.map(obj => obj.value))
|
||||
const min1 = Math.min(...data.map(obj => obj.value))
|
||||
const max1 = Math.max(...[...data.map(obj => obj.value),...yjData.map(obj => obj.value)])
|
||||
const min1 = Math.min(...[...data.map(obj => obj.value),...yjData.map(obj => obj.value)])
|
||||
const max2 = Math.max(...data.map(obj => obj.rz))
|
||||
const min2 = Math.min(...data.map(obj => obj.rz))
|
||||
const yj = yjData?.map((item,index)=>{
|
||||
return {
|
||||
yAxisIndex: 0,
|
||||
name: item.yjName,
|
||||
type: 'line',
|
||||
color: item.color,
|
||||
lineStyle: {
|
||||
type: "dashed",
|
||||
width: 1,
|
||||
},
|
||||
data: data.map(o => item.value),
|
||||
symbol: 'none', // 设置标记点为'none',即去掉圆点
|
||||
smooth: 0.5
|
||||
}
|
||||
})
|
||||
|
||||
return {
|
||||
|
||||
tooltip: {
|
||||
|
|
@ -85,8 +101,8 @@ export default function drpOption(data) {
|
|||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
min: Math.floor(max1*0.8),
|
||||
max: Math.floor(min1*1.2),
|
||||
min: Math.floor(min1*0.8),
|
||||
max: Math.ceil(max1*1.2),
|
||||
},
|
||||
// {
|
||||
// // gridIndex: 1,
|
||||
|
|
@ -120,8 +136,8 @@ export default function drpOption(data) {
|
|||
// axisTick: {
|
||||
// show: false,
|
||||
// },
|
||||
// min: Math.floor(max2*0.8),
|
||||
// max: Math.floor(min2*1.2),
|
||||
// min: Math.floor(min2*0.8),
|
||||
// max: Math.ceil(max2*1.2),
|
||||
// }
|
||||
],
|
||||
series: [
|
||||
|
|
@ -138,6 +154,7 @@ export default function drpOption(data) {
|
|||
symbol: 'none', // 设置标记点为'none',即去掉圆点
|
||||
smooth: 0.5
|
||||
},
|
||||
...yj
|
||||
// {
|
||||
// // xAxisIndex: 1,
|
||||
// yAxisIndex: 1,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@ import drpOption from './drpOption';
|
|||
function ShenLiu({ id, data, dispatch, onCancel }) {
|
||||
console.log(data);
|
||||
const [ tableData, setTableData ] = useState([])
|
||||
const option = useMemo(() => drpOption(tableData), [tableData])
|
||||
const [ yjData, setYjData ] = useState([])
|
||||
const option = useMemo(() => drpOption(tableData,yjData), [tableData,yjData])
|
||||
const width = 780;
|
||||
|
||||
const closePop = () => {
|
||||
|
|
@ -38,7 +39,44 @@ function ShenLiu({ id, data, dispatch, onCancel }) {
|
|||
setTableData(data)
|
||||
}
|
||||
|
||||
const getYjData = async(stationCode)=>{
|
||||
const params = {
|
||||
"pageSo": {
|
||||
"pageSize": 10,
|
||||
"pageNumber": 1
|
||||
},
|
||||
"stationCode": stationCode
|
||||
}
|
||||
|
||||
const { code, data:{records}} = await httppost2(apiurl.gcaqjc.gcaqyj.yjgzpz.page,params)
|
||||
if(code!==200){
|
||||
return
|
||||
}
|
||||
const linshi = []
|
||||
records?.map((item)=>{
|
||||
if(item.status===0){
|
||||
return
|
||||
}
|
||||
if(item.valueOne||0){
|
||||
linshi.push({
|
||||
yjName:item.level ===1?'黄色预警':'红色预警',
|
||||
value:item.valueOne,
|
||||
color:item.level ===1?'#f1bf42':'red'
|
||||
})
|
||||
}
|
||||
if(item.valueTwo||0){
|
||||
linshi.push({
|
||||
yjName:item.level ===1?'黄色预警':'红色预警',
|
||||
value:item.valueTwo,
|
||||
color:item.level ===1?'#f1bf42':'red'
|
||||
})
|
||||
}
|
||||
})
|
||||
setYjData(linshi)
|
||||
}
|
||||
|
||||
useEffect(()=>{
|
||||
getYjData(data.stationCode)
|
||||
getData([moment().add(-1,'months'),moment()],data.stationCode)
|
||||
},[])
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ const ToolBar = ({search, defaultParams}) => {
|
|||
<Form form={form} className='toolbarBox' layout="inline" onFinish={onFinish}>
|
||||
<Form.Item label="时间段" name="tms">
|
||||
<RangePicker
|
||||
allowClear
|
||||
allowClear={false}
|
||||
defaultValue={[moment().add(-1,'months'),moment()]}
|
||||
onChange={(e)=>{
|
||||
form.setFieldValue('cysd',null)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,26 @@
|
|||
export default function drpOption(data) {
|
||||
export default function drpOption(data,yjData) {
|
||||
console.log("data",data);
|
||||
const maxVal = 0//Math.max(...data.map(obj => obj.drp))
|
||||
const max1 = Math.max(...data.map(obj => obj.value))
|
||||
const min1 = Math.min(...data.map(obj => obj.value))
|
||||
const max1 = Math.max(...[...data.map(obj => obj.value),...yjData.map(obj => obj.value)])
|
||||
const min1 = Math.min(...[...data.map(obj => obj.value),...yjData.map(obj => obj.value)])
|
||||
const max2 = Math.max(...data.map(obj => obj.rz))
|
||||
const min2 = Math.min(...data.map(obj => obj.rz))
|
||||
|
||||
const yj = yjData?.map((item,index)=>{
|
||||
return {
|
||||
yAxisIndex: 0,
|
||||
name: item.yjName,
|
||||
type: 'line',
|
||||
color: item.color,
|
||||
lineStyle: {
|
||||
type: "dashed",
|
||||
width: 1,
|
||||
},
|
||||
data: data.map(o => item.value),
|
||||
symbol: 'none', // 设置标记点为'none',即去掉圆点
|
||||
smooth: 0.5
|
||||
}
|
||||
})
|
||||
return {
|
||||
|
||||
tooltip: {
|
||||
|
|
@ -85,8 +101,8 @@ export default function drpOption(data) {
|
|||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
min: Math.floor(max1*0.8),
|
||||
max: Math.floor(min1*1.2),
|
||||
min: Math.floor(min1*0.8),
|
||||
max: Math.ceil(max1*1.2),
|
||||
},
|
||||
{
|
||||
// gridIndex: 1,
|
||||
|
|
@ -120,8 +136,8 @@ export default function drpOption(data) {
|
|||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
min: Math.floor(max2*0.8),
|
||||
max: Math.floor(min2*1.2),
|
||||
min: Math.floor(min2*0.8),
|
||||
max: Math.ceil(max2*1.2),
|
||||
}
|
||||
],
|
||||
series: [
|
||||
|
|
@ -151,6 +167,7 @@ export default function drpOption(data) {
|
|||
symbol: 'none', // 设置标记点为'none',即去掉圆点
|
||||
smooth: 0.5
|
||||
},
|
||||
...yj
|
||||
]
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,10 +11,11 @@ import drpOption from './drpOption';
|
|||
import '../TangYanBa.less'
|
||||
|
||||
function ShenYa({ id, data, dispatch, onCancel }) {
|
||||
console.log(data);
|
||||
console.log('SY',data);
|
||||
const [ tableData, setTableData ] = useState([])
|
||||
const [ yjData, setYjData ] = useState([])
|
||||
const [ tabVal, setTabVal ] = useState('1')
|
||||
const option = useMemo(() => drpOption(tableData), [tableData])
|
||||
const option = useMemo(() => drpOption(tableData,yjData), [tableData,yjData])
|
||||
const width = 780;
|
||||
|
||||
const closePop = () => {
|
||||
|
|
@ -41,7 +42,44 @@ function ShenYa({ id, data, dispatch, onCancel }) {
|
|||
setTableData(data)
|
||||
}
|
||||
|
||||
const getYjData = async(stationCode)=>{
|
||||
const params = {
|
||||
"pageSo": {
|
||||
"pageSize": 10,
|
||||
"pageNumber": 1
|
||||
},
|
||||
"stationCode": stationCode
|
||||
}
|
||||
|
||||
const { code, data:{records}} = await httppost2(apiurl.gcaqjc.gcaqyj.yjgzpz.page,params)
|
||||
if(code!==200){
|
||||
return
|
||||
}
|
||||
const linshi = []
|
||||
records?.map((item)=>{
|
||||
if(item.status===0){
|
||||
return
|
||||
}
|
||||
if(item.valueOne||0){
|
||||
linshi.push({
|
||||
yjName:item.level ===1?'黄色预警':'红色预警',
|
||||
value:item.valueOne,
|
||||
color:item.level ===1?'#f1bf42':'red'
|
||||
})
|
||||
}
|
||||
if(item.valueTwo||0){
|
||||
linshi.push({
|
||||
yjName:item.level ===1?'黄色预警':'红色预警',
|
||||
value:item.valueTwo,
|
||||
color:item.level ===1?'#f1bf42':'red'
|
||||
})
|
||||
}
|
||||
})
|
||||
setYjData(linshi)
|
||||
}
|
||||
|
||||
useEffect(()=>{
|
||||
getYjData(data.stationCode)
|
||||
getData([moment().add(-1,'months'),moment()],data.stationCode)
|
||||
},[])
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ const ToolBar = ({search, setTabVal}) => {
|
|||
<Form className='toolbarBox' layout="inline" onFinish={onFinish}>
|
||||
<Form.Item label="时间段" name="imgName">
|
||||
<RangePicker
|
||||
allowClear
|
||||
allowClear={false}
|
||||
defaultValue={[moment().add(-1,'months'),moment()]}
|
||||
onChange={onFinish}
|
||||
style={{ width: "300px" }}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,28 @@
|
|||
export default function drpOption(data) {
|
||||
export default function drpOption(data,yjData) {
|
||||
console.log("data",data);
|
||||
const maxVal = 0//Math.max(...data.map(obj => obj.drp))
|
||||
const max1 = Math.max(...data.map(obj => obj.x))
|
||||
const min1 = Math.min(...data.map(obj => obj.x))
|
||||
const max1 = Math.max(...[...data.map(obj => obj.x),...data.map(obj => obj.y),...data.map(obj => obj.h),...yjData.map(obj => obj.value)])
|
||||
const min1 = Math.min(...[...data.map(obj => obj.x),...data.map(obj => obj.y),...data.map(obj => obj.h),...yjData.map(obj => obj.value)])
|
||||
const max2 = Math.max(...data.map(obj => obj.rz))
|
||||
const min2 = Math.min(...data.map(obj => obj.rz))
|
||||
|
||||
|
||||
const yj = yjData?.map((item,index)=>{
|
||||
return {
|
||||
yAxisIndex: 0,
|
||||
name: item.yjName,
|
||||
type: 'line',
|
||||
color: item.color,
|
||||
lineStyle: {
|
||||
type: "dashed",
|
||||
width: 1,
|
||||
},
|
||||
data: data.map(o => item.value),
|
||||
symbol: 'none', // 设置标记点为'none',即去掉圆点
|
||||
smooth: 0.5
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
return {
|
||||
|
||||
tooltip: {
|
||||
|
|
@ -31,7 +49,7 @@ export default function drpOption(data) {
|
|||
{
|
||||
type: 'category',
|
||||
data: data.map(o => o.tm),
|
||||
inverse: true,
|
||||
inverse: false,
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
|
|
@ -85,8 +103,8 @@ export default function drpOption(data) {
|
|||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
max: Math.floor(max1*1.2)||100,
|
||||
min: Math.floor(min1*0.8)||0,
|
||||
max: Math.ceil(max1*1.2)||100,
|
||||
},
|
||||
{
|
||||
// gridIndex: 1,
|
||||
|
|
@ -120,8 +138,8 @@ export default function drpOption(data) {
|
|||
axisTick: {
|
||||
show: false,
|
||||
},
|
||||
max: Math.floor(max2*1.2),
|
||||
min: Math.floor(min2*0.8),
|
||||
max: Math.ceil(max2*1.2),
|
||||
}
|
||||
],
|
||||
series: [
|
||||
|
|
@ -177,6 +195,7 @@ export default function drpOption(data) {
|
|||
symbol: 'none', // 设置标记点为'none',即去掉圆点
|
||||
smooth: 0.5
|
||||
},
|
||||
...yj
|
||||
]
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,8 +12,10 @@ import drpOption from './drpOption';
|
|||
function ShenYa({ id, data, dispatch, onCancel }) {
|
||||
console.log(data);
|
||||
const [ tableData, setTableData ] = useState([])
|
||||
const [ yjData, setYjData ] = useState([])
|
||||
const [ tabVal, setTabVal ] = useState('1')
|
||||
const option = useMemo(() => drpOption(tableData), [tableData])
|
||||
// const option = useMemo(() => drpOption(tableData), [tableData])
|
||||
const option = useMemo(() => drpOption(tableData,yjData), [tableData,yjData])
|
||||
const width = 780;
|
||||
|
||||
const closePop = () => {
|
||||
|
|
@ -40,7 +42,44 @@ function ShenYa({ id, data, dispatch, onCancel }) {
|
|||
setTableData(data)
|
||||
}
|
||||
|
||||
const getYjData = async(stationCode)=>{
|
||||
const params = {
|
||||
"pageSo": {
|
||||
"pageSize": 10,
|
||||
"pageNumber": 1
|
||||
},
|
||||
"stationCode": stationCode
|
||||
}
|
||||
|
||||
const { code, data:{records}} = await httppost2(apiurl.gcaqjc.gcaqyj.yjgzpz.page,params)
|
||||
if(code!==200){
|
||||
return
|
||||
}
|
||||
const linshi = []
|
||||
records?.map((item)=>{
|
||||
if(item.status===0){
|
||||
return
|
||||
}
|
||||
if(item.valueOne||0){
|
||||
linshi.push({
|
||||
yjName:item.level ===1?'黄色预警':'红色预警',
|
||||
value:item.valueOne,
|
||||
color:item.level ===1?'#f1bf42':'red'
|
||||
})
|
||||
}
|
||||
if(item.valueTwo||0){
|
||||
linshi.push({
|
||||
yjName:item.level ===1?'黄色预警':'红色预警',
|
||||
value:item.valueTwo,
|
||||
color:item.level ===1?'#f1bf42':'red'
|
||||
})
|
||||
}
|
||||
})
|
||||
setYjData(linshi)
|
||||
}
|
||||
|
||||
useEffect(()=>{
|
||||
getYjData(data.stationCode)
|
||||
getData([moment().add(-1,'months'),moment()],data.stationCode)
|
||||
},[])
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ const ToolBar = ({search, setTabVal}) => {
|
|||
<Form className='toolbarBox' layout="inline" onFinish={onFinish}>
|
||||
<Form.Item label="时间段" name="imgName">
|
||||
<RangePicker
|
||||
allowClear
|
||||
allowClear={false}
|
||||
defaultValue={[moment().add(-1,'months'),moment()]}
|
||||
onChange={onFinish}
|
||||
style={{ width: "300px" }}
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ const Page = () => {
|
|||
</div>
|
||||
</div>
|
||||
<div style={{padding:'10px 60px 60px 60px'}}>
|
||||
<h4>标准文件:<a>GB3838-2002地表水环境质量标准.pdf</a></h4>
|
||||
<h4>标准文件:<a href='http://local.gunshiiot.com:18083/tsg/GB3838-2002地表水环境质量标准.pdf' target="_blank">GB3838-2002地表水环境质量标准.pdf</a></h4>
|
||||
<h4>本系统根据以下水质检测项目进行判断:</h4>
|
||||
<img width={'100%'} src={`${process.env.PUBLIC_URL}/assets/xyt/homeImg/shuizhi2.png`} alt="" />
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ const Page = ({mySetTms}) => {
|
|||
|
||||
const columns2 = [
|
||||
{ title: '上报时间', key: 'finishTime', dataIndex: 'finishTime',align: "center", ellipsis: true },
|
||||
{ title: '巡检问题描述', key: 'itemDesc', dataIndex: 'itemDesc',align: "center" },
|
||||
{ title: '巡检问题描述', key: 'problemDesc', dataIndex: 'problemDesc',align: "center" },
|
||||
];
|
||||
|
||||
useEffect(()=>{
|
||||
|
|
@ -164,14 +164,20 @@ const Page = ({mySetTms}) => {
|
|||
onRow={
|
||||
(data)=>({
|
||||
onClick:()=>{
|
||||
data.data = {
|
||||
"type":"MultiLineString",
|
||||
"coordinates":[[
|
||||
[114.746, 31.479],
|
||||
[114.776, 31.509]
|
||||
]]
|
||||
// data.data = {
|
||||
// "type":"MultiLineString",
|
||||
// "coordinates":[
|
||||
// [
|
||||
// [114.746, 31.479],
|
||||
// [114.776, 31.509]
|
||||
// ]
|
||||
// ]
|
||||
// }
|
||||
if(!data.data){
|
||||
message.error('无轨迹信息')
|
||||
return
|
||||
}
|
||||
addHlLayer(data.data,'HlItem_'+data.id,'#00FFFF',data)
|
||||
addHlLayer(data?.data,'HlItem_'+data.id,'#00FFFF',data)
|
||||
const center = geometryCenter({type:"LineString",coordinates:data.data.coordinates[0]});
|
||||
dispatch.runtime.setFeaturePop({
|
||||
id: data.id,
|
||||
|
|
|
|||
|
|
@ -12,12 +12,13 @@ const { Panel } = Collapse;
|
|||
const Page = ({showPanels}) => {
|
||||
const dispatch = useDispatch();
|
||||
const [myKey, setMyKey] = useState('1')
|
||||
const [badgeType, setBadgeType] = useState('雷达回波')
|
||||
const [badgeType, setBadgeType] = useState('')
|
||||
const [tmObj,setTmObj] = useState({
|
||||
tm:moment(),
|
||||
hours:'08'
|
||||
})
|
||||
useEffect(()=>{
|
||||
setBadgeType('雷达回波')
|
||||
dispatch.runtime.setCameraTarget({
|
||||
center: [115.2, 31.18],
|
||||
zoom: 9,
|
||||
|
|
@ -66,8 +67,7 @@ const Page = ({showPanels}) => {
|
|||
</div>
|
||||
|
||||
{
|
||||
(badgeType === '雷达回波'&&myKey==='1')
|
||||
? (
|
||||
(badgeType === '雷达回波'&&myKey==='1') ? (
|
||||
<div className='radarPageBox'>
|
||||
<RadarPage
|
||||
activeKey={'0'}
|
||||
|
|
|
|||
|
|
@ -28,9 +28,16 @@ const Page = ({record}) => {
|
|||
return [
|
||||
{ title: '序号', key: 'inx', dataIndex: 'inx', align:"center",render: (text, rec, index) => index + 1 },
|
||||
{ title: '时间', key: 'tm', dataIndex: 'tm', align:"center", width:180,render:v=>v.slice(0, 16)},
|
||||
{ title: '预测水位', key: 'ycSwHValue', dataIndex: 'ycSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
|
||||
{ title: '实测水位(m)', key: 'realSwHValue', dataIndex: 'realSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
|
||||
{ title: '预测水位(m)', key: 'ycSwHValue', dataIndex: 'ycSwHValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
|
||||
{ title: '预测入库流量', key: 'ycRkQValue', dataIndex: 'ycRkQValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
|
||||
{ title: '预测出库流量', key: 'ycCkQValue', dataIndex: 'ycCkQValue', align:"center",render:(v)=>v===null?'-':Number(v).toFixed(2)},
|
||||
{ title: '库容(万 ㎡)', key: 'nowCap', dataIndex: 'nowCap', align:"center",
|
||||
render:(v,row)=>{
|
||||
const val = v===null?'-':Number(v).toFixed(2)
|
||||
return <div style={{display:'flex',alignItems:'center',justifyContent:'center'}}>{val}{row.realSwHValue===null?<div style={{marginLeft:'5px',width:'20px',height:'20px',borderRadius:"10px",border:'1px solid rgb(245, 154, 35)',color:'rgb(245, 154, 35)',display:'flex',alignItems:'center',justifyContent:'center',fontSize:'12px'}}>预</div>:null}</div>
|
||||
}
|
||||
},
|
||||
];
|
||||
}
|
||||
},[record])
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ export default function Page({isHome}) {
|
|||
const columnsSl = [
|
||||
{ title: '监测点', key: 'stationCode', dataIndex: 'stationCode',align: "center", ellipsis: true },
|
||||
{ title: '监测时间', key: 'tm', dataIndex: 'tm',align: "center",width: 150, ellipsis: true, render:(v,row)=><div style={{color:row.flag===1?'red':'#3B4859'}}>{v?.slice(5,16)}</div> },
|
||||
{ title: '渗流量(L/s)', key: 'q', dataIndex: 'q',align: "center", ellipsis: true, render:(v,row)=><div style={{color:row.status===1?'red':'#3B4859'}}>{v}</div> },
|
||||
{ title: '渗流量(L/s)', key: 'value', dataIndex: 'value',align: "center", ellipsis: true, render:(v,row)=><div style={{color:row.status===1?'red':'#3B4859'}}>{v}</div> },
|
||||
]
|
||||
|
||||
const columnsWy = [
|
||||
|
|
@ -57,7 +57,7 @@ export default function Page({isHome}) {
|
|||
console.log(1111)
|
||||
// 大于0:滚轮向上滚动 小于0:滚轮向下滚动
|
||||
if (e.wheelDelta > 0) {
|
||||
scale += 0.05;
|
||||
scale += 0.02;
|
||||
img.style.transform = `scale(${scale})`;
|
||||
} else {
|
||||
if (scale == 1) {
|
||||
|
|
@ -66,7 +66,7 @@ export default function Page({isHome}) {
|
|||
}
|
||||
// 缩放值大于1时,可以缩小,反之亦然
|
||||
if (scale > 1) {
|
||||
scale -= 0.05;
|
||||
scale -= 0.02;
|
||||
img.style.transform = `scale(${scale})`;
|
||||
}
|
||||
}
|
||||
|
|
@ -138,7 +138,7 @@ export default function Page({isHome}) {
|
|||
setModalData(item)
|
||||
}}>
|
||||
{item.stationCode}
|
||||
<img width={20} src={`${process.env.PUBLIC_URL}/assets/xyt/fxdd/sy.png`} alt="" id="img" draggable="false" />
|
||||
<img width={20} src={`${process.env.PUBLIC_URL}/assets/xyt/fxdd/${item.status===1?'sy2.png':'sy.png'}`} alt="" id="img" draggable="false" />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
@ -149,7 +149,7 @@ export default function Page({isHome}) {
|
|||
setModalData(item)
|
||||
}}>
|
||||
{item.stationCode}
|
||||
<img width={20} src={`${process.env.PUBLIC_URL}/assets/xyt/fxdd/sl.png`} alt="" id="img" draggable="false" />
|
||||
<img width={20} src={`${process.env.PUBLIC_URL}/assets/xyt/fxdd/${item.status===1?'sl2.png':'sl.png'}`} alt="" id="img" draggable="false" />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
@ -160,7 +160,7 @@ export default function Page({isHome}) {
|
|||
setModalData(item)
|
||||
}}>
|
||||
{item.stationCode}
|
||||
<img width={20} src={`${process.env.PUBLIC_URL}/assets/xyt/fxdd/wy.png`} alt="" id="img" draggable="false" />
|
||||
<img width={20} src={`${process.env.PUBLIC_URL}/assets/xyt/fxdd/${(item.xstatus===1||item.ystatus===1||item.hstatus===1)?'wy2.png':'wy.png'}`} alt="" id="img" draggable="false" />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -185,6 +185,11 @@
|
|||
top: 594px;
|
||||
}
|
||||
|
||||
.gcaqjc_bzt_sl_SL02{
|
||||
left: 679px;
|
||||
top: 594px;
|
||||
}
|
||||
|
||||
.gcaqjc_bzt_wy_WY-G100{
|
||||
left: 394px;
|
||||
top: 376px;
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@ let color = ["#73a0fa", "#52c1f5"];
|
|||
let echartData = [
|
||||
{
|
||||
name: "生活供水",
|
||||
value: obj?.shgs
|
||||
value: parseFloat(obj?.shgs?.toFixed(2))
|
||||
},
|
||||
{
|
||||
name: "生态供水",
|
||||
value: obj?.stgs,
|
||||
value: parseFloat(obj?.stgs?.toFixed(2)),
|
||||
},
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -7,7 +7,8 @@ const ToolBar = ({ setSearchVal, exportFile, role }) => {
|
|||
const exportBtn = role?.rule?.find(item => item.menuName == "导出");
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
setSearchVal({...values,year: String(values.year)});
|
||||
// setSearchVal({...values,year: String(values.year)});
|
||||
setSearchVal({...values,year: moment(values.year).format("YYYY")});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -241,6 +241,23 @@ const EditableRow = ({ index, ...props }) => {
|
|||
})
|
||||
return arr
|
||||
}
|
||||
|
||||
const handleTableData2 = (obj) => {
|
||||
const names = Object.values(obj)?.[0]?.map(o=>o.teamUserName)
|
||||
const obj2 = {}
|
||||
for(let key in obj){
|
||||
const arr = []
|
||||
names?.map((name)=>{
|
||||
obj?.[key]?.map((item)=>{
|
||||
if(name===item.teamUserName){
|
||||
arr.push(item)
|
||||
}
|
||||
})
|
||||
})
|
||||
obj2[key] = arr
|
||||
}
|
||||
return obj2
|
||||
}
|
||||
// 获取清单查看数据
|
||||
const [qdColumns, setQdColumns] = useState(newcolumns)
|
||||
const [qdWidth, setQdWidth] = useState()
|
||||
|
|
@ -248,7 +265,8 @@ const EditableRow = ({ index, ...props }) => {
|
|||
try {
|
||||
const res = await httpget2(apiurl.rcgl.jdkh.khrwgl.qdView + `/${id}`)
|
||||
if (res.code == 200) {
|
||||
const result = handleTableData(res.data);
|
||||
const linshi = handleTableData2(res.data)//将接口里用户的顺序统一
|
||||
const result = handleTableData(linshi);
|
||||
const insertCols = [];
|
||||
result.forEach((item, index, arr) => {
|
||||
const total = arr?.reduce((total, cur) => total + (cur["assessScore" + index] || 0), 0)
|
||||
|
|
@ -355,6 +373,18 @@ const EditableRow = ({ index, ...props }) => {
|
|||
rectifyStatus:0
|
||||
}))
|
||||
}
|
||||
if(tableData.length>0){
|
||||
let flag = true //fasle有位评分的
|
||||
params.ratings?.map((item)=>{
|
||||
if(item.assessScore==null){
|
||||
flag = false
|
||||
}
|
||||
})
|
||||
if(!flag){
|
||||
message.error('请输入全部考核评分')
|
||||
return
|
||||
}
|
||||
}
|
||||
try {
|
||||
const res = await httppost2(apiurl.rcgl.jdkh.khrwgl.confirmpf, params)
|
||||
if (res.code == 200) {
|
||||
|
|
|
|||
|
|
@ -206,6 +206,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
|||
values.standardScore = standardScore1;
|
||||
if (mode === 'edit') {
|
||||
values.id = record.id;
|
||||
values.status = record.status;
|
||||
onEdit(apiurl.rcgl.jdkh.khzbgl.edit,values)
|
||||
}
|
||||
if (mode === 'save') {
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ const Page = () => {
|
|||
{title: '开始日期', key: 'startDate', dataIndex: 'startDate', width: 200},
|
||||
{title: '结束日期', key: 'endDate', dataIndex: 'endDate', width: 200},
|
||||
{title: '问题数量', key: 'problemNum', dataIndex: 'problemNum', width: 100,align: 'center'},
|
||||
{ title: '待处理', key: 'handleNum ', dataIndex: 'handleNum ', width: 100,align: 'center'},
|
||||
{ title: '待处理', key: 'handleNum', dataIndex: 'handleNum', width: 100,align: 'center'},
|
||||
{ title: '创建时间', key: 'createTime', dataIndex: 'createTime', width: 200 },
|
||||
{ title: '创建人', key: 'createUserName', dataIndex: 'createUserName', width: 150 },
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import moment from 'moment';
|
|||
import NormalSelect from '../../../../components/Form/NormalSelect';
|
||||
const { RangePicker } = DatePicker;
|
||||
const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
||||
const searchBtn = role?.rule?.find(item => item.menuName == "查询");
|
||||
const searchBtn = role?.rule?.find(item => item.menuName == "查询")||true;
|
||||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
|||
values.pointId = record.code;
|
||||
if (mode === 'edit') {
|
||||
values.id = record.id;
|
||||
values.status = record.status;
|
||||
onEdit(apiurl.rcgl.xcxj.xjxpz.edit,values)
|
||||
}
|
||||
if (mode === 'save') {
|
||||
|
|
|
|||
|
|
@ -77,9 +77,9 @@ const Page = () => {
|
|||
const [staData, setStaData] = useState()
|
||||
const pxOptions = useMemo(() => {
|
||||
if (staData) {
|
||||
return options(staData)
|
||||
return options(staData,searchChartVal.teamName)
|
||||
} else {
|
||||
return options({})
|
||||
return options({},searchChartVal.teamName)
|
||||
}
|
||||
}, [staData])
|
||||
const getStaData = async (params) => {
|
||||
|
|
@ -136,7 +136,7 @@ const Page = () => {
|
|||
<div className='second-item'>
|
||||
<img src={`${process.env.PUBLIC_URL}/assets/images/renchi.jpg`} alt='' />
|
||||
<div className='children-itm'>
|
||||
<span>本年培训期数</span>
|
||||
<span>本年培训人次</span>
|
||||
<span>计划/实际</span>
|
||||
<span><span style={{fontSize:22,fontWeight:"bold"}}>{ staData?.personNum2 ?? 1}</span> 人次/
|
||||
<span style={{fontSize:22,fontWeight:"bold"}}>{ staData?.personNum1 ?? 1}</span> 人次</span>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
export default function options(data={}) {
|
||||
export default function options(data={},teamName) {
|
||||
const xAxisData = data?.list?.map(item => item.month + "月")
|
||||
const maxCount = data?.list ? Math.ceil(Math.max(...data?.list?.map(obj => [obj.num1,obj.num2]).flat())) : 0
|
||||
const minCount = data?.list ? Math.floor(Math.min(...data?.list?.map(obj => [obj.num1, obj.num2]).flat())) : 100
|
||||
|
|
@ -96,7 +96,7 @@ export default function options(data={}) {
|
|||
],
|
||||
series: [
|
||||
{
|
||||
name: '计划期数',
|
||||
name: teamName===1?'计划人次':'计划期数',
|
||||
type: 'bar',
|
||||
barWidth: 25,
|
||||
data: data?.list?.map(item =>item.num2),
|
||||
|
|
@ -105,7 +105,7 @@ export default function options(data={}) {
|
|||
}
|
||||
},
|
||||
{
|
||||
name: '实际期数',
|
||||
name: teamName===1?'实际人次':'实际期数',
|
||||
type: 'bar',
|
||||
barWidth: 25,
|
||||
data: data?.list?.map(item =>item.num1),
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
|||
</p>
|
||||
</Dragger>
|
||||
}
|
||||
<Row gutter={[16]}>
|
||||
<Row gutter={[16]} style={{marginTop:"30px"}}>
|
||||
{
|
||||
fileList?.length > 0 && fileList?.map(file => {
|
||||
return (
|
||||
|
|
|
|||
Loading…
Reference in New Issue