cnhis-design-vue 3.1.34-beta.9 → 3.1.35-beta.1

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.
Files changed (60) hide show
  1. package/es/components/big-table/index.d.ts +1 -41
  2. package/es/components/big-table/src/BigTable.vue.d.ts +1 -41
  3. package/es/components/big-table/src/BigTable.vue2.js +22 -561
  4. package/es/components/big-table/src/components/edit-form/edit-select.js +26 -18
  5. package/es/components/big-table/src/components/edit-form/useCommon.d.ts +1 -1
  6. package/es/components/big-table/src/hooks/useEvent.js +20 -2
  7. package/es/components/big-table/src/hooks/useFormat.js +1 -1
  8. package/es/components/big-table/style/index.css +1 -1
  9. package/es/components/fabric-chart/src/hooks/useCenter.js +132 -58
  10. package/es/components/fabric-chart/src/hooks/useLeft.js +8 -5
  11. package/es/components/fabric-chart/src/hooks/useTemperatureChart.js +2 -1
  12. package/es/components/fabric-chart/src/utils/utils.d.ts +8 -6
  13. package/es/components/fabric-chart/src/utils/utils.js +10 -13
  14. package/es/components/form-config/index.d.ts +26 -8
  15. package/es/components/form-config/src/FormConfig.vue.d.ts +26 -8
  16. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +4 -4
  17. package/es/components/form-config/src/components/FormConfigDragDisplay.vue.js +1 -0
  18. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +14 -4
  19. package/es/components/form-config/src/hooks/useConfigurationField.js +7 -1
  20. package/es/components/form-config/src/types/index.d.ts +1 -0
  21. package/es/components/form-render/index.d.ts +4 -4
  22. package/es/components/form-render/src/FormRender.vue.d.ts +4 -4
  23. package/es/components/form-render/src/FormRender.vue.js +15 -5
  24. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +4 -4
  25. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  26. package/es/components/form-render/src/components/renderer/formItem.js +22 -5
  27. package/es/components/form-render/src/components/renderer/jsonCombination/hooks/useDeepValidate.js +8 -8
  28. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +15 -0
  29. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.js +11 -2
  30. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +15 -0
  31. package/es/components/form-render/src/components/tooltipMessage.vue.d.ts +13 -0
  32. package/es/components/form-render/src/components/tooltipMessage.vue.js +37 -0
  33. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +3 -2
  34. package/es/components/form-render/src/types/fieldItem.d.ts +8 -0
  35. package/es/components/form-render/src/utils/dom.d.ts +8 -2
  36. package/es/components/form-render/src/utils/dom.js +13 -6
  37. package/es/components/form-render/style/index.css +1 -1
  38. package/es/components/iho-table/src/IhoTable.vue.js +7 -3
  39. package/es/components/iho-table/src/constants/index.d.ts +4 -0
  40. package/es/components/iho-table/src/constants/index.js +6 -1
  41. package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +11 -9
  42. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +1 -3
  43. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +33 -5
  44. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.js +2 -2
  45. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +19 -2
  46. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +5 -9
  47. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
  48. package/es/components/iho-table/src/plugins/virtualTreePlugin/index.js +23 -23
  49. package/es/components/iho-table/src/types/index.d.ts +2 -0
  50. package/es/components/iho-table/src/utils/index.d.ts +3 -1
  51. package/es/components/iho-table/src/utils/index.js +1 -1
  52. package/es/components/index.css +1 -1
  53. package/es/components/keyboard/index.d.ts +5 -4
  54. package/es/components/keyboard/src/Keyboard.vue.d.ts +5 -4
  55. package/es/components/keyboard/src/components/NumberPanel.vue.d.ts +1 -0
  56. package/es/components/keyboard/src/components/NumberPanel.vue.js +3 -2
  57. package/es/components/keyboard/style/index.css +1 -1
  58. package/es/components/shortcut-setter/index.d.ts +6 -4
  59. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +6 -4
  60. package/package.json +2 -2
