소스 검색

合并慢病分支
Squashed commit of the following:

commit fbff2678834c35cfe5a044edd580edbed19b3750
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 15:09:31 2019 +0800

计算公式结果显示顺序调整

commit c3b9b62875954b0d8a4cf12f712d62abfddc2c9e
Merge: 6bfc279 e29d746
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 14:40:20 2019 +0800

Merge branch 'dev/new1' into ChronicMag

commit 6bfc2797411920157c8f86628efe00e843d117ba
Merge: 8285d7d 8239b4f
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 14:39:58 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 8285d7d16099db43022145919f065bf60c8837ed
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 14:39:40 2019 +0800

计算公式结果显示顺序调整

commit e29d7466bf39864fc618173965eeba21ebcf85bb
Merge: daefc2a 950a0a4
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 14:36:36 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into dev/new1

commit daefc2accca1d3510d84fb13e3ead11cd54a7ba4
Merge: 29a5821 8239b4f
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 14:35:32 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

# Conflicts:
# src/components/AssessResult/AssessHis/index.jsx
# src/containers/AssessResult.js

commit 950a0a4cdb593e3c27d7db5f926612d27cdcd8cb
Merge: 29a5821 8239b4f
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue May 14 14:34:11 2019 +0800

merge from 'ChronicMag'

commit 8239b4f6869e3591ef74a712eb0930042e219bea
Merge: b66c626 f551eeb
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue May 14 14:30:36 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit b66c6265589160fef529f016fb46d7f1814541bc
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue May 14 14:30:08 2019 +0800

同类药物药品说明书图标

commit f551eeb2193368ef0511f676357f9d115c490a85
Merge: 632ac8f 199b132
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 14:23:06 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 632ac8fb35e0e54b75b60c66bb452d64f9c27078
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 14:22:42 2019 +0800

历史病例全部量表中加入的显示bug修改1375

commit 3a8f57ff9da42ed0f6af192d0e312f5c99c0c1b4
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue May 14 14:06:58 2019 +0800

不良反应添加智能推荐

commit 9de8cb7848193263abb5cfc6ccd45965d5d605a8
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 14:00:57 2019 +0800

null不显示1373

commit f36369462d405065d790b0ded5810b4cd97bdb67
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 14 13:49:00 2019 +0800

评估弹窗计算公式跳bug1330

commit 199b13238aa79cd623bfe13c5bb3004293dfb7f7
Author: Luolei <16657115156@163.com>
Date: Tue May 14 10:48:08 2019 +0800

辅检bug

commit 43be8fd45965d608d7844ec72dc95e8095dcc99b
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 20:08:07 2019 +0800

计算公式相关变量整理

commit 29a58217d911655887bd3a9d3b56cdacc3936e97
Author: liucf <liucf@zjlantone.com>
Date: Mon May 13 17:51:08 2019 +0800

Squashed commit of the following:

commit 7ab97d32ae5663dd04118f943557f800fbcf688e
Merge: d1abfc9 eb3810e
Author: liucf <liucf@zjlantone.com>
Date: Mon May 13 16:56:39 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit d1abfc945fb67ce4d4cec28b60f95ed19894fc37
Author: liucf <liucf@zjlantone.com>
Date: Mon May 13 16:56:28 2019 +0800

输入框类型onInput事件处理;可能结果下拉框的值与选择结果保持一致

commit eb3810e976a66fc4dfc2a6b2a7180fdf55e4d1c5
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 16:48:56 2019 +0800

图表图标对应

commit 3291b1f2c1446fbaabef6cd7aca9a182772dc3ea
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 15:46:31 2019 +0800

管理评估添加loading

commit 9ed2c65f42508ae1510b6044512f3f6639af384c
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 15:17:32 2019 +0800

历史评估图表显示bug修改1359

commit 9611eff953c3b5ccf791628766c151182f634836
Merge: 9c24780 7ab97d3
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 17:01:26 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 9c24780e9277d3e2c5177ca083c1f1637907bd0e
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 17:01:12 2019 +0800

评估说明不显示bug修改1329

commit 7ab97d32ae5663dd04118f943557f800fbcf688e
Merge: d1abfc9 eb3810e
Author: liucf <liucf@zjlantone.com>
Date: Mon May 13 16:56:39 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit d1abfc945fb67ce4d4cec28b60f95ed19894fc37
Author: liucf <liucf@zjlantone.com>
Date: Mon May 13 16:56:28 2019 +0800

输入框类型onInput事件处理;可能结果下拉框的值与选择结果保持一致

commit eb3810e976a66fc4dfc2a6b2a7180fdf55e4d1c5
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 16:48:56 2019 +0800

图表图标对应

commit 3291b1f2c1446fbaabef6cd7aca9a182772dc3ea
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 15:46:31 2019 +0800

管理评估添加loading

commit 9ed2c65f42508ae1510b6044512f3f6639af384c
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 15:17:32 2019 +0800

历史评估图表显示bug修改1359

commit 299945cb014a2b94b93e128ce247b4ef825dbf11
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 14:53:05 2019 +0800

容错

commit 3fb9db4c67864771e7ba956a5f6ec8c73d5aac8c
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 14:51:08 2019 +0800

获取评估疾病外参数不写死

commit 699b6fd0548812418027d9f1d0173cf2326440e9
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 14:03:48 2019 +0800

全部量表加入病例和删除

commit f1d3e0cf1fff0d71b79c944370ebf92e016abcbe
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 13:14:55 2019 +0800

有结果才能加入病例

commit 112849b89c883adbe03cb2f79afcf0305c38793a
Merge: 626c805 f261490
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 11:37:21 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into dev/new1

commit 626c80532067ac11ed5b7b8db09ff730b9bc8275
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 13 11:36:27 2019 +0800

全部量表加入记录

commit f2614909da1cff9db4fb8a7e943e778ad20956ca
Merge: 12307ba 71df3b0
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 13 10:23:30 2019 +0800

Merge branch 'ChronicMag' into dev/new1

commit 71df3b02bbc58de481f42cab46c053d9807e8e5d
Merge: ebe4e89 c98d00b
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 13 10:21:53 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit ebe4e897008507a932d105f053c8505385f93d41
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 13 10:21:43 2019 +0800

治疗方案添加到医嘱当id和大类名称都一样时添加小类名称比较

commit 12307bae90ebd96d7ebdb63a3d3704e6ceb4df74
Author: zhouna <zhouna@zjlantone.com>
Date: Sat May 11 12:03:16 2019 +0800

评估中可能结果推荐显示

commit b33aa13447696cce232d9a7c703ec4c5b60fe64f
Merge: 04d0c6f c98d00b
Author: zhouna <zhouna@zjlantone.com>
Date: Sat May 11 11:53:33 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

commit c98d00b9e57700c9a87bdde455eab4c4fc5d1db7
Author: zhouna <zhouna@zjlantone.com>
Date: Sat May 11 11:53:11 2019 +0800

查体收起bug修改1176

commit 8a6c34003ff3db8ee339d2e459061ebb14581e27
Author: zhouna <zhouna@zjlantone.com>
Date: Sat May 11 11:41:24 2019 +0800

计算公式推送不清空bug修改1315

commit 083bf8b605526df141e8a4ecf5b916ff6a8b6979
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 19:26:50 2019 +0800

图表样式修改

commit b0a69d7e618f971cfaea4b18ec13c48c86c5327a
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 19:20:22 2019 +0800

图表图例修改

commit 04d0c6ffc6dab00d163687bf46f795a40dc9c580
Merge: b484b89 756c60c
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 18:00:02 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

commit 756c60c7e92734c4d510001ff8e9f62ff4f23486
Merge: 5b3cab7 735ceb5
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 17:57:51 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 5b3cab7a16403368734b451a0bcfc2f398630c59
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 17:57:37 2019 +0800

回退计算公式bug

commit 526a1bdc0d6cee5c391efbcc9803a25e9db21b3c
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 17:54:43 2019 +0800

历史评估量表关闭bug修改

commit b484b89ad764f4df760c7ad624ad1425fc077742
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 17:39:15 2019 +0800

Squashed commit of the following:

commit 735ceb5b6e41f5d9827d00c1614cc789337c0856
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 17:34:06 2019 +0800

时间单位组件调整;互斥项字数限制放开

commit e324be3ce5df64ecfa5d27ac4f04bba1c22daf09
Merge: eb0c3bd 4ed0ac1
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 17:28:13 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit eb0c3bd779ac70caf4add125c98d129559c33ced
Merge: ae5da2b c854616
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 14:52:58 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit ae5da2b44f4e3fa24aa7d8d3cd727139c00eb6e6
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 14:52:48 2019 +0800

引用历史病历时切换相应模式

commit 735ceb5b6e41f5d9827d00c1614cc789337c0856
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 17:34:06 2019 +0800

时间单位组件调整;互斥项字数限制放开

commit e324be3ce5df64ecfa5d27ac4f04bba1c22daf09
Merge: eb0c3bd 4ed0ac1
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 17:28:13 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 88d1eac9f297c0012f538cbbf8c47c4b0f152c66
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 15:29:39 2019 +0800

计算公式推送不清空1315

commit 17731660083e685f61ded543c2fbd4c11346f711
Merge: 99e0381 4ed0ac1
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 15:12:00 2019 +0800

Merge branch 'ChronicMag' into dev/new1

commit 4ed0ac1f433aebae16819962871807e5cfcc1404
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 15:11:22 2019 +0800

修改鼠标移入样式

commit 711d39bdbb637b0c1e3e681add0377b3086a078f
Merge: 9e7661f c854616
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 14:58:22 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 9e7661f2d415ae1082ecbe235d683380de0845ba
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 14:58:09 2019 +0800

修改详情页不能滚动问题

commit 9b73e3aa9c21edec8ce655787e4fc581e0b2a49c
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 14:54:40 2019 +0800

单选类型改为0

commit eb0c3bd779ac70caf4add125c98d129559c33ced
Merge: ae5da2b c854616
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 14:52:58 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit ae5da2b44f4e3fa24aa7d8d3cd727139c00eb6e6
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 14:52:48 2019 +0800

引用历史病历时切换相应模式

commit c854616202d285029b9eab1f953ccbfd0fdb4547
Merge: 50fd238 047114e
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 14:46:41 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 50fd238c27607bab0aa805c197c5d6073c0fb90d
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 14:46:19 2019 +0800

历史病例量表无数据提示1166,图表无数据提示1331

commit 047114e749ec816b32f3126c13ddcccd3de4aef0
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 14:15:04 2019 +0800

修改同类药物收起图标

commit f4b8d4a2ccabb1ca8dad2aaaf70ed02a224ba541
Merge: 100f86f 66ab3ac
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 14:06:00 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 100f86f749651600cfebf4ccf0cb9c587ac6c317
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 14:05:08 2019 +0800

修改infomation图标居中样式

commit 66ab3acbdf6ab5f3859d088874ae25c7e985863b
Author: liucf <liucf@zjlantone.com>
Date: Fri May 10 13:52:45 2019 +0800

慢病字段2取1,全部量表添加“加入病历”按钮

commit 2282c77c8e4208f97015c1bcab1cdec7454fd650
Merge: 455eb66 cfbb117
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 11:50:56 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 455eb66fdb069abade0d9d854a947c25a993906a
Author: zhangxc <zhangxc@zjlantone.com>
Date: Fri May 10 11:50:35 2019 +0800

清除的时候清除保存的回访时间和不良反应

commit cfbb117bffe11dabd733f97838bedcae591fe71e
Merge: e3570fe d121b63
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 09:51:20 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit e3570fe648ea626d073ec2e07bc3c90780f5cd10
Author: zhouna <zhouna@zjlantone.com>
Date: Fri May 10 09:51:09 2019 +0800

重新打开历史评估收起按钮还原,整体评估保存1329

commit 99e03819ff4c932963ffab246a2f7e23457b9d9a
Merge: 9fa60ba d121b63
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 17:45:17 2019 +0800

merge from 'chronicMag'

commit d121b631937755a84d6c5e183713fadeac867ae8
Merge: 22a9006 afa920d
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 17:23:57 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 22a9006dad60aab2a146046ae7363c2ce8171ef8
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 17:23:46 2019 +0800

慢病填充模板,现病史更改编辑状态

commit afa920d99609acb3f69842f27274220f8e8b5d8f
Merge: 9831a28 9f9c16e
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 17:13:47 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 9831a28a82fc1cb7eae6dce7a8a783ca16766fca
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 17:13:35 2019 +0800

修改不良反应说明标题和没内容时提示

commit 9f9c16e6c1177dc5bf0f7344e8adccd847207c80
Merge: 18feefa 217e0c6
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 16:54:47 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 18feefa694331e26c7e5b7bef7f81f2402112d04
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 16:54:33 2019 +0800

文本模式下现病史中复诊去掉分号

commit 217e0c6737886e0273ecbcb86cac8de29108a9f9
Merge: 746f72a 7a1dee0
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 16:42:18 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 746f72ab5be39561cacb8fab055676977f067a3b
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 16:42:05 2019 +0800

清除时清除掉治疗方案的回访时间列表

commit 7a1dee052660d0449382a3c7e0e3ffd7ae7e1edb
Merge: e19b880 d7520e8
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 16:40:56 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 9fa60ba3ebbab0ee0b93f3cfc5e3b14ca2709b66
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 16:37:24 2019 +0800

Squashed commit of the following:

commit d7520e8fad7a96a166a94e9f0f39a93d12c47ffd
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 16:31:33 2019 +0800

获取量表接口动态入参

commit a5ecde168841823a10451a50e7cf2cd886f1384b
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 16:07:28 2019 +0800

请求失败时关闭loading

commit 2272eed62c6cda488f623650ca59bd0d95a0709d
Merge: 8974e91 443a8c4
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 15:59:17 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 8974e91fcb666f314ce34f241f72acaa5dce434a
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 15:59:03 2019 +0800

获取查体模板时加loading

commit 443a8c46b3b52252b17130429a25e80d2431e203
Merge: b41344d 040fc9f
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 15:17:56 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit b41344d0e818e12af3e08c24b2446fbfe97d058f
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 15:17:46 2019 +0800

模板医嘱中添加回访时间和开单项

commit 040fc9f2079b46d7e36edd7375222a31f04a96a7
Merge: 0f6eb6b 3ad2996
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 15:15:37 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 0f6eb6b2b43a3bf8464e54049499d95553d9b458
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 15:15:23 2019 +0800

历史病历和治疗方案添加loading

commit de4d7014f0407706f206d7434fea02899422b970
Merge: 468d3d9 851f8fa
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 14:02:28 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 468d3d9a2d8ea5c6d41ac0bcec347943b0389f04
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 14:02:13 2019 +0800

修改检验检查样式

commit 819465ac742b79ab88aa675a986d6af8ab5ea502
Merge: b8ae295 d2d7c4d
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 11:05:40 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit b8ae295393d78c690bf63c8bf4f01aef76ee5cdd
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 11:05:26 2019 +0800

清除清除回访时间

commit 8da8184d5c37e5f6197887819545fdd6eecf4fad
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 10:36:12 2019 +0800

修改警惕样式

commit 23899fe90e4051d901a23027200b481c8106329e
Merge: 0d8cecb fff1ed8
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 09:46:45 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 0d8cecb09a7671d2b605efd2a249383a89fcdd78
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 09:46:32 2019 +0800

说明书菜单栏高亮和内容匹配

commit d7520e8fad7a96a166a94e9f0f39a93d12c47ffd
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 16:31:33 2019 +0800

获取量表接口动态入参

commit e19b880451bc569b633e889824f140444d767149
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 16:12:45 2019 +0800

历史病例查看结果收起结果bug修改

commit a5ecde168841823a10451a50e7cf2cd886f1384b
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 16:07:28 2019 +0800

请求失败时关闭loading

commit 2272eed62c6cda488f623650ca59bd0d95a0709d
Merge: 8974e91 443a8c4
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 15:59:17 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 8974e91fcb666f314ce34f241f72acaa5dce434a
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 15:59:03 2019 +0800

获取查体模板时加loading

commit 58c4b5f0e302958a1f8971abde72fe6b3ea65b5e
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 15:50:05 2019 +0800

历史病例查看结果收起结果1165

commit 41d07ad8b21eec930b1f1ae7c29857afdaeea1b4
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 15:45:09 2019 +0800

切换模式清除医嘱输入内容

commit 443a8c46b3b52252b17130429a25e80d2431e203
Merge: b41344d 040fc9f
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 15:17:56 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit b41344d0e818e12af3e08c24b2446fbfe97d058f
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 15:17:46 2019 +0800

模板医嘱中添加回访时间和开单项

commit 040fc9f2079b46d7e36edd7375222a31f04a96a7
Merge: 0f6eb6b 3ad2996
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 15:15:37 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 0f6eb6b2b43a3bf8464e54049499d95553d9b458
Author: liucf <liucf@zjlantone.com>
Date: Thu May 9 15:15:23 2019 +0800

历史病历和治疗方案添加loading

commit 2ccd3a6fcf79a8f1fd48fd48420bc81212523a73
Merge: 1a5552a 3ad2996
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 14:37:27 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

commit 3ad29962531ed9bed195105bd327ec5c2d8c4906
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 14:36:37 2019 +0800

历史病例量表bug修改

commit f895c55a5dc0713de1adfd9027710e7e27d67e9d
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 14:17:56 2019 +0800

清空重新获取其他史记录1301,查体主诉空提示1296,查体展开收起bug1176

commit de4d7014f0407706f206d7434fea02899422b970
Merge: 468d3d9 851f8fa
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 14:02:28 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 468d3d9a2d8ea5c6d41ac0bcec347943b0389f04
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 14:02:13 2019 +0800

修改检验检查样式

commit 8454ee5646eed2a10859e06a5455f79f50f17717
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 13:16:51 2019 +0800

计算公式弹窗样式修改1318

commit 851f8fac518e7cbdf81647a46a1e4ae6117e4327
Merge: 72b89b6 039c3be
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 13:07:22 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 72b89b69538b390daf5c0bdb56f227bdd4212f86
Author: zhouna <zhouna@zjlantone.com>
Date: Thu May 9 13:07:00 2019 +0800

评估图表时间,样式修改

commit 819465ac742b79ab88aa675a986d6af8ab5ea502
Merge: b8ae295 d2d7c4d
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 11:05:40 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit b8ae295393d78c690bf63c8bf4f01aef76ee5cdd
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 11:05:26 2019 +0800

清除清除回访时间

commit 8da8184d5c37e5f6197887819545fdd6eecf4fad
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 10:36:12 2019 +0800

修改警惕样式

commit 23899fe90e4051d901a23027200b481c8106329e
Merge: 0d8cecb fff1ed8
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 09:46:45 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 0d8cecb09a7671d2b605efd2a249383a89fcdd78
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu May 9 09:46:32 2019 +0800

说明书菜单栏高亮和内容匹配

commit 1a5552a4f6b63d2b405350a4ccafbf93abe72ef2
Merge: e5d2667 f2bf620
Author: zhouna <zhouna@zjlantone.com>
Date: Wed May 8 18:12:38 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

# Conflicts:
# src/store/async-actions/print.js

commit e5d2667aa01531f0f6d3764887e00a48b96914af
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 17:36:26 2019 +0800

Squashed commit of the following:

commit 352b054332f99885a6cd4ef5c504407aa93152b2
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 17:35:12 2019 +0800

现病史部分代码优化

commit bc08d0b0d32fbcabf3f26c07a1554a9d08099cf8
Merge: e70ce0c 3538f81
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 17:29:05 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit e70ce0c810e879eb84c6819f7737210d31a563db
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 17:28:55 2019 +0800

现病史无模板时saveText处理

commit 3538f81446252e2cbe5e50f6eb1265404089384b
Merge: f78ecc6 16f4a9b
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 16:31:19 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit f78ecc64897377c4c8e5a3a65b55f4981d905334
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 16:30:34 2019 +0800

现病史双击编辑数字键盘阻止冒泡1234

commit 762a35f36ed8a2d5e7a361c8a0a5455c872ea263
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 16:26:49 2019 +0800

现病史双击编辑阻止冒泡1225

commit 7512723af99610e9fe3de469ad9532ed3ce788d0
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 16:16:49 2019 +0800

容错

commit 16f4a9bd92d379e2115e7d10001df91309a8b9c3
Merge: c1bf7dc 6f8fde5
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 15:04:15 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit c1bf7dc19fab28d1699cfad6473142352209d4f8
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 15:04:08 2019 +0800

计算结果text为null处理

commit 6f8fde5f1de4a2fd1ed9eeb19d4771abd46299b7
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 14:40:55 2019 +0800

查体收起个数bug修改1176

commit bb5f042e0b42cb38c6bdca1164b00b4479ad00e1
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 13:15:35 2019 +0800

查体收起遮挡加背景

commit fada0ec114385c5664c515f4f86ba2618a096f9d
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 12:23:58 2019 +0800

其他史无数据显示模板,评估参数不写死

commit 347443f14bf0902edbd8ca3cd1bbc943ec17d8af
Merge: d4cb47b 6e43e19
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 11:10:20 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit d4cb47b6f2aee8d8134751c6b7262993d29c599f
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 11:10:07 2019 +0800

历史病例量表显示

commit 6e43e1966c9f376c46f83af92da50021186977d5
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 10:54:02 2019 +0800

可能结果添加推荐项

commit 2ee6ba8b86b835e759429f811ca4d7ee7c073f26
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:07:34 2019 +0800

右侧推送放开

commit 65f81b639d8581348d50885584197e18f643536f
Merge: 4011f28 a2f09ac
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:05:06 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 4011f28c7f66f79d14ace47ce32e459bb7edde64
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:04:57 2019 +0800

计算按钮显示字段修改

commit a2f09ac4de68c23433a43db3dda66e489f7b555c
Merge: 74e4f37 50a207d
Author: Luolei <16657115156@163.com>
Date: Mon May 6 17:03:14 2019 +0800

Merge branch 'Chronic-ll' into ChronicMag

commit 50a207dc27beb237197ca553421b4f44e377ee68
Author: Luolei <16657115156@163.com>
Date: Mon May 6 17:02:36 2019 +0800

保存日期修改

commit 74e4f373155c043eccd0b142a1c1039a38e2a254
Merge: 4d13996 af6ea4c
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 6 16:49:28 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 4d13996993605eea3f5e7638c58acf9085645293
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 6 16:49:09 2019 +0800

修改慢病用药和普通病用药顺序

commit 58c7a71d2dda5eaf9efcca9f94aeb631da495538
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 15:05:43 2019 +0800

Squashed commit of the following:

commit 16f4a9bd92d379e2115e7d10001df91309a8b9c3
Merge: c1bf7dc 6f8fde5
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 15:04:15 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit c1bf7dc19fab28d1699cfad6473142352209d4f8
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 15:04:08 2019 +0800

计算结果text为null处理

commit 6f8fde5f1de4a2fd1ed9eeb19d4771abd46299b7
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 14:40:55 2019 +0800

