Merge branch 'lsf-dev'

lsf-dev
李神峰 2024-09-27 17:51:21 +08:00
commit c4ba002e9c
48 changed files with 346 additions and 297 deletions

View File

@ -33,6 +33,7 @@
"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",
@ -43,6 +44,7 @@
"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",
@ -50,10 +52,7 @@
"react-router-dom": "^6.3.0",
"react-scripts": "5.0.1",
"redux": "^4.2.0",
"typescript": "^4.7.4",
"konva": "^8.3.14",
"react-konva": "^18.2.3"
"typescript": "^4.7.4"
},
"scripts": {
"start": "craco start",

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -361,12 +361,12 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
useEffect(() => {
if (mode !== "save") {
let dataSo = [
let dateSo = [
record.validStartDate? moment(record.validStartDate):'',
record.validEndDate? moment(record.validEndDate): ''
]
form.setFieldsValue({...record,dateRangeSo:dataSo})
form.setFieldsValue({...record,dateRangeSo:dateSo})
}

View File

@ -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: 'dataSo', dataIndex: 'dataSo', width: 250,
title: '有效期限', key: 'dateSo', dataIndex: 'dateSo', width: 250,
render: (value, row, index) => {
return (
<>

View File

@ -128,14 +128,14 @@ const ModalForm = ({ mode, record,onEdit,onSave,onSimilarSave }) => {
useEffect(() => {
let serviceObj
let dataSo = [
let dateSo = [
moment(record.validStartDate),
moment(record.validEndDate)
]
if (serviceObjs?.length > 0) {
serviceObj = serviceObjs.map(item => item.name).join()
}
form.setFieldsValue({...record,dataSo,serviceObjs:serviceObj})
form.setFieldsValue({...record,dateSo,serviceObjs:serviceObj})
}, [record,serviceObjs])
return (
@ -172,7 +172,7 @@ const ModalForm = ({ mode, record,onEdit,onSave,onSimilarSave }) => {
<Col span={12}>
<Form.Item
label="有效期限"
name="dataSo"
name="dateSo"
>
<RangePicker
allowClear

View File

@ -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: 'dataSo', dataIndex: 'dataSo', width: 250,
title: '有效期限', key: 'dateSo', dataIndex: 'dateSo', width: 250,
render: (value, row, index) => {
return (
<>

View File

@ -10,25 +10,25 @@ const ToolBar = ({ setSearchVal, onSave,setSwiper,exportFile,role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
// useEffect(() => {
// let time = [moment().subtract(1,"months"),moment()]
// let dataSo = {
// let dateSo = {
// 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:dataSo})
// setSearchVal({dateTimeRangeSo:dateSo})
// }, [])
useEffect(() => {

View File

@ -36,24 +36,24 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
useEffect(() => {
let time = [moment().subtract(1,"weeks"),moment()]
let dataSo = {
let dateSo = {
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:dataSo})
setSearchVal({dateTimeRangeSo:dateSo})
}, [])

View File

@ -26,15 +26,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}

View File

@ -26,25 +26,25 @@ const ToolBar = ({ setSearchVal, onSave, onChecked,role }) => {
},
]
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
useEffect(() => {
let time = [moment().subtract(1,"months"),moment()]
let dataSo = {
let dateSo = {
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:dataSo})
setSearchVal({dateTimeRangeSo:dateSo})
}, [])
return (
<>

View File

@ -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 dataSo;
let dateSo;
if (values.tm) {
dataSo = moment(values.tm).format('YYYY')
dateSo = moment(values.tm).format('YYYY')
}
delete values.tm
setSearchVal({ ...values, year: dataSo });
setSearchVal({ ...values, year: dateSo });
}

View File

@ -22,12 +22,12 @@ const ToolBar = ({ setSearchVal, setDmName, exportFile,role }) => {
}
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = moment(values.tm).format('YYYY')
dateSo = moment(values.tm).format('YYYY')
}
delete values.tm
setSearchVal({ ...values, year: dataSo });
setSearchVal({ ...values, year: dateSo });
setDmName(dmList.find(item => item.value == values.profileCode).label)
}

View File

@ -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 dataSo;
let dateSo;
if (values.tm) {
dataSo = moment(values.tm).format('YYYY')
dateSo = moment(values.tm).format('YYYY')
}
delete values.tm
setSearchVal({ ...values, year: dataSo });
setSearchVal({ ...values, year: dateSo });
}

View File

@ -56,15 +56,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
}
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}

View File

@ -76,15 +76,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
}
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
useEffect(() => {

View File

@ -68,15 +68,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
}
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
useEffect(() => {

View File

@ -55,15 +55,15 @@ const ToolBar = ({ setSearchVal, setMode, exportFile,role }) => {
}
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, ...dataSo});
setSearchVal({...values, ...dateSo});
}
useEffect(() => {
@ -72,12 +72,12 @@ const ToolBar = ({ setSearchVal, setMode, exportFile,role }) => {
useEffect(() => {
let time = [moment().subtract(7,"days"),moment()]
let dataSo = {
let dateSo = {
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(dataSo)
setSearchVal(dateSo)
}, [])
return (

View File

@ -7,32 +7,32 @@ const { RangePicker } = DatePicker;
const ToolBar = ({ setSearchVal, searchVal,exportFile }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm1) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
// useEffect(() => {
// let time = [moment().subtract(1,"months"),moment()]
// let dataSo = {
// let dateSo = {
// 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:dataSo})
// setSearchVal({dateTimeRangeSo:dateSo})
// }, [])
useEffect(() => {
if (searchVal) {
let time = [moment(searchVal.dateTimeRangeSo?.start),moment(searchVal.dateTimeRangeSo?.end)]
form.setFieldValue("tm1",time)
}
// setSearchVal({dateTimeRangeSo:dataSo})
// setSearchVal({dateTimeRangeSo:dateSo})
}, [searchVal])
return (
<>

View File

@ -6,21 +6,21 @@ const { RangePicker } = DatePicker;
const ToolBar = ({ setSearchVal, onSave,exportFile,type,searchValLog }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
useEffect(() => {
// let time = [moment().subtract(1,"months"),moment()]
// let dataSo = {
// let dateSo = {
// 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:dataSo})
// setSearchVal({dateTimeRangeSo:dateSo})
}, [searchValLog])
return (
<>

View File

@ -7,32 +7,32 @@ const { RangePicker } = DatePicker;
const ToolBar = ({ setSearchVal, searchVal,exportFile }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm1) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
// useEffect(() => {
// let time = [moment().subtract(1,"months"),moment()]
// let dataSo = {
// let dateSo = {
// 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:dataSo})
// setSearchVal({dateTimeRangeSo:dateSo})
// }, [])
useEffect(() => {
if (searchVal) {
let time = [moment(searchVal.dateTimeRangeSo?.start),moment(searchVal.dateTimeRangeSo?.end)]
form.setFieldValue("tm1",time)
}
// setSearchVal({dateTimeRangeSo:dataSo})
// setSearchVal({dateTimeRangeSo:dateSo})
}, [searchVal])
return (
<>

View File

@ -6,21 +6,21 @@ const { RangePicker } = DatePicker;
const ToolBar = ({ setSearchVal, onSave,exportFile,type,searchValLog }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
useEffect(() => {
// let time = [moment().subtract(1,"months"),moment()]
// let dataSo = {
// let dateSo = {
// 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:dataSo})
// setSearchVal({dateTimeRangeSo:dateSo})
}, [searchValLog])
return (
<>

View File

@ -9,24 +9,24 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}
useEffect(() => {
let dataSo = {
let dateSo = {
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(dataSo.start), moment(dataSo.end)])
setSearchVal({ dataSo })
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
setSearchVal({ dateSo })
}, [])
return (

View File

@ -8,15 +8,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}

View File

@ -9,24 +9,24 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}
useEffect(() => {
let dataSo = {
let dateSo = {
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(dataSo.start), moment(dataSo.end)])
setSearchVal({ dataSo })
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
setSearchVal({ dateSo })
}, [])
return (

View File

@ -9,24 +9,24 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}
useEffect(() => {
let dataSo = {
let dateSo = {
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(dataSo.start), moment(dataSo.end)])
setSearchVal({ dataSo })
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
setSearchVal({ dateSo })
}, [])
return (

View File

@ -8,15 +8,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}

View File

@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}

View File

@ -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 dataSo;
let dateSo;
if (values.year) {
dataSo = moment(values.year).format('YYYY')
dateSo = moment(values.year).format('YYYY')
}
delete values.year
setSearchVal({...values, year:Number(dataSo)});
setSearchVal({...values, year:Number(dateSo)});
}
useEffect(() => {

View File

@ -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 dataSo;
let dateSo;
if (values.year) {
dataSo = moment(values.year).format('YYYY')
dateSo = moment(values.year).format('YYYY')
}
delete values.year
setSearchVal({...values, year:Number(dataSo)});
setSearchVal({...values, year:Number(dateSo)});
}
useEffect(() => {

View File

@ -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 dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, ...dataSo});
setSearchVal({...values, ...dateSo});
}
useEffect(() => {
let dataSo = {
let dateSo = {
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(dataSo.start), moment(dataSo.end)])
setSearchVal(dataSo)
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
setSearchVal(dateSo)
}, [])
return (

View File

@ -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 dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, ...dataSo});
setSearchVal({...values, ...dateSo});
}
useEffect(() => {
let dataSo = {
let dateSo = {
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(dataSo.start), moment(dataSo.end)])
setSearchVal(dataSo)
form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
setSearchVal(dateSo)
}, [])
return (

View File

@ -10,21 +10,21 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.year) {
dataSo = moment(values.year).format('YYYY')
dateSo = moment(values.year).format('YYYY')
}
delete values.year
setSearchVal({...values, year:Number(dataSo)});
setSearchVal({...values, year:Number(dateSo)});
}
// useEffect(() => {
// let dataSo = {
// let dateSo = {
// 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(dataSo.start), moment(dataSo.end)])
// setSearchVal({ dataSo })
// form.setFieldValue("tm", [moment(dateSo.start), moment(dateSo.end)])
// setSearchVal({ dateSo })
// }, [])
return (

View File

@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}

View File

@ -9,15 +9,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}

View File

@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}

View File

@ -54,26 +54,26 @@ const ToolBar = ({ setSearchVal, onSave, storeData,role }) => {
}
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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({...dataSo});
setSearchVal({...dateSo});
}
useEffect(() => {
let time = [moment().subtract(1,"months"),moment()]
let dataSo = {
let dateSo = {
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({...dataSo})
setSearchVal({...dateSo})
}, [])

View File

@ -70,26 +70,26 @@ const ToolBar = ({ setSearchVal, onChecked, exportFile, role }) => {
}
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo?.start,endTime:dataSo?.end});
setSearchVal({...values, startTime:dateSo?.start,endTime:dateSo?.end});
}
useEffect(() => {
let time = [moment().subtract(1,"years"),moment()]
let dataSo = {
let dateSo = {
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:dataSo.start, endTime:dataSo.end})
setSearchVal({startTime:dateSo.start, endTime:dateSo.end})
}, [])
return (
<>

View File

@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo});
setSearchVal({...values, dateSo});
}

View File

@ -38,26 +38,26 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
}
}
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo});
setSearchVal({...values, dateTimeRangeSo:dateSo});
}
useEffect(() => {
getStationCode()
let time = [moment().subtract(1,"weeks"),moment()]
let dataSo = {
let dateSo = {
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:dataSo})
setSearchVal({dateTimeRangeSo:dateSo})
}, [])
return (
<>

View File

@ -121,12 +121,12 @@ const ModalForm = ({ mode, record, onEdit, onSave, onSimilarSave }) => {
// useEffect(() => {
// if (mode !== "save") {
// let dataSo = [
// let dateSo = [
// record.validStartDate? moment(record.validStartDate):'',
// record.validEndDate? moment(record.validEndDate): ''
// ]
// form.setFieldsValue({...record,dateRangeSo:dataSo})
// form.setFieldsValue({...record,dateRangeSo:dateSo})
// }

View File

@ -10,15 +10,15 @@ const ToolBar = ({ setSearchVal, onSave, storeData, role }) => {
const [form] = Form.useForm();
const [showGj, setShowGj] = useState(false)
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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, dataSo });
setSearchVal({ ...values, dateSo });
}
const opntios = [

View File

@ -1,12 +1,95 @@
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(() => {
return jgOption();
if (treeList.length > 0) {
return jgOption(treeList);
} else {
return {}
}
}, [treeList])
useEffect(() => {
getDeptList()
}, [])
return (
<div className='content-box' style={{ backgroundColor: '#fff', height: '100%', display: 'flex', padding: '10px' }}>
<div className='lf' style={{ height: 'calc(100vh - 168px)',width:"100%" }}>

View File

@ -0,0 +1,24 @@
.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;
}

View File

@ -1,93 +1,20 @@
const getBackground = () => {
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`;
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: [data],
data: data1,
top: '10%',
left: '10%',
left: '0%',
bottom: '20%',
right: '10%',
right: '25%',
avoidLabelOverlap: true,//防止标签重叠
roam: true, //移动+缩放 'scale' 或 'zoom':只能够缩放。 'move' 或 'pan':只能够平移。
scaleLimit:{ //缩放比例
@ -101,82 +28,98 @@ export default function jgOption() {
symbol: 'circle', //图形形状 rect方形 roundRect圆角 emptyCircle圆形 circle实心圆
symbolSize: 14, //状态大小
edgeShape: 'polyline', //线条类型 curve曲线
initialTreeDepth: 1, //初始展开的层级
initialTreeDepth: 3, //初始展开的层级
expandAndCollapse: true,//子树折叠和展开的交互,默认打开
lineStyle: {//结构线条样式
width: 0.7,
width: 1,
color: '#1E9FFF',
type: 'broken'
type: 'solid'
},
label: {
// 每个节点对应的文本标签样式
show: true, // 是否显示标签
// rotate:90,
distance: 8, // 文本距离图形元素的距离
position: ['50%', '50%'], // 标签位置
verticalAlign: 'middle', // 文字垂直对齐方式默认自动topmiddlebottom
align: 'center', // 文字水平对齐方式默认自动leftrightcenter
fontSize: 16, // 字体大小
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, // 文字块的背景阴影长度
color: '#000', // 字体颜色
formatter: (params) => {
let newName = ''
let len = params.data.name.length
let strLen = params.data.relationType === 0 ? 100 : 1 //一行显示几个字
let len = params.data.title.length
let strLen = (params.data.parentId === 0 || params.data.parentId === 100 ) ? 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.name.substring(start, len)
tempStr = params.data.title.substring(start, len)
} else {
tempStr = params.data.name.substring(start, end) + '\n'
tempStr = params.data.title.substring(start, end) + '\n'
}
newName += tempStr
}
} else {
newName = params.data.name
newName = params.data.title
}
let n = newName
if (n.length > 16) {
n = n.slice(0, 16) + '...'
}
let str = `{name|${n}}`
let isMain = params.data.relationType === 0
str = isMain ? `{name|${n}} {current|本企业} {main|总部}` : str
return str
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;
},
rich: {
name: {
fontSize: 14
parent: {
color: '#000',
padding: [20, 20],
backgroundColor: {
image:one
},
current: {
fontSize: 12,
padding: 0,
color: '#07CA42',
fontWeight: 600,
backgroundColor: '#E5F7EA',
borderRadius: 2
fontSize: 20
},
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
},
main: {
color: '#0780ED',
fontSize: 12,
padding: 0,
fontWeight: 600,
backgroundColor: '#E6F2FD',
borderRadius: 2
}
}
},
leaves: { //叶子节点文本样式
label: {
// backgroundColor: '#81c5f7',
@ -187,15 +130,15 @@ export default function jgOption() {
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',//文字超出高度后 直接截取

View File

@ -12,26 +12,26 @@ const ToolBar = ({ setSearchVal, onSave, exportFile,role }) => {
const onFinish = (values) => {
let dataSo;
let dateSo;
if (values.tm) {
dataSo = {
dateSo = {
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:dataSo?.start,endTime:dataSo?.end});
setSearchVal({...values, startTime:dateSo?.start,endTime:dateSo?.end});
}
useEffect(() => {
let time = [moment().subtract(7,"days"),moment()]
let dataSo = {
let dateSo = {
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(dataSo)
setSearchVal(dateSo)
}, [])
return (
<>