需求12.10

merge-requests/1/head
qiushui 4 years ago
parent cdcca5137f
commit 1f477edaef

389
package-lock.json generated

@ -1859,16 +1859,6 @@
"integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
"dev": true
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995588464&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"cacache": {
"version": "13.0.1",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
@ -1895,34 +1885,6 @@
"unique-filename": "^1.1.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646655305&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz",
"integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.nlark.com/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"dev": true,
"optional": true
},
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@ -1953,25 +1915,6 @@
"path-exists": "^4.0.0"
}
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz?cache=0&sync_timestamp=1626715907927&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-flag%2Fdownload%2Fhas-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz",
"integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@ -2042,16 +1985,6 @@
"minipass": "^3.1.1"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"terser-webpack-plugin": {
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz",
@ -2068,18 +2001,6 @@
"terser": "^4.6.12",
"webpack-sources": "^1.4.3"
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.5.0",
"resolved": "https://registry.nlark.com/vue-loader/download/vue-loader-16.5.0.tgz?cache=0&sync_timestamp=1628666727543&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-loader%2Fdownload%2Fvue-loader-16.5.0.tgz",
"integrity": "sha1-CcTgcSRmiZ40uZpoZSTxkWX7KJI=",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
}
}
}
},
@ -5896,6 +5817,11 @@
"is-symbol": "^1.0.2"
}
},
"es5-shim": {
"version": "4.6.4",
"resolved": "https://registry.npmjs.org/es5-shim/-/es5-shim-4.6.4.tgz",
"integrity": "sha512-Z0f7OUYZ8JfqT12d3Tgh2ErxIH5Shaz97GE8qyDG9quxb2Hmh2vvFHlOFjx6lzyD0CRgvJfnNYcisjdbRp7MPw=="
},
"escalade": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.2.tgz",
@ -10162,6 +10088,11 @@
"safe-buffer": "^5.1.1"
}
},
"parse-headers": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz",
"integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw=="
},
"parse-json": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.1.tgz",
@ -13183,6 +13114,11 @@
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
"dev": true
},
"tsml": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tsml/-/tsml-1.0.1.tgz",
"integrity": "sha1-ifghi52eJX9H1/a1bQHFpNLGj8M="
},
"tty-browserify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
@ -13579,11 +13515,164 @@
"videojs-vtt.js": "^0.15.2"
}
},
"videojs-contrib-hls": {
"version": "5.15.0",
"resolved": "https://registry.npmjs.org/videojs-contrib-hls/-/videojs-contrib-hls-5.15.0.tgz",
"integrity": "sha512-18zbMYZ0XRBKTPEayA9bFTWWrqhT9b4G8+zf0czJLD7Epe5PcK1I/3dflTHQeQ5rwlWir+/XnFU3sMg/B2MMcw==",
"requires": {
"aes-decrypter": "1.0.3",
"global": "^4.3.0",
"m3u8-parser": "2.1.0",
"mux.js": "4.3.2",
"url-toolkit": "^2.1.3",
"video.js": "^5.19.1 || ^6.2.0",
"videojs-contrib-media-sources": "4.7.2",
"webwackify": "0.1.6"
},
"dependencies": {
"aes-decrypter": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/aes-decrypter/-/aes-decrypter-1.0.3.tgz",
"integrity": "sha1-nAa4pUNaWtCduTP4oBSvzxhMw04=",
"requires": {
"pkcs7": "^0.2.3"
}
},
"m3u8-parser": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/m3u8-parser/-/m3u8-parser-2.1.0.tgz",
"integrity": "sha1-yBcDKewc1RXQ1Yu4t2LamJbLA2g="
},
"mux.js": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/mux.js/-/mux.js-4.3.2.tgz",
"integrity": "sha512-g0q6DPdvb3yYcoK7ElBGobdSSrhY/RjPt19U7uUc733aqvc5bCS/aCvL9z+448y+IoCZnYDwyZfQBBXMSmGOaQ=="
},
"pkcs7": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/pkcs7/-/pkcs7-0.2.3.tgz",
"integrity": "sha1-ItYGZtAQZcXyRDkJjkpIMEUic74="
},
"video.js": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/video.js/-/video.js-6.13.0.tgz",
"integrity": "sha512-36/JR/GhPQSZj0o+GNbhcEYv/b0SkV9SQsjlodAnzMQYN0TA7VhmqrKPYMCi1NGRYu7S9W3OaFCFoUxkYfSVlg==",
"requires": {
"babel-runtime": "^6.9.2",
"global": "4.3.2",
"safe-json-parse": "4.0.0",
"tsml": "1.0.1",
"videojs-font": "2.1.0",
"videojs-ie8": "1.1.2",
"videojs-vtt.js": "0.12.6",
"xhr": "2.4.0"
}
},
"videojs-font": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-2.1.0.tgz",
"integrity": "sha1-olkwpn9snPvyu4jay4xrRR8JM3k="
},
"videojs-vtt.js": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.12.6.tgz",
"integrity": "sha512-XFXeGBQiljnElMhwCcZst0RDbZn2n8LU7ZScXryd3a00OaZsHAjdZu/7/RdSr7Z1jHphd45FnOvOQkGK4YrWCQ==",
"requires": {
"global": "^4.3.1"
}
}
}
},
"videojs-contrib-media-sources": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/videojs-contrib-media-sources/-/videojs-contrib-media-sources-4.7.2.tgz",
"integrity": "sha512-e6iCHWBFuV05EGo7v+pS9iepObXnJ9joms467gzi8ZjpKVb3ifha9M0Ja24Rd8JfvYpzjltsgDVtGFDvIg4hQQ==",
"requires": {
"global": "^4.3.0",
"mux.js": "4.3.2",
"video.js": "^5.17.0 || ^6.2.0",
"webwackify": "0.1.6"
},
"dependencies": {
"mux.js": {
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/mux.js/-/mux.js-4.3.2.tgz",
"integrity": "sha512-g0q6DPdvb3yYcoK7ElBGobdSSrhY/RjPt19U7uUc733aqvc5bCS/aCvL9z+448y+IoCZnYDwyZfQBBXMSmGOaQ=="
},
"video.js": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/video.js/-/video.js-6.13.0.tgz",
"integrity": "sha512-36/JR/GhPQSZj0o+GNbhcEYv/b0SkV9SQsjlodAnzMQYN0TA7VhmqrKPYMCi1NGRYu7S9W3OaFCFoUxkYfSVlg==",
"requires": {
"babel-runtime": "^6.9.2",
"global": "4.3.2",
"safe-json-parse": "4.0.0",
"tsml": "1.0.1",
"videojs-font": "2.1.0",
"videojs-ie8": "1.1.2",
"videojs-vtt.js": "0.12.6",
"xhr": "2.4.0"
}
},
"videojs-font": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-2.1.0.tgz",
"integrity": "sha1-olkwpn9snPvyu4jay4xrRR8JM3k="
},
"videojs-vtt.js": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.12.6.tgz",
"integrity": "sha512-XFXeGBQiljnElMhwCcZst0RDbZn2n8LU7ZScXryd3a00OaZsHAjdZu/7/RdSr7Z1jHphd45FnOvOQkGK4YrWCQ==",
"requires": {
"global": "^4.3.1"
}
}
}
},
"videojs-flash": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/videojs-flash/-/videojs-flash-2.2.1.tgz",
"integrity": "sha512-mHu6TD12EKkxMvr8tg4AcfV/DuVLff427nneoZom3N9Dd2bv0sJOWwdLPQH1v5BCuAuXAVuAOba56ovTl+G3tQ==",
"requires": {
"global": "^4.4.0",
"video.js": "^6 || ^7",
"videojs-swf": "5.4.2"
},
"dependencies": {
"global": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
"integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
"requires": {
"min-document": "^2.19.0",
"process": "^0.11.10"
}
}
}
},
"videojs-font": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-3.2.0.tgz",
"integrity": "sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA=="
},
"videojs-hotkeys": {
"version": "0.2.27",
"resolved": "https://registry.npmjs.org/videojs-hotkeys/-/videojs-hotkeys-0.2.27.tgz",
"integrity": "sha512-pwtm1QocRmzJy1PWQsmFVHyeldYHHpLdeATK3FsFHVMmNpz6CROkAn8TFy2UILr8Ghgq134K8jEKNue8HWpudQ=="
},
"videojs-ie8": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/videojs-ie8/-/videojs-ie8-1.1.2.tgz",
"integrity": "sha1-oj09hgitcZK2nGB3/E64SJmNNdk=",
"requires": {
"es5-shim": "^4.5.1"
}
},
"videojs-swf": {
"version": "5.4.2",
"resolved": "https://registry.npmjs.org/videojs-swf/-/videojs-swf-5.4.2.tgz",
"integrity": "sha512-FGg+Csioa8/A/EacvFefBdb9Z0rSiMlheHDunZnN3xXfUF43jvjawcWFQnZvrv1Cs1nE1LBrHyUZjF7j2mKOLw=="
},
"videojs-vtt.js": {
"version": "0.15.2",
"resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.15.2.tgz",
@ -13694,6 +13783,87 @@
}
}
},
"vue-loader-v16": {
"version": "npm:vue-loader@16.8.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.3.tgz",
"integrity": "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA==",
"dev": true,
"optional": true,
"requires": {
"chalk": "^4.1.0",
"hash-sum": "^2.0.0",
"loader-utils": "^2.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"optional": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
"integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"optional": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"optional": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"optional": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"optional": true
},
"loader-utils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz",
"integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==",
"dev": true,
"optional": true,
"requires": {
"big.js": "^5.2.2",
"emojis-list": "^3.0.0",
"json5": "^2.1.2"
}
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"optional": true,
"requires": {
"has-flag": "^4.0.0"
}
}
}
},
"vue-ref": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz",
@ -13738,6 +13908,48 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
"dev": true
},
"vue-video-player": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/vue-video-player/-/vue-video-player-5.0.2.tgz",
"integrity": "sha512-IZXeRGGSX4YIp54G0Q5cB7iqh6Ok6Dpa2jRkjdyvMWw7MShJuh54/d5QNb1CZ+CvZUzX/TH7osnpir7mBNcFvQ==",
"requires": {
"object-assign": "^4.1.1",
"video.js": "^6.6.0",
"videojs-contrib-hls": "^5.12.2",
"videojs-flash": "^2.1.0",
"videojs-hotkeys": "^0.2.20"
},
"dependencies": {
"video.js": {
"version": "6.13.0",
"resolved": "https://registry.npmjs.org/video.js/-/video.js-6.13.0.tgz",
"integrity": "sha512-36/JR/GhPQSZj0o+GNbhcEYv/b0SkV9SQsjlodAnzMQYN0TA7VhmqrKPYMCi1NGRYu7S9W3OaFCFoUxkYfSVlg==",
"requires": {
"babel-runtime": "^6.9.2",
"global": "4.3.2",
"safe-json-parse": "4.0.0",
"tsml": "1.0.1",
"videojs-font": "2.1.0",
"videojs-ie8": "1.1.2",
"videojs-vtt.js": "0.12.6",
"xhr": "2.4.0"
}
},
"videojs-font": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/videojs-font/-/videojs-font-2.1.0.tgz",
"integrity": "sha1-olkwpn9snPvyu4jay4xrRR8JM3k="
},
"videojs-vtt.js": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/videojs-vtt.js/-/videojs-vtt.js-0.12.6.tgz",
"integrity": "sha512-XFXeGBQiljnElMhwCcZst0RDbZn2n8LU7ZScXryd3a00OaZsHAjdZu/7/RdSr7Z1jHphd45FnOvOQkGK4YrWCQ==",
"requires": {
"global": "^4.3.1"
}
}
}
},
"vuex": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/vuex/-/vuex-3.5.1.tgz",
@ -14388,6 +14600,11 @@
"integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
"dev": true
},
"webwackify": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/webwackify/-/webwackify-0.1.6.tgz",
"integrity": "sha512-pGcw1T3HpNnM/UTRQqqRkkkzythSLts05mB+7Gr00B+0VbL0m39dFL5g20rSIEUt9Wrpw+/8k+snxRlUFHhcqA=="
},
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
@ -14521,6 +14738,17 @@
"async-limiter": "~1.0.0"
}
},
"xhr": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.0.tgz",
"integrity": "sha1-4W5mpF+GmGHu76tBbV7/ci3ECZM=",
"requires": {
"global": "~4.3.0",
"is-function": "^1.0.1",
"parse-headers": "^2.0.0",
"xtend": "^4.0.0"
}
},
"xmldom": {
"version": "0.1.31",
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
@ -14529,8 +14757,7 @@
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
},
"y18n": {
"version": "4.0.0",

@ -46,7 +46,7 @@ export default {
<style scoped>
.breadcrumb{
background: #ffffff;
padding: 20px;
padding: 0px;
margin-top: 64px;
}
</style>

@ -1,11 +1,6 @@
<template>
<div class="wrap">
<!-- 面包屑下标题 -->
<div class="wrap-title" v-if="$route.meta.name">
<span class="wrap-title-text">
<slot name="title">{{ title }}</slot>
</span>
</div>
<keep-alive :include="['checkManage']">
<router-view class="table"></router-view>
</keep-alive>

@ -7,6 +7,7 @@
:type="collapsed ? 'menu-unfold' : 'menu-fold'"
@click="collapsedFlag"
/>
<slot name="title">{{ title }}</slot>
</a-layout-header>
</div>
<div class="header-right">
@ -45,21 +46,26 @@ export default {
getAside_collapsed: function (newValue) {
console.log(newValue)
this.collapsed = newValue
},
$route(route) {
this.title = route.meta.title || route.meta.name;
}
},
data() {
return {
visible: false,
collapsed: false,
count: 0
count: 0,
title: ""
};
},
mounted() {
this.title = this.$route.meta.title || this.$route.meta.name;
this.getplcStatus()
const that = this
setInterval(function () {
that.getplcStatus()
}, 5000)
}, 10000)
},
methods: {
...mapMutations(["setState"]),

@ -25,11 +25,6 @@
v-decorator="['ip', { rules: [{ required: true, message: '请输入球机ip!' }] }]"
/>
</a-form-item>
<a-form-item label="rtsp流地址" :label-col="formItemVerticalLayout.labelCol">
<a-input
v-decorator="['rtsp', { rules: [{ required: true, message: '请输入rtsp流地址!' }] }]"
/>
</a-form-item>
</a-form>
</a-modal>
</template>
@ -230,25 +225,10 @@ const columns = [
scopedSlots: { customRender: 'name' }
},
{
title: '置',
title: '置',
dataIndex: 'position',
scopedSlots: { customRender: 'position' }
},
{
title: '对焦',
dataIndex: 'focusing',
scopedSlots: { customRender: 'focusing' }
},
{
title: '倍数',
dataIndex: 'multiple',
scopedSlots: { customRender: 'multiple' }
},
{
title: '光圈',
dataIndex: 'aperture',
scopedSlots: { customRender: 'aperture' }
},
}
];
export default {
props:[ 'visible', 'modelType', 'modelData'],
@ -903,7 +883,7 @@ export default {
}
.config-table {
width: 800px;
height: 450px;
height: 600px;
overflow: hidden;
h2 {

@ -10,7 +10,6 @@
{{i.name}}
</a-select-option>
</a-select>
<a-select
@change="handleTypeChange"
style="width: 160px;margin-right:25px"
@ -35,29 +34,29 @@
</a-select-option>
</a-select>
<span>
货架号 : {{ shelveId }} {{rowCount}} {{columnCount}}
</span>
</div>
<div v-if="checkObj.id">
<div v-for="(key,value) in checkList" :key="value">
<div v-if="checkObj.shelveId == value">
<!--{{value}}{{key}}-->
<div v-for="(columnItem,index) in key" :key="index"
style="width:100%;display:flex;align-items:center;justify-content:space-between;flex-direction: column">
<div>
<div class="carousel-page"
v-if="columnItem.row == checkObj.row && columnItem.column == checkObj.column">
<p class="carousel-page-title" >
<span>
货架号 : {{ $route.query.shelveId }}
</span>
<span @click="goHistory(checkObj.orderNum)" style="width: 400px;display: inline-block;cursor: pointer">
工单号{{checkObj.orderNum}}
</span>
<span @click="goHistory()" style="width: 400px;display: inline-block;cursor: pointer">
工单号暂无
</span>
</p>
<!-- <p class="carousel-page-title" @click="goHistory(checkObj.orderNum)" v-if="checkObj.orderNum">{{checkObj.orderNum}}</p>-->
<!-- <p class="carousel-page-title" @click="goHistory()" v-else></p>-->
>
<div class="carousel-page-content">
<div class="img-box">
<ul>
<li v-for="item in params" :key="item.label">
<span class="img-box-title">
{{ item.label }}:
</span>
<span class="img-box-value">
{{ scanAndCheck[item.key] }}
</span>
</li>
</ul>
</div>
<div class="img-box">
<img
v-if="checkObj.preoperationPic"
@ -84,163 +83,49 @@
</div>
<p>操作后照片</p>
</div>
<div class="img-box">
<ul>
<li v-for="item in params" :key="item.label">
<span class="img-box-title">
{{ item.label }}:
</span>
<span class="img-box-value">
{{ scanAndCheck[item.key] }}
</span>
</li>
</ul>
</div>
</div>
<div class="carousel-page-footer">
<div class="info-box">
<p>系统登记品规{{checkObj.category}}</p>
<p>系统登记数量{{checkObj.count}}</p>
</div>
<div class="status" v-if="checkObj.status == 0">
未核对
</div>
<div class="status" v-if="checkObj.status == 1">
已核对<span style="color: #d81e06;">核对错误</span>
</div>
<div class="status" v-if="checkObj.status == 2">
已核对<span style="color: #1afa29;">核对正确</span>
</div>
<div class="status-btn" v-if="checkObj.status == 0">
<a-button class="btn"
type="danger"
@click="showModel(checkObj,index)"
>人工复核
</a-button>
<a-button class="btn"
type="primary"
style="background:#29c12b;border-color:#29c12b;"
@click="checkSure(checkObj.row,checkObj.column,checkObj.shelveId,index)"
>核对正确
</a-button>
</div>
<div class="status-btn" v-if="checkObj.status == 1 ||checkObj.status == 2">
<a-button class="btn"
type="danger"
@click="showModel(checkObj,index)"
>核对错误
</a-button>
<a-button class="btn"
type="primary"
style="background:#29c12b;border-color:#29c12b;"
@click="checkSure(checkObj.row,checkObj.column,checkObj.shelveId,index)"
>核对正确
</a-button>
</div>
</div>
</div>
</div>
<div class="carousel-page-footer">
<div class="status-btn" v-if="checkObj.status == 0">
<a-button class="btn"
type="danger"
@click="showModel(checkObj,index)"
>人工复核
</a-button>
<a-button class="btn"
type="primary"
style="background:#29c12b;border-color:#29c12b;"
@click="checkSure(checkObj.row,checkObj.column,checkObj.shelveId,index)"
>核对正确
</a-button>
</div>
<div class="status-btn" v-if="checkObj.status == 1 ||checkObj.status == 2">
<a-button class="btn"
type="danger"
@click="showModel(checkObj,index)"
>核对错误
</a-button>
<a-button class="btn"
type="primary"
style="background:#29c12b;border-color:#29c12b;"
@click="checkSure(checkObj.row,checkObj.column,checkObj.shelveId,index)"
>核对正确
</a-button>
</div>
</div>
<div class="bottom-btn"
v-if="columnItem.row == checkObj.row && columnItem.column == checkObj.column">
<a-button class="btn" @click="prev(index > 0 ? index : 0)">上一个</a-button>
>
<a-button class="btn" @click="prev()"></a-button>
<p>{{checkObj.row}}{{checkObj.column}}</p>
<a-button class="btn" @click="next(index<=key.length ? index :index=key.length-1)">下一个
<a-button class="btn" @click="next()">
</a-button>
</div>
</div>
</div>
</div>
</div>
<div v-else>
<div class="line" v-for="(listcolumn,index) in streetDetail.leftColumn" :key="index">
<div v-for="(listrow,i) in streetDetail.leftRow" :key="i" class="el"
style="width:100%;display:flex;align-items:center;justify-content:space-between;flex-direction: column">
<div class="carousel-page"
v-if="listrow == row && listcolumn == column">
<p class="carousel-page-title" >
<span>
货架号 : {{ $route.query.shelveId }}
</span>
<span @click="goHistory()" style="width: 400px;display: inline-block;cursor: pointer">
工单号暂无
</span>
</p>
<div class="carousel-page-content">
<div class="img-box">
<div
style="display: flex;align-items: center;justify-content: center;width:500px;height:400px;background:#eaeaea">
<!-- <img v-if="row==4 && column==18" src="/red-test1.jpg" style="width: 100%;height: 358px" alt="">-->
<!-- <img v-else src="/test1.jpg" style="width: 100%;height: 358px" alt="">-->
<img
v-if="checkObj.preoperationPic"
:src="imgUrl+checkObj.preoperationPic"
style="width: 100%;height: 358px"
alt=""/>
<span v-else></span>
</div>
<p>操作前照片</p>
</div>
<div class="img-box">
<div
style="display: flex;align-items: center;justify-content: center;width:500px;height:400px;background:#eaeaea">
<!-- <img v-if="row==4 && column==18" src="/red-test2.jpg" style="width: 100%;height: 358px" alt="">-->
<!-- <img v-else src="/test2.jpg" style="width: 100%;height: 358px" alt="">-->
<img
v-if="checkObj.overoperationPic"
:src="imgUrl+checkObj.overoperationPic"
style="width: 100%;height: 358px"
alt=""/>
<span v-else></span>
</div>
<p>操作后照片</p>
</div>
<div class="img-box">
<ul>
<li v-for="item in params" :key="item.label">
<span class="img-box-title">
{{ item.label }}:
</span>
<span class="img-box-value">
{{ scanAndCheck[item.key] }}
</span>
</li>
</ul>
</div>
</div>
<div class="carousel-page-footer">
<div class="info-box">
<p>系统登记品规暂无</p>
<p>系统登记数量暂无</p>
</div>
<div class="status">
未核对
</div>
<div class="status-btn">
<a-button class="btn"
type="danger"
@click="showModel({},index)"
>人工复核
</a-button>
<a-button class="btn"
type="primary"
style="background:#29c12b;border-color:#29c12b;"
@click="checkSure(row,column,shelveId,index)"
>核对正确
</a-button>
</div>
<div class="bottom-btn"
v-if="listrow == row && listcolumn == column">
<a-button class="btn" @click="defaultPrev(listrow,listcolumn)"></a-button>
<p>{{listrow}}{{listcolumn}}</p>
<a-button class="btn" @click="defaultNext(listrow,listcolumn)">
</a-button>
</div>
</div>
</div>
</div>
</div>
</div>
<Model
:visible.sync="visible"
:modelData.sync="modelData"
@ -264,9 +149,12 @@ export default {
id: 0,
row: 1,
column: 1,
//
rowCount: 0,
columnCount: 0,
selectName: '',
shelveId: '',
selectType: '',
selectType: 'left',
selectType2: '',
visible: false,
category: '',
@ -275,6 +163,14 @@ export default {
index: 0,
imgUrl: '',
params:[
{
label:'核对状态',
key: 'orderNum'
},
{
label:'工单号',
key: 'orderNum'
},
{
label:'系统条码号',
key: 'SystemCode'
@ -288,7 +184,7 @@ export default {
key: 'SystemNumber'
},
{
label:'检测数量',
label:'扫描数量',
key: 'CheckNumber'
}
]
@ -297,11 +193,12 @@ export default {
beforeRouteLeave(to ,form, next) {
// created
this.$destroy();
next();
//next();
},
created() {
this.imgUrl = imgUrl
console.log(this.$route.query.id)
this.getStreetList();
if (this.$route.query.row && this.$route.query.column && this.$route.query.shelveId && this.$route.query.id && this.$route.query.name) {
this.id = this.$route.query.id
this.row = this.$route.query.row
@ -310,70 +207,16 @@ export default {
this.selectName = this.$route.query.name
this.selectType = this.$route.query.type
this.selectType2 = this.$route.query.type2
console.log(this.shelveId)
console.log(this.row)
console.log(this.column)
this.getStockInfo(this.row, this.column, this.shelveId);
} else if (this.$route.query.checkObj && this.$route.query.item && this.$route.query.item.id && this.$route.query.item.name) {
this.checkObj = this.$route.query.checkObj
this.streetDetail = this.$route.query.item
this.id = this.$route.query.item.id
this.selectName = this.$route.query.item.name
this.getScanAndCheck();
}
},
mounted() {
this.getStreetList();
if (JSON.stringify(this.checkObj) !== '{}') {
if (this.checkObj.shelveId == this.streetDetail.leftShelveId) {
this.selectType = 'left'
} else {
this.selectType = 'right'
}
}
console.log(this.selectType2)
//this.getStreetList();
},
components: {
Model
},
methods: {
getScanAndCheck() {
this.$set(this, 'scanAndCheck', {
SystemCode: this.checkObj.category,
ScanCode: null,
SystemNumber: this.checkObj.count,
CheckNumber: null
})
if(this.checkObj.status == 2) {
this.scanAndCheck.ScanCode = this.scanAndCheck.SystemCode;
this.scanAndCheck.CheckNumber = this.scanAndCheck.SystemNumber;
}else {
this.$api.httpNodeApi.getStockRowColumnNesInfo({
params:{
row: Number(this.row),
column: Number(this.column),
shelveId: this.shelveId + ''
}
}).then(res=>{
if(res.code === 200) {
this.scanAndCheck.ScanCode = res.data.new_category;
this.scanAndCheck.CheckNumber = res.data.new_count;
}
})
}
// this.$api.httpApi.scanAndCheck({
// name: 'getData'
// }).then(res=>{
// // 2
// if(res.status === '0') {
// setTimeout(()=>{
// this.getScanAndCheck();
// }, 2000);
// }else{
// this.scanAndCheck = res.data[0];
// }
// })
},
//
getStreetList() {
this.$api.httpApi.getStreetList({
@ -385,7 +228,8 @@ export default {
this.listData = res.data.list;
this.select = this.id
this.getStreetDetail(this.id)
this.getStockList(this.id)
this.getStockInfo(this.row,this.column,this.id)
//this.getStockList(this.id)
}).catch(err => {
console.error(err);
});
@ -396,24 +240,19 @@ export default {
data: {}
}).then(res => {
this.streetDetail = res.data
console.log(this.streetDetail)
this.getRowColumnCounts()
}).catch(err => {
})
},
//
getStockList(streetId) {
this.$api.httpApi.getStockList({
params: {
streetId: streetId,
}
}).then(res => {
this.checkList = res.data
console.log(this.checkList)
}).catch(err => {
//
getRowColumnCounts(){
if(this.selectType != 'none' && this.selectType != ''){
this.handleTypeChange(this.selectType)
}else{
this.handleTypeChange2(this.selectType2)
}
});
},
//
getStockInfo(row, column, shelveId) {
@ -426,147 +265,139 @@ export default {
}).then(res => {
if (res.data) {
this.checkObj = res.data;
this.shelveId = res.data.shelveId;
this.getScanAndCheck();
//this.shelveId = res.data.shelveId;
//this.getScanAndCheck();
}
}).catch(err => {
console.log(err)
});
},
handleChange(value) {
console.log(value)
this.select = value
this.id = value
this.row = 1
this.column =1
console.log(JSON.stringify(this.checkObj))
this.getStreetList()
for (var i = 0; i < this.listData.length; i++) {
console.log(this.listData[i])
if (this.listData[i].id == value) {
if (this.listData[i].leftShelveId) {
this.shelveId = this.listData[i].leftShelveId
this.selectType = 'left'
this.selectType2 = 'none'
this.getStockInfo(1, 1, this.shelveId)
this.rowCount = this.listData[i].leftRow
this.columnCount = this.listData[i].leftColumn
} else if (this.listData[i].leftInsideShelveId) {
this.shelveId = this.listData[i].leftInsideShelveId
this.selectType = 'left'
this.selectType2 = 'inside'
this.getStockInfo(1, 1, this.shelveId)
this.rowCount = this.listData[i].leftRow
this.columnCount = this.listData[i].leftColumn
} else if (this.listData[i].leftOutsideShelveId) {
this.shelveId = this.listData[i].leftOutsideShelveId
this.selectType = 'left'
this.selectType2 = 'out'
this.getStockInfo(1, 1, this.shelveId)
this.rowCount = this.listData[i].leftRow
this.columnCount = this.listData[i].leftColumn
}
}
}
this.getStockInfo(1, 1, this.shelveId)
},
handleTypeChange(value) {
console.log(this.streetDetail.leftShelveId)
console.log(value)
this.row = 1
this.column = 1
this.selectType = value
if (value == 'left') {
this.rowCount = this.streetDetail.leftRow
this.columnCount = this.streetDetail.leftColumn
if (this.streetDetail.leftShelveId) {
this.getStockInfo(1, 1, this.streetDetail.leftShelveId)
this.shelveId = this.streetDetail.leftShelveId
} else if (this.streetDetail.leftInsideShelveId) {
this.getStockInfo(1, 1, this.streetDetail.leftInsideShelveId)
this.shelveId = this.streetDetail.leftInsideShelveId
} else if (this.streetDetail.leftOutsideShelveId) {
this.getStockInfo(1, 1, this.streetDetail.leftOutsideShelveId)
this.shelveId = this.streetDetail.leftOutsideShelveId
}
} else if (value == 'right') {
this.rowCount = this.streetDetail.rightRow
this.columnCount = this.streetDetail.rightColumn
if (this.streetDetail.rightShelveId) {
this.getStockInfo(1, 1, this.streetDetail.rightShelveId)
this.shelveId = this.streetDetail.rightShelveId
} else if (this.streetDetail.rightInsideShelveId) {
this.getStockInfo(1, 1, this.streetDetail.rightInsideShelveId)
this.shelveId = this.streetDetail.rightInsideShelveId
} else if (this.streetDetail.rightOutsideShelveId) {
this.getStockInfo(1, 1, this.streetDetail.rightOutsideShelveId)
this.shelveId = this.streetDetail.rightOutsideShelveId
}
}
this.getStockInfo(this.row, this.column, this.shelveId)
},
handleTypeChange2(value) {
console.log(this.streetDetail.leftShelveId)
console.log(value)
this.row = 1
this.column = 1
this.selectType2 = value
if (this.selectType == 'left' && value == 'none') {
this.getStockInfo(1, 1, this.streetDetail.leftShelveId)
this.shelveId = this.streetDetail.leftShelveId
this.rowCount = this.streetDetail.leftRow
this.columnCount = this.streetDetail.leftColumn
} else if (this.selectType == 'right' && value == 'none') {
this.getStockInfo(1, 1, this.streetDetail.rightShelveId)
this.rowCount = this.streetDetail.rightRow
this.columnCount = this.streetDetail.rightColumn
this.shelveId = this.streetDetail.rightShelveId
} else if (this.selectType == 'left' && value == 'inside') {
this.getStockInfo(1, 1, this.streetDetail.leftInsideShelveId)
this.rowCount = this.streetDetail.leftRow
this.columnCount = this.streetDetail.leftColumn
this.shelveId = this.streetDetail.leftInsideShelveId
} else if (this.selectType == 'left' && value == 'out') {
this.getStockInfo(1, 1, this.streetDetail.leftOutsideShelveId)
this.rowCount = this.streetDetail.leftRow
this.columnCount = this.streetDetail.leftColumn
this.shelveId = this.streetDetail.leftOutsideShelveId
} else if (this.selectType == 'right' && value == 'inside') {
this.getStockInfo(1, 1, this.streetDetail.rightInsideShelveId)
this.rowCount = this.streetDetail.rightRow
this.columnCount = this.streetDetail.rightColumn
this.shelveId = this.streetDetail.rightInsideShelveId
} else if (this.selectType == 'right' && value == 'out') {
this.getStockInfo(1, 1, this.streetDetail.rightOutsideShelveId)
this.rowCount = this.streetDetail.rightRow
this.columnCount = this.streetDetail.rightColumn
this.shelveId = this.streetDetail.rightOutsideShelveId
}
this.getStockInfo(this.row, this.column, this.shelveId)
},
prev(index) {
index--
console.log(index)
for (let x in this.checkList) {
if (this.checkObj.shelveId == this.checkList[x][index].shelveId) {
console.log(this.checkList[x][index].row)
console.log(this.checkList[x][index].column)
console.log(this.checkList[x][index].shelveId)
this.getStockInfo(this.checkList[x][index].row, this.checkList[x][index].column, this.checkList[x][index].shelveId)
}
}
},
next(index) {
index++
console.log(index)
for (let x in this.checkList) {
if (this.checkObj.shelveId == this.checkList[x][index].shelveId) {
console.log(this.checkList[x][index].row)
console.log(this.checkList[x][index].column)
console.log(this.checkList[x][index].shelveId)
this.getStockInfo(this.checkList[x][index].row, this.checkList[x][index].column, this.checkList[x][index].shelveId)
}
}
},
defaultPrev(row, column) {
for (var i = 1; i < this.streetDetail.leftColumn + 1; i++) {
for (var j = 1; j < this.streetDetail.leftRow + 1; j++) {
console.log(i)
console.log(j)
if (i == row && j == column) {
this.column = j - 1
if (this.column < 1) {
this.row = i - 1
this.column = this.streetDetail.leftColumn
}
if (i == 1 && j == 1) {
this.row = 1
this.column = 1
}
}
prev() {
if(this.column > 1){
this.column = this.column - 1
}else{
if(this.row > 1){
this.row = this.row - 1
this.column = this.columnCount
}else{
this.row = this.rowCount
this.column = this.columnCount
}
}
this.getStockInfo(this.row,this.column,this.shelveId)
},
defaultNext(row, column) {
for (var i = 1; i < this.streetDetail.leftColumn + 1; i++) {
for (var j = 1; j < this.streetDetail.leftRow + 1; j++) {
console.log(i)
console.log(j)
if (i == row && j == column) {
this.column = j + 1
if (this.column == this.streetDetail.leftColumn + 1) {
this.row = i + 1
this.column = 1
}
if (i == this.streetDetail.leftColumn && j == this.streetDetail.leftRow) {
this.row = this.streetDetail.leftRow
this.column = this.streetDetail.leftColumn
}
}
next() {
if(this.column < this.columnCount){
this.column = this.column + 1
}else{
// row+1
if(this.row < this.rowCount){
this.row = this.row + 1
this.column = 1
}else{
this.row = 1
this.column = 1
}
}
this.getStockInfo(this.row,this.column,this.shelveId)
},
checkSure(row, column, shelveId, index) {
this.$api.httpApi.stockCheckCorrect({
@ -697,8 +528,8 @@ export default {
.status-btn {
display: flex;
align-items: center;
justify-content: center;
align-items: flex-start;
justify-content: flex-start;
.btn {
padding: 25px;
@ -716,7 +547,7 @@ export default {
.bottom-btn {
width: 100%;
display: flex;
align-items: center;
align-items: right;
justify-content: center;
p {

@ -63,7 +63,7 @@
</span>
</span>
<span slot="videoPath1" slot-scope="text">
<a-button type="link" v-if="text.videoPath1" @click="showModel(text.videoPath1, text.cmd1)">
<a-button type="link" v-if="text.videoPath1" @click="showModel(text.videoPath1)">
查看视频
</a-button>
<span v-else>
@ -71,7 +71,7 @@
</span>
</span>
<span slot="videoPath2" slot-scope="text">
<a-button type="link" v-if="text.videoPath2" @click="showModel(text.videoPath2, text.cmd2)">
<a-button type="link" v-if="text.videoPath2" @click="showModel(text.videoPath2)">
查看视频
</a-button>
<span v-else>
@ -226,19 +226,10 @@ export default {
this.queryParam.startTimestamp = ""
this.queryParam.endTimestamp = ""
},
showModel(path, cmd) {
// 使
if(cmd) {
let params = {
openCmd: cmd
};
this.$api.httpNodeApi.viewVideoAPI({params}).then(res=> {
console.log(res);
})
}else {
this.visible = true
this.vid = videoUrl + path;
}
showModel(path) {
this.visible = true
this.vid = videoUrl + path;
},
closeModel(visible, data) {
this.visible = visible

@ -71,6 +71,10 @@ const columns = [
title: '品类',
dataIndex: 'name',
},
{
title: '条码',
dataIndex: 'code',
},
{
title: '修改时间',
dataIndex: 'updateTime',

@ -17,12 +17,21 @@
>
<a-form-item label="名称"
:label-col="formItemVerticalLayout.labelCol"
help="说明请按A - AA-AAA 的模式输入内容"
>
<a-input
v-decorator="['name', { rules: [{ required: true, message: '请输入品规名称!' }] }]"
/>
</a-form-item>
<a-form-item label="条码"
:label-col="formItemVerticalLayout.labelCol"
>
<a-input
v-decorator="['code', { rules: [{ required: true, message: '请输入条码!' }] }]"
/>
</a-form-item>
</a-form>
</a-modal>
</template>
@ -58,6 +67,7 @@ export default {
this.$nextTick(()=>{ //this.$nextTick
this.form.setFieldsValue({ //setFieldsValue form
name:newVal.name,
code:newVal.code,
ip:newVal.ip,
rtsp:newVal.rtsp
})

@ -33,7 +33,8 @@ module.exports = {
},
'/api': {
// target: 'http://192.168.0.133:8099',
target: 'http://115.236.65.98:13001/monitor',
// target: 'http://115.236.65.98:13001/monitor',
target: 'http://127.0.0.1:9007',
logLevel:'debug', //控制台终端打印代理前的真实地址
},
},

Loading…
Cancel
Save