{"version":3,"sources":["components/Util.js","img/docdocslogosmall.png","img/logoBabyShow.png","img/whatsapp.png","img/email.png","img/docdocslogo.png","services/auth.js","components/NavMenu.js","components/Layout.js","components/Home.js","components/FetchData.js","components/Counter.js","components/Paciente.js","components/AddPaciente.js","components/Exame.js","components/Config.js","components/FileUpdate.js","components/AddExame.js","components/ExamePadrao.js","components/WysiwygEditor.js","components/SimpleEditor.js","components/mentions.js","components/LaudarExame.js","components/VideosExame.js","components/AddExamePadrao.js","components/Mention.js","components/AddMention.js","components/AddConfig.js","components/Usuario.js","components/AddUsuario.js","components/Logs.js","services/api.js","signin/styles.js","signin/index.js","components/Logout.js","routes.js","App.js","index.js"],"names":["idade","dtnascimento","hoje","Date","nascimento","diferencaAnos","getFullYear","getMonth","getDate","formatDate","date","substr","formatDate4Y","today","toISOString","substring","log","tipo","msg","a","data","LogsData","data_hora","user","getUser","id_usuario","id","mensagem","json","JSON","stringify","fetch","method","headers","body","then","response","responseJson","props","history","push","console","getConfigReg","param","resconfig","listConfig","i","length","parametro","toLowerCase","getConfigValue","valor","module","exports","TOKEN_KEY","USER","COMPANY","isAuthenticated","localStorage","getItem","getToken","parse","atob","inverter","getCompany","login","token","setItem","btoa","logout","removeItem","str","ini","end","o","split","replace","NavMenu","disableItemMenuLaudario","statusItemMenuLaudario","toggleNavbar","bind","state","collapsed","e","preventDefault","this","setState","entrar","Navbar","className","light","Container","NavbarBrand","tag","Link","to","src","Logo","alt","NavbarText","htmlFor","NavbarToggler","onClick","Collapse","isOpen","navbar","NavItem","NavLink","UncontrolledDropdown","DropdownToggle","color","caret","DropdownMenu","DropdownItem","divider","icon","faUser","Component","displayName","name","Layout","children","Home","href","target","LogoBS","Whatsapp","height","width","Email","ReactDOM","render","document","getElementById","FetchData","forecasts","loading","populateWeatherData","contents","renderForecastsTable","aria-labelledby","map","forecast","key","temperatureC","temperatureF","summary","Counter","currentCount","incrementCounter","aria-live","Paciente","listaPaciente","strFilter","handleDelete","handleEdit","handleFilter","handleChange","handleKeyDown","populateData","pac","nome","sexo","require","datanascimento","cidade","uf","filtered","filter","rec","toString","indexOf","renderDataTable","class","role","aria-label","onSubmit","type","onKeyDown","onChange","aria-describedby","placeholder","faSearch","window","confirm","strf","FormData","get","value","keyCode","status","PacienteData","AddPaciente","title","pacData","pacid","match","params","handleSave","handleCancel","conteudo","renderCreateForm","object","forEach","path","defaultValue","required","pattern","cpf","data-val","email","whatsapp","telefone","endereco","number","cep","obs","Exame","baby_show","laudario","ativos","listaExame","exameAtual","handlePrint","handleLaudar","handleVideos","handleCheckChange","reg","style","display","diagnostico","laudado","envio","nome_exame","nome_paciente","id_paciente","descricao","data_nascimento","convenio","solicitante","id_user_laudo","text","nivel","updateExameAtual","String","idExameNovo","dataconfig","jsondata","parseInt","ExameData","msg_abertura","msg_fechamento","Config","goBack","listaConfig","config","ConfigData","AddExame","exameData","desable","audio","pathAudio","exameid","handleTipoMsgChange","handleModelosMsgChange","handleAudioChange","handleUploadAudio","handleUploadAudioFileChange","isChange","tipoMsg","exame","linha1","linha2","linha3","linha4","linha5","AtualizaCamposMsg","linhas","undefined","selectFile","comboAudio","selectedIndex","textContent","click","alert","textAudio","file","files","formData","append","post","resp","AtualizaVideoMensagens","comboPosicao","comboModelos","comboPacientes","options","paciente","comboEP","disabled","listPacientes","opt","createElement","add","listEP","id_exame_padrao","size","source","controls","maxlength","examid","origin","location","client","dataexame","tit","isDisabled","audioValue","loadComboPacientes","loadComboExamePadrao","ExamePadrao","listaExamePadrao","ep","categoria","Content","content","ExamePadraoData","mentions","loadMentions","WysiwygEditor","editorState","updateContent","onEditorStateChange","_content","blocksFromHtml","htmlToDraft","contentBlocks","entityMap","contentState","ContentState","createFromBlockArray","EditorState","createWithContent","getCurrentContent","nextProps","wrapperClassName","editorClassName","mention","separator","trigger","suggestions","hashtag","LaudarExame","pacienteData","epData","diag","handleConfirm","resetLaudo","dataExam","formatDiagnostico","reset","regExam","draftToHtml","convertToRaw","regPac","regEP","editor","exid","dataPac","dataEP","VideosExame","fileVideo","fileVideoDesac","fileVideSelec","handleEnviar","handleEnviarTodos","handleChangeVideo","handleChangeVideoDesac","handleChangeVideoSelec","handleAcoplar","handleDesacoplar","handleSelecionar","handleSelecionarTodos","handleRetirar","handleLimpar","handleAcoplarTodos","handleDesacoplarTodos","comboVideosSelec","remove","comboVideosDesac","comboVideos","putFileExam","j","video","pathfile","fileVideoSelec","enviarFileExam","enviarSelecionados","regFileExam","ExameFileData","id_exame","listVideos","renderCreatePlayer","isImg","faPlay","loadComboVideos","loadComboVideosDesacoplados","SimpleEditor","onSearchChange","defaultSuggestionsFilter","onAddMention","focus","mentionPlugin","createMentionPlugin","convertFromHTML","MentionSuggestions","plugins","editorStyles","ref","element","AddExamePadrao","epid","Mention","listaMentions","ment","MentionsData","AddMention","mentData","mentid","AddConfig","configData","configid","respJason","Usuario","listaUsuario","useridlogin","UsuarioData","AddUsuario","userData","userid","senha","op","getElementsByTagName","toUpperCase","Logs","listaLogs","fetchIntercept","register","request","url","Authorization","requestError","error","Promise","reject","responseError","styled","div","Form","form","SignIn","Login","Senha","handleSignIn","Logout","doLogout","PrivateRoute","component","rest","pathname","from","Routes","exact","App"],"mappings":"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","file":"static/js/main.301afa9f.chunk.js","sourcesContent":["import { getUser } from \"../services/auth\";\r\n\r\nexport var idade = function idade(dtnascimento) {\r\n let hoje = new Date();\r\n let nascimento = new Date(dtnascimento);\r\n let diferencaAnos = hoje.getFullYear() - nascimento.getFullYear();\r\n if (new Date(hoje.getFullYear(), hoje.getMonth(), hoje.getDate()) <\r\n new Date(hoje.getFullYear(), nascimento.getMonth(), nascimento.getDate()))\r\n diferencaAnos--;\r\n return (diferencaAnos);\r\n}\r\n\r\nexport var formatDate = function formatDate(date) { // dd/mm/yy\r\n return (date.substr(-2) + \"/\" + date.substr(5, 2) + \"/\" + date.substr(2, 2));\r\n}\r\n\r\nexport var formatDate4Y = function formatDate4Y(date) { // dd/mm/yyyy\r\n return (date.substr(-2) + \"/\" + date.substr(5, 2) + \"/\" + date.substr(0, 4));\r\n}\r\n\r\nexport var today = function today() { // dd/mm/yyyy\r\n return formatDate4Y((new Date()).toISOString().substring(0, 10));\r\n}\r\n\r\n// adiciona evento de log\r\nexport var log = async function log(tipo, msg) {\r\n const data = new LogsData();\r\n data.data_hora = (new Date()).toISOString().substring(0, 19);\r\n const user = getUser();\r\n data.id_usuario = user.id;\r\n data.tipo = tipo;\r\n data.mensagem = msg;\r\n var json = JSON.stringify(data);\r\n // POST requisi��o para adicionar Log\r\n try {\r\n await fetch('api/Logs', {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: json,\r\n }).then((response) => response.json())\r\n .then((responseJson) => {\r\n this.props.history.push(\"/logs\");\r\n })\r\n } catch (e) { console.log(e); }\r\n return true;\r\n}\r\n\r\n// get config registry by parameter\r\nexport var getConfigReg = async function getConfigReg(param) {\r\n const resconfig = await fetch('api/Config');\r\n const listConfig = await resconfig.json();\r\n for (var i = 0; i < listConfig.length; i++)\r\n if (listConfig[i].parametro.toLowerCase() === param.toLowerCase())\r\n return listConfig[i];\r\n return null\r\n}\r\n\r\n// get config value by parameter\r\nexport var getConfigValue = async function getConfigValue(param) {\r\n const resconfig = await fetch('api/Config');\r\n const listConfig = await resconfig.json();\r\n for (var i = 0; i < listConfig.length; i++)\r\n if (listConfig[i].parametro.toLowerCase() === param.toLowerCase())\r\n return listConfig[i].valor;\r\n return null\r\n}\r\n\r\nclass LogsData {\r\n id;\r\n data_hora;\r\n usuario;\r\n tipo;\r\n mensagem;\r\n}\r\n\r\n/*exports.idade = idade; \r\nexports.formatDate = formatDate;\r\nexports.log = log;*/","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAAAhCAYAAACGA8YfAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAABUJJREFUaEPtmUeIZFUUhtucMC5MCOaAipizoht1oRhndGECdWEAcxazgqJgACNmR1FxGGZQMWcxL0wIBswRFXMO32f1eXPm9q161TU9IN3+8NE3nHPrvfNu7qH/NVO/jVNGpb9hoXGG7/Qj9C0dxpt8J/nm31wfykF4BKKBXvwFv8PP8B28BvvCgtCmHeAj+BWivT/gBzgfam3sBKXPn+DvPw3rQ5b18ffzTrK3wkE9DPEjg+CLnArzQE3W+fA13+AZsEuHLgODXrMNroEsy0KmP+gkuys7zG4QAnvGcpC1HeQAPAubwJpwCdgboi5eajfIPh/CZFgetoUZYO/oFQRl/q1Osq7sMFZBkM8gB+IeiLp3YX7Iugii3qG2LLyQyt6BpaDUenBaJ9lI+1KWvdpJjlR2qAXhe3CCyXwLlrsUlfaZT2FhUNn2OAsKGbDsuw/kYXAQ9Cvta7LcwI5QdqgFYWOoaQGwWzohvg2lX3AdqFy2jQUVOXbD5pSUltWhX2nfTdY90UnOVHaoBWELaJMT2cXQrWdsUOQ3h5pyMO3i2WcF6Ffa95L193eSHWWHQYOg5oLToTaT31Dk94JS+rvchs3RKS2bQb/SfloPbgNtGuVMWxCcyW1AjgUnr1J2/7INl873Ut6glNoKso/53LOuhG5acvhvyPmkDdtslDNtQdgayvqzIGtdKG3k+pT25XYEv75aBlxWo96VYF6Yksr0ORTyZsohci2US2Q/ss1GOTNIEGRtyKrZHAmu1ZH3pdztPQQup1Hu8rgrqFXA1Sjq5HW4Dx6HGD7/iSB8BVlvQGlzBqwGrtVlXeDSeyBkbQp5KJUYtAthtNK3Uc4MGgTJqrVzOyg3SS6rN8LL8ArcCyfDilDT4mBw9NFeHoBzID/faDTLM+fMnAzCLaBc72+CvBx+DQ4Lt8kxT2StAaWPveZFOBNiZzo37AmPgYersP0SbN8huQgoyxvlzKBB+BiyPASVNifBzpBPgjWuAF8mtB+0HaDsIfpcncq64aqjTDfKmUGD4FjPqtkcA3nJ8zB0NjgMHoX8ogZMbQi/QJS7VfdFj4IL4E3Qz4nRIRZ2HrruhuPB9u8Ae4518T6mG+XMIEE4D7I8LZY2Mj2lnUjLU6abmKj3gRcFV4Hs42Gp1OHgbvUuCNunoNTScCt4clXaNcqZtiCsBf6YnABLQKmpULbhup+XunOhlG1nH4dOPkafCL0Uu0BxyPl8Bs0DXB5eIe0a5UxbENq0N5T+YrfMeW+KanKCDBuHRPZxE9ZLu0O2DxxOfrQ9YD4IWdcoZwYNgjdJXnbkGTlwZnZGzmVz6gDlfNFr4nXVcJgp841yphaE7cEuJYsVf1cCv0AezxknrYNB5fJuPSHvHO3O2Wcd6EcbgWeTl+AnKK/zYtI13ShnakGYHRynodzVazs8D2fZ10DlF3DH2U12c+83SrkxOwxiZRB7gzLdKGfGKgj2AC8u8oXpVRD17vk9F4Q8FOXrNwPmEHowlemzJeRJzvYPAPcWTw6n7aXZxnTuqd5LKtONcmYsguBe3ocqtTLk3uBq4bbXNf+54TLx67unUC7J5Ri/GQ4B139XHcvcJ9j9TTsveWJ16TwC7oTwte1JoMw3yplBg+CXj1OhD95N/s8hB6LEG+dLIWt/8D6iZi/+tkF/fjhdsxHbvhxCljXKGa+cfJk2HGPvg3t3u7E7v37vAN20+DXd7fnVbO8T8AN4x1CT84UHMH3iGb4AN0VOdI79VcGXdMvuBW/YRdu7QFbXIEwkjQiCkZxozBIEx8oEZWjoH1lo/xBxliwwAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"static/media/logoBabyShow.ecc6e5a9.png\";","module.exports = __webpack_public_path__ + \"static/media/whatsapp.e0c94e70.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import { getConfigValue } from '../components/Util';\r\n\r\nexport const TOKEN_KEY = \"@DocDocs-Token\";\r\nexport const USER = \"@DocDocs-User\";\r\nexport const COMPANY = \"@DocDocs-Company\";\r\nexport const isAuthenticated = () => localStorage.getItem(TOKEN_KEY) !== null;\r\n//export const isAuthenticated = () => true;\r\nexport const getToken = () => localStorage.getItem(TOKEN_KEY);\r\nexport const getUser = () => {\r\n if (!isAuthenticated()) return null;\r\n return JSON.parse(atob(inverter(localStorage.getItem(USER), 0, 100)));\r\n}\r\nexport const getCompany = () => localStorage.getItem(COMPANY);\r\nexport const login = async (user, token) => {\r\n localStorage.setItem(TOKEN_KEY, token);\r\n localStorage.setItem(USER, inverter(btoa(JSON.stringify(user)), 0, 100));\r\n localStorage.setItem(COMPANY, await getConfigValue('empresa'));\r\n};\r\nexport const logout = () => {\r\n if (!isAuthenticated()) return\r\n localStorage.removeItem(TOKEN_KEY);\r\n localStorage.removeItem(USER);\r\n localStorage.removeItem(COMPANY);\r\n};\r\n\r\nfunction inverter(str, ini, end) {\r\n var o = '';\r\n if (str == null)\r\n return null;\r\n end = end > str.length ? str.length : end\r\n ini = ini > end ? 0 : ini \r\n for (var i = end - 1; i >= ini; i--) {\r\n o += str[i];\r\n }\r\n const split = str.substring(ini, end);\r\n return str.replace(split, o);\r\n}","import React, { Component } from 'react';\r\nimport { Collapse, Container, Navbar, NavbarBrand, NavbarToggler, NavItem, NavLink, NavbarText } from 'reactstrap';\r\nimport { UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport Logo from \"../img/docdocslogosmall.png\";\r\nimport { faUser } from \"@fortawesome/free-solid-svg-icons\"; \r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport './NavMenu.css';\r\nimport './NavMenu.scss';\r\nimport { getConfigValue } from './Util';\r\nimport { getCompany, getUser, isAuthenticated } from '../services/auth';\r\n\r\nexport class NavMenu extends Component {\r\n static displayName = NavMenu.name;\r\n\r\n constructor (props) {\r\n super(props);\r\n\r\n var disableItemMenuLaudario;\r\n this.disableItemMenuLaudario = this.statusItemMenuLaudario();\r\n this.toggleNavbar = this.toggleNavbar.bind(this);\r\n this.state = {\r\n collapsed: true\r\n };\r\n }\r\n\r\n async statusItemMenuLaudario() {\r\n return await getConfigValue('laudario') == \"true\" ? '' : 'disabled';\r\n }\r\n\r\n toggleNavbar(e) {\r\n e.preventDefault();\r\n console.log(this.state.collapsed)\r\n this.setState({\r\n collapsed: !this.state.collapsed\r\n });\r\n }\r\n\r\n render() {\r\n const user = getUser();\r\n const entrar = isAuthenticated() ? \" \"+user.login : ' Entrar'\r\n return (\r\n
\r\n \r\n \r\n \"DocDocs\"\r\n {getCompany()}\r\n \r\n \r\n
    \r\n \r\n Home\r\n \r\n \r\n \r\n Cadastros\r\n \r\n \r\n Exames Padrão\r\n \r\n Mentions\r\n \r\n Pacientes\r\n \r\n Usuários\r\n \r\n Logs\r\n \r\n \r\n \r\n \r\n Exames\r\n \r\n \r\n Ativos\r\n \r\n Histórico\r\n \r\n \r\n \r\n Configurar\r\n \r\n \r\n {entrar}\r\n \r\n Login\r\n \r\n Logout\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n/*\r\n \r\n Counter\r\n \r\n \r\n Fetch data\r\n \r\n\r\n */","import React, { Component } from 'react';\r\nimport { Container } from 'reactstrap';\r\nimport { NavMenu } from './NavMenu';\r\n\r\nexport class Layout extends Component {\r\n static displayName = Layout.name;\r\n\r\n render () {\r\n return (\r\n
\r\n \r\n \r\n {this.props.children}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport '../custom.css';\r\nimport LogoBS from \"../img/logoBabyShow.png\";\r\nimport Whatsapp from \"../img/whatsapp.png\";\r\nimport Email from \"../img/email.png\";\r\n\r\nexport class Home extends Component {\r\n static displayName = Home.name;\r\n\r\n render () {\r\n return (\r\n
\r\n
\r\n \"BabyShow\"\r\n
\r\n
\r\n



\r\n

Doctor's Documents !

\r\n
\r\n

{\"Organização e gerenciamento da documentação médica.\"}

\r\n


\r\n
\r\n
\r\n

\"Whatsapp\"{\" +55(51)99336-4556\"}

\r\n

\"Email\"{\"contato@docdocs.com.br\"}

\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nReactDOM.render(Home, document.getElementById('root'));","import React, { Component } from 'react';\r\n\r\nexport class FetchData extends Component {\r\n static displayName = FetchData.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = { forecasts: [], loading: true };\r\n }\r\n\r\n componentDidMount() {\r\n this.populateWeatherData();\r\n }\r\n\r\n static renderForecastsTable(forecasts) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {forecasts.map(forecast =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
DateTemp. (C)Temp. (F)Summary
{forecast.date}{forecast.temperatureC}{forecast.temperatureF}{forecast.summary}
\r\n );\r\n }\r\n\r\n render() {\r\n let contents = this.state.loading\r\n ?

Loading...

\r\n : FetchData.renderForecastsTable(this.state.forecasts);\r\n\r\n return (\r\n
\r\n

Weather forecast

\r\n

This component demonstrates fetching data from the server.

\r\n {contents}\r\n
\r\n );\r\n }\r\n\r\n async populateWeatherData() {\r\n const response = await fetch('weatherforecast');\r\n const data = await response.json();\r\n this.setState({ forecasts: data, loading: false });\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\nexport class Counter extends Component {\r\n static displayName = Counter.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = { currentCount: 0 };\r\n this.incrementCounter = this.incrementCounter.bind(this);\r\n }\r\n\r\n incrementCounter() {\r\n this.setState({\r\n currentCount: this.state.currentCount + 1\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n

Counter

\r\n\r\n

This is a simple example of a React component.

\r\n\r\n

Current count: {this.state.currentCount}

\r\n\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\n\r\n// get our fontawesome imports\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport '../custom.css'\r\n\r\nexport class Paciente extends Component {\r\n static displayName = Paciente.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = { listaPaciente: [], strFilter: '', loading: true };\r\n // este binding � necess�rio para que o 'this' funcione no callback \r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.handleEdit = this.handleEdit.bind(this);\r\n this.handleFilter = this.handleFilter.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleKeyDown = this.handleKeyDown.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.populateData();\r\n }\r\n\r\n renderDataTable(listaPaciente) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaPaciente.map(pac =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
IdNomeSexoIdadeCidadeUFComandos
{pac.id}{pac.nome}{pac.sexo}{require('./Util.js').idade(pac.datanascimento)}{pac.cidade}{pac.uf}\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nrender() {\r\n let contents;\r\n if (this.state.loading) {\r\n contents =

Carregando...

\r\n } else {\r\n let filtered = this.state.listaPaciente.filter((rec) => {\r\n return (rec.id.toString().indexOf(this.state.strFilter) != -1 ||\r\n rec.nome.indexOf(this.state.strFilter) != -1 ||\r\n rec.sexo.indexOf(this.state.strFilter) != -1 ||\r\n require('./Util.js').idade(rec.datanascimento).toString().indexOf(this.state.strFilter) != -1 ||\r\n rec.cidade.indexOf(this.state.strFilter) != -1 ||\r\n rec.uf.indexOf(this.state.strFilter) != -1 \r\n );\r\n });\r\n contents = this.renderDataTable(filtered);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Pacientes

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {contents}\r\n
\r\n );\r\n }\r\n\r\n // Trata a solicita��o Delete para um paciente \r\n handleDelete(id, nome) {\r\n if (!window.confirm(\"Deseja deletar o paciente: \" + nome +\"\\nTodos os registros relacionados a este paciente ser�o apagados.\\nConfirma a exlus�o ?\"))\r\n return;\r\n else {\r\n fetch('api/Pacientes/' + id, {\r\n method: 'delete'\r\n }).then(data => {\r\n this.setState(\r\n {\r\n listaPaciente: this.state.listaPaciente.filter((rec) => {\r\n return (rec.id != id);\r\n })\r\n });\r\n });\r\n require('./Util.js').log(\"DELETE\", \"Excluiu reg Paciente: \" + id + \" - \" + nome );\r\n }\r\n }\r\n\r\n handleEdit(id) {\r\n this.props.history.push(\"/editPaciente/\" + id);\r\n }\r\n\r\n handleFilter(e) {\r\n e.preventDefault();\r\n const data = new FormData(e.target);\r\n const strf = data.get('filter').toString();\r\n this.setState({ strFilter: strf});\r\n }\r\n\r\n handleChange(e) {\r\n this.setState({ strFilter: e.target.value });\r\n }\r\n\r\n handleKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n this.render();\r\n }\r\n }\r\n\r\n async populateData() {\r\n const response = await fetch('api/Pacientes');\r\n if (response.status == 401)\r\n this.props.history.push(\"/signin\");\r\n const data = await response.json();\r\n this.setState({ listaPaciente: data, loading: false });\r\n }\r\n}\r\n\r\nexport class PacienteData {\r\n id;\r\n nome;\r\n cpf;\r\n sexo;\r\n datanascimento;\r\n email;\r\n whatsapp;\r\n telefone;\r\n endereco;\r\n cidade;\r\n uf;\r\n cep;\r\n obs;\r\n}\r\n\r\n","import React, { Component } from 'react';\r\n//import { RouteComponentProps } from 'react-router';\r\n//import { Link, NavLink } from 'react-router-dom';\r\nimport { PacienteData } from './Paciente';\r\n\r\nexport class AddPaciente extends Component{\r\n constructor(props) {\r\n super(props);\r\n //atualiza o state do componente\r\n this.state = { title: \"\", loading: true, pacData: new PacienteData() };\r\n //id do paciente\r\n var pacid = this.props.match.params[\"pacid\"];\r\n // define o state para a edição de um contato\r\n if (pacid > 0) {\r\n this.populateData(pacid);\r\n }\r\n else // define o state para adição de contato\r\n {\r\n this.state = { title: \"Criar Paciente\", loading: false, pacData: new PacienteData() };\r\n }\r\n // este binding é necessário para fazer o 'this' funcionar no callback \r\n this.handleSave = this.handleSave.bind(this);\r\n this.handleCancel = this.handleCancel.bind(this);\r\n }\r\n render() {\r\n let conteudo = this.state.loading\r\n ?

Carregando...

\r\n : this.renderCreateForm();\r\n return
\r\n

{this.state.title}

\r\n
\r\n {conteudo}\r\n
;\r\n }\r\n // trata o evento submit do formulario\r\n handleSave(e) {\r\n e.preventDefault();\r\n const data = new FormData(e.target);\r\n var object = {};\r\n data.forEach(function (value, key) {\r\n //if (key.toLowerCase() == 'datanascimento')\r\n // object[key] = new Date(value).toISOString();\r\n //else\r\n if(key.toLowerCase() === 'sexo')\r\n object[key] = value[0];\r\n else if (key.toLowerCase() !== 'id')\r\n object[key] = value;\r\n });\r\n var json = JSON.stringify(object);\r\n // PUT solicitação para editar paciente\r\n if(this.state.pacData.id) {\r\n json = json.replace(\"{\", \"{\\\"id\\\":\" + this.state.pacData.id + \",\");\r\n const path = 'api/Pacientes/' + this.state.pacData.id;\r\n try {\r\n fetch( path, {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: json,\r\n }).then((response) => console.log(response.json()))\r\n .then((responseJson) => {\r\n this.props.history.push(\"/paciente\");\r\n })\r\n } catch (e) { console.log(e); }\r\n }\r\n else // POST requisição para adicionar contato\r\n {\r\n try {\r\n fetch('api/Pacientes', {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: json,\r\n }).then((response) => console.log(response.json()))\r\n .then((responseJson) => {\r\n this.props.history.push(\"/paciente\");\r\n })\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n }\r\n }\r\n // trata o evento do botão cancela\r\n handleCancel(e) {\r\n e.preventDefault();\r\n this.props.history.push(\"/paciente\");\r\n }\r\n // Retorna o formulario HTMl para o método Render\r\n renderCreateForm() {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n < div className=\"form-group row\" >\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n < div className=\"form-group row\" >\r\n \r\n
\r\n \r\n
\r\n \r\n < div className=\"form-group row\" >\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n async populateData(pacid) {\r\n const response = await fetch('api/Pacientes/' + pacid);\r\n const data = await response.json();\r\n this.setState({ title: \"Editar Paciente\", loading: false, pacData: data });\r\n }\r\n} ","import React, { Component } from 'react';\r\n\r\nimport { log, idade, formatDate, getConfigValue, getConfigReg } from './Util';\r\nimport { getUser } from '../services/auth';\r\n\r\n// get our fontawesome imports\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport '../custom.css'\r\n\r\nexport class Exame extends Component {\r\n static displayName = Exame.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n var baby_show;\r\n this.baby_show = \" \";\r\n var laudario;\r\n this.laudario = \" \";\r\n var ativos;\r\n this.ativos= this.props.match.params[\"ativos\"] == 1;\r\n this.state = { listaExame: [], strFilter: '', loading: true, exameAtual: 0};\r\n // este binding é necessário para que o 'this' funcione no callback \r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.handlePrint = this.handlePrint.bind(this);\r\n this.handleEdit = this.handleEdit.bind(this);\r\n this.handleLaudar = this.handleLaudar.bind(this);\r\n this.handleFilter = this.handleFilter.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleKeyDown = this.handleKeyDown.bind(this);\r\n this.handleVideos = this.handleVideos.bind(this);\r\n this.handleCheckChange = this.handleCheckChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.populateData();\r\n }\r\n\r\n renderDataTable(listaExame) {\r\n console.log(\"List Exame Filtered: \" + listaExame);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaExame.map(reg => \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
ComandosPacienteExameIdDescriçãoDataIdadeSexoConvênioSolicitanteResp.StatusGravar
\r\n \r\n \r\n \r\n \r\n \r\n {reg.nome_paciente + \" - \" + reg.id_paciente}{reg.nome_exame}{reg.id}{reg.descricao}{formatDate(reg.data)}{idade(reg.data_nascimento)}{reg.sexo}{reg.convenio}{reg.solicitante}{reg.id_user_laudo}{(reg.laudado || reg.envio >= 4 ? \"Concluso\" : \"Aberto\") + (this.state.exameAtual == reg.id ? \" em andamento\" : \"\")}\r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n render() {\r\n let contents;\r\n if (this.state.loading) {\r\n contents =

Carregando...

\r\n } else {\r\n let filtered = this.state.listaExame.filter((rec) => {\r\n return (\r\n (rec.nome_paciente + \" - \" + rec.id_paciente).indexOf(this.state.strFilter) != -1 ||\r\n rec.nome_exame.indexOf(this.state.strFilter) != -1 ||\r\n rec.id.toString().indexOf(this.state.strFilter) != -1 ||\r\n rec.descricao.indexOf(this.state.strFilter) != -1 ||\r\n formatDate(rec.data).indexOf(this.state.strFilter) != -1 ||\r\n rec.sexo.indexOf(this.state.strFilter) != -1 ||\r\n rec.solicitante.indexOf(this.state.strFilter) != -1 ||\r\n rec.convenio.indexOf(this.state.strFilter) != -1 ||\r\n ((rec.laudado || rec.envio >= 4 ? \"Concluso\" : \"Aberto\") +\r\n (this.state.exameAtual == rec.id ? \" em andamento\" : \"\")).indexOf(this.state.strFilter) != -1 ||\r\n idade(rec.data_nascimento).toString().indexOf(this.state.strFilter) != -1\r\n );\r\n });\r\n contents = this.renderDataTable(filtered);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Exames

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {contents}\r\n
\r\n );\r\n }\r\n\r\n handleDelete(id, nome) {\r\n if (!window.confirm(\"Deseja deletar o exame: \" + id + \" - \" + nome))\r\n return;\r\n else {\r\n fetch('api/Exames/' + id, {\r\n method: 'delete'\r\n }).then(data => {\r\n this.setState(\r\n {\r\n listaExame: this.state.listaExame.filter((rec) => {\r\n return (rec.id != id);\r\n })\r\n });\r\n require('./Util.js').log(\"DELETE\", \"Excluiu reg Exame: \" + id + \" - \" + nome);\r\n });\r\n }\r\n }\r\n\r\n handlePrint(id) {\r\n window.confirm(\"Função ainda não implementada\\n\" + \"Exame: \" + id);\r\n }\r\n\r\n handleCheckChange(id) {\r\n let text = '' \r\n const user = getUser()\r\n if (user == null) {\r\n this.props.history.push(\"/signin\");\r\n return\r\n }\r\n if (user.nivel === 'BASICO') {\r\n window.confirm('Usuário não autorizado para efetuar esta operação !')\r\n return\r\n }\r\n if (this.state.exameAtual == id) {\r\n text = \"Desativa modo gravação do exame \" + id + \" ?\"\r\n id = 0\r\n }\r\n else {\r\n text = \"Ativa modo gravação para o exame \" + id + \" ?\"\r\n }\r\n if (window.confirm(text)) {\r\n this.updateExameAtual(String(id));\r\n }\r\n }\r\n\r\n handleEdit(id) {\r\n this.props.history.push(\"/editExame/\" + id);\r\n }\r\n\r\n handleLaudar(id) {\r\n this.props.history.push(\"/laudarExame/\" + id);\r\n }\r\n\r\n handleVideos(id) {\r\n this.props.history.push(\"/videosExame/\" + id);\r\n }\r\n\r\n handleFilter(e) {\r\n e.preventDefault();\r\n const data = new FormData(e.target);\r\n const strf = data.get('filter').toString();\r\n this.setState({ strFilter: strf });\r\n }\r\n\r\n handleChange(e) {\r\n this.setState({ strFilter: e.target.value });\r\n }\r\n\r\n handleKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n this.render();\r\n }\r\n }\r\n\r\n // Atualiza exame atual\r\n async updateExameAtual(idExameNovo) {\r\n const dataconfig = await getConfigReg('exame_atual')\r\n var jsondata = \"\"\r\n jsondata = \"{\\\"id\\\":\" + dataconfig.id + \",\" + \"\\\"parametro\\\":\\\"\" + dataconfig.parametro + \"\\\",\\\"valor\\\":\\\"\" + idExameNovo + \"\\\",\\\"tipo\\\":\\\"S\\\"}\";\r\n const path = 'api/Config/' + dataconfig.id;\r\n\r\n try {\r\n fetch(path, {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: jsondata,\r\n }).then((response) => log(\"EDIT\", \"Alterou reg Config: \" + jsondata))\r\n .then((responseJson) => {\r\n this.setState({ exameAtual: parseInt(idExameNovo) });\r\n //this.props.history.push(\"/exame\");\r\n })\r\n } catch (e) { console.log(e); }\r\n }\r\n\r\n async populateData() {\r\n let response;\r\n if(this.ativos)\r\n response = await fetch('api/Exames/Paciente/Ativos');\r\n else\r\n response = await fetch('api/Exames/Paciente/Hist');\r\n if (response.status == 401)\r\n this.props.history.push(\"../signin\");\r\n const data = await response.json();\r\n this.baby_show = await getConfigValue('baby_show') == \"true\" ? 'inline' : 'none';\r\n this.laudario = await getConfigValue('laudario') == \"true\" ? 'inline' : 'none';\r\n this.setState({ listaExame: data, loading: false, exameAtual: await getConfigValue('exame_atual') });\r\n console.log(\"List Exame: \" + data);\r\n console.log(\"Exame atual: \" + this.state.exameAtual);\r\n }\r\n}\r\n\r\nexport class ExameData {\r\n id;\r\n id_paciente;\r\n id_exame_padrao;\r\n descricao;\r\n diagnostico;\r\n data;\r\n convenio;\r\n solicitante;\r\n id_user_laudo;\r\n laudado;\r\n msg_abertura;\r\n msg_fechamento;\r\n audio;\r\n constructor(props) {\r\n this.data = (new Date()).toISOString().substring(0, 10);\r\n this.msg_abertura = 'Oi pessoal !|Estou aqui na barriga da mamãe !|Prestem atenção...|Eu vou me apresentar...|Olha eu aí...'\r\n this.msg_fechamento = 'Por enquanto é isso pessoal !|Espero que tenham gostado...|Logo estaremos juntos...|Me aguardem !|Estou chegando...'\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\n// get our fontawesome imports\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport '../custom.css'\r\nimport { getUser } from '../services/auth';\r\n\r\nexport class Config extends Component {\r\n static displayName = Config.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n const user = getUser();\r\n if (user.nivel != 'ADMIN' && user.nivel != 'AVANCADO') {\r\n window.confirm(\"Usuário não autorizado para efetuar esta operação.\");\r\n this.props.history.goBack();\r\n }\r\n this.state = { listaConfig: [], strFilter: '', loading: true };\r\n // este binding é necessário para que o 'this' funcione no callback \r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.handleEdit = this.handleEdit.bind(this);\r\n this.handleFilter = this.handleFilter.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleKeyDown = this.handleKeyDown.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.populateData();\r\n }\r\n\r\n renderDataTable(listaConfig) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaConfig.map(config =>\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
ParâmetroValorComandos
{config.parametro}{config.valor}\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nrender() {\r\n let contents;\r\n if (this.state.loading) {\r\n contents =

Carregando...

\r\n } else {\r\n let filtered = this.state.listaConfig.filter((rec) => {\r\n return (rec.id.toString().indexOf(this.state.strFilter) != -1 ||\r\n rec.parametro.indexOf(this.state.strFilter) != -1 ||\r\n rec.valor.indexOf(this.state.strFilter) != -1\r\n );\r\n });\r\n contents = this.renderDataTable(filtered);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Configurar Parâmetros do Sistema

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {contents}\r\n
\r\n );\r\n }\r\n\r\n // Trata a solicitação Delete para um paciente \r\n handleDelete(id, param) {\r\n if (!window.confirm(\"Deseja deletar o parâmetro: \" + id + \" - \" + param))\r\n return;\r\n else {\r\n fetch('api/config/' + id, {\r\n method: 'delete'\r\n }).then(data => {\r\n this.setState(\r\n {\r\n listaConfig: this.state.listaConfig.filter((rec) => {\r\n return (rec.id != id);\r\n })\r\n });\r\n });\r\n }\r\n }\r\n\r\n handleEdit(id) {\r\n this.props.history.push(\"/editConfig/\" + id);\r\n }\r\n\r\n handleFilter(e) {\r\n e.preventDefault();\r\n const data = new FormData(e.target);\r\n const strf = data.get('filter').toString();\r\n this.setState({ strFilter: strf});\r\n }\r\n\r\n handleChange(e) {\r\n this.setState({ strFilter: e.target.value });\r\n }\r\n\r\n handleKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n this.render();\r\n }\r\n }\r\n\r\n async populateData() {\r\n const response = await fetch('api/config');\r\n if (response.status === 401)\r\n this.props.history.push(\"/signin\");\r\n let data = await response.json();\r\n if (getUser().nivel === 'AVANCADO')\r\n data = data.filter(config => config.tipo == 'C')\r\n this.setState({ listaConfig: data, loading: false });\r\n }\r\n}\r\n\r\nexport class ConfigData {\r\n id;\r\n parametro;\r\n valor;\r\n}\r\n\r\n","import React, { useState, Component } from 'react'\r\nimport ReactDOM from 'react-dom'\r\n\r\n// Import React FilePond\r\nimport { FilePond, registerPlugin } from \"react-filepond\";\r\n\r\n// Import FilePond styles\r\nimport \"filepond/dist/filepond.min.css\";\r\n\r\n// Import the Image EXIF Orientation and Image Preview plugins\r\n// Note: These need to be installed separately\r\n//import FilePondPluginImageExifOrientation from \"filepond-plugin-image-exif-orientation\";\r\n//import FilePondPluginImagePreview from \"filepond-plugin-image-preview\";\r\n//import \"filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css\";\r\n\r\n// Register the plugins\r\n//registerPlugin(FilePondPluginImageExifOrientation, FilePondPluginImagePreview);\r\n\r\n// Our app\r\nexport class FileUpdate extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n // Set initial files, type 'local' means this is a file\r\n // that has already been uploaded to the server (see docs)\r\n files: [\r\n {\r\n source: \"index.html\",\r\n options: {\r\n type: \"local\"\r\n }\r\n }\r\n ]\r\n };\r\n }\r\n\r\n handleInit() {\r\n console.log(\"FilePond instance has initialised\", this.pond);\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n (this.pond = ref)}\r\n files={this.state.files}\r\n allowMultiple={false}\r\n allowReorder={true}\r\n server=\"api/audio\"\r\n name=\"files\" \r\n oninit={() => this.handleInit()}\r\n onupdatefiles={fileItems => {\r\n // Set currently active file objects to this.state\r\n this.setState({\r\n files: fileItems.map(fileItem => fileItem.file)\r\n });\r\n }}\r\n />\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { RouteComponentProps } from 'react-router';\r\nimport { Link, NavLink } from 'react-router-dom';\r\nimport { ExameData } from './Exame';\r\nimport { ConfigData } from './Config';\r\nimport { log, idade, formatDate, today, getConfigValue } from './Util';\r\nimport { MDBContainer, MDBRow, MDBCol } from \"mdbreact\";\r\nimport { FileUpdate } from './FileUpdate';\r\nimport axios, { post } from 'axios';\r\n\r\nexport class AddExame extends Component {\r\n constructor(props) {\r\n super(props);\r\n //atualiza o state do componente\r\n this.state = { title: \"\", loading: true, exameData: new ExameData, desable: false, audio: \"\", pathAudio: \"\" };\r\n var linha1 = document.getElementById(\"linha1\");\r\n var linha2 = document.getElementById(\"linha2\");\r\n var linha3 = document.getElementById(\"linha3\");\r\n var linha4 = document.getElementById(\"linha4\");\r\n var linha5 = document.getElementById(\"linha5\");\r\n\r\n //var \\\r\n\r\n //id do exameiente\r\n var exameid = this.props.match.params[\"exameid\"];\r\n // define o state para a edição/adição de um exame\r\n this.populateData(exameid);\r\n\r\n // este binding é necessário para fazer o 'this' funcionar no callback \r\n this.handleSave = this.handleSave.bind(this);\r\n this.handleCancel = this.handleCancel.bind(this);\r\n this.handleTipoMsgChange = this.handleTipoMsgChange.bind(this);\r\n this.handleModelosMsgChange = this.handleModelosMsgChange.bind(this);\r\n this.handleAudioChange = this.handleAudioChange.bind(this);\r\n this.handleUploadAudio = this.handleUploadAudio.bind(this);\r\n this.handleUploadAudioFileChange = this.handleUploadAudioFileChange.bind(this);\r\n }\r\n\r\n render() {\r\n let conteudo = this.state.loading\r\n ?

Carregando...

\r\n : this.renderCreateForm();\r\n return
\r\n

{this.state.title}

\r\n
\r\n {conteudo}\r\n
;\r\n }\r\n\r\n // Atualiza exame atual\r\n /*async updateExameAtual() {\r\n const checkExameAtual = document.getElementById(\"exame_atual\");\r\n const isExameAtual = checkExameAtual.value == \"on\"\r\n const idExameNovo = String(this.state.exameData.id)\r\n const idExameAtual = this.state.configData.valor\r\n var jsondata = \"\"\r\n if (isExameAtual && idExameNovo != idExameAtual)\r\n jsondata = \"{\\\"id\\\":\" + this.state.configData.id + \",\" + \"\\\"parametro\\\":\\\"\" + this.state.configData.parametro + \"\\\",\\\"valor\\\":\\\"\" + idExameNovo + \"\\\"}\";\r\n else if (!isExameAtual && idExameNovo == idExameAtual)\r\n jsondata = \"{\\\"id\\\":\" + this.state.configData.id + \",\" + \"\\\"parametro\\\":\\\"\" + this.state.configData.parametro + \"\\\",\\\"valor\\\":\\\"0\\\"}\";\r\n else\r\n return;\r\n\r\n const path = 'api/Config/' + this.state.configData.id;\r\n\r\n try {\r\n fetch(path, {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: jsondata,\r\n }).then((response) => log(\"EDIT\", \"Alterou reg Config: \" + jsondata))\r\n .then((responseJson) => {\r\n //this.props.history.push(\"/exame\");\r\n })\r\n } catch (e) { console.log(e); }\r\n }*/\r\n\r\n AtualizaVideoMensagens(isChange) {\r\n const comboPosicao = document.getElementById(\"cboPosicao\");\r\n let tipoMsg = comboPosicao.value\r\n let exame = this.state.exameData;\r\n let msg = this.linha1.value + '|' + this.linha2.value + '|' + this.linha3.value + '|' + this.linha4.value + '|' + this.linha5.value\r\n if (tipoMsg === \"A\") {\r\n if (isChange) {\r\n exame.msg_fechamento = msg\r\n msg = exame.msg_abertura\r\n } else\r\n exame.msg_abertura = msg\r\n }\r\n else {\r\n if (isChange) {\r\n exame.msg_abertura = msg\r\n msg = exame.msg_fechamento\r\n } else\r\n exame.msg_fechamento = msg\r\n }\r\n if (isChange) {\r\n this.AtualizaCamposMsg(msg)\r\n }\r\n\r\n this.setState({ exameData: exame })\r\n }\r\n\r\n // Atualiza view dos campos de mensagem\r\n AtualizaCamposMsg(text) {\r\n let linhas = text.split(\"|\", 5)\r\n this.linha1.value = linhas[0] == undefined ? \"\" : linhas[0]\r\n this.linha2.value = linhas[1] == undefined ? \"\" : linhas[1]\r\n this.linha3.value = linhas[2] == undefined ? \"\" : linhas[2]\r\n this.linha4.value = linhas[3] == undefined ? \"\" : linhas[3]\r\n this.linha5.value = linhas[4] == undefined ? \"\" : linhas[4]\r\n }\r\n\r\n // trata o evento de alteração de valor do tipo de mensagem\r\n async handleUploadAudio(e) {\r\n e.preventDefault();\r\n const selectFile = document.getElementById(\"uploadfile\");\r\n const comboAudio = document.getElementById(\"cboAudio\");\r\n var textAudio = comboAudio.children[comboAudio.selectedIndex].textContent;\r\n if (textAudio != \"Nenhum\")\r\n await selectFile.click()\r\n else\r\n alert(\"Selecione o audio da lista a ser substituido !\")\r\n }\r\n\r\n async handleUploadAudioFileChange(e) {\r\n e.preventDefault();\r\n const comboAudio = document.getElementById(\"cboAudio\");\r\n var textAudio = comboAudio.children[comboAudio.selectedIndex].textContent;\r\n const selectFile = document.getElementById(\"uploadfile\");\r\n const file = selectFile.files[0]\r\n if (file.name == undefined || textAudio == \"Nenhum\")\r\n return;\r\n if (!window.confirm(\"Deseja substituir o audio \\\"\" + textAudio +\"\\\" pelo audio: \\\"\" + file.name+\"\\\".\\nEsta atualização passará a ser utilizada para todos os novos exames a serem realizados.\\nConfirma a atualização ?\"))\r\n return;\r\n let formData = new FormData();\r\n //const filename = textAudio.split(' ')[1]+\"Audio.mp3\" \r\n //const urlpath = await getConfigValue(\"path_file\")\r\n formData.append('file', file, \"UPDT_\"+this.state.audio.replace(this.state.pathAudio, \"\"));\r\n //formData.append('url', urlpath);\r\n try {\r\n\r\n //let response = await fetch('api/audio');\r\n //let textaud = await response.text();\r\n //alert(textaud)\r\n \r\n const url = 'api/audio';\r\n /*const config = {\r\n headers: {\r\n 'content-type': 'multipart/form-data'\r\n }\r\n }*/\r\n let resp = await post(url, formData)\r\n\r\n alert(\"Arquivo \\\"\" + textAudio+\"\\\" foi enviado para o sevidor.\\nPara efetivar a atualização, o equipamento de coleta deve ser reinicializado !\")\r\n\r\n console.log(\"Novo audio atualizado.\" + resp.status);\r\n\r\n //let textaudpost = await resp.json();\r\n\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n //const nome = selectFile.files[0].name\r\n //this.AtualizaVideoMensagens(true)\r\n }\r\n\r\n // trata o evento de alteração de valor do tipo de mensagem\r\n handleTipoMsgChange(e) {\r\n e.preventDefault();\r\n this.AtualizaVideoMensagens(true)\r\n }\r\n\r\n // trata o evento de alteração de valor do audio\r\n handleAudioChange(e) {\r\n e.preventDefault();\r\n let exame = this.state.exameData\r\n const comboAudio = document.getElementById(\"cboAudio\");\r\n\r\n var audio\r\n if (comboAudio.value == \"11\")\r\n audio = \"01Audio.mp3\"\r\n else if (comboAudio.value == \"2\")\r\n audio = \"02Audio.mp3\"\r\n else if (comboAudio.value == \"3\")\r\n audio = \"03Audio.mp3\"\r\n else if (comboAudio.value == \"4\")\r\n audio = \"04Audio.mp3\"\r\n else if (comboAudio.value == \"5\")\r\n audio = \"05Audio.mp3\"\r\n else if (comboAudio.value == \"6\")\r\n audio = \"06Audio.mp3\"\r\n else if (comboAudio.value == \"7\")\r\n audio = \"07Audio.mp3\"\r\n else if (comboAudio.value == \"8\")\r\n audio = \"08Audio.mp3\"\r\n else if (comboAudio.value == \"9\")\r\n audio = \"09Audio.mp3\"\r\n else if (comboAudio.value == \"10\")\r\n audio = \"10Audio.mp3\"\r\n //const srcAudio = document.getElementById(\"sourceAudio\");\r\n\r\n audio = this.state.pathAudio + audio\r\n exame.audio = parseInt(comboAudio.value)\r\n //srcAudio.src = audio\r\n this.setState({ exameData: exame, audio: audio })\r\n }\r\n\r\n // trata o evento de alteração de valor do modelo de mensagem\r\n handleModelosMsgChange(e) {\r\n e.preventDefault();\r\n const comboPosicao = document.getElementById(\"cboPosicao\");\r\n const comboModelos = document.getElementById(\"cboModelos\");\r\n let tipoMsg = comboPosicao.value\r\n let msg = \"\"\r\n let value = comboModelos.value\r\n if (tipoMsg == \"A\") {\r\n if (value == \"0\")\r\n msg = \"||||\"\r\n else if (value == \"1\")\r\n msg = \"Oi pessoal !|Estou aqui na barriga da mamãe !|Prestem atenção...|Eu vou me apresentar...|Olha eu aí...\"\r\n else if (value == \"2\")\r\n msg = \"********************************|E aí pessoal !|Querem me conhecer, vem comigo...|Olha eu aí...|********************************\"\r\n else if (value == \"3\")\r\n msg = \"Oi pessoal !|Estou aqui na barriga da mamãe !|Eu já tenho algumas semanas...|Estou crescendo e me desenvolvendo bem !|Olha eu aí...\"\r\n else if (value == \"4\") {\r\n const comboPacientes = document.getElementById(\"cboPacientes\");\r\n let str = comboPacientes.options[comboPacientes.selectedIndex].text\r\n const paciente = str.substr(0, str.indexOf(\" -\"))\r\n const comboEP = document.getElementById(\"cboEP\");\r\n const ep = comboEP.options[comboEP.selectedIndex].text\r\n const data = today();\r\n msg = \"-------------------------------| Exame: \" + ep + \" | Paciente: \" + paciente + \" | Data: \" + data + \" |-------------------------------\"\r\n }\r\n } else {\r\n if (value == \"0\")\r\n msg = \"||||\"\r\n else if (value == \"1\")\r\n msg = \"Por enquanto é isso pessoal !|Espero que tenham gostado...|Logo estaremos juntos...|Me aguardem !|Estou chegando...\"\r\n else if (value == \"2\")\r\n msg = \"********************************|É isso pessoal !|Em breve estaremos juntos...|Me aguardem !|********************************\"\r\n else if (value == \"3\")\r\n msg = \"Por enquanto é isso pessoal !|Aguardem mais algumas semanas...|Então estaremos juntos...|Me aguardem...|Até breve...\"\r\n else if (value == \"4\") {\r\n const comboPacientes = document.getElementById(\"cboPacientes\");\r\n let str = comboPacientes.options[comboPacientes.selectedIndex].text\r\n const paciente = str.substr(0, str.indexOf(\" -\"))\r\n const comboEP = document.getElementById(\"cboEP\");\r\n const ep = comboEP.options[comboEP.selectedIndex].text\r\n const data = today();\r\n msg = \"-------------------------------| Exame: \" + ep + \" | Paciente: \" + paciente + \" | Data: \" + data + \" |-------------------------------\"\r\n }\r\n }\r\n this.AtualizaCamposMsg(msg)\r\n }\r\n\r\n // trata o evento submit do formulario\r\n handleSave(e) {\r\n e.preventDefault(); \r\n var object = {};\r\n var isExameAtual = false;\r\n this.AtualizaVideoMensagens(false)\r\n if (this.state.disabled) {\r\n object = this.state.exameData\r\n }\r\n else {\r\n const data = new FormData(e.target);\r\n data.forEach(function (value, key) {\r\n if (key.toLowerCase() == 'exame_atual') {\r\n isExameAtual = value == 'on' ? true : false\r\n }\r\n else if (key.toLowerCase() == 'id_paciente') {\r\n if ((object[key] = parseInt(value, 10)) === 0) {\r\n window.alert(\"Paciente não pode ser nulo, escolha o paciente !\");\r\n return;\r\n }\r\n }\r\n else if (key.toLowerCase() == 'id_exame_padrao') {\r\n if ((object[key] = parseInt(value, 10)) === 0) {\r\n window.alert(\"Exame padrão não pode ser nulo, escolha o exame padrão !\");\r\n return;\r\n }\r\n }\r\n else if (key.toLowerCase() != 'id')\r\n object[key] = value;\r\n });\r\n }\r\n var json = JSON.stringify(object);\r\n if (!this.state.disabled) {\r\n json = json.replace(\"}\", \",\\\"msg_abertura\\\":\\\"\" + this.state.exameData.msg_abertura + \"\\\",\\\"msg_fechamento\\\":\\\"\" + this.state.exameData.msg_fechamento +\r\n \"\\\",\\\"audio\\\":\" + (this.state.exameData.audio) + \"}\");\r\n }\r\n\r\n // PUT solicitação para editar exame\r\n if(this.state.exameData.id) {\r\n json = json.replace(\"{\", \"{\\\"id\\\":\" + this.state.exameData.id + \",\");\r\n const path = 'api/Exames/' + this.state.exameData.id;\r\n try {\r\n //this.updateExameAtual()\r\n fetch(path, {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: json,\r\n }).then((response) => log(\"EDIT\", \"Alterou reg Exame: \" + json))\r\n .then((responseJson) => {\r\n this.props.history.push(\"/exame/1\");\r\n })\r\n } catch (e) { console.log(e); }\r\n\r\n }\r\n else // POST requisição para adicionar exame\r\n {\r\n try { \r\n fetch('api/Exames', {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: json, \r\n }).then((response) => log(\"INSERT\", \"Novo reg Exame: \" + json))\r\n .then((responseJson) => {\r\n this.props.history.push(\"/exame/1\");\r\n })\r\n } catch (e) { console.log(e); }\r\n }\r\n }\r\n // trata o evento do botão cancela\r\n handleCancel(e) {\r\n e.preventDefault();\r\n this.props.history.push(\"/exame/1\");\r\n }\r\n\r\n // Carrega o combobox de Pacientes\r\n async loadComboPacientes() {\r\n /**\r\n * Carregando a combobox Pacientes\r\n */\r\n const data = await fetch('api/Pacientes');\r\n const listPacientes = await data.json();\r\n const comboPacientes = document.getElementById(\"cboPacientes\");\r\n var opt = document.createElement(\"option\");\r\n opt.value = \"0\";\r\n opt.text = \"\";\r\n comboPacientes.add(opt, comboPacientes.options[0]);\r\n for (var i = 0; i < listPacientes.length; i++) {\r\n opt = document.createElement(\"option\");\r\n opt.value = listPacientes[i].id;\r\n opt.text = listPacientes[i].nome + \" - \" + listPacientes[i].id;\r\n comboPacientes.add(opt, comboPacientes.options[i+1]);\r\n };\r\n if (this.state.exameData.id_paciente)\r\n comboPacientes.value = this.state.exameData.id_paciente;\r\n }\r\n\r\n // Carrega o combobox de exame padrao\r\n async loadComboExamePadrao() {\r\n /**\r\n * Carregando a combobox de exame padrao\r\n */\r\n const data = await fetch('api/ExamePadrao');\r\n const listEP = await data.json();\r\n const comboEP = document.getElementById(\"cboEP\");\r\n var opt = document.createElement(\"option\");\r\n opt.value = \"0\";\r\n opt.text = \"\";\r\n comboEP.add(opt, comboEP.options[0]);\r\n for (var i = 0; i < listEP.length; i++) {\r\n opt = document.createElement(\"option\");\r\n opt.value = listEP[i].id;\r\n opt.text = listEP[i].nome\r\n comboEP.add(opt, comboEP.options[i + 1]);\r\n };\r\n if (this.state.exameData.id_exame_padrao)\r\n comboEP.value = this.state.exameData.id_exame_padrao; \r\n }\r\n\r\n\r\n renderCreateForm() { \r\n return (\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n < div className=\"form-group row\" >\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {/*\r\n \r\n \r\n \r\n {/**/}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {/*\r\n */}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/*
\r\n 0 ? 'visible' : 'hidden' }}\r\n defaultChecked={String(this.state.exameData.id) == this.state.configData.valor} />\r\n
*/}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n async populateData(examid) {\r\n //let pathAudio = await getConfigValue('path_file')\r\n //pathAudio = pathAudio + \"audio/\"\r\n //const location = useLocation()\r\n const origin = window.location.origin\r\n const ini = origin.indexOf(\"://\") + 3;\r\n const end = origin.indexOf(\".\") ;\r\n const client = (origin.indexOf(\"localhost\")) != -1 ?\r\n \"localhost\" :\r\n origin.substring(ini, end);\r\n let pathAudio;\r\n if (client != \"localhost\")\r\n pathAudio = origin.substring(0, ini) + origin.substring(end + 1);\r\n pathAudio = pathAudio + \"/assets/\" + client + \"/audio/\";\r\n let dataexame = new ExameData;\r\n let tit = \"Criar Exame\"\r\n\r\n if (examid > 0) { // Editar exame\r\n const response = await fetch('api/Exames/' + examid);\r\n dataexame = await response.json();\r\n tit = \"Editar Exame\"\r\n }\r\n\r\n const isDisabled = (dataexame.diagnostico || dataexame.laudado || dataexame.envio >= 4)\r\n\r\n var audio\r\n var audioValue = dataexame.audio\r\n if (audioValue == \"11\")\r\n audio = \"01Audio.mp3\"\r\n else if (audioValue == \"2\")\r\n audio = \"02Audio.mp3\"\r\n else if (audioValue == \"3\")\r\n audio = \"03Audio.mp3\"\r\n else if (audioValue == \"4\")\r\n audio = \"04Audio.mp3\"\r\n else if (audioValue == \"5\")\r\n audio = \"05Audio.mp3\"\r\n else if (audioValue == \"6\")\r\n audio = \"06Audio.mp3\"\r\n else if (audioValue == \"7\")\r\n audio = \"07Audio.mp3\"\r\n else if (audioValue == \"8\")\r\n audio = \"08Audio.mp3\"\r\n else if (audioValue == \"9\")\r\n audio = \"09Audio.mp3\"\r\n else if (audioValue == \"10\")\r\n audio = \"10Audio.mp3\"\r\n\r\n audio = pathAudio+audio\r\n\r\n this.setState({ title: tit, loading: false, exameData: dataexame, disabled: isDisabled, audio: audio, pathAudio: pathAudio });\r\n this.linha1 = document.getElementById(\"linha1\");\r\n this.linha2 = document.getElementById(\"linha2\");\r\n this.linha3 = document.getElementById(\"linha3\");\r\n this.linha4 = document.getElementById(\"linha4\");\r\n this.linha5 = document.getElementById(\"linha5\");\r\n let linhas = dataexame.msg_abertura.split(\"|\", 5)\r\n this.linha1.value = linhas[0] == undefined ? \"\" : linhas[0]\r\n this.linha2.value = linhas[1] == undefined ? \"\" : linhas[1]\r\n this.linha3.value = linhas[2] == undefined ? \"\" : linhas[2]\r\n this.linha4.value = linhas[3] == undefined ? \"\" : linhas[3]\r\n this.linha5.value = linhas[4] == undefined ? \"\" : linhas[4]\r\n await this.loadComboPacientes();\r\n await this.loadComboExamePadrao();\r\n const comboAudio = document.getElementById(\"cboAudio\");\r\n comboAudio.value = this.state.exameData.audio\r\n }\r\n} ","import React, { Component } from 'react';\r\n\r\n// get our fontawesome imports\r\nimport { faSearch } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport '../custom.css'\r\n\r\nexport class ExamePadrao extends Component {\r\n static displayName = ExamePadrao.name;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = { listaExamePadrao: [], strFilter: '', loading: true };\r\n // este binding é necessário para que o 'this' funcione no callback \r\n this.handleDelete = this.handleDelete.bind(this);\r\n this.handleEdit = this.handleEdit.bind(this);\r\n this.handleFilter = this.handleFilter.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleKeyDown = this.handleKeyDown.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.populateData();\r\n }\r\n\r\n renderDataTable(listaExamePadrao) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {listaExamePadrao.map(ep =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
IdNomeCategoriaDescriçãoComandos
{ep.id}{ep.nome}{ep.categoria}{ep.descricao}\r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nrender() {\r\n let contents;\r\n if (this.state.loading) {\r\n contents =

Carregando...

\r\n } else {\r\n let filtered = this.state.listaExamePadrao.filter((rec) => {\r\n return (rec.id.toString().indexOf(this.state.strFilter) != -1 ||\r\n rec.nome.indexOf(this.state.strFilter) != -1 ||\r\n rec.categoria.indexOf(this.state.strFilter) != -1 ||\r\n rec.descricao.indexOf(this.state.strFilter) != -1 \r\n );\r\n });\r\n contents = this.renderDataTable(filtered);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Exame Padrão

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {contents}\r\n
\r\n );\r\n }\r\n\r\n // Trata a solicitação Delete para um paciente \r\n handleDelete(id, nome) {\r\n if (!window.confirm(\"Deseja deletar o Exame Padrão: \" + id + \" - \" + nome))\r\n return;\r\n else {\r\n fetch('api/examePadrao/' + id, {\r\n method: 'delete'\r\n }).then(data => {\r\n this.setState(\r\n {\r\n listaExamePadrao: this.state.listaExamePadrao.filter((rec) => {\r\n return (rec.id != id);\r\n })\r\n });\r\n });\r\n }\r\n }\r\n\r\n handleEdit(id) {\r\n this.props.history.push(\"/editExamePadrao/\" + id);\r\n }\r\n\r\n handleFilter(e) {\r\n e.preventDefault();\r\n const data = new FormData(e.target);\r\n const strf = data.get('filter').toString();\r\n this.setState({ strFilter: strf});\r\n }\r\n\r\n handleChange(e) {\r\n this.setState({ strFilter: e.target.value });\r\n }\r\n\r\n handleKeyDown(e) {\r\n if (e.keyCode === 13) {\r\n this.render();\r\n }\r\n }\r\n\r\n async populateData() {\r\n const response = await fetch('api/ExamePadrao');\r\n if (response.status == 401)\r\n this.props.history.push(\"/signin\");\r\n const data = await response.json();\r\n this.setState({ listaExamePadrao: data, loading: false });\r\n }\r\n}\r\n\r\nexport class ExamePadraoData {\r\n id;\r\n nome;\r\n categoria;\r\n descricao;\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport { RouteComponentProps } from 'react-router';\r\n\r\n//import { EditorState } from 'draft-js';\r\nimport { Editor } from 'react-draft-wysiwyg';\r\n//import '../../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\nimport { EditorState, ContentState, convertFromHTML, convertToRaw } from 'draft-js'\r\nimport { stateToHTML } from 'draft-js-export-html';\r\nimport {loadMentions, mentions} from './mentions';\r\nimport draftToHtml from 'draftjs-to-html';\r\nimport htmlToDraft from 'html-to-draftjs';\r\n//import mentions from './mentions';\r\n\r\n\r\nexport var Content;\r\nexport class WysiwygEditor extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n editorState: this.updateContent(this.props.content),\r\n };\r\n this.onEditorStateChange = this.onEditorStateChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n loadMentions();\r\n }\r\n\r\n updateContent(_content) {\r\n //let draft = (htmlToDraft(_content));\r\n //_content = \"

Teste

\";\r\n\r\n const blocksFromHtml = htmlToDraft(_content);\r\n const { contentBlocks, entityMap } = blocksFromHtml;\r\n const contentState = ContentState.createFromBlockArray(contentBlocks, entityMap);\r\n return EditorState.createWithContent(contentState);\r\n\r\n\r\n //let html = (draftToHtml(convertToRaw(editorState.getCurrentContent())));\r\n //let html2 = stateToHTML(draft);\r\n // if (_content == html2)\r\n // console.log(\"html ok\");\r\n // return (EditorState.createWithContent(ContentState.createFromBlockArray(convertFromHTML(_content))));\r\n }\r\n\r\n onEditorStateChange(editorState) {\r\n this.setState(() => ({\r\n editorState,\r\n }));\r\n Content = editorState.getCurrentContent();\r\n };\r\n\r\n componentWillReceiveProps(nextProps) {\r\n Content = this.updateContent(nextProps.content);\r\n this.setState(() => ({\r\n editorState: Content\r\n }));\r\n /*if (content != this.state.editorState.getCurrentContent() && content != undefined) {\r\n content = this.updateContent(content);\r\n this.setState({ editorState: content });\r\n }*/\r\n }\r\n\r\n render() {\r\n const { editorState } = this.state;\r\n //return (

Teste de escrita

);\r\n return (\r\n <>\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\n/**/\r\n/*\r\nconst EditorWithMentionHashtag = () => (\r\n \r\n)*/\r\n\r\n/*import CKEditor from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\n*/\r\n","import React, { Component } from 'react';\r\n//import { EditorState } from 'draft-js';\r\n//import Editor from 'draft-js-plugins-editor';\r\n//import { Editor } from 'react-draft-wysiwyg';\r\nimport createMentionPlugin, { defaultSuggestionsFilter } from 'draft-js-mention-plugin';\r\nimport editorStyles from './editorStyles.css';\r\nimport 'draft-js-mention-plugin/lib/plugin.css';\r\nimport mentions from './mentions';\r\n\r\n//import { EditorState, ContentState, convertFromHTML } from 'draft-js'\r\n//import { stateToHTML } from 'draft-js-export-html';\r\n\r\n//////////////////////////////////////////////////////////\r\n//import { EditorState } from 'draft-js';\r\nimport { Editor } from 'react-draft-wysiwyg';\r\n//import '../../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\nimport { EditorState, ContentState, convertFromHTML } from 'draft-js'\r\nimport { stateToHTML } from 'draft-js-export-html';\r\n\r\nvar content;\r\nexport class SimpleEditor extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.content = \"Teste...\";\r\n this.state = {\r\n editorState: this.updateContent(this.content),\r\n suggestions: mentions,\r\n };\r\n this.onEditorStateChange = this.onEditorStateChange.bind(this);\r\n this.mentionPlugin = createMentionPlugin();\r\n }\r\n\r\n updateContent(_content) {\r\n return (EditorState.createWithContent(ContentState.createFromBlockArray(convertFromHTML(_content))));\r\n }\r\n\r\n onEditorStateChange(editorState) {\r\n this.setState(() => ({\r\n editorState,\r\n }));\r\n content = editorState.getCurrentContent();\r\n };\r\n\r\n componentWillReceiveProps() {\r\n content = this.updateContent(this.props.content);\r\n this.setState(() => ({\r\n editorState: content\r\n }));\r\n /*if (content != this.state.editorState.getCurrentContent() && content != undefined) {\r\n content = this.updateContent(content);\r\n this.setState({ editorState: content });\r\n }*/\r\n }\r\n\r\n onChange = (editorState) => {\r\n this.setState({\r\n editorState,\r\n });\r\n };\r\n\r\n onSearchChange = ({ value }) => {\r\n this.setState({\r\n suggestions: defaultSuggestionsFilter(value, mentions),\r\n });\r\n };\r\n\r\n onAddMention = (value) => {\r\n // get the mention object selected\r\n //var x = value;\r\n value.name = value.value;\r\n }\r\n\r\n focus = () => {\r\n //this.editor.focus();\r\n };\r\n\r\n render() {\r\n const { MentionSuggestions } = this.mentionPlugin;\r\n const plugins = [this.mentionPlugin];\r\n\r\n //const { editorState } = this.state;\r\n\r\n return (\r\n
\r\n { this.editor = element; }}\r\n />\r\n \r\n
\r\n );\r\n }\r\n}\r\n\r\n///////////////////////////////////////////////////////////\r\n","export var mentions = [];\r\n\r\nexport const loadMentions = async () => {\r\n const data = await fetch('api/Mentions');\r\n mentions = await data.json();\r\n}\r\n\r\nconst mentioni = [\r\n {\r\n text: 'Matthew Russell',\r\n url: 'https://twitter.com/mrussell247',\r\n value: 'Teste de mention 11111111111111111111',\r\n //avatar: 'https://pbs.twimg.com/profile_images/517863945/mattsailing_400x400.jpg',\r\n },\r\n {\r\n text: 'Julian Krispel-Samsel',\r\n value: 'Teste de mention 22222222222222222222',\r\n url: 'https://twitter.com/juliandoesstuff',\r\n //avatar: 'https://avatars2.githubusercontent.com/u/1188186?v=3&s=400',\r\n },\r\n {\r\n text: 'Jyoti Puri',\r\n value: 'Teste de mention 33333333333333333333',\r\n url: 'https://twitter.com/jyopur',\r\n //avatar: 'https://avatars0.githubusercontent.com/u/2182307?v=3&s=400',\r\n },\r\n {\r\n text: 'Max Stoiber',\r\n url: 'https://twitter.com/mxstbr',\r\n value: 'Teste de mention 44444444444444444444',\r\n //avatar: 'https://pbs.twimg.com/profile_images/763033229993574400/6frGyDyA_400x400.jpg',\r\n },\r\n {\r\n text: 'Nik Graf',\r\n url: 'https://twitter.com/nikgraf',\r\n value: 'Teste de mention 55555555555555555555',\r\n //avatar: 'https://avatars0.githubusercontent.com/u/223045?v=3&s=400',\r\n },\r\n {\r\n text: 'Pascal Brandt',\r\n url: 'https://twitter.com/psbrandt',\r\n value: 'Teste de mention 666666666666666666666',\r\n //avatar: 'https://pbs.twimg.com/profile_images/688487813025640448/E6O6I011_400x400.png',\r\n },\r\n];\r\n\r\nexport const mention = [\r\n {\r\n name: 'Matthew Russell',\r\n link: 'https://twitter.com/mrussell247',\r\n value: 'Teste de mention 11111111111111111111',\r\n //avatar: 'https://pbs.twimg.com/profile_images/517863945/mattsailing_400x400.jpg',\r\n },\r\n {\r\n name: 'Julian Krispel-Samsel',\r\n value: 'Teste de mention 22222222222222222222',\r\n link: 'https://twitter.com/juliandoesstuff',\r\n //avatar: 'https://avatars2.githubusercontent.com/u/1188186?v=3&s=400',\r\n },\r\n {\r\n name: 'Jyoti Puri',\r\n value: 'Teste de mention 33333333333333333333',\r\n link: 'https://twitter.com/jyopur',\r\n //avatar: 'https://avatars0.githubusercontent.com/u/2182307?v=3&s=400',\r\n },\r\n {\r\n name: 'Max Stoiber',\r\n link: 'https://twitter.com/mxstbr',\r\n value: 'Teste de mention 44444444444444444444',\r\n //avatar: 'https://pbs.twimg.com/profile_images/763033229993574400/6frGyDyA_400x400.jpg',\r\n },\r\n {\r\n name: 'Nik Graf',\r\n link: 'https://twitter.com/nikgraf',\r\n value: 'Teste de mention 55555555555555555555',\r\n //avatar: 'https://avatars0.githubusercontent.com/u/223045?v=3&s=400',\r\n },\r\n {\r\n name: 'Pascal Brandt',\r\n link: 'https://twitter.com/psbrandt',\r\n value: 'Teste de mention 666666666666666666666',\r\n //avatar: 'https://pbs.twimg.com/profile_images/688487813025640448/E6O6I011_400x400.png',\r\n },\r\n];\r\n\r\nexport default mentions;\r\n","import React, { Component } from 'react';\r\n//import { RouteComponentProps } from 'react-router';\r\n//import { Link, NavLink } from 'react-router-dom';\r\nimport { ExameData } from './Exame';\r\nimport { PacienteData } from './Paciente';\r\nimport { ExamePadraoData } from './ExamePadrao';\r\nimport { log, idade, formatDate } from './Util';\r\n\r\n\r\nimport { WysiwygEditor, Content } from './WysiwygEditor';\r\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\r\n//import { EditorState, ContentState, convertFromHTML, convertToRaw } from 'draft-js'\r\nimport { convertToRaw } from 'draft-js'\r\nimport draftToHtml from 'draftjs-to-html';\r\nimport { getUser } from '../services/auth';\r\n//import htmlToDraft from 'html-to-draftjs';\r\n\r\nexport class LaudarExame extends Component{\r\n constructor(props) {\r\n super(props);\r\n //atualiza o state do componente\r\n this.state = {\r\n title: \"Laudo Médico\", loading: true,\r\n exameData: new ExameData(), pacienteData: new PacienteData(), epData: new ExamePadraoData()\r\n };\r\n //id do exame\r\n var exameid = this.props.match.params[\"exameid\"];\r\n this.diag = \"\";\r\n // Salva (false) ou confirma e efetiva (true) laudo\r\n this.confirm = false;\r\n // carrega o state com dados para a edição\r\n this.populateData(exameid);\r\n // este binding é necessário para fazer o 'this' funcionar no callback \r\n this.handleSave = this.handleSave.bind(this);\r\n this.handleCancel = this.handleCancel.bind(this);\r\n this.handleConfirm = this.handleConfirm.bind(this);\r\n this.resetLaudo = this.resetLaudo.bind(this);\r\n }\r\n\r\n render() {\r\n let conteudo = this.state.loading\r\n ?

Carregando...

\r\n : this.renderDataTable();\r\n return
\r\n

{this.state.title}

\r\n {conteudo}\r\n
;\r\n }\r\n\r\n resetLaudo(e) {\r\n e.preventDefault();\r\n //const editor = document.getElementById(\"editorControl\");\r\n\r\n let dataExam = this.state.exameData;\r\n dataExam.diagnostico = this.formatDiagnostico(true);\r\n this.setState(() => ({ exameData: dataExam }));\r\n //this.editor(true);\r\n }\r\n\r\n formatDiagnostico(reset) {\r\n if (this.state.exameData.diagnostico !== \"\" && this.state.exameData.diagnostico !== null && reset !== true)\r\n return (this.state.exameData.diagnostico);\r\n return (//\"

 

\" +\r\n //\"

\"+\r\n //\"

\"+\r\n \"
\\\"undefined\\\"
\"+\r\n \"

\" +\r\n \" Nome: \" + this.state.pacienteData.nome + \"

\" +\r\n \"

\" +\r\n \" Nº Exame: \" + this.state.exameData.id + \"

\" +\r\n \"

\" +\r\n \" Exame: \" + this.state.epData.nome + \"

\" +\r\n \"

\" +\r\n \" Data: \" + formatDate(this.state.exameData.data) + \"

\" +\r\n \"

\" +\r\n \"Interpretação 

\" +\r\n \"

\"+\r\n \"
\\\"undefined\\\"
\"+\r\n \"

\");\r\n }\r\n\r\n editor(reset) {\r\n return ();\r\n }\r\n\r\n // trata o evento do botão cancela\r\n handleCancel(e) {\r\n e.preventDefault();\r\n this.props.history.push(\"/exame/1\");\r\n }\r\n\r\n // trata o evento do botão confirma\r\n handleConfirm(e) {\r\n e.preventDefault();\r\n this.confirm = true;\r\n this.handleSave(e);\r\n }\r\n\r\n // trata o evento salvar registro\r\n handleSave(e) {\r\n e.preventDefault();\r\n const regExam = this.state.exameData;\r\n regExam.diagnostico = draftToHtml(convertToRaw(Content));\r\n var json = JSON.stringify(regExam);\r\n // PUT solicitação para editar exame\r\n if (this.state.exameData.id) {\r\n json = json.replace(\"{\", \"{\\\"id\\\":\" + this.state.exameData.id + \",\");\r\n json = json.replace(\"}\", \",\\\"id_user_laudo\\\":\"+getUser().id+\",\\\"laudado\\\":\" + this.confirm + \"}\");\r\n this.confirm = false;\r\n try {\r\n fetch('api/Exames/' + this.state.exameData.id, {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: json,\r\n }).then((response) => log(\"EDIT\", \"Alterou diag Exame: \" + json))\r\n .then((responseJson) => {\r\n this.props.history.push(\"/exame/1\");\r\n })\r\n } catch (e) { console.log(e); }\r\n }\r\n }\r\n\r\n renderDataTable() {\r\n const regExam = this.state.exameData;\r\n const regPac = this.state.pacienteData;\r\n const regEP = this.state.epData;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
IdExameDescriçãoDataPacienteIdadeSexoConvênioSolicitante
{regExam.id}{regEP.nome}{regExam.descricao}{formatDate(regExam.data)}{regPac.nome}{idade(regPac.datanascimento)}{regPac.sexo}{regExam.convenio}{regExam.solicitante}
\r\n
\r\n {this.editor(false)}\r\n {this.renderCreateForm()}\r\n
\r\n \r\n );\r\n }\r\n\r\nrenderCreateForm() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\n async populateData(exid) {\r\n let response = await fetch('api/Exames/' + exid);\r\n const dataExam = await response.json();\r\n response = await fetch('api/Pacientes/' + dataExam.id_paciente.toString());\r\n const dataPac = await response.json();\r\n response = await fetch('api/ExamePadrao/' + dataExam.id_exame_padrao.toString());\r\n const dataEP = await response.json();\r\n this.setState(() => ({\r\n title: \"Laudo Médico\", loading: false,\r\n exameData: dataExam, pacienteData: dataPac, epData: dataEP\r\n }));\r\n }\r\n} ","import React, { Component } from 'react';\r\nimport { ExameData } from './Exame';\r\nimport { PacienteData } from './Paciente';\r\nimport { ExamePadraoData } from './ExamePadrao';\r\nimport { log, idade, formatDate, getConfigValue } from './Util';\r\nimport { MDBContainer, MDBRow, MDBCol } from \"mdbreact\";\r\n\r\n// get our fontawesome imports\r\nimport { faPlay } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport '../custom.css'\r\nimport { getUser } from '../services/auth';\r\n\r\n//var pathfile;\r\nexport class VideosExame extends Component{\r\n constructor(props) {\r\n super(props);\r\n //atualiza o state do componente\r\n this.state = {\r\n title: \"Mídias do Exame\", loading: true,\r\n exameData: new ExameData(), pacienteData: new PacienteData(), epData: new ExamePadraoData(),\r\n fileVideo: \"\", fileVideoDesac: \"\", fileVideSelec: \"\"\r\n };\r\n //id do exame\r\n var exameid = this.props.match.params[\"exameid\"];\r\n //this.diag = \"\";\r\n var pathfile = \"\";\r\n // carrega o state com dados para a edição\r\n this.populateData(exameid);\r\n // este binding é necessário para fazer o 'this' funcionar no callback \r\n this.handleEnviar = this.handleEnviar.bind(this);\r\n this.handleEnviarTodos = this.handleEnviarTodos.bind(this);\r\n this.handleCancel = this.handleCancel.bind(this);\r\n this.handleChangeVideo = this.handleChangeVideo.bind(this);\r\n this.handleChangeVideoDesac = this.handleChangeVideoDesac.bind(this);\r\n this.handleChangeVideoSelec = this.handleChangeVideoSelec.bind(this);\r\n this.handleAcoplar = this.handleAcoplar.bind(this);\r\n this.handleDesacoplar = this.handleDesacoplar.bind(this);\r\n this.handleSelecionar = this.handleSelecionar.bind(this);\r\n this.handleSelecionarTodos = this.handleSelecionarTodos.bind(this);\r\n this.handleRetirar = this.handleRetirar.bind(this);\r\n this.handleLimpar = this.handleLimpar.bind(this);\r\n this.handleAcoplarTodos = this.handleAcoplarTodos.bind(this);\r\n this.handleDesacoplarTodos = this.handleDesacoplarTodos.bind(this);\r\n }\r\n\r\n render() {\r\n let conteudo = this.state.loading\r\n ?

Carregando...

\r\n : this.renderDataTable();\r\n return
\r\n

{this.state.title}

\r\n {conteudo}\r\n
;\r\n }\r\n\r\n // trata o evento do botão retirar\r\n handleRetirar(e) {\r\n let comboVideosSelec = document.getElementById(\"cboVideosSelec\");\r\n comboVideosSelec.remove(comboVideosSelec.selectedIndex);\r\n }\r\n\r\n // trata o evento do botão limpar\r\n handleLimpar(e) {\r\n let comboVideosSelec = document.getElementById(\"cboVideosSelec\");\r\n while (comboVideosSelec.length > 0) {\r\n comboVideosSelec.remove(0);\r\n }\r\n }\r\n\r\n // trata o evento do botão acoplar\r\n handleAcoplar(e) {\r\n let comboVideosDesac = document.getElementById(\"cboVideosDesac\"); \r\n if (!window.confirm(\"Deseja acoplar a mídia \" + comboVideosDesac.value + \" a este exame ?\"))\r\n return;\r\n let comboVideos = document.getElementById(\"cboVideos\");\r\n this.putFileExam(this.state.exameData.id, comboVideosDesac.value, null);\r\n let opt = document.createElement(\"option\");\r\n opt.value = comboVideosDesac.value;\r\n opt.text = comboVideosDesac.value;\r\n comboVideos.add(opt, comboVideos.options[comboVideos.length]); \r\n comboVideosDesac.remove(comboVideosDesac.selectedIndex);\r\n }\r\n\r\n // trata o evento do botão acoplar todos\r\n handleAcoplarTodos(e) {\r\n if (!window.confirm(\"Deseja acoplar todas as mídias desacopladas a este exame ?\"))\r\n return;\r\n let comboVideosDesac = document.getElementById(\"cboVideosDesac\");\r\n let comboVideos = document.getElementById(\"cboVideos\");\r\n let opt\r\n while (comboVideosDesac.length > 0) {\r\n this.putFileExam(this.state.exameData.id, comboVideosDesac.options[0].value, null);\r\n opt = document.createElement(\"option\");\r\n opt.value = comboVideosDesac.options[0].value;\r\n opt.text = comboVideosDesac.options[0].value;\r\n comboVideos.add(opt, comboVideos.options[comboVideos.length]);\r\n comboVideosDesac.remove(0);\r\n }\r\n }\r\n\r\n // trata o evento do botão desacoplar\r\n handleDesacoplar(e) { \r\n let comboVideosDesac = document.getElementById(\"cboVideosDesac\");\r\n let comboVideos = document.getElementById(\"cboVideos\");\r\n if (!window.confirm(\"Deseja desacoplar a mídia \" + comboVideos.value + \" deste exame ?\"))\r\n return;\r\n let comboVideosSelec = document.getElementById(\"cboVideosSelec\");\r\n this.putFileExam(0, comboVideos.value, null);\r\n let opt = document.createElement(\"option\");\r\n opt.value = comboVideos.value;\r\n opt.text = comboVideos.value;\r\n comboVideosDesac.add(opt, comboVideosDesac.options[comboVideosDesac.length+1]);\r\n for (let i = 0; i < comboVideosSelec.length; i = i + 1) {\r\n if (comboVideosSelec.options[i].value == comboVideos.value) {\r\n comboVideosSelec.remove(i);\r\n break\r\n }\r\n }\r\n comboVideos.remove(comboVideos.selectedIndex);\r\n }\r\n\r\n // trata o evento do botão desacoplar todos\r\n handleDesacoplarTodos(e) {\r\n if (!window.confirm(\"Deseja desacoplar todas as mídias selecionadas ?\"))\r\n return;\r\n let comboVideosDesac = document.getElementById(\"cboVideosDesac\");\r\n let comboVideos = document.getElementById(\"cboVideos\");\r\n let comboVideosSelec = document.getElementById(\"cboVideosSelec\");\r\n let opt\r\n while (comboVideosSelec.length > 0) {\r\n this.putFileExam(0, comboVideosSelec.options[0].value, null);\r\n opt = document.createElement(\"option\");\r\n opt.value = comboVideosSelec.options[0].value;\r\n opt.text = comboVideosSelec.options[0].value;\r\n comboVideosDesac.add(opt, comboVideosDesac.options[comboVideosDesac.length]);\r\n for (let j = 0; j < comboVideos.length; j = j + 1) {\r\n if (comboVideosSelec.options[0].value == comboVideos.options[j].value) {\r\n comboVideos.remove(j);\r\n break\r\n }\r\n }\r\n comboVideosSelec.remove(0);\r\n }\r\n }\r\n\r\n // trata o evento do botão selecionar\r\n handleSelecionar(e) {\r\n const comboVideos = document.getElementById(\"cboVideos\");\r\n let comboVideosSelec = document.getElementById(\"cboVideosSelec\");\r\n\r\n for (let i = 0; i < comboVideosSelec.length; i = i + 1) {\r\n if (comboVideosSelec.options[i].value == comboVideos.value)\r\n return\r\n }\r\n \r\n let opt = document.createElement(\"option\");\r\n opt.value = comboVideos.value;\r\n opt.text = comboVideos.value;\r\n comboVideosSelec.add(opt, comboVideosSelec.options[comboVideosSelec.length]);\r\n comboVideosSelec.value = opt.value;\r\n const video = this.pathfile + opt.value;\r\n this.setState(() => ({\r\n fileVideoSelec: video\r\n }));\r\n \r\n }\r\n\r\n // trata o evento do botão selecionar todos\r\n handleSelecionarTodos(e) {\r\n const comboVideos = document.getElementById(\"cboVideos\");\r\n let comboVideosSelec = document.getElementById(\"cboVideosSelec\");\r\n\r\n while (comboVideosSelec.length > 0) {\r\n comboVideosSelec.remove(0);\r\n }\r\n let opt;\r\n for (let i = 0; i < comboVideos.length; i = i + 1) {\r\n opt = document.createElement(\"option\");\r\n opt.value = comboVideos.options[i].value;\r\n opt.text = comboVideos.options[i].value;\r\n comboVideosSelec.add(opt, comboVideosSelec.options[i]);\r\n }\r\n comboVideosSelec.value = comboVideosSelec.options[0].value;\r\n const video = this.pathfile + comboVideosSelec.value;\r\n this.setState(() => ({\r\n fileVideoSelec: video\r\n }));\r\n }\r\n\r\n // trata o evento do botão cancela\r\n handleCancel(e) {\r\n e.preventDefault();\r\n this.props.history.push(\"/exame/1\");\r\n }\r\n\r\n // trata o evento alterar selecao de elemento da lista\r\n handleChangeVideo(e) {\r\n e.preventDefault();\r\n //const video = e.text;\r\n const video = this.pathfile + e.target.value;\r\n this.setState(() => ({\r\n fileVideo: video\r\n }));\r\n //this.confirm = true;\r\n //this.handleSave(e);\r\n }\r\n\r\n // trata o evento alterar selecao de elemento da lista\r\n handleChangeVideoDesac(e) {\r\n e.preventDefault();\r\n //const video = e.text;\r\n const video = this.pathfile + e.target.value;\r\n this.setState(() => ({\r\n fileVideoDesac: video\r\n }));\r\n //this.confirm = true;\r\n //this.handleSave(e);\r\n }\r\n\r\n // trata o evento alterar selecao de elemento da lista\r\n handleChangeVideoSelec(e) {\r\n e.preventDefault();\r\n //const video = e.text;\r\n const video = this.pathfile + e.target.value;\r\n this.setState(() => ({\r\n fileVideoSelec: video\r\n }));\r\n //this.confirm = true;\r\n //this.handleSave(e);\r\n }\r\n\r\n // trata o evento enviar registro\r\n handleEnviar(e) {\r\n e.preventDefault();\r\n this.enviarFileExam(false)\r\n }\r\n\r\n // trata o evento enviar selecionados\r\n handleEnviarTodos(e) {\r\n e.preventDefault();\r\n this.enviarFileExam(true)\r\n }\r\n\r\n async enviarFileExam(enviarSelecionados) { \r\n const regExam = this.state.exameData;\r\n var json = JSON.stringify(regExam);\r\n // PUT solicitação para editar exame\r\n if (this.state.exameData.id) {\r\n json = json.replace(\"{\", \"{\\\"id\\\":\" + this.state.exameData.id + \",\");\r\n let envio = 3;\r\n json = json.replace(\"}\", \",\\\"envio\\\":\" + envio + \"}\");\r\n try {\r\n let options = {method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: json, };\r\n fetch('api/Exames/' + this.state.exameData.id, options,)\r\n .then((response) => log(\"EDIT\", \"Alterou e enviou Video Exame: \" + json))\r\n .then((responseJson) => {\r\n this.props.history.push(\"/exame/1\");\r\n })\r\n } catch (e) { console.log(e); }\r\n\r\n ///// file exame /////\r\n let comboVideos;\r\n if (enviarSelecionados == false) {\r\n comboVideos = document.getElementById(\"cboVideos\");\r\n await this.putFileExam(regExam.id, comboVideos.value, envio)\r\n }\r\n else {\r\n comboVideos = document.getElementById(\"cboVideosSelec\");\r\n for (let i = 0; i < comboVideos.length; i = i + 1) {\r\n await this.putFileExam(regExam.id, comboVideos.options[i].value, envio)\r\n }\r\n }\r\n /*let regFileExam = new ExameFileData;\r\n regFileExam.id_exame = regExam.id;\r\n regFileExam.file = comboVideos.value;\r\n regFileExam.envio = envio;\r\n json = JSON.stringify(regFileExam);\r\n try {\r\n let options = { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: json, };\r\n fetch('api/ExameFiles/' + regFileExam.file, options,)\r\n .then((response) => log(\"EDIT\", \"Alterou e enviou Video Exame: \" + json))\r\n .then((responseJson) => {\r\n this.props.history.push(\"/exame/1\");\r\n })\r\n } catch (e) { console.log(e); }*/\r\n }\r\n }\r\n\r\n putFileExam(id, video, envio) {\r\n ///// file exame /////\r\n //const comboVideos = document.getElementById(\"cboVideos\");\r\n let regFileExam = new ExameFileData;\r\n regFileExam.id_exame = id;\r\n regFileExam.file = video;\r\n regFileExam.envio = envio;\r\n let json = JSON.stringify(regFileExam);\r\n if (envio == null) {\r\n json = json.replace(\",\\\"envio\\\":\" + envio + \"}\", \"}\");\r\n }\r\n try {\r\n let options = { method: 'PUT', headers: { 'Content-Type': 'application/json' }, body: json, };\r\n fetch('api/ExameFiles/' + regFileExam.file, options,)\r\n .then((response) => log(\"EDIT\", \"Alterou e enviou Video Exame: \" + json))\r\n .then((responseJson) => {\r\n //this.props.history.push(\"/exame/1\");\r\n })\r\n } catch (e) { console.log(e); }\r\n }\r\n\r\n // Carrega o combobox de vídeos deste exame\r\n async loadComboVideos() {\r\n /**\r\n * Carregando a combobox Vídeos\r\n */\r\n const data = await fetch('api/ExameFiles/'+this.state.exameData.id);\r\n const listVideos = await data.json();\r\n const comboVideos = document.getElementById(\"cboVideos\");\r\n var opt;\r\n /*var opt = document.createElement(\"option\");\r\n opt.value = \"0\";\r\n opt.text = \"\";\r\n comboVideos.add(opt, comboVideos.options[0]);*/\r\n for (var i = 0; i < listVideos.length; i++) {\r\n opt = document.createElement(\"option\");\r\n opt.value = listVideos[i].file;\r\n opt.text = listVideos[i].file;\r\n comboVideos.add(opt, comboVideos.options[i]);\r\n };\r\n\r\n if (listVideos.length > 0) {\r\n comboVideos.value = opt.value;\r\n const video = this.pathfile + opt.value;\r\n this.setState(() => ({\r\n fileVideo: video\r\n }));\r\n }\r\n }\r\n\r\n // Carrega o combobox de vídeos sem exame\r\n async loadComboVideosDesacoplados() {\r\n /**\r\n * Carregando a combobox Vídeos\r\n */\r\n const data = await fetch('api/ExameFiles/0');\r\n const listVideos = await data.json();\r\n const comboVideos = document.getElementById(\"cboVideosDesac\");\r\n var opt;\r\n /*var opt = document.createElement(\"option\");\r\n opt.value = \"0\";\r\n opt.text = \"\";\r\n comboVideos.add(opt, comboVideos.options[0]);*/\r\n for (var i = 0; i < listVideos.length; i++) {\r\n opt = document.createElement(\"option\");\r\n opt.value = listVideos[i].file;\r\n opt.text = listVideos[i].file;\r\n comboVideos.add(opt, comboVideos.options[i]);\r\n };\r\n\r\n if (listVideos.length > 0) {\r\n comboVideos.value = opt.value;\r\n const video = this.pathfile + opt.value;\r\n this.setState(() => ({\r\n fileVideoDesac: video\r\n }));\r\n }\r\n }\r\n\r\n renderDataTable() {\r\n const regExam = this.state.exameData;\r\n const regPac = this.state.pacienteData;\r\n const regEP = this.state.epData;\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n
IdExameDescriçãoDataPacienteIdadeSexoConvênioSolicitante
{regExam.id}{regEP.nome}{regExam.descricao}{formatDate(regExam.data)}{regPac.nome}{idade(regPac.datanascimento)}{regPac.sexo}{regExam.convenio}{regExam.solicitante}
\r\n
\r\n {this.renderCreatePlayer()}\r\n
\r\n {/*
{this.renderCreateForm()}
*/}\r\n \r\n );\r\n }\r\n\r\n renderCreateForm() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
);\r\n }\r\n\r\n renderCreatePlayer() {\r\n //