@@ -37,6 +37,7 @@ var EditSelect = defineComponent({
37
37
  const state = reactive({
38
38
  keyupValue: attrs.value,
39
39
  options: [],
40
+ filterOptions: [],
40
41
  loading: false,
41
42
  keyword: "",
42
43
  config: {
@@ -46,10 +47,8 @@ var EditSelect = defineComponent({
46
47
  });
47
48
  const setOptions = async () => {
48
49
  if (props.col.options) {
49
- state.options = JSON.parse(JSON.stringify(props.col.options));
50
- if (!state.keyupValue && state.options.length) {
51
- state.keyupValue = state.options[0].value;
52
- }
50
+ state.options = XEUtils.clone(props.col.options);
51
+ state.filterOptions = XEUtils.clone(props.col.options);
53
52
  } else {
54
53
  `${props.col.columnName}_options`;
55
54
  const obj = {
@@ -60,8 +59,8 @@ var EditSelect = defineComponent({
60
59
  };
61
60
  state.options = await props.col.queryOptions(obj);
62
61
  state.loading = false;
63
- emit("setOptions", state.options);
64
62
  }
63
+ emit("setOptions", state.options);
65
64
  };
66
65
  let selectSearch = (value) => {
67
66
  state.keyword = value;
@@ -70,6 +69,7 @@ var EditSelect = defineComponent({
70
69
  };
71
70
  selectSearch = XEUtils.debounce(selectSearch, 800);
72
71
  const onUpdateValue = (value) => {
72
+ state.keyupValue = value;
73
73
  emit("formChange", {
74
74
  value,
75
75
  row: props.row,
@@ -80,6 +80,13 @@ var EditSelect = defineComponent({
80
80
  const init = () => {
81
81
  if (props.col.options) {
82
82
  setOptions();
83
+ state.config.onSearch = (value) => {
84
+ var _a, _b, _c;
85
+ const filterOptions = ((_c = (_b = (_a = formRef == null ? void 0 : formRef.value) == null ? void 0 : _a.treeMate) == null ? void 0 : _b.treeNodes) == null ? void 0 : _c.map((item) => item.rawNode)) || XEUtils.clone(props.col.options);
86
+ state.filterOptions = filterOptions;
87
+ props.row[`${props.col.columnName}_filter_options`] = state.filterOptions;
88
+ props.row[`${props.col.columnName}_is_key_arrow`] = false;
89
+ };
83
90
  } else {
84
91
  state.config.remote = true;
85
92
  state.config.onSearch = selectSearch;
@@ -87,28 +94,30 @@ var EditSelect = defineComponent({
87
94
  }
88
95
  };
89
96
  function onKeyup(event) {
97
+ var _a, _b, _c, _d;
90
98
  const {
91
99
  key
92
100
  } = event;
93
101
  if (state.config.multiple || !["ArrowUp", "ArrowDown"].includes(key))
94
102
  return;
95
- let index = state.options.findIndex((item) => item.value === state.keyupValue);
96
- if (!~index)
97
- return;
98
- const length = state.options.length;
103
+ props.row[`${props.col.columnName}_is_key_arrow`] = true;
104
+ if (!state.keyupValue)
105
+ state.keyupValue = (_b = (_a = state.filterOptions) == null ? void 0 : _a[0]) == null ? void 0 : _b.value;
106
+ let index = state.filterOptions.findIndex((item) => item.value === state.keyupValue);
107
+ if (!~index) {
108
+ state.keyupValue = (_d = (_c = state.filterOptions) == null ? void 0 : _c[0]) == null ? void 0 : _d.value;
109
+ index = 0;
110
+ }
111
+ const length = state.filterOptions.length;
99
112
  if (key === "ArrowUp") {
100
- index = index === 0 ? length - 1 : index - 1;
113
+ index = index - 1 === -1 ? length - 1 : index - 1;
101
114
  }
102
115
  if (key === "ArrowDown") {
103
- index = index === length - 1 ? 0 : index + 1;
116
+ index = index + 1 === length ? 0 : index + 1;
104
117
  }
105
- state.keyupValue = state.options[index].value;
118
+ state.keyupValue = state.filterOptions[index].value;
106
119
  onUpdateValue(state.keyupValue);
107
120
  }
108
- function onBlur() {
109
- var _a, _b;
110
- onUpdateValue((_b = (_a = state.options) == null ? void 0 : _a[0]) == null ? void 0 : _b.value);
111
- }
112
121
  init();
113
122
  return () => createVNode(NSelect, mergeProps({
114
123
  "ref": formRef,
@@ -122,8 +131,7 @@ var EditSelect = defineComponent({
122
131
  "placeholder": props.col.placeholder || "\u8BF7\u9009\u62E9",
123
132
  "loading": state.loading,
124
133
  "onUpdateValue": onUpdateValue,
125
- "onKeyup": onKeyup,
126
- "onBlur": onBlur
134
+ "onKeyup": onKeyup
127
135
  }), null);
128
136
  }
129
137
  });
@@ -1,5 +1,5 @@
1
1
  import { AnyObject } from '../../../../../../es/shared/types';
2
2
  export declare const useCommon: (props: AnyObject, attrs: AnyObject, isTriggerClick?: boolean) => {
3
- formRef: import("vue").Ref<HTMLElement | null>;
3
+ formRef: any;
4
4
  isShow: import("vue").Ref<boolean>;
5
5
  };
@@ -4,7 +4,7 @@ import { hideFilterWrap } from '../utils.js';
4
4
 
5
5
  const useEvent = (props, state, emit, xGrid, anchorEvent) => {
6
6
  function keyDown({ $event }) {
7
- var _a, _b;
7
+ var _a, _b, _c, _d, _e;
8
8
  const { isArrow, isEnter, isChecked, isTab, isEdit } = ((_a = props.columnConfig) == null ? void 0 : _a.keyboardConfig) || {};
9
9
  let activeRow = null;
10
10
  let index = 0;
@@ -18,6 +18,24 @@ const useEvent = (props, state, emit, xGrid, anchorEvent) => {
18
18
  return;
19
19
  if (isEdit) {
20
20
  const data = xGridRef.getEditRecord() || xGridRef.getSelectedCell() || {};
21
+ const { row, column } = data;
22
+ const { fieldList = [] } = props.columnConfig;
23
+ if ($event.key === "Tab") {
24
+ const fieldItem = fieldList.find((item) => item.columnName === column.field);
25
+ const { formType = "", componentProps } = fieldItem;
26
+ const _index = (_b = row[`${column.field}_filter_options`]) == null ? void 0 : _b.findIndex((item) => item.value === row[column.field]);
27
+ if (formType === "select" && !(componentProps == null ? void 0 : componentProps.multiple) && ((_c = row[`${column.field}_filter_options`]) == null ? void 0 : _c.length) > 0 && (!row[column.field] || !row[`${column.field}_is_key_arrow`] && !~_index)) {
28
+ const oldValue = row[column.field];
29
+ row[column.field] = (_d = row[`${column.field}_filter_options`]) == null ? void 0 : _d[0].value;
30
+ emit("formChange", {
31
+ value: row[column.field],
32
+ row,
33
+ column,
34
+ index: data.rowIndex,
35
+ oldValue
36
+ });
37
+ }
38
+ }
21
39
  emit("keyboard", {
22
40
  key: $event.key,
23
41
  ...data,
@@ -29,7 +47,7 @@ const useEvent = (props, state, emit, xGrid, anchorEvent) => {
29
47
  if ($event.key === "ArrowUp" && index > 0) {
30
48
  activeIndex = index - 1;
31
49
  }
32
- if ($event.key === "ArrowDown" && index < ((_b = props.data) == null ? void 0 : _b.length) - 1) {
50
+ if ($event.key === "ArrowDown" && index < ((_e = props.data) == null ? void 0 : _e.length) - 1) {
33
51
  activeIndex = index + 1;
34
52
  }
35
53
  const row = xGridRef.getData(activeIndex);
@@ -179,7 +179,7 @@ const useFormat = (state, attr) => {
179
179
  item["foldBtnList"] = [];
180
180
  const btnLinks = [];
181
181
  if (!nobutton) {
182
- btnList.forEach((btn) => {
182
+ btnList == null ? void 0 : btnList.forEach((btn) => {
183
183
  const rowOperatorId = item.operatorColumn.find((v) => v.includes(btn.sid));
184
184
  if (rowOperatorId) {
185
185
  if (btn.isShow == "1") {
@@ -1 +1 @@
1
- .big-table-filter-wrap{background-color:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);display:flex;flex-flow:column wrap;margin-top:-6px;min-width:280px;overflow:hidden;position:fixed;transform:translateX(-2%);transition:width 2s;z-index:99998}.big-table-filter-wrap .sort-list{margin-top:6px}.big-table-filter-wrap .sort-item{align-items:center;background:#f7f7f7;display:flex;height:32px;padding:0 13px}.big-table-filter-wrap .sort-item.active,.big-table-filter-wrap .sort-item:hover{background:#f2f2f2}.big-table-filter-wrap .sort-icon{background-size:contain;display:inline-block;height:16px;width:16px}.big-table-filter-wrap .sort-text{color:rgba(0,0,0,.8);font-size:14px;line-height:32px;margin-left:11px}.big-table-filter-wrap .sort-icon-desc{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABT0lEQVRYR+3WvSuGYRTH8c9TykpJSimLMvgHpLyUCQsmg/wBMss/ILvdJgspNnkbZFYGk7JQSAaLwUuX7uFxu3E/nvvqSd3XeHW6zvec65zfORUNPpUG+1cClBnIysABhiMV5y4mqt/OAliPCHCImd8AIgWf/WzMIhzFK/Z/iigWQAtuE4A2PH0HEQugG5eJ005clwBlBmrJwDwGcorBNjYybOsqwit05QQ4R1/RAB3oqQHgoWiAnL5/NKvrC/4tQBNacYesDAR5fkxHV6QU72EQczhNSfE4VpOOmY01jsOyMYYXLGElcbSIZT4W4C1MxQIIUy9sU1ltGXyeYQSfuua7L2jOWYnPKbt2HKE3dR/0Iqx593lq4AT9OQE2MZ2yDTpyXKUlF0lthP3gy8nKwBqGcgLsYCHDNuwAAe4Nk7ipZRbk9F2MWZFt+CeiEuAdAU5CIQxYYdUAAAAASUVORK5CYII=")}.big-table-filter-wrap .filter-header{cursor:auto;padding:5px 13px}.big-table-filter-wrap .filter-header-icon{border-right-color:#333;border-top-color:#333}.big-table-filter-wrap .filter-header-text{margin-left:11px}.big-table-filter-wrap .check-search-wrap{background:#f7f7f7;display:flex;justify-content:center;padding:8px 0;width:100%}.big-table-filter-wrap .check-seach-input{line-height:32px}.big-table-filter-wrap .checkbox-box{padding-right:3px;width:100%}.big-table-filter-wrap .checkbox-wrap{background:#fff;display:flex;flex-direction:column;overflow-y:auto;padding:0 3px 0 13px}.big-table-filter-wrap .checkbox-wrap::-webkit-scrollbar{height:4px;width:4px}.big-table-filter-wrap .checkbox-wrap::-webkit-scrollbar-thumb{background-color:#d5d5d5;border-radius:4px}.big-table-filter-wrap .checkbox-wrap::-webkit-scrollbar-track{background-color:#fff;border-radius:4px}.big-table-filter-wrap .checkbox-wrap::-webkit-scrollbar-corner{background-color:#000;border-radius:4px;width:4px}.big-table-filter-wrap .checkbox-wrap--search{padding-right:10px}.big-table-filter-wrap .checkbox-btn-wrap{display:flex;padding:9px 10px 9px 14px}.big-table-filter-wrap .checkbox-btn-wrap .checkbox-btn{padding:0;width:56px}.big-table-filter-wrap .checkbox-btn-wrap .checkbox-btn+.checkbox-btn{margin-left:8px}.big-table-filter-wrap .checkbox-btn-wrap .checkbox-btn-status .checkbox-btn{border:0;border-radius:0;margin:0 13px;position:relative;width:auto}.big-table-filter-wrap .checkbox-btn-wrap .checkbox-btn-status .checkbox-btn:hover:after{background-color:#5585f5;bottom:5px;content:"";display:block;height:1px;position:absolute;width:100%}.big-table-filter-wrap .arrows-icon{bottom:-1px;cursor:nw-resize;font-size:15px;height:20px;position:absolute;right:-1px;width:25px}.big-table__separate{padding:4px}.big-table__separatePlaceholder{display:inline-block;max-width:0;visibility:hidden;width:0;word-break:keep-all}.custom-big-table{position:relative}.custom-big-table .n-input{width:fit-content}.custom-big-table .img-wrap{align-items:center;display:flex;height:100%;line-height:1;padding:2px 0}.custom-big-table .img-wrap img{cursor:pointer;max-height:100%;object-fit:contain}.custom-big-table .img-wrap.img-circle img{border-radius:50%;object-fit:contain;width:28px}.custom-big-table .bigTable-qr-span{display:inline-block;height:100%;position:relative}.custom-big-table .bigTable-qr-span .bigTable-qr-img{max-height:96%}.custom-big-table .bigTable-qr-span>span{align-items:center;background:rgba(0,0,0,.7);color:#fff;cursor:pointer;display:none;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.custom-big-table .bigTable-qr-span:hover>span{display:inline-flex}.custom-big-table .base-form{align-items:center;display:flex;overflow:hidden!important;width:100%}.custom-big-table .base-form-content{width:100%}.custom-big-table textarea{height:32px;margin-bottom:0;resize:none}.custom-big-table .formItem-select-multiple{align-items:center;display:flex;line-height:40px;width:100%}.custom-big-table.mt{height:calc(100% - 78px)!important;margin-top:26px}.custom-big-table.expand-padding .vxe-table .vxe-body--expanded-cell{padding-left:66px!important;padding-right:66px!important}.custom-big-table th.vxe-header--column{cursor:pointer}.custom-big-table .row-btn{margin-right:10px}.custom-big-table .vxe-table{transform:translateZ(0)}.custom-big-table .vxe-table .vxe-table--empty-content,.custom-big-table .vxe-table .vxe-table--empty-content>div{height:100%;width:100%}.custom-big-table .vxe-table .vxe-table--empty-content>div .no-data-tip{display:inline-flex}.custom-big-table .vxe-table .col--checkbox .vxe-cell,.custom-big-table .vxe-table .col--seq .vxe-cell{padding:0}.custom-big-table .vxe-table .col--checkbox .vxe-cell .vxe-checkbox--label,.custom-big-table .vxe-table .col--seq .vxe-cell .vxe-checkbox--label{padding-left:0}.custom-big-table .vxe-table .vxe-cell .vxe-tree-cell{height:100%}.custom-big-table .vxe-table .scan-multi-delete{color:#f06f64}.custom-big-table .vxe-table .vxe-table--header{background-color:#f2f2f2}.custom-big-table .vxe-table .vxe-table--header .vxe-header--column .vxe-cell--title{color:#35393c;height:100%;line-height:unset}.custom-big-table .vxe-table .vxe-table--header .vxe-header--column .vxe-cell--title .header-title-span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-big-table .vxe-table .vxe-table--header .col--checkbox .vxe-cell--title,.custom-big-table .vxe-table .vxe-table--header .col--seq .vxe-cell--title{display:inline-block}.custom-big-table .vxe-table .vxe-table--body-wrapper::-webkit-scrollbar,.custom-big-table .vxe-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar{background-color:transparent;height:10px;width:10px}.custom-big-table .vxe-table .vxe-table--body-wrapper::-webkit-scrollbar-thumb,.custom-big-table .vxe-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#f2f2f2;border:3px dashed transparent;border-radius:0}.custom-big-table .vxe-table .vxe-table--body-wrapper::-webkit-scrollbar-thumb:hover,.custom-big-table .vxe-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar-thumb:hover{background:#b2b2b2}.custom-big-table .vxe-table .vxe-footer--row .vxe-footer--column>.vxe-cell .vxe-cell--item{height:30px;line-height:30px}.custom-big-table .vxe-table .vxe-cell--checkbox .vxe-checkbox--label{display:none}.custom-big-table .filter-box{align-items:center;display:flex;width:100%}.custom-big-table .filter-box .text-over-tooltip-components{max-width:calc(100% - 40px)}.custom-big-table .filter-box .vxe-filter--btn{border-right-color:#c0c4cc;border-top-color:#c0c4cc}.custom-big-table .filter-box .vxe-filter--btn.active{border-right-color:#35393c;border-top-color:#35393c}.custom-big-table .filter-box .vxe-filter--btn.checked{border-right-color:#5585f5;border-top-color:#5585f5}.custom-big-table .disabled-checked-tips{background:#fff;border:2px solid #ff1818;border-radius:50%;bottom:0;box-sizing:border-box;height:16px;margin-top:-8px;overflow:hidden;position:absolute;right:0;top:50%;width:16px}.custom-big-table .disabled-checked-tips:after{background-color:#ff1818;content:"";height:2px;left:0;position:absolute;top:0;transform:rotate(45deg);transform-origin:0 2px;width:16px}.custom-big-table .form-select-table .n-base-select-menu__empty{display:none}.custom-big-table .percent-wrap{align-items:center;display:flex;flex-direction:column;justify-content:center;text-align:center}.custom-big-table .percent-wrap .percent-value{line-height:1;margin-bottom:-4px;margin-top:4px}.custom-big-table .refresh{align-items:center;background-color:#fff;border-bottom-left-radius:14px;border-top-left-radius:14px;box-shadow:0 2px 4px 0 hsla(0,0%,42%,.13);color:#5585f5;cursor:pointer;display:flex;font-size:12px;height:27px;padding-left:14px;padding-right:14px;position:absolute;right:0;top:6px;z-index:1}.custom-big-table .refresh-row{margin-bottom:0;margin-left:3px}.custom-big-table .check-wrap{background:#ffffe9;display:flex;justify-content:center;line-height:26px;margin-top:-26px;position:absolute;width:100%}.custom-big-table .check-wrap .check-wrap-btn,.custom-big-table .check-wrap .check-wrap-title{color:#000;cursor:pointer;font-size:12px;margin-bottom:0}.custom-big-table .check-wrap .check-wrap-btn{color:#5585f5}.custom-big-table .domPropsInnerHTML-span{height:100%}.custom-big-table .domPropsInnerHTML-span img{display:inline-block;height:var(--table-image-height);width:var(--table-image-width)}.custom-big-table .domPropsInnerHTML-span .icon-dot-custom{background:var(--table-icon-color);border-radius:50%;box-shadow:0 2px 4px 0 var(--table-icon-shadow);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-red{background:red;border-radius:50%;box-shadow:0 2px 4px 0 rgba(255,0,0,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-blue{background:blue;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0,0,255,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-green{background:green;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0,128,0,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-gray{background:gray;border-radius:50%;box-shadow:0 2px 4px 0 hsla(0,0%,50%,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-yellow{background:#ff0;border-radius:50%;box-shadow:0 2px 4px 0 rgba(255,255,0,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-resolved{background:#36be8c;border-radius:50%;box-shadow:0 2px 4px 0 rgba(54,190,140,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-huifu{background:#42d0f6;border-radius:50%;box-shadow:0 2px 4px 0 rgba(66,208,246,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-close{background:#718391;border-radius:50%;box-shadow:0 2px 4px 0 rgba(113,131,145,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-audit{background:#f4ba32;border-radius:50%;box-shadow:0 2px 4px 0 rgba(244,186,50,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-design{background:#927ce1;border-radius:50%;box-shadow:0 2px 4px 0 rgba(146,124,225,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-develop{background:#4eb0ef;border-radius:50%;box-shadow:0 2px 4px 0 rgba(78,176,239,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-develop-complete{background:#6381f9;border-radius:50%;box-shadow:0 2px 4px 0 rgba(99,129,249,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .vxe-table--render-default .vxe-table--fixed-left-wrapper.scrolling--middle{box-shadow:7px 0 8px -3px rgba(0,0,0,.15)}.custom-big-table .vxe-table--render-default .vxe-table--fixed-right-wrapper.scrolling--middle{box-shadow:-7px 0 8px -3px rgba(0,0,0,.15)}.custom-big-table .vxe-table--render-default.size--mini{font-size:14px}.custom-big-table .vxe-table--render-default .vxe-body--expanded-column,.custom-big-table .vxe-table--render-default .vxe-table--border-line{border-color:#d5d5d599}.custom-big-table .vxe-table--render-default .vxe-table--footer-wrapper{border-top-color:#d5d5d599}.custom-big-table .vxe-table--render-default.border--default .vxe-body--column,.custom-big-table .vxe-table--render-default.border--default .vxe-footer--column,.custom-big-table .vxe-table--render-default.border--default .vxe-header--column,.custom-big-table .vxe-table--render-default.border--inner .vxe-body--column,.custom-big-table .vxe-table--render-default.border--inner .vxe-footer--column,.custom-big-table .vxe-table--render-default.border--inner .vxe-header--column{background-image:linear-gradient(#d5d5d599,#d5d5d599)}.custom-big-table .vxe-table--render-default.border--full .vxe-body--column,.custom-big-table .vxe-table--render-default.border--full .vxe-footer--column,.custom-big-table .vxe-table--render-default.border--full .vxe-header--column{background-image:linear-gradient(#d5d5d599,#d5d5d599),linear-gradient(#d5d5d599,#d5d5d599)}.custom-big-table .vxe-table--render-default.border--full .vxe-table--fixed-left-wrapper .vxe-body--column{border-right-color:#d5d5d599}.custom-big-table .vxe-table--render-default.border--default .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.custom-big-table .vxe-table--render-default.border--full .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.custom-big-table .vxe-table--render-default.border--inner .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.custom-big-table .vxe-table--render-default.border--outer .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter{background-image:linear-gradient(#d5d5d599,#d5d5d599)}.custom-big-table .vxe-table--render-default.border--default .vxe-table--header-wrapper .vxe-table--header-border-line,.custom-big-table .vxe-table--render-default.border--full .vxe-table--header-wrapper .vxe-table--header-border-line,.custom-big-table .vxe-table--render-default.border--inner .vxe-table--header-wrapper .vxe-table--header-border-line,.custom-big-table .vxe-table--render-default.border--outer .vxe-table--header-wrapper .vxe-table--header-border-line{border-bottom-color:#d5d5d599}.custom-big-table .vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--icon{color:#d5d5d5;font-weight:400}.annotation-edit{align-items:center;color:#0067ee;cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:#ff9828}.annotation-edit__icon{align-items:center;display:inline-flex}.no-data-tip{align-items:center;color:#333;display:flex;flex-direction:column;font-size:22px;height:100%;justify-content:center;width:100%}.no-data-tip>img{max-width:70%;width:260px}.no-data-tip>p{color:rgba(0,0,0,.8);font-size:16px;margin-bottom:0;margin-top:12px}.no-data-tip>span{color:rgba(0,0,0,.4);font-size:14px;margin-top:6px}.text-over-tooltip-components{display:inline-block;max-width:98%}.text-over-tooltip-components .ellipsis{color:#35393c;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-over-tooltip-components .ellipsis i{font-style:normal;white-space:nowrap;word-break:keep-all}.text-over-tooltip-components .fs20{color:green;font-size:20px;font-weight:600;line-height:22px}.text-over-tooltip-components .fs12{color:orange;font-size:12px;font-weight:400;line-height:14px}.svg-icon{fill:currentcolor;height:1em;overflow:hidden;vertical-align:-.15em;width:1em}.vxe-header--column [annotation-hover-show=true]{visibility:hidden}.vxe-header--column:hover [annotation-hover-show=true]{visibility:visible}.big-table__annotationWrapper{align-items:center;display:inline-flex;width:20px}.big-table__annotationWrapper .is-active{position:relative;top:3px}.big-table__boldCell{font-weight:700}
1
+ .big-table-filter-wrap{background-color:#fff;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);display:flex;flex-flow:column wrap;margin-top:-6px;min-width:280px;overflow:hidden;position:fixed;transform:translateX(-2%);transition:width 2s;z-index:99998}.big-table-filter-wrap .sort-list{margin-top:6px}.big-table-filter-wrap .sort-item{align-items:center;background:#f7f7f7;display:flex;height:32px;padding:0 13px}.big-table-filter-wrap .sort-item.active,.big-table-filter-wrap .sort-item:hover{background:#f2f2f2}.big-table-filter-wrap .sort-icon{background-size:contain;display:inline-block;height:16px;width:16px}.big-table-filter-wrap .sort-text{color:rgba(0,0,0,.8);font-size:14px;line-height:32px;margin-left:11px}.big-table-filter-wrap .sort-icon-desc{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABT0lEQVRYR+3WvSuGYRTH8c9TykpJSimLMvgHpLyUCQsmg/wBMss/ILvdJgspNnkbZFYGk7JQSAaLwUuX7uFxu3E/nvvqSd3XeHW6zvec65zfORUNPpUG+1cClBnIysABhiMV5y4mqt/OAliPCHCImd8AIgWf/WzMIhzFK/Z/iigWQAtuE4A2PH0HEQugG5eJ005clwBlBmrJwDwGcorBNjYybOsqwit05QQ4R1/RAB3oqQHgoWiAnL5/NKvrC/4tQBNacYesDAR5fkxHV6QU72EQczhNSfE4VpOOmY01jsOyMYYXLGElcbSIZT4W4C1MxQIIUy9sU1ltGXyeYQSfuua7L2jOWYnPKbt2HKE3dR/0Iqx593lq4AT9OQE2MZ2yDTpyXKUlF0lthP3gy8nKwBqGcgLsYCHDNuwAAe4Nk7ipZRbk9F2MWZFt+CeiEuAdAU5CIQxYYdUAAAAASUVORK5CYII=")}.big-table-filter-wrap .filter-header{cursor:auto;padding:5px 13px}.big-table-filter-wrap .filter-header-icon{border-right-color:#333;border-top-color:#333}.big-table-filter-wrap .filter-header-text{margin-left:11px}.big-table-filter-wrap .check-search-wrap{background:#f7f7f7;display:flex;justify-content:center;padding:8px 0;width:100%}.big-table-filter-wrap .check-seach-input{line-height:32px}.big-table-filter-wrap .checkbox-box{padding-right:3px;width:100%}.big-table-filter-wrap .checkbox-wrap{background:#fff;display:flex;flex-direction:column;overflow-y:auto;padding:0 3px 0 13px}.big-table-filter-wrap .checkbox-wrap::-webkit-scrollbar{height:4px;width:4px}.big-table-filter-wrap .checkbox-wrap::-webkit-scrollbar-thumb{background-color:#d5d5d5;border-radius:4px}.big-table-filter-wrap .checkbox-wrap::-webkit-scrollbar-track{background-color:#fff;border-radius:4px}.big-table-filter-wrap .checkbox-wrap::-webkit-scrollbar-corner{background-color:#000;border-radius:4px;width:4px}.big-table-filter-wrap .checkbox-wrap--search{padding-right:10px}.big-table-filter-wrap .checkbox-btn-wrap{display:flex;padding:9px 10px 9px 14px}.big-table-filter-wrap .checkbox-btn-wrap .checkbox-btn{padding:0;width:56px}.big-table-filter-wrap .checkbox-btn-wrap .checkbox-btn+.checkbox-btn{margin-left:8px}.big-table-filter-wrap .checkbox-btn-wrap .checkbox-btn-status .checkbox-btn{border:0;border-radius:0;margin:0 13px;position:relative;width:auto}.big-table-filter-wrap .checkbox-btn-wrap .checkbox-btn-status .checkbox-btn:hover:after{background-color:#5585f5;bottom:5px;content:"";display:block;height:1px;position:absolute;width:100%}.big-table-filter-wrap .arrows-icon{bottom:-1px;cursor:nw-resize;font-size:15px;height:20px;position:absolute;right:-1px;width:25px}.big-table__separate{padding:4px}.big-table__separatePlaceholder{display:inline-block;max-width:0;visibility:hidden;width:0;word-break:keep-all}.custom-big-table{position:relative}.custom-big-table .n-input{width:fit-content}.custom-big-table .img-wrap{align-items:center;display:flex;height:100%;line-height:1;padding:2px 0}.custom-big-table .img-wrap img{cursor:pointer;max-height:100%;object-fit:contain}.custom-big-table .img-wrap.img-circle img{border-radius:50%;object-fit:contain;width:28px}.custom-big-table .bigTable-qr-span{display:inline-block;height:100%;position:relative}.custom-big-table .bigTable-qr-span .bigTable-qr-img{max-height:96%}.custom-big-table .bigTable-qr-span>span{align-items:center;background:rgba(0,0,0,.7);color:#fff;cursor:pointer;display:none;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.custom-big-table .bigTable-qr-span:hover>span{display:inline-flex}.custom-big-table .base-form{align-items:center;display:flex;overflow:hidden!important;width:100%}.custom-big-table .base-form-content{width:100%}.custom-big-table textarea{height:32px;margin-bottom:0;resize:none}.custom-big-table .formItem-select-multiple{align-items:center;display:flex;line-height:40px;width:100%}.custom-big-table.mt{height:calc(100% - 78px)!important;margin-top:26px}.custom-big-table.expand-padding .vxe-table .vxe-body--expanded-cell{padding-left:66px!important;padding-right:66px!important}.custom-big-table th.vxe-header--column{cursor:pointer}.custom-big-table .row-btn{margin-right:10px}.custom-big-table .vxe-table{transform:translateZ(0)}.custom-big-table .vxe-table .vxe-table--empty-content,.custom-big-table .vxe-table .vxe-table--empty-content>div{height:100%;width:100%}.custom-big-table .vxe-table .vxe-table--empty-content>div .no-data-tip{display:inline-flex}.custom-big-table .vxe-table .col--checkbox .vxe-cell,.custom-big-table .vxe-table .col--seq .vxe-cell{padding:0}.custom-big-table .vxe-table .col--checkbox .vxe-cell .vxe-checkbox--label,.custom-big-table .vxe-table .col--seq .vxe-cell .vxe-checkbox--label{padding-left:0}.custom-big-table .vxe-table .vxe-cell .vxe-tree-cell{height:100%}.custom-big-table .vxe-table .scan-multi-delete{color:#f06f64}.custom-big-table .vxe-table .vxe-table--header{background-color:#f2f2f2}.custom-big-table .vxe-table .vxe-table--header .vxe-header--column .vxe-cell--title{color:#35393c;height:100%;line-height:unset}.custom-big-table .vxe-table .vxe-table--header .vxe-header--column .vxe-cell--title .is-edit{margin-top:-3px;vertical-align:middle}.custom-big-table .vxe-table .vxe-table--header .vxe-header--column .vxe-cell--title .header-title-span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-big-table .vxe-table .vxe-table--header .col--checkbox .vxe-cell--title,.custom-big-table .vxe-table .vxe-table--header .col--seq .vxe-cell--title{display:inline-block}.custom-big-table .vxe-table .vxe-table--body-wrapper::-webkit-scrollbar,.custom-big-table .vxe-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar{background-color:transparent;height:10px;width:10px}.custom-big-table .vxe-table .vxe-table--body-wrapper::-webkit-scrollbar-thumb,.custom-big-table .vxe-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#f2f2f2;border:3px dashed transparent;border-radius:0}.custom-big-table .vxe-table .vxe-table--body-wrapper::-webkit-scrollbar-thumb:hover,.custom-big-table .vxe-table .vxe-table--footer-wrapper.body--wrapper::-webkit-scrollbar-thumb:hover{background:#b2b2b2}.custom-big-table .vxe-table .vxe-footer--row .vxe-footer--column>.vxe-cell .vxe-cell--item{height:30px;line-height:30px}.custom-big-table .vxe-table .vxe-cell--checkbox .vxe-checkbox--label{display:none}.custom-big-table .filter-box{align-items:center;display:flex;width:100%}.custom-big-table .filter-box .text-over-tooltip-components{max-width:calc(100% - 40px)}.custom-big-table .filter-box .vxe-filter--btn{border-right-color:#c0c4cc;border-top-color:#c0c4cc}.custom-big-table .filter-box .vxe-filter--btn.active{border-right-color:#35393c;border-top-color:#35393c}.custom-big-table .filter-box .vxe-filter--btn.checked{border-right-color:#5585f5;border-top-color:#5585f5}.custom-big-table .disabled-checked-tips{background:#fff;border:2px solid #ff1818;border-radius:50%;bottom:0;box-sizing:border-box;height:16px;margin-top:-8px;overflow:hidden;position:absolute;right:0;top:50%;width:16px}.custom-big-table .disabled-checked-tips:after{background-color:#ff1818;content:"";height:2px;left:0;position:absolute;top:0;transform:rotate(45deg);transform-origin:0 2px;width:16px}.custom-big-table .form-select-table .n-base-select-menu__empty{display:none}.custom-big-table .percent-wrap{align-items:center;display:flex;flex-direction:column;justify-content:center;text-align:center}.custom-big-table .percent-wrap .percent-value{line-height:1;margin-bottom:-4px;margin-top:4px}.custom-big-table .refresh{align-items:center;background-color:#fff;border-bottom-left-radius:14px;border-top-left-radius:14px;box-shadow:0 2px 4px 0 hsla(0,0%,42%,.13);color:#5585f5;cursor:pointer;display:flex;font-size:12px;height:27px;padding-left:14px;padding-right:14px;position:absolute;right:0;top:6px;z-index:1}.custom-big-table .refresh-row{margin-bottom:0;margin-left:3px}.custom-big-table .check-wrap{background:#ffffe9;display:flex;justify-content:center;line-height:26px;margin-top:-26px;position:absolute;width:100%}.custom-big-table .check-wrap .check-wrap-btn,.custom-big-table .check-wrap .check-wrap-title{color:#000;cursor:pointer;font-size:12px;margin-bottom:0}.custom-big-table .check-wrap .check-wrap-btn{color:#5585f5}.custom-big-table .domPropsInnerHTML-span{height:100%}.custom-big-table .domPropsInnerHTML-span img{display:inline-block;height:var(--table-image-height);width:var(--table-image-width)}.custom-big-table .domPropsInnerHTML-span .icon-dot-custom{background:var(--table-icon-color);border-radius:50%;box-shadow:0 2px 4px 0 var(--table-icon-shadow);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-red{background:red;border-radius:50%;box-shadow:0 2px 4px 0 rgba(255,0,0,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-blue{background:blue;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0,0,255,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-green{background:green;border-radius:50%;box-shadow:0 2px 4px 0 rgba(0,128,0,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-gray{background:gray;border-radius:50%;box-shadow:0 2px 4px 0 hsla(0,0%,50%,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-yellow{background:#ff0;border-radius:50%;box-shadow:0 2px 4px 0 rgba(255,255,0,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-resolved{background:#36be8c;border-radius:50%;box-shadow:0 2px 4px 0 rgba(54,190,140,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-huifu{background:#42d0f6;border-radius:50%;box-shadow:0 2px 4px 0 rgba(66,208,246,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-close{background:#718391;border-radius:50%;box-shadow:0 2px 4px 0 rgba(113,131,145,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-audit{background:#f4ba32;border-radius:50%;box-shadow:0 2px 4px 0 rgba(244,186,50,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-design{background:#927ce1;border-radius:50%;box-shadow:0 2px 4px 0 rgba(146,124,225,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-develop{background:#4eb0ef;border-radius:50%;box-shadow:0 2px 4px 0 rgba(78,176,239,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .domPropsInnerHTML-span .icon-dot-develop-complete{background:#6381f9;border-radius:50%;box-shadow:0 2px 4px 0 rgba(99,129,249,.5);display:inline-block;height:8px;margin-right:6px;width:8px}.custom-big-table .vxe-table--render-default .vxe-table--fixed-left-wrapper.scrolling--middle{box-shadow:7px 0 8px -3px rgba(0,0,0,.15)}.custom-big-table .vxe-table--render-default .vxe-table--fixed-right-wrapper.scrolling--middle{box-shadow:-7px 0 8px -3px rgba(0,0,0,.15)}.custom-big-table .vxe-table--render-default.size--mini{font-size:14px}.custom-big-table .vxe-table--render-default .vxe-body--expanded-column,.custom-big-table .vxe-table--render-default .vxe-table--border-line{border-color:#d5d5d599}.custom-big-table .vxe-table--render-default .vxe-table--footer-wrapper{border-top-color:#d5d5d599}.custom-big-table .vxe-table--render-default.border--default .vxe-body--column,.custom-big-table .vxe-table--render-default.border--default .vxe-footer--column,.custom-big-table .vxe-table--render-default.border--default .vxe-header--column,.custom-big-table .vxe-table--render-default.border--inner .vxe-body--column,.custom-big-table .vxe-table--render-default.border--inner .vxe-footer--column,.custom-big-table .vxe-table--render-default.border--inner .vxe-header--column{background-image:linear-gradient(#d5d5d599,#d5d5d599)}.custom-big-table .vxe-table--render-default.border--full .vxe-body--column,.custom-big-table .vxe-table--render-default.border--full .vxe-footer--column,.custom-big-table .vxe-table--render-default.border--full .vxe-header--column{background-image:linear-gradient(#d5d5d599,#d5d5d599),linear-gradient(#d5d5d599,#d5d5d599)}.custom-big-table .vxe-table--render-default.border--full .vxe-table--fixed-left-wrapper .vxe-body--column{border-right-color:#d5d5d599}.custom-big-table .vxe-table--render-default.border--default .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.custom-big-table .vxe-table--render-default.border--full .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.custom-big-table .vxe-table--render-default.border--inner .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter,.custom-big-table .vxe-table--render-default.border--outer .vxe-table--header-wrapper .vxe-header--row:last-child .vxe-header--gutter{background-image:linear-gradient(#d5d5d599,#d5d5d599)}.custom-big-table .vxe-table--render-default.border--default .vxe-table--header-wrapper .vxe-table--header-border-line,.custom-big-table .vxe-table--render-default.border--full .vxe-table--header-wrapper .vxe-table--header-border-line,.custom-big-table .vxe-table--render-default.border--inner .vxe-table--header-wrapper .vxe-table--header-border-line,.custom-big-table .vxe-table--render-default.border--outer .vxe-table--header-wrapper .vxe-table--header-border-line{border-bottom-color:#d5d5d599}.custom-big-table .vxe-table--render-default .vxe-cell--checkbox .vxe-checkbox--icon{color:#d5d5d5;font-weight:400}.annotation-edit{align-items:center;color:#0067ee;cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:#ff9828}.annotation-edit__icon{align-items:center;display:inline-flex}.no-data-tip{align-items:center;color:#333;display:flex;flex-direction:column;font-size:22px;height:100%;justify-content:center;width:100%}.no-data-tip>img{max-width:70%;width:260px}.no-data-tip>p{color:rgba(0,0,0,.8);font-size:16px;margin-bottom:0;margin-top:12px}.no-data-tip>span{color:rgba(0,0,0,.4);font-size:14px;margin-top:6px}.text-over-tooltip-components{display:inline-block;max-width:98%}.text-over-tooltip-components .ellipsis{color:#35393c;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-over-tooltip-components .ellipsis i{font-style:normal;white-space:nowrap;word-break:keep-all}.text-over-tooltip-components .fs20{color:green;font-size:20px;font-weight:600;line-height:22px}.text-over-tooltip-components .fs12{color:orange;font-size:12px;font-weight:400;line-height:14px}.svg-icon{fill:currentcolor;height:1em;overflow:hidden;vertical-align:-.15em;width:1em}.vxe-header--column [annotation-hover-show=true]{visibility:hidden}.vxe-header--column:hover [annotation-hover-show=true]{visibility:visible}.big-table__annotationWrapper{align-items:center;display:inline-flex;width:20px}.big-table__annotationWrapper .is-active{position:relative;top:3px}.big-table__boldCell{font-weight:700}
@@ -4,11 +4,12 @@ import useGrid from './useGrid.js';
4
4
  import { useShadow } from './useShadow.js';
5
5
  import { TEMPERATURE_MENU, PAIN_MENU, OVERLAP } from './constant.js';
6
6
  import { cloneDeep } from 'lodash-es';
7
- import { getPointArr, isEffectiveNode, getIndex, deleteProperty } from '../utils/utils.js';
7
+ import { isOneLine, getType, setOtherType, isEffectiveNode, getIndex, deleteProperty } from '../utils/utils.js';
8
8
 
9
9
  function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, getYValue, addRenderItem, pointTipProps, pointMenuProps, useCommon) {
10
10
  useGrid(canvas, propItems);
11
11
  const { getEqualXTypes, repeatTip, maxLimitTip, minLimitTip } = useCommon;
12
+ const { createShadowLines } = useShadow();
12
13
  const {
13
14
  left,
14
15
  xScaleList,
@@ -26,22 +27,21 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
26
27
  config
27
28
  } = propItems;
28
29
  const shadowLinesCache = /* @__PURE__ */ new Set();
29
- let shadowPointCache = [];
30
+ const SHADOWKEYS = ["xinmai", "mai"];
31
+ const shadowPointCache = /* @__PURE__ */ new Map();
30
32
  const maiboPoints = /* @__PURE__ */ new Set();
31
33
  const otherPoints = /* @__PURE__ */ new Set();
32
- const prevLines = /* @__PURE__ */ new Set();
33
34
  const gridPoints = /* @__PURE__ */ new Set();
34
35
  const yScaleValue = cloneDeep(left.yScaleValue);
35
36
  init();
36
37
  function init() {
37
- shadowPointCache = [];
38
+ shadowPointCache.clear();
38
39
  maiboPoints.clear();
39
40
  otherPoints.clear();
40
- prevLines.clear();
41
41
  yScaleValue.forEach((scaleValue) => {
42
42
  drawPositionLine(scaleValue);
43
43
  scaleValue.dataList.forEach((item, dataIndex) => {
44
- if (scaleValue.type !== "temperature" || item.enable) {
44
+ if (!isOneLine(scaleValue.type) || item.enable) {
45
45
  drawPolyLine(item, dataIndex, scaleValue);
46
46
  }
47
47
  });
@@ -65,35 +65,29 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
65
65
  if (shadowLinesCache.size)
66
66
  canvas.value.remove(...shadowLinesCache);
67
67
  shadowLinesCache.clear();
68
- if (shadowPointCache.length > 1) {
68
+ if (shadowPointCache.size > 1) {
69
69
  if (target) {
70
- const { type, dataIndex, index } = target.origin || {};
70
+ const { type, key } = target.origin || {};
71
71
  if (type === "pulse") {
72
- shadowPointCache[dataIndex].splice(index, 1, target);
72
+ const list = shadowPointCache.get(key);
73
+ const index = list == null ? void 0 : list.findIndex((point) => point[0] === target.left);
74
+ list.splice(index, 1, [target.left, target.top]);
73
75
  }
74
76
  }
75
- const [data1, data2] = shadowPointCache;
76
- if (!data1.length || !data2.length)
77
- return;
78
- const points1 = getPointArr(data1);
79
- const points2 = getPointArr(data2);
80
- const data = points1.reduce(
81
- (pre, cur, index) => pre.concat([[...cur, ...points2[index].reverse()]]),
82
- []
83
- );
84
- const { createShadowLines } = useShadow();
77
+ const data = getShadowData();
85
78
  data.forEach((item) => {
86
- var _a2, _b, _c, _d;
87
- if (((_a2 = pulseObj.shadow) == null ? void 0 : _a2.mode) == "color") {
88
- const points = item.map((v) => ({ x: v[0], y: v[1] }));
89
- const polygon = new fabric.Polygon(points, {
90
- ...defaultStyle,
91
- ...((_b = pulseObj.shadow) == null ? void 0 : _b.style) || {}
79
+ var _a2, _b, _c, _d, _e, _f;
80
+ const points = item.map((v) => ({ x: v[0], y: v[1] }));
81
+ const polygon = new fabric.Polygon(points, {
82
+ ...defaultStyle,
83
+ ...((_a2 = pulseObj.shadow) == null ? void 0 : _a2.style) || {}
84
+ });
85
+ if (((_b = pulseObj.shadow) == null ? void 0 : _b.mode) == "slash") {
86
+ polygon.set({
87
+ fill: "transparent",
88
+ stroke: ((_d = (_c = pulseObj.shadow) == null ? void 0 : _c.style) == null ? void 0 : _d.stroke) || "#f00"
92
89
  });
93
- shadowLinesCache.add(polygon);
94
- canvas.value.add(polygon);
95
- } else {
96
- const shadowLines = createShadowLines(item, (_c = pulseObj.shadow) == null ? void 0 : _c.style._angle, (_d = pulseObj.shadow) == null ? void 0 : _d.style.space);
90
+ const shadowLines = createShadowLines(item, (_e = pulseObj.shadow) == null ? void 0 : _e.style._angle, (_f = pulseObj.shadow) == null ? void 0 : _f.style.space);
97
91
  shadowLines.forEach((l) => {
98
92
  var _a3;
99
93
  Object.assign(l, {
@@ -104,9 +98,78 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
104
98
  });
105
99
  canvas.value.add(...shadowLines);
106
100
  }
101
+ shadowLinesCache.add(polygon);
102
+ canvas.value.add(polygon);
107
103
  });
108
104
  }
109
105
  }
106
+ function getShadowData() {
107
+ const data = [];
108
+ const _shadowPointCache = [];
109
+ const somes = [];
110
+ for (const item of shadowPointCache) {
111
+ _shadowPointCache.push(item[1]);
112
+ if (item[0] === SHADOWKEYS[0]) {
113
+ item[1].forEach((_item) => {
114
+ const someIndex = (shadowPointCache.get(SHADOWKEYS[1]) || []).findIndex((v) => v[0] === _item[0]);
115
+ someIndex > -1 && somes.push(_item[0]);
116
+ });
117
+ }
118
+ }
119
+ const [points1, points2] = _shadowPointCache;
120
+ let _arr1 = [];
121
+ let _arr2 = [];
122
+ somes.forEach((left2) => {
123
+ const index1 = points1.findIndex((point) => point[0] === left2);
124
+ const index2 = points2.findIndex((point) => point[0] === left2);
125
+ const currentPoint1 = points1[index1];
126
+ const currentPoint2 = points2[index2];
127
+ const prevPoint1 = points1[index1 - 1];
128
+ const nextPoint1 = points1[index1 + 1];
129
+ const prevPoint2 = points2[index2 - 1];
130
+ const nextPoint2 = points2[index2 + 1];
131
+ if (prevPoint1 && prevPoint2) {
132
+ if (prevPoint1[0] !== prevPoint2[0]) {
133
+ const maxPoint = Math.max(prevPoint1[0], prevPoint2[0]);
134
+ _arr1.push([prevPoint1, prevPoint2].find((point) => point[0] === maxPoint));
135
+ }
136
+ } else if (prevPoint1) {
137
+ _arr1.push(prevPoint1);
138
+ } else if (prevPoint2) {
139
+ _arr2.push(prevPoint2);
140
+ }
141
+ const minYPoint = Math.min(currentPoint1[1], currentPoint2[1]);
142
+ _arr1.push([currentPoint1, currentPoint2].find((point) => point[1] === minYPoint));
143
+ const maxYPoint = Math.max(currentPoint1[1], currentPoint2[1]);
144
+ _arr2.push([currentPoint1, currentPoint2].find((point) => point[1] === maxYPoint));
145
+ const setData = () => {
146
+ const dataItem = [..._arr1, ..._arr2.reverse()];
147
+ const [firstPoint] = dataItem;
148
+ const lastPoint = dataItem.at(-1);
149
+ if (firstPoint[0] === lastPoint[0] && firstPoint[1] === lastPoint[1])
150
+ dataItem.splice(-1, 1);
151
+ data.push(dataItem);
152
+ _arr1 = [];
153
+ _arr2 = [];
154
+ };
155
+ if (nextPoint1 && nextPoint2) {
156
+ if (nextPoint1[0] !== nextPoint2[0]) {
157
+ const minPoint = Math.min(nextPoint1[0], nextPoint2[0]);
158
+ _arr1.push([nextPoint1, nextPoint2].find((point) => point[0] === minPoint));
159
+ setData();
160
+ }
161
+ } else if (nextPoint1) {
162
+ _arr1.push(nextPoint1);
163
+ setData();
164
+ } else if (nextPoint2) {
165
+ _arr2.push(nextPoint2);
166
+ setData();
167
+ } else {
168
+ setData();
169
+ }
170
+ });
171
+ return data;
172
+ }
110
173
  function setCanvasEvent() {
111
174
  if (!propItems.event.evented)
112
175
  return;
@@ -130,7 +193,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
130
193
  pointMenuProps.target = null;
131
194
  pointMenuProps.list = ["\u65B0\u589E\u8282\u70B9"];
132
195
  itemList.forEach((v) => {
133
- if (!getEqualXTypes(x, "type", xCellWidth).includes(v.bigType)) {
196
+ if (!getEqualXTypes(x, "_type", xCellWidth).includes(v.bigType)) {
134
197
  const newY = ["pain"].includes(v.bigType) ? painOriginY : vitalSignsOriginY;
135
198
  if (y >= newY.originY && y <= newY.endY) {
136
199
  pointMenuProps.list.push({
@@ -138,7 +201,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
138
201
  origin: {
139
202
  title: v.title,
140
203
  unit: v.unit,
141
- type: v.bigType,
204
+ type: getType(v.bigType),
142
205
  dataIndex: v.dataIndex,
143
206
  key: v.key
144
207
  },
@@ -220,7 +283,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
220
283
  const lineList = [];
221
284
  const otherList = [];
222
285
  (_a = item.list) == null ? void 0 : _a.forEach((v, index) => {
223
- const _item = type !== "temperature" ? item : dataList.find((_v) => _v.key === v.key);
286
+ const _item = !isOneLine(type) ? item : dataList.find((_v) => _v.key === v.key);
224
287
  const points = getPointer(v, scaleValue);
225
288
  const otherObj = {};
226
289
  otherObj.value = drawValue(points, v, _item);
@@ -228,26 +291,46 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
228
291
  drawPulseOther(points, v, _item, otherObj);
229
292
  drawPointLine(points, v, index, _item, otherObj);
230
293
  });
231
- type === "pulse" && shadowPointCache.push(pointList);
294
+ if (type === "pulse") {
295
+ SHADOWKEYS.forEach((key) => {
296
+ shadowPointCache.set(
297
+ key,
298
+ pointList.filter((point) => {
299
+ var _a2;
300
+ return ((_a2 = point.origin) == null ? void 0 : _a2.key) === key;
301
+ }).map((point) => [point.left, point.top])
302
+ );
303
+ });
304
+ }
232
305
  Promise.all(pointList).then((res) => {
233
306
  const lineListFilter = lineList.filter((v) => v);
234
307
  let prevPoint = null;
235
- res = res.filter((v) => {
236
- if (v && prevPoint) {
237
- prevPoint.nextPoint = v;
238
- v.prevPoint = prevPoint;
308
+ res = res.map((point) => {
309
+ if (point && prevPoint) {
310
+ prevPoint.nextPoint = point;
311
+ point.prevPoint = prevPoint;
239
312
  }
240
- prevPoint = v || prevPoint;
241
- v == null ? void 0 : v.bringToFront();
242
- return v;
313
+ prevPoint = point || prevPoint;
314
+ point == null ? void 0 : point.bringToFront();
315
+ doPulsePointLine(point, res);
316
+ return point;
243
317
  });
244
318
  Promise.all(otherList).then((r) => {
245
319
  canvas.value.add(...lineListFilter, ...res, ...r);
246
- res.forEach((v) => {
247
- v == null ? void 0 : v.bringToFront();
320
+ res.forEach((point) => {
321
+ point == null ? void 0 : point.bringToFront();
248
322
  });
249
323
  });
250
324
  });
325
+ function doPulsePointLine(point, pointList2) {
326
+ if (point.origin.type === "pulse") {
327
+ const someLeftList = pointList2.filter((_point) => _point.left === point.left);
328
+ if (someLeftList.length > 1) {
329
+ point.leftLine && canvas.value.remove(point.leftLine);
330
+ point.rightLine && canvas.value.remove(point.rightLine);
331
+ }
332
+ }
333
+ }
251
334
  function drawValue(points, v, _item) {
252
335
  if (!(points == null ? void 0 : points.length) || !config.showValue)
253
336
  return;
@@ -396,19 +479,10 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
396
479
  const nextPoint = getPointer(nextV, scaleValue);
397
480
  const isNonePain = isNoneValuePain(type, item.list[index].value);
398
481
  const isNextNonePain = nextPoint && isNoneValuePain(type, nextV.value);
399
- if (points && nextPoint && !v.breakpoint && !isNonePain && !isNextNonePain) {
482
+ if (points && nextPoint && !v.breakpoint && !isNonePain && !isNextNonePain && points[0] !== nextPoint[0]) {
400
483
  line = drawLine([...points, ...nextPoint], {
401
484
  ...lineAttr
402
485
  });
403
- } else if (points && !nextPoint && !v.breakpoint) {
404
- const nextLinePoint = getPointer(nextV, scaleValue);
405
- line = nextLinePoint ? drawLine([...points, ...nextLinePoint], {
406
- ...lineAttr
407
- }) : null;
408
- nextLinePoint && prevLines.add({
409
- dataIndex,
410
- line
411
- });
412
486
  }
413
487
  const currentPointType = v.pacemakerShow && type == "pulse" ? pacemaker.value : isNonePain ? 0 : pointType;
414
488
  const previousLine = lineList[index - 1];
@@ -419,6 +493,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
419
493
  key: key || "",
420
494
  unit: scaleValue.unit,
421
495
  type,
496
+ _type: setOtherType(title, type),
422
497
  dataIndex,
423
498
  index
424
499
  },
@@ -578,7 +653,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
578
653
  data: {
579
654
  time: getXValue(item.pointer.x),
580
655
  value: getYValue(item.origin.type, item.pointer.y),
581
- ...item.origin.type !== "temperature" ? {} : { key: item.origin.key }
656
+ ...!isOneLine(item.origin.type) ? {} : { key: item.origin.key }
582
657
  },
583
658
  ...item.origin
584
659
  };
@@ -589,7 +664,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
589
664
  deleteProperty(data, TEMPERATURE_MENU);
590
665
  deleteProperty(data, PAIN_MENU);
591
666
  data[`${item.type}`] = item.value;
592
- if (type === "temperature") {
667
+ if (isOneLine(type)) {
593
668
  data["key"] = target.origin.key;
594
669
  }
595
670
  const params = {
@@ -604,7 +679,7 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
604
679
  const { type, dataIndex, index, data, key } = params;
605
680
  const obj = yScaleValue.find((v) => v.type === type);
606
681
  if (mode === "add") {
607
- const dataList = type !== "temperature" ? obj.dataList[dataIndex] : obj.dataList.find((v) => v.enable);
682
+ const dataList = !isOneLine(type) ? obj.dataList[dataIndex] : obj.dataList.find((v) => v.enable);
608
683
  const index2 = getIndex(data.time, dataList.list);
609
684
  dataList.list.splice(index2, 0, data);
610
685
  } else {
@@ -627,14 +702,13 @@ function useCenter(canvas, propItems, emits, cumputedX, cumputedY, getXValue, ge
627
702
  function redrawPoints() {
628
703
  var _a;
629
704
  gridPoints.size && ((_a = canvas.value) == null ? void 0 : _a.remove(...getRemovePoints([...gridPoints])));
630
- shadowPointCache = [];
705
+ shadowPointCache.clear();
631
706
  gridPoints.clear();
632
707
  maiboPoints.clear();
633
708
  otherPoints.clear();
634
- prevLines.clear();
635
709
  yScaleValue.forEach((scaleValue) => {
636
710
  scaleValue.dataList.forEach((item, dataIndex) => {
637
- if (scaleValue.type !== "temperature" || item.enable) {
711
+ if (!isOneLine(scaleValue.type) || item.enable) {
638
712
  drawPolyLine(item, dataIndex, scaleValue);
639
713
  }
640
714
  });
@@ -1,5 +1,6 @@
1
1
  import { fabric } from '../utils/index.js';
2
2
  import { defaultBorderStyle, defaultTextStyle, defaultStyle, defaultRectStyle, drawPoint, drawTextGroup } from './useDraw.js';
3
+ import { getType, isOneLine } from '../utils/utils.js';
3
4
 
4
5
  function useLeft(canvas, propItems, emits, setPopup, pointTipProps, cumputedX, cumputedY, getXValue, getYValue, isAddPoint, updateData, useCommon) {
5
6
  var _a, _b;
@@ -114,6 +115,7 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, cumputedX, c
114
115
  const residue = (end - start) % column;
115
116
  const firstColWidth = colWidth + residue;
116
117
  yScaleValueList2.forEach((item, index) => {
118
+ var _a3, _b2;
117
119
  if (item.type === "pain") {
118
120
  drwaPainScaleValue(item);
119
121
  return;
@@ -138,8 +140,8 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, cumputedX, c
138
140
  const spaceScale = spaceGridNumber * yCellHeight / 5;
139
141
  const position = item.position || "center";
140
142
  const { lineXMain, lineXSub, textLeft } = getScaleInfo(item.position, rectLeft, rectWidth);
141
- const listLen = item.list.length;
142
- item.list.forEach((v, i) => {
143
+ const listLen = (_a3 = item.list) == null ? void 0 : _a3.length;
144
+ (_b2 = item == null ? void 0 : item.list) == null ? void 0 : _b2.forEach((v, i) => {
143
145
  const top = vitalSignsOriginY.endY - i * yCellHeight * spaceGridNumber;
144
146
  const isMaxMinNumber = i === 0 || i === listLen - 1;
145
147
  if (item.showNumber && (isMaxMinNumber ? item.showMaxMinNumber : true)) {
@@ -229,7 +231,8 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, cumputedX, c
229
231
  origin: {
230
232
  title: item.title,
231
233
  unit: item.unit,
232
- type: item.bigType,
234
+ type: getType(item.bigType),
235
+ _type: item.bigType,
233
236
  dataIndex: item.dataIndex,
234
237
  key: item.key,
235
238
  isMenu: true
@@ -272,7 +275,7 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, cumputedX, c
272
275
  pointTipProps.show = false;
273
276
  if (event.e.button === 0) {
274
277
  if (isLimit(point)) {
275
- const isRepeat = getEqualXTypes(point.left, "type", xCellWidth).includes(point.origin.type);
278
+ const isRepeat = getEqualXTypes(point.left, "_type", xCellWidth).includes(point.origin._type);
276
279
  const isLimitAdd = isAddPoint(point.left);
277
280
  if (!isLimitAdd || isRepeat) {
278
281
  isRepeat && isLimitAdd && repeatTip();
@@ -281,7 +284,7 @@ function useLeft(canvas, propItems, emits, setPopup, pointTipProps, cumputedX, c
281
284
  data: {
282
285
  time: getXValue(point.left),
283
286
  value: getYValue(point.origin.type, point.top),
284
- ...point.origin.type !== "temperature" ? {} : { key: point.origin.key }
287
+ ...!isOneLine(point.origin.type) ? {} : { key: point.origin.key }
285
288
  },
286
289
  ...point.origin
287
290
  };
@@ -9,6 +9,7 @@ import { useBottom } from './useBottom.js';
9
9
  import { useOther } from './useOther.js';
10
10
  import { useEvent, useCanvasEvent } from './useEvent.js';
11
11
  import '../utils/index.js';
12
+ import { setOtherType } from '../utils/utils.js';
12
13
  import { useCommon } from './useCommon.js';
13
14
  import 'lodash-es';
14
15
 
@@ -156,7 +157,7 @@ function useTemperatureChart(canvas, props, emits, canvasRef) {
156
157
  return item.dataList.map((v, dataIndex) => {
157
158
  return {
158
159
  ...v,
159
- bigType: item.type,
160
+ bigType: setOtherType(v.title, item.type),
160
161
  unit: item.unit,
161
162
  dataIndex
162
163
  };
@@ -1,11 +1,13 @@
1
1
  import { IPoint } from '../interface';
2
2
  import { AnyObject } from '../../../../../es/shared/types';
3
3
  export declare function isEffectiveNode(node: IPoint): string | number | boolean;
4
- /**
5
- * @description: 根据断点分割数组
6
- * @param {any} arr
7
- * @return {[number, number][][]}
8
- */
9
- export declare function getPointArr(arr: AnyObject[]): AnyObject;
10
4
  export declare function deleteProperty(data: AnyObject, list: AnyObject[]): void;
11
5
  export declare function getIndex(time: string, list: AnyObject[]): number;
6
+ /**
7
+ * @description: 判断yScaleValue数组内的项类型是否可以连成一条折线,比如温度线
8
+ * @param {string} type
9
+ * @return {*}
10
+ */
11
+ export declare function isOneLine(type: string): boolean;
12
+ export declare function setOtherType(title: string, type: string): string;
13
+ export declare function getType(type: string): string;