Commit 3b002cb7 by 潘建波

增加蓝色风格

1 parent af79acb9
Showing 67 changed files with 2307 additions and 587 deletions
......@@ -274,6 +274,7 @@
//从另一个值Xml中获取已经改变的值
function getValueFromValueXml(valueXml, nodePath) {
debugger
//使用遍历的方式去查找元素
var isFound = true;
var nodes = nodePath.split("/");
......
This file is too large to display.
No preview for this file type
......@@ -91,9 +91,9 @@
"> 1%",
"last 2 versions"
],
"config":{
"commitizen":{
"path":"./node_modules/cz-conventional-changelog"
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"
}
}
}
{
"files": {
"main.css": "./static/css/main.93f5f206.chunk.css",
"main.js": "./static/js/main.6c188247.chunk.js",
"main.js.map": "./static/js/main.6c188247.chunk.js.map",
"runtime-main.js": "./static/js/runtime-main.1c72c6f0.js",
"runtime-main.js.map": "./static/js/runtime-main.1c72c6f0.js.map",
"static/css/2.c8fdb744.chunk.css": "./static/css/2.c8fdb744.chunk.css",
"static/js/2.3fc2ea5d.chunk.js": "./static/js/2.3fc2ea5d.chunk.js",
"static/js/2.3fc2ea5d.chunk.js.map": "./static/js/2.3fc2ea5d.chunk.js.map",
"index.html": "./index.html",
"precache-manifest.5dc53e552550681df5ac85467b2a9201.js": "./precache-manifest.5dc53e552550681df5ac85467b2a9201.js",
"service-worker.js": "./service-worker.js",
"static/css/2.c8fdb744.chunk.css.map": "./static/css/2.c8fdb744.chunk.css.map",
"static/css/main.93f5f206.chunk.css.map": "./static/css/main.93f5f206.chunk.css.map",
"static/js/2.3fc2ea5d.chunk.js.LICENSE.txt": "./static/js/2.3fc2ea5d.chunk.js.LICENSE.txt"
},
"entrypoints": [
"static/js/runtime-main.1c72c6f0.js",
"static/css/2.c8fdb744.chunk.css",
"static/js/2.3fc2ea5d.chunk.js",
"static/css/main.93f5f206.chunk.css",
"static/js/main.6c188247.chunk.js"
]
}
\ No newline at end of file
No preview for this file type
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="./favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#000000"/><meta name="description" content="Web site created using create-react-app"/><link rel="apple-touch-icon" href="./logo192.png"/><link rel="manifest" href="./manifest.json"/><title>React App</title><link href="./static/css/2.c8fdb744.chunk.css" rel="stylesheet"><link href="./static/css/main.93f5f206.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,l,a=t[0],f=t[1],i=t[2],p=0,s=[];p<a.length;p++)l=a[p],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(c&&c(t);s.length;)s.shift()();return u.push.apply(u,i||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,a=1;a<r.length;a++){var f=r[a];0!==o[f]&&(n=!1)}n&&(u.splice(t--,1),e=l(l.s=r[0]))}return e}var n={},o={1:0},u=[];function l(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,l),r.l=!0,r.exports}l.m=e,l.c=n,l.d=function(e,t,r){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(l.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)l.d(r,n,function(t){return e[t]}.bind(null,n));return r},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="./";var a=this.webpackJsonpreactts=this.webpackJsonpreactts||[],f=a.push.bind(a);a.push=t,a=a.slice();for(var i=0;i<a.length;i++)t(a[i]);var c=f;r()}([])</script><script src="./static/js/2.3fc2ea5d.chunk.js"></script><script src="./static/js/main.6c188247.chunk.js"></script></body></html>
\ No newline at end of file
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
self.__precacheManifest = (self.__precacheManifest || []).concat([
{
"revision": "f20cba2b5aca1f606b87ccc173e57106",
"url": "./index.html"
},
{
"revision": "3f558e01978fd420eee6",
"url": "./static/css/2.c8fdb744.chunk.css"
},
{
"revision": "02c464cf4524d8b82b11",
"url": "./static/css/main.93f5f206.chunk.css"
},
{
"revision": "3f558e01978fd420eee6",
"url": "./static/js/2.3fc2ea5d.chunk.js"
},
{
"revision": "3453b8997016469371284a28c0e873e2",
"url": "./static/js/2.3fc2ea5d.chunk.js.LICENSE.txt"
},
{
"revision": "02c464cf4524d8b82b11",
"url": "./static/js/main.6c188247.chunk.js"
},
{
"revision": "502f3a67afd045ebb31d",
"url": "./static/js/runtime-main.1c72c6f0.js"
}
]);
\ No newline at end of file
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
/**
* Welcome to your Workbox-powered service worker!
*
* You'll need to register this file in your web app and you should
* disable HTTP caching for this file too.
* See https://goo.gl/nhQhGp
*
* The rest of the code is auto-generated. Please don't update this file
* directly; instead, make changes to your Workbox build configuration
* and re-run your build process.
* See https://goo.gl/2aRDsh
*/
importScripts("https://storage.googleapis.com/workbox-cdn/releases/4.3.1/workbox-sw.js");
importScripts(
"./precache-manifest.5dc53e552550681df5ac85467b2a9201.js"
);
self.addEventListener('message', (event) => {
if (event.data && event.data.type === 'SKIP_WAITING') {
self.skipWaiting();
}
});
workbox.core.clientsClaim();
/**
* The workboxSW.precacheAndRoute() method efficiently caches and responds to
* requests for URLs in the manifest.
* See https://goo.gl/S9QRab
*/
self.__precacheManifest = [].concat(self.__precacheManifest || []);
workbox.precaching.precacheAndRoute(self.__precacheManifest, {});
workbox.routing.registerNavigationRoute(workbox.precaching.getCacheKeyForURL("./index.html"), {
blacklist: [/^\/_/,/\/[^/?]+\.[^/]+$/],
});
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{-webkit-animation:App-logo-spin 20s linear infinite;animation:App-logo-spin 20s linear infinite}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@-webkit-keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.93f5f206.chunk.css.map */
\ No newline at end of file
{"version":3,"sources":["index.css","App.css"],"names":[],"mappings":"AAAA,KACE,QAAS,CACT,mJAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,KACE,yEAEF,CCVA,UACE,aAAc,CACd,mBACF,CAEA,8CACE,UACE,mDAA4C,CAA5C,2CACF,CACF,CAEA,YACE,wBAAyB,CACzB,gBAAiB,CACjB,YAAa,CACb,qBAAsB,CACtB,kBAAmB,CACnB,sBAAuB,CACvB,4BAA6B,CAC7B,UACF,CAEA,UACE,aACF,CAEA,iCACE,GACE,sBACF,CACA,GACE,uBACF,CACF,CAPA,yBACE,GACE,sBACF,CACA,GACE,uBACF,CACF","file":"main.93f5f206.chunk.css","sourcesContent":["body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n","\n\n.App-logo {\n height: 40vmin;\n pointer-events: none;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n .App-logo {\n animation: App-logo-spin infinite 20s linear;\n }\n}\n\n.App-header {\n background-color: #282c34;\n min-height: 100vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n font-size: calc(10px + 2vmin);\n color: white;\n}\n\n.App-link {\n color: #61dafb;\n}\n\n@keyframes App-logo-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n"]}
\ No newline at end of file
This diff could not be displayed because it is too large.
/*
object-assign
(c) Sindre Sorhus
@license MIT
*/
/*!
Copyright (c) 2017 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
/** @license React v0.19.1
* scheduler.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v16.13.1
* react-dom.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v16.13.1
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
/** @license React v16.13.1
* react.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
This diff could not be displayed because it is too large.
(this.webpackJsonpreactts=this.webpackJsonpreactts||[]).push([[0],{199:function(e,t,a){e.exports=a(376)},204:function(e,t,a){},205:function(e,t,a){},376:function(e,t,a){"use strict";a.r(t);var n=a(0),o=a.n(n),i=a(16),l=a.n(i),r=(a(204),a(205),a(61)),c=a(62),s=a(64),d=a(63),u=a(191),m=a(379),h=a(381),f=a(385),p=a(100),v=a(36),g=a(382),k=a(384),y=a(383),E=a(386),b=a(387),S=a(388),x=a(389),C=a(165),_=a.n(C).a.create({}),w=function(e,t,a){var n={params:{},headers:{}};return t&&(n.params=t),a&&(n.headers=a),_.get(e,n)},O=function(e,t,a,n){var o={params:{},headers:{}};return n&&(o.params=n),a&&(o.headers=a),_.post(e,t,o)},M="http://40.73.59.185:18768",L=function(e,t){return w("".concat(M,"/eureka/apps"),e,t)},j=function(e,t,a){return O("".concat(M,"/api/v1/manage/docking"),e,t,a)},D=function(e,t,a){return O("".concat(M,"/api/v1/manage/docking_start"),e,t,a)},T=function(e,t){return w("".concat(M,"/api/v1/manage/docking_config"),e,t)},I=function(e,t,a){return O("".concat(M,"/api/v1/manage/docking_config"),e,t,a)},H=function(e,t){return w("".concat(M,"/api/v1/manage/docking_list"),e,t)},P=function(e,t,a){return w("".concat(e,"api/v1/dock_today"),t,a)},B=function(e,t,a){return w("".concat(e,"api/v1/dock_detail"),t,a)},R=(m.a.Column,m.a.ColumnGroup,h.a.Dragger,f.a.TextArea),W=p.a.Option,z=function(e){Object(s.a)(a,e);var t=Object(d.a)(a);function a(e){var n;return Object(r.a)(this,a),(n=t.call(this,e)).state={dataSource:[],showRichText:!1,editortContent:"",editorStates:void 0,status:"stop",dockList:[],curedit:""},n.handleClearContent=function(){n.setState({editorState:""})},n.handleGetText=function(){n.setState({showRichText:!0})},n.onEditorChange=function(e){n.setState({editortContent:e})},n.onEditorStateChange=function(e){n.setState({editorState:e})},n}return Object(c.a)(a,[{key:"render",value:function(){var e=this,t=this.state,a=(t.editorStates,t.editortContent,t.dockList),n=t.curedit;return o.a.createElement("div",null,o.a.createElement(v.a,{type:"primary",style:{margin:15},onClick:this.showModal.bind(this)},"\u6dfb\u52a0\u670d\u52a1"),o.a.createElement("div",{style:Y.cardbox},a.map((function(t){var a;return a="stop"==t.status?o.a.createElement(E.a,{key:"ellipsis",onClick:e.startServer.bind(e,t)}):o.a.createElement(b.a,{key:"stop",onClick:e.startServer.bind(e,t)}),o.a.createElement("div",{key:t.id,style:{width:300,margin:"0 10px"}},o.a.createElement(g.a,{title:t.name,bordered:!1,style:{width:300,margin:"10px auto",boxShadow:"3px 3px 6px 2px #888888"},actions:[o.a.createElement(S.a,{key:"edit",onClick:e.editServer.bind(e,t)}),a]},o.a.createElement("p",null,t.describe)))}))),o.a.createElement("div",null,o.a.createElement(A,{ref:"supload"}),o.a.createElement(G,{curedit:n,ref:"editmodal"})))}},{key:"getDockList",value:function(){var e=this;H().then((function(t){e.setState({dockList:t.data})}))}},{key:"editServer",value:function(e){this.refs.editmodal.sershowModal(e)}},{key:"startServer",value:function(e){var t=e.status,a={id:e.id,status:t};a.status="stop"===t?"open":"stop",D(a).then((function(e){200===e.data.ecode&&k.b.success(e.data.enote)}))}},{key:"handleChange",value:function(){}},{key:"showModal",value:function(){this.refs.supload.sershowModal()}},{key:"componentDidMount",value:function(){}},{key:"componentWillMount",value:function(){this.getDockList()}}]),a}(o.a.Component),Y={addbtn:{mrgin:10},cardbox:{flexDirection:"row",display:"flex",margin:"0 10px"}},A=function(e){Object(s.a)(a,e);var t=Object(d.a)(a);function a(e){var n;return Object(r.a)(this,a),(n=t.call(this,e)).state={visible:!1,confirmLoading:!1,name:"",factory:"",prot:"http",data_type:"",describe:"",fileList:[]},n.handleOk=function(){var e=n.state,t=e.fileList,a=e.name,o=e.factory,i=e.prot,l=new FormData;console.log(i),l.append("name",a),l.append("factory",o),l.append("prot",i),t.forEach((function(e){console.log(e),e.name.indexOf(".jar")>-1&&l.append("file_packge",e),e.name.indexOf(".properties")>-1&&l.append("file_config",e)})),j(l,{"Content-Type":"multipart/form-data"},{}).then((function(e){console.log(e)})),n.setState({visible:!1})},n.handleCancel=function(){n.setState({visible:!1})},n}return Object(c.a)(a,[{key:"render",value:function(){var e=this,t=this.state,a=t.visible,n=t.confirmLoading,i=t.name,l=t.factory,r=t.prot,c=(t.data_type,t.describe),s=(t.fileList,{name:"file_packge",multiple:!0,data:{},beforeUpload:function(t){return e.setState((function(e){return{fileList:[].concat(Object(u.a)(e.fileList),[t])}})),!1}});return o.a.createElement("div",null,o.a.createElement(y.a,{title:"\u670d\u52a1\u6587\u4ef6\u4e0a\u4f20",visible:a,width:"40%",onOk:this.handleOk,confirmLoading:n,onCancel:this.handleCancel.bind(this),okText:"\u786e\u5b9a",cancelText:"\u53d6\u6d88"},o.a.createElement(f.a,{placeholder:"\u670d\u52a1\u540d\u79f0",style:{marginBottom:10},value:i,onChange:function(t){var a=t.target.value;e.setState({name:a})}}),o.a.createElement(f.a,{placeholder:"\u670d\u52a1\u5382\u5bb6",style:{marginBottom:10},value:l,onChange:function(t){var a=t.target.value;e.setState({factory:a})}}),o.a.createElement(p.a,{defaultValue:"http",style:{marginBottom:10,width:"100%"},value:r,onChange:function(t){e.setState({prot:t})}},o.a.createElement(W,{value:"http"},"HTTP"),o.a.createElement(W,{value:"webservice"},"WEBSERVICE")),o.a.createElement(R,{style:{marginBottom:10},value:c,onChange:this.onChange,placeholder:"\u63cf\u8ff0",autoSize:{minRows:3,maxRows:5}}),o.a.createElement(h.a,s,o.a.createElement(v.a,null,o.a.createElement(x.a,null)," \u670d\u52a1\u4e0a\u4f20"))))}},{key:"uploadfile",value:function(e){console.log(e)}},{key:"onChange",value:function(){}},{key:"sershowModal",value:function(){this.setState({visible:!0})}}]),a}(o.a.Component),G=function(e){Object(s.a)(a,e);var t=Object(d.a)(a);function a(e){var n;return Object(r.a)(this,a),(n=t.call(this,e)).state={visible:!1,value:"",curData:"",confirmLoading:!1},n.onChange=function(e){var t=e.target.value;n.setState({value:t})},n.handleOk=function(){var e={id:n.state.curData.id,config:n.state.value};I(e).then((function(e){})),n.setState({visible:!1})},n.handleCancel=function(){n.setState({visible:!1})},n}return Object(c.a)(a,[{key:"render",value:function(){var e=this.state,t=e.visible,a=e.confirmLoading,n=e.value;return o.a.createElement("div",null,o.a.createElement(y.a,{title:"\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6",visible:t,width:"40%",onOk:this.handleOk,confirmLoading:a,onCancel:this.handleCancel.bind(this),okText:"\u786e\u5b9a",cancelText:"\u53d6\u6d88"},o.a.createElement(R,{value:n,onChange:this.onChange,placeholder:"Controlled autosize",autoSize:{minRows:3,maxRows:5}})))}},{key:"sershowModal",value:function(e){this.getDockConfig(e),this.setState({visible:!0,curData:e})}},{key:"getDockConfig",value:function(e){var t=this,a={id:e.id};T(a).then((function(e){200==e.data.ecode&&t.setState({value:e.data.config})}))}}]),a}(o.a.Component),U=z,F=a(377),N=a(380),V=a(90),J=a(56),K=a(55),$=a.n(K),q=m.a.Column,Q=(m.a.ColumnGroup,N.a.RangePicker),X=function(e){Object(s.a)(a,e);var t=Object(d.a)(a);function a(e){var n;return Object(r.a)(this,a),(n=t.call(this,e)).state={dataSource:[],timer:[],confirmLoading:!1,send_today_data:0,send_today_success:0,send_today_error:0,last_send_dt:""},n.handleOk=function(){n.setState({ModalText:"The modal will be closed after two seconds",confirmLoading:!0}),n.props.closeModal()},n.handleCancel=function(){console.log("Clicked cancel button"),n.props.closeModal()},n}return Object(c.a)(a,[{key:"initData",value:function(e){this.getalldock(e),this.getDockDetail(e)}},{key:"getalldock",value:function(e){var t=this;console.log(e),P(e.service_url).then((function(e){if(200===e.data.ecode){var a=e.data.data;t.setState({last_send_dt:a.last_send_dt,send_today_success:a.send_today_success,send_today_data:a.send_today_data,send_today_error:a.send_today_error})}}))}},{key:"getDockDetail",value:function(e){var t=this;B(e.service_url,{start_dt:"2020-08-03 00:00:00",end_dt:"2020-08-03 23:59:59",limit:100,offset:0}).then((function(e){if(200===e.data.ecode){var a=e.data.data;t.setState({dataSource:a})}}))}},{key:"render",value:function(){var e=this.state.confirmLoading;return o.a.createElement("div",null,o.a.createElement(y.a,{title:"\u63a5\u6536\u670d\u52a1\u6570\u636e\u8be6\u60c5",visible:this.props.movisible,width:"95%",onOk:this.handleOk,confirmLoading:e,onCancel:this.handleCancel.bind(this),okText:"\u786e\u5b9a",cancelText:"\u53d6\u6d88"},o.a.createElement("div",null,o.a.createElement(V.a,{style:Z.headerbox},o.a.createElement(J.a,{span:6},o.a.createElement("span",{style:Z.label},"\u5f53\u65e5\u7d2f\u8ba1\u53d1\u9001\u6570\u636e"),o.a.createElement("span",{style:Z.info},this.state.send_today_data)),o.a.createElement(J.a,{span:6},o.a.createElement("span",{style:Z.label},"\u5f53\u65e5\u6210\u529f\u6570\u636e"),o.a.createElement("span",{style:Z.info},this.state.send_today_success)),o.a.createElement(J.a,{span:6},o.a.createElement("span",{style:Z.label},"\u5f53\u65e5\u5931\u8d25\u6570\u636e"),o.a.createElement("span",{style:Z.info},this.state.send_today_error)),o.a.createElement(J.a,{span:6},o.a.createElement("span",{style:Z.label},"\u5f53\u65e5\u5931\u8d25\u6570\u636e"),o.a.createElement("span",{style:Z.info},this.state.last_send_dt)))),o.a.createElement("div",{style:{marginBottom:15}},o.a.createElement(Q,{placeholder:["\u5f00\u59cb\u65f6\u95f4","\u7ed3\u675f\u65f6\u95f4"],onChange:this.timerchange.bind(this),showTime:{hideDisabledOptions:!0,defaultValue:[$()("00:00:00","HH:mm:ss"),$()("11:59:59","HH:mm:ss")]},format:"YYYY-MM-DD HH:mm:ss"})," ",o.a.createElement(v.a,{type:"primary",style:{marginLeft:15}},"\u67e5\u8be2")),o.a.createElement(m.a,{dataSource:this.state.dataSource.send_data,onChange:this.changePage.bind(this)},o.a.createElement(q,{title:"#",dataIndex:"index",key:"index"}),o.a.createElement(q,{title:"\u6570\u636eID",dataIndex:"name",key:"manufactorName"}),o.a.createElement(q,{title:"\u6570\u636e\u6765\u6e90",width:"400px",dataIndex:"status",key:"dockUrl"}),o.a.createElement(q,{title:"\u6570\u636e\u7c7b\u578b",dataIndex:"runtime",key:"dockProtocol"}),o.a.createElement(q,{title:"\u53d1\u9001\u72b6\u6001",dataIndex:"runtime",key:"dockProtocol"}),o.a.createElement(q,{title:"\u5931\u8d25\u539f\u56e0",dataIndex:"runtime",key:"dockProtocol"}),o.a.createElement(q,{title:"\u53d1\u9001\u65f6\u95f4",dataIndex:"runtime",key:"dockProtocol"}),o.a.createElement(q,{title:"\u5b57\u6bb5\u8be6\u60c5",dataIndex:"runtime",key:"dockProtocol"}))))}},{key:"timerchange",value:function(e,t){this.setState({timer:t})}},{key:"changePage",value:function(e){}},{key:"componentDidMount",value:function(){this.setState({visible:this.props.movisible})}}]),a}(o.a.Component),Z={label:{paddingRight:10,color:"#303030"},info:{fontSize:16},headerbox:{marginBottom:"20px"}},ee=X,te=m.a.Column,ae=(m.a.ColumnGroup,[{path:"/dockingservice",component:function(e){Object(s.a)(a,e);var t=Object(d.a)(a);function a(e){var n;return Object(r.a)(this,a),(n=t.call(this,e)).state={dataSource:[],visible:!1,confirmLoading:!1,curservice:""},n.showModal=function(e){n.setState({visible:!0,curservice:e}),n.refs.detail.initData(e)},n.handleOk=function(){n.setState({ModalText:"The modal will be closed after two seconds",confirmLoading:!0}),setTimeout((function(){n.setState({visible:!1,confirmLoading:!1})}),2e3)},n.handleCancel=function(){console.log("Clicked cancel button"),n.setState({visible:!1})},n}return Object(c.a)(a,[{key:"render",value:function(){var e=this,t=this.state;t.visible,t.confirmLoading;return o.a.createElement("div",{style:{width:"100%"}},o.a.createElement(m.a,{dataSource:this.state.dataSource},o.a.createElement(te,{title:"#",dataIndex:"index",key:"index"}),o.a.createElement(te,{title:"\u63a5\u6536\u5e73\u53f0",dataIndex:"name",key:"manufactorName"}),o.a.createElement(te,{title:"\u8fd0\u884c\u72b6\u6001",width:"400px",dataIndex:"status",key:"dockUrl"}),o.a.createElement(te,{title:"\u542f\u52a8\u65f6\u95f4",dataIndex:"runtime",key:"dockProtocol"}),o.a.createElement(te,{title:"\u67e5\u770b\u8be6\u60c5",key:"Action",render:function(t,a){return o.a.createElement(F.a,{size:"middle"},o.a.createElement("a",{onClick:e.showModal.bind(e,t,a)},"\u67e5\u770b"))}})),";",o.a.createElement(ee,{movisible:this.state.visible,curservice:this.state.curservice,closeModal:function(){return e.closemodal()},ref:"detail"}))}},{key:"closemodal",value:function(){this.setState({visible:!1})}},{key:"setTimer",value:function(e){var t=new Date(e);return t.getFullYear()+"-"+(t.getMonth()+1<10?"0"+(t.getMonth()+1):t.getMonth()+1)+"-"+(t.getDate()<10?"0"+t.getDate():t.getDate())+" "+(t.getHours()<10?"0"+t.getHours():t.getHours())+":"+(t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes())+":"+(t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds())}},{key:"componentWillMount",value:function(){var e=this;console.log(this.props.location.pathname),L().then((function(t){var a=t.data.applications.application,n=[];a.forEach((function(t,a){var o={index:a+1,name:t.name,status:t.instance[0].status,runtime:e.setTimer(t.instance[0].leaseInfo.registrationTimestamp),service_url:t.instance[0].homePageUrl};n.push(o)})),e.setState({dataSource:n})}))}}]),a}(o.a.Component),exact:!0},{path:"/manage",component:U,exact:!0}]),ne=a(126),oe=a(35),ie=a(378),le=a(79),re=a(390),ce=a(391),se=ie.a.Header,de=(ie.a.Footer,ie.a.Sider),ue=ie.a.Content,me=(le.a.SubMenu,function(e){Object(s.a)(a,e);var t=Object(d.a)(a);function a(e){var n;return Object(r.a)(this,a),(n=t.call(this,e)).state={collapsed:!1},n.toggleCollapsed=function(){n.setState({collapsed:!n.state.collapsed})},n}return Object(c.a)(a,[{key:"render",value:function(){var e=this.props;e.name,e.enthusiasmLevel;return n.createElement(ie.a,null,n.createElement(se,{style:{textAlign:"left",color:"#fff",fontSize:"20px",fontWeight:"bold",letterSpacing:"2px"}},"\u661f\u6cb3\u5bf9\u63a5\u5e73\u53f0"),n.createElement("div",null,n.createElement(ne.a,null,n.createElement(ie.a,null,n.createElement(de,{style:{overflow:"auto",height:"100vh"}},n.createElement(le.a,{defaultSelectedKeys:["1"],defaultOpenKeys:["sub1"],mode:"inline",theme:"dark",inlineCollapsed:this.state.collapsed},n.createElement(le.a.Item,{key:"1",icon:n.createElement(re.a,null)},n.createElement(ne.b,{to:"/dockingservice"},n.createElement("span",null,n.createElement("span",null,"\u5bf9\u63a5\u8be6\u60c5")))),n.createElement(le.a.Item,{key:"3",icon:n.createElement(ce.a,null)},n.createElement(ne.b,{to:"/manage"},n.createElement("span",null,n.createElement("span",null,"\u7ba1\u7406\u914d\u7f6e")))))),n.createElement(ue,{style:{overflow:"auto"}},n.createElement("div",null,n.createElement(oe.d,null,ae.map((function(e,t){return n.createElement(oe.b,{path:e.path,key:t,exact:e.exact,component:e.component})})),n.createElement(oe.b,{path:"/",render:function(){return n.createElement(oe.a,{to:ae[0].path})}}))))))))}},{key:"routerWillLeave",value:function(){}},{key:"componentWillMount",value:function(){}}]),a}(n.Component));a(375);var he=function(){return o.a.createElement("div",{className:"App"},o.a.createElement(me,{name:"home"}))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));l.a.render(o.a.createElement(o.a.StrictMode,null,o.a.createElement(he,null)),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){console.error(e.message)}))}},[[199,1,2]]]);
//# sourceMappingURL=main.6c188247.chunk.js.map
\ No newline at end of file
{"version":3,"sources":["api/index.ts","api/http.ts","api/service.ts","views/Dockingservices/manage.tsx","views/Dockingservices/detail.tsx","views/Dockingservices/index.tsx","router/index.ts","views/home.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["instance","axios","create","url","params","headers","options","get","data","post","URL","header","http","serviceurl","serviceid","TextArea","Table","Column","ColumnGroup","Upload","Dragger","Input","Option","Select","Manage","prop","state","dataSource","showRichText","editortContent","editorStates","undefined","status","dockList","curedit","handleClearContent","setState","editorState","handleGetText","onEditorChange","onEditorStateChange","this","type","style","margin","onClick","showModal","bind","styles","cardbox","map","ele","statusview","PlaySquareOutlined","key","startServer","PauseCircleOutlined","id","width","title","name","bordered","boxShadow","actions","EditOutlined","editServer","describe","ref","service","then","res","refs","editmodal","sershowModal","sdata","ecode","message","success","enote","supload","getDockList","React","Component","addbtn","mrgin","flexDirection","display","ServiceUpload","visible","confirmLoading","factory","prot","data_type","fileList","handleOk","formData","FormData","console","log","append","forEach","file","indexOf","handleCancel","props","multiple","beforeUpload","onOk","onCancel","okText","cancelText","placeholder","marginBottom","value","onChange","target","defaultValue","autoSize","minRows","maxRows","UploadOutlined","EditModal","curData","config","getDockConfig","ddata","RangePicker","DatePicker","DockDetail","timer","ModalText","closeModal","getalldock","getDockDetail","service_url","result","last_send_dt","send_today_success","send_today_data","send_today_error","start_dt","end_dt","limit","offset","movisible","headerbox","span","label","info","timerchange","showTime","hideDisabledOptions","moment","format","marginLeft","send_data","changePage","dataIndex","date","dateString","paginate","paddingRight","color","fontSize","routers","path","component","curservice","detail","initData","setTimeout","render","text","record","size","closemodal","obj","Date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","location","pathname","applications","application","serviceData","index","runtime","setTimer","leaseInfo","registrationTimestamp","homePageUrl","push","exact","Header","Layout","Sider","Footer","Content","Home","Menu","SubMenu","collapsed","toggleCollapsed","enthusiasmLevel","textAlign","fontWeight","letterSpacing","overflow","height","defaultSelectedKeys","defaultOpenKeys","mode","theme","inlineCollapsed","Item","icon","PieChartOutlined","to","ContainerOutlined","item","App","className","Boolean","window","hostname","match","ReactDOM","StrictMode","document","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","error"],"mappings":"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","file":"static/js/main.6c188247.chunk.js","sourcesContent":["import axios from \"./http\";\r\nlet instance = axios;\r\ninterface options {\r\n params:any,\r\n headers:any\r\n}\r\nexport default {\r\n get(url:any, params:any, headers:object) {\r\n let options:options = {\r\n params:{},\r\n headers:{}\r\n };\r\n\r\n if (params) {\r\n options.params = params;\r\n }\r\n if (headers) {\r\n options.headers = headers;\r\n }\r\n return instance.get(url, options);\r\n },\r\n post(url: string, data: any, headers: object, params: any) {\r\n let options:options = {\r\n params:{},\r\n headers:{}\r\n };\r\n\r\n if (params) {\r\n options.params = params;\r\n }\r\n if (headers) {\r\n options.headers = headers;\r\n }\r\n return instance.post(url, data, options);\r\n },\r\n put(url: string, params: any, headers: object) {\r\n let options:options = {\r\n params:{},\r\n headers:{}\r\n };\r\n\r\n if (headers) {\r\n options.headers = headers;\r\n }\r\n return instance.put(url, params, options);\r\n },\r\n post2(url: string, params: any, headers: object) {\r\n let options:options = {\r\n params:{},\r\n headers:{}\r\n };\r\n\r\n if (headers) {\r\n options.headers = headers;\r\n }\r\n return instance.post(url, params, options);\r\n },\r\n delete(url: string, params: any, headers: object) {\r\n let options:options = {\r\n params:{},\r\n headers:{}\r\n };\r\n\r\n if (params) {\r\n options.params = params\r\n }\r\n if (headers) {\r\n options.headers = headers;\r\n }\r\n return instance.delete(url, options);\r\n }\r\n};\r\n","import axios from 'axios';\r\nconst instance = axios.create({})\r\n\r\nexport default instance;","import http from './index'\r\nconst URL = 'http://40.73.59.185:18768'\r\nexport default {\r\n getService(params?: any,header?: any) { //获取方服务\r\n return http.get(`${URL}/eureka/apps`,params,header)\r\n },\r\n addDocking(data?: any,header?: any, params?: any) { //获取方服务\r\n return http.post(`${URL}/api/v1/manage/docking`,data,header,params)\r\n },\r\n startDock(data?: any,header?: any, params?: any){ //启动服务\r\n return http.post(`${URL}/api/v1/manage/docking_start`, data, header,params)\r\n },\r\n getDockingConfig(params?: any,header?: any){\r\n return http.get(`${URL}/api/v1/manage/docking_config`,params,header)\r\n },\r\n editDocking(data?: any,header?: any, params?: any) { //编辑服务\r\n return http.post(`${URL}/api/v1/manage/docking_config`, data, header,params)\r\n },\r\n getDockList(params?: any,header?: any){\r\n return http.get(`${URL}/api/v1/manage/docking_list`,params,header)\r\n },\r\n getDockAll(serviceurl:any,params?: any,header?: any){\r\n return http.get(`${serviceurl}api/v1/dock_today`,params,header)\r\n },\r\n getDockDetail(serviceid:any,params?: any,header?: any){\r\n return http.get(`${serviceid}api/v1/dock_detail`,params,header)\r\n }\r\n}","import React from 'react'\r\nimport { Table, Space, Modal, Button, Layout, Upload, message, Card, Avatar,Input,Select,Checkbox,Col,Row } from 'antd';\r\nimport { InboxOutlined } from '@ant-design/icons';\r\nimport { EditOutlined, EllipsisOutlined, SettingOutlined,PlaySquareOutlined,UploadOutlined,PauseCircleOutlined } from '@ant-design/icons';\r\nimport service from '../../api/service'\r\nimport { stat } from 'fs';\r\nconst { Column, ColumnGroup } = Table;\r\nconst { Dragger } = Upload;\r\nconst { TextArea } = Input;\r\nconst { Option } = Select;\r\ninterface Prop { }\r\ninterface EditDock {\r\n id:string,\r\n config:string\r\n}\r\nconst editorOptions = {\r\n uploadAction: 'http://youruploadApi?action=uploadimage&encode=utf-8',\r\n uploadFileName: 'filename',\r\n uploadData: { type: '1' },\r\n}\r\nclass Manage extends React.Component<Prop, object> {\r\n constructor(prop: Prop) {\r\n super(prop)\r\n }\r\n state = {\r\n dataSource: [],\r\n showRichText:false,\r\n editortContent: \"\",\r\n editorStates: undefined,\r\n status:'stop',\r\n dockList:[],\r\n curedit:''\r\n }\r\n render() {\r\n const columns = [\r\n {\r\n title: '接收平台',\r\n dataIndex: 'manufactorName',\r\n key: 'manufactorName',\r\n },\r\n {\r\n title: '接收地址',\r\n dataIndex: 'dockUrl',\r\n key: 'dockUrl',\r\n },\r\n {\r\n title: '协议类型',\r\n dataIndex: 'dockProtocol',\r\n key: 'dockProtocol',\r\n }, {\r\n title: '数据类型',\r\n dataIndex: 'dockProtocol',\r\n key: 'dockProtocol',\r\n }, {\r\n title: '查看详情',\r\n dataIndex: 'Action',\r\n key: 'Action',\r\n },\r\n ];\r\n const {editorStates,editortContent,dockList,curedit } = this.state;\r\n return (\r\n <div >\r\n <Button type=\"primary\" style={{margin:15}} onClick={this.showModal.bind(this)}>添加服务</Button>\r\n {/* <Table dataSource={this.state.dataSource}>\r\n <Column title=\"#\" dataIndex=\"index\" key=\"index\" />\r\n <Column title=\"对接厂家\" dataIndex=\"name\" key=\"manufactorName\" />\r\n <Column title=\"对接地址\" width=\"400px\" dataIndex=\"status\" key=\"dockUrl\" />\r\n <Column title=\"对接协议\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n <Column title=\"上传时间\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n <Column title=\"描述信息\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n <Column\r\n title=\"操作\"\r\n key=\"Action\"\r\n render={(text, record) => (\r\n <Space size=\"middle\">\r\n <a >启动</a>\r\n </Space>\r\n )}\r\n />\r\n </Table>; */}\r\n <div style={styles.cardbox}>\r\n {\r\n dockList.map((ele:any) => {\r\n let statusview = null;\r\n statusview = ele.status == \"stop\"?<PlaySquareOutlined key=\"ellipsis\" onClick={this.startServer.bind(this,ele)}/>:<PauseCircleOutlined key=\"stop\" onClick={this.startServer.bind(this,ele)}/>\r\n return (\r\n <div key={ele.id} style={{ width: 300,margin:'0 10px'}}>\r\n <Card title={ele.name} bordered={false} style={{ width: 300,margin:'10px auto',boxShadow:\"3px 3px 6px 2px #888888\" }} actions={[\r\n <EditOutlined key=\"edit\" onClick={this.editServer.bind(this,ele)}/>,\r\n statusview\r\n ]}>\r\n <p>{ele.describe}</p>\r\n </Card>\r\n </div>\r\n )\r\n })\r\n }\r\n </div>\r\n <div>\r\n <ServiceUpload ref=\"supload\"></ServiceUpload>\r\n <EditModal curedit={curedit} ref=\"editmodal\"></EditModal>\r\n </div>\r\n </div>\r\n )\r\n }\r\n getDockList(){\r\n service.getDockList().then(res => {\r\n this.setState({\r\n dockList:res.data\r\n })\r\n })\r\n }\r\n // 编辑服务\r\n editServer(data:any){\r\n \r\n (this.refs.editmodal as any).sershowModal(data);\r\n \r\n }\r\n // 启动服务\r\n startServer(sdata:any){\r\n let status = sdata.status\r\n let data = {\r\n id:sdata.id,\r\n status:status\r\n }\r\n if (status === 'stop') {\r\n data.status = 'open'\r\n } else {\r\n data.status = 'stop'\r\n }\r\n service.startDock(data).then(res => {\r\n if(res.data.ecode === 200) {\r\n message.success(res.data.enote);\r\n }\r\n });\r\n }\r\n handleChange(){}\r\n showModal() {\r\n (this.refs.supload as any).sershowModal()\r\n }\r\n componentDidMount() {\r\n }\r\n componentWillMount(){\r\n this.getDockList();\r\n }\r\n\r\n handleClearContent = ()=>{\r\n this.setState({\r\n editorState:''\r\n })\r\n}\r\n\r\nhandleGetText = ()=>{\r\n this.setState({\r\n showRichText:true\r\n })\r\n}\r\n\r\nonEditorChange = (editortContent: any) => {\r\n this.setState({\r\n editortContent,\r\n });\r\n};\r\n\r\nonEditorStateChange = (editorState: any) => {\r\n this.setState({\r\n editorState\r\n });\r\n};\r\n}\r\nconst styles:any = {\r\n addbtn:{\r\n mrgin:10\r\n },\r\n cardbox:{\r\n flexDirection:\"row\",\r\n display:\"flex\",\r\n margin:\"0 10px\"\r\n }\r\n}\r\nclass ServiceUpload extends React.Component<any,any> {\r\n constructor(prop: any) {\r\n super(prop)\r\n }\r\n state = {\r\n visible: false,\r\n confirmLoading: false,\r\n name:'',\r\n factory:'',\r\n prot:'http',\r\n data_type:'',\r\n describe:'',\r\n fileList:[]\r\n }\r\n render() {\r\n const { visible, confirmLoading,name,factory,prot ,data_type,describe,fileList} = this.state;\r\n let that = this;\r\n const props = {\r\n name: 'file_packge',\r\n multiple: true,\r\n\r\n data:{},\r\n beforeUpload: (file: any) => {\r\n this.setState((state:any) => ({\r\n fileList: [...state.fileList, file],\r\n }));\r\n return false;\r\n },\r\n };\r\n return (\r\n <div>\r\n <Modal\r\n title=\"服务文件上传\"\r\n visible={visible}\r\n width=\"40%\"\r\n onOk={this.handleOk}\r\n confirmLoading={confirmLoading}\r\n onCancel={this.handleCancel.bind(this)}\r\n okText=\"确定\"\r\n cancelText=\"取消\"\r\n >\r\n <Input placeholder=\"服务名称\" style={{marginBottom:10}} value={name} onChange={({ target: { value } }:any)=>{\r\n this.setState({\r\n name:value\r\n })}}/>\r\n <Input placeholder=\"服务厂家\" style={{marginBottom:10}} value={factory} onChange={({ target: { value } }:any)=>{\r\n this.setState({\r\n factory:value\r\n })}}/>\r\n <Select defaultValue=\"http\" style={{ marginBottom:10,width:'100%'}} value={prot} onChange={(value)=>{\r\n this.setState({\r\n prot:value\r\n })}}>\r\n <Option value=\"http\">HTTP</Option>\r\n <Option value=\"webservice\">WEBSERVICE</Option>\r\n </Select>\r\n {/* <Select defaultValue=\"lucy\" style={{ marginBottom:10,width:'100%'}} onChange={()=>{\r\n this.setState({\r\n\r\n })\r\n }}>\r\n <Option value=\"jack\">Jack</Option>\r\n <Option value=\"lucy\">Lucy</Option>\r\n </Select> */}\r\n <TextArea\r\n style={{marginBottom:10}}\r\n value={describe}\r\n onChange={this.onChange}\r\n placeholder=\"描述\"\r\n autoSize={{ minRows: 3, maxRows: 5 }}\r\n />\r\n {/* <Dragger {...props}>\r\n <p className=\"ant-upload-drag-icon\">\r\n <InboxOutlined />\r\n </p>\r\n <p className=\"ant-upload-text\">点击包文件!</p>\r\n <p className=\"ant-upload-hint\">\r\n 将文件拖拽到上传框内进行上传!\r\n </p>\r\n </Dragger> */}\r\n <Upload {...props}>\r\n <Button>\r\n <UploadOutlined /> 服务上传\r\n </Button>\r\n </Upload>\r\n </Modal>\r\n </div>\r\n )\r\n }\r\n uploadfile(file:any){\r\n console.log(file)\r\n }\r\n onChange(){\r\n\r\n }\r\n sershowModal() {\r\n this.setState({\r\n visible: true,\r\n });\r\n }\r\n handleOk = () => {\r\n const { fileList,name,factory,prot } = this.state;\r\n const formData = new FormData();\r\n console.log(prot)\r\n formData.append(\"name\",name);\r\n formData.append(\"factory\",factory);\r\n formData.append(\"prot\",prot);\r\n fileList.forEach((file:any) => {\r\n console.log(file)\r\n if(file.name.indexOf('.jar')> -1) {\r\n formData.append('file_packge', file);\r\n }\r\n if(file.name.indexOf('.properties')> -1) {\r\n formData.append('file_config', file);\r\n }\r\n });\r\n service.addDocking(formData,{ \"Content-Type\": \"multipart/form-data\" },{}).then(res => {\r\n console.log(res)\r\n })\r\n this.setState({\r\n visible: false,\r\n });\r\n };\r\n handleCancel = () => {\r\n this.setState({\r\n visible: false,\r\n });\r\n };\r\n}\r\ninterface Prop {\r\n curedit:any,\r\n}\r\ninterface sState {\r\n visible:boolean,\r\n value:string,\r\n curData:any,\r\n confirmLoading:boolean\r\n}\r\nclass EditModal extends React.Component<Prop> {\r\n constructor(prop: Prop) {\r\n super(prop)\r\n }\r\n state:sState = {\r\n visible: false,\r\n value:\"\",\r\n curData:'',\r\n confirmLoading: false,\r\n }\r\n render() {\r\n const { visible, confirmLoading,value } = this.state;\r\n \r\n return (\r\n <div>\r\n <Modal\r\n title=\"编辑配置文件\"\r\n visible={visible}\r\n width=\"40%\"\r\n onOk={this.handleOk}\r\n confirmLoading={confirmLoading}\r\n onCancel={this.handleCancel.bind(this)}\r\n okText=\"确定\"\r\n cancelText=\"取消\"\r\n >\r\n <TextArea\r\n value={value}\r\n onChange={this.onChange}\r\n placeholder=\"Controlled autosize\"\r\n autoSize={{ minRows: 3, maxRows: 5 }}\r\n />\r\n\r\n </Modal>\r\n </div>\r\n )\r\n }\r\n onChange = ({ target: { value } }:any) => {\r\n this.setState({ value });\r\n };\r\n sershowModal(data:any) {\r\n this.getDockConfig(data)\r\n this.setState({\r\n visible: true,\r\n curData:data\r\n });\r\n }\r\n // 获取任务\r\n getDockConfig(ddata:any){\r\n let data = {\r\n id:ddata.id,\r\n }\r\n service.getDockingConfig(data).then(res => {\r\n if(res.data.ecode == 200) {\r\n this.setState({\r\n value:res.data.config\r\n })\r\n }\r\n })\r\n }\r\n // 编辑服务\r\n handleOk = () => {\r\n let data = {\r\n id:this.state.curData.id,\r\n config:this.state.value\r\n }\r\n service.editDocking(data).then(res => {\r\n\r\n })\r\n this.setState({\r\n visible: false,\r\n });\r\n };\r\n handleCancel = () => {\r\n this.setState({\r\n visible: false,\r\n });\r\n };\r\n}\r\n\r\n\r\nexport default Manage","import React from 'react';\r\nimport { Modal, Button, Layout, Table,Row, Col,DatePicker } from 'antd';\r\nimport service from '../../api/service'\r\nimport moment from 'moment';\r\nconst { Column, ColumnGroup } = Table\r\nconst { RangePicker } = DatePicker;\r\ninterface Props {\r\n movisible:boolean,\r\n closeModal:any,\r\n curservice:any\r\n}\r\ninterface SearchData {\r\n start_dt:string,\r\n end_dt:string,\r\n limit:number,\r\n offset:number\r\n}\r\nclass DockDetail extends React.Component<Props>{\r\n constructor(props:Props){\r\n super(props)\r\n }\r\n state = {\r\n dataSource:[],\r\n timer:[],\r\n confirmLoading:false,\r\n \"send_today_data\":0,//当日累计发送数据\r\n \"send_today_success\":0, //当日成功数据\r\n \"send_today_error\":0, //当日失败数据\"\r\n \"last_send_dt\":\"\",//最后一次发送成功时间\r\n }\r\n initData(data:any){\r\n this.getalldock(data);\r\n this.getDockDetail(data);\r\n }\r\n getalldock(data:any){\r\n console.log(data)\r\n service.getDockAll(data.service_url).then(res => {\r\n if(res.data.ecode === 200) {\r\n let result = res.data.data;\r\n this.setState({\r\n last_send_dt:result.last_send_dt,\r\n send_today_success:result.send_today_success,\r\n send_today_data:result.send_today_data,\r\n send_today_error:result.send_today_error\r\n })\r\n }\r\n });\r\n }\r\n getDockDetail(data:any){\r\n let params:SearchData = {\r\n start_dt:'2020-08-03 00:00:00',\r\n end_dt:'2020-08-03 23:59:59',\r\n limit:100,\r\n offset:0\r\n }\r\n service.getDockDetail(data.service_url,params).then(res => {\r\n if(res.data.ecode === 200) {\r\n let result = res.data.data;\r\n this.setState({\r\n dataSource:result\r\n });\r\n }\r\n });\r\n }\r\n handleOk = () => {\r\n this.setState({\r\n ModalText: 'The modal will be closed after two seconds',\r\n confirmLoading: true,\r\n });\r\n this.props.closeModal()\r\n };\r\n\r\n handleCancel = () => {\r\n console.log('Clicked cancel button');\r\n this.props.closeModal()\r\n };\r\n render(){\r\n const columns = [\r\n {\r\n title: '接收平台',\r\n dataIndex: 'manufactorName',\r\n key: 'manufactorName',\r\n },\r\n {\r\n title: '接收地址',\r\n dataIndex: 'dockUrl',\r\n key: 'dockUrl',\r\n },\r\n {\r\n title: '协议类型',\r\n dataIndex: 'dockProtocol',\r\n key: 'dockProtocol',\r\n },{\r\n title: '数据类型',\r\n dataIndex: 'dockProtocol',\r\n key: 'dockProtocol',\r\n },{\r\n title: '查看详情',\r\n dataIndex: 'Action',\r\n key: 'Action',\r\n },\r\n ];\r\n const {confirmLoading} = this.state\r\n function disabledDate(current:any) {\r\n // Can not select days before today and today\r\n return current && current < moment().endOf('day');\r\n }\r\n \r\n function disabledDateTime() {\r\n return {\r\n disabledHours: () => range(0, 24).splice(4, 20),\r\n disabledMinutes: () => range(30, 60),\r\n disabledSeconds: () => [55, 56],\r\n };\r\n }\r\n function range(start:any, end:any) {\r\n const result = [];\r\n for (let i = start; i < end; i++) {\r\n result.push(i);\r\n }\r\n return result;\r\n }\r\n return(\r\n <div>\r\n <Modal\r\n title=\"接收服务数据详情\"\r\n visible={this.props.movisible}\r\n width=\"95%\"\r\n onOk={this.handleOk}\r\n confirmLoading={confirmLoading}\r\n onCancel={this.handleCancel.bind(this)}\r\n okText=\"确定\"\r\n cancelText=\"取消\"\r\n >\r\n <div>\r\n <Row style={style.headerbox}>\r\n <Col span={6}><span style={style.label}>当日累计发送数据</span><span style={style.info}>{this.state.send_today_data}</span></Col>\r\n <Col span={6}><span style={style.label}>当日成功数据</span><span style={style.info}>{this.state.send_today_success}</span></Col>\r\n <Col span={6}><span style={style.label}>当日失败数据</span><span style={style.info}>{this.state.send_today_error}</span></Col>\r\n <Col span={6}><span style={style.label}>当日失败数据</span><span style={style.info}>{this.state.last_send_dt}</span></Col>\r\n </Row>\r\n </div>\r\n <div style={{marginBottom:15}}>\r\n <RangePicker\r\n placeholder={['开始时间','结束时间']}\r\n onChange={this.timerchange.bind(this)}\r\n showTime={{\r\n hideDisabledOptions: true,\r\n defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('11:59:59', 'HH:mm:ss')],\r\n }}\r\n format=\"YYYY-MM-DD HH:mm:ss\"\r\n /> <Button type=\"primary\" style={{marginLeft:15}}>查询</Button>\r\n </div>\r\n <Table dataSource={(this.state.dataSource as any).send_data} onChange={this.changePage.bind(this)}>\r\n <Column title=\"#\" dataIndex=\"index\" key=\"index\" />\r\n <Column title=\"数据ID\" dataIndex=\"name\" key=\"manufactorName\" />\r\n <Column title=\"数据来源\" width=\"400px\" dataIndex=\"status\" key=\"dockUrl\" />\r\n <Column title=\"数据类型\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n <Column title=\"发送状态\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n <Column title=\"失败原因\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n <Column title=\"发送时间\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n <Column title=\"字段详情\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n </Table>\r\n </Modal>\r\n </div>\r\n )\r\n }\r\n timerchange(date:any,dateString:any){\r\n this.setState({\r\n timer:dateString\r\n })\r\n }\r\n changePage(paginate:any){\r\n\r\n }\r\n componentDidMount(){\r\n this.setState({\r\n visible :this.props.movisible\r\n })\r\n }\r\n} \r\nconst style = {\r\n label:{\r\n paddingRight:10,\r\n color:'#303030'\r\n },\r\n info:{\r\n fontSize:16\r\n },\r\n headerbox:{\r\n marginBottom:'20px'\r\n }\r\n}\r\nexport default DockDetail","import React from 'react';\r\nimport {Table, Space} from 'antd'\r\nimport { Modal, Button, Layout } from 'antd';\r\nimport Detail from './detail'\r\nimport {\r\n AppstoreOutlined,\r\n MenuUnfoldOutlined,\r\n MenuFoldOutlined,\r\n PieChartOutlined,\r\n DesktopOutlined,\r\n ContainerOutlined,\r\n MailOutlined,\r\n} from '@ant-design/icons';\r\nimport service from '../../api/service'\r\nconst { Column, ColumnGroup } = Table;\r\nclass Dockings extends React.Component<any>{\r\n constructor(props:any){\r\n super(props)\r\n }\r\n state = {\r\n dataSource:[],\r\n visible:false,\r\n confirmLoading:false,\r\n curservice:''\r\n }\r\n\r\n \r\n render () {\r\n \r\n const columns = [\r\n {\r\n title: '接收平台',\r\n dataIndex: 'manufactorName',\r\n key: 'manufactorName',\r\n },\r\n {\r\n title: '接收地址',\r\n dataIndex: 'dockUrl',\r\n key: 'dockUrl',\r\n },\r\n {\r\n title: '协议类型',\r\n dataIndex: 'dockProtocol',\r\n key: 'dockProtocol',\r\n },{\r\n title: '数据类型',\r\n dataIndex: 'dockProtocol',\r\n key: 'dockProtocol',\r\n },{\r\n title: '查看详情',\r\n dataIndex: 'Action',\r\n key: 'Action',\r\n },\r\n ];\r\n const { visible, confirmLoading } = this.state;\r\n return (\r\n <div style={{\r\n width:'100%'\r\n }}>\r\n <Table dataSource={this.state.dataSource}>\r\n <Column title=\"#\" dataIndex=\"index\" key=\"index\" />\r\n <Column title=\"接收平台\" dataIndex=\"name\" key=\"manufactorName\" />\r\n <Column title=\"运行状态\" width=\"400px\" dataIndex=\"status\" key=\"dockUrl\" />\r\n <Column title=\"启动时间\" dataIndex=\"runtime\" key=\"dockProtocol\" />\r\n <Column\r\n title=\"查看详情\"\r\n key=\"Action\"\r\n render={(text, record) => (\r\n <Space size=\"middle\">\r\n <a onClick={this.showModal.bind(this,text,record)}>查看</a>\r\n </Space>\r\n )}\r\n />\r\n </Table>;\r\n <Detail movisible={this.state.visible} curservice={this.state.curservice} closeModal={() => this.closemodal()} ref=\"detail\"></Detail>\r\n </div>\r\n )\r\n }\r\n showModal = (data:any) => {\r\n this.setState({\r\n visible: true,\r\n curservice:data\r\n });\r\n (this.refs.detail as any).initData(data)\r\n };\r\n closemodal(){\r\n this.setState({\r\n visible: false,\r\n });\r\n }\r\n \r\n handleOk = () => {\r\n this.setState({\r\n ModalText: 'The modal will be closed after two seconds',\r\n confirmLoading: true,\r\n });\r\n setTimeout(() => {\r\n this.setState({\r\n visible: false,\r\n confirmLoading: false,\r\n });\r\n }, 2000);\r\n };\r\n\r\n handleCancel = () => {\r\n console.log('Clicked cancel button');\r\n this.setState({\r\n visible: false,\r\n });\r\n };\r\n \r\n setTimer(params:any) {\r\n let obj = new Date(params);\r\n var nowY = obj.getFullYear();\r\n var nowM =\r\n obj.getMonth() + 1 < 10 ? \"0\" + (obj.getMonth() + 1) : obj.getMonth() + 1;\r\n var nowD = obj.getDate() < 10 ? \"0\" + obj.getDate() : obj.getDate();\r\n var nowH = obj.getHours() < 10 ? \"0\" + obj.getHours() : obj.getHours();\r\n var nowMi = obj.getMinutes() < 10 ? \"0\" + obj.getMinutes() : obj.getMinutes();\r\n var nowS = obj.getSeconds() < 10 ? \"0\" + obj.getSeconds() : obj.getSeconds();\r\n var timeNow =\r\n nowY + \"-\" + nowM + \"-\" + nowD + \" \" + nowH + \":\" + nowMi + \":\" + nowS;\r\n return timeNow;\r\n }\r\n\r\n componentWillMount(){\r\n console.log(this.props.location.pathname);\r\n\r\n service.getService().then(res => {\r\n let data = res.data.applications.application;\r\n let serviceData: { name: any; status: any; runtime: any; }[] = [];\r\n data.forEach((ele: any,index:any) => {\r\n let obj = {\r\n index:index + 1,\r\n name:ele.name,\r\n status: ele.instance[0].status,\r\n runtime: this.setTimer(ele.instance[0].leaseInfo.registrationTimestamp),\r\n service_url:ele.instance[0].homePageUrl\r\n }\r\n serviceData.push(obj);\r\n });\r\n this.setState({\r\n dataSource:serviceData\r\n })\r\n })\r\n }\r\n}\r\n\r\n\r\nexport default Dockings;","import Manage from '../views/Dockingservices/manage';\r\nimport Dockings from '../views/Dockingservices/index'\r\nconst routers = [\r\n {\r\n path:'/dockingservice',\r\n component: Dockings,\r\n exact: true\r\n },\r\n {\r\n path:'/manage',\r\n component: Manage,\r\n exact: true\r\n }\r\n]\r\nexport default routers","import * as React from \"react\";\r\nimport routers from '../router'\r\nimport { RouteInterface } from '../router/routerInterface'\r\nimport { BrowserRouter as Router, Link, Route, Switch , Redirect } from 'react-router-dom';\r\nimport ReactDOM from 'react-dom';\r\nimport { Menu, Button, Layout } from 'antd';\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n AppstoreOutlined,\r\n MenuUnfoldOutlined,\r\n MenuFoldOutlined,\r\n PieChartOutlined,\r\n DesktopOutlined,\r\n ContainerOutlined,\r\n MailOutlined,\r\n} from '@ant-design/icons';\r\nconst { Header, Footer, Sider, Content } = Layout;\r\n\r\nconst { SubMenu } = Menu;\r\nclass Home extends React.Component<any, any> {\r\n\r\n constructor(props: any) {\r\n super(props)\r\n }\r\n state = {\r\n collapsed: false,\r\n };\r\n\r\n toggleCollapsed = () => {\r\n this.setState({\r\n collapsed: !this.state.collapsed,\r\n });\r\n }\r\n render() {\r\n const { name, enthusiasmLevel = 1 } = this.props;\r\n return (\r\n <Layout>\r\n <Header style={{textAlign:\"left\",color:'#fff',fontSize:\"20px\",fontWeight:\"bold\",letterSpacing:\"2px\"}}>星河对接平台</Header>\r\n <div>\r\n <Router>\r\n <Layout>\r\n <Sider style={{\r\n overflow: 'auto',\r\n height: '100vh',\r\n }}>\r\n <Menu\r\n defaultSelectedKeys={['1']}\r\n defaultOpenKeys={['sub1']}\r\n mode=\"inline\"\r\n theme=\"dark\"\r\n inlineCollapsed={this.state.collapsed}\r\n >\r\n <Menu.Item key=\"1\" icon={<PieChartOutlined />}>\r\n <Link to=\"/dockingservice\"><span><span>对接详情</span></span></Link>\r\n </Menu.Item>\r\n <Menu.Item key=\"3\" icon={<ContainerOutlined />}>\r\n <Link to=\"/manage\"><span><span>管理配置</span></span></Link>\r\n </Menu.Item>\r\n </Menu>\r\n </Sider>\r\n <Content style={{\r\n overflow: 'auto',\r\n }}>\r\n <div>\r\n <Switch>\r\n \r\n {\r\n \r\n routers.map((item: RouteInterface, index: number) => {\r\n return (\r\n <Route path={item.path} key={index} exact={item.exact} component={item.component} />\r\n )\r\n })\r\n }\r\n <Route path=\"/\" \r\n render={() => (\r\n <Redirect to={routers[0].path} />\r\n )} \r\n />\r\n </Switch>\r\n </div>\r\n </Content>\r\n </Layout>\r\n </Router>\r\n </div>\r\n </Layout>\r\n );\r\n }\r\n routerWillLeave(){\r\n }\r\n componentWillMount() {\r\n // this.props.lacation\r\n }\r\n}\r\nexport default Home;","import React from 'react';\nimport logo from './logo.svg';\nimport './App.css';\nimport Home from './views/home'\nimport 'antd/dist/antd.css'; \nfunction App() {\n return (\n <div className=\"App\">\n <Home name=\"home\"/>\n </div>\n );\n}\n\nexport default App;\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport './index.css';\nimport App from './App';\nimport * as serviceWorker from './serviceWorker';\nReactDOM.render(\n <React.StrictMode>\n <App />\n </React.StrictMode>,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();"],"sourceRoot":""}
\ No newline at end of file
!function(e){function t(t){for(var n,l,a=t[0],f=t[1],i=t[2],p=0,s=[];p<a.length;p++)l=a[p],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(c&&c(t);s.length;)s.shift()();return u.push.apply(u,i||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,a=1;a<r.length;a++){var f=r[a];0!==o[f]&&(n=!1)}n&&(u.splice(t--,1),e=l(l.s=r[0]))}return e}var n={},o={1:0},u=[];function l(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,l),r.l=!0,r.exports}l.m=e,l.c=n,l.d=function(e,t,r){l.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,t){if(1&t&&(e=l(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(l.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)l.d(r,n,function(t){return e[t]}.bind(null,n));return r},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,"a",t),t},l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.p="./";var a=this.webpackJsonpreactts=this.webpackJsonpreactts||[],f=a.push.bind(a);a.push=t,a=a.slice();for(var i=0;i<a.length;i++)t(a[i]);var c=f;r()}([]);
//# sourceMappingURL=runtime-main.1c72c6f0.js.map
\ No newline at end of file
{"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","this","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime-main.1c72c6f0.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \tvar jsonpArray = this[\"webpackJsonpreactts\"] = this[\"webpackJsonpreactts\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
......@@ -418,10 +418,12 @@
var childNodes = getXmlChildNodes(xmlNode);
for (var i = 0; i < childNodes.length; i++) {
var currentNode = childNodes[i];
//判断结点是否是叶节点(把属于右侧的参数拆分出去)
var isEndNode = isEndNodeFun(currentNode);
var treeNode; //当前节点对应的TreeNode
if(currentNode.tagName =='定时抓拍测试' ){
debugger
}
if (isEndNode) {
//把子节点格式化为propertiesGrid的Json格式
var nodePath = parentTreeNode.attr.path + "/" + currentNode.nodeName;
......@@ -445,7 +447,7 @@
var pValue = getValueFromValueXml(valueXml, nodePath);
//对数值进行格式化
pDefault = getValidateValue(pType, pDefault);
pValue = getValidateValue(pType, pValue);
// pValue = getValidateValue(pType, pValue);
pValue = pValue ? pValue : pDefault; //如果当前节点的值没有改变,则取默认值
// pValue = pDefault;
......
......@@ -9,8 +9,9 @@
<script src="<%= BASE_URL %>js/kinetic-v5.1.0.min.js"></script>
<script src="<%= BASE_URL %>js/ObjTree.js"></script>
<script src="<%= BASE_URL %>js/jquery.min.js"></script>
<script src="<%= BASE_URL %>js/keymaster.js"></script>
</head>
<body>
<body id="theme-name">
<noscript>
<strong></strong>
</noscript>
......
// keymaster.js
// (c) 2011-2013 Thomas Fuchs
// keymaster.js may be freely distributed under the MIT license.
;(function(global){
var k,
_handlers = {},
_mods = { 16: false, 18: false, 17: false, 91: false },
_scope = 'all',
// modifier keys
_MODIFIERS = {
'⇧': 16, shift: 16,
'⌥': 18, alt: 18, option: 18,
'⌃': 17, ctrl: 17, control: 17,
'⌘': 91, command: 91
},
// special keys
_MAP = {
backspace: 8, tab: 9, clear: 12,
enter: 13, 'return': 13,
esc: 27, escape: 27, space: 32,
left: 37, up: 38,
right: 39, down: 40,
del: 46, 'delete': 46,
home: 36, end: 35,
pageup: 33, pagedown: 34,
',': 188, '.': 190, '/': 191,
'`': 192, '-': 189, '=': 187,
';': 186, '\'': 222,
'[': 219, ']': 221, '\\': 220
},
code = function(x){
return _MAP[x] || x.toUpperCase().charCodeAt(0);
},
_downKeys = [];
for(k=1;k<20;k++) _MAP['f'+k] = 111+k;
// IE doesn't support Array#indexOf, so have a simple replacement
function index(array, item){
var i = array.length;
while(i--) if(array[i]===item) return i;
return -1;
}
// for comparing mods before unassignment
function compareArray(a1, a2) {
if (a1.length != a2.length) return false;
for (var i = 0; i < a1.length; i++) {
if (a1[i] !== a2[i]) return false;
}
return true;
}
var modifierMap = {
16:'shiftKey',
18:'altKey',
17:'ctrlKey',
91:'metaKey'
};
function updateModifierKey(event) {
for(k in _mods) _mods[k] = event[modifierMap[k]];
};
// handle keydown event
function dispatch(event) {
var key, handler, k, i, modifiersMatch, scope;
key = event.keyCode;
if (index(_downKeys, key) == -1) {
_downKeys.push(key);
}
// if a modifier key, set the key.<modifierkeyname> property to true and return
if(key == 93 || key == 224) key = 91; // right command on webkit, command on Gecko
if(key in _mods) {
_mods[key] = true;
// 'assignKey' from inside this closure is exported to window.key
for(k in _MODIFIERS) if(_MODIFIERS[k] == key) assignKey[k] = true;
return;
}
updateModifierKey(event);
// see if we need to ignore the keypress (filter() can can be overridden)
// by default ignore key presses if a select, textarea, or input is focused
if(!assignKey.filter.call(this, event)) return;
// abort if no potentially matching shortcuts found
if (!(key in _handlers)) return;
scope = getScope();
// for each potential shortcut
for (i = 0; i < _handlers[key].length; i++) {
handler = _handlers[key][i];
// see if it's in the current scope
if(handler.scope == scope || handler.scope == 'all'){
// check if modifiers match if any
modifiersMatch = handler.mods.length > 0;
for(k in _mods)
if((!_mods[k] && index(handler.mods, +k) > -1) ||
(_mods[k] && index(handler.mods, +k) == -1)) modifiersMatch = false;
// call the handler and stop the event if neccessary
if((handler.mods.length == 0 && !_mods[16] && !_mods[18] && !_mods[17] && !_mods[91]) || modifiersMatch){
if(handler.method(event, handler)===false){
if(event.preventDefault) event.preventDefault();
else event.returnValue = false;
if(event.stopPropagation) event.stopPropagation();
if(event.cancelBubble) event.cancelBubble = true;
}
}
}
}
};
// unset modifier keys on keyup
function clearModifier(event){
var key = event.keyCode, k,
i = index(_downKeys, key);
// remove key from _downKeys
if (i >= 0) {
_downKeys.splice(i, 1);
}
if(key == 93 || key == 224) key = 91;
if(key in _mods) {
_mods[key] = false;
for(k in _MODIFIERS) if(_MODIFIERS[k] == key) assignKey[k] = false;
}
};
function resetModifiers() {
for(k in _mods) _mods[k] = false;
for(k in _MODIFIERS) assignKey[k] = false;
};
// parse and assign shortcut
function assignKey(key, scope, method){
var keys, mods;
keys = getKeys(key);
if (method === undefined) {
method = scope;
scope = 'all';
}
// for each shortcut
for (var i = 0; i < keys.length; i++) {
// set modifier keys if any
mods = [];
key = keys[i].split('+');
if (key.length > 1){
mods = getMods(key);
key = [key[key.length-1]];
}
// convert to keycode and...
key = key[0]
key = code(key);
// ...store handler
if (!(key in _handlers)) _handlers[key] = [];
_handlers[key].push({ shortcut: keys[i], scope: scope, method: method, key: keys[i], mods: mods });
}
};
// unbind all handlers for given key in current scope
function unbindKey(key, scope) {
var multipleKeys, keys,
mods = [],
i, j, obj;
multipleKeys = getKeys(key);
for (j = 0; j < multipleKeys.length; j++) {
keys = multipleKeys[j].split('+');
if (keys.length > 1) {
mods = getMods(keys);
key = keys[keys.length - 1];
}
key = code(key);
if (scope === undefined) {
scope = getScope();
}
if (!_handlers[key]) {
return;
}
for (i in _handlers[key]) {
obj = _handlers[key][i];
// only clear handlers if correct scope and mods match
if (obj.scope === scope && compareArray(obj.mods, mods)) {
_handlers[key][i] = {};
}
}
}
};
// Returns true if the key with code 'keyCode' is currently down
// Converts strings into key codes.
function isPressed(keyCode) {
if (typeof(keyCode)=='string') {
keyCode = code(keyCode);
}
return index(_downKeys, keyCode) != -1;
}
function getPressedKeyCodes() {
return _downKeys.slice(0);
}
function filter(event){
var tagName = (event.target || event.srcElement).tagName;
// ignore keypressed in any elements that support keyboard data input
return !(tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA');
}
// initialize key.<modifier> to false
for(k in _MODIFIERS) assignKey[k] = false;
// set current scope (default 'all')
function setScope(scope){ _scope = scope || 'all' };
function getScope(){ return _scope || 'all' };
// delete all handlers for a given scope
function deleteScope(scope){
var key, handlers, i;
for (key in _handlers) {
handlers = _handlers[key];
for (i = 0; i < handlers.length; ) {
if (handlers[i].scope === scope) handlers.splice(i, 1);
else i++;
}
}
};
// abstract key logic for assign and unassign
function getKeys(key) {
var keys;
key = key.replace(/\s/g, '');
keys = key.split(',');
if ((keys[keys.length - 1]) == '') {
keys[keys.length - 2] += ',';
}
return keys;
}
// abstract mods logic for assign and unassign
function getMods(key) {
var mods = key.slice(0, key.length - 1);
for (var mi = 0; mi < mods.length; mi++)
mods[mi] = _MODIFIERS[mods[mi]];
return mods;
}
// cross-browser events
function addEvent(object, event, method) {
if (object.addEventListener)
object.addEventListener(event, method, false);
else if(object.attachEvent)
object.attachEvent('on'+event, function(){ method(window.event) });
};
// set the handlers globally on document
addEvent(document, 'keydown', function(event) { dispatch(event) }); // Passing _scope to a callback to ensure it remains the same by execution. Fixes #48
addEvent(document, 'keyup', clearModifier);
// reset modifiers to false whenever the window is (re)focused.
addEvent(window, 'focus', resetModifiers);
// store previously defined key
var previousKey = global.key;
// restore previously defined key and return reference to our key object
function noConflict() {
var k = global.key;
global.key = previousKey;
return k;
}
// set window.key and window.key.set/get/deleteScope, and the default filter
global.key = assignKey;
global.key.setScope = setScope;
global.key.getScope = getScope;
global.key.deleteScope = deleteScope;
global.key.filter = filter;
global.key.isPressed = isPressed;
global.key.getPressedKeyCodes = getPressedKeyCodes;
global.key.noConflict = noConflict;
global.key.unbind = unbindKey;
if(typeof module !== 'undefined') module.exports = key;
})(this);
{"commit":"f50e135f98d88e0c746c1624dca76a8db58e319d","commitDate":"2020-7-24 9:56","buildDate":"2020-7-30 17:15","version":"2.0.6","info":"【NEW】导入导出功能 【NEW】详情加视频播放功能 【BUG】添加视频源提示取消后不能回选"}
\ No newline at end of file
{"commit":"af79acb9807045a0e60ec210db2d96b4e656a7b0","commitDate":"2020-7-30 17:21","buildDate":"2020-9-9 9:37","version":"2.0.7","info":"feat✨ 修改任务暂停时才允许任务修改 feat✨ 任务修改不允许修改算法 feat✨ 10分钟内不操作自动退出 feat✨ 流量检索增加车头时距和时间占有率 feat✨ 单任务导出及导入功能 feat✨ 全局备份功能 BUG:修改子任务下发设备类型要依据大任务类型"}
\ No newline at end of file
......@@ -29,7 +29,6 @@ export default {
window.oneSearchTableHeight = document.body.clientHeight - 280 + "px";
window.twoSearchTableHeight = document.body.clientHeight - 315 + "px";
}
}
};
</script>
......
......@@ -22,6 +22,9 @@ export default {
addRole(params) {
return api.post(`${baseUrl}/api/v1/auth/roles`, params);
},
delRole(roleid, params) {
return api.delete(`${baseUrl}/api/v1/auth/roles/${roleid}`, params)
},
unbindRole(params, id, id2) {
return api.delete(
`${baseUrl}/api/v1/auth/users/${id}/roles/${id2}`,
......
......@@ -6,309 +6,3 @@ html,body{
padding: 0;
margin: 0;
}
body{
background: #fff!important;
}
.el-main{
background: #F7F6F9;
}
.home,.home-box{
height: 100%;
}
.home-box .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{
background: red
}
.home-box .el-tabs__nav{
width: 100%;
}
.home-box .el-tabs__item{
width: 25%!important;
padding: 0!important;
text-align: center;
}
/* 设置区域设置按钮 */
.editbtn .el-radio-button__inner{
border: 0;
}
.editbtn .el-radio-button:first-child,.editbtn .el-radio-button__inner{
border: 0!important;
}
.editbtn .el-radio-button:last-child,.editbtn .el-radio-button__inner{
border-radius: 0;
border: 0;
}
.editbtn .el-radio-button__orig-radio:checked+.el-radio-button__inner{
border: 0;
background: none;
box-shadow:none;
color: #3BB7FF;
}
.editbtn .el-radio-button__inner{
background: none;
padding: 0;
}
.el-radio-button--small .el-radio-button__inner{
font-size: 18px;
color: #3BB7FF;
}
.editbtn{
height: 46px;
width: 48px;
line-height: 46px;
text-align: center;
font-size: 14px;
background: #D7EDFF;
cursor: pointer;
}
.editbtn {
display: block;
border-radius: 0;
border: 0;
}
.editbtn .el-radio-button:first-child .el-radio-button__inner{
border:0;
}
.el-table__body tr{
background: #f4f4f4;
}
/* 抓拍展示 */
.pic-box {
width: 98%;
margin-bottom:10px;
background:#F1F1F1;
border-radius:2px;
overflow :hidden;
font-size :14px;
color: #555;
padding: 6px;
}
.picbackground{
height: 133px;
background-size:100% 100%;
}
.picbackground img{
height: 100%;
width:100%;
margin-top :-1px;
}
.pic-info{
padding-left:10px;
}
.pic-info li{
overflow:hidden;
margin-bottom:3px;
}
.pic-info li span{
display:inline-block;
}
.pic-info li span:nth-child(1){
width:60px;
}
.pic-info li span:nth-child(2){
padding-left: 10px
}
.el-input-group__append{
background-color: #0d3a79;
border: 0px;
}
.wtbox .el-table{
border-bottom: 0px
}
.el-table--border::after, .el-table--group::after, .el-table::before{
background-color: none;
}
.wtbox .el-table td, .el-table th{
padding: 8px 0
}
.el-table--border::after, .el-table--group::after, .el-table::before{
background-color: rgba(0,0,0,0);
}
::-webkit-scrollbar{
width: 10px;
height: 10px;
background-color: #333;
}
/*滚动条的轨道*/
::-webkit-scrollbar-track{
box-shadow: inset 0 0 5px rgba(0,0,0,.3);
background-color: #fff;
}
/*滚动条的滑块按钮*/
::-webkit-scrollbar-thumb{
border-radius: 10px;
background-color: rgba(133, 133, 133, 0.31);
}
/*滚动条的上下两端的按钮*/
::-webkit-scrollbar-button{
height: 10px;
background-color: #B0AEDA;
}
.dev-box .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
background:rgba(0,0,0,.3);
}
.clearpright{
padding-right: 0!important;
}
.chart-header-box .el-input--small .el-input__inner{
height:23px;
line-height:23px;
font-size: 12px;
}
.chart-header-box .el-input--small .el-input__icon{
line-height: 23px;
}
.ol-zoom{
bottom:.5em;
left:auto!important;
right: .5em;
top:auto!important;
}
.rotate-north {
right: .5em;
bottom: 3.8em;
}
.nav-tag-box {
line-height: 40px;
height: 40px;
overflow: hidden;
}
.nav-tag-box .el-tag{
border-radius: 0;
border: 0;
border-right: 1px solid #ccc;
padding-right: 10px;
padding-left: 10px;
line-height: 25px;
background: none;
cursor: pointer;
color: #888888;
}
.nav-tag-box .el-tag .el-icon-close{
color: #888888;
cursor: pointer;
}
.nav-tag-box .el-tag .el-icon-close:hover{
background: none;
cursor: pointer;
color: #3BB7FF;
}
.alarm-event-box .el-table__body tr{
background: #fff!important;
}
.alarm-event-box .el-table .el-table__header th{
background:rgba(248,249,250,1);
box-shadow:0px 1px 0px 0px rgba(0,0,0,0.09);
}
.img-box img{
height: 20vh;
width:20vw;
height: 100%;
width: 100%;
}
.ol-popup img{
height :100%;
width :100%;
}
.el-table__expanded-cell{
padding: 0px 50px!important;
}
.ml10{
margin-left: 10px;
}
.mt10{
margin-top: 10px;
}
.codes-tab-box .el-tabs__item{
width: 112px!important;
}
.is-opend {
background: red;
}
/* 菜单 */
.el-menu-vertical-dem:not(.el-menu--collapse){
min-height: 900px;
}
.el-menu .is-opened{
background:rgba(239,239,239,1);
}
.el-menu .is-opened li {
background:rgba(247,247,247,1);
}
.el-menu-item.is-active{
color: #000000;
}
.el-menu-item.is-active .submenuicon{
background:rgba(0,105,255,1)!important;
}
.el-input-group__append{
background:rgba(0,105,255,1)!important;
color: #ffffff;
}
.search-vchan .el-input-group {
box-shadow:-1.2px 2px 1px 0px rgba(78, 8, 8, 0.1);
}
.card-hover:hover,.pic-hover:hover {
webkit-transform: translateY(-4px) scale(2);
-moz-transform: translateY(-4px) scale(1.01);
-ms-transform: translateY(-4px) scale(1.01);
-o-transform: translateY(-4px) scale(1.01);
transform: translateY(-4px) scale(1);
-webkit-box-shadow: 0 14px 24px rgba(62,57,107,.1);
box-shadow: 0 14px 24px rgba(62,57,107,.1);
}
.pic-hover:hover {
box-shadow: 2px 3px 4px rgba(2, 2, 2,0.2);
}
.card-hover,.pic-hover {
-webkit-transition: all .25s ease;
-o-transition: all .25s ease;
-moz-transition: all .25s ease;
transition: all .25s ease;
}
.statusbox {
display: inline-block;
min-width: 60px;
border-radius: 2px;
background:rgba(204,204,204,1);
color: #fff;
font-size: 14px;
}
.taskstatus .statusbox{
height: 25px;
line-height: 25px;
font-size: 12px;
}
.runningbox {
background: #36BEA6;
}
.finishedbox{
background:rgba(255,198,46,1);
}
.pausebox{
background:rgba(232,84,30,1);
}
.alarm-event-box .el-table .el-table__header th{
background: none!important;
}
.el-submenu__title{
font-size: 15px;
}
.el-table--small td, .el-table--small th {
height: 55px;
}
.el-radio__label{
color: #333;
}
.show-box .el-image__inner--center{
transform:none;
left: 0;
}
.detailDialog .el-icon-circle-close{
color: #fff;
}
\ No newline at end of file
......@@ -167,6 +167,26 @@ function checkIE() {
return false;
}
}
let versioninfo = require("../../../public/js/version");
Vue.prototype.baseencode = function(str){
return str
// let base = "";
// if(versioninfo && versioninfo.version ){
// let vsstring = versioninfo.version.split(".");
// let vs = Number(String(vsstring[0])+String(vsstring[1])+String(vsstring[2]))
// if(vs > 207) {
// base = str;
// } else {
// var encode = encodeURI(str);
// // 对编码的字符串转化base64
// var base64 = btoa(encode);
// base = base64;
// }
// } else {
// base = str;
// }
// return base;
}
Vue.prototype.showLocalTime = function(obj) {
if (obj == undefined) return;
let dt = "",
......
@import "../scss/them.scss";
@import "../scss/common.scss";
#login .el-input__inner {
background: rgba(255,255,255,.5);
border-radius: 0!important;
......@@ -26,7 +28,8 @@
/* 输入框重置 */
.el-input--small .el-input__inner {
height: 30px;
line-height: 30px;
line-height: 30px;
@include font-colr(input_color);
}
.el-input__inner{
border: 1px solid #E5E5E5;
......@@ -136,9 +139,47 @@
width: 100%!important;
}
/* 表格 */
.el-table__body tr{
@include background_color(table_tr_bg)
}
.el-table--border::after, .el-table--group::after, .el-table::before{
@include background_color(table_bg);
}
.el-table__body-wrapper{
@include background_color(hometabletr_bg);
}
.el-table th {
@include background_color(table_th_bg);
}
.el-table tr{
@include background_color(hometabletr_bg);
}
.el-table--striped .el-table__body tr.el-table__row--striped td{
@include background_color(hometabletr_bg);
}
.el-table td, .el-table th.is-leaf{
@include border-color(table_border);
}
.el-table--border td, .el-table--border th, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{
@include border-color(table_border);
}
.el-table--border, .el-table--group{
@include border-color(table_border);
}
.el-table--border::after, .el-table--group::after, .el-table::before{
@include border-color(table_border);
}
.el-table--border{
border-bottom: none;
}
.el-table--small td, .el-table--small th{
padding: 8px 0;
}
.el-table--border::after, .el-table--group::after, .el-table::before{
// background-color: rgba(0,0,0,0);
}
body .el-table th.gutter{
width: 17px!important;
display: table-cell!important;
......@@ -153,8 +194,9 @@ display: table-cell!important;
background: #FFFFFF;
}
.el-table--enable-row-hover .el-table__body tr:hover>td {
background-color: #F5F7FA!important;
@include background_color(table_hover_bg);
}
/* 提示 */
.el-tooltip__popper{
padding: 6px 12px;
......@@ -173,7 +215,10 @@ display: table-cell!important;
}
.el-dialog__header{
padding:8px 20px 6px;
background: #3BB7FF;
@include background_color(dialog_header_bg);
}
.el-dialog__body{
@include background_color(dialog_body_bg);
}
.el-dialog__headerbtn{
top: 12px;
......@@ -194,9 +239,20 @@ display: table-cell!important;
/* dialog元素 */
.el-dialog .el-input--small .el-input__inner{
height: 26px;
line-height: 26px;
line-height: 26px;
}
.el-input--small .el-input__inner{
@include background_color(input_bg);
@include border_color(input_border);
}
.el-input__inner{
@include background_color(input_bg);
@include border_color(input_border);
}
.el-date-editor .el-range-input{
@include background_color(input_bg);
@include font-colr(input_color);
}
.el-dialog__body{
padding: 30px 34px;
}
......@@ -209,6 +265,9 @@ display: table-cell!important;
/* .el-dialog .el-form-item--small .el-form-item__content,.el-dialog .el-form-item--small .el-form-item__label{
line-height: 26px;
} */
.el-form-item__label{
@include font-colr(label_color);
}
.el-switch__core{
height: 13px;
}
......@@ -231,4 +290,54 @@ margin-bottom: 4px;
.home-box .el-tabs__nav .el-tabs__item{
width: 14%!important;
padding:0 28px!important;
}
/* 菜单 */
.el-menu-vertical-dem:not(.el-menu--collapse){
min-height: 900px;
}
.el-menu .is-opened{
/* background:rgba(239,239,239,1); */
}
// .el-menu .is-opened li {
// background:rgba(247,247,247,1);
// }
.el-menu-item:focus, .el-menu-item:hover{
@include background_color(active_nave_bg);
}
.el-menu-item.is-active{
@include font-colr(font_color2);
// color: #0069ff!important;
border-right: 2px solid #0069ff;
@include border-color(font_color2);
@include background_color(active_nave_bg);
}
.el-menu-item.is-active .submenuicon{
@include background_color(font_color2);
}
.el-pagination__total{
@include font-colr(pages_color);
}
.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li{
@include background_color(pages_bg);
@include border-color(pages_border);
}
.el-pagination .el-input__inner{
@include font-colr(pages_color);
@include border-color(pages_border);
}
.el-pagination__jump{
@include font-colr(pages_color);
}
.el-pagination.is-background .el-pager li:not(.disabled).active{
@include background_color(active_pages_bg);
}
.el-tree{
@include background_color(treeboxbg);
@include font-colr(input_color);
}
.el-tree-node:focus>.el-tree-node__content{
@include background_color(active_nave_bg);
}
.el-tree-node__content:hover{
@include background_color(active_nave_bg);
}
\ No newline at end of file
$main-color:#0069FF;
$font-color:#555555;
$white-font-color:#ffffff;
$white-back-color:#ffffff;
$bodyback-color:#f5f7f9;
$border-color:#e5e5e5;
$title-color:#f4f4f4;
$title-backgroud:#f3f3f3;
$dialog-title:#3BB7FF;
@import "./them.scss";
@mixin themeify {
@each $theme-name, $theme-map in $themes {
//!global 把局部变量强升为全局变量
$theme-map: $theme-map !global;
//判断html的data-theme的属性值 #{}是sass的插值表达式
//& sass嵌套里的父容器标识 @content是混合器插槽,像vue的slot
[data-theme="#{$theme-name}"] & {
@content;
}
}
}
@function themed($key) {
@return map-get($theme-map,$key)
};
@mixin background_color($color) {
@include themeify {
background-color: themed($color)!important;
}
}
@mixin header_color($color) {
@include themeify {
background-color: themed($color)!important;
}
}
@mixin nav_color($color) {
@include themeify {
background-color: themed($color)!important;
}
}
@mixin menu_bg($color) {
@include themeify {
background-color: themed($color)!important;
}
}
@mixin font-colr($color) {
@include themeify {
color: themed($color)!important;
}
}
@mixin border-color($color) {
@include themeify {
border-color: themed($color)!important;
}
}
@mixin box-shaw($type,$color) {
@include themeify {
box-shadow:$type themed($color)!important;
}
}
.primaryButton{
background: $dialog-title!important;
border-color: $dialog-title!important;
......@@ -16,13 +64,18 @@ $dialog-title:#3BB7FF;
background: $white-back-color;
border-color: $dialog-title;
}
body{
html,body{
height: 100%;
padding: 0;
margin: 0;
color: $font-color;
font-family: "微软雅黑";
font-size: 14px;
background: $bodyback-color;
}
body{
@include background_color("background_color");
}
.minHeight{
height: calc(100vh - 140px);
overflow: auto;
......@@ -101,6 +154,10 @@ a:active{
float: right;
margin-right: 10px;
}
.el-menu{
@include menu_bg(menu_bg);
border-right:0!important;
}
.blue{
.tableSpanBorder{
display: inline-block;
......@@ -111,7 +168,7 @@ a:active{
top:3px;
}
.headers{
background: $main-color;
@include header_color(header_background_color);
line-height: 65px;
height: 65px;
}
......@@ -128,7 +185,6 @@ a:active{
position: relative;
top: 10px;
width: 32px;
margin-left: 72px;
}
.exit{
margin:{
......@@ -140,13 +196,20 @@ a:active{
}
.nav{
height:40px;
background: $white-back-color;
@include nav_color(nav_bg);
}
.contentBox{
padding: 12px;
overflow: hidden;
}
}
.content{
@include background_color(treeboxbg);
}
.innnerBox {
@include background_color(treeboxbg);
}
.leftButton{
float: left;
}
......@@ -191,4 +254,338 @@ a:active{
// word-break: break-all;
//
// }
}
.el-main{
@include background_color(mian_bg);
}
.home,.home-box{
height: 100%;
}
.home-box .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{
background: red
}
.home-box .el-tabs__nav{
width: 100%;
}
.home-box .el-tabs__item{
width: 25%!important;
padding: 0!important;
text-align: center;
// @include font-colr(tabs_color);
}
.el-tabs__item{
@include font-colr(tabs_color);
}
.el-tabs__item.is-active{
@include font-colr(tabs_active_color);
}
/* 设置区域设置按钮 */
.editbtn .el-radio-button__inner{
border: 0;
}
.editbtn .el-radio-button:first-child,.editbtn .el-radio-button__inner{
border: 0!important;
}
.editbtn .el-radio-button:last-child,.editbtn .el-radio-button__inner{
border-radius: 0;
border: 0;
}
.editbtn .el-radio-button__orig-radio:checked+.el-radio-button__inner{
border: 0;
background: none;
box-shadow:none;
color: #3BB7FF;
}
.editbtn .el-radio-button__inner{
background: none;
padding: 0;
}
.el-radio-button--small .el-radio-button__inner{
font-size: 18px;
color: #3BB7FF;
}
.editbtn{
height: 46px;
width: 48px;
line-height: 46px;
text-align: center;
font-size: 14px;
background: #D7EDFF;
cursor: pointer;
}
.editbtn {
display: block;
border-radius: 0;
border: 0;
}
.video-box .el-radio-button{
display: block;
}
.editbtn .el-radio-button:first-child .el-radio-button__inner{
border:0;
}
/* 抓拍展示 */
.pic-box {
width: 98%;
margin-bottom:10px;
@include background_color(picbox_bg);
border-radius:2px;
overflow :hidden;
font-size :14px;
@include font-colr(pic_color);
padding: 6px;
}
.picbackground{
height: 133px;
background-size:100% 100%;
}
.home-box .el-card{
border:0;
}
.picbackground img{
height: 100%;
width:100%;
}
.pic-info{
padding-left:10px;
}
.pic-info li{
overflow:hidden;
margin-bottom:3px;
}
.pic-info li span{
display:inline-block;
}
.pic-info li span:nth-child(1){
width:60px;
}
.pic-info li span:nth-child(2){
@include font-colr(pic_info_color);
padding-left: 10px;
}
.el-input-group__append{
background-color: #0d3a79;
border: 0px;
}
.wtbox .el-table{
border-bottom: 0px
}
.setting-box{
// @include background_color(table_th_bg);
}
.wtbox .el-table td, .el-table th{
padding: 8px 0
}
::-webkit-scrollbar{
width: 10px;
height: 10px;
background-color: #333;
}
/*滚动条的轨道*/
::-webkit-scrollbar-track{
box-shadow: inset 0 0 5px rgba(0,0,0,.3);
background-color: #fff;
}
/*滚动条的滑块按钮*/
::-webkit-scrollbar-thumb{
border-radius: 10px;
background-color: rgba(133, 133, 133, 0.31);
}
/*滚动条的上下两端的按钮*/
::-webkit-scrollbar-button{
height: 10px;
background-color: #B0AEDA;
}
.dev-box .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{
background:rgba(0,0,0,.3);
}
.clearpright{
padding-right: 0!important;
}
.chart-header-box .el-input--small .el-input__inner{
height:23px;
line-height:23px;
font-size: 12px;
}
.chart-header-box .el-input--small .el-input__icon{
line-height: 23px;
}
.ol-zoom{
bottom:.5em;
left:auto!important;
right: .5em;
top:auto!important;
}
.rotate-north {
right: .5em;
bottom: 3.8em;
}
.nav-tag-box {
line-height: 40px;
height: 40px;
overflow: hidden;
}
.nav-tag-box .el-tag{
border-radius: 0;
border: 0;
border-right: 1px solid #ccc;
padding-right: 10px;
padding-left: 10px;
line-height: 25px;
background: none;
cursor: pointer;
color: #888888;
}
.nav-tag-box .el-tag .el-icon-close{
color: #888888;
cursor: pointer;
}
.nav-tag-box .el-tag .el-icon-close:hover{
background: none;
cursor: pointer;
color: #3BB7FF;
}
.alarm-event-box .el-table__body tr{
background: #fff!important;
}
.alarm-event-box .el-table .el-table__header th{
background:rgba(248,249,250,1);
box-shadow:0px 1px 0px 0px rgba(0,0,0,0.09);
}
.img-box img{
height: 20vh;
width:20vw;
height: 100%;
width: 100%;
}
.ol-popup img{
height :100%;
width :100%;
}
.el-table__expanded-cell{
padding: 0px 50px!important;
}
.ml10{
margin-left: 10px;
}
.mt10{
margin-top: 10px;
}
.codes-tab-box .el-tabs__item{
width: 112px!important;
}
.is-opend {
background: red;
}
.el-input-group__append{
@include background_color(font_color2);
color: #ffffff;
}
.search-vchan .el-input-group {
box-shadow:-1.2px 2px 1px 0px rgba(78, 8, 8, 0.1);
}
.card-hover:hover,.pic-hover:hover {
webkit-transform: translateY(-4px) scale(2);
-moz-transform: translateY(-4px) scale(1.01);
-ms-transform: translateY(-4px) scale(1.01);
-o-transform: translateY(-4px) scale(1.01);
transform: translateY(-4px) scale(1);
-webkit-box-shadow: 0 14px 24px rgba(62,57,107,.1);
box-shadow: 0 14px 24px rgba(62,57,107,.1);
}
.pic-hover:hover {
box-shadow: 2px 3px 4px rgba(2, 2, 2,0.2);
}
.card-hover,.pic-hover {
-webkit-transition: all .25s ease;
-o-transition: all .25s ease;
-moz-transition: all .25s ease;
transition: all .25s ease;
}
.statusbox {
display: inline-block;
min-width: 60px;
border-radius: 2px;
background:rgba(204,204,204,1);
color: #fff;
font-size: 14px;
}
.taskstatus .statusbox{
height: 25px;
line-height: 25px;
font-size: 12px;
}
.runningbox {
background: #36BEA6;
}
.finishedbox{
background:rgba(255,198,46,1);
}
.pausebox{
background:rgba(232,84,30,1);
}
.alarm-event-box .el-table .el-table__header th{
background: none!important;
}
.el-submenu__title{
font-size: 15px;
@include font-colr(menu_color);
}
.el-table--small td, .el-table--small th {
height: 35px;
padding: 0;
}
.el-radio__label{
color: #333;
}
.show-box .el-image__inner--center{
transform:none;
left: 0;
}
.detailDialog .el-icon-circle-close{
color: #fff;
}
.tasktip{
max-width: 120px;
}
.el-submenu.is-opened .el-submenu__title{
@include background_color(menu_bg);
@include font-colr(submenu_houver);
}
.el-submenu.is-opened .el-submenu__title i, .el-submenu__title .el-submenu__title i{
color: #0069ff;
}
.el-submenu__title:hover{
@include font-colr(submenu_houver);
@include background_color(menu_bg);
}
.el-submenu:hover .el-submenu__title:hover{
@include font-colr(submenu_houver);
}
.el-submenu__title i:last-child{
font-weight: 600;
}
.el-submenu:hover .el-submenu__title i{
@include font-colr(submenu_houver);
}
.el-submenu .el-menu-item{
line-height: 43px;
@include font-colr(menu_color);
}
.el-menu-item:hover {
color: #2d8cf0;
}
.el-loading-mask{
@include background_color(loading_bg);
}
\ No newline at end of file
$main-color:#0069FF;
$font-color:#555555;
$white-font-color:#ffffff;
$white-back-color:#ffffff;
$bodyback-color:#f5f7f9;
$border-color:#e5e5e5;
$title-color:#f4f4f4;
$title-backgroud:#f3f3f3;
$dialog-title:#3BB7FF;
$themes: (
light: (
//字体
font_color1: #fff,
font_color2: #0069ff,
whate_colr:#fff,
submenu_houver:#2d8cf0,
task_icon_color:#ccc,
runtask_color:rgba(102, 102, 102, 1),
sbtask_color:#666666,
pic_color:#555,
tabs_color:#303133,
tabs_active_color:#409EFF,
pic_info_color:#555,
pages_color:#303133,
input_color:#606266,
label_color:#606266,
//背景
background_color: #fff,
header_background_color: #0069FF,
nav_bg:#fff,
menu_bg:#fff,
mian_bg:#F7F6F9,
treeboxbg:#fff,
editbtncolor: #0069ff,
taskshipintitlebg:#3bb7ff,
picbox_bg:#F1F1F1,
hometabletr_bg:#ffff,
setheader_bg:#ACC1FF,
loading_bg:rgba(255,255,255,.3),
dialog_header_bg: #3BB7FF,
pages_bg:#fff,
active_pages_bg:#0069ff,
//选中导航背景颜色
active_nave_bg:rgba(0,105,255,.1),
table_tr_bg:#f4f4f4,
dialog_body_bg:#fff,
input_bg:#fff,
table_hover_bg:#f5f7fa,
//边框
border_color1: #3d414a,
table_border:#f4f4f4,
pages_border:#e5e5e5,
),
dark: (
//字体
font_color1: #939FCC,
font_color2: #007DFF,
menu_color:#939FCC,
task_icon_color:#939FCC,
whate_colr:#fff,
submenu_houver:#2d8cf0,
runtask_color:#fff,
sbtask_color:#fff,
pic_color:#939FCC,
topCon_color:#fff,
tabs_color:#939FCC,
tabs_active_color:#047DF7,
pic_info_color:#fff,
pages_color:#3c87ed,
input_color:#fff,
label_color:#9b9b9b,
//背景
setheader_bg:#0B1745,
background_color: #1b2531,
//头部背景
header_background_color: #1040a6,
nav_bg:#0D2052,
menu_bg:#08173E,
mian_bg:#0B122B,
editbtncolor: #0069ff,
treeboxbg: #182760,
table_th_bg:#0B1745,
taskshipintitlebg:#0D1744,
picbox_bg:#0B1745,
hometabletr_bg:#172760,
loading_bg:rgba(0,0,0,.4),
pages_bg:#0e2869,
table_bg:#666,
active_pages_bg:#095dd0,
//选中导航背景颜色
active_nave_bg:rgba(11, 43, 106, .6),
table_tr_bg:#182760,
dialog_header_bg: #0B1745 ,
dialog_body_bg:#182760,
input_bg:#0D2152,
table_hover_bg:rgba(0,0,0,.4),
//边框
border_color1: #3d414a,
table_border:rgba(0,0,0,.6),
input_border: #24326B,
pages_border:#095dd0,
)
);
\ No newline at end of file
......@@ -5,7 +5,7 @@ import axios from "axios";
import "element-ui/lib/theme-chalk/index.css";
import router from "./router";
import store from "./store";
import resetCss from "./assets/resetElementCss/index.css";
import resetCss from "./assets/resetElementCss/index.scss";
import api from "./api/install";
import "./assets/css/public.css";
import echarts from "echarts";
......
......@@ -145,6 +145,25 @@ export const asyncRouterMap = [
// component: resolve => require(["../views/search/publicFlow.vue"], resolve),
// }
]
},{
path: "/statement",
name: "数据统计",
component: resolve => require(["../views/Layout/index.vue"], resolve),
meta: {
icon: "icon-fanxing-iconxuanzhongziyuanguanli1"
},
children: [
{
path: "/statement/base",
name: "基础统计",
component: resolve =>
require(["../views/statement/base.vue"], resolve)
},{
path: "/statement/area",
name: "区域排行",
component: resolve =>
require(["../views/statement/area.vue"], resolve)
}]
},
{
path: "/resource",
......
......@@ -13,7 +13,16 @@
@click="openmenu"
></span>
<div class="headRight">
<span>{{ curdate }}</span>
<span class="timerbox">{{ curdate }}</span>
<el-dropdown class="zt-box" @command="handleCommand">
<div class="zt-btn">
<i class="el-icon-arrow-down el-icon-menu"></i>主题切换
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="light">白色主题</el-dropdown-item>
<el-dropdown-item command="dark">深色主题</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<img @click="resetpass" src="../../assets/img/home/user.png" alt="" />
<span class="exit" @click="logout()"
>退出<i class="el-icon-arrow-down"></i
......@@ -123,6 +132,11 @@ export default {
}
this.curdate = `${Y}/${M}/${D} ${h}:${m}:${s} ${wtext}`;
},
handleCommand(command){
window.document.documentElement.setAttribute('data-theme',command);
localStorage.setItem("theme",command)
},
logout() {
localStorage.removeItem("menu");
localStorage.removeItem("curmenu");
......@@ -131,6 +145,8 @@ export default {
this.$router.push("/login").catch(err => {
err;
});
location.reload();
},
resetpass() {
this.$router.push("/resetpass").catch(err => {
......@@ -141,7 +157,6 @@ export default {
created() {
this.$api.device.getDev().then(m => {
if (m.length < 1) {
// this.infoFun('未发现运维服务,请联系相关人员')
this.$message({
message: "未发现运维服务,请联系相关人员",
type: "error"
......@@ -156,6 +171,8 @@ export default {
menus
},
mounted() {
let theme = localStorage.getItem("theme") || 'light';
window.document.documentElement.setAttribute('data-theme',theme);
console.log(this.permission_routers);
this.conHeight = window.innerHeight - 65;
console.log(this.conHeight);
......@@ -176,10 +193,13 @@ export default {
};
let app = document.getElementById("app");
app.addEventListener("mousemove", () => {
clearTimeout(this.mousetimer);
this.mousetimer = setTimeout(() => {
clearTimeout(this.mousetimer);
this.mousetimer = null;
if(window.mousetimer) {
clearTimeout(window.mousetimer);
}
window.mousetimer = setTimeout(() => {
debugger
clearTimeout(window.mousetimer);
window.mousetimer = null;
this.logout();
}, 600000);
});
......@@ -260,6 +280,23 @@ export default {
.headRight img {
cursor pointer
}
.zt-box{
margin-right 80px
}
.zt-btn{
// vertical-align middle
color #fff
font-size 14px
height 50px
line-height 50px
i{
font-size 16px
padding-right 10px
padding-top 6px
vertical-align: text-bottom;
}
}
.logotitle{
overflow: hidden;
font-size: 20px;
......@@ -270,4 +307,7 @@ export default {
letter-spacing 2px
float left
}
.timerbox{
padding-right 30px
}
</style>
......@@ -99,7 +99,7 @@ export default {
<style lang="stylus" scoped>
.el-menu-vertical-demo:not(.el-menu--collapse) {
width: 200px;
width: 232px;
min-height: 400px;
box-shadow: 0px -3px 8px 0px rgba(40,49,101,0.13);
}
......
......@@ -56,9 +56,9 @@
<script>
let particlesConfig = require("../assets/js/particles.json");
let sha1 = require("js-sha1");
let versioninfo = require("../../public/js/version");
import types from "../store/types.js";
export default {
name: "Login",
data() {
......@@ -108,7 +108,7 @@ export default {
this.$api.login
.login({
username: this.ruleForm.username,
password: this.ruleForm.password,
password: this.baseencode(this.ruleForm.password),
user_type: "user"
})
.then(res => {
......@@ -119,6 +119,10 @@ export default {
//本系统可以直接用本地缓存做
localStorage.setItem("atoken", res.atoken);
// 处理登录用户权限菜单显示问题;
if(res.firstLogin) {
this.$router.push('resetpass')
return;
}
//算法配置列表
this.algoList();
//存储配置列表
......
......@@ -43,6 +43,10 @@ export default {
if (value === "") {
callback(new Error("请输入密码"));
} else {
var pwdRegex = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}/;
if (!pwdRegex.test(value)) {
callback(new Error("您的密码复杂度太低(密码中必须包含写字母、数字、特殊字符),请及时修改密码!"))
}
if (this.ruleForm.checkPass !== "") {
this.$refs.ruleForm.validateField("checkPass");
}
......@@ -82,9 +86,10 @@ export default {
methods: {
submitForm(formName) {
let data = {
old_pwd: this.ruleForm.oldpassword,
new_pwd: this.ruleForm.newpassword
old_pwd: this.baseencode(this.ruleForm.oldpassword),
new_pwd: this.baseencode(this.ruleForm.newpassword)
};
this.$refs[formName].validate(valid => {
if (valid) {
let user_unid = sessionStorage.getItem("user_unid");
......
<template>
<div class="setting-box">
<div class="search-box">
<el-col :span="4">
<!-- <el-col :span="4">
<el-input v-model="searchval"></el-input>
</el-col>
<el-col :span="2" class="ml10">
<el-button type="primary">查询</el-button>
</el-col>
</el-col> -->
<el-col :span="8" style="float:right" hidden>
<span class="resource-box">
<span class="title">可用分析资源:</span>
......@@ -285,6 +285,7 @@ export default {
text.dy(-6);
nested.click(function() {
let data = this.data("sdv");
_this.curDevData = data;
_this.getSubDev(data);
});
},
......
......@@ -27,9 +27,13 @@
</el-table-column>
<el-table-column
align="center"
prop="create_dt"
width="300"
width="300"
label="创建时间">
<template slot-scope="scope">
<div>
{{showLocalTime(scope.row.create_dt,'local')}}
</div>
</template>
</el-table-column>
<el-table-column
align="center"
......@@ -227,7 +231,7 @@
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$api.ops.delUser({},row.role_unid).then(res=>{
this.$api.ops.delRole(row.role_unid,{}).then(res=>{
if(res.ecode==200){
this.$message({
type: 'success',
......
......@@ -190,15 +190,14 @@ export default {
}
};
var validatePass = (rule, value, callback) => {
var reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,}$/;
if (!reg.test(value)) {
callback(new Error("密码必须包含数字字母大于6位"));
} else {
var pwdRegex = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{8,30}/;
if (!pwdRegex.test(value)) {
callback(new Error("您的密码复杂度太低(密码中必须包含写字母、数字、特殊字符),请及时修改密码!"))
} else {
callback();
}
};
var validatePass2 = (rule, value, callback) => {
console.log("aa", this.addForm.password);
if (value === "") {
callback(new Error("请再次输入密码"));
} else if (value !== this.addForm.password) {
......@@ -373,7 +372,7 @@ export default {
.addUser({
norm_type: this.addForm.norm_type,
username: this.addForm.username,
password: this.addForm.password
password: this.baseencode(this.addForm.password)
})
.then(res => {
if (!res.ecode) {
......
......@@ -40,6 +40,7 @@
</el-table-column>
<el-table-column align="center" prop="name" label="名称">
</el-table-column>
<el-table-column align="center" prop="sort" label="显示顺序"> </el-table-column>
<el-table-column
align="center"
prop="note"
......@@ -127,7 +128,7 @@
{ required: true, message: 'code不能为空!', trigger: 'blur' }
]"
>
<el-input v-model="codeData.code"></el-input>
<el-input v-model="codeData.code" :disabled="editStatus == 1"></el-input>
</el-form-item>
<el-form-item
label="名称"
......@@ -141,6 +142,9 @@
<el-form-item label="备注" prop="note">
<el-input v-model="codeData.note"></el-input>
</el-form-item>
<el-form-item label="排序编号" prop="sort">
<el-input v-model="codeData.sort"></el-input>
</el-form-item>
<el-form-item
label="启用"
prop="active"
......@@ -176,11 +180,13 @@ export default {
eventCateData: [],
curcate: "",
catename: "",
eddis:false,
codeData: {
name: "",
code: "",
catename: "",
active: 1
active: true,
sort:""
},
editStatus: 0,
event_type_unid: ""
......@@ -188,7 +194,7 @@ export default {
},
components: {},
created() {
this.getEventList();
// this.getEventList();
this.getEventCate();
},
methods: {
......@@ -220,6 +226,7 @@ export default {
}
});
this.detailVisible = true;
this.$refs["eventform"].resetFields();
this.editStatus = 0;
},
cateFormatter(row) {
......@@ -244,7 +251,8 @@ export default {
catename: this.getCateName(this.curcate),
event_cate_unid: row.event_cate_unid,
active: row.active,
note: row.note
note: row.note,
sort:row.sort?row.sort:''
};
},
deleteCode(index, row) {
......@@ -259,7 +267,7 @@ export default {
type: "success",
message: "删除成功!"
});
this.cateChange();
this.cateChange(this.curcate);
});
})
.catch(() => {
......@@ -302,7 +310,7 @@ export default {
this.$api.codes.addEventTypes(data).then(res => {
this.detailVisible = false;
this.$refs["eventform"].resetFields();
this.cateChange();
this.cateChange(this.curcate);
});
},
saveEditCode() {
......@@ -310,14 +318,17 @@ export default {
event_cate_unid: this.curcate,
code: this.codeData.code,
name: this.codeData.name,
note: ""
note: this.codeData.note,
sort:this.codeData.sort,
active:this.codeData.active
};
this.$api.codes
.editEventType(this.codeData, this.event_type_unid)
.editEventType(obj, this.event_type_unid)
.then(res => {
this.detailVisible = false;
this.$refs["eventform"].resetFields();
this.cateChange();
this.cateChange(this.curcate);
this.editStatus = 0;
});
},
......
......@@ -41,6 +41,7 @@
</el-table-column>
<el-table-column align="center" prop="name" label="名称">
</el-table-column>
<el-table-column align="center" prop="sort" label="显示顺序"> </el-table-column>
<el-table-column align="center" prop="note" label="备用名称">
</el-table-column>
<el-table-column
......@@ -132,6 +133,9 @@
<el-form-item label="备注" prop="note">
<el-input v-model="codeData.note"></el-input>
</el-form-item>
<el-form-item label="排序编号" prop="sort">
<el-input v-model="codeData.sort"></el-input>
</el-form-item>
<el-form-item
label="启用"
prop="active"
......@@ -247,7 +251,8 @@ export default {
code: this.codeData.code,
name: this.codeData.name,
note: this.codeData.note,
active: this.codeData.active
active: this.codeData.active,
sort:this.codeData.sort
};
this.$api.codes.addTrafficCode(data, this.curCateUnid).then(res => {
console.log(res);
......@@ -261,7 +266,8 @@ export default {
code: this.codeData.code,
name: this.codeData.name,
note: this.codeData.note,
active: this.codeData.active
active: this.codeData.active,
sort:this.codeData.sort
};
this.$api.codes
.editTrafficCode(data, this.curCateUnid, this.codeData.code_unid)
......
......@@ -30,7 +30,12 @@
>
<el-table-column align="center" prop="name" label="名称">
</el-table-column>
<el-table-column prop="create_dt" align="center" label="上传时间">
<el-table-column align="center" label="上传时间">
<template slot-scope="scope">
<div>
{{showLocalTime(scope.row.create_dt,'local')}}
</div>
</template>
</el-table-column>
<el-table-column align="center" prop="task_list" label="应用任务">
<template slot-scope="scope">
......
......@@ -116,6 +116,15 @@ export default {
beforeup(file) {
this.updata.name = file.name;
this.updata.vchan_type = "vfile";
console.log(file)
let size = file.size;
if(size/1024 > 1024*500) {
this.$message({
message: "视频不能大于500M",
type: "error"
});
return false;
}
// this.updata.vchan_refid = new Date().getTime();
},
setheader(){
......
......@@ -44,7 +44,7 @@
<span>车辆品牌:</span>
<span>{{ item.vehicle_body_logo_text }}</span>
</li>
<li v-if="item.event_type === 'vehicle'" :title="item.vehicle_RefinedFeature_text">
<li hidden v-if="item.event_type === 'vehicle'" :title="item.vehicle_RefinedFeature_text">
<span>标志物:</span>
<span>{{ item.RefinedFeature_text }}</span>
</li>
......
......@@ -66,6 +66,7 @@
<li
v-if="item.event_type === 'vehicle'"
:title="item.vehicle_RefinedFeature_text"
hidden
>
<span>标志物:</span>
<span>{{ item.RefinedFeature_text }}</span>
......
......@@ -117,6 +117,7 @@
<span>{{ curPicData.vehicle_body_color_text }}</span>
</li>
<li
hidden
v-if="curPicData.event_type === 'vehicle'"
:title="curPicData.RefinedFeature_text"
>
......
......@@ -3,15 +3,14 @@
<el-col :span="3" class="ht100 tree-left">
<div class="tree-box">
<div class="tree-title">视频设备</div>
<div class=""></div>
<div class="">
<div class></div>
<div class>
<el-input
class="search-input"
prefix-icon="el-icon-search"
placeholder="请输入内容"
v-model="searchInfo"
>
</el-input>
></el-input>
</div>
<ul class="tasklist">
<li
......@@ -34,7 +33,7 @@
' el-icon-fanxin-task-pause': item.status != 'Running',
icon: true
}"
></i> -->
></i>-->
<!-- <span class="el-icon-caret-bottom" style="display:inline-block"></span> -->
<span class="task-title">{{ item.task_name }}</span>
</span>
......@@ -66,7 +65,7 @@
<div class="play-box">
<videoplay ref="videoplay" :playurl="playurl"></videoplay>
</div>
<div class="">
<div class>
<setting
:taskid="taskID"
ref="setting"
......@@ -220,139 +219,163 @@ export default {
}
};
</script>
<style lang="stylus" scoped>
.home-box{
height calc(100% - 60px)
width 100%
margin 2px auto
color #fff
overflow hidden
min-height 700px
padding 10px
<style lang="scss" scoped>
.home-box {
height: calc(100% - 60px);
width: 100%;
margin: 2px auto;
@include font-colr(whate_colr);
overflow: hidden;
min-height: 700px;
padding: 10px;
}
.tree-box{
border-radius 2px
height calc(100% - 0px)
overflow hidden
background #fff
.tree-box {
border-radius: 2px;
height: calc(100% - 0px);
overflow: hidden;
@include background_color(treeboxbg);
}
.tree-title{
height 30px
line-height 30px
padding-left 30px
font-size 14px
background #3BB7FF
.tree-title {
height: 30px;
line-height: 30px;
padding-left: 30px;
font-size: 14px;
@include background_color(taskshipintitlebg);
}
.tree-box:hover{
overflow-y auto
.tree-box:hover {
overflow-y: auto;
}
.tree-left{
.tree-left {
}
.video-box,.show-box{
height calc(100% - 0px)
overflow hidden
background #fff
.video-box,
.show-box {
height: calc(100% - 0px);
overflow: hidden;
}
.show-box {
overflow hidden
padding 10px
overflow: hidden;
padding: 10px;
@include background_color(treeboxbg);
}
.show-box:hover{
overflow-y auto
.show-box:hover {
overflow-y: auto;
}
.play-box{
height 70%
background black
margin-bottom 10px
.play-box {
height: 70%;
background: black;
margin-bottom: 10px;
}
.ht100{
height 100%
.ht100 {
height: 100%;
}
.search-input{
border-radius 1px
width 90%
margin 10px
.search-btn{
background rgba(0,0,0,.3)
border-radius 0
text-align center
.search-input {
border-radius: 1px;
width: 90%;
margin: 10px;
.search-btn {
background: rgba(0, 0, 0, 0.3);
border-radius: 0;
text-align: center;
}
}
.vido-ifram{
height 100%
width 100%
border 0
.vido-ifram {
height: 100%;
width: 100%;
border: 0;
}
.task-lsit{
display inline-block
cursor pointer
font-size 14px
color rgba(102, 102, 102, 1)
margin-top 15px
.task-lsit {
display: inline-block;
cursor: pointer;
font-size: 14px;
color: rgba(102, 102, 102, 1);
margin-top: 15px;
.icon {
padding-left 10px
padding-left: 10px;
}
}
.runningtask{
// color rgba(1, 206, 184, 0.56);
color rgba(102, 102, 102, 1)
}
.stoptask{
color rgba(102, 102, 102, 1)
.icon {
font-size 22px
margin-left -2px
}
.runningtask {
// color rgba(1, 206, 184, 0.56);
@include font-colr(runtask_color);
}
.stoptask {
color: rgba(102, 102, 102, 1);
.icon {
font-size: 22px;
margin-left: -2px;
}
.task-title{
padding-left 10px
width 100%
display inline-block
overflow hidden
}
.tasklist{
padding-left 10px;
width 100%
overflow hidden
.task-title {
padding-left: 10px;
width: 100%;
display: inline-block;
overflow: hidden;
}
.tasklist {
padding-left: 10px;
width: 100%;
overflow: hidden;
}
.subtask{
margin-bottom 5px
width 15vw
height 30px
margin-left 15px
line-height 30px
font-size 13px
padding-left 8px
color #666666
.subtask {
margin-bottom: 5px;
width: 15vw;
height: 30px;
margin-left: 15px;
line-height: 30px;
font-size: 13px;
padding-left: 8px;
@include font-colr(sbtask_color);
// width calc(100% - 30px);
overflow hidden
cursor pointer
.icon{
font-size 10px
padding-right 2px
transform scale(.6)
color #01ce82
overflow: hidden;
cursor: pointer;
.icon {
font-size: 10px;
padding-right: 2px;
transform: scale(0.6);
color: #01ce82;
}
}
.disabledColor{
color #c0c0c0!important;
text-decoration: line-through;
cursor text
.disabledColor {
color: #c0c0c0 !important;
}
.subtaskActive {
position relative
color #333
position: relative;
color: #333;
}
.subtaskActive::before{
position absolute
content ""
top 11px
left 0px
display inline-block
height 8px
width 8px
background rgba(42, 225, 47, 0.74)
border-radius 10px
.subtaskActive::before {
position: absolute;
content: "";
top: 11px;
left: 0px;
display: inline-block;
height: 8px;
width: 8px;
background: rgba(42, 225, 47, 0.74);
border-radius: 10px;
}
</style>
</style>
\ No newline at end of file
......@@ -291,6 +291,7 @@ export default {
"241,31,8",
"31,151,181",
"3,65,76",
"12,222,235",
"12,222,235"
], //线颜色
typeData: [
......@@ -303,7 +304,8 @@ export default {
"违停区域",
"行人检测区域",
"行人密度区域",
"异物检测区域"
"异物检测区域",
],
cindex: 0,
//laneMark:false,
......@@ -313,6 +315,7 @@ export default {
width: "40px",
margin: "10px 15px"
},
istest:false,
canvasState: 0, //控制编辑/添加
polyline: 0, //控制直线/折线
smallWindow: false, //控制属性弹窗
......@@ -2331,12 +2334,15 @@ export default {
mounted() {
// console.log(eventJson);
// this.eventData = eventJson;
// this.stageInit()
key("alt+1", () => {
if (this.istest) {
this.istest = false;
this.typeData.splice(-1,1)
} else {
this.istest = true;
this.typeData.push("测试区域")
}
});
}
......
......@@ -314,7 +314,8 @@ export default {
"违停区域",
"行人检测区域",
"行人密度区域",
"异物检测区域"
"异物检测区域",
"测试区域"
],
cindex: 0,
//laneMark:false,
......
......@@ -93,6 +93,7 @@ export default {
this.subtaskid = subid;
this.dialogVisible = true;
this.uploadurl = `http://${location.host}/api/v1/devconf_fx/import/${this.subtaskid}`;
this.fileList = [];
this.$store.commit("setocxstate", 0);
},
handlePreview(file, fileList) {
......@@ -116,7 +117,8 @@ export default {
type: "success"
});
this.dialogVisible = false;
this.$store.commit("setocxstate", 1)
this.$store.commit("setocxstate", 1);
this.fileList = [];
},
errorfile(err){
console.log(err);
......
......@@ -3,7 +3,6 @@
<div>
<el-table
:data="taskInfo.mtasks[0].scenes"
border
stripe
highlight-current-row
style="width: 80%;float:left"
......@@ -11,22 +10,16 @@
@cell-click="handleCurrentChange"
v-loading="loading"
>
<el-table-column label="序号" type="index" width="50" align="center">
</el-table-column>
<el-table-column label="序号" type="index" width="50" align="center"></el-table-column>
<el-table-column align="center" label="预置位编号" width="120">
<template slot-scope="scope">
<div>
{{ setpositionnum(scope.row.position_num) }}
</div>
<div>{{ setpositionnum(scope.row.position_num) }}</div>
</template>
</el-table-column>
<el-table-column align="center" label="预设位置配置" width="120">
<template slot-scope="scope">
<div class="yzw-setbox">
<span
class="icon el-icon-delete"
@click="resetRoi(scope.row)"
></span>
<span class="icon el-icon-delete" @click="resetRoi(scope.row)"></span>
</div>
</template>
</el-table-column>
......@@ -69,9 +62,7 @@
"
placement="top"
>
<span @click="setDemarcate(scope.row, scope.$index)"
>标定设置</span
>
<span @click="setDemarcate(scope.row, scope.$index)">标定设置</span>
</el-tooltip>
<!-- <span @click="setTimer(scope.row, scope.$index)">时间设置</span> -->
</div>
......@@ -79,36 +70,34 @@
</el-table-column>
</el-table>
<div class="setting-box">
<div class="set-header ">基础操作</div>
<div class="set-header">基础操作</div>
<div class="set-item" @click="setsounces">
场景配置 <span class="set-icon el-icon-circle-plus"></span>
场景配置
<span class="set-icon el-icon-circle-plus"></span>
</div>
<div class="set-item">
轮循播放
<span class="set-icon">
<el-switch :width="25" v-model="switchstate" @change="suspends">
</el-switch>
<el-switch :width="25" v-model="switchstate" @change="suspends"></el-switch>
</span>
</div>
<div class="set-item" @click="handleparam('upload')">
配置导入 <span class="set-icon el-icon-download"></span>
配置导入
<span class="set-icon el-icon-download"></span>
</div>
<div class="set-item" @click="handleparam('export')">
配置导出 <span class="set-icon el-icon-upload"></span>
配置导出
<span class="set-icon el-icon-upload"></span>
</div>
<div class="set-item" @click="showview()">
效果展示 <span class="set-icon el-icon-s-help"></span>
效果展示
<span class="set-icon el-icon-s-help"></span>
</div>
</div>
<handleparam ref="handleparam" :subtaskid="subtaskid"></handleparam>
</div>
<div class="yt-box">
<ytconfig
ref="yt"
@subpostion="submitPosion"
@deleteytconfig="deleteytconfig"
:vchan="vchan"
></ytconfig>
<ytconfig ref="yt" @subpostion="submitPosion" @deleteytconfig="deleteytconfig" :vchan="vchan"></ytconfig>
</div>
<div>
<parameter ref="parameter"></parameter>
......@@ -182,7 +171,7 @@ export default {
},
handleparam(type) {
if (type == "upload") {
this.$refs.handleparam.show(type,this.subtaskid);
this.$refs.handleparam.show(type, this.subtaskid);
} else {
this.$api.task.exportParams(this.subtaskid).then(res => {
if (res.ecode == 200) {
......@@ -458,77 +447,92 @@ export default {
}
};
</script>
<style lang="stylus" scoped>
.box{
position relative
<style lang="scss" scoped>
.box {
position: relative;
}
.yzw-setbox{
.yzw-setbox {
.icon {
font-size 16px
padding 0 10px
cursor pointer
font-size: 16px;
padding: 0 10px;
cursor: pointer;
}
.icon:first-child{
color #6783E3
.icon:first-child {
color: #6783E3;
}
.icon:last-child{
color red
.icon:last-child {
color: red;
}
}
.setting-box{
width 18%;
float right
.setting-box {
width: 19%;
float: right;
height: 25vh;
@include background_color(hometabletr_bg);
}
.table-set span{
padding 0 10px
cursor pointer
color #666666
border-right 1px solid #E5E5E5
.table-set span {
padding: 0 10px;
cursor: pointer;
color: #666666;
border-right: 1px solid #E5E5E5;
}
.table-set span:last-child{
border-right 0
.table-set span:last-child {
border-right: 0;
}
.table-set span:hover{
color #3BB7FF
.table-set span:hover {
color: #3BB7FF;
}
.set-header{
height 30px
line-height 30px
text-align center
background #ACC1FF
.set-header {
height: 40px;
line-height: 40px;
text-align: center;
@include background_color(setheader_bg);
}
.set-item{
height 3vh
line-height 3vh
min-height 30px
padding:0 10px
color #555555
margin-top 1vh
cursor pointer
.set-icon{
display inline-block
float right
line-height 3vh
font-size 20px
color #CCCCCC
.set-item {
height: 3vh;
line-height: 3vh;
min-height: 30px;
padding: 0 10px;
color: #555555;
margin-top: 1vh;
cursor: pointer;
.set-icon {
display: inline-block;
float: right;
line-height: 3vh;
font-size: 20px;
@include font-colr(task_icon_color);
}
.set-icon:hover{
color #3BB7FF
.set-icon:hover {
color: #3BB7FF!important;
}
}
.upload-box {
margin-right 20px
margin-right: 20px;
}
.yt-box{
.yt-box {
}
.settimertype,.sel-box{
display flex
margin-bottom 10px
.settimertype, .sel-box {
display: flex;
margin-bottom: 10px;
.title {
line-height 30px;
padding-right 10px
line-height: 30px;
padding-right: 10px;
}
}
</style>
......@@ -20,7 +20,7 @@ export default {
timeroptions: [
{ name: 5, value: 5 },
{ name: 10, value: 10 },
{ name: 15, value: 15 },
{ name: 20, value: 20 },
{ name: 30, value: 30 },
{ name: "不限时", value: -1 }
]
......
......@@ -72,14 +72,16 @@
<el-slider class="slider-item" v-model="value4" show-input></el-slider>
</div> -->
<div class="slider-box" style="margin-bottom:6vh;margin-top:3vh">
<span class="title">变倍</span>
<span class="el-icon-circle-plus s-icon s-plus"
<span class="el-icon-remove s-icon"
@mousedown="Ytontroller(10)"
@mouseup="stopYtontroller(11)"
style="cursor: pointer"
></span>
<span class="el-icon-remove s-icon"
<span class="title">变倍</span>
<span class="el-icon-circle-plus s-icon s-plus"
@mousedown="Ytontroller(9)"
@mouseup="stopYtontroller(11)"
style="cursor: pointer"
></span>
</div>
<div class="right-bottom-box">
......
......@@ -171,6 +171,11 @@
<el-table-column prop="sample_dura" align="center" label="统计周期(秒)">
</el-table-column>
<el-table-column prop="dist_time" align="center" label="车头时距(秒)">
<template slot-scope="scope">
<div>
{{ scope.row.dist_time.toFixed(2) }}
</div>
</template>
</el-table-column>
<el-table-column prop="distance" align="center" label="车头间距(m)">
<template slot-scope="scope">
......@@ -314,6 +319,8 @@ export default {
this.conditions.task_id +
"&subtask_id=" +
this.conditions.subtask_id +
"&detection_type=" +
this.conditions.detection_type +
"&statistic_type=" +
this.conditions.statistic_type
)
......@@ -329,6 +336,7 @@ export default {
},
query() {
this.page = 1;
this.total = 0;
this.getData();
},
getData() {
......
外卖公司 9 不知名外卖 t
外卖公司 1 饿了么 t
外卖公司 4 闪送 t
外卖公司 6 蜂鸟配送 t
外卖公司 5 达达 t
外卖公司 7 点我达 t
外卖公司 10 普通摩托 t
外卖公司 3 美团外卖 t
外卖公司 2 百度外卖 t
外卖公司 8 到家 t
外卖公司 0 无法辨别 t
=====================================
车辆类型 B29 中型旅居半挂车 t
车辆类型 Z41 微型专项作业车 t
车辆类型 B18 重型仓栅式半挂车 t
车辆类型 H45 微型自卸货车 t
车辆类型 Z51 重型专项作业车 t
车辆类型 X99 其他 t
车辆类型 Q21 中型半挂牵引车 t
车辆类型 H29 中型仓栅式货车 t
车辆类型 B32 轻型厢式半挂车 t
车辆类型 H47 微型仓栅式货车 t
车辆类型 M21 普通二轮摩托车 t
车辆类型 H12 重型厢式货车 t
车辆类型 B33 轻型罐式半挂车 t
车辆类型 B14 重型平板半挂车 t
车辆类型 B19 重型旅居半挂车 t
车辆类型 H11 重型普通货车 t
车辆类型 Q10 重型牵引车 t
车辆类型 K22 中型双层客车 t
车辆类型 H52 厢式低速货车 t
车辆类型 Z21 中型专项作业车 t
车辆类型 D12 有轨电车 t
车辆类型 K14 大型铰接客车 t
车辆类型 K21 中型普通客车 t
车辆类型 J12 轮式挖掘机械 t
车辆类型 K41 微型普通客车 t
车辆类型 G10 重型全挂车 t
车辆类型 Q31 轻型半挂牵引车 t
车辆类型 G30 轻型全挂车 t
车辆类型 H38 轻型特殊结构货车 t
车辆类型 B36 轻型仓栅式半挂车 t
车辆类型 G38 轻型专项作业全挂车 t
车辆类型 B26 中型自卸半挂车 t
车辆类型 H23 中型封闭货车 t
车辆类型 H50 低速货车 t
车辆类型 H34 轻型罐式货车 t
车辆类型 Q11 重型半挂牵引车 t
车辆类型 K13 大型卧铺客车 t
车辆类型 G16 重型自卸全挂车 t
车辆类型 B25 中型集装箱半挂车 t
车辆类型 G27 中型仓栅式全挂车 t
车辆类型 K23 中型卧铺客车 t
车辆类型 Q30 轻型牵引车 t
车辆类型 G23 中型罐式全挂车 t
车辆类型 B27 中型特殊结构半挂车 t
车辆类型 M22 轻便二轮摩托车 t
车辆类型 02 摩托车02 t
车辆类型 M11 普通正三轮摩托车 t
车辆类型 G20 中型全挂车 t
车辆类型 K12 大型双层客车 t
车辆类型 H21 中型普通货车 t
车辆类型 B34 轻型平板半挂车 t
车辆类型 Z31 小型专项作业车 t
车辆类型 K27 中型专用客车 t
车辆类型 G24 中型平板全挂车 t
车辆类型 G33 轻型罐式全挂车 t
车辆类型 H24 中型罐式货车 t
车辆类型 K42 微型越野客车 t
车辆类型 B22 中型厢式半挂车 t
车辆类型 H55 仓栅式低速货车 t
车辆类型 B37 轻型旅居半挂车 t
车辆类型 G22 中型厢式全挂车 t
车辆类型 H54 自卸低速货车 t
车辆类型 H40 微型货车 t
车辆类型 K31 小型普通客车 t
车辆类型 H44 微型罐式货车 t
车辆类型 K24 中型铰接客车 t
车辆类型 B2A 中型专项作业半挂车 t
车辆类型 K20 中型客车 t
车辆类型 G36 轻型仓栅式全挂车 t
车辆类型 N11 三轮汽车 t
车辆类型 K30 小型客车 t
车辆类型 H25 中型平板货车 t
车辆类型 T23 手扶变形运输机 t
车辆类型 G32 轻型厢式全挂车 t
车辆类型 H51 普通低速货车 t
车辆类型 K43 微型轿车 t
车辆类型 K33 小型轿车 t
车辆类型 H35 轻型平板货车 t
车辆类型 B1B 重型低平板半挂车 t
车辆类型 G25 中型集装箱全挂车 t
车辆类型 H33 轻型封闭货车 t
车辆类型 H19 重型仓栅式货车 t
车辆类型 K17 大型专用客车 t
车辆类型 B23 中型罐式半挂车 t
车辆类型 B20 中型半挂车 t
车辆类型 H53 罐式低速货车 t
车辆类型 B13 重型罐式半挂车 t
车辆类型 K15 大型越野客车 t
车辆类型 B35 轻型自卸半挂车 t
车辆类型 K25 中型越野客车 t
车辆类型 B21 中型普通半挂车 t
车辆类型 D11 无轨电车 t
车辆类型 H31 轻型普通货车 t
车辆类型 Q20 中型牵引车 t
车辆类型 B39 轻型低平板半挂车 t
车辆类型 H28 中型特殊结构货车 t
车辆类型 G37 轻型旅居全挂车 t
车辆类型 G12 重型厢式全挂车 t
车辆类型 B31 轻型普通半挂车 t
车辆类型 Q12 重型全挂牵引车 t
车辆类型 G34 轻型平板全挂车 t
车辆类型 H18 重型特殊结构货车 t
车辆类型 H43 微型封闭货车 t
车辆类型 G31 轻型普通全挂车 t
车辆类型 G15 重型集装箱全挂车 t
车辆类型 M10 三轮摩托车 t
车辆类型 G28 中型旅居全挂车 t
车辆类型 M12 轻便正三轮摩托车 t
车辆类型 B24 中型平板半挂车 t
车辆类型 T11 大型轮式拖拉机 t
车辆类型 G18 重型旅居全挂车 t
车辆类型 J13 轮式平地机械 t
车辆类型 G26 中型自卸全挂车 t
车辆类型 H26 中型集装厢车 t
车辆类型 G21 中型普通全挂车 t
车辆类型 H41 微型普通货车 t
车辆类型 H17 重型自卸货车 t
车辆类型 K16 大型轿车 t
车辆类型 G17 重型仓栅式全挂车 t
车辆类型 B16 重型自卸半挂车 t
车辆类型 M13 正三轮载客摩托车 t
车辆类型 Z11 大型专项作业车 t
车辆类型 J11 轮式装载机械 t
车辆类型 B30 轻型半挂车 t
车辆类型 G19 重型专项作业全挂车 t
车辆类型 H46 微型特殊结构货车 t
车辆类型 B10 重型半挂车 t
车辆类型 M20 二轮摩托车 t
车辆类型 K34 小型专用客车 t
车辆类型 T21 小型轮式拖拉机 t
车辆类型 B28 中型仓栅式半挂车 t
车辆类型 H27 中型自卸货车 t
车辆类型 M15 侧三轮摩托车 t
车辆类型 H14 重型罐式货车 t
车辆类型 G11 重型普通全挂车 t
车辆类型 B1A 重型专项作业半挂车 t
车辆类型 H13 重型封闭货车 t
车辆类型 T20 小型拖拉机 t
车辆类型 H42 微型厢式货车 t
车辆类型 H39 轻型仓栅式货车 t
车辆类型 K10 大型客车 t
车辆类型 H20 中型货车 t
车辆类型 M14 正三轮载货摩托车 t
车辆类型 H10 重型货车 t
车辆类型 K11 大型普通客车 t
车辆类型 H15 重型平板货车 t
车辆类型 H37 轻型自卸货车 t
车辆类型 Q22 中型全挂牵引车 t
车辆类型 K40 微型客车 t
车辆类型 B38 轻型专项作业半挂车 t
车辆类型 B2B 中型低平板半挂车 t
车辆类型 T22 手扶拖拉机 t
车辆类型 K32 小型越野客车 t
车辆类型 Q32 轻型全挂牵引车 t
车辆类型 G14 重型平板全挂车 t
车辆类型 H22 中型厢式货车 t
车辆类型 B17 重型特殊结构半挂车 t
车辆类型 H32 轻型厢式货车 t
车辆类型 G29 中型专项作业全挂车 t
车辆类型 H30 轻型货车 t
车辆类型 B11 重型普通半挂车 t
车辆类型 B15 重型集装箱半挂车 t
车辆类型 G35 轻型自卸全挂车 t
车辆类型 B12 重型厢式半挂车 t
车辆类型 G13 重型罐式全挂车 t
车辆类型 H16 重型集装厢车 t
车辆类型 Z71 轻型专项作业车 t
======================================
号牌类型 06 外籍汽车 t
号牌类型 05 境外汽车 t
号牌类型 03 使馆汽车 t
号牌类型 32 新能源大车 t
号牌类型 12 外籍摩托车 t
号牌类型 00 未知 t
号牌类型 22 临时行驶车 t
号牌类型 18 试验汽车号牌 t
号牌类型 19 试验摩托车号牌 t
号牌类型 07 两三轮摩托车 t
号牌类型 14 拖拉机 t
号牌类型 24 警用摩托 t
号牌类型 25 原农机 t
号牌类型 10 领馆摩托车 t
号牌类型 08 轻便摩托车 t
号牌类型 15 挂车 t
号牌类型 04 领馆汽车 t
号牌类型 02 小型汽车 t
号牌类型 09 使馆摩托车 t
号牌类型 99 其他号牌 t
号牌类型 17 教练摩托车 t
号牌类型 13 农用运输车 t
号牌类型 21 临时入境摩托车 t
号牌类型 01 大型汽车 t
号牌类型 23 警用汽车 t
号牌类型 16 教练汽车 t
号牌类型 31 新能源小车 t
号牌类型 20 临时入境汽车 t
号牌类型 11 境外摩托车 t
============================================
特殊车辆 2 危险品车 t
特殊车辆 4 小金刚 t
特殊车辆 0 正常车辆 t
特殊车辆 3 泥头车 t
特殊车辆 1 运输车 t
=======================================
车辆品牌 106 中通 t
车辆品牌 0 未知 t
车辆品牌 1 大众 t
车辆品牌 2 现代 t
车辆品牌 3 丰田 t
车辆品牌 4 本田 t
车辆品牌 5 长安 t
车辆品牌 6 五菱 t
车辆品牌 7 别克 t
车辆品牌 8 日产 t
车辆品牌 9 雪铁龙 t
车辆品牌 10 奥迪 t
车辆品牌 11 奇瑞 t
车辆品牌 12 夏利 t
车辆品牌 13 起亚 t
车辆品牌 14 福特 t
车辆品牌 15 雪佛兰 t
车辆品牌 16 比亚迪 t
车辆品牌 17 长城 t
车辆品牌 18 吉利 t
车辆品牌 19 铃木 t
车辆品牌 20 东风风神 t
车辆品牌 21 马自达 t
车辆品牌 22 斯柯达 t
车辆品牌 23 一汽 t
车辆品牌 24 三菱 t
车辆品牌 25 宝马 t
车辆品牌 26 奔驰 t
车辆品牌 27 标致 t
车辆品牌 28 海马 t
车辆品牌 29 哈飞 t
车辆品牌 30 奔腾 t
车辆品牌 31 江淮 t
车辆品牌 32 金杯 t
车辆品牌 33 中华 t
车辆品牌 34 昌河 t
车辆品牌 35 荣威 t
车辆品牌 36 沃尔沃 t
车辆品牌 37 帝豪 t
车辆品牌 38 斯巴鲁 t
车辆品牌 39 东南 t
车辆品牌 40 路虎 t
车辆品牌 41 福田 t
车辆品牌 42 雷克萨斯 t
车辆品牌 43 思铭 t
车辆品牌 44 全球鹰 t
车辆品牌 45 黄海 t
车辆品牌 46 纳智捷 t
车辆品牌 47 欧宝 t
车辆品牌 48 开瑞 t
车辆品牌 49 英菲尼迪 t
车辆品牌 50 众泰 t
车辆品牌 51 青年莲花 t
车辆品牌 52 雷诺 t
车辆品牌 53 凯迪拉克 t
车辆品牌 54 厦门金龙 t
车辆品牌 55 Jeep t
车辆品牌 56 双环 t
车辆品牌 57 陆风 t
车辆品牌 58 福迪 t
车辆品牌 59 北汽制造 t
车辆品牌 60 宝骏 t
车辆品牌 61 力帆 t
车辆品牌 62 野马 t
车辆品牌 63 北京汽车 t
车辆品牌 64 MG t
车辆品牌 65 中兴 t
车辆品牌 66 启辰 t
车辆品牌 67 菲亚特 t
车辆品牌 68 英伦 t
车辆品牌 69 江南奥拓 t
车辆品牌 70 理念 t
车辆品牌 71 广汽 t
车辆品牌 72 DS t
车辆品牌 73 华泰 t
车辆品牌 74 致观 t
车辆品牌 75 哈弗 t
车辆品牌 76 江铃 t
车辆品牌 77 永源 t
车辆品牌 78 吉奥 t
车辆品牌 79 瑞麒 t
车辆品牌 80 保时捷 t
车辆品牌 81 东风 t
车辆品牌 82 依维柯 t
车辆品牌 83 猎豹 t
车辆品牌 84 宾利 t
车辆品牌 85 红旗 t
车辆品牌 88 中国重汽 t
车辆品牌 89 五十铃 t
车辆品牌 110 京华 t
车辆品牌 111 安凯 t
车辆品牌 112 贵州万达 t
车辆品牌 113 大运 t
车辆品牌 90 日野 t
车辆品牌 91 海格 t
车辆品牌 92 恒通 t
车辆品牌 93 红岩 t
车辆品牌 94 精功 t
车辆品牌 95 华菱 t
车辆品牌 96 三一重工 t
车辆品牌 97 金旅 t
车辆品牌 98 跃进 t
车辆品牌 99 瑞沃 t
车辆品牌 100 亚星 t
车辆品牌 101 广通 t
车辆品牌 102 北方奔驰 t
车辆品牌 103 长江 t
车辆品牌 104 霸龙重卡 t
车辆品牌 105 宇通 t
车辆品牌 107 青年 t
车辆品牌 108 联合卡车 t
车辆品牌 109 三环汽车 t
车辆品牌 86 无用 t
车辆品牌 87 陕汽 t
车辆品牌 114 特斯拉 t
车辆品牌 115 克莱斯勒 t
车辆品牌 116 兰博基尼 t
车辆品牌 117 劳斯莱斯 t
车辆品牌 118 玛莎拉蒂 t
车辆品牌 119 法拉利 t
车辆品牌 120 捷豹 t
车辆品牌 121 迷你 t
车辆品牌 122 smart t
车辆品牌 123 林肯 t
车辆品牌 124 讴歌 t
车辆品牌 125 谛艾仕 t
车辆品牌 126 福建 t
车辆品牌 127 西雅特 t
车辆品牌 128 凯翼 t
车辆品牌 129 腾势 t
车辆品牌 130 田野 t
车辆品牌 131 英致 t
车辆品牌 132 大宇 t
车辆品牌 133 少林 t
车辆品牌 134 上汽大通 t
车辆品牌 135 汇众 t
车辆品牌 136 阿斯顿马丁 t
车辆品牌 137 福特野马 t
=====================================
违法类型 04 违法停车 t
违法类型 36 未系安全带 t
违法类型 38 使用手持电话 t
违法类型 44 国际2014右转闯红灯 t
违法类型 23 大货车禁行 t
违法类型 43 国际2014左转闯红灯 t
违法类型 42 国际2014直行闯红灯 t
违法类型 41 畅通 t
违法类型 19 超低速 t
违法类型 49 区间测速超速10%-20% t
违法类型 37 黄标车禁行 t
违法类型 64 抛洒物 t
违法类型 15 行人 t
违法类型 07 非法掉头 t
违法类型 52 区间测速超速70%以上 t
违法类型 48 超速70%以上 t
违法类型 61 非机动车逆行 t
违法类型 06 逆行 t
违法类型 67 机动车违反禁令指示 t
违法类型 33 区间超速 t
违法类型 51 区间测速超速50%-70% t
违法类型 32 外地车限行 t
违法类型 57 不按规定使用远光灯 t
违法类型 27 禁止左转 t
违法类型 29 路口滞留 t
违法类型 56 不按规定未依次交替驶入 t
违法类型 45 超速10%-20% t
违法类型 62 渣土车 t
违法类型 63 渣土车未盖苫盖 t
违法类型 70 号牌污损 t
违法类型 71 非机动车占用机动车道 t
违法类型 72 危险品运输车无押运员 t
违法类型 73 夜间开车放下遮阳板 t
违法类型 74 夜间行车不开灯 t
违法类型 75 车载货物超长超宽 t
违法类型 76 渣土车冒尖 t
违法类型 77 摩托车不带头盔 t
违法类型 78 倒车 t
违法类型 68 压导流带 t
违法类型 25 压白线 t
违法类型 16 遗撒 t
违法类型 53 黑名单车辆 t
违法类型 05 压实线或者黄线 t
违法类型 12 机动车占用非机动车道 t
违法类型 46 超速20%-50% t
违法类型 69 前排抱小孩 t
违法类型 14 非法左转 t
违法类型 66 旧领馆车牌 t
违法类型 65 拥堵时滞留人行横道 t
违法类型 20 不礼让行人 t
违法类型 58 行人闯红灯 t
违法类型 55 左转机动车未让直行车辆先行 t
违法类型 40 缓行 t
违法类型 08 直行闯红灯 t
违法类型 79 大客车禁行 t
违法类型 59 危险品车辆 t
违法类型 01 流量拥堵时间报警 t
违法类型 17 交通事故 t
违法类型 60 右转未让非机动车 t
违法类型 47 超速50%-70% t
违法类型 80 泥头车禁行 t
违法类型 81 小金刚禁行 t
违法类型 03 异常停车 t
违法类型 18 超高速 t
违法类型 28 禁止右转 t
违法类型 11 非法直行 t
违法类型 13 非法右转 t
违法类型 26 跨线变道 t
违法类型 50 区间测速超速20%-50% t
违法类型 00 正常 t
违法类型 54 大弯小转 t
违法类型 31 限号 t
违法类型 22 占用应急车道 t
违法类型 09 左转闯红灯 t
违法类型 24 限时单行 t
违法类型 21 车辆超速 t
违法类型 02 小车走公交车道 t
违法类型 30 越线停车 t
违法类型 10 右转闯红灯 t
=======================================
车身颜色 H 蓝 t
车身颜色 E 红 t
车身颜色 K 未识别 t
车身颜色 C 黄 t
车身颜色 J 黑 t
车身颜色 D 粉 t
车身颜色 A 白 t
车身颜色 B 灰 t
车身颜色 F 紫 t
车身颜色 G 绿 t
车身颜色 1 1 1 t
车身颜色 I 棕 t
车身颜色 Z 其他 t
================================
车道类型 01 右转 t
车道类型 10 非机动车道 t
车道类型 05 黄线 t
车道类型 03 直左混行 t
车道类型 02 直行 t
车道类型 09 应急车道 t
车道类型 11 左转弯待停区 t
车道类型 04 直右混行 t
车道类型 00 左转 t
车道类型 1 1 1 t
车道类型 07 人行横道 t
车道类型 08 公交车道 t
车道类型 06 自行车道 t
===================================
号牌颜色 5 白色 t
号牌颜色 6 绿色 t
号牌颜色 7 黄绿色 t
号牌颜色 3 黑色 t
号牌颜色 0 未识别 t
号牌颜色 1 黄色 t
号牌颜色 9 其他 t
号牌颜色 2 蓝色 t
=======================================
卡口方向 1 由东向西 t
卡口方向 2 由西向东 t
卡口方向 3 由南向北 t
卡口方向 4 由北向南 t
<template>
<div>
<div class="serarch-box">
<el-form ref="form" label-width="80px">
<el-col :span="4">
<el-form-item label="事件类型">
<el-select v-model="region" placeholder="请选择事件类型">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="活动区域">
<el-select v-model="region" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-form>
</div>
</div>
</template>
<script>
export default {
data() {
return {
vchan:""
}
}
}
</script>
<style lang="stylus" scoped>
.serarch-box {
width 98%;
margin 10px auto
border 1px solid #dcdee2
height 120px
background #fff
border-radius 5px
padding 10px
}
.search-item{
width 200px;
}
</style>
10=0
25=1
2=2
26=3
4=4
1=5
21=6
3=7
7=8
15=9
9=10
27=11
14=12
42=13
8=14
11=15
16=16
13=17
35=18
24=19
22=20
19=21
34=22
67=23
36=24
55=25
40=26
85=28
32=30
31=31
76=32
18=33
57=34
61=35
64=36
124=37
49=38
33=39
50=40
=41
38=42
56=44
44=47
78=48
73=49
29=50
39=52
37=53
5=54
=55
17=56
132=57
89=58
120=60
47=61
115=62
123=64
117=65
119=66
80=67
51=68
136=69
30=71
81=72
41=74
6=75
53=76
118=77
12=78
52=79
82=80
84=81
121=82
135=84
23=85
48=86
98=88
54=90
65=92
79=93
63=95
28=96
88=97
87=98
102=99
105=100
58=102
71=103
113=107
90=110
93=111
95=112
97=113
108=114
107=116
8=117
106=123
60=125
70=126
66=128
71=129
75=131
46=132
62=134
116=135
68=149
99=150
91=151
77=153
42=155
100=159
96=160
111=162
45=166
137=168
109=171
0=200000
=27
=29
=43
=45
=46
=51
=59
=63
=70
=73
=83
=87
=89
=91
=94
=101
=104
=105
=106
=108
=109
=115
=118
=119
=120
=121
=122
=124
=127
=130
=133
=136
=137
=138
=139
=140
=141
=142
=143
=144
=145
=146
=147
=148
=154
=156
=157
=158
=161
=163
=164
=165
=167
=169
=170
=172
=173
=174
<template>
<div>
<el-dialog
title="任务配置修改"
:title="headertitle"
:visible.sync="setvisible"
width="450px"
:before-close="handleClose"
......@@ -110,6 +110,7 @@
</el-form-item>
<el-form-item label="设备类型" class="form-item">
<el-select v-model="formData.plate_type">
<el-option value="" label="">请选择</el-option>
<el-option
v-for="(item, index) in platT"
:key="index"
......@@ -154,6 +155,7 @@ export default {
setvisible: false,
timer: ["00:00:00", "23:59:59"],
backpdata: "",
headertitle:"添加任务",
formData: {
task_name: "",
task_algo_type: "",
......@@ -224,6 +226,7 @@ export default {
this.platT = [];
this.setvisible = true;
if (type == "add") {
this.headertitle = "新建任务"
//timer单独拿到form外层是因为element一个bug放到内层后不能修改时间
this.timer = ["00:00:00", "23:59:59"];
this.formData = {
......@@ -239,6 +242,7 @@ export default {
};
}
if (type == "edit") {
this.headertitle = "修改任务"
this.pedittype = type;
if (pdata.start_time) {
let startT = pdata.start_time;
......
......@@ -11,7 +11,15 @@
<div>
<!-- 外层内容 -->
<div class="leftBox">
<div class="titles">视频设备</div>
<el-input
class="search-input"
prefix-icon="el-icon-search"
placeholder="请输入内容"
v-model="searchText"
>
</el-input>
<div class="">
</div>
<div class="treeBox">
<el-tree
:props="props"
......@@ -22,6 +30,7 @@
@node-click="vchanClick"
ref="tree"
@check="handleCheckChange"
:filter-node-method="filterNode"
:render-content="renderContent"
></el-tree>
</div>
......@@ -101,6 +110,7 @@ export default {
editData: {},
taskData: {},
moveTaskData: [],
searchText:"",
setvisible: false,
props: {
id: "vchan_refid",
......@@ -124,10 +134,14 @@ export default {
default: "add"
}
},
watch: {
parentData(val) {
// this.sessionData = JSON.parse(JSON.stringify(val));
// this.editData = val;
},
searchText(val){
this.$refs.tree.filter(val);
}
},
components: {
......@@ -138,6 +152,10 @@ export default {
console.log(this.setvisible);
},
methods: {
filterNode(value, data) {
if (!value) return true;
return data.name.indexOf(value) !== -1;
},
showModal(val) {
this.taskData = val;
this.tableData = [];
......@@ -224,6 +242,7 @@ export default {
let status = true;
let subData = [];
this.tableData.map(e => {
debugger
let vchan = e;
let data = {
is_dome: false,
......@@ -433,7 +452,7 @@ export default {
return (
<span class="custom-tree-node">
<el-tooltip
class="item"
popper-class="tasktip"
effect="dark"
content={node.label}
placement="top-start"
......@@ -591,8 +610,7 @@ export default {
height: 630px;
border: 1px solid rgba(229, 229, 229, 1);
float: left;
overflow: hidden;
overflow-y: auto;
overflow: auto;
}
.titles {
height: 30px;
......@@ -604,7 +622,8 @@ export default {
}
.treeBox {
padding: 6px;
overflow: auto;
width:1000px
// overflow: auto;
}
.rightBox {
float: left;
......@@ -617,4 +636,8 @@ export default {
border: 1px solid #444444;
margin-bottom: 14px;
}
.search-input{
width: 90%;
margin: 10px 5%;
}
</style>
......@@ -68,7 +68,7 @@
>查询</el-button
>
<span style="float: right;">
<el-button type="info" icon="el-icon-plus" @click="editTask('add')"
<el-button type="info" icon="el-icon-plus" style="padding: 7px 16px" @click="editTask('add')"
>新建任务</el-button
>
</span>
......@@ -192,7 +192,7 @@
'icon-fanxing-qidong': true,
playIcon: true,
noplayicon:
scope.row.status == 'NotInTimeOfDay' ? true : false
scope.row.status == 'NotInTimeOfDay' ? false : false
}"
@click="setTaskStatus(scope.row, 'start')"
></span>
......@@ -484,9 +484,9 @@ export default {
},
setTaskStatus(data, type) {
this.setsSrollTop();
if (data.status == "NotInTimeOfDay") {
return;
}
// if (data.status == "NotInTimeOfDay") {
// return;
// }
this.$api.task
.setTaskStatus(data.task_id, { start_stop_status: type })
.then(res => {
......@@ -531,7 +531,8 @@ export default {
</script>
<style lang="scss" scoped>
.topCon {
background: $white-back-color;
@include background_color(treeboxbg);
@include font-colr(topCon_color);
margin-bottom: 12px;
height: 100px;
.left {
......@@ -636,7 +637,7 @@ export default {
}
}
.content {
background: #ffffff;
@include background_color(treeboxbg);
}
.inputBox {
margin-right: 20px;
......
......@@ -20,8 +20,8 @@
<span class="subtask-info">{{ subTaskData.video_total }}</span> -->
<span class="label">任务信息</span>
<span class="subtask-info">{{ subTaskData.info }}</span>
<span class="label">分析设备</span>
<span class="subtask-info">
<span class="label" hidden>分析设备</span>
<span class="subtask-info" hidden>
<el-select v-model="assign_id" filterable>
<!-- <el-option
v-for="(item, index) in freeList"
......@@ -70,7 +70,7 @@
</el-option> -->
</el-select>
</span>
<span class="label sub-btn" @click="subMove" >确定</span>
<span class="label sub-btn" @click="subMove" hidden>确定</span>
</div>
</template>
......
......@@ -758,6 +758,10 @@
error-stack-parser "^2.0.0"
string-width "^2.0.0"
"@svgdotjs/svg.js@^3.0.16":
version "3.0.16"
resolved "https://registry.npm.taobao.org/@svgdotjs/svg.js/download/@svgdotjs/svg.js-3.0.16.tgz#7044754e45daf62c8e2b115c45ca33ca5b967aff"
"@types/color-name@^1.1.1":
version "1.1.1"
resolved "https://registry.npm.taobao.org/@types/color-name/download/@types/color-name-1.1.1.tgz?cache=0&sync_timestamp=1580841712213&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fcolor-name%2Fdownload%2F%40types%2Fcolor-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
......@@ -1186,6 +1190,10 @@ acorn-walk@^6.0.1, acorn-walk@^6.1.1:
version "6.2.0"
resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
acorn-walk@^7.1.1:
version "7.2.0"
resolved "https://registry.npm.taobao.org/acorn-walk/download/acorn-walk-7.2.0.tgz?cache=0&sync_timestamp=1597235853605&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn-walk%2Fdownload%2Facorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.7, acorn@^6.1.1, acorn@^6.2.1:
version "6.4.0"
resolved "https://registry.npm.taobao.org/acorn/download/acorn-6.4.0.tgz#b659d2ffbafa24baf5db1cdbb2c94a983ecd2784"
......@@ -1194,6 +1202,10 @@ acorn@^7.1.0:
version "7.1.0"
resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.1.0.tgz#949d36f2c292535da602283586c2477c57eb2d6c"
acorn@^7.1.1:
version "7.4.0"
resolved "https://registry.npm.taobao.org/acorn/download/acorn-7.4.0.tgz?cache=0&sync_timestamp=1597235733498&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Facorn%2Fdownload%2Facorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c"
address@^1.1.2:
version "1.1.2"
resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6"
......@@ -7238,6 +7250,10 @@ svg-tags@^1.0.0:
version "1.0.0"
resolved "https://registry.npm.taobao.org/svg-tags/download/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
svg.js@^2.7.1:
version "2.7.1"
resolved "https://registry.npm.taobao.org/svg.js/download/svg.js-2.7.1.tgz#eb977ed4737001eab859949b4a398ee1bb79948d"
svgo@^1.0.0:
version "1.3.2"
resolved "https://registry.npm.taobao.org/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1572433264480&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
......@@ -7816,6 +7832,24 @@ webpack-bundle-analyzer@^3.6.0:
opener "^1.5.1"
ws "^6.0.0"
webpack-bundle-analyzer@^3.8.0:
version "3.8.0"
resolved "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.8.0.tgz#ce6b3f908daf069fd1f7266f692cbb3bded9ba16"
dependencies:
acorn "^7.1.1"
acorn-walk "^7.1.1"
bfj "^6.1.1"
chalk "^2.4.1"
commander "^2.18.0"
ejs "^2.6.1"
express "^4.16.3"
filesize "^3.6.1"
gzip-size "^5.0.0"
lodash "^4.17.15"
mkdirp "^0.5.1"
opener "^1.5.1"
ws "^6.0.0"
webpack-chain@^6.0.0:
version "6.4.0"
resolved "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-6.4.0.tgz?cache=0&sync_timestamp=1580740704742&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-chain%2Fdownload%2Fwebpack-chain-6.4.0.tgz#22f0b27b6a9bc9ee3cba4f9e6513cf66394034e2"
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!