import React from 'react'; import { ItemBox, ConfirmModal, WrapModalContainer } from '@commonComp'; import AddNewInspect from '../AddNewInspect'; import styles from './index.less'; import { getExcelList } from '@store/actions/inspect'; import Notify from '@commonComp/Notify'; import store from '@store'; import $ from 'jquery'; import { host, prefix } from '@utils/config.js'; import { isIE, getUrlArgObject,getCurrentDate,setFontColorSize } from '@utils/tools.js'; import { dragBox } from '@utils/drag'; import WrapModalBody from '@containers/WrapModalBody'; import {getMRAnalyse} from '@store/async-actions/pushMessage'; import {SET_CURRENT_MODULE} from '@types/homePage'; (function ($) { var FileAPI = { // @default: "./dist/" staticPath: './dists/', // @default: FileAPI.staticPath + "FileAPI.flash.swf" flashUrl: './dists/FileAPI.flash.swf', // @default: FileAPI.staticPath + "FileAPI.flash.image.swf" flashImageUrl: './dists/FileAPI.flash.image.swf' }; return FileAPI })($) import "./dists/FileAPI.js"; const isLocal = window.location.hostname.indexOf('localhost') != -1; const qhost = isLocal ? host + prefix : prefix; const api = { upload: qhost + '/lisExcelRes/lisExcelAnalysis' }; let numFlg = 0; class NewAdvice extends React.Component { constructor(props) { super(props); this.state = { val: '', visible: false, dom: [], isIE: isIE(), ieVersion: null, height: '-1', hide: false, importLis:false } this.handleImportExcel = this.handleImportExcel.bind(this); this.cancel = this.cancel.bind(this); this.getWarings = this.getWarings.bind(this); this.checkSystemIpt = this.checkSystemIpt.bind(this); this.onClose = this.onClose.bind(this); this.handleBindFileApi = this.handleBindFileApi.bind(this); this.closeInIcss = this.closeInIcss.bind(this); this.showSlideImport = this.showSlideImport.bind(this); this.refreshScroller = this.refreshScroller.bind(this); } componentDidMount() { $(document).click((event) => { let searchWrap = $('#importInspectBtn')[0]; // 导入按钮按钮 let searchOption = $('#importList')[0]; // 下拉列表 if (searchOption&&$('#importList').css("display")=="block") { if(searchWrap != event.target){ this.setState({ importLis: false }); } } }); this.props.setContext(this.context) } handleBindFileApi(){ const {message} = this.props; var ua = navigator.userAgent; var _isIE = ua.indexOf("MSIE") > -1; if (_isIE) { let version = ua.match(/MSIE ([\d.]+)/)[1]; this.setState({ ieVersion: version }) } $('iframe').bind('load', function () { }) const { fetchPushInfos } = this.props; // FileAPI.debug = true $.support.cors = true; const that = this; var choose = document.getElementById('choose'); FileAPI.event.on(choose, 'change', function (evt) { var files = FileAPI.getFiles(evt); FileAPI.filterFiles(files, function (file, info) { let name = file.name; // if( name.split('.')[1] == 'xlsx' || name.split('.')[1] == 'xls' ){ // Notify.error('请选择正确的excel表格') // return false; // }else{ // return true; // } return true; }, function (files, rejected) { if (files.length) { //console.log(files[0]) const securityCode = getUrlArgObject("code"); const appKeyId = getUrlArgObject("appI"); const appKeySecret = getUrlArgObject("appS"); const productId = getUrlArgObject("productId"); FileAPI.upload({ // url: '/api/icss/lisExcelRes/lisExcelAnalysis', url: api.upload, data: { hospitalCode: message == '{}' ? '' : message.hospitalCode }, files: { uploadfile: files[0] }, headers: { appKeyId: appKeyId, appKeySecret: appKeySecret, securityCode: securityCode, productId: productId }, complete: function (err, xhr) { if (!err) { let res = JSON.parse(xhr.response); if(res.code == 0){ let message = res.data.messages; if(res.data.lisExcelRes){ for(let i = 0;i < res.data.lisExcelRes.length;i++){ let tmpLisExcelItem = res.data.lisExcelRes[i] if(tmpLisExcelItem.lisExcelItem){ for(let j = 0;j < tmpLisExcelItem.lisExcelItem.length;j++){ tmpLisExcelItem.lisExcelItem[j].time = tmpLisExcelItem.lisExcelItem[j].time||getCurrentDate(1) } } } } store.dispatch(getExcelList(res.data)); store.dispatch(getMRAnalyse()); fetchPushInfos && fetchPushInfos({mode:8}); if (message && message.length != 0) { that.setState({ visible: true, dom: message, height: message.length }) } }else{ Notify.error(res.msg) } $("#choose").val(""); } else { let res = JSON.parse(xhr.response); Notify.error(res.msg) $("#choose").val(""); } } }); } }); }); } handleImportExcel() { this.inputRef.click(); const storeState = store.getState() const {moduleName} = storeState.homePage if(moduleName != '检验') { store.dispatch({ type: SET_CURRENT_MODULE, moduleName:'检验' }); store.dispatch(getMRAnalyse()); } } cancel() { this.setState({ visible: false }) } getStyle() { const { ieVersion } = this.state; if (ieVersion && ieVersion <= 9) { return styles.disabledBtn; } else { return styles.button; } } getWarings(lis) { } checkSystemIpt() { this.setState({ hide: true }) const storeState = store.getState() const {moduleName} = storeState.homePage if(moduleName != '检验') { store.dispatch({ type: SET_CURRENT_MODULE, moduleName:'检验' }); store.dispatch(getMRAnalyse()); } } onClose() { this.setState({ hide: false }) dragBox('previewWrapper', 'previewStatic', 'del') } closeInIcss(){ this.setState({ hide: false }) } showSlideImport(){ let flg = this.state.importLis this.setState({ importLis:!flg }) const storeState = store.getState() const {moduleName} = storeState.homePage if(moduleName != '检验') { store.dispatch({ type: SET_CURRENT_MODULE, moduleName:'检验' }); store.dispatch(getMRAnalyse()); } } refreshScroller(){ //滚动条对象 return this.context.scrollArea; /*this.context.scrollArea.refresh(); this.context.scrollArea.scrollBottom();*/ } render() { const {hideAllDrop,setHighter,labelListBig, fetchPushInfos,getInfomation,labelListSmall, hospitalMsg, inspectVal, windowHeight, windowWidth,setTipValue, handleCloseExcel, handleChangeValue, labelListActive, list, handleSign, labelList, handleLabelSub, handleClear, handleConfirm, fillActive, changeActivePart, getExcelDataList, delPartItem, inspectList,detailClick,handleDelConfirm,checkOnOff } = this.props; const { ieVersion, isIE, hide,importLis } = this.state; const { checkSystemIpt, onClose,handleBindFileApi,closeInIcss,showSlideImport } = this; if(JSON.stringify(hospitalMsg) != {} && document.getElementById("choose")){//动态绑定只绑定一次 ++numFlg numFlg == 1?handleBindFileApi():null } return (
{/* 导入功能插件,ie8/9权限问题暂未解决,先隐藏 */}
{/*
*/} {/*
*/} {/* this.inputRef = DOM} /> */} {/* {0没有,1本地,2医院,3本地和医院} */} {/* { hospitalMsg.import_way_lis == 1 ?
9 ? true : false} onClick={ieVersion && ieVersion <= 9 ? null : this.handleImportExcel}>

导入检验结果

this.inputRef = DOM} />
: hospitalMsg.import_way_lis == 2 ?
9 ? true : false} onClick={checkSystemIpt}>

导入检验结果

: hospitalMsg.import_way_lis == 3 ?

导入检验结果

{
  • 本地导入
    this.inputRef = DOM} />
  • 从设备导入
}
: null } */} {/* { hide ? : null } */} {/*
*/}
2 && this.state.height < 8) ? ((this.state.height * 30 + 120) + 'px') : this.state.height > 8 ? '350px' : '200px'} noFooter={true} close={this.cancel}>
    { this.state.dom.length > 0 && this.state.dom.map((val) => { return
  • {val}
  • }) }
确定
) } } NewAdvice.contextTypes = { scrollArea: React.PropTypes.object }; export default NewAdvice;