Browse Source

路政管理优化帮交

dev
liujiangyong 1 year ago
parent
commit
3e3ad5f00e
  1. 101
      web/client/src/sections/fillion/components/luzhengmodel.js
  2. 88
      web/client/src/sections/fillion/containers/luzheng.js

101
web/client/src/sections/fillion/components/luzhengmodel.js

@ -4,47 +4,78 @@ import { Form, Input, Select, DatePicker, InputNumber, Button, Modal } from 'ant
import { unitList } from '../containers/assess' import { unitList } from '../containers/assess'
import { getAssess, delAssess, editAssess } from '../actions/assess'; import { getAssess, delAssess, editAssess } from '../actions/assess';
import moment from 'moment'; import moment from 'moment';
import { getRoadadministration,addRoadadministration,delRoadadministration,modifyRoadadministration } from '../actions/luzheng'; import { getRoadadministration, addRoadadministration, delRoadadministration, modifyRoadadministration } from '../actions/luzheng';
// import Uploads from "../../../../components/Upload/index" // import Uploads from "../../../../components/Upload/index"
// import Uploads from '../../../components/Upload/index' // import Uploads from '../../../components/Upload/index'
import Uploads from './uploads' import Uploads from './uploads'
const { Option } = Select; const { Option } = Select;
const LuzhengModel = ({ editData, check, visible, onCancel, dispatch }) => { const LuzhengModel = ({ editData, check, visible, onCancel, dispatch }) => {
const [form] = Form.useForm(); const [form] = Form.useForm();
console.log(editData,'editData') // console.log(editData,'editData')
return ( return (
<Modal <Modal
title="路政信息" title="路政信息"
open={visible} open={visible}
visible={visible} visible={visible}
footer={check?null:undefined} cancelButtonProps={{
// cancelButtonProps={{ disabled: check,
// disabled: check, }}
// }} footer={!check ? [
<Button key="submit" type="primary" onClick={() => {
if (check) {
return onCancel()
}
form.validateFields().then(values => {
if (editData) {
dispatch(modifyRoadadministration(editData?.id, {
...values
})).then(res => {
if (res.success) {
onCancel()
}
})
} else {
dispatch(addRoadadministration({
...values,
})).then(res => {
if (res.success) {
onCancel()
}
})
}
})
}}>
确定
</Button>,
<Button onClick={onCancel}>
取消
</Button>
] : null}
onOk={() => { onOk={() => {
if (check) { if (check) {
return onCancel() return onCancel()
} }
form.validateFields().then(values => { form.validateFields().then(values => {
if(editData){ if (editData) {
dispatch(modifyRoadadministration(editData?.id,{ dispatch(modifyRoadadministration(editData?.id, {
...values ...values
})).then(res => { })).then(res => {
if (res.success) { if (res.success) {
onCancel() onCancel()
} }
}) })
}else{ } else {
dispatch(addRoadadministration({ dispatch(addRoadadministration({
...values, ...values,
})).then(res => { })).then(res => {
if (res.success) { if (res.success) {
onCancel() onCancel()
} }
}) })
} }
}) })
}} }}
onCancel={() => { onCancel={() => {
@ -66,43 +97,43 @@ const LuzhengModel = ({ editData, check, visible, onCancel, dispatch }) => {
}} }}
> >
<Form.Item name="enforcementdate" label="执法日期" rules={[{ required: true, message: '请填写' }]}> <Form.Item name="enforcementdate" label="执法日期" rules={[{ required: true, message: '请填写' }]}>
{/* <Select> {/* <Select>
{                         {
unitList.map(item => (                             unitList.map(item => (
<Option value={item} key={item} />                                 <Option value={item} key={item} />
))                             ))
}                         }
</Select> */}                     </Select> */}
<DatePicker/> <DatePicker />
</Form.Item> </Form.Item>
<Form.Item name="roadname" label="执法道路" rules={[{ required: true, message: '请填写' },{ max: 100, message: '不可超过一百个字符' }]}> <Form.Item name="roadname" label="执法道路" rules={[{ required: true, message: '请填写' }, { max: 100, message: '不可超过一百个字符' }]}>
<Input/> <Input />
</Form.Item> </Form.Item>
<Form.Item name="enforcementreslt" label="执法成果" rules={[{ required: true, message: '请填写' },{ max: 100, message: '不可超过一百个字符' }]}> <Form.Item name="enforcementreslt" label="执法成果" rules={[{ required: true, message: '请填写' }, { max: 100, message: '不可超过一百个字符' }]}>
<Input/> <Input />
</Form.Item> </Form.Item>
<Form.Item name="picfile" label="执法图片"> <Form.Item name="picfile" label="执法图片">
<Uploads <Uploads
maxFilesNum={3} maxFilesNum={3}
fileTypes={['png','jpg','jpeg']} fileTypes={['png', 'jpg', 'jpeg']}
maxFileSize={200} maxFileSize={200}
fileList={editData?.picfile} fileList={editData?.picfile}
listType ={'picture-card'} listType={'picture-card'}
isedit={editData?true:false} isedit={editData ? true : false}
/> />
</Form.Item> </Form.Item>
</Form> </Form>
</Modal> </Modal>
); );
}; };
function mapStateToProps (state) { function mapStateToProps(state) {
const { auth, assess } = state const { auth, assess } = state
return { return {
user: auth.user, user: auth.user,
assess: assess.data || [] assess: assess.data || []
} }
} }
export default connect(mapStateToProps)(LuzhengModel); export default connect(mapStateToProps)(LuzhengModel);

