hellfire 0.30.3 → 0.30.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ## [0.30.5](http://10.16.100.57/diffusion/115/paladin/compare/v0.30.4...v0.30.5) (2025-07-29)
6
+
7
+
8
+
9
+ ## [0.30.4](http://10.16.100.57/diffusion/115/paladin/compare/v0.30.3...v0.30.4) (2025-07-28)
10
+
11
+
12
+
5
13
  ## [0.30.3](http://10.16.100.57/diffusion/115/paladin/compare/v0.30.2...v0.30.3) (2025-07-18)
6
14
 
7
15
 
package/dist/index.html CHANGED
@@ -9,4 +9,4 @@
9
9
  width: 100%;
10
10
  overflow: auto;
11
11
  margin: 0;
12
- }</style><link rel="icon" href="./favicon.ico?504bd2f206cadb4f4aee"><script defer="defer" src="./v0.17.0-140-g0429685/main-504bd2f206cadb4f4aee.js?504bd2f206cadb4f4aee"></script><link href="./v0.17.0-140-g0429685/main-504bd2f206cadb4f4aee.css?504bd2f206cadb4f4aee" rel="stylesheet"></head><body><div id="app" style="height: 100%;"></div></body></html>
12
+ }</style><link rel="icon" href="./favicon.ico?a3ff9f5ae9aaba10e321"><script defer="defer" src="./v0.17.0-236-g6378d92/main-a3ff9f5ae9aaba10e321.js?a3ff9f5ae9aaba10e321"></script><link href="./v0.17.0-236-g6378d92/main-a3ff9f5ae9aaba10e321.css?a3ff9f5ae9aaba10e321" rel="stylesheet"></head><body><div id="app" style="height: 100%;"></div></body></html>
package/dist/index.js CHANGED
@@ -999,6 +999,7 @@ var initActiveTool = isMobile ? 'StackScroll' : 'Wwwc';
999
999
  var initialState$1 = {
1000
1000
  activeTool: initActiveTool,
1001
1001
  originActiveTool: initActiveTool,
1002
+ originNo3DActiveTool: initActiveTool,
1002
1003
  mipActiveTool: 'MipWWWc',
1003
1004
  // seriesMode序列模式 imageMode图像模式 allImageMode全部模式
1004
1005
  mode: 'seriesMode',
@@ -10609,13 +10610,13 @@ function addTaskPool(series) {
10609
10610
  });
10610
10611
  }
10611
10612
 
