Compare commits
No commits in common. "e2105c1019c73bd91d8eca38cea6463c68ab7538" and "bbf2db06ac4e2172a6f5e531877c6d9f0a537f9a" have entirely different histories.
e2105c1019
...
bbf2db06ac
|
|
@ -33,7 +33,6 @@
|
|||
"gsap": "^3.11.5",
|
||||
"http-proxy-middleware": "^2.0.6",
|
||||
"js-md5": "^0.8.3",
|
||||
"konva": "^8.3.14",
|
||||
"lodash": "^4.17.21",
|
||||
"moment": "^2.29.4",
|
||||
"ol": "^7.4.0",
|
||||
|
|
@ -44,7 +43,6 @@
|
|||
"react-audio-player": "^0.17.0",
|
||||
"react-cookies": "^0.1.1",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-konva": "^18.2.3",
|
||||
"react-pdf": "^7.3.3",
|
||||
"react-redux": "^8.0.2",
|
||||
"react-rnd": "^10.4.11",
|
||||
|
|
@ -52,7 +50,10 @@
|
|||
"react-router-dom": "^6.3.0",
|
||||
"react-scripts": "5.0.1",
|
||||
"redux": "^4.2.0",
|
||||
"typescript": "^4.7.4"
|
||||
"typescript": "^4.7.4",
|
||||
"konva": "^8.3.14",
|
||||
"react-konva": "^18.2.3"
|
||||
|
||||
},
|
||||
"scripts": {
|
||||
"start": "craco start",
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.6 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.0 KiB |
|
|
@ -74,8 +74,6 @@ const DashboardLayout: React.FC = () => {
|
|||
|
||||
const location = useLocation();
|
||||
const navigate = useNavigate();
|
||||
// debugger;
|
||||
console.log(location.pathname);
|
||||
|
||||
const pathname = location.pathname;
|
||||
const dispatch = useDispatch<Dispatch>();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
import { MenuItem } from "../_";
|
||||
|
||||
export function findMenu(menus: MenuItem[], pathname: string) {
|
||||
//document.title = TITLE;
|
||||
|
||||
if (!menus) {
|
||||
return [];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -361,12 +361,12 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
|||
|
||||
useEffect(() => {
|
||||
if (mode !== "save") {
|
||||
let dateSo = [
|
||||
let dataSo = [
|
||||
record.validStartDate? moment(record.validStartDate):'',
|
||||
record.validEndDate? moment(record.validEndDate): ''
|
||||
]
|
||||
|
||||
form.setFieldsValue({...record,dateRangeSo:dateSo})
|
||||
form.setFieldsValue({...record,dateRangeSo:dataSo})
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ const Page = () => {
|
|||
{ title: '联系电话', key: 'phone', dataIndex: 'phone', width: 150, ellipsis: true },
|
||||
{ title: '登记日期', key: 'registerDate', dataIndex: 'registerDate', width: 150, ellipsis: true },
|
||||
{
|
||||
title: '有效期限', key: 'dateSo', dataIndex: 'dateSo', width: 250,
|
||||
title: '有效期限', key: 'dataSo', dataIndex: 'dataSo', width: 250,
|
||||
render: (value, row, index) => {
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -128,14 +128,14 @@ const ModalForm = ({ mode, record,onEdit,onSave,onSimilarSave }) => {
|
|||
|
||||
useEffect(() => {
|
||||
let serviceObj
|
||||
let dateSo = [
|
||||
let dataSo = [
|
||||
moment(record.validStartDate),
|
||||
moment(record.validEndDate)
|
||||
]
|
||||
if (serviceObjs?.length > 0) {
|
||||
serviceObj = serviceObjs.map(item => item.name).join()
|
||||
}
|
||||
form.setFieldsValue({...record,dateSo,serviceObjs:serviceObj})
|
||||
form.setFieldsValue({...record,dataSo,serviceObjs:serviceObj})
|
||||
}, [record,serviceObjs])
|
||||
|
||||
return (
|
||||
|
|
@ -172,7 +172,7 @@ const ModalForm = ({ mode, record,onEdit,onSave,onSimilarSave }) => {
|
|||
<Col span={12}>
|
||||
<Form.Item
|
||||
label="有效期限"
|
||||
name="dateSo"
|
||||
name="dataSo"
|
||||
>
|
||||
<RangePicker
|
||||
allowClear
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ const Page = () => {
|
|||
{ title: '联系电话', key: 'phone', dataIndex: 'phone', width: 150, ellipsis: true },
|
||||
{ title: '登记日期', key: 'registerDate', dataIndex: 'registerDate', width: 150, ellipsis: true },
|
||||
{
|
||||
title: '有效期限', key: 'dateSo', dataIndex: 'dateSo', width: 250,
|
||||
title: '有效期限', key: 'dataSo', dataIndex: 'dataSo', width: 250,
|
||||
render: (value, row, index) => {
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -10,25 +10,25 @@ const ToolBar = ({ setSearchVal, onSave,setSwiper,exportFile,role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 23:59:59')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
// useEffect(() => {
|
||||
// let time = [moment().subtract(1,"months"),moment()]
|
||||
// let dateSo = {
|
||||
// let dataSo = {
|
||||
// start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
// end:moment(time[1]).format('YYYY-MM-DD 00:00:00'),
|
||||
// }
|
||||
// form.setFieldValue("tm",time)
|
||||
// setSearchVal({dateTimeRangeSo:dateSo})
|
||||
// setSearchVal({dateTimeRangeSo:dataSo})
|
||||
// }, [])
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -36,24 +36,24 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 23:59:59')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
useEffect(() => {
|
||||
let time = [moment().subtract(1,"weeks"),moment()]
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end:moment(time[1]).format('YYYY-MM-DD 23:59:59'),
|
||||
}
|
||||
form.setFieldValue("tm",time)
|
||||
setSearchVal({dateTimeRangeSo:dateSo})
|
||||
setSearchVal({dateTimeRangeSo:dataSo})
|
||||
}, [])
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -26,15 +26,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -26,25 +26,25 @@ const ToolBar = ({ setSearchVal, onSave, onChecked,role }) => {
|
|||
},
|
||||
]
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 23:59:59')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
let time = [moment().subtract(1,"months"),moment()]
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end:moment(time[1]).format('YYYY-MM-DD 23:59:59'),
|
||||
}
|
||||
form.setFieldValue("tm",time)
|
||||
setSearchVal({dateTimeRangeSo:dateSo})
|
||||
setSearchVal({dateTimeRangeSo:dataSo})
|
||||
}, [])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@ const ToolBar = ({ setSearchVal, setDmName, exportFile,role }) => {
|
|||
const searchBtn = role?.rule?.find(item => item.menuName == "查询")||true;
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = moment(values.tm).format('YYYY')
|
||||
dataSo = moment(values.tm).format('YYYY')
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({ ...values, year: dateSo });
|
||||
setSearchVal({ ...values, year: dataSo });
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,12 +22,12 @@ const ToolBar = ({ setSearchVal, setDmName, exportFile,role }) => {
|
|||
}
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = moment(values.tm).format('YYYY')
|
||||
dataSo = moment(values.tm).format('YYYY')
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({ ...values, year: dateSo });
|
||||
setSearchVal({ ...values, year: dataSo });
|
||||
setDmName(dmList.find(item => item.value == values.profileCode).label)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,12 +12,12 @@ const ToolBar = ({ setSearchVal, setDmName, exportFile, role }) => {
|
|||
const searchBtn = role?.rule?.find(item => item.menuName == "查询")||true;
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = moment(values.tm).format('YYYY')
|
||||
dataSo = moment(values.tm).format('YYYY')
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({ ...values, year: dateSo });
|
||||
setSearchVal({ ...values, year: dataSo });
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -56,15 +56,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
|
||||
}
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -76,15 +76,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
|
||||
}
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -68,15 +68,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
|
||||
}
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -55,15 +55,15 @@ const ToolBar = ({ setSearchVal, setMode, exportFile,role }) => {
|
|||
|
||||
}
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
startTime: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
endTime: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, ...dateSo});
|
||||
setSearchVal({...values, ...dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
|
@ -72,12 +72,12 @@ const ToolBar = ({ setSearchVal, setMode, exportFile,role }) => {
|
|||
|
||||
useEffect(() => {
|
||||
let time = [moment().subtract(7,"days"),moment()]
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
startTime:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
endTime:moment(time[1]).format('YYYY-MM-DD 23:59:59'),
|
||||
}
|
||||
form.setFieldValue("tm",time)
|
||||
setSearchVal(dateSo)
|
||||
setSearchVal(dataSo)
|
||||
}, [])
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -7,32 +7,32 @@ const { RangePicker } = DatePicker;
|
|||
const ToolBar = ({ setSearchVal, searchVal,exportFile }) => {
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm1) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm1[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm1[1]).format('YYYY-MM-DD 23:59:59')
|
||||
}
|
||||
}
|
||||
delete values.tm1
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
// useEffect(() => {
|
||||
// let time = [moment().subtract(1,"months"),moment()]
|
||||
// let dateSo = {
|
||||
// let dataSo = {
|
||||
// start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
// end:moment(time[1]).format('YYYY-MM-DD 00:00:00'),
|
||||
// }
|
||||
// form.setFieldValue("tm",time)
|
||||
// setSearchVal({dateTimeRangeSo:dateSo})
|
||||
// setSearchVal({dateTimeRangeSo:dataSo})
|
||||
// }, [])
|
||||
useEffect(() => {
|
||||
if (searchVal) {
|
||||
let time = [moment(searchVal.dateTimeRangeSo?.start),moment(searchVal.dateTimeRangeSo?.end)]
|
||||
form.setFieldValue("tm1",time)
|
||||
}
|
||||
// setSearchVal({dateTimeRangeSo:dateSo})
|
||||
// setSearchVal({dateTimeRangeSo:dataSo})
|
||||
}, [searchVal])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -6,21 +6,21 @@ const { RangePicker } = DatePicker;
|
|||
const ToolBar = ({ setSearchVal, onSave,exportFile,type,searchValLog }) => {
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 23:59:59')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
// let time = [moment().subtract(1,"months"),moment()]
|
||||
// let dateSo = {
|
||||
// let dataSo = {
|
||||
// start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
// end:moment(time[1]).format('YYYY-MM-DD 00:00:00'),
|
||||
// }
|
||||
|
|
@ -28,7 +28,7 @@ const ToolBar = ({ setSearchVal, onSave,exportFile,type,searchValLog }) => {
|
|||
let time = [moment(searchValLog.dateTimeRangeSo?.start),moment(searchValLog.dateTimeRangeSo?.end)]
|
||||
form.setFieldValue("tm",time)
|
||||
}
|
||||
// setSearchVal({dateTimeRangeSo:dateSo})
|
||||
// setSearchVal({dateTimeRangeSo:dataSo})
|
||||
}, [searchValLog])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -7,32 +7,32 @@ const { RangePicker } = DatePicker;
|
|||
const ToolBar = ({ setSearchVal, searchVal,exportFile }) => {
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm1) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm1[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm1[1]).format('YYYY-MM-DD 23:59:59')
|
||||
}
|
||||
}
|
||||
delete values.tm1
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
// useEffect(() => {
|
||||
// let time = [moment().subtract(1,"months"),moment()]
|
||||
// let dateSo = {
|
||||
// let dataSo = {
|
||||
// start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
// end:moment(time[1]).format('YYYY-MM-DD 00:00:00'),
|
||||
// }
|
||||
// form.setFieldValue("tm",time)
|
||||
// setSearchVal({dateTimeRangeSo:dateSo})
|
||||
// setSearchVal({dateTimeRangeSo:dataSo})
|
||||
// }, [])
|
||||
useEffect(() => {
|
||||
if (searchVal) {
|
||||
let time = [moment(searchVal.dateTimeRangeSo?.start),moment(searchVal.dateTimeRangeSo?.end)]
|
||||
form.setFieldValue("tm1",time)
|
||||
}
|
||||
// setSearchVal({dateTimeRangeSo:dateSo})
|
||||
// setSearchVal({dateTimeRangeSo:dataSo})
|
||||
}, [searchVal])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -6,21 +6,21 @@ const { RangePicker } = DatePicker;
|
|||
const ToolBar = ({ setSearchVal, onSave,exportFile,type,searchValLog }) => {
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 23:59:59')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
// let time = [moment().subtract(1,"months"),moment()]
|
||||
// let dateSo = {
|
||||
// let dataSo = {
|
||||
// start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
// end:moment(time[1]).format('YYYY-MM-DD 00:00:00'),
|
||||
// }
|
||||
|
|
@ -28,7 +28,7 @@ const ToolBar = ({ setSearchVal, onSave,exportFile,type,searchValLog }) => {
|
|||
let time = [moment(searchValLog.dateTimeRangeSo?.start),moment(searchValLog.dateTimeRangeSo?.end)]
|
||||
form.setFieldValue("tm",time)
|
||||
}
|
||||
// setSearchVal({dateTimeRangeSo:dateSo})
|
||||
// setSearchVal({dateTimeRangeSo:dataSo})
|
||||
}, [searchValLog])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -9,24 +9,24 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start: moment().subtract(1,"years").format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment().format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
|
||||
setSearchVal({ dateSo })
|
||||
form.setFieldValue("tm", [moment(dataSo.start), moment(dataSo.end)])
|
||||
setSearchVal({ dataSo })
|
||||
}, [])
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -8,15 +8,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,24 +9,24 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start: moment().subtract(1,"years").format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment().format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
|
||||
setSearchVal({ dateSo })
|
||||
form.setFieldValue("tm", [moment(dataSo.start), moment(dataSo.end)])
|
||||
setSearchVal({ dataSo })
|
||||
}, [])
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -9,24 +9,24 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start: moment().subtract(1,"years").format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment().format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
|
||||
setSearchVal({ dateSo })
|
||||
form.setFieldValue("tm", [moment(dataSo.start), moment(dataSo.end)])
|
||||
setSearchVal({ dataSo })
|
||||
}, [])
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -8,15 +8,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ const ToolBar = ({ setSearchVal, onSave, exportFile, role }) => {
|
|||
const exportBtn = role?.rule?.find(item => item.menuName == "导出")|| true;
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.year) {
|
||||
dateSo = moment(values.year).format('YYYY')
|
||||
dataSo = moment(values.year).format('YYYY')
|
||||
}
|
||||
delete values.year
|
||||
setSearchVal({...values, year:Number(dateSo)});
|
||||
setSearchVal({...values, year:Number(dataSo)});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ const ToolBar = ({ setSearchVal, onSave, exportFile, role }) => {
|
|||
const exportBtn = role?.rule?.find(item => item.menuName == "导出")|| true;
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.year) {
|
||||
dateSo = moment(values.year).format('YYYY')
|
||||
dataSo = moment(values.year).format('YYYY')
|
||||
}
|
||||
delete values.year
|
||||
setSearchVal({...values, year:Number(dateSo)});
|
||||
setSearchVal({...values, year:Number(dataSo)});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -8,24 +8,24 @@ const ToolBar = ({ setSearchVal, onSave, exportFile, role }) => {
|
|||
const exportBtn = role?.rule?.find(item => item.menuName == "导出")|| true;
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, ...dateSo});
|
||||
setSearchVal({...values, ...dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start: moment().subtract(1,"weeks").format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment().format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
|
||||
setSearchVal(dateSo)
|
||||
form.setFieldValue("tm", [moment(dataSo.start), moment(dataSo.end)])
|
||||
setSearchVal(dataSo)
|
||||
}, [])
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -8,24 +8,24 @@ const ToolBar = ({ setSearchVal, onSave, exportFile, role }) => {
|
|||
const exportBtn = role?.rule?.find(item => item.menuName == "导出")|| true;
|
||||
const [form] = Form.useForm();
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, ...dateSo});
|
||||
setSearchVal({...values, ...dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start: moment().subtract(1,"weeks").format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment().format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
|
||||
setSearchVal(dateSo)
|
||||
form.setFieldValue("tm", [moment(dataSo.start), moment(dataSo.end)])
|
||||
setSearchVal(dataSo)
|
||||
}, [])
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -10,21 +10,21 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.year) {
|
||||
dateSo = moment(values.year).format('YYYY')
|
||||
dataSo = moment(values.year).format('YYYY')
|
||||
}
|
||||
delete values.year
|
||||
setSearchVal({...values, year:Number(dateSo)});
|
||||
setSearchVal({...values, year:Number(dataSo)});
|
||||
}
|
||||
|
||||
// useEffect(() => {
|
||||
// let dateSo = {
|
||||
// let dataSo = {
|
||||
// start: moment().subtract(1,"years").format('YYYY-MM-DD 00:00:00'),
|
||||
// end: moment().format('YYYY-MM-DD 00:00:00')
|
||||
// }
|
||||
// form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
|
||||
// setSearchVal({ dateSo })
|
||||
// form.setFieldValue("tm", [moment(dataSo.start), moment(dataSo.end)])
|
||||
// setSearchVal({ dataSo })
|
||||
// }, [])
|
||||
|
||||
return (
|
||||
|
|
|
|||
|
|
@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,15 +9,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -54,26 +54,26 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
|
||||
}
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
startTime: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
endTime: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...dateSo});
|
||||
setSearchVal({...dataSo});
|
||||
}
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
let time = [moment().subtract(1,"months"),moment()]
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
startTime:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
endTime:moment(time[1]).format('YYYY-MM-DD 23:59:59'),
|
||||
}
|
||||
form.setFieldValue("tm",time)
|
||||
setSearchVal({...dateSo})
|
||||
setSearchVal({...dataSo})
|
||||
}, [])
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -70,26 +70,26 @@ const ToolBar = ({ setSearchVal, onChecked, exportFile, role }) => {
|
|||
|
||||
}
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, startTime:dateSo?.start,endTime:dateSo?.end});
|
||||
setSearchVal({...values, startTime:dataSo?.start,endTime:dataSo?.end});
|
||||
}
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
let time = [moment().subtract(1,"years"),moment()]
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end:moment(time[1]).format('YYYY-MM-DD 23:59:59'),
|
||||
}
|
||||
form.setFieldValue("tm",time)
|
||||
setSearchVal({startTime:dateSo.start, endTime:dateSo.end})
|
||||
setSearchVal({startTime:dataSo.start, endTime:dataSo.end})
|
||||
}, [])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 00:00:00')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -38,26 +38,26 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
}
|
||||
}
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD 23:59:59')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateTimeRangeSo:dateSo});
|
||||
setSearchVal({...values, dateTimeRangeSo:dataSo});
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
getStationCode()
|
||||
let time = [moment().subtract(1,"weeks"),moment()]
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end:moment(time[1]).format('YYYY-MM-DD 23:59:59'),
|
||||
}
|
||||
form.setFieldValue("tm",time)
|
||||
setSearchVal({dateTimeRangeSo:dateSo})
|
||||
setSearchVal({dateTimeRangeSo:dataSo})
|
||||
}, [])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ const Page = () => {
|
|||
<div className={styles.title}>
|
||||
<Image src={title} />转移路线示意图
|
||||
</div>
|
||||
<div style={{display:'flex',justifyContent:'center',height: 'calc(100% - 40px)',alignItems:'center'}}>
|
||||
<div style={{display:'flex',justifyContent:'center'}}>
|
||||
<Image src={zd} width='80%' preview={false} />
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.title{
|
||||
font-size: 16px;
|
||||
color: #000000;
|
||||
// width: 112px;
|
||||
width: 112px;
|
||||
height: 32px
|
||||
}
|
||||
.content{
|
||||
|
|
|
|||
|
|
@ -9,15 +9,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, dateSo});
|
||||
setSearchVal({...values, dataSo});
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -36,9 +36,9 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
|||
format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item>
|
||||
{searchBtn ? <Form.Item>
|
||||
<Button type="primary" htmlType="submit">查询</Button>
|
||||
</Form.Item>
|
||||
</Form.Item> : null }
|
||||
|
||||
<Form.Item>
|
||||
<Button onClick={() => form.resetFields()}>重置</Button>
|
||||
|
|
|
|||
|
|
@ -9,15 +9,15 @@ const ToolBar = ({ setSearchVal, onExport, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({ ...values, dateSo });
|
||||
setSearchVal({ ...values, dataSo });
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react';
|
||||
import BasicCrudModal from '../../../components/crud/BasicCrudModal';
|
||||
import { Table, Card, Modal, Form, Input, Button, Row, Col, Timeline, message, Tabs, Image } from 'antd';
|
||||
import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, PaperClipOutlined } from '@ant-design/icons';
|
||||
import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, FileExcelOutlined } from '@ant-design/icons';
|
||||
import { useSelector } from 'react-redux';
|
||||
import ToolBar from './toolbar';
|
||||
import ModalForm from './form';
|
||||
|
|
@ -10,8 +10,6 @@ import usePageTable from '../../../components/crud/usePageTable2';
|
|||
import { createCrudService } from '../../../components/crud/_';
|
||||
import { CrudOpRender_text } from '../../../components/crud/CrudOpRender';
|
||||
import { render } from 'react-dom';
|
||||
import { httpgetExport } from '../../../utils/request';
|
||||
import { exportFile } from '../../../utils/tools';
|
||||
|
||||
const url = "http://223.75.53.141:9102/test.by-lyf.tmp"
|
||||
const typeOb={0:'宪法',1:'法律',2:'行政法规',3:'督察法规',4:'司法解释',5:'地方性法规'}
|
||||
|
|
@ -28,33 +26,33 @@ const Page = () => {
|
|||
const [isFetch, setIsFetch] = useState(false)
|
||||
const columns = [
|
||||
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
||||
{ title: '标题', key: 'name', dataIndex: 'name', ellipsis: true },
|
||||
{ title: '标题', key: 'name', dataIndex: 'name', width: 250, ellipsis: true },
|
||||
{
|
||||
title: '制定机关', key: 'fillUnit', dataIndex: 'fillUnit',
|
||||
title: '制定机关', key: 'fillUnit', dataIndex: 'fillUnit', width: 140,
|
||||
},
|
||||
{
|
||||
title: '法律性质', key: 'type', dataIndex: 'type',
|
||||
title: '法律性质', key: 'type', dataIndex: 'type', width: 140,
|
||||
render: (value) => <span>{typeOb[value]}</span>,
|
||||
},
|
||||
{
|
||||
title: '时效性', key: 'timeliness', dataIndex: 'timeliness', render:(v)=><>
|
||||
title: '时效性', key: 'timeliness', dataIndex: 'timeliness', width: 300,render:(v)=><>
|
||||
{timelinessOb[v]}
|
||||
</>
|
||||
},
|
||||
{
|
||||
title: '公布日期', key: 'announcementDate', dataIndex: 'announcementDate'
|
||||
title: '公布日期', key: 'announcementDate', dataIndex: 'announcementDate', width: 300
|
||||
},
|
||||
{
|
||||
title: '施行日期', key: 'implementationDate', dataIndex: 'implementationDate'
|
||||
title: '施行日期', key: 'implementationDate', dataIndex: 'implementationDate', width: 300
|
||||
},
|
||||
{
|
||||
title: '上传时间', key: 'eventsDesc', dataIndex: 'eventsDesc'
|
||||
title: '上传时间', key: 'eventsDesc', dataIndex: 'eventsDesc', width: 300
|
||||
},
|
||||
{
|
||||
title: '附件', key: 'files', dataIndex: 'files',render:(v,r)=><a onClick={()=>download(v[0].fileId,v[0]?.fileName)}><PaperClipOutlined />{v[0]?.fileName}</a>
|
||||
title: '附件', key: 'files', dataIndex: 'files', width: 300,render:(v,r)=><a onClick={()=>viewPdf(v[0].fileId)}>{v[0]?.fileName}</a>
|
||||
},
|
||||
{
|
||||
title: '操作', key: 'operation',
|
||||
title: '操作', key: 'operation', width: 240, fixed: 'right', align: 'center',
|
||||
render: (value, row, index) => (
|
||||
<CrudOpRender_text
|
||||
edit={true}
|
||||
|
|
@ -89,16 +87,7 @@ const Page = () => {
|
|||
refresh()
|
||||
setIsFetch(!isFetch)
|
||||
}
|
||||
/**
|
||||
* @description 文件下载
|
||||
* @param {String} params 文件fileId
|
||||
*/
|
||||
const download = async(id, name) => {
|
||||
var extension = name?.split('.').pop().toLowerCase();
|
||||
httpgetExport(apiurl.zdgl.download+id).then(res => {
|
||||
exportFile(name,res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const viewPdf = (params) => {
|
||||
setIframeSrc(params)
|
||||
setPdfViewOPen(true)
|
||||
|
|
@ -125,7 +114,7 @@ const Page = () => {
|
|||
/>
|
||||
</Card>
|
||||
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
||||
<Table columns={columns} rowKey="inx" {...tableProps} />
|
||||
<Table columns={columns} rowKey="inx" {...tableProps} scroll={{ x: width, y: "calc( 100vh - 400px )" }} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,53 +1,41 @@
|
|||
import React, { useEffect, useState } from 'react';
|
||||
import React, { useEffect,useState } from 'react';
|
||||
import { Form, Input, Button, DatePicker, Select } from 'antd';
|
||||
import { DownOutlined, UpOutlined } from '@ant-design/icons'
|
||||
|
||||
import moment from 'moment';
|
||||
const { RangePicker } = DatePicker;
|
||||
const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
||||
const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
|
||||
const addBtn = role?.rule?.find(item => item.menuName == "新增");
|
||||
const searchBtn = role?.rule?.find(item => item.menuName == "查询");
|
||||
const [form] = Form.useForm();
|
||||
const [showGj, setShowGj] = useState(false)
|
||||
const [showGj , setShowGj] =useState(false)
|
||||
const onFinish = (values) => {
|
||||
if (values.announcementDate) {
|
||||
// 公布时间
|
||||
values.stmAd= values.announcementDate[0].format('YYYY-MM-DD HH:mm:ss')
|
||||
values.etmAd= values.announcementDate[1].format('YYYY-MM-DD HH:mm:ss')
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
if (values.implementationDate) {
|
||||
// 施行日期
|
||||
values.stmIm= values.implementationDate[0].format('YYYY-MM-DD HH:mm:ss')
|
||||
values.etmIm= values.implementationDate[0].format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
if (values.uploadTime) {
|
||||
// 上传日期
|
||||
values.stmUd= values.uploadTime[0].format('YYYY-MM-DD HH:mm:ss')
|
||||
values.etmUd= values.uploadTime[0].format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
|
||||
delete values.announcementDate
|
||||
delete values.implementationDate
|
||||
delete values.uploadTime
|
||||
|
||||
setSearchVal({ ...values });
|
||||
delete values.tm
|
||||
setSearchVal({...values});
|
||||
}
|
||||
|
||||
const opntios = [
|
||||
{ label: '宪法', value: 0 },
|
||||
{ label: '法律', value: 1 },
|
||||
{ label: '行政法规', value: 2 },
|
||||
{ label: '督察法规', value: 3 },
|
||||
{ label: '司法解释', value: 4 },
|
||||
{ label: '地方性法规', value: 5 },
|
||||
const opntios=[
|
||||
{label:'宪法',value:0},
|
||||
{label:'法律',value:1},
|
||||
{label:'行政法规',value:2},
|
||||
{label:'督察法规',value:3},
|
||||
{label:'司法解释',value:4},
|
||||
{label:'地方性法规',value:5},
|
||||
]
|
||||
const opntios1 = [
|
||||
{ label: '尚未生效', value: 0 },
|
||||
{ label: '有效', value: 1 },
|
||||
{ label: '已修改', value: 2 },
|
||||
{ label: '已废止', value: 3 },
|
||||
const opntios1=[
|
||||
{label:'尚未生效',value:0},
|
||||
{label:'有效',value:1},
|
||||
{label:'已修改',value:2},
|
||||
{label:'已废止',value:3},
|
||||
]
|
||||
const styles = {
|
||||
const styles={
|
||||
fontFamily: '微软雅黑 Bold", "微软雅黑 Regular", 微软雅黑, sans-serif',
|
||||
fontWeight: '700',
|
||||
fontStyle: 'normal',
|
||||
|
|
@ -55,50 +43,50 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
}
|
||||
return (
|
||||
<>
|
||||
<div style={{ display: 'flex', justifyContent: 'space-between' }}>
|
||||
<div style={{display:'flex',justifyContent:'space-between'}}>
|
||||
<Form form={form} className='toolbarBox' layout="inline" onFinish={onFinish}>
|
||||
<div style={{ display: 'flex' }}>
|
||||
<Form.Item label="标题" name="name">
|
||||
<Input allowClear style={{ width: '150px' }} />
|
||||
</Form.Item>
|
||||
<Form.Item label="制定机关" name="fillUnit">
|
||||
<Input allowClear style={{ width: '150px' }} />
|
||||
</Form.Item>
|
||||
<Form.Item label="法律性质" name="type">
|
||||
<Select allowClear style={{ width: '150px' }} options={opntios} />
|
||||
</Form.Item>
|
||||
<Form.Item>
|
||||
<Button type="primary" htmlType="submit">查询</Button>
|
||||
</Form.Item>
|
||||
<div style={{display:'flex'}}>
|
||||
<Form.Item label="标题" name="name">
|
||||
<Input allowClear style={{width:'150px'}}/>
|
||||
</Form.Item>
|
||||
<Form.Item label="制定机关" name="fillUnit">
|
||||
<Input allowClear style={{width:'150px'}}/>
|
||||
</Form.Item>
|
||||
<Form.Item label="法律性质" name="type">
|
||||
<Select allowClear style={{width:'150px'}} options={opntios}/>
|
||||
</Form.Item>
|
||||
<Form.Item>
|
||||
<Button type="primary" htmlType="submit">查询</Button>
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item>
|
||||
<Button onClick={() => form.resetFields()}>重置</Button>
|
||||
</Form.Item>
|
||||
<Form.Item>
|
||||
<Button onClick={() => form.resetFields()}>重置</Button>
|
||||
</Form.Item>
|
||||
|
||||
{
|
||||
(onSave) ?
|
||||
<Form.Item>
|
||||
<Button onClick={onSave}>新增</Button>
|
||||
</Form.Item>
|
||||
: null
|
||||
}
|
||||
<Form.Item>
|
||||
<div style={styles} onClick={() => setShowGj(!showGj)}>高级搜索 {!showGj && <DownOutlined />} {showGj && <UpOutlined />}</div>
|
||||
</Form.Item>
|
||||
{
|
||||
(onSave) ?
|
||||
<Form.Item>
|
||||
<Button onClick={onSave}>新增</Button>
|
||||
</Form.Item>
|
||||
:null
|
||||
}
|
||||
<Form.Item>
|
||||
<div style={styles} onClick={()=>setShowGj(!showGj)}>高级搜索 {!showGj&&<DownOutlined />} {showGj&&<UpOutlined />}</div>
|
||||
</Form.Item>
|
||||
</div>
|
||||
{showGj && <div style={{ display: 'flex' }}>
|
||||
<Form.Item label="时效性" name="timeliness">
|
||||
<Select allowClear style={{ width: '150px' }} options={opntios1} />
|
||||
</Form.Item>
|
||||
<Form.Item label="公布日期" name="announcementDate">
|
||||
<RangePicker allowClear />
|
||||
</Form.Item>
|
||||
<Form.Item label="施行日期" name="implementationDate">
|
||||
<RangePicker allowClear />
|
||||
</Form.Item>
|
||||
<Form.Item label="上传时间" name="uploadTime">
|
||||
<RangePicker allowClear />
|
||||
</Form.Item>
|
||||
{showGj&&<div style={{display:'flex'}}>
|
||||
<Form.Item label="时效性" name="timeliness">
|
||||
<Select allowClear style={{width:'150px'}} options={opntios1}/>
|
||||
</Form.Item>
|
||||
<Form.Item label="公布日期" name="announcementDate">
|
||||
<RangePicker allowClear />
|
||||
</Form.Item>
|
||||
<Form.Item label="施行日期" name="implementationDate">
|
||||
<RangePicker allowClear />
|
||||
</Form.Item>
|
||||
<Form.Item label="上传时间" name="name">
|
||||
<RangePicker allowClear />
|
||||
</Form.Item>
|
||||
</div>}
|
||||
</Form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -121,12 +121,12 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
|
|||
|
||||
// useEffect(() => {
|
||||
// if (mode !== "save") {
|
||||
// let dateSo = [
|
||||
// let dataSo = [
|
||||
// record.validStartDate? moment(record.validStartDate):'',
|
||||
// record.validEndDate? moment(record.validEndDate): ''
|
||||
// ]
|
||||
|
||||
// form.setFieldsValue({...record,dateRangeSo:dateSo})
|
||||
// form.setFieldsValue({...record,dateRangeSo:dataSo})
|
||||
|
||||
// }
|
||||
|
||||
|
|
|
|||
|
|
@ -56,8 +56,7 @@ const basicData = [
|
|||
key: 'caseAddress',
|
||||
type: 'input',
|
||||
span: 12,
|
||||
required: true,
|
||||
addonAfter:'选择地点'
|
||||
required: true
|
||||
},
|
||||
{
|
||||
label: '案件来源',
|
||||
|
|
|
|||
|
|
@ -79,34 +79,17 @@ const Page = ({ mode, onCrudSuccess,record,submit }) => {
|
|||
})
|
||||
}
|
||||
useEffect(()=>{
|
||||
if(mode == 'edit' || mode =='view'){
|
||||
httpget(apiurl.szzf.ajdj.detail + record.id).then(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'){
|
||||
httpget(apiurl.szzf.ajdj.detail + record.id).then(res=>{
|
||||
let obj = {
|
||||
createName: localStorage.getItem('userName'),
|
||||
createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
||||
createBy:localStorage.getItem('userId'),
|
||||
}
|
||||
setFormData({...obj})
|
||||
}
|
||||
|
||||
createBy:localStorage.getItem('userId')
|
||||
}
|
||||
if(res.data.caseDate){
|
||||
obj.caseDate=dayjs(res.data.caseDate)
|
||||
}
|
||||
setFormData({...res.data,...obj})
|
||||
})
|
||||
},[])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
|
|
@ -30,28 +30,28 @@ const Page = () => {
|
|||
const [isFetch, setIsFetch] = useState(false)
|
||||
const columns = [
|
||||
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
||||
{ title: '填报时间', key: 'createTime', dataIndex: 'createTime', ellipsis: true },
|
||||
{ title: '填报时间', key: 'createTime', dataIndex: 'createTime', width: 250, ellipsis: true },
|
||||
{
|
||||
title: '案件名称', key: 'caseName', dataIndex: 'caseName',
|
||||
title: '案件名称', key: 'caseName', dataIndex: 'caseName', width: 140,
|
||||
},
|
||||
{
|
||||
title: '案件编号', key: 'caseId', dataIndex: 'caseId',
|
||||
title: '案件编号', key: 'caseId', dataIndex: 'caseId', width: 140,
|
||||
|
||||
},
|
||||
{
|
||||
title: '发现时间', key: 'caseDate', dataIndex: 'caseDate',
|
||||
title: '发现时间', key: 'caseDate', dataIndex: 'caseDate', width: 300,
|
||||
|
||||
},
|
||||
{
|
||||
title: '案件类型', key: 'caseType', dataIndex: 'caseType',
|
||||
title: '案件类型', key: 'caseType', dataIndex: 'caseType', width: 300,
|
||||
render: (value) => <span>{caseTypeOb[value]}</span>,
|
||||
},
|
||||
{
|
||||
title: '案件来源', key: 'caseSource', dataIndex: 'caseSource',
|
||||
title: '案件来源', key: 'caseSource', dataIndex: 'caseSource', width: 300,
|
||||
render: (value) => <span>{caseSourceOb[value]}</span>,
|
||||
},
|
||||
{
|
||||
title: '操作', key: 'operation', width: 240,
|
||||
title: '操作', key: 'operation', width: 240, fixed: 'right', align: 'center',
|
||||
render: (value, row, index) => (
|
||||
<CrudOpRender_text
|
||||
edit={true}
|
||||
|
|
@ -121,7 +121,7 @@ const Page = () => {
|
|||
/>
|
||||
</Card>
|
||||
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
||||
<Table columns={columns} rowKey="inx" {...tableProps} />
|
||||
<Table columns={columns} rowKey="inx" {...tableProps} scroll={{ x: width, y: "calc( 100vh - 400px )" }} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [form] = Form.useForm();
|
||||
const [showGj, setShowGj] = useState(false)
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({ ...values, dateSo });
|
||||
setSearchVal({ ...values, dataSo });
|
||||
}
|
||||
|
||||
const opntios = [
|
||||
|
|
|
|||
|
|
@ -32,9 +32,8 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
|||
}
|
||||
const getInfo = () => {
|
||||
form.validateFields().then((values) => {
|
||||
// debugger;
|
||||
getFormInfo({ ...values, [fileKey]: fileList, fileIds: fileList.map(item => item.fileId) })
|
||||
|
||||
form.resetFields()
|
||||
setFileList([])
|
||||
}).catch((errorInfo) => {
|
||||
console.log(errorInfo, 'error');
|
||||
|
|
@ -120,11 +119,8 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
|||
exportFile(name,res.data)
|
||||
})
|
||||
}
|
||||
useEffect(()=>{
|
||||
form.resetFields()
|
||||
},[])
|
||||
useEffect(() => {
|
||||
|
||||
// form.resetFields()
|
||||
let formType = type
|
||||
if (type = 'edit') {
|
||||
formType = 2
|
||||
|
|
@ -133,7 +129,6 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
|||
formType = 1
|
||||
}
|
||||
if (type == 'save') {
|
||||
form.setFieldsValue(formJsonData)
|
||||
formType = 0
|
||||
}
|
||||
if (formType == 1 || formType == 2 || formType == 3) {
|
||||
|
|
@ -168,7 +163,7 @@ const FormZdy = ({ fileKey,typeName = "ddForm", formJson, getFormInfo, type, for
|
|||
name={item.key}
|
||||
rules={[{ required: item.required, message: '请输入' + item.label }]}
|
||||
>
|
||||
<Input disabled={type == 'view' || item.disabled} placeholder={item.placeholder} addonAfter={item.addonAfter}/>
|
||||
<Input disabled={type == 'view' || item.disabled} placeholder={item.placeholder} />
|
||||
</Form.Item>}
|
||||
{item.type == "title" &&
|
||||
<Form.Item
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import React, { Fragment, useRef, useMemo, useEffect, useState } from 'react';
|
||||
import BasicCrudModal from '../../../components/crud/BasicCrudModal';
|
||||
import { Table, Card, Modal, Form, Input, Button, Row, Col, Timeline, message, Tabs, Image } from 'antd';
|
||||
import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, PaperClipOutlined } from '@ant-design/icons';
|
||||
import { FileWordOutlined, FilePdfOutlined, FileZipOutlined, FileExcelOutlined } from '@ant-design/icons';
|
||||
import { useSelector } from 'react-redux';
|
||||
import ToolBar from './toolbar';
|
||||
import ModalForm from './form';
|
||||
|
|
@ -9,8 +9,6 @@ import apiurl from '../../../service/apiurl';
|
|||
import usePageTable from '../../../components/crud/usePageTable2';
|
||||
import { createCrudService } from '../../../components/crud/_';
|
||||
import { CrudOpRender_text } from '../../../components/crud/CrudOpRender';
|
||||
import { httpgetExport } from '../../../utils/request';
|
||||
import { exportFile } from '../../../utils/tools';
|
||||
|
||||
const url = "http://223.75.53.141:9102/test.by-lyf.tmp"
|
||||
const obj={0:"党支部工作制度",1:"行政工作制度",2:"部门工作制度",3:"安全管理制度",4:"工程管理制度",5:"技术规程",6:"岗位责任制"}
|
||||
|
|
@ -26,24 +24,24 @@ const Page = () => {
|
|||
const [isFetch, setIsFetch] = useState(false)
|
||||
const columns = [
|
||||
{ title: '序号', key: 'inx', dataIndex: 'inx', width: 60, align: "center" },
|
||||
{ title: '标题', key: 'name', dataIndex: 'name', ellipsis: true },
|
||||
{ title: '标题', key: 'name', dataIndex: 'name', width: 250, ellipsis: true },
|
||||
{
|
||||
title: '制度类型', key: 'type', dataIndex: 'type',render:(v)=><>{obj[v]}</>
|
||||
title: '制度类型', key: 'type', dataIndex: 'type', width: 140,render:(v)=><>{obj[v]}</>
|
||||
},
|
||||
{
|
||||
title: '发布日期', key: 'releaseDate', dataIndex: 'releaseDate'
|
||||
title: '发布日期', key: 'releaseDate', dataIndex: 'releaseDate', width: 300
|
||||
},
|
||||
{
|
||||
title: '发布单位', key: 'fillUnit', dataIndex: 'fillUnit'
|
||||
title: '发布单位', key: 'fillUnit', dataIndex: 'fillUnit', width: 300
|
||||
},
|
||||
{
|
||||
title: '上传时间', key: 'uploadDate', dataIndex: 'uploadDate'
|
||||
title: '上传时间', key: 'uploadDate', dataIndex: 'uploadDate', width: 300
|
||||
},
|
||||
{
|
||||
title: '附件', key: 'files', dataIndex: 'files', render:(v,r)=><a onClick={()=>download(v[0].fileId,v[0]?.fileName)}><PaperClipOutlined />{v[0]?.fileName}</a>
|
||||
title: '附件', key: 'files', dataIndex: 'files', width: 300,render:(v,r)=><a onClick={()=>viewPdf(v[0].fileId)}>{v[0]?.fileName}</a>
|
||||
},
|
||||
{
|
||||
title: '操作', key: 'operation', fixed: 'right', align: 'center',
|
||||
title: '操作', key: 'operation', width: 240, fixed: 'right', align: 'center',
|
||||
render: (value, row, index) => (
|
||||
<CrudOpRender_text
|
||||
edit={true}
|
||||
|
|
@ -78,16 +76,7 @@ const Page = () => {
|
|||
refresh()
|
||||
setIsFetch(!isFetch)
|
||||
}
|
||||
/**
|
||||
* @description 文件下载
|
||||
* @param {String} params 文件fileId
|
||||
*/
|
||||
const download = async(id, name) => {
|
||||
var extension = name?.split('.').pop().toLowerCase();
|
||||
httpgetExport(apiurl.zdgl.download+id).then(res => {
|
||||
exportFile(name,res.data)
|
||||
})
|
||||
}
|
||||
|
||||
const viewPdf = (params) => {
|
||||
setIframeSrc(params)
|
||||
setPdfViewOPen(true)
|
||||
|
|
@ -114,7 +103,7 @@ const Page = () => {
|
|||
/>
|
||||
</Card>
|
||||
<div className="ant-card-body" style={{ padding: "20px 0 0 0" }}>
|
||||
<Table columns={columns} rowKey="inx" {...tableProps} />
|
||||
<Table columns={columns} rowKey="inx" {...tableProps} scroll={{ x: width, y: "calc( 100vh - 400px )" }} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
|
|||
const [showGj, setShowGj] = useState(false)
|
||||
const onFinish = (values) => {
|
||||
let dataSo;
|
||||
if (values.releaseDate) {
|
||||
if (values.tm) {
|
||||
dataSo = {
|
||||
stm: moment(values.releaseDate[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
etm: moment(values.releaseDate[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.releaseDate
|
||||
setSearchVal({ ...values, ...dataSo });
|
||||
delete values.tm
|
||||
setSearchVal({ ...values, dataSo });
|
||||
}
|
||||
|
||||
const opntios = [
|
||||
|
|
|
|||
|
|
@ -1,95 +1,12 @@
|
|||
import React, { useState, useMemo, useEffect } from 'react'
|
||||
import ReactEcharts from 'echarts-for-react';
|
||||
import jgOption from './jgoption'
|
||||
import { httpget2, httppost2,xyt_httpget2 } from '../../../utils/request';
|
||||
import apiurl from '../../../service/apiurl';
|
||||
import "./index.less"
|
||||
export default function Zzjgck() {
|
||||
|
||||
|
||||
|
||||
const [deptList, setDeptList] = useState([])
|
||||
const [deptUserList, setDeptUserList] = useState([])
|
||||
|
||||
// 获取部门数据
|
||||
const getDeptList = async() => {
|
||||
try {
|
||||
const result = await xyt_httpget2(apiurl.rcgl.zbgl.zbb.deptlist);
|
||||
if (result.code == 200) {
|
||||
setDeptList(result.data);
|
||||
getDeptUser()
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
// 获取部门人员数据
|
||||
const getDeptUser = async() => {
|
||||
try {
|
||||
const result = await xyt_httpget2(apiurl.rcgl.zbgl.zbb.userList, {pageNum:1,pageSize:9999});
|
||||
if (result.code == 200) {
|
||||
setDeptUserList(result.rows)
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
const buildTree = (data, parentId) => {
|
||||
let tree = [];
|
||||
data.forEach((node) => {
|
||||
node.title = node.deptName;
|
||||
node.key = node.deptId;
|
||||
|
||||
if (node.parentId === parentId) {
|
||||
let children = buildTree(data, node.deptId);
|
||||
if (children.length) {
|
||||
node.children = children;
|
||||
}
|
||||
tree.push(node);
|
||||
}
|
||||
});
|
||||
return tree;
|
||||
}
|
||||
const handleTreeList = (dept, user) => {
|
||||
const deptArr = dept.map(item => {
|
||||
return {
|
||||
...item,
|
||||
value: item.deptId,
|
||||
title: item.deptName,
|
||||
// disabled: item.userId ? false : true,
|
||||
children: user.filter(u => u.deptId == item.deptId).map(u => ({
|
||||
...u,
|
||||
value: u.userId,
|
||||
title: u.nickName,
|
||||
}))
|
||||
}
|
||||
})
|
||||
const treelist = buildTree(deptArr, 0)
|
||||
return treelist
|
||||
}
|
||||
const treeList = useMemo(() => {
|
||||
if (deptUserList?.length > 0 && deptList?.length > 0) {
|
||||
return handleTreeList(deptList,deptUserList)
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
}, [deptUserList, deptList])
|
||||
|
||||
const jgOptions = useMemo(() => {
|
||||
if (treeList.length > 0) {
|
||||
return jgOption(treeList);
|
||||
} else {
|
||||
return {}
|
||||
}
|
||||
}, [treeList])
|
||||
|
||||
useEffect(() => {
|
||||
getDeptList()
|
||||
}, [])
|
||||
|
||||
const jgOptions = useMemo(() => {
|
||||
return jgOption();
|
||||
}, [])
|
||||
return (
|
||||
<div className='content-box' style={{ backgroundColor: '#fff', height: '100%', display: 'flex', padding: '10px' }}>
|
||||
<div className='lf' style={{ height: 'calc(100vh - 168px)',width:"100%" }}>
|
||||
|
|
|
|||
|
|
@ -1,24 +0,0 @@
|
|||
.org-parent{
|
||||
font-size: 20px;
|
||||
color: '#000';
|
||||
padding: 20px;
|
||||
background: url(../../../../public/assets/images/one.png) 0 0 no-repeat;
|
||||
}
|
||||
.org-parent1{
|
||||
font-size: 18px;
|
||||
color: '#000';
|
||||
padding: 10px;
|
||||
background: url(../../../../public/assets/images/two.png) 0 0 no-repeat;
|
||||
}
|
||||
.org-parent2{
|
||||
font-size: 18px;
|
||||
color: '#000';
|
||||
padding: 10px;
|
||||
background: url(../../../../public/assets/images/three.png) 0 0 no-repeat;
|
||||
}
|
||||
.org-parent3{
|
||||
font-size: 18px;
|
||||
color: '#000';
|
||||
padding: 10px;
|
||||
background: url(../../../../public/assets/images/four.png) 0 0 no-repeat;
|
||||
}
|
||||
|
|
@ -1,20 +1,93 @@
|
|||
|
||||
export default function jgOption(data1) {
|
||||
console.log("123",data1);
|
||||
const one = `${process.env.PUBLIC_URL}/assets/images/one.png`;
|
||||
const two = `${process.env.PUBLIC_URL}/assets/images/two.png`;
|
||||
const three = `${process.env.PUBLIC_URL}/assets/images/three.png`;
|
||||
const four = `${process.env.PUBLIC_URL}/assets/images/four.png`;
|
||||
const getBackground = () => {
|
||||
return {
|
||||
type: 'linear',
|
||||
x: 0,
|
||||
y: 0,
|
||||
x2: 0,
|
||||
y2: 1,
|
||||
colorStops: [{
|
||||
offset: 0, color: '#ffffff' // 0% 处的颜色
|
||||
}, {
|
||||
offset: 0.5, color: 'blue' // 100% 处的颜色
|
||||
}, {
|
||||
offset: 1, color: '#ffffff' // 100% 处的颜色
|
||||
}],
|
||||
global: false // 缺省为 false
|
||||
}
|
||||
}
|
||||
const data = {
|
||||
name: '销售部',
|
||||
children: [{
|
||||
name: '销售一部',
|
||||
children: [{
|
||||
name: '任务名称1',
|
||||
itemStyle: { color: "#ff9800" },
|
||||
},
|
||||
{
|
||||
name: '任务名称2',
|
||||
itemStyle: { color: "#4d8dd9" },
|
||||
},
|
||||
{
|
||||
name: '任务名称3',
|
||||
itemStyle: { color: "#22b07b" },
|
||||
},
|
||||
{
|
||||
name: '任务名称4'
|
||||
},
|
||||
{
|
||||
name: '任务名称5'
|
||||
},
|
||||
{
|
||||
name: '任务名称6'
|
||||
},
|
||||
{
|
||||
name: '任务名称7'
|
||||
},
|
||||
{
|
||||
name: '任务名称8'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '销售二部',
|
||||
},
|
||||
{
|
||||
name: '销售三部',
|
||||
children: [{
|
||||
name: '任务3-1'
|
||||
},
|
||||
{
|
||||
name: '任务3-2'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
name: '销售四部',
|
||||
children: [{
|
||||
name: '任务4-1'
|
||||
},
|
||||
{
|
||||
name: '任务4-2'
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
export default function jgOption() {
|
||||
return {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
triggerOn: 'mousemove'
|
||||
},
|
||||
series: [{
|
||||
type: 'tree',
|
||||
id: 0,
|
||||
name: 'tree1',
|
||||
data: data1,
|
||||
data: [data],
|
||||
top: '10%',
|
||||
left: '0%',
|
||||
left: '10%',
|
||||
bottom: '20%',
|
||||
right: '25%',
|
||||
right: '10%',
|
||||
avoidLabelOverlap: true,//防止标签重叠
|
||||
roam: true, //移动+缩放 'scale' 或 'zoom':只能够缩放。 'move' 或 'pan':只能够平移。
|
||||
scaleLimit:{ //缩放比例
|
||||
|
|
@ -28,101 +101,85 @@ export default function jgOption(data1) {
|
|||
symbol: 'circle', //图形形状 rect方形 roundRect圆角 emptyCircle圆形 circle实心圆
|
||||
symbolSize: 14, //状态大小
|
||||
edgeShape: 'polyline', //线条类型 curve曲线
|
||||
initialTreeDepth: 3, //初始展开的层级
|
||||
initialTreeDepth: 1, //初始展开的层级
|
||||
expandAndCollapse: true,//子树折叠和展开的交互,默认打开
|
||||
lineStyle: {//结构线条样式
|
||||
width: 1,
|
||||
width: 0.7,
|
||||
color: '#1E9FFF',
|
||||
type: 'solid'
|
||||
type: 'broken'
|
||||
},
|
||||
label: {
|
||||
// 每个节点对应的文本标签样式
|
||||
show: true, // 是否显示标签
|
||||
// rotate:90,
|
||||
distance: 8, // 文本距离图形元素的距离
|
||||
position: ['50%', '50%'], // 标签位置
|
||||
verticalAlign: 'middle', // 文字垂直对齐方式,默认自动,top,middle,bottom
|
||||
align: 'center', // 文字水平对齐方式,默认自动,left,right,center
|
||||
fontSize: 16, // 字体大小
|
||||
color: '#000', // 字体颜色
|
||||
color: '#333', // 字体颜色
|
||||
// color: 'red', // 字体颜色
|
||||
backgroundColor: '#F8F9FA', // 文字块的背景颜色
|
||||
borderColor: '#CED4DA', // 文字块边框颜色
|
||||
borderWidth: 1, // 文字块边框宽度
|
||||
borderType: 'solid', // 文字块边框描边类型 solid dashed dotted
|
||||
borderRadius: 2, // 文字块的圆角
|
||||
padding: [6, 6], // 文字块内边距
|
||||
shadowColor: 'rgba(0,121,221,0.3)', // 文字块的背景阴影颜色
|
||||
shadowBlur: 6, // 文字块的背景阴影长度
|
||||
formatter: (params) => {
|
||||
let newName = ''
|
||||
let len = params.data.title.length
|
||||
let strLen = (params.data.parentId === 0 || params.data.parentId === 100 ) ? 100 : 1 //一行显示几个字
|
||||
let len = params.data.name.length
|
||||
let strLen = params.data.relationType === 0 ? 100 : 1 //一行显示几个字
|
||||
let rowNum = Math.ceil(len / strLen)
|
||||
if (len > strLen) {
|
||||
|
||||
for (let p = 0; p < rowNum; p++) {
|
||||
let tempStr = ''
|
||||
let start = p * strLen
|
||||
let end = start + strLen
|
||||
if (p == rowNum - 1) {
|
||||
tempStr = params.data.title.substring(start, len)
|
||||
tempStr = params.data.name.substring(start, len)
|
||||
} else {
|
||||
tempStr = params.data.title.substring(start, end) + '\n'
|
||||
tempStr = params.data.name.substring(start, end) + '\n'
|
||||
}
|
||||
newName += tempStr
|
||||
}
|
||||
} else {
|
||||
newName = params.data.title
|
||||
newName = params.data.name
|
||||
}
|
||||
let n = newName
|
||||
if (n.length > 16) {
|
||||
n = n.slice(0, 16) + '...'
|
||||
}
|
||||
let parentId = params.data.parentId
|
||||
let userId = params.data.userId;
|
||||
let str = parentId === 0 ? `{parent|${n}}` :
|
||||
parentId === 100 ? `{parent1|${n}}` : userId != undefined ? `{parent3|${n}}` : `{parent2|${n}}`
|
||||
// let str = parentId === 0 ? `<div class='org-parent'>${n}</div>` :
|
||||
// parentId === 100 ? `<div class='org-parent1'>${n}</div>` : userId != undefined ? `<div class='org-parent3'>${n}</div>` : `<div class='org-parent2'>${n}</div>`
|
||||
return str;
|
||||
let str = `{name|${n}}`
|
||||
let isMain = params.data.relationType === 0
|
||||
str = isMain ? `{name|${n}} {current|本企业} {main|总部}` : str
|
||||
return str
|
||||
},
|
||||
|
||||
rich: {
|
||||
parent: {
|
||||
color: '#000',
|
||||
padding: [20, 20],
|
||||
backgroundColor: {
|
||||
image:one
|
||||
},
|
||||
|
||||
fontSize: 20
|
||||
name: {
|
||||
fontSize: 14
|
||||
},
|
||||
parent1: {
|
||||
color: '#000',
|
||||
padding: [10, 10],
|
||||
backgroundColor: {
|
||||
image:two
|
||||
},
|
||||
fontSize: 18
|
||||
},
|
||||
parent2: {
|
||||
fontSize: 18,
|
||||
color: '#000',
|
||||
align: 'center',
|
||||
padding: [10, 10],
|
||||
backgroundColor: {
|
||||
image: three,
|
||||
repeat: "no-repeat",
|
||||
},
|
||||
},
|
||||
parent3: {
|
||||
color: '#000',
|
||||
padding: [10, 10],
|
||||
backgroundColor: {
|
||||
image: four,
|
||||
repeat: "no-repeat",
|
||||
},
|
||||
fontSize: 18
|
||||
current: {
|
||||
fontSize: 12,
|
||||
padding: 0,
|
||||
color: '#07CA42',
|
||||
fontWeight: 600,
|
||||
backgroundColor: '#E5F7EA',
|
||||
borderRadius: 2
|
||||
},
|
||||
main: {
|
||||
color: '#0780ED',
|
||||
fontSize: 12,
|
||||
padding: 0,
|
||||
fontWeight: 600,
|
||||
backgroundColor: '#E6F2FD',
|
||||
borderRadius: 2
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
leaves: { //叶子节点文本样式
|
||||
label: {
|
||||
// backgroundColor: '#81c5f7',
|
||||
//backgroundColor: '#81c5f7',
|
||||
backgroundColor: '#fff',
|
||||
color:'#333',
|
||||
position: 'bottom',
|
||||
|
|
@ -130,15 +187,15 @@ export default function jgOption(data1) {
|
|||
verticalAlign: 'middle',
|
||||
align: 'center',
|
||||
//文本框内文字超过6个字折行
|
||||
// formatter: function(val) {
|
||||
// let strs = val.name.split(''); //字符串数组
|
||||
// let str = ''
|
||||
// for(let i = 0, s; s = strs[i++];) { //遍历字符串数组
|
||||
// str += s;
|
||||
// if(!(i % 6)) str += '\n'; //按需要求余,目前是一个字换一行
|
||||
// }
|
||||
// return str
|
||||
// },
|
||||
/* formatter: function(val) {
|
||||
let strs = val.name.split(''); //字符串数组
|
||||
let str = ''
|
||||
for(let i = 0, s; s = strs[i++];) { //遍历字符串数组
|
||||
str += s;
|
||||
if(!(i % 6)) str += '\n'; //按需要求余,目前是一个字换一行
|
||||
}
|
||||
return str
|
||||
}, */
|
||||
//或者
|
||||
overflow:'break',//break为文字折行, truncate为文字超出部分省略号显示
|
||||
lineOverflow:'truncate',//文字超出高度后 直接截取
|
||||
|
|
|
|||
|
|
@ -12,26 +12,26 @@ const ToolBar = ({ setSearchVal, onSave, exportFile,role }) => {
|
|||
|
||||
|
||||
const onFinish = (values) => {
|
||||
let dateSo;
|
||||
let dataSo;
|
||||
if (values.tm) {
|
||||
dateSo = {
|
||||
dataSo = {
|
||||
start: moment(values.tm[0]).format('YYYY-MM-DD HH:mm:ss'),
|
||||
end: moment(values.tm[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
}
|
||||
delete values.tm
|
||||
setSearchVal({...values, startTime:dateSo?.start,endTime:dateSo?.end});
|
||||
setSearchVal({...values, startTime:dataSo?.start,endTime:dataSo?.end});
|
||||
}
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
let time = [moment().subtract(7,"days"),moment()]
|
||||
let dateSo = {
|
||||
let dataSo = {
|
||||
start:moment(time[0]).format('YYYY-MM-DD 00:00:00'),
|
||||
end:moment(time[1]).format('YYYY-MM-DD 23:59:59'),
|
||||
}
|
||||
form.setFieldValue("tm",time)
|
||||
setSearchVal(dateSo)
|
||||
setSearchVal(dataSo)
|
||||
}, [])
|
||||
return (
|
||||
<>
|
||||
|
|
|
|||
Loading…
Reference in New Issue