diff --git a/package-lock.json b/package-lock.json index 7493b8a0..624a9267 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "zhihuiyun", "version": "0.1.0", "dependencies": { + "@wangeditor/editor-for-vue": "^1.0.2", "axios": "^1.5.0", "core-js": "^3.8.3", "echarts": "^5.4.3", @@ -22,8 +23,8 @@ "vue": "^2.7.14", "vue-router": "^3.5.1", "vue-seamless-scroll": "^1.1.23", - "vue-video-player": "^6.0.0", - "vuex": "^3.6.2" + "vuex": "^3.6.2", + "wangeditor": "^4.7.15" }, "devDependencies": { "@vue/cli-plugin-babel": "~5.0.0", @@ -1735,6 +1736,17 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.27.3.tgz", + "integrity": "sha512-ZYcgrwb+dkWNcDlsTe4fH1CMdqMDSJ5lWFd1by8Si2pI54XcQjte/+ViIPqAk7EAWisaUxvQ89grv+bNX2x8zg==", + "dependencies": { + "core-js-pure": "^3.30.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/template": { "version": "7.22.5", "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.22.5.tgz", @@ -2037,6 +2049,12 @@ "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, + "node_modules/@transloadit/prettier-bytes": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", + "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==", + "peer": true + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", @@ -2110,6 +2128,12 @@ "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", "dev": true }, + "node_modules/@types/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@types/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==", + "peer": true + }, "node_modules/@types/express": { "version": "4.17.17", "resolved": "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz", @@ -2257,6 +2281,61 @@ "@types/node": "*" } }, + "node_modules/@uppy/companion-client": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-2.2.2.tgz", + "integrity": "sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==", + "peer": true, + "dependencies": { + "@uppy/utils": "^4.1.2", + "namespace-emitter": "^2.0.1" + } + }, + "node_modules/@uppy/core": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@uppy/core/-/core-2.3.4.tgz", + "integrity": "sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==", + "peer": true, + "dependencies": { + "@transloadit/prettier-bytes": "0.0.7", + "@uppy/store-default": "^2.1.1", + "@uppy/utils": "^4.1.3", + "lodash.throttle": "^4.1.1", + "mime-match": "^1.0.2", + "namespace-emitter": "^2.0.1", + "nanoid": "^3.1.25", + "preact": "^10.5.13" + } + }, + "node_modules/@uppy/store-default": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-2.1.1.tgz", + "integrity": "sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==", + "peer": true + }, + "node_modules/@uppy/utils": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-4.1.3.tgz", + "integrity": "sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==", + "peer": true, + "dependencies": { + "lodash.throttle": "^4.1.1" + } + }, + "node_modules/@uppy/xhr-upload": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-2.1.3.tgz", + "integrity": "sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==", + "peer": true, + "dependencies": { + "@uppy/companion-client": "^2.2.2", + "@uppy/utils": "^4.1.2", + "nanoid": "^3.1.25" + }, + "peerDependencies": { + "@uppy/core": "^2.3.3" + } + }, "node_modules/@videojs/http-streaming": { "version": "2.16.2", "resolved": "https://registry.npmjs.org/@videojs/http-streaming/-/http-streaming-2.16.2.tgz", @@ -2928,6 +3007,164 @@ "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", "dev": true }, + "node_modules/@wangeditor/basic-modules": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/@wangeditor/basic-modules/-/basic-modules-1.1.7.tgz", + "integrity": "sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==", + "peer": true, + "dependencies": { + "is-url": "^1.2.4" + }, + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "lodash.throttle": "^4.1.1", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/code-highlight": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@wangeditor/code-highlight/-/code-highlight-1.0.3.tgz", + "integrity": "sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==", + "peer": true, + "dependencies": { + "prismjs": "^1.23.0" + }, + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/core": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/@wangeditor/core/-/core-1.1.19.tgz", + "integrity": "sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==", + "peer": true, + "dependencies": { + "@types/event-emitter": "^0.3.3", + "event-emitter": "^0.3.5", + "html-void-elements": "^2.0.0", + "i18next": "^20.4.0", + "scroll-into-view-if-needed": "^2.2.28", + "slate-history": "^0.66.0" + }, + "peerDependencies": { + "@uppy/core": "^2.1.1", + "@uppy/xhr-upload": "^2.0.3", + "dom7": "^3.0.0", + "is-hotkey": "^0.2.0", + "lodash.camelcase": "^4.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.debounce": "^4.0.8", + "lodash.foreach": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.throttle": "^4.1.1", + "lodash.toarray": "^4.4.0", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/editor": { + "version": "5.1.23", + "resolved": "https://registry.npmjs.org/@wangeditor/editor/-/editor-5.1.23.tgz", + "integrity": "sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==", + "peer": true, + "dependencies": { + "@uppy/core": "^2.1.1", + "@uppy/xhr-upload": "^2.0.3", + "@wangeditor/basic-modules": "^1.1.7", + "@wangeditor/code-highlight": "^1.0.3", + "@wangeditor/core": "^1.1.19", + "@wangeditor/list-module": "^1.0.5", + "@wangeditor/table-module": "^1.1.4", + "@wangeditor/upload-image-module": "^1.0.2", + "@wangeditor/video-module": "^1.1.4", + "dom7": "^3.0.0", + "is-hotkey": "^0.2.0", + "lodash.camelcase": "^4.3.0", + "lodash.clonedeep": "^4.5.0", + "lodash.debounce": "^4.0.8", + "lodash.foreach": "^4.5.0", + "lodash.isequal": "^4.5.0", + "lodash.throttle": "^4.1.1", + "lodash.toarray": "^4.4.0", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/editor-for-vue": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@wangeditor/editor-for-vue/-/editor-for-vue-1.0.2.tgz", + "integrity": "sha512-BOENvAXJVtVXlE2X50AAvjV82YlCUeu5cbeR0cvEQHQjYtiVnJtq7HSoj85r2kTgGouI5OrpJG9BBEjSjUSPyA==", + "peerDependencies": { + "@wangeditor/editor": ">=5.1.0", + "vue": "^2.6.14" + } + }, + "node_modules/@wangeditor/list-module": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@wangeditor/list-module/-/list-module-1.0.5.tgz", + "integrity": "sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==", + "peer": true, + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/table-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/table-module/-/table-module-1.1.4.tgz", + "integrity": "sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==", + "peer": true, + "peerDependencies": { + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "lodash.isequal": "^4.5.0", + "lodash.throttle": "^4.1.1", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/upload-image-module": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@wangeditor/upload-image-module/-/upload-image-module-1.0.2.tgz", + "integrity": "sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==", + "peer": true, + "peerDependencies": { + "@uppy/core": "^2.0.3", + "@uppy/xhr-upload": "^2.0.3", + "@wangeditor/basic-modules": "1.x", + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "lodash.foreach": "^4.5.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, + "node_modules/@wangeditor/video-module": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@wangeditor/video-module/-/video-module-1.1.4.tgz", + "integrity": "sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==", + "peer": true, + "peerDependencies": { + "@uppy/core": "^2.1.4", + "@uppy/xhr-upload": "^2.0.7", + "@wangeditor/core": "1.x", + "dom7": "^3.0.0", + "nanoid": "^3.2.0", + "slate": "^0.72.0", + "snabbdom": "^3.1.0" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.6", "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz", @@ -3736,18 +3973,36 @@ } }, "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", @@ -4161,6 +4416,12 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, + "node_modules/compute-scroll-into-view": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz", + "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==", + "peer": true + }, "node_modules/comutils": { "version": "1.1.19", "resolved": "https://registry.npmjs.org/comutils/-/comutils-1.1.19.tgz", @@ -4301,6 +4562,16 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/core-js-pure": { + "version": "3.42.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.42.0.tgz", + "integrity": "sha512-007bM04u91fF4kMgwom2I5cQxAFIy8jVulgr9eozILl/SZE53QOqnW/+vviC+wQWLv+AunBG+8Q0TLoeSsSxRQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz", @@ -4664,6 +4935,19 @@ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz", "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "peer": true, + "dependencies": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/de-indent": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", @@ -4845,6 +5129,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-lazy-prop": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", @@ -4855,11 +5156,12 @@ } }, "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -4966,6 +5268,15 @@ "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz", "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==" }, + "node_modules/dom7": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dom7/-/dom7-3.0.0.tgz", + "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==", + "peer": true, + "dependencies": { + "ssr-window": "^3.0.0-alpha.1" + } + }, "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz", @@ -5032,6 +5343,20 @@ "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", "dev": true }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", @@ -5166,12 +5491,58 @@ "stackframe": "^1.3.4" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-module-lexer": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.3.0.tgz", "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", "dev": true }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "hasInstallScript": true, + "peer": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/es5-shim": { "version": "4.6.7", "resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.7.tgz", @@ -5180,11 +5551,35 @@ "node": ">=0.4.0" } }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "peer": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, "node_modules/es6-promise": { "version": "4.2.8", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" }, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "peer": true, + "dependencies": { + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz", @@ -5222,6 +5617,21 @@ "node": ">=8.0.0" } }, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "peer": true, + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz", @@ -5270,6 +5680,16 @@ "node": ">= 0.6" } }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "peer": true, + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, "node_modules/event-pubsub": { "version": "4.3.0", "resolved": "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz", @@ -5375,6 +5795,15 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "peer": true, + "dependencies": { + "type": "^2.7.2" + } + }, "node_modules/ezuikit-js": { "version": "7.7.10", "resolved": "https://registry.npmmirror.com/ezuikit-js/-/ezuikit-js-7.7.10.tgz", @@ -5641,10 +6070,13 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gensync": { "version": "1.0.0-beta.2", @@ -5664,20 +6096,42 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "4.1.0", "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz", @@ -5767,6 +6221,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -5816,33 +6282,21 @@ } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "engines": { - "node": ">= 0.4" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "engines": { "node": ">= 0.4" @@ -5857,6 +6311,18 @@ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", "dev": true }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", @@ -5980,6 +6446,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, "node_modules/html-webpack-plugin": { "version": "5.5.3", "resolved": "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz", @@ -6109,6 +6585,15 @@ "node": ">=10.17.0" } }, + "node_modules/i18next": { + "version": "20.6.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz", + "integrity": "sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.12.0" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -6162,6 +6647,16 @@ "node": ">= 4" } }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/immutable": { "version": "4.3.4", "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.4.tgz", @@ -6303,6 +6798,12 @@ "node": ">=0.10.0" } }, + "node_modules/is-hotkey": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-hotkey/-/is-hotkey-0.2.0.tgz", + "integrity": "sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==", + "peer": true + }, "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz", @@ -6366,6 +6867,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "peer": true + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz", @@ -6634,11 +7141,22 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "peer": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==", + "peer": true + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, "node_modules/lodash.defaultsdeep": { "version": "4.6.1", @@ -6646,6 +7164,19 @@ "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", "dev": true }, + "node_modules/lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", + "peer": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead.", + "peer": true + }, "node_modules/lodash.kebabcase": { "version": "4.1.1", "resolved": "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", @@ -6664,6 +7195,18 @@ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", "dev": true }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "peer": true + }, + "node_modules/lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==", + "peer": true + }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -6915,6 +7458,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", @@ -7014,6 +7566,21 @@ "node": ">= 0.6" } }, + "node_modules/mime-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", + "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", + "peer": true, + "dependencies": { + "wildcard": "^1.1.0" + } + }, + "node_modules/mime-match/node_modules/wildcard": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", + "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==", + "peer": true + }, "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", @@ -7246,6 +7813,12 @@ "thenify-all": "^1.0.0" } }, + "node_modules/namespace-emitter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", + "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==", + "peer": true + }, "node_modules/nanoid": { "version": "3.3.6", "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz", @@ -7278,6 +7851,12 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "peer": true + }, "node_modules/nice-try": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz", @@ -8447,6 +9026,16 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/preact": { + "version": "10.26.7", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.26.7.tgz", + "integrity": "sha512-43xS+QYc1X1IPbw03faSgY6I6OYWcLrJRv3hU0+qMOfh/XCHcP0MX2CVjNARYR2cC/guu975sta4OcjlczxD7g==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prettier": { "version": "2.8.8", "resolved": "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz", @@ -8473,6 +9062,15 @@ "renderkid": "^3.0.0" } }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -9153,6 +9751,15 @@ "url": "https://opencollective.com/webpack" } }, + "node_modules/scroll-into-view-if-needed": { + "version": "2.2.31", + "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", + "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==", + "peer": true, + "dependencies": { + "compute-scroll-into-view": "^1.0.20" + } + }, "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz", @@ -9332,6 +9939,23 @@ "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setprototypeof": { "version": "1.2.0", "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", @@ -9423,6 +10047,56 @@ "node": ">=8" } }, + "node_modules/slate": { + "version": "0.72.8", + "resolved": "https://registry.npmjs.org/slate/-/slate-0.72.8.tgz", + "integrity": "sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==", + "peer": true, + "dependencies": { + "immer": "^9.0.6", + "is-plain-object": "^5.0.0", + "tiny-warning": "^1.0.3" + } + }, + "node_modules/slate-history": { + "version": "0.66.0", + "resolved": "https://registry.npmjs.org/slate-history/-/slate-history-0.66.0.tgz", + "integrity": "sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==", + "peer": true, + "dependencies": { + "is-plain-object": "^5.0.0" + }, + "peerDependencies": { + "slate": ">=0.65.3" + } + }, + "node_modules/slate-history/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/slate/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snabbdom": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/snabbdom/-/snabbdom-3.6.2.tgz", + "integrity": "sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q==", + "peer": true, + "engines": { + "node": ">=12.17.0" + } + }, "node_modules/sockjs": { "version": "0.3.24", "resolved": "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz", @@ -9522,6 +10196,12 @@ "wbuf": "^1.7.3" } }, + "node_modules/ssr-window": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz", + "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==", + "peer": true + }, "node_modules/ssri": { "version": "8.0.1", "resolved": "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz", @@ -9866,6 +10546,12 @@ "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "peer": true + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -9914,8 +10600,7 @@ "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tsml": { "version": "1.0.1", @@ -9923,6 +10608,12 @@ "integrity": "sha512-3KmepnH9SUsoOVtg013CRrL7c+AK7ECaquAsJdvu4288EDJuraqBlP4PDXT/rLEJ9YDn4jqLAzRJsnFPx+V6lg==", "deprecated": "no longer maintained" }, + "node_modules/type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "peer": true + }, "node_modules/type-fest": { "version": "0.6.0", "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz", @@ -10463,29 +11154,6 @@ "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", "dev": true }, - "node_modules/vue-video-player": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/vue-video-player/-/vue-video-player-6.0.0.tgz", - "integrity": "sha512-WP47OtefsjMEReRCIKIL3tRRgH/PyNm8ELjsbYgr/WWrYAj5Ih9Adzkzp+ylYOI/v57jJ4O7O4XkbXBCmsTqNw==", - "dependencies": { - "@videojs-player/vue": "1.x" - }, - "peerDependencies": { - "@types/video.js": "7.x", - "video.js": "7.x", - "vue": "3.x" - } - }, - "node_modules/vue-video-player/node_modules/@videojs-player/vue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@videojs-player/vue/-/vue-1.0.0.tgz", - "integrity": "sha512-WonTezRfKu3fYdQLt/ta+nuKH6gMZUv8l40Jke/j4Lae7IqeO/+lLAmBnh3ni88bwR+vkFXIlZ2Ci7VKInIYJg==", - "peerDependencies": { - "@types/video.js": "7.x", - "video.js": "7.x", - "vue": "3.x" - } - }, "node_modules/vuex": { "version": "3.6.2", "resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz", @@ -10494,6 +11162,16 @@ "vue": "^2.0.0" } }, + "node_modules/wangeditor": { + "version": "4.7.15", + "resolved": "https://registry.npmjs.org/wangeditor/-/wangeditor-4.7.15.tgz", + "integrity": "sha512-aPTdREd8BxXVyJ5MI+LU83FQ7u1EPd341iXIorRNYSOvoimNoZ4nPg+yn3FGbB93/owEa6buLw8wdhYnMCJQLg==", + "dependencies": { + "@babel/runtime": "^7.11.2", + "@babel/runtime-corejs3": "^7.11.2", + "tslib": "^2.1.0" + } + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz", diff --git a/package.json b/package.json index 66e168d0..bedcb262 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "build": "vue-cli-service build" }, "dependencies": { + "@wangeditor/editor-for-vue": "^1.0.2", "axios": "^1.5.0", "core-js": "^3.8.3", "echarts": "^5.4.3", @@ -21,8 +22,8 @@ "vue": "^2.7.14", "vue-router": "^3.5.1", "vue-seamless-scroll": "^1.1.23", - "vue-video-player": "^6.0.0", - "vuex": "^3.6.2" + "vuex": "^3.6.2", + "wangeditor": "^4.7.15" }, "devDependencies": { "@vue/cli-plugin-babel": "~5.0.0", diff --git a/src/App.vue b/src/App.vue index 99ceefc5..1c61672e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -55,7 +55,7 @@ selectValue(e) { box-sizing: border-box; font-family: Microsoft YaHei; font-weight: 400; - color: #fff; + // color: #fff; } input::-webkit-outer-spin-button, @@ -124,7 +124,12 @@ input::-webkit-inner-spin-button { background: linear-gradient(180deg, rgba(6, 72, 167, 0.5) 0%, rgba(6, 72, 167, 0) 100%); } - +.el-table{ + .cell{ + color: #fff; + } + +} .input-50 { .input-title { font-size: 16px; diff --git a/src/api/index.js b/src/api/index.js index c3a0d689..3aae6a2a 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,29 +1,29 @@ import axios from "axios"; -// import qs from 'qs' -import router from '../router/index' +// import qs from `qs` +import router from "../router/index" function sendGetRequest(url, data) { return new Promise(function (resolve, reject) { axios.get(url, { headers: { //头部参数 - // 'Content-Type': 'application/json; charset=utf-8', - // "Access-Control-Allow-Origin": "*", - // "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept", - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + // `Content-Type`: `application/json; charset=utf-8`, + // `Access-Control-Allow-Origin`: `*`, + // `Access-Control-Allow-Headers`: `Origin, X-Requested-With, Content-Type, Accept`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) }, params: data }) .then(function (res) { //请求成功,response接收返回参数 if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } // router.push({ - // name: 'login' + // name: `login` // }) } resolve(res); @@ -34,6 +34,7 @@ function sendGetRequest(url, data) { }) }); } + function sendUploadRequest(url, data) { // 一个状态为resolve(包裹的是数据) // 或者状态为reject (包裹的是错误信息) @@ -41,17 +42,17 @@ function sendUploadRequest(url, data) { return new Promise(function (resolve, reject) { axios.post(url, data, { headers: { - 'Content-Type': 'multipart/form-data', - // 'Content-Type': 'application/json; charset=utf-8', - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + "Content-Type": `multipart/form-data`, + // `Content-Type`: `application/json; charset=utf-8`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) } }).then( (res) => { if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } } @@ -71,16 +72,16 @@ function sendPostRequest(url, data) { return new Promise(function (resolve, reject) { axios.post(url, data, { headers: { - // 'Content-Type': 'application/json; charset=utf-8', - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + // `Content-Type`: `application/json; charset=utf-8`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) } }).then( (res) => { if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } } @@ -100,19 +101,19 @@ function sendDelRequest(url, data) { return new Promise(function (resolve, reject) { axios.delete(url, { headers: { //头部参数 - // 'Content-Type': 'application/json; charset=utf-8', - // "Access-Control-Allow-Origin": "*", - // "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept", - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + // `Content-Type`: `application/json; charset=utf-8`, + // `Access-Control-Allow-Origin`: `*`, + // `Access-Control-Allow-Headers`: `Origin, X-Requested-With, Content-Type, Accept`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) }, params: data }).then( (res) => { if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } } @@ -131,16 +132,16 @@ function sendPutRequest(url, data) { return new Promise(function (resolve, reject) { axios.put(url, data, { headers: { - // 'Content-Type': 'application/json; charset=utf-8', - 'token': (localStorage.getItem('token') ? localStorage.getItem('token') : '') + // `Content-Type`: `application/json; charset=utf-8`, + "token": (localStorage.getItem(`token`) ? localStorage.getItem(`token`) : ``) } }).then( (res) => { if (res.data.code == 401) { - localStorage.removeItem('token') - if(router.currentRoute.name!='login'){ + localStorage.removeItem(`token`) + if(router.currentRoute.name!=`login`){ router.push({ - name: 'login' + name: `login` }) } } @@ -153,7 +154,7 @@ function sendPutRequest(url, data) { }); } //总接口域名 -axios.defaults.baseURL = "/api"; +// axios.defaults.baseURL = `/jiaxing`; axios.defaults.timeout = 30000; // 设置全局默认请求超时时间为10秒 @@ -162,520 +163,520 @@ axios.defaults.timeout = 30000; // 设置全局默认请求超时时间为10秒 export default { //防止没有一个post/get会报错 写一个默认的 get(data) { - return sendGetRequest("", data); + return sendGetRequest(`/jiaxing`, data); }, post(data) { - return sendPostRequest("", data); + return sendPostRequest(`/jiaxing`, data); }, delete(data) { - return sendDelRequest("", data); + return sendDelRequest(`/jiaxing`, data); }, put(data) { - return sendPutRequest("", data); + return sendPutRequest(`/jiaxing`, data); }, //接口开始() //登录 login(data) { - return sendPostRequest("/user/login", data); + return sendPostRequest(`/jiaxing/user/login`, data); }, loginOut(data) { - return sendGetRequest("/user/logout", data); + return sendGetRequest(`/jiaxing/user/logout`, data); }, //管理员根据设备id查询设备信息 getSeldevicebyid(data) { - return sendGetRequest("/admin/seldevicebyid", data); + return sendGetRequest(`/jiaxing/admin/seldevicebyid`, data); }, //根据用户id查询对应的设备数据 getEqbyid(data) { - return sendGetRequest("/sel/eqbyid/" + data, ''); + return sendGetRequest(`/jiaxing/sel/eqbyid/` + data, ``); }, //气象站显示 geteqetdata(data) { - return sendGetRequest(`/getcontrol/geteqetdata?userId=`+data ,"") + return sendGetRequest(`/jiaxing/getcontrol/geteqetdata?userId=`+data ,``) }, // 数据采集器的实时数据 getdataRtdata(data) { - return sendGetRequest(`/getdata/rtdata?deviceId=` + data, '') + return sendGetRequest(`/jiaxing/getdata/rtdata?deviceId=` + data, ``) }, //测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口 postReg(data) { - return sendPostRequest("/readFs/reg", data); + return sendPostRequest(`/jiaxing/readFs/reg`, data); }, //测试施肥机读取设备状态信息 //读取数据 根据文档编号读取 所有数据展示都出自这个接口 postState(data) { - return sendPostRequest("/readFs/state", data); + return sendPostRequest(`/jiaxing/readFs/state`, data); }, //测试施肥机写入数据信息 //修改数据 根据文档编号修改 所有数据修改都出自这个接口 postWriteFs(data) { - return sendPostRequest("/writeFs", data); + return sendPostRequest(`/jiaxing/writeFs`, data); }, getByid(data) { - return sendGetRequest("/readFs/byid", data); + return sendGetRequest(`/jiaxing/readFs/byid`, data); }, //获取实时数据 postRtdata(data) { - return sendPostRequest("/getFs/rtdata?equipmentId=" + data, ''); + return sendPostRequest(`/jiaxing/getFs/rtdata?equipmentId=` + data, ``); }, //获取实时数据 postFsdata(data) { - return sendPostRequest("/chart/fsdata?equipmentId=" + data, ''); + return sendPostRequest(`/jiaxing/chart/fsdata?equipmentId=` + data, ``); }, //获取监控地址 getGethls(data) { - return sendGetRequest("/camera/gethls", data); + return sendGetRequest(`/jiaxing/camera/gethls`, data); }, //根据ID查询用户信息 getUser(data) { - return sendGetRequest('/api/sel/user', data) + return sendGetRequest(`/jiaxing/api/sel/user`, data) }, //控制器接口 //控制器实时数据 getControlRtdata(data) { - return sendPostRequest("/getcontrol/rtdata?equipmentId=" + data, ''); + return sendPostRequest(`/jiaxing/getcontrol/rtdata?equipmentId=` + data, ``); }, //控制器实时数据折线图 getControlFsdata(data) { - return sendPostRequest("/getcontrol/fsdata?equipmentId=" + data, ''); + return sendPostRequest(`/jiaxing/getcontrol/fsdata?equipmentId=` + data, ``); }, //控制器数据上传数据获取 getControldataUpload(data) { - return sendGetRequest('/readControl/dataUpload', data) + return sendGetRequest(`/jiaxing/readControl/dataUpload`, data) }, //控制器写入数据 postControlWrite(data) { - return sendPostRequest("/writeJinHuaControl/write", data); + return sendPostRequest(`/jiaxing/writeJinHuaControl/write`, data); }, //控制器传感器通道 getReadControlSensorChannel(data) { - return sendGetRequest('/readControl/sensorChannel', data) + return sendGetRequest(`/jiaxing/readControl/sensorChannel`, data) }, //控制器 顶模和风机 getReadControlliShuiControl(data) { - return sendGetRequest('/readControl/liShuiControl', data) + return sendGetRequest(`/jiaxing/readControl/liShuiControl`, data) }, //控制器 传感器输入合成 getReadControlSensorInputSynthesis(data) { - return sendGetRequest('/readControl/sensorInputSynthesis', data) + return sendGetRequest(`/jiaxing/readControl/sensorInputSynthesis`, data) }, //控制器 主页查看控制器气象站实时数据 getControlRtDatastation(data) { - return sendGetRequest('/getcontrol/rtDatastation', data) + return sendGetRequest(`/jiaxing/getcontrol/rtDatastation`, data) }, //控制器 设备运行状态 getControlGetState(data) { - return sendGetRequest('/readControl/getState', data) + return sendGetRequest(`/jiaxing/readControl/getState`, data) }, //控制器 气象站实时数据折线图 getControlChartdata(data) { - return sendPostRequest('/equip/chartdata?equipmentId=' + data, '') + return sendPostRequest(`/jiaxing/equip/chartdata?equipmentId=` + data, ``) }, //首页历史数据/数据分析弹窗 selFsAvgdata(data) { - return sendPostRequest('/selFs/avgdata',data) + return sendPostRequest(`/jiaxing/selFs/avgdata`,data) }, //首页历史数据/数据分析弹窗下载数据 selFsAvgdatadownload(data) { - return sendPostRequest('/selFs/avgdatadownload',data) + return sendPostRequest(`/jiaxing/selFs/avgdatadownload`,data) }, // 根据用户id查询对应的设备大数据信息 Bigdata_getAllControl(userid, data) { - return sendGetRequest(`/Bigdata/getAllControl?userid=${userid}`, data); + return sendGetRequest(`/jiaxing/Bigdata/getAllControl?userid=${userid}`, data); }, // 获取设备当天的温度 Bigdata_getTemperature(deviceid, data) { - return sendGetRequest(`/Bigdata/getTemperature?deviceid=${deviceid}`, data); + return sendGetRequest(`/jiaxing/Bigdata/getTemperature?deviceid=${deviceid}`, data); }, // 获取设备一周的温度 Bigdata_getWeekTemperature(deviceid, data) { - return sendGetRequest(`/Bigdata/getWeekTemperature?deviceid=${deviceid}`, data); + return sendGetRequest(`/jiaxing/Bigdata/getWeekTemperature?deviceid=${deviceid}`, data); }, // 主页查看控制器实时数据 getcontrol_rtdata(equipmentId, data) { - return sendPostRequest(`/getcontrol/rtdata?equipmentId=${equipmentId}`, data); + return sendPostRequest(`/jiaxing/getcontrol/rtdata?equipmentId=${equipmentId}`, data); }, // 获取摄像头得地址 Copy camera_gethls(cameraid, channelid, data) { - return sendGetRequest(`/camera/gethls?cameraid=${cameraid}&channelid=${channelid}`, data); + return sendGetRequest(`/jiaxing/camera/gethls?cameraid=${cameraid}&channelid=${channelid}`, data); }, // 根据用户id查询对应的设备数据 Copy sel_eqbyid(userId, data) { - return sendGetRequest(`/sel/eqbyid/${userId}`, data); + return sendGetRequest(`/jiaxing/sel/eqbyid/${userId}`, data); }, // 控制器状态值获取 Copy readControl_getState(deviceId, data) { - return sendGetRequest(`/readControl/getState?deviceId=${deviceId}`, data); + return sendGetRequest(`/jiaxing/readControl/getState?deviceId=${deviceId}`, data); }, getcontrol_rtDatastation(equipmentId, data) { - return sendGetRequest(`/getcontrol/rtDatastation?equipmentId=${equipmentId}`, data) + return sendGetRequest(`/jiaxing/getcontrol/rtDatastation?equipmentId=${equipmentId}`, data) }, //控制器根据设备查看权限 getcontrol_cpermission(equipmentId, data) { - return sendPostRequest(`/getcontrol/cpermission?deviceId=${equipmentId}`, data) + return sendPostRequest(`/jiaxing/getcontrol/cpermission?deviceId=${equipmentId}`, data) }, //控制器五防接口 readControl_fiveControl(data) { - return sendGetRequest(`/readControl/fiveControl`, data); + return sendGetRequest(`/jiaxing/readControl/fiveControl`, data); }, // 查看用户额外权限 user_getjurisdiction(userId, data) { - return sendGetRequest(`/user/getjurisdiction?userId=${userId}`, data) + return sendGetRequest(`/jiaxing/user/getjurisdiction?userId=${userId}`, data) }, //实时数据页面状态值(查看全部设备) getStatePermissionStatus(data) { - return sendGetRequest(`/getcontrol/getStatePermissionStatus`, data) + return sendGetRequest(`/jiaxing/getcontrol/getStatePermissionStatus`, data) }, //获取当前权限能看到的设备 getPermissionStatus(data) { - return sendGetRequest(`/getcontrol/getPermissionStatus`, data) + return sendGetRequest(`/jiaxing/getcontrol/getPermissionStatus`, data) }, //根据id删除status设备 delPermissionStatus(id1, id2) { - return sendPostRequest(`/getcontrol/delPermissionStatus?deviceId=${id1}&permissionid=${id2}`, '') + return sendPostRequest(`/jiaxing/getcontrol/delPermissionStatus?deviceId=${id1}&permissionid=${id2}`, ``) }, //根据id添加status设备 addPermissionStatus(id1, id2) { - return sendPostRequest(`/getcontrol/addStatepermission?deviceId=${id1}&Permissionid=${id2}`, '') + return sendPostRequest(`/jiaxing/getcontrol/addStatepermission?deviceId=${id1}&Permissionid=${id2}`, ``) }, //添加短信报警 addWarnMessage(data) { - return sendPostRequest(`/shortMessage/setMessage`, data) + return sendPostRequest(`/jiaxing/shortMessage/setMessage`, data) }, //短信报警填写条件 selnowmes(data) { - return sendGetRequest(`/shortMessage/selnowmes`, data) + return sendGetRequest(`/jiaxing/shortMessage/selnowmes`, data) }, //根据设备id查看短信报警 messageList(data) { - return sendGetRequest(`/shortMessage/selMesById`, data) + return sendGetRequest(`/jiaxing/shortMessage/selMesById`, data) }, //根据id删除短信报警 delMessage(data) { - return sendDelRequest(`/shortMessage/delmesbyid`, data) + return sendDelRequest(`/jiaxing/shortMessage/delmesbyid`, data) }, //控制器新页面接口 //目标值 目标温度/湿度/co2 targetValue(data) { - return sendGetRequest(`/readControl/targetValue`, data) + return sendGetRequest(`/jiaxing/readControl/targetValue`, data) }, //电磁阀1 solenoidValve1(data) { - return sendGetRequest(`/readControl/solenoidValve1`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve1`, data) }, //电磁阀2 solenoidValve2(data) { - return sendGetRequest(`/readControl/solenoidValve2`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve2`, data) }, //电磁阀3 solenoidValve3(data) { - return sendGetRequest(`/readControl/solenoidValve3`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve3`, data) }, //电磁阀4 solenoidValve4(data) { - return sendGetRequest(`/readControl/solenoidValve4`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve4`, data) }, //电磁阀5 solenoidValve5(data) { - return sendGetRequest(`/readControl/solenoidValve5`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve5`, data) }, //电磁阀6 solenoidValve6(data) { - return sendGetRequest(`/readControl/solenoidValve6`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve6`, data) }, //电磁阀7 solenoidValve7(data) { - return sendGetRequest(`/readControl/solenoidValve7`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve7`, data) }, //电磁阀8 solenoidValve8(data) { - return sendGetRequest(`/readControl/solenoidValve8`, data) + return sendGetRequest(`/jiaxing/readControl/solenoidValve8`, data) }, //强制通道输出 forceChannelOutput(data) { - return sendGetRequest(`/readControl/forceChannelOutput`, data) + return sendGetRequest(`/jiaxing/readControl/forceChannelOutput`, data) }, //天窗 readskylight(data) { - return sendGetRequest(`/readControl/readskylight`, data) + return sendGetRequest(`/jiaxing/readControl/readskylight`, data) }, //空调 airconditioner(data) { - return sendGetRequest(`/readControl/airconditioner`, data) + return sendGetRequest(`/jiaxing/readControl/airconditioner`, data) }, //固有参数 intrinsicParameter(data) { - return sendGetRequest(`/readControl/intrinsicParameter`, data) + return sendGetRequest(`/jiaxing/readControl/intrinsicParameter`, data) }, //厂家内部参数 manufacturerparameter(data) { - return sendGetRequest(`/readControl/manufacturerparameter`, data) + return sendGetRequest(`/jiaxing/readControl/manufacturerparameter`, data) }, //高压微雾 highpressuremist(data) { - return sendGetRequest(`/readControl/highpressuremist`, data) + return sendGetRequest(`/jiaxing/readControl/highpressuremist`, data) }, //内遮阳 innercurtain(data) { - return sendGetRequest(`/readControl/innercurtain`, data) + return sendGetRequest(`/jiaxing/readControl/innercurtain`, data) }, //外遮阳 externalsunshade(data) { - return sendGetRequest(`/readControl/externalsunshade`, data) + return sendGetRequest(`/jiaxing/readControl/externalsunshade`, data) }, //风机湿帘 fanwetcurtain(data) { - return sendGetRequest(`/readControl/fanwetcurtain`, data) + return sendGetRequest(`/jiaxing/readControl/fanwetcurtain`, data) }, //补光灯 readfilllight(data) { - return sendGetRequest(`/readControl/readfilllight`, data) + return sendGetRequest(`/jiaxing/readControl/readfilllight`, data) }, //CO2补气 co2replenishment(data) { - return sendGetRequest(`/readControl/co2replenishment`, data) + return sendGetRequest(`/jiaxing/readControl/co2replenishment`, data) }, //冷暖风机 heatfan(data) { - return sendGetRequest(`/readControl/heatfan`, data) + return sendGetRequest(`/jiaxing/readControl/heatfan`, data) }, //内保温 interiorthermalinsulation(data) { - return sendGetRequest(`/readControl/interiorthermalinsulation`, data) + return sendGetRequest(`/jiaxing/readControl/interiorthermalinsulation`, data) }, //立面保温 facadeinsulation(data) { - return sendGetRequest(`/readControl/facadeinsulation`, data) + return sendGetRequest(`/jiaxing/readControl/facadeinsulation`, data) }, //环流风扇 readcirculationfan(data) { - return sendGetRequest(`/readControl/readcirculationfan`, data) + return sendGetRequest(`/jiaxing/readControl/readcirculationfan`, data) }, //报警设置 readalarmSetting(data) { - return sendGetRequest(`/readControl/alarmSetting`, data) + return sendGetRequest(`/jiaxing/readControl/alarmSetting`, data) }, //报警设置 readalarmSetting(data) { - return sendGetRequest(`/readControl/alarmSetting`, data) + return sendGetRequest(`/jiaxing/readControl/alarmSetting`, data) }, //主页查看施肥机历史数据 selFsTime(data) { - return sendPostRequest(`/selFs/time`, data) + return sendPostRequest(`/jiaxing/selFs/time`, data) }, //主页查看施肥机历史数据 loadHistorydata(data) { - return sendPostRequest(`/load/historydata`, data) + return sendPostRequest(`/jiaxing/load/historydata`, data) }, //查看抓取图片历史数据 imageReadtoday(data) { - return sendPostRequest(`/image/readtoday`, data) + return sendPostRequest(`/jiaxing/image/readtoday`, data) }, //下载图片 imageUploadImage(data) { - return sendPostRequest(`/image/uploadImage`, data) + return sendPostRequest(`/jiaxing/image/uploadImage`, data) }, //摄像头操作开始 cameraStart(cameraSerialNumber,cameraChannelNumber,num) { - return sendPostRequest(`/camera/start?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`) + return sendPostRequest(`/jiaxing/camera/start?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`) }, //摄像头操作结束 cameraStop(cameraSerialNumber,cameraChannelNumber,num) { - return sendPostRequest(`/camera/stop?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`) + return sendPostRequest(`/jiaxing/camera/stop?cameraid=${cameraSerialNumber}&channelid=${cameraChannelNumber}&direction=${num}`) }, //管理模块 //根据用户ID获取账户设备 selUserbyid(data){ - return sendGetRequest(`/sel/userbyid/`+data, '') + return sendGetRequest(`/jiaxing/sel/userbyid/`+data, ``) }, //根据设备ID获取设备状态值 selControlPermissions(data){ - return sendGetRequest(`/getcontrol/selControlPermissions`, data) + return sendGetRequest(`/jiaxing/getcontrol/selControlPermissions`, data) }, //根据设备ID修改设备状态值 putpermission(data){ - return sendPutRequest(`/getcontrol/putpermission`, data) + return sendPutRequest(`/jiaxing/getcontrol/putpermission`, data) }, //根据权限id修改权限显示或者隐藏 updatePermissionState(data){ - return sendPutRequest(`/getcontrol/updatePermissionState`, data) + return sendPutRequest(`/jiaxing/getcontrol/updatePermissionState`, data) }, //根据设备ID获取设备控制值 selpermission(data){ - return sendGetRequest(`/getcontrol/selpermission`, data) + return sendGetRequest(`/jiaxing/getcontrol/selpermission`, data) }, //根据设备ID修改设备控制值 putControlpermission(data){ - return sendPutRequest(`/getcontrol/putControlpermission`, data) + return sendPutRequest(`/jiaxing/getcontrol/putControlpermission`, data) }, //根据ID修改施肥机数据 updatedevice(data){ - return sendPutRequest(`/device/updatedevice`, data) + return sendPutRequest(`/jiaxing/device/updatedevice`, data) }, //根据ID修改施肥机名字 updateFsname(data){ - return sendPutRequest(`/update/fsname`, data) + return sendPutRequest(`/jiaxing/update/fsname`, data) }, //根据用户ID添加小程序气象站 addphoneeqData(data) { - return sendPostRequest(`/getcontrol/addphoneeqData`, data) + return sendPostRequest(`/jiaxing/getcontrol/addphoneeqData`, data) }, //根据用户ID删除小程序气象站 delphoneeqData(data) { - return sendDelRequest(`/getcontrol/delphoneeqData`, data) + return sendDelRequest(`/jiaxing/getcontrol/delphoneeqData`, data) }, //根据用户ID修改小程序气象站 updatephoneeqData(data) { - return sendPutRequest(`/getcontrol/updatephoneeqData`, data) + return sendPutRequest(`/jiaxing/getcontrol/updatephoneeqData`, data) }, //修改大数据信息 updateDataDevice(data) { - return sendPutRequest(`/getcontrol/updateBigData`, data) + return sendPutRequest(`/jiaxing/getcontrol/updateBigData`, data) }, //小程序手机控制权限模块查询 wxgetpermission(data) { - return sendGetRequest(`/getcontrol/wxgetpermission`, data) + return sendGetRequest(`/jiaxing/getcontrol/wxgetpermission`, data) }, //查询所有用户 adminAll(data){ - return sendGetRequest(`/admin/all`, data) + return sendGetRequest(`/jiaxing/admin/all`, data) }, //更新用户信息 updateUser(data){ - return sendPutRequest(`/admin/add/userEquipment`, data) + return sendPutRequest(`/jiaxing/admin/add/userEquipment`, data) }, //添加用户信息 addUser(data){ - return sendPostRequest(`/admin/user`, data) + return sendPostRequest(`/jiaxing/admin/user`, data) }, //修改密码 updatePwd(data){ - return sendPutRequest(`/user/update/pwd`, data) + return sendPutRequest(`/jiaxing/user/update/pwd`, data) }, //设备查询 seldevice(data){ - return sendGetRequest(`/admin/seldevice`, data) + return sendGetRequest(`/jiaxing/admin/seldevice`, data) }, //删除设备信息 deldevice(data){ - return sendDelRequest(`/admin/deldevice`, data) + return sendDelRequest(`/jiaxing/admin/deldevice`, data) }, //修改手机控制名称 updatewxgetpermission(data){ - return sendPutRequest(`/getcontrol/updatewxgetpermission`, data) + return sendPutRequest(`/jiaxing/getcontrol/updatewxgetpermission`, data) }, //管理员/用户页面删除关联设备信息 delUserByid(data){ - return sendDelRequest(`/admin/delUserByid`, data) + return sendDelRequest(`/jiaxing/admin/delUserByid`, data) }, //管理员/用户页面添加关联设备信息 addUserByid(data){ - return sendPostRequest(`/admin/addUserByid`, data) + return sendPostRequest(`/jiaxing/admin/addUserByid`, data) }, //查询控制器权限 selectallPermissions(data){ - return sendGetRequest(`/getcontrol/selectallPermissions`, data) + return sendGetRequest(`/jiaxing/getcontrol/selectallPermissions`, data) }, //新增标准控制器权限 addpermissionall(equipmentId, data) { - return sendPostRequest(`/getcontrol/addpermissionall?deviceId=${equipmentId}`, data) + return sendPostRequest(`/jiaxing/getcontrol/addpermissionall?deviceId=${equipmentId}`, data) }, //管理控制器权限删除 delpermission(id1, id2) { - return sendDelRequest(`/getcontrol/delpermission?deviceId=${id1}&permissionid=${id2}`, '') + return sendDelRequest(`/jiaxing/getcontrol/delpermission?deviceId=${id1}&permissionid=${id2}`, ``) }, //管理控制器权限添加 addpermission(id1, id2) { - return sendPostRequest(`/getcontrol/addpermission?deviceId=${id1}&permissionid=${id2}`, '') + return sendPostRequest(`/jiaxing/getcontrol/addpermission?deviceId=${id1}&permissionid=${id2}`, ``) }, //管理 设备管理添加设备 addDevice(data){ - return sendPostRequest(`/admin/addDevice`, data) + return sendPostRequest(`/jiaxing/admin/addDevice`, data) }, //查询施肥级ICCID getFsIccid(data){ - return sendGetRequest(`/readControl/getFsIccid`, data) + return sendGetRequest(`/jiaxing/readControl/getFsIccid`, data) }, //查询控制器权限 getIccid(data){ - return sendGetRequest(`/readControl/getIccid`, data) + return sendGetRequest(`/jiaxing/readControl/getIccid`, data) }, //二维码溯源 //查看农事作物信息 getAgriculturalInformation(data) { - return sendGetRequest(`/code/getAgriculturalInformation`, data) + return sendGetRequest(`/jiaxing/code/getAgriculturalInformation`, data) }, //查看种植计划 getplant(data) { - return sendGetRequest(`/code/getplant`, data) + return sendGetRequest(`/jiaxing/code/getplant`, data) }, //查看农场信息管理 getcodeFarmInformationManagement(data) { - return sendGetRequest(`/code/getcodeFarmInformationManagement`, data) + return sendGetRequest(`/jiaxing/code/getcodeFarmInformationManagement`, data) }, //上传图片 uploadImage(data) { - return sendPostRequest(`/code/uploadImage`, data) + return sendPostRequest(`/jiaxing/code/uploadImage`, data) }, //管理页面上传图片 manageUploadImage(data) { - return sendUploadRequest(`/user/upload`, data) + return sendUploadRequest(`/jiaxing/user/upload`, data) }, //施肥机系统导入txt的 upLoadFsdataWriteValue(data) { - return sendUploadRequest(`/Fsdata/write/value`, data) + return sendUploadRequest(`/jiaxing/Fsdata/write/value`, data) }, //施肥机系统下载txt FsdataReadValuedownload(data) { - return sendPostRequest(`/Fsdata/read/value?devicecode=${data}`,'') + return sendPostRequest(`/jiaxing/Fsdata/read/value?devicecode=${data}`,``) }, //控制器系统导入 upLoadControlWriteValue(data) { - return sendUploadRequest(`/control/write/value`, data) + return sendUploadRequest(`/jiaxing/control/write/value`, data) }, //控制器系统下载txt controlReadValuedownload(data) { - return sendPostRequest(`/control/read/value?devicecode=${data}`,'') + return sendPostRequest(`/jiaxing/control/read/value?devicecode=${data}`,``) }, // 智能灌注 //主页查看智能灌溉控制器 getFi_rtdata(data) { - return sendGetRequest(`/getFi/rtdata`, data) + return sendGetRequest(`/jiaxing/getFi/rtdata`, data) }, //当天折线图 chart_fidata(data) { - return sendPostRequest(`/chart/fidata?equipmentId=${data}`,'') + return sendPostRequest(`/jiaxing/chart/fidata?equipmentId=${data}`,``) }, //智能灌溉1 readFi_irrigate(url,data) { @@ -683,57 +684,57 @@ getIccid(data){ }, //智能灌溉写入 postwriteFi_write(data) { - return sendPostRequest("/writeFi/write", data); + return sendPostRequest(`/jiaxing/writeFi/write`, data); }, //智能灌溉状态值 getFI_getState(data) { - return sendGetRequest("/getFI/getState", data); + return sendGetRequest(`/jiaxing/getFI/getState`, data); }, //智能灌溉系统参数 readControl_getFIIccid(data) { - return sendGetRequest("/readControl/getFIIccid", data); + return sendGetRequest(`/jiaxing/readControl/getFIIccid`, data); }, //智能灌溉系统导入txt的 upLoadFIwritevalue(data) { - return sendUploadRequest(`/FI/write/value`, data) + return sendUploadRequest(`/jiaxing/FI/write/value`, data) }, //智能灌溉系统导出下载txt FIreadvaluedownload(data) { - return sendPostRequest(`/FI/read/value?devicecode=${data}`,'') + return sendPostRequest(`/jiaxing/FI/read/value?devicecode=${data}`,``) }, //智能灌溉系统数据上传 readFi_datauploadfi(data) { - return sendGetRequest("/readFi/datauploadfi", data); + return sendGetRequest(`/jiaxing/readFi/datauploadfi`, data); }, //智能灌溉固有参数 readFi_intrinsicparameterfi(data) { - return sendGetRequest("/readFi/intrinsicparameterfi", data); + return sendGetRequest(`/jiaxing/readFi/intrinsicparameterfi`, data); }, //智能灌溉传感器通道 readFi_sensorchannelfi(data) { - return sendGetRequest("/readFi/sensorchannelfi", data); + return sendGetRequest(`/jiaxing/readFi/sensorchannelfi`, data); }, //智能灌溉的名称 getFi_getName(data) { - return sendGetRequest("/getFi/getName", data); + return sendGetRequest(`/jiaxing/getFi/getName`, data); }, //修改智能灌溉名称 getFi_updateName(data){ - return sendPutRequest(`/getFi/updateName`, data) + return sendPutRequest(`/jiaxing/getFi/updateName`, data) }, //系统页面备忘录获取 readControl_getMemo(data){ - return sendGetRequest(`/readControl/getMemo`, data) + return sendGetRequest(`/jiaxing/readControl/getMemo`, data) }, //系统页面备忘录修改 readControl_setMemo(data){ - return sendPostRequest(`/readControl/setMemo`, data) + return sendPostRequest(`/jiaxing/readControl/setMemo`, data) }, //根据设备id查询控制器权限 getcontrol_cpermission(data){ - return sendPostRequest(`/getcontrol/cpermission?deviceId=${data}`, '') + return sendPostRequest(`/jiaxing/getcontrol/cpermission?deviceId=${data}`, ``) }, @@ -741,6 +742,66 @@ getIccid(data){ //二维码溯源部分 //种植计划 code_getplant(data){ - return sendGetRequest(`/code/getplant`, data) + return sendGetRequest(`/jiaxing/code/getplant`, data) }, + + //官网接口 + // 轮播图 + website_getows(data){ + return sendGetRequest(`/jiaxing/website/getowsManagement`, data) + }, + website_addows(data){ + return sendPostRequest(`/jiaxing/website/addows`, data) + }, + website_updateows(data){ + return sendPutRequest(`/jiaxing/website/updateows`, data) + }, + website_delows(data){ + return sendDelRequest(`/jiaxing/website/delows`, data) + }, + + //产品展示 + website_getowp(data){ + return sendGetRequest(`/jiaxing/website/getowp`, data) + }, + website_getowpManagement(data){ + return sendGetRequest(`/jiaxing/website/getowpManagement`, data) + }, + website_addowp(data){ + return sendPostRequest(`/jiaxing/website/addowp`, data) + }, + website_updateowp(data){ + return sendPutRequest(`/jiaxing/website/updateowp`, data) + }, + website_delowp(data){ + return sendDelRequest(`/jiaxing/website/delowp`, data) + }, + // 综合 产品/案例/新闻列表 + website_getowpabyowpidMan(data){ + return sendGetRequest(`/jiaxing/website/getowpabyowpidMan`, data) + }, + website_addops(data){ + return sendPostRequest(`/jiaxing/website/addops`, data) + }, + website_updateops(data){ + return sendPutRequest(`/jiaxing/website/updateops`, data) + }, + website_delops(data){ + return sendDelRequest(`/jiaxing/website/delops`, data) + }, + + //案例介绍 + website_getcaseintroduction(data){ + return sendGetRequest(`/jiaxing/website/getcaseintroduction`, data) + }, + //管理官网页面上传图片 + websiteUploadImage(data) { + return sendUploadRequest(`/jiaxing/website/uploadows`, data) + }, + + + //虫情 + bugzhaodi_login(data){ + return sendGetRequest(`/jiaxing/bugzhaodi/login`, data) + }, }; diff --git a/src/assets/css/main.css b/src/assets/css/main.css index ec89ba52..a82b8f23 100644 --- a/src/assets/css/main.css +++ b/src/assets/css/main.css @@ -1,37 +1,41 @@ @charset "UTF-8"; -.scroll, .el-dropdown-menu, .index .index-content > .left, .index .index-content > .right.right-page .page-content, .formula .page-content, .realTime, .realTime .page-content .realTime-bottom.weather .left-view-new, .history .page-content .el-table--scrollable-x .el-table__body-wrapper, .vrcode-model .el-dialog, .el-table .el-table__body-wrapper { +.scroll, .el-dropdown-menu, .index .index-content > .left, .index .index-content > .right.right-page .page-content, .formula .page-content, .realTime, .realTime .page-content .realTime-bottom.weather .left-view-new, .history .page-content .el-table--scrollable-x .el-table__body-wrapper, .vrcode-model .el-dialog, .el-table .el-table__body-wrapper, .insectPestDetail .detail-data .image-list { overflow-y: auto; } -.scroll::-webkit-scrollbar, .el-dropdown-menu::-webkit-scrollbar, .index .index-content > .left::-webkit-scrollbar, .index .index-content > .right.right-page .page-content::-webkit-scrollbar, .formula .page-content::-webkit-scrollbar, .realTime::-webkit-scrollbar, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar, .vrcode-model .el-dialog::-webkit-scrollbar, .el-table .el-table__body-wrapper::-webkit-scrollbar { +.scroll::-webkit-scrollbar, .el-dropdown-menu::-webkit-scrollbar, .index .index-content > .left::-webkit-scrollbar, .index .index-content > .right.right-page .page-content::-webkit-scrollbar, .formula .page-content::-webkit-scrollbar, .realTime::-webkit-scrollbar, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar, .vrcode-model .el-dialog::-webkit-scrollbar, .el-table .el-table__body-wrapper::-webkit-scrollbar, .insectPestDetail .detail-data .image-list::-webkit-scrollbar { /*滚动条整体*/ width: 10px; cursor: pointer; } -.scroll::-webkit-scrollbar-track, .el-dropdown-menu::-webkit-scrollbar-track, .index .index-content > .left::-webkit-scrollbar-track, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-track, .formula .page-content::-webkit-scrollbar-track, .realTime::-webkit-scrollbar-track, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-track, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track, .vrcode-model .el-dialog::-webkit-scrollbar-track, .el-table .el-table__body-wrapper::-webkit-scrollbar-track { +.scroll::-webkit-scrollbar-track, .el-dropdown-menu::-webkit-scrollbar-track, .index .index-content > .left::-webkit-scrollbar-track, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-track, .formula .page-content::-webkit-scrollbar-track, .realTime::-webkit-scrollbar-track, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-track, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-track, .vrcode-model .el-dialog::-webkit-scrollbar-track, .el-table .el-table__body-wrapper::-webkit-scrollbar-track, .insectPestDetail .detail-data .image-list::-webkit-scrollbar-track { /*滚动条轨道*/ background: #013769; } -.scroll::-webkit-scrollbar-thumb, .el-dropdown-menu::-webkit-scrollbar-thumb, .index .index-content > .left::-webkit-scrollbar-thumb, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-thumb, .formula .page-content::-webkit-scrollbar-thumb, .realTime::-webkit-scrollbar-thumb, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-thumb, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb, .vrcode-model .el-dialog::-webkit-scrollbar-thumb, .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb { +.scroll::-webkit-scrollbar-thumb, .el-dropdown-menu::-webkit-scrollbar-thumb, .index .index-content > .left::-webkit-scrollbar-thumb, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-thumb, .formula .page-content::-webkit-scrollbar-thumb, .realTime::-webkit-scrollbar-thumb, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-thumb, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb, .vrcode-model .el-dialog::-webkit-scrollbar-thumb, .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb, .insectPestDetail .detail-data .image-list::-webkit-scrollbar-thumb { /*滚动条里面的滑块*/ width: 4px; cursor: pointer; background: #0294E2; border: 3px solid #013769; + color: #0077b1; } -.scroll::-webkit-scrollbar-thumb:hover, .el-dropdown-menu::-webkit-scrollbar-thumb:hover, .index .index-content > .left::-webkit-scrollbar-thumb:hover, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-thumb:hover, .formula .page-content::-webkit-scrollbar-thumb:hover, .realTime::-webkit-scrollbar-thumb:hover, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-thumb:hover, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover, .vrcode-model .el-dialog::-webkit-scrollbar-thumb:hover, .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb:hover { +.scroll::-webkit-scrollbar-thumb:hover, .el-dropdown-menu::-webkit-scrollbar-thumb:hover, .index .index-content > .left::-webkit-scrollbar-thumb:hover, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-thumb:hover, .formula .page-content::-webkit-scrollbar-thumb:hover, .realTime::-webkit-scrollbar-thumb:hover, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-thumb:hover, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-thumb:hover, .vrcode-model .el-dialog::-webkit-scrollbar-thumb:hover, .el-table .el-table__body-wrapper::-webkit-scrollbar-thumb:hover, .insectPestDetail .detail-data .image-list::-webkit-scrollbar-thumb:hover { /*滚动条鼠标事件,鼠标放上去出现的事件*/ } -.scroll::-webkit-scrollbar-corner, .el-dropdown-menu::-webkit-scrollbar-corner, .index .index-content > .left::-webkit-scrollbar-corner, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-corner, .formula .page-content::-webkit-scrollbar-corner, .realTime::-webkit-scrollbar-corner, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-corner, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-corner, .vrcode-model .el-dialog::-webkit-scrollbar-corner, .el-table .el-table__body-wrapper::-webkit-scrollbar-corner { +.scroll::-webkit-scrollbar-corner, .el-dropdown-menu::-webkit-scrollbar-corner, .index .index-content > .left::-webkit-scrollbar-corner, .index .index-content > .right.right-page .page-content::-webkit-scrollbar-corner, .formula .page-content::-webkit-scrollbar-corner, .realTime::-webkit-scrollbar-corner, .realTime .page-content .realTime-bottom.weather .left-view-new::-webkit-scrollbar-corner, .history .page-content .el-table--scrollable-x .el-table__body-wrapper::-webkit-scrollbar-corner, .vrcode-model .el-dialog::-webkit-scrollbar-corner, .el-table .el-table__body-wrapper::-webkit-scrollbar-corner, .insectPestDetail .detail-data .image-list::-webkit-scrollbar-corner { /*滚动条边角*/ } .tips-model { padding: 10px; + color: #ff7f00; + color: #ff7f00; + color: #fff; } .tips-model .tips-model-title { @@ -49,7 +53,8 @@ border: 1px solid #eee; } -.tips-model .tips-model-th, .tips-model .tips-model-tr { +.tips-model .tips-model-th, +.tips-model .tips-model-tr { width: 500px; display: flex; align-items: center; @@ -57,7 +62,8 @@ height: 20px; } -.tips-model .tips-model-th > div, .tips-model .tips-model-tr > div { +.tips-model .tips-model-th > div, +.tips-model .tips-model-tr > div { width: 20%; height: 100%; display: flex; @@ -294,6 +300,7 @@ textarea { .warning-btn { justify-content: flex-end; margin-top: -70px; + color: #fff; } .warning-btn .btn.green { @@ -302,6 +309,7 @@ textarea { .warning-model { padding: 0 30px 25px; + color: #fff; } .warning-model .input-main { @@ -330,6 +338,7 @@ textarea { .warning-sel { width: 200px !important; + color: #fff; } .table-title { @@ -384,6 +393,7 @@ textarea { background: url(../image/index-background.png) no-repeat; background-size: cover; background-position: center top; + color: #fff; } .index .no-list { @@ -437,6 +447,7 @@ textarea { position: relative; z-index: 2; font-size: 35px; + color: #fff; } .index .header .header-center { @@ -607,6 +618,7 @@ textarea { align-items: center; flex-wrap: wrap; margin-top: 15px; + color: #fff; } .input-view > div { @@ -621,6 +633,10 @@ textarea { padding: 0 8px; } +.input-sel { + color: #fff; +} + .input-sel > span { padding: 0 10px; } @@ -696,6 +712,10 @@ textarea { width: 200px !important; } +.input-main { + color: #fff; +} + .input-main span { padding: 0 10px; } @@ -747,6 +767,7 @@ textarea { display: flex; align-items: center; margin: 0 15px 0 0 !important; + color: #fff; } .number-view > div { @@ -772,6 +793,7 @@ textarea { flex-wrap: wrap; display: flex; align-items: center; + color: #fff; } .input-main-60.table-input { @@ -825,6 +847,7 @@ textarea { flex-wrap: wrap; display: flex; align-items: center; + color: #fff; } .input-main-one.table-input { @@ -870,6 +893,7 @@ textarea { width: 300px; border: none; background-color: #014781; + color: #fff; } .el-dropdown-menu.input-menu-180 { @@ -950,6 +974,7 @@ textarea { } .formula { + color: #fff; width: 100%; height: 100%; padding: 20px; @@ -969,6 +994,7 @@ textarea { .table-view { background: transparent; margin-top: 30px; + color: #fff; } .table-view .cell { @@ -1180,6 +1206,7 @@ textarea { display: flex; align-items: center; flex-wrap: wrap; + color: #fff; } .flex-view > div { @@ -1338,6 +1365,10 @@ textarea { border-color: #0294E2; } +.PIDSet { + color: #fff; +} + .PIDSet .flex-view { border-bottom: none; } @@ -1441,6 +1472,10 @@ textarea { min-height: 101px; } +.upload { + color: #fff; +} + .upload .upload-view { width: 520px; height: 520px; @@ -1492,6 +1527,7 @@ textarea { .sensorSet { height: 100%; + color: #fff; } .sensorSet .sensor-view { @@ -1663,6 +1699,10 @@ textarea { padding: 0 20px; } +.el-dialog__wrapper { + color: #fff; +} + .el-dialog__wrapper .el-dialog { background: rgba(0, 59, 114, 0.8); border: 2px solid rgba(0, 186, 255, 0.35); @@ -1750,6 +1790,7 @@ textarea { .el-dialog__wrapper .el-dialog .el-dialog__body .model1-top .model-right > div .input-main-60 { width: auto; + color: #fff; } .el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom { @@ -1800,6 +1841,10 @@ textarea { flex-shrink: 0; } +.login { + color: #fff; +} + .login .login-header { position: relative; width: 100%; @@ -1945,6 +1990,7 @@ textarea { .dataModel { height: 650px; + color: #fff; } .dataModel .view-new { @@ -2003,6 +2049,7 @@ textarea { padding: 20px; flex-direction: column; justify-content: unset; + color: #fff; } .realTime .new-data { @@ -2883,6 +2930,10 @@ textarea { margin-bottom: 10px; } +.synthesis-con { + color: #fff; +} + .synthesis-con .synthesis-content { width: 100%; display: flex; @@ -2987,6 +3038,12 @@ textarea { align-items: center; } +.flex-between { + display: flex; + justify-content: space-between; + align-items: center; +} + .vrcode .el-menu, .el-submenu__title:hover, .el-menu-item:hover, @@ -3041,6 +3098,7 @@ textarea { .vrcode .el-menu-item { display: flex; align-items: center; + color: #fff; } .vrcode .el-submenu__title .img, @@ -3277,7 +3335,8 @@ textarea { margin-bottom: 10px; } -.manage-input input { +.manage-input input, +.manage-input .input { width: 240px; height: 44px; background: rgba(0, 186, 255, 0.15); @@ -3286,12 +3345,42 @@ textarea { font-family: Microsoft YaHei; font-weight: 400; color: #FFFFFF; + cursor: pointer; } -.manage-input input::placeholder { +.manage-input input::placeholder, +.manage-input .input::placeholder { color: #92B1D0; } +.m-t-34 { + margin-top: 34px; +} + +.manage-textarea { + width: 100%; +} + +.manage-textarea .input-title { + font-family: Microsoft YaHei; + font-weight: 400; + font-size: 16px; + color: #FFFFFF; + margin-bottom: 10px; +} + +.manage-textarea textarea { + width: 100%; + padding: 10px; + height: 110px; + background: rgba(0, 186, 255, 0.15); + border: 2px solid rgba(0, 186, 255, 0.4); + padding-left: 15px; + font-family: Microsoft YaHei; + font-weight: 400; + color: #FFFFFF; +} + .vrcode-input-sel { margin-right: 30px; margin-bottom: 15px; @@ -3455,6 +3544,10 @@ textarea { transform: translateY(-50%); } +.vrcode-model { + color: #fff; +} + .vrcode-model.manage-model .el-dialog { background: rgba(0, 59, 114, 0.8); border: 2px solid rgba(0, 186, 255, 0.35); @@ -3468,6 +3561,14 @@ textarea { grid-column-gap: 20px; } +.vrcode-model.manage-model .el-dialog__body .vrcode-content.grid-3 { + grid-template-columns: repeat(3, 1fr); +} + +.vrcode-model.manage-model .el-dialog__body .vrcode-content.flex-no { + display: block; +} + .vrcode-model.manage-model .el-dialog__footer { padding: 15px 22px; border-top: 1px solid rgba(0, 180, 255, 0.35); @@ -3477,21 +3578,34 @@ textarea { justify-content: flex-start; } -.vrcode-model.manage-model .manage-right .manage-img { +.vrcode-model.manage-model .manage-img { width: 380px; position: relative; background: rgba(0, 132, 255, 0.15); border: 2px solid rgba(0, 132, 255, 0.35); + min-height: 200px; + display: flex; + align-items: center; + justify-content: center; padding: 10px; } -.vrcode-model.manage-model .manage-right .manage-img img { +.vrcode-model.manage-model .manage-img img { width: 360px; height: auto; min-height: 200px; + max-height: 360px; } -.vrcode-model.manage-model .manage-right .manage-img #sel-img { +.vrcode-model.manage-model .manage-img .upload-img { + width: 100px; + height: 100px; + min-height: unset; + cursor: pointer; +} + +.vrcode-model.manage-model .manage-img #sel-img, +.vrcode-model.manage-model .manage-img #sel-img1 { width: 0; height: 0; position: absolute; @@ -3557,6 +3671,7 @@ textarea { position: relative; font-weight: bold; text-align: left; + color: #fff; } .vrcode-model .vrcode-model-title.vrcode-model-title-282 { @@ -3894,6 +4009,7 @@ textarea { max-height: 700px; overflow: auto; padding: 0 30px; + color: #fff; } .model-sel > div { @@ -3911,6 +4027,7 @@ textarea { display: flex; align-items: center; justify-content: space-between; + color: #fff; } .setsuyuan .setsuyuan-page { @@ -4140,6 +4257,30 @@ textarea { color: #606266; } +.historyData.insectPestImage { + padding: 20px; + background: rgba(0, 132, 255, 0.15); + border: 2px solid rgba(0, 186, 255, 0.35); + width: 100%; + height: 100%; +} + +.historyData.insectPestImage .table-view .image-list > div { + width: 320px; +} + +.historyData.insectPestImage .return-detail { + cursor: pointer; + background: #0294E2; + height: 35px; + border-radius: 4px; + padding: 0 10px; + display: flex; + align-items: center; + justify-content: center; + margin-left: 30px; +} + .historyData .table-view .el-table th.el-table__cell.is-leaf .cell { font-size: 14px !important; } @@ -4213,7 +4354,7 @@ textarea { border: 2px solid rgba(0, 186, 255, 0.2); } -.manage-page .scroll, .manage-page .el-dropdown-menu, .manage-page .index .index-content > .left, .index .manage-page .index-content > .left, .manage-page .index .index-content > .right.right-page .page-content, .index .index-content > .right.right-page .manage-page .page-content, .manage-page .formula .page-content, .formula .manage-page .page-content, .manage-page .realTime, .manage-page .realTime .page-content .realTime-bottom.weather .left-view-new, .realTime .page-content .realTime-bottom.weather .manage-page .left-view-new, .manage-page .history .page-content .el-table--scrollable-x .el-table__body-wrapper, .history .page-content .el-table--scrollable-x .manage-page .el-table__body-wrapper, .manage-page .vrcode-model .el-dialog, .vrcode-model .manage-page .el-dialog, .manage-page .el-table .el-table__body-wrapper, .el-table .manage-page .el-table__body-wrapper { +.manage-page .scroll, .manage-page .el-dropdown-menu, .manage-page .index .index-content > .left, .index .manage-page .index-content > .left, .manage-page .index .index-content > .right.right-page .page-content, .index .index-content > .right.right-page .manage-page .page-content, .manage-page .formula .page-content, .formula .manage-page .page-content, .manage-page .realTime, .manage-page .realTime .page-content .realTime-bottom.weather .left-view-new, .realTime .page-content .realTime-bottom.weather .manage-page .left-view-new, .manage-page .history .page-content .el-table--scrollable-x .el-table__body-wrapper, .history .page-content .el-table--scrollable-x .manage-page .el-table__body-wrapper, .manage-page .vrcode-model .el-dialog, .vrcode-model .manage-page .el-dialog, .manage-page .el-table .el-table__body-wrapper, .el-table .manage-page .el-table__body-wrapper, .manage-page .insectPestDetail .detail-data .image-list, .insectPestDetail .detail-data .manage-page .image-list { flex-wrap: nowrap !important; } @@ -4346,3 +4487,120 @@ textarea { width: 6px; height: 4px; } + +.insectPestDetail { + width: 100%; + height: 100%; + display: flex; + justify-content: space-between; + flex-direction: column; +} + +.insectPestDetail .look-all { + cursor: pointer; +} + +.insectPestDetail .detail-info { + width: 100%; + height: 49%; + background: rgba(0, 92, 178, 0.15); + border: 2px solid rgba(0, 186, 255, 0.2); + padding: 20px 30px 0; +} + +.insectPestDetail .detail-info .detail-div { + height: calc(100% - 37px); + display: flex; + justify-content: space-between; + align-items: center; +} + +.insectPestDetail .detail-info .detail-div .detail-img { + width: 200px; + height: 90%; +} + +.insectPestDetail .detail-info .detail-div .detail-img > img { + width: 100%; + height: 100%; + object-fit: cover; +} + +.insectPestDetail .detail-info .detail-div .detail-detail { + width: calc(100%); + min-height: 50%; + display: grid; + grid-template-columns: repeat(4, minmax(240px, 1fr)); + grid-row-gap: 10px; + grid-column-gap: 10px; +} + +.insectPestDetail .detail-info .detail-div .detail-detail .detail-detail-div { + display: flex; + flex-direction: column; + justify-content: center; +} + +.insectPestDetail .detail-info .detail-div .detail-detail .detail-detail-div .title { + font-weight: bold; + margin-bottom: 5px; + font-size: 22px; +} + +.insectPestDetail .detail-info .detail-div .detail-detail .detail-detail-div.to-more { + cursor: pointer; +} + +.insectPestDetail .detail-info .detail-div .detail-detail .detail-detail-div .text { + display: flex; + align-items: center; + font-size: 22px; +} + +.insectPestDetail .detail-info .detail-div .detail-detail .detail-detail-div .text img { + width: 20px; + height: 20px; + margin-right: 5px; +} + +.insectPestDetail .detail-data { + width: 100%; + height: 49%; + display: flex; + justify-content: space-between; +} + +.insectPestDetail .detail-data > div { + width: 49%; + background: rgba(0, 92, 178, 0.15); + border: 2px solid rgba(0, 186, 255, 0.2); + padding: 20px 30px 0; +} + +.insectPestDetail .detail-data .charts { + width: 100%; + height: calc(100% - 37px); +} + +.insectPestDetail .detail-data .detail-image { + display: flex; + justify-content: space-between; + flex-direction: column; +} + +.insectPestDetail .detail-data .image-list { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-row-gap: 10px; + grid-column-gap: 10px; + height: calc(100% - 47px); +} + +.insectPestDetail .detail-data .image-list .image-div { + max-width: 300px; +} + +.insectPestDetail .detail-data .image-list .image-time { + text-align: center; + width: 100%; +} diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss index af842dcb..199a3652 100644 --- a/src/assets/css/main.scss +++ b/src/assets/css/main.scss @@ -21,6 +21,7 @@ cursor: pointer; background: #0294E2; border: 3px solid #013769; + color: #0077b1; } &::-webkit-scrollbar-thumb:hover { @@ -32,27 +33,37 @@ } } -.tips-model{ + +.tips-model { padding: 10px; - .tips-model-title{ + color: #ff7f00; + color: #ff7f00; + color: #fff; + + .tips-model-title { font-size: 18px; font-weight: bold; } - .tips-model-text{ - font-size:14px; + + .tips-model-text { + font-size: 14px; padding: 5px 20px; } - .tips-model-table{ + + .tips-model-table { width: 500px; border: 1px solid #eee; } - .tips-model-th,.tips-model-tr{ + + .tips-model-th, + .tips-model-tr { width: 500px; display: flex; align-items: center; justify-content: space-between; height: 20px; - >div{ + + >div { width: 20%; height: 100%; display: flex; @@ -62,6 +73,7 @@ } } } + .mobile-scroll { overflow-y: auto; @@ -118,34 +130,41 @@ max-height: 300px; @extend .scroll; } -textarea{ - resize: none; + +textarea { + resize: none; } + .border-none { border: none !important; } -.formula .page-content{ + +.formula .page-content { position: relative; - .export{ + + .export { position: absolute; right: 30px; - top: 20px; + top: 20px; display: flex; align-items: center; - .export-btn{ + + .export-btn { height: 44px; background: rgba(0, 186, 255, 0.15); - border: 2px solid rgba(0, 186, 255, 0.4); - line-height: 42px; - margin-left: 20px; - padding: 0 10px; - cursor: pointer; - } + border: 2px solid rgba(0, 186, 255, 0.4); + line-height: 42px; + margin-left: 20px; + padding: 0 10px; + cursor: pointer; + } } } -.el-collapse-item__header{ + +.el-collapse-item__header { line-height: unset; } + .collapse { .el-collapse { border: none; @@ -310,6 +329,8 @@ textarea{ justify-content: flex-end; margin-top: -70px; + color: #fff; + .btn.green { opacity: 1; } @@ -318,6 +339,8 @@ textarea{ .warning-model { padding: 0 30px 25px; + color: #fff; + .input-main { margin: 0; @@ -345,6 +368,7 @@ textarea{ .warning-sel { width: 200px !important; + color: #fff; } .table-title { @@ -401,6 +425,8 @@ textarea{ background-size: cover; background-position: center top; + color: #fff; + .no-list { color: #fff; display: flex; @@ -429,11 +455,13 @@ textarea{ display: flex; align-items: center; padding: 10px; - .logo-img{ + + .logo-img { position: relative; z-index: 2; margin-right: 10px; } + .logo-bg { width: 373px; height: 99px; @@ -443,9 +471,12 @@ textarea{ top: 0; z-index: 1; } - .logo-title{ - position: relative;z-index: 2; + + .logo-title { + position: relative; + z-index: 2; font-size: 35px; + color: #fff; } } @@ -625,6 +656,8 @@ textarea{ flex-wrap: wrap; margin-top: 15px; + color: #fff; + >div { flex-shrink: 0; margin-right: 20px; @@ -640,6 +673,8 @@ textarea{ } .input-sel { + color: #fff; + >span { padding: 0 10px; } @@ -716,12 +751,17 @@ textarea{ .border-right { border-right: 1px solid rgba(2, 148, 226, 0.5); } -.input-main-200{ - input{ - width: 200px!important; + +.input-main-200 { + input { + width: 200px !important; } } + .input-main { + + color: #fff; + span { padding: 0 10px; } @@ -729,7 +769,7 @@ textarea{ div { margin-bottom: 10px; } - + input { width: 134px; height: 44px; @@ -785,6 +825,8 @@ textarea{ align-items: center; margin: 0 15px 0 0 !important; + color: #fff; + >div { width: 30px; height: 30px; @@ -810,6 +852,7 @@ textarea{ flex-wrap: wrap; display: flex; align-items: center; + color: #fff; &.table-input { justify-content: center; @@ -821,21 +864,25 @@ textarea{ span { padding: 0 10px; - &.tips{ + + &.tips { color: rgba(255, 255, 255, 0.7); font-size: 14px; } } -&.h-44{ - input{ - height: 44px; + + &.h-44 { + input { + height: 44px; + } } -} -&.input-main-100{ - input{ - width: 100px; + + &.input-main-100 { + input { + width: 100px; + } } -} + input { width: 60px; height: 34px; @@ -852,7 +899,8 @@ textarea{ &::placeholder { color: #859BB6; } - &.w-100{ + + &.w-100 { width: 100px; } } @@ -864,6 +912,8 @@ textarea{ display: flex; align-items: center; + color: #fff; + &.table-input { justify-content: center; @@ -900,8 +950,9 @@ textarea{ font-weight: bold; font-size: 24px; } + .popper__arrow { - display: none!important; + display: none !important; } .el-dropdown-menu { @@ -909,6 +960,8 @@ textarea{ border: none; background-color: #014781; + color: #fff; + &.input-menu-180 { width: 180px; } @@ -979,15 +1032,17 @@ textarea{ background-position: left center; min-width: 302px; } + &.title-402 { background: url(../image/title-302.png) no-repeat center; background-size: 402px 43px; background-position: left center; - min-width:402px; + min-width: 402px; } } .formula { + color: #fff; width: 100%; height: 100%; padding: 20px; @@ -1011,6 +1066,8 @@ textarea{ background: transparent; margin-top: 30px; + color: #fff; + .cell { text-align: center; } @@ -1207,7 +1264,8 @@ textarea{ margin-top: 20px; display: flex; align-items: center; - >img{ + + >img { width: 40px; height: 40px; } @@ -1224,6 +1282,7 @@ textarea{ display: flex; align-items: center; flex-wrap: wrap; + color: #fff; >div { flex-shrink: 0; @@ -1370,9 +1429,11 @@ textarea{ color: #00C8FF; margin: 7.5px 10px; cursor: pointer; - &.w-250{ + + &.w-250 { width: 250px; } + >img { margin-right: 10px; } @@ -1387,6 +1448,8 @@ textarea{ } .PIDSet { + color: #fff; + .flex-view { border-bottom: none; } @@ -1486,7 +1549,8 @@ textarea{ font-family: Microsoft YaHei; font-weight: 400; color: #A8B6C8; - &.system-textarea{ + + &.system-textarea { padding: 10px; height: auto; min-height: 101px; @@ -1494,6 +1558,8 @@ textarea{ } .upload { + color: #fff; + .upload-view { width: 520px; height: 520px; @@ -1552,6 +1618,8 @@ textarea{ .sensorSet { height: 100%; + color: #fff; + .sensor-view { display: flex; align-items: center; @@ -1739,6 +1807,8 @@ textarea{ } .el-dialog__wrapper { + color: #fff; + .el-dialog { background: rgba(0, 59, 114, 0.8); border: 2px solid rgba(0, 186, 255, 0.35); @@ -1828,6 +1898,7 @@ textarea{ .input-main-60 { width: auto; + color: #fff; } } } @@ -1896,6 +1967,8 @@ textarea{ .login { + color: #fff; + .login-header { position: relative; width: 100%; @@ -2045,6 +2118,8 @@ textarea{ .dataModel { height: 650px; + color: #fff; + .view-new { width: 100%; display: flex; @@ -2052,9 +2127,10 @@ textarea{ flex-wrap: wrap; padding: 20px 30px 0; - &.border{ + &.border { border-bottom: 1px solid rgba(0, 186, 255, 0.2); } + .list-view { flex-shrink: 0; display: flex; @@ -2063,6 +2139,7 @@ textarea{ margin-right: 20px; margin-bottom: 20px; min-width: 160px; + img { width: 60px; height: 60px; @@ -2102,6 +2179,7 @@ textarea{ padding: 20px; flex-direction: column; justify-content: unset; + color: #fff; @extend .scroll; .new-data { @@ -2582,12 +2660,14 @@ textarea{ justify-content: space-between; width: 100%; padding: 0 50px; - &.text-blue{ - >div{ + + &.text-blue { + >div { font-size: 18px; - color: #00C0F7; + color: #00C0F7; } } + >div { display: flex; align-items: center; @@ -3054,6 +3134,8 @@ textarea{ } .synthesis-con { + color: #fff; + .synthesis-content { width: 100%; display: flex; @@ -3159,11 +3241,18 @@ textarea{ align-items: center; } + .flex-start { display: flex; justify-content: flex-start; align-items: center; +} +.flex-between { + display: flex; + justify-content: space-between; + align-items: center; + } .vrcode .el-menu, .el-submenu__title:hover, @@ -3222,6 +3311,7 @@ textarea{ .el-menu-item { display: flex; align-items: center; + color: #fff; .img { width: 16px; @@ -3478,7 +3568,8 @@ textarea{ margin-bottom: 10px; } - input { + input, + .input { width: 240px; height: 44px; background: rgba(0, 186, 255, 0.15); @@ -3487,6 +3578,7 @@ textarea{ font-family: Microsoft YaHei; font-weight: 400; color: #FFFFFF; + cursor: pointer; &::placeholder { color: #92B1D0; @@ -3494,18 +3586,50 @@ textarea{ } } +.m-t-34 { + margin-top: 34px; +} + +.manage-textarea { + width: 100%; + + .input-title { + font-family: Microsoft YaHei; + font-weight: 400; + font-size: 16px; + color: #FFFFFF; + margin-bottom: 10px; + } + + textarea { + width: 100%; + padding: 10px; + height: 110px; + background: rgba(0, 186, 255, 0.15); + border: 2px solid rgba(0, 186, 255, 0.4); + padding-left: 15px; + font-family: Microsoft YaHei; + font-weight: 400; + color: #FFFFFF; + } +} + .vrcode-input-sel { margin-right: 30px; margin-bottom: 15px; - &.w-100{ + + &.w-100 { width: calc(100% - 30px); - .el-dropdown{ + + .el-dropdown { width: 100%; } - .el-dropdown-link{ + + .el-dropdown-link { width: 100%; } } + >.title { margin-bottom: 7px; } @@ -3515,7 +3639,7 @@ textarea{ height: 44px; cursor: pointer; position: relative; - + input { width: 100%; height: 100%; @@ -3548,7 +3672,8 @@ textarea{ >img { width: 6px; height: 4px; - &.search{ + + &.search { width: 16px; height: 16px; } @@ -3613,20 +3738,25 @@ textarea{ } } } -.flex-view{ - .vrcode-input-sel .el-dropdown-link{ + +.flex-view { + .vrcode-input-sel .el-dropdown-link { height: 40px; } - .vrcode-input-sel{ + + .vrcode-input-sel { margin-right: 10px; } - .vrcode-input{ + + .vrcode-input { margin-right: 10px; } - .vrcode-selimage{ + + .vrcode-selimage { width: auto; } } + .vrcode-title { width: 100%; margin-bottom: 15px; @@ -3649,10 +3779,14 @@ textarea{ transform: translateY(-50%); } } + .vrcode-model { + color: #fff; + &.manage-model { .el-dialog { background: rgba(0, 59, 114, 0.8); + border: 2px solid rgba(0, 186, 255, 0.35); } @@ -3663,6 +3797,14 @@ textarea{ grid-template-columns: repeat(2, 1fr); grid-row-gap: 0px; //纵向间隔 grid-column-gap: 20px; //横向间隔 + + &.grid-3 { + grid-template-columns: repeat(3, 1fr); + } + + &.flex-no { + display: block; + } } } @@ -3675,32 +3817,45 @@ textarea{ justify-content: flex-start; } - .manage-right { - .manage-img { - width: 380px; - position: relative; - // height: 290px; - background: rgba(0, 132, 255, 0.15); - border: 2px solid rgba(0, 132, 255, 0.35); + .manage-img { + width: 380px; + position: relative; + // height: 290px; + background: rgba(0, 132, 255, 0.15); + border: 2px solid rgba(0, 132, 255, 0.35); + min-height: 200px; + display: flex; + align-items: center; + justify-content: center; - img { - width: 360px; - height: auto; - min-height: 200px; - } + img { + width: 360px; + height: auto; + min-height: 200px; + max-height: 360px; + } - padding: 10px; + .upload-img { + width: 100px; + height: 100px; + min-height: unset; + cursor: pointer; + } - #sel-img { - width: 0; - height: 0; - position: absolute; - left: 0; - top: 0; - } + padding: 10px; + + #sel-img, + #sel-img1 { + width: 0; + height: 0; + position: absolute; + left: 0; + top: 0; } } + .manage-right {} + .manage-text { width: 240px; height: 160px; @@ -3761,6 +3916,7 @@ textarea{ position: relative; font-weight: bold; text-align: left; + color: #fff; &.vrcode-model-title-282 { background: url(../img/vrcode-title-282.png) no-repeat; @@ -3802,7 +3958,7 @@ textarea{ } } - + &.confirm-psw { .el-dialog__body { @@ -3823,7 +3979,7 @@ textarea{ height: calc(100% - 43px); padding: 0 30px; - + } } @@ -3836,6 +3992,7 @@ textarea{ } } + .vrcode-view { width: 100%; padding: 20px 0 15px 0; @@ -3848,16 +4005,20 @@ textarea{ flex-shrink: 0; } } + .vrcode-input { width: 300px; margin-right: 30px; margin-bottom: 15px; - &.w-100{ + + &.w-100 { width: calc(100% - 30px); } - &.w-50{ + + &.w-50 { width: calc(50% - 30px); } + .input-title { font-size: 16px; font-family: Microsoft YaHei; @@ -3867,7 +4028,7 @@ textarea{ } input { - width:100%; + width: 100%; height: 44px; background: rgba(90, 210, 255, 0.25); border: 2px solid rgba(86, 209, 255, 0.5); @@ -3889,10 +4050,12 @@ textarea{ >.title { margin-bottom: 7px; } - .tips{ + + .tips { font-size: 16px; -color: #FF9999; + color: #FF9999; } + .sel-image-view { display: flex; align-items: center; @@ -4111,6 +4274,7 @@ color: #FF9999; max-height: 700px; overflow: auto; padding: 0 30px; + color: #fff; >div { width: 33%; @@ -4130,6 +4294,7 @@ color: #FF9999; display: flex; align-items: center; justify-content: space-between; + color: #fff; .setsuyuan-page { width: 375px; @@ -4373,6 +4538,36 @@ color: #FF9999; } .historyData { + &.insectPestImage{ + padding: 20px; + background: rgba(0, 132, 255, 0.15); + border: 2px solid rgba(0, 186, 255, 0.35); + width: 100%; + height: 100%; + .table-view{ + .image-list{ + >div{ + width: 320px; + } + .image-time{ + + } + } + } + .return-detail{ + cursor: pointer; + background: #0294E2; + + height: 35px; + border-radius: 4px; + padding: 0 10px ; + display: flex; + align-items: center; + justify-content: center; + margin-left: 30px; + } + + } .table-view { .el-table th.el-table__cell.is-leaf .cell { font-size: 14px !important; @@ -4599,7 +4794,114 @@ color: #FF9999; >img { width: 6px; height: 4px; - + + } + } + } +} + + +.insectPestDetail { + width: 100%; + height: 100%; + display: flex; + justify-content: space-between; + flex-direction: column; + .look-all{ + cursor: pointer; + } + .detail-info { + width: 100%; + height: 49%; + background: rgba(0, 92, 178, 0.15); + border: 2px solid rgba(0, 186, 255, 0.2); + padding: 20px 30px 0; + .detail-div{ + height: calc(100% - 37px); + display: flex; + justify-content: space-between; + align-items: center; + .detail-img{ + width: 200px; + height: 90%; + >img{ + width: 100%; + height: 100%; + object-fit: cover; + } + } + .detail-detail{ + width: calc(100% ); + min-height: 50%; + display: grid; + grid-template-columns: repeat(4, minmax(240px, 1fr)); + grid-row-gap: 10px; //纵向间隔 + grid-column-gap: 10px; //横向间隔 + .detail-detail-div{display: flex; + flex-direction: column; + justify-content: center; + + .title{ + font-weight: bold; + margin-bottom: 5px; + font-size: 22px; + } + &.to-more{ + cursor: pointer; + } + .text{ + display: flex; + align-items: center; + + font-size: 22px; + img{ + width: 20px; + height: 20px; + margin-right: 5px; + } + } + } + } + } + } + + .detail-data { + width: 100%; + height: 49%; + display: flex; + justify-content: space-between; + + >div { + width: 49%; + background: rgba(0, 92, 178, 0.15); + border: 2px solid rgba(0, 186, 255, 0.2); + padding: 20px 30px 0; + } + + .charts { + width: 100%; + height: calc(100% - 37px); + } + .detail-image{ + display: flex; + justify-content: space-between; + flex-direction: column; + } + .image-list { + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-row-gap: 10px; //纵向间隔 + grid-column-gap: 10px; //横向间隔 + height: calc(100% - 47px); + @extend .scroll; + + .image-div { + max-width: 300px; + } + + .image-time { + text-align: center; + width: 100%; } } } diff --git a/src/assets/image/background.jpg b/src/assets/image/background.jpg index 32a29be3..18e2bd17 100644 Binary files a/src/assets/image/background.jpg and b/src/assets/image/background.jpg differ diff --git a/src/assets/image/background.png b/src/assets/image/background.png index 7d2cb23e..083675ac 100644 Binary files a/src/assets/image/background.png and b/src/assets/image/background.png differ diff --git a/src/assets/image/index-background.png b/src/assets/image/index-background.png index ca158741..218e9135 100644 Binary files a/src/assets/image/index-background.png and b/src/assets/image/index-background.png differ diff --git a/src/assets/image/index-icon1.png b/src/assets/image/index-icon1.png new file mode 100644 index 00000000..e582cd4b Binary files /dev/null and b/src/assets/image/index-icon1.png differ diff --git a/src/assets/image/login-bg.png b/src/assets/image/login-bg.png index 8f9f072d..0a581aad 100644 Binary files a/src/assets/image/login-bg.png and b/src/assets/image/login-bg.png differ diff --git a/src/assets/image/more.png b/src/assets/image/more.png new file mode 100644 index 00000000..d1e12109 Binary files /dev/null and b/src/assets/image/more.png differ diff --git a/src/assets/image/pest.png b/src/assets/image/pest.png new file mode 100644 index 00000000..9f988add Binary files /dev/null and b/src/assets/image/pest.png differ diff --git a/src/assets/img/map9.jpg b/src/assets/img/map9.jpg new file mode 100644 index 00000000..d5f755d0 Binary files /dev/null and b/src/assets/img/map9.jpg differ diff --git a/src/assets/img/upload-img.png b/src/assets/img/upload-img.png new file mode 100644 index 00000000..c8dc1282 Binary files /dev/null and b/src/assets/img/upload-img.png differ diff --git a/src/assets/js/charts.js b/src/assets/js/charts.js index b8ec4225..515d7ba2 100644 --- a/src/assets/js/charts.js +++ b/src/assets/js/charts.js @@ -1,177 +1,177 @@ import * as echarts from "echarts"; import store from '../../store/index' +const colorList = [new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(0, 187, 136, 0.50)", + }, + { + offset: 0.8, + color: "rgba(0, 187, 136, 0)", + }, + ], + false +), +new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(252, 125, 106, 0.50)", + }, + { + offset: 0.8, + color: "rgba(252, 125, 106, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(252, 223, 39, 0.50)", + }, + { + offset: 0.8, + color: "rgba(252, 223, 39, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(68, 214, 232, 0.50)", + }, + { + offset: 0.8, + color: "rgba(68, 214, 232, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(69, 224, 155, 0.50)", + }, + { + offset: 0.8, + color: "rgba(69, 224, 155, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(82, 188, 255, 0.50)", + }, + { + offset: 0.8, + color: "rgba(82, 188, 255, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(214, 162, 255, 0.50)", + }, + { + offset: 0.8, + color: "rgba(214, 162, 255, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(255, 192, 111, 0.50)", + }, + { + offset: 0.8, + color: "rgba(255, 192, 111, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(255, 156, 154, 0.50)", + }, + { + offset: 0.8, + color: "rgba(255, 156, 154, 0)", + }, + ], + false +), new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(255, 156, 154, 0.50)", + }, + { + offset: 0.8, + color: "rgba(255, 156, 154, 0)", + }, + ], + false +), +] +const colorList1 = ['rgba(0, 187, 136, 1)', 'rgba(252, 125, 106, 1)', 'rgba(252, 223, 39, 1)', 'rgba(68, 214, 232, 1)', +'rgba(69, 224, 155, 1)', 'rgba(82, 188, 255, 1)', 'rgba(214, 162, 255, 1)', 'rgba(255, 192, 111, 1)', 'rgba(255, 156, 154, 1)', 'rgba(255, 156, 154, 1)'] export function realTimeLine(id, data,pageId) { var chartDom = document.getElementById(id); var myChart = echarts.init(chartDom); chartDom.removeAttribute('_echarts_instance_')//解决切换页面echarts不显示的问题 var Xdata = [] - var colorList1 = ['rgba(0, 187, 136, 1)', 'rgba(252, 125, 106, 1)', 'rgba(252, 223, 39, 1)', 'rgba(68, 214, 232, 1)', - 'rgba(69, 224, 155, 1)', 'rgba(82, 188, 255, 1)', 'rgba(214, 162, 255, 1)', 'rgba(255, 192, 111, 1)', 'rgba(255, 156, 154, 1)', 'rgba(255, 156, 154, 1)'] - var colorList = [new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(0, 187, 136, 0.50)", - }, - { - offset: 0.8, - color: "rgba(0, 187, 136, 0)", - }, - ], - false - ), - new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 125, 106, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 125, 106, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 223, 39, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 223, 39, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(68, 214, 232, 0.50)", - }, - { - offset: 0.8, - color: "rgba(68, 214, 232, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(69, 224, 155, 0.50)", - }, - { - offset: 0.8, - color: "rgba(69, 224, 155, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(82, 188, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(82, 188, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(214, 162, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(214, 162, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 192, 111, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 192, 111, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), - - ] + // var equipmentList=store.state.equipmentSelList var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')) @@ -374,172 +374,7 @@ export function realTimeLine1(id, data,pageId) { var myChart = echarts.init(chartDom); chartDom.removeAttribute('_echarts_instance_')//解决切换页面echarts不显示的问题 var Xdata = [] - var colorList1 = ['rgba(0, 187, 136, 1)', 'rgba(252, 125, 106, 1)', 'rgba(252, 223, 39, 1)', 'rgba(68, 214, 232, 1)', - 'rgba(69, 224, 155, 1)', 'rgba(82, 188, 255, 1)', 'rgba(214, 162, 255, 1)', 'rgba(255, 192, 111, 1)', 'rgba(255, 156, 154, 1)', 'rgba(255, 156, 154, 1)'] - var colorList = [new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(0, 187, 136, 0.50)", - }, - { - offset: 0.8, - color: "rgba(0, 187, 136, 0)", - }, - ], - false - ), - new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 125, 106, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 125, 106, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 223, 39, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 223, 39, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(68, 214, 232, 0.50)", - }, - { - offset: 0.8, - color: "rgba(68, 214, 232, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(69, 224, 155, 0.50)", - }, - { - offset: 0.8, - color: "rgba(69, 224, 155, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(82, 188, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(82, 188, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(214, 162, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(214, 162, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 192, 111, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 192, 111, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), - - ] + // var equipmentList=store.state.equipmentSelList var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')) @@ -742,172 +577,7 @@ export function realTimeLine2(id, data,pageId) { var myChart = echarts.init(chartDom); chartDom.removeAttribute('_echarts_instance_')//解决切换页面echarts不显示的问题 var Xdata = [] - var colorList1 = ['rgba(0, 187, 136, 1)', 'rgba(252, 125, 106, 1)', 'rgba(252, 223, 39, 1)', 'rgba(68, 214, 232, 1)', - 'rgba(69, 224, 155, 1)', 'rgba(82, 188, 255, 1)', 'rgba(214, 162, 255, 1)', 'rgba(255, 192, 111, 1)', 'rgba(255, 156, 154, 1)', 'rgba(255, 156, 154, 1)'] - var colorList = [new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(0, 187, 136, 0.50)", - }, - { - offset: 0.8, - color: "rgba(0, 187, 136, 0)", - }, - ], - false - ), - new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 125, 106, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 125, 106, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(252, 223, 39, 0.50)", - }, - { - offset: 0.8, - color: "rgba(252, 223, 39, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(68, 214, 232, 0.50)", - }, - { - offset: 0.8, - color: "rgba(68, 214, 232, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(69, 224, 155, 0.50)", - }, - { - offset: 0.8, - color: "rgba(69, 224, 155, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(82, 188, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(82, 188, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(214, 162, 255, 0.50)", - }, - { - offset: 0.8, - color: "rgba(214, 162, 255, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 192, 111, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 192, 111, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), new echarts.graphic.LinearGradient( - 0, - 0, - 0, - 1, - [ - { - offset: 0, - color: "rgba(255, 156, 154, 0.50)", - }, - { - offset: 0.8, - color: "rgba(255, 156, 154, 0)", - }, - ], - false - ), - - ] + // var equipmentList=store.state.equipmentSelList var equipmentList=JSON.parse(localStorage.getItem('equipmentSelList')) @@ -1080,6 +750,147 @@ export function realTimeLine2(id, data,pageId) { myChart.resize(); }); } +// 虫情页面charts +export function pestLine(id, data) { + var chartDom = document.getElementById(id); + var myChart = echarts.init(chartDom); + chartDom.removeAttribute('_echarts_instance_')//解决切换页面echarts不显示的问题 + + var Xdata = data.data.list.map(item => item.datetime); + var selList=Object.keys(data.header) + var list = selList.map((type,index) => { + return { + name: data.header[type], + data: data.data.list.map(item => parseInt(item[type] || 0)), + type: "line", + symbol: "circle", + smooth: true, + symbolSize: 5, + showSymbol: false, + lineStyle: { + normal: { + width: 2, + }, + }, + areaStyle: { + normal: { + color: colorList[index], + }, + }, + itemStyle: { + normal: { + color: colorList1[index], + borderColor: colorList1[index], + borderWidth: 1, + }, + }, + } + }); + + + var option = { + tooltip: { + trigger: "axis", + axisPointer: { + lineStyle: { + color: "#57617B", + }, + }, + extraCssText: 'z-index: 9999;', // 设置 z-index + }, + legend: { + icon: "circle", + itemWidth: 10, + itemHeight: 10, + type: 'scroll', // 启用翻页 + data: list, + selected: selList, + right: "center", + top:10, + itemGap: 10, + width:'90%', + height:20, + textStyle: { + fontSize: 12, + color: "#fff", + lineHeight: 30, + }, + pageTextStyle: { + color: '#fff', // 设置翻页文字颜色 + }, + pageIconColor: '#fff', // 设置翻页按钮颜色 + }, + + grid: { + left: "3%", + right: "10%", + bottom: "5%", + containLabel: true, + }, + xAxis: [ + { + type: "category", + boundaryGap: false, + axisTick: { + show: false, + }, + axisLine: { + + lineStyle: { + color: "#fff", + type: 'dashed' + }, + }, + data: Xdata, + }, + + ], + yAxis: [ + { + type: "value", + name: "", + axisTick: { + show: false, + }, + axisLine: { + lineStyle: { + color: "#fff", + type: 'dashed' + }, + }, + axisLabel: { + margin: 10, + textStyle: { + fontSize: 14, + }, + }, + splitLine: { + lineStyle: { + color: "rgba(104, 168, 205, 1)", + type: 'dashed' + }, + }, + }, + ], + series: list, + }; + option && myChart.setOption(option); + myChart.resize(); + + // myChart.on('legendselectchanged', function (params) { + // equipmentList.forEach((obj,index) => { + // if (obj.deviceId== pageId) { + // // 在找到的对象中添加参数 + // obj.selList=params.selected + + // } + // }); + // localStorage.setItem('equipmentSelList', JSON.stringify(equipmentList)) + // }); + window.addEventListener("resize", function () { + myChart.resize(); + }); +} export function statusCharts(id, data) { var chartDom = document.getElementById(id); diff --git a/src/router/index.js b/src/router/index.js index 83d75883..f4c5aad8 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -39,6 +39,12 @@ const routes = [ name: 'largeScreen1', component: () => import('../views/page/largeScreen1.vue') }, + // 虫情查看的 + { + path: '/imageViewer', + name: 'imageViewer', + component: () => import('../views/insectPest/imageViewer.vue'), + }, { path: '/index', name: 'index', @@ -96,7 +102,7 @@ const routes = [ path: '/systemManage', name: 'systemManage', component: () => import('../views/page/systemManage.vue') - },{ + },{//管理页面 path: '/manage', name: 'manage', component: () => import('../views/manage/index.vue'), @@ -137,8 +143,49 @@ const routes = [ path: '/videoManage', name: 'videoManage', component: () => import('../views/manage/videoManage.vue') - },] + }, + // 官网修改 + { + path: '/officialWebsiteBanner', + name: 'officialWebsiteBanner', + component: () => import('../views/officialWebsite/banner.vue') + }, + { + path: '/officialWebsiteCase', + name: 'officialWebsiteCase', + component: () => import('../views/officialWebsite/case.vue') + }, { + path: '/officialWebsiteNews', + name: 'officialWebsiteNews', + component: () => import('../views/officialWebsite/new.vue') + }, { + path: '/officialWebsiteProduct', + name: 'officialWebsiteProduct', + component: () => import('../views/officialWebsite/product.vue') + }, { + path: '/officialWebsiteDetail', + name: 'officialWebsiteDetail', + component: () => import('../views/officialWebsite/detail.vue') + }, + { + path: '/insectPest', + name: 'insectPest', + component: () => import('../views/insectPest.vue'), + redirect: '/insectPestDetail', + children: [{ + path: '/insectPestDetail', + name: 'insectPestDetail', + component: () => import('../views/insectPest/detail.vue') + },{ + path: '/insectPestImageList', + name: 'insectPestImageList', + component: () => import('../views/insectPest/imageList.vue') + }, + ] + }, + ] }, + { path: '/control', name: 'control', @@ -309,7 +356,7 @@ const routes = [ },] },] }, - + { path: '/vrcode', name: 'vrcode', diff --git a/src/views/index.vue b/src/views/index.vue index 373403c2..7dce10b6 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -86,6 +86,7 @@ + \ No newline at end of file diff --git a/src/views/insectPest/InsectDetectionCanvas.vue b/src/views/insectPest/InsectDetectionCanvas.vue new file mode 100644 index 00000000..75c61ef9 --- /dev/null +++ b/src/views/insectPest/InsectDetectionCanvas.vue @@ -0,0 +1,237 @@ + + + + + \ No newline at end of file diff --git a/src/views/insectPest/detail.vue b/src/views/insectPest/detail.vue new file mode 100644 index 00000000..37af71fe --- /dev/null +++ b/src/views/insectPest/detail.vue @@ -0,0 +1,181 @@ + + + diff --git a/src/views/insectPest/imageList.vue b/src/views/insectPest/imageList.vue new file mode 100644 index 00000000..5747ad7e --- /dev/null +++ b/src/views/insectPest/imageList.vue @@ -0,0 +1,182 @@ + + + \ No newline at end of file diff --git a/src/views/insectPest/imageViewer.vue b/src/views/insectPest/imageViewer.vue new file mode 100644 index 00000000..2160b46e --- /dev/null +++ b/src/views/insectPest/imageViewer.vue @@ -0,0 +1,62 @@ + + + + + \ No newline at end of file diff --git a/src/views/officialWebsite/banner.vue b/src/views/officialWebsite/banner.vue new file mode 100644 index 00000000..990466a0 --- /dev/null +++ b/src/views/officialWebsite/banner.vue @@ -0,0 +1,309 @@ + + + \ No newline at end of file diff --git a/src/views/officialWebsite/case.vue b/src/views/officialWebsite/case.vue new file mode 100644 index 00000000..9d1ed91a --- /dev/null +++ b/src/views/officialWebsite/case.vue @@ -0,0 +1,321 @@ + + + \ No newline at end of file diff --git a/src/views/officialWebsite/detail.vue b/src/views/officialWebsite/detail.vue new file mode 100644 index 00000000..2c1e3c31 --- /dev/null +++ b/src/views/officialWebsite/detail.vue @@ -0,0 +1,299 @@ + + + \ No newline at end of file diff --git a/src/views/officialWebsite/new.vue b/src/views/officialWebsite/new.vue new file mode 100644 index 00000000..b6ced882 --- /dev/null +++ b/src/views/officialWebsite/new.vue @@ -0,0 +1,489 @@ + + + + + \ No newline at end of file diff --git a/src/views/officialWebsite/product.vue b/src/views/officialWebsite/product.vue new file mode 100644 index 00000000..b984eab3 --- /dev/null +++ b/src/views/officialWebsite/product.vue @@ -0,0 +1,636 @@ + + + \ No newline at end of file diff --git a/src/views/page/largeScreen.vue b/src/views/page/largeScreen.vue index d26dc1d3..ad96d7ef 100644 --- a/src/views/page/largeScreen.vue +++ b/src/views/page/largeScreen.vue @@ -206,10 +206,47 @@ + +
+ + + + + + + + + + + + + + + +
-
+
+
虫情图片
+
+
+ +
+ +
+
+
{{ item.shootTime }}
+
+
+
虫情趋势图
+
+
+
@@ -383,7 +420,7 @@
+ v-if="limitUserId == 7 || limitUserId == 9 || limitUserId == 10 || limitUserId == 11 || limitUserId == 12|| limitUserId == 13">
@@ -427,6 +464,10 @@ import EZUIKit from "ezuikit-js"; import videojs from "video.js"; import video_zhCN from "video.js/dist/lang/zh-CN.json"; import vueSeamless from "vue-seamless-scroll"; + +import axios from "axios"; + +import { pestLine } from "@/assets/js/charts"; export default { name: "largeScreen", components: { vueSeamless }, @@ -556,8 +597,12 @@ export default { }, ], - // 金山吕港草莓数据 + // 金山吕港草莓数据id12 imgUrl: '', + //长兴前卫柑桔新优品种扩繁基地id13单独虫情接口数据 + imageList: [], + chartsData: null, + srcList: [], }; }, beforeMount() { @@ -653,7 +698,17 @@ export default { this.get_environmentData(2023120613270120); this.get_readControl_getState(2023120613270120); this.getWeatherData(2023120613270120); - } else if (limitUserId == 8 || limitUserId == 10 || limitUserId == 11|| limitUserId == 12) { + } else if (limitUserId == 9) { + + // 左侧上部气象站charts + this.get_weather_echart_data(2023120613270131); + this.get_thisWeekTemperature_echart_data(2023120613270131); + this.get_environmentData(2024070113400048); + this.get_readControl_getState(2024070113400048); + // 左侧上部气象站 + this.getWeatherData(2023120613270131); + }else { + // 其他非指定id都默认第一个 // 获取控制器第一个Id const list = [] this.$store.state.equipmentList.forEach((el, index) => { @@ -685,22 +740,78 @@ export default { } }) } + // 长兴前卫柑桔新优品种扩繁基地 id为13 有单独的虫情接口 + if(limitUserId == 13){ + this.getImage(); + this.getCharts(); + } - } else if (limitUserId == 9) { - - // 左侧上部气象站charts - this.get_weather_echart_data(2023120613270131); - this.get_thisWeekTemperature_echart_data(2023120613270131); - this.get_environmentData(2024070113400048); - this.get_readControl_getState(2024070113400048); - // 左侧上部气象站 - this.getWeatherData(2023120613270131); - } + } } }); }, + getTimeNew() { + // 获取当前日期(格式:YYYY-MM-DD) + const today = new Date().toISOString().split("T")[0]; + return today; + }, + getTime7() { + // 获取一周前的日期(格式:YYYY-MM-DD) + const oneWeekAgo = new Date(); + oneWeekAgo.setDate(oneWeekAgo.getDate() - 7); + const formattedOneWeekAgo = oneWeekAgo.toISOString().split("T")[0]; + return formattedOneWeekAgo; + }, + // 获取图片列表 + getImage() { + var data = { + beginTime: this.getTime7(), + endTime: this.getTimeNew(), + deviceId: 613, + pageNum: 1, + pageSize: 4, + }; + axios + .post(`/api1/api/v1/getDeviceImages`, data, { + headers: { + //头部参数 + Authorization: localStorage.getItem("CQtoken") + ? localStorage.getItem("CQtoken") + : "", + }, + }) + .then((res) => { + if (res.data.code == 200) { + this.imageList = res.data.data.list; + this.srcList = this.imageList.map((item) => item.imageUrl); + } + }); + }, + // 左下角虫情趋势图 + getCharts() { + var data = { + beginTime: this.getTime7(), + endTime: this.getTimeNew(), + deviceId: 613, + }; + axios + .post(`/api1/api/v1/getInsectChartData`, data, { + headers: { + //头部参数 + Authorization: localStorage.getItem("CQtoken") + ? localStorage.getItem("CQtoken") + : "", + }, + }) + .then((res) => { + if (res.data.code == 200) { + this.chartsData = res.data; + pestLine("pest-charts", this.chartsData); + } + }); + }, // 获取设备当天的温度 get_weather_echart_data(deviceId) { this.api.Bigdata_getTemperature(deviceId).then((res1) => { @@ -961,7 +1072,7 @@ export default { // id == 1 丽水; // id == 5 石门; // id == 5 大冶鑫; - this.limitUserId = (res.data.data.filter(el => el.id == 2 || el.id == 1 || el.id == 5 || el.id == 7 || el.id == 8 || el.id == 9 || el.id == 10 || el.id == 11|| el.id == 12))[0].id; + this.limitUserId = (res.data.data.filter(el => el.id == 2 || el.id == 1 || el.id == 5 || el.id == 7 || el.id == 8 || el.id == 9 || el.id == 10 || el.id == 11|| el.id == 12|| el.id == 13))[0].id; if (this.limitUserId == 1) { this.drag_boxHandler(); this.dataInit(userId, this.limitUserId); @@ -989,6 +1100,9 @@ export default { }else if (this.limitUserId == 12) { this.drag_boxHandler12(); this.dataInit(userId, this.limitUserId); + }else if (this.limitUserId == 13) { + this.drag_boxHandler13(); + this.dataInit(userId, this.limitUserId); } } @@ -1086,7 +1200,7 @@ export default { this.get_readControl_getState(2023042214250070); } else if (this.limitUserId == 7) { this.get_readControl_getState(2023120613270120); - } else if (this.limitUserId == 8 || this.limitUserId == 9 || this.limitUserId == 10 || this.limitUserId == 11|| this.limitUserId == 12) { + } else if (this.limitUserId == 8 || this.limitUserId == 9 || this.limitUserId == 10 || this.limitUserId == 11|| this.limitUserId == 12|| this.limitUserId == 13) { this.get_readControl_getState(list[0].deviceId); } @@ -1226,6 +1340,63 @@ export default { // console.log(scale); } }; + }, + drag_boxHandler13() { + let demo = this.$refs.drag_box13; + demo = document.querySelector(".drag_box13"); //待拖拽元素 + let canMove = false; //拖拽状态 + let x = 0, + y = 0; //鼠标位置 + //监听按下鼠标事件 + demo.onmousedown = function (e) { + x = e.pageX - demo.offsetLeft; + y = e.pageY - demo.offsetTop; + canMove = true; //激活拖拽状态 + }; + //监听右击鼠标事件 + demo.oncontextmenu = function (e) { + e.preventDefault(); //阻止默认行为 + }; + //监听鼠标抬起事件 + window.onmouseup = function () { + canMove = false; //关闭拖拽状态 + }; + + window.onblur = function () { + //窗口失去焦点事件 + canMove = false; //关闭拖拽状态 + }; + + //监听鼠标移动事件 + window.onmousemove = function (e) { + e.preventDefault(); //阻止默认行为(字不能拖走) + if (canMove) { + //对范围判断 + let left = e.pageX - x; + let top = e.pageY - y; + + demo.style.left = left + "px"; + demo.style.top = top + "px"; + } + }; + let scale = 1; + demo.onwheel = function (e) { + if (e.wheelDelta > 0) { + scale += 0.05; + if (scale > 4) { + scale = 4; + } + demo.style.transform = `scale(${scale})`; + // console.log(scale); + } else { + scale -= 0.05; + if (scale < 1) { + scale = 1; + } + demo.style.transform = `scale(${scale})`; + // console.log(scale); + } + }; }, drag_boxHandler12() { let demo = this.$refs.drag_box12; @@ -1883,6 +2054,20 @@ export default { justify-content: space-between; box-sizing: border-box; padding: 0 0.66rem; + + .e_title { + width: 3.98rem; + height: 0.19rem; + background: url("../../assets/img/environmentData_bg.png") center no-repeat; + background-size: 100% 100%; + font-size: 0.18rem; + font-family: AlibabaPuHuiTiM; + font-weight: 500; + color: #83ccff; + box-sizing: border-box; + padding-left: 0.32rem; + line-height: 0.19rem; + } .left { width: 4rem; @@ -1962,20 +2147,6 @@ export default { height: calc((100% - 4.04rem) / 2); } - .e_title { - width: 3.98rem; - height: 0.19rem; - background: url("../../assets/img/environmentData_bg.png") center no-repeat; - background-size: 100% 100%; - font-size: 0.18rem; - font-family: AlibabaPuHuiTiM; - font-weight: 500; - color: #83ccff; - box-sizing: border-box; - padding-left: 0.32rem; - line-height: 0.19rem; - } - .environmentData { width: 3.98rem; height: 3.27rem; @@ -2283,6 +2454,154 @@ export default { cursor: pointer; } } + .drag_box13{ + width: 100%; + height: auto; + position: absolute; + // top: 0.3rem; + // left: 0.5rem; + z-index: 10; + top: -64px; + -webkit-mask-image: linear-gradient(90deg, + transparent 0%, + blue 2%, + blue 97%, + transparent 99%); + .drag_img { + width: 100%; + height: auto; + -webkit-mask-image: linear-gradient(transparent 0%, + blue 13%, + blue 73%, + transparent 97%); + } + .axis_shimen { + width: 0.3rem; + height: auto; + position: absolute; + top: 13%; + left:43.5%; + z-index: 99; + cursor: pointer; + } + .axis_shimen1 { + width: 0.3rem; + height: auto; + position: absolute; + top: 15%; + left:34.5%; + z-index: 99; + cursor: pointer; + } + .axis_shimen2 { + width: 0.3rem; + height: auto; + position: absolute; + top: 16%; + left:26%; + z-index: 99; + cursor: pointer; + } + .axis_shimen3 { + width: 0.3rem; + height: auto; + position: absolute; + top: 28%; + left:35%; + z-index: 99; + cursor: pointer; + } + .axis_shimen4 { + width: 0.3rem; + height: auto; + position: absolute; + top: 29%; + left:27%; + z-index: 99; + cursor: pointer; + } + .axis_shimen5 { + width: 0.3rem; + height: auto; + position: absolute; + top: 43%; + left:38.5%; + z-index: 99; + cursor: pointer; + } + .axis_shimen6 { + width: 0.3rem; + height: auto; + position: absolute; + top: 44%; + left:30.5%; + z-index: 99; + cursor: pointer; + } + .axis_shimen7 { + width: 0.3rem; + height: auto; + position: absolute; + top: 56%; + left:57%; + z-index: 99; + cursor: pointer; + } + .axis_shimen8 { + width: 0.3rem; + height: auto; + position: absolute; + top: 49%; + left:58%; + z-index: 99; + cursor: pointer; + } + .axis_shimen9 { + width: 0.3rem; + height: auto; + position: absolute; + top: 42%; + left:59%; + z-index: 99; + cursor: pointer; + } + .axis_shimen10 { + width: 0.3rem; + height: auto; + position: absolute; + top: 35%; + left:60%; + z-index: 99; + cursor: pointer; + } + .axis_shimen11 { + width: 0.3rem; + height: auto; + position: absolute; + top: 27%; + left:61%; + z-index: 99; + cursor: pointer; + } + .axis_shimen12 { + width: 0.3rem; + height: auto; + position: absolute; + top: 69%; + left:70%; + z-index: 99; + cursor: pointer; + } + .axis_shimen13 { + width: 0.3rem; + height: auto; + position: absolute; + top: 77%; + left:70%; + z-index: 99; + cursor: pointer; + } + } .drag_box12 { width: 100%; height: auto; @@ -2800,7 +3119,21 @@ export default { top: 0.56rem; right: 0.66rem; z-index: 999; - + .right-image-list{ + padding: 20px 0; + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-row-gap: 10px; //纵向间隔 + grid-column-gap: 10px; //横向间隔 + .image-time{ + text-align: center; + color: #fff; + } + } + .right-image-list,.right-charts{ + width: 100%; + height: calc((100% - .38rem) / 2); + } .liveVideo { width: 4rem; height: 0.43rem; diff --git a/src/views/page/largeScreen1.vue b/src/views/page/largeScreen1.vue index 685d559f..75ad6675 100644 --- a/src/views/page/largeScreen1.vue +++ b/src/views/page/largeScreen1.vue @@ -19,10 +19,10 @@ {{ time.time }}
-
+
-
+
@@ -76,13 +76,13 @@
{{ item1.environmentDataId }} {{ - item1.environmentData + getTypeList(item1.formula) + item1.environmentData + getTypeList((item1.formula?item1.formula:1)) }}
@@ -95,10 +95,10 @@
-
+
-
+