查体收起个数bug修改1176

commit bb5f042e0b42cb38c6bdca1164b00b4479ad00e1
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 13:15:35 2019 +0800

查体收起遮挡加背景

commit fada0ec114385c5664c515f4f86ba2618a096f9d
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 12:23:58 2019 +0800

其他史无数据显示模板,评估参数不写死

commit 347443f14bf0902edbd8ca3cd1bbc943ec17d8af
Merge: d4cb47b 6e43e19
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 11:10:20 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit d4cb47b6f2aee8d8134751c6b7262993d29c599f
Author: zhouna <zhouna@zjlantone.com>
Date: Tue May 7 11:10:07 2019 +0800

历史病例量表显示

commit 6e43e1966c9f376c46f83af92da50021186977d5
Author: liucf <liucf@zjlantone.com>
Date: Tue May 7 10:54:02 2019 +0800

可能结果添加推荐项

commit 2ee6ba8b86b835e759429f811ca4d7ee7c073f26
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:07:34 2019 +0800

右侧推送放开

commit 65f81b639d8581348d50885584197e18f643536f
Merge: 4011f28 a2f09ac
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:05:06 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 4011f28c7f66f79d14ace47ce32e459bb7edde64
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:04:57 2019 +0800

计算按钮显示字段修改

commit a2f09ac4de68c23433a43db3dda66e489f7b555c
Merge: 74e4f37 50a207d
Author: Luolei <16657115156@163.com>
Date: Mon May 6 17:03:14 2019 +0800

Merge branch 'Chronic-ll' into ChronicMag

commit 50a207dc27beb237197ca553421b4f44e377ee68
Author: Luolei <16657115156@163.com>
Date: Mon May 6 17:02:36 2019 +0800

保存日期修改

commit 74e4f373155c043eccd0b142a1c1039a38e2a254
Merge: 4d13996 af6ea4c
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 6 16:49:28 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 4d13996993605eea3f5e7638c58acf9085645293
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 6 16:49:09 2019 +0800

修改慢病用药和普通病用药顺序

commit 6d066418584e0c2a9610808b9042dec642d9cecf
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:08:48 2019 +0800

Squashed commit of the following:

commit 2ee6ba8b86b835e759429f811ca4d7ee7c073f26
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:07:34 2019 +0800

右侧推送放开

commit 65f81b639d8581348d50885584197e18f643536f
Merge: 4011f28 a2f09ac
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:05:06 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 4011f28c7f66f79d14ace47ce32e459bb7edde64
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 17:04:57 2019 +0800

计算按钮显示字段修改

commit a2f09ac4de68c23433a43db3dda66e489f7b555c
Merge: 74e4f37 50a207d
Author: Luolei <16657115156@163.com>
Date: Mon May 6 17:03:14 2019 +0800

Merge branch 'Chronic-ll' into ChronicMag

commit 50a207dc27beb237197ca553421b4f44e377ee68
Author: Luolei <16657115156@163.com>
Date: Mon May 6 17:02:36 2019 +0800

保存日期修改

commit 74e4f373155c043eccd0b142a1c1039a38e2a254
Merge: 4d13996 af6ea4c
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 6 16:49:28 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 4d13996993605eea3f5e7638c58acf9085645293
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon May 6 16:49:09 2019 +0800

修改慢病用药和普通病用药顺序

commit 1a0cffac0bdb76b7502a928fc62a9f620b493bee
Merge: e4f4ef7 af6ea4c
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 6 16:48:04 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

commit e4f4ef7073bc41eaeb3352b841fcd1f8f5ab7227
Merge: da4f7c6 55575a4
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 6 16:47:44 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into dev/new1

# Conflicts:
# src/components/AssessResult/ScaleItem/index.jsx
# src/components/PreviewBody/index.jsx

commit da4f7c6d72fc178363ef54a83f825d5e6e02679e
Merge: 4fcc02f 44dbf93
Author: zhouna <zhouna@zjlantone.com>
Date: Mon May 6 16:46:28 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

commit 55575a46fc14e632b31d53a5fe77bcd39cea3bc3
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 13:24:40 2019 +0800

Squashed commit of the following:

commit f45feb4822d8cf4101ff64909bc6541d09e8d1a5
Merge: 8152ae4 96c3c29
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 13:19:36 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 8152ae4d3e94567e76d9b8e65429b102df4bd25e
Author: liucf <liucf@zjlantone.com>
Date: Mon May 6 13:19:26 2019 +0800

主诉搜索结果容错处理

commit 96c3c2945cee7f7f19ef3c8b83dd331999f455b3
Author: zhouna <zhouna@zjlantone.com>
Date: Sun May 5 17:44:09 2019 +0800

历史病例中评估文字判断,删除按钮删除

commit 4fcc02fc0890c4c312c308d5ff0dac77269b8866
Merge: 1b28c56 b13bab2
Author: zhouna <zhouna@zjlantone.com>
Date: Sun May 5 17:05:39 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into dev/new1

commit 1b28c5632aa157d10fd90e54eb52d8096d12ecfa
Merge: 936e718 a56840d
Author: zhouna <zhouna@zjlantone.com>
Date: Sun May 5 17:05:22 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into dev/new1

commit b13bab2182515e688634abac125b8286ce6820ba
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 16:39:04 2019 +0800

Squashed commit of the following:

commit c1adeae4557977a31e96c42ea7b87bf29930384e
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 16:35:57 2019 +0800

清除时若页面为慢病内容则重新获取模板

commit 3dfb8126b40c7475f01f89f7afea4f88d5e6ef2e
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 15:25:24 2019 +0800

Squashed commit of the following:

commit 78b89e31fd0456bb7e91095afdcf7a7577f9e515
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 15:15:42 2019 +0800

Squashed commit of the following:

commit ae9394cc73983ca2fd3f40ce9efd18190597a712
Merge: e60c29f 30e6fd9
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 14:56:25 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit e60c29f6fc2f280670dacad8ddba5301c7dbcd00
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 14:56:09 2019 +0800

现病史手动输入存值;量表内容根据type展示

commit 522c7445609fa8340b6080debf72f79f693f3393
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 15:10:39 2019 +0800

现病史多选展开逻辑处理

commit 936e7189ccd3bd7b1baeed70066356434f8ba81f
Merge: 30e6fd9 569c75c
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 17:39:48 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into dev/new1

commit 569c75c4ef0d00b1c18856e237fcc384a1231248
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 17:09:46 2019 +0800

Squashed commit of the following:

commit 789538c57c5bc65feceb945f6e52211ae7599411
Merge: 1e5597f f85a0d0
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 17:07:55 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 1e5597f3e99480d8f87712844a131ae059738369
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 17:07:44 2019 +0800

历史病例未选择病例直接点确定的情况处理

commit f85a0d0d9230445337d5100a40cd0a03cc6ce5d6
Merge: b2b2787 d6499d5
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 16:38:34 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit b2b2787c6f6aadae1b35e5e4919f398ed9382f6e
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 16:37:00 2019 +0800

不良反应初始化选中状态

commit d6499d5ffb3dd05813a2ee53d733b1fde0665a97
Merge: 2a9ae58 0d787a3
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 14:56:47 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 2a9ae58a665feac264d4b047e1fb4329bffbf33e
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 14:56:36 2019 +0800

量表项显示分数;未点计算直接关闭量表保存之前的选中项;量表结果同步

commit 0d787a315235c3d60c6bef05ac6404acda6be879
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 14:48:13 2019 +0800

查体展开bug修改1097

commit 3598f0386e32b1736ca5d986ed8a4dbb4837d8d8
Merge: dc138c4 e08b366
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 14:26:13 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit dc138c43658be0cf67569b993e2fbe1f480ec703
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 14:26:04 2019 +0800

样式修改

commit e08b366be2e796f71d46646f2de7229420e46c39
Merge: e7dbad6 01290a6
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 13:56:36 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit e7dbad60ebfcc0b8d70944dc2a8ab74550532b0f
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 13:56:23 2019 +0800

判断是否存在治疗方案添加历史病历容错

commit 18034574b6841b88ce5f8e29598df1a1fffeb41f
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 13:27:30 2019 +0800

推荐结果历史显示bug修改1107

commit 01290a66bab66b77e22a906c52ea04c6c18d49f8
Merge: a3b0f48 27eb150
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 13:12:01 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit a3b0f488434b5012ca9025b082cb720687e3393b
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 13:11:52 2019 +0800

历史病例点击颜色修改,主诉共用诊断历史病例

commit 27eb15092f711bc754d6a869baaa0ae9600bfec7
Merge: 1c16cce 29169ab
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:39:23 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 1c16cce4bd94bb18a4fad453d0baabcf46c04757
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:19:47 2019 +0800

开单项显示到医嘱

commit 5b09301416bcec54d7af0cee7dfa846a1e72ad23
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:19:37 2019 +0800

修改核心指标静态信息类型

commit 29169ab80ae62aae61d7081a615691ba25999a31
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 11:03:41 2019 +0800

慢病bug修改

commit 757123ddc349b5857e812c358913517c4ae1a2f4
Merge: 05acdd4 7534d10
Author: Luolei <16657115156@163.com>
Date: Mon Apr 29 15:00:48 2019 +0800

Merge branch 'Chronic-ll' into ChronicMag

commit 7534d1002b2449b7826a8e405924dd5c0d8c8409
Author: Luolei <16657115156@163.com>
Date: Mon Apr 29 14:57:13 2019 +0800

彈窗可移動添加

commit 05acdd4c1baa4957fbaf9f8fb1881c9412166f58
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 14:44:50 2019 +0800

量表计算无结果提示

commit 84c5a28777a7f268d0e7a77298ecff1d8192bb3a
Merge: 09481b6 dd9204c
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:47:46 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 09481b6bdaea5b66ccfac950d432f92f7b7776d7
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:47:19 2019 +0800

评估容错

commit dd9204c919b350dbd69f437dfc404b3edbdf9117
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:31:49 2019 +0800

治疗方案是否存在判断条件

commit f32a03ee9c77b50dfe4389e3682a7044c5b0b5de
Merge: 0fcb618 6b6ff32
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:22:24 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 69fd5d61fd0a592b8f83c5fb3fb2a54768f89f41
Merge: 6a23ae1 d3f6e01
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:22:06 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into ChronicMag

commit 6a23ae1ae9fd07ed2e8200041ae72612455e4477
Merge: a3fb1eb 19fbb89
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:21:58 2019 +0800

Merge branch 'dev/new1' into ChronicMag

commit 0fcb6186e5139904bf19ad5b44bb3ec6bff67c45
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:21:55 2019 +0800

不良反应静态知识

commit a3fb1eba78caa297475c85f948326dc0d0d88c88
Merge: 7bcef57 6b6ff32
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:18:17 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 7bcef571328c906461251340e933ecef9bea2a7a
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:18:07 2019 +0800

查体无模板报错bug修改

commit 6b6ff326a1434a3222e67ee1193fdc52541137e0
Author: liucf <liucf@zjlantone.com>
Date: Mon Apr 29 11:35:58 2019 +0800

Squashed commit of the following:

commit 6332a2a78617b9399cb8584a3ae3a7492c5d230d
Author: liucf <liucf@zjlantone.com>
Date: Mon Apr 29 11:27:20 2019 +0800

历史病例接口无数据时逻辑处理

commit bf091afd13dc29e7d123357f81dd23adfb141d97
Author: liucf <liucf@zjlantone.com>
Date: Sun Apr 28 13:37:18 2019 +0800

合并chronicMag分支

commit ad43cd7703c9abd9218d39bc5ca2ecbc55c83565
Author: liucf <liucf@zjlantone.com>
Date: Sun Apr 28 13:19:13 2019 +0800

合并远程分支

commit 1a61bc8860afd4be87a796593aa98daf25f38021
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 15:34:04 2019 +0800

右侧推送量表根据id展示结果,去掉index

commit e9bb69c1eb062e1c8a3d7d75db2552ddd62fba3d
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 14:21:35 2019 +0800

合并远程分支

commit 2b2d2395be20378bd90ece24d9364985a8ae4444
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 14:06:36 2019 +0800

量表容错处理

commit ac70fb283eec5b0601898a419eea43e07053be3d
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 13:25:44 2019 +0800

合并远程分支

commit f7c7a75edba7282049d51d0f9dae1ff3aeba9f7b
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 11:42:05 2019 +0800

解决量表计算时页面更新问题

commit 269d9cfbed90b980935e3f949a2e75246308519e
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 09:57:50 2019 +0800

合并远程分支

commit b0d8e931c7d945c53c5454e30e4a0f59e278f48b
Author: liucf <liucf@zjlantone.com>
Date: Thu Apr 25 20:19:19 2019 +0800

慢病诊断入口

commit a5cb935038e2e63699d1f2f250322b759635eb82
Author: liucf <liucf@zjlantone.com>
Date: Thu Apr 25 16:50:03 2019 +0800

分组小计结果处理

# Conflicts:
# src/components/DiagnosticList/index.jsx
# src/components/ScaleTable/index.jsx
# src/containers/AssessResult.js
# src/containers/DiagnosticList.js
# src/containers/MainSuit.js

commit 082b60e12126a46c18d088188c87e308061064d7
Author: zhangxc <zhangxc@zjlantone.com>
Date: Sun Apr 28 17:22:07 2019 +0800

修改右侧推送滚动条

# Conflicts:
# src/components/DiagnosticList/index.jsx

commit bbe3e0ff004791659bcbaf7ab4bbf28fb9eed814
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 15:03:10 2019 +0800

Squashed commit of the following:

commit d6499d5ffb3dd05813a2ee53d733b1fde0665a97
Merge: 2a9ae58 0d787a3
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 14:56:47 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 2a9ae58a665feac264d4b047e1fb4329bffbf33e
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 14:56:36 2019 +0800

量表项显示分数;未点计算直接关闭量表保存之前的选中项;量表结果同步

commit 0d787a315235c3d60c6bef05ac6404acda6be879
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 14:48:13 2019 +0800

查体展开bug修改1097

commit 3598f0386e32b1736ca5d986ed8a4dbb4837d8d8
Merge: dc138c4 e08b366
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 14:26:13 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit dc138c43658be0cf67569b993e2fbe1f480ec703
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 14:26:04 2019 +0800

样式修改

commit e08b366be2e796f71d46646f2de7229420e46c39
Merge: e7dbad6 01290a6
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 13:56:36 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit e7dbad60ebfcc0b8d70944dc2a8ab74550532b0f
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 13:56:23 2019 +0800

判断是否存在治疗方案添加历史病历容错

commit 18034574b6841b88ce5f8e29598df1a1fffeb41f
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Apr 30 13:27:30 2019 +0800

推荐结果历史显示bug修改1107

commit 01290a66bab66b77e22a906c52ea04c6c18d49f8
Merge: a3b0f48 27eb150
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 13:12:01 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit a3b0f488434b5012ca9025b082cb720687e3393b
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 13:11:52 2019 +0800

历史病例点击颜色修改,主诉共用诊断历史病例

commit 27eb15092f711bc754d6a869baaa0ae9600bfec7
Merge: 1c16cce 29169ab
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:39:23 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 1c16cce4bd94bb18a4fad453d0baabcf46c04757
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:19:47 2019 +0800

开单项显示到医嘱

commit 5b09301416bcec54d7af0cee7dfa846a1e72ad23
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:19:37 2019 +0800

修改核心指标静态信息类型

commit 29169ab80ae62aae61d7081a615691ba25999a31
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 11:03:41 2019 +0800

慢病bug修改

commit 757123ddc349b5857e812c358913517c4ae1a2f4
Merge: 05acdd4 7534d10
Author: Luolei <16657115156@163.com>
Date: Mon Apr 29 15:00:48 2019 +0800

Merge branch 'Chronic-ll' into ChronicMag

commit 7534d1002b2449b7826a8e405924dd5c0d8c8409
Author: Luolei <16657115156@163.com>
Date: Mon Apr 29 14:57:13 2019 +0800

彈窗可移動添加

commit 05acdd4c1baa4957fbaf9f8fb1881c9412166f58
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 14:44:50 2019 +0800

量表计算无结果提示

commit 84c5a28777a7f268d0e7a77298ecff1d8192bb3a
Merge: 09481b6 dd9204c
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:47:46 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 09481b6bdaea5b66ccfac950d432f92f7b7776d7
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:47:19 2019 +0800

评估容错

commit dd9204c919b350dbd69f437dfc404b3edbdf9117
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:31:49 2019 +0800

治疗方案是否存在判断条件

commit f32a03ee9c77b50dfe4389e3682a7044c5b0b5de
Merge: 0fcb618 6b6ff32
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:22:24 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 69fd5d61fd0a592b8f83c5fb3fb2a54768f89f41
Merge: 6a23ae1 d3f6e01
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:22:06 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into ChronicMag

commit 6a23ae1ae9fd07ed2e8200041ae72612455e4477
Merge: a3fb1eb 19fbb89
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:21:58 2019 +0800

Merge branch 'dev/new1' into ChronicMag

commit 0fcb6186e5139904bf19ad5b44bb3ec6bff67c45
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:21:55 2019 +0800

不良反应静态知识

commit a3fb1eba78caa297475c85f948326dc0d0d88c88
Merge: 7bcef57 6b6ff32
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:18:17 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 7bcef571328c906461251340e933ecef9bea2a7a
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:18:07 2019 +0800

查体无模板报错bug修改

commit 6b6ff326a1434a3222e67ee1193fdc52541137e0
Author: liucf <liucf@zjlantone.com>
Date: Mon Apr 29 11:35:58 2019 +0800

Squashed commit of the following:

commit 6332a2a78617b9399cb8584a3ae3a7492c5d230d
Author: liucf <liucf@zjlantone.com>
Date: Mon Apr 29 11:27:20 2019 +0800

历史病例接口无数据时逻辑处理

commit bf091afd13dc29e7d123357f81dd23adfb141d97
Author: liucf <liucf@zjlantone.com>
Date: Sun Apr 28 13:37:18 2019 +0800

合并chronicMag分支

commit ad43cd7703c9abd9218d39bc5ca2ecbc55c83565
Author: liucf <liucf@zjlantone.com>
Date: Sun Apr 28 13:19:13 2019 +0800

合并远程分支

commit 1a61bc8860afd4be87a796593aa98daf25f38021
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 15:34:04 2019 +0800

右侧推送量表根据id展示结果,去掉index

commit e9bb69c1eb062e1c8a3d7d75db2552ddd62fba3d
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 14:21:35 2019 +0800

合并远程分支

commit 2b2d2395be20378bd90ece24d9364985a8ae4444
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 14:06:36 2019 +0800

量表容错处理

commit ac70fb283eec5b0601898a419eea43e07053be3d
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 13:25:44 2019 +0800

合并远程分支

commit f7c7a75edba7282049d51d0f9dae1ff3aeba9f7b
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 11:42:05 2019 +0800

解决量表计算时页面更新问题

commit 269d9cfbed90b980935e3f949a2e75246308519e
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 09:57:50 2019 +0800

合并远程分支

commit b0d8e931c7d945c53c5454e30e4a0f59e278f48b
Author: liucf <liucf@zjlantone.com>
Date: Thu Apr 25 20:19:19 2019 +0800

慢病诊断入口

commit a5cb935038e2e63699d1f2f250322b759635eb82
Author: liucf <liucf@zjlantone.com>
Date: Thu Apr 25 16:50:03 2019 +0800

分组小计结果处理

# Conflicts:
# src/components/DiagnosticList/index.jsx
# src/components/ScaleTable/index.jsx
# src/containers/AssessResult.js
# src/containers/DiagnosticList.js
# src/containers/MainSuit.js

commit 082b60e12126a46c18d088188c87e308061064d7
Author: zhangxc <zhangxc@zjlantone.com>
Date: Sun Apr 28 17:22:07 2019 +0800

修改右侧推送滚动条

# Conflicts:
# src/components/CheckBody/index.jsx
# src/components/ChronicInfo/index.jsx
# src/components/DiagnosticList/index.jsx

commit 2ff73f62bc62f79b568fb77ed3f2d7f5c860eed0
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 13:16:58 2019 +0800

Squashed commit of the following:

commit 01290a66bab66b77e22a906c52ea04c6c18d49f8
Merge: a3b0f48 27eb150
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 13:12:01 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit a3b0f488434b5012ca9025b082cb720687e3393b
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 13:11:52 2019 +0800

历史病例点击颜色修改,主诉共用诊断历史病例

commit 27eb15092f711bc754d6a869baaa0ae9600bfec7
Merge: 1c16cce 29169ab
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:39:23 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 1c16cce4bd94bb18a4fad453d0baabcf46c04757
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:19:47 2019 +0800

开单项显示到医嘱

commit 5b09301416bcec54d7af0cee7dfa846a1e72ad23
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Apr 30 11:19:37 2019 +0800

修改核心指标静态信息类型

commit 29169ab80ae62aae61d7081a615691ba25999a31
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 11:03:41 2019 +0800

慢病bug修改

commit 757123ddc349b5857e812c358913517c4ae1a2f4
Merge: 05acdd4 7534d10
Author: Luolei <16657115156@163.com>
Date: Mon Apr 29 15:00:48 2019 +0800

Merge branch 'Chronic-ll' into ChronicMag

commit 7534d1002b2449b7826a8e405924dd5c0d8c8409
Author: Luolei <16657115156@163.com>
Date: Mon Apr 29 14:57:13 2019 +0800

彈窗可移動添加

commit 05acdd4c1baa4957fbaf9f8fb1881c9412166f58
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 14:44:50 2019 +0800

量表计算无结果提示

commit 84c5a28777a7f268d0e7a77298ecff1d8192bb3a
Merge: 09481b6 dd9204c
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:47:46 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 09481b6bdaea5b66ccfac950d432f92f7b7776d7
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:47:19 2019 +0800

评估容错

commit dd9204c919b350dbd69f437dfc404b3edbdf9117
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:31:49 2019 +0800

治疗方案是否存在判断条件

commit f32a03ee9c77b50dfe4389e3682a7044c5b0b5de
Merge: 0fcb618 6b6ff32
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:22:24 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 69fd5d61fd0a592b8f83c5fb3fb2a54768f89f41
Merge: 6a23ae1 d3f6e01
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:22:06 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into ChronicMag

commit 6a23ae1ae9fd07ed2e8200041ae72612455e4477
Merge: a3fb1eb 19fbb89
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:21:58 2019 +0800

Merge branch 'dev/new1' into ChronicMag

commit 0fcb6186e5139904bf19ad5b44bb3ec6bff67c45
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:21:55 2019 +0800

不良反应静态知识

commit a3fb1eba78caa297475c85f948326dc0d0d88c88
Merge: 7bcef57 6b6ff32
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:18:17 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 7bcef571328c906461251340e933ecef9bea2a7a
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:18:07 2019 +0800

查体无模板报错bug修改

