PredictionAnalysis.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { queryMembraneList } from '@/services/SmartOps';
  2. import { UnityAction } from '@/utils/utils';
  3. import { RightOutlined } from '@ant-design/icons';
  4. import { history, useParams, useRequest } from '@umijs/max';
  5. import styles from './PredictionAnalysis.less';
  6. const PredictionAnalysis = () => {
  7. const { projectId } = useParams();
  8. const { data: deviceList } = useRequest(queryMembraneList, {
  9. defaultParams: [{ project_id: projectId, type: 'uf' }],
  10. formatResult: (result) => {
  11. console.log(result.data.list);
  12. if (result?.data?.list) {
  13. return result.data.list;
  14. }
  15. },
  16. });
  17. const toDetail = (code) => {
  18. const devs = {};
  19. deviceList.forEach((item) => {
  20. devs[item.device_code] = 0;
  21. });
  22. const msg = {
  23. SysName: '超滤单元',
  24. SysDevs: devs,
  25. };
  26. UnityAction.sendMsg('ProcessPredictDetail', JSON.stringify(msg));
  27. history.push(`/smart-ops/prediction/${projectId}?code=${code}`);
  28. };
  29. return (
  30. <>
  31. <div className="card-box" style={{ padding: '0.2rem' }}>
  32. <div className={styles.title}>超滤单元</div>
  33. {deviceList?.map((item, index) => {
  34. return (
  35. <div
  36. key={item.device_code}
  37. className={styles.itemContainer}
  38. onClick={() => {
  39. toDetail(item.device_code);
  40. }}
  41. >
  42. <div>{`${item.device_name}(${item.device_code})`}</div>
  43. <div className={styles.toDetail}>
  44. 预测分析
  45. <RightOutlined
  46. style={{ marginLeft: '0.1rem', color: 'gray' }}
  47. />
  48. </div>
  49. </div>
  50. );
  51. })}
  52. </div>
  53. </>
  54. );
  55. };
  56. export default PredictionAnalysis;