main.6c188247.chunk.js.map 48.4 KB
{"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":""}