diff --git a/package-lock.json b/package-lock.json index 668cb90..e8a1f90 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "xuchang", "version": "0.1.0", "dependencies": { + "@ant-design/icons": "^5.2.6", "@babel/core": "^7.16.0", "@jiaminghi/data-view-react": "^1.2.5", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", @@ -139,7 +140,7 @@ }, "node_modules/@ant-design/icons": { "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.2.6.tgz", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-5.2.6.tgz", "integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==", "dependencies": { "@ant-design/colors": "^7.0.0", @@ -4200,95 +4201,6 @@ "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/@testing-library/dom": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", - "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -18671,19 +18583,6 @@ "is-typedarray": "^1.0.0" } }, - "node_modules/typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -19927,7 +19826,7 @@ }, "@ant-design/icons": { "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.2.6.tgz", + "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-5.2.6.tgz", "integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==", "requires": { "@ant-design/colors": "^7.0.0", @@ -21167,8 +21066,7 @@ "@babel/plugin-proposal-private-property-in-object": { "version": "7.21.0-placeholder-for-preset-env.2", "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "requires": {} + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==" }, "semver": { "version": "6.3.1", @@ -21384,14 +21282,12 @@ "@csstools/postcss-unset-value": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "requires": {} + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==" }, "@csstools/selector-specificity": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "requires": {} + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==" }, "@ctrl/tinycolor": { "version": "3.6.1", @@ -22640,73 +22536,6 @@ "loader-utils": "^2.0.0" } }, - "@testing-library/dom": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", - "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", - "peer": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "peer": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "peer": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, "@testing-library/jest-dom": { "version": "5.17.0", "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", @@ -22841,8 +22670,7 @@ "@testing-library/user-event": { "version": "14.5.1", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.1.tgz", - "integrity": "sha512-UCcUKrUYGj7ClomOo2SpNVvx4/fkd/2BbIHDCle8A0ax+P3bU7yJwDBDrS6ZwdTMARWTGODX1hEsCcO+7beJjg==", - "requires": {} + "integrity": "sha512-UCcUKrUYGj7ClomOo2SpNVvx4/fkd/2BbIHDCle8A0ax+P3bU7yJwDBDrS6ZwdTMARWTGODX1hEsCcO+7beJjg==" }, "@tootallnate/once": { "version": "1.1.2", @@ -23542,14 +23370,12 @@ "acorn-import-assertions": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "requires": {} + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==" }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "requires": {} + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==" }, "acorn-walk": { "version": "7.2.0", @@ -23618,8 +23444,7 @@ "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "requires": {} + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" }, "ansi-escapes": { "version": "4.3.2", @@ -24033,8 +23858,7 @@ "babel-plugin-named-asset-import": { "version": "0.3.8", "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "requires": {} + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==" }, "babel-plugin-polyfill-corejs2": { "version": "0.4.6", @@ -24666,8 +24490,7 @@ "css-declaration-sorter": { "version": "6.4.1", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", - "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", - "requires": {} + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==" }, "css-has-pseudo": { "version": "3.0.4", @@ -24750,8 +24573,7 @@ "css-prefers-color-scheme": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "requires": {} + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==" }, "css-select": { "version": "4.3.0", @@ -24855,8 +24677,7 @@ "cssnano-utils": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", - "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", - "requires": {} + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==" }, "csso": { "version": "4.2.0", @@ -25780,8 +25601,7 @@ "eslint-plugin-react-hooks": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "requires": {} + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==" }, "eslint-plugin-testing-library": { "version": "5.11.1", @@ -26901,8 +26721,7 @@ "icss-utils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "requires": {} + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==" }, "idb": { "version": "7.1.1", @@ -28274,8 +28093,7 @@ "jest-pnp-resolver": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "requires": {} + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==" }, "jest-regex-util": { "version": "27.5.1", @@ -29382,8 +29200,7 @@ "version": "11.1.3", "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.3.tgz", "integrity": "sha512-A5b7O8dH9xpxvkosNrP0dFp2i/dISOJa9WwGF3WJflfqIERE2ybxh1BFDj5CovC2+jCE4M354mk90hN6ziXlVw==", - "dev": true, - "requires": {} + "dev": true }, "leven": { "version": "3.1.0", @@ -30210,8 +30027,7 @@ "postcss-browser-comments": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", - "requires": {} + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==" }, "postcss-calc": { "version": "8.2.4", @@ -30309,26 +30125,22 @@ "postcss-discard-comments": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", - "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", - "requires": {} + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==" }, "postcss-discard-duplicates": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", - "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", - "requires": {} + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==" }, "postcss-discard-empty": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", - "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", - "requires": {} + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==" }, "postcss-discard-overridden": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", - "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", - "requires": {} + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==" }, "postcss-double-position-gradients": { "version": "3.1.2", @@ -30350,8 +30162,7 @@ "postcss-flexbugs-fixes": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "requires": {} + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==" }, "postcss-focus-visible": { "version": "6.0.4", @@ -30372,14 +30183,12 @@ "postcss-font-variant": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "requires": {} + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==" }, "postcss-gap-properties": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", - "requires": {} + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==" }, "postcss-image-set-function": { "version": "4.0.7", @@ -30402,8 +30211,7 @@ "postcss-initial": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "requires": {} + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==" }, "postcss-js": { "version": "4.0.1", @@ -30456,14 +30264,12 @@ "postcss-logical": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", - "requires": {} + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==" }, "postcss-media-minmax": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "requires": {} + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==" }, "postcss-merge-longhand": { "version": "5.1.7", @@ -30524,8 +30330,7 @@ "postcss-modules-extract-imports": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "requires": {} + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==" }, "postcss-modules-local-by-default": { "version": "4.0.3", @@ -30583,8 +30388,7 @@ "postcss-normalize-charset": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", - "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", - "requires": {} + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==" }, "postcss-normalize-display-values": { "version": "5.1.0", @@ -30655,8 +30459,7 @@ "postcss-opacity-percentage": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "requires": {} + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==" }, "postcss-ordered-values": { "version": "5.1.3", @@ -30678,8 +30481,7 @@ "postcss-page-break": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "requires": {} + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==" }, "postcss-place": { "version": "7.0.5", @@ -30773,8 +30575,7 @@ "postcss-replace-overflow-wrap": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "requires": {} + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==" }, "postcss-selector-not": { "version": "6.0.1", @@ -30971,8 +30772,7 @@ "qrcode.react": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.1.0.tgz", - "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==", - "requires": {} + "integrity": "sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==" }, "qs": { "version": "6.11.0", @@ -31641,8 +31441,7 @@ "redux-thunk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz", - "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==", - "requires": {} + "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==" }, "reflect.getprototypeof": { "version": "1.0.4", @@ -32571,8 +32370,7 @@ "style-loader": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", - "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", - "requires": {} + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==" }, "stylehacks": { "version": "5.1.1", @@ -33075,12 +32873,6 @@ "is-typedarray": "^1.0.0" } }, - "typescript": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz", - "integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==", - "peer": true - }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -33183,8 +32975,7 @@ "use-sync-external-store": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "requires": {} + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==" }, "util-deprecate": { "version": "1.0.2", @@ -33456,8 +33247,7 @@ "ws": { "version": "8.14.2", "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", - "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", - "requires": {} + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==" } } }, @@ -33933,8 +33723,7 @@ "ws": { "version": "7.5.9", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", - "requires": {} + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==" }, "xml-name-validator": { "version": "3.0.0", diff --git a/package.json b/package.json index 29f04aa..104859f 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { + "@ant-design/icons": "^5.2.6", "@babel/core": "^7.16.0", "@jiaminghi/data-view-react": "^1.2.5", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", diff --git a/src/components/Common/CurrentTemp/6778.ttf b/src/components/Common/CurrentTemp/6778.ttf new file mode 100644 index 0000000..8ec9569 Binary files /dev/null and b/src/components/Common/CurrentTemp/6778.ttf differ diff --git a/src/components/Common/CurrentTemp/font.css b/src/components/Common/CurrentTemp/font.css new file mode 100644 index 0000000..8934941 --- /dev/null +++ b/src/components/Common/CurrentTemp/font.css @@ -0,0 +1,7 @@ +@font-face { + font-family: "HelloFont WenYiHei"; + /* font-style: normal; + font-weight: 400; */ + src: url("./ziyou.ttf"); + /* font-display: swap; */ +} diff --git a/src/components/Common/CurrentTemp/index.jsx b/src/components/Common/CurrentTemp/index.jsx index 015b046..6c58ea3 100644 --- a/src/components/Common/CurrentTemp/index.jsx +++ b/src/components/Common/CurrentTemp/index.jsx @@ -1,6 +1,10 @@ import GraphBase from "../GraphBase"; +import "./font.css"; import cls from "./index.module.css"; -import { useState } from "react"; +import { useEffect, useState } from "react"; +import { Tooltip, Button } from "antd"; +import { InfoCircleOutlined } from "@ant-design/icons"; +import { useSelector } from "react-redux"; const SmallBox = (props) => { return ( @@ -27,7 +31,7 @@ const SmallBox = (props) => { width: "2px", height: "80%", top: "10%", - left: "50%", + left: "45%", background: "linear-gradient(to bottom, transparent, #fff3, #fffa, #fff3, transparent)", }} @@ -39,17 +43,26 @@ const SmallBox = (props) => { }; function WindFrequence(props) { - const [dataSource, setDataSource] = useState("风机"); + const [dataSource, setDataSource] = useState("1线"); + const [currentLineTemp, setCurrentLineTemp] = useState([]); + const currentTempList = useSelector((state) => state.annealTemperature?.data); - function handleSourceChange(v) { - console.log("val", v); + function handleSourceChange(line) { + console.log("line changed", line); + setDataSource(line); } + useEffect(() => { + setCurrentLineTemp( + (currentTempList && currentTempList[dataSource.replace("线", "#")]) || [] + ); + }, [dataSource]); + return ( @@ -57,75 +70,130 @@ function WindFrequence(props) {

A1区板上

- 123.8℃ - 123.8℃ - 123.8℃ + {currentLineTemp[0] || 0} ℃ + {currentLineTemp[1] || 0} ℃ + {currentLineTemp[2] || 0} ℃
-

A1区板上

+

A2区板上

- 123.8℃ - 123.8℃ - 123.8℃ + {currentLineTemp[6] || 0} ℃ + {currentLineTemp[7] || 0} ℃ + {currentLineTemp[8] || 0} ℃
-

A1区板上

+

B区板上

- 123.8℃ - 123.8℃ - 123.8℃ + {currentLineTemp[12] || 0} ℃ + {currentLineTemp[13] || 0} ℃ + {currentLineTemp[14] || 0} ℃
-

A1区板上

+

C区板上

- 123.8℃ - 123.8℃ - 123.8℃ + {currentLineTemp[18] || 0} ℃ + {currentLineTemp[19] || 0} ℃ + {currentLineTemp[20] || 0} ℃
-

A1区板上

+

A1区板下

- 123.8℃ - 123.8℃ - 123.8℃ + {currentLineTemp[3] || 0} ℃ + {currentLineTemp[4] || 0} ℃ + {currentLineTemp[5] || 0} ℃
- + +

A2区板下

+
+ {currentLineTemp[9] || 0} ℃ + {currentLineTemp[10] || 0} ℃ + {currentLineTemp[11] || 0} ℃ +
+
+ +

B区板下

+
+ {currentLineTemp[15] || 0} ℃ + {currentLineTemp[16] || 0} ℃ + {currentLineTemp[17] || 0} ℃ +
+
+ +

C区板下

+
+ {currentLineTemp[21] || 0} ℃ + {currentLineTemp[22] || 0} ℃ + {currentLineTemp[23] || 0} ℃ +
+
+
- 123.8℃ - 123.8℃ - 123.8℃ +
+ + + +
+ + {currentLineTemp[26] || 0} ℃ + + + {currentLineTemp[27] || 0} ℃ + + + {currentLineTemp[28] || 0} ℃ +
- -

A1区板上

-
- 123.8℃ - 123.8℃ - 123.8℃ -
-
- + +
- 123.8℃ - 123.8℃ - 123.8℃ +
+ + + +
+ + {currentLineTemp[29] || 0} ℃ + + + {currentLineTemp[30] || 0} ℃ + + + {currentLineTemp[31] || 0} ℃ +
-

A1区板上

+

RET1区

- 123.8℃ + {currentLineTemp[24] || 0} ℃
-

A1区板上

+

RET2区

- 123.8℃ + {currentLineTemp[25] || 0} ℃
diff --git a/src/components/Common/CurrentTemp/index.module.css b/src/components/Common/CurrentTemp/index.module.css index 17fc010..722621c 100644 --- a/src/components/Common/CurrentTemp/index.module.css +++ b/src/components/Common/CurrentTemp/index.module.css @@ -1,139 +1,141 @@ .chart { - height: 100%; + height: 100%; } .gas { - position: relative; + position: relative; } .currentFlow { - position: absolute; - top: 20px; - left: 50%; - transform: translateX(-50%); - padding: 8px 22px; - border-radius: 2px; - letter-spacing: 2px; - box-shadow: inset 0 0 22px 0px hsla(0, 0%, 100%, 0.15); - line-height: 18px; - font-size: 18px; - text-align: center; - color: #12fff5; + position: absolute; + top: 20px; + left: 50%; + transform: translateX(-50%); + padding: 8px 22px; + border-radius: 2px; + letter-spacing: 2px; + box-shadow: inset 0 0 22px 0px hsla(0, 0%, 100%, 0.15); + line-height: 18px; + font-size: 18px; + text-align: center; + color: #12fff5; } .floatHead { - position: absolute; - top: 22px; - right: 24px; - height: 32px; - width: 410px; - display: flex; - align-items: center; - justify-content: flex-end; + position: absolute; + top: 22px; + right: 24px; + height: 32px; + width: 410px; + display: flex; + align-items: center; + justify-content: flex-end; } .mainContent { - padding-top: 16px; + padding-top: 16px; } .alignRight { - text-align: right; - justify-self: flex-end; + text-align: right; + justify-self: flex-end; } .grid { - display: grid; - gap: 6px; - grid-template-columns: repeat(2, minmax(100px, 1fr)); - grid-auto-rows: minmax(64px, min-content); + display: grid; + gap: 6px; + grid-template-columns: repeat(2, minmax(100px, 1fr)); + grid-auto-rows: minmax(64px, min-content); } .areaName { - color: #fff; - font-size: 20px; - line-height: 1; - letter-spacing: 1.5px; - margin: 0; - padding-left: 20px; - width: 50%; + color: #fff; + font-size: 18px; + line-height: 1; + letter-spacing: 1.5px; + margin: 0; + padding-left: 20px; + width: 50%; } .areaPureContent { - display: flex; + display: flex; } .areaPureValue { - padding: 0 8px; + padding: 0 8px; } -.areaPureValue:not(:first-child) { - border-left: 2px solid #fff6; +span.areaPureValue:not(:first-of-type) { + border-left: 2px solid #fff6; } .areaContent { - width: 50%; - padding-left: 12px; - display: flex; - flex-direction: column; + width: 50%; + padding-left: 12px; + display: flex; + flex-direction: column; } .areaPureValue, .areaValue { - display: inline-block; - font-size: 17px; - line-height: 22px; - letter-spacing: 1.2px; + display: inline-block; + font-size: 14px; + line-height: 16px; + letter-spacing: 1.2px; + font-family: "HelloFont WenYiHei", sans-serif; + color: #53c2d4; } .switchLabel { - color: white; - margin-left: 6px; + color: white; + margin-left: 6px; } .legend:last-child { - margin-left: 8px; + margin-left: 8px; } .legend > span { - display: inline-block; - color: #dff1fe; - font-size: 14px; - letter-spacing: 2px; + display: inline-block; + color: #dff1fe; + font-size: 14px; + letter-spacing: 2px; } .legend > span:first-child { - width: 12px; - height: 12px; - margin-right: 4px; - border-radius: 2px; + width: 12px; + height: 12px; + margin-right: 4px; + border-radius: 2px; } .gasIcon { - background: #12fff5; + background: #12fff5; } .gas2Icon { - background: #2760ff; + background: #2760ff; } .radioGroup { - user-select: none; + user-select: none; } .radioGroup * { - border: none !important; - border-radius: 0 !important; + border: none !important; + border-radius: 0 !important; } .radioGroup *:focus-within { - box-shadow: none !important; + box-shadow: none !important; } .radioGroup *::before { - width: 0 !important; + width: 0 !important; } .radioGroup_button_wrapper { - color: #fff !important; - background: #03233c !important; + color: #fff !important; + background: #03233c !important; } diff --git a/src/components/Common/CurrentTemp/ziyou.ttf b/src/components/Common/CurrentTemp/ziyou.ttf new file mode 100644 index 0000000..59e5312 Binary files /dev/null and b/src/components/Common/CurrentTemp/ziyou.ttf differ diff --git a/src/components/Common/FanRunFrequence copy/index.jsx b/src/components/Common/FanRunFrequence copy/index.jsx deleted file mode 100644 index f35d14d..0000000 --- a/src/components/Common/FanRunFrequence copy/index.jsx +++ /dev/null @@ -1,187 +0,0 @@ -// FanRunFrequence -import cls from "./index.module.css"; -import * as echarts from "echarts"; -import GraphBase from "../GraphBase"; -import { useState } from "react"; -import { useSelector } from "react-redux"; - -function WindFrequence(props) { - const [showChart, setShowChart] = useState(false); - const runState = useSelector((state) => state.fanFrequence.runtime); - const hisState = useSelector((state) => state.fanFrequence.history); - - let dataList = []; - let seriesData = []; - const colors = [ - "#12FFF5", - "#2760FF", - "#FFD160", - "#E80091", - "#8064ff", - "#ff8a3b", - "#8cd26d", - "#2aa1ff", - ]; - let options = null; - if (showChart) { - // keys() 结果不是按照顺序,需要 sort() - seriesData = - hisState != null - ? Object.keys(hisState) - .sort() - .map((key) => hisState[key]) - : Array(8) - .fill(1) - .map((_) => Array(7).fill(0)); - - options = { - color: colors, - grid: { top: 32, right: 12, bottom: 20, left: 48 }, - xAxis: { - type: "category", - data: Array(7) - .fill(1) - .map((_, index) => { - const today = new Date(); - const dtimestamp = today - index * 24 * 60 * 60 * 1000; - return `${new Date(dtimestamp).getMonth() + 1}.${new Date( - dtimestamp - ).getDate()}`; - }) - .reverse(), - axisLabel: { - color: "#fff", - fontSize: 12, - }, - axisTick: { show: false }, - axisLine: { - lineStyle: { - width: 1, - color: "#213259", - }, - }, - }, - yAxis: { - name: "单位/m³", - nameTextStyle: { - color: "#fff", - fontSize: 10, - align: "right", - }, - type: "value", - axisLabel: { - color: "#fff", - fontSize: 12, - }, - axisLine: { - show: true, - lineStyle: { - color: "#213259", - }, - }, - splitLine: { - lineStyle: { - color: "#213259a0", - }, - }, - // interval: 10, - // min: 0, - // max: 100, - }, - series: seriesData.map((v, i) => ({ - name: i + 1 + "#风机", - data: v, - type: "line", - symbol: "circle", - areaStyle: { - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - // i % 8 避免超过8个数据时无颜色的问题 - { offset: 0, color: colors[i % 8] + "40" }, - { offset: 0.5, color: colors[i % 8] + "20" }, - { offset: 1, color: colors[i % 8] + "00" }, - ]), - }, - })), - tooltip: { - trigger: "axis", - }, - }; - } else { - dataList = - runState != null - ? Object.keys(runState).map((fan) => ({ - id: Math.random(), - name: fan, - value: runState[fan], - })) - : [ - { id: 1, name: "1#风机", value: "0m³/h" }, - { id: 2, name: "2#风机", value: "0m³/h" }, - { id: 3, name: "3#风机", value: "0m³/h" }, - { id: 4, name: "4#风机", value: "0m³/h" }, - { id: 5, name: "5#风机", value: "0m³/h" }, - { id: 6, name: "6#风机", value: "0m³/h" }, - { id: 7, name: "7#风机", value: "0m³/h" }, - { id: 8, name: "8#风机", value: "0m³/h" }, - { id: 9, name: "9#风机", value: "0m³/h" }, - { id: 10, name: "10#风机", value: "0m³/h" }, - { id: 11, name: "11#风机", value: "0m³/h" }, - { id: 12, name: "12#风机", value: "0m³/h" }, - { id: 13, name: "13#风机", value: "0m³/h" }, - { id: 14, name: "14#风机", value: "0m³/h" }, - { id: 15, name: "15#风机", value: "0m³/h" }, - { id: 16, name: "16#风机", value: "0m³/h" }, - ]; - } - - function handleSwitchChange(val) { - if (val) { - setShowChart(true); - } else { - setShowChart(false); - } - } - return ( - -
- {/* {showChart && ( - - )} */} - {!showChart && ( -
- {dataList.map((item) => ( -
- {item.name} - - {item.value} - -
- ))} -
- )} -
-
- ); -} - -export default WindFrequence; diff --git a/src/store/features/annealTemperatureSlice.js b/src/store/features/annealTemperatureSlice.js new file mode 100644 index 0000000..42ce9f6 --- /dev/null +++ b/src/store/features/annealTemperatureSlice.js @@ -0,0 +1,189 @@ +import { createSlice } from "@reduxjs/toolkit"; + +export const initialState = { + data: { + "3#": [ + "53", + "36", + "67", + "73", + "66", + "77", + "61", + "45", + "58", + "82", + "70", + "73", + "83", + "63", + "41", + "41", + "20", + "94", + "94", + "50", + "51", + "73", + "46", + "37", + "98", + "36", + "48", + "59", + "49", + "56", + "68", + "68", + ], + "2#": [ + "56", + "13", + "47", + "5", + "62", + "24", + "70", + "50", + "71", + "83", + "58", + "87", + "76", + "28", + "8", + "73", + "34", + "78", + "73", + "44", + "23", + "54", + "76", + "16", + "71", + "48", + "54", + "81", + "5", + "28", + "54", + "53", + ], + "1#": [ + "60", + "58", + "37", + "93", + "15", + "41", + "78", + "8", + "4", + "0", + "7", + "27", + "26", + "17", + "83", + "72", + "34", + "7", + "19", + "65", + "90", + "80", + "82", + "87", + "76", + "97", + "12", + "32", + "93", + "91", + "37", + "34", + ], + "5#": [ + "90", + "27", + "65", + "89", + "72", + "58", + "26", + "10", + "14", + "46", + "35", + "66", + "69", + "28", + "10", + "74", + "76", + "47", + "5", + "95", + "72", + "67", + "69", + "63", + "77", + "96", + "56", + "91", + "19", + "57", + "38", + "65", + ], + "4#": [ + "82", + "42", + "75", + "24", + "71", + "31", + "40", + "76", + "14", + "91", + "32", + "82", + "56", + "82", + "18", + "68", + "82", + "79", + "89", + "42", + "56", + "24", + "22", + "67", + "31", + "70", + "53", + "40", + "16", + "21", + "82", + "22", + ], + }, +}; + +const annealTemperatureSlice = createSlice({ + name: "annealTemperature", + initialState, + reducers: { + setTemp: (state, action) => { + state.data = action.payload; + }, + }, +}); + +export default annealTemperatureSlice.reducer; +export const { setTemp } = annealTemperatureSlice.actions; diff --git a/src/store/features/t.json b/src/store/features/t.json new file mode 100644 index 0000000..1856338 --- /dev/null +++ b/src/store/features/t.json @@ -0,0 +1,57 @@ +{ + "data": { + "AnnealFanFrequencyInfo": { + "1#退火A2区1#风机": "49", + "1#退火A2区2#风机": "49", + "1#退火B区1#风机": "19", + "1#退火B区2#风机": "17", + "1#退火C区1#风机": "15", + "1#退火C区2#风机": "2", + "1#退火F1区风机": "80", + "1#退火F2区风机": "45", + "1#退火RET1区1#风机": "50", + "1#退火RET1区2#风机": "24", + "2#退火A2区1#风机": "0", + "2#退火A2区2#风机": "18", + "2#退火B区1#风机": "56", + "2#退火B区2#风机": "14", + "2#退火C区1#风机": "72", + "2#退火C区2#风机": "83", + "2#退火F1区风机": "45", + "2#退火F2区风机": "54", + "2#退火RET1区1#风机": "64", + "2#退火RET1区2#风机": "98", + "3#退火A2区1#风机": "45", + "3#退火A2区2#风机": "42", + "3#退火B区1#风机": "17", + "3#退火B区2#风机": "71", + "3#退火C区1#风机": "69", + "3#退火C区2#风机": "51", + "3#退火F1区风机": "64", + "3#退火F2区风机": "18", + "3#退火RET1区1#风机": "26", + "3#退火RET1区2#风机": "74", + "4#退火A2区1#风机": "22", + "4#退火A2区2#风机": "77", + "4#退火B区1#风机": "96", + "4#退火B区2#风机": "76", + "4#退火C区1#风机": "16", + "4#退火C区2#风机": "12", + "4#退火F1区风机": "65", + "4#退火F2区风机": "12", + "4#退火RET1区1#风机": "68", + "4#退火RET1区2#风机": "34", + "5#退火A2区1#风机": "76", + "5#退火A2区2#风机": "65", + "5#退火B区1#风机": "79", + "5#退火B区2#风机": "65", + "5#退火C区1#风机": "16", + "5#退火C区2#风机": "92", + "5#退火F1区风机": "6", + "5#退火F2区风机": "86", + "5#退火RET1区1#风机": "99", + "5#退火RET1区2#风机": "62" + } + }, + "type": "AnnealFanFrequencyInfo" +} diff --git a/src/store/index.js b/src/store/index.js index 8d1138b..ddfb1a9 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -6,6 +6,7 @@ import fanFrequenceReducer from "./features/fanFrequenceSlice"; import combustionAirReducer from "./features/combustionAirSlice"; import gasReducer from "./features/gasSlice"; import temperatureReducer from "./features/temperatureSlice"; +import annealTemperatureReducer from "./features/annealTemperatureSlice"; import fanInfoReducer from "./features/fanInfo"; import energySlice from "./features/EnergySlice"; import annealFanFrequenceReducer from "./features/annealFanFrequenceSlice"; @@ -30,6 +31,8 @@ export const store = configureStore({ combustionAir: combustionAirReducer, // 温度 temperature: temperatureReducer, + // 温度 + annealTemperature: annealTemperatureReducer, // 能耗 energy: energySlice }, diff --git a/src/utils/index.js b/src/utils/index.js index 4421b27..c9e1426 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -31,7 +31,8 @@ class XClient { } new XClient( - "ws://192.168.1.12:8081/xc-screen/websocket/xc001", + "ws://m306416y13.yicp.fun:35441/xc-screen/websocket/xc001", + // "ws://192.168.1.12:8081/xc-screen/websocket/xc001", "DCS_DATA", (msg) => { let serializedData = null; @@ -117,6 +118,14 @@ new XClient( }); break; } + case "AnnealTempInfo": { + // 退火监测温度列表 + store.dispatch({ + type: "annealTemperature/setTemp", + payload: serializedData.data, + }); + break; + } case "FeederInfo": { // 投料机信息 store.dispatch({