commit 6b6ff326a1434a3222e67ee1193fdc52541137e0
Author: liucf <liucf@zjlantone.com>
Date: Mon Apr 29 11:35:58 2019 +0800

Squashed commit of the following:

commit 6332a2a78617b9399cb8584a3ae3a7492c5d230d
Author: liucf <liucf@zjlantone.com>
Date: Mon Apr 29 11:27:20 2019 +0800

历史病例接口无数据时逻辑处理

commit bf091afd13dc29e7d123357f81dd23adfb141d97
Author: liucf <liucf@zjlantone.com>
Date: Sun Apr 28 13:37:18 2019 +0800

合并chronicMag分支

commit ad43cd7703c9abd9218d39bc5ca2ecbc55c83565
Author: liucf <liucf@zjlantone.com>
Date: Sun Apr 28 13:19:13 2019 +0800

合并远程分支

commit 1a61bc8860afd4be87a796593aa98daf25f38021
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 15:34:04 2019 +0800

右侧推送量表根据id展示结果,去掉index

commit e9bb69c1eb062e1c8a3d7d75db2552ddd62fba3d
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 14:21:35 2019 +0800

合并远程分支

commit 2b2d2395be20378bd90ece24d9364985a8ae4444
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 14:06:36 2019 +0800

量表容错处理

commit ac70fb283eec5b0601898a419eea43e07053be3d
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 13:25:44 2019 +0800

合并远程分支

commit f7c7a75edba7282049d51d0f9dae1ff3aeba9f7b
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 11:42:05 2019 +0800

解决量表计算时页面更新问题

commit 269d9cfbed90b980935e3f949a2e75246308519e
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 09:57:50 2019 +0800

合并远程分支

commit b0d8e931c7d945c53c5454e30e4a0f59e278f48b
Author: liucf <liucf@zjlantone.com>
Date: Thu Apr 25 20:19:19 2019 +0800

慢病诊断入口

commit a5cb935038e2e63699d1f2f250322b759635eb82
Author: liucf <liucf@zjlantone.com>
Date: Thu Apr 25 16:50:03 2019 +0800

分组小计结果处理

# Conflicts:
# src/components/DiagnosticList/index.jsx
# src/components/ScaleTable/index.jsx
# src/containers/AssessResult.js
# src/containers/DiagnosticList.js
# src/containers/MainSuit.js

commit 082b60e12126a46c18d088188c87e308061064d7
Author: zhangxc <zhangxc@zjlantone.com>
Date: Sun Apr 28 17:22:07 2019 +0800

修改右侧推送滚动条

commit 183aa7003319c09d31e84adf5022bededdf8cda0
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 11:06:10 2019 +0800

Squashed commit of the following:

commit 29169ab80ae62aae61d7081a615691ba25999a31
Author: liucf <liucf@zjlantone.com>
Date: Tue Apr 30 11:03:41 2019 +0800

慢病bug修改

commit 757123ddc349b5857e812c358913517c4ae1a2f4
Merge: 05acdd4 7534d10
Author: Luolei <16657115156@163.com>
Date: Mon Apr 29 15:00:48 2019 +0800

Merge branch 'Chronic-ll' into ChronicMag

commit 7534d1002b2449b7826a8e405924dd5c0d8c8409
Author: Luolei <16657115156@163.com>
Date: Mon Apr 29 14:57:13 2019 +0800

彈窗可移動添加

commit 05acdd4c1baa4957fbaf9f8fb1881c9412166f58
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 14:44:50 2019 +0800

量表计算无结果提示

commit 84c5a28777a7f268d0e7a77298ecff1d8192bb3a
Merge: 09481b6 dd9204c
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:47:46 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 09481b6bdaea5b66ccfac950d432f92f7b7776d7
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:47:19 2019 +0800

评估容错

commit dd9204c919b350dbd69f437dfc404b3edbdf9117
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:31:49 2019 +0800

治疗方案是否存在判断条件

commit f32a03ee9c77b50dfe4389e3682a7044c5b0b5de
Merge: 0fcb618 6b6ff32
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:22:24 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit 69fd5d61fd0a592b8f83c5fb3fb2a54768f89f41
Merge: 6a23ae1 d3f6e01
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:22:06 2019 +0800

Merge remote-tracking branch 'origin/dev/new1' into ChronicMag

commit 6a23ae1ae9fd07ed2e8200041ae72612455e4477
Merge: a3fb1eb 19fbb89
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:21:58 2019 +0800

Merge branch 'dev/new1' into ChronicMag

commit 0fcb6186e5139904bf19ad5b44bb3ec6bff67c45
Author: zhangxc <zhangxc@zjlantone.com>
Date: Mon Apr 29 13:21:55 2019 +0800

不良反应静态知识

commit a3fb1eba78caa297475c85f948326dc0d0d88c88
Merge: 7bcef57 6b6ff32
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:18:17 2019 +0800

Merge remote-tracking branch 'origin/ChronicMag' into ChronicMag

commit 7bcef571328c906461251340e933ecef9bea2a7a
Author: zhouna <zhouna@zjlantone.com>
Date: Mon Apr 29 13:18:07 2019 +0800

查体无模板报错bug修改

commit 6b6ff326a1434a3222e67ee1193fdc52541137e0
Author: liucf <liucf@zjlantone.com>
Date: Mon Apr 29 11:35:58 2019 +0800

Squashed commit of the following:

commit 6332a2a78617b9399cb8584a3ae3a7492c5d230d
Author: liucf <liucf@zjlantone.com>
Date: Mon Apr 29 11:27:20 2019 +0800

历史病例接口无数据时逻辑处理

commit bf091afd13dc29e7d123357f81dd23adfb141d97
Author: liucf <liucf@zjlantone.com>
Date: Sun Apr 28 13:37:18 2019 +0800

合并chronicMag分支

commit ad43cd7703c9abd9218d39bc5ca2ecbc55c83565
Author: liucf <liucf@zjlantone.com>
Date: Sun Apr 28 13:19:13 2019 +0800

合并远程分支

commit 1a61bc8860afd4be87a796593aa98daf25f38021
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 15:34:04 2019 +0800

右侧推送量表根据id展示结果,去掉index

commit e9bb69c1eb062e1c8a3d7d75db2552ddd62fba3d
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 14:21:35 2019 +0800

合并远程分支

commit 2b2d2395be20378bd90ece24d9364985a8ae4444
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 14:06:36 2019 +0800

量表容错处理

commit ac70fb283eec5b0601898a419eea43e07053be3d
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 13:25:44 2019 +0800

合并远程分支

commit f7c7a75edba7282049d51d0f9dae1ff3aeba9f7b
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 11:42:05 2019 +0800

解决量表计算时页面更新问题

commit 269d9cfbed90b980935e3f949a2e75246308519e
Author: liucf <liucf@zjlantone.com>
Date: Fri Apr 26 09:57:50 2019 +0800

合并远程分支

commit b0d8e931c7d945c53c5454e30e4a0f59e278f48b
Author: liucf <liucf@zjlantone.com>
Date: Thu Apr 25 20:19:19 2019 +0800

慢病诊断入口

commit a5cb935038e2e63699d1f2f250322b759635eb82
Author: liucf <liucf@zjlantone.com>
Date: Thu Apr 25 16:50:03 2019 +0800

分组小计结果处理

# Conflicts:
# src/components/DiagnosticList/index.jsx
# src/components/ScaleTable/index.jsx
# src/containers/AssessResult.js
# src/containers/DiagnosticList.js
# src/containers/MainSuit.js

commit 082b60e12126a46c18d088188c87e308061064d7
Author: zhangxc <zhangxc@zjlantone.com>
Date: Sun Apr 28 17:22:07 2019 +0800

修改右侧推送滚动条

# Conflicts:
# src/components/CurrentIll/index.jsx

commit ae9394cc73983ca2fd3f40ce9efd18190597a712
Merge: e60c29f 30e6fd9
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 14:56:25 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit e60c29f6fc2f280670dacad8ddba5301c7dbcd00
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 14:56:09 2019 +0800

现病史手动输入存值;量表内容根据type展示

commit 78b89e31fd0456bb7e91095afdcf7a7577f9e515
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 15:15:42 2019 +0800

Squashed commit of the following:

commit ae9394cc73983ca2fd3f40ce9efd18190597a712
Merge: e60c29f 30e6fd9
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 14:56:25 2019 +0800

Merge branch 'ChronicMag' of http://192.168.2.236:10080/zhouna/newICSS into ChronicMag

commit e60c29f6fc2f280670dacad8ddba5301c7dbcd00
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 14:56:09 2019 +0800

现病史手动输入存值;量表内容根据type展示

commit 522c7445609fa8340b6080debf72f79f693f3393
Author: liucf <liucf@zjlantone.com>
Date: Sun May 5 15:10:39 2019 +0800

现病史多选展开逻辑处理

# Conflicts:
# src/common/js/func.js
# src/components/ChronicInfo/index.less
# src/components/PreviewBody/index.jsx
# src/containers/AssistCheck.js
# src/containers/MainSuit.js
# src/utils/tools.js

liucf 6 년 전
부모
커밋
e93231b4e2
74개의 변경된 파일769개의 추가작업 그리고 419개의 파일을 삭제
  1. 1 0
      src/common/components/ConfirmModal/index.less
  2. 1 1
      src/common/components/EditableSpan/index.jsx
  3. 16 3
      src/common/components/InlineTag/index.jsx
  4. 1 1
      src/common/components/MiniToast/index.less
  5. 1 1
      src/common/components/Textarea/index.jsx
  6. BIN
      src/common/images/1.png
  7. BIN
      src/common/images/2.png
  8. BIN
      src/common/images/3.png
  9. BIN
      src/common/images/4.png
  10. BIN
      src/common/images/5.png
  11. BIN
      src/common/images/6.png
  12. BIN
      src/common/images/7.png
  13. BIN
      src/common/images/8.png
  14. 39 0
      src/common/less/variables.less
  15. 4 1
      src/components/Advice/Textarea/index.jsx
  16. 3 3
      src/components/Advice/index.jsx
  17. 36 17
      src/components/AssessResult/AssessHis/index.jsx
  18. 2 1
      src/components/AssessResult/AssessHis/index.less
  19. 38 15
      src/components/AssessResult/ChartItem/index.jsx
  20. 74 30
      src/components/AssessResult/ScaleItem/index.jsx
  21. 40 14
      src/components/AssessResult/index.jsx
  22. 31 2
      src/components/AssessResult/index.less
  23. 7 14
      src/components/CheckBody/index.jsx
  24. 102 93
      src/components/ChronicInfo/index.jsx
  25. 2 14
      src/components/ChronicInfo/index.less
  26. 16 8
      src/components/DiagnosticList/index.jsx
  27. 1 0
      src/components/DiagnosticList/index.less
  28. 1 0
      src/components/HistoryCaseContainer/HistoryList/index.jsx
  29. 1 0
      src/components/HistoryCaseContainer/index.jsx
  30. 19 3
      src/components/InfoTitle/index.jsx
  31. 6 6
      src/components/NumberDrop/index.jsx
  32. 2 2
      src/components/PreviewBody/index.jsx
  33. 38 34
      src/components/PushItems/DetailsModal/index.jsx
  34. 10 2
      src/components/PushItems/DetailsModal/index.less
  35. 1 1
      src/components/PushItems/index.jsx
  36. 8 3
      src/components/PushItems/index.less
  37. 3 5
      src/components/ScaleTableHis/index.jsx
  38. 12 14
      src/components/Treat/AdverseReactions/index.jsx
  39. 17 2
      src/components/Treat/AdverseReactions/index.less
  40. 0 4
      src/components/Treat/DrugTreat/index.jsx
  41. 2 0
      src/components/Treat/DrugTreat/index.less
  42. 1 0
      src/components/Treat/index.less
  43. 4 4
      src/components/TreatDesc/DrugInfo/index.jsx
  44. 1 0
      src/components/TreatDesc/DrugInfo/index.less
  45. BIN
      src/components/TreatDesc/img/packUp.png
  46. 5 5
      src/components/TreatDesc/index.jsx
  47. 4 3
      src/components/TreatDesc/index.less
  48. 2 0
      src/config/index.js
  49. 2 1
      src/containers/AdviceContainer.js
  50. 13 21
      src/containers/AssessResult.js
  51. 2 16
      src/containers/AssessResultHis.js
  52. 1 1
      src/containers/AssistCheck.js
  53. 2 1
      src/containers/CheckBody.js
  54. 21 17
      src/containers/ChronicInfo.js
  55. 3 1
      src/containers/DiagnosticList.js
  56. 2 0
      src/containers/OperationContainer.js
  57. 1 1
      src/containers/PushItemsContainer.js
  58. 5 1
      src/store/actions/checkBody.js
  59. 6 1
      src/store/actions/currentIll.js
  60. 5 1
      src/store/actions/mainSuit.js
  61. 5 1
      src/store/actions/otherHistory.js
  62. 22 7
      src/store/actions/pushMessage.js
  63. 23 3
      src/store/actions/treat.js
  64. 11 6
      src/store/async-actions/fetchModules.js
  65. 1 1
      src/store/async-actions/patInfo.js
  66. 4 1
      src/store/async-actions/print.js
  67. 8 4
      src/store/async-actions/pushMessage.js
  68. 17 6
      src/store/async-actions/treat.js
  69. 23 6
      src/store/reducers/assessResult.js
  70. 2 11
      src/store/reducers/pushMessage.js
  71. 11 2
      src/store/reducers/treat.js
  72. 3 1
      src/store/types/assessResult.js
  73. 2 1
      src/store/types/treat.js
  74. 22 1
      src/utils/tools.js

+ 1 - 0
src/common/components/ConfirmModal/index.less

@@ -28,6 +28,7 @@
     right: 0px;
     width: 40px;
     height: 40px;
+    cursor: pointer;
 }
 
 .modal-content {

+ 1 - 1
src/common/components/EditableSpan/index.jsx

@@ -82,7 +82,7 @@ class EditableSpan extends Component{
     this.setState({
       labelVal:text1
     });
-
+    
     const that = this;
     handleChange&&handleChange({text1,boxMark,i});
 

+ 16 - 3
src/common/components/InlineTag/index.jsx

@@ -21,7 +21,7 @@ class InlineTag extends Component {
     this.$span = React.createRef();
     this.state = {
       editable:false,
-      value:props.value
+      value:props.value||''
     };
     this.changeToEdit = this.changeToEdit.bind(this);
     this.changeToClick = this.changeToClick.bind(this);
@@ -47,17 +47,30 @@ class InlineTag extends Component {
     });
   }
   handleInput(e){       //输入时保存临时值,在修改灰显为黑色时判断用
+    const {handleInput,ikey,prefix,suffix} = this.props;
     const text = e.target.innerText || e.target.innerHTML;
+    // 内容全部删除时,要把空值存到store,否则会遗留最后一个字且为灰色无法删除
+    if(!text){
+      this.$span.current.innerText?(this.$span.current.innerText=''):(this.$span.current.innerHTML='');      //修改生成文字变成输入的2倍bug
+      handleInput&&handleInput({text:text,ikey,prefix,suffix});
+      this.setState({
+        value:" "
+      });
+      return
+    }
     this.setState({
       value:text
     });
-   // e.target.innerText = text;
+   // e.target.innerText = text;  
   }
   handleBlur(e){         //鼠标离开是保存值到store中
     const {value} = this.state;
     const {handleInput,ikey,prefix,suffix} = this.props;
     this.$span.current.innerText?(this.$span.current.innerText=''):(this.$span.current.innerHTML='');      //修改生成文字变成输入的2倍bug
-    handleInput&&handleInput({text:value,ikey,prefix,suffix});
+    handleInput&&handleInput({text:value.trim(),ikey,prefix,suffix});
+    this.setState({
+      value:value.trim()
+    });
   }
   handleFocus(e){
     e.stopPropagation();

+ 1 - 1
src/common/components/MiniToast/index.less

@@ -3,7 +3,7 @@
   top:27px;
   width: 388px;
   background: #fff;
-  z-index: 66;
+  z-index: 40;
   border: 1px solid #EAEDF1;
   box-shadow: 0 5px 10px 0 rgba(0,0,0,0.10);
   .infoTitle{

+ 1 - 1
src/common/components/Textarea/index.jsx

@@ -23,7 +23,7 @@ class Textarea extends Component {
     const {handleFocus,fuzhen,handleInput,isChronic} = this.props;
     handleFocus&&handleFocus();         //其他史、查体获取数据的方法
     if(fuzhen&& !isChronic.name&&!(this.$dom.current.innerText?this.$dom.current.innerText:this.$dom.current.innerHTML)){
-      const text = config.currentText.replace("(**)",fuzhen);
+      const text = config.currentText.replace("(**)",fuzhen.replace(";",''));
       this.$dom.current.innerText?(this.$dom.current.innerText = text):(this.$dom.current.innerHTML = text);
       handleInput&&handleInput({text});
     }

BIN
src/common/images/1.png


BIN
src/common/images/2.png


BIN
src/common/images/3.png


BIN
src/common/images/4.png


BIN
src/common/images/5.png


BIN
src/common/images/6.png


BIN
src/common/images/7.png


BIN
src/common/images/8.png


+ 39 - 0
src/common/less/variables.less

@@ -201,3 +201,42 @@
   -ms-user-select: none;
   user-select: none;
 }
+// 加入病历
+.add-record{
+  float: right;
+  text-align: left;
+  padding-left: 5px;
+  cursor: default;
+  display: inline-block;
+  width: 99px;
+  height: 26px;
+  line-height: 26px;
+  border: 1px solid #EAEDF1;
+  border-radius: 4px;
+  font-size: 12px;
+  img{
+    vertical-align: middle;
+    width: 12px;
+    margin:-3px 3px 0 0;
+  }
+}
+.disable-add{
+  float: right;
+  text-align: left;
+  padding-left: 5px;
+  cursor: default;
+  display: inline-block;
+  width: 99px;
+  height: 26px;
+  line-height: 26px;
+  border: 1px solid #EAEDF1;
+  border-radius: 4px;
+  font-size: 12px;
+  color: @placeholder-color;
+  img{
+    vertical-align: middle;
+    width: 12px;
+    margin:-3px 3px 0 0;
+    opacity: .5;
+  }
+}

+ 4 - 1
src/components/Advice/Textarea/index.jsx

@@ -30,7 +30,7 @@ class Textarea extends Component {
     return true;
   }
   componentWillReceiveProps(next){
-    const isRead = this.props.isRead;
+    const {isRead, typeConfig} = this.props;
     // if(next.isRead != isRead && next.value!=this.props.value){      //value对比解决复诊不显示bug
     //   next.value ? this.$dom.current.innerText = next.value :  this.$dom.current.innerText = next.value 
     //   // this.$dom.current.innerText?(this.$dom.current.innerText = next.value||''):(this.$dom.current.innerHTML = next.value||'');
@@ -39,6 +39,9 @@ class Textarea extends Component {
       next.value ? this.$dom.current.innerText = next.value :  this.$dom.current.innerText = '' 
       // this.$dom.current.innerText?(this.$dom.current.innerText = next.value||''):(this.$dom.current.innerHTML = next.value||'');
     }
+    if(next.typeConfig != typeConfig) {
+      this.$dom.current.innerText = '' 
+    }
   }
   componentDidMount(){
     const {value} = this.props;

+ 3 - 3
src/components/Advice/index.jsx

@@ -66,7 +66,7 @@ class Advice extends Component{
 
   render(){
     const {advice} = this.props.pushMessage;
-    const {isRead, isFirstMainDiag, followUp, hasFollowUp, saveFollowUp} = this.props
+    const {isRead, isFirstMainDiag, followUp, hasFollowUp, saveFollowUp, typeConfig} = this.props
     let scheme = advice.scheme && advice.scheme.map((item, index) => {
       return <p>{item.treatment.map((it,ii) =>{
         return(it.treatmentStr && it.treatmentStr.length > 0 ? 
@@ -93,7 +93,7 @@ class Advice extends Component{
             {/* {advice.commontreatment && <div className={style['treat-input']}  onInput={this.handleComTreatInput}  contentEditable={true} style = {{outline: 'none'}}></div>} */}
             {<Textarea value={advice.commontreatment} isRead={isRead} handleChangeAssistValue={this.handleComTreatInput} ></Textarea>}
         </div>}
-        {!isFirstMainDiag &&<div><FollowUp  noHeader="true" textStyle={{padding: '0 10px'}}  setFollowUp={saveFollowUp} followUp = {followUp} isRead={isRead}></FollowUp></div>}
+        {!isFirstMainDiag && followUp &&<div><FollowUp  noHeader="true" textStyle={{padding: '0 10px'}}  setFollowUp={saveFollowUp} followUp = {followUp} isRead={isRead}></FollowUp></div>}
         {advice.scheme && advice.scheme.length > 0 &&<div contentEditable='false' className={style['scheme']}>
           {advice.scheme && advice.scheme.length > 0  && <h1>治疗方案</h1>}
           {scheme}
@@ -101,7 +101,7 @@ class Advice extends Component{
         <div className={style['billing']} > 
             {/* {!advice.adviceInput && <Textarea value='' isRead={isRead} handleChangeAssistValue={this.handleAdviceInput} ></Textarea>}
             {advice.adviceInput && <Textarea value={advice.adviceInput} isRead={isRead} handleChangeAssistValue={this.handleAdviceInput} ></Textarea>} */}
-            <Textarea value={advice.adviceInput} isRead={isRead} handleChangeAssistValue={this.handleAdviceInput} ></Textarea>
+            <Textarea value={advice.adviceInput} isRead={isRead} handleChangeAssistValue={this.handleAdviceInput}  typeConfig={typeConfig}></Textarea>
         </div>
       </ItemBox>
     </div>

+ 36 - 17
src/components/AssessResult/AssessHis/index.jsx

@@ -1,7 +1,8 @@
 import React, { Component } from "react";
 import style from "./index.less";
-import { Radio,ComplexModal} from '@commonComp';
-import arrow from '@common/images/icon_tri_blue.png';
+import { Radio,ComplexModal,Notify} from '@commonComp';
+import arrow from '@common/images/show.png';
+import arrowDown from '@common/images/close.png';
 import loadingIcon from '@common/images/loading.gif';
 import ChooseItem from "../ChooseItem";
 import ScaleItem from "../ScaleItem";
@@ -18,7 +19,8 @@ class AssessResultHis extends Component {
       chartTimeTypes:{},      //图表模块
       tableName:'',
       tableId:'',
-      parentIndex:0
+      parentIndex:0,
+      showAssess:false,     //显示收起数据
     };
     this.showAssessFn = this.showAssessFn.bind(this);
     this.getAssessContent = this.getAssessContent.bind(this);
@@ -32,11 +34,17 @@ class AssessResultHis extends Component {
   }
   showAssessFn(){
     //获取历史评估数据
-    this.props.getAssessHis(this.props.inquiryId);
+    const {showAssess} = this.state;
+    this.setState({
+      showAssess:!showAssess
+    });
+    if(!showAssess){
+      this.props.getAssessHis(this.props.inquiryId);
+    }
   }
   handoutTypes(obj,item,i){
-    const {wholeAssess,wholeIndexs,chooseSelecteds,scaleResult,wholeResults} =obj;
-    const {getIndexData,inquiryDate,indexData,timeTypes} = this.props;
+    const {wholeAssess,wholeIndexs,chooseSelecteds,scaleResult,wholeResults,wholeAssessText,calcuResult,calcuValues,scaleItems} =obj;
+    const {getIndexData,inquiryDate,indexData,timeTypes,indexNames} = this.props;
     const {chartTimeTypes} = this.state;
     const name = item.regionName+":";
     const list = item.data&&item.data.rows;
@@ -45,16 +53,22 @@ class AssessResultHis extends Component {
         return <ScaleItem title={name}
                           data={wholeAssess}
                           showScaleFn={this.showScaleFn}
+                          showListScale={this.showScaleFn}
                           indexs={wholeIndexs}
                           formulaResult={scaleResult}
+                          calcuResult={calcuResult}
+                          calcuValues={calcuValues}
+                          scaleItems={scaleItems}
                           result={wholeResults}
                           disabled={true}
+                          text={wholeAssessText}
                           isRecommend={item.isRecommend}></ScaleItem>;
       case 1:     //数据来源于大数据
         return <ChooseItem title={name} data={list} selecteds={chooseSelecteds&&chooseSelecteds[i]} disabled={true}></ChooseItem>;
       case 10:    //数据来源于后台
         return <ChartItem title={name}
                           data={indexData||{}}
+                          names={indexNames||{}}
                           timeTypes={JSON.stringify(chartTimeTypes||{})=='{}'?timeTypes&&timeTypes[i]:chartTimeTypes[i]}
                           initFn={getIndexData}
                           endDate={inquiryDate}
@@ -76,16 +90,13 @@ class AssessResultHis extends Component {
       return data===null||(data&&data.length==0)?<p className={style['no-data']}>没有历史评估记录!</p>:'';
     }
   }
-  /*componentDidMount(){
-    const indexTimeTypes = JSON.parse(JSON.stringify(this.props.indexTimeTypes));
-    console.log(indexTimeTypes)
-    this.setState({
-      chartTimeTypes:indexTimeTypes
-    });
-  }*/
   showScaleFn(item,pid){
     const { list,inquiryId } = this.props;
     const obj = list&&list[inquiryId];
+    if(item&&item.id&&!(obj.scaleInfo&&obj.scaleInfo[item.id])){
+      Notify.info("未保存该量表数据");
+      return ;
+    }
     if(item){
       this.setState({
         tableName:item.name,
@@ -108,9 +119,16 @@ class AssessResultHis extends Component {
       operaSupport: false,
     });
   }
+  componentWillReceiveProps(next){
+    if(next.inquiryId!=this.props.inquiryId||!next.showHistoryCases){
+      this.setState({
+        showAssess:false
+      });
+    }
+  }
   render() {
     const { loading,isChronic, list,inquiryId } = this.props;
-    const {tableName,tableId,showScale} = this.state;
+    const {tableName,tableId,showScale,showAssess} = this.state;
     const obj = list&&list[inquiryId];
     const scaleFooter = <div className={style['footer']}>
       <span className={style['print']} onClick={this.onPrint}><img src={printIcon} alt=""/>打印</span>
@@ -118,11 +136,12 @@ class AssessResultHis extends Component {
     </div>;
     return <div className={style['assess-cont']}>
       <div className={style['assess-result']}>
-        <p className={style['enter']}>{isChronic?'管理和评估':'推荐'}结果:<a onClick={this.showAssessFn}>查看结果<img src={arrow} /></a></p>
+        <p className={style['enter']}>{isChronic?'管理和评估':'推荐'}结果:{showAssess?<a onClick={this.showAssessFn}>收起结果<img src={arrowDown} /></a>:<a onClick={this.showAssessFn}>查看结果<img src={arrow} /></a>}</p>
       </div>
-      <div className={style['assess-box']}>
+      <div className={style['assess-box']} style={{display:showAssess?'block':'none'}}>
         {loading?<p className={style['loading']}><img src={loadingIcon} alt='loading...'/></p>:''}
-        {this.getAssessContent()}
+        {/*以下必须做判断再执行getAssessContent,否则再次打开评估历史时图表显示有问题,因为提前渲染*/}
+        {showAssess?this.getAssessContent():''}
       </div>
       {showScale?<ComplexModal onclose={this.showScaleFn} footer={scaleFooter}
                                           title={tableName}

+ 2 - 1
src/components/AssessResult/AssessHis/index.less

@@ -9,7 +9,8 @@
     color: @blue;
     cursor: pointer;
     img{
-      margin-left: 4px;
+      vertical-align: text-top;
+      width: 18px;
     }
   }
 }

+ 38 - 15
src/components/AssessResult/ChartItem/index.jsx

@@ -81,16 +81,27 @@ class ChartItem extends Component {
     }
     handleChange&&handleChange(Object.assign(temp,{[i]:type}));
   }
-  getContainers(){
+  getContainers(obj){
     const timeTypes = this.props.timeTypes;
-    const range = this.getXAxisArr(config.chartDismen);
-    const obj = this.props.data[range[0]+range[range.length-1]];
     const {endDate} = this.props;
-    let arr = [];
+    let len = 1,idx=0;    //单个图表第一条线的在所有线中的index,用于显示不同的形状,打印使用
+    let arr = [],keys = Object.keys(obj||{});
     for(let i in obj){
-      arr.push(<Chart data={obj[i]} endDate={endDate} type={timeTypes&&timeTypes[i]} index={i} getXAxisArr={this.getXAxisArr} handleRangeChange={this.rangChange}/>)
+      idx = keys.findIndex((t)=>{return t==i});
+      len = idx==0?0:len+obj[keys[idx-1]].length;
+      arr.push(<Chart data={obj[i]} len={len} endDate={endDate} type={timeTypes&&timeTypes[i]} index={i} getXAxisArr={this.getXAxisArr} handleRangeChange={this.rangChange}/>)
     }
-    return arr;
+    return arr.length>0?arr:<p style={{color:'#acacac'}}>该模块暂无数据</p>;
+  }
+  getLegends(obj){
+    let arr = [],temp='',doms=[];
+    for(let i in obj){
+      arr = [...arr,...obj[i]];
+    }
+    arr.map((it,ix)=>{
+      doms.push(<div><img src={require('@common/images/'+(ix+1)+'.png')} /><span>{it}</span></div>);
+    });
+    return doms;
   }
   componentDidMount(){
     const {initFn,pindex} = this.props;
@@ -102,11 +113,17 @@ class ChartItem extends Component {
     initFn&&initFn({range,rangeType:type,pindex,getNew:true});
   }
   render() {
-    const {title} = this.props;
+    const {title,data,names} = this.props;
+    const range = this.getXAxisArr(config.chartDismen);
+    const obj = data[range[0]+range[range.length-1]];
+    const nameObj = names&&names[range[0]+range[range.length-1]];
     return <div className={style['assess-item']}>
       <h2>{title}</h2>
+      <div className={style['legend']}>
+        {this.getLegends(nameObj)}
+      </div>
       <div className={style['item-content']}>
-        {this.getContainers()}
+        {this.getContainers(obj)}
       </div>
     </div>;
   }
@@ -127,20 +144,19 @@ class Chart extends Component{
     this.timeSwitch = this.timeSwitch.bind(this);
   }
   drawChart(){
-    const {index,data,getXAxisArr,type,endDate} = this.props;
+    const {index,data,getXAxisArr,type,endDate,len} = this.props;
     const xAxis = getXAxisArr(type);
     const id = endDate?'chart'+endDate+index:'chart'+index;
     let series = [],names=[],inx=-1;
     let myChart = echarts.init(document.getElementById(id) ,null, {renderer: 'svg'});
     let xAxisArr = [...xAxis];
-
     const interval = {
       week:23,
       month:4,
       sixMonth:9,
       year:60
     };
-    data&&data.map((it)=>{
+    data&&data.map((it,j)=>{
       let values=new Array();
       let name='';
       it&&it.creatTime.map((x,i)=>{
@@ -160,7 +176,12 @@ class Chart extends Component{
         name: it.itemName,
         type: 'line',
         data: values,
-        showAllSymbol:true
+        showAllSymbol:true,
+        symbol:'image://'+require('@common/images/'+((len+j)%8+1)+'.png'),//config.chartSymbols[(len+j)%8],
+        symbolSize:10,
+        itemStyle:{
+          color:config.chartColors[(len+j)%8]
+        }
       });
     });
     // 指定图表的配置项和数据
@@ -172,11 +193,13 @@ class Chart extends Component{
         }
       },
       legend: {
-        data:names,
-        bottom:210
+        show:false
+        /*data:names,
+        padding:0,
+        itemHeight:16,*/
       },
       grid:{
-        top:80
+        top:40
       },
       xAxis: {
         type: 'category',

+ 74 - 30
src/components/AssessResult/ScaleItem/index.jsx

@@ -7,6 +7,7 @@ import checkIcon from '@common/images/check.png';
 import {ComplexModal,MiniToast,Radio} from '@commonComp';
 import Notify from '@commonComp/Notify';
 import {deepClone} from '@utils/tools';
+import { getFormulaResult } from '@store/async-actions/fetchModules'
 /**
  * 来源于页面选择
  *
@@ -56,9 +57,13 @@ class ScaleItem extends Component {
     this.closeOption();
   }
   handleShowScale(item,parentId,pIndex){
-    const {showScaleFn,closeAssess} = this.props;
+    const {showScaleFn,closeAssess,showListScale} = this.props;
     closeAssess&&closeAssess();    //关闭评估弹窗
-    showScaleFn&&showScaleFn(item,parentId,pIndex);        //显示量表
+    if(!parentId){                //显示量表
+      showListScale&&showListScale(item);
+    }else{
+      showScaleFn&&showScaleFn(item,parentId,pIndex);
+    }
 
   }
   handleRadio(item,parent){
@@ -70,8 +75,10 @@ class ScaleItem extends Component {
   }
   handleForRadio(id,idd, ind){
     const {formulaData} = this.state;
-    const obj = JSON.parse(JSON.stringify(formulaData));
+    const {calcuValues} = this.props;
+    const obj = deepClone(formulaData);
     const data = obj&&obj[id];
+    data.content = calcuValues&&calcuValues[id];
     if (data) {
       for(let z = 0; z <  data.content.details[idd].details.length; z++) {
         data.content.details[idd].details[z].state = 0;
@@ -84,7 +91,7 @@ class ScaleItem extends Component {
   }
   showFormula(id,it){
     const {formulaData} = this.state;
-    const obj = JSON.parse(JSON.stringify(formulaData)||{});
+    const obj = deepClone(formulaData)||{};
     if(!obj[id]){
       obj[id] = it;
     }
@@ -104,20 +111,18 @@ class ScaleItem extends Component {
       formulaId:null
     })
   }
-  calcuFormula(j, v, ii) { //计算公式计算
-    const { calcuFormula,chronicPushItems } = this.props;
+  calcuFormula() { //计算公式计算
+    const { calcuResult,handleCalcu } = this.props;
     const {formulaId,formulaData} = this.state;
-    const it =formulaData&&formulaData[formulaId];
-    let pushObj = deepClone(chronicPushItems);
-    pushObj[ii].details[j]=it;
-    let allHasInfo = true
+    let it=formulaData&&formulaData[formulaId];
+    let allHasInfo = true;
     for (let i = 0; i < it.content.details.length; i++) {
       if(it.content.details[i].controlType == 2) {  //输入框类型的有没有填值
         if(!it.content.details[i].value) {
           allHasInfo = false
         }
-      } else if(it.content.details[i].controlType == 1) {
-        let hasSelect = false
+      } else if(it.content.details[i].controlType == 0) {
+        let hasSelect = false;
         for( let z = 0; z <it.content.details[i].details.length; z++) {
           if(it.content.details[i].details[z].state == 1) {
             hasSelect= true
@@ -130,23 +135,26 @@ class ScaleItem extends Component {
 
     }
     if(allHasInfo) { //所有都有值,则计算
-      // delete it.content.resultz
-      let param = {
-        type: 2,
-        data: it,
-        disId: v.id,
-        pIndex: j,
-        ppIndex: ii,
-      }
-      calcuFormula({param,chronicPushItems:pushObj})
+      let results = deepClone(calcuResult);
+      getFormulaResult({type:2,data:it}).then((res)=>{
+        if(+res.data.code==0){
+          const result = res.data.data.result;
+          results[formulaId] = result;
+          handleCalcu&&handleCalcu(results);
+        }else{
+          Notify.error(res.data.msg||'计算没有结果返回');
+        }
+      })
     } else {  //不是所有值都填过了
       Notify.info('请填写计算公式内容')
     }
   }
   handleInputformula(id,idd,text) {
     const {formulaData} = this.state;
+    const {calcuValues} = this.props;
     const obj = deepClone(formulaData);
     const data = obj&&obj[id];
+    data.content = calcuValues&&calcuValues[id];
     if (data) {
       data.content.details[idd].value = text;
     }
@@ -156,8 +164,8 @@ class ScaleItem extends Component {
   }
   getDetailItems(item,i){
     let arr = [],temp='';
-    const {indexs,result,formulaResult,calcuResult,disabled} = this.props;
-    const {optionId,formulaId,radioVal,formulaData,isFormulaConfirm} = this.state;
+    const {indexs,result,formulaResult,calcuValues,disabled,calcuResult} = this.props;
+    const {optionId,formulaId,radioVal,formulaData} = this.state;
     const possible=result&&result.possible;
 
     item.details.map((its,j)=>{
@@ -168,11 +176,12 @@ class ScaleItem extends Component {
           let scaleRes=formulaResult&&formulaResult[it.content.id]&&formulaResult[it.content.id].calcalculate;
           temp =<span className={style['scale']}
                       onClick={()=>this.handleShowScale(it.content,item.id,i)}>
-                        {scaleRes&&scaleRes.result?(' 【'+it.content.name+'】 结果:'+scaleRes.result.value+" "+scaleRes.result.text):'【'+it.content.name+'】'}
+                        {scaleRes&&scaleRes.result?(' 【'+it.content.name+'】 结果:'+scaleRes.result.value+" "+(scaleRes.result.text||'')):'【'+it.content.name+'】'}
                         </span>;
         }else if(its.type==2){      //计算公式
           it=formulaData[formulaId]||deepClone(its);
           const showRes = calcuResult&&calcuResult[item.id]||it.content.result;
+          const details = calcuValues&&calcuValues[item.id]&&calcuValues[item.id].details||it.content.details;
           const cresult = showRes&&showRes[1]&&showRes[1].text;
                     temp = <div className={style['results']}>
                     <span>计算公式结果:</span>
@@ -185,8 +194,8 @@ class ScaleItem extends Component {
                                confirm={this.confirmFormula.bind(this,item,i)}
                                footer="true">
                       <table>
-                        {it.content.details.map((item1,idd)=>{
-                          if(item1.controlType==1){//单选
+                        {details.map((item1,idd)=>{
+                          if(item1.controlType==0){//单选
                             return <tr>
                               <td>
                                 <span>{'请选择'+item1.name+':'}</span>
@@ -220,9 +229,9 @@ class ScaleItem extends Component {
                           }
                         })}
                       </table>
-                      {disabled?"":<div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this,j, item, i)}>计算</div>}
+                      {disabled?"":<div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this)}>计算</div>}
                       <table>
-                        {showRes && Array.isArray(showRes) &&showRes.map((itemResult, resultIndex) => {
+                        {showRes && Array.isArray(showRes) &&showRes.map((itemResult) => {
                           return <tr>
                             <td>
                               <span>{itemResult.name+':'}</span>
@@ -255,6 +264,7 @@ class ScaleItem extends Component {
                                      isSelect={radioVal&&radioVal[item.id]==lis.detailName}
                                      handleClick={this.handleRadio.bind(this,lis,item,i)}>
                               </Radio>
+                              {lis.state==1?<span className={style['recomand']}>(智能推荐)</span>:''}
                             </div>
                           })}
                         </div>
@@ -267,7 +277,7 @@ class ScaleItem extends Component {
           </li>:<li>
           <span>{item.name}:</span>
           <div className={style['row']}>{temp}</div>
-          <div className={style["recommend"]} onClick={()=>this.props.handleRemove(i,j)}>
+          <div className={style["recommend"]} onClick={()=>this.props.handleRemove(false,i,j)}>
             <img className={style["deleteIcon"]} src={deleteIcon} />
           </div>
         </li>;
@@ -282,14 +292,45 @@ class ScaleItem extends Component {
       return this.getDetailItems(it,i);
     });
   }
+  getScales(){
+    const {scaleItems,disabled,formulaResult} = this.props;
+    let li='',temp='';
+    const arr = scaleItems&&scaleItems.map((it,i)=>{
+      if(!it) return '';
+      let scaleRes=formulaResult&&formulaResult[it.id]&&formulaResult[it.id].calcalculate;
+      temp =<span className={style['scale']} onClick={()=>this.handleShowScale(it)}>
+                        {scaleRes&&scaleRes.result?(' 【'+it.name+'】 结果:'+scaleRes.result.value+" "+(scaleRes.result.text||'')):'【'+it.name+'】'}
+                        </span>;
+      li = disabled?<li>
+        <span>相关量表:</span>
+        <div className={style['row']}>{temp}</div>
+      </li>:<li>
+        <span>相关量表:</span>
+        <div className={style['row']}>{temp}</div>
+        <div className={style["recommend"]} onClick={()=>this.props.handleRemove(true,i)}>
+          <img className={style["deleteIcon"]} src={deleteIcon} />
+        </div>
+      </li>;
+      return li;
+    });
+    return arr;
+  }
   handleInput(e){
     const text = e.target.value;
     this.setState({
       text
     });
   }
+  componentWillReceiveProps(next){        //修复bug1329,第二次保存值不显示
+    if(next.text!=this.state.text){
+      this.setState({
+        text:next.text
+      });
+    this.$area.current.value=next.text;
+    }
+  }
   render() {
-    const {title,handleInp,disabled,isRecommend,formulaResult} = this.props;
+    const {title,handleInp,disabled,isRecommend} = this.props;
     return <div className={style['assess-item']}>
       {isRecommend?'':<h2>{title}</h2>}
       <div className={style['item-content']}>
@@ -297,6 +338,9 @@ class ScaleItem extends Component {
           {
             this.getItems()
           }
+          {
+            this.getScales()
+          }
           {isRecommend?'':<li>
             <textarea className={style['edit-row']}
                       ref={this.$area}

+ 40 - 14
src/components/AssessResult/index.jsx

@@ -7,23 +7,26 @@ import Information from '../Information'
 import ChartItem from "./ChartItem";
 import Notify from '@commonComp/Notify';
 import {readyKeepHistory} from '@utils/tools';
+import loadingIcon from '@common/images/loading.gif';
 
 class AssessResult extends Component {
   constructor(props) {
     super(props);
     const chooseSelecteds = JSON.parse(JSON.stringify(props.chooseSelecteds)||{});
     const wholeIndexs = JSON.parse(JSON.stringify(props.wholeIndexs)||{});      //深度复制,Object.assgin为浅复制,下下级会同源
-    //const wholeResults = JSON.parse(JSON.stringify(props.wholeResults)||{});
+    const wholeScale = JSON.parse(JSON.stringify(props.wholeScaleItems)||{});
 
     this.state={
       chooseSelecteds:chooseSelecteds,     //大数据选择模块
       chartTimeTypes:{},      //图表模块
       wholeAssessItems:wholeIndexs,     //整体评估模块
+      wholeScaleItems:wholeScale,
       wholeAssessText:props.wholeAssessText||'',     //整体评估补充说明
       wholeResults:{
         possible:props.possible,
         radioVal:props.radioVal
       },
+      calcuResult:props.calcuResult,     //计算公式结果
     };
     this.handleChooseChange = this.handleChooseChange.bind(this);
     this.handleScaleDel = this.handleScaleDel.bind(this);
@@ -39,13 +42,22 @@ class AssessResult extends Component {
         wholeAssessText:text
       })
   }
-  handleScaleDel(i,j){
-    const items = Object.assign({},this.state.wholeAssessItems);
-    const inx = items[i].findIndex(x=>x==j);
-    items[i].splice(inx,1);
-    this.setState({
-      wholeAssessItems: items
-    });
+  handleScaleDel(isList,i,j){
+    if(isList){         //删除全部量表中的项目
+      const items = [...this.state.wholeScaleItems];
+      items.splice(i,1);
+      this.setState({
+        wholeScaleItems: items
+      });
+    }else{
+      const items = Object.assign({},this.state.wholeAssessItems);
+      const inx = items[i].findIndex(x=>x==j);
+      items[i].splice(inx,1);
+      this.setState({
+        wholeAssessItems: items
+      });
+    }
+
   }
   handleResult(opt){
     const {wholeResults} = this.state.wholeResults;
@@ -66,9 +78,14 @@ class AssessResult extends Component {
       chartTimeTypes:Object.assign(chartTimeTypes,{[i]:selects})
     });
   }
+  handleCalcu(ret){
+    this.setState({
+      calcuResult:ret
+    });
+  }
   componentWillUnmount(){
     //点确定关闭弹窗时把参数传到父组件去
-    const {handleSave,isAssessConfirm,clearChartData,handleSaveCalcu,isRecommend} = this.props;
+    const {handleSave,isAssessConfirm,clearChartData,handleSaveCalcu,isRecommend,saveCalcuResult} = this.props;
     clearChartData&&clearChartData();
     if(!isRecommend&&isAssessConfirm && readyKeepHistory() == 1){
       Notify.error("主诉不能为空");
@@ -76,16 +93,20 @@ class AssessResult extends Component {
       Notify.info('诊断不能为空');
     }
     handleSaveCalcu&&handleSaveCalcu(this.state.wholeResults);
-    isAssessConfirm&&handleSave(this.state,readyKeepHistory(),isRecommend);
+    if(isAssessConfirm){
+      handleSave(this.state,readyKeepHistory(),isRecommend);
+    }else{
+      saveCalcuResult&&saveCalcuResult(this.state.calcuResult);
+    }
   }
   handoutTypes(item,i){
-    const {getIndexData,indexData,timeTypes,wholeIndexs,closeAssess,showScaleFn,calcuFormula,isRecommend,chronicPushItems,
-      formulaResult,calcuResult} =this.props;
+    const {getIndexData,indexData,timeTypes,wholeIndexs,closeAssess,showScaleFn,isRecommend,chronicPushItems,
+      formulaResult,calcuValues,indexNames,showListScale} =this.props;
     let obj = [];
     Object.keys(wholeIndexs).map((i)=>{
       obj[i]=chronicPushItems[i];
     });
-    const {chooseSelecteds,wholeAssessItems,wholeAssessText,chartTimeTypes,wholeResults} = this.state;
+    const {chooseSelecteds,wholeAssessItems,wholeScaleItems,wholeAssessText,chartTimeTypes,wholeResults,calcuResult} = this.state;
     const chartData = indexData;
     const name = item.regionName+":";
     const list = item.data&&item.data.rows;
@@ -96,12 +117,15 @@ class AssessResult extends Component {
                           handleRemove={this.handleScaleDel}
                           handleInp={this.handleScaleText}
                           handleRes={this.handleResult}
+                          handleCalcu={this.handleCalcu.bind(this)}
                           text={wholeAssessText}
                           indexs={wholeAssessItems}
+                          scaleItems ={wholeScaleItems}
                           result={wholeResults}
                           showScaleFn={showScaleFn}
-                          calcuFormula={calcuFormula}
+                          showListScale={showListScale}
                           calcuResult={calcuResult}
+                          calcuValues={calcuValues}
                           formulaResult={formulaResult}
                           isRecommend={isRecommend}
                           chronicPushItems={chronicPushItems}
@@ -114,6 +138,7 @@ class AssessResult extends Component {
       case 10:   //数据来源于后台
         return <ChartItem title={name}
                           data={chartData||{}}
+                          names={indexNames||{}}
                           timeTypes={JSON.stringify(chartTimeTypes)=='{}'?timeTypes&&timeTypes[i]:chartTimeTypes[i]}
                           pindex={i}
                           initFn={getIndexData}
@@ -131,6 +156,7 @@ class AssessResult extends Component {
       <div className={style['printShow']}>
         <Information></Information>
       </div>
+      {!(data&&data.length>0)?<p className={style['loading']}><img src={loadingIcon} alt='loading...'/></p>:''}
       {data && data.map((it, i) => {
         return this.handoutTypes(it, i);
       })}

+ 31 - 2
src/components/AssessResult/index.less

@@ -43,6 +43,9 @@
     .chooseItem{
       display: inline-block;
       margin-right: 10px;
+      .recomand{
+        color: @blue;
+      }
     }
     .scale{
       color: @blue;
@@ -73,7 +76,7 @@
     min-width: 302px;
     width: 49%;
     height: 250px;
-    margin-bottom: 20px;
+    margin: 15px 0 5px;
     position: relative;
     .chart-box{
       width: 100%;
@@ -85,7 +88,7 @@
   }
   .time-range{
     position: absolute;
-    bottom: 180px;
+    bottom: 224px;
     /*top: 26px;*/
     z-index: 2;
     width: 100%;
@@ -158,6 +161,32 @@
   border-radius: 4px;
   padding: 5px;
 }
+.legend{
+  padding: 0 36px;
+  /*margin-bottom: 15px;*/
+  &>div{
+    display: inline-block;
+    margin-top: 10px;
+  }
+  span{
+    margin-right: 20px;
+  }
+  img{
+    vertical-align: middle;
+    width: 18px;
+    margin-right: 3px;
+  }
+}
+.loading{
+  text-align: center;
+  position: absolute;
+  top: 49%;
+  left: 49%;
+  img{
+    width: 40px;
+  }
+}
+
 @media print {
   .printShow,.textareaStatic {
     display: block;

+ 7 - 14
src/components/CheckBody/index.jsx

@@ -36,7 +36,7 @@ class CheckBody extends Component{
     const moreNum =data.length-[...data].reverse().findIndex((it)=>it.showInCheck)-1;//被隐藏的位置
     const moreText = filterDataArr([...saveText].splice(moreNum+1));     //被收起的标签中是否有有值得,有则不能再收起showMoreBtn?more:''
     const more = showAll?<span className={style['more']} onClick={this.showHide}>收起<img src={hideImg} /></span>:<span className={style['more']} onClick={this.showHide}>展开<img src={showImg} /></span>;
-    const showMoreBtn = data.length>config.showCheckNum&&(data.length>moreNum&&!data[0].full)&&!moreText;
+    const showMoreBtn = data.length>config.showCheckNum&&(data.length-1>moreNum&&!data[0].full)&&!moreText;
     let showArray = data.filter((it)=>{
       if(it.showInCheck)
         return it;
@@ -71,17 +71,14 @@ class CheckBody extends Component{
       }
       leftL = ele.offsetLeft+90
     }
-    getSearchLocation(getPageCoordinate(e).boxTop,leftL)
+    getSearchLocation(getPageCoordinate(e).boxTop,leftL);
     this.setState({
-      // boxLeft:getPageCoordinate(e).boxLeft,
-      // boxLeft:leftL,
-      // boxTop:getPageCoordinate(e).boxTop,
       tmpScroll: $("#addScrollEvent")[0].scrollTop,
       tmpTop:getPageCoordinate(e).boxTop
     });
     windowEventHandler('scroll',()=>{      //弹窗跟随滚动条滚动或者关闭弹窗
       let scrollYs = $("#addScrollEvent")[0].scrollTop;
-      let boxTop = this.state.tmpTop - scrollYs + this.state.tmpScroll
+      let boxTop = this.state.tmpTop - scrollYs + this.state.tmpScroll;
       getSearchLocation(boxTop,this.state.boxLeft)
     },$("#addScrollEvent")[0])
   }
@@ -93,18 +90,14 @@ class CheckBody extends Component{
   getData(){
     //第一次聚焦查体时,主诉有数据则调接口,主诉无数据则显示提示;其他时间查体模板数据不调接口
     const {hasMain,isEmpty} = this.props;
-
+    if(!hasMain&&isEmpty){
+      Notify.error("无法操作,请先输入主诉");
+      return;
+    }
     //无主诉提示在EditableSpan里
     //有主诉时且本身无数据,第一次点击获取数据,(不论获取成功与否)再点击不获取(直到刷新成空白页或清空)
     if(hasMain&&isEmpty!=false){
       this.props.getInit();
-      //隐藏区域有默认选中项,默认全部展开-有延迟,弃用
-      /*const that = this;
-      setTimeout(function(){
-        that.props.showAll&&that.setState({
-          showAll:true
-        });
-      },900)*/
 
     }
   }

+ 102 - 93
src/components/ChronicInfo/index.jsx

@@ -14,6 +14,7 @@ import {ComplexModal,ConfirmModal,MiniToast, Radio,CheckBtn} from '@commonComp';
 import AssessResult from '@containers/AssessResult';
 import ScaleTable from '@containers/ScaleTable';
 import Notify from '@commonComp/Notify';
+import {deepClone} from '@utils/tools';
 import $ from 'jquery';
 
 /***
@@ -64,6 +65,7 @@ class ChronicInfo extends React.Component{
     this.handleForRadio = this.handleForRadio.bind(this);
     this.showRecommendFn = this.showRecommendFn.bind(this);
     this.handleSaveCalcu = this.handleSaveCalcu.bind(this);     //保存评估修改的计算和可能结果
+    this.getAddBtnState = this.getAddBtnState.bind(this);
   }
 
   onPrint() {
@@ -101,9 +103,6 @@ class ChronicInfo extends React.Component{
       type:22,
     }
     getInfomation&&getInfomation(param);
-    /*this.setState({
-      infoId:id
-    })*/
   }
   closeInfo(){//关闭静态知识
     this.setState({
@@ -117,9 +116,18 @@ class ChronicInfo extends React.Component{
     })
   }
   closeOption(){
-    this.setState({
-      optionId:null
-    })
+    // 关闭-有可能结果则保持与结果一致,没有就保持最新选择的内容
+    let {possible,radioVal} = this.state;
+    if(JSON.stringify(possible)=='{}'){
+      this.setState({
+        optionId:null
+      })
+    }else{
+      this.setState({
+        radioVal:Object.assign({},radioVal,possible),
+        optionId:null,
+      });
+    } 
   }
   showTable(it,parentId,parentIndex){
     const {formulaResult,scaleInfo} = this.props;
@@ -198,27 +206,31 @@ class ChronicInfo extends React.Component{
     });
   }
   handleInputformula(v,i, j,idd,  e) {
-    const { data, setChronicPush } = this.props;
+    const { data, setChronicPush,calcuValues } = this.props;
+    let data1 = JSON.parse(JSON.stringify(data));
+    if(calcuValues&&calcuValues[data1[i].id]){
+      data1[i].details[j].content=calcuValues&&calcuValues[data1[i].id];
+    }
     const text = e.target.value;
-    if (data[i].details) {
-      data[i].details[j].content.details[idd].value = text
-    } 
-    
-    const data1 = JSON.parse(JSON.stringify(data));
-    
-    setChronicPush(data1)
+    if (data1[i].details) {
+      data1[i].details[j].content.details[idd].value = text
+    }
+
+    setChronicPush(data1,data1[i].id,data1[i].details[j].content)
   }
   handleForRadio(ii,v,i, j,idd, ind){//计算公式
-    const { data, setChronicPush } = this.props;
-    if (data[i].details) {
-      for(let z = 0; z <  data[i].details[j].content.details[idd].details.length; z++) {
-        data[i].details[j].content.details[idd].details[z].state = 0
-      }
-      data[i].details[j].content.details[idd].details[ind].state = 1
-    } 
-    
+    const { data, setChronicPush,calcuValues } = this.props;
     const data1 = JSON.parse(JSON.stringify(data));
-    setChronicPush(data1)
+    if(calcuValues&&calcuValues[data1[i].id]){
+      data1[i].details[j].content=calcuValues&&calcuValues[data1[i].id];
+    }
+    if (data1[i].details) {
+      for(let z = 0; z <  data1[i].details[j].content.details[idd].details.length; z++) {
+        data1[i].details[j].content.details[idd].details[z].state = 0
+      }
+      data1[i].details[j].content.details[idd].details[ind].state = 1
+    }
+    setChronicPush(data1,data1[i].id,data1[i].details[j].content);
   }
   confirmFormula(){//计算公式确定
     this.setState({
@@ -248,8 +260,13 @@ class ChronicInfo extends React.Component{
       radioVal:Object.assign({},obj.radioVal),//不设置radioVal只有最近一次选中的值
     })
   }
-  calcuFormula(it,j, v, i) { //计算公式计算
-    const { calcuFormula, data ,chronicPushItems} = this.props;
+  calcuFormula(item,j, v, i) { //计算公式计算
+    const { calcuFormula ,data,calcuValues} = this.props;
+    let pushObj = deepClone(data);
+    if(calcuValues&&calcuValues[pushObj[i].id]){
+      pushObj[i].details[j].content=calcuValues&&calcuValues[pushObj[i].id];
+    }
+    let it = pushObj[i].details[j];
     let allHasInfo = true;
     for (let i = 0; i < it.content.details.length; i++) {
       if(it.content.details[i].controlType == 2) {  //输入框类型的有没有填值
@@ -270,22 +287,52 @@ class ChronicInfo extends React.Component{
 
     }
     if(allHasInfo) { //所有都有值,则计算
-      // delete it.content.resultz
       let param = {
         type: 2,
         data: it,
         disId: v.id,
         pIndex: j,
         ppIndex: i
-      }
-      calcuFormula({param,chronicPushItems})
+      };
+      calcuFormula({param,chronicPushItems:pushObj})
     } else {  //不是所有值都填过了
       Notify.info('请填写计算公式内容')
     }
   }
+  getAddBtnState(flag,v,i,j){
+    const {indexs,wholeScaleItems,addScaleItems} = this.props;
+    let btn = '';
+    if(flag){     //有结果
+      if(j!==undefined){
+        btn = indexs[i]&&indexs[i].includes(j)?<span className={style["add-record"]}>
+                   <img src={added} />
+                   已加入
+                 </span>:<span className={style["listResult"]} onClick={()=>this.handleAddAssessItem(v,i,j)}>
+                   <img src={add} />
+                   加入病历记录
+                 </span>;
+      }else{
+        btn = wholeScaleItems&&wholeScaleItems[i]?<span className={style["add-record"]}>
+                   <img src={added} />
+                   已加入
+                 </span>:<span className={style["listResult"]} onClick={()=>addScaleItems(v,i)}>
+                   <img src={add} />
+                   加入病历记录
+                 </span>;
+      }
+
+    }else{
+      btn = <span className={style["disable-add"]}>
+                   <img src={add} />
+                   加入病历记录
+                 </span>;
+    }
+
+    return btn;
+  }
   getDetail(){
-    const {data,indexs,formulaResult} = this.props;
-    const {formulaId,optionId,possible,radioVal,isFormulaConfirm} = this.state;
+    const {data,formulaResult,calcuResult,calcuValues} = this.props;
+    const {formulaId,optionId,possible,radioVal} = this.state;
     let list = data&&data.map((v,i)=>{
                     return <div className={style["list"]}>
                       {v.name?<p>
@@ -293,12 +340,6 @@ class ChronicInfo extends React.Component{
                                 <img src={infoPic} className={style["infoPic"]} onClick={this.showInfo.bind(this,v.id)}/>
                               </p>:''}
-                      {/*<MiniToast title='静态知识'
-                                icon={allTableIcon}
-                                show={infoId&&infoId==v.id?true:false}
-                                close={this.closeInfo}>
-                          {pureText}
-                      </MiniToast>*/}
                       {v.details&&v.details.map((it,j)=>{
                         if(it.type==1){
                           return <p>
@@ -306,46 +347,38 @@ class ChronicInfo extends React.Component{
                                   <i onClick={this.showTable.bind(this,it.content,v.id,i)}>{'【'+it.content.name+'】'}</i>
                                   {formulaResult&&formulaResult[it.content.id]?<i>{'结果:'}{formulaResult[it.content.id].calcalculate&&formulaResult[it.content.id].calcalculate.result.value +' '+ formulaResult[it.content.id].calcalculate.result.text}</i>:''}
                                 </span>
-                                {indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
-                                  <img src={added} />
-                                  已加入
-                                </span>:<span className={style["listResult"]} onClick={()=>this.handleAddAssessItem(v,i,j)}>
-                                  <img src={add} />
-                                  加入病历记录
-                                </span>
+                                {
+                                  this.getAddBtnState(formulaResult&&formulaResult[it.content.id],v,i,j)
                                 }
                               </p>
                         }else if(it.type==2){
-                          const result = it.content.result&&it.content.result[1]&&it.content.result[1].text;
+                          const cres = calcuResult&&calcuResult[v.id]||it.content.result;
+                          const result = cres&&cres[1]&&cres[1].text;
+                          const details = calcuValues&&calcuValues[v.id]&&calcuValues[v.id].details||it.content.details;
                           return <div className={style["marTop"]}>
                             <span className={style["limit"]}>
                               计算公式结果:
                               <i className={style["blue"]} onClick={this.showFormula.bind(this,v.id)}>{result?result:'请选择'}</i>
                               <img src={level1} />
                             </span>
-                            {indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
-                                  <img src={added} />
-                                  已加入
-                                </span>:<span className={style["listResult"]} onClick={()=>this.handleAddAssessItem(v,i,j)}>
-                                  <img src={add} />
-                                  加入病历记录
-                                </span>
+                            {
+                              this.getAddBtnState(result,v,i,j)
                             }
-                            <MiniToast title={it.content.name}
+                            {formulaId&&formulaId==v.id&&<MiniToast title={it.content.name}
                                 icon={allTableIcon}
                                 show={formulaId&&formulaId==v.id?true:false}
                                 close={this.closeFormula}
                                 confirm={this.confirmFormula.bind(this,v,i)}
                                 footer="true">
                                 <table>
-                                {it.content.details.map((item,idd)=>{
-                                    if(item.controlType==1){//单选
+                                {details.map((item,idd)=>{
+                                    if(item.controlType==0){//单选
                                       return <tr>
                                         <td>
                                           <span>{'请选择'+item.name+':'}</span>
                                         </td>
                                         <td>
-                                          {item.details.map((ii,ind)=>{
+                                          {Array.isArray(item.details)&&item.details.map((ii,ind)=>{
                                             return <div className={style["chooseItem"]}>
                                                     <Radio label={ii.detailName}
                                                              isSelect={ii.state == 1}
@@ -355,8 +388,6 @@ class ChronicInfo extends React.Component{
                                           })}
                                         </td>  
                                       </tr>
-                                    }else if(item.controlType==1){//多选
-
                                     }else if(item.controlType==2){//输入框
                                       return <tr>
                                         <td>
@@ -369,31 +400,13 @@ class ChronicInfo extends React.Component{
                                           <span>{item.uint}</span>
                                         </td>
                                         
-                                      </tr>
-                                    }else if(item.controlType==3){//下拉
-                                      return <tr>
-                                        <td>
-                                          <span>{'请选择'+item.name+':'}</span>
-                                        </td>
-                                        <td>
-                                          {item.details.map((ii,ind)=>{
-                                            return <div className={style["chooseItem"]}>
-                                                    <Radio label={ii.detailName}
-                                                            // isSelect={radioVal[i]==ii.detailName}
-                                                            isSelect={ii.state == 1}
-                                                            handleClick={this.handleForRadio.bind(this,ii,v,i)}>
-                                                    </Radio>
-                                                  </div>
-                                          })}
-                                        </td>
-                                        
                                       </tr>
                                     }
                                 })}
                                 </table>
                                 <div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this,it,j, v, i)}>计算</div>
                                 <table>
-                                  {it.content.result && Array.isArray(it.content.result) &&it.content.result.map((itemResult, resultIndex) => {
+                                  {cres && Array.isArray(cres) &&cres.map((itemResult, resultIndex) => {
                                     return <tr>
                                         <td>
                                             <span>{itemResult.name+':'}</span>
@@ -405,7 +418,7 @@ class ChronicInfo extends React.Component{
                                   })}
                                 </table>
                                 
-                            </MiniToast>
+                            </MiniToast>}
                           </div>
                         }else if(it.type==3){
                           return <div className={style["marTop"]}>
@@ -414,13 +427,8 @@ class ChronicInfo extends React.Component{
                               <i onClick={this.showOption.bind(this,v.id)} className={style["blue"]}>{possible[v.id]?possible[v.id]:'请选择'}</i>
                               <img src={level1} />
                             </span>
-                            {indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
-                                  <img src={added} />
-                                  已加入
-                                </span>:<span className={style["listResult"]} onClick={()=>this.handleAddAssessItem(v,i,j)}>
-                                  <img src={add} />
-                                  加入病历记录
-                                </span>
+                            {
+                              this.getAddBtnState(possible[v.id],v,i,j)
                             }
                             <MiniToast title='结果选择'
                                 icon={checkIcon}
@@ -461,7 +469,7 @@ class ChronicInfo extends React.Component{
       <span className={style['print']} onClick={this.onPrint}><img src={printIcon} alt=""/>打印</span>
       <span className={style['okBtn']} onClick={()=>this.closeTable()}>确定</span>
     </div>;
-    const {chronicMagItem,tableList,saveAssessInfos,chronicDesease,formulaResult,showHide,calcuFormula} = this.props;
+    const {chronicMagItem,tableList,saveAssessInfos,chronicDesease,formulaResult,showHide} = this.props;
     const {showAssess,isAssessConfirm,tableName,tableId,parentId,parentIndex,isRecommendConfirm,showRecommend,radioVal,possible} = this.state;
     return <div className={style["tips"]} style={{marginBottom:'15px'}}>
               <div className={`${style["tips-title"]} ${style["chronic"]}`}>
@@ -494,15 +502,17 @@ class ChronicInfo extends React.Component{
               <div className={style["content"]}> 
                   {this.getDetail()}
               </div>
-              <ConfirmModal visible={showHide&&showHide.showList} noFooter='true' title='全部量表' close={this.close} titleBg="#DFEAFE" icon={allTableIcon} height={400} width={400}>
+              <ConfirmModal visible={showHide&&showHide.showList} noFooter='true' title='全部量表' close={this.close} titleBg="#DFEAFE" icon={allTableIcon} height={450} width={450}>
                       <ul className={style['toast-cont']}>
                         {tableList&&tableList.map((v,i)=>{
                           return <li>
-                          <span>
-                            <i onClick={this.handleListClick.bind(this,v)}>{'【'+v.name+'】'}</i>
-                            {/*{formulaResult&&formulaResult[v.id]?<i>{'结果:'+formulaResult[v.id].text}</i>:''}*/}
-                            {formulaResult&&formulaResult[v.id]?<i className={style['res']}>{'结果:'}{formulaResult[v.id].calcalculate&&formulaResult[v.id].calcalculate.result.value+' '+ (formulaResult[v.id].calcalculate.result.text?formulaResult[v.id].calcalculate.result.text:'')}</i>:''}
-                          </span>
+                            <span className={style["scaleName"]}>
+                              <i onClick={this.handleListClick.bind(this,v)}>{'【'+v.name+'】'}</i>
+                              {formulaResult&&formulaResult[v.id]?<i className={style['res']}>{'结果:'}{formulaResult[v.id].calcalculate&&formulaResult[v.id].calcalculate.result.value+' '+ (formulaResult[v.id].calcalculate.result.text?formulaResult[v.id].calcalculate.result.text:'')}</i>:''}
+                            </span>
+                            {
+                              this.getAddBtnState(formulaResult&&formulaResult[v.id],v,i)
+                            }
                           </li>
                         })}
                       </ul>
@@ -525,7 +535,7 @@ class ChronicInfo extends React.Component{
                               handleSaveCalcu={this.handleSaveCalcu}
                               closeAssess={this.showAssessFn}
                               showScaleFn={this.showTable.bind(this)}
-                              calcuFormula={calcuFormula}
+                              showListScale={this.handleListClick.bind(this)}
                               radioVal={radioVal}
                               possible={possible}
                               isAssessConfirm={isAssessConfirm}></AssessResult>
@@ -541,7 +551,6 @@ class ChronicInfo extends React.Component{
                               closeAssess={this.showRecommendFn}
                               isRecommend={true}
                               showScaleFn={this.showTable.bind(this)}
-                              calcuFormula={calcuFormula}
                               radioVal={radioVal}
                               possible={possible}
                               isAssessConfirm={isRecommendConfirm}></AssessResult>

+ 2 - 14
src/components/ChronicInfo/index.less

@@ -70,20 +70,8 @@
           display: inline-block;
           width: 73%;
         }
-        .listResult,.addResult{
-          .btnCom;
-          float: right;
-          display: inline-block;
-          width: 99px;
-          height: 26px;
-          line-height: 26px;
-          border: 1px solid #EAEDF1;
-          font-size: 12px;
-          img{
-            vertical-align: middle;
-            width: 12px;
-            margin:-3px 3px 0 0;
-          }
+         .listResult{
+          .add-record;
         }
         .addResult{
           color: #3B9ED0;

+ 16 - 8
src/components/DiagnosticList/index.jsx

@@ -13,6 +13,7 @@ import iconRadioDefault from '@common/images/icon-radio-default.png'
 import iconRadioActive from '@common/images/icon-radio-active.png'
 import tableIcon from '@common/images/table.png';
 import { delFollowUp } from '../../store/actions/treat';
+import { CONFIRM_TYPE } from "@store/types/typeConfig";
 
 class DiagnosticList extends Component {
     constructor(props) {
@@ -21,7 +22,8 @@ class DiagnosticList extends Component {
             visible: false,
             delItem: {},
             treatTitle: '',
-            activeHistory: -1
+            activeHistory: -1,
+            sign:-1
         }
         this.deleteItem = this.deleteItem.bind(this);
         this.cancel = this.cancel.bind(this);
@@ -81,7 +83,7 @@ class DiagnosticList extends Component {
         // item.treatIndex = index
         const  { showTreat, getTreatResult } = this.props;
         getTreatResult && getTreatResult(item);
-        showTreat && showTreat();
+        // showTreat && showTreat();//添加loading,移到async-actions中
         this.setState({
             treatTitle: item.name
         })
@@ -103,7 +105,7 @@ class DiagnosticList extends Component {
               showHistoryCaseModal && showHistoryCaseModal();
             }else{
               if(typeConfig==0){
-                Notify.info("暂无历史病,已默认展示慢病相关内容");
+                Notify.info("暂无历史病,已默认展示慢病相关内容");
                 const timer = setTimeout(function(){
                   autoFillModules && autoFillModules();
                   clearTimeout(timer);
@@ -122,6 +124,7 @@ class DiagnosticList extends Component {
     }
     referCase() {
         const { hideHistoryCaseModal, items ,autoFillModules,typeConfig} = this.props
+        const {sign} = this.state;
         hideHistoryCaseModal && hideHistoryCaseModal()
         if (this.state.activeHistory === -1 && typeConfig==0) {//没有选择历史病例直接点确定
             Notify.info("未选择历史病历,已默认展示慢病相关内容");
@@ -134,18 +137,22 @@ class DiagnosticList extends Component {
         let baseList = store.getState();
         
         let baseObj = items[this.state.activeHistory];
-  
-        // store.dispatch({type: CONFIRM_TYPE, confirmType: baseObj.sign});
+        // 切换模式
+        if(sign != typeConfig){
+          store.dispatch({type: CONFIRM_TYPE, confirmType: baseObj.sign});
+        }
         pushAllDataList(baseObj.sign,'push',baseObj,'history')       //引用
         this.props.getBilling();
         this.setState({
-            activeHistory: -1
+            activeHistory: -1,
+            sign:-1
         })
     }
     closeHistoryCaseModal() {
         const { hideHistoryCaseModal ,autoFillModules,typeConfig} = this.props
         this.setState({
-            activeHistory: -1
+            activeHistory: -1,
+            sign:-1
         })
         hideHistoryCaseModal && hideHistoryCaseModal()
         if(typeConfig==0){//智能推送模式才自动填充
@@ -156,7 +163,8 @@ class DiagnosticList extends Component {
         const { handleQuoteClick } = this.props
         // handleQuoteClick && handleQuoteClick(item)
         this.setState({
-            activeHistory: index
+            activeHistory: index,
+            sign:item.sign
         })
     }
     getHistoryCase() {

+ 1 - 0
src/components/DiagnosticList/index.less

@@ -56,6 +56,7 @@
     position: relative;
     color:#000;
     font-weight: bold;
+    cursor: pointer;
 }
 
 .diag-up, .diag-down {

+ 1 - 0
src/components/HistoryCaseContainer/HistoryList/index.jsx

@@ -75,6 +75,7 @@ class HistoryCaseContainer extends React.Component {
                         baseObj == undefined || JSON.stringify(baseObj) == "{}" ? null :
                         <PreviewBody
                             preInfo={preInfo}
+                            showHistoryCases={this.props.showHistoryCases}
                             dataJson={dataJson}
                             baseObj={baseObj}
                             dataStr={dataStr.length > 0?getAllDataStringList(dataStr):[]}

+ 1 - 0
src/components/HistoryCaseContainer/index.jsx

@@ -38,6 +38,7 @@ class HistoryCaseContainer extends React.Component {
                 <div className={styles.maskHistory} onClick={showHistoryBox}></div>
                 <HistoryList 
                     items={items}
+                    showHistoryCases={showHistoryCases}
                     activeHistory={activeHistory}
                     showHistoryBox={showHistoryBox}
                     handleCaseClick={handleCaseClick}

+ 19 - 3
src/components/InfoTitle/index.jsx

@@ -10,6 +10,7 @@ import { initItemList,setInitHistory } from '@store/async-actions/historyTemplat
 import HistoryCases from '@containers/HistoryCases';
 import $ from 'jquery';
 import Notify from '@commonComp/Notify';
+import {MODI_LOADING} from '@store/types/homePage.js';
 class InfoTitle extends Component {
     constructor(props){
         super(props);
@@ -19,15 +20,19 @@ class InfoTitle extends Component {
         this.showHistoryBox = this.showHistoryBox.bind(this)
     }
     showHistoryBox(){
+        const {showLoading,hideLoading}=this.props;
+        showLoading();
         // store.dispatch(initItemList());
         // store.dispatch(showHistory(true))
         initItemList().then((res)=>{
             const result = res.data;
             if(result.code==0 && result.data){
+                hideLoading();
                 store.dispatch(setInitHistory(result.data));
-                store.dispatch(showHistory(true))
+                store.dispatch(showHistory(true));
             }else{
-                Notify.info("暂无历史病例");
+                hideLoading();
+                Notify.info("暂无历史病历");
             }
         })
     }
@@ -66,9 +71,20 @@ function mapStateToProps(state) {
   }
 }
 
+function mapDispatchToProps(dispatch){
+    return{
+        showLoading(){
+            dispatch({type:MODI_LOADING,flag:true});
+        },
+        hideLoading(){
+            dispatch({type:MODI_LOADING,flag:false});
+        }
+    }
+}
+
 const InfoTitleCont = connect(
   mapStateToProps,
-  null
+  mapDispatchToProps
 )(InfoTitle);
 
 

+ 6 - 6
src/components/NumberDrop/index.jsx

@@ -39,7 +39,7 @@ class NumberDrop extends Component{
     this.handleNumFocus = this.handleNumFocus.bind(this);
     this.handleBlur = this.handleBlur.bind(this);
     this.changeToEdit = this.changeToEdit.bind(this);
-    //this.handleKeyDowm = this.handleKeyDowm.bind(this);
+    // this.handleKeyDowm = this.handleKeyDowm.bind(this);
     this.beyondArea = this.beyondArea.bind(this);
   }
   select(text){        //选中键盘上数字事件
@@ -191,17 +191,17 @@ class NumberDrop extends Component{
     const {handleHide} = this.props;
     handleHide&&handleHide();
   }
-  /*handleKeyDowm(e){
-    handleEnter();
+  // handleKeyDowm(e){
+    // handleEnter();
     //只能输入数字
-    const key = e.key;
+    /*const key = e.key;
     const ctrlOn = e.ctrlKey;
     const isCopyPaste = ctrlOn&&(key=='v'||key=='c');
     if((!/[0-9|.|~|\/]/.test(key)&&key.length==1&&!isCopyPaste)){
       e.preventDefault();
       return false;
-    }
-  }*/
+    }*/
+  // }
   getClasses(){         //整个标签是否有值的状态
     const {hideTag,placeholder,value,isImports} = this.props;
     const $span = this.$span.current;

+ 2 - 2
src/components/PreviewBody/index.jsx

@@ -75,7 +75,7 @@ class PreviewBody extends Component {
     }
   }
   render() {
-    const { show, preInfo, dataJson, dataStr, baseObj, flg ,showAssessBtn} = this.props;
+    const { show, preInfo, dataJson, dataStr, baseObj, flg ,showAssessBtn,showHistoryCases} = this.props;
     const other_yjs = filterOtherDataArr(JSON.parse(dataStr.other),dataJson.other);
     const noData = JSON.stringify(preInfo) == '{}';
     const isChronic = (dataJson.diagChronicMagItem&&dataJson.diagChronicMagItem.name)||(dataJson.mainChronicDesease&&dataJson.mainChronicDesease.name);
@@ -118,7 +118,7 @@ class PreviewBody extends Component {
           </tr>
         </table>
         <p className={style.docName}>医生签名:<span>{baseObj ? baseObj.doctorName : (noData ? '' : preInfo.doctorName)}</span></p>
-        {showAssessBtn?<AssessResultHis isChronic={isChronic?true:false} inquiryId={baseObj&&baseObj.id} inquiryDate={baseObj&&baseObj.inquiryDate}></AssessResultHis>:""}
+        {showAssessBtn?<AssessResultHis showHistoryCases={showHistoryCases} isChronic={isChronic?true:false} inquiryId={baseObj&&baseObj.id} inquiryDate={baseObj&&baseObj.inquiryDate}></AssessResultHis>:""}
         <div onClick={() => { this.surePrint(dataStr) }} className={style.printBtn} style={{
           display: show ? 'inline-block' : 'none',
         }}>打印</div>

+ 38 - 34
src/components/PushItems/DetailsModal/index.jsx

@@ -40,7 +40,7 @@ class DetailsModal extends Component {
         const scrollTop = $('#detailsContent').scrollTop()
         let divHeight = 0;
         for (let i = 0; i < tipsDetails.introduceDetailList.length; i++) {
-            divHeight = divHeight + parseInt($('#' + tipsDetails.introduceDetailList[i].title).css('height'))
+            divHeight = divHeight + parseInt($('#' + tipsDetails.introduceDetailList[i].title).css('height')) -5
             if(divHeight > scrollTop) {
                 this.setState({
                     currentIndex: i
@@ -53,44 +53,48 @@ class DetailsModal extends Component {
     render() {
         const {showTipsDetails, tipsDetails} = this.props;
         const { currentIndex } = this.state
-        const domNode = document.getElementById('root');
-        return showTipsDetails && ReactDOM.createPortal(
-          <div className={styles['details-wrapper']}>
-           <div className={styles['details-content-wrapper']} id="detailsContentWrap">
-                <h1 id="detailsContentTitle" className={`${styles['details-content-name']} drag-title`} >{tipsDetails && tipsDetails.tagName} <img className={styles['details-close']} onClick={this.hideTips} src={close} /></h1>
-                <div className={styles['details-content']} id= 'detailsContent' onScroll={this.handleScrollModal.bind(this, tipsDetails)}>
-                    {tipsDetails && tipsDetails.introduceDetailList && tipsDetails.introduceDetailList.map((item, index) => {
-                        return (<div id={item.title}>
-                            <div className={styles['details-content-title-box']} >
-                                <span className={styles['details-content-title-name']}>{item.title}</span>
-                                <div className={styles['details-content-title-line']}></div>
-                            </div>
-                            <div dangerouslySetInnerHTML ={{__html: item.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix)}}></div>
-                        </div>)
-                    })}
-                    
-                </div>
-                <div className={styles['content-menu-box']}>
-                    <div className={styles['content-menu']}>
-                        {tipsDetails && tipsDetails.introduceDetailList && tipsDetails.introduceDetailList.map((item, index) => {
-                                return (<div>
-                                    <div className={styles['details-menu-title-box']}>
-                                        {index === 0 ? '' : <div className={styles['details-content-menu-line']}></div>}
-                                        <span onClick={this.handleClickMenu.bind(this, index, item, tipsDetails)} className={styles['details-content-menu-name']} style = {index === currentIndex ? {color:'#0089be'} : ''}>
-                                            <span className={styles['details-content-menu-circle']} style = {index === currentIndex ? {background:'#0089be'} : ''}></span>{item.title}
-                                        </span>
+      return <NewPortal visible = {showTipsDetails}>
+
+                <div className={styles['details-wrapper']}>
+                    <div className={styles['details-content-wrapper']} id="detailsContentWrap">
+                        <h1 id="detailsContentTitle" className={`${styles['details-content-name']} drag-title`} >{tipsDetails && tipsDetails.tagName} <img className={styles['details-close']} onClick={this.hideTips} src={close} /></h1>
+                        <div className={styles['details-content']} id= 'detailsContent' onScroll={this.handleScrollModal.bind(this, tipsDetails)}>
+                            {tipsDetails && tipsDetails.introduceDetailList && tipsDetails.introduceDetailList.map((item, index) => {
+                                return (<div id={item.title}>
+                                    <div className={styles['details-content-title-box']} >
+                                        <span className={styles['details-content-title-name']}>{item.title}</span>
+                                        <div className={styles['details-content-title-line']}></div>
                                     </div>
+                                    <div dangerouslySetInnerHTML ={{__html: item.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix)}}></div>
                                 </div>)
                             })}
+                            
+                        </div>
+                        <div className={styles['content-menu-box']}>
+                            <div className={styles['content-menu']}>
+                                {tipsDetails && tipsDetails.introduceDetailList && tipsDetails.introduceDetailList.map((item, index) => {
+                                        return (<div>
+                                            <div className={styles['details-menu-title-box']}>
+                                                {index === 0 ? '' : <div className={styles['details-content-menu-line']}></div>}
+                                                <span onClick={this.handleClickMenu.bind(this, index, item, tipsDetails)} className={styles['details-content-menu-name']} style = {index === currentIndex ? {color:'#0089be'} : ''}>
+                                                    <span className={styles['details-content-menu-circle']} style = {index === currentIndex ? {background:'#0089be'} : ''}></span>{item.title}
+                                                </span>
+                                            </div>
+                                        </div>)
+                                    })}
+                            </div>
+                        </div>
+                            
+                    </div>
+                    <div className={styles['details-mask']} onClick={this.hideTips}>
                     </div>
                 </div>
-               
-           </div>
-           <div className={styles['details-mask']} onClick={this.hideTips}>
-           </div>
-        </div>,
-          domNode
-      )
+
+
+      </NewPortal>
+      
+      
+      
     }
 }
 

+ 10 - 2
src/components/PushItems/DetailsModal/index.less

@@ -54,6 +54,7 @@
 .details-close {
     position: absolute;
     right: 0;
+    cursor: pointer;
 }
 .details-content {
     position: relative;
@@ -64,12 +65,19 @@
 .content-menu-box {
     position: absolute;
     top: 50px;
-    right: -20px;
-    width: 200px;
+    right: 20px;
+    width: 160px;
     height: 80%;
+    overflow: hidden;
+    
+}
+.content-menu-wrapper {
+    width: 200px;
+    height: 100%;
     overflow-y: auto;
 }
 .content-menu {
+    
     background: #eee;
     border: 1px solid #eee;
     width: 160px;

+ 1 - 1
src/components/PushItems/index.jsx

@@ -410,7 +410,7 @@ class PushItems extends Component {
               </div>
             </div>
             {/*{chronicPushItems&&chronicPushItems.length>0?<ChronicInfo data={chronicPushItems}></ChronicInfo>:''}*/}
-            {<ChronicInfo data={chronicPushItems}></ChronicInfo>}
+            {<ChronicInfo></ChronicInfo>}
             <div className={style["tips"]}>
               <h1>
                 <img src={tipsImg} />

+ 8 - 3
src/components/PushItems/index.less

@@ -16,8 +16,9 @@
     .title{
       color:#fff;
       font-size: 14px;
+      font-weight: bold;
       float: left;
-      margin: 10px 10px 0 0;
+      margin: 10px 0px 0 0;
       img {
         float: left;
         margin: 1px 2px 0 20px;
@@ -27,7 +28,7 @@
     }
     .vigilantContent {
       float:left;
-      width: 340px;
+      padding: 0 0 0 15px;
       span {
         font-size: 14px;
         color: #fff;
@@ -150,6 +151,7 @@
               line-height: 14px;
               display: inline-block;
               margin: 6px;
+              cursor: pointer;
               input[type='checkbox']{
                 float: left;
                 width: 14px;
@@ -165,7 +167,10 @@
               input[type=checkbox]:checked{
                 background: url("../../common/images/checked.png")no-repeat center;
                 background-size: 12px 12px;
-             }
+              }
+              label {
+                cursor: pointer;
+              }
             }
           }
         }

+ 3 - 5
src/components/ScaleTableHis/index.jsx

@@ -27,8 +27,6 @@ class ScaleTableHis extends React.Component{
   }
 
   getContent(datas){
-    const {title,formulaResult,data} = this.props;
-    // const datas = valueData&&valueData.group?valueData:mocks.newData;
     let content =  datas&&datas.group&&datas.group.map((v,i)=>{
                 return <div className={style['group']}>
                   <p className={style['groupName']}>{v.groupName}</p>
@@ -36,7 +34,7 @@ class ScaleTableHis extends React.Component{
                     return <div>
                       {it.row.map((item,index)=>{
                         if(item.controlType==0){
-                          return <div className={style['block']} style={{border:it.required==1&&!item.isSelect&&start?'1px solid #f00':'none'}}>
+                          return <div className={style['block']}>
                               <p className={style['miniName']}>{item.name}</p>
                               {item.details&&item.details.map((vv,ii)=>{
                                 return <div className={style['item']}>
@@ -83,7 +81,7 @@ class ScaleTableHis extends React.Component{
   }
 
   render(){
-    const {title,data,result} = this.props;console.log(this.props)
+    const {title,data,result} = this.props;
     const scale = data && this.filterScale(data);
     const datas = scale && scale.content && JSON.parse(scale.content);
     const scaleResult = datas; //量表计算结果
@@ -100,7 +98,7 @@ class ScaleTableHis extends React.Component{
                   {this.getContent(datas)}
                   {datas&&datas.Calc==1?<div className={style['total']}>
                     <span>总分:</span>
-                    <span>{result&&result.calcalculate&&result.calcalculate.result&&result.calcalculate.result.value +' '+ result.calcalculate.result.text||''}</span>
+                    <span>{result&&result.calcalculate&&result.calcalculate.result&&result.calcalculate.result.value +' '+ (result.calcalculate.result.text||'')}</span>
                   </div>:''}
                 </div>
               }

+ 12 - 14
src/components/Treat/AdverseReactions/index.jsx

@@ -19,9 +19,6 @@ class AdverseReactions extends Component {
         this.props.changeReact(it, index);
     }
     handleMouseEnterDrug(index, item) {
-        const drugNameWidth = parseInt($('#'+item.id)[0].offsetWidth)
-        const imgLeft = drugNameWidth/2-8
-        $('#'+item.id).find('img').css('left', imgLeft)
         this.setState({
             currentIndex: index,
         })
@@ -61,26 +58,27 @@ class AdverseReactions extends Component {
                     <span className={style['last-treat-name-box']}
                         
                     >   
-                        <span   id={item.id} 
+                        <span   
                                 className={style['last-treat-big-name-box']} 
                                 onMouseEnter={this.handleMouseEnterDrug.bind(this, index, item)}
                                 onMouseLeave = {this.handleMouseLeaveDrug}
                         >
-                            {item.tagName}:
-                            {<img className={style['info-img']}  
-                                style ={currentIndex === index  ? {display: "inline-block"} : {display: "none"}}
-                                src={currentIndex === index ?(hasEnterImg ? info3 : info2 ): info2} 
-                                onMouseEnter={this.handleMouseEnterImg.bind(this)}
-                                onMouseLeave = {this.handleMouseLeaveImg}
-                                onClick={() =>{this.setDrugInfo(item);showDrugInfo();}}/>}
-                        
+                            <span className={style['last-treat-big-name']} >{item.tagName}:
+                                {<img className={style['info-img']}  
+                                    style ={currentIndex === index  ? {display: "inline-block"} : {display: "none"}}
+                                    src={currentIndex === index ?(hasEnterImg ? info3 : info2 ): info2} 
+                                    onMouseEnter={this.handleMouseEnterImg.bind(this)}
+                                    onMouseLeave = {this.handleMouseLeaveImg}
+                                    onClick={() =>{this.setDrugInfo(item);showDrugInfo();}}/>}
+                            </span>
                         </span>
                         
                     </span>
                         {item.details.map((it, idx) => {
-                            return <span key={item.id + it.name}>
-                                <input type="checkbox" checked={it.value == 1} id={item.id + it.name} onChange={this.changeReact.bind(this, it, index)}/>
+                            return <span className={style['adverse-reactions-name']} key={item.id + it.name}>
+                                <input type="checkbox" checked={it.select} id={item.id + it.name} onChange={this.changeReact.bind(this, it, index)}/>
                                 <label for={item.id + it.name}> {it.name} </label>
+                                {it.value==1 && <span className={style['adverse-reactions-recommend']}>(智能推荐)</span>}
                             </span>
                         })}
                     </div>)

+ 17 - 2
src/components/Treat/AdverseReactions/index.less

@@ -35,11 +35,26 @@
 .info-img {
     position: absolute;
     width: 15px;
-    position: absolute;
-    top: -8px;
+    top: -15px;
+    left: 50%;
+    margin-left: -8px;
 }
 .last-treat-big-name-box {
     display: inline-block;
     
 }
+.last-treat-big-name {
+    position: relative;
+}
+.adverse-reactions-recommend {
+    cursor: pointer;
+    color: #3B9ED0;
+}
+.adverse-reactions-name {
+    margin-right: 10px;
+    input, label {
+        cursor: pointer;
+    }
+    
+}
 

+ 0 - 4
src/components/Treat/DrugTreat/index.jsx

@@ -28,9 +28,6 @@ class DrugTreat extends Component {
         selectDrug && selectDrug(index,ii);
     }
     handleMouseEnterDrug(ii, index, it) {
-        const drugNameWidth = parseInt($('#'+it.medicitionName)[0].offsetWidth)
-        const imgLeft = drugNameWidth/2-10
-        $('#'+it.medicitionName).find('img').css('left', imgLeft)
         this.setState({
             currentIndex: index,
             currentImg: ii
@@ -99,7 +96,6 @@ class DrugTreat extends Component {
                                         {ii === 0 ? '' : ', '}
                                         <span onMouseEnter={this.handleMouseEnterDrug.bind(this, ii , index, it)}
                                               onMouseLeave = {this.handleMouseLeaveDrug}
-                                              id={it.medicitionName}
                                               className={style['drug-name-wrapper']} 
                                         >
                                             <span className={style['drug-name']}  

+ 2 - 0
src/components/Treat/DrugTreat/index.less

@@ -35,6 +35,8 @@
     width: 15px;
     position: absolute;
     top: -15px;
+    left: 50%;
+    margin-left: -7px;
 }
 .info-flag {
     display: inline-block;

+ 1 - 0
src/components/Treat/index.less

@@ -12,6 +12,7 @@
   z-index:9999;
   top: 0;
   right: 0;
+  cursor: pointer;
 }
 .treat-mask {
     position: fixed;

+ 4 - 4
src/components/TreatDesc/DrugInfo/index.jsx

@@ -37,7 +37,7 @@ class DrugInfo extends Component {
         const scrollTop = $('#drugDesc').scrollTop()
         let divHeight = 60; //标题高度为60px
         for (let i = 0; i < drugDesc.length; i++) {
-            divHeight = divHeight + parseInt($('#' + drugDesc[i].title.trim()).css('height'))
+            divHeight = divHeight + parseInt($('#' + drugDesc[i].title.trim()).css('height')) -5
             if(divHeight > scrollTop) {
                 this.setState({
                     currentIndex: i
@@ -55,9 +55,9 @@ class DrugInfo extends Component {
         const { currentIndex } = this.state
         return (<div className={style['drug-info-wrapper']} id="drugWrapper">
                 <img src={close} onClick={hideDrugInfo} className={style['close-drug-desc']}/>
-                <h3 onMouseDown={this.setDragBox} id="drugTitle" className={style['drug-title']}>{drugInfo.title}说明书  </h3>
+                <h3 onMouseDown={this.setDragBox} id="drugTitle" className={style['drug-title']}>{drugInfo.tagType == 8 ? drugInfo.title+'说明书' : drugInfo.tagType == 10 ? drugInfo.title+ '说明': ''}</h3>
                 { drugInfo && drugInfo.drugDesc.length > 0 && <div className={style['drug-desc-wrapper']} id='drugDesc' onScroll={this.handleScrollModal.bind(this,  drugInfo.drugDesc)}>
-                    <div className={style['drug-title1']} >{drugInfo.title}说明书</div>
+                    <div className={style['drug-title1']} >{drugInfo.tagType == 8 ? drugInfo.title+'说明书' : drugInfo.tagType == 10 ? drugInfo.title+ '说明': ''}</div>
                     {drugInfo.drugDesc.map((item, index) =>{
                         return <div className={style['drug-desc-item']} id={item.title.trim()}>
                             <div className={style['drug-desc-title']} >{item.title.trim()}</div> 
@@ -83,7 +83,7 @@ class DrugInfo extends Component {
                 </div> }
                 { !drugInfo || (drugInfo && drugInfo.drugDesc.length === 0) && <div className={style['drug-desc-wrapper']}>
                     <div>
-                        该药品暂无说明
+                        {drugInfo.tagType == 8 ? '该药品暂无说明' : drugInfo.tagType == 10 ?'该不良反应暂无说明': ''}
                     </div>
                 </div> }
         </div>)

+ 1 - 0
src/components/TreatDesc/DrugInfo/index.less

@@ -39,6 +39,7 @@
     top: 0;
     z-index: 9999;
     width: 40px;
+    cursor: pointer;
 }
 .drug-desc-item {
     zoom: 1;

BIN
src/components/TreatDesc/img/packUp.png


+ 5 - 5
src/components/TreatDesc/index.jsx

@@ -6,7 +6,7 @@ import info from './img/info.png';
 import info1 from './img/info1.png';
 import info2 from './img/info2.png';
 import info3 from './img/info3.png';
-
+import packUp from './img/packUp.png';
 
 class TreatDesc extends Component {
     constructor(props){
@@ -26,11 +26,11 @@ class TreatDesc extends Component {
 
     handleMouseEnterDrug( index, item) {
         // console.log('item', item)
-        const drugNameWidth = parseInt($('#'+item.medicitionName)[0].offsetWidth)
+        // const drugNameWidth = parseInt($('#'+item.medicitionName)[0].offsetWidth)
         
-        const imgLeft = drugNameWidth/2-10
+        // const imgLeft = drugNameWidth/2-10
         // console.log('imgLeft', imgLeft)
-        $('#'+item.medicitionName).find('img').css('left', imgLeft)
+        // $('#'+item.medicitionName).find('img').css('left', imgLeft)
        
         this.setState({
             currentIndex: index,
@@ -78,7 +78,7 @@ class TreatDesc extends Component {
                     
                 </div> } */}
                 { otherDrugIndex > -1 && <div  className={style['similar-drug']}>
-                    <h3 className={style['drug-desc-title']}><span className={style['drug-desc-class-title']} title={'同类药物(' + treatment[otherDrugIndex].drugsName + ')'}>同类药物({treatment[otherDrugIndex].bigdrugsName})</span>  <img src={close} onClick={this.hideTreatDesc} className={style['close-drug-desc']} /></h3>
+                    <h3 className={style['drug-desc-title']}><span className={style['drug-desc-class-title']} title={'同类药物(' + treatment[otherDrugIndex].bigdrugsName + ')'}>同类药物({treatment[otherDrugIndex].bigdrugsName})</span>  <img src={packUp} onClick={this.hideTreatDesc} className={style['close-drug-desc']} /></h3>
                     {treatment[otherDrugIndex].medicitionsList.map((item, index) =>{
                         return (<span >
                         {index === 0 ? '' : ', '}     

+ 4 - 3
src/components/TreatDesc/index.less

@@ -31,6 +31,7 @@
 .close-drug-desc {
     position: absolute;
     right: 0px;
+    cursor: pointer;
 }
 .similar-drug-box {
     display: none;
@@ -60,10 +61,10 @@
 }
 .info-img {
     width: 15px;
-    margin: 0 3px -1px;
-    cursor: pointer;
     position: absolute;
-    top: -10px;
+    top: -15px;
+    left: 50%;
+    margin-left: -7px;
 }
 .info-flag {
     display: inline-block;

+ 2 - 0
src/config/index.js

@@ -37,6 +37,8 @@ export default {
       age:"岁",
     },
     chartDismen:'year',   //评估图表默认维度:近1年year,近6个月sixMonth,近1个月month,近1周week
+    chartSymbols:['emptyCircle' , 'rect', 'arrow', 'triangle', 'diamond','circle', 'pin', 'roundRect'],
+    chartColors:['#E84C47','#B947E8', '#47B0E8', '#4774E8', '#6C4EF9','#63DEC2', '#DDD81D','#EF592B'],
     showCheckNum:16,        //查体默认展开非自由文本标签的个数
     radioOptionPer:'()',     //单选项输入占位符
     textReg:new RegExp("([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9])"), //包含中英文或数字

+ 2 - 1
src/containers/AdviceContainer.js

@@ -10,7 +10,8 @@ function mapStateToProps(state) {
         adviceInput: state.pushMessage.advice.adviceInput,
         isFirstMainDiag:  state.treat.isFirstMainDiag,
         followUp: state.pushMessage.advice.followUp,
-        hasFollowUp: state.treat.hasFollowUp
+        hasFollowUp: state.treat.hasFollowUp,
+        typeConfig: state.typeConfig.typeConfig
     })
 }
 

+ 13 - 21
src/containers/AssessResult.js

@@ -4,9 +4,8 @@ import AssessResult from '@components/AssessResult';
 import {ISREAD} from '@store/types/homePage.js';
 import {billing} from '@store/async-actions/pushMessage';
 import {getAssessData,getIndexData} from '@store/async-actions/fetchModules';
-import {SET_ASSESS_DATA,SET_INDEX_DATA,SET_INDEX_SUB_TYPE,REMOVE_ASSESS_ITEMS,CLEAR_INDEX_DATA} from '@types/assessResult';
-import store from '@store';
-import {SET_SCALE_INFO} from "../store/types/pushMessage";
+import {SET_ASSESS_DATA,SET_INDEX_DATA,SET_INDEX_SUB_TYPE,REMOVE_ASSESS_ITEMS,CLEAR_INDEX_DATA,SET_CHRONIC_CALCU_RESULT} from '@types/assessResult';
+import {parseChartData,deepClone} from '@utils/tools';
 
 /***
  * 管理评估逻辑:
@@ -23,6 +22,7 @@ function mapStateToProps(state) {
   return {
     data:assessResult.data,
     indexData:assessResult.indexData,
+    indexNames:assessResult.indexNames,
     update:assessResult.update,     //评估数据更新
     update1:assessResult.update1,       //加入记录更新
     timeTypes:assessResult.indexTimeTypes,    //图表切换的维度
@@ -32,10 +32,11 @@ function mapStateToProps(state) {
     chooseSelecteds:assessResult.chooseSelecteds,    //已选中的选项
     wholeAssessText:assessResult.wholeAssessText,     //整体评估补充说明
     scaleInfo: pushMessage.scaleInfo,//量表内容
-    scaleUpdate:pushMessage.scaleUpdate,
     chronicPushItems: pushMessage.chronicPushItems, //慢病右侧推送
     formulaResult:pushMessage.formulaResult,       //量表计算结果
-    calcuResult:pushMessage.calcuResult,      //评估弹窗可能结果计算结果
+    calcuResult:assessResult.calcuResult,      //评估弹窗可能结果计算结果
+    calcuValues:assessResult.calcuValues,      //计算公式填的值
+    wholeScaleItems:assessResult.wholeScaleItems,     //全部量表中已加入病例的量表
   }
 }
 
@@ -88,25 +89,16 @@ function mapDispatchToProps(dispatch) {
         type:CLEAR_INDEX_DATA
       })
     },
+    saveCalcuResult(data){
+      dispatch({
+        type: SET_CHRONIC_CALCU_RESULT,
+        data:deepClone(data)
+      })
+    }
   }
 }
 
-function parseChartData(indexData){
-  let arr=[],obj={},temp={};
-  let nameArr=[],nameObj={};  //暂弃
-  if(!indexData){
-    return [];
-  }
-  indexData.itemIndexData.map((it)=>{
-    temp=indexData.indexConfigData.find((i)=>{return it.itemName==i.indexUnique});
-    arr=obj[temp.indexDesc]||[];
-    nameArr=nameObj[temp.indexDesc]||[];
-    obj[temp.indexDesc]=[...arr,it];
-    nameObj[temp.indexDesc]=[...nameArr,it.itemName];
-  });
-  //nameObj,obj;
-  return obj;
-}
+
 const AssessResultContainer = connect(mapStateToProps, mapDispatchToProps)(AssessResult);
 
 export default AssessResultContainer;

+ 2 - 16
src/containers/AssessResultHis.js

@@ -6,6 +6,7 @@ import {billing} from '@store/async-actions/pushMessage';
 import {getAssessHis,getIndexData} from '@store/async-actions/fetchModules';
 import {SET_ASSESS_DATA,SET_INDEX_DATA} from '@types/assessResult';
 import {SET_ASSESS_HISTORY_DATA,SET_ASSESS_HISTORY_LOADING} from '@types/assessResultHis';
+import {parseChartData} from '@utils/tools';
 
 /***
  * 管理评估逻辑:
@@ -22,6 +23,7 @@ function mapStateToProps(state) {
   return {
     list:assessResultHis,    //已获取到的历史评估列表
     indexData:assessResult.indexData,
+    indexNames:assessResult.indexNames,
     loading:assessResultHis.loading,
     timeTypes:assessResult.indexTimeTypes,    //图表切换的维度
   }
@@ -76,22 +78,6 @@ function mapDispatchToProps(dispatch) {
   }
 }
 
-function parseChartData(indexData){
-  let arr=[],obj={},temp={};
-  let nameArr=[],nameObj={};  //暂弃
-  if(!indexData){
-    return [];
-  }
-  indexData.itemIndexData.map((it)=>{
-    temp=indexData.indexConfigData.find((i)=>{return it.itemName==i.indexUnique});
-    arr=obj[temp.orderNo]||[];
-    nameArr=nameObj[temp.orderNo]||[];
-    obj[temp.orderNo]=[...arr,it];
-    nameObj[temp.orderNo]=[...nameArr,it.itemName];
-  });
-  //nameObj,obj;
-  return obj;
-}
 const AssessResultHisContainer = connect(mapStateToProps, mapDispatchToProps)(AssessResultHis);
 
 export default AssessResultHisContainer;

+ 1 - 1
src/containers/AssistCheck.js

@@ -8,7 +8,7 @@ import { getSearchList,getInstroduce } from '@store/async-actions/assistCheck';
 import {ISREAD} from '@store/types/homePage.js';
 import {billing} from '@store/async-actions/pushMessage';
 
-function mapStateToProps(state) {//console.log(state)
+function mapStateToProps(state) {
     return {
         list:state.assistCheck.list,
         assistLabel:state.assistCheck.assistLabel,

+ 2 - 1
src/containers/CheckBody.js

@@ -1,7 +1,7 @@
 import {connect} from 'react-redux';
 import CheckBody from '@components/CheckBody';
 import {getModule,getInitData} from '@store/async-actions/fetchModules.js';
-import {HIDE,RESET,SETDROPSHOW,ISREAD,SEARCH_DROP_LOCATION} from '@store/types/homePage.js';
+import {HIDE,RESET,SETDROPSHOW,ISREAD,SEARCH_DROP_LOCATION,MODI_LOADING} from '@store/types/homePage.js';
 import {SELECTSEARCHDATA} from "@store/types/checkBody";
 import {billing} from '@store/async-actions/pushMessage';
 import {filterDataArr} from '@utils/tools.js';
@@ -32,6 +32,7 @@ function mapStateToProps(state){
 function mapDispatchToProps(dispatch,state){
   return {
     getInit(){
+      dispatch({type:MODI_LOADING,flag:true});
       dispatch(getInitData());
     },
     fetchModules(param){

+ 21 - 17
src/containers/ChronicInfo.js

@@ -2,7 +2,7 @@ import {connect} from 'react-redux';
 import ChronicInfo from '../components/ChronicInfo';
 import {SHOW_TABLE_LIST,HIDE_TABLE_LIST, SET_CHRONIC_PUSHS} from '@store/types/pushMessage';
 import {getTableList,getScaleInfo,getTips} from '../store/async-actions/pushMessage';
-import {ADD_ASSESS_ITEMS,SET_SAVE_ASSESS_DATA,SET_CHRONIC_CALCU_RESULT} from "@types/assessResult";
+import {ADD_ASSESS_ITEMS,SET_SAVE_ASSESS_DATA,SET_CHRONIC_CALCU_RESULT,ADD_WHOLE_SCALE_ITEMS,SET_CALCU_VALUES} from "@types/assessResult";
 import {saveMessage} from "../store/async-actions/print";
 import {saveClickNum} from '@store/async-actions/homePage';
 import { getFormulaResult } from '@store/async-actions/fetchModules'
@@ -13,7 +13,7 @@ function mapStateToProps(state){
   const {pushMessage,assessResult} = state;
   return{
     chronicMagItem: state.diagnosticList.chronicMagItem,//慢病疾病
-    chronicPushItems: pushMessage.chronicPushItems, //慢病右侧推送
+    data:pushMessage.chronicPushItems,     //慢病右侧推送
     tableList: pushMessage.tableList,
     showList: pushMessage.showList,
     showHide: pushMessage.showHide,
@@ -23,6 +23,9 @@ function mapStateToProps(state){
     formulaResult:pushMessage.formulaResult, //量表信息
     indexs:assessResult.wholeIndexs,
     wholeResults:assessResult.wholeResults,     //整体评估可能结果
+    calcuResult:assessResult.calcuResult,      //计算公式结果
+    calcuValues:assessResult.calcuValues,      //计算公式填的值
+    wholeScaleItems:assessResult.wholeScaleItems,     //全部量表中已加入病例的量表
   }
 }
 
@@ -52,6 +55,13 @@ function mapDispatchToProps(dispatch){
         subIndex:i
       })
     },
+    addScaleItems(obj,i){
+      dispatch({
+        type:ADD_WHOLE_SCALE_ITEMS,
+        data:obj,
+        index:i
+      })
+    },
     //保存管理评估
     saveAssessInfos(obj,flg,noSave){     //noSave未true则不调页面保存接口
       dispatch(Object.assign({},obj,{type:SET_SAVE_ASSESS_DATA}));
@@ -69,31 +79,25 @@ function mapDispatchToProps(dispatch){
       })
     },
     //设置量表推送内容
-    setChronicPush(data) {
+    setChronicPush(data,id,calcuItem) {
       dispatch({
         type: SET_CHRONIC_PUSHS,
         data: data
-      })
+      });
+      dispatch({
+        type:SET_CALCU_VALUES,
+        data:calcuItem,
+        id
+      });
     },
     // 计算公式计算
     calcuFormula(item) {
-      // dispatch(getFormulaResult(item))
-      const {param,chronicPushItems} = item;
+      const {param} = item;
       getFormulaResult(param).then((res)=>{
         if(+res.data.code==0){
-          const data = chronicPushItems;
           const result = res.data.data.result;
-          data[param.ppIndex].details[param.pIndex].content.result =  result;
-          /*if(item.isPop){
-            dispatch({
-              type:SET_CHRONIC_CALCU_RESULT,
-              data:deepClone(result),
-              id:item.param.disId
-            });
-          }*/
           dispatch({
-            type: SET_CHRONIC_PUSHS,
-            data: deepClone(data),
+            type: SET_CHRONIC_CALCU_RESULT,
             result:deepClone(result),
             id:item.param.disId
           })

+ 3 - 1
src/containers/DiagnosticList.js

@@ -10,6 +10,7 @@ import { showHistory,sortHistory,activeHistory,visibleHistory } from '@store/act
 import {CURRENT_CHRONIC} from '@store/types/currentIll';
 import {autoFillModules} from '@store/async-actions/fetchModules';
 import { initItemList } from '@store/async-actions/historyTemplates';
+import {MODI_LOADING} from '@store/types/homePage.js';
 
 function mapStateToProps(state) {
     const {diagnosticList} = state;
@@ -77,7 +78,8 @@ function mapDispatchToProps(dispatch) {
             })
         },
         getTreatResult: (item) => {
-            dispatch(getTreatResult(item))
+            dispatch({type:MODI_LOADING,flag:true});
+            dispatch(getTreatResult(item));
         },
         getTips: (diagItem) => {
             dispatch(getTips(diagItem))

+ 2 - 0
src/containers/OperationContainer.js

@@ -11,6 +11,7 @@ import {
 import {saveMessage,clearMessages} from "../store/async-actions/print";
 import {saveTemplateDetail} from '@store/async-actions/tabTemplate';
 import {saveClickNum,getInitModules} from '@store/async-actions/homePage';
+import {getOtherHisRecord} from '@store/async-actions/fetchModules';
 
 // function mapStateToProps({print}) {
 function mapStateToProps(state) {
@@ -51,6 +52,7 @@ function mapDispatchToProps(dispatch) {
         },
         clear: (flag) => {
             clearMessages();
+            dispatch(getOtherHisRecord());      //清除后重新获取其他史记录
             // 清除时如果是慢病模板则重新获取模板
             if(flag){
                 dispatch(getInitModules);

+ 1 - 1
src/containers/PushItemsContainer.js

@@ -15,7 +15,7 @@ function mapStateToProps(state) {
         questionId: diagnosticList.clickDiag,
         tableList: pushMessage.tableList,
         showList: pushMessage.showList,
-        chronicPushItems: pushMessage.chronicPushItems,
+        //chronicPushItems: pushMessage.chronicPushItems,
     }
 }
 

+ 5 - 1
src/store/actions/checkBody.js

@@ -424,7 +424,11 @@ export function setInputLabel(state,action){
       item.value=text;
     }
   }
-  res.saveText[i] = prefix+text+suffix;//console.log(res)
+  if(text){
+    res.saveText[i] = prefix+text+suffix;
+  }else{//删除完要清空
+    res.saveText[i] = "";
+  }
   res.update = Math.random();
   return res;
 }

+ 6 - 1
src/store/actions/currentIll.js

@@ -95,6 +95,7 @@ export const fillChronicModule = (state,action)=>{
   let moduleData = JSON.parse(JSON.stringify(res.moduleData));//现病史模板
   res.data = fullfillText(moduleData).newArr;
   res.saveText = fullfillText(res.data).saveText;
+  res.editClear = false; //现病史框不可编辑
   res.update=Math.random();
   return res;
 }
@@ -862,7 +863,11 @@ export function setInputLabel(state,action){
       item.value=text;
     }
   }
-  res.saveText[i] = prefix+text+suffix;
+  if(text){
+    res.saveText[i] = prefix+text+suffix;
+  }else{//删除完要清空
+    res.saveText[i] = "";
+  }
   res.update = Math.random();
   return res;
 }

+ 5 - 1
src/store/actions/mainSuit.js

@@ -712,7 +712,11 @@ export function setInputLabel(state,action){
       item.value=text;
     }
   }
-  res.saveText[i] = prefix+text+suffix;//console.log(res)
+  if(text){
+    res.saveText[i] = prefix+text+suffix;
+  }else{//删除完要清空
+    res.saveText[i] = "";
+  }
   res.update = Math.random();
   return res;
 }

+ 5 - 1
src/store/actions/otherHistory.js

@@ -215,7 +215,11 @@ export function setOtherInput(state,action){
   if(res.data[i]){
     res.data[i].value=text;
   }
-  res.saveText[i] = prefix+text+suffix;
+  if(text){
+    res.saveText[i] = prefix+text+suffix;
+  }else{//删除完要清空
+    res.saveText[i] = "";
+  }
   res.update = Math.random();
   return res;
 }

+ 22 - 7
src/store/actions/pushMessage.js

@@ -38,24 +38,39 @@ function getAdviceStr(advice) {
 	const commontreatment = advice.commontreatment
 	const scheme = advice.scheme || '';
 	const adviceInput = advice.adviceInput || '';
-	// const assay = advice.assay || '';
-	// const check = advice.check || '';
+	const assay = advice.assay || '';
+	const check = advice.check || '';
+	const followUp = advice.followUp || '';
 	let AdviceStr = advice.AdviceStr || '';
+
+	if(assay || check) {
+		AdviceStr = assay + check  +'; ' + AdviceStr;
+	}
+	if(commontreatment)  { 
+		AdviceStr = AdviceStr + commontreatment + ';';
+	}	
+	if(followUp) {
+		AdviceStr = AdviceStr + '回访时间:'+followUp + '后回访,不适随诊' + ';';
+	}
 	for (let i = 0; i < scheme.length; i++) {
 		for (let j = 0; j < scheme[i].treatment.length; j++) {
 			if(scheme[i].treatment[j].treatmentStr === '') {
 				AdviceStr = AdviceStr + scheme[i].treatment[j].treatmentStr
 			} else {
-				AdviceStr = AdviceStr.substring(1, AdviceStr.length) + ', ' + scheme[i].treatment[j].treatmentStr
+				AdviceStr = AdviceStr  + scheme[i].treatment[j].treatmentStr + ', '
 			}
 		}
 	}
-	if(commontreatment)  { 
-		AdviceStr = commontreatment +'; ' + AdviceStr;
-	}	
+	if(AdviceStr.slice(AdviceStr.length-2) == ', ') {
+		AdviceStr = AdviceStr.slice(0, AdviceStr.length-2)
+	}
+	// if(commontreatment)  { 
+	// 	AdviceStr = commontreatment +'; ' + AdviceStr;
+	// }	
 	if(adviceInput)  { 
 		AdviceStr = AdviceStr +'; ' + adviceInput;
 	}	
+	
 	return AdviceStr;
 }
 
@@ -98,7 +113,7 @@ export const addScheme = (state, action) => {
 	 //将同类药添加到一起
 	for (let i = 0; i < scheme[RepeatIndex].treatment.length; i++) {
 		for (let j = 0; j < treatment.length; j++) {
-			if (scheme[RepeatIndex].treatment[i].id === treatment[j].id && scheme[RepeatIndex].treatment[i].bigdrugsName === treatment[j].bigdrugsName) {
+			if (scheme[RepeatIndex].treatment[i].id === treatment[j].id && scheme[RepeatIndex].treatment[i].bigdrugsName === treatment[j].bigdrugsName && scheme[RepeatIndex].treatment[i].subdrugsName === treatment[j].subdrugsName) {
 				for(let z = 0; z < treatment[j].medicitionsList.length; z++) {
 					if(treatment[j].medicitionsList[z].selected) {
 						if(scheme[RepeatIndex].treatment[i].treatmentStr !== '') {

+ 23 - 3
src/store/actions/treat.js

@@ -11,6 +11,7 @@ export const hideTreat = (state, action) => {
     return res
 }
 
+//关闭弹窗时清除部分治疗方案
 export const clearTreat = (state, action) => {
     const res = Object.assign({}, state);
     res.generalTreat = '';
@@ -19,9 +20,27 @@ export const clearTreat = (state, action) => {
     res.treatment = [];
     res.adversReactionList=[];
     res.hasFollowUp = false;
+    res.followUp = '';
     return res
 }
 
+//清除全部治疗方案
+export const clearAllTreat = (state, action) => {
+    const res = Object.assign({}, state);
+    res.generalTreat = '';
+    res.surgeryTreat = '';
+    res.drugHistory = {};
+    res.treatment = [];
+    res.adversReactionList=[];
+    res.hasFollowUp = false;
+    res.followUp = '';
+    res.followUpList = [];
+    res.adversReactionList = [];
+    res.allAdversReactionList = [];
+    return res
+}
+
+
 export const setTreatment = (state, action) => {
     const res = Object.assign({}, state);
     res.treatment = action.treatment;
@@ -56,10 +75,11 @@ export const setOtherDrug = (state, action) => {
 //药品说明
 export const setDrugInfo = (state, action) => {
     const res = JSON.parse(JSON.stringify(state));
-    const instroduce = action.instroduce;
+    const {instroduce, name, tagType} = action;
     res.drugInfo = {};
-    res.drugInfo.title = action.name;
+    res.drugInfo.title = name;
     res.drugInfo.drugDesc = instroduce;
+    res.drugInfo.tagType = tagType
     return res
 }
 
@@ -147,7 +167,7 @@ export const changeReact=(state,action)=>{
     const index = action.index
     res.adversReactionList[index].details = res.adversReactionList[index].details.map(item => {
       if(item.name == action.it.name){
-        item.value = item.value == 0 ? 1 : 0
+        item.select = !item.select
       }
       return item
     })

+ 11 - 6
src/store/async-actions/fetchModules.js

@@ -9,6 +9,7 @@ import {SETOTHERHISTORY,ISREAD} from "../types/homePage";
 import {SAVE_TABLE_RESULT,SET_CHRONIC_PUSHS} from "../types/pushMessage";
 import config from "@config/index";
 import {CURRENT_CHRONIC} from '@store/types/currentIll';
+import {MODI_LOADING} from '@store/types/homePage.js';
 
 const api={
   getSpreadModule:'/questionInfo/getByIds',
@@ -153,6 +154,7 @@ export function getInitData(){
     };
     json(api.getBigPush,param).then((res)=>{
       if(+res.data.code === 0){
+        dispatch({type:MODI_LOADING,flag:false});
         const data = res.data.data&&res.data.data.vital;
         const str = JSON.stringify(data);
         const arr = fullfillText(JSON.parse(str),false,false,false).newArr;
@@ -162,6 +164,7 @@ export function getInitData(){
           isEmpty:false
         });
       }else{
+        dispatch({type:MODI_LOADING,flag:false});
         const block = Object.assign(JSON.parse(config.textLabel),{full:true});      //无数据时保留一个自由文本标签可输入
         dispatch({
           type:SET,
@@ -227,16 +230,18 @@ export function saveMode(mode){
 
 //慢病-获取管理评估
 export function getAssessData(){
-  return (dispatch,getStore)=>{
-    const {patInfo} = getStore();
+  return ()=>{
+    const emrData = getEMRParams();
     const param = {
       diseaseId:21773,
       disType:1,
       diag:'糖尿病',
+      diseaseName:'糖尿病',
       featureType:11,
-      lis:[],
-      sex:patInfo.message.sex,
-      age:patInfo.message.patientAge
+      lis:emrData.lis,
+      sex:emrData.sex,
+      age:emrData.age,
+      symptom:emrData.current + emrData.main
     };
     return json(api.getAssess,param);
   }
@@ -258,7 +263,7 @@ export function getIndexData(range){
     const param = {
       diseaseId:21773,
       startTime:range[0],
-      endTime:range[1],
+      endTime:range[1]+" 23:23:59",
       patientId:patInfo.message.patientId,
     };
     return json(api.getIndexData,param);

+ 1 - 1
src/store/async-actions/patInfo.js

@@ -62,7 +62,7 @@ export const initHistoryDetails = (dispatch) => {
                 dispatch({type:MODI_LOADING,flag:false});
             } else {
                 dispatch({type:MODI_LOADING,flag:false});
-                console.log(res)
+                // console.log(res)
             }
         })
     }

+ 4 - 1
src/store/async-actions/print.js

@@ -144,7 +144,10 @@ function getEvaluations(base,pushMessage){
       wholeIndexs:base.wholeIndexs,
       scaleInfo:pushMessage.scaleInfo,
       scaleResult:pushMessage.formulaResult,
-      wholeResults:base.wholeResults
+      wholeResults:base.wholeResults,
+      calcuResult:base.calcuResult,
+      calcuValues:base.calcuValues,
+      scaleItems:base.wholeScaleItems,
     };
 }
 

+ 8 - 4
src/store/async-actions/pushMessage.js

@@ -162,13 +162,17 @@ export const getScaleInfo = (it)=>{
         const emrData = getEMRParams();
           const params = {
             age: emrData.age,
+            sex: emrData.sex,
             featureType: "21",
             diag: emrData.dis,
-            // lis: emrData.lis,
-            lis: [],
-            sex: emrData.sex,
+            lis: emrData.lis,
             scaleId:it.id,
-            scaleName:it.name
+            scaleName:it.name,
+            other: emrData.other,
+            pacs: emrData.pacs,
+            vital:emrData.vital,
+            symptom: emrData.current + emrData.main,
+            // indications:'' //指标结果
           };
         json(api.push, params)
         .then((res)=>{

+ 17 - 6
src/store/async-actions/treat.js

@@ -1,11 +1,13 @@
 import { json } from "@utils/ajax";
-import { SET_TREAT } from '@store/types/diagnosticList';
-import { ADD_DIAGNOSTIC, GET_DIAGNOSTIC_STR} from '@store/types/diagnosticList';
+// import { SET_TREAT } from '@store/types/diagnosticList';
+import { ADD_DIAGNOSTIC, GET_DIAGNOSTIC_STR,SET_TREAT} from '@store/types/diagnosticList';
 import { SET_COMMONTREATMENT } from '@store/types/pushMessage'
 import { SET_DRUG_INFO, SET_TREATMENT, SET_TREAT_INFO, SET_RECOMMEND_BASIC, SET_DRUG_INFO_LIST, IS_FIRST_MAIN_DIAG, SET_ADVERSE_REACTIONS, SET_ALL_ADVERSE_REACTIONS, SET_FOLLOW_UP, DEL_FOLLOW_UP, SET_ALL_FOLLOW_UP } from '@store/types/treat';
 import {storageLocal,getEMRParams} from '@utils/tools';
 import { isAddMainSuit } from '@store/async-actions/diagnosticList';
 import { SAVE_FOLLOW_UP } from "@store/types/pushMessage";
+import {MODI_LOADING} from '@store/types/homePage.js';
+import { SHOW_TREAT} from '@store/types/treat.js';
 
 const api={
     push:'/push/pushInner',
@@ -194,6 +196,8 @@ export const getTreatResult = (item) =>{
 //获取治疗方案
 function getTreatment(item, dispatch, state,url,params, isChronic) {
     json(url, params).then((data) =>{
+        dispatch({type:MODI_LOADING,flag:false});
+        dispatch({type: SHOW_TREAT})
         let treat;
         if(data.data.data) {
              treat = data.data.data.treat || {}
@@ -215,7 +219,13 @@ function getTreatment(item, dispatch, state,url,params, isChronic) {
                             for (let j = 0; j < adverseReactions.length; j++) { //判断不良反应是否有相同的不良反应,如果有,替换
                                 for(let z = 0; z < allAdversReactionList[i].adversReactionList.length; z++) {
                                     if(adverseReactions[j].id == allAdversReactionList[i].adversReactionList[z].id) {
-                                        adverseReactions[j] = allAdversReactionList[i].adversReactionList[z]
+                                        for(let x = 0; x < allAdversReactionList[i].adversReactionList[z].details.length; x++) {
+                                            for(let y = 0; y < adverseReactions[j].details.length; y++) {//判断每一项是否选择过
+                                                if(allAdversReactionList[i].adversReactionList[z].details[x].name == adverseReactions[j].details[y].name && allAdversReactionList[i].adversReactionList[z].details[x].select) {
+                                                    adverseReactions[j].details[y].select = allAdversReactionList[i].adversReactionList[z].details[x].select
+                                                }
+                                            }
+                                        }
                                     }
                                 }
                             }
@@ -314,13 +324,15 @@ export const getInstroduce = (item, type, position)=>{
                     dispatch({
                         type: SET_DRUG_INFO,
                         instroduce: data.data.data.introduceDetailList,
-                        name: type ==8 ?item.medicitionName : type == 10 ? item.tagName : ''
+                        name: type ==8 ?item.medicitionName : type == 10 ? item.tagName : '',
+                        tagType: type
                     })
                 } else {
                     dispatch({
                         type: SET_DRUG_INFO,
                         instroduce: [],
-                        name: item.medicitionName
+                        name: type ==8 ?item.medicitionName : type == 10 ? item.tagName : '',
+                        tagType: type
                     })
                 }
                 
@@ -384,7 +396,6 @@ export const commonTreatAddToAdvice = () => {
                 type: SET_COMMONTREATMENT,
                 commontreatment: state.treat.treatItem.treat.commonTreatment.text
             })
-            console.log('state.treat.followUp', state.treat.followUp)
             dispatch({
                 type: SAVE_FOLLOW_UP,
                 followUp: state.treat.followUp

+ 23 - 6
src/store/reducers/assessResult.js

@@ -1,10 +1,11 @@
 import {SET_ASSESS_DATA,SET_INDEX_DATA,SET_SAVE_ASSESS_DATA,SET_INDEX_SUB_TYPE,ADD_ASSESS_ITEMS,
-  REMOVE_ASSESS_ITEMS,CLEAR_INDEX_DATA,SET_CHRONIC_CALCU_RESULT} from '@types/assessResult';
+  REMOVE_ASSESS_ITEMS,CLEAR_INDEX_DATA,SET_CHRONIC_CALCU_RESULT,ADD_WHOLE_SCALE_ITEMS,SET_CALCU_VALUES} from '@types/assessResult';
 import config from "@config";
 
 const init = {
   data:[],        //评估模块数据
   indexData:{},     //评估图表数据
+  indexNames:{},
   indexTimeTypes:{},    //单个图表选中的维度
   wholeAssess:[],     //整体评估数据
   wholeIndexs:{},     //已加入的评估数据的index,加入按钮状态用
@@ -14,7 +15,9 @@ const init = {
     possible:{},
     radioVal:{}
   },    //可能结果
-  calcuResult:{}
+  calcuResult:{},       //计算公式结果
+  calcuValues:{},       //计算公式填的值
+  wholeScaleItems:[],   //全部量表中添加的整体评估项
 };
 export default (state=init,action)=>{
   const res = Object.assign({},state);
@@ -24,8 +27,9 @@ export default (state=init,action)=>{
       res.data = action.data;
       return res;
     case SET_INDEX_DATA:
-      res.indexData[range[0]+range[1]] = data;
-      Object.keys(data).map((i)=>{
+      res.indexData[range[0]+range[1]] = data.obj;
+      res.indexNames[range[0]+range[1]] = data.nameObj;
+      Object.keys(data.obj||{}).map((i)=>{
         if(getNew){
           res.indexTimeTypes[pindex]=Object.assign({},res.indexTimeTypes[pindex],{[i]:config.chartDismen});
         }else{
@@ -53,9 +57,10 @@ export default (state=init,action)=>{
     case SET_SAVE_ASSESS_DATA:
       res.wholeIndexs = action.wholeAssessItems||{};
       res.wholeResults = action.wholeResults||{};
-      //res.indexTimeTypes = action.chartTimeTypes;
+      res.wholeScaleItems = action.wholeScaleItems||[];
       res.wholeAssessText = action.wholeAssessText||'';
       res.chooseSelecteds = action.chooseSelecteds||{};
+      res.calcuResult = action.calcuResult||{};
       return res;
     //case CLEAR_ASSESS_DATA:
     case ADD_ASSESS_ITEMS:
@@ -64,6 +69,10 @@ export default (state=init,action)=>{
       res.wholeIndexs[action.index] = arr?[...arr,action.subIndex]:[action.subIndex];
       res.update1 = Math.random();   //对象更新,与其他字段名不同因为绑定在pushItems,避免不必要的渲染
       return res;
+    case ADD_WHOLE_SCALE_ITEMS:
+      res.wholeScaleItems[action.index] = action.data;
+      res.update1 = Math.random();
+      return res;
     case REMOVE_ASSESS_ITEMS:
       const {index,pIndex} = action;
       const temp =[...res.wholeIndexs[pIndex]];
@@ -71,7 +80,15 @@ export default (state=init,action)=>{
       //res.wholeAssess[pIndex].details[index].add=false;
       return res;
     case SET_CHRONIC_CALCU_RESULT:
-      res.calcuResult[action.id] = action.data;
+      if(action.id){
+        res.calcuResult[action.id] = action.result;
+      }else{
+        res.calcuResult = action.data;
+      }
+      res.update1= Math.random();
+      return res;
+    case SET_CALCU_VALUES:
+      res.calcuValues[action.id] = action.data;
       return res;
     default:
       return res;

+ 2 - 11
src/store/reducers/pushMessage.js

@@ -16,19 +16,13 @@ const initState = {
   check: [ //辅检
   ],
   tips: {},
-  advice: {
-    // assay: '', 
-    // check: '',
-    // scheme: [],
-    // adviceStr: '' 
-  },
+  advice: {},
   AdviceStr: '',
   tmpFlg:'',
   tableList:[],
   formulaResult:{},
   scaleInfo:{},
   showHide:{},
-  calcuResult:{}
 };
 export default function(state = initState, action) {
   let res = Object.assign({},state);
@@ -44,7 +38,7 @@ export default function(state = initState, action) {
     case SET_TIPS: 
       return setTips(state, action);
     case SET_TIPS_DETAILS:
-      return setTipsDetails(state,action)
+      return setTipsDetails(state,action);
     case SET_CHANGE_ADVICE_TREATMENT:
       return setChangeAdviceTreatment(state, action);
     case SET_CHANGE_ADVICE_ASSAY: 
@@ -77,9 +71,6 @@ export default function(state = initState, action) {
       return res;
     case SET_CHRONIC_PUSHS:
       res.chronicPushItems = action.data;
-      if(action.id){
-        res.calcuResult[action.id] = action.result;
-      }
       return res;
     case SET_SCALE_INFO://量表内容-量表id
       res.scaleInfo = Object.assign({},res.scaleInfo,{[action.id]:action.data});

+ 11 - 2
src/store/reducers/treat.js

@@ -1,5 +1,12 @@
-import { SELECT_DRUG, SET_TREAT_INFO, SET_OTHER_DRUG, SET_DRUG_INFO, CLEAR_DRUG_INFO,SHOW_TREAT, HIDE_TREAT, CLEAR_TREAT, SHOW_DRUG_INFO, HIDE_DRUG_INFO, SET_GENERAL_TREAT, SET_TREATMENT, SET_SURGERY_TREAT, SET_RECOMMEND_BASIC, SET_DRUG_INFO_LIST,IS_FIRST_MAIN_DIAG,CLEAR_FIRST_MAIN_DIAG ,SET_ADVERSE_REACTIONS, SET_ALL_ADVERSE_REACTIONS,CHANGE_REACT, DEL_REACT, SET_FOLLOW_UP, DEL_FOLLOW_UP, SET_ALL_FOLLOW_UP } from '../types/treat'
-import { selectDrug, setTreatInfo, setOtherDrug, setDrugInfo, clearDrugInfo, showTreat, hideTreat, clearTreat, showDrugInfo, hideDrugInfo, setTreatment, setGeneralTreat, setSurgeryTreat, setRecommendBasic, setDrugInfoList, isFirstMainDiag, clearFirstMainDiag, setAdverseReactions, setALLAdverseReactions, changeReact ,delReact, setFollwUp, delFollowUp, setAllFollowUp } from '../actions/treat'
+import { SELECT_DRUG, SET_TREAT_INFO, SET_OTHER_DRUG, SET_DRUG_INFO, CLEAR_DRUG_INFO,SHOW_TREAT, 
+        HIDE_TREAT, CLEAR_TREAT, SHOW_DRUG_INFO, HIDE_DRUG_INFO, SET_GENERAL_TREAT, SET_TREATMENT, 
+        SET_SURGERY_TREAT, SET_RECOMMEND_BASIC, SET_DRUG_INFO_LIST,IS_FIRST_MAIN_DIAG,CLEAR_FIRST_MAIN_DIAG ,
+        SET_ADVERSE_REACTIONS, SET_ALL_ADVERSE_REACTIONS,CHANGE_REACT, DEL_REACT, SET_FOLLOW_UP, 
+        DEL_FOLLOW_UP, SET_ALL_FOLLOW_UP, CLEAR_ALL_TREAT } from '../types/treat'
+import { selectDrug, setTreatInfo, setOtherDrug, setDrugInfo, clearDrugInfo, showTreat, hideTreat, 
+        clearTreat, showDrugInfo, hideDrugInfo, setTreatment, setGeneralTreat, setSurgeryTreat, 
+        setRecommendBasic, setDrugInfoList, isFirstMainDiag, clearFirstMainDiag, setAdverseReactions, 
+        setALLAdverseReactions, changeReact ,delReact, setFollwUp, delFollowUp, setAllFollowUp, clearAllTreat } from '../actions/treat'
 const initState = {
     show: false, //治疗方案显示隐藏
     showDrugInfo: false, //药品信息显示隐藏
@@ -319,6 +326,8 @@ export default function(state=initState, action){
             return delFollowUp(state, action);
         case SET_ALL_FOLLOW_UP: 
             return setAllFollowUp(state, action);
+        case CLEAR_ALL_TREAT: 
+            return clearAllTreat(state, action);
         default:
             return state
     }

+ 3 - 1
src/store/types/assessResult.js

@@ -5,4 +5,6 @@ export const SET_INDEX_SUB_TYPE = 'SET_INDEX_SUB_TYPE';   //保存单个图表
 export const ADD_ASSESS_ITEMS = 'ADD_ASSESS_ITEMS';     //加入评估
 export const REMOVE_ASSESS_ITEMS = 'REMOVE_ASSESS_ITEMS';  //整体评估删除
 export const CLEAR_INDEX_DATA = 'CLEAR_INDEX_DATA';     //删除图表数据
-export const SET_CHRONIC_CALCU_RESULT = 'SET_CHRONIC_CALCU_RESULT';   //保存评估中计算结果
+export const SET_CHRONIC_CALCU_RESULT = 'SET_CHRONIC_CALCU_RESULT';   //保存评估中计算结果
+export const ADD_WHOLE_SCALE_ITEMS  = 'ADD_WHOLE_SCALE_ITEMS';    //从全部量表中添加的整体评估
+export const SET_CALCU_VALUES = 'SET_CALCU_VALUES';  //保存计算公式数据

+ 2 - 1
src/store/types/treat.js

@@ -4,7 +4,8 @@ export const SET_DRUG_INFO = 'SET_DRUG_INFO'; //设置药品说明
 export const CLEAR_DRUG_INFO = 'CLEAR_DRUG_INFO'; //清除药品说明
 export const SHOW_TREAT = 'SHOW_TREAT';
 export const HIDE_TREAT = 'HIDE_TREAT';
-export const CLEAR_TREAT = 'CLEAR_TREAT'; //清除治疗方案内容
+export const CLEAR_TREAT = 'CLEAR_TREAT'; //关闭时清除推送过来治疗方案内容
+export const CLEAR_ALL_TREAT = 'CLEAR_ALL_TREAT'; //关闭时清除推送过来治疗方案内容
 export const SHOW_DRUG_INFO = 'SHOW_DRUG_INFO';
 export const HIDE_DRUG_INFO = 'HIDE_DRUG_INFO';
 export const SET_GENERAL_TREAT = 'SET_GENERAL_TREAT'; //设置一般治疗

+ 22 - 1
src/utils/tools.js

@@ -8,7 +8,7 @@ import {clearAllLabel,addLabel} from '@store/actions/inspect';
 import {CLEAR_ALL_DIAG} from '@store/types/diagnosticList';
 import {CLEAR_ALL_PUSH_MESSAGE, SET_TIPS} from '@store/types/pushMessage';
 import {ISREAD, SETREADDITEMS} from "../store/types/homePage";
-import {CLEAR_FIRST_MAIN_DIAG} from "../store/types/treat";
+import {CLEAR_FIRST_MAIN_DIAG, CLEAR_ALL_TREAT} from "../store/types/treat";
 import {tabChange} from '@store/actions/tabTemplate';
 import config from '@config/index.js';
 
@@ -269,6 +269,9 @@ const pushAllDataList =(whichSign,action,reData,type) =>{           //回读清
           type:CLEAR_FIRST_MAIN_DIAG,
           flag:true
         });
+        store.dispatch({
+          type: CLEAR_ALL_TREAT,
+        })
         storageLocal.remove('emrParam');
        // Notify.success('页面已清空')
     }else{
@@ -917,6 +920,23 @@ function readyKeepHistory(){
     return 3;
   }
 }
+//评估图表数据转换
+function parseChartData(indexData){
+  let arr=[],obj={},temp={};
+  let nameArr=[],nameObj={};
+  if(!indexData){
+    return [];
+  }
+  indexData.itemIndexData.map((it)=>{
+    temp=indexData.indexConfigData.find((i)=>{return it.itemName==i.indexUnique});
+    arr=obj[temp.indexDesc]||[];
+    nameArr=nameObj[temp.indexDesc]||[];
+    obj[temp.indexDesc]=[...arr,it];
+    nameObj[temp.indexDesc]=[...nameArr,it.itemName];
+  });
+  //nameObj,obj;
+  return {nameObj,obj};
+}
 //函数类工具,对函数进行操作 返回函数
 //延时操作
 function debounce(func, delay) {
@@ -1151,4 +1171,5 @@ module.exports = {
     getCurrentDate,
     ifOtherClear,
     readyKeepHistory,
+    parseChartData,
 };