perf:优化大屏
8
.eslintignore
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/lambda/
|
||||||
|
/scripts
|
||||||
|
/config
|
||||||
|
.history
|
||||||
|
public
|
||||||
|
dist
|
||||||
|
.umi
|
||||||
|
mock
|
||||||
12
.eslintrc.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: [require.resolve("@umijs/fabric/dist/eslint")],
|
||||||
|
rules: {
|
||||||
|
"quotes": [2, "double", "avoid-escape"],
|
||||||
|
"quote-props": 0,
|
||||||
|
},
|
||||||
|
globals: {
|
||||||
|
ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: true,
|
||||||
|
page: true,
|
||||||
|
REACT_APP_ENV: true,
|
||||||
|
},
|
||||||
|
};
|
||||||
@@ -1,8 +1,23 @@
|
|||||||
**/*.md
|
|
||||||
**/*.svg
|
**/*.svg
|
||||||
**/*.ejs
|
|
||||||
**/*.html
|
|
||||||
package.json
|
package.json
|
||||||
.umi
|
.umi
|
||||||
.umi-production
|
.umi-production
|
||||||
.umi-test
|
/dist
|
||||||
|
.dockerignore
|
||||||
|
.DS_Store
|
||||||
|
.eslintignore
|
||||||
|
*.png
|
||||||
|
*.toml
|
||||||
|
docker
|
||||||
|
.editorconfig
|
||||||
|
Dockerfile*
|
||||||
|
.gitignore
|
||||||
|
.prettierignore
|
||||||
|
LICENSE
|
||||||
|
.eslintcache
|
||||||
|
*.lock
|
||||||
|
yarn-error.log
|
||||||
|
.history
|
||||||
|
CNAME
|
||||||
|
/build
|
||||||
|
/public
|
||||||
5
.prettierrc.js
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
const fabric = require('@umijs/fabric');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
...fabric.prettier,
|
||||||
|
};
|
||||||
3
.stylelintrc.js
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: [require.resolve('@umijs/fabric/dist/stylelint')],
|
||||||
|
};
|
||||||
@@ -4,6 +4,5 @@
|
|||||||
- react 17.x
|
- react 17.x
|
||||||
- umijs 3.x
|
- umijs 3.x
|
||||||
- antd 4.x
|
- antd 4.x
|
||||||
-
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import proxy from "./proxy";
|
|||||||
|
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
title: '车辆巡检数据大屏',
|
title: '浙江工商大学',
|
||||||
nodeModulesTransform: {
|
nodeModulesTransform: {
|
||||||
type: 'none',
|
type: 'none',
|
||||||
},
|
},
|
||||||
@@ -16,16 +16,12 @@ export default defineConfig({
|
|||||||
routes: route,
|
routes: route,
|
||||||
proxy: proxy,
|
proxy: proxy,
|
||||||
fastRefresh: {},
|
fastRefresh: {},
|
||||||
externals: {
|
|
||||||
'react': 'React',
|
|
||||||
'react-dom': 'ReactDOM',
|
|
||||||
},
|
|
||||||
antd: {
|
antd: {
|
||||||
dark: true, // 开启暗色主题
|
dark: true, // 开启暗色主题
|
||||||
compact: true, // 开启紧凑主题
|
compact: true, // 开启紧凑主题
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
"primary-color": "#14FDF7",
|
"primary-color": "#01396C",
|
||||||
},
|
},
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
export default [
|
export default [
|
||||||
{
|
{
|
||||||
path:'/',
|
path: '/',
|
||||||
component:'../pages/index',
|
component: '../layouts/HeadLayout',
|
||||||
|
routes: [
|
||||||
|
{path: '/', redirect: "/home"},
|
||||||
|
{path: "/home", component: "../pages/home"},
|
||||||
|
{path: "/vehicle", component: "../pages/vehicle"}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
41
package.json
@@ -3,41 +3,22 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "umi dev",
|
"start": "umi dev",
|
||||||
"build": "umi build",
|
"build": "umi build",
|
||||||
"postinstall": "umi generate tmp",
|
"postinstall": "umi generate tmp"
|
||||||
"prettier": "prettier --write '**/*.{js,jsx,tsx,ts,less,md,json}'",
|
|
||||||
"test": "umi-test",
|
|
||||||
"test:coverage": "umi-test --coverage"
|
|
||||||
},
|
|
||||||
"gitHooks": {
|
|
||||||
"pre-commit": "lint-staged"
|
|
||||||
},
|
|
||||||
"lint-staged": {
|
|
||||||
"*.{js,jsx,less,md,json}": [
|
|
||||||
"prettier --write"
|
|
||||||
],
|
|
||||||
"*.ts?(x)": [
|
|
||||||
"prettier --parser=typescript --write"
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@ant-design/charts": "^1.3.6",
|
||||||
"@jiaminghi/data-view-react": "^1.2.5",
|
"@jiaminghi/data-view-react": "^1.2.5",
|
||||||
"antd": "^4.19.3",
|
"antd": "4.20.7",
|
||||||
"dayjs": "^1.10.8",
|
"react": "16.14.0",
|
||||||
"rc-picker": "^2.6.5",
|
"react-dom": "16.14.0",
|
||||||
"react": "17.x",
|
"umi": "^3.5.21",
|
||||||
"react-dom": "17.x",
|
"umi-request": "^1.4.0"
|
||||||
"umi": "^3.5.21"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/react": "^17.0.0",
|
"@umijs/plugin-antd": "0.15.0",
|
||||||
"@types/react-dom": "^17.0.0",
|
"@umijs/fabric": "^2.8.1",
|
||||||
"@umijs/preset-react": "1.x",
|
|
||||||
"@umijs/test": "^3.5.21",
|
|
||||||
"antd-dayjs-webpack-plugin": "^1.0.6",
|
|
||||||
"lint-staged": "^10.0.7",
|
|
||||||
"prettier": "^2.2.0",
|
"prettier": "^2.2.0",
|
||||||
"typescript": "^4.1.2",
|
"eslint": "^7.11.0",
|
||||||
"umi-request": "^1.4.0",
|
"stylelint": "^13.0.0"
|
||||||
"yorkie": "^2.0.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
32
public/charts.min.js
vendored
|
Before Width: | Height: | Size: 12 KiB |
BIN
public/imgs/campus_bg.png
Normal file
|
After Width: | Height: | Size: 802 KiB |
BIN
public/imgs/campus_title.png
Normal file
|
After Width: | Height: | Size: 8.8 KiB |
BIN
public/imgs/caosu_holder.png
Normal file
|
After Width: | Height: | Size: 222 KiB |
BIN
public/imgs/full_screen.png
Normal file
|
After Width: | Height: | Size: 442 B |
BIN
public/imgs/home_bg.png
Normal file
|
After Width: | Height: | Size: 540 KiB |
BIN
public/imgs/home_title_bg.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
public/imgs/modal_bg.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/imgs/module_active.png
Normal file
|
After Width: | Height: | Size: 2.1 KiB |
BIN
public/imgs/module_normal.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
245
public/react-dom.production.min.js
vendored
@@ -1,245 +0,0 @@
|
|||||||
/** @license React v17.0.2
|
|
||||||
* react-dom.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
(function(){/*
|
|
||||||
Modernizr 3.0.0pre (Custom Build) | MIT
|
|
||||||
*/
|
|
||||||
'use strict';(function(M,ha){"object"===typeof exports&&"undefined"!==typeof module?ha(exports,require("react")):"function"===typeof define&&define.amd?define(["exports","react"],ha):(M=M||self,ha(M.ReactDOM={},M.React))})(this,function(M,ha){function m(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;c<arguments.length;c++)b+="&args[]="+encodeURIComponent(arguments[c]);return"Minified React error #"+a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}
|
|
||||||
function Ta(a,b){gb(a,b);gb(a+"Capture",b)}function gb(a,b){Ib[a]=b;for(a=0;a<b.length;a++)zf.add(b[a])}function li(a){if(Af.call(Bf,a))return!0;if(Af.call(Cf,a))return!1;if(mi.test(a))return Bf[a]=!0;Cf[a]=!0;return!1}function ni(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case "function":case "symbol":return!0;case "boolean":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return"data-"!==a&&"aria-"!==a;default:return!1}}function oi(a,b,c,d){if(null===
|
|
||||||
b||"undefined"===typeof b||ni(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function Q(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}function Ed(a,b,c,d){var e=I.hasOwnProperty(b)?I[b]:null;var f=null!==e?0===e.type:d?!1:!(2<b.length)||
|
|
||||||
"o"!==b[0]&&"O"!==b[0]||"n"!==b[1]&&"N"!==b[1]?!1:!0;f||(oi(b,c,e,d)&&(c=null),d||null===e?li(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,""+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:"":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?"":""+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c))))}function Jb(a){if(null===a||"object"!==typeof a)return null;a=Df&&a[Df]||a["@@iterator"];return"function"===typeof a?a:null}
|
|
||||||
function Kb(a,b,c){if(void 0===Fd)try{throw Error();}catch(d){Fd=(b=d.stack.trim().match(/\n( *(at )?)/))&&b[1]||""}return"\n"+Fd+a}function Bc(a,b){if(!a||Gd)return"";Gd=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,"props",{set:function(){throw Error();}}),"object"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(k){var d=k}Reflect.construct(a,[],b)}else{try{b.call()}catch(k){d=k}a.call(b.prototype)}else{try{throw Error();
|
|
||||||
}catch(k){d=k}a()}}catch(k){if(k&&d&&"string"===typeof k.stack){for(var e=k.stack.split("\n"),f=d.stack.split("\n"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h])return"\n"+e[g].replace(" at new "," at ");while(1<=g&&0<=h)}break}}}finally{Gd=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?Kb(a):""}function pi(a){switch(a.tag){case 5:return Kb(a.type);case 16:return Kb("Lazy");case 13:return Kb("Suspense");
|
|
||||||
case 19:return Kb("SuspenseList");case 0:case 2:case 15:return a=Bc(a.type,!1),a;case 11:return a=Bc(a.type.render,!1),a;case 22:return a=Bc(a.type._render,!1),a;case 1:return a=Bc(a.type,!0),a;default:return""}}function hb(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case wa:return"Fragment";case Ua:return"Portal";case Lb:return"Profiler";case Hd:return"StrictMode";case Mb:return"Suspense";case Cc:return"SuspenseList"}if("object"===
|
|
||||||
typeof a)switch(a.$$typeof){case Id:return(a.displayName||"Context")+".Consumer";case Jd:return(a._context.displayName||"Context")+".Provider";case Dc:var b=a.render;b=b.displayName||b.name||"";return a.displayName||(""!==b?"ForwardRef("+b+")":"ForwardRef");case Ec:return hb(a.type);case Kd:return hb(a._render);case Ld:b=a._payload;a=a._init;try{return hb(a(b))}catch(c){}}return null}function xa(a){switch(typeof a){case "boolean":case "number":case "object":case "string":case "undefined":return a;
|
|
||||||
default:return""}}function Ef(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"===b)}function qi(a){var b=Ef(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,
|
|
||||||
b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker=null;delete a[b]}}}}function Fc(a){a._valueTracker||(a._valueTracker=qi(a))}function Ff(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=Ef(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Gc(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||
|
|
||||||
a.body}catch(b){return a.body}}function Md(a,b){var c=b.checked;return B({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Gf(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=xa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function Hf(a,b){b=b.checked;null!=b&&Ed(a,"checked",
|
|
||||||
b,!1)}function Nd(a,b){Hf(a,b);var c=xa(b.value),d=b.type;if(null!=c)if("number"===d){if(0===c&&""===a.value||a.value!=c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else if("submit"===d||"reset"===d){a.removeAttribute("value");return}b.hasOwnProperty("value")?Od(a,b.type,c):b.hasOwnProperty("defaultValue")&&Od(a,b.type,xa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}function If(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=
|
|
||||||
b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c)}function Od(a,b,c){if("number"!==b||Gc(a.ownerDocument)!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}function ri(a){var b="";ha.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}
|
|
||||||
function Pd(a,b){a=B({children:void 0},b);if(b=ri(b.children))a.children=b;return a}function ib(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b["$"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty("$"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=""+xa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}function Qd(a,b){if(null!=
|
|
||||||
b.dangerouslySetInnerHTML)throw Error(m(91));return B({},b,{value:void 0,defaultValue:void 0,children:""+a._wrapperState.initialValue})}function Jf(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(m(92));if(Array.isArray(c)){if(!(1>=c.length))throw Error(m(93));c=c[0]}b=c}null==b&&(b="");c=b}a._wrapperState={initialValue:xa(c)}}function Kf(a,b){var c=xa(b.value),d=xa(b.defaultValue);null!=c&&(c=""+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==
|
|
||||||
c&&(a.defaultValue=c));null!=d&&(a.defaultValue=""+d)}function Lf(a,b){b=a.textContent;b===a._wrapperState.initialValue&&""!==b&&null!==b&&(a.value=b)}function Mf(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Rd(a,b){return null==a||"http://www.w3.org/1999/xhtml"===a?Mf(b):"http://www.w3.org/2000/svg"===a&&"foreignObject"===b?"http://www.w3.org/1999/xhtml":a}function Nf(a,b,c){return null==
|
|
||||||
b||"boolean"===typeof b||""===b?"":c||"number"!==typeof b||0===b||Nb.hasOwnProperty(a)&&Nb[a]?(""+b).trim():b+"px"}function Of(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf("--"),e=Nf(c,b[c],d);"float"===c&&(c="cssFloat");d?a.setProperty(c,e):a[c]=e}}function Sd(a,b){if(b){if(si[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(m(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(m(60));if(!("object"===typeof b.dangerouslySetInnerHTML&&
|
|
||||||
"__html"in b.dangerouslySetInnerHTML))throw Error(m(61));}if(null!=b.style&&"object"!==typeof b.style)throw Error(m(62));}}function Td(a,b){if(-1===a.indexOf("-"))return"string"===typeof b.is;switch(a){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":return!1;default:return!0}}function Ud(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);
|
|
||||||
return 3===a.nodeType?a.parentNode:a}function Pf(a){if(a=Ob(a)){if("function"!==typeof Vd)throw Error(m(280));var b=a.stateNode;b&&(b=Hc(b),Vd(a.stateNode,a.type,b))}}function Qf(a){jb?kb?kb.push(a):kb=[a]:jb=a}function Rf(){if(jb){var a=jb,b=kb;kb=jb=null;Pf(a);if(b)for(a=0;a<b.length;a++)Pf(b[a])}}function Wd(){if(null!==jb||null!==kb)Xd(),Rf()}function ti(a,b,c){if(Yd)return a(b,c);Yd=!0;try{return Sf(a,b,c)}finally{Yd=!1,Wd()}}function Pb(a,b){var c=a.stateNode;if(null===c)return null;var d=Hc(c);
|
|
||||||
if(null===d)return null;c=d[b];a:switch(b){case "onClick":case "onClickCapture":case "onDoubleClick":case "onDoubleClickCapture":case "onMouseDown":case "onMouseDownCapture":case "onMouseMove":case "onMouseMoveCapture":case "onMouseUp":case "onMouseUpCapture":case "onMouseEnter":(d=!d.disabled)||(a=a.type,d=!("button"===a||"input"===a||"select"===a||"textarea"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&"function"!==typeof c)throw Error(m(231,b,typeof c));return c}function ui(a,b,c,d,e,
|
|
||||||
f,g,h,k){Qb=!1;Ic=null;vi.apply(wi,arguments)}function xi(a,b,c,d,e,f,g,h,k){ui.apply(this,arguments);if(Qb){if(Qb){var v=Ic;Qb=!1;Ic=null}else throw Error(m(198));Jc||(Jc=!0,Zd=v)}}function Va(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&1026)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Tf(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Uf(a){if(Va(a)!==
|
|
||||||
a)throw Error(m(188));}function yi(a){var b=a.alternate;if(!b){b=Va(a);if(null===b)throw Error(m(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Uf(e),a;if(f===d)return Uf(e),b;f=f.sibling}throw Error(m(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=
|
|
||||||
f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(m(189));}}if(c.alternate!==d)throw Error(m(190));}if(3!==c.tag)throw Error(m(188));return c.stateNode.current===c?a:b}function Vf(a){a=yi(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child.return=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}}return null}function Wf(a,b){for(var c=
|
|
||||||
a.alternate;null!==b;){if(b===a||b===c)return!0;b=b.return}return!1}function $d(a,b,c,d,e){return{blockedOn:a,domEventName:b,eventSystemFlags:c|16,nativeEvent:e,targetContainers:[d]}}function Xf(a,b){switch(a){case "focusin":case "focusout":ya=null;break;case "dragenter":case "dragleave":za=null;break;case "mouseover":case "mouseout":Aa=null;break;case "pointerover":case "pointerout":Rb.delete(b.pointerId);break;case "gotpointercapture":case "lostpointercapture":Sb.delete(b.pointerId)}}function Tb(a,
|
|
||||||
b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a=$d(b,c,d,e,f),null!==b&&(b=Ob(b),null!==b&&Yf(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}function zi(a,b,c,d,e){switch(b){case "focusin":return ya=Tb(ya,a,b,c,d,e),!0;case "dragenter":return za=Tb(za,a,b,c,d,e),!0;case "mouseover":return Aa=Tb(Aa,a,b,c,d,e),!0;case "pointerover":var f=e.pointerId;Rb.set(f,Tb(Rb.get(f)||null,a,b,c,d,e));return!0;case "gotpointercapture":return f=e.pointerId,Sb.set(f,
|
|
||||||
Tb(Sb.get(f)||null,a,b,c,d,e)),!0}return!1}function Ai(a){var b=Wa(a.target);if(null!==b){var c=Va(b);if(null!==c)if(b=c.tag,13===b){if(b=Tf(c),null!==b){a.blockedOn=b;Bi(a.lanePriority,function(){ae(a.priority,function(){Ci(c)})});return}}else if(3===b&&c.stateNode.hydrate){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}function Kc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=be(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);
|
|
||||||
if(null!==c)return b=Ob(c),null!==b&&Yf(b),a.blockedOn=c,!1;b.shift()}return!0}function Zf(a,b,c){Kc(a)&&c.delete(b)}function Di(){for(ce=!1;0<ia.length;){var a=ia[0];if(null!==a.blockedOn){a=Ob(a.blockedOn);null!==a&&Ei(a);break}for(var b=a.targetContainers;0<b.length;){var c=be(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null!==c){a.blockedOn=c;break}b.shift()}null===a.blockedOn&&ia.shift()}null!==ya&&Kc(ya)&&(ya=null);null!==za&&Kc(za)&&(za=null);null!==Aa&&Kc(Aa)&&(Aa=null);Rb.forEach(Zf);
|
|
||||||
Sb.forEach(Zf)}function Ub(a,b){a.blockedOn===b&&(a.blockedOn=null,ce||(ce=!0,$f(ag,Di)))}function bg(a){if(0<ia.length){Ub(ia[0],a);for(var b=1;b<ia.length;b++){var c=ia[b];c.blockedOn===a&&(c.blockedOn=null)}}null!==ya&&Ub(ya,a);null!==za&&Ub(za,a);null!==Aa&&Ub(Aa,a);b=function(b){return Ub(b,a)};Rb.forEach(b);Sb.forEach(b);for(b=0;b<Vb.length;b++)c=Vb[b],c.blockedOn===a&&(c.blockedOn=null);for(;0<Vb.length&&(b=Vb[0],null===b.blockedOn);)Ai(b),null===b.blockedOn&&Vb.shift()}function Lc(a,b){var c=
|
|
||||||
{};c[a.toLowerCase()]=b.toLowerCase();c["Webkit"+a]="webkit"+b;c["Moz"+a]="moz"+b;return c}function Mc(a){if(de[a])return de[a];if(!lb[a])return a;var b=lb[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in cg)return de[a]=b[c];return a}function ee(a,b){for(var c=0;c<a.length;c+=2){var d=a[c],e=a[c+1];e="on"+(e[0].toUpperCase()+e.slice(1));fe.set(d,b);dg.set(d,e);Ta(e,[d])}}function mb(a){if(0!==(1&a))return w=15,1;if(0!==(2&a))return w=14,2;if(0!==(4&a))return w=13,4;var b=24&a;if(0!==b)return w=12,b;
|
|
||||||
if(0!==(a&32))return w=11,32;b=192&a;if(0!==b)return w=10,b;if(0!==(a&256))return w=9,256;b=3584&a;if(0!==b)return w=8,b;if(0!==(a&4096))return w=7,4096;b=4186112&a;if(0!==b)return w=6,b;b=62914560&a;if(0!==b)return w=5,b;if(a&67108864)return w=4,67108864;if(0!==(a&134217728))return w=3,134217728;b=805306368&a;if(0!==b)return w=2,b;if(0!==(1073741824&a))return w=1,1073741824;w=8;return a}function Fi(a){switch(a){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}
|
|
||||||
function Gi(a){switch(a){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(m(358,a));}}function Wb(a,b){var c=a.pendingLanes;if(0===c)return w=0;var d=0,e=0,f=a.expiredLanes,g=a.suspendedLanes,h=a.pingedLanes;if(0!==f)d=f,e=w=15;else if(f=c&134217727,0!==f){var k=f&~g;0!==k?(d=mb(k),e=w):(h&=f,0!==h&&(d=mb(h),e=w))}else f=c&~g,0!==f?(d=mb(f),e=w):0!==h&&(d=mb(h),
|
|
||||||
e=w);if(0===d)return 0;d=31-Ba(d);d=c&((0>d?0:1<<d)<<1)-1;if(0!==b&&b!==d&&0===(b&g)){mb(b);if(e<=w)return b;w=e}b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-Ba(b),e=1<<c,d|=a[c],b&=~e;return d}function eg(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function Nc(a,b){switch(a){case 15:return 1;case 14:return 2;case 12:return a=nb(24&~b),0===a?Nc(10,b):a;case 10:return a=nb(192&~b),0===a?Nc(8,b):a;case 8:return a=nb(3584&~b),0===a&&(a=nb(4186112&~b),
|
|
||||||
0===a&&(a=512)),a;case 2:return b=nb(805306368&~b),0===b&&(b=268435456),b}throw Error(m(358,a));}function nb(a){return a&-a}function ge(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}function Oc(a,b,c){a.pendingLanes|=b;var d=b-1;a.suspendedLanes&=d;a.pingedLanes&=d;a=a.eventTimes;b=31-Ba(b);a[b]=c}function Hi(a){return 0===a?32:31-(Ii(a)/Ji|0)|0}function Ki(a,b,c,d){Xa||Xd();var e=he,f=Xa;Xa=!0;try{fg(e,a,b,c,d)}finally{(Xa=f)||Wd()}}function Li(a,b,c,d){Mi(Ni,he.bind(null,a,b,c,d))}function he(a,
|
|
||||||
b,c,d){if(Pc){var e;if((e=0===(b&4))&&0<ia.length&&-1<gg.indexOf(a))a=$d(null,a,b,c,d),ia.push(a);else{var f=be(a,b,c,d);if(null===f)e&&Xf(a,d);else{if(e){if(-1<gg.indexOf(a)){a=$d(f,a,b,c,d);ia.push(a);return}if(zi(f,a,b,c,d))return;Xf(a,d)}hg(a,b,d,null,c)}}}}function be(a,b,c,d){var e=Ud(d);e=Wa(e);if(null!==e){var f=Va(e);if(null===f)e=null;else{var g=f.tag;if(13===g){e=Tf(f);if(null!==e)return e;e=null}else if(3===g){if(f.stateNode.hydrate)return 3===f.tag?f.stateNode.containerInfo:null;e=null}else f!==
|
|
||||||
e&&(e=null)}}hg(a,b,d,e,c);return null}function ig(){if(Qc)return Qc;var a,b=ie,c=b.length,d,e="value"in Ca?Ca.value:Ca.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return Qc=e.slice(a,1<d?1-d:void 0)}function Rc(a){var b=a.keyCode;"charCode"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function Sc(){return!0}function jg(){return!1}function V(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=
|
|
||||||
d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?Sc:jg;this.isPropagationStopped=jg;return this}B(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():"unknown"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=Sc)},stopPropagation:function(){var a=
|
|
||||||
this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():"unknown"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=Sc)},persist:function(){},isPersistent:Sc});return b}function Oi(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Pi[a])?!!b[a]:!1}function je(a){return Oi}function kg(a,b){switch(a){case "keyup":return-1!==Qi.indexOf(b.keyCode);case "keydown":return 229!==b.keyCode;case "keypress":case "mousedown":case "focusout":return!0;default:return!1}}
|
|
||||||
function lg(a){a=a.detail;return"object"===typeof a&&"data"in a?a.data:null}function Ri(a,b){switch(a){case "compositionend":return lg(b);case "keypress":if(32!==b.which)return null;mg=!0;return ng;case "textInput":return a=b.data,a===ng&&mg?null:a;default:return null}}function Si(a,b){if(ob)return"compositionend"===a||!ke&&kg(a,b)?(a=ig(),Qc=ie=Ca=null,ob=!1,a):null;switch(a){case "paste":return null;case "keypress":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;
|
|
||||||
if(b.which)return String.fromCharCode(b.which)}return null;case "compositionend":return og&&"ko"!==b.locale?null:b.data;default:return null}}function pg(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return"input"===b?!!Ti[a.type]:"textarea"===b?!0:!1}function Ui(a){if(!oa)return!1;a="on"+a;var b=a in document;b||(b=document.createElement("div"),b.setAttribute(a,"return;"),b="function"===typeof b[a]);return b}function qg(a,b,c,d){Qf(d);b=Tc(b,"onChange");0<b.length&&(c=new le("onChange","change",
|
|
||||||
null,c,d),a.push({event:c,listeners:b}))}function Vi(a){rg(a,0)}function Uc(a){var b=pb(a);if(Ff(b))return a}function Wi(a,b){if("change"===a)return b}function sg(){Xb&&(Xb.detachEvent("onpropertychange",tg),Yb=Xb=null)}function tg(a){if("value"===a.propertyName&&Uc(Yb)){var b=[];qg(b,Yb,a,Ud(a));a=Vi;if(Xa)a(b);else{Xa=!0;try{me(a,b)}finally{Xa=!1,Wd()}}}}function Xi(a,b,c){"focusin"===a?(sg(),Xb=b,Yb=c,Xb.attachEvent("onpropertychange",tg)):"focusout"===a&&sg()}function Yi(a,b){if("selectionchange"===
|
|
||||||
a||"keyup"===a||"keydown"===a)return Uc(Yb)}function Zi(a,b){if("click"===a)return Uc(b)}function $i(a,b){if("input"===a||"change"===a)return Uc(b)}function aj(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}function Zb(a,b){if(X(a,b))return!0;if("object"!==typeof a||null===a||"object"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!bj.call(b,c[d])||!X(a[c[d]],b[c[d]]))return!1;return!0}function ug(a){for(;a&&a.firstChild;)a=
|
|
||||||
a.firstChild;return a}function vg(a,b){var c=ug(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=ug(c)}}function wg(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?wg(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function xg(){for(var a=window,b=Gc();b instanceof a.HTMLIFrameElement;){try{var c=
|
|
||||||
"string"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Gc(a.document)}return b}function ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}function yg(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;oe||null==qb||qb!==Gc(d)||(d=qb,"selectionStart"in d&&ne(d)?d={start:d.selectionStart,
|
|
||||||
end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),$b&&Zb($b,d)||($b=d,d=Tc(pe,"onSelect"),0<d.length&&(b=new le("onSelect","select",null,b,c),a.push({event:b,listeners:d}),b.target=qb)))}function zg(a,b,c){var d=a.type||"unknown-event";a.currentTarget=c;xi(d,b,void 0,a);a.currentTarget=null}function rg(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=
|
|
||||||
a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,v=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;zg(e,h,v);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;v=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;zg(e,h,v);f=k}}}if(Jc)throw a=Zd,Jc=!1,Zd=null,a;}function z(a,b){var c=Ag(b),d=a+"__bubble";c.has(d)||(Bg(b,a,2,!1),c.add(d))}function Cg(a){a[Dg]||(a[Dg]=!0,zf.forEach(function(b){Eg.has(b)||
|
|
||||||
Fg(b,!1,a,null);Fg(b,!0,a,null)}))}function Fg(a,b,c,d){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,f=c;"selectionchange"===a&&9!==c.nodeType&&(f=c.ownerDocument);if(null!==d&&!b&&Eg.has(a)){if("scroll"!==a)return;e|=2;f=d}var g=Ag(f),h=a+"__"+(b?"capture":"bubble");g.has(h)||(b&&(e|=4),Bg(f,a,e,b),g.add(h))}function Bg(a,b,c,d,e){e=fe.get(b);switch(void 0===e?2:e){case 0:e=Ki;break;case 1:e=Li;break;default:e=he}c=e.bind(null,b,c,a);e=void 0;!qe||"touchstart"!==b&&"touchmove"!==
|
|
||||||
b&&"wheel"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}function hg(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&
|
|
||||||
k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wa(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}ti(function(){var d=f,e=Ud(c),g=[];a:{var h=dg.get(a);if(void 0!==h){var k=le,m=a;switch(a){case "keypress":if(0===Rc(c))break a;case "keydown":case "keyup":k=cj;break;case "focusin":m="focus";k=re;break;case "focusout":m="blur";k=re;break;case "beforeblur":case "afterblur":k=re;break;case "click":if(2===c.button)break a;case "auxclick":case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":k=
|
|
||||||
Gg;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":k=dj;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":k=ej;break;case Hg:case Ig:case Jg:k=fj;break;case Kg:k=gj;break;case "scroll":k=hj;break;case "wheel":k=ij;break;case "copy":case "cut":case "paste":k=jj;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":k=
|
|
||||||
Lg}var l=0!==(b&4),C=!l&&"scroll"===a,x=l?null!==h?h+"Capture":null:h;l=[];for(var p=d,q;null!==p;){q=p;var u=q.stateNode;5===q.tag&&null!==u&&(q=u,null!==x&&(u=Pb(p,x),null!=u&&l.push(ac(p,u,q))));if(C)break;p=p.return}0<l.length&&(h=new k(h,m,null,c,e),g.push({event:h,listeners:l}))}}if(0===(b&7)){a:{h="mouseover"===a||"pointerover"===a;k="mouseout"===a||"pointerout"===a;if(h&&0===(b&16)&&(m=c.relatedTarget||c.fromElement)&&(Wa(m)||m[rb]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||
|
|
||||||
h.parentWindow:window;if(k){if(m=c.relatedTarget||c.toElement,k=d,m=m?Wa(m):null,null!==m&&(C=Va(m),m!==C||5!==m.tag&&6!==m.tag))m=null}else k=null,m=d;if(k!==m){l=Gg;u="onMouseLeave";x="onMouseEnter";p="mouse";if("pointerout"===a||"pointerover"===a)l=Lg,u="onPointerLeave",x="onPointerEnter",p="pointer";C=null==k?h:pb(k);q=null==m?h:pb(m);h=new l(u,p+"leave",k,c,e);h.target=C;h.relatedTarget=q;u=null;Wa(e)===d&&(l=new l(x,p+"enter",m,c,e),l.target=q,l.relatedTarget=C,u=l);C=u;if(k&&m)b:{l=k;x=m;p=
|
|
||||||
0;for(q=l;q;q=sb(q))p++;q=0;for(u=x;u;u=sb(u))q++;for(;0<p-q;)l=sb(l),p--;for(;0<q-p;)x=sb(x),q--;for(;p--;){if(l===x||null!==x&&l===x.alternate)break b;l=sb(l);x=sb(x)}l=null}else l=null;null!==k&&Mg(g,h,k,l,!1);null!==m&&null!==C&&Mg(g,C,m,l,!0)}}}a:{h=d?pb(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if("select"===k||"input"===k&&"file"===h.type)var n=Wi;else if(pg(h))if(Ng)n=$i;else{n=Yi;var da=Xi}else(k=h.nodeName)&&"input"===k.toLowerCase()&&("checkbox"===h.type||"radio"===h.type)&&(n=Zi);
|
|
||||||
if(n&&(n=n(a,d))){qg(g,n,c,e);break a}da&&da(a,h,d);"focusout"===a&&(da=h._wrapperState)&&da.controlled&&"number"===h.type&&Od(h,"number",h.value)}da=d?pb(d):window;switch(a){case "focusin":if(pg(da)||"true"===da.contentEditable)qb=da,pe=d,$b=null;break;case "focusout":$b=pe=qb=null;break;case "mousedown":oe=!0;break;case "contextmenu":case "mouseup":case "dragend":oe=!1;yg(g,c,e);break;case "selectionchange":if(kj)break;case "keydown":case "keyup":yg(g,c,e)}var Ea;if(ke)b:{switch(a){case "compositionstart":var F=
|
|
||||||
"onCompositionStart";break b;case "compositionend":F="onCompositionEnd";break b;case "compositionupdate":F="onCompositionUpdate";break b}F=void 0}else ob?kg(a,c)&&(F="onCompositionEnd"):"keydown"===a&&229===c.keyCode&&(F="onCompositionStart");F&&(og&&"ko"!==c.locale&&(ob||"onCompositionStart"!==F?"onCompositionEnd"===F&&ob&&(Ea=ig()):(Ca=e,ie="value"in Ca?Ca.value:Ca.textContent,ob=!0)),da=Tc(d,F),0<da.length&&(F=new Og(F,a,null,c,e),g.push({event:F,listeners:da}),Ea?F.data=Ea:(Ea=lg(c),null!==Ea&&
|
|
||||||
(F.data=Ea))));if(Ea=lj?Ri(a,c):Si(a,c))d=Tc(d,"onBeforeInput"),0<d.length&&(e=new mj("onBeforeInput","beforeinput",null,c,e),g.push({event:e,listeners:d}),e.data=Ea)}rg(g,b)})}function ac(a,b,c){return{instance:a,listener:b,currentTarget:c}}function Tc(a,b){for(var c=b+"Capture",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Pb(a,c),null!=f&&d.unshift(ac(a,f,e)),f=Pb(a,b),null!=f&&d.push(ac(a,f,e)));a=a.return}return d}function sb(a){if(null===a)return null;do a=a.return;while(a&&
|
|
||||||
5!==a.tag);return a?a:null}function Mg(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,v=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==v&&(h=v,e?(k=Pb(c,f),null!=k&&g.unshift(ac(c,k,h))):e||(k=Pb(c,f),null!=k&&g.push(ac(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}function Vc(){}function Pg(a,b){switch(a){case "button":case "input":case "select":case "textarea":return!!b.autoFocus}return!1}function se(a,b){return"textarea"===a||"option"===
|
|
||||||
a||"noscript"===a||"string"===typeof b.children||"number"===typeof b.children||"object"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}function te(a){1===a.nodeType?a.textContent="":9===a.nodeType&&(a=a.body,null!=a&&(a.textContent=""))}function tb(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break}return a}function Qg(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if("$"===c||"$!"===c||"$?"===
|
|
||||||
c){if(0===b)return a;b--}else"/$"===c&&b++}a=a.previousSibling}return null}function nj(a){return{$$typeof:ue,toString:a,valueOf:a}}function Wa(a){var b=a[Fa];if(b)return b;for(var c=a.parentNode;c;){if(b=c[rb]||c[Fa]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Qg(a);null!==a;){if(c=a[Fa])return c;a=Qg(a)}return b}a=c;c=a.parentNode}return null}function Ob(a){a=a[Fa]||a[rb];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function pb(a){if(5===a.tag||6===a.tag)return a.stateNode;
|
|
||||||
throw Error(m(33));}function Hc(a){return a[Wc]||null}function Ag(a){var b=a[Rg];void 0===b&&(b=a[Rg]=new Set);return b}function Ga(a){return{current:a}}function t(a,b){0>ub||(a.current=ve[ub],ve[ub]=null,ub--)}function A(a,b,c){ub++;ve[ub]=a.current;a.current=b}function vb(a,b){var c=a.type.contextTypes;if(!c)return Ha;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=
|
|
||||||
b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function S(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Sg(a,b,c){if(D.current!==Ha)throw Error(m(168));A(D,b);A(J,c)}function Tg(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(m(108,hb(b)||"Unknown",e));return B({},c,d)}function Xc(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Ha;Ya=D.current;
|
|
||||||
A(D,a);A(J,J.current);return!0}function Ug(a,b,c){var d=a.stateNode;if(!d)throw Error(m(169));c?(a=Tg(a,b,Ya),d.__reactInternalMemoizedMergedChildContext=a,t(J),t(D),A(D,a)):t(J);A(J,c)}function wb(){switch(oj()){case Yc:return 99;case Vg:return 98;case Wg:return 97;case Xg:return 96;case Yg:return 95;default:throw Error(m(332));}}function Zg(a){switch(a){case 99:return Yc;case 98:return Vg;case 97:return Wg;case 96:return Xg;case 95:return Yg;default:throw Error(m(332));}}function Za(a,b){a=Zg(a);
|
|
||||||
return pj(a,b)}function bc(a,b,c){a=Zg(a);return we(a,b,c)}function ja(){if(null!==Zc){var a=Zc;Zc=null;xe(a)}$g()}function $g(){if(!ye&&null!==pa){ye=!0;var a=0;try{var b=pa;Za(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});pa=null}catch(c){throw null!==pa&&(pa=pa.slice(a+1)),we(Yc,ja),c;}finally{ye=!1}}}function ea(a,b){if(a&&a.defaultProps){b=B({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function ze(){$c=xb=ad=null}function Ae(a){var b=
|
|
||||||
bd.current;t(bd);a.type._context._currentValue=b}function ah(a,b){for(;null!==a;){var c=a.alternate;if((a.childLanes&b)===b)if(null===c||(c.childLanes&b)===b)break;else c.childLanes|=b;else a.childLanes|=b,null!==c&&(c.childLanes|=b);a=a.return}}function yb(a,b){ad=a;$c=xb=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(fa=!0),a.firstContext=null)}function Y(a,b){if($c!==a&&!1!==b&&0!==b){if("number"!==typeof b||1073741823===b)$c=a,b=1073741823;b={context:a,observedBits:b,
|
|
||||||
next:null};if(null===xb){if(null===ad)throw Error(m(308));xb=b;ad.dependencies={lanes:0,firstContext:b,responders:null}}else xb=xb.next=b}return a._currentValue}function Be(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function bh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function Ia(a,b){return{eventTime:a,
|
|
||||||
lane:b,tag:0,payload:null,callback:null,next:null}}function Ja(a,b){a=a.updateQueue;if(null!==a){a=a.shared;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}}function ch(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=
|
|
||||||
f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=b;c.lastBaseUpdate=b}function cc(a,b,c,d){var e=a.updateQueue;Ka=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,v=k.next;k.next=null;null===g?f=v:g.next=v;g=k;var m=a.alternate;if(null!==m){m=m.updateQueue;var l=m.lastBaseUpdate;l!==g&&(null===l?m.firstBaseUpdate=
|
|
||||||
v:l.next=v,m.lastBaseUpdate=k)}}if(null!==f){l=e.baseState;g=0;m=v=k=null;do{h=f.lane;var r=f.eventTime;if((d&h)===h){null!==m&&(m=m.next={eventTime:r,lane:0,tag:f.tag,payload:f.payload,callback:f.callback,next:null});a:{var n=a,t=f;h=b;r=c;switch(t.tag){case 1:n=t.payload;if("function"===typeof n){l=n.call(r,l,h);break a}l=n;break a;case 3:n.flags=n.flags&-4097|64;case 0:n=t.payload;h="function"===typeof n?n.call(r,l,h):n;if(null===h||void 0===h)break a;l=B({},l,h);break a;case 2:Ka=!0}}null!==f.callback&&
|
|
||||||
(a.flags|=32,h=e.effects,null===h?e.effects=[f]:h.push(f))}else r={eventTime:r,lane:h,tag:f.tag,payload:f.payload,callback:f.callback,next:null},null===m?(v=m=r,k=l):m=m.next=r,g|=h;f=f.next;if(null===f)if(h=e.shared.pending,null===h)break;else f=h.next,h.next=null,e.lastBaseUpdate=h,e.shared.pending=null}while(1);null===m&&(k=l);e.baseState=k;e.firstBaseUpdate=v;e.lastBaseUpdate=m;La|=g;a.lanes=g;a.memoizedState=l}}function dh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=
|
|
||||||
a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if("function"!==typeof e)throw Error(m(191,e));e.call(d)}}}function cd(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:B({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}function eh(a,b,c,d,e,f,g){a=a.stateNode;return"function"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Zb(c,d)||!Zb(e,f):!0}function fh(a,b,c){var d=!1,e=Ha;var f=b.contextType;"object"===
|
|
||||||
typeof f&&null!==f?f=Y(f):(e=S(b)?Ya:D.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?vb(a,e):Ha);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=dd;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}function gh(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);"function"===typeof b.UNSAFE_componentWillReceiveProps&&
|
|
||||||
b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&dd.enqueueReplaceState(b,b.state,null)}function Ce(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=hh;Be(a);var f=b.contextType;"object"===typeof f&&null!==f?e.context=Y(f):(f=S(b)?Ya:D.current,e.context=vb(a,f));cc(a,c,e,d);e.state=a.memoizedState;f=b.getDerivedStateFromProps;"function"===typeof f&&(cd(a,b,f,c),e.state=a.memoizedState);"function"===typeof b.getDerivedStateFromProps||"function"===typeof e.getSnapshotBeforeUpdate||
|
|
||||||
"function"!==typeof e.UNSAFE_componentWillMount&&"function"!==typeof e.componentWillMount||(b=e.state,"function"===typeof e.componentWillMount&&e.componentWillMount(),"function"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&dd.enqueueReplaceState(e,e.state,null),cc(a,c,e,d),e.state=a.memoizedState);"function"===typeof e.componentDidMount&&(a.flags|=4)}function dc(a,b,c){a=c.ref;if(null!==a&&"function"!==typeof a&&"object"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==
|
|
||||||
c.tag)throw Error(m(309));var d=c.stateNode}if(!d)throw Error(m(147,a));var e=""+a;if(null!==b&&null!==b.ref&&"function"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===hh&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}if("string"!==typeof a)throw Error(m(284));if(!c._owner)throw Error(m(290,a));}return a}function ed(a,b){if("textarea"!==a.type)throw Error(m(31,"[object Object]"===Object.prototype.toString.call(b)?"object with keys {"+Object.keys(b).join(", ")+
|
|
||||||
"}":b));}function ih(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.flags=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Ma(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags=
|
|
||||||
2,c):d;b.flags=2;return c}function g(b){a&&null===b.alternate&&(b.flags=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=De(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){if(null!==b&&b.elementType===c.type)return d=e(b,c.props),d.ref=dc(a,b,c),d.return=a,d;d=fd(c.type,c.key,c.props,null,a.mode,d);d.ref=dc(a,b,c);d.return=a;return d}function v(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=
|
|
||||||
Ee(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function l(a,b,c,d,f){if(null===b||7!==b.tag)return b=zb(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function n(a,b,c){if("string"===typeof b||"number"===typeof b)return b=De(""+b,a.mode,c),b.return=a,b;if("object"===typeof b&&null!==b){switch(b.$$typeof){case ec:return c=fd(b.type,b.key,b.props,null,a.mode,c),c.ref=dc(a,null,b),c.return=a,c;case Ua:return b=Ee(b,a.mode,c),b.return=a,b}if(gd(b)||Jb(b))return b=zb(b,
|
|
||||||
a.mode,c,null),b.return=a,b;ed(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if("string"===typeof c||"number"===typeof c)return null!==e?null:h(a,b,""+c,d);if("object"===typeof c&&null!==c){switch(c.$$typeof){case ec:return c.key===e?c.type===wa?l(a,b,c.props.children,d,e):k(a,b,c,d):null;case Ua:return c.key===e?v(a,b,c,d):null}if(gd(c)||Jb(c))return null!==e?null:l(a,b,c,d,null);ed(a,c)}return null}function t(a,b,c,d,e){if("string"===typeof d||"number"===typeof d)return a=a.get(c)||
|
|
||||||
null,h(b,a,""+d,e);if("object"===typeof d&&null!==d){switch(d.$$typeof){case ec:return a=a.get(null===d.key?c:d.key)||null,d.type===wa?l(b,a,d.props.children,e,d.key):k(b,a,d,e);case Ua:return a=a.get(null===d.key?c:d.key)||null,v(b,a,d,e)}if(gd(d)||Jb(d))return a=a.get(c)||null,l(b,a,d,e,null);ed(b,d)}return null}function w(e,g,h,k){for(var m=null,v=null,l=g,p=g=0,x=null;null!==l&&p<h.length;p++){l.index>p?(x=l,l=null):x=l.sibling;var C=r(e,l,h[p],k);if(null===C){null===l&&(l=x);break}a&&l&&null===
|
|
||||||
C.alternate&&b(e,l);g=f(C,g,p);null===v?m=C:v.sibling=C;v=C;l=x}if(p===h.length)return c(e,l),m;if(null===l){for(;p<h.length;p++)l=n(e,h[p],k),null!==l&&(g=f(l,g,p),null===v?m=l:v.sibling=l,v=l);return m}for(l=d(e,l);p<h.length;p++)x=t(l,e,p,h[p],k),null!==x&&(a&&null!==x.alternate&&l.delete(null===x.key?p:x.key),g=f(x,g,p),null===v?m=x:v.sibling=x,v=x);a&&l.forEach(function(a){return b(e,a)});return m}function z(e,g,h,k){var l=Jb(h);if("function"!==typeof l)throw Error(m(150));h=l.call(h);if(null==
|
|
||||||
h)throw Error(m(151));for(var v=l=null,p=g,x=g=0,C=null,q=h.next();null!==p&&!q.done;x++,q=h.next()){p.index>x?(C=p,p=null):C=p.sibling;var Da=r(e,p,q.value,k);if(null===Da){null===p&&(p=C);break}a&&p&&null===Da.alternate&&b(e,p);g=f(Da,g,x);null===v?l=Da:v.sibling=Da;v=Da;p=C}if(q.done)return c(e,p),l;if(null===p){for(;!q.done;x++,q=h.next())q=n(e,q.value,k),null!==q&&(g=f(q,g,x),null===v?l=q:v.sibling=q,v=q);return l}for(p=d(e,p);!q.done;x++,q=h.next())q=t(p,e,x,q.value,k),null!==q&&(a&&null!==
|
|
||||||
q.alternate&&p.delete(null===q.key?x:q.key),g=f(q,g,x),null===v?l=q:v.sibling=q,v=q);a&&p.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k="object"===typeof f&&null!==f&&f.type===wa&&null===f.key;k&&(f=f.props.children);var l="object"===typeof f&&null!==f;if(l)switch(f.$$typeof){case ec:a:{l=f.key;for(k=d;null!==k;){if(k.key===l){switch(k.tag){case 7:if(f.type===wa){c(a,k.sibling);d=e(k,f.props.children);d.return=a;a=d;break a}break;default:if(k.elementType===f.type){c(a,
|
|
||||||
k.sibling);d=e(k,f.props);d.ref=dc(a,k,f);d.return=a;a=d;break a}}c(a,k);break}else b(a,k);k=k.sibling}f.type===wa?(d=zb(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=fd(f.type,f.key,f.props,null,a.mode,h),h.ref=dc(a,d,f),h.return=a,a=h)}return g(a);case Ua:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=
|
|
||||||
d.sibling}d=Ee(f,a.mode,h);d.return=a;a=d}return g(a)}if("string"===typeof f||"number"===typeof f)return f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=De(f,a.mode,h),d.return=a,a=d),g(a);if(gd(f))return w(a,d,f,h);if(Jb(f))return z(a,d,f,h);l&&ed(a,f);if("undefined"===typeof f&&!k)switch(a.tag){case 1:case 22:case 0:case 11:case 15:throw Error(m(152,hb(a.type)||"Component"));}return c(a,d)}}function $a(a){if(a===fc)throw Error(m(174));return a}function Fe(a,b){A(gc,
|
|
||||||
b);A(hc,a);A(ka,fc);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:Rd(null,"");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=Rd(b,a)}t(ka);A(ka,b)}function Ab(a){t(ka);t(hc);t(gc)}function jh(a){$a(gc.current);var b=$a(ka.current);var c=Rd(b,a.type);b!==c&&(A(hc,a),A(ka,c))}function Ge(a){hc.current===a&&(t(ka),t(hc))}function hd(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||"$?"===c.data||
|
|
||||||
"$!"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&64))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function kh(a,b){var c=Z(5,null,null,0);c.elementType="DELETED";c.type="DELETED";c.stateNode=b;c.return=a;c.flags=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=
|
|
||||||
a.lastEffect=c}function lh(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=""===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}function He(a){if(la){var b=Na;if(b){var c=b;if(!lh(a,b)){b=tb(c.nextSibling);if(!b||!lh(a,b)){a.flags=a.flags&-1025|2;la=!1;ra=a;return}kh(ra,c)}ra=a;Na=tb(b.firstChild)}else a.flags=a.flags&-1025|2,la=!1,
|
|
||||||
ra=a}}function mh(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;ra=a}function id(a){if(a!==ra)return!1;if(!la)return mh(a),la=!0,!1;var b=a.type;if(5!==a.tag||"head"!==b&&"body"!==b&&!se(b,a.memoizedProps))for(b=Na;b;)kh(a,b),b=tb(b.nextSibling);mh(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(m(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if("/$"===c){if(0===b){Na=tb(a.nextSibling);break a}b--}else"$"!==c&&"$!"!==
|
|
||||||
c&&"$?"!==c||b++}a=a.nextSibling}Na=null}}else Na=ra?tb(a.stateNode.nextSibling):null;return!0}function Ie(){Na=ra=null;la=!1}function Je(){for(var a=0;a<Bb.length;a++)Bb[a]._workInProgressVersionPrimary=null;Bb.length=0}function T(){throw Error(m(321));}function Ke(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!X(a[c],b[c]))return!1;return!0}function Le(a,b,c,d,e,f){ic=f;y=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;jc.current=null===a||null===a.memoizedState?qj:rj;
|
|
||||||
a=c(d,e);if(kc){f=0;do{kc=!1;if(!(25>f))throw Error(m(301));f+=1;K=N=null;b.updateQueue=null;jc.current=sj;a=c(d,e)}while(kc)}jc.current=jd;b=null!==N&&null!==N.next;ic=0;K=N=y=null;kd=!1;if(b)throw Error(m(300));return a}function ab(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===K?y.memoizedState=K=a:K=K.next=a;return K}function bb(){if(null===N){var a=y.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===K?y.memoizedState:K.next;if(null!==
|
|
||||||
b)K=b,N=a;else{if(null===a)throw Error(m(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===K?y.memoizedState=K=a:K=K.next=a}return K}function ma(a,b){return"function"===typeof b?b(a):b}function lc(a,b,c){b=bb();c=b.queue;if(null===c)throw Error(m(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){e=e.next;d=d.baseState;
|
|
||||||
var h=g=f=null,k=e;do{var l=k.lane;if((ic&l)===l)null!==h&&(h=h.next={lane:0,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null}),d=k.eagerReducer===a?k.eagerState:a(d,k.action);else{var n={lane:l,action:k.action,eagerReducer:k.eagerReducer,eagerState:k.eagerState,next:null};null===h?(g=h=n,f=d):h=h.next=n;y.lanes|=l;La|=l}k=k.next}while(null!==k&&k!==e);null===h?f=d:h.next=g;X(d,b.memoizedState)||(fa=!0);b.memoizedState=d;b.baseState=f;b.baseQueue=h;c.lastRenderedState=
|
|
||||||
d}return[b.memoizedState,c.dispatch]}function mc(a,b,c){b=bb();c=b.queue;if(null===c)throw Error(m(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);X(f,b.memoizedState)||(fa=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function nh(a,b,c){var d=b._getVersion;d=d(b._source);var e=b._workInProgressVersionPrimary;if(null!==e)a=e===d;else if(a=a.mutableReadLanes,
|
|
||||||
a=(ic&a)===a)b._workInProgressVersionPrimary=d,Bb.push(b);if(a)return c(b._source);Bb.push(b);throw Error(m(350));}function oh(a,b,c,d){var e=R;if(null===e)throw Error(m(349));var f=b._getVersion,g=f(b._source),h=jc.current,k=h.useState(function(){return nh(e,b,c)}),l=k[1],n=k[0];k=K;var t=a.memoizedState,r=t.refs,w=r.getSnapshot,z=t.source;t=t.subscribe;var B=y;a.memoizedState={refs:r,source:b,subscribe:d};h.useEffect(function(){r.getSnapshot=c;r.setSnapshot=l;var a=f(b._source);if(!X(g,a)){a=c(b._source);
|
|
||||||
X(n,a)||(l(a),a=Oa(B),e.mutableReadLanes|=a&e.pendingLanes);a=e.mutableReadLanes;e.entangledLanes|=a;for(var d=e.entanglements,h=a;0<h;){var k=31-Ba(h),m=1<<k;d[k]|=a;h&=~m}}},[c,b,d]);h.useEffect(function(){return d(b._source,function(){var a=r.getSnapshot,c=r.setSnapshot;try{c(a(b._source));var d=Oa(B);e.mutableReadLanes|=d&e.pendingLanes}catch(q){c(function(){throw q;})}})},[b,d]);X(w,c)&&X(z,b)&&X(t,d)||(a={pending:null,dispatch:null,lastRenderedReducer:ma,lastRenderedState:n},a.dispatch=l=Me.bind(null,
|
|
||||||
y,a),k.queue=a,k.baseQueue=null,n=nh(e,b,c),k.memoizedState=k.baseState=n);return n}function ph(a,b,c){var d=bb();return oh(d,a,b,c)}function nc(a){var b=ab();"function"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={pending:null,dispatch:null,lastRenderedReducer:ma,lastRenderedState:a};a=a.dispatch=Me.bind(null,y,a);return[b.memoizedState,a]}function ld(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=y.updateQueue;null===b?(b={lastEffect:null},y.updateQueue=b,b.lastEffect=
|
|
||||||
a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function qh(a){var b=ab();a={current:a};return b.memoizedState=a}function md(a){return bb().memoizedState}function Ne(a,b,c,d){var e=ab();y.flags|=a;e.memoizedState=ld(1|b,c,void 0,void 0===d?null:d)}function Oe(a,b,c,d){var e=bb();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Ke(d,g.deps)){ld(b,c,f,d);return}}y.flags|=a;e.memoizedState=ld(1|
|
|
||||||
b,c,f,d)}function rh(a,b){return Ne(516,4,a,b)}function nd(a,b){return Oe(516,4,a,b)}function sh(a,b){return Oe(4,2,a,b)}function th(a,b){if("function"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function uh(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Oe(4,2,th.bind(null,b,a),c)}function Pe(a,b){}function vh(a,b){var c=bb();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Ke(b,d[1]))return d[0];
|
|
||||||
c.memoizedState=[a,b];return a}function wh(a,b){var c=bb();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Ke(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function tj(a,b){var c=wb();Za(98>c?98:c,function(){a(!0)});Za(97<c?97:c,function(){var c=aa.transition;aa.transition=1;try{a(!1),b()}finally{aa.transition=c}})}function Me(a,b,c){var d=W(),e=Oa(a),f={lane:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.pending;null===g?f.next=f:(f.next=g.next,g.next=f);
|
|
||||||
b.pending=f;g=a.alternate;if(a===y||null!==g&&g===y)kc=kd=!0;else{if(0===a.lanes&&(null===g||0===g.lanes)&&(g=b.lastRenderedReducer,null!==g))try{var h=b.lastRenderedState,k=g(h,c);f.eagerReducer=g;f.eagerState=k;if(X(k,h))return}catch(v){}finally{}Pa(a,e,d)}}function U(a,b,c,d){b.child=null===a?xh(b,null,c,d):od(b,a.child,c,d)}function yh(a,b,c,d,e){c=c.render;var f=b.ref;yb(b,e);d=Le(a,b,c,d,f,e);if(null!==a&&!fa)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,sa(a,b,e);b.flags|=1;
|
|
||||||
U(a,b,d,e);return b.child}function zh(a,b,c,d,e,f){if(null===a){var g=c.type;if("function"===typeof g&&!Qe(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Ah(a,b,g,d,e,f);a=fd(c.type,null,d,b,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(0===(e&f)&&(e=g.memoizedProps,c=c.compare,c=null!==c?c:Zb,c(e,d)&&a.ref===b.ref))return sa(a,b,f);b.flags|=1;a=Ma(g,d);a.ref=b.ref;a.return=b;return b.child=a}function Ah(a,b,c,d,e,f){if(null!==a&&Zb(a.memoizedProps,
|
|
||||||
d)&&a.ref===b.ref)if(fa=!1,0!==(f&e))0!==(a.flags&16384)&&(fa=!0);else return b.lanes=a.lanes,sa(a,b,f);return Re(a,b,c,d,f)}function Se(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if("hidden"===d.mode||"unstable-defer-without-hiding"===d.mode)if(0===(b.mode&4))b.memoizedState={baseLanes:0},pd(b,c);else if(0!==(c&1073741824))b.memoizedState={baseLanes:0},pd(b,null!==f?f.baseLanes:c);else return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState=
|
|
||||||
{baseLanes:a},pd(b,a),null;else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,pd(b,d);U(a,b,e,c);return b.child}function Bh(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=128}function Re(a,b,c,d,e){var f=S(c)?Ya:D.current;f=vb(b,f);yb(b,e);c=Le(a,b,c,d,f,e);if(null!==a&&!fa)return b.updateQueue=a.updateQueue,b.flags&=-517,a.lanes&=~e,sa(a,b,e);b.flags|=1;U(a,b,c,e);return b.child}function Ch(a,b,c,d,e){if(S(c)){var f=!0;Xc(b)}else f=!1;yb(b,e);if(null===b.stateNode)null!==
|
|
||||||
a&&(a.alternate=null,b.alternate=null,b.flags|=2),fh(b,c,d),Ce(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;"object"===typeof l&&null!==l?l=Y(l):(l=S(c)?Ya:D.current,l=vb(b,l));var m=c.getDerivedStateFromProps,n="function"===typeof m||"function"===typeof g.getSnapshotBeforeUpdate;n||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==l)&&gh(b,g,d,l);Ka=!1;var r=b.memoizedState;
|
|
||||||
g.state=r;cc(b,d,g,e);k=b.memoizedState;h!==d||r!==k||J.current||Ka?("function"===typeof m&&(cd(b,c,m,d),k=b.memoizedState),(h=Ka||eh(b,c,h,d,r,k,l))?(n||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount||("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.flags|=4)):("function"===typeof g.componentDidMount&&(b.flags|=4),
|
|
||||||
b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):("function"===typeof g.componentDidMount&&(b.flags|=4),d=!1)}else{g=b.stateNode;bh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:ea(b.type,h);g.props=l;n=b.pendingProps;r=g.context;k=c.contextType;"object"===typeof k&&null!==k?k=Y(k):(k=S(c)?Ya:D.current,k=vb(b,k));var t=c.getDerivedStateFromProps;(m="function"===typeof t||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&
|
|
||||||
"function"!==typeof g.componentWillReceiveProps||(h!==n||r!==k)&&gh(b,g,d,k);Ka=!1;r=b.memoizedState;g.state=r;cc(b,d,g,e);var w=b.memoizedState;h!==n||r!==w||J.current||Ka?("function"===typeof t&&(cd(b,c,t,d),w=b.memoizedState),(l=Ka||eh(b,c,l,d,r,w,k))?(m||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate||("function"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,w,k),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,
|
|
||||||
w,k)),"function"===typeof g.componentDidUpdate&&(b.flags|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=256)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=256),b.memoizedProps=d,b.memoizedState=w),g.props=d,g.state=w,g.context=k,d=l):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),"function"!==
|
|
||||||
typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=256),d=!1)}return Te(a,b,c,d,f,e)}function Te(a,b,c,d,e,f){Bh(a,b);var g=0!==(b.flags&64);if(!d&&!g)return e&&Ug(b,c,!1),sa(a,b,f);d=b.stateNode;uj.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=od(b,a.child,null,f),b.child=od(b,null,h,f)):U(a,b,h,f);b.memoizedState=d.state;e&&Ug(b,c,!0);return b.child}function Dh(a){var b=a.stateNode;b.pendingContext?
|
|
||||||
Sg(a,b.pendingContext,b.pendingContext!==b.context):b.context&&Sg(a,b.context,!1);Fe(a,b.containerInfo)}function Eh(a,b,c){var d=b.pendingProps,e=E.current,f=!1,g;(g=0!==(b.flags&64))||(g=null!==a&&null===a.memoizedState?!1:0!==(e&2));g?(f=!0,b.flags&=-65):null!==a&&null===a.memoizedState||void 0===d.fallback||!0===d.unstable_avoidThisFallback||(e|=1);A(E,e&1);if(null===a){void 0!==d.fallback&&He(b);a=d.children;e=d.fallback;if(f)return a=Fh(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=
|
|
||||||
qd,a;if("number"===typeof d.unstable_expectedLoadTime)return a=Fh(b,a,e,c),b.child.memoizedState={baseLanes:c},b.memoizedState=qd,b.lanes=33554432,a;c=Ue({mode:"visible",children:a},b.mode,c,null);c.return=b;return b.child=c}if(null!==a.memoizedState){if(f)return d=Gh(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=qd,d;c=Hh(a,b,d.children,c);b.memoizedState=null;return c}if(f)return d=
|
|
||||||
Gh(a,b,d.children,d.fallback,c),f=b.child,e=a.child.memoizedState,f.memoizedState=null===e?{baseLanes:c}:{baseLanes:e.baseLanes|c},f.childLanes=a.childLanes&~c,b.memoizedState=qd,d;c=Hh(a,b,d.children,c);b.memoizedState=null;return c}function Fh(a,b,c,d){var e=a.mode,f=a.child;b={mode:"hidden",children:b};0===(e&2)&&null!==f?(f.childLanes=0,f.pendingProps=b):f=Ue(b,e,0,null);c=zb(c,e,d,null);f.return=a;c.return=a;f.sibling=c;a.child=f;return c}function Hh(a,b,c,d){var e=a.child;a=e.sibling;c=Ma(e,
|
|
||||||
{mode:"visible",children:c});0===(b.mode&2)&&(c.lanes=d);c.return=b;c.sibling=null;null!==a&&(a.nextEffect=null,a.flags=8,b.firstEffect=b.lastEffect=a);return b.child=c}function Gh(a,b,c,d,e){var f=b.mode,g=a.child;a=g.sibling;var h={mode:"hidden",children:c};0===(f&2)&&b.child!==g?(c=b.child,c.childLanes=0,c.pendingProps=h,g=c.lastEffect,null!==g?(b.firstEffect=c.firstEffect,b.lastEffect=g,g.nextEffect=null):b.firstEffect=b.lastEffect=null):c=Ma(g,h);null!==a?d=Ma(a,d):(d=zb(d,f,e,null),d.flags|=
|
|
||||||
2);d.return=b;c.return=b;c.sibling=d;b.child=c;return d}function Ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);ah(a.return,b)}function Ve(a,b,c,d,e,f){var g=a.memoizedState;null===g?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e,lastEffect:f}:(g.isBackwards=b,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=c,g.tailMode=e,g.lastEffect=f)}function Jh(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;U(a,b,d.children,c);d=E.current;
|
|
||||||
if(0!==(d&2))d=d&1|2,b.flags|=64;else{if(null!==a&&0!==(a.flags&64))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&Ih(a,c);else if(19===a.tag)Ih(a,c);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}A(E,d);if(0===(b.mode&2))b.memoizedState=null;else switch(e){case "forwards":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===
|
|
||||||
hd(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Ve(b,!1,e,c,f,b.lastEffect);break;case "backwards":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===hd(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Ve(b,!0,c,null,f,b.lastEffect);break;case "together":Ve(b,!1,null,null,void 0,b.lastEffect);break;default:b.memoizedState=null}return b.child}function sa(a,b,c){null!==a&&(b.dependencies=a.dependencies);La|=b.lanes;if(0!==(c&
|
|
||||||
b.childLanes)){if(null!==a&&b.child!==a.child)throw Error(m(153));if(null!==b.child){a=b.child;c=Ma(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Ma(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}return null}function oc(a,b){if(!la)switch(a.tailMode){case "hidden":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case "collapsed":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&
|
|
||||||
(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}function vj(a,b,c){var d=b.pendingProps;switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:return S(b.type)&&(t(J),t(D)),null;case 3:Ab();t(J);t(D);Je();d=b.stateNode;d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)id(b)?b.flags|=4:d.hydrate||(b.flags|=256);Kh(b);return null;case 5:Ge(b);var e=$a(gc.current);
|
|
||||||
c=b.type;if(null!==a&&null!=b.stateNode)wj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=128);else{if(!d){if(null===b.stateNode)throw Error(m(166));return null}a=$a(ka.current);if(id(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Fa]=b;d[Wc]=f;switch(c){case "dialog":z("cancel",d);z("close",d);break;case "iframe":case "object":case "embed":z("load",d);break;case "video":case "audio":for(a=0;a<pc.length;a++)z(pc[a],d);break;case "source":z("error",d);break;case "img":case "image":case "link":z("error",d);
|
|
||||||
z("load",d);break;case "details":z("toggle",d);break;case "input":Gf(d,f);z("invalid",d);break;case "select":d._wrapperState={wasMultiple:!!f.multiple};z("invalid",d);break;case "textarea":Jf(d,f),z("invalid",d)}Sd(c,f);a=null;for(var g in f)f.hasOwnProperty(g)&&(e=f[g],"children"===g?"string"===typeof e?d.textContent!==e&&(a=["children",e]):"number"===typeof e&&d.textContent!==""+e&&(a=["children",""+e]):Ib.hasOwnProperty(g)&&null!=e&&"onScroll"===g&&z("scroll",d));switch(c){case "input":Fc(d);If(d,
|
|
||||||
f,!0);break;case "textarea":Fc(d);Lf(d);break;case "select":case "option":break;default:"function"===typeof f.onClick&&(d.onclick=Vc)}d=a;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;"http://www.w3.org/1999/xhtml"===a&&(a=Mf(c));"http://www.w3.org/1999/xhtml"===a?"script"===c?(a=g.createElement("div"),a.innerHTML="<script>\x3c/script>",a=a.removeChild(a.firstChild)):"string"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),"select"===c&&(g=a,d.multiple?
|
|
||||||
g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Fa]=b;a[Wc]=d;xj(a,b,!1,!1);b.stateNode=a;g=Td(c,d);switch(c){case "dialog":z("cancel",a);z("close",a);e=d;break;case "iframe":case "object":case "embed":z("load",a);e=d;break;case "video":case "audio":for(e=0;e<pc.length;e++)z(pc[e],a);e=d;break;case "source":z("error",a);e=d;break;case "img":case "image":case "link":z("error",a);z("load",a);e=d;break;case "details":z("toggle",a);e=d;break;case "input":Gf(a,d);e=Md(a,d);z("invalid",
|
|
||||||
a);break;case "option":e=Pd(a,d);break;case "select":a._wrapperState={wasMultiple:!!d.multiple};e=B({},d,{value:void 0});z("invalid",a);break;case "textarea":Jf(a,d);e=Qd(a,d);z("invalid",a);break;default:e=d}Sd(c,e);var h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];"style"===f?Of(a,k):"dangerouslySetInnerHTML"===f?(k=k?k.__html:void 0,null!=k&&Lh(a,k)):"children"===f?"string"===typeof k?("textarea"!==c||""!==k)&&qc(a,k):"number"===typeof k&&qc(a,""+k):"suppressContentEditableWarning"!==f&&"suppressHydrationWarning"!==
|
|
||||||
f&&"autoFocus"!==f&&(Ib.hasOwnProperty(f)?null!=k&&"onScroll"===f&&z("scroll",a):null!=k&&Ed(a,f,k,g))}switch(c){case "input":Fc(a);If(a,d,!1);break;case "textarea":Fc(a);Lf(a);break;case "option":null!=d.value&&a.setAttribute("value",""+xa(d.value));break;case "select":a.multiple=!!d.multiple;f=d.value;null!=f?ib(a,!!d.multiple,f,!1):null!=d.defaultValue&&ib(a,!!d.multiple,d.defaultValue,!0);break;default:"function"===typeof e.onClick&&(a.onclick=Vc)}Pg(c,d)&&(b.flags|=4)}null!==b.ref&&(b.flags|=
|
|
||||||
128)}return null;case 6:if(a&&null!=b.stateNode)yj(a,b,a.memoizedProps,d);else{if("string"!==typeof d&&null===b.stateNode)throw Error(m(166));c=$a(gc.current);$a(ka.current);id(b)?(d=b.stateNode,c=b.memoizedProps,d[Fa]=b,d.nodeValue!==c&&(b.flags|=4)):(d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Fa]=b,b.stateNode=d)}return null;case 13:t(E);d=b.memoizedState;if(0!==(b.flags&64))return b.lanes=c,b;d=null!==d;c=!1;null===a?void 0!==b.memoizedProps.fallback&&id(b):c=null!==a.memoizedState;
|
|
||||||
if(d&&!c&&0!==(b.mode&2))if(null===a&&!0!==b.memoizedProps.unstable_avoidThisFallback||0!==(E.current&1))0===L&&(L=3);else{if(0===L||3===L)L=4;null===R||0===(La&134217727)&&0===(Cb&134217727)||Db(R,O)}if(d||c)b.flags|=4;return null;case 4:return Ab(),Kh(b),null===a&&Cg(b.stateNode.containerInfo),null;case 10:return Ae(b),null;case 17:return S(b.type)&&(t(J),t(D)),null;case 19:t(E);d=b.memoizedState;if(null===d)return null;f=0!==(b.flags&64);g=d.rendering;if(null===g)if(f)oc(d,!1);else{if(0!==L||null!==
|
|
||||||
a&&0!==(a.flags&64))for(a=b.child;null!==a;){g=hd(a);if(null!==g){b.flags|=64;oc(d,!1);f=g.updateQueue;null!==f&&(b.updateQueue=f,b.flags|=4);null===d.lastEffect&&(b.firstEffect=null);b.lastEffect=d.lastEffect;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=
|
|
||||||
g.lanes,f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;A(E,E.current&1|2);return b.child}a=a.sibling}null!==d.tail&&P()>We&&(b.flags|=64,f=!0,oc(d,!1),b.lanes=33554432)}else{if(!f)if(a=hd(g),null!==a){if(b.flags|=64,f=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),oc(d,!0),null===d.tail&&"hidden"===d.tailMode&&
|
|
||||||
!g.alternate&&!la)return b=b.lastEffect=d.lastEffect,null!==b&&(b.nextEffect=null),null}else 2*P()-d.renderingStartTime>We&&1073741824!==c&&(b.flags|=64,f=!0,oc(d,!1),b.lanes=33554432);d.isBackwards?(g.sibling=b.child,b.child=g):(c=d.last,null!==c?c.sibling=g:b.child=g,d.last=g)}return null!==d.tail?(c=d.tail,d.rendering=c,d.tail=c.sibling,d.lastEffect=b.lastEffect,d.renderingStartTime=P(),c.sibling=null,b=E.current,A(E,f?b&1|2:b&1),c):null;case 23:case 24:return ta=cb.current,t(cb),null!==a&&null!==
|
|
||||||
a.memoizedState!==(null!==b.memoizedState)&&"unstable-defer-without-hiding"!==d.mode&&(b.flags|=4),null}throw Error(m(156,b.tag));}function zj(a,b){switch(a.tag){case 1:return S(a.type)&&(t(J),t(D)),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 3:Ab();t(J);t(D);Je();b=a.flags;if(0!==(b&64))throw Error(m(285));a.flags=b&-4097|64;return a;case 5:return Ge(a),null;case 13:return t(E),b=a.flags,b&4096?(a.flags=b&-4097|64,a):null;case 19:return t(E),null;case 4:return Ab(),null;case 10:return Ae(a),
|
|
||||||
null;case 23:case 24:return ta=cb.current,t(cb),null;default:return null}}function Xe(a,b){try{var c="",d=b;do c+=pi(d),d=d.return;while(d);var e=c}catch(f){e="\nError generating stack: "+f.message+"\n"+f.stack}return{value:a,source:b,stack:e}}function Ye(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}function Mh(a,b,c){c=Ia(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){rd||(rd=!0,Ze=d);Ye(a,b)};return c}function Nh(a,b,c){c=Ia(-1,c);c.tag=
|
|
||||||
3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){Ye(a,b);return d(e)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){"function"!==typeof d&&(null===na?na=new Set([this]):na.add(this),Ye(a,b));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:""})});return c}function Oh(a){var b=a.ref;if(null!==b)if("function"===typeof b)try{b(null)}catch(c){Qa(a,c)}else b.current=null}function Aj(a,
|
|
||||||
b){switch(b.tag){case 0:case 11:case 15:case 22:return;case 1:if(b.flags&256&&null!==a){var c=a.memoizedProps,d=a.memoizedState;a=b.stateNode;b=a.getSnapshotBeforeUpdate(b.elementType===b.type?c:ea(b.type,c),d);a.__reactInternalSnapshotBeforeUpdate=b}return;case 3:b.flags&256&&te(b.stateNode.containerInfo);return;case 5:case 6:case 4:case 17:return}throw Error(m(163));}function Bj(a,b,c,d){switch(c.tag){case 0:case 11:case 15:case 22:b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;
|
|
||||||
do 3===(a.tag&3)&&(d=a.create,a.destroy=d()),a=a.next;while(a!==b)}b=c.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){a=b=b.next;do{var e=a;d=e.next;e=e.tag;0!==(e&4)&&0!==(e&1)&&(Ph(c,a),Cj(c,a));a=d}while(a!==b)}return;case 1:a=c.stateNode;c.flags&4&&(null===b?a.componentDidMount():(d=c.elementType===c.type?b.memoizedProps:ea(c.type,b.memoizedProps),a.componentDidUpdate(d,b.memoizedState,a.__reactInternalSnapshotBeforeUpdate)));b=c.updateQueue;null!==b&&dh(c,b,a);return;case 3:b=c.updateQueue;
|
|
||||||
if(null!==b){a=null;if(null!==c.child)switch(c.child.tag){case 5:a=c.child.stateNode;break;case 1:a=c.child.stateNode}dh(c,b,a)}return;case 5:a=c.stateNode;null===b&&c.flags&4&&Pg(c.type,c.memoizedProps)&&a.focus();return;case 6:return;case 4:return;case 12:return;case 13:null===c.memoizedState&&(c=c.alternate,null!==c&&(c=c.memoizedState,null!==c&&(c=c.dehydrated,null!==c&&bg(c))));return;case 19:case 17:case 20:case 21:case 23:case 24:return}throw Error(m(163));}function Qh(a,b){for(var c=a;;){if(5===
|
|
||||||
c.tag){var d=c.stateNode;if(b)d=d.style,"function"===typeof d.setProperty?d.setProperty("display","none","important"):d.display="none";else{d=c.stateNode;var e=c.memoizedProps.style;e=void 0!==e&&null!==e&&e.hasOwnProperty("display")?e.display:null;d.style.display=Nf("display",e)}}else if(6===c.tag)c.stateNode.nodeValue=b?"":c.memoizedProps;else if((23!==c.tag&&24!==c.tag||null===c.memoizedState||c===a)&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===a)break;for(;null===c.sibling;){if(null===
|
|
||||||
c.return||c.return===a)return;c=c.return}c.sibling.return=c.return;c=c.sibling}}function Rh(a,b,c){if(db&&"function"===typeof db.onCommitFiberUnmount)try{db.onCommitFiberUnmount($e,b)}catch(f){}switch(b.tag){case 0:case 11:case 14:case 15:case 22:a=b.updateQueue;if(null!==a&&(a=a.lastEffect,null!==a)){c=a=a.next;do{var d=c,e=d.destroy;d=d.tag;if(void 0!==e)if(0!==(d&4))Ph(b,c);else{d=b;try{e()}catch(f){Qa(d,f)}}c=c.next}while(c!==a)}break;case 1:Oh(b);a=b.stateNode;if("function"===typeof a.componentWillUnmount)try{a.props=
|
|
||||||
b.memoizedProps,a.state=b.memoizedState,a.componentWillUnmount()}catch(f){Qa(b,f)}break;case 5:Oh(b);break;case 4:Sh(a,b)}}function Th(a){a.alternate=null;a.child=null;a.dependencies=null;a.firstEffect=null;a.lastEffect=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.return=null;a.updateQueue=null}function Uh(a){return 5===a.tag||3===a.tag||4===a.tag}function Vh(a){a:{for(var b=a.return;null!==b;){if(Uh(b))break a;b=b.return}throw Error(m(160));}var c=b;b=c.stateNode;switch(c.tag){case 5:var d=
|
|
||||||
!1;break;case 3:b=b.containerInfo;d=!0;break;case 4:b=b.containerInfo;d=!0;break;default:throw Error(m(161));}c.flags&16&&(qc(b,""),c.flags&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c.return||Uh(c.return)){c=null;break a}c=c.return}c.sibling.return=c.return;for(c=c.sibling;5!==c.tag&&6!==c.tag&&18!==c.tag;){if(c.flags&2)continue b;if(null===c.child||4===c.tag)continue b;else c.child.return=c,c=c.child}if(!(c.flags&2)){c=c.stateNode;break a}}d?af(a,c,b):bf(a,c,b)}function af(a,b,c){var d=
|
|
||||||
a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Vc));else if(4!==d&&(a=a.child,null!==a))for(af(a,b,c),a=a.sibling;null!==a;)af(a,b,c),a=a.sibling}function bf(a,b,c){var d=a.tag,e=5===d||6===d;if(e)a=e?a.stateNode:a.stateNode.instance,b?c.insertBefore(a,b):c.appendChild(a);
|
|
||||||
else if(4!==d&&(a=a.child,null!==a))for(bf(a,b,c),a=a.sibling;null!==a;)bf(a,b,c),a=a.sibling}function Sh(a,b,c){c=b;for(var d=!1,e,f;;){if(!d){e=c.return;a:for(;;){if(null===e)throw Error(m(160));f=e.stateNode;switch(e.tag){case 5:e=f;f=!1;break a;case 3:e=f.containerInfo;f=!0;break a;case 4:e=f.containerInfo;f=!0;break a}e=e.return}d=!0}if(5===c.tag||6===c.tag){a:for(var g=a,h=c,k=h;;)if(Rh(g,k),null!==k.child&&4!==k.tag)k.child.return=k,k=k.child;else{if(k===h)break a;for(;null===k.sibling;){if(null===
|
|
||||||
k.return||k.return===h)break a;k=k.return}k.sibling.return=k.return;k=k.sibling}f?(g=e,h=c.stateNode,8===g.nodeType?g.parentNode.removeChild(h):g.removeChild(h)):e.removeChild(c.stateNode)}else if(4===c.tag){if(null!==c.child){e=c.stateNode.containerInfo;f=!0;c.child.return=c;c=c.child;continue}}else if(Rh(a,c),null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return;4===c.tag&&(d=!1)}c.sibling.return=c.return;c=
|
|
||||||
c.sibling}}function cf(a,b){switch(b.tag){case 0:case 11:case 14:case 15:case 22:var c=b.updateQueue;c=null!==c?c.lastEffect:null;if(null!==c){var d=c=c.next;do 3===(d.tag&3)&&(a=d.destroy,d.destroy=void 0,void 0!==a&&a()),d=d.next;while(d!==c)}return;case 1:return;case 5:c=b.stateNode;if(null!=c){d=b.memoizedProps;var e=null!==a?a.memoizedProps:d;a=b.type;var f=b.updateQueue;b.updateQueue=null;if(null!==f){c[Wc]=d;"input"===a&&"radio"===d.type&&null!=d.name&&Hf(c,d);Td(a,e);b=Td(a,d);for(e=0;e<f.length;e+=
|
|
||||||
2){var g=f[e],h=f[e+1];"style"===g?Of(c,h):"dangerouslySetInnerHTML"===g?Lh(c,h):"children"===g?qc(c,h):Ed(c,g,h,b)}switch(a){case "input":Nd(c,d);break;case "textarea":Kf(c,d);break;case "select":a=c._wrapperState.wasMultiple,c._wrapperState.wasMultiple=!!d.multiple,f=d.value,null!=f?ib(c,!!d.multiple,f,!1):a!==!!d.multiple&&(null!=d.defaultValue?ib(c,!!d.multiple,d.defaultValue,!0):ib(c,!!d.multiple,d.multiple?[]:"",!1))}}}return;case 6:if(null===b.stateNode)throw Error(m(162));b.stateNode.nodeValue=
|
|
||||||
b.memoizedProps;return;case 3:c=b.stateNode;c.hydrate&&(c.hydrate=!1,bg(c.containerInfo));return;case 12:return;case 13:null!==b.memoizedState&&(df=P(),Qh(b.child,!0));Wh(b);return;case 19:Wh(b);return;case 17:return;case 23:case 24:Qh(b,null!==b.memoizedState);return}throw Error(m(163));}function Wh(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Dj);b.forEach(function(b){var d=Ej.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}function Fj(a,
|
|
||||||
b){return null!==a&&(a=a.memoizedState,null===a||null!==a.dehydrated)?(b=b.memoizedState,null!==b&&null===b.dehydrated):!1}function Eb(){We=P()+500}function W(){return 0!==(n&48)?P():-1!==sd?sd:sd=P()}function Oa(a){a=a.mode;if(0===(a&2))return 1;if(0===(a&4))return 99===wb()?1:2;0===ua&&(ua=Fb);if(0!==Gj.transition){0!==td&&(td=null!==ef?ef.pendingLanes:0);a=ua;var b=4186112&~td;b&=-b;0===b&&(a=4186112&~a,b=a&-a,0===b&&(b=8192));return b}a=wb();0!==(n&4)&&98===a?a=Nc(12,ua):(a=Fi(a),a=Nc(a,ua));
|
|
||||||
return a}function Pa(a,b,c){if(50<rc)throw rc=0,ff=null,Error(m(185));a=ud(a,b);if(null===a)return null;Oc(a,b,c);a===R&&(Cb|=b,4===L&&Db(a,O));var d=wb();1===b?0!==(n&8)&&0===(n&48)?gf(a):(ba(a,c),0===n&&(Eb(),ja())):(0===(n&4)||98!==d&&99!==d||(null===va?va=new Set([a]):va.add(a)),ba(a,c));ef=a}function ud(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}
|
|
||||||
function ba(a,b){for(var c=a.callbackNode,d=a.suspendedLanes,e=a.pingedLanes,f=a.expirationTimes,g=a.pendingLanes;0<g;){var h=31-Ba(g),k=1<<h,l=f[h];if(-1===l){if(0===(k&d)||0!==(k&e)){l=b;mb(k);var m=w;f[h]=10<=m?l+250:6<=m?l+5E3:-1}}else l<=b&&(a.expiredLanes|=k);g&=~k}d=Wb(a,a===R?O:0);b=w;if(0===d)null!==c&&(c!==hf&&xe(c),a.callbackNode=null,a.callbackPriority=0);else{if(null!==c){if(a.callbackPriority===b)return;c!==hf&&xe(c)}15===b?(c=gf.bind(null,a),null===pa?(pa=[c],Zc=we(Yc,$g)):pa.push(c),
|
|
||||||
c=hf):14===b?c=bc(99,gf.bind(null,a)):(c=Gi(b),c=bc(c,Xh.bind(null,a)));a.callbackPriority=b;a.callbackNode=c}}function Xh(a){sd=-1;td=ua=0;if(0!==(n&48))throw Error(m(327));var b=a.callbackNode;if(Ra()&&a.callbackNode!==b)return null;var c=Wb(a,a===R?O:0);if(0===c)return null;var d=c;var e=n;n|=16;var f=Yh();if(R!==a||O!==d)Eb(),Gb(a,d);do try{Hj();break}catch(h){Zh(a,h)}while(1);ze();vd.current=f;n=e;null!==G?d=0:(R=null,O=0,d=L);if(0!==(Fb&Cb))Gb(a,0);else if(0!==d){2===d&&(n|=64,a.hydrate&&(a.hydrate=
|
|
||||||
!1,te(a.containerInfo)),c=eg(a),0!==c&&(d=sc(a,c)));if(1===d)throw b=wd,Gb(a,0),Db(a,c),ba(a,P()),b;a.finishedWork=a.current.alternate;a.finishedLanes=c;switch(d){case 0:case 1:throw Error(m(345));case 2:eb(a);break;case 3:Db(a,c);if((c&62914560)===c&&(d=df+500-P(),10<d)){if(0!==Wb(a,0))break;e=a.suspendedLanes;if((e&c)!==c){W();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=$h(eb.bind(null,a),d);break}eb(a);break;case 4:Db(a,c);if((c&4186112)===c)break;d=a.eventTimes;for(e=-1;0<c;){var g=
|
|
||||||
31-Ba(c);f=1<<g;g=d[g];g>e&&(e=g);c&=~f}c=e;c=P()-c;c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3E3>c?3E3:4320>c?4320:1960*Ij(c/1960))-c;if(10<c){a.timeoutHandle=$h(eb.bind(null,a),c);break}eb(a);break;case 5:eb(a);break;default:throw Error(m(329));}}ba(a,P());return a.callbackNode===b?Xh.bind(null,a):null}function Db(a,b){b&=~jf;b&=~Cb;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-Ba(b),d=1<<c;a[c]=-1;b&=~d}}function gf(a){if(0!==(n&48))throw Error(m(327));Ra();
|
|
||||||
if(a===R&&0!==(a.expiredLanes&O)){var b=O;var c=sc(a,b);0!==(Fb&Cb)&&(b=Wb(a,b),c=sc(a,b))}else b=Wb(a,0),c=sc(a,b);0!==a.tag&&2===c&&(n|=64,a.hydrate&&(a.hydrate=!1,te(a.containerInfo)),b=eg(a),0!==b&&(c=sc(a,b)));if(1===c)throw c=wd,Gb(a,0),Db(a,b),ba(a,P()),c;a.finishedWork=a.current.alternate;a.finishedLanes=b;eb(a);ba(a,P());return null}function Jj(){if(null!==va){var a=va;va=null;a.forEach(function(a){a.expiredLanes|=24&a.pendingLanes;ba(a,P())})}ja()}function ai(a,b){var c=n;n|=1;try{return a(b)}finally{n=
|
|
||||||
c,0===n&&(Eb(),ja())}}function bi(a,b){var c=n;n&=-2;n|=8;try{return a(b)}finally{n=c,0===n&&(Eb(),ja())}}function pd(a,b){A(cb,ta);ta|=b;Fb|=b}function Gb(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Kj(c));if(null!==G)for(c=G.return;null!==c;){var d=c;switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&(t(J),t(D));break;case 3:Ab();t(J);t(D);Je();break;case 5:Ge(d);break;case 4:Ab();break;case 13:t(E);break;case 19:t(E);break;case 10:Ae(d);
|
|
||||||
break;case 23:case 24:ta=cb.current,t(cb)}c=c.return}R=a;G=Ma(a.current,null);O=ta=Fb=b;L=0;wd=null;jf=Cb=La=0}function Zh(a,b){do{var c=G;try{ze();jc.current=jd;if(kd){for(var d=y.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}kd=!1}ic=0;K=N=y=null;kc=!1;kf.current=null;if(null===c||null===c.return){L=1;wd=b;G=null;break}a:{var f=a,g=c.return,h=c,k=b;b=O;h.flags|=2048;h.firstEffect=h.lastEffect=null;if(null!==k&&"object"===typeof k&&"function"===typeof k.then){var l=k;
|
|
||||||
if(0===(h.mode&2)){var m=h.alternate;m?(h.updateQueue=m.updateQueue,h.memoizedState=m.memoizedState,h.lanes=m.lanes):(h.updateQueue=null,h.memoizedState=null)}var n=0!==(E.current&1),r=g;do{var t;if(t=13===r.tag){var w=r.memoizedState;if(null!==w)t=null!==w.dehydrated?!0:!1;else{var z=r.memoizedProps;t=void 0===z.fallback?!1:!0!==z.unstable_avoidThisFallback?!0:n?!1:!0}}if(t){var C=r.updateQueue;if(null===C){var x=new Set;x.add(l);r.updateQueue=x}else C.add(l);if(0===(r.mode&2)){r.flags|=64;h.flags|=
|
|
||||||
16384;h.flags&=-2981;if(1===h.tag)if(null===h.alternate)h.tag=17;else{var p=Ia(-1,1);p.tag=2;Ja(h,p)}h.lanes|=1;break a}k=void 0;h=b;var q=f.pingCache;null===q?(q=f.pingCache=new Lj,k=new Set,q.set(l,k)):(k=q.get(l),void 0===k&&(k=new Set,q.set(l,k)));if(!k.has(h)){k.add(h);var u=Mj.bind(null,f,l,h);l.then(u,u)}r.flags|=4096;r.lanes=b;break a}r=r.return}while(null!==r);k=Error((hb(h.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==
|
|
||||||
L&&(L=2);k=Xe(k,h);r=g;do{switch(r.tag){case 3:f=k;r.flags|=4096;b&=-b;r.lanes|=b;var B=Mh(r,f,b);ch(r,B);break a;case 1:f=k;var A=r.type,D=r.stateNode;if(0===(r.flags&64)&&("function"===typeof A.getDerivedStateFromError||null!==D&&"function"===typeof D.componentDidCatch&&(null===na||!na.has(D)))){r.flags|=4096;b&=-b;r.lanes|=b;var F=Nh(r,f,b);ch(r,F);break a}}r=r.return}while(null!==r)}ci(c)}catch(qa){b=qa;G===c&&null!==c&&(G=c=c.return);continue}break}while(1)}function Yh(){var a=vd.current;vd.current=
|
|
||||||
jd;return null===a?jd:a}function sc(a,b){var c=n;n|=16;var d=Yh();R===a&&O===b||Gb(a,b);do try{Nj();break}catch(e){Zh(a,e)}while(1);ze();n=c;vd.current=d;if(null!==G)throw Error(m(261));R=null;O=0;return L}function Nj(){for(;null!==G;)di(G)}function Hj(){for(;null!==G&&!Oj();)di(G)}function di(a){var b=Pj(a.alternate,a,ta);a.memoizedProps=a.pendingProps;null===b?ci(a):G=b;kf.current=null}function ci(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&2048)){c=vj(c,b,ta);if(null!==c){G=c;return}c=
|
|
||||||
b;if(24!==c.tag&&23!==c.tag||null===c.memoizedState||0!==(ta&1073741824)||0===(c.mode&4)){for(var d=0,e=c.child;null!==e;)d|=e.lanes|e.childLanes,e=e.sibling;c.childLanes=d}null!==a&&0===(a.flags&2048)&&(null===a.firstEffect&&(a.firstEffect=b.firstEffect),null!==b.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=b.firstEffect),a.lastEffect=b.lastEffect),1<b.flags&&(null!==a.lastEffect?a.lastEffect.nextEffect=b:a.firstEffect=b,a.lastEffect=b))}else{c=zj(b);if(null!==c){c.flags&=2047;G=c;
|
|
||||||
return}null!==a&&(a.firstEffect=a.lastEffect=null,a.flags|=2048)}b=b.sibling;if(null!==b){G=b;return}G=b=a}while(null!==b);0===L&&(L=5)}function eb(a){var b=wb();Za(99,Qj.bind(null,a,b));return null}function Qj(a,b){do Ra();while(null!==tc);if(0!==(n&48))throw Error(m(327));var c=a.finishedWork;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(m(177));a.callbackNode=null;var d=c.lanes|c.childLanes,e=d,f=a.pendingLanes&~e;a.pendingLanes=e;a.suspendedLanes=0;
|
|
||||||
a.pingedLanes=0;a.expiredLanes&=e;a.mutableReadLanes&=e;a.entangledLanes&=e;e=a.entanglements;for(var g=a.eventTimes,h=a.expirationTimes;0<f;){var k=31-Ba(f),v=1<<k;e[k]=0;g[k]=-1;h[k]=-1;f&=~v}null!==va&&0===(d&24)&&va.has(a)&&va.delete(a);a===R&&(G=R=null,O=0);1<c.flags?null!==c.lastEffect?(c.lastEffect.nextEffect=c,d=c.firstEffect):d=c:d=c.firstEffect;if(null!==d){e=n;n|=32;kf.current=null;lf=Pc;g=xg();if(ne(g)){if("selectionStart"in g)h={start:g.selectionStart,end:g.selectionEnd};else a:if(h=
|
|
||||||
(h=g.ownerDocument)&&h.defaultView||window,(v=h.getSelection&&h.getSelection())&&0!==v.rangeCount){h=v.anchorNode;f=v.anchorOffset;k=v.focusNode;v=v.focusOffset;try{h.nodeType,k.nodeType}catch(qa){h=null;break a}var t=0,w=-1,r=-1,z=0,B=0,y=g,C=null;b:for(;;){for(var x;;){y!==h||0!==f&&3!==y.nodeType||(w=t+f);y!==k||0!==v&&3!==y.nodeType||(r=t+v);3===y.nodeType&&(t+=y.nodeValue.length);if(null===(x=y.firstChild))break;C=y;y=x}for(;;){if(y===g)break b;C===h&&++z===f&&(w=t);C===k&&++B===v&&(r=t);if(null!==
|
|
||||||
(x=y.nextSibling))break;y=C;C=y.parentNode}y=x}h=-1===w||-1===r?null:{start:w,end:r}}else h=null;h=h||{start:0,end:0}}else h=null;mf={focusedElem:g,selectionRange:h};Pc=!1;uc=null;xd=!1;l=d;do try{Rj()}catch(qa){if(null===l)throw Error(m(330));Qa(l,qa);l=l.nextEffect}while(null!==l);uc=null;l=d;do try{for(g=a;null!==l;){var p=l.flags;p&16&&qc(l.stateNode,"");if(p&128){var q=l.alternate;if(null!==q){var u=q.ref;null!==u&&("function"===typeof u?u(null):u.current=null)}}switch(p&1038){case 2:Vh(l);l.flags&=
|
|
||||||
-3;break;case 6:Vh(l);l.flags&=-3;cf(l.alternate,l);break;case 1024:l.flags&=-1025;break;case 1028:l.flags&=-1025;cf(l.alternate,l);break;case 4:cf(l.alternate,l);break;case 8:h=l;Sh(g,h);var A=h.alternate;Th(h);null!==A&&Th(A)}l=l.nextEffect}}catch(qa){if(null===l)throw Error(m(330));Qa(l,qa);l=l.nextEffect}while(null!==l);u=mf;q=xg();p=u.focusedElem;g=u.selectionRange;if(q!==p&&p&&p.ownerDocument&&wg(p.ownerDocument.documentElement,p)){null!==g&&ne(p)&&(q=g.start,u=g.end,void 0===u&&(u=q),"selectionStart"in
|
|
||||||
p?(p.selectionStart=q,p.selectionEnd=Math.min(u,p.value.length)):(u=(q=p.ownerDocument||document)&&q.defaultView||window,u.getSelection&&(u=u.getSelection(),h=p.textContent.length,A=Math.min(g.start,h),g=void 0===g.end?A:Math.min(g.end,h),!u.extend&&A>g&&(h=g,g=A,A=h),h=vg(p,A),f=vg(p,g),h&&f&&(1!==u.rangeCount||u.anchorNode!==h.node||u.anchorOffset!==h.offset||u.focusNode!==f.node||u.focusOffset!==f.offset)&&(q=q.createRange(),q.setStart(h.node,h.offset),u.removeAllRanges(),A>g?(u.addRange(q),u.extend(f.node,
|
|
||||||
f.offset)):(q.setEnd(f.node,f.offset),u.addRange(q))))));q=[];for(u=p;u=u.parentNode;)1===u.nodeType&&q.push({element:u,left:u.scrollLeft,top:u.scrollTop});"function"===typeof p.focus&&p.focus();for(p=0;p<q.length;p++)u=q[p],u.element.scrollLeft=u.left,u.element.scrollTop=u.top}Pc=!!lf;mf=lf=null;a.current=c;l=d;do try{for(p=a;null!==l;){var D=l.flags;D&36&&Bj(p,l.alternate,l);if(D&128){q=void 0;var E=l.ref;if(null!==E){var F=l.stateNode;switch(l.tag){case 5:q=F;break;default:q=F}"function"===typeof E?
|
|
||||||
E(q):E.current=q}}l=l.nextEffect}}catch(qa){if(null===l)throw Error(m(330));Qa(l,qa);l=l.nextEffect}while(null!==l);l=null;Sj();n=e}else a.current=c;if(Sa)Sa=!1,tc=a,vc=b;else for(l=d;null!==l;)b=l.nextEffect,l.nextEffect=null,l.flags&8&&(D=l,D.sibling=null,D.stateNode=null),l=b;d=a.pendingLanes;0===d&&(na=null);1===d?a===ff?rc++:(rc=0,ff=a):rc=0;c=c.stateNode;if(db&&"function"===typeof db.onCommitFiberRoot)try{db.onCommitFiberRoot($e,c,void 0,64===(c.current.flags&64))}catch(qa){}ba(a,P());if(rd)throw rd=
|
|
||||||
!1,a=Ze,Ze=null,a;if(0!==(n&8))return null;ja();return null}function Rj(){for(;null!==l;){var a=l.alternate;xd||null===uc||(0!==(l.flags&8)?Wf(l,uc)&&(xd=!0):13===l.tag&&Fj(a,l)&&Wf(l,uc)&&(xd=!0));var b=l.flags;0!==(b&256)&&Aj(a,l);0===(b&512)||Sa||(Sa=!0,bc(97,function(){Ra();return null}));l=l.nextEffect}}function Ra(){if(90!==vc){var a=97<vc?97:vc;vc=90;return Za(a,Tj)}return!1}function Cj(a,b){nf.push(b,a);Sa||(Sa=!0,bc(97,function(){Ra();return null}))}function Ph(a,b){of.push(b,a);Sa||(Sa=
|
|
||||||
!0,bc(97,function(){Ra();return null}))}function Tj(){if(null===tc)return!1;var a=tc;tc=null;if(0!==(n&48))throw Error(m(331));var b=n;n|=32;var c=of;of=[];for(var d=0;d<c.length;d+=2){var e=c[d],f=c[d+1],g=e.destroy;e.destroy=void 0;if("function"===typeof g)try{g()}catch(k){if(null===f)throw Error(m(330));Qa(f,k)}}c=nf;nf=[];for(d=0;d<c.length;d+=2){e=c[d];f=c[d+1];try{var h=e.create;e.destroy=h()}catch(k){if(null===f)throw Error(m(330));Qa(f,k)}}for(h=a.current.firstEffect;null!==h;)a=h.nextEffect,
|
|
||||||
h.nextEffect=null,h.flags&8&&(h.sibling=null,h.stateNode=null),h=a;n=b;ja();return!0}function ei(a,b,c){b=Xe(c,b);b=Mh(a,b,1);Ja(a,b);b=W();a=ud(a,1);null!==a&&(Oc(a,1,b),ba(a,b))}function Qa(a,b){if(3===a.tag)ei(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){ei(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError||"function"===typeof d.componentDidCatch&&(null===na||!na.has(d))){a=Xe(b,a);var e=Nh(c,a,1);Ja(c,e);e=W();c=ud(c,1);if(null!==
|
|
||||||
c)Oc(c,1,e),ba(c,e);else if("function"===typeof d.componentDidCatch&&(null===na||!na.has(d)))try{d.componentDidCatch(b,a)}catch(f){}break}}c=c.return}}function Mj(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=W();a.pingedLanes|=a.suspendedLanes&c;R===a&&(O&c)===c&&(4===L||3===L&&(O&62914560)===O&&500>P()-df?Gb(a,0):jf|=c);ba(a,b)}function Ej(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=0;0===b&&(b=a.mode,0===(b&2)?b=1:0===(b&4)?b=99===wb()?1:2:(0===ua&&(ua=Fb),b=nb(62914560&~ua),0===b&&(b=4194304)));
|
|
||||||
c=W();a=ud(a,b);null!==a&&(Oc(a,b,c),ba(a,c))}function Uj(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.flags=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childLanes=this.lanes=0;this.alternate=null}function Qe(a){a=a.prototype;return!(!a||!a.isReactComponent)}function Vj(a){if("function"===
|
|
||||||
typeof a)return Qe(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Dc)return 11;if(a===Ec)return 14}return 2}function Ma(a,b){var c=a.alternate;null===c?(c=Z(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=
|
|
||||||
a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};c.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}function fd(a,b,c,d,e,f){var g=2;d=a;if("function"===typeof a)Qe(a)&&(g=1);else if("string"===typeof a)g=5;else a:switch(a){case wa:return zb(c.children,e,f,b);case fi:g=8;e|=16;break;case Hd:g=8;e|=1;break;case Lb:return a=Z(12,c,b,e|8),a.elementType=Lb,a.type=Lb,a.lanes=f,a;case Mb:return a=Z(13,c,b,e),a.type=Mb,a.elementType=Mb,a.lanes=
|
|
||||||
f,a;case Cc:return a=Z(19,c,b,e),a.elementType=Cc,a.lanes=f,a;case pf:return Ue(c,e,f,b);case qf:return a=Z(24,c,b,e),a.elementType=qf,a.lanes=f,a;default:if("object"===typeof a&&null!==a)switch(a.$$typeof){case Jd:g=10;break a;case Id:g=9;break a;case Dc:g=11;break a;case Ec:g=14;break a;case Ld:g=16;d=null;break a;case Kd:g=22;break a}throw Error(m(130,null==a?a:typeof a,""));}b=Z(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function zb(a,b,c,d){a=Z(7,a,d,b);a.lanes=c;return a}function Ue(a,
|
|
||||||
b,c,d){a=Z(23,a,d,b);a.elementType=pf;a.lanes=c;return a}function De(a,b,c){a=Z(6,a,null,b);a.lanes=c;return a}function Ee(a,b,c){b=Z(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function Wj(a,b,c){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.pendingContext=this.context=null;this.hydrate=c;this.callbackNode=
|
|
||||||
null;this.callbackPriority=0;this.eventTimes=ge(0);this.expirationTimes=ge(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=ge(0);this.mutableSourceEagerHydrationData=null}function Xj(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Ua,key:null==d?null:""+d,children:a,containerInfo:b,implementation:c}}function yd(a,b,c,d){var e=b.current,f=W(),g=Oa(e);
|
|
||||||
a:if(c){c=c._reactInternals;b:{if(Va(c)!==c||1!==c.tag)throw Error(m(170));var h=c;do{switch(h.tag){case 3:h=h.stateNode.context;break b;case 1:if(S(h.type)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}}h=h.return}while(null!==h);throw Error(m(171));}if(1===c.tag){var k=c.type;if(S(k)){c=Tg(c,k,h);break a}}c=h}else c=Ha;null===b.context?b.context=c:b.pendingContext=c;b=Ia(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);Ja(e,b);Pa(e,g,f);return g}function rf(a){a=
|
|
||||||
a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function gi(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function sf(a,b){gi(a,b);(a=a.alternate)&&gi(a,b)}function Yj(a){a=Vf(a);return null===a?null:a.stateNode}function Zj(a){return null}function tf(a,b,c){var d=null!=c&&null!=c.hydrationOptions&&c.hydrationOptions.mutableSources||null;c=new Wj(a,b,null!=c&&!0===c.hydrate);
|
|
||||||
b=Z(3,null,null,2===b?7:1===b?3:0);c.current=b;b.stateNode=c;Be(b);a[rb]=c.current;Cg(8===a.nodeType?a.parentNode:a);if(d)for(a=0;a<d.length;a++){b=d[a];var e=b._getVersion;e=e(b._source);null==c.mutableSourceEagerHydrationData?c.mutableSourceEagerHydrationData=[b,e]:c.mutableSourceEagerHydrationData.push(b,e)}this._internalRoot=c}function wc(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||" react-mount-point-unstable "!==a.nodeValue))}function ak(a,b){b||(b=a?9===
|
|
||||||
a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute("data-reactroot")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new tf(a,0,b?{hydrate:!0}:void 0)}function zd(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f._internalRoot;if("function"===typeof e){var h=e;e=function(){var a=rf(g);h.call(a)}}yd(b,g,a,e)}else{f=c._reactRootContainer=ak(c,d);g=f._internalRoot;if("function"===typeof e){var k=e;e=function(){var a=rf(g);k.call(a)}}bi(function(){yd(b,
|
|
||||||
g,a,e)})}return rf(g)}function hi(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!wc(b))throw Error(m(200));return Xj(a,b,null,c)}if(!ha)throw Error(m(227));var zf=new Set,Ib={},oa=!("undefined"===typeof window||"undefined"===typeof window.document||"undefined"===typeof window.document.createElement),mi=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,
|
|
||||||
Af=Object.prototype.hasOwnProperty,Cf={},Bf={},I={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){I[a]=new Q(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];I[b]=new Q(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){I[a]=
|
|
||||||
new Q(a,2,!1,a.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){I[a]=new Q(a,2,!1,a,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){I[a]=new Q(a,3,!1,a.toLowerCase(),null,!1,!1)});["checked","multiple",
|
|
||||||
"muted","selected"].forEach(function(a){I[a]=new Q(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){I[a]=new Q(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){I[a]=new Q(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){I[a]=new Q(a,5,!1,a.toLowerCase(),null,!1,!1)});var uf=/[\-:]([a-z])/g,vf=function(a){return a[1].toUpperCase()};"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=
|
|
||||||
a.replace(uf,vf);I[b]=new Q(b,1,!1,a,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(uf,vf);I[b]=new Q(b,1,!1,a,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(uf,vf);I[b]=new Q(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){I[a]=new Q(a,1,!1,a.toLowerCase(),null,!1,!1)});I.xlinkHref=new Q("xlinkHref",
|
|
||||||
1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){I[a]=new Q(a,1,!1,a.toLowerCase(),null,!0,!0)});var B=ha.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.assign,fb=ha.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,ec=60103,Ua=60106,wa=60107,Hd=60108,Lb=60114,Jd=60109,Id=60110,Dc=60112,Mb=60113,Cc=60120,Ec=60115,Ld=60116,Kd=60121,ue=60128,fi=60129,pf=60130,qf=60131;if("function"===typeof Symbol&&Symbol.for){var H=Symbol.for;ec=
|
|
||||||
H("react.element");Ua=H("react.portal");wa=H("react.fragment");Hd=H("react.strict_mode");Lb=H("react.profiler");Jd=H("react.provider");Id=H("react.context");Dc=H("react.forward_ref");Mb=H("react.suspense");Cc=H("react.suspense_list");Ec=H("react.memo");Ld=H("react.lazy");Kd=H("react.block");H("react.scope");ue=H("react.opaque.id");fi=H("react.debug_trace_mode");pf=H("react.offscreen");qf=H("react.legacy_hidden")}var Df="function"===typeof Symbol&&Symbol.iterator,Fd,Gd=!1,Ad,Lh=function(a){return"undefined"!==
|
|
||||||
typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if("http://www.w3.org/2000/svg"!==a.namespaceURI||"innerHTML"in a)a.innerHTML=b;else{Ad=Ad||document.createElement("div");Ad.innerHTML="<svg>"+b.valueOf().toString()+"</svg>";for(b=Ad.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}}),qc=function(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=
|
|
||||||
b;return}}a.textContent=b},Nb={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,
|
|
||||||
zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},bk=["Webkit","ms","Moz","O"];Object.keys(Nb).forEach(function(a){bk.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Nb[b]=Nb[a]})});var si=B({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}),Vd=null,jb=null,kb=null,me=function(a,b){return a(b)},fg=function(a,
|
|
||||||
b,c,d,e){return a(b,c,d,e)},Xd=function(){},Sf=me,Xa=!1,Yd=!1,qe=!1;if(oa)try{var xc={};Object.defineProperty(xc,"passive",{get:function(){qe=!0}});window.addEventListener("test",xc,xc);window.removeEventListener("test",xc,xc)}catch(a){qe=!1}var vi=function(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(Da){this.onError(Da)}},Qb=!1,Ic=null,Jc=!1,Zd=null,wi={onError:function(a){Qb=!0;Ic=a}},ca=ha.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Scheduler,
|
|
||||||
ck=ca.unstable_cancelCallback,Bd=ca.unstable_now,$f=ca.unstable_scheduleCallback,dk=ca.unstable_shouldYield,ii=ca.unstable_requestPaint,ae=ca.unstable_runWithPriority,ek=ca.unstable_getCurrentPriorityLevel,fk=ca.unstable_ImmediatePriority,ji=ca.unstable_UserBlockingPriority,ag=ca.unstable_NormalPriority,gk=ca.unstable_LowPriority,hk=ca.unstable_IdlePriority,ce=!1,ia=[],ya=null,za=null,Aa=null,Rb=new Map,Sb=new Map,Vb=[],gg="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "),
|
|
||||||
lb={animationend:Lc("Animation","AnimationEnd"),animationiteration:Lc("Animation","AnimationIteration"),animationstart:Lc("Animation","AnimationStart"),transitionend:Lc("Transition","TransitionEnd")},de={},cg={};oa&&(cg=document.createElement("div").style,"AnimationEvent"in window||(delete lb.animationend.animation,delete lb.animationiteration.animation,delete lb.animationstart.animation),"TransitionEvent"in window||delete lb.transitionend.transition);var Hg=Mc("animationend"),Ig=Mc("animationiteration"),
|
|
||||||
Jg=Mc("animationstart"),Kg=Mc("transitionend"),dg=new Map,fe=new Map,ik=["abort","abort",Hg,"animationEnd",Ig,"animationIteration",Jg,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing",
|
|
||||||
"playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Kg,"transitionEnd","waiting","waiting"];Bd();var w=8,Ba=Math.clz32?Math.clz32:Hi,Ii=Math.log,Ji=Math.LN2,Ni=ji,Mi=ae,Pc=!0,Ca=null,ie=null,Qc=null,Hb={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},le=V(Hb),yc=B({},Hb,{view:0,detail:0}),hj=V(yc),wf,xf,zc,Cd=B({},yc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,
|
|
||||||
pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:je,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if("movementX"in a)return a.movementX;a!==zc&&(zc&&"mousemove"===a.type?(wf=a.screenX-zc.screenX,xf=a.screenY-zc.screenY):xf=wf=0,zc=a);return wf},movementY:function(a){return"movementY"in a?a.movementY:xf}}),Gg=V(Cd),jk=B({},Cd,{dataTransfer:0}),dj=V(jk),kk=B({},
|
|
||||||
yc,{relatedTarget:0}),re=V(kk),lk=B({},Hb,{animationName:0,elapsedTime:0,pseudoElement:0}),fj=V(lk),mk=B({},Hb,{clipboardData:function(a){return"clipboardData"in a?a.clipboardData:window.clipboardData}}),jj=V(mk),nk=B({},Hb,{data:0}),Og=V(nk),mj=Og,ok={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},pk={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",
|
|
||||||
16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Pi={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"},qk=B({},yc,{key:function(a){if(a.key){var b=ok[a.key]||a.key;if("Unidentified"!==
|
|
||||||
b)return b}return"keypress"===a.type?(a=Rc(a),13===a?"Enter":String.fromCharCode(a)):"keydown"===a.type||"keyup"===a.type?pk[a.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:je,charCode:function(a){return"keypress"===a.type?Rc(a):0},keyCode:function(a){return"keydown"===a.type||"keyup"===a.type?a.keyCode:0},which:function(a){return"keypress"===a.type?Rc(a):"keydown"===a.type||"keyup"===a.type?a.keyCode:0}}),cj=V(qk),rk=B({},
|
|
||||||
Cd,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Lg=V(rk),sk=B({},yc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:je}),ej=V(sk),tk=B({},Hb,{propertyName:0,elapsedTime:0,pseudoElement:0}),gj=V(tk),uk=B({},Cd,{deltaX:function(a){return"deltaX"in a?a.deltaX:"wheelDeltaX"in a?-a.wheelDeltaX:0},deltaY:function(a){return"deltaY"in a?a.deltaY:"wheelDeltaY"in a?-a.wheelDeltaY:"wheelDelta"in
|
|
||||||
a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),ij=V(uk),Qi=[9,13,27,32],ke=oa&&"CompositionEvent"in window,Ac=null;oa&&"documentMode"in document&&(Ac=document.documentMode);var lj=oa&&"TextEvent"in window&&!Ac,og=oa&&(!ke||Ac&&8<Ac&&11>=Ac),ng=String.fromCharCode(32),mg=!1,ob=!1,Ti={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0},Xb=null,Yb=null,Ng=!1;oa&&(Ng=Ui("input")&&(!document.documentMode||9<document.documentMode));
|
|
||||||
var X="function"===typeof Object.is?Object.is:aj,bj=Object.prototype.hasOwnProperty,kj=oa&&"documentMode"in document&&11>=document.documentMode,qb=null,pe=null,$b=null,oe=!1;ee("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),
|
|
||||||
0);ee("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1);ee(ik,2);(function(a,b){for(var c=0;c<a.length;c++)fe.set(a[c],b)})("change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),0);gb("onMouseEnter",["mouseout","mouseover"]);
|
|
||||||
gb("onMouseLeave",["mouseout","mouseover"]);gb("onPointerEnter",["pointerout","pointerover"]);gb("onPointerLeave",["pointerout","pointerover"]);Ta("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Ta("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Ta("onBeforeInput",["compositionend","keypress","textInput","paste"]);Ta("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));
|
|
||||||
Ta("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Ta("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var pc="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Eg=new Set("cancel close invalid load scroll toggle".split(" ").concat(pc)),
|
|
||||||
Dg="_reactListening"+Math.random().toString(36).slice(2),lf=null,mf=null,$h="function"===typeof setTimeout?setTimeout:void 0,Kj="function"===typeof clearTimeout?clearTimeout:void 0,yf=0,Dd=Math.random().toString(36).slice(2),Fa="__reactFiber$"+Dd,Wc="__reactProps$"+Dd,rb="__reactContainer$"+Dd,Rg="__reactEvents$"+Dd,ve=[],ub=-1,Ha={},D=Ga(Ha),J=Ga(!1),Ya=Ha,$e=null,db=null,pj=ae,we=$f,xe=ck,oj=ek,Yc=fk,Vg=ji,Wg=ag,Xg=gk,Yg=hk,hf={},Oj=dk,Sj=void 0!==ii?ii:function(){},pa=null,Zc=null,ye=!1,ki=Bd(),
|
|
||||||
P=1E4>ki?Bd:function(){return Bd()-ki},Gj=fb.ReactCurrentBatchConfig,bd=Ga(null),ad=null,xb=null,$c=null,Ka=!1,hh=(new ha.Component).refs,dd={isMounted:function(a){return(a=a._reactInternals)?Va(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=W(),e=Oa(a),f=Ia(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ja(a,f);Pa(a,e,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=W(),e=Oa(a),f=Ia(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);Ja(a,f);
|
|
||||||
Pa(a,e,d)},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=W(),d=Oa(a),e=Ia(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);Ja(a,e);Pa(a,d,c)}},gd=Array.isArray,od=ih(!0),xh=ih(!1),fc={},ka=Ga(fc),hc=Ga(fc),gc=Ga(fc),E=Ga(0),ra=null,Na=null,la=!1,Bb=[],jc=fb.ReactCurrentDispatcher,aa=fb.ReactCurrentBatchConfig,ic=0,y=null,N=null,K=null,kd=!1,kc=!1,jd={readContext:Y,useCallback:T,useContext:T,useEffect:T,useImperativeHandle:T,useLayoutEffect:T,useMemo:T,useReducer:T,useRef:T,useState:T,
|
|
||||||
useDebugValue:T,useDeferredValue:T,useTransition:T,useMutableSource:T,useOpaqueIdentifier:T,unstable_isNewReconciler:!1},qj={readContext:Y,useCallback:function(a,b){ab().memoizedState=[a,void 0===b?null:b];return a},useContext:Y,useEffect:rh,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return Ne(4,2,th.bind(null,b,a),c)},useLayoutEffect:function(a,b){return Ne(4,2,a,b)},useMemo:function(a,b){var c=ab();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,
|
|
||||||
b,c){var d=ab();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={pending:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=Me.bind(null,y,a);return[d.memoizedState,a]},useRef:qh,useState:nc,useDebugValue:Pe,useDeferredValue:function(a){var b=nc(a),c=b[0],d=b[1];rh(function(){var b=aa.transition;aa.transition=1;try{d(a)}finally{aa.transition=b}},[a]);return c},useTransition:function(){var a=nc(!1),b=a[0];a=tj.bind(null,a[1]);qh(a);return[a,b]},useMutableSource:function(a,
|
|
||||||
b,c){var d=ab();d.memoizedState={refs:{getSnapshot:b,setSnapshot:null},source:a,subscribe:c};return oh(d,a,b,c)},useOpaqueIdentifier:function(){if(la){var a=!1,b=nj(function(){a||(a=!0,c("r:"+(yf++).toString(36)));throw Error(m(355));}),c=nc(b)[1];0===(y.mode&2)&&(y.flags|=516,ld(5,function(){c("r:"+(yf++).toString(36))},void 0,null));return b}b="r:"+(yf++).toString(36);nc(b);return b},unstable_isNewReconciler:!1},rj={readContext:Y,useCallback:vh,useContext:Y,useEffect:nd,useImperativeHandle:uh,useLayoutEffect:sh,
|
|
||||||
useMemo:wh,useReducer:lc,useRef:md,useState:function(a){return lc(ma)},useDebugValue:Pe,useDeferredValue:function(a){var b=lc(ma),c=b[0],d=b[1];nd(function(){var b=aa.transition;aa.transition=1;try{d(a)}finally{aa.transition=b}},[a]);return c},useTransition:function(){var a=lc(ma)[0];return[md().current,a]},useMutableSource:ph,useOpaqueIdentifier:function(){return lc(ma)[0]},unstable_isNewReconciler:!1},sj={readContext:Y,useCallback:vh,useContext:Y,useEffect:nd,useImperativeHandle:uh,useLayoutEffect:sh,
|
|
||||||
useMemo:wh,useReducer:mc,useRef:md,useState:function(a){return mc(ma)},useDebugValue:Pe,useDeferredValue:function(a){var b=mc(ma),c=b[0],d=b[1];nd(function(){var b=aa.transition;aa.transition=1;try{d(a)}finally{aa.transition=b}},[a]);return c},useTransition:function(){var a=mc(ma)[0];return[md().current,a]},useMutableSource:ph,useOpaqueIdentifier:function(){return mc(ma)[0]},unstable_isNewReconciler:!1},uj=fb.ReactCurrentOwner,fa=!1,qd={dehydrated:null,retryLane:0};var xj=function(a,b,c,d){for(c=
|
|
||||||
b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};var Kh=function(a){};var wj=function(a,b,c,d,e){var f=a.memoizedProps;if(f!==d){a=b.stateNode;$a(ka.current);e=null;switch(c){case "input":f=Md(a,f);d=Md(a,d);e=[];break;case "option":f=Pd(a,f);d=Pd(a,d);e=[];break;case "select":f=
|
|
||||||
B({},f,{value:void 0});d=B({},d,{value:void 0});e=[];break;case "textarea":f=Qd(a,f);d=Qd(a,d);e=[];break;default:"function"!==typeof f.onClick&&"function"===typeof d.onClick&&(a.onclick=Vc)}Sd(c,d);var g;c=null;for(l in f)if(!d.hasOwnProperty(l)&&f.hasOwnProperty(l)&&null!=f[l])if("style"===l){var h=f[l];for(g in h)h.hasOwnProperty(g)&&(c||(c={}),c[g]="")}else"dangerouslySetInnerHTML"!==l&&"children"!==l&&"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&"autoFocus"!==l&&(Ib.hasOwnProperty(l)?
|
|
||||||
e||(e=[]):(e=e||[]).push(l,null));for(l in d){var k=d[l];h=null!=f?f[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if("style"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]="");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(e||(e=[]),e.push(l,c)),c=k;else"dangerouslySetInnerHTML"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(e=e||[]).push(l,k)):"children"===l?"string"!==typeof k&&"number"!==typeof k||(e=
|
|
||||||
e||[]).push(l,""+k):"suppressContentEditableWarning"!==l&&"suppressHydrationWarning"!==l&&(Ib.hasOwnProperty(l)?(null!=k&&"onScroll"===l&&z("scroll",a),e||h===k||(e=[])):"object"===typeof k&&null!==k&&k.$$typeof===ue?k.toString():(e=e||[]).push(l,k))}c&&(e=e||[]).push("style",c);var l=e;if(b.updateQueue=l)b.flags|=4}};var yj=function(a,b,c,d){c!==d&&(b.flags|=4)};var Lj="function"===typeof WeakMap?WeakMap:Map,Dj="function"===typeof WeakSet?WeakSet:Set,Ij=Math.ceil,vd=fb.ReactCurrentDispatcher,kf=
|
|
||||||
fb.ReactCurrentOwner,n=0,R=null,G=null,O=0,ta=0,cb=Ga(0),L=0,wd=null,Fb=0,La=0,Cb=0,jf=0,ef=null,df=0,We=Infinity,l=null,rd=!1,Ze=null,na=null,Sa=!1,tc=null,vc=90,nf=[],of=[],va=null,rc=0,ff=null,sd=-1,ua=0,td=0,uc=null,xd=!1;var Pj=function(a,b,c){var d=b.lanes;if(null!==a)if(a.memoizedProps!==b.pendingProps||J.current)fa=!0;else if(0!==(c&d))fa=0!==(a.flags&16384)?!0:!1;else{fa=!1;switch(b.tag){case 3:Dh(b);Ie();break;case 5:jh(b);break;case 1:S(b.type)&&Xc(b);break;case 4:Fe(b,b.stateNode.containerInfo);
|
|
||||||
break;case 10:d=b.memoizedProps.value;var e=b.type._context;A(bd,e._currentValue);e._currentValue=d;break;case 13:if(null!==b.memoizedState){if(0!==(c&b.child.childLanes))return Eh(a,b,c);A(E,E.current&1);b=sa(a,b,c);return null!==b?b.sibling:null}A(E,E.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&64)){if(d)return Jh(a,b,c);b.flags|=64}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);A(E,E.current);if(d)break;else return null;case 23:case 24:return b.lanes=
|
|
||||||
0,Se(a,b,c)}return sa(a,b,c)}else fa=!1;b.lanes=0;switch(b.tag){case 2:d=b.type;null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;e=vb(b,D.current);yb(b,c);e=Le(null,b,d,a,e,c);b.flags|=1;if("object"===typeof e&&null!==e&&"function"===typeof e.render&&void 0===e.$$typeof){b.tag=1;b.memoizedState=null;b.updateQueue=null;if(S(d)){var f=!0;Xc(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;Be(b);var g=d.getDerivedStateFromProps;"function"===typeof g&&
|
|
||||||
cd(b,d,g,a);e.updater=dd;b.stateNode=e;e._reactInternals=b;Ce(b,d,a,c);b=Te(null,b,d,!0,f,c)}else b.tag=0,U(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;a:{null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2);a=b.pendingProps;f=e._init;e=f(e._payload);b.type=e;f=b.tag=Vj(e);a=ea(e,a);switch(f){case 0:b=Re(null,b,e,a,c);break a;case 1:b=Ch(null,b,e,a,c);break a;case 11:b=yh(null,b,e,a,c);break a;case 14:b=zh(null,b,e,ea(e.type,a),d,c);break a}throw Error(m(306,e,""));}return b;case 0:return d=
|
|
||||||
b.type,e=b.pendingProps,e=b.elementType===d?e:ea(d,e),Re(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ea(d,e),Ch(a,b,d,e,c);case 3:Dh(b);d=b.updateQueue;if(null===a||null===d)throw Error(m(282));d=b.pendingProps;e=b.memoizedState;e=null!==e?e.element:null;bh(a,b);cc(b,d,null,c);d=b.memoizedState.element;if(d===e)Ie(),b=sa(a,b,c);else{e=b.stateNode;if(f=e.hydrate)Na=tb(b.stateNode.containerInfo.firstChild),ra=b,f=la=!0;if(f){a=e.mutableSourceEagerHydrationData;if(null!=
|
|
||||||
a)for(e=0;e<a.length;e+=2)f=a[e],f._workInProgressVersionPrimary=a[e+1],Bb.push(f);c=xh(b,null,d,c);for(b.child=c;c;)c.flags=c.flags&-3|1024,c=c.sibling}else U(a,b,d,c),Ie();b=b.child}return b;case 5:return jh(b),null===a&&He(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,se(d,e)?g=null:null!==f&&se(d,f)&&(b.flags|=16),Bh(a,b),U(a,b,g,c),b.child;case 6:return null===a&&He(b),null;case 13:return Eh(a,b,c);case 4:return Fe(b,b.stateNode.containerInfo),d=b.pendingProps,null===
|
|
||||||
a?b.child=od(b,null,d,c):U(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ea(d,e),yh(a,b,d,e,c);case 7:return U(a,b,b.pendingProps,c),b.child;case 8:return U(a,b,b.pendingProps.children,c),b.child;case 12:return U(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;var h=b.type._context;A(bd,h._currentValue);h._currentValue=f;if(null!==g)if(h=g.value,f=X(h,f)?0:("function"===typeof d._calculateChangedBits?
|
|
||||||
d._calculateChangedBits(h,f):1073741823)|0,0===f){if(g.children===e.children&&!J.current){b=sa(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var k=h.dependencies;if(null!==k){g=h.child;for(var l=k.firstContext;null!==l;){if(l.context===d&&0!==(l.observedBits&f)){1===h.tag&&(l=Ia(-1,c&-c),l.tag=2,Ja(h,l));h.lanes|=c;l=h.alternate;null!==l&&(l.lanes|=c);ah(h.return,c);k.lanes|=c;break}l=l.next}}else g=10===h.tag?h.type===b.type?null:h.child:h.child;if(null!==g)g.return=h;else for(g=
|
|
||||||
h;null!==g;){if(g===b){g=null;break}h=g.sibling;if(null!==h){h.return=g.return;g=h;break}g=g.return}h=g}U(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,f=b.pendingProps,d=f.children,yb(b,c),e=Y(e,f.unstable_observedBits),d=d(e),b.flags|=1,U(a,b,d,c),b.child;case 14:return e=b.type,f=ea(e,b.pendingProps),f=ea(e.type,f),zh(a,b,e,f,d,c);case 15:return Ah(a,b,b.type,b.pendingProps,d,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:ea(d,e),null!==a&&(a.alternate=null,b.alternate=
|
|
||||||
null,b.flags|=2),b.tag=1,S(d)?(a=!0,Xc(b)):a=!1,yb(b,c),fh(b,d,e),Ce(b,d,e,c),Te(null,b,d,!0,a,c);case 19:return Jh(a,b,c);case 23:return Se(a,b,c);case 24:return Se(a,b,c)}throw Error(m(156,b.tag));};var Z=function(a,b,c,d){return new Uj(a,b,c,d)};tf.prototype.render=function(a){yd(a,this._internalRoot,null,null)};tf.prototype.unmount=function(){var a=this._internalRoot,b=a.containerInfo;yd(null,a,null,function(){b[rb]=null})};var Ei=function(a){if(13===a.tag){var b=W();Pa(a,4,b);sf(a,4)}};var Yf=
|
|
||||||
function(a){if(13===a.tag){var b=W();Pa(a,67108864,b);sf(a,67108864)}};var Ci=function(a){if(13===a.tag){var b=W(),c=Oa(a);Pa(a,c,b);sf(a,c)}};var Bi=function(a,b){return b()};Vd=function(a,b,c){switch(b){case "input":Nd(a,c);b=c.name;if("radio"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll("input[name="+JSON.stringify(""+b)+'][type="radio"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Hc(d);if(!e)throw Error(m(90));Ff(d);Nd(d,e)}}}break;case "textarea":Kf(a,
|
|
||||||
c);break;case "select":b=c.value,null!=b&&ib(a,!!c.multiple,b,!1)}};(function(a,b,c,d){me=a;fg=b;Xd=c;Sf=d})(ai,function(a,b,c,d,e){var f=n;n|=4;try{return Za(98,a.bind(null,b,c,d,e))}finally{n=f,0===n&&(Eb(),ja())}},function(){0===(n&49)&&(Jj(),Ra())},function(a,b){var c=n;n|=2;try{return a(b)}finally{n=c,0===n&&(Eb(),ja())}});var vk={Events:[Ob,pb,Hc,Qf,Rf,Ra,{current:!1}]};(function(a){a={bundleType:a.bundleType,version:a.version,rendererPackageName:a.rendererPackageName,rendererConfig:a.rendererConfig,
|
|
||||||
overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:fb.ReactCurrentDispatcher,findHostInstanceByFiber:Yj,findFiberByHostInstance:a.findFiberByHostInstance||Zj,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)a=
|
|
||||||
!1;else{var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!b.isDisabled&&b.supportsFiber)try{$e=b.inject(a),db=b}catch(c){}a=!0}return a})({findFiberByHostInstance:Wa,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"});M.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=vk;M.createPortal=hi;M.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if("function"===typeof a.render)throw Error(m(188));throw Error(m(268,Object.keys(a)));
|
|
||||||
}a=Vf(b);a=null===a?null:a.stateNode;return a};M.flushSync=function(a,b){var c=n;if(0!==(c&48))return a(b);n|=1;try{if(a)return Za(99,a.bind(null,b))}finally{n=c,ja()}};M.hydrate=function(a,b,c){if(!wc(b))throw Error(m(200));return zd(null,a,b,!0,c)};M.render=function(a,b,c){if(!wc(b))throw Error(m(200));return zd(null,a,b,!1,c)};M.unmountComponentAtNode=function(a){if(!wc(a))throw Error(m(40));return a._reactRootContainer?(bi(function(){zd(null,null,a,!1,function(){a._reactRootContainer=null;a[rb]=
|
|
||||||
null})}),!0):!1};M.unstable_batchedUpdates=ai;M.unstable_createPortal=function(a,b){return hi(a,b,2<arguments.length&&void 0!==arguments[2]?arguments[2]:null)};M.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!wc(c))throw Error(m(200));if(null==a||void 0===a._reactInternals)throw Error(m(38));return zd(a,b,c,!1,d)};M.version="17.0.2"});
|
|
||||||
})();
|
|
||||||
31
public/react.production.min.js
vendored
@@ -1,31 +0,0 @@
|
|||||||
/** @license React v17.0.2
|
|
||||||
* react.production.min.js
|
|
||||||
*
|
|
||||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
||||||
*
|
|
||||||
* This source code is licensed under the MIT license found in the
|
|
||||||
* LICENSE file in the root directory of this source tree.
|
|
||||||
*/
|
|
||||||
(function(){'use strict';(function(c,x){"object"===typeof exports&&"undefined"!==typeof module?x(exports):"function"===typeof define&&define.amd?define(["exports"],x):(c=c||self,x(c.React={}))})(this,function(c){function x(a){if(null===a||"object"!==typeof a)return null;a=Y&&a[Y]||a["@@iterator"];return"function"===typeof a?a:null}function y(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,e=1;e<arguments.length;e++)b+="&args[]="+encodeURIComponent(arguments[e]);return"Minified React error #"+
|
|
||||||
a+"; visit "+b+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function v(a,b,e){this.props=a;this.context=b;this.refs=Z;this.updater=e||aa}function ba(){}function K(a,b,e){this.props=a;this.context=b;this.refs=Z;this.updater=e||aa}function ca(a,b,e){var l,f={},c=null,da=null;if(null!=b)for(l in void 0!==b.ref&&(da=b.ref),void 0!==b.key&&(c=""+b.key),b)ea.call(b,l)&&!fa.hasOwnProperty(l)&&(f[l]=b[l]);var k=arguments.length-2;if(1===
|
|
||||||
k)f.children=e;else if(1<k){for(var h=Array(k),d=0;d<k;d++)h[d]=arguments[d+2];f.children=h}if(a&&a.defaultProps)for(l in k=a.defaultProps,k)void 0===f[l]&&(f[l]=k[l]);return{$$typeof:w,type:a,key:c,ref:da,props:f,_owner:L.current}}function va(a,b){return{$$typeof:w,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function M(a){return"object"===typeof a&&null!==a&&a.$$typeof===w}function wa(a){var b={"=":"=0",":":"=2"};return"$"+a.replace(/[=:]/g,function(a){return b[a]})}function N(a,b){return"object"===
|
|
||||||
typeof a&&null!==a&&null!=a.key?wa(""+a.key):b.toString(36)}function C(a,b,e,l,f){var c=typeof a;if("undefined"===c||"boolean"===c)a=null;var d=!1;if(null===a)d=!0;else switch(c){case "string":case "number":d=!0;break;case "object":switch(a.$$typeof){case w:case ha:d=!0}}if(d)return d=a,f=f(d),a=""===l?"."+N(d,0):l,Array.isArray(f)?(e="",null!=a&&(e=a.replace(ia,"$&/")+"/"),C(f,b,e,"",function(a){return a})):null!=f&&(M(f)&&(f=va(f,e+(!f.key||d&&d.key===f.key?"":(""+f.key).replace(ia,"$&/")+"/")+
|
|
||||||
a)),b.push(f)),1;d=0;l=""===l?".":l+":";if(Array.isArray(a))for(var k=0;k<a.length;k++){c=a[k];var h=l+N(c,k);d+=C(c,b,e,h,f)}else if(h=x(a),"function"===typeof h)for(a=h.call(a),k=0;!(c=a.next()).done;)c=c.value,h=l+N(c,k++),d+=C(c,b,e,h,f);else if("object"===c)throw b=""+a,Error(y(31,"[object Object]"===b?"object with keys {"+Object.keys(a).join(", ")+"}":b));return d}function D(a,b,e){if(null==a)return a;var l=[],c=0;C(a,l,"","",function(a){return b.call(e,a,c++)});return l}function xa(a){if(-1===
|
|
||||||
a._status){var b=a._result;b=b();a._status=0;a._result=b;b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)})}if(1===a._status)return a._result;throw a._result;}function n(){var a=ja.current;if(null===a)throw Error(y(321));return a}function O(a,b){var e=a.length;a.push(b);a:for(;;){var c=e-1>>>1,f=a[c];if(void 0!==f&&0<E(f,b))a[c]=b,a[e]=f,e=c;else break a}}function p(a){a=a[0];return void 0===a?null:a}function F(a){var b=
|
|
||||||
a[0];if(void 0!==b){var e=a.pop();if(e!==b){a[0]=e;a:for(var c=0,f=a.length;c<f;){var d=2*(c+1)-1,g=a[d],k=d+1,h=a[k];if(void 0!==g&&0>E(g,e))void 0!==h&&0>E(h,g)?(a[c]=h,a[k]=e,c=k):(a[c]=g,a[d]=e,c=d);else if(void 0!==h&&0>E(h,e))a[c]=h,a[k]=e,c=k;else break a}}return b}return null}function E(a,b){var e=a.sortIndex-b.sortIndex;return 0!==e?e:a.id-b.id}function P(a){for(var b=p(r);null!==b;){if(null===b.callback)F(r);else if(b.startTime<=a)F(r),b.sortIndex=b.expirationTime,O(q,b);else break;b=p(r)}}
|
|
||||||
function Q(a){z=!1;P(a);if(!u)if(null!==p(q))u=!0,A(R);else{var b=p(r);null!==b&&G(Q,b.startTime-a)}}function R(a,b){u=!1;z&&(z=!1,S());H=!0;var e=g;try{P(b);for(m=p(q);null!==m&&(!(m.expirationTime>b)||a&&!T());){var c=m.callback;if("function"===typeof c){m.callback=null;g=m.priorityLevel;var f=c(m.expirationTime<=b);b=t();"function"===typeof f?m.callback=f:m===p(q)&&F(q);P(b)}else F(q);m=p(q)}if(null!==m)var d=!0;else{var n=p(r);null!==n&&G(Q,n.startTime-b);d=!1}return d}finally{m=null,g=e,H=!1}}
|
|
||||||
var w=60103,ha=60106;c.Fragment=60107;c.StrictMode=60108;c.Profiler=60114;var ka=60109,la=60110,ma=60112;c.Suspense=60113;var na=60115,oa=60116;if("function"===typeof Symbol&&Symbol.for){var d=Symbol.for;w=d("react.element");ha=d("react.portal");c.Fragment=d("react.fragment");c.StrictMode=d("react.strict_mode");c.Profiler=d("react.profiler");ka=d("react.provider");la=d("react.context");ma=d("react.forward_ref");c.Suspense=d("react.suspense");na=d("react.memo");oa=d("react.lazy")}var Y="function"===
|
|
||||||
typeof Symbol&&Symbol.iterator,ya=Object.prototype.hasOwnProperty,U=Object.assign||function(a,b){if(null==a)throw new TypeError("Object.assign target cannot be null or undefined");for(var e=Object(a),c=1;c<arguments.length;c++){var d=arguments[c];if(null!=d){var g=void 0;d=Object(d);for(g in d)ya.call(d,g)&&(e[g]=d[g])}}return e},aa={isMounted:function(a){return!1},enqueueForceUpdate:function(a,b,c){},enqueueReplaceState:function(a,b,c,d){},enqueueSetState:function(a,b,c,d){}},Z={};v.prototype.isReactComponent=
|
|
||||||
{};v.prototype.setState=function(a,b){if("object"!==typeof a&&"function"!==typeof a&&null!=a)throw Error(y(85));this.updater.enqueueSetState(this,a,b,"setState")};v.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};ba.prototype=v.prototype;d=K.prototype=new ba;d.constructor=K;U(d,v.prototype);d.isPureReactComponent=!0;var L={current:null},ea=Object.prototype.hasOwnProperty,fa={key:!0,ref:!0,__self:!0,__source:!0},ia=/\/+/g,ja={current:null},V;if("object"===typeof performance&&
|
|
||||||
"function"===typeof performance.now){var za=performance;var t=function(){return za.now()}}else{var pa=Date,Aa=pa.now();t=function(){return pa.now()-Aa}}if("undefined"===typeof window||"function"!==typeof MessageChannel){var B=null,qa=null,ra=function(){if(null!==B)try{var a=t();B(!0,a);B=null}catch(b){throw setTimeout(ra,0),b;}};var A=function(a){null!==B?setTimeout(A,0,a):(B=a,setTimeout(ra,0))};var G=function(a,b){qa=setTimeout(a,b)};var S=function(){clearTimeout(qa)};var T=function(){return!1};
|
|
||||||
d=V=function(){}}else{var Ba=window.setTimeout,Ca=window.clearTimeout;"undefined"!==typeof console&&(d=window.cancelAnimationFrame,"function"!==typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!==typeof d&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"));
|
|
||||||
var I=!1,J=null,W=-1,sa=5,ta=0;T=function(){return t()>=ta};d=function(){};V=function(a){0>a||125<a?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):sa=0<a?Math.floor(1E3/a):5};var ua=new MessageChannel,X=ua.port2;ua.port1.onmessage=function(){if(null!==J){var a=t();ta=a+sa;try{J(!0,a)?X.postMessage(null):(I=!1,J=null)}catch(b){throw X.postMessage(null),b;}}else I=!1};A=function(a){J=a;I||(I=!0,X.postMessage(null))};G=
|
|
||||||
function(a,b){W=Ba(function(){a(t())},b)};S=function(){Ca(W);W=-1}}var q=[],r=[],Da=1,m=null,g=3,H=!1,u=!1,z=!1,Ea=0;d={ReactCurrentDispatcher:ja,ReactCurrentOwner:L,IsSomeRendererActing:{current:!1},ReactCurrentBatchConfig:{transition:0},assign:U,Scheduler:{__proto__:null,unstable_ImmediatePriority:1,unstable_UserBlockingPriority:2,unstable_NormalPriority:3,unstable_IdlePriority:5,unstable_LowPriority:4,unstable_runWithPriority:function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=
|
|
||||||
3}var c=g;g=a;try{return b()}finally{g=c}},unstable_next:function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g;g=b;try{return a()}finally{g=c}},unstable_scheduleCallback:function(a,b,c){var d=t();"object"===typeof c&&null!==c?(c=c.delay,c="number"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:Da++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=
|
|
||||||
c,O(r,a),null===p(q)&&a===p(r)&&(z?S():z=!0,G(Q,c-d))):(a.sortIndex=e,O(q,a),u||H||(u=!0,A(R)));return a},unstable_cancelCallback:function(a){a.callback=null},unstable_wrapCallback:function(a){var b=g;return function(){var c=g;g=b;try{return a.apply(this,arguments)}finally{g=c}}},unstable_getCurrentPriorityLevel:function(){return g},get unstable_shouldYield(){return T},unstable_requestPaint:d,unstable_continueExecution:function(){u||H||(u=!0,A(R))},unstable_pauseExecution:function(){},unstable_getFirstCallbackNode:function(){return p(q)},
|
|
||||||
get unstable_now(){return t},get unstable_forceFrameRate(){return V},unstable_Profiling:null},SchedulerTracing:{__proto__:null,__interactionsRef:null,__subscriberRef:null,unstable_clear:function(a){return a()},unstable_getCurrent:function(){return null},unstable_getThreadID:function(){return++Ea},unstable_trace:function(a,b,c){return c()},unstable_wrap:function(a){return a},unstable_subscribe:function(a){},unstable_unsubscribe:function(a){}}};c.Children={map:D,forEach:function(a,b,c){D(a,function(){b.apply(this,
|
|
||||||
arguments)},c)},count:function(a){var b=0;D(a,function(){b++});return b},toArray:function(a){return D(a,function(a){return a})||[]},only:function(a){if(!M(a))throw Error(y(143));return a}};c.Component=v;c.PureComponent=K;c.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=d;c.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error(y(267,a));var d=U({},a.props),e=a.key,g=a.ref,n=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,n=L.current);void 0!==b.key&&(e=""+b.key);if(a.type&&a.type.defaultProps)var k=
|
|
||||||
a.type.defaultProps;for(h in b)ea.call(b,h)&&!fa.hasOwnProperty(h)&&(d[h]=void 0===b[h]&&void 0!==k?k[h]:b[h])}var h=arguments.length-2;if(1===h)d.children=c;else if(1<h){k=Array(h);for(var m=0;m<h;m++)k[m]=arguments[m+2];d.children=k}return{$$typeof:w,type:a.type,key:e,ref:g,props:d,_owner:n}};c.createContext=function(a,b){void 0===b&&(b=null);a={$$typeof:la,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null};a.Provider={$$typeof:ka,_context:a};return a.Consumer=
|
|
||||||
a};c.createElement=ca;c.createFactory=function(a){var b=ca.bind(null,a);b.type=a;return b};c.createRef=function(){return{current:null}};c.forwardRef=function(a){return{$$typeof:ma,render:a}};c.isValidElement=M;c.lazy=function(a){return{$$typeof:oa,_payload:{_status:-1,_result:a},_init:xa}};c.memo=function(a,b){return{$$typeof:na,type:a,compare:void 0===b?null:b}};c.useCallback=function(a,b){return n().useCallback(a,b)};c.useContext=function(a,b){return n().useContext(a,b)};c.useDebugValue=function(a,
|
|
||||||
b){};c.useEffect=function(a,b){return n().useEffect(a,b)};c.useImperativeHandle=function(a,b,c){return n().useImperativeHandle(a,b,c)};c.useLayoutEffect=function(a,b){return n().useLayoutEffect(a,b)};c.useMemo=function(a,b){return n().useMemo(a,b)};c.useReducer=function(a,b,c){return n().useReducer(a,b,c)};c.useRef=function(a){return n().useRef(a)};c.useState=function(a){return n().useState(a)};c.version="17.0.2"});
|
|
||||||
})();
|
|
||||||
|
Before Width: | Height: | Size: 1.0 MiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 433 B |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 540 B |
|
Before Width: | Height: | Size: 607 B |
|
Before Width: | Height: | Size: 563 B |
|
Before Width: | Height: | Size: 372 B |
|
Before Width: | Height: | Size: 701 B |
|
Before Width: | Height: | Size: 404 B |
|
Before Width: | Height: | Size: 714 B |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
18
src/components/BlueCard/index.jsx
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
import Flex from "@/components/Flex";
|
||||||
|
import less from "./index.less";
|
||||||
|
import Common from "@/utils/Common";
|
||||||
|
|
||||||
|
|
||||||
|
const BlueCard = ({title, onFullClick, children, ...restProps}) => {
|
||||||
|
|
||||||
|
return <Flex {...restProps} className={less.card} direction={"column"}>
|
||||||
|
{!Common.isEmpty(title) && <Flex className={less.title} alignItems={"center"}>
|
||||||
|
<Flex itemGrow={1} style={{width: 0}}>{title}</Flex>
|
||||||
|
{onFullClick && <img alt={""} src={"./imgs/full_screen.png"} onClick={onFullClick}/>}
|
||||||
|
</Flex>}
|
||||||
|
|
||||||
|
{children}
|
||||||
|
</Flex>
|
||||||
|
};
|
||||||
|
|
||||||
|
export default BlueCard;
|
||||||
18
src/components/BlueCard/index.less
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
.card {
|
||||||
|
background: rgba(#01396C, 0.7);
|
||||||
|
padding: 8px;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: white;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 14px;
|
||||||
|
height: 14px;
|
||||||
|
margin-left: 14px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
165
src/components/CampusData/index.jsx
Normal file
@@ -0,0 +1,165 @@
|
|||||||
|
import Flex from "@/components/Flex";
|
||||||
|
import less from "./index.less"
|
||||||
|
import BlueCard from "@/components/BlueCard";
|
||||||
|
import {ScrollBoard} from "@jiaminghi/data-view-react";
|
||||||
|
import {Area} from "@ant-design/plots";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校门实时车流量
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
const Xmsscl = () => {
|
||||||
|
|
||||||
|
let rowNum = 3;
|
||||||
|
|
||||||
|
let config = {
|
||||||
|
header: ["校门", "进校车辆", "出校车辆"],
|
||||||
|
headerBGC: "transparent",
|
||||||
|
headerHeight: 24,
|
||||||
|
data: [
|
||||||
|
["东门", "200", "100"],
|
||||||
|
["东门", "200", "100"],
|
||||||
|
["东门", "200", "100"],
|
||||||
|
["东门", "200", "100"],
|
||||||
|
["东门", "200", "100"],
|
||||||
|
["东门", "200", "100"],
|
||||||
|
],
|
||||||
|
oddRowBGC: "rgba(0, 0, 0, 0.25)",
|
||||||
|
evenRowBGC: "transparent",
|
||||||
|
|
||||||
|
align: ["left", "center", "center"],
|
||||||
|
columnWidth: [100],
|
||||||
|
rowNum,
|
||||||
|
}
|
||||||
|
|
||||||
|
return <ScrollBoard className={"scrollBoard"} config={config} style={{width: "100%", height: rowNum * 32 + 24}}/>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出入车辆信息
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
export const InOutVehicleInfo = ({rowNum = 3, ...restProps}) => {
|
||||||
|
|
||||||
|
let config = {
|
||||||
|
header: ["车牌号", "状态", "时间"],
|
||||||
|
headerBGC: "transparent",
|
||||||
|
headerHeight: 24,
|
||||||
|
data: [
|
||||||
|
["浙A627NJ", "进校", "2022-05-29 12:11"],
|
||||||
|
["浙A627NJ", "出校", "2022-05-29 15:32"],
|
||||||
|
["浙A627NJJ", "进校", "2022-06-03 09:34"],
|
||||||
|
["浙A627NJJ", "出校", "2022-06-03 11:01"],
|
||||||
|
["浙A627NJ", "进校", "2022-05-29 12:11"],
|
||||||
|
["浙A627NJ", "出校", "2022-05-29 15:32"],
|
||||||
|
["浙A627NJJ", "进校", "2022-06-03 09:34"],
|
||||||
|
["浙A627NJJ", "出校", "2022-06-03 11:01"],
|
||||||
|
],
|
||||||
|
oddRowBGC: "rgba(0, 0, 0, 0.25)",
|
||||||
|
evenRowBGC: "transparent",
|
||||||
|
|
||||||
|
align: ["left", "center", "left"],
|
||||||
|
columnWidth: [80, 56],
|
||||||
|
rowNum,
|
||||||
|
|
||||||
|
...restProps,
|
||||||
|
}
|
||||||
|
|
||||||
|
return <ScrollBoard className={"scrollBoard"} config={config} style={{width: "100%", height: rowNum * 32 + 24}}/>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车辆走势图配置
|
||||||
|
* @type {{}}
|
||||||
|
*/
|
||||||
|
export const VehicleArea = ({...restProps}) => {
|
||||||
|
let config = {
|
||||||
|
data: [
|
||||||
|
{"type": "进校", date: "08:00", value: 100},
|
||||||
|
{"type": "进校", date: "09:00", value: 140},
|
||||||
|
{"type": "进校", date: "10:00", value: 90},
|
||||||
|
{"type": "进校", date: "11:00", value: 10},
|
||||||
|
{"type": "进校", date: "12:00", value: 130},
|
||||||
|
|
||||||
|
{"type": "出校", date: "08:00", value: 10},
|
||||||
|
{"type": "出校", date: "09:00", value: 40},
|
||||||
|
{"type": "出校", date: "10:00", value: 30},
|
||||||
|
{"type": "出校", date: "11:00", value: 110},
|
||||||
|
{"type": "出校", date: "12:00", value: 60},
|
||||||
|
],
|
||||||
|
xField: "date",
|
||||||
|
yField: "value",
|
||||||
|
seriesField: "type",
|
||||||
|
autoFit: true,
|
||||||
|
padding: [40, 0, 50, 30],
|
||||||
|
color: ["#40A4FF", "#B8C527"],
|
||||||
|
theme: {
|
||||||
|
components: {
|
||||||
|
axis: {common: {label: {style: {fill: "white", fontSize: 11}}}},
|
||||||
|
legend: {common: {itemName: {style: {fill: "white", fontSize: 11}}}},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
...restProps,
|
||||||
|
}
|
||||||
|
|
||||||
|
return <Area style={{width: "100%", height: "100%"}} {...config}/>
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校区数据
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
const CampusData = ({title, onCllClick, onInoutClick, ...restProps}) => {
|
||||||
|
|
||||||
|
|
||||||
|
return <Flex {...restProps} direction={"column"} className={less.data}>
|
||||||
|
|
||||||
|
<Flex className={less.campus} justify={"center"}>
|
||||||
|
<img alt={""} src={"./imgs/campus_title.png"}/>
|
||||||
|
<Flex>{title}</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<BlueCard title={"实时车流量"}>
|
||||||
|
<Flex className={less.sscll}>
|
||||||
|
<Flex
|
||||||
|
className={less.inCampus} itemGrow={1} direction={"column"}
|
||||||
|
style={{width: 0, marginRight: 6}} alignItems={"center"} justify={"center"}
|
||||||
|
>
|
||||||
|
<Flex className={less.number}>200</Flex>
|
||||||
|
<Flex>进校车辆</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<Flex
|
||||||
|
className={less.outCampus} itemGrow={1} direction={"column"}
|
||||||
|
style={{width: 0, marginLeft: 6}} alignItems={"center"} justify={"center"}
|
||||||
|
>
|
||||||
|
<Flex className={less.number}>127</Flex>
|
||||||
|
<Flex>出校车辆</Flex>
|
||||||
|
</Flex>
|
||||||
|
</Flex>
|
||||||
|
</BlueCard>
|
||||||
|
|
||||||
|
<BlueCard title={"各校门实时车流量"} style={{marginTop: 6}}>
|
||||||
|
<Xmsscl/>
|
||||||
|
</BlueCard>
|
||||||
|
|
||||||
|
<BlueCard
|
||||||
|
title={"车流量走势图"} style={{marginTop: 6, height: 0}} itemGrow={1}
|
||||||
|
onFullClick={onCllClick}
|
||||||
|
>
|
||||||
|
<VehicleArea/>
|
||||||
|
</BlueCard>
|
||||||
|
|
||||||
|
<BlueCard
|
||||||
|
title={"进出校车辆消息记录"} style={{margin: "6px 0"}}
|
||||||
|
onFullClick={onInoutClick}
|
||||||
|
>
|
||||||
|
<InOutVehicleInfo/>
|
||||||
|
</BlueCard>
|
||||||
|
|
||||||
|
</Flex>
|
||||||
|
}
|
||||||
|
|
||||||
|
export default CampusData;
|
||||||
43
src/components/CampusData/index.less
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
.data {
|
||||||
|
}
|
||||||
|
|
||||||
|
.campus {
|
||||||
|
font-size: 16px;
|
||||||
|
color: white;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 6px 0;
|
||||||
|
height: 33px;
|
||||||
|
line-height: 33px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.sscll {
|
||||||
|
|
||||||
|
.inCampus {
|
||||||
|
background: rgba(50, 197, 255, 0.7);
|
||||||
|
border-radius: 1px;
|
||||||
|
height: 60px;
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
.number {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.outCampus {
|
||||||
|
.inCampus;
|
||||||
|
background: rgba(162, 180, 253, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -1,380 +0,0 @@
|
|||||||
import style from "./index.less";
|
|
||||||
import {ScrollBoard} from "@jiaminghi/data-view-react";
|
|
||||||
import {forwardRef, useEffect, useImperativeHandle, useState} from "react";
|
|
||||||
import modalApi from "@/https/apis/modalApi";
|
|
||||||
import rightPageApi from "@/https/apis/rightPageApi";
|
|
||||||
import {ConfigProvider} from 'antd';
|
|
||||||
import zh_CN from 'antd/es/locale/zh_CN';
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import DatePicker from "@/components/DatePicker/index";
|
|
||||||
const {RangePicker} = DatePicker;
|
|
||||||
const CarModalPage = ({}, ref) => {
|
|
||||||
|
|
||||||
|
|
||||||
const [visible, setVisible] = useState(false);
|
|
||||||
const [carVisible, setCarVisible] = useState(true)
|
|
||||||
const [illegalTypeList, setIllegalTypeList] = useState([])
|
|
||||||
//轮播表
|
|
||||||
const [illegalList, setIllegalList] = useState([])
|
|
||||||
const [illegalLists, setIllegalLists] = useState([])
|
|
||||||
//图片列表
|
|
||||||
const [imgList, setImgList] = useState([])
|
|
||||||
//详情弹框的显示
|
|
||||||
const [detailVisible, setDetailVisible] = useState(false);
|
|
||||||
//查询参数
|
|
||||||
const [illegalParams, setIllegalParams] = useState({
|
|
||||||
vehicleTypeId: "", ruleId: ""
|
|
||||||
})
|
|
||||||
//违规的学院
|
|
||||||
const [collegeList, setCollegeList] = useState([])
|
|
||||||
const [searchText, setSearchText] = useState('')
|
|
||||||
const [configDetails, setConfigDetails] = useState({})
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
carTypeList()
|
|
||||||
getCollegeList()
|
|
||||||
whereClick()
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
console.log(illegalParams)
|
|
||||||
getIllegalList(illegalParams)
|
|
||||||
getIllegalType(illegalParams.vehicleTypeId)
|
|
||||||
}, [illegalParams])
|
|
||||||
|
|
||||||
|
|
||||||
useImperativeHandle(ref, () => ({
|
|
||||||
showModal
|
|
||||||
}))
|
|
||||||
|
|
||||||
///////////////////////////////////// 逻辑方法
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 显示弹窗
|
|
||||||
*/
|
|
||||||
const showModal = (params, date) => {
|
|
||||||
setVisible(true);
|
|
||||||
whereClick(params, date);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 判断从哪里点
|
|
||||||
* @param params
|
|
||||||
* @param date
|
|
||||||
*/
|
|
||||||
const whereClick = (params, date) => {
|
|
||||||
setCarVisible(true)
|
|
||||||
date = dayjs()
|
|
||||||
let tempDate = {
|
|
||||||
startTime: dayjs(),
|
|
||||||
endTime: dayjs()
|
|
||||||
}
|
|
||||||
//圆饼图
|
|
||||||
if (params?.illegalType) {
|
|
||||||
setIllegalParams({
|
|
||||||
...params,
|
|
||||||
ruleId: params.id,
|
|
||||||
startTime: tempDate.startTime.add(-7, 'day').format('YYYY-MM-DD'),
|
|
||||||
endTime: tempDate.endTime.format('YYYY-MM-DD')
|
|
||||||
})
|
|
||||||
return
|
|
||||||
}
|
|
||||||
//柱状图
|
|
||||||
if (params?.type) {
|
|
||||||
setIllegalParams({...params, startTime: '2022-' + params.type, endTime: '2022-' + params.type})
|
|
||||||
}
|
|
||||||
//横向图
|
|
||||||
if (params?.collegeNo) {
|
|
||||||
setIllegalParams({
|
|
||||||
...params,
|
|
||||||
no: params.collegeNo,
|
|
||||||
startTime: date.format('YYYY-MM') + '-01',
|
|
||||||
endTime: date.add(1, 'month').format('YYYY-MM') + '-01'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
if (params?.detail) {
|
|
||||||
console.log(params)
|
|
||||||
setDetailVisible(true)
|
|
||||||
setCarVisible(false)
|
|
||||||
let tempData = {
|
|
||||||
headerHeight: 50,
|
|
||||||
headerBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
oddRowBGC: 'rgba(0,0,0,0)',
|
|
||||||
evenRowBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
columnWidth: [150, 145, 155, 155, 50],
|
|
||||||
index: true,
|
|
||||||
align: ["center"],
|
|
||||||
rowNum: 1,
|
|
||||||
header: [
|
|
||||||
"<span style='color: #BDFF79;'>车牌号</span>",
|
|
||||||
"<span style='color: #BDFF79;'>车主</span>",
|
|
||||||
"<span style='color: #BDFF79;'>执行人</span>",
|
|
||||||
"<span style='color: #BDFF79;'>扣分</span>",
|
|
||||||
],
|
|
||||||
data: [
|
|
||||||
[
|
|
||||||
params.name.row[0],
|
|
||||||
params.name.row[3]?.replace(/<[^>]*>/g, ""),
|
|
||||||
params.name.row[4]?.replace(/<[^>]*>/g, ""),
|
|
||||||
params.name.row[2],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
}
|
|
||||||
setConfigDetails(tempData)
|
|
||||||
setImgList([
|
|
||||||
params.name.row[5]?.replace(/<[^>]*>/g, ""),
|
|
||||||
])
|
|
||||||
}
|
|
||||||
//车辆类型
|
|
||||||
if (params?.vehicleTypeId) {
|
|
||||||
setIllegalParams({...params})
|
|
||||||
}
|
|
||||||
//日期
|
|
||||||
if (params?.title === '今日') {
|
|
||||||
tempDate.startTime = tempDate.startTime.format('YYYY-MM-DD')
|
|
||||||
tempDate.endTime = tempDate.startTime
|
|
||||||
setIllegalParams({...params, startTime: tempDate.startTime, endTime: tempDate.endTime})
|
|
||||||
} else if (params?.title === '昨日') {
|
|
||||||
tempDate.startTime = tempDate.startTime.add(-1, 'day').format('YYYY-MM-DD')
|
|
||||||
tempDate.endTime = tempDate.startTime
|
|
||||||
setIllegalParams({...params, startTime: tempDate.startTime, endTime: tempDate.endTime})
|
|
||||||
} else if (params?.title === '上月') {
|
|
||||||
tempDate.startTime = tempDate.startTime.add(-1, 'month').format('YYYY-MM') + '-01'
|
|
||||||
tempDate.endTime = tempDate.endTime.format('YYYY-MM') + '-01'
|
|
||||||
setIllegalParams({...params, startTime: tempDate.startTime, endTime: tempDate.endTime})
|
|
||||||
} else if (params?.title === '本月') {
|
|
||||||
tempDate.startTime = tempDate.startTime.format('YYYY-MM') + '-01'
|
|
||||||
tempDate.endTime = tempDate.endTime.add(1, 'month').format('YYYY-MM') + '-01'
|
|
||||||
setIllegalParams({...params, startTime: tempDate.startTime, endTime: tempDate.endTime})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const getIllegalList = () => {
|
|
||||||
modalApi.illegalList({
|
|
||||||
...illegalParams,
|
|
||||||
keyword: searchText,
|
|
||||||
startTime: illegalParams?.startTime,
|
|
||||||
endTime: illegalParams?.endTime
|
|
||||||
}).then(res => {
|
|
||||||
if (res.code === 200) {
|
|
||||||
setIllegalList(res.data.map(it => {
|
|
||||||
return [
|
|
||||||
`<span>${it.vehicleType}</span>`,
|
|
||||||
`<span style='margin-right:50px'>${it.plateNo}</span>`,
|
|
||||||
`<span>   ${it.ruleName}</span>`,
|
|
||||||
`<span>   ${"  " + it.score}</span>`,
|
|
||||||
`<span style='display:none'>${it.userName}</span>`,
|
|
||||||
`<span style='display:none'>${it.reportUserName}</span>`,
|
|
||||||
`<span style='display:none'>${it.imgs}</span>`,
|
|
||||||
]
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 点击获取详情
|
|
||||||
* @param val
|
|
||||||
*/
|
|
||||||
const detailClick = (val) => {
|
|
||||||
console.log(val)
|
|
||||||
setDetailVisible(true)
|
|
||||||
let tempData = {
|
|
||||||
...config, data: [
|
|
||||||
[
|
|
||||||
val.row[2],
|
|
||||||
val.row[5]?.replace(/<[^>]*>/g, ""),
|
|
||||||
val.row[6]?.replace(/<[^>]*>/g, ""),
|
|
||||||
val.row[4],
|
|
||||||
],
|
|
||||||
],
|
|
||||||
rowNum: 1,
|
|
||||||
header: [
|
|
||||||
"<span style='color: #BDFF79;'>车牌号</span>",
|
|
||||||
"<span style='color: #BDFF79;'>车主</span>",
|
|
||||||
"<span style='color: #BDFF79;'>执行人</span>",
|
|
||||||
"<span style='color: #BDFF79;'>扣分</span>",
|
|
||||||
],
|
|
||||||
}
|
|
||||||
setImgList([
|
|
||||||
val.row[7]?.replace(/<[^>]*>/g, ""),
|
|
||||||
val?.row[8]?.replace(/<[^>]*>/g, ""),
|
|
||||||
])
|
|
||||||
setConfigDetails(tempData)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 车辆类型列表
|
|
||||||
* @param key
|
|
||||||
*/
|
|
||||||
const carTypeList = (key) => {
|
|
||||||
modalApi.carTypeList(key).then(res => {
|
|
||||||
if (res.code === 200) {
|
|
||||||
setIllegalTypeList(res.data.map(it => {
|
|
||||||
return {
|
|
||||||
name: it.name,
|
|
||||||
value: it.id,
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 违规类型列表
|
|
||||||
* @param key
|
|
||||||
*/
|
|
||||||
const getIllegalType = (key) => {
|
|
||||||
modalApi.illegalTypeList(key).then(res => {
|
|
||||||
if (res.code === 200) {
|
|
||||||
setIllegalLists(res.data.map(it => {
|
|
||||||
return {
|
|
||||||
name: it.name,
|
|
||||||
value: it.id,
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const getCollegeList = () => {
|
|
||||||
rightPageApi.collegeCount('2022-03-01').then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setCollegeList(res.data.map(it => {
|
|
||||||
return {
|
|
||||||
name: it.collegeName,
|
|
||||||
value: it.collegeNo,
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////// 页面渲染
|
|
||||||
|
|
||||||
if (!visible) {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
let config = {
|
|
||||||
rowNum: 6, //表格行数
|
|
||||||
headerHeight: 50,
|
|
||||||
headerBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
oddRowBGC: 'rgba(0,0,0,0)',
|
|
||||||
evenRowBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
columnWidth: [150, 145, 155, 155, 50],
|
|
||||||
index: true,
|
|
||||||
align: ["center"],
|
|
||||||
header: [
|
|
||||||
"<span style='color: #BDFF79;'>车型</span>",
|
|
||||||
"<span style='color: #BDFF79;'>车牌</span>",
|
|
||||||
"<span style='color: #BDFF79;'>违规</span>",
|
|
||||||
"<span style='color: #BDFF79;'>扣分</span>",
|
|
||||||
],
|
|
||||||
data: illegalList,
|
|
||||||
}
|
|
||||||
//
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
{/*搜索弹框*/}
|
|
||||||
{carVisible &&
|
|
||||||
<div className={style.modal_box}>
|
|
||||||
<div className={style.modal_title}>
|
|
||||||
<span className={style.title_box}>车辆违规-查询</span>
|
|
||||||
<span style={{position: 'absolute', right: 10, cursor: 'pointer'}}
|
|
||||||
onClick={() => {
|
|
||||||
setIllegalParams({})
|
|
||||||
setVisible(false)
|
|
||||||
}}>×</span>
|
|
||||||
</div>
|
|
||||||
<div className={style.modal_body}>
|
|
||||||
<select className={style.text} type="text" id="carType" value={illegalParams.vehicleTypeId}
|
|
||||||
onChange={(e) =>
|
|
||||||
setIllegalParams({...illegalParams, vehicleTypeId: e.target.value})}>
|
|
||||||
<option value="" style={{display: 'none'}}>违规车型</option>
|
|
||||||
{illegalTypeList.map(it => {
|
|
||||||
return (<option key={it.value} value={it.value}>{it.name}</option>)
|
|
||||||
})}
|
|
||||||
</select>
|
|
||||||
<img src={require("@/assets/chain.png")} alt=""/>
|
|
||||||
<select className={style.text} value={illegalParams.ruleId}
|
|
||||||
onChange={(e) =>
|
|
||||||
setIllegalParams({...illegalParams, ruleId: e.target.value})}
|
|
||||||
>
|
|
||||||
<option value="" style={{display: 'none'}}>违规类型</option>
|
|
||||||
{illegalLists.map(it => {
|
|
||||||
return (<option key={it.value} value={it.value}>{it.name}</option>)
|
|
||||||
})}
|
|
||||||
</select>
|
|
||||||
<img src={require("@/assets/chain.png")} alt=""/>
|
|
||||||
|
|
||||||
<input className={style.text} placeholder="输入车牌" type="search"
|
|
||||||
onChange={e => setSearchText(e.target.value)}/>
|
|
||||||
<div className={style.search_btn}>
|
|
||||||
<img style={{position: "absolute", left: '25%', top: '25%', width: 25, height: 25}}
|
|
||||||
src={require("@/assets/searchWhite.png")} onClick={() => getIllegalList()}/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div className={style.modal_body} style={{height: '5%', marginBottom: 20}}>
|
|
||||||
<img src={require("@/assets/chain.png")} alt=""/>
|
|
||||||
|
|
||||||
<ConfigProvider locale={zh_CN}>
|
|
||||||
<RangePicker className={style.dataPicker} locale={zh_CN} allowClear={false} onChange={(e) => {
|
|
||||||
setIllegalParams({
|
|
||||||
...illegalParams,
|
|
||||||
startTime: e[0].format('YYYY-MM-DD'),
|
|
||||||
endTime: e[1].format('YYYY-MM-DD'),
|
|
||||||
})
|
|
||||||
}}
|
|
||||||
value={[illegalParams.startTime ? dayjs(illegalParams.startTime) : '', illegalParams.endTime ? dayjs(illegalParams.endTime) : '']}
|
|
||||||
/>
|
|
||||||
</ConfigProvider>
|
|
||||||
<img src={require("@/assets/chain.png")} alt=""/>
|
|
||||||
|
|
||||||
<select className={style.text} style={{width: '34%'}} id="carType" value={illegalParams.no}
|
|
||||||
onChange={(e) =>
|
|
||||||
setIllegalParams({...illegalParams, no: e.target.value})}>
|
|
||||||
<option value="" style={{display: 'none'}}>违规学院</option>
|
|
||||||
{collegeList.map(it => {
|
|
||||||
return (<option key={it.value} value={it.value}>{it.name}</option>)
|
|
||||||
})}
|
|
||||||
</select>
|
|
||||||
<img src={require("@/assets/chain.png")} alt=""/>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
{/* 轮播表 */}
|
|
||||||
{illegalList && <div style={{cursor: 'pointer'}}>
|
|
||||||
<ScrollBoard onClick={(e) => detailClick(e)} config={config} style={{width: '100%', height: '300px'}}/>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
{/* 详情弹框 */}
|
|
||||||
{
|
|
||||||
detailVisible &&
|
|
||||||
<div className={style.modal_box} style={{width: 769, height: 420}}>
|
|
||||||
<div className={style.modal_title}>
|
|
||||||
<span className={style.title_box}>车辆违规-详情</span>
|
|
||||||
<span style={{position: 'absolute', right: 10, cursor: 'pointer'}}
|
|
||||||
onClick={() => setDetailVisible(false)}>×</span>
|
|
||||||
</div>
|
|
||||||
<div className={style.middleDetails}>
|
|
||||||
{imgList[0] && <div className={style.pic}>
|
|
||||||
<img src={imgList[0]} alt="" style={{width: '100%', height: '100%'}}/>
|
|
||||||
</div>}
|
|
||||||
{imgList[1] &&
|
|
||||||
<div className={style.pic}>
|
|
||||||
<img src={imgList[1]} alt="" style={{width: '100%', height: '100%'}}/>
|
|
||||||
</div>}
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<ScrollBoard config={configDetails} style={{height: 100}}/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default forwardRef(CarModalPage)
|
|
||||||
@@ -1,118 +0,0 @@
|
|||||||
|
|
||||||
.modal_box {
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
transform: translate(-50%, -75%);
|
|
||||||
width: 769px;
|
|
||||||
height: 500px;
|
|
||||||
background: rgba(0, 0, 0, 0.1);
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border: 2px solid #10FDF2;
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
|
|
||||||
.dataPicker {
|
|
||||||
height: 45px;
|
|
||||||
width: 40%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border-radius: 22px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #FFFFFF;
|
|
||||||
line-height: 20px;
|
|
||||||
text-align: center;
|
|
||||||
padding-left: 15px;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal_title {
|
|
||||||
line-height: 36px;
|
|
||||||
font-size: 20px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #FFFFFF;
|
|
||||||
text-align: center;
|
|
||||||
//text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
//background: linear-gradient(180deg, #10FDF2 0%, rgba(16, 253, 242, 0.5) 100%);
|
|
||||||
//box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.25);
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal_body {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
height: 24%;
|
|
||||||
color: #40a9ff;
|
|
||||||
//background-color: #40a9ff;
|
|
||||||
|
|
||||||
.text {
|
|
||||||
height: 45px;
|
|
||||||
width: 25%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border-radius: 22px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #D5D8E2;
|
|
||||||
line-height: 20px;
|
|
||||||
text-align: center;
|
|
||||||
padding-left: 10px;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.title_box {
|
|
||||||
display: block;
|
|
||||||
font-size: 20px;
|
|
||||||
background-color: #10FDF2;
|
|
||||||
padding: 0 8px 5px 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_btn {
|
|
||||||
position: absolute;
|
|
||||||
right: 10px;
|
|
||||||
width: 43px;
|
|
||||||
height: 43px;
|
|
||||||
border-radius: 50%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
cursor: pointer;
|
|
||||||
background: #14FDF7;
|
|
||||||
}
|
|
||||||
|
|
||||||
option {
|
|
||||||
font-size: 14px;
|
|
||||||
// background: rgba(47, 253, 239, 0.1);
|
|
||||||
background-color: rgb(0, 52, 73);
|
|
||||||
color: #D5D8E2;
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
border: 2px solid #24A7A4;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.middleDetails {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
height: 68%;
|
|
||||||
|
|
||||||
.pic {
|
|
||||||
width: 45%;
|
|
||||||
height: 200px;
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
import { Dayjs } from 'dayjs';
|
|
||||||
import dayjsGenerateConfig from 'rc-picker/es/generate/dayjs';
|
|
||||||
import generatePicker from 'antd/es/date-picker/generatePicker';
|
|
||||||
import 'antd/es/date-picker/style/index';
|
|
||||||
|
|
||||||
const DatePicker = generatePicker<Dayjs>(dayjsGenerateConfig);
|
|
||||||
|
|
||||||
export default DatePicker;
|
|
||||||
12
src/components/Flex/index.d.ts
vendored
@@ -3,7 +3,12 @@ import * as React from 'react';
|
|||||||
export interface IFlexProps {
|
export interface IFlexProps {
|
||||||
direction?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
|
direction?: 'row' | 'column' | 'row-reverse' | 'column-reverse';
|
||||||
wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
|
wrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
|
||||||
justify?: 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around';
|
justify?:
|
||||||
|
| 'flex-start'
|
||||||
|
| 'flex-end'
|
||||||
|
| 'center'
|
||||||
|
| 'space-between'
|
||||||
|
| 'space-around';
|
||||||
alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch';
|
alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch';
|
||||||
|
|
||||||
itemSelf?: 'auto' | 'flex-start' | 'flex-end' | 'center' | 'stretch';
|
itemSelf?: 'auto' | 'flex-start' | 'flex-end' | 'center' | 'stretch';
|
||||||
@@ -13,8 +18,7 @@ export interface IFlexProps {
|
|||||||
style?: object;
|
style?: object;
|
||||||
className?: string;
|
className?: string;
|
||||||
|
|
||||||
onClick?: any,
|
onClick?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default class Flex extends React.Component<IFlexProps, any> {
|
export default class Flex extends React.Component<IFlexProps, any> {}
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,12 +1,19 @@
|
|||||||
import React, {memo} from "react";
|
import React, {memo} from 'react';
|
||||||
import styles from './index.less';
|
import styles from './index.less';
|
||||||
|
|
||||||
const Index = memo((props) => {
|
const Index = memo((props) => {
|
||||||
|
|
||||||
const {
|
const {
|
||||||
direction, wrap, justify, alignItems,
|
direction,
|
||||||
itemOrder, itemSelf, itemGrow, onClick,
|
wrap,
|
||||||
className, style, ...other
|
justify,
|
||||||
|
alignItems,
|
||||||
|
itemOrder,
|
||||||
|
itemSelf,
|
||||||
|
itemGrow,
|
||||||
|
onClick,
|
||||||
|
className,
|
||||||
|
style,
|
||||||
|
...other
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
let newStyle = {};
|
let newStyle = {};
|
||||||
@@ -44,13 +51,20 @@ const Index = memo((props) => {
|
|||||||
clazz = clazz + ' ' + className;
|
clazz = clazz + ' ' + className;
|
||||||
}
|
}
|
||||||
|
|
||||||
return <div
|
return (
|
||||||
{...other} className={clazz} style={{...newStyle, ...style}} onClick={onClick}
|
<div
|
||||||
>{props.children}</div>
|
{...other}
|
||||||
|
className={clazz}
|
||||||
|
style={{ ...newStyle, ...style }}
|
||||||
|
onClick={onClick}
|
||||||
|
>
|
||||||
|
{props.children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
const Flex = (props) => {
|
const Flex = (props) => {
|
||||||
return <Index {...props} />
|
return <Index {...props} />;
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Flex;
|
export default Flex;
|
||||||
|
|||||||
@@ -11,5 +11,4 @@
|
|||||||
|
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
-webkit-flex-shrink: 0;
|
-webkit-flex-shrink: 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,114 +0,0 @@
|
|||||||
/*
|
|
||||||
* 翻牌数字
|
|
||||||
* @author: 兔子先生
|
|
||||||
* @createDate: 2019-11-24
|
|
||||||
*/
|
|
||||||
import React, {Component} from 'react'
|
|
||||||
import PropTypes from 'prop-types'
|
|
||||||
import './flipper.css'
|
|
||||||
|
|
||||||
class Flipper extends Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props)
|
|
||||||
this.state = {
|
|
||||||
isFlipping: false,
|
|
||||||
flipType: 'down',
|
|
||||||
frontTextFromData: 0,
|
|
||||||
backTextFromData: 1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const {isFlipping, flipType, frontTextFromData, backTextFromData} = this.state
|
|
||||||
return (
|
|
||||||
<div className={['M-Flipper', flipType, isFlipping ? 'go' : null].join(' ')}>
|
|
||||||
<div className={'digital front ' + this._textClass(frontTextFromData)}/>
|
|
||||||
<div className={'digital back ' + this._textClass(backTextFromData)}/>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
// componentDidMount() {
|
|
||||||
// this.props.onRef(this)
|
|
||||||
// }
|
|
||||||
test() {
|
|
||||||
console.log('test')
|
|
||||||
}
|
|
||||||
|
|
||||||
_textClass(number) {
|
|
||||||
return 'number' + number
|
|
||||||
}
|
|
||||||
|
|
||||||
_flip(type, front, back) {
|
|
||||||
// 如果处于翻转中,则不执行
|
|
||||||
if (this.isFlipping) {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
this.setState({
|
|
||||||
frontTextFromData: front,
|
|
||||||
backTextFromData: back,
|
|
||||||
// 根据传递过来的type设置翻转方向
|
|
||||||
flipType: type,
|
|
||||||
// 设置翻转状态为true
|
|
||||||
isFlipping: true
|
|
||||||
})
|
|
||||||
setTimeout(() => {
|
|
||||||
this.setState({
|
|
||||||
frontTextFromData: back,
|
|
||||||
isFlipping: false
|
|
||||||
})
|
|
||||||
}, this.props.duration)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 下翻牌
|
|
||||||
flipDown(front, back) {
|
|
||||||
this._flip('down', front, back)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 上翻牌
|
|
||||||
flipUp(front, back) {
|
|
||||||
this._flip('up', front, back)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置前牌文字
|
|
||||||
setFront(text) {
|
|
||||||
this.setState({
|
|
||||||
frontTextFromData: text
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 设置后牌文字
|
|
||||||
setBack(text) {
|
|
||||||
this.setState({
|
|
||||||
backTextFromData: text
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// props类型校验
|
|
||||||
Flipper.propTypes = {
|
|
||||||
frontText: PropTypes.oneOfType([
|
|
||||||
PropTypes.number,
|
|
||||||
PropTypes.string
|
|
||||||
]),
|
|
||||||
backText: PropTypes.oneOfType([
|
|
||||||
PropTypes.number,
|
|
||||||
PropTypes.string
|
|
||||||
]),
|
|
||||||
duration: PropTypes.number
|
|
||||||
}
|
|
||||||
|
|
||||||
// props默认值
|
|
||||||
Flipper.defaultProps = {
|
|
||||||
// front paper text
|
|
||||||
// 前牌文字
|
|
||||||
frontText: 0,
|
|
||||||
// back paper text
|
|
||||||
// 后牌文字
|
|
||||||
backText: 1,
|
|
||||||
// flipping duration, please be consistent with the CSS animation-duration value.
|
|
||||||
// 翻牌动画时间,与CSS中设置的animation-duration保持一致
|
|
||||||
duration: 600
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Flipper
|
|
||||||
@@ -1,186 +0,0 @@
|
|||||||
.M-Flipper {
|
|
||||||
display: inline-block;
|
|
||||||
position: relative;
|
|
||||||
width: 40px;
|
|
||||||
margin: 2px;
|
|
||||||
height: 70px;
|
|
||||||
line-height: 70px;
|
|
||||||
border: solid 1px #000;
|
|
||||||
border-radius: 10px;
|
|
||||||
background: #666666;
|
|
||||||
font-size: 60px;
|
|
||||||
color: #fff;
|
|
||||||
box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
|
|
||||||
text-align: center;
|
|
||||||
font-family: 'Helvetica Neue';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .digital:before,
|
|
||||||
.M-Flipper .digital:after {
|
|
||||||
content: '';
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
box-sizing: border-box;
|
|
||||||
background: #000 url("../../assets/numberBorder.png");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .digital:before {
|
|
||||||
top: 0;
|
|
||||||
bottom: 50%;
|
|
||||||
border-radius: 10px 10px 0 0;
|
|
||||||
border-bottom: solid 1px #666;
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .digital:after {
|
|
||||||
top: 50%;
|
|
||||||
bottom: 0;
|
|
||||||
border-radius: 0 0 10px 10px;
|
|
||||||
line-height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*向下翻*/
|
|
||||||
.M-Flipper.down .front:before {
|
|
||||||
z-index: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper.down .back:after {
|
|
||||||
z-index: 2;
|
|
||||||
transform-origin: 50% 0%;
|
|
||||||
transform: perspective(160px) rotateX(180deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper.down .front:after,
|
|
||||||
.M-Flipper.down .back:before {
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper.down.go .front:before {
|
|
||||||
transform-origin: 50% 100%;
|
|
||||||
animation: frontFlipDown 0.6s ease-in-out both;
|
|
||||||
box-shadow: 0 -2px 6px rgba(255, 255, 255, 0.3);
|
|
||||||
backface-visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper.down.go .back:after {
|
|
||||||
animation: backFlipDown 0.6s ease-in-out both;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*向上翻*/
|
|
||||||
.M-Flipper.up .front:after {
|
|
||||||
z-index: 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper.up .back:before {
|
|
||||||
z-index: 2;
|
|
||||||
transform-origin: 50% 100%;
|
|
||||||
transform: perspective(160px) rotateX(-180deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper.up .front:before,
|
|
||||||
.M-Flipper.up .back:after {
|
|
||||||
z-index: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper.up.go .front:after {
|
|
||||||
transform-origin: 50% 0;
|
|
||||||
animation: frontFlipUp 0.6s ease-in-out both;
|
|
||||||
box-shadow: 0 2px 6px rgba(255, 255, 255, 0.3);
|
|
||||||
backface-visibility: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper.up.go .back:before {
|
|
||||||
animation: backFlipUp 0.6s ease-in-out both;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes frontFlipDown {
|
|
||||||
0% {
|
|
||||||
transform: perspective(160px) rotateX(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
transform: perspective(160px) rotateX(-180deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes backFlipDown {
|
|
||||||
0% {
|
|
||||||
transform: perspective(160px) rotateX(180deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
transform: perspective(160px) rotateX(0deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes frontFlipUp {
|
|
||||||
0% {
|
|
||||||
transform: perspective(160px) rotateX(0deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
transform: perspective(160px) rotateX(180deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes backFlipUp {
|
|
||||||
0% {
|
|
||||||
transform: perspective(160px) rotateX(-180deg);
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
transform: perspective(160px) rotateX(0deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number0:before,
|
|
||||||
.M-Flipper .number0:after {
|
|
||||||
content: '0';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number1:before,
|
|
||||||
.M-Flipper .number1:after {
|
|
||||||
content: '1';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number2:before,
|
|
||||||
.M-Flipper .number2:after {
|
|
||||||
content: '2';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number3:before,
|
|
||||||
.M-Flipper .number3:after {
|
|
||||||
content: '3';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number4:before,
|
|
||||||
.M-Flipper .number4:after {
|
|
||||||
content: '4';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number5:before,
|
|
||||||
.M-Flipper .number5:after {
|
|
||||||
content: '5';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number6:before,
|
|
||||||
.M-Flipper .number6:after {
|
|
||||||
content: '6';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number7:before,
|
|
||||||
.M-Flipper .number7:after {
|
|
||||||
content: '7';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number8:before,
|
|
||||||
.M-Flipper .number8:after {
|
|
||||||
content: '8';
|
|
||||||
}
|
|
||||||
|
|
||||||
.M-Flipper .number9:before,
|
|
||||||
.M-Flipper .number9:after {
|
|
||||||
content: '9';
|
|
||||||
}
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
import React, {Fragment, useState, useRef, useEffect} from 'react'
|
|
||||||
import Flipper from './Flipper'
|
|
||||||
import './flipper.css'
|
|
||||||
|
|
||||||
const FlipView = ({number = '0'}) => {
|
|
||||||
|
|
||||||
const [lastArray, setLastArray] = useState(['0', '0', '0', '0', '0', '0']);
|
|
||||||
const flipper0 = useRef();
|
|
||||||
const flipper1 = useRef();
|
|
||||||
const flipper2 = useRef();
|
|
||||||
const flipper3 = useRef();
|
|
||||||
const flipper4 = useRef();
|
|
||||||
const flipper5 = useRef();
|
|
||||||
const flipper6 = useRef();
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
run();
|
|
||||||
}, [number]);
|
|
||||||
|
|
||||||
///////////////////////////////////////// 逻辑方法
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 开始翻牌
|
|
||||||
*/
|
|
||||||
const run = () => {
|
|
||||||
let tempArray = new Array(6 - number.length);
|
|
||||||
let array = tempArray.concat([...number.split('')]);
|
|
||||||
|
|
||||||
const flipDown = (front, back, ref) => {
|
|
||||||
front = front || "0";
|
|
||||||
back = back || "0";
|
|
||||||
if (front != back) {
|
|
||||||
ref && ref.current.flipDown(back, front);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
flipDown(array[0], lastArray[0], flipper1);
|
|
||||||
flipDown(array[1], lastArray[1], flipper2);
|
|
||||||
flipDown(array[2], lastArray[2], flipper3);
|
|
||||||
flipDown(array[3], lastArray[3], flipper4);
|
|
||||||
flipDown(array[4], lastArray[4], flipper5);
|
|
||||||
flipDown(array[5], lastArray[5], flipper6);
|
|
||||||
|
|
||||||
setLastArray(array);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
///////////////////////////////////////// 页面渲染
|
|
||||||
|
|
||||||
return <Fragment>
|
|
||||||
<Flipper ref={flipper0}/>
|
|
||||||
<em style={{fontSize: 36, margin: '0 5px'}}>,</em>
|
|
||||||
<Flipper ref={flipper1}/>
|
|
||||||
<Flipper ref={flipper2}/>
|
|
||||||
<Flipper ref={flipper3}/>
|
|
||||||
<em style={{fontSize: 36, margin: '0 5px'}}>,</em>
|
|
||||||
<Flipper ref={flipper4}/>
|
|
||||||
<Flipper ref={flipper5}/>
|
|
||||||
<Flipper ref={flipper6}/>
|
|
||||||
</Fragment>
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
export default FlipView;
|
|
||||||
@@ -1,270 +0,0 @@
|
|||||||
import React, {useEffect, useState} from "react";
|
|
||||||
import style from './index.less'
|
|
||||||
import {ScrollBoard} from "@jiaminghi/data-view-react";
|
|
||||||
import leftPageApi from "@/https/apis/leftPageApi";
|
|
||||||
|
|
||||||
import yellowPng from '@/assets/yellow.png';
|
|
||||||
import Flex from "@/components/Flex";
|
|
||||||
import TitleView from "@/components/TitleView";
|
|
||||||
import FlipView from "@/components/FlipView";
|
|
||||||
|
|
||||||
|
|
||||||
const border = [require('@/assets/blueBorder.png'), require('@/assets/greenBorder.png'), require('@/assets/indigoBorder.png')]
|
|
||||||
const typeCount = [require('@/assets/shape/car.png'), require('@/assets/shape/electricCars.png'), require('@/assets/shape/other.png')]
|
|
||||||
|
|
||||||
|
|
||||||
const LeftPage = ({onCarIllegalClick, onUserIllegalClick}) => {
|
|
||||||
|
|
||||||
const {bottom_box, title_box2} = style;
|
|
||||||
|
|
||||||
const [carType, setCarType] = useState([])
|
|
||||||
const [currentMonth, setCurrentMonth] = useState([])
|
|
||||||
const [lastMonth, setLastMonth] = useState([])
|
|
||||||
const [currentDay, setCurrentDay] = useState([])
|
|
||||||
const [lastDay, setLastDay] = useState([])
|
|
||||||
const [illegalList, setIllegalList] = useState([])
|
|
||||||
//查询参数
|
|
||||||
const [searchText, setSearchText] = useState('')
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
getCountType()
|
|
||||||
getMonthCount()
|
|
||||||
getLastMonthCount()
|
|
||||||
getDayCount()
|
|
||||||
getLastCount()
|
|
||||||
getIllegalList()
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
///////////////////////////////////////// 逻辑方法
|
|
||||||
|
|
||||||
const getCountType = () => {
|
|
||||||
leftPageApi.countType().then(res => {
|
|
||||||
if (res.code === 200) {
|
|
||||||
res.data.forEach((it, index) => {
|
|
||||||
it.icon = typeCount[index];
|
|
||||||
it.border = border[index];
|
|
||||||
});
|
|
||||||
setCarType(res.data)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const getMonthCount = () => {
|
|
||||||
leftPageApi.monthCount().then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setCurrentMonth(res.data)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const getLastMonthCount = () => {
|
|
||||||
leftPageApi.lastMonthCount().then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setLastMonth(res.data)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const getDayCount = () => {
|
|
||||||
leftPageApi.dayCount().then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setCurrentDay(res.data)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const getLastCount = () => {
|
|
||||||
leftPageApi.lastDay().then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setLastDay(res.data)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const getIllegalList = () => {
|
|
||||||
leftPageApi.illegalList().then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
// console.log(res.data)
|
|
||||||
setIllegalList(res.data.map(it => {
|
|
||||||
return [it.plateNo, it.ruleName, it.score,
|
|
||||||
`<span style='display:none'>${it.userName}</span>`,
|
|
||||||
`<span style='display:none'>${it.reportUserName}</span>`,
|
|
||||||
`<span style='display:none'>${it.imgs}</span>`
|
|
||||||
]
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////// 数据常量
|
|
||||||
|
|
||||||
let config = {
|
|
||||||
headerBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
headerHeight: 36,
|
|
||||||
oddRowBGC: 'rgba(0, 0, 0, 0)',
|
|
||||||
evenRowBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
columnWidth: [180, 85, 50],
|
|
||||||
header: [
|
|
||||||
"<span style='color: #BDFF79;'>车牌号</span>",
|
|
||||||
"<span style='color: #BDFF79;'>违规</span>",
|
|
||||||
"<span style='color: #BDFF79;'>扣分</span>",
|
|
||||||
],
|
|
||||||
data: illegalList
|
|
||||||
};
|
|
||||||
|
|
||||||
let counts = [
|
|
||||||
{
|
|
||||||
title: '昨日',
|
|
||||||
count: lastDay,
|
|
||||||
imgSrc: yellowPng,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '今日',
|
|
||||||
count: currentDay,
|
|
||||||
imgSrc: "./imgs/blue.png",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '本月',
|
|
||||||
count: currentMonth,
|
|
||||||
imgSrc: require('@/assets/light.png'),
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: '上月',
|
|
||||||
count: lastMonth,
|
|
||||||
imgSrc: require('@/assets/green.png'),
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
return <Flex
|
|
||||||
direction={"column"} className={style.container} justify={"center"} alignItems={"center"}
|
|
||||||
>
|
|
||||||
|
|
||||||
<Flex className={style.carCount} direction={"column"}>
|
|
||||||
|
|
||||||
<TitleView
|
|
||||||
title={'车辆统计管理'} bgUrl={'./imgs/titleBorder.png'} bgStyle={{width: 176, height: 53}}
|
|
||||||
extra={<Flex
|
|
||||||
itemGrow={1} style={{width: 0}} alignItems={"center"} justify={"flex-end"}
|
|
||||||
className={style.title_box}
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
className={style.text} placeholder="人员查询" type="search"
|
|
||||||
onChange={e => setSearchText(e.target.value)}
|
|
||||||
/>
|
|
||||||
<div className={style.search_btn} onClick={onUserIllegalClick}>
|
|
||||||
<img
|
|
||||||
alt={''} style={{position: "absolute", left: '25%', top: '25%', width: 25, height: 25}}
|
|
||||||
src={require("@/assets/searchWhite.png")}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</Flex>}
|
|
||||||
/>
|
|
||||||
|
|
||||||
|
|
||||||
<Flex className={style.inoutCar} justify={"space-between"}>
|
|
||||||
|
|
||||||
<Flex style={{width: 187, marginRight: 6}}>
|
|
||||||
<Flex itemGrow={1} style={{width: 0}}>
|
|
||||||
<img alt={''} style={{position: 'absolute'}} src={require("@/assets/countBorder.png")}/>
|
|
||||||
<img alt={''} style={{position: 'absolute', top: 20, left: 26}}
|
|
||||||
src={require("@/assets/shape/inSchool.png")}/>
|
|
||||||
<img alt={''} style={{position: 'absolute', top: 10, left: 10}} src={require("@/assets/show.png")}/>
|
|
||||||
</Flex>
|
|
||||||
<Flex direction={"column"} justify={"center"} alignItems={"center"} style={{marginRight: 12}}>
|
|
||||||
<Flex style={{fontSize: 18, fontWeight: 500, color: '#E9CC7C'}}>156</Flex>
|
|
||||||
<Flex style={{fontSize: 14}}>进校车辆</Flex>
|
|
||||||
</Flex>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
<Flex style={{width: 187, marginLeft: 6}}>
|
|
||||||
<Flex itemGrow={1} style={{width: 0}}>
|
|
||||||
<img alt={''} style={{position: 'absolute'}} src={require("@/assets/countBorder.png")}/>
|
|
||||||
<img alt={''} style={{position: 'absolute', top: 20, left: 26}}
|
|
||||||
src={require("@/assets/shape/outSchool.png")}/>
|
|
||||||
<img alt={''} style={{position: 'absolute', top: 10, left: 10}} src={require("@/assets/show.png")}/>
|
|
||||||
</Flex>
|
|
||||||
<Flex direction={"column"} justify={"center"} alignItems={"center"} style={{marginRight: 12}}>
|
|
||||||
<Flex style={{fontSize: 18, fontWeight: 500, color: '#E9CC7C'}}>143</Flex>
|
|
||||||
<Flex style={{fontSize: 14}}>出校车辆</Flex>
|
|
||||||
</Flex>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
<Flex className={style.carType} justify={"space-between"}>
|
|
||||||
{carType.map((it, index) => {
|
|
||||||
return <Flex
|
|
||||||
key={index} className={style.carBox} direction={"column"} justify={"center"} alignItems={"center"}
|
|
||||||
onClick={() => onCarIllegalClick(it)}
|
|
||||||
>
|
|
||||||
<img alt={''} style={{position: 'absolute', zIndex: 0, left: 0}} src={it.border}/>
|
|
||||||
<img alt='' style={{zIndex: 1}} src={it.icon}/>
|
|
||||||
<Flex style={{zIndex: 1, fontSize: 18, fontWeight: 500, color: '#E9CC7C'}}>{it.count}</Flex>
|
|
||||||
<Flex style={{zIndex: 1, fontSize: 14}}>{it.vehicleType}</Flex>
|
|
||||||
</Flex>
|
|
||||||
})}
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
<Flex className={style.carEvent} justify={"space-between"}>
|
|
||||||
<Flex
|
|
||||||
className={style.body_box_down} alignItems={"center"}
|
|
||||||
onClick={() => onCarIllegalClick()}
|
|
||||||
>
|
|
||||||
<img alt={''} style={{position: 'absolute'}} src={require("@/assets/cardBorder.png")}/>
|
|
||||||
<span style={{paddingLeft: 22}}>车辆违规</span>
|
|
||||||
<img alt={''} className={style.img_search} src={require("@/assets/search.png")}/>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
<Flex className={style.body_box_down} alignItems={"center"}>
|
|
||||||
<img alt={''} style={{position: 'absolute'}} src={require("@/assets/greyBorder.png")}/>
|
|
||||||
<span style={{paddingLeft: 28}}>事件上报</span>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
<Flex className={style.body_box_down} alignItems={"center"}>
|
|
||||||
<img alt={''} style={{position: 'absolute'}} src={require("@/assets/greyBorder.png")}/>
|
|
||||||
<span style={{paddingLeft: 28}}>扣分记录</span>
|
|
||||||
</Flex>
|
|
||||||
</Flex>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
{/*轮播表*/}
|
|
||||||
<Flex itemGrow={1} style={{height: 0, marginBottom: 20}}>
|
|
||||||
<ScrollBoard
|
|
||||||
config={config} onClick={e => onCarIllegalClick({name: e, detail: true})}
|
|
||||||
/>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
{/*底部盒子*/}
|
|
||||||
<Flex className={style.bottom_box} direction={"column"}>
|
|
||||||
|
|
||||||
<TitleView
|
|
||||||
bgUrl={'./imgs/titleBorder2.png'} title={'违规总数统计'} bgStyle={{width: 176, height: 53}}
|
|
||||||
/>
|
|
||||||
|
|
||||||
{/* 翻牌器 */}
|
|
||||||
<Flex style={{margin: '10px 0', width: '100%'}} justify={"center"}>
|
|
||||||
<FlipView number={'112'}/>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
{/* 违规数统计 */}
|
|
||||||
<Flex className={style.dayStat} wrap={"wrap"} justify={"space-around"}>
|
|
||||||
{counts.map((it, index) => {
|
|
||||||
return (
|
|
||||||
<Flex
|
|
||||||
key={index} className={style.down_body_box} alignItems={"center"} justify={"center"}
|
|
||||||
onClick={(e) => onCarIllegalClick(it)}
|
|
||||||
>
|
|
||||||
<img alt={''} src={it.imgSrc} style={{position: "absolute", zIndex: 0}}/>
|
|
||||||
<span style={{zIndex: 1, fontSize: 32, lineHeight: 1}}>{it.count}</span>
|
|
||||||
<span style={{zIndex: 1, fontSize: 14}}>{it.title}</span>
|
|
||||||
</Flex>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
</Flex>
|
|
||||||
}
|
|
||||||
|
|
||||||
export default LeftPage
|
|
||||||
@@ -1,244 +0,0 @@
|
|||||||
.container {
|
|
||||||
width: 400px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
|
|
||||||
|
|
||||||
.carCount {
|
|
||||||
width: 100%;
|
|
||||||
|
|
||||||
.title_box {
|
|
||||||
height: 80px;
|
|
||||||
font-size: 18px;
|
|
||||||
|
|
||||||
.titleBg {
|
|
||||||
width: 176px;
|
|
||||||
height: 53px;
|
|
||||||
background-size: contain;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text {
|
|
||||||
height: 45px;
|
|
||||||
width: 160px;
|
|
||||||
border-radius: 22px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #D5D8E2;
|
|
||||||
line-height: 20px;
|
|
||||||
padding-left: 20px;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_btn {
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
width: 43px;
|
|
||||||
height: 43px;
|
|
||||||
border-radius: 50%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
cursor: pointer;
|
|
||||||
background: #14FDF7;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.inoutCar {
|
|
||||||
height: 75px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.carType {
|
|
||||||
height: 75px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
|
|
||||||
.carBox {
|
|
||||||
width: 120px;
|
|
||||||
height: 75px;
|
|
||||||
font-size: 16px;
|
|
||||||
z-index: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.carEvent {
|
|
||||||
height: 50px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.body_box_down {
|
|
||||||
width: 120px;
|
|
||||||
height: 50px;
|
|
||||||
font-size: 15px;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
span {
|
|
||||||
margin-top: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.img_search {
|
|
||||||
margin-top: 8px;
|
|
||||||
margin-left: 6px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.bottom_box {
|
|
||||||
color: white;
|
|
||||||
|
|
||||||
.title_box2 {
|
|
||||||
height: 30%;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.drawNumber {
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dayStat {
|
|
||||||
|
|
||||||
.down_body_box {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
position: relative;
|
|
||||||
width: 170px;
|
|
||||||
height: 70px;
|
|
||||||
cursor: pointer;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
|
|
||||||
img {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
transition: all 0.3s;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:nth-child(1) {
|
|
||||||
color: rgb(255, 236, 142);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:nth-child(2) {
|
|
||||||
color: rgb(75, 242, 255);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:nth-child(3) {
|
|
||||||
color: rgb(119, 255, 229);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:nth-child(4) {
|
|
||||||
color: rgb(106, 255, 125);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal_box {
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 29%;
|
|
||||||
transform: translate(78%, 0);
|
|
||||||
width: 769px;
|
|
||||||
height: 430px;
|
|
||||||
background: rgba(0, 0, 0, 0.1);
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border: 2px solid #10FDF2;
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
|
|
||||||
.modal_title {
|
|
||||||
transform: translateY(5%);
|
|
||||||
height: 8%;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #FFFFFF;
|
|
||||||
line-height: 25px;
|
|
||||||
text-align: center;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal_body {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
height: 22%;
|
|
||||||
|
|
||||||
.text {
|
|
||||||
height: 45px;
|
|
||||||
width: 25%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border-radius: 22px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #D5D8E2;
|
|
||||||
line-height: 20px;
|
|
||||||
text-align: center;
|
|
||||||
padding-left: 10px;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
|
|
||||||
&:nth-child(1) {
|
|
||||||
//transform: translateX(55px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.title_box {
|
|
||||||
display: block;
|
|
||||||
font-size: 20px;
|
|
||||||
background-color: #10FDF2;
|
|
||||||
padding: 0 8px 5px 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_btn {
|
|
||||||
position: absolute;
|
|
||||||
right: 15px;
|
|
||||||
width: 43px;
|
|
||||||
height: 43px;
|
|
||||||
border-radius: 50%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
cursor: pointer;
|
|
||||||
background: #14FDF7;
|
|
||||||
}
|
|
||||||
|
|
||||||
option {
|
|
||||||
font-size: 14px;
|
|
||||||
// background: rgba(47, 253, 239, 0.1);
|
|
||||||
background-color: rgb(0, 52, 73);
|
|
||||||
color: #D5D8E2;
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
border: 2px solid #24A7A4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.middleDetails {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
height: 55%;
|
|
||||||
|
|
||||||
.pic {
|
|
||||||
width: 35%;
|
|
||||||
height: 205px;
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.board_box {
|
|
||||||
height: 200px;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
import style from './index.less'
|
|
||||||
|
|
||||||
const middlePage = () => {
|
|
||||||
return (
|
|
||||||
<div className={style.container}>
|
|
||||||
<div className={style.title_box}>
|
|
||||||
<img style={{position:"absolute"}} src={require('@/assets/title.png')}/>
|
|
||||||
<span >异常分部预览</span>
|
|
||||||
</div>
|
|
||||||
<div className={style.type_title}>
|
|
||||||
<img style={{position:"absolute"}} src={require('@/assets/redTitle.png')}/>
|
|
||||||
<span>汽车超速</span>
|
|
||||||
</div>
|
|
||||||
<div className={style.type_title}>
|
|
||||||
<img style={{position:"absolute"}} src={require('@/assets/yellowTitle.png')}/>
|
|
||||||
<span>汽车超载</span>
|
|
||||||
</div>
|
|
||||||
<div className={style.type_title}>
|
|
||||||
<img style={{position:"absolute"}} src={require('@/assets/blueTitle.png')}/>
|
|
||||||
<span>汽车违停</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default middlePage
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
|
|
||||||
.container {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
width: 800px;
|
|
||||||
color: #ffffff;
|
|
||||||
margin-left: 100px;
|
|
||||||
//background-color: chocolate;
|
|
||||||
|
|
||||||
.title_box {
|
|
||||||
position: relative;
|
|
||||||
width: 273px;
|
|
||||||
height: 53px;
|
|
||||||
font-size: 18px;
|
|
||||||
|
|
||||||
span {
|
|
||||||
position: absolute;
|
|
||||||
top: 12px;
|
|
||||||
left: 75px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.type_title {
|
|
||||||
position: relative;
|
|
||||||
width: 168px;
|
|
||||||
height: 32px;
|
|
||||||
|
|
||||||
span {
|
|
||||||
position: absolute;
|
|
||||||
font-family: PingFangSC-Medium, PingFang SC;
|
|
||||||
font-weight: 500;
|
|
||||||
font-size: 14px;
|
|
||||||
top: 5px;
|
|
||||||
left: 42px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
import React, {useEffect, useRef, useState} from "react";
|
|
||||||
import rightPageApi from "@/https/apis/rightPageApi";
|
|
||||||
|
|
||||||
const {Bar} = window.charts;
|
|
||||||
|
|
||||||
const DemoBar = ({requestDate, onClick}) => {
|
|
||||||
|
|
||||||
|
|
||||||
const [list, setList] = useState([])
|
|
||||||
const pieRef = useRef();
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
getCollegeCount()
|
|
||||||
clickPie(pieRef?.current?.getChart())
|
|
||||||
}, [requestDate])
|
|
||||||
|
|
||||||
const getCollegeCount = () => {
|
|
||||||
rightPageApi.collegeCount(requestDate.format("YYYY-MM-DD")).then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setList(res.data.map(it => {
|
|
||||||
return {collegeName: it.collegeName.substr(0, 10), sales: parseInt(it.count, 10), collegeNo: it.collegeNo}
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const clickPie = (plot) => {
|
|
||||||
plot.off("plot:click");
|
|
||||||
plot.on('plot:click', (...args) => {
|
|
||||||
onClick && onClick(args[0]?.data?.data, requestDate.format('YYYY-MM'))
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const data = list
|
|
||||||
const config = {
|
|
||||||
data,
|
|
||||||
xField: 'sales',
|
|
||||||
yField: 'collegeName',
|
|
||||||
color: '#3B90FF',
|
|
||||||
autoFit: true,
|
|
||||||
xAxis: {
|
|
||||||
label: {
|
|
||||||
style: {
|
|
||||||
fill: '#F2F2F2'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
barStyle: {
|
|
||||||
fill: 'l(180) 0:#3B90FF 1:rgba(47, 253, 239, 0)',
|
|
||||||
},
|
|
||||||
yAxis: {
|
|
||||||
label: {
|
|
||||||
style: {
|
|
||||||
fill: '#F2F2F2'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
meta: {
|
|
||||||
collegeName: {
|
|
||||||
alias: '类别',
|
|
||||||
},
|
|
||||||
sales: {
|
|
||||||
alias: '违规总数',
|
|
||||||
},
|
|
||||||
no: {
|
|
||||||
alias: '编号'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
};
|
|
||||||
return <Bar style={{height: '100%'}} ref={pieRef} {...config}/>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default DemoBar
|
|
||||||
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
import rightPageApi from "@/https/apis/rightPageApi";
|
|
||||||
import React, {useEffect, useState} from "react";
|
|
||||||
|
|
||||||
const {Column} = window.charts;
|
|
||||||
|
|
||||||
const DemoColumn = ({onClick}) => {
|
|
||||||
|
|
||||||
const [dataCount, setDataCount] = useState([])
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
getSevenCount()
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
const getSevenCount = () => {
|
|
||||||
rightPageApi.sevenCount().then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setDataCount(res.data.map(it => {
|
|
||||||
return {type: it.week.substr(5, 5), sales: parseInt(it.count, 10)}
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const clickColumn = (plot) => {
|
|
||||||
plot.on('plot:click', (...args) => {
|
|
||||||
onClick && onClick(args[0]?.data?.data)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const data = dataCount;
|
|
||||||
const config = {
|
|
||||||
data,
|
|
||||||
xField: 'type',
|
|
||||||
yField: 'sales',
|
|
||||||
color: '#4AE7E0',
|
|
||||||
autoFit: true,
|
|
||||||
label: {
|
|
||||||
// 可手动配置 label 数据标签位置
|
|
||||||
position: 'middle',
|
|
||||||
// 'top', 'bottom', 'middle',
|
|
||||||
// 配置样式
|
|
||||||
style: {
|
|
||||||
fill: '#F2F2F2',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
xAxis: {
|
|
||||||
name: 'type',
|
|
||||||
label: {
|
|
||||||
autoHide: true,
|
|
||||||
autoRotate: false,
|
|
||||||
style: {
|
|
||||||
fill: '#F2F2F2'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
barStyle: {
|
|
||||||
fill: 'red',
|
|
||||||
},
|
|
||||||
yAxis: {
|
|
||||||
label: {
|
|
||||||
style: {
|
|
||||||
fill: '#F2F2F2'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
meta: {
|
|
||||||
type: {
|
|
||||||
alias: '类别',
|
|
||||||
},
|
|
||||||
sales: {
|
|
||||||
alias: '违规数',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
return <Column style={{height: '100%'}} {...config} onReady={clickColumn}/>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default DemoColumn
|
|
||||||
@@ -1,83 +0,0 @@
|
|||||||
import rightPageApi from "@/https/apis/rightPageApi";
|
|
||||||
import React, {useEffect, useState} from "react";
|
|
||||||
|
|
||||||
const {Pie, G2} = window.charts;
|
|
||||||
const G = G2.getEngine('canvas');
|
|
||||||
const cfg = {
|
|
||||||
appendPadding: 10,
|
|
||||||
data: [],
|
|
||||||
angleField: 'count',
|
|
||||||
colorField: 'type',
|
|
||||||
radius: 0.75,
|
|
||||||
legend: false,
|
|
||||||
autoFit: true,
|
|
||||||
label: {
|
|
||||||
type: 'spider',
|
|
||||||
labelHeight: 40,
|
|
||||||
formatter: (data, mappingData) => {
|
|
||||||
const group = new G.Group({});
|
|
||||||
group.addShape({
|
|
||||||
type: 'circle',
|
|
||||||
attrs: {
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
width: 40,
|
|
||||||
height: 50,
|
|
||||||
r: 5,
|
|
||||||
fill: mappingData.color,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
group.addShape({
|
|
||||||
type: 'text',
|
|
||||||
attrs: {
|
|
||||||
x: 10,
|
|
||||||
y: 8,
|
|
||||||
text: `${data.type}`,
|
|
||||||
fill: mappingData.color,
|
|
||||||
},
|
|
||||||
});
|
|
||||||
return group;
|
|
||||||
},
|
|
||||||
},
|
|
||||||
interactions: [
|
|
||||||
{
|
|
||||||
type: 'element-selected',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'element-active',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
|
||||||
|
|
||||||
const DemoPie = ({onClick}) => {
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
getSevenType()
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
const [dataCount, setDataCount] = useState([])
|
|
||||||
|
|
||||||
const clickPie = (plot) => {
|
|
||||||
plot.on('plot:click', (...args) => {
|
|
||||||
console.log(args[0]?.data?.data)
|
|
||||||
onClick && onClick(args[0]?.data?.data)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const getSevenType = () => {
|
|
||||||
rightPageApi.sevenType().then(res => {
|
|
||||||
if (res.code === 200) {
|
|
||||||
console.log(res.data)
|
|
||||||
setDataCount(res.data
|
|
||||||
.map(it => (
|
|
||||||
{...it, illegalType: it.type, count: parseInt(it.count, 10)}
|
|
||||||
))
|
|
||||||
)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
return <Pie style={{height: '100%'}} {...cfg} data={dataCount} onReady={clickPie}/>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default DemoPie
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
import React, {useState} from "react";
|
|
||||||
import style from './index.less'
|
|
||||||
import BarChart from './BarChart'
|
|
||||||
import ColumnChart from './ColumnChart'
|
|
||||||
import PieChart from './PieChart'
|
|
||||||
import dayjs from "dayjs";
|
|
||||||
import Flex from "@/components/Flex";
|
|
||||||
import TitleView from "@/components/TitleView";
|
|
||||||
|
|
||||||
const monthList = [];
|
|
||||||
for (let i = 1; i < 13; i++) {
|
|
||||||
monthList.push({
|
|
||||||
name: i + '月',
|
|
||||||
value: i
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const rightPage = ({onPieClick}) => {
|
|
||||||
|
|
||||||
const [copyDate, setCopyDate] = useState(dayjs());
|
|
||||||
const [dataBoxVisible, setDataBoxVisible] = useState(false);
|
|
||||||
|
|
||||||
///////////////////////////////////////// 页面渲染
|
|
||||||
|
|
||||||
return <Flex direction={"column"} className={style.container}>
|
|
||||||
|
|
||||||
<Flex className={style.top_box} direction={"column"} itemGrow={1}>
|
|
||||||
|
|
||||||
<TitleView
|
|
||||||
title={'学院违章排行'} bgUrl={"./imgs/titleBorder3.png"} bgStyle={{width: 187, height: 53}}
|
|
||||||
extra={
|
|
||||||
<Flex
|
|
||||||
className={style.time_box}
|
|
||||||
onClick={() => setDataBoxVisible(!dataBoxVisible)}
|
|
||||||
>{copyDate.format("YYYY-MM")}
|
|
||||||
</Flex>
|
|
||||||
}
|
|
||||||
/>
|
|
||||||
|
|
||||||
<BarChart requestDate={copyDate} onClick={onPieClick}/>
|
|
||||||
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
|
|
||||||
<Flex direction={"column"} className={style.middle_box} itemGrow={1}>
|
|
||||||
<TitleView
|
|
||||||
title={'车辆违规统计'} bgUrl={'./imgs/titleBorder4.png'} bgStyle={{width: 187, height: 53}}
|
|
||||||
/>
|
|
||||||
<Flex itemGrow={1} style={{height: 0}}>
|
|
||||||
<ColumnChart onClick={(args) => onPieClick(args)}/>
|
|
||||||
</Flex>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
<Flex itemGrow={1} style={{height: 0}}>
|
|
||||||
<PieChart onClick={(args) => onPieClick(args)}/>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
</Flex>
|
|
||||||
};
|
|
||||||
|
|
||||||
export default rightPage
|
|
||||||
@@ -1,197 +0,0 @@
|
|||||||
.container {
|
|
||||||
width: 440px;
|
|
||||||
height: 100vh;
|
|
||||||
color: #fff;
|
|
||||||
padding: 20px;
|
|
||||||
font-size: 16px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
|
|
||||||
.top_box {
|
|
||||||
width: 100%;
|
|
||||||
height: 0;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
|
|
||||||
.time_box {
|
|
||||||
text-align: center;
|
|
||||||
padding: 1px 8px 1.5px 8px;
|
|
||||||
font-size: 16px;
|
|
||||||
transform: translateY(10px);
|
|
||||||
background-size: 100%;
|
|
||||||
background: url("../../assets/time_box.png") no-repeat;
|
|
||||||
cursor: pointer;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: rgba(169, 169, 169, .2);
|
|
||||||
transition: all 0.2s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.middle_box {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 0;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
|
|
||||||
.title_box {
|
|
||||||
position: relative;
|
|
||||||
height: 18%;
|
|
||||||
|
|
||||||
.time_box {
|
|
||||||
position: absolute;
|
|
||||||
width: 80px;
|
|
||||||
height: 30px;
|
|
||||||
transform: translateY(10px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@keyframes fadeInDown {
|
|
||||||
0% {
|
|
||||||
-webkit-transform: matrix3d(.7, 0, 0, 0, 0, .7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.7, 0, 0, 0, 0, .7, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
opacity: 0
|
|
||||||
}
|
|
||||||
3.4% {
|
|
||||||
-webkit-transform: matrix3d(.795, 0, 0, 0, 0, .822, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.795, 0, 0, 0, 0, .822, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
4.7% {
|
|
||||||
-webkit-transform: matrix3d(.835, 0, 0, 0, 0, .88, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.835, 0, 0, 0, 0, .88, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
6.81% {
|
|
||||||
-webkit-transform: matrix3d(.898, 0, 0, 0, 0, .968, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.898, 0, 0, 0, 0, .968, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
9.41% {
|
|
||||||
-webkit-transform: matrix3d(.965, 0, 0, 0, 0, 1.05, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.965, 0, 0, 0, 0, 1.05, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
10.21% {
|
|
||||||
-webkit-transform: matrix3d(.982, 0, 0, 0, 0, 1.068, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.982, 0, 0, 0, 0, 1.068, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
13.61% {
|
|
||||||
-webkit-transform: matrix3d(1.037, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.037, 0, 0, 0, 0, 1.1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
14.11% {
|
|
||||||
-webkit-transform: matrix3d(1.042, 0, 0, 0, 0, 1.099, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.042, 0, 0, 0, 0, 1.099, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
17.52% {
|
|
||||||
-webkit-transform: matrix3d(1.062, 0, 0, 0, 0, 1.072, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.062, 0, 0, 0, 0, 1.072, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
18.72% {
|
|
||||||
-webkit-transform: matrix3d(1.064, 0, 0, 0, 0, 1.056, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.064, 0, 0, 0, 0, 1.056, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
21.32% {
|
|
||||||
-webkit-transform: matrix3d(1.059, 0, 0, 0, 0, 1.021, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.059, 0, 0, 0, 0, 1.021, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
24.32% {
|
|
||||||
-webkit-transform: matrix3d(1.045, 0, 0, 0, 0, .988, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.045, 0, 0, 0, 0, .988, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
25.23% {
|
|
||||||
-webkit-transform: matrix3d(1.04, 0, 0, 0, 0, .981, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.04, 0, 0, 0, 0, .981, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
29.03% {
|
|
||||||
-webkit-transform: matrix3d(1.019, 0, 0, 0, 0, .969, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.019, 0, 0, 0, 0, .969, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
29.93% {
|
|
||||||
-webkit-transform: matrix3d(1.014, 0, 0, 0, 0, .97, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.014, 0, 0, 0, 0, .97, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
35.54% {
|
|
||||||
-webkit-transform: matrix3d(.994, 0, 0, 0, 0, .989, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.994, 0, 0, 0, 0, .989, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
36.74% {
|
|
||||||
-webkit-transform: matrix3d(.991, 0, 0, 0, 0, .994, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.991, 0, 0, 0, 0, .994, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
41.04% {
|
|
||||||
-webkit-transform: matrix3d(.988, 0, 0, 0, 0, 1.007, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.988, 0, 0, 0, 0, 1.007, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
44.44% {
|
|
||||||
-webkit-transform: matrix3d(.99, 0, 0, 0, 0, 1.01, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.99, 0, 0, 0, 0, 1.01, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
52.15% {
|
|
||||||
-webkit-transform: matrix3d(.997, 0, 0, 0, 0, 1.002, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(.997, 0, 0, 0, 0, 1.002, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
opacity: 1
|
|
||||||
}
|
|
||||||
59.86% {
|
|
||||||
-webkit-transform: matrix3d(1.002, 0, 0, 0, 0, .997, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.002, 0, 0, 0, 0, .997, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
63.26% {
|
|
||||||
-webkit-transform: matrix3d(1.002, 0, 0, 0, 0, .998, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1.002, 0, 0, 0, 0, .998, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
75.28% {
|
|
||||||
-webkit-transform: matrix3d(1, 0, 0, 0, 0, 1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1, 0, 0, 0, 0, 1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
85.49%,
|
|
||||||
90.69%,
|
|
||||||
100% {
|
|
||||||
-webkit-transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
|
|
||||||
transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
opacity: 1
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.dataBox {
|
|
||||||
top: 58px;
|
|
||||||
right: 32px;
|
|
||||||
position: absolute;
|
|
||||||
width: 250px;
|
|
||||||
background-color: rgba(0, 0, 0, .9);
|
|
||||||
border-radius: 15px;
|
|
||||||
animation: fadeInDown .3s;
|
|
||||||
|
|
||||||
.data_title {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
font-size: 18px;
|
|
||||||
margin: 10px 0;
|
|
||||||
border-bottom: 1px solid grey;
|
|
||||||
}
|
|
||||||
|
|
||||||
.data_body {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
.data_box {
|
|
||||||
text-align: center;
|
|
||||||
width: 45px;
|
|
||||||
height: 40px;
|
|
||||||
margin: 5px;
|
|
||||||
line-height: 40px;
|
|
||||||
cursor: pointer;
|
|
||||||
vertical-align: center;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: black;
|
|
||||||
background-color: grey;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
import React from "react";
|
|
||||||
import Flex from "@/components/Flex";
|
|
||||||
import less from './index.less';
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 标题视图
|
|
||||||
* @constructor
|
|
||||||
*/
|
|
||||||
const TitleView = ({bgUrl, bgStyle = {}, title = "", extra}) => {
|
|
||||||
|
|
||||||
|
|
||||||
///////////////////////////////////////// 页面渲染
|
|
||||||
|
|
||||||
return <Flex justify={"space-between"} alignItems={"center"}>
|
|
||||||
<Flex
|
|
||||||
className={less.titleBg} justify={"center"} alignItems={"center"}
|
|
||||||
style={{...bgStyle, backgroundImage: `url(${bgUrl})`}}
|
|
||||||
>
|
|
||||||
<Flex>{title}</Flex>
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
{extra}
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TitleView;
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
|
|
||||||
.titleBg {
|
|
||||||
font-size: 18px;
|
|
||||||
background-size: contain;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
@@ -1,206 +0,0 @@
|
|||||||
import style from "./index.less";
|
|
||||||
import {ScrollBoard} from "@jiaminghi/data-view-react";
|
|
||||||
import {useEffect, useRef, useState} from "react";
|
|
||||||
import leftPageApi from "@/https/apis/leftPageApi";
|
|
||||||
import modalApi from "@/https/apis/modalApi";
|
|
||||||
|
|
||||||
|
|
||||||
const modalPage = ({onCloseUser}) => {
|
|
||||||
//用户弹框的轮播表
|
|
||||||
const [userVehicleList, setUserVehicleList] = useState([])
|
|
||||||
|
|
||||||
const [imgUrl, setImgUrl] = useState('')
|
|
||||||
|
|
||||||
const [detailVisible, setDetailVisible] = useState(false);
|
|
||||||
//获取车辆类型
|
|
||||||
const [illegalTypeList, setIllegalTypeList] = useState([])
|
|
||||||
|
|
||||||
//获取身份列表
|
|
||||||
const [idTypeList, setIdTypeList] = useState([])
|
|
||||||
//人员详情
|
|
||||||
const [configDetails, setConfigDetails] = useState({})
|
|
||||||
|
|
||||||
const [searchText, setSearchText] = useState('')
|
|
||||||
const [userListParams, setUserListParams] = useState({
|
|
||||||
vehicleTypeId: "", userType: ""
|
|
||||||
})
|
|
||||||
|
|
||||||
const scrollTable = useRef()
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
getUserVehicleList()
|
|
||||||
}, [userListParams])
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
getUserVehicleList()
|
|
||||||
carTypeList()
|
|
||||||
getIdTypeList()
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取人员车辆列表
|
|
||||||
*/
|
|
||||||
const getUserVehicleList = () => {
|
|
||||||
leftPageApi.userVehicleList({...userListParams, keyword: searchText}).then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setUserVehicleList(res.data.map(it => {
|
|
||||||
return [it.name, it.no, it.sex == '1' ? '男' : '女', it.organName, it.vehicleCount, `<span style='display: none'>${it.id}</span>`]
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* 获取车辆类型
|
|
||||||
* @param key
|
|
||||||
*/
|
|
||||||
const carTypeList = (key) => {
|
|
||||||
modalApi.carTypeList(key).then(res => {
|
|
||||||
if (res.code === 200) {
|
|
||||||
setIllegalTypeList(res.data.map(it => {
|
|
||||||
return {
|
|
||||||
name: it.name,
|
|
||||||
value: it.id,
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
const getIdTypeList = () => {
|
|
||||||
leftPageApi.idTypeList().then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setIdTypeList(res.data.map(it => {
|
|
||||||
return {
|
|
||||||
name: it.name,
|
|
||||||
value: it.id
|
|
||||||
}
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 点击轮播表获取详情事件
|
|
||||||
* @param userId
|
|
||||||
* @param vehicleTypeId
|
|
||||||
*/
|
|
||||||
const detailClick = (userId, vehicleTypeId) => {
|
|
||||||
leftPageApi.userVehicleDetails(vehicleTypeId, userId).then(res => {
|
|
||||||
if (res.code == 200) {
|
|
||||||
setImgUrl(res.data[0].imgs)
|
|
||||||
console.log(res.data)
|
|
||||||
setConfigDetails(res.data.map(it => {
|
|
||||||
return [it.name, it.type, it.plateNo, it.status, `<span style="display: none">${it.imgs}</span>`]
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
})
|
|
||||||
setDetailVisible(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
//用户轮播图
|
|
||||||
let userConfig = {
|
|
||||||
index: true,
|
|
||||||
headerBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
headerHeight: 65,
|
|
||||||
oddRowBGC: 'rgba(0, 0, 0, 0)',
|
|
||||||
evenRowBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
columnWidth: [60, 120, 140, 120, 200],
|
|
||||||
rowNum: 5,
|
|
||||||
header: [
|
|
||||||
"<span style='color: #BDFF79;'>姓名</span>",
|
|
||||||
"<span style='color: #BDFF79;'>ID</span>",
|
|
||||||
"<span style='color: #BDFF79;'>性别</span>",
|
|
||||||
"<span style='color: #BDFF79;'>部门</span>",
|
|
||||||
"<span style='color: #BDFF79;'>车辆</span>",
|
|
||||||
],
|
|
||||||
data: userVehicleList
|
|
||||||
}
|
|
||||||
//用户详情
|
|
||||||
let userDetailConfig = {
|
|
||||||
index: true,
|
|
||||||
headerBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
headerHeight: 60,
|
|
||||||
oddRowBGC: 'rgba(0, 0, 0, 0)',
|
|
||||||
evenRowBGC: 'rgba(47, 253, 239, 0.1)',
|
|
||||||
columnWidth: [150, 150, 150, 150],
|
|
||||||
rowNum: configDetails.length,
|
|
||||||
header: [
|
|
||||||
"<span style='color: #BDFF79;'>姓名</span>",
|
|
||||||
"<span style='color: #BDFF79;'>车辆类型</span>",
|
|
||||||
"<span style='color: #BDFF79;'>车牌号</span>",
|
|
||||||
"<span style='color: #BDFF79;'>车辆状态</span>",
|
|
||||||
],
|
|
||||||
data: configDetails
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
{/* 人员列表弹框*/}
|
|
||||||
{
|
|
||||||
<div className={style.modal_box}>
|
|
||||||
<div className={style.modal_title}>
|
|
||||||
<span className={style.title_box}>人员车辆-查询</span>
|
|
||||||
<span style={{position: 'absolute', right: 10, cursor: 'pointer'}}
|
|
||||||
onClick={onCloseUser}>×</span>
|
|
||||||
</div>
|
|
||||||
<div className={style.modal_body}>
|
|
||||||
<select className={style.text} type="text" id="carType"
|
|
||||||
onChange={(e) => setUserListParams({...userListParams, vehicleTypeId: e.target.value})}
|
|
||||||
>
|
|
||||||
<option value="" style={{display: 'none'}}>车辆类型</option>
|
|
||||||
{illegalTypeList.map(it => {
|
|
||||||
return (
|
|
||||||
<option key={it.value} value={it.value}>{it.name}</option>
|
|
||||||
)
|
|
||||||
})}
|
|
||||||
</select>
|
|
||||||
<img src={require("@/assets/chain.png")} alt=""/>
|
|
||||||
<select className={style.text}
|
|
||||||
onChange={(e) => setUserListParams({...userListParams, userType: e.target.value})}>
|
|
||||||
<option value="" style={{display: 'none'}}>身份筛选</option>
|
|
||||||
<option key={''} value={''}>全部</option>
|
|
||||||
{idTypeList.map(it => {
|
|
||||||
return (<option key={it.value} value={it.value}>{it.name}</option>)
|
|
||||||
})}
|
|
||||||
</select>
|
|
||||||
<input className={style.text} placeholder="搜索" type="search"
|
|
||||||
onChange={e => setSearchText(e.target.value)}/>
|
|
||||||
<div className={style.search_btn}>
|
|
||||||
<img style={{position: "absolute", left: '25%', top: '25%', width: 25, height: 25}}
|
|
||||||
src={require("@/assets/searchWhite.png")} onClick={() => getUserVehicleList()}/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style={{cursor: 'pointer', width: '100%',height:'100%',overflow:'auto'}}>
|
|
||||||
<ScrollBoard config={userConfig} style={{width: '100%', height: '300px'}}
|
|
||||||
onClick={(e) => detailClick(e.row[6]?.replace(/<[^>]*>/g, ""), userListParams.vehicleTypeId)}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>}
|
|
||||||
{/* 详情弹框*/}
|
|
||||||
{
|
|
||||||
detailVisible &&
|
|
||||||
<div className={style.modal_box} style={{width: 769, height: 458}}>
|
|
||||||
<div className={style.modal_title}>
|
|
||||||
<span className={style.title_box}>人员车辆-详情</span>
|
|
||||||
<span style={{position: 'absolute', right: 10, cursor: 'pointer'}}
|
|
||||||
onClick={() => {
|
|
||||||
setDetailVisible(false)
|
|
||||||
setImgUrl('')
|
|
||||||
}}>×</span>
|
|
||||||
</div>
|
|
||||||
<div className={style.middleDetails}>
|
|
||||||
{imgUrl && <div className={style.pic}>
|
|
||||||
<img src={imgUrl} alt="" style={{width: '100%', height: '100%'}}/>
|
|
||||||
</div>}
|
|
||||||
</div>
|
|
||||||
<div className={style.board_box}>
|
|
||||||
<ScrollBoard config={userDetailConfig} style={{height: 170}} ref={scrollTable}
|
|
||||||
onClick={(e) => setImgUrl(e.row[5].replace(/<[^>]*>/g, ""))}/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
export default modalPage
|
|
||||||
@@ -1,103 +0,0 @@
|
|||||||
.modal_box {
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
transform: translate(-50%,-75%);
|
|
||||||
width: 769px;
|
|
||||||
height: 430px;
|
|
||||||
background: rgba(0, 0, 0, 0.1);
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border: 2px solid #10FDF2;
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
|
|
||||||
.modal_title {
|
|
||||||
transform: translateY(5%);
|
|
||||||
height: 8%;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #FFFFFF;
|
|
||||||
line-height: 25px;
|
|
||||||
text-align: center;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.userTable {
|
|
||||||
width: 100%;
|
|
||||||
height: 200px;
|
|
||||||
}
|
|
||||||
.modal_body {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
height: 22%;
|
|
||||||
.text {
|
|
||||||
height: 45px;
|
|
||||||
width: 25%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border-radius: 22px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #D5D8E2;
|
|
||||||
line-height: 20px;
|
|
||||||
text-align: center;
|
|
||||||
padding-left: 10px;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
|
|
||||||
|
|
||||||
&:nth-child(1){
|
|
||||||
//transform: translateX(55px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.title_box {
|
|
||||||
display: block;
|
|
||||||
font-size: 20px;
|
|
||||||
background-color: #10FDF2;
|
|
||||||
padding: 0 8px 5px 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_btn {
|
|
||||||
position: absolute;
|
|
||||||
right: 15px;
|
|
||||||
width: 43px;
|
|
||||||
height: 43px;
|
|
||||||
border-radius: 50%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
cursor: pointer;
|
|
||||||
background: #14FDF7;
|
|
||||||
}
|
|
||||||
option {
|
|
||||||
font-size: 14px;
|
|
||||||
// background: rgba(47, 253, 239, 0.1);
|
|
||||||
background-color: rgb(0, 52, 73);
|
|
||||||
color: #D5D8E2;
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
border: 2px solid #24A7A4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.middleDetails {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
height: 55%;
|
|
||||||
.pic {
|
|
||||||
width: 35%;
|
|
||||||
height: 205px;
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.row-item {
|
|
||||||
height: 47px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.board_box {
|
|
||||||
height: 200px;
|
|
||||||
cursor: pointer;
|
|
||||||
&:hover {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
49
src/components/ZjsuModal/index.jsx
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
import {Modal} from "antd";
|
||||||
|
import less from "./index.less";
|
||||||
|
import Flex from "@/components/Flex";
|
||||||
|
import {forwardRef, useImperativeHandle, useState} from "react";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自定义弹窗
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
const ZjsuModal = ({title, children}, ref) => {
|
||||||
|
|
||||||
|
const [visible, setVisible] = useState(false);
|
||||||
|
|
||||||
|
useImperativeHandle(ref, () => {
|
||||||
|
return {showModal}
|
||||||
|
})
|
||||||
|
|
||||||
|
///////////////////////////////////// 逻辑方法
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 显示弹窗
|
||||||
|
*/
|
||||||
|
const showModal = () => {
|
||||||
|
setVisible(true)
|
||||||
|
};
|
||||||
|
|
||||||
|
///////////////////////////////////// 页面渲染
|
||||||
|
|
||||||
|
return <Modal
|
||||||
|
visible={visible} closable={false} footer={false} className={less.zjsu} width={620}
|
||||||
|
bodyStyle={{width: 620, height: 300, backgroundImage: "url('./imgs/modal_bg.png')"}}
|
||||||
|
getContainer={document.getElementById("headerContainer")}
|
||||||
|
destroyOnClose
|
||||||
|
onCancel={() => setVisible(false)}
|
||||||
|
>
|
||||||
|
<Flex direction={"column"} style={{height: "100%"}}>
|
||||||
|
|
||||||
|
<Flex justify={"center"} className={less.title}>{title}</Flex>
|
||||||
|
|
||||||
|
<Flex itemGrow={1} style={{height: 0}}>
|
||||||
|
{children}
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
</Flex>
|
||||||
|
</Modal>
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default forwardRef(ZjsuModal);
|
||||||
22
src/components/ZjsuModal/index.less
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
.zjsu {
|
||||||
|
|
||||||
|
:global {
|
||||||
|
.ant-modal-content {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-modal-body {
|
||||||
|
background-size: 620px 300px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin-left: -20px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #FFFFFF;
|
||||||
|
line-height: 22px;
|
||||||
|
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,84 +1,22 @@
|
|||||||
* {
|
body {
|
||||||
box-sizing: border-box;
|
padding: 0;
|
||||||
-moz-box-sizing: border-box;
|
margin: 0;
|
||||||
-webkit-box-sizing: border-box;
|
font-family: serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
@primary-color: #14FDF7; // 全局主色
|
#root {
|
||||||
|
width: 100vw;
|
||||||
.ant-picker-panel-container {
|
height: 100vh;
|
||||||
background: black !important;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ant-picker-header {
|
|
||||||
color: #14FDF7;
|
|
||||||
border-bottom: 1px solid #bfbfbf80;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-content th {
|
.scrollBoard {
|
||||||
color: #14FDF7;
|
.header {
|
||||||
}
|
color: #40A4FF;
|
||||||
|
font-size: 12px !important;
|
||||||
|
}
|
||||||
|
|
||||||
.ant-picker-content th:hover {
|
.rows .row-item {
|
||||||
color: #1890ff;
|
font-size: 12px !important;
|
||||||
}
|
|
||||||
|
|
||||||
// 其他月
|
|
||||||
.ant-picker-cell {
|
|
||||||
color: rgba(255, 255, 255, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-cell:hover {
|
|
||||||
color: #000;
|
|
||||||
background-color: black;
|
|
||||||
|
|
||||||
.ant-picker-cell-inner {
|
|
||||||
background-color: #ffffff80 !important;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 本月
|
|
||||||
.ant-picker-cell-in-view {
|
|
||||||
color: #14FDF7;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-cell-in-view:hover {
|
|
||||||
color: black;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-cell-in-view:hover {
|
|
||||||
.ant-picker-cell-inner {
|
|
||||||
background: #ffffff80 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-panel .ant-picker-footer {
|
|
||||||
border-bottom: 1px solid #bfbfbf80;
|
|
||||||
border-top: 1px solid #bfbfbf80;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-panel {
|
|
||||||
border-bottom: 1px solid #bfbfbf80;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-header > button {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-header > button:hover {
|
|
||||||
color: #14FDF7;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-range-arrow {
|
|
||||||
display: none;
|
|
||||||
background-color: #ffffff80 !important;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-input > input {
|
|
||||||
color: #FFFFFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-picker-cell .ant-picker-cell-inner {
|
|
||||||
}
|
|
||||||
|
|||||||
17
src/https/apis/IndexApi.js
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
import request from "@/https/request";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有大屏路径、标题
|
||||||
|
*/
|
||||||
|
getList: async () => {
|
||||||
|
return request("/common/service/listRunning", {method: 'GET'});
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 获取背景图
|
||||||
|
*/
|
||||||
|
backGround: async () => {
|
||||||
|
return request('/config/system/one?configKey=core_3d_map_bg', {method: 'GET'})
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
import request from "@/https/request";
|
|
||||||
|
|
||||||
|
|
||||||
export default {
|
|
||||||
/**
|
|
||||||
* 获取车辆类型的数量
|
|
||||||
* @param data
|
|
||||||
*/
|
|
||||||
countType: async (data) => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/count/type', {method: 'GET', data})
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取本月违规数
|
|
||||||
*/
|
|
||||||
monthCount: async () => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/current/month')
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取上月违规数
|
|
||||||
*/
|
|
||||||
lastMonthCount: async () => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/last/month')
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取当日的违规数
|
|
||||||
*/
|
|
||||||
dayCount: async () => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/today')
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取昨日
|
|
||||||
*/
|
|
||||||
lastDay: async () => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/yesterday')
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取违规列表
|
|
||||||
* @return {Promise<any>}
|
|
||||||
*/
|
|
||||||
illegalList: async () => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/page')
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取违规总数
|
|
||||||
*/
|
|
||||||
illegalCount: async () => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/count')
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取人员车辆列表
|
|
||||||
*/
|
|
||||||
userVehicleList: async ({vehicleTypeId, userType, keyword}) => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/user/vehicle', {
|
|
||||||
method: 'GET', params: {
|
|
||||||
vehicleTypeId,
|
|
||||||
userType,
|
|
||||||
keyword
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取身份表
|
|
||||||
*/
|
|
||||||
idTypeList:async () => {
|
|
||||||
return request('/vehicle/manager/user/enum/page',{
|
|
||||||
method:'GET'
|
|
||||||
})
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 获取人员车辆详情
|
|
||||||
*/
|
|
||||||
userVehicleDetails:async(vehicleTypeId, userId)=> {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/user/vehicle/detail',{
|
|
||||||
method:'GET',params:{
|
|
||||||
vehicleTypeId,
|
|
||||||
userId,
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
import request from "@/https/request";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取学院违规统计
|
|
||||||
*/
|
|
||||||
getCollegeList: async (data) => {
|
|
||||||
return request("/vehicle/manager/visual/management/illegal/college/count", {method: 'GET', data});
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 车辆类型列表
|
|
||||||
*/
|
|
||||||
carTypeList: async (data) => {
|
|
||||||
return request("/vehicle/manager/vehicle/type/page", {method: 'GET', data});
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 违规类型列表
|
|
||||||
* @param vehicleTypeId
|
|
||||||
* @return {Promise<any>}
|
|
||||||
*/
|
|
||||||
illegalTypeList:async (vehicleTypeId) => {
|
|
||||||
return request('/vehicle/manager/score/rule/page',{method:'GET',params:{vehicleTypeId}})
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 车辆违规列表
|
|
||||||
* @param startTime 开始时间
|
|
||||||
* @param endTime 结束时间
|
|
||||||
* @param no 学院编号
|
|
||||||
* @param vehicleTypeId 车辆类型
|
|
||||||
* @param ruleId 违规类型
|
|
||||||
* @param keyword 关键词
|
|
||||||
*/
|
|
||||||
illegalList: async ({vehicleTypeId, ruleId, keyword,startTime='',endTime='',no}) => {
|
|
||||||
return request("/vehicle/manager/visual/management/illegal/page", {
|
|
||||||
method: 'GET', params: {
|
|
||||||
vehicleTypeId,
|
|
||||||
ruleId,
|
|
||||||
keyword,
|
|
||||||
startTime,
|
|
||||||
endTime,
|
|
||||||
no,
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
import request from "@/https/request";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
/**
|
|
||||||
* 学院违规统计
|
|
||||||
*/
|
|
||||||
collegeCount:async (data) => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/college/count', {params: {dateTime: data}})
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 近七天的违规类型统计
|
|
||||||
* @return {Promise<any>}
|
|
||||||
*/
|
|
||||||
sevenType:async () => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/in/seven/type')
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 近七天每天的违规量
|
|
||||||
*/
|
|
||||||
sevenCount:async () => {
|
|
||||||
return request('/vehicle/manager/visual/management/illegal/in/seven/days')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
* request 网络请求工具
|
* request 网络请求工具
|
||||||
* 更详细的 api 文档: https://github.com/umijs/umi-request
|
* 更详细的 api 文档: https://github.com/umijs/umi-request
|
||||||
*/
|
*/
|
||||||
import {extend} from 'umi-request';
|
import { extend } from 'umi-request';
|
||||||
import Common from "@/utils/Common";
|
import Common from '../utils/Common';
|
||||||
|
|
||||||
const codeMessage = {
|
const codeMessage = {
|
||||||
200: '服务器成功返回请求的数据。',
|
200: '服务器成功返回请求的数据。',
|
||||||
@@ -31,15 +31,14 @@ export const saveLoginInfo = (data) => {
|
|||||||
sessionStorage.setItem('nickName', data.user.nickName);
|
sessionStorage.setItem('nickName', data.user.nickName);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 异常处理程序
|
* 异常处理程序
|
||||||
*/
|
*/
|
||||||
const errorHandler = error => {
|
const errorHandler = (error) => {
|
||||||
const {response} = error;
|
const { response } = error;
|
||||||
let res = {
|
let res = {
|
||||||
code: -1,
|
code: -1,
|
||||||
message: '请求初始化时出错或者服务器没有响应返回'
|
message: '请求初始化时出错或者服务器没有响应返回',
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!Common.isEmpty(response)) {
|
if (!Common.isEmpty(response)) {
|
||||||
@@ -57,23 +56,28 @@ const request = extend({
|
|||||||
errorHandler,
|
errorHandler,
|
||||||
// 默认错误处理
|
// 默认错误处理
|
||||||
credentials: 'include', // 默认请求是否带上cookie
|
credentials: 'include', // 默认请求是否带上cookie
|
||||||
requestType: "json", // 表单提交post请求
|
requestType: 'json', // 表单提交post请求
|
||||||
});
|
});
|
||||||
|
|
||||||
request.use((async (ctx, next) => {
|
request.use(async (ctx, next) => {
|
||||||
const {options} = ctx.req;
|
const { options } = ctx.req;
|
||||||
|
|
||||||
options.headers = {...options.headers, token: sessionStorage.getItem('token')};
|
options.headers = {
|
||||||
|
...options.headers,
|
||||||
|
token: sessionStorage.getItem('token'),
|
||||||
|
};
|
||||||
|
|
||||||
// 存在分页器的时候
|
// 存在分页器的时候
|
||||||
if (options.params?.pagination) {
|
if (options.params?.pagination) {
|
||||||
options.params.length = options.params.pagination.pageSize;
|
options.params.length = options.params.pagination.pageSize;
|
||||||
options.params.start = options.params?.length * (options.params.pagination.current - 1);
|
options.params.start =
|
||||||
|
options.params?.length * (options.params.pagination.current - 1);
|
||||||
delete options.params['pagination'];
|
delete options.params['pagination'];
|
||||||
}
|
}
|
||||||
if (options.data?.pagination) {
|
if (options.data?.pagination) {
|
||||||
options.data.length = options.data.pagination.pageSize;
|
options.data.length = options.data.pagination.pageSize;
|
||||||
options.data.start = options.data.length * (options.data.pagination.current - 1);
|
options.data.start =
|
||||||
|
options.data.length * (options.data.pagination.current - 1);
|
||||||
delete options.data['pagination'];
|
delete options.data['pagination'];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -81,19 +85,17 @@ request.use((async (ctx, next) => {
|
|||||||
if (options.params && options.params.equals) {
|
if (options.params && options.params.equals) {
|
||||||
let ids = [];
|
let ids = [];
|
||||||
let equalsObj = options.params.equals;
|
let equalsObj = options.params.equals;
|
||||||
Object.keys(equalsObj).map(key => {
|
Object.keys(equalsObj).map((key) => {
|
||||||
if (!Common.isEmpty(equalsObj[key])) {
|
if (!Common.isEmpty(equalsObj[key])) {
|
||||||
ids.push(key + "=" + equalsObj[key]);
|
ids.push(key + '=' + equalsObj[key]);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
options.params.equals = ids.join(",");
|
options.params.equals = ids.join(',');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 增加通用参数
|
// 增加通用参数
|
||||||
|
|
||||||
await next();
|
await next();
|
||||||
|
});
|
||||||
}));
|
|
||||||
|
|
||||||
|
|
||||||
export default request;
|
export default request;
|
||||||
|
|||||||
91
src/layouts/HeadLayout.js
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
import React, {useEffect, useState} from "react";
|
||||||
|
import less from "./HeadLayout.less";
|
||||||
|
import Flex from "../components/Flex";
|
||||||
|
import AppHelper from "@/utils/AppHelper";
|
||||||
|
|
||||||
|
const designWidth = 1280, designHeight = 720;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取头部高度
|
||||||
|
* @returns {number}
|
||||||
|
*/
|
||||||
|
export const getHeaderHeight = () => {
|
||||||
|
return 60;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default ({children, location}) => {
|
||||||
|
const [screen, setScreen] = useState({width: designWidth, height: designHeight});
|
||||||
|
const [scale, setScale] = useState(1);
|
||||||
|
const [boxList, setBoxList] = useState([]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
getList();
|
||||||
|
windowScale()
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
///////////////////////////////////////// 逻辑方法
|
||||||
|
|
||||||
|
const getList = () => {
|
||||||
|
let tmpBoxList = [
|
||||||
|
{id: "/home", name: "首页"},
|
||||||
|
{id: "/vehicle", name: "智慧交通"},
|
||||||
|
]
|
||||||
|
setBoxList(tmpBoxList);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 屏幕比例适配
|
||||||
|
*/
|
||||||
|
const windowScale = () => {
|
||||||
|
let tmpWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
||||||
|
let tmpHeight = window.innerHeight || document.documentElement.clientWidth || document.body.clientHeight;
|
||||||
|
|
||||||
|
let ratio = tmpWidth / designWidth;
|
||||||
|
if (tmpWidth > tmpHeight) {
|
||||||
|
setScreen({width: tmpWidth / ratio, height: tmpHeight / ratio});
|
||||||
|
} else {
|
||||||
|
setScreen({width: designWidth, height: designHeight});
|
||||||
|
}
|
||||||
|
setScale(ratio);
|
||||||
|
};
|
||||||
|
|
||||||
|
window.onresize = windowScale;
|
||||||
|
|
||||||
|
///////////////////////////////////////// 页面渲染
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Flex className={less.body} direction={"column"}>
|
||||||
|
<Flex
|
||||||
|
className={less.container} direction={"column"} id={"headerContainer"}
|
||||||
|
style={{
|
||||||
|
width: screen.width, height: screen.height,
|
||||||
|
transform: "scale(" + scale + ")",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Flex className={less.header}>
|
||||||
|
<img src={"./imgs/title.png"} className={less.logo}/>
|
||||||
|
|
||||||
|
<Flex className={less.module} alignItems={"center"}>
|
||||||
|
{boxList.map((it) => {
|
||||||
|
return (
|
||||||
|
<Flex
|
||||||
|
key={it.id} className={less.box}
|
||||||
|
justify={"center"} alignItems={"center"}
|
||||||
|
style={{
|
||||||
|
backgroundImage: it.id == location.pathname ? "url(./imgs/module_active.png)" : "url(./imgs/module_normal.png)",
|
||||||
|
}}
|
||||||
|
onClick={() => AppHelper.routerPush(it.id)}
|
||||||
|
>
|
||||||
|
{it.name}
|
||||||
|
</Flex>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<Flex itemGrow={1} className={less.content} direction={"column"}>{children}</Flex>
|
||||||
|
|
||||||
|
</Flex>
|
||||||
|
</Flex>
|
||||||
|
);
|
||||||
|
};
|
||||||
57
src/layouts/HeadLayout.less
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
.body {
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
|
||||||
|
font-family: serif;
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: 100vw;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.header {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 100;
|
||||||
|
width: 100%;
|
||||||
|
height: 60px;
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.module {
|
||||||
|
color: white;
|
||||||
|
font-size: 18px;
|
||||||
|
margin-top: 16px;
|
||||||
|
margin-left: 272px;
|
||||||
|
|
||||||
|
.box {
|
||||||
|
width: 156px;
|
||||||
|
height: 43px;
|
||||||
|
padding: 0 12px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: -10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shape {
|
||||||
|
height: 24px;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
border: none;
|
||||||
|
width: 100%;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,179 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0">
|
|
||||||
<script crossorigin src="./react.production.min.js"></script>
|
|
||||||
<script crossorigin src="./react-dom.production.min.js"></script>
|
|
||||||
<script crossorigin src="./charts.min.js"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<noscript>Out-of-the-box mid-stage front/design solution!</noscript>
|
|
||||||
<div id="root">
|
|
||||||
<style>html,
|
|
||||||
body,
|
|
||||||
#root {
|
|
||||||
height: 100%;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.page-loading-warp {
|
|
||||||
padding: 24px 98px;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin {
|
|
||||||
-webkit-box-sizing: border-box;
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
color: rgba(0, 0, 0, 0.65);
|
|
||||||
font-size: 14px;
|
|
||||||
font-variant: tabular-nums;
|
|
||||||
line-height: 1.5;
|
|
||||||
list-style: none;
|
|
||||||
-webkit-font-feature-settings: 'tnum';
|
|
||||||
font-feature-settings: 'tnum';
|
|
||||||
position: absolute;
|
|
||||||
display: none;
|
|
||||||
color: #1890ff;
|
|
||||||
text-align: center;
|
|
||||||
vertical-align: middle;
|
|
||||||
opacity: 0;
|
|
||||||
-webkit-transition: -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
|
|
||||||
transition: -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
|
|
||||||
transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
|
|
||||||
transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86),
|
|
||||||
-webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-spinning {
|
|
||||||
position: static;
|
|
||||||
display: inline-block;
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-dot {
|
|
||||||
position: relative;
|
|
||||||
display: inline-block;
|
|
||||||
font-size: 20px;
|
|
||||||
width: 20px;
|
|
||||||
height: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-dot-item {
|
|
||||||
position: absolute;
|
|
||||||
display: block;
|
|
||||||
width: 9px;
|
|
||||||
height: 9px;
|
|
||||||
background-color: #1296db;
|
|
||||||
border-radius: 100%;
|
|
||||||
-webkit-transform: scale(0.75);
|
|
||||||
-ms-transform: scale(0.75);
|
|
||||||
transform: scale(0.75);
|
|
||||||
-webkit-transform-origin: 50% 50%;
|
|
||||||
-ms-transform-origin: 50% 50%;
|
|
||||||
transform-origin: 50% 50%;
|
|
||||||
opacity: 0.3;
|
|
||||||
-webkit-animation: antSpinMove 1s infinite linear alternate;
|
|
||||||
animation: antSpinMove 1s infinite linear alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-dot-item:nth-child(1) {
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-dot-item:nth-child(2) {
|
|
||||||
top: 0;
|
|
||||||
right: 0;
|
|
||||||
-webkit-animation-delay: 0.4s;
|
|
||||||
animation-delay: 0.4s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-dot-item:nth-child(3) {
|
|
||||||
right: 0;
|
|
||||||
bottom: 0;
|
|
||||||
-webkit-animation-delay: 0.8s;
|
|
||||||
animation-delay: 0.8s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-dot-item:nth-child(4) {
|
|
||||||
bottom: 0;
|
|
||||||
left: 0;
|
|
||||||
-webkit-animation-delay: 1.2s;
|
|
||||||
animation-delay: 1.2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-dot-spin {
|
|
||||||
-webkit-transform: rotate(45deg);
|
|
||||||
-ms-transform: rotate(45deg);
|
|
||||||
transform: rotate(45deg);
|
|
||||||
-webkit-animation: antRotate 1.2s infinite linear;
|
|
||||||
animation: antRotate 1.2s infinite linear;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-lg .ant-spin-dot {
|
|
||||||
font-size: 32px;
|
|
||||||
width: 32px;
|
|
||||||
height: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-spin-lg .ant-spin-dot i {
|
|
||||||
width: 14px;
|
|
||||||
height: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
|
|
||||||
.ant-spin-blur {
|
|
||||||
background: #fff;
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes antSpinMove {
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes antSpinMove {
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes antRotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(405deg);
|
|
||||||
transform: rotate(405deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes antRotate {
|
|
||||||
to {
|
|
||||||
-webkit-transform: rotate(405deg);
|
|
||||||
transform: rotate(405deg);
|
|
||||||
}
|
|
||||||
}</style>
|
|
||||||
|
|
||||||
<div
|
|
||||||
style="display: flex;justify-content: center;align-items: center;flex-direction: column;min-height: 420px;height: 100%;">
|
|
||||||
<div class="page-loading-warp">
|
|
||||||
<div class="ant-spin ant-spin-lg ant-spin-spinning">
|
|
||||||
<span class="ant-spin-dot ant-spin-dot-spin">
|
|
||||||
<i class="ant-spin-dot-item"></i>
|
|
||||||
<i class="ant-spin-dot-item"></i>
|
|
||||||
<i class="ant-spin-dot-item"></i>
|
|
||||||
<i class="ant-spin-dot-item"></i>
|
|
||||||
</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
23
src/pages/home.jsx
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
import React from "react";
|
||||||
|
import Flex from "../components/Flex";
|
||||||
|
import less from "./home.less";
|
||||||
|
import {getHeaderHeight} from "@/layouts/HeadLayout";
|
||||||
|
|
||||||
|
const mapurl = "./imgs/home_bg.png";
|
||||||
|
|
||||||
|
export default () => {
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Flex
|
||||||
|
className={less.map} direction={"column"}
|
||||||
|
style={{backgroundImage: `url(${mapurl})`, paddingTop: getHeaderHeight()}}
|
||||||
|
>
|
||||||
|
|
||||||
|
<Flex className={less.title} justify={"center"} alignItems={"center"} itemGrow={1}>
|
||||||
|
<img alt={""} src={"./imgs/home_title_bg.png"}/>
|
||||||
|
<Flex>浙江工商大学平安校园指挥中心</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
</Flex>
|
||||||
|
);
|
||||||
|
};
|
||||||
75
src/pages/home.less
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
|
||||||
|
.map {
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
background-size: 100% 100% !important;
|
||||||
|
background-repeat: no-repeat !important;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
margin-top: 20px;
|
||||||
|
width: 100%;
|
||||||
|
color: #fff;
|
||||||
|
height: 0;
|
||||||
|
font-size: 48px;
|
||||||
|
|
||||||
|
img {
|
||||||
|
position: absolute;
|
||||||
|
height: 180px;
|
||||||
|
left: 0;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.rule {
|
||||||
|
margin-top: 6px;
|
||||||
|
|
||||||
|
.caosu {
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: white;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.xsCampus {
|
||||||
|
border: 1px solid #00BBFF;
|
||||||
|
border-radius: 1px;
|
||||||
|
background: rgba(0, 133, 255, 0.3);
|
||||||
|
height: 67px;
|
||||||
|
width: 87px;
|
||||||
|
font-size: 12px;
|
||||||
|
color: white;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
margin-right: 12px;
|
||||||
|
|
||||||
|
.number {
|
||||||
|
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.jglCampus {
|
||||||
|
.xsCampus;
|
||||||
|
background: rgba(162, 180, 253, 0.3);
|
||||||
|
border-radius: 1px;
|
||||||
|
border: 1px solid #A2B4FD;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.caosuModal {
|
||||||
|
margin: 24px;
|
||||||
|
line-height: 3;
|
||||||
|
color: #40A4FF;
|
||||||
|
font-size: 13px;
|
||||||
|
width: 0;
|
||||||
|
|
||||||
|
.content {
|
||||||
|
background: rgba(0, 0, 0, 0.25);
|
||||||
|
width: 200px;
|
||||||
|
height: 29px;
|
||||||
|
line-height: 29px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
import React from "react";
|
|
||||||
import less from './index.less'
|
|
||||||
import LeftPage from '../components/LeftPage'
|
|
||||||
import RightPage from '../components/RightPage'
|
|
||||||
import Flex from "@/components/Flex";
|
|
||||||
|
|
||||||
const bgUrl = window.sessionStorage.getItem('core_3d_map_bg');
|
|
||||||
|
|
||||||
export default () => {
|
|
||||||
|
|
||||||
///////////////////////////////////////// 页面渲染
|
|
||||||
|
|
||||||
return <Flex className={less.body} style={{backgroundImage: `url(${bgUrl})`}}>
|
|
||||||
|
|
||||||
<LeftPage/>
|
|
||||||
|
|
||||||
<Flex itemGrow={1} style={{width: 0}}>
|
|
||||||
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
<RightPage/>
|
|
||||||
|
|
||||||
</Flex>
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
.body {
|
|
||||||
width: 100vw;
|
|
||||||
height: 100vh;
|
|
||||||
background-size: 100% 100%;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
}
|
|
||||||
|
|
||||||
.container {
|
|
||||||
padding: 5px 15px;
|
|
||||||
//background-image: url("../assets/map.png") ;
|
|
||||||
background-color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.containerBody {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: center;
|
|
||||||
width: 100%;
|
|
||||||
height: 88%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.left_box {
|
|
||||||
width: 20%;
|
|
||||||
//height: 95%;
|
|
||||||
//min-width: 900px;
|
|
||||||
//background-color: aqua;
|
|
||||||
}
|
|
||||||
|
|
||||||
.middle_box {
|
|
||||||
width: 60%;
|
|
||||||
//background-color: saddlebrown;
|
|
||||||
}
|
|
||||||
|
|
||||||
.right_box {
|
|
||||||
width: 20%;
|
|
||||||
//background-color: greenyellow;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal_box {
|
|
||||||
position: absolute;
|
|
||||||
left: 50%;
|
|
||||||
top: 50%;
|
|
||||||
transform: translate(-50%, -75%);
|
|
||||||
width: 769px;
|
|
||||||
height: 430px;
|
|
||||||
background: rgba(0, 0, 0, 0.1);
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border: 2px solid #10FDF2;
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
|
|
||||||
.modal_title {
|
|
||||||
transform: translateY(5%);
|
|
||||||
height: 8%;
|
|
||||||
font-size: 18px;
|
|
||||||
font-weight: 500;
|
|
||||||
color: #FFFFFF;
|
|
||||||
line-height: 25px;
|
|
||||||
text-align: center;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal_body {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
height: 22%;
|
|
||||||
|
|
||||||
.text {
|
|
||||||
height: 45px;
|
|
||||||
width: 25%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
border-radius: 22px;
|
|
||||||
background-color: rgba(0, 0, 0, 0.1);
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 400;
|
|
||||||
color: #D5D8E2;
|
|
||||||
line-height: 20px;
|
|
||||||
text-align: center;
|
|
||||||
padding-left: 10px;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
|
|
||||||
|
|
||||||
&:nth-child(1) {
|
|
||||||
//transform: translateX(55px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.title_box {
|
|
||||||
display: block;
|
|
||||||
font-size: 20px;
|
|
||||||
background-color: #10FDF2;
|
|
||||||
padding: 0 8px 5px 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.search_btn {
|
|
||||||
position: absolute;
|
|
||||||
right: 15px;
|
|
||||||
width: 43px;
|
|
||||||
height: 43px;
|
|
||||||
border-radius: 50%;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
cursor: pointer;
|
|
||||||
background: #14FDF7;
|
|
||||||
}
|
|
||||||
|
|
||||||
option {
|
|
||||||
font-size: 14px;
|
|
||||||
// background: rgba(47, 253, 239, 0.1);
|
|
||||||
background-color: rgb(0, 52, 73);
|
|
||||||
color: #D5D8E2;
|
|
||||||
backdrop-filter: blur(10px);
|
|
||||||
border: 2px solid #24A7A4;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.middleDetails {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
height: 69%;
|
|
||||||
|
|
||||||
.pic {
|
|
||||||
width: 45%;
|
|
||||||
height: 200px;
|
|
||||||
border: 1px solid #14FDF7;
|
|
||||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.25);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
162
src/pages/vehicle.jsx
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
import React, {useRef} from "react";
|
||||||
|
import Flex from "../components/Flex";
|
||||||
|
import less from "./home.less";
|
||||||
|
import {getHeaderHeight} from "@/layouts/HeadLayout";
|
||||||
|
import CampusData, {InOutVehicleInfo, VehicleArea} from "@/components/CampusData";
|
||||||
|
import {ScrollBoard} from "@jiaminghi/data-view-react";
|
||||||
|
import BlueCard from "@/components/BlueCard";
|
||||||
|
import ZjsuModal from "@/components/ZjsuModal";
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出入车辆信息
|
||||||
|
* @constructor
|
||||||
|
*/
|
||||||
|
const VehicleRuleBoard = ({onDetailClick}) => {
|
||||||
|
|
||||||
|
let rowNum = 4;
|
||||||
|
|
||||||
|
let config = {
|
||||||
|
header: ["校区", "车牌号", "时间", "测速点", "车速", "操作"],
|
||||||
|
headerBGC: "transparent",
|
||||||
|
headerHeight: 22,
|
||||||
|
data: [
|
||||||
|
["下沙校区", "浙A627NJ", "2022-05-29 12:11", "xxx", "90km/h", "查看详情"],
|
||||||
|
["下沙校区", "浙A627NJ", "2022-05-29 15:32", "xxx", "90km/h", "查看详情"],
|
||||||
|
["下沙校区", "浙A627NJ", "2022-06-03 09:34", "xxx", "90km/h", "查看详情"],
|
||||||
|
["下沙校区", "浙A627NJ", "2022-06-03 11:01", "xxx", "90km/h", "查看详情"],
|
||||||
|
["下沙校区", "浙A627NJ", "2022-06-03 11:01", "xxx", "90km/h", "查看详情"],
|
||||||
|
["下沙校区", "浙A627NJ", "2022-06-03 11:01", "xxx", "90km/h", "查看详情"],
|
||||||
|
],
|
||||||
|
oddRowBGC: "rgba(0, 0, 0, 0.25)",
|
||||||
|
evenRowBGC: "transparent",
|
||||||
|
|
||||||
|
align: ["left", "center", "center", "center", "center", "center"],
|
||||||
|
rowNum,
|
||||||
|
}
|
||||||
|
|
||||||
|
return <ScrollBoard
|
||||||
|
className={"scrollBoard"} config={config} style={{width: "100%", height: rowNum * 32 + 22}}
|
||||||
|
onClick={e => onDetailClick()}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export default () => {
|
||||||
|
|
||||||
|
const cllModalRef = useRef();
|
||||||
|
const inoutModalRef = useRef();
|
||||||
|
const caosuModalRef = useRef();
|
||||||
|
|
||||||
|
///////////////////////////////////// 逻辑方法
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车流量点击事件
|
||||||
|
*/
|
||||||
|
const onCllClick = () => {
|
||||||
|
cllModalRef?.current?.showModal();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车辆出入点击事件
|
||||||
|
*/
|
||||||
|
const onInoutClick = () => {
|
||||||
|
inoutModalRef?.current?.showModal();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 车辆超速详情
|
||||||
|
*/
|
||||||
|
const onCaosuClick = () => {
|
||||||
|
caosuModalRef?.current?.showModal();
|
||||||
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////// 页面渲染
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Flex
|
||||||
|
className={less.map}
|
||||||
|
style={{backgroundImage: "url('./imgs/campus_bg.png')", paddingTop: getHeaderHeight()}}
|
||||||
|
>
|
||||||
|
|
||||||
|
<CampusData
|
||||||
|
title={"下沙校区"} style={{width: 260}}
|
||||||
|
onCllClick={onCllClick} onInoutClick={onInoutClick}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<Flex itemGrow={1} style={{width: 0, margin: "0 6px 6px"}} direction={"column"}>
|
||||||
|
|
||||||
|
<Flex itemGrow={1} style={{height: 0}} />
|
||||||
|
|
||||||
|
|
||||||
|
<Flex direction={"column"} className={less.rule}>
|
||||||
|
<Flex className={less.caosu}>今日车辆超速</Flex>
|
||||||
|
|
||||||
|
<Flex>
|
||||||
|
<Flex className={less.xsCampus} direction={"column"} justify={"center"} alignItems={"center"}>
|
||||||
|
<Flex className={less.number}>988</Flex>
|
||||||
|
<Flex>下沙校区</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<Flex className={less.jglCampus} direction={"column"} justify={"center"} alignItems={"center"}>
|
||||||
|
<Flex className={less.number}>234</Flex>
|
||||||
|
<Flex>教工路校区</Flex>
|
||||||
|
</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<BlueCard><VehicleRuleBoard onDetailClick={onCaosuClick}/></BlueCard>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<CampusData
|
||||||
|
title={"教工路校区"} style={{width: 260}}
|
||||||
|
onCllClick={onCllClick} onInoutClick={onInoutClick}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<ZjsuModal title={"进出校车辆消息记录"} ref={inoutModalRef}>
|
||||||
|
<InOutVehicleInfo align={["center", "center", "center"]} columnWidth={[]} rowNum={6}/>
|
||||||
|
</ZjsuModal>
|
||||||
|
|
||||||
|
<ZjsuModal title={"车流量走势图"} ref={cllModalRef}>
|
||||||
|
<VehicleArea padding={[40, 0, 30, 30]}/>
|
||||||
|
</ZjsuModal>
|
||||||
|
|
||||||
|
<ZjsuModal title={"车辆超速详情"} ref={caosuModalRef}>
|
||||||
|
<Flex style={{width: "100%"}}>
|
||||||
|
<img alt={""} src={"./imgs/caosu_holder.png"}/>
|
||||||
|
|
||||||
|
<Flex itemGrow={1} direction={"column"} className={less.caosuModal}>
|
||||||
|
<Flex justify={"space-around"} alignItems={"center"}>
|
||||||
|
<Flex>校区</Flex>
|
||||||
|
<Flex className={less.content} justify={"center"}>下沙校区</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<Flex justify={"space-around"} alignItems={"center"}>
|
||||||
|
<Flex>车牌</Flex>
|
||||||
|
<Flex className={less.content} justify={"center"}>浙A627NJ</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<Flex justify={"space-around"} alignItems={"center"}>
|
||||||
|
<Flex>时间</Flex>
|
||||||
|
<Flex className={less.content} justify={"center"}>2022-05-28 12:11</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<Flex justify={"space-around"} alignItems={"center"}>
|
||||||
|
<Flex>点位</Flex>
|
||||||
|
<Flex className={less.content} justify={"center"}>xxx</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
<Flex justify={"space-around"} alignItems={"center"}>
|
||||||
|
<Flex>车速</Flex>
|
||||||
|
<Flex className={less.content} justify={"center"}>90km/h</Flex>
|
||||||
|
</Flex>
|
||||||
|
</Flex>
|
||||||
|
|
||||||
|
</Flex>
|
||||||
|
</ZjsuModal>
|
||||||
|
|
||||||
|
</Flex>
|
||||||
|
);
|
||||||
|
};
|
||||||