10612
- function changePriorityBySeries(seriesInstanceUID) {
10613
+ function changePriorityBySeries(seriesInstanceUID, series) {
10613
10614
  if (lastScrollSeriesUid && lastScrollSeriesUid === seriesInstanceUID) {
10614
10615
  return;
10615
10616
  }
10616
10617
 
10617
10618
  lastScrollSeriesUid = seriesInstanceUID;
10618
- var index = 0;
10619
+ var index = 0; // taskPool中有内容 优先级改变
10619
10620
 
10620
10621
  if (taskPool && taskPool.length > 1) {
10621
10622
  lodash$1.forEachRight(taskPool, function (task) {
@@ -10627,6 +10628,20 @@ function changePriorityBySeries(seriesInstanceUID) {
10627
10628
  });
10628
10629
  changeCurrentTopPriority(index);
10629
10630
  executeSpecificTask();
10631
+ } // cache达到max + 序列第一张不在cache中 重新加载整个序列
10632
+
10633
+
10634
+ var cacheInfo = cornerstone.imageCache.getCacheInfo();
10635
+ var maximumSizeInBytes = cacheInfo.maximumSizeInBytes,
10636
+ cacheSizeInBytes = cacheInfo.cacheSizeInBytes;
10637
+
10638
+ if (series && cacheSizeInBytes > maximumSizeInBytes * 0.99) {
10639
+ var firstImageId = series.imageIds[0];
10640
+ var imageLoadObject = cornerstone.imageCache.getImageLoadObject(firstImageId);
10641
+
10642
+ if (!imageLoadObject) {
10643
+ addTaskPool([series]);
10644
+ }
10630
10645
  }
10631
10646
  }
10632
10647
 
@@ -13326,8 +13341,10 @@ var ImageProcessorWorkerBase = /*#__PURE__*/function () {
13326
13341
  }, {
13327
13342
  key: "getProperSpaceBetweenSlice",
13328
13343
  value: function getProperSpaceBetweenSlice(models) {
13329
- var first = models[0];
13330
- var next = models[1];
13344
+ // 取中间的两张来计算
13345
+ var center_index = Math.floor(models.length / 2);
13346
+ var first = models[center_index];
13347
+ var next = models[center_index + 1];
13331
13348
  var sliceCount = Math.max(1, Math.abs(next.instanceNum - first.instanceNum));
13332
13349
  return computeDistance(first.position, next.position) / sliceCount;
13333
13350
  }
@@ -25720,12 +25737,14 @@ var dicomSettingHotKeyDic = [{
25720
25737
  }];
25721
25738
  var hotKeyIsOpen = window.localStorage.getItem('hellfire-hotkey-open') || 'open';
25722
25739
  var dicomBasicInfoFrom = window.localStorage.getItem('hellfire-dicom-basic-info-from') || 'dicom';
25740
+ var cacheMaxSize = window.localStorage.getItem('hellfire-image-cache-max-size') || '1';
25723
25741
  var customDicomSetting = {
25724
25742
  leftMouseTool: 'Wwwc',
25725
25743
  rightMouseTool: 'Zoom',
25726
25744
  middleMouseTool: 'Pan',
25727
25745
  hotKeyIsOpen: hotKeyIsOpen,
25728
- dicomBasicInfoFrom: dicomBasicInfoFrom
25746
+ dicomBasicInfoFrom: dicomBasicInfoFrom,
25747
+ cacheMaxSize: cacheMaxSize
25729
25748
  };
25730
25749
 
25731
25750
  var saveCustomDicomSetting = function saveCustomDicomSetting() {
@@ -30563,7 +30582,15 @@ function _createImage$2() {
30563
30582
  var isMobileTablet = ua.isDeviceTypeMobileOrTablet();
30564
30583
 
30565
30584
  if (!isMobileTablet) {
30566
- cornerstone.imageCache.setMaximumSizeBytes(1024 * 1024 * 1024 * 1);
30585
+ var cacheMaxSize$1 = window.localStorage.getItem('hellfire-image-cache-max-size') || '1';
30586
+
30587
+ var _cacheMaxSize = parseFloat(cacheMaxSize$1);
30588
+
30589
+ if (!_cacheMaxSize || isNaN(_cacheMaxSize)) {
30590
+ cornerstone.imageCache.setMaximumSizeBytes(1024 * 1024 * 1024 * 1);
30591
+ } else {
30592
+ cornerstone.imageCache.setMaximumSizeBytes(1024 * 1024 * 1024 * _cacheMaxSize);
30593
+ }
30567
30594
  }
30568
30595
 
30569
30596
  cornerstoneTools.external.cornerstone = cornerstone;
@@ -44901,13 +44928,17 @@ var mapStateToProps$c = function mapStateToProps(state) {
44901
44928
  CPR = _state$paladin$tools$.CPR,
44902
44929
  MPR = _state$paladin$tools$.MPR,
44903
44930
  MIP = _state$paladin$tools$.MIP,
44904
- VR = _state$paladin$tools$.VR;
44931
+ VR = _state$paladin$tools$.VR,
44932
+ activeTool = _state$paladin$tools$.activeTool,
44933
+ originNo3DActiveTool = _state$paladin$tools$.originNo3DActiveTool;
44905
44934
  return {
44906
44935
  currentSeries: currentSeries,
44907
44936
  CPR: CPR,
44908
44937
  MPR: MPR,
44909
44938
  MIP: MIP,
44910
- VR: VR
44939
+ VR: VR,
44940
+ activeTool: activeTool,
44941
+ originNo3DActiveTool: originNo3DActiveTool
44911
44942
  };
44912
44943
  };
44913
44944
 
@@ -44919,6 +44950,16 @@ var mergeProps$c = function mergeProps(propsFromState, propsFromDispatch, ownPro
44919
44950
  VR = propsFromState.VR;
44920
44951
  return _objectSpread$B(_objectSpread$B(_objectSpread$B({}, ownProps), propsFromState), {}, {
44921
44952
  start3D: function start3D(key) {
44953
+ var isThree = MPR || VR || MIP || CPR;
44954
+
44955
+ if (!isThree) {
44956
+ // 从二维进入三维要存一下当前激活工具
44957
+ propsFromDispatch.setActionStateByKey({
44958
+ key: 'originNo3DActiveTool',
44959
+ value: propsFromState.activeTool
44960
+ });
44961
+ }
44962
+
44922
44963
  reset();
44923
44964
  Modal.create( /*#__PURE__*/React__default.createElement(ThreeDLoadingModal, {
44924
44965
  currentSeries: currentSeries,
@@ -44968,7 +45009,7 @@ var mergeProps$c = function mergeProps(propsFromState, propsFromDispatch, ownPro
44968
45009
  },
44969
45010
  exit3D: function exit3D(key) {
44970
45011
  // 退出mpr 激活调窗
44971
- propsFromDispatch.setActiveTool('Wwwc');
45012
+ propsFromDispatch.setActiveTool(propsFromState.originNo3DActiveTool || 'Wwwc');
44972
45013
 
44973
45014
  if (key === 'Surgery') {
44974
45015
  propsFromDispatch.activeDicomFunction('Surgery');
@@ -45002,7 +45043,8 @@ var mergeProps$c = function mergeProps(propsFromState, propsFromDispatch, ownPro
45002
45043
  var ConnectedImageProcessTabTool = reactRedux.connect(mapStateToProps$c, {
45003
45044
  setActiveTool: setActiveTool,
45004
45045
  activeDicomFunction: activeDicomFunction,
45005
- switchMprPerspective: switchMprPerspective
45046
+ switchMprPerspective: switchMprPerspective,
45047
+ setActionStateByKey: setActionStateByKey
45006
45048
  }, mergeProps$c)(ImageProcessTabTool);
45007
45049
 
45008
45050
  var css_248z$k = ".paladin-reference-tool {\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n flex: 1;\n color: #b0b0b0;\n font-size: 12px;\n text-align: center;\n cursor: pointer;\n padding-left: 20px;\n border: 1px solid #5b5b5b;\n border-right: none;\n}\n.paladin-reference-tool:hover {\n color: #fff;\n}\n.paladin-reference-tool-active {\n color: #fff;\n background: #0d5075;\n}\n.paladin-reference-tool-more {\n padding: 0 7px;\n height: 100%;\n}\n.paladin-reference-tool-more svg {\n width: 7px !important;\n color: #c0c0c0;\n}\n.paladin-reference-tool-more:hover {\n background: #53585f;\n}\n.paladin-reference-tool-menu {\n background: #fff;\n}\n.paladin-reference-tool-menu div {\n padding: 3px 25px;\n font-size: 14px;\n color: #53585f;\n cursor: pointer;\n white-space: nowrap;\n}\n.paladin-reference-tool-menu div:hover {\n color: #fff;\n background: #777777;\n}\n.paladin-reference-tool-menu .paladin-reference-tool-menu-match {\n color: #fff;\n background: #7f8592;\n}\n";
@@ -49326,7 +49368,7 @@ function calcTargetIndex(sourceImageLength, targetElement, currentImageIdIndex)
49326
49368
  }
49327
49369
  }
49328
49370
 
49329
- var css_248z$v = ".paladin-user-setting {\n padding: 0 20px;\n margin-bottom: 30px;\n font-size: 15px;\n}\n.paladin-user-setting p {\n font-size: 16px;\n}\n.paladin-user-setting p svg {\n width: 10px;\n margin-right: 2px;\n}\n.paladin-user-setting .paladin-user-setting-remark {\n color: #d43f3a;\n margin: 10px 0 0 0;\n}\n.paladin-user-setting .paladin-user-setting-footer {\n margin-top: 15px;\n text-align: right;\n}\n.paladin-user-setting .paladin-user-setting-footer button {\n margin-left: 10px;\n}\n.paladin-user-setting .paladin-setting-radio {\n display: flex;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-label {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-item {\n display: flex;\n flex-direction: row;\n margin-right: 10px;\n align-items: center;\n justify-content: center;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-item .paladin-ipt {\n padding: 0 !important;\n margin: 0 3px 0 0 !important;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-item input {\n display: flex;\n flex-direction: column;\n width: 20px;\n height: 20px;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-item span {\n display: flex;\n flex-direction: column;\n}\n.paladin-user-setting .paladin-setting-hotkey {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n}\n.paladin-user-setting .paladin-setting-hotkey .paladin-setting-hotkey-item {\n display: flex;\n flex-direction: column;\n flex: none;\n padding: 5px 10px;\n border: 1px solid #666;\n border-radius: 3px;\n margin-right: 10px;\n margin-bottom: 10px;\n}\n";
49371
+ var css_248z$v = ".paladin-user-setting {\n padding: 0 20px;\n margin-bottom: 30px;\n font-size: 15px;\n}\n.paladin-user-setting p {\n font-size: 16px;\n}\n.paladin-user-setting p svg {\n width: 10px;\n margin-right: 2px;\n}\n.paladin-user-setting .paladin-user-setting-remark {\n color: #d43f3a;\n margin: 10px 0 0 0;\n}\n.paladin-user-setting .paladin-user-setting-footer {\n margin-top: 15px;\n text-align: right;\n}\n.paladin-user-setting .paladin-user-setting-footer button {\n margin-left: 10px;\n}\n.paladin-user-setting .paladin-setting-radio {\n display: flex;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-label {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-item {\n display: flex;\n flex-direction: row;\n margin-right: 10px;\n align-items: center;\n justify-content: center;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-item .paladin-ipt {\n padding: 0 !important;\n margin: 0 3px 0 0 !important;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-item input {\n display: flex;\n flex-direction: column;\n width: 20px;\n height: 20px;\n}\n.paladin-user-setting .paladin-setting-radio .paladin-setting-radio-item span {\n display: flex;\n flex-direction: column;\n}\n.paladin-user-setting .paladin-setting-hotkey {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n}\n.paladin-user-setting .paladin-setting-hotkey .paladin-setting-hotkey-item {\n display: flex;\n flex-direction: column;\n flex: none;\n padding: 5px 10px;\n border: 1px solid #666;\n border-radius: 3px;\n margin-right: 10px;\n margin-bottom: 10px;\n}\n.paladin-user-setting .paladin-setting-cache .paladin-ipt {\n width: 70px;\n display: inline-block;\n text-align: center;\n}\n.paladin-user-setting .paladin-setting-cache .paladin-setting-cache-unit {\n font-weight: bold;\n margin-left: 2px;\n}\n.paladin-user-setting .paladin-setting-cache-info {\n margin-top: 4px;\n font-size: 13px;\n}\n";
49330
49372
  styleInject$1(css_248z$v);
49331
49373
 
49332
49374
  function _extends$1t() { _extends$1t = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1t.apply(this, arguments); }
@@ -49363,9 +49405,15 @@ var UserSettingModal = /*#__PURE__*/function (_Component) {
49363
49405
  _this = _super.call(this, props);
49364
49406
 
49365
49407
  defineProperty(assertThisInitialized(_this), "handleSave", function () {
49408
+ if (!_this.state.cacheMaxSize || _this.state.cacheMaxSize < 0.5 || _this.state.cacheMaxSize > 2) {
49409
+ message.error('缓存大小范围为 0.5 ~ 2G');
49410
+ return;
49411
+ }
49412
+
49366
49413
  var dicomSettingChange = _this.props.dicomSettingChange;
49367
49414
  window.localStorage.setItem('hellfire-hotkey-open', _this.state.hotKeyIsOpen);
49368
49415
  window.localStorage.setItem('hellfire-dicom-basic-info-from', _this.state.dicomBasicInfoFrom);
49416
+ window.localStorage.setItem('hellfire-image-cache-max-size', _this.state.cacheMaxSize);
49369
49417
 
49370
49418
  if (dicomSettingChange) {
49371
49419
  dicomSettingChange && dicomSettingChange({
@@ -49396,7 +49444,8 @@ var UserSettingModal = /*#__PURE__*/function (_Component) {
49396
49444
  rightMouseTool = _this$state.rightMouseTool,
49397
49445
  middleMouseTool = _this$state.middleMouseTool,
49398
49446
  hotKeyIsOpen = _this$state.hotKeyIsOpen,
49399
- dicomBasicInfoFrom = _this$state.dicomBasicInfoFrom;
49447
+ dicomBasicInfoFrom = _this$state.dicomBasicInfoFrom,
49448
+ cacheMaxSize = _this$state.cacheMaxSize;
49400
49449
  var close = this.props.close;
49401
49450
  return /*#__PURE__*/React__default.createElement("div", {
49402
49451
  className: 'paladin-user-setting'
@@ -49522,7 +49571,27 @@ var UserSettingModal = /*#__PURE__*/function (_Component) {
49522
49571
  className: 'paladin-setting-hotkey-item',
49523
49572
  key: "setting-hotkey-".concat(index)
49524
49573
  }, value.label, "(", value.hotkey, ")");
49525
- })), /*#__PURE__*/React__default.createElement("div", {
49574
+ })), /*#__PURE__*/React__default.createElement("p", {
49575
+ style: {
49576
+ marginTop: '30px'
49577
+ }
49578
+ }, /*#__PURE__*/React__default.createElement(SvgCertificate, null), "\u7F13\u5B58\u5927\u5C0F\u8BBE\u7F6E\uFF1A"), /*#__PURE__*/React__default.createElement("div", {
49579
+ className: 'paladin-setting-cache'
49580
+ }, /*#__PURE__*/React__default.createElement(Input$1, {
49581
+ type: "number",
49582
+ value: cacheMaxSize,
49583
+ min: 0,
49584
+ max: 2,
49585
+ onChange: function onChange(e) {
49586
+ _this2.setState({
49587
+ cacheMaxSize: e.target.value
49588
+ });
49589
+ }
49590
+ }), /*#__PURE__*/React__default.createElement("span", {
49591
+ className: 'paladin-setting-cache-unit'
49592
+ }, " G")), /*#__PURE__*/React__default.createElement("div", {
49593
+ className: 'paladin-setting-cache-info'
49594
+ }, "\u7535\u8111\u5185\u5B5816G\u63A8\u8350\u8BBE\u7F6E2G\uFF1B8G\u63A8\u8350\u8BBE\u7F6E1G\uFF1B4G\u63A8\u8350\u8BBE\u7F6E0.5G"), /*#__PURE__*/React__default.createElement("div", {
49526
49595
  className: 'paladin-user-setting-remark'
49527
49596
  }, "\u6CE8\uFF1A\u4FDD\u5B58\u540E\u4F1A\u81EA\u52A8\u5237\u65B0\u9875\u9762"), /*#__PURE__*/React__default.createElement("div", {
49528
49597
  className: 'paladin-user-setting-footer'
@@ -49820,9 +49889,15 @@ var UserSettingModalEn = /*#__PURE__*/function (_Component) {
49820
49889
  _this = _super.call(this, props);
49821
49890
 
49822
49891
  defineProperty(assertThisInitialized(_this), "handleSave", function () {
49892
+ if (!_this.state.cacheMaxSize || _this.state.cacheMaxSize < 0.5 || _this.state.cacheMaxSize > 2) {
49893
+ message.error('Size Range in 0.5 ~ 2G');
49894
+ return;
49895
+ }
49896
+
49823
49897
  var dicomSettingChange = _this.props.dicomSettingChange;
49824
49898
  window.localStorage.setItem('hellfire-hotkey-open', _this.state.hotKeyIsOpen);
49825
49899
  window.localStorage.setItem('hellfire-dicom-basic-info-from', _this.state.dicomBasicInfoFrom);
49900
+ window.localStorage.setItem('hellfire-image-cache-max-size', _this.state.cacheMaxSize);
49826
49901
 
49827
49902
  if (dicomSettingChange) {
49828
49903
  dicomSettingChange && dicomSettingChange({
@@ -49853,7 +49928,8 @@ var UserSettingModalEn = /*#__PURE__*/function (_Component) {
49853
49928
  rightMouseTool = _this$state.rightMouseTool,
49854
49929
  middleMouseTool = _this$state.middleMouseTool,
49855
49930
  hotKeyIsOpen = _this$state.hotKeyIsOpen,
49856
- dicomBasicInfoFrom = _this$state.dicomBasicInfoFrom;
49931
+ dicomBasicInfoFrom = _this$state.dicomBasicInfoFrom,
49932
+ cacheMaxSize = _this$state.cacheMaxSize;
49857
49933
  var close = this.props.close;
49858
49934
  return /*#__PURE__*/React__default.createElement("div", {
49859
49935
  className: 'paladin-user-setting'
@@ -49979,7 +50055,27 @@ var UserSettingModalEn = /*#__PURE__*/function (_Component) {
49979
50055
  className: 'paladin-setting-hotkey-item',
49980
50056
  key: "setting-hotkey-".concat(index)
49981
50057
  }, value.label_en, "(", value.hotkey, ")");
49982
- })), /*#__PURE__*/React__default.createElement("div", {
50058
+ })), /*#__PURE__*/React__default.createElement("p", {
50059
+ style: {
50060
+ marginTop: '30px'
50061
+ }
50062
+ }, /*#__PURE__*/React__default.createElement(SvgCertificate, null), "Cache Max Size\uFF1A"), /*#__PURE__*/React__default.createElement("div", {
50063
+ className: 'paladin-setting-cache'
50064
+ }, /*#__PURE__*/React__default.createElement(Input$1, {
50065
+ type: "number",
50066
+ value: cacheMaxSize,
50067
+ min: 0,
50068
+ max: 2,
50069
+ onChange: function onChange(e) {
50070
+ _this2.setState({
50071
+ cacheMaxSize: e.target.value
50072
+ });
50073
+ }
50074
+ }), /*#__PURE__*/React__default.createElement("span", {
50075
+ className: 'paladin-setting-cache-unit'
50076
+ }, " G")), /*#__PURE__*/React__default.createElement("div", {
50077
+ className: 'paladin-setting-cache-info'
50078
+ }, "Device Memory 16G Recommend Setting 2G\uFF1B8G Recommend Setting 1G\uFF1B4G Recommend Setting 0.5G"), /*#__PURE__*/React__default.createElement("div", {
49983
50079
  className: 'paladin-user-setting-remark'
49984
50080
  }, "Note: The page will refresh automatically after saving."), /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Button, {
49985
50081
  onClick: this.props.toggleFilmPrinterEntrance
@@ -50066,7 +50162,8 @@ var mapStateToProps$p = function mapStateToProps(state) {
50066
50162
  keyImages = _state$paladin$tools$3.keyImages,
50067
50163
  displayShutter = _state$paladin$tools$3.displayShutter,
50068
50164
  Fusion = _state$paladin$tools$3.Fusion,
50069
- showFilmPrinterEntrance = _state$paladin$tools$3.showFilmPrinterEntrance;
50165
+ showFilmPrinterEntrance = _state$paladin$tools$3.showFilmPrinterEntrance,
50166
+ originNo3DActiveTool = _state$paladin$tools$3.originNo3DActiveTool;
50070
50167
  var isMobile = ua.isDeviceTypeMobile();
50071
50168
  var _state$paladin$viewpo = state.paladin.viewport,
50072
50169
  activeIndex = _state$paladin$viewpo.activeIndex,
@@ -50191,7 +50288,8 @@ var mapStateToProps$p = function mapStateToProps(state) {
50191
50288
  fusionPetColorMap: fusionPetColorMap,
50192
50289
  fusionPetSUV: fusionPetSUV,
50193
50290
  showFilmPrinterEntrance: showFilmPrinterEntrance,
50194
- language: language
50291
+ language: language,
50292
+ originNo3DActiveTool: originNo3DActiveTool
50195
50293
  };
50196
50294
  };
50197
50295
 
@@ -50518,6 +50616,16 @@ var mergeProps$p = function mergeProps(propsFromState, propsFromDispatch, ownPro
50518
50616
  // scroll重置、激活十字定位线、重置mpr视角
50519
50617
  // 先校验mpr是否可以加载 通过后再进入mpr、vr界面、手术路径规划
50520
50618
  start3D: function start3D(key) {
50619
+ var isThree = MPR || VR || MIP || CPR;
50620
+
50621
+ if (!isThree) {
50622
+ // 从二维进入三维要存一下当前激活工具
50623
+ propsFromDispatch.setActionStateByKey({
50624
+ key: 'originNo3DActiveTool',
50625
+ value: propsFromState.activeTool
50626
+ });
50627
+ }
50628
+
50521
50629
  reset();
50522
50630
  Modal.create( /*#__PURE__*/React__default.createElement(ThreeDLoadingModal, {
50523
50631
  currentSeries: currentSeries,
@@ -50566,8 +50674,8 @@ var mergeProps$p = function mergeProps(propsFromState, propsFromDispatch, ownPro
50566
50674
  });
50567
50675
  },
50568
50676
  exit3D: function exit3D(key) {
50569
- // 退出mpr 激活调窗
50570
- propsFromDispatch.setActiveTool('Wwwc');
50677
+ // 退出mpr
50678
+ propsFromDispatch.setActiveTool(propsFromState.originNo3DActiveTool || 'Wwwc');
50571
50679
 
50572
50680
  if (key === 'Surgery') {
50573
50681
  propsFromDispatch.activeDicomFunction('Surgery');
@@ -51405,7 +51513,8 @@ var ConnectedDicomTool = reactRedux.connect(mapStateToProps$p, {
51405
51513
  closeGlobalLoading: closeGlobalLoading,
51406
51514
  toggleDisplayShutter: toggleDisplayShutter,
51407
51515
  setFusionReduxValue: setFusionReduxValue,
51408
- toggleFilmPrinterEntrance: toggleFilmPrinterEntrance
51516
+ toggleFilmPrinterEntrance: toggleFilmPrinterEntrance,
51517
+ setActionStateByKey: setActionStateByKey
51409
51518
  }, mergeProps$p)(DicomTool);
51410
51519
 
51411
51520
  function _extends$1u() { _extends$1u = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1u.apply(this, arguments); }
@@ -53982,6 +54091,7 @@ var DicomViewport = /*#__PURE__*/function (_Component) {
53982
54091
  });
53983
54092
 
53984
54093
  defineProperty(assertThisInitialized(_this), "onContextMenu", function (event) {
54094
+ _this.props.onContextMenu && _this.props.onContextMenu(event);
53985
54095
  event.preventDefault();
53986
54096
  });
53987
54097
 
@@ -55787,6 +55897,25 @@ var DicomLayout = /*#__PURE__*/function (_Component) {
55787
55897
  _this.props.changeTaskPoolPriority && _this.props.changeTaskPoolPriority(seriesInstanceUID);
55788
55898
  });
55789
55899
 
55900
+ defineProperty(assertThisInitialized(_this), "handleContextMenu", function (e, index) {
55901
+ e.persist();
55902
+
55903
+ if (isMobile$4) {
55904
+ return;
55905
+ }
55906
+
55907
+ var currentTime = new Date().getTime();
55908
+ var timeSinceLastClick = currentTime - _this.lastRightClickTime;
55909
+
55910
+ if (timeSinceLastClick < 500) {
55911
+ var series = _this.props.series;
55912
+ _this.props.onViewPortDoubleClick && _this.props.onViewPortDoubleClick(index, series[index], true);
55913
+ _this.lastRightClickTime = 0;
55914
+ } else {
55915
+ _this.lastRightClickTime = currentTime;
55916
+ }
55917
+ });
55918
+
55790
55919
  defineProperty(assertThisInitialized(_this), "handleViewPortClick", function (e, index) {
55791
55920
  e.persist();
55792
55921
  var _this$props3 = _this.props,
@@ -55867,6 +55996,8 @@ var DicomLayout = /*#__PURE__*/function (_Component) {
55867
55996
 
55868
55997
  _this.clickCount = 0; // 点击次数 判断单双击
55869
55998
 
55999
+ _this.lastRightClickTime = 0; // 右键
56000
+
55870
56001
  _this.clientX = 0; // 上一次点击的记录
55871
56002
 
55872
56003
  _this.clientY = 0; // 上一次点击的记录
@@ -55976,6 +56107,9 @@ var DicomLayout = /*#__PURE__*/function (_Component) {
55976
56107
  onClick: function onClick(e) {
55977
56108
  _this2.handleViewPortClick(e, index);
55978
56109
  },
56110
+ onContextMenu: function onContextMenu(e) {
56111
+ _this2.handleContextMenu(e, index);
56112
+ },
55979
56113
  onMouseWheel: _this2.onMouseWheel,
55980
56114
  handleCtrlSelect: handleCtrlSelect,
55981
56115
  setViewportState: handleViewportState,
@@ -56115,7 +56249,7 @@ var mergeProps$r = function mergeProps(propsFromState, propsFromDispatch, ownPro
56115
56249
  showVerticalScroll: showVerticalScroll,
56116
56250
  linkedIndexArr: linkSeriesIndex,
56117
56251
  showCustomScroll: !isMobile,
56118
- onViewPortDoubleClick: function onViewPortDoubleClick(index, series) {
56252
+ onViewPortDoubleClick: function onViewPortDoubleClick(index, series, ignoreLengthTool) {
56119
56253
  /** 双击
56120
56254
  * - 切换 自定义布局 or 1*1布局
56121
56255
  * - 移动端不响应
@@ -56126,7 +56260,7 @@ var mergeProps$r = function mergeProps(propsFromState, propsFromDispatch, ownPro
56126
56260
  return;
56127
56261
  }
56128
56262
 
56129
- if (lodash$1.includes(LengthTools, propsFromState.activeTool)) {
56263
+ if (lodash$1.includes(LengthTools, propsFromState.activeTool) && !ignoreLengthTool) {
56130
56264
  return;
56131
56265
  }
56132
56266
 
@@ -56201,7 +56335,11 @@ var mergeProps$r = function mergeProps(propsFromState, propsFromDispatch, ownPro
56201
56335
  },
56202
56336
  // 滚动的捕获 触发task-pool的排序
56203
56337
  changeTaskPoolPriority: function changeTaskPoolPriority(uid) {
56204
- changePriorityBySeries(uid);
56338
+ var series = ownProps.series;
56339
+ var selectSeries = lodash$1.find(series, {
56340
+ seriesInstanceUID: uid
56341
+ });
56342
+ changePriorityBySeries(uid, selectSeries);
56205
56343
  },
56206
56344
  // 主界面垂直滚动 修改scrollLine 和 current
56207
56345
  customScrollPan: function customScrollPan(value) {