diff --git a/api/app/lib/controllers/patrolManage/patrolReport.js b/api/app/lib/controllers/patrolManage/patrolReport.js index 9ff6c05..acf6bb0 100644 --- a/api/app/lib/controllers/patrolManage/patrolReport.js +++ b/api/app/lib/controllers/patrolManage/patrolReport.js @@ -5,7 +5,10 @@ async function getPatrolReport(ctx, next) { const models = ctx.fs.dc.models; const { limit, page, projectId, startTime, endTime } = ctx.query; let options = { - where: {} + where: {}, + include: [{ + model: models.Project + }] }; if (limit) { options.limit = Number(limit); diff --git a/web/client/src/sections/patrolManage/actions/report.js b/web/client/src/sections/patrolManage/actions/report.js index ca1d63e..39a3878 100644 --- a/web/client/src/sections/patrolManage/actions/report.js +++ b/web/client/src/sections/patrolManage/actions/report.js @@ -3,13 +3,13 @@ import { basicAction } from '@peace/utils' import { ApiTable } from '$utils' -// export function getPatrolReport (query) { -// return dispatch => basicAction({ -// type: 'get', -// query, -// dispatch: dispatch, -// actionType: 'GET_PATROL_REPORT', -// url: ApiTable.getPatrolReport, -// msg: { error: '获取巡检报告失败' }, -// }); -// } \ No newline at end of file +export function getPatrolReport (query) { + return dispatch => basicAction({ + type: 'get', + query, + dispatch: dispatch, + actionType: 'GET_PATROL_REPORT', + url: ApiTable.patrolReport, + msg: { error: '获取巡检报告失败' }, + }); +} \ No newline at end of file diff --git a/web/client/src/sections/patrolManage/containers/patrolReport.js b/web/client/src/sections/patrolManage/containers/patrolReport.js index dee37e8..0167421 100644 --- a/web/client/src/sections/patrolManage/containers/patrolReport.js +++ b/web/client/src/sections/patrolManage/containers/patrolReport.js @@ -1,20 +1,43 @@ -import React, { useState, useRef } from 'react'; +import React, { useState, useRef, useEffect } from 'react'; import { connect } from 'react-redux'; import { Button } from 'antd'; import ProTable from '@ant-design/pro-table'; -import { getCheckItems } from '../actions/checkItems'; +import { getPatrolReport } from '../actions/report'; +import { getProjectList } from '../actions/plan'; +import moment from 'moment'; function patrolReport(props) { const { dispatch } = props; const tableRef = useRef(); - const [dataSource, setDataSource] = useState([{}]); + const [selectOpts, setSelectOpts] = useState([]); + const [date, setDate] = useState([moment(), moment()]); + const [dataSource, setDataSource] = useState([]); + + const qnDomain = localStorage.getItem('qnDomain'); + + useEffect(() => { + dispatch(getProjectList()).then(res => { + if (res.success) { + const nextSelectOpts = res.payload?.data?.rows.map(d => { + return { label: d.name, value: d.id } + }) + setSelectOpts(nextSelectOpts) + } + }); + }, []) const columns = [{ title: '结构物名称', - dataIndex: 'name', - key: 'name', + dataIndex: 'projectName', + key: 'projectName', + valueType: 'select', + fieldProps: { + defaultValue: '', + options: [{ label: '全部', value: '' }, ...selectOpts], + }, ellipsis: true, width: 150, + render: (_, record) =>