feat(): 增加根据行政区划来展示到报率
parent
9c71543438
commit
c1710d36fb
|
|
@ -12,11 +12,12 @@ import dblOption from './dblOption.js'
|
||||||
import moment from 'moment';
|
import moment from 'moment';
|
||||||
import './index.less'
|
import './index.less'
|
||||||
export default function Czrz() {
|
export default function Czrz() {
|
||||||
|
const user = JSON.parse(sessionStorage.getItem('user'))
|
||||||
const [newColumns, setNewColumns] = useState([])
|
const [newColumns, setNewColumns] = useState([])
|
||||||
const [tableList, setTableList] = useState([])
|
const [tableList, setTableList] = useState([])
|
||||||
const [adcd, setAdcd] = useState('420000000000000')
|
const [adcd, setAdcd] = useState(user?.adcd)
|
||||||
const [treeList, setTreeList] = useState([])
|
const [treeList, setTreeList] = useState([])
|
||||||
const [selectedKeys, setSelectedKeys] = useState(['420000000000000'])
|
const [selectedKeys, setSelectedKeys] = useState([user?.adcd])
|
||||||
const [loading, setLoading] = useState(false)
|
const [loading, setLoading] = useState(false)
|
||||||
const [SearchBottom, setSearchBottom] = useState(false)
|
const [SearchBottom, setSearchBottom] = useState(false)
|
||||||
const [adcdList, setAdcdList] = useState([])
|
const [adcdList, setAdcdList] = useState([])
|
||||||
|
|
@ -26,6 +27,7 @@ export default function Czrz() {
|
||||||
const [subTableData, setSubTableData] = useState([])
|
const [subTableData, setSubTableData] = useState([])
|
||||||
const qsoptions = useMemo(() => {
|
const qsoptions = useMemo(() => {
|
||||||
if (dayArr.length > 0 && selectedObject) {
|
if (dayArr.length > 0 && selectedObject) {
|
||||||
|
console.log("adcdList",adcdList);
|
||||||
return qsOption(dayArr, selectedObject, hbobj, adcdList)
|
return qsOption(dayArr, selectedObject, hbobj, adcdList)
|
||||||
} else {
|
} else {
|
||||||
return {}
|
return {}
|
||||||
|
|
@ -65,7 +67,7 @@ export default function Czrz() {
|
||||||
align: "center",
|
align: "center",
|
||||||
render: (text, record) => (
|
render: (text, record) => (
|
||||||
<span>
|
<span>
|
||||||
{record.ratelen > 0 ? (record.ratesum * 100 / record.ratelen).toFixed(2) : '-'}%
|
{record?.ratelen > 0 ? (record?.ratesum * 100 / record?.ratelen).toFixed(2) : '-'}%
|
||||||
</span>
|
</span>
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
|
@ -236,8 +238,8 @@ export default function Czrz() {
|
||||||
const dayarr = [];
|
const dayarr = [];
|
||||||
const adlist = [];
|
const adlist = [];
|
||||||
let hbobj = {
|
let hbobj = {
|
||||||
adcd: '420000000000',
|
adcd: user?.adcd,
|
||||||
adnm: '湖北省',
|
adnm: user?.adnm,
|
||||||
ratesum: 0,
|
ratesum: 0,
|
||||||
ratelen: 0
|
ratelen: 0
|
||||||
};
|
};
|
||||||
|
|
@ -334,7 +336,7 @@ export default function Czrz() {
|
||||||
align: "center",
|
align: "center",
|
||||||
render: (text, record) => (
|
render: (text, record) => (
|
||||||
<span>
|
<span>
|
||||||
{(record[it]?.rate * 100).toFixed(2)}%
|
{(record?.[it]?.rate * 100).toFixed(2)}%
|
||||||
</span>
|
</span>
|
||||||
)
|
)
|
||||||
}))
|
}))
|
||||||
|
|
@ -342,12 +344,33 @@ export default function Czrz() {
|
||||||
console.log("hbobj", newhbobj);
|
console.log("hbobj", newhbobj);
|
||||||
console.log("adlist", adlist);
|
console.log("adlist", adlist);
|
||||||
setHbobj(newhbobj);
|
setHbobj(newhbobj);
|
||||||
|
adlist.forEach(item => {
|
||||||
|
if (item.adcd == '420381450000') {
|
||||||
|
item.adcd = "420391000000"
|
||||||
|
}
|
||||||
|
if (item.adcd == '421302000000') {
|
||||||
|
item.adcd = "421303000000"
|
||||||
|
}
|
||||||
|
if (item.adcd == '420821450000') {
|
||||||
|
item.adcd = "420891000000"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
setAdcdList(adlist);
|
setAdcdList(adlist);
|
||||||
filterdata(adlist, newhbobj)
|
filterdata(adlist, newhbobj)
|
||||||
}
|
}
|
||||||
|
|
||||||
const filterdata = (adlist, newhbobj) => {
|
const filterdata = (adlist, newhbobj) => {
|
||||||
let reg = /00000000$/;
|
let reg = /00000000$/;
|
||||||
|
if (newhbobj.adnm != '湖北省' && newhbobj.adcd.substring(4) == '00000000000') {
|
||||||
|
const cityPrefix = newhbobj.adcd.substring(0, 4);
|
||||||
|
reg = new RegExp(`^(${cityPrefix}\\d{2})(000000)$`);
|
||||||
|
} else if ((newhbobj.adnm != '湖北省' && newhbobj.adcd.substring(6) == '000000000')) {
|
||||||
|
reg = new RegExp(`^${newhbobj.adcd.substring(0,12)}$`)
|
||||||
|
}
|
||||||
|
// else if (newhbobj.adcd = '420381450000000') {
|
||||||
|
// reg = new RegExp(`^${newhbobj.adcd.substring(0,12)}$`)
|
||||||
|
// }
|
||||||
const list = [];
|
const list = [];
|
||||||
|
|
||||||
for (let i = 0; i < adlist.length; i++) {
|
for (let i = 0; i < adlist.length; i++) {
|
||||||
|
|
@ -374,20 +397,32 @@ export default function Czrz() {
|
||||||
}
|
}
|
||||||
console.log("list", list);
|
console.log("list", list);
|
||||||
console.log("newhbobj", newhbobj);
|
console.log("newhbobj", newhbobj);
|
||||||
setTableList([newhbobj, ...list]);
|
const addArr = newhbobj.adnm != '湖北省' ? list : [newhbobj, ...list];
|
||||||
|
setTableList(addArr);
|
||||||
}
|
}
|
||||||
|
|
||||||
const treeData = async (adcd) => {
|
const treeData = async (user) => {
|
||||||
const hbobj = {
|
const obj = {
|
||||||
adcd: "420000000000000",
|
adcd: user.adcd,
|
||||||
adnm: "湖北省",
|
adnm: user.adnm,
|
||||||
children: [],
|
children: [],
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const res = await xyt_httpget2(apiurl.ptjs.treeList + adcd)
|
const res = await xyt_httpget2(apiurl.ptjs.treeList + user.adcd)
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
hbobj.children = res.data;
|
res.data.forEach((item) => {
|
||||||
setTreeList([hbobj]);
|
if (item.adnm == '武当山特区') {
|
||||||
|
item.adnm = '武当山'
|
||||||
|
// item.adcd = '420381450000000'
|
||||||
|
}
|
||||||
|
if (item.adnm == '屈家岭管理区') {
|
||||||
|
item.adnm = '屈家岭'
|
||||||
|
// item.adcd = '420821450000000'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// const filterData = res.data.filter(item => item.adnm !="屈家岭管理区")
|
||||||
|
obj.children =res.data;
|
||||||
|
setTreeList([obj]);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
|
|
@ -433,8 +468,18 @@ export default function Czrz() {
|
||||||
try {
|
try {
|
||||||
const res = await xyt_httpget2(apiurl.ptjs.treeList + key)
|
const res = await xyt_httpget2(apiurl.ptjs.treeList + key)
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
const filterData =res.data.filter(item => item.adcd != '420891000000000')
|
res.data.forEach((item) => {
|
||||||
const results = dataUpdate(filterData)
|
if (item.adnm == '武当山特区') {
|
||||||
|
item.adnm = '武当山'
|
||||||
|
// item.adcd = '420381450000000'
|
||||||
|
}
|
||||||
|
if (item.adnm == '屈家岭管理区') {
|
||||||
|
item.adnm = '屈家岭'
|
||||||
|
// item.adcd = '420821450000000'
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// const filterData =res.data.filter(item => item.adcd != '420891000000000')
|
||||||
|
const results = res.data
|
||||||
setTreeList(origin =>
|
setTreeList(origin =>
|
||||||
updateTreeData(origin, key, results.map(item => ({ ...item, isLeaf: true })))
|
updateTreeData(origin, key, results.map(item => ({ ...item, isLeaf: true })))
|
||||||
)
|
)
|
||||||
|
|
@ -463,6 +508,9 @@ export default function Czrz() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
setTableList([filterData])
|
setTableList([filterData])
|
||||||
|
} else if (adcd == '420821450000000') {
|
||||||
|
const filterData = adcdList.find(item => item.adcd == adcd.substring(0,12));
|
||||||
|
setTableList([filterData])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setSelectedKeys(keys)
|
setSelectedKeys(keys)
|
||||||
|
|
@ -506,7 +554,6 @@ export default function Czrz() {
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log("sellist", sellist);
|
console.log("sellist", sellist);
|
||||||
|
|
||||||
setSubTableData(sellist)
|
setSubTableData(sellist)
|
||||||
}
|
}
|
||||||
// 下载测站离线表
|
// 下载测站离线表
|
||||||
|
|
@ -536,9 +583,8 @@ export default function Czrz() {
|
||||||
getData(params)
|
getData(params)
|
||||||
}
|
}
|
||||||
}, [searchVal])
|
}, [searchVal])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
treeData("420000000000000")
|
treeData(user)
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
@ -552,7 +598,7 @@ export default function Czrz() {
|
||||||
})
|
})
|
||||||
if (!selectObj) return
|
if (!selectObj) return
|
||||||
selectObj.isBl = selectObj?.adcd.substring(4) != '00000000' ? true : false
|
selectObj.isBl = selectObj?.adcd.substring(4) != '00000000' ? true : false
|
||||||
const type = selectObj?.adcd == '420000000000' ? 'province' : 'city'
|
const type = selectObj?.adcd == "420000000000000" ? 'province' : 'city'
|
||||||
// const type = 'province';
|
// const type = 'province';
|
||||||
console.log("adcd", subStrAdcd);
|
console.log("adcd", subStrAdcd);
|
||||||
setSelectObject(selectObj)
|
setSelectObject(selectObj)
|
||||||
|
|
@ -563,6 +609,7 @@ export default function Czrz() {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className='page'>
|
<div className='page'>
|
||||||
|
{user.adcd.substring(4) == '00000000000' &&
|
||||||
<div className='left'>
|
<div className='left'>
|
||||||
<Card>
|
<Card>
|
||||||
{
|
{
|
||||||
|
|
@ -571,7 +618,7 @@ export default function Czrz() {
|
||||||
treeData={treeList}
|
treeData={treeList}
|
||||||
fieldNames={{ title: 'adnm', key: "adcd" }}
|
fieldNames={{ title: 'adnm', key: "adcd" }}
|
||||||
loadData={onLoadData}
|
loadData={onLoadData}
|
||||||
defaultExpandedKeys={["420000000000000"]}
|
defaultExpandedKeys={[user?.adcd]}
|
||||||
selectedKeys={selectedKeys}
|
selectedKeys={selectedKeys}
|
||||||
onSelect={onSelect}
|
onSelect={onSelect}
|
||||||
/> :
|
/> :
|
||||||
|
|
@ -580,7 +627,8 @@ export default function Czrz() {
|
||||||
|
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
<div className='right' style={{ overflow: "auto" }}>
|
}
|
||||||
|
<div className='right' style={{ overflow: "auto",width:user.adcd.substring(4) == '00000000000' ? '80%':'100%' }}>
|
||||||
|
|
||||||
<Card style={{ display: 'flex', flexDirection: 'column' }}>
|
<Card style={{ display: 'flex', flexDirection: 'column' }}>
|
||||||
<div className='flex' style={{ alignItems: 'center', marginRight: 10, marginBottom: 20 }}>
|
<div className='flex' style={{ alignItems: 'center', marginRight: 10, marginBottom: 20 }}>
|
||||||
|
|
|
||||||
|
|
@ -40,17 +40,16 @@ export default function qsOption(timeList, listObj, hbobj, list) {
|
||||||
itemStyle: itemStyle,
|
itemStyle: itemStyle,
|
||||||
data: []
|
data: []
|
||||||
}
|
}
|
||||||
// 湖北省
|
// // 湖北省
|
||||||
for (let d = chartTimeList.length - 1; d > -1; d--) {
|
for (let d = chartTimeList.length - 1; d > -1; d--) {
|
||||||
let yval = parseFloat((hbobj[chartTimeList[d]]?.rate * 100).toFixed(2));
|
let yval = parseFloat((hbobj[chartTimeList[d]]?.rate * 100).toFixed(2));
|
||||||
hbSeriseData.push(yval);
|
hbSeriseData.push(yval);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (listObj.isBl) {
|
if (listObj.isBl) {
|
||||||
const dd = listObj.adcd.substring(0,4) + '00000000'
|
const dd = listObj.adcd.substring(0,4) + '00000000'
|
||||||
const cityAdcd = list.find(item => item.adcd == dd);
|
const cityAdcd = list.find(item => item.adcd == dd);
|
||||||
for (let d = chartTimeList.length - 1; d > -1; d--){
|
for (let d = chartTimeList.length - 1; d > -1; d--){
|
||||||
let yval = parseFloat((cityAdcd[chartTimeList[d]]?.rate * 100).toFixed(2));
|
let yval = parseFloat((cityAdcd?.[chartTimeList[d]]?.rate * 100).toFixed(2));
|
||||||
addSerise1.name = cityAdcd?.adnm;
|
addSerise1.name = cityAdcd?.adnm;
|
||||||
addSerise1.data.push(yval);
|
addSerise1.data.push(yval);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue