浏览代码

合并new1分支
Squashed commit of the following:

commit d3e160a516240b77576567b993223816a68231a6
Merge: 79e63ed c7e9e73
Author: zhouna <zhouna@zjlantone.com>
Date: Fri Jan 25 13:46:48 2019 +0800

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

commit c7e9e73e9d9aaeb7d9679529357de51d8b92ee2b
Author: zhouna <zhouna@zjlantone.com>
Date: Fri Jan 25 13:46:16 2019 +0800

化验辅捡ie8搜索卡死修改

commit 79e63ede6ec9b2c622ab6224b2c97164edd09a68
Author: zhouna <zhouna@zjlantone.com>
Date: Fri Jan 25 13:12:43 2019 +0800

默认host地址删除

commit e01035349f92405572238a0a97d80bb557dda802
Merge: 8a8015d caad36f
Author: zhouna <zhouna@zjlantone.com>
Date: Fri Jan 25 11:45:20 2019 +0800

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

commit caad36f002904aa859a0d780eefdf5b9cdc9011e
Author: liucf <liucf@zjlantone.com>
Date: Fri Jan 25 11:24:02 2019 +0800

时间单位组件IE兼容

commit c7fb4308b7d9902d165f4fac33dfa9eb0316e2b8
Author: zhouna <zhouna@zjlantone.com>
Date: Fri Jan 25 10:59:52 2019 +0800

修改样式

commit 8a8015df63bf6660e26e4b01ad09388f3e7ce771
Author: zhouna <zhouna@zjlantone.com>
Date: Fri Jan 25 09:46:01 2019 +0800

合并报错修改

commit ae92c46aa3c4c8eef5371da46c6c3094077c6035
Merge: bbe85ff 58e0fdd
Author: zhouna <zhouna@zjlantone.com>
Date: Fri Jan 25 09:42:51 2019 +0800

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

commit 58e0fdd1ab99664163923ff7ae455efff5850195
Author: liucf <liucf@zjlantone.com>
Date: Fri Jan 25 09:20:30 2019 +0800

主诉IE兼容性处理

commit bbe85ffa8e67f29aeba17478a4716392dcd1e115
Merge: b86268a 3bfa819
Author: zhouna <zhouna@zjlantone.com>
Date: Thu Jan 24 20:30:05 2019 +0800

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

# Conflicts:
# src/common/components/EditableSpan/index.jsx
# src/containers/SpreadDrop.js

commit b86268a57afae26c7972b4b2362ae656a6784a8d
Merge: 79c59d3 105488f
Author: zhouna <zhouna@zjlantone.com>
Date: Thu Jan 24 20:25:44 2019 +0800

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

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

commit 79c59d3aa9c95771acb4e47b5f0cbf411d343676
Merge: db90e04 de190a5
Author: zhouna <zhouna@zjlantone.com>
Date: Thu Jan 24 20:24:40 2019 +0800

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

commit de190a5b1d4bb939f82c40fffe7822981ff25fc8
Author: Luolei <16657115156@163.com>
Date: Thu Jan 24 20:18:42 2019 +0800

中英文逗号

commit 7052feac317ed8e7bc26253c1e6a0c905f92e875
Author: Luolei <16657115156@163.com>
Date: Thu Jan 24 18:31:55 2019 +0800

去掉英文逗号

commit 105488feef9e89309ecc23f2c9bce944da3490fb
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 17:22:34 2019 +0800

修改治疗方案

commit db90e04f23baf95466e34498ca06101f49a7ac7e
Author: zhouna <zhouna@zjlantone.com>
Date: Thu Jan 24 16:49:10 2019 +0800

下拉项间距调整,ie8事件兼容

commit 596d9a1d2d5c4fff4f810b3241eac849a8e4b6a4
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 14:09:49 2019 +0800

药品说明书样式

commit edc05e9abc87cdc15e10bb54c36dafe92f2485b8
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 14:08:17 2019 +0800

修改药品说明书

commit 32f8ef8e15a7ef7408f9cb8077d5b691a9b65423
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 14:06:17 2019 +0800

修改开单样式

commit 19ebe4be097e45a3425ee4c70caecbd3425b0490
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 14:02:30 2019 +0800

修改获取患者信息路径

commit 6f95c909024a0c09f7ae316f9809ff96373365e2
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 13:43:38 2019 +0800

添加诊断判断有没有治疗方案

commit f617e5c267246786e7a6801cc87811f0d2527235
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 13:39:13 2019 +0800

merge from 'dev/zxc'

commit 87e941c29ed951540497c18c0a493c55b222ce00
Author: Luolei <16657115156@163.com>
Date: Thu Jan 24 10:33:44 2019 +0800

提示语

commit 486a1fbf8bdd6ccea7bd38a1f0d3accdf5c8e0dc
Merge: d3ade00 95e9a94
Author: zhouna <zhouna@zjlantone.com>
Date: Thu Jan 24 10:09:57 2019 +0800

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

# Conflicts:
# src/components/DiagnosticList/index.jsx
# src/components/Operation/index.jsx
# src/containers/SpreadDrop.js
# src/store/actions/otherHistory.js
# src/store/async-actions/treat.js
# src/store/types/checkBody.js

commit d3ade00ac4b7f2c5d20feb322874546ef6f9e8ca
Merge: 2fd497e 2458ea1
Author: zhouna <zhouna@zjlantone.com>
Date: Thu Jan 24 10:05:17 2019 +0800

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

commit 2458ea1788cf9ae1acacb2f0ad090d2f2525eb53
Author: zhouna <zhouna@zjlantone.com>
Date: Thu Jan 24 10:03:28 2019 +0800

提示语消失默认时间改为2秒

commit 95e9a941766b9d5454f3c92fc614aa3321bce664
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 10:02:00 2019 +0800

治疗方案置灰

commit b4e71c9cda0d4e72ade01f6a0c1f23513073961f
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 09:59:16 2019 +0800

治疗方案

commit 65a61b65d4b14aae1c4ff32984cc70dd048cce08
Merge: 62bd7fb 38f9720
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 09:47:47 2019 +0800

Merge branch 'dev/new' into dev/zhangxc

commit 62bd7fb4b452b98cf9a05bc75e496cb43d24e9fd
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 09:46:32 2019 +0800

Revert "Revert "修改药品说明样式""

This reverts commit 1cba16137b012f54873b193ab6b16968022d0c96.

commit 2fd497e9e1b8438d5d74550655a6a985b1776f9c
Merge: 28c364a c37d1cc
Author: zhouna <zhouna@zjlantone.com>
Date: Thu Jan 24 09:46:00 2019 +0800

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

commit 1cba16137b012f54873b193ab6b16968022d0c96
Author: zhangxc <zhangxc@zjlantone.com>
Date: Thu Jan 24 09:45:29 2019 +0800

Revert "修改药品说明样式"

This reverts commit 9c0e0788ab3028ca68edea25dec003daea9f8c8e.

commit c37d1cccee29b0f347cb58c20b15da014cf5f5d7
Author: Luolei <16657115156@163.com>
Date: Thu Jan 24 09:25:58 2019 +0800

搜索列表显示样式更改

commit c17c91979a3ec1e680959fde9f9cd7da9580f8f7
Author: Luolei <16657115156@163.com>
Date: Thu Jan 24 09:15:40 2019 +0800

样式调整

commit 28c364a47a4a1e59137e0942248f006ce1e10c0d
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 21:22:29 2019 +0800

修改导入host

commit f75c649c857013b890959fa7e1d3992912ddd1ca
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 21:15:44 2019 +0800

临时修改版本弹窗高度

commit e0376902fb956ee58c40b86ae97b924ce5955e75
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 21:10:27 2019 +0800

化验导入删除填值推送

commit 38d5d80ae62a8c393f4623f1774b756f078d6954
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 20:43:48 2019 +0800

添加删除辅捡右侧推送

commit d54073a78ccc7697f333c3d8ecc98922f14dc669
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 20:30:50 2019 +0800

修改杂音选中项bug

commit a7804f15d955022f912efa89cd3f0722bd5f02a3
Merge: b489e52 6a1a3df
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 18:58:07 2019 +0800

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

commit b489e5280cb7a214cf124116aea673ca2d4cefc3
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 18:57:50 2019 +0800

既往史无殊选中bug

commit 6a1a3df4079f503a993b64d6d7a32add9c12aadc
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 18:57:03 2019 +0800

css

commit 96efc7b8118a99db629f898960621b98786bd42e
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 18:26:40 2019 +0800

合罗磊分支

commit 0d177307ce04b30a1b87370389d46a5b9a0fa4d0
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 17:49:02 2019 +0800

回退

commit ef1f67f9a0e3186cf6cc718cf89b8f6fe7f61bea
Merge: 6732dbb 1dd6c92
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 17:44:02 2019 +0800

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

# Conflicts:
# src/common/components/TailInlineTag/index.less
# src/common/components/Textarea/index.jsx
# src/components/AddAssistCheck/index.jsx
# src/containers/OtherHistory.js
# src/store/actions/otherHistory.js

commit 6732dbb61763a7717a2055d932da17c54d2aa65a
Merge: bc168f8 abd1267
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 17:36:50 2019 +0800

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

# Conflicts:
# src/common/components/EditableSpan/index.jsx
# src/components/AddAssistCheck/index.jsx

commit bc168f83ebf63ee86423e649ec6fbe4b57e887c5
Merge: 3559798 6d55c59
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 17:34:30 2019 +0800

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

commit 3559798c04e69583c1f05fc9125c812a9933892f
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 17:31:13 2019 +0800

既往史下拉滚动条添加

commit e3ba8dd3de2b65773fe5b23f21c53828f524ee66
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 17:22:01 2019 +0800

修改请求地址

commit 1dd6c92d11d79023b65a15e12b2e92566cf08554
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 17:16:22 2019 +0800

辅检横向滚动

commit 461e1db27e39068ca7126b0ad04e756c31f74d74
Merge: adc853a 45b1158
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 16:53:11 2019 +0800

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

# Conflicts:
# src/utils/config.js

commit cf97be2f425bdef386a137e92929969c321ab047
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 16:08:25 2019 +0800

去掉一个字

commit 1a8521d3c3019063a3124a142e3241f84b43c409
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 16:01:26 2019 +0800

bug

commit 45b1158b6f5a13eb0b02560087f3b936f6449089
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 15:58:40 2019 +0800

其他史高血压选中bug修改

commit 4309f693fc8f37f77ab690b80c043f6abb2eaaae
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 15:16:32 2019 +0800

删除项有问题

commit ac64b868290f94c0a30e3242110a38cda67249eb
Merge: d2eca9d 1a6bf74
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 14:59:26 2019 +0800

Merge branch 'dev/liucf' into dev/luolei

commit b7259ea8586061ab0b2757add5dc4f06a66ebccd
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 14:51:07 2019 +0800

文本模式其他史不受主诉为空限制,切换模式后其他史重新获取

commit d2eca9d801e445d624c6a5465319e6e1335dbd15
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 14:43:46 2019 +0800

日期bug

commit 38f972082b4a6b58e73f17d4d15302045cd48981
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 13:46:29 2019 +0800

请求地址修改-刚才反了

commit 70e9420d59b745c59f3abe04c33100777184d024
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 13:44:13 2019 +0800

请求地址修改

commit 9adc82fa986b7008a8779bcc7ff31ebee1e3419f
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 13:39:05 2019 +0800

打印图标

commit 5b61311cda0fea2ec7212aae7bac05ac19b7abbd
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 11:31:48 2019 +0800

其他史高血压数据展开

commit 0e0487bb164b1d2f2d87c8d495ffcaefb4ade753
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 11:00:06 2019 +0800

查体type修改

commit f163535cc31ed9efbccc673325ee32d043c9c5bf
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 10:58:27 2019 +0800

查体type修改

commit c9dd7fca3d2c5acc0ebbe5cd0be07c1953d144a2
Merge: 4b8aa34 540b6a8
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 10:51:52 2019 +0800

Merge branch 'dev/new' into dev/luolei

commit 4b8aa34cd5079f02d2f795956c6eede48ef8889b
Author: Luolei <16657115156@163.com>
Date: Wed Jan 23 10:47:15 2019 +0800

搜索弹窗被遮挡问题解决

commit 540b6a87ef22fe852906af690ee5fb848ae36b8c
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 10:23:04 2019 +0800

地址临时修改

commit f7e9886bd3e9051847f88bedd9c0d3b88011a270
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 10:20:05 2019 +0800

版本信息弹窗高度限制

commit 7eb5f4651cff007620e9b488f83ad7049e95a3d0
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 10:13:40 2019 +0800

推送接口主诉现病史合并,治疗方案容错

commit 2c6c28b79b9391aa719af6ee0ec369557de36e99
Merge: 4a897b4 5a39d90
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 09:57:50 2019 +0800

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

commit 4a897b473cda81f614a8fd820a6d480b98f9872d
Merge: 7f1c7c8 abd1267
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 09:57:43 2019 +0800

Merge remote-tracking branch 'origin/dev/zhangxc' into dev/new

# Conflicts:
# src/common/components/ItemBox/index.jsx
# src/components/AddInspect/index.jsx
# src/components/Diagnosis/index.jsx
# src/components/Diagnosis/index.less

commit 5a39d90dd616740bce7e833646a455b713f5e579
Author: liucf <liucf@zjlantone.com>
Date: Wed Jan 23 09:52:01 2019 +0800

层级问题

commit b48fcd8197b1b67afc16821bca6dba4fbc2ac4df
Merge: e5d0122 7f1c7c8
Author: liucf <liucf@zjlantone.com>
Date: Wed Jan 23 09:43:34 2019 +0800

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

commit e5d0122382957b2f9157a83b72adfb651b355f96
Author: liucf <liucf@zjlantone.com>
Date: Wed Jan 23 09:43:21 2019 +0800

11

commit 7f1c7c87f51c98196ea3994493075055a0a55c4a
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 09:39:50 2019 +0800

修改请求地址

commit f14d699d86b98edde58a5739d5c81f538dd8bb18
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 09:38:05 2019 +0800

修改请求地址

commit b14968d42d5ed583714b5941365dc97fe24ea61b
Merge: df67559 a82d18c
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 09:26:50 2019 +0800

Merge remote-tracking branch 'origin/dev/zhangxc' into dev/new

commit df67559cc42c79c6ed6b27254ce12178918e32b0
Merge: ff817bf 6805811
Author: zhouna <zhouna@zjlantone.com>
Date: Wed Jan 23 09:26:39 2019 +0800

Merge remote-tracking branch 'origin/dev/otherHis' into dev/new

commit 68058110e041e72b8c95979a4fd23e690912746b
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 20:43:26 2019 +0800

遮罩统一0.6透明度

commit 625ca181024a268f16f32eb2773ea337cf62db43
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 20:34:59 2019 +0800

透明度ie8

commit abd1267cdd8d934f11e89b9fa7b801f8a6962b26
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Jan 22 20:24:39 2019 +0800

修改治疗方案无内容按钮置灰

commit c54c73fe39e5746c1e1f2b16924e259cc122620a
Merge: 9c0e078 84ec971
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Jan 22 20:09:22 2019 +0800

merge from 'lcf'

commit 9c0e0788ab3028ca68edea25dec003daea9f8c8e
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Jan 22 19:01:31 2019 +0800

修改药品说明样式

commit ff817bf6d6d928b98557371362374859bec3aabd
Merge: d50ffe0 b2e679a
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 16:52:34 2019 +0800

Merge remote-tracking branch 'origin/dev/otherHis' into dev/new

commit b2e679a35e0ff4831f689758eb14521541f967e2
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 16:50:45 2019 +0800

导入ie8暂时先灰掉

commit d50ffe0c27db60a72a1dacf87ee96c031eab365b
Merge: 573f0b5 b286d0a
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 16:25:09 2019 +0800

Merge remote-tracking branch 'origin/dev/otherHis' into dev/new

# Conflicts:
# src/utils/config.js

commit b286d0a89df15fcd3a92bce1e6828a050c1f085e
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 16:23:57 2019 +0800

文本模式ie8onInput存值,搜索下拉项样式

commit a82d18cfa4a27bb855651ef9f6965844d891fab2
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Jan 22 15:30:07 2019 +0800

修改开单项到医嘱逗号

commit 573f0b59ff517de16f94296240572544e31c9f46
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 15:23:46 2019 +0800

合并后报错处理

commit 94ba0d8f280352800d8f9a318cc11db58a50fa0f
Merge: 55d15d6 fbab9de
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 15:18:22 2019 +0800

Merge remote-tracking branch 'origin/dev/liucf' into dev/new

# Conflicts:
# src/components/CurrentIll/index.jsx
# src/containers/EditableSpan.js
# src/store/actions/currentIll.js
# src/store/reducers/checkBody.js
# src/utils/ajax.js
# src/utils/config.js

commit 55d15d6d14ad82b6b607f0d9e39a4b04cf5b4848
Merge: 2d40e6e ad68815
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 15:10:38 2019 +0800

Merge remote-tracking branch 'origin/dev/zhangxc' into dev/new

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

commit 5e7834e1ff17257abdf408037031c0d926d22bfc
Author: zhouna <zhouna@zjlantone.com>
Date: Tue Jan 22 15:02:18 2019 +0800

ie8的onInput代替函数

commit ad688156064254d6b615284642882ba5486ff764
Author: zhangxc <zhangxc@zjlantone.com>
Date: Tue Jan 22 10:29:36 2019 +0800

init

commit 2d40e6e0b4f1e01bfa66db6fb410d77565ee80f0
Author: Luolei <16657115156@163.com>
Date: Tue Jan 22 10:13:57 2019 +0800

updata pro

commit 26649f42178c7177ee34dae46038ce2370bf5b26
Author: Luolei <16657115156@163.com>
Date: Tue Jan 22 10:12:21 2019 +0800

test

liucf 6 年之前
父节点
当前提交
d6751d916b
共有 57 个文件被更改,包括 441 次插入186 次删除
  1. 12 9
      src/common/components/EditableSpan/index.jsx
  2. 1 0
      src/common/components/InspectCommon/index.less
  3. 19 2
      src/common/components/ItemBox/index.jsx
  4. 2 2
      src/common/components/Notify/index.js
  5. 3 1
      src/common/components/NumberPan/index.jsx
  6. 4 1
      src/common/components/NumberPan/index.less
  7. 3 1
      src/common/components/NumberUnitPan/index.jsx
  8. 4 1
      src/common/components/NumberUnitPan/index.less
  9. 6 3
      src/common/components/SearchOption/index.jsx
  10. 2 1
      src/common/components/SearchOption/index.less
  11. 二进制
      src/common/images/Printing.png
  12. 二进制
      src/common/images/printing.png
  13. 5 5
      src/common/less/variables.less
  14. 15 1
      src/components/AddAssistCheck/Textarea/index.jsx
  15. 4 2
      src/components/AddAssistCheck/Textarea/index.less
  16. 12 10
      src/components/AddAssistCheck/index.jsx
  17. 23 10
      src/components/AddAssistCheck/index.less
  18. 11 7
      src/components/AddInspect/index.jsx
  19. 6 4
      src/components/AddInspect/index.less
  20. 2 1
      src/components/AssistCheck/index.jsx
  21. 2 2
      src/components/CommonSymptom/index.jsx
  22. 4 2
      src/components/CopyRight/index.less
  23. 1 0
      src/components/DiagResultSearch/index.less
  24. 二进制
      src/components/DiagnosticList/img/delete.png
  25. 二进制
      src/components/DiagnosticList/img/diagDown.png
  26. 二进制
      src/components/DiagnosticList/img/diagUp.png
  27. 8 3
      src/components/DiagnosticList/index.jsx
  28. 4 0
      src/components/DiagnosticList/index.less
  29. 1 1
      src/components/EMRContainer/index.less
  30. 1 1
      src/components/HistoryCaseContainer/index.jsx
  31. 7 2
      src/components/Inspect/index.jsx
  32. 2 2
      src/components/Inspect/index.less
  33. 46 28
      src/components/MainSuit/index.jsx
  34. 2 2
      src/components/MultSpread/index.jsx
  35. 2 2
      src/components/NumberDrop/index.jsx
  36. 33 19
      src/components/NumberUnitDrop/index.jsx
  37. 1 2
      src/components/Operation/index.jsx
  38. 1 1
      src/components/PreviewBody/index.jsx
  39. 1 1
      src/components/PushContainer/index.jsx
  40. 1 1
      src/components/PushItems/index.jsx
  41. 3 1
      src/components/PushItems/index.less
  42. 8 2
      src/components/RadioDrop/index.jsx
  43. 43 23
      src/components/SpreadDrop/index.jsx
  44. 3 1
      src/components/SpreadDrop/index.less
  45. 2 1
      src/components/TreatDesc/DrugInfo/index.jsx
  46. 26 1
      src/components/TreatDesc/DrugInfo/index.less
  47. 6 0
      src/containers/AssistCheck.js
  48. 9 9
      src/containers/DiagnosticItem.js
  49. 6 1
      src/containers/Inspect.js
  50. 2 1
      src/store/actions/checkBody.js
  51. 1 1
      src/store/actions/currentIll.js
  52. 2 7
      src/store/actions/mainSuit.js
  53. 7 0
      src/store/actions/otherHistory.js
  54. 0 1
      src/store/async-actions/inspect.js
  55. 69 3
      src/store/async-actions/treat.js
  56. 1 1
      src/utils/ajax.js
  57. 2 3
      src/utils/tools.js

+ 12 - 9
src/common/components/EditableSpan/index.jsx

@@ -1,7 +1,7 @@
 import React,{Component} from 'react';
 import style from './index.less';
 import config from "@config/index";
-import {filterArr,handleEnter,isIE} from '@utils/tools.js';
+import {filterArr,isIE} from '@utils/tools.js';
 import Notify from '../Notify/index.js';
 
 import $ from 'jquery';
@@ -111,11 +111,13 @@ class EditableSpan extends Component{
   }
 
   handleKeydown(e){
-    let innerVal = e.target.innerText;
+    const ev = e||window.event;
+    const target = ev.target||ev.srcElement;
+    let innerVal = target.innerText;
     //禁止回车事件
-    if(e.keyCode==13){return false;}
+    if(ev.keyCode==13){return false;}
     //backspace事件
-    if(e.keyCode==8){
+    if(ev.keyCode==8){
       //用于对比backspace前后的值
       this.setState({
         preVal:innerVal
@@ -125,9 +127,11 @@ class EditableSpan extends Component{
   }
   handleKeyup(e){
      const {boxMark,handleKeydown,i,value} = this.props;
-     const {preVal,index} = this.state;//console.log(22,i,index);
-    let innerVal = e.target.innerText;
-    if(e.keyCode==8){
+     const {preVal,index} = this.state;
+    const ev = e||window.event;
+    const target = ev.target||ev.srcElement;
+    let innerVal = target.innerText;
+    if(ev.keyCode==8){
       if(innerVal !==preVal){return}
       let data = innerVal.trim();
       //判断是否为空、中英文:, 。、;,且不是第一位
@@ -137,11 +141,10 @@ class EditableSpan extends Component{
         handleKeydown&&handleKeydown({boxMark,i:index});
         this.setState({
           // index:index-1 //连续往前删除,体验不佳
-          index:null
+          index: null
         })
       }
     }
-    
   }
   /*shouldComponentUpdate(next){
     if(JSON.stringify(next) == JSON.stringify(this.props)){

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

@@ -9,6 +9,7 @@
     max-width: 600px;
     box-sizing: border-box;
     box-shadow: 0 6px 20px 0 #989DA3;
+    margin-bottom: 80px;
     // border: 1px solid #989DA3;
 }
 .btnWrap{

+ 19 - 2
src/common/components/ItemBox/index.jsx

@@ -1,5 +1,7 @@
 import React,{Component} from 'react';
 import style from './index.less';
+import {isIE} from '@utils/tools.js';
+import $ from 'jquery';
 /***
  * author:zn@2018-11-13
  * 电子病历项内容框
@@ -16,7 +18,9 @@ import style from './index.less';
 class ItemBox extends Component {
   constructor(props){
     super(props);
+    this.$div = React.createRef();
     this.handleClick = this.handleClick.bind(this);
+    this.handleInput = this.handleInput.bind(this);
   }
   getBoxStyle(){
     const {boxHeight,boxWidth,boxLineHeight,marginTop,backgroundColor} = this.props;
@@ -27,13 +31,26 @@ class ItemBox extends Component {
     const {handleClick} = this.props;
     handleClick && handleClick(e);//为了获取鼠标位置,显示搜索结果框;
   }
+  handleInput(e){
+    const {onchange,data} = this.props;
+    if(data&&data.length==0){//避免结构化下触发onchange,导致下拉要点两下
+      onchange&&onchange(e)
+    }
+  }
+
+  componentDidMount(){
+    if(isIE()){
+      $(this.$div.current).onIe8Input(function(e){
+        this.handleInput(e)
+      },this);
+    }
+  }
 
   render(){
     const {title,children,editable,className,handleFocus,onchange,fuzhen,border,handleBlur,titleTop,backgroundColor} = this.props;
-    // console.log(title,editable)
     return <div className={style["box"]+" "+"clearfix"} >
       <div className={style["title"] + ' ' + className} style={{marginTop:titleTop?'22px':''}}>{title}</div>
-      <div className={`${style["content"]} ${border?style["border"]:''} ${backgroundColor?style["noBorder"]:''}`} contentEditable={editable} style={this.getBoxStyle()} onFocus={handleFocus} onInput={onchange} onClick={(e)=>{this.handleClick(e);}} onBlur={handleBlur}>
+      <div ref={this.$div} className={`${style["content"]} ${border?style["border"]:''} ${backgroundColor?style["noBorder"]:''}`} contentEditable={editable} style={this.getBoxStyle()} onFocus={handleFocus} onInput={this.handleInput} onClick={(e)=>{this.handleClick(e);}} onBlur={handleBlur}>
         {fuzhen?children||fuzhen:children}
       </div>
     </div>

+ 2 - 2
src/common/components/Notify/index.js

@@ -8,7 +8,7 @@ import Notify from './notify'
  * 接收参数:
  * type: 信息提示框类型, 包括success、error、info。
  * content: 信息提示框文本内容
- * duration: 自动关闭的延时,单位毫秒。默认3000毫秒,设为 0 时不自动关闭。
+ * duration: 自动关闭的延时,单位毫秒。默认2000毫秒,设为 0 时不自动关闭。
  * 用法如下:
  * Notify.success('删除成功')
 ***/
@@ -29,7 +29,7 @@ function createNotification() {
 }
 
 let notification
-const notice = (type, content, duration=3000, onClose) => {
+const notice = (type, content, duration=2000, onClose) => {
     if (!notification) notification = createNotification()
     return notification.addNotice({ type, content, duration, onClose })
 }

+ 3 - 1
src/common/components/NumberPan/index.jsx

@@ -49,7 +49,8 @@ class NumberPan extends Component{
   render(){
     const select = this.handleSelect.bind(this);
     const {show} = this.props;      //table onBlur阻止冒泡是为了修复multSpread中数字键盘点击触发最外层数字组件onBlur事件
-    return <table className={style['pan']} onBlur={(e)=>e.stopPropagation()} style={{display:show?'table':'none'}}>
+    return <div className={style['panBox']} onBlur={(e)=>e.stopPropagation()} style={{display:show?'table':'none'}}>
+    <table className={style['pan']} >
       <tr>
         <td><button onClick={select}>1</button></td>
         <td><button onClick={select}>2</button></td>
@@ -75,6 +76,7 @@ class NumberPan extends Component{
         <td><button onClick={this.handleClose.bind(this)}>确定</button></td>
       </tr>
     </table>
+    </div>
   }
 }
 

+ 4 - 1
src/common/components/NumberPan/index.less

@@ -1,7 +1,10 @@
 @import "~@less/variables.less";
+.panBox{
+  .pop;
+}
 .pan{
   width: 280px;
-  .pop;
+  
   td{
     width: 68px;
     height:44px;

+ 3 - 1
src/common/components/NumberUnitPan/index.jsx

@@ -58,7 +58,8 @@ class NumberUnitPan extends Component{
   render(){
     // const select = this.handleSelect.bind(this);
     const {show} = this.props;      //table onBlur阻止冒泡是为了修复multSpread中数字键盘点击触发最外层数字组件onBlur事件
-    return <table className={style['pan']} onBlur={(e)=>e.stopPropagation()} style={{display:show?'table':'none'}}>
+    return <div className={style['panBox']} onBlur={(e)=>e.stopPropagation()} style={{display:show?'table':'none'}}>
+      <table className={style['pan']} >
       <tr>
         <td><span onClick={this.handleSelect}>1</span></td>
         <td><span onClick={this.handleSelect}>2</span></td>
@@ -94,6 +95,7 @@ class NumberUnitPan extends Component{
         <td><span onClick={this.handleSelect}>{config.timeUnit.year}</span></td>
       </tr>
     </table>
+    </div>
   }
 }
 

+ 4 - 1
src/common/components/NumberUnitPan/index.less

@@ -1,7 +1,10 @@
 @import "~@less/variables.less";
+.panBox{
+  .pop;
+}
 .pan{
   width: 280px;
-  .pop;
+  
   td{
     width: 68px;
     height:44px;

+ 6 - 3
src/common/components/SearchOption/index.jsx

@@ -20,8 +20,8 @@ class SearchOption extends React.Component {
         this.handleClearVal = this.handleClearVal.bind(this);
     }
     
-    componentWillReceiveProps(nextProps){
-        if(nextProps.visible !== this.props.visible) {
+    /*componentWillReceiveProps(nextProps){
+        if(nextProps.visible != this.props.visible) {
             if(!nextProps.visible) {
                 this.props.handleChangeValue('');
                 this.textInput.current.value = '';
@@ -31,8 +31,11 @@ class SearchOption extends React.Component {
                 this.textInput.current.focus();
             }, 0);
         }
+    }*/
+    componentDidMount(){
+      this.props.handleChangeValue('');
+      this.textInput.current.focus();
     }
-    
     handleClearVal(){
         const { handleChangeValue } = this.props;
         this.textInput.current.value = '';

+ 2 - 1
src/common/components/SearchOption/index.less

@@ -9,8 +9,9 @@
     z-index: 20;
     background-color: #fff;
     box-shadow: 0 6px 20px 0 #989DA3;
+    margin-bottom: 80px;
     .autoList {
-        max-height: 266px;
+        max-height: 225px;
         min-height: 80px;
         overflow-y: auto;
     }

二进制
src/common/images/Printing.png


二进制
src/common/images/printing.png


+ 5 - 5
src/common/less/variables.less

@@ -62,13 +62,13 @@
 }
 .mult-li{
   // width: 200px;
-  height: 44px;
-  line-height: 44px;
+  height: 32px;
+  line-height: 32px;
   padding-right: 8px;
 }
 .select-li{
-  height: 44px;
-  line-height: 44px;
+  height: 32px;
+  line-height: 32px;
   width: 100%;
   font-size: 14px;
   text-align: left;
@@ -79,7 +79,7 @@
   background: rgba(59,158,208,0.1);
   background-image: url(../images/first.png);
   background-repeat: no-repeat;
-  background-position: 20px 15px;
+  background-position: 20px 10px;
 }
 .clear{
   width: 88px;

+ 15 - 1
src/components/AddAssistCheck/Textarea/index.jsx

@@ -1,16 +1,30 @@
 import React, { Component } from "react";
 import style from "./index.less";
+import config from '@config/index';
 
 class Textarea extends Component {
   constructor(props) {
     super(props);
+    this.state = {
+      timer:null
+    };
     this.$dom = React.createRef();
     this.handleInput = this.handleInput.bind(this);
   }
   handleInput(e){
-    const {handleChangeAssistValue,idx} = this.props;
+    const {handleChangeAssistValue,idx,handlePush} = this.props;
     const text = e.target.innerText;
+    const stimer = this.state.timer;
     handleChangeAssistValue&&handleChangeAssistValue(text,idx);
+    //右侧推送--延时推送
+    clearTimeout(stimer);
+    let timer = setTimeout(function(){
+      handlePush&&handlePush();
+      clearTimeout(stimer);
+    },config.delayPushTime);
+    this.setState({
+      timer
+    });
   }
   shouldComponentUpdate(next){
     if(JSON.stringify(next) == JSON.stringify(this.props)){

+ 4 - 2
src/components/AddAssistCheck/Textarea/index.less

@@ -1,11 +1,13 @@
 .divTextarea {
   overflow-y: auto;
+  overflow-x: hidden;
+  max-height: 100px;
   border-bottom: 1px dashed #333;
   box-sizing: border-box;
-  min-height: 18px;
+  min-height: 20px;
   width: 100%;
   outline: none;
-  line-height: 17px;
+  line-height: 20px;
   resize: none;
   font-family: inherit;
 }

+ 12 - 10
src/components/AddAssistCheck/index.jsx

@@ -3,6 +3,7 @@ import { SearchOption, Calendar ,ConfirmModal,Notify,Add} from '@commonComp';
 import styles from './index.less';
 import $ from 'jquery';
 import Textarea from './Textarea';
+import close from './img/close.png';
 
 class AddAssistCheck extends React.Component {
     constructor(props) {
@@ -32,9 +33,10 @@ class AddAssistCheck extends React.Component {
     }
 
     delConfirm(){
-        const {handleDelAssist} = this.props;
+        const {handleDelAssist,handlePush} = this.props;
         const {id} = this.state;
-        handleDelAssist&&handleDelAssist(id)
+        handleDelAssist&&handleDelAssist(id);
+        handlePush&&handlePush();           //右侧推送
         this.setState({
             visible:false,
             id:null
@@ -102,7 +104,7 @@ class AddAssistCheck extends React.Component {
     </ul>
     }
     getAssistLabel(){
-        const {assistLabel,handleDelAssist,handleChangeAssistValue,handleChangeDate,isRead} = this.props;
+        const {assistLabel,handleChangeAssistValue,handleChangeDate,isRead,handlePush} = this.props;
         return <ul className={styles.labelWrap} id="datePick">
             {
                 assistLabel.map((item,idx) => {
@@ -124,12 +126,12 @@ class AddAssistCheck extends React.Component {
                                 onKeyUp={(e)=>{handleChangeAssistValue(e.target.value,idx,e)}} 
                                 placeholder="报告描述或意见"
                             ></textarea> */}
-                            <Textarea value={item.value} isRead={isRead} handleChangeAssistValue={handleChangeAssistValue} idx={idx}></Textarea>
+                            <Textarea value={item.value} handlePush={handlePush} isRead={isRead} handleChangeAssistValue={handleChangeAssistValue} idx={idx}></Textarea>
                         </p>
-                        <div>
-                            <p>报告日期:<span>{item.time || this.state.dateTime}</span></p>
+                        <div className={styles.pointerFinger}>
+                            <p onClick={()=>this.handleShowDate(idx)}>报告日期:<span>{item.time || this.state.dateTime}</span></p>
                             <i onClick={()=>this.handleShowDate(idx)}></i>
-                            <a href="javascript:void(0);" onClick={()=>{this.handleDelClick(idx)}}></a>
+                            <a href="javascript:void(0);" onClick={()=>{this.handleDelClick(idx)}}><img src={close} alt=""/></a>
                             <div style={{display:this.state.date && idx == this.state.active?"block":"none",position:"relative"}}>
                                 <Calendar isShow={true} handleChange={(info)=>{handleChangeDate(info,idx);this.setState({date:false})}}></Calendar>
                             </div>
@@ -150,10 +152,10 @@ class AddAssistCheck extends React.Component {
             <div className={styles.wrapper}>
                 {this.getAssistLabel()}
                 <div id="searchWrapAssist" style={{position:"relative"}}>
-                    <Add showText="添加辅检项" handleClick={(e) => this.handleSearchShow(e)} id="assistCheck"/>
-                    <SearchOption handleChangeValue={handleChangeValue} visible={this.state.show}>
+                    <Add showText="添加辅检项" handleClick={(e) => this.handleSearchShow(e)} id="assistCheck"/>
+                  {this.state.show?<SearchOption handleChangeValue={handleChangeValue} visible={true}>
                         {this.getSearchList(list)}
-                    </SearchOption>
+                    </SearchOption>:''}
                 </div>
                 <ConfirmModal 
                     visible={visible}

文件差异内容过多而无法显示
+ 23 - 10
src/components/AddAssistCheck/index.less


+ 11 - 7
src/components/AddInspect/index.jsx

@@ -37,7 +37,7 @@ class Inspect extends React.Component {
         this.handleSearchShow = this.handleSearchShow.bind(this)
     }
     delConfirm(){//弹窗确定
-        const{delPartItem,handleCloseExcel} = this.props;
+        const{delPartItem,handleCloseExcel,handlePush} = this.props;
         const{type,id} = this.state;
         if(type==1){
             delPartItem(id)
@@ -50,6 +50,7 @@ class Inspect extends React.Component {
             id:null,
         })
         Notify.success("删除成功");
+        handlePush&&handlePush();       //右侧推送
     }
     handleDelClick(type,idx){
         this.setState({
@@ -109,12 +110,14 @@ class Inspect extends React.Component {
     handleFillShow(e,idx) {
         let tmpShow = this.state.showFill;
         let baseList = store.getState().inspect.fillActive;
-        this.setState({ 
+        const tmpTime = this.state.dateTime
+        this.setState({
             showFill: !tmpShow, 
             currentIdx:idx,
-            currentData:baseList
+            currentData:baseList,
+            dateTime:baseList.time?baseList.time:tmpTime
         })
-        // e.stopPropagation();
+        e.stopPropagation();
     }
     handleShowDate(){
         this.setState({
@@ -258,7 +261,7 @@ class Inspect extends React.Component {
         }
     }
     render() {
-        const { handleChangeValue, list, labelList,delPartItem, handleLabelSub, handleClear, handleConfirm, fillActive,getExcelDataList,handleCloseExcel } = this.props;
+        const { handleChangeValue, list, labelList,delPartItem, handleLabelSub, handleClear, handleConfirm, fillActive,getExcelDataList,handleCloseExcel,handlePush } = this.props;
         const {toastText,visible} = this.state;
         return (
             <div className={styles.wrapper}>
@@ -349,6 +352,7 @@ class Inspect extends React.Component {
                                                             handleConfirm(e,idx,this.state.dateTime,this.state.currentData);
                                                         }
                                                         this.setState({showFill:false})
+                                                        handlePush&&handlePush();     //右侧推送
                                                     }}
                                                 >
                                                     <div className={styles.searchResultT}>
@@ -375,9 +379,9 @@ class Inspect extends React.Component {
                 </div>
                 <div style={{position:"relative"}}>
                     <Add showText="添加化验项" handleClick={(e) => this.handleSearchShow(e)} id="searchWrap"/>
-                    <SearchOption handleChangeValue={handleChangeValue} visible={this.state.show}>
+                  {this.state.show?<SearchOption handleChangeValue={handleChangeValue} visible={true}>
                         {this.getSearchList(list)}
-                    </SearchOption>
+                    </SearchOption>:''}
                 </div>
                 <ConfirmModal 
                     visible={visible}

+ 6 - 4
src/components/AddInspect/index.less

@@ -72,7 +72,8 @@
             line-height: 18px;
             height: 18px;
             td {
-                width: 150px;
+                width: 180px;
+                padding-top: 3px;
             }
         }
     }
@@ -86,8 +87,8 @@
     display: none;
 }
 .searchLi {
-    height: 44px;
-    line-height: 44px;
+    height: 36px;
+    line-height: 36px;
     padding: 0 30px;
     padding-top: 0;
     box-sizing: border-box;
@@ -130,7 +131,7 @@
         display: inline-block;
     }
     .itemPartL {
-        width: 100px;
+        // width: 100px;
         float: left;
     }
     .itemPartR {
@@ -183,6 +184,7 @@
             td {
                 width: 180px;
                 text-align: left;
+                padding-top: 3px;
             }
             .excelUnit {
                 width: auto;

+ 2 - 1
src/components/AssistCheck/index.jsx

@@ -10,7 +10,7 @@ class AssistCheck extends React.Component {
     }
 
     render(){
-        const {list,assistLabel,handleChangeValue,handleSign,handleDelAssist,handleChangeAssistValue,handleChangeDate,isRead} = this.props;
+        const {list,assistLabel,handleChangeValue,handleSign,fetchPushInfos,handleDelAssist,handleChangeAssistValue,handleChangeDate,isRead} = this.props;
         return (
             <div className={styles.wrapper}>
                 <div className={styles.top}>
@@ -31,6 +31,7 @@ class AssistCheck extends React.Component {
                             handleSign={handleSign}
                             assistLabel={assistLabel}
                             handleDelAssist={handleDelAssist}
+                            handlePush={fetchPushInfos}
                             handleChangeAssistValue={handleChangeAssistValue}
                             handleChangeDate={handleChangeDate}
                             isRead={isRead}

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

@@ -35,7 +35,6 @@ class CommonSymptom extends Component{
     return classNames(style['list'],name,isHide);
   }
 
-
   handleSelect(e,item){
     e.stopPropagation();
     const {onSelect,onShow} = this.props;
@@ -43,9 +42,10 @@ class CommonSymptom extends Component{
     // onShow&&onShow(e,false);
   }
   render(){  
+    const {data} = this.props;
     return <div className={this.getClass()} contenteditable="false">
       <ul>
-        {this.props.data&&this.props.data.map((it)=>{
+        {data&&data.map((it)=>{
           return <li onClick={(e)=>this.handleSelect(e,it)}>{it.name}</li>
         })}
       </ul>

+ 4 - 2
src/components/CopyRight/index.less

@@ -30,7 +30,7 @@
     
     .disclaimer{
       font-size: 12px;
-      color: #000000;
+      color: #00e;
       float: right;
       cursor: pointer;
     }
@@ -76,6 +76,8 @@
         }
         .content {
           padding: 10px;
+          max-height: 400px;
+          overflow-y: auto;
         }
       }
     }
@@ -144,7 +146,7 @@
     }
     .message{
       font-size: 12px;
-      line-height: 20 px;
+      line-height: 20px;
       div{
         font-size: 12px;
         line-height: 20px;

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

@@ -7,6 +7,7 @@
     box-shadow: 0 6px 20px 0 #989DA3;
     background: #fff;
     z-index: 99;
+    margin-bottom: 80px;
 }
 .search {
     width: 100%;

二进制
src/components/DiagnosticList/img/delete.png


二进制
src/components/DiagnosticList/img/diagDown.png


二进制
src/components/DiagnosticList/img/diagUp.png


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

@@ -80,13 +80,18 @@ class DiagnosticList extends Component {
         return(
                 <div className={style['diaglist-wrap']}>
                     {list && (list.length > 0) && list.map((item, index) => {
+                        const hasTreat = item.treat && (item.treat.commonTreatment || item.treat.surgeryTreatment || item.treat.treatment.length>0)
                         return (<div draggable={true} className={style['diag-box'] + ' clearfix'}  key={item.id} >
-                                    {index === 0 ? '' : <span className={style['diag-up']} onClick={() => {this.upDiagnostic(index)}}><img src={diagUp}/></span>}
-                                    {list.length === 1 ? '' : index !== 0 ? '' : <span onClick={() => {this.downDiagnostic(index)}} className={style['diag-down']}><img src={diagDown}/></span>}
+                                    {index === 0 ? '' : <span className={style['diag-up']} onClick={() => {this.upDiagnostic(index)}}><img className={style["diag-up"]} src={diagUp}/></span>}
+                                    {list.length === 1 ? '' : index !== 0 ? '' : <span onClick={() => {this.downDiagnostic(index)}} className={style['diag-down']}><img className={style["diag-down"]} src={diagDown}/></span>}
                                     <span className={style['diag-number']} style={{fontWeight:index === 0 ?'bold':'normal'}}>{index === 0 ? '主' : index+1}</span>
                                     <span className={style['diag-name']} onClick={()=>{this.handleClickDiag(item)}}>{item.name}<span></span></span> 
                                     {item.type === 1 ? <span className={style['diag-first']}>初诊</span> :<span className={style['diag-second']}> 复诊</span>}
-                                    <span className={style['treat']} onClick={() =>{this.showTreat(item)}}>治疗方案</span>
+                                    <span className={style['treat']}
+                                          style ={{ color: hasTreat ?'' : 'gray', border: hasTreat ?'' : '1px solid gray'}}
+                                          onClick={() =>{hasTreat && this.showTreat(item)}}>
+                                          治疗方案
+                                    </span>
                                     <img className={style['diag-del']} src={del_icon} onClick={()=>{this.handleDeleteItem(item.id)}}/>
                         </div>)
                     })}

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

@@ -97,4 +97,8 @@
     font-size: 16px;
     color: #000000;
     line-height: 16px;
+}
+.diag-up, .diag-down, .diag-del {
+    width: 20px;
+    margin-bottom: 4px;
 }

+ 1 - 1
src/components/EMRContainer/index.less

@@ -11,7 +11,7 @@
 .inner{
 //   overflow-y: auto;
   padding-top:80px;
-  padding-bottom: 60px;
+  padding-bottom: 80px;
 }
 .keep {
     position: absolute;

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

@@ -29,7 +29,7 @@ class HistoryCaseContainer extends React.Component {
         const domNode = document.getElementById('root');
         return ReactDom.createPortal(
             <div className={styles.historyCaseWrap} style={{display:showHistoryCases?'block':'none'}}>
-                <div className={styles.maskHistory} onClick={showHistoryBox}></div>
+                <div className={styles.maskHistory}></div>
                 <HistoryList 
                     items={items}
                     activeHistory={activeHistory}

+ 7 - 2
src/components/Inspect/index.jsx

@@ -26,8 +26,10 @@ import {isIE} from '@utils/tools.js';
 
 import "./dists/FileAPI.js";
 
+const isLocal = window.location.hostname.indexOf('localhost')!=-1;
+const qhost = isLocal?host:'';
 const api = {
-    upload: host+'/api/icss/lisExcelRes/lisExcelAnalysis'
+    upload: qhost+'/api/icss/lisExcelRes/lisExcelAnalysis'
 };
 
 class Inspect extends React.Component {
@@ -45,6 +47,7 @@ class Inspect extends React.Component {
     }
     componentDidMount(){
         $('iframe').bind( 'load', function(){} )
+      const {fetchPushInfos} = this.props;
         // FileAPI.debug = true
         $.support.cors = true;
         const that = this;
@@ -83,6 +86,7 @@ class Inspect extends React.Component {
                                 let res = JSON.parse(xhr.response);
                                 let message = res.data.messages;
                                 store.dispatch(getExcelList(res.data));
+                                fetchPushInfos&&fetchPushInfos();
                                 if (message.length != 0) {
                                     that.setState({
                                         visible:true,
@@ -124,7 +128,7 @@ class Inspect extends React.Component {
         </ul>
     }
     render() {
-        const { handleCloseExcel, handleChangeValue, labelListActive, list, handleSign, labelList, handleLabelSub, handleClear, handleConfirm, fillActive, changeActivePart, getExcelDataList,delPartItem } = this.props;
+        const {fetchPushInfos, handleCloseExcel, handleChangeValue, labelListActive, list, handleSign, labelList, handleLabelSub, handleClear, handleConfirm, fillActive, changeActivePart, getExcelDataList,delPartItem } = this.props;
         return (
             <div className={styles.wrapper} >
                 {/* 导入功能插件,ie8/9权限问题暂未解决,先隐藏 */}
@@ -148,6 +152,7 @@ class Inspect extends React.Component {
                             handleSign={handleSign}
                             handleChangeValue={handleChangeValue}
                             list={list}
+                            handlePush={fetchPushInfos}
                             labelList={labelList}
                             handleLabelSub={handleLabelSub}
                             fillActive={fillActive}

+ 2 - 2
src/components/Inspect/index.less

@@ -34,10 +34,10 @@
     button {
         outline: none;
         font-size: 12px;
-        width: 90px;
+        padding: 0 8px;
         background-color: #fff;
         height: 28px;
-        line-height: 28px;
+        line-height: 30px;
         border: 0 none;
         color: @template-color;
     }

+ 46 - 28
src/components/MainSuit/index.jsx

@@ -6,6 +6,7 @@ import SearchDrop from '@components/SearchDrop';
 import CommonSymptom from '@components/CommonSymptom';
 import chooseType from '@containers/eleType.js';
 import config from "@config/index";
+import {isIE} from "@utils/tools.js"
 
 class MainSuit extends Component{
   constructor(props){
@@ -58,29 +59,38 @@ class MainSuit extends Component{
 
   handleFocus(e){
     e.stopPropagation();
-    const {getCommonSymptoms} = this.props;
+    const {getCommonSymptoms,datas} = this.props;
     let innerText = e.target.innerText;
-    if(!innerText.trim()){//有内容就走搜索接口
-      getCommonSymptoms && getCommonSymptoms();
-      this.setState({
-        symptom:true
-      })    
+    if(!isIE()){//IE会触发onfocus和onblur事件
+      if(!innerText.trim()){//有内容就走搜索接口
+        getCommonSymptoms && getCommonSymptoms();
+        this.setState({
+          symptom:true
+        })    
+      }else{
+        this.setState({
+          symptom:false,
+          inpText:innerText
+        }) 
+      }
     }else{
-      this.setState({
-        symptom:false,
-        inpText:innerText
-      }) 
+      if(datas.length==0 && !innerText.trim()){
+        getCommonSymptoms && getCommonSymptoms();
+        this.setState({
+          symptom:true
+        })  
+      }
     }
-
+    
   }
 
 
-  handleShow(e,show){
+  /*handleShow(e,show){
     e.stopPropagation();
     if(e.target.tagName=="INPUT"){
       return ;
     }
-  }
+  }*/
 
   handleSelect(item){//选中的常见症状
     const {clearCommS,insertMain,getData} = this.props;
@@ -186,18 +196,25 @@ class MainSuit extends Component{
     const {freeText,saveText,datas} = this.props;
     const that = this;
     let data = this.state.inpText;
-    e.target.innerText="";
-    freeText && freeText(data.trim());
-    // 延时关闭常见症状下拉,不延时会影响选中
-    clearTimeout(this.state.clearTimer);
-    const clearTimer = setTimeout(function(){
-      that.setState({
-        symptom:false
-      })
-    },config.delayTime-200);
-    this.setState({
-      clearTimer
-    });
+    if(!isIE()){
+      e.target.innerText="";
+      freeText && freeText(data.trim());
+      // 延时关闭常见症状下拉,不延时会影响选中
+      clearTimeout(this.state.clearTimer);
+      const clearTimer = setTimeout(function(){
+        that.setState({
+          symptom:false
+        })
+      },config.delayTime-200);
+      this.setState({
+        clearTimer
+      });
+    }else{
+      if(datas.length==0){
+        freeText && freeText(data.trim());
+      }
+    }
+    
   }
 
 
@@ -206,7 +223,7 @@ class MainSuit extends Component{
     const {showModule,boxLeft,boxTop,show,symptom,search} = this.state;
     const symptomFlag = CommonSymptoms.length>0 ? true : false;
     const searchFlag = searchData.length>0 ? true : false;
-
+    
     if(+type===1){      //文本模式
       return <Textarea title='主诉' boxMark='1' isRead={isRead} value={saveText[0]} handlePush={fetchPushInfos} handleInput={handleInput} />;
     }
@@ -219,11 +236,12 @@ class MainSuit extends Component{
       handleFocus={this.handleFocus} 
       onchange={(e)=>{this.handleChange(e)}} 
       handleClick={this.handleClick} 
-      handleBlur={this.handleBlur}>
+      handleBlur={this.handleBlur}
+      data={datas}>
         {datas.length>0?<div style={{display:'inline-block'}}>{this.getInlineTag()}</div>:(saveText[0]?saveText[0]:'')}
       </ItemBox>
       {/*没有推送结果就不显示*/}
-      {symptomFlag && !searchFlag ? <CommonSymptom data={CommonSymptoms} show={!totalHide&&symptom} onShow={(e)=>this.handleShow(e)} onSelect={this.handleSelect} /> : ( searchFlag ? <SearchDrop data={searchData} show={!commSymHide} onShow={(e)=>this.handleShow(e)} onSelect={this.handleSearchSelect} left={boxLeft} top={boxTop} />:"")}
+      {symptomFlag && !searchFlag ? <CommonSymptom data={CommonSymptoms} show={!totalHide&&symptom} onSelect={this.handleSelect} /> : ( searchFlag ? <SearchDrop data={searchData} show={!commSymHide} onSelect={this.handleSearchSelect} left={boxLeft} top={boxTop} />:"")}
     </div>
   }
 }

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

@@ -130,12 +130,12 @@ class MultSpread extends Component{
                  onBlur={this.handleEdit}>
       {textPrefix?<span>{textPrefix}</span>:''}
       <div className={this.getClass()}>
-      {this.getLabels()} 
+      {this.getLabels()}
+      {textSuffix?<span>{textSuffix}</span>:''}
       {showAdd?<img src={addIcon} alt="添加血压项"
                     className={style['add-icon']}
                     onClick={()=>addLabelItem({ikey,copyId})}/>:''}
     </div>
-    {textSuffix?<span>{textSuffix}</span>:''}
     </div>)
   }
 }

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

@@ -130,7 +130,7 @@ class NumberDrop extends Component{
                 onDoubleClick={this.changeToEdit}
                 onBlur={this.handleBlur} contentEditable={editable}
                 onkeydown={handleEnter}>
-      <span>{prefix}</span>
+      <span>&nbsp;{prefix}</span>
       <span onFocus={this.handleNumFocus}
             onClick={this.handleNumClick}
             contentEditable={numEditable}
@@ -140,7 +140,7 @@ class NumberDrop extends Component{
             onInput={this.handleSpanInp}
             className={this.getSpanClass()}
             onkeydown={handleEnter}>{value||placeholder}</span>
-      <span>{suffix}</span>
+      <span>&nbsp;{suffix}</span>
       <NumberPan handleSelect={(text)=>this.select(text)}
                  onClose={handleHide}
                  show={show} toClear={!hasSelect}/>

+ 33 - 19
src/components/NumberUnitDrop/index.jsx

@@ -3,8 +3,9 @@ import className from 'classnames';
 import {NumberUnitPan} from '@commonComp';
 import style from './index.less';
 import config from '@config/index.js';
-import {filterArr,handleEnter} from '@utils/tools.js';
+import {filterArr,handleEnter,isIE} from '@utils/tools.js';
 import {Notify} from '@commonComp';
+import $ from 'jquery';
 /***
  * 带单位数字组件
  * 接收参数:
@@ -69,37 +70,43 @@ class NumberUnitDrop extends Component{
   //数字框失焦,保存值到store中
   numInpBlur(e){
     e.stopPropagation();
+    const {handleSelect,ikey,suffix,prefix,mainSaveText} = this.props;
+    const {editable} = this.state;
+    if(editable){
+      const text = e.target.innerText;
+      // this.$span.current.innerText='';      //修改生成文字变成输入的2倍bug 
+      handleSelect&&handleSelect({ikey,text,suffix,prefix,mainSaveText});
+    }
     this.setState({
       isClosed:false,
       numEditable:true,
       hasSelect:false,
       editable:false
     });
-    const text = e.target.innerText;
-    this.$span.current.innerText='';      //修改生成文字变成输入的2倍bug
-    const {handleSelect,ikey,suffix,prefix,mainSaveText} = this.props;
-    handleSelect&&handleSelect({ikey,text,suffix,prefix,mainSaveText});
+    
   }
 
   handleSpanInp(e){ //数字框输入事件
     e.stopPropagation();
     // 主诉字数达到上限时不允许输入
     const {mainSaveText,ikey,type,handleSelect,suffix,prefix,boxMark} = this.props;
-    const {labelVal} = this.state;
+    const {labelVal,editable} = this.state;
     let mainText = filterArr(mainSaveText);//主诉字数
-    let val = e.target.innerText;
-    if(+boxMark==1){
-      if(mainText.length >= config.limited){
-        if(val.length > labelVal.length){
-          e.target.innerText = labelVal;
-          Notify.info(config.limitText);
-          return
-        }else if(val.length == labelVal.length){
-          this.setState({
-            labelVal:val
-          });
-        }else{
-          handleSelect&&handleSelect({ikey,text:val,suffix,prefix,mainSaveText});
+    if(editable){//避免IE中点击标签也会触发
+      let val = e.target.innerText;
+      if(+boxMark==1){
+        if(mainText.length >= config.limited){
+          if(val.length > labelVal.length){
+            e.target.innerText = labelVal;
+            Notify.info(config.limitText);
+            return
+          }else if(val.length == labelVal.length){
+            this.setState({
+              labelVal:val
+            });
+          }else{
+            handleSelect&&handleSelect({ikey,text:val,suffix,prefix,mainSaveText});
+          }
         }
       }
     }
@@ -126,6 +133,13 @@ class NumberUnitDrop extends Component{
       handleDbclick && handleDbclick({id:patId||id});
     }
   }
+  componentDidMount(){
+    if(isIE()){
+      $(this.$span.current).onIe8Input(function(e){
+        this.handleSpanInp(e)
+      },this);
+    }
+  }
 
   render(){
     const {placeholder,prefix,suffix,show,value,handleHide} = this.props;

+ 1 - 2
src/components/Operation/index.jsx

@@ -171,8 +171,7 @@ class Operation extends Component {
     let whichSign = baseList.typeConfig.typeConfig;
     let activeItemData = baseList.tabTemplate.activeItem;
     // let preview = (activeItemData.preview).split('-').join('');
-    // console.log(activeItemData.dataJson,4545554)
-    // console.log(JSON.stringify(jsonData),4545554)
+
     if (whichSign == 0) {
       if (activeItemData && JSON.stringify(activeItemData) != '{}' && (activeItemData.dataJson == JSON.stringify(jsonData)) && (JSON.stringify(jsonStr) == JSON.stringify(JSON.parse(activeItemData.preview)))) {
         Notify.info('该模板已保存');

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

@@ -219,7 +219,7 @@ class PreviewBody extends Component {
                     </td>
                 </tr>
                 <tr style={{ verticalAlign: 'top' }}>
-                    <td style={{ width: 70, textAlign: 'right', padding: '0px 5px 16px 0px', fontSize: '14px' }}>辅:</td>
+                    <td style={{ width: 70, textAlign: 'right', padding: '0px 5px 16px 0px', fontSize: '14px' }}>辅:</td>
                     <td style={{ fontSize: '14px', padding: '0px 0px 16px 0px',lineHeight:'18px' }}>
                         {
                             dataStr.pacs && dataStr.pacs != '' && dataStr.pacs.split(';').map((item)=>{

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

@@ -191,7 +191,7 @@ class PushContainer extends Component {
         }else if(this.state.type == 3){
             if(this.state.title == this.state.obj.text){
                 store.dispatch(changeVisible(false))
-                Notify.info('该模板名已存在');
+                Notify.info('标题修改成功');
                 return;
             }
             let tempObj = {

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

@@ -219,7 +219,7 @@ class PushItems extends Component {
             <div className={style["recommend"]}>
               <h1>
                 <img src={recommendImg} />
-                推荐检验检查<div onClick={billing}>开单</div>
+                推荐检验检查<div className={style["billing"]}  onClick={billing}>开单</div>
               </h1>
               <div>
                 {assay.length === 0 && check.length === 0 ? (

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

@@ -337,4 +337,6 @@
   display: inline-block;
   padding: 0px 10px 0px 0px;
 }
-
+.billing {
+  color: #3B9ED0;
+}

+ 8 - 2
src/components/RadioDrop/index.jsx

@@ -88,10 +88,16 @@ class RadioDrop extends Component{
   handleEditLabel(e){
     e.stopPropagation();
     const {ikey,boxMark,handleLabelEdit} = this.props;
+    /*const {editable} = this.state;
+    if(editable){
+      // 更改标签的value值
+      let changeVal = e.target.innerText;
+      handleLabelEdit && handleLabelEdit({ikey,changeVal,type:boxMark});
+    }*/
     this.setState({
       editable:false
-    });
-    // 更改标签的value值
+    });  
+   // 更改标签的value值
     let changeVal = e.target.innerText;
     handleLabelEdit && handleLabelEdit({ikey,changeVal,type:boxMark});
   }

+ 43 - 23
src/components/SpreadDrop/index.jsx

@@ -2,9 +2,10 @@ import React,{Component} from 'react';
 import classNames from 'classnames';
 import config from '@config/index.js';
 import style from './index.less';
-import {deepClone,filterArr,handleEnter} from '@utils/tools.js';
+import {deepClone,filterArr,handleEnter,isIE} from '@utils/tools.js';
 import {Notify} from '@commonComp';
 import {getIds} from '@common/js/func.js';
+import $ from 'jquery';
 /****
  * 标签组合下拉,选中的项目展开
  * author:zn@2018-11-21
@@ -35,6 +36,7 @@ class SpreadDrop extends Component{
       editable:false,      //双击编辑
       labelVal:'',  //存放标签原有的值--主诉字数限制用
     };
+    this.$div = React.createRef();
     this.handleSelect = this.handleSelect.bind(this);
     this.clearState = this.clearState.bind(this);
     this.handleClear = this.handleClear.bind(this);
@@ -50,7 +52,7 @@ class SpreadDrop extends Component{
   handleShow(e){//单击
     e&&e.stopPropagation();
     // window.event? window.event.cancelBubble = true : e.stopPropagation();
-    this.setStateInit();      //恢复初始选中状态
+    // this.setStateInit();      //恢复初始选中状态
     const {ikey,handleShow,placeholder,flag,id,value,tagType,type} = this.props;
     const that = this;
     this.btnClickFlag = false;
@@ -70,7 +72,6 @@ class SpreadDrop extends Component{
     let text = e.target.innerText;
     // clearTimeout(this.state.timer);//取消延时的单击事件
     e.stopPropagation();
-    // e.preventDefault();
     if(value&&value.trim()){//有选中值的标签才能双击编辑
       this.setState({
         labelVal:text,
@@ -83,21 +84,23 @@ class SpreadDrop extends Component{
 
   onChange(e){  
     const {mainSaveText,ikey,type,handleLabelChange} = this.props;
-    const {labelVal} = this.state;
+    const {labelVal,editable} = this.state;
     let mainText = filterArr(mainSaveText);//主诉字数
-    let val = e.target.innerText;
-    if(+type==1){// 主诉字数达到上限时不允许输入
-      if(mainText.length >= config.limited){
-        if(val.length > labelVal.length){
-          e.target.innerText = labelVal;
-          Notify.info(config.limitText);
-          return
-        }else if(val.length == labelVal.length){
-          this.setState({
-            labelVal:val
-          });
-        }else{
-          handleLabelChange && handleLabelChange({ikey,changeVal:val,type});
+    if(editable){//避免IE中点击标签也会触发
+      let val = e.target.innerText;
+      if(+type==1){// 主诉字数达到上限时不允许输入
+        if(mainText.length >= config.limited){
+          if(val.length > labelVal.length){
+            e.target.innerText = labelVal;
+            Notify.info(config.limitText);
+            return
+          }else if(val.length == labelVal.length){
+            this.setState({
+              labelVal:val
+            });
+          }else{
+            handleLabelChange && handleLabelChange({ikey,changeVal:val,type});
+          }
         }
       }
     }
@@ -106,12 +109,16 @@ class SpreadDrop extends Component{
   handleBlur(e){
     e.stopPropagation();
     const {ikey,type,handleLabelChange} = this.props;
+    const {editable} = this.state;
+    if(editable){
+      // 更改标签的value值
+      let changeVal = e.target.innerText;
+      handleLabelChange && handleLabelChange({ikey,changeVal,type});
+    }
     this.setState({
       editable:false
     });
-    // 更改标签的value值
-    let changeVal = e.target.innerText;
-    handleLabelChange && handleLabelChange({ikey,changeVal,type});
+    
 
   }
   setStateInit(){
@@ -293,18 +300,31 @@ class SpreadDrop extends Component{
     });
     return list;
   }
+  componentDidMount(){
+    if(isIE()){
+      $(this.$div.current).onIe8Input(function(e){
+        this.onChange(e)
+      },this);
+    }
+  }
+
   render(){
     const {placeholder,value,show} = this.props;
     const {editable} = this.state;
-    return <div className={style['container']}>
+    return <div className={style['container']}
+            onFocus={(e)=>e.stopPropagation()}
+            onBlur={(e)=>e.stopPropagation()}
+            onInput={(e)=>e.stopPropagation()}>
       <div
+      ref={this.$div}
       onClick={this.handleShow}
       className={this.getClass()}
       contentEditable={editable}
       onDoubleClick={this.changeToEdit}
       onBlur={this.handleBlur}
       onInput={this.onChange}
-      onkeydown={handleEnter}>{value||placeholder}</div>
+      onkeydown={handleEnter}
+      >{value||placeholder}</div>
       <div className={style["drop-list"]} style={{display:show?'block':'none'}} contentEditable="false" onClick={(e)=>{e.stopPropagation();}}>
         {this.getLabels()}
         <div className="oper">
@@ -367,7 +387,7 @@ class ListItem extends Component{
   render(){
     const {data,isSpecialPos} = this.props;
     const pos = isSpecialPos?style['independent']:'';
-    return <ul className={classNames(style['row'],pos)}>
+    return <ul className={classNames(style['row'],pos)} onBlur={(e)=>e.stopPropagation()}>
       {data&&data.map((it,i)=>{
         return <li onClick={(e)=>this.handleClick(e,it,i)}
                    className={this.getClass(it.id)}>{it.labelPrefix}{it.name}{it.labelSuffix}</li>

+ 3 - 1
src/components/SpreadDrop/index.less

@@ -11,7 +11,9 @@
     display: inline-block;
     // width: 200px;
     vertical-align: top;
-    margin-left: 8px;   
+    margin-left: 8px;
+    max-height: 326px;
+    overflow-y: auto;
   }
   .independent{
     display: block;

+ 2 - 1
src/components/TreatDesc/DrugInfo/index.jsx

@@ -12,8 +12,9 @@ class DrugInfo extends Component {
         return (<div className={style['drug-info-wrapper']}>
                 <h3 className={style['drug-title']}>{drugInfo.title}说明书  <img src={close} onClick={hideDrugInfo} className={style['close-drug-desc']}/> </h3>
                 { drugInfo && drugInfo.drugDesc.length > 0 && <div className={style['drug-desc-wrapper']}>
+                    <div className={style['drug-title1']}>{drugInfo.title}说明书</div>
                     {drugInfo.drugDesc.map((item, index) =>{
-                        return <div className={style['drug-desc-item']}>{item.title}: <span dangerouslySetInnerHTML ={{__html: item.content}}></span> </div>
+                        return <div className={style['drug-desc-item']}><span className={style['drug-desc-title']}>{item.title}</span> <span className={style['drug-desc-content']} dangerouslySetInnerHTML ={{__html: item.content}}></span> </div>
                     })}
                 </div> }
 

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

@@ -20,9 +20,34 @@
     height: 40px;
     line-height: 40px;
     padding: 0 40px;
+    border-bottom: 1px solid #979797;
 }
 .close-drug-desc {
     position: absolute;
     right: 0;
     width: 30px;
-}
+}
+.drug-desc-item {
+    padding: 5px 0;
+}
+.drug-desc-title {
+    display: inline-block;
+    font-weight: bold;
+    font-size: 14px;
+    height: 100%;
+    float: left;
+}
+.drug-desc-title::before {
+    content: '【'
+}
+.drug-desc-title::after {
+    content: '】'
+}
+.drug-title1 {
+    height: 60px;
+    line-height: 60px;
+    font-size: 32px;
+    color: #000000;
+    text-align: center;
+}
+.drug-desc-content {}

+ 6 - 0
src/containers/AssistCheck.js

@@ -5,6 +5,7 @@ import {
 import AssistCheck from '@components/AssistCheck';
 import { assistLable,delAssistLabel,changeAssistVal,changeDate } from '@store/actions/assistCheck';
 import { getSearchList } from '@store/async-actions/assistCheck';
+import {billing} from '@store/async-actions/pushMessage';
 
 function mapStateToProps(state) {  
     return {
@@ -31,6 +32,11 @@ function mapDispatchToProps(dispatch, store) {
         handleChangeDate(info,idx){
             let date = info.year+'-'+(info.month<10?'0'+info.month:info.month)+'-'+(info.day<10?'0'+info.day:info.day);
             dispatch(changeDate(date,idx))
+        },
+        //右侧推送
+        fetchPushInfos(){
+          //调右侧推送
+          dispatch(billing);
         }
     }
 }

+ 9 - 9
src/containers/DiagnosticItem.js

@@ -3,8 +3,8 @@ import { connect } from 'react-redux';
 import DiagnosticItem from '@components/DiagnosticItem';
 import { ADD_DIAGNOSTIC, GET_DIAGNOSTIC_STR } from '@store/types/diagnosticList'; 
 import {  SHOW_SEARCH,  HIDE_SEARCH, SET_SEARCH_VALUE } from '@store/types/diagnosticSearch';
+import { addDiagnostic } from '@store/async-actions/treat';
 import { getSearchResult } from '@store/async-actions/diagnosticSearch';
-import { isAddMainSuit } from '@store/async-actions/diagnosticList';
 import {billing, getTips} from '../store/async-actions/pushMessage';
 
 
@@ -17,14 +17,14 @@ function mapStateToProps(state) {
 function mapDispatchToProps(dispatch) {
     return{
         addDiagnostic: (item) => {
-            dispatch({
-                type: ADD_DIAGNOSTIC,
-                item: item
-            });
-            dispatch({
-                type: GET_DIAGNOSTIC_STR
-            });
-            dispatch(isAddMainSuit())
+            dispatch(addDiagnostic(item))
+            // dispatch({
+            //     type: ADD_DIAGNOSTIC,
+            //     item: item
+            // });
+            // dispatch({
+            //     type: GET_DIAGNOSTIC_STR
+            // });
         },
         showSearch:()=>{
             dispatch({

+ 6 - 1
src/containers/Inspect.js

@@ -3,7 +3,7 @@ import {connect} from 'react-redux';
 import Inspect from '@components/Inspect';
 import {getSearchList,getSublableList} from '@store/async-actions/inspect';
 import {setLabel,fillActived,fillActiveDetail,checkValueIsChange,delExcelLis,clearLabel,delPartItem} from '@store/actions/inspect';
-
+import {billing} from '@store/async-actions/pushMessage';
 function mapStateToProps(state) {
     return {
         list:state.inspect.list,
@@ -44,6 +44,11 @@ function mapDispatchToProps(dispatch, store) {
         },
         delPartItem(idx){
             dispatch(delPartItem(idx))
+        },
+        //右侧推送
+        fetchPushInfos(){
+          //调右侧推送
+          dispatch(billing);
         }
     }
 }

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

@@ -35,7 +35,7 @@ export function setNumberValue(state,action){
 }
 
 //查体单选下拉选中
-export function setRadioValue(state,action){
+export function setRadioValue(state,action){console.log(221)
   let res = Object.assign({},state);
   const {ikey,id,text} = action;
   let labelInx = getLabelIndex(ikey);
@@ -87,6 +87,7 @@ export function addLabelItem(state,action){
   if(!data) return res;
   res.data.splice(+i+2,0,JSON.parse(data),textLabel);
   res.saveText.splice(+i+2,0,'','');
+  res.selecteds.splice(+i+2,0,null,null);
   res.update = Math.random();
   return res;
 }

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

@@ -263,7 +263,7 @@ export const setCheckBox = (state,action)=>{
   let arr = res.data;
   arr[labelInx].value = names;
   res.saveText[labelInx] = names;
-  res.selecteds[labelInx] = action.data;console.log(99,res,action);
+  res.selecteds[labelInx] = action.data;
   res.update=Math.random();
   return res;
 }

+ 2 - 7
src/store/actions/mainSuit.js

@@ -92,24 +92,19 @@ export const handleTailClick = (state,action)=>{
 //将选择的常见症状插入
 export const insertMain = (state,action) => {
   const res = Object.assign({},state);
-  res.showDrop = !res.showDrop;//防止不更新
   const item = action.item.name;
   const id = action.item.questionId;
   // 将选中的id存起,现病史时获取模板
-  // let data = res.data;
   let data = JSON.parse(JSON.stringify(res.moduleData));
-  // const text = {id:id,name:item,tagType:config.tagType,controlType:3,exist:1};
   const text = {id:id,name:item,value:item,tagType:config.tagType,exist:1};
-  const emptySpan = JSON.parse(config.textLabel);
   let inserIndx = null;
   data.map((it,i)=>{
     if(it.flag == 1){//在此处插入主诉数据
       inserIndx = i;
     }
   })
-  // data.splice(inserIndx,0,text,emptySpan);
-  // data.splice(inserIndx,0,text);
-  data[inserIndx-1] = text;//替换空标签
+  data.splice(inserIndx-1,1,text);
+  // data[inserIndx-1] = text;//替换空标签
   res.data = data;
   res.saveText = [];//将手动输入的值清掉
   // res.saveText[inserIndx] = text.name;

+ 7 - 0
src/store/actions/otherHistory.js

@@ -6,6 +6,13 @@ export const confirm = (state,action) =>{
   let res = Object.assign({},state);
   let arr = res.data;
   const {nones,exists,withs,ikey,exclusion,excluName,copyType} = action.data;
+  if((!exists||!withs||[...exists,...withs].length==0)&&!nones&&!exclusion){       //取消无殊的选中,空白提交
+    arr[ikey].value = '';
+    res.saveText[ikey] = '';
+    res.selecteds.splice(ikey,1);
+    res.update=Math.random();
+    return res;
+  }
   //选中互斥项
   if(exclusion){
     arr[ikey].value = excluName;

+ 0 - 1
src/store/async-actions/inspect.js

@@ -19,7 +19,6 @@ export const getSearchList = (val) => {
             sexType:sex == '男'?'1' : sex == '女'?'2':'3'
         })
         .then((res)=>{
-            console.log(res.data.data)
             const data = res.data.data;
             dispatch(searchList(data));
         })

+ 69 - 3
src/store/async-actions/treat.js

@@ -1,12 +1,79 @@
 import { json } from "@utils/ajax";
 import { SET_TREAT } from '@store/types/diagnosticList';
+import { ADD_DIAGNOSTIC, GET_DIAGNOSTIC_STR} from '@store/types/diagnosticList';
 import { SET_DRUG_INFO, SET_TREATMENT, SET_RECOMMEND_BASIC } from '@store/types/treat';
-import {getEMRParams} from  '@utils/tools';
+import {storageLocal,getEMRParams} from '@utils/tools';
+import { isAddMainSuit } from '@store/async-actions/diagnosticList';
+
 const api={
     push:'/api/icss/push/pushInner',
     textPush:'/api/icss/push/pushText'
 }
 
+export const addDiagnostic = (item) => {
+        return (dispatch, getState) => {
+            const state = getState();
+            let url = api.push;
+            if(+state.typeConfig.confirmType===1){
+                url=api.textPush;
+            }
+            const emrData = getEMRParams();
+            const diagnosticList = state.diagnosticList.diagnosticList;
+            let diag = '';
+            if(diagnosticList) {
+                for (let i = 0; i < diagnosticList.length; i++ ) {
+                    if(i ===0 ) {
+                        diag = diag + diagnosticList[i].name;
+                    } else {
+                        diag = diag + ',' + diagnosticList[i].name;
+                    }
+
+                }
+            }
+            if (item.type === 1) {
+                diag = diag + ',' + item.name
+            } else {
+                diag = diag + ',' + item.name
+            }
+            const params = {
+                "age": emrData.age,
+                "featureType": "8",
+                "diag": diag,
+                "diseaseId":  item.id,
+                "lis": emrData.lis,
+                "other": emrData.other,
+                "pacs": emrData.pacs,
+                "sex": emrData.sex,
+                "symptom": emrData.current + emrData.main,
+                "vital": emrData.vital
+            };
+
+            json(url, params).then((data) =>{
+                if (data.data.data) {
+                    item.treat = data.data.data.treat
+                    dispatch({
+                        type: ADD_DIAGNOSTIC,
+                        item: item
+                    })
+                } else {
+                    item.treat = null
+                    dispatch({
+                        type: ADD_DIAGNOSTIC,
+                        item: item
+                    })
+                }
+                dispatch({
+                    type: GET_DIAGNOSTIC_STR
+                });
+                dispatch(isAddMainSuit())
+
+            }).catch((e) =>{
+                console.log(e)
+            })
+        }
+
+}
+
 export const getTreatResult = (item) =>{
     return (dispatch, getState) => {
         const state = getState();
@@ -49,7 +116,7 @@ export const getTreatResult = (item) =>{
             "other": emrData.other,
             "pacs": emrData.pacs,
             "sex": emrData.sex,
-            "symptom": emrData.current||emrData.main,
+            "symptom": emrData.current + emrData.main,
             "vital": emrData.vital
         };
         
@@ -146,7 +213,6 @@ export const getTreatResult = (item) =>{
     
 } 
 export const getInstroduce = (item)=>{
-    // const instroduce = '<p>药品说明1</p><p>药品说明2</p><p>药品说明3</p>'
 
     return (dispatch, getState) =>{
         const url = '/api/icss/introduceInfo/getByQuestionId';

+ 1 - 1
src/utils/ajax.js

@@ -7,7 +7,7 @@ const qs=require('querystring');
 const isLocal = window.location.hostname.indexOf('localhost')!=-1;
 const qhost = isLocal?host:'';
 axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
-axios.defaults.baseURL = host;       //默认地址
+//axios.defaults.baseURL = host;       //默认地址
 // axios.defaults.timeout = 60000;       //请求超时
 
 

+ 2 - 3
src/utils/tools.js

@@ -478,10 +478,9 @@ function filterDataArr(arr){   //数据处理
     let tmpArr = [];
     for(let i = 0;i < arr.length;i++){
         if(arr[i] && arr[i].indexOf('undefined') == -1){
-            if(tmpArr[tmpArr.length-1] != ',' ){
+            if(tmpArr[tmpArr.length-1] != ',' && tmpArr[tmpArr.length-1] != ',' ){
                 tmpArr.push(arr[i])
-            }
-            else if(tmpArr[tmpArr.length-1] == ',' && arr[i] != ',') {
+            }else if((tmpArr[tmpArr.length-1] == ',' && (arr[i] != ',' || arr[i] != ',')) || (tmpArr[tmpArr.length-1] == ',' && (arr[i] != ',' || arr[i] != ','))) {
               if(arr[i] == '。'){
                 tmpArr.pop();
                 tmpArr.push(arr[i]);