88
web/client/src/sections/fillion/containers/luzheng.js

@ -1,10 +1,10 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import { getAssess, delAssess, editAssess } from '../actions/assess'; import { getAssess, delAssess, editAssess } from '../actions/assess';
import { getRoadadministration,addRoadadministration,delRoadadministration,modifyRoadadministration } from '../actions/luzheng'; import { getRoadadministration, addRoadadministration, delRoadadministration, modifyRoadadministration } from '../actions/luzheng';
import ProTable from '@ant-design/pro-table'; import ProTable from '@ant-design/pro-table';
import AssessModal from '../components/luzhengmodel'; import AssessModal from '../components/luzhengmodel';
import { Form, Space, DatePicker, Button, Select, Popconfirm ,Image} from 'antd' import { Form, Space, DatePicker, Button, Select, Popconfirm, Image, Tooltip } from 'antd'
import moment from 'moment'; import moment from 'moment';
import { values } from 'lodash'; import { values } from 'lodash';
@ -35,13 +35,13 @@ function Assess(props) {
const [query, setQuery] = useState({ page: 1, pageSize: 10 }) const [query, setQuery] = useState({ page: 1, pageSize: 10 })
const [loading, setLoading] = useState(false); const [loading, setLoading] = useState(false);
const [isCheck, setIsCheck] = useState(false) const [isCheck, setIsCheck] = useState(false)
const [datasource,setdatasource] = useState([]) const [datasource, setdatasource] = useState([])
const [dateRange, setDateRange] = useState(['1970-1-1', '2099-12-31']); const [dateRange, setDateRange] = useState(['1970-1-1', '2099-12-31']);
const { RangePicker } = DatePicker const { RangePicker } = DatePicker
const [total,settotal]= useState(0) const [total, settotal] = useState(0)
const [editAble, setEditAble] = useState(user?.username !== 'SuperAdmin' && user?.userResources?.find(i => i.resourceId === 'ASSESSMANAGE')?.isshow === "true" ? true : '') const [editAble, setEditAble] = useState(user?.username !== 'SuperAdmin' && user?.userResources?.find(i => i.resourceId === 'ASSESSMANAGE')?.isshow === "true" ? true : '')
useEffect(() => { useEffect(() => {
return () => { }; return () => { };
}, []); }, []);
@ -51,9 +51,9 @@ function Assess(props) {
const getData = () => { const getData = () => {
setLoading(true) setLoading(true)
console.log(query,'query') console.log(query, 'query')
dispatch(getRoadadministration({...query})).then(res => { dispatch(getRoadadministration({ ...query })).then(res => {
if(res?.success){ if (res?.success) {
setdatasource(res?.payload?.data?.rows) setdatasource(res?.payload?.data?.rows)
settotal(res?.payload?.data?.count) settotal(res?.payload?.data?.count)
setLoading(false) setLoading(false)
@ -65,14 +65,16 @@ function Assess(props) {
<div> <div>
<div style={{ marginBottom: '20px', display: 'flex', justifyContent: 'space-between' }}> <div style={{ marginBottom: '20px', display: 'flex', justifyContent: 'space-between' }}>
<Form layout="inline" onFinish={(v) => { <Form layout="inline" onFinish={(v) => {
setQuery({ ...query, page:1,unit: v.unit,startTime : v?.time && moment(v?.time[0]).startOf('day').format('YYYY-MM-DD HH:mm:ss'), setQuery({
endTime : v?.time && moment(v?.time[1]).add(1, 'days').endOf('day').format('YYYY-MM-DD HH:mm:ss') }) ...query, page: 1, unit: v.unit, startTime: v?.time && moment(v?.time[0]).startOf('day').format('YYYY-MM-DD HH:mm:ss'),
endTime: v?.time && moment(v?.time[1]).add(1, 'days').endOf('day').format('YYYY-MM-DD HH:mm:ss')
})
}}> }}>
<Form.Item name="time" label="执行日期"> <Form.Item name="time" label="执行日期">
<RangePicker onChange={(date, dateString) => { setDateRange(dateString) }} style={{ marginRight: '50px' }} /> <RangePicker onChange={(date, dateString) => { setDateRange(dateString) }} style={{ marginRight: '50px' }} />
</Form.Item> </Form.Item>
<Form.Item> <Form.Item>
@ -90,40 +92,50 @@ function Assess(props) {
title: '执法日期', title: '执法日期',
dataIndex: 'enforcementdate', dataIndex: 'enforcementdate',
key: 'enforcementdate', key: 'enforcementdate',
render:(t,r)=>{ render: (t, r) => {
return r?.enforcementdate?moment(r?.enforcementdate).format('YYYY-MM-DD'):'--' return r?.enforcementdate ? moment(r?.enforcementdate).format('YYYY-MM-DD') : '--'
} }
}, },
{ {
title: '执法道路', title: '执法道路',
dataIndex: 'roadname', dataIndex: 'roadname',
key: 'roadname' key: 'roadname',
render: (t, r) => {
return <Tooltip title={r?.roadname}>
<span className='shenglve'>{r?.roadname && r?.roadname?.length > 20 ? r?.roadname?.substr(0, 20) + '...' : r?.roadname}</span>
</Tooltip>
}
}, },
{ {
title: '执法成果', title: '执法成果',
dataIndex: 'enforcementreslt', dataIndex: 'enforcementreslt',
key: 'enforcementreslt', key: 'enforcementreslt',
render: (t, r) => {
return <Tooltip title={r?.enforcementreslt}>
<span className='shenglve'>{r?.enforcementreslt && r?.enforcementreslt?.length > 20 ? r?.enforcementreslt?.substr(0, 20) + '...' : r?.enforcementreslt}</span>
</Tooltip>
}
}, },
{ {
title: '执法图片', title: '执法图片',
dataIndex: 'picfile', dataIndex: 'picfile',
key: 'picfile', key: 'picfile',
render:(t,r)=>{ render: (t, r) => {
if(r?.picfile && r?.picfile?.length!==0){ if (r?.picfile && r?.picfile?.length !== 0) {
return r?.picfile?.map(i=>{ return r?.picfile?.map(i => {
return <span style={{marginRight:10}}> return <span style={{ marginRight: 10 }}>
<Image src={i?.url} width={80}/> <Image src={i?.url} width={80} />
</span> </span>
}) })
}else{ } else {
return '--' return '--'
} }
} }
}, },
{ {
@ -139,8 +151,8 @@ function Assess(props) {
<Button type="link" onClick={() => { <Button type="link" onClick={() => {
setAssessModalVisible(true) setAssessModalVisible(true)
setEditData(record) setEditData(record)
}} disabled = { editAble }>编辑</Button> }} disabled={editAble}>编辑</Button>
<Popconfirm <Popconfirm
title="确定删除此条数据吗?" title="确定删除此条数据吗?"
onConfirm={() => { onConfirm={() => {
@ -148,8 +160,8 @@ function Assess(props) {
dispatch(delRoadadministration(record.id)).then(res => { dispatch(delRoadadministration(record.id)).then(res => {
setLoading(false) setLoading(false)
if (res.success) { if (res.success) {
setQuery({...query, page: 1, pageSize: 10, limit: 10}) setQuery({ ...query, page: 1, pageSize: 10, limit: 10 })
// getData(page) // getData(page)
} }
}) })
}} }}
@ -167,7 +179,7 @@ function Assess(props) {
defaultPageSize: 10, defaultPageSize: 10,
showSizeChanger: false, showSizeChanger: false,
onChange: (page, pageSize) => { onChange: (page, pageSize) => {
console.log(page,'page') console.log(page, 'page')
setQuery({ setQuery({
...query, ...query,
page, limit: pageSize page, limit: pageSize
@ -179,7 +191,7 @@ function Assess(props) {
search={false} search={false}
/> />
{ {
assessModalVisible ? <AssessModal check={isCheck} visible={assessModalVisible} editData={editData} onCancel={() => { assessModalVisible ? <AssessModal check={isCheck} visible={assessModalVisible} editData={editData} onCancel={() => {
getData() getData()
setIsCheck(false) setIsCheck(false)
setEditData(null) setEditData(null)

Loading…
Cancel
Save