123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- import React from 'react';
- import {connect} from 'react-redux';
- import NumberDrop from "@components/NumberDrop";
- import {SETNUMBER,CHANGEOTHERTEXTLABEL,CHANGEOTHERTEXTLABEL_NUMBER} from '@types/otherHistory';
- import {SETNUMBER4,CHANGECHECKTEXTLABEL,CHANGECHECKTEXTLABEL_NUMBER} from '@types/checkBody.js';
- import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP} from '@types/homePage.js';
- import {NUMBER_SELECT,CHANGE_LABELVAL,CHANGE_LABELVAL_NUMBER} from '@store/types/mainSuit.js';
- import {getLabelIndex} from '@common/js/func.js';
- import {CURRENT_NUMBER,CURRENT_TEXT_LABEL,CURRENT_TEXT_LABEL_NUMBER} from '@store/types/currentIll.js';
- import {billing} from '@store/async-actions/pushMessage';
- import {Notify} from '@commonComp';
- import {filterArr,didPushParamChange} from '@utils/tools.js';
- import config from '@config/index.js';
- function mapStateToProps(state){
- return {
- mainSaveText:state.mainSuit.saveText,
- }
- }
- //查体数字键盘选中
- function checkSelect(dispatch,params){
- dispatch({
- type:SETNUMBER4,
- params
- });
- }
- //其他史数字键盘选中
- function otherSelect(dispatch,params){
- dispatch({
- type:SETNUMBER,
- params
- });
- }
- //主诉
- function mainSelect(dispatch,params){
- dispatch({
- type:NUMBER_SELECT,
- params
- });
- }
- //现病史
- function currentSelect(dispatch,params){
- dispatch({
- type:CURRENT_NUMBER,
- params
- });
- }
- function handleModuleDiff(dispatch,params){
- const {mainSaveText} = params;
- const type = params.ikey.substr(0,1); //当前所在的项目
- switch (+type){
- case 1:
- let text = filterArr(mainSaveText);
- if(text.length >= config.limited){
- Notify.info(config.limitText);
- return
- }
- mainSelect(dispatch,params);
- break;
- case 2:
- currentSelect(dispatch,params);
- break;
- case 3:
- otherSelect(dispatch,params);
- break;
- case 4:
- checkSelect(dispatch,params);
- break;
- default:
- }
- }
- /**************************双击标签输入*********************************/
- // 主诉
- function mainSuitLabel(dispatch,params){
- const index = params.ikey;
- let ikey = getLabelIndex(index);
- const {changeVal,totalVal} = params;
- dispatch({
- // type:CHANGE_LABELVAL,
- type:CHANGE_LABELVAL_NUMBER,
- data:{changeVal:changeVal,ikey:ikey,totalVal}
- })
- }
- // 现病史
- function currentLabel(dispatch,params){
- const index = params.ikey;
- let ikey = getLabelIndex(index);
- dispatch({
- // type:CURRENT_TEXT_LABEL,
- type:CURRENT_TEXT_LABEL_NUMBER,
- data:{changeVal:params.changeVal,ikey:ikey}
- })
- }
- //其他史
- function otherHisLabelEdit(dispatch,params){
- const index = params.ikey;
- const {changeVal,totalVal} = params;
- let ikey = getLabelIndex(index);
- dispatch({
- // type:CHANGEOTHERTEXTLABEL,
- type:CHANGEOTHERTEXTLABEL_NUMBER,
- data:{changeVal:changeVal,ikey:ikey,totalVal}
- })
- }
- //查体
- function checkBodyLabelEdit(dispatch,params){
- const index = params.ikey;
- let ikey = getLabelIndex(index);
- const {changeVal,totalVal} = params;
- dispatch({
- // type:CHANGECHECKTEXTLABEL,
- type:CHANGECHECKTEXTLABEL_NUMBER,
- data:{changeVal:changeVal,ikey:ikey,totalVal}
- })
- }
- function mapDispatchToProps(dispatch,store){
- return {
- handleSelect(params){
- handleModuleDiff(dispatch,params);
- //右侧推送
- clearTimeout(timer);
- let timer = setTimeout(function(){ //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
- if(didPushParamChange()){ //操作后内容有变化才推送
- dispatch(billing);
- clearTimeout(timer);
- }
- },config.delayPushTime);
- },
- handleDbclick(obj){
- dispatch({
- type:CLICKCOUNT,
- data:obj,
- clickType:'双击',
- num:1
- });
- },
- handleHide(){
- dispatch({
- type:HIDEDROP
- })
- },
- handleShow(params) {
- dispatch({
- type:CLICKCOUNT,
- data:params,
- clickType:'单击',
- num:1
- });
- dispatch({
- type:SETDROPSHOW,
- data:params
- });
- /*dispatch({
- type: RESET
- });*/
- },
- handleLabelChange(params){
- const {type} = params;
- switch (+type){
- case 1:
- mainSuitLabel(dispatch,params);
- break;
- case 2:
- currentLabel(dispatch,params);
- break;
- case 3:
- otherHisLabelEdit(dispatch,params);
- break;
- case 4:
- checkBodyLabelEdit(dispatch,params);
- break;
- default:
- }
- }
- }
- }
- const NumberDropCont = connect(mapStateToProps,mapDispatchToProps)(NumberDrop);
- export default NumberDropCont;
|