cnhis-design-vue 3.3.1-beta.4 → 3.3.1-beta.6

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 (75) hide show
  1. package/README.md +87 -87
  2. package/es/components/ai-chat/style/index.css +1 -1
  3. package/es/components/audio-sdk/src/audioSDK.d.ts +7 -7
  4. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  5. package/es/components/audio-sdk/src/components/form.vue.d.ts +49 -0
  6. package/es/components/audio-sdk/src/components/form.vue.js +1 -0
  7. package/es/components/audio-sdk/src/components/form.vue2.js +1 -0
  8. package/es/components/audio-sdk/src/components/recording.vue.d.ts +18 -2
  9. package/es/components/audio-sdk/src/components/recording.vue2.js +1 -1
  10. package/es/components/audio-sdk/src/utils/recordingModal.d.ts +9 -3
  11. package/es/components/audio-sdk/src/utils/recordingModal.js +1 -1
  12. package/es/components/audio-sdk/style/index.css +1 -1
  13. package/es/components/card-render/src/components/index.d.ts +23 -23
  14. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  15. package/es/components/form-config/index.d.ts +5 -0
  16. package/es/components/form-config/src/FormConfig.vue.d.ts +5 -0
  17. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +4 -0
  18. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +1 -0
  19. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  20. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  21. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +12 -1
  22. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +12 -1
  23. package/es/components/form-render/src/components/tooltipMessage.vue.d.ts +12 -1
  24. package/es/components/form-render/src/components/tooltipMessage.vue2.js +1 -1
  25. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  26. package/es/components/form-render/src/types/fieldItem.d.ts +1 -0
  27. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  28. package/es/components/index.css +1 -1
  29. package/es/components/scale-view/index.d.ts +3 -2
  30. package/es/components/scale-view/src/ScaleView.vue.d.ts +3 -2
  31. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  32. package/es/components/scale-view/src/hooks/scaleview-init.d.ts +3 -1
  33. package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
  34. package/es/components/scale-view/src/hooks/use-component.d.ts +1 -2189
  35. package/es/components/shortcut-setter/index.d.ts +1 -0
  36. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +1 -0
  37. package/es/env.d.ts +25 -25
  38. package/es/shared/assets/img/ai__avatar.png.js +1 -1
  39. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  40. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  41. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  42. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  43. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  44. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  45. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  46. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  47. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  48. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  49. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  50. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  51. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  52. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  53. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  54. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  55. package/es/shared/assets/img/failure.png.js +1 -1
  56. package/es/shared/assets/img/logo.png.js +1 -1
  57. package/es/shared/assets/img/no-permission.png.js +1 -1
  58. package/es/shared/assets/img/nodata.png.js +1 -1
  59. package/es/shared/assets/img/notfound.png.js +1 -1
  60. package/es/shared/assets/img/qr.png.js +1 -1
  61. package/es/shared/assets/img/success.png.js +1 -1
  62. package/es/shared/assets/img/table_style_2.png.js +1 -1
  63. package/es/shared/assets/img/video.png.js +1 -1
  64. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  65. package/es/shared/assets/img/xb_big.png.js +1 -1
  66. package/es/shared/assets/img/xb_small.png.js +1 -1
  67. package/es/shared/package.json.js +1 -1
  68. package/package.json +2 -2
  69. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  70. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  71. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  72. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  73. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
  74. package/es/shared/utils/fabricjs/index.d.ts +0 -6823
  75. package/es/shared/utils/tapable/index.d.ts +0 -139
package/README.md CHANGED
@@ -1,87 +1,87 @@
1
- # 安装
2
-
3
- ```shell
4
- npm i cnhis-design-vue@[版本号]
5
- # or
6
- yarn add cnhis-design-vue@[版本号] #推荐
7
- ```
8
-
9
- ## 1.全局引入
10
-
11
- ```typescript
12
- // main.ts
13
- import { createApp } from 'vue';
14
- import App from './App.vue';
15
- import 'cnhis-design-vue/es/packages/index.css';
16
- import cui from 'cnhis-design-vue';
17
-
18
- const app = createApp(App);
19
- app.use(cui).mount('#app');
20
- ```
21
-
22
- ## 2. 按需引入
23
-
24
- 组件现在支持了自动按需引入, 但是样式文件需要额外的处理
25
-
26
- ### 2.1 样式处理方式1 (按需引入样式)
27
-
28
- ```shell
29
- # 安装自动导入样式的插件
30
- npm i -d vite-plugin-style-import
31
- ```
32
-
33
- ```typescript
34
- // vite.config.ts
35
- import { defineConfig } from 'vite';
36
- import { createStyleImportPlugin } from 'vite-plugin-style-import';
37
-
38
- export default defineConfig({
39
- plugins: [
40
- // ...otherPlugins
41
- createStyleImportPlugin({
42
- libs: [
43
- {
44
- libraryName: 'cnhis-design-vue',
45
- esModule: true,
46
- ensureStyleFile: true,
47
- resolveStyle: name => {
48
- return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
49
- }
50
- }
51
- ]
52
- })
53
- ]
54
- });
55
- ```
56
-
57
- ### 2.2 样式处理方式2 (全局引入样式)
58
-
59
- ```typescript
60
- // main.ts
61
- import 'cnhis-design-vue/es/components/index.css';
62
- ```
63
-
64
- ## 3.FAQ
65
-
66
- ### 3.1 项目打包后样式丢失
67
-
68
- 处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
69
-
70
- ```typescript
71
- // vite.config.ts
72
- import { defineConfig } from 'vite';
73
-
74
- export default defineConfig({
75
- build: {
76
- rollupOptions: {
77
- // ..otherOptions
78
- output: {
79
- dir: './dist',
80
- manualChunks: {
81
- 'cnhis-vendor': ['cnhis-design-vue']
82
- }
83
- }
84
- }
85
- }
86
- });
87
- ```
1
+ # 安装
2
+
3
+ ```shell
4
+ npm i cnhis-design-vue@[版本号]
5
+ # or
6
+ yarn add cnhis-design-vue@[版本号] #推荐
7
+ ```
8
+
9
+ ## 1.全局引入
10
+
11
+ ```typescript
12
+ // main.ts
13
+ import { createApp } from 'vue';
14
+ import App from './App.vue';
15
+ import 'cnhis-design-vue/es/packages/index.css';
16
+ import cui from 'cnhis-design-vue';
17
+
18
+ const app = createApp(App);
19
+ app.use(cui).mount('#app');
20
+ ```
21
+
22
+ ## 2. 按需引入
23
+
24
+ 组件现在支持了自动按需引入, 但是样式文件需要额外的处理
25
+
26
+ ### 2.1 样式处理方式1 (按需引入样式)
27
+
28
+ ```shell
29
+ # 安装自动导入样式的插件
30
+ npm i -d vite-plugin-style-import
31
+ ```
32
+
33
+ ```typescript
34
+ // vite.config.ts
35
+ import { defineConfig } from 'vite';
36
+ import { createStyleImportPlugin } from 'vite-plugin-style-import';
37
+
38
+ export default defineConfig({
39
+ plugins: [
40
+ // ...otherPlugins
41
+ createStyleImportPlugin({
42
+ libs: [
43
+ {
44
+ libraryName: 'cnhis-design-vue',
45
+ esModule: true,
46
+ ensureStyleFile: true,
47
+ resolveStyle: name => {
48
+ return `cnhis-design-vue/es/components/${ name.slice(2) }/style/index.css`;
49
+ }
50
+ }
51
+ ]
52
+ })
53
+ ]
54
+ });
55
+ ```
56
+
57
+ ### 2.2 样式处理方式2 (全局引入样式)
58
+
59
+ ```typescript
60
+ // main.ts
61
+ import 'cnhis-design-vue/es/components/index.css';
62
+ ```
63
+
64
+ ## 3.FAQ
65
+
66
+ ### 3.1 项目打包后样式丢失
67
+
68
+ 处理方法, 将 cnhis-design-vue 从 vendor 包中移除 (没有出现此问题则不需要)
69
+
70
+ ```typescript
71
+ // vite.config.ts
72
+ import { defineConfig } from 'vite';
73
+
74
+ export default defineConfig({
75
+ build: {
76
+ rollupOptions: {
77
+ // ..otherOptions
78
+ output: {
79
+ dir: './dist',
80
+ manualChunks: {
81
+ 'cnhis-vendor': ['cnhis-design-vue']
82
+ }
83
+ }
84
+ }
85
+ }
86
+ });
87
+ ```
@@ -1 +1 @@
1
- .c-recording-wrapper{align-items:center;background-color:#fff;border-radius:10px;bottom:100px;display:flex;height:350px;justify-content:center;left:calc(50% - 250px);position:fixed;width:500px}@keyframes toScale{0%{transform:translateX(-50%) translateY(-50%) scale(1)}to{transform:translateX(-50%) translateY(-50%) scale(1.5)}}.c-recording-wrapper .content{font-size:18px;position:absolute;text-align:center;top:20px}.c-recording-wrapper .animation{animation:toScale 1s infinite;background-color:#5585f54d;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(1);z-index:-1}.c-recording-wrapper .animation,.c-recording-wrapper .icon-box{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;width:90px}.c-recording-wrapper .icon-box{background-color:#5585f5;cursor:pointer}.c-recording-wrapper .tip{bottom:20px;position:absolute}.c-card-render{box-sizing:border-box;color:#000;font-size:0;line-height:1.6}.c-card-render__flex{display:flex}.c-card-render__flexAlignCenter{align-items:center}.c-card-render__flex-wrap{flex-wrap:wrap}.c-card-render__flex1{flex:1}.c-card-render__width100{width:100%}.c-card-render__color60{color:rgba(0,0,0,.6)}.c-card-render__color100{color:#000}.c-card-render__text-ellipsis{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box!important;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis;word-break:break-all}.c-card-render__nowrap{white-space:nowrap}.c-card-render__mgr8{margin-right:8px!important}.c-card-render__mgb8{margin-bottom:8px!important}.c-card-render__mgt4{margin-top:4px!important}.c-card-render__mgb4{margin-bottom:4px!important}.c-card-render__un-mgr8{margin-right:-8px!important}.c-card-render__bar{padding-left:8px;position:relative}.c-card-render__bar:before{background:var(--c-primary-color);border-radius:4px;content:"";height:12px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.c-card-render__inline{display:inline}.annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;min-width:100%;padding:0 8px 0 16px;width:fit-content}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{white-space:nowrap}.search-cascader__optionText--active{color:var(--c-primary-color)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column));position:relative}.form-render__formItemMask{margin-bottom:8px;padding:8px}.form-render__formItemMask:after{border:1px solid #c2c2c2;border-radius:8px;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.form-render__formItemMask--selected:after{border-color:var(--c-primary-color)}.form-render__formItemMask--selected:before{border-bottom:12px solid var(--c-primary-color);border-bottom-right-radius:8px;border-left:12px solid transparent;border-right:12px solid var(--c-primary-color);border-top:12px solid transparent;bottom:0;color:#fff;content:"✓";font-size:10px;height:0;line-height:.9;position:absolute;right:0;width:0}.form-render__formItem.n-form-item--left-labelled .form-render__formItemLabel--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:var(--c-primary-color-opacity2);border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;flex:1;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebar--horizontal{align-items:stretch;display:flex;position:relative}.form-render__linebar--horizontal .form-render__linebarHeader{align-items:center;background:transparent;border-radius:0;box-sizing:border-box;display:flex;height:unset;justify-content:center;margin-bottom:0;margin-left:-8px;max-width:var(--form-render-linebar-width);padding:8px;text-align:center;width:var(--form-render-linebar-width);word-break:break-all}.form-render__linebar--horizontal .form-render__linebarItem{padding:8px 0 8px 8px}.form-render__linebar--horizontalBorder:after{border-bottom:1px solid #000;bottom:0;content:"";height:1px;left:0;margin-left:-8px;position:absolute;width:calc(100% + 16px)}.form-render__linebar:last-of-type .form-render__linebar--horizontalBorder:after{display:none}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:start;display:grid!important;gap:0 16px;gap:0;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column));grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__inputGroup>div{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex;flex:1;flex-wrap:wrap}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot{border-radius:0!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked{background:var(--c-primary-color)!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked:before{color:#fff;content:"✓";font-size:13px;font-weight:700;line-height:.8;transform:translateX(-1.5px)}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}.form-render--underline .n-input--textarea{background-image:linear-gradient(transparent,transparent 95%,#d5d5d5 0,#d5d5d5);background-origin:content-box;background-position:top;background-repeat:repeat-y;background-size:100% 22px;margin-top:4px;padding:0}.form-render--underline .n-input--textarea .n-input__textarea-el{padding:0}.form-render--underline .n-input--textarea .n-input__placeholder{padding-top:0}.form-render--underline .n-input--textarea .n-input__border,.form-render--underline .n-input--textarea .n-input__state-border{border:0!important}.form-render__selectChildField{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));width:100%}.form-render__selectChildFieldItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render--out-border .form-render__wrapper{border:1px solid #1f2225;padding:0 8px}.form-render__textMode--dateIcon{color:#c2c2c2;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.form-render__textMode--input{align-items:center;border:1px solid #d5d5d5;border-radius:3px;display:flex;height:32px;justify-content:space-between;max-height:32px;overflow:hidden;padding:0 7px;position:relative;white-space:nowrap;width:100%;word-break:keep-all}.form-render__textMode--inputPlaceholder{color:#c2c2c2}.form-render__textMode--inputDisabled{background-color:#f5f5f5;cursor:not-allowed}.form-render__textMode--inputDisabled .form-render__textMode--inputPlaceholder{color:#000}.form-render__textMode--input>span{flex:1;overflow:hidden}.form-render__textMode--input .n-input__prefix{margin-right:4px}.form-render__textMode--input .n-input__suffix{margin-left:4px}.form-render__selectOption.n-base-select-option--disabled .n-base-select-option__content{color:rgba(0,0,0,.4)}.ai-chat{background:linear-gradient(135deg,#c9dbfb,#c9dbfb 20%,rgba(237,237,253,.5) 70%,rgba(151,97,251,.2));color:#000;display:flex;flex-flow:column nowrap;font-size:14px;height:100%;padding:45px 0 60px;position:relative;width:100%}.ai-chat,.ai-chat *{box-sizing:border-box}.ai-chat .fillet-10{border-radius:10px}.ai-chat .fillet-8{border-radius:8px}.ai-chat .n-avatar{background-color:var(--c-primary-color)}.ai-chat .gradient{background:linear-gradient(178deg,#8f66f7,#4170ee);color:#fff}.ai-chat .gradient:active,.ai-chat .gradient:focus,.ai-chat .gradient:hover{color:#fff}.ai-chat .chat-main{display:flex;flex:1;flex-flow:column-reverse nowrap;overflow-y:auto;padding:0 130px 0 82px;row-gap:16px}.ai-chat .chat-main::-webkit-scrollbar{width:5px}.ai-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-main::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .chat-main .message-item{column-gap:8px;display:flex;flex-flow:row nowrap}.ai-chat .chat-main .message-item:first-child{margin-bottom:auto}.ai-chat .chat-main .message-item .n-avatar{flex-shrink:0}.ai-chat .chat-main .message-item .content-box .content{background:#fff;border-radius:10px;flex:unset;padding:10px 12px}.ai-chat .chat-main .message-item .content-box .content .card{min-width:236px}.ai-chat .chat-main .message-item .content-box .content .card>p{font-size:14px;line-height:19px}.ai-chat .chat-main .message-item .content-box .content .card .c-template-render .biClass{border-radius:5px;cursor:pointer}.ai-chat .chat-main .message-item .content-box .content .card .form-box .n-form:first-child{margin-top:10px}.ai-chat .chat-main .message-item .content-box .content .card .form-box .n-form-item-label__text{color:#888}.ai-chat .chat-main .message-item .content-box .content.default h2{font-size:22px;font-weight:500;margin:10px 0}.ai-chat .chat-main .message-item .content-box .content.loading{align-items:center;color:#999;column-gap:10px;display:flex}.ai-chat .chat-main .message-item .content-box.mine .content{background:hsla(0,0%,100%,.48);border-radius:8px}.ai-chat .chat-footer{padding:30px 130px 0}.ai-chat .chat-footer.disabled{cursor:not-allowed}.ai-chat .chat-footer .menu-box{background:#fff;column-gap:8px;display:flex;margin-bottom:8px;overflow-x:auto;padding:10px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{width:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{height:5px}.ai-chat .chat-footer .input-wrapper{background:#fff;box-shadow:0 3px 4px 0 rgba(0,0,0,.1);padding:15px 20px}.ai-chat .chat-footer .input-wrapper .n-input__border,.ai-chat .chat-footer .input-wrapper .n-input__state-border{border:none}.ai-chat .chat-footer .input-wrapper .n-input:not(.n-input--disabled).n-input--focus .n-input__state-border{box-shadow:unset}.ai-chat .chat-footer .input-wrapper .btn-box{display:flex;justify-content:flex-end}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send{align-items:center;cursor:pointer;display:flex;height:46px;justify-content:center;width:58px}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send.disabled{cursor:not-allowed;opacity:.5}.ai-chat .chat-footer .command-box{display:flex;flex-flow:column nowrap;height:100%}.ai-chat .chat-footer .command-box__header{display:flex}.ai-chat .chat-footer .command-box__header .title{color:#999}.ai-chat .chat-footer .command-box__menu{flex:1;overflow-y:auto}.ai-chat .chat-footer .command-box__menu .menu-item{align-items:center;display:flex;padding:8px 0 8px 5px}.ai-chat .chat-footer .command-box__menu .menu-item .remark{color:#999;flex:1;font-size:12px;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat .chat-footer .command-box__menu .menu-item .n-icon{margin-left:auto}.ai-chat .chat-footer .command-box__menu .menu-item:hover{cursor:default}.ai-chat .chat-footer .command-box__menu .menu-item.selected{background:#f2f2f2;border-radius:5px}.ai-chat .chat-footer .command-box__menu .menu-item.selectable{position:relative}.ai-chat .chat-footer .command-box__menu .menu-item.selectable .label{color:var(--c-primary-color);margin-left:30px}.ai-chat .chat-footer .command-box__menu .menu-item.selectable:before{background:#e5e5e5;border-radius:5px;content:"/";height:20px;left:5px;line-height:20px;position:absolute;text-align:center;top:10px;width:20px}.ai-chat--small{padding:20px 0 44px}.ai-chat--small .chat-main{padding:0 20px 10px}.ai-chat--small .chat-main .message-item{display:unset}.ai-chat--small .chat-main .message-item .n-avatar{background:transparent}.ai-chat--small .chat-main .message-item .content-box{display:flex;flex-flow:row nowrap}.ai-chat--small .chat-main .message-item .content-box .content{border-radius:3px 14px 14px;max-width:calc(100% - 55px)}.ai-chat--small .chat-main .message-item .content-box .content.default{border-radius:4px 16px 16px}.ai-chat--small .chat-main .message-item .content-box.mine{flex-flow:row-reverse nowrap}.ai-chat--small .chat-main .message-item .content-box.mine .content{background:#5874dc;border-radius:14px 0 14px 14px;color:#fff}.ai-chat--small .chat-footer{padding:10px 20px 0}.ai-chat--small .chat-footer .menu-box{background:none;padding:0}.ai-chat--small .chat-footer .menu-box .n-button{background:#fff}.ai-chat--small .chat-footer .input-wrapper{box-shadow:0 0 6px 0 hsla(240,9%,85%,.74);padding:5px 0}.ai-chat .prompt-wrapper{background:linear-gradient(135deg,#ecf3ff,#ecf3ff 20%,rgba(237,237,253,.5) 70%,rgba(203,175,255,.3))}.ai-chat .prompt-wrapper .n-drawer-header{padding:15px}.ai-chat .prompt-wrapper .n-drawer-header__main{width:100%}.ai-chat .prompt-wrapper .n-drawer-header__main .title{display:flex;font-size:14px}.ai-chat .prompt-wrapper .n-drawer-header__main .title .n-button{margin-left:auto}.ai-chat .prompt-wrapper .n-drawer-header__main .n-input{margin-top:10px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper{padding:0 10px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper{align-content:flex-start;display:flex;flex-wrap:wrap;height:100%;overflow-y:auto}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar{width:5px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item{background:#fff;border-radius:10px;box-sizing:border-box;break-inside:avoid;cursor:pointer;margin:5px;padding:10px;width:calc(50% - 10px)}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item:hover{background-image:linear-gradient(#ecf3ff,#fff 40%,#fff)}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item p:last-child{color:#999;font-size:12px}
1
+ .c-recording-wrapper{align-items:center;background-color:#fff;border-radius:10px;display:flex;flex-flow:column nowrap;height:350px;justify-content:center;padding:20px;width:500px}@keyframes toScale{0%{transform:translateX(-50%) translateY(-50%) scale(1)}to{transform:translateX(-50%) translateY(-50%) scale(1.5)}}.c-recording-wrapper .content{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;font-size:18px;overflow:hidden;text-align:center}.c-recording-wrapper .icon-box{background-color:#5585f5;cursor:pointer;margin:20px auto;position:relative}.c-recording-wrapper .icon-box,.c-recording-wrapper .icon-box:before{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;width:90px}.c-recording-wrapper .icon-box:before{animation:toScale 1s infinite;background-color:#5585f54d;content:"";left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(1);transform-origin:center center}.c-recording-wrapper .btns{display:flex;margin-top:10px}.c-recording-wrapper .btns .n-button:first-child{margin-right:30px}.n-dialog.n-modal.c-audio-form{padding:16px;width:auto}.n-dialog.n-modal.c-audio-form .n-form{min-width:500px;padding:0 5px}.c-card-render{box-sizing:border-box;color:#000;font-size:0;line-height:1.6}.c-card-render__flex{display:flex}.c-card-render__flexAlignCenter{align-items:center}.c-card-render__flex-wrap{flex-wrap:wrap}.c-card-render__flex1{flex:1}.c-card-render__width100{width:100%}.c-card-render__color60{color:rgba(0,0,0,.6)}.c-card-render__color100{color:#000}.c-card-render__text-ellipsis{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box!important;overflow:hidden;overflow-wrap:break-word;text-overflow:ellipsis;word-break:break-all}.c-card-render__nowrap{white-space:nowrap}.c-card-render__mgr8{margin-right:8px!important}.c-card-render__mgb8{margin-bottom:8px!important}.c-card-render__mgt4{margin-top:4px!important}.c-card-render__mgb4{margin-bottom:4px!important}.c-card-render__un-mgr8{margin-right:-8px!important}.c-card-render__bar{padding-left:8px;position:relative}.c-card-render__bar:before{background:var(--c-primary-color);border-radius:4px;content:"";height:12px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:4px}.c-card-render__inline{display:inline}.annotation-edit{align-items:center;color:var(--c-primary-color);cursor:pointer;display:inline-flex;font-size:16px;user-select:none}.annotation-edit.is-active{color:var(--c-primary-color);filter:hue-rotate(140deg)}.annotation-edit__icon{align-items:center;display:inline-flex}.annotation-edit__textarea{min-width:200px}.annotation-edit__footer{align-items:center;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;opacity:.5}.annotation-edit__footer>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotation-edit__footer>div:first-of-type{min-width:30%}.recommend-search__menu{min-height:100px}.recommend-search__menuRecommendList{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.recommend-search__menuRecommendList .n-tag{cursor:pointer}.recommend-search__recentRecommend{margin-bottom:8px}.recommend-search__recentRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__recentRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__commonRecommend{margin-bottom:8px}.recommend-search__commonRecommend>header{align-items:center;color:rgba(0,0,0,.4);display:flex;justify-content:space-between}.recommend-search__commonRecommend>header .n-icon:hover{color:rgba(0,0,0,.6);cursor:pointer}.recommend-search__option{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:space-between;padding:0 8px}.recommend-search__optionText{max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recommend-search__option.is-active{color:var(--n-color)!important}.recommend-search__option.is-active .n-icon{font-size:20px}.recommend-search__option:hover{background:rgba(0,0,0,.03)}.recommend-search__optionContainer{margin:-8px -10px}.recommend-search__empty{align-items:center;color:rgba(0,0,0,.3);display:flex;height:100px;justify-content:center}.search-cascader__menuWrapper{display:flex;flex-wrap:nowrap;margin:-8px -14px}.search-cascader__input input{cursor:pointer!important}.search-cascader__option{align-items:center;border-radius:4px;box-sizing:border-box;display:flex;height:32px;justify-content:space-between;min-width:100%;padding:0 8px 0 16px;width:fit-content}.search-cascader__option--active{background:#f8f8f8}.search-cascader__option:hover{background:#f5f5f5;cursor:pointer}.search-cascader__optionWrapper{background:#fff;height:256px;overflow-x:auto;width:calc(var(--menu-width)*1px)}.search-cascader__optionWrapper:not(:last-of-type){border:solid #e5e5e5;border-width:0 1px 0 0}.search-cascader__optionText{white-space:nowrap}.search-cascader__optionText--active{color:var(--c-primary-color)}.search-cascader__option svg{color:#bfbfbf;flex-shrink:0;font-size:12px;width:20px}.search-cascader__option svg.rotate{animation:rotate 1s linear infinite}.search-cascader__emptyWrapper{align-items:center;background:#fff;box-sizing:border-box;display:flex;height:300px;justify-content:center;padding:16px;width:100%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.form-render__wrapper{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));max-height:var(--form-height);overflow-y:auto;position:relative}.form-render__formItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column));position:relative}.form-render__formItemMask{margin-bottom:8px;padding:8px}.form-render__formItemMask:after{border:1px solid #c2c2c2;border-radius:8px;box-sizing:border-box;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.form-render__formItemMask--selected:after{border-color:var(--c-primary-color)}.form-render__formItemMask--selected:before{border-bottom:12px solid var(--c-primary-color);border-bottom-right-radius:8px;border-left:12px solid transparent;border-right:12px solid var(--c-primary-color);border-top:12px solid transparent;bottom:0;color:#fff;content:"✓";font-size:10px;height:0;line-height:.9;position:absolute;right:0;width:0}.form-render__formItem.n-form-item--left-labelled .form-render__formItemLabel--text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-render__formItem .n-date-picker,.form-render__formItem .n-input-number{width:100%}.form-render__formItemLabel{align-items:center;display:inline-flex;justify-content:space-between;position:relative}.form-render__formItemLabel--operation{align-items:center;display:flex;gap:2px;position:absolute;right:0;top:50%;transform:translateY(-50%)}.form-render__formItemLabel--tooltip{font-size:0;line-height:1;width:16px}.form-render__formItem .n-form-item-label{display:inline-flex}.form-render__formItem .n-form-item-label [annotation-hover-show=true]{visibility:hidden}.form-render__formItem .n-form-item-label:hover [annotation-hover-show=true]{visibility:visible}.form-render__linebar{grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column))}.form-render__linebarHeader{align-items:center;background:var(--c-primary-color-opacity2);border-radius:4px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:space-between;margin-bottom:8px;padding:0 16px}.form-render__linebarHeader>svg{color:rgba(33,33,33,.4);width:14px}.form-render__linebarHeaderTitle{align-items:center;display:flex;font-size:15px;gap:4px;vertical-align:middle}.form-render__linebarHeaderTitle svg{height:16px;transform:translateY(-1px)}.form-render__linebarHeader--disabled{cursor:auto}.form-render__linebarItem{align-items:start;display:grid!important;flex:1;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__linebar--horizontal{align-items:stretch;display:flex;position:relative}.form-render__linebar--horizontal .form-render__linebarHeader{align-items:center;background:transparent;border-radius:0;box-sizing:border-box;display:flex;height:unset;justify-content:center;margin-bottom:0;margin-left:-8px;max-width:var(--form-render-linebar-width);padding:8px;text-align:center;width:var(--form-render-linebar-width);word-break:break-all}.form-render__linebar--horizontal .form-render__linebarItem{padding:8px 0 8px 8px}.form-render__linebar--horizontalBorder:after{border-bottom:1px solid #000;bottom:0;content:"";height:1px;left:0;margin-left:-8px;position:absolute;width:calc(100% + 16px)}.form-render__linebar:last-of-type .form-render__linebar--horizontalBorder:after{display:none}.form-render__linebreaks{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup{align-items:start;display:grid!important;gap:0 16px;gap:0;grid-column:span min(var(--column),var(--column)) /span min(var(--column),var(--column));grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__inputGroup>div{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render__inputGroup>div:not(:last-of-type) .n-base-selection__border,.form-render__inputGroup>div:not(:last-of-type) .n-input__border{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0}.form-render__inputGroup>div:last-of-type .n-base-selection__border,.form-render__inputGroup>div:last-of-type .n-input__border{border-bottom-left-radius:0;border-top-left-radius:0}.form-render__inputGroup .n-form-item--left-labelled:not(:first-of-type)>label{display:none}.form-render__combination{width:100%}.form-render__combinationHeader{display:flex;gap:12px}.form-render__combinationHeader>h3{font-size:16px;font-weight:700;margin:0;padding:0}.form-render__combinationHeader .n-button__icon{font-size:14px;margin:0 2px 0 0}.form-render__combinationHeaderText{font-size:16px;font-weight:500}.form-render__combinationClose{font-size:16px;height:14px;position:absolute;right:5px;top:5px;width:14px}.form-render__combinationContentJson{position:relative}.form-render__combinationContent{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));position:relative}.form-render__complex{width:100%}.form-render__complexContent--grid{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr))}.form-render__complexContent--flex{display:flex!important;gap:0 8px}.form-render__selectMenu .n-scrollbar-rail__scrollbar{display:none!important}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar,.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{display:unset!important;height:6px;width:6px}.form-render__selectMenu .n-virtual-list::-webkit-scrollbar-thumb{background:#bfbfbf;border-radius:4px}.form-render__selectMenu .v-vl-items{min-width:100%;width:max-content}.form-render__selectOption .n-base-select-option__content{overflow:visible!important;text-overflow:unset!important;word-break:keep-all!important}.form-render__labelField{align-items:start;display:grid!important;display:inline-grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));grid-template-columns:repeat(var(--column),auto)!important;margin-left:16px}.form-render__labelField .n-form-item{display:inline-grid}.form-render__labelField label.n-form-item-label.n-form-item-label--left-mark{align-items:center}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box{background-color:transparent}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-icon .check-icon{opacity:0}.form-render__labelField .n-checkbox[aria-checked=false] .n-checkbox-box__border{border:var(--n-border)}.form-render .form-render__formItem .n-checkbox,.form-render .form-render__formItem .n-radio{align-items:center}.form-render .form-render__formItem .n-radio-input{left:auto;right:auto}.form-render .form-render__formItem .n-checkbox-group>.n-space:not([vertical-space=true]),.form-render .form-render__formItem .n-radio-group>.n-space:not([vertical-space=true]){align-items:center!important}.form-render .form-render__formItem .n-checkbox__label{align-items:center;display:inline-flex;flex:1;flex-wrap:wrap}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot{border-radius:0!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked{background:var(--c-primary-color)!important}.form-render .form-render__formItem [showType=checkbox] .n-radio__dot--checked:before{color:#fff;content:"✓";font-size:13px;font-weight:700;line-height:.8;transform:translateX(-1.5px)}.form-render--no-border .n-input{border-radius:0}.form-render--no-border .n-input__border,.form-render--no-border .n-input__state-border{border-width:0!important}.form-render--no-border .n-input:hover .n-input__state-border{border-bottom-width:1px!important}.form-render--no-border .n-input--focus{border-radius:0}.form-render--no-border .n-input--focus .n-input__state-border{border-bottom-width:1px!important;box-shadow:none!important}.form-render--no-border .n-base-selection--active .n-base-selection__state-border,.form-render--no-border .n-base-selection--focus .n-base-selection__state-border,.form-render--no-border .n-base-selection:hover .n-base-selection__state-border,.form-render--no-border .n-base-selection__border,.form-render--no-border .n-base-selection__state-border{border-width:0!important;box-shadow:none!important}.form-render--underline .n-input{border-radius:0}.form-render--underline .n-input__border,.form-render--underline .n-input__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important}.form-render--underline .n-input--focus{border-radius:0}.form-render--underline .n-input--focus .n-input__state-border{box-shadow:none!important}.form-render--underline .n-base-selection--active .n-base-selection__state-border,.form-render--underline .n-base-selection--focus .n-base-selection__state-border,.form-render--underline .n-base-selection:hover .n-base-selection__state-border,.form-render--underline .n-base-selection__border,.form-render--underline .n-base-selection__state-border{border-left-width:0!important;border-right-width:0!important;border-top-width:0!important;box-shadow:none!important}.form-render--underline .n-input--textarea{background-image:linear-gradient(transparent,transparent 95%,#d5d5d5 0,#d5d5d5);background-origin:content-box;background-position:top;background-repeat:repeat-y;background-size:100% 22px;margin-top:4px;padding:0}.form-render--underline .n-input--textarea .n-input__textarea-el{padding:0}.form-render--underline .n-input--textarea .n-input__placeholder{padding-top:0}.form-render--underline .n-input--textarea .n-input__border,.form-render--underline .n-input--textarea .n-input__state-border{border:0!important}.form-render__selectChildField{align-items:start;display:grid!important;gap:0 16px;grid-template-columns:repeat(var(--column),minmax(0,1fr));width:100%}.form-render__selectChildFieldItem{grid-column:span min(var(--column),var(--form-item-column)) /span min(var(--column),var(--form-item-column))}.form-render--out-border .form-render__wrapper{border:1px solid #1f2225;padding:0 8px}.form-render__textMode--dateIcon{color:#c2c2c2;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.form-render__textMode--input{align-items:center;border:1px solid #d5d5d5;border-radius:3px;display:flex;height:32px;justify-content:space-between;max-height:32px;overflow:hidden;padding:0 7px;position:relative;white-space:nowrap;width:100%;word-break:keep-all}.form-render__textMode--inputPlaceholder{color:#c2c2c2}.form-render__textMode--inputDisabled{background-color:#f5f5f5;cursor:not-allowed}.form-render__textMode--inputDisabled .form-render__textMode--inputPlaceholder{color:#000}.form-render__textMode--input>span{flex:1;overflow:hidden}.form-render__textMode--input .n-input__prefix{margin-right:4px}.form-render__textMode--input .n-input__suffix{margin-left:4px}.form-render__selectOption.n-base-select-option--disabled .n-base-select-option__content{color:rgba(0,0,0,.4)}.ai-chat{background:linear-gradient(135deg,#c9dbfb,#c9dbfb 20%,rgba(237,237,253,.5) 70%,rgba(151,97,251,.2));color:#000;display:flex;flex-flow:column nowrap;font-size:14px;height:100%;padding:45px 0 60px;position:relative;width:100%}.ai-chat,.ai-chat *{box-sizing:border-box}.ai-chat .fillet-10{border-radius:10px}.ai-chat .fillet-8{border-radius:8px}.ai-chat .n-avatar{background-color:var(--c-primary-color)}.ai-chat .gradient{background:linear-gradient(178deg,#8f66f7,#4170ee);color:#fff}.ai-chat .gradient:active,.ai-chat .gradient:focus,.ai-chat .gradient:hover{color:#fff}.ai-chat .chat-main{display:flex;flex:1;flex-flow:column-reverse nowrap;overflow-y:auto;padding:0 130px 0 82px;row-gap:16px}.ai-chat .chat-main::-webkit-scrollbar{width:5px}.ai-chat .chat-main::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-main::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .chat-main .message-item{column-gap:8px;display:flex;flex-flow:row nowrap}.ai-chat .chat-main .message-item:first-child{margin-bottom:auto}.ai-chat .chat-main .message-item .n-avatar{flex-shrink:0}.ai-chat .chat-main .message-item .content-box .content{background:#fff;border-radius:10px;flex:unset;padding:10px 12px}.ai-chat .chat-main .message-item .content-box .content .card{min-width:236px}.ai-chat .chat-main .message-item .content-box .content .card>p{font-size:14px;line-height:19px}.ai-chat .chat-main .message-item .content-box .content .card .c-template-render .biClass{border-radius:5px;cursor:pointer}.ai-chat .chat-main .message-item .content-box .content .card .form-box .n-form:first-child{margin-top:10px}.ai-chat .chat-main .message-item .content-box .content .card .form-box .n-form-item-label__text{color:#888}.ai-chat .chat-main .message-item .content-box .content.default h2{font-size:22px;font-weight:500;margin:10px 0}.ai-chat .chat-main .message-item .content-box .content.loading{align-items:center;color:#999;column-gap:10px;display:flex}.ai-chat .chat-main .message-item .content-box.mine .content{background:hsla(0,0%,100%,.48);border-radius:8px}.ai-chat .chat-footer{padding:30px 130px 0}.ai-chat .chat-footer.disabled{cursor:not-allowed}.ai-chat .chat-footer .menu-box{background:#fff;column-gap:8px;display:flex;margin-bottom:8px;overflow-x:auto;padding:10px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{width:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .chat-footer .menu-box::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .chat-footer .menu-box::-webkit-scrollbar{height:5px}.ai-chat .chat-footer .input-wrapper{background:#fff;box-shadow:0 3px 4px 0 rgba(0,0,0,.1);padding:15px 20px}.ai-chat .chat-footer .input-wrapper .n-input__border,.ai-chat .chat-footer .input-wrapper .n-input__state-border{border:none}.ai-chat .chat-footer .input-wrapper .n-input:not(.n-input--disabled).n-input--focus .n-input__state-border{box-shadow:unset}.ai-chat .chat-footer .input-wrapper .btn-box{display:flex;justify-content:flex-end}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send{align-items:center;cursor:pointer;display:flex;height:46px;justify-content:center;width:58px}.ai-chat .chat-footer .input-wrapper .btn-box .btn-send.disabled{cursor:not-allowed;opacity:.5}.ai-chat .chat-footer .command-box{display:flex;flex-flow:column nowrap;height:100%}.ai-chat .chat-footer .command-box__header{display:flex}.ai-chat .chat-footer .command-box__header .title{color:#999}.ai-chat .chat-footer .command-box__menu{flex:1;overflow-y:auto}.ai-chat .chat-footer .command-box__menu .menu-item{align-items:center;display:flex;padding:8px 0 8px 5px}.ai-chat .chat-footer .command-box__menu .menu-item .remark{color:#999;flex:1;font-size:12px;margin-left:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat .chat-footer .command-box__menu .menu-item .n-icon{margin-left:auto}.ai-chat .chat-footer .command-box__menu .menu-item:hover{cursor:default}.ai-chat .chat-footer .command-box__menu .menu-item.selected{background:#f2f2f2;border-radius:5px}.ai-chat .chat-footer .command-box__menu .menu-item.selectable{position:relative}.ai-chat .chat-footer .command-box__menu .menu-item.selectable .label{color:var(--c-primary-color);margin-left:30px}.ai-chat .chat-footer .command-box__menu .menu-item.selectable:before{background:#e5e5e5;border-radius:5px;content:"/";height:20px;left:5px;line-height:20px;position:absolute;text-align:center;top:10px;width:20px}.ai-chat--small{padding:20px 0 44px}.ai-chat--small .chat-main{padding:0 20px 10px}.ai-chat--small .chat-main .message-item{display:unset}.ai-chat--small .chat-main .message-item .n-avatar{background:transparent}.ai-chat--small .chat-main .message-item .content-box{display:flex;flex-flow:row nowrap}.ai-chat--small .chat-main .message-item .content-box .content{border-radius:3px 14px 14px;max-width:calc(100% - 55px)}.ai-chat--small .chat-main .message-item .content-box .content.default{border-radius:4px 16px 16px}.ai-chat--small .chat-main .message-item .content-box.mine{flex-flow:row-reverse nowrap}.ai-chat--small .chat-main .message-item .content-box.mine .content{background:#5874dc;border-radius:14px 0 14px 14px;color:#fff}.ai-chat--small .chat-footer{padding:10px 20px 0}.ai-chat--small .chat-footer .menu-box{background:none;padding:0}.ai-chat--small .chat-footer .menu-box .n-button{background:#fff}.ai-chat--small .chat-footer .input-wrapper{box-shadow:0 0 6px 0 hsla(240,9%,85%,.74);padding:5px 0}.ai-chat .prompt-wrapper{background:linear-gradient(135deg,#ecf3ff,#ecf3ff 20%,rgba(237,237,253,.5) 70%,rgba(203,175,255,.3))}.ai-chat .prompt-wrapper .n-drawer-header{padding:15px}.ai-chat .prompt-wrapper .n-drawer-header__main{width:100%}.ai-chat .prompt-wrapper .n-drawer-header__main .title{display:flex;font-size:14px}.ai-chat .prompt-wrapper .n-drawer-header__main .title .n-button{margin-left:auto}.ai-chat .prompt-wrapper .n-drawer-header__main .n-input{margin-top:10px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper{padding:0 10px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper{align-content:flex-start;display:flex;flex-wrap:wrap;height:100%;overflow-y:auto}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar{width:5px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar-thumb{background:rgba(0,0,0,.25);border-radius:5px}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper::-webkit-scrollbar-track-piece{background-color:unset}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item{background:#fff;border-radius:10px;box-sizing:border-box;break-inside:avoid;cursor:pointer;margin:5px;padding:10px;width:calc(50% - 10px)}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item:hover{background-image:linear-gradient(#ecf3ff,#fff 40%,#fff)}.ai-chat .prompt-wrapper .n-drawer-body-content-wrapper .list-wrapper .item p:last-child{color:#999;font-size:12px}
@@ -1,4 +1,4 @@
1
- import { ComponentInternalInstance } from 'vue';
1
+ import { AnyObject } from '../../../shared/types';
2
2
  import 'recorder-core/src/engine/mp3';
3
3
  import 'recorder-core/src/engine/mp3-engine';
4
4
  export default class AudioSDK {
@@ -15,22 +15,22 @@ export default class AudioSDK {
15
15
  private timer;
16
16
  private option;
17
17
  private hasEventListener;
18
+ private loading;
18
19
  isReady: boolean;
19
20
  constructor();
20
21
  static create(): AudioSDK;
21
22
  private initRecorder;
22
23
  private onProcess;
23
24
  private takeoffEncodeChunk;
24
- run(instance: ComponentInternalInstance, handle: {
25
+ private toSend;
26
+ run(handle: {
25
27
  resolve: Function;
26
28
  reject: Function;
27
29
  }): void;
28
- start(instance: ComponentInternalInstance, option?: {
29
- realTimeRecognition?: boolean;
30
- allowPunctuationMark?: boolean;
31
- timed?: number;
32
- }): Promise<unknown>;
30
+ start(option?: AnyObject): Promise<unknown>;
33
31
  stop(): void;
32
+ private toEdit;
33
+ createMedicalRecord(data: AnyObject): void;
34
34
  private handleError;
35
35
  private handleMessage;
36
36
  private handleKeydown;
@@ -1 +1 @@
1
- import{ref as e}from"vue";import t from"recorder-core";import"recorder-core/src/engine/mp3";import"recorder-core/src/engine/mp3-engine";import{RecordingModal as s}from"./utils/recordingModal.js";const i=class{constructor(){if(this.recordingModal=new s,this.webSocket=null,this.messageHandlerQueue=[],this.recorder=null,this.contentRef=e(""),this.realTimeSendStartTime=0,this.realTimeSendBytesChunks=[],this.realTimeSendClearPrevBufferIdx=0,this.timer=null,this.option={},this.hasEventListener=!1,this.isReady=!1,i.instance)return i.instance;i.instance=this}static create(){return new i}initRecorder(){this.recorder=t({type:"mp3",sampleRate:16e3,bitRate:16,...this.option.realTimeRecognition?{onProcess:this.onProcess.bind(this),takeoffEncodeChunk:this.takeoffEncodeChunk.bind(this)}:{}})}async onProcess(e,t,s,i,r){0===this.realTimeSendStartTime&&(this.realTimeSendStartTime=Date.now(),this.realTimeSendBytesChunks=[],this.realTimeSendClearPrevBufferIdx=0);for(let t=this.realTimeSendClearPrevBufferIdx;t<r;t++)e[t]=null;this.realTimeSendClearPrevBufferIdx=r}async takeoffEncodeChunk(e){var t;e&&this.realTimeSendBytesChunks.push(e);const s=Date.now();if(s-this.realTimeSendStartTime<i.sendInterval)return;this.realTimeSendStartTime=s;let r=0;for(let e=0;e<this.realTimeSendBytesChunks.length;e++)r+=this.realTimeSendBytesChunks[e].length;const n=new Uint8Array(r);for(let e=0,t=0;e<this.realTimeSendBytesChunks.length;e++){const s=this.realTimeSendBytesChunks[e];n.set(s,t),t+=s.length}if(this.realTimeSendBytesChunks=[],n.length>0){const e=new Blob([n],{type:"audio/wav"});null==(t=this.webSocket)||t.send(e)}}run(e,t){this.recorder||this.initRecorder(),this.messageHandlerQueue.push(t),this.option.timed&&(this.timer=setTimeout((()=>{this.stop()}),1e3*this.option.timed)),this.recorder.open((()=>{this.recorder.start(),this.recordingModal.show(e,{contentRef:this.contentRef,onClose:()=>this.stop()})}),((e,t)=>{this.handleError({msg:e,isUserNotAllow:t})}))}start(e,t={}){return Object.assign(this.option,t),new Promise(((t,s)=>{if(this.messageHandlerQueue.length>0)return void s({result:"fail",msg:"当前已存在正在录音的任务"});if(this.hasEventListener||(document.addEventListener("keydown",this.handleKeydown),this.hasEventListener=!0),!this.webSocket)return this.webSocket=new WebSocket("wss://emr-tl.cnhis.com/audio/socket"),this.webSocket.onopen=()=>{this.isReady=!0,this.run(e,{resolve:t,reject:s})},this.webSocket.onmessage=this.handleMessage.bind(this),this.webSocket.onerror=()=>console.log("WebSocket连接失败"),void(this.webSocket.binaryType="blob");const i=this;!async function r(n=0){if(n>5)return s({result:"fail",msg:"WebSocket连接失败"});i.isReady?i.run(e,{resolve:t,reject:s}):setTimeout((()=>{r(++n)}),100)}()}))}stop(){if(this.recordingModal.hide(),this.option.realTimeRecognition){const e=this.messageHandlerQueue.shift();if(!e)return;const{resolve:t,reject:s}=e;t({result:"success",data:{text:this.contentRef.value}}),this.reset()}else this.recorder.stop((async(e,t)=>{var s;null==(s=this.webSocket)||s.send(e)}),(e=>{this.handleError({msg:e})}),!0)}handleError(e){const t=this.messageHandlerQueue.shift();if(!t)return;const{resolve:s,reject:i}=t;i({result:"fail",...e}),this.reset()}handleMessage(e){const{data:t}=e||{};if(!function(e){try{return JSON.parse(e),!0}catch(e){return!1}}(t))return void this.handleError({msg:"接收数据不是一个有效SJON"});const s=JSON.parse(t);if("success"===s.msg)if(this.option.realTimeRecognition)this.contentRef.value+=s.data.text.replace(/[??,。,.\s]/g,"");else{const e=this.messageHandlerQueue.shift();if(!e)return;const{resolve:t,reject:i}=e;t({result:"success",data:s.data.text.replace(/[??,。,.\s]/g,"")}),this.reset()}else this.handleError({msg:s.msg})}handleKeydown(e){var t,s,r,n;if(" "===e.key||"Space"===e.code){if(!(null==(s=null==(t=i.instance)?void 0:t.recordingModal)?void 0:s.rendered)||0===(null==(r=i.instance)?void 0:r.messageHandlerQueue.length))return;e.preventDefault(),null==(n=i.instance)||n.stop()}}reset(){var e;null==(e=this.recorder)||e.close(),this.realTimeSendStartTime=0,this.contentRef.value="",this.timer&&(clearTimeout(this.timer),this.timer=null),this.option={realTimeRecognition:!1,allowPunctuationMark:!0,timed:5},this.messageHandlerQueue=[]}destroy(){this.webSocket&&(this.webSocket.close(),this.webSocket=null,this.isReady=!1),document.removeEventListener("keydown",this.handleKeydown),this.hasEventListener=!1,this.reset(),this.recorder=null}static destroy(){i.instance&&(i.instance.destroy(),i.instance=null)}};let r=i;r.sendInterval=1500;export{r as default};
1
+ import{ref as e,nextTick as t}from"vue";import i from"recorder-core";import"recorder-core/src/engine/mp3";import"recorder-core/src/engine/mp3-engine";import{RecordingModal as s}from"./utils/recordingModal.js";import n from"axios";import{isString as r}from"lodash-es";const o=class{constructor(){if(this.recordingModal=new s,this.webSocket=null,this.messageHandlerQueue=[],this.recorder=null,this.contentRef=e(""),this.realTimeSendStartTime=0,this.realTimeSendBytesChunks=[],this.realTimeSendClearPrevBufferIdx=0,this.timer=null,this.option={},this.hasEventListener=!1,this.loading=!1,this.isReady=!1,o.instance)return o.instance;o.instance=this}static create(){return new o}initRecorder(){this.recorder=i({type:"mp3",sampleRate:16e3,bitRate:16,...this.option.realTimeRecognition?{onProcess:this.onProcess.bind(this),takeoffEncodeChunk:this.takeoffEncodeChunk.bind(this)}:{}})}async onProcess(e,t,i,s,n){0===this.realTimeSendStartTime&&(this.realTimeSendStartTime=Date.now(),this.realTimeSendBytesChunks=[],this.realTimeSendClearPrevBufferIdx=0);for(let t=this.realTimeSendClearPrevBufferIdx;t<n;t++)e[t]=null;this.realTimeSendClearPrevBufferIdx=n}async takeoffEncodeChunk(e){e&&this.realTimeSendBytesChunks.push(e);const t=Date.now();if(t-this.realTimeSendStartTime<o.sendInterval)return;this.realTimeSendStartTime=t;let i=0;for(let e=0;e<this.realTimeSendBytesChunks.length;e++)i+=this.realTimeSendBytesChunks[e].length;const s=new Uint8Array(i);for(let e=0,t=0;e<this.realTimeSendBytesChunks.length;e++){const i=this.realTimeSendBytesChunks[e];s.set(i,t),t+=i.length}if(this.realTimeSendBytesChunks=[],s.length>0){const e=new Blob([s],{type:"audio/mp3"});this.toSend(e)}}toSend(e){if((null==e?void 0:e.size)>0){const t=new FileReader;t.onloadend=()=>{var e,i;const s=null==(e=t.result)?void 0:e.toString().split(",")[1];s&&(null==(i=this.webSocket)||i.send(JSON.stringify({data:s})))},t.readAsDataURL(e)}}run(e){this.recorder||this.initRecorder(),this.messageHandlerQueue.push(e),this.option.timed&&(this.timer=setTimeout((()=>{this.stop()}),1e3*this.option.timed)),this.recorder.open((()=>{this.recorder.start(),this.recordingModal.show({instance:this.option.instance,onClose:()=>this.stop(),toEdit:()=>this.toEdit(),props:{contentRef:this.contentRef,showBtn:this.option.isGenerateMedicalRecord}})}),((e,t)=>{this.handleError({msg:e,isUserNotAllow:t})}))}start(e={}){return Object.assign(this.option,e),new Promise(((e,t)=>{if(this.messageHandlerQueue.length>0)return void t({result:"fail",msg:"当前已存在正在录音的任务"});if(this.hasEventListener||(document.addEventListener("keydown",this.handleKeydown),this.hasEventListener=!0),!this.webSocket)return this.webSocket=new WebSocket(this.option.origin||"/flow/ws/speech"),this.webSocket.onopen=()=>{this.isReady=!0,this.run({resolve:e,reject:t})},this.webSocket.onmessage=this.handleMessage.bind(this),void(this.webSocket.onerror=()=>console.log("WebSocket连接失败"));const i=this;!async function s(n=0){if(n>5)return t({result:"fail",msg:"WebSocket连接失败"});i.isReady?i.run({resolve:e,reject:t}):setTimeout((()=>{s(++n)}),100)}()}))}stop(){if(this.recordingModal.hide(),this.option.realTimeRecognition){const e=this.messageHandlerQueue.shift();if(!e)return;const{resolve:t,reject:i}=e;t({result:"success",data:this.contentRef.value}),this.reset()}else this.recorder.stop((async(e,t)=>{this.toSend(e)}),(e=>{this.handleError({msg:e})}),!0)}async toEdit(){var e;try{this.loading=!0,null==(e=this.recorder)||e.stop(((e,t)=>{}),(e=>{}));const{data:i}=await n.post("/flow/openApi/consultationRecord",{taskId:1,audioText:this.contentRef.value,medicalTemplateInfo:this.option.medicalTemplateInfo},{headers:{Authorization:`bearer ${this.option.token}`}});this.loading=!1,this.recordingModal.hide(),await t(),this.recordingModal.show({modalType:"form",instance:this.option.instance,onClose:()=>this.stop(),createMedicalRecord:e=>this.createMedicalRecord(e),props:{configs:l(this.option.medicalTemplateInfo||[]),data:(null==i?void 0:i.data)||{}}})}catch(e){this.handleError({msg:"请求错误"})}finally{this.loading=!1}}createMedicalRecord(e){var t;null==(t=this.recordingModal)||t.hide();const i=this.messageHandlerQueue.shift();if(!i)return;const{resolve:s,reject:n}=i;s({result:"success",data:this.contentRef.value,medicalTemplateInfo:d(e,this.option.medicalTemplateInfo||[])}),this.reset()}handleError(e){const t=this.messageHandlerQueue.shift();if(!t)return;const{resolve:i,reject:s}=t;s({result:"fail",...e}),this.reset()}handleMessage(e){const{data:t}=e||{};if(r(t))if(this.option.realTimeRecognition){const e=this.option.allowPunctuationMark?t:t.replace(/[??,。,.\s]/g,"");this.contentRef.value+=e}else{const e=this.messageHandlerQueue.shift();if(!e)return;const{resolve:i,reject:s}=e;i({result:"success",data:this.option.allowPunctuationMark?t:t.replace(/[??,。,.\s]/g,"")}),this.reset()}else this.handleError({msg:"接收到的数据不是一个有效字符串"})}handleKeydown(e){var t,i,s,n,r,a,l;if(" "===e.key||"Space"===e.code){if(console.log("空格 ==>",null==(t=o.instance)?void 0:t.loading),!(null==(s=null==(i=o.instance)?void 0:i.recordingModal)?void 0:s.rendered)||"recording"!==(null==(n=o.instance)?void 0:n.recordingModal.modalType)||(null==(r=o.instance)?void 0:r.loading)||0===(null==(a=o.instance)?void 0:a.messageHandlerQueue.length))return;e.preventDefault(),null==(l=o.instance)||l.stop()}}reset(){var e;null==(e=this.recorder)||e.close(),this.realTimeSendStartTime=0,this.contentRef.value="",this.timer&&(clearTimeout(this.timer),this.timer=null),Object.assign(this.option,{realTimeRecognition:!1,allowPunctuationMark:!0,timed:5,isGenerateMedicalRecord:!1}),this.messageHandlerQueue=[],this.loading=!1}destroy(){this.webSocket&&(this.webSocket.close(),this.webSocket=null,this.isReady=!1),document.removeEventListener("keydown",this.handleKeydown),this.hasEventListener=!1,this.reset(),this.recorder=null}static destroy(){o.instance&&(o.instance.destroy(),o.instance=null)}};let a=o;function l(e){return e.reduce(((e,t)=>{var i;return(null==(i=t.children)?void 0:i.length)?Object.assign(e,l(t.children)):e[t.innerIdentifier||t.dataId]=t.elementName,e}),{})}function d(e,t=[]){const i=[];return t.forEach((t=>{var s;if(null==(s=t.children)?void 0:s.length){const s={...t,children:d(e,t.children)};i.push(s)}else i.push({...t,text:e[t.innerIdentifier||t.dataId]})})),i}a.sendInterval=2e3;export{a as default};
@@ -0,0 +1,49 @@
1
+ import { PropType } from 'vue';
2
+ declare const _default: import("vue").DefineComponent<{
3
+ configs: {
4
+ type: PropType<Record<string, string>>;
5
+ };
6
+ data: {
7
+ type: PropType<Record<string, string>>;
8
+ };
9
+ }, {
10
+ cssVars: import("vue").ComputedRef<import("../../../../shared/types").AnyObject>;
11
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
12
+ configs: {
13
+ type: PropType<Record<string, string>>;
14
+ };
15
+ data: {
16
+ type: PropType<Record<string, string>>;
17
+ };
18
+ }>> & {
19
+ onFinish?: ((...args: any[]) => any) | undefined;
20
+ }>>;
21
+ emit: (event: "finish", ...args: any[]) => void;
22
+ dynamicForm: {
23
+ list: {
24
+ label: string;
25
+ key: string;
26
+ value: string;
27
+ }[];
28
+ };
29
+ initForm: () => void;
30
+ handleClear: () => void;
31
+ onFinish: () => void;
32
+ NModal: any;
33
+ NForm: any;
34
+ NFormItem: any;
35
+ NSpace: any;
36
+ NButton: any;
37
+ NInput: any;
38
+ NScrollbar: any;
39
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "finish"[], "finish", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
40
+ configs: {
41
+ type: PropType<Record<string, string>>;
42
+ };
43
+ data: {
44
+ type: PropType<Record<string, string>>;
45
+ };
46
+ }>> & {
47
+ onFinish?: ((...args: any[]) => any) | undefined;
48
+ }, {}>;
49
+ export default _default;
@@ -0,0 +1 @@
1
+ import r from"./form.vue2.js";import e from"../../../../_virtual/_plugin-vue_export-helper.js";var o=e(r,[["__file","form.vue"]]);export{o as default};
@@ -0,0 +1 @@
1
+ import{defineComponent as e,reactive as t,openBlock as o,createBlock as a,unref as l,normalizeStyle as s,withCtx as i,createVNode as r,createElementBlock as n,Fragment as u,renderList as d,createTextVNode as p}from"vue";import{NModal as c,NScrollbar as m,NForm as f,NFormItem as h,NInput as v,NSpace as y,NButton as g}from"naive-ui";import{useTheme as k}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"@vicons/ionicons5";import"../../../../shared/hooks/useScrollLoading.js";var w=e({__name:"form",props:{configs:{type:Object},data:{type:Object}},emits:["finish"],setup(e,{emit:w}){const b=e,x=k(),_=t({list:[]});function j(){_.list.forEach((e=>{e.value=""}))}function C(){const e=_.list.reduce(((e,t)=>(e[t.key]=t.value,e)),{});w("finish",e)}return function(){var e;for(const t in b.configs)_.list.push({label:b.configs[t],key:t,value:(null==(e=b.data)?void 0:e[t])||""})}(),(e,t)=>(o(),a(l(c),{preset:"dialog",style:s(l(x)),class:"c-audio-form",title:"病历转录结果","close-on-esc":!1,"mask-closable":!1,"show-icon":!1},{default:i((()=>[r(l(m),{style:{"max-height":"600px"}},{default:i((()=>[r(l(f),{ref:"formRef",model:_,style:{maxWidth:"600px"}},{default:i((()=>[(o(!0),n(u,null,d(_.list,(e=>(o(),a(l(h),{key:e.key,label:e.label,path:e.key},{default:i((()=>{var t;return[r(l(v),{placeholder:(null==(t=window.getLanguageByCode)?void 0:t.call(window,"10010.1.383"))||"请输入",type:"textarea",value:e.value,"onUpdate:value":t=>e.value=t,clearable:"",autosize:{minRows:3,maxRows:5}},null,8,["value","onUpdate:value"])]})),_:2},1032,["label","path"])))),128))])),_:1},8,["model"])])),_:1}),r(l(y),{justify:"center","wrap-item":!1,size:30,style:{"margin-top":"15px"}},{default:i((()=>[r(l(g),{type:"primary",onClick:C},{default:i((()=>[p("导入病历")])),_:1}),r(l(g),{"attr-type":"button",onClick:j},{default:i((()=>{var e;return[p((null==(e=window.getLanguageByCode)?void 0:e.call(window,"10010.1.509"))||"清空")]})),_:1})])),_:1})])),_:1},8,["style"]))}});export{w as default};
@@ -3,6 +3,9 @@ declare const _default: import("vue").DefineComponent<{
3
3
  type: StringConstructor;
4
4
  default: string;
5
5
  };
6
+ showBtn: {
7
+ type: BooleanConstructor;
8
+ };
6
9
  }, {
7
10
  cssVars: import("vue").ComputedRef<import("../../../../shared/types").AnyObject>;
8
11
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
@@ -10,22 +13,35 @@ declare const _default: import("vue").DefineComponent<{
10
13
  type: StringConstructor;
11
14
  default: string;
12
15
  };
16
+ showBtn: {
17
+ type: BooleanConstructor;
18
+ };
13
19
  }>> & {
14
20
  onClose?: ((...args: any[]) => any) | undefined;
21
+ onEdit?: ((...args: any[]) => any) | undefined;
15
22
  }>>;
16
- emit: (event: "close", ...args: any[]) => void;
23
+ emit: (event: "edit" | "close", ...args: any[]) => void;
24
+ loading: import("vue").Ref<boolean>;
17
25
  close: () => void;
26
+ toEdit: () => void;
18
27
  NModal: any;
19
28
  NIcon: any;
29
+ NButton: any;
30
+ NSpin: any;
20
31
  Mic: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, import("vue").EmitsOptions, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
21
- }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
32
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("edit" | "close")[], "edit" | "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
22
33
  content: {
23
34
  type: StringConstructor;
24
35
  default: string;
25
36
  };
37
+ showBtn: {
38
+ type: BooleanConstructor;
39
+ };
26
40
  }>> & {
27
41
  onClose?: ((...args: any[]) => any) | undefined;
42
+ onEdit?: ((...args: any[]) => any) | undefined;
28
43
  }, {
29
44
  content: string;
45
+ showBtn: boolean;
30
46
  }>;
31
47
  export default _default;
@@ -1 +1 @@
1
- import{createElementVNode as o,defineComponent as e,openBlock as s,createBlock as t,unref as r,normalizeStyle as i,withCtx as n,toDisplayString as a,createVNode as c}from"vue";import{NModal as l,NIcon as p}from"naive-ui";import{Mic as m}from"@vicons/ionicons5";import{useTheme as d}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";var u;const f={class:"c-recording-wrapper"},h={class:"content"},v=o("div",{class:"animation"},null,-1),g=o("p",{class:"tip"},(null==(u=window.getLanguageByCode)?void 0:u.call(window,"10010.1.141"))||"按下空格键停止录音",-1);var k=e({__name:"recording",props:{content:{type:String,default:""}},emits:["close"],setup(e,{emit:u}){const k=d();function w(){u("close")}return(d,u)=>(s(),t(r(l),{style:i(r(k))},{default:n((()=>[o("div",f,[o("p",h,a(e.content||"正在聆听..."),1),v,o("div",{class:"icon-box",onClick:w},[c(r(p),{size:"60",color:"#fff",component:r(m)},null,8,["component"])]),g])])),_:1},8,["style"]))}});export{k as default};
1
+ import{createElementVNode as e,defineComponent as o,ref as t,openBlock as s,createBlock as n,unref as i,normalizeStyle as r,withCtx as l,createElementBlock as c,Fragment as a,toDisplayString as d,createVNode as p,createTextVNode as u,createCommentVNode as m}from"vue";import{NModal as f,NSpin as v,NIcon as h,NButton as k}from"naive-ui";import{Mic as y}from"@vicons/ionicons5";import{useTheme as g}from"../../../../shared/hooks/useTheme.js";import"@vueuse/core";import"date-fns";import"lodash-es";import"@vue/shared";import"../../../../shared/utils/index.js";import"@vueuse/shared";import"../../../../shared/hooks/selectHooks/useSearchContent.js";import"../../../../shared/hooks/useScrollLoading.js";var w;const C={class:"c-recording-wrapper"},_={class:"content"},j=e("p",null,(null==(w=window.getLanguageByCode)?void 0:w.call(window,"10010.1.141"))||"按下空格键停止录音",-1),B={key:0,class:"btns"};var x=o({__name:"recording",props:{content:{type:String,default:""},showBtn:{type:Boolean}},emits:["close","edit"],setup(o,{emit:w}){const x=g(),S=t(!1);function b(){w("close")}function L(){S.value=!0,w("edit")}return(t,g)=>(s(),n(i(f),{style:r(i(x)),"close-on-esc":!1},{default:l((()=>[e("div",C,[S.value?(s(),n(i(v),{key:0,description:"加载中..."})):(s(),c(a,{key:1},[e("p",_,d(o.content||"正在聆听..."),1),e("div",{class:"icon-box",onClick:b},[p(i(h),{size:"60",color:"#fff",component:i(y)},null,8,["component"])]),j,o.showBtn?(s(),c("div",B,[p(i(k),{type:"primary",onClick:L},{default:l((()=>[u("结束录音")])),_:1}),p(i(k),{onClick:b},{default:l((()=>[u("取消录音")])),_:1})])):m("v-if",!0)],64))])])),_:1},8,["style"]))}});export{x as default};
@@ -1,10 +1,16 @@
1
- import { ComponentInternalInstance, Ref } from 'vue';
1
+ import { ComponentInternalInstance } from 'vue';
2
+ import { AnyObject } from '../../../../shared/types';
2
3
  export declare class RecordingModal {
3
4
  rendered: boolean;
4
5
  target: HTMLElement | null;
5
- show(instance: ComponentInternalInstance, { contentRef, onClose }: {
6
- contentRef: Ref<string>;
6
+ modalType: string;
7
+ show({ instance, modalType, onClose, createMedicalRecord, toEdit, props }: {
8
+ instance?: ComponentInternalInstance;
7
9
  onClose: () => void;
10
+ modalType?: string;
11
+ createMedicalRecord?: (data: AnyObject) => void;
12
+ toEdit?: () => void;
13
+ props: AnyObject;
8
14
  }): void;
9
15
  hide(): void;
10
16
  }
@@ -1 +1 @@
1
- import{ref as e,render as t,createVNode as n,withCtx as r,nextTick as o}from"vue";import{createProviderWrapper as s}from"../../../../shared/utils/index.js";import l from"../components/recording.vue.js";class i{constructor(){this.rendered=!1,this.target=null}show(i,{contentRef:d,onClose:a}){if(this.rendered)return;this.rendered=!0;const u=document.createElement("div"),h=e(!1),c=s(i);t(n(c,null,{default:r((()=>n(l,{to:u,content:d.value,show:h.value,"onUpdate:show":e=>h.value=e,onClose:()=>p(),onAfterLeave:()=>p()},null)),i)}),u);const m=this;var v;function p(){a()}v=u,document.body.appendChild(v),m.target=v,o((()=>h.value=!0))}hide(){var e;(null==(e=this.target)?void 0:e.parentElement)&&(this.rendered=!1,this.target.parentElement.removeChild(this.target),this.target=null)}}export{i as RecordingModal};
1
+ import{ref as e,render as t,createVNode as n,withCtx as o,nextTick as r,mergeProps as i}from"vue";import{createProviderWrapper as s}from"../../../../shared/utils/index.js";import l from"../components/recording.vue.js";import d from"../components/form.vue.js";class a{constructor(){this.rendered=!1,this.target=null,this.modalType="recording"}show({instance:a,modalType:u,onClose:c,createMedicalRecord:h,toEdit:m,props:p}){if(this.modalType=u||"recording",this.rendered)return;this.rendered=!0;const v=document.createElement("div"),f=e(!1),g=s(a),w=this;function y(){const e={to:v,onClose:c,onAfterLeave:c};return"recording"===w.modalType?n(l,i({show:f.value,"onUpdate:show":e=>f.value=e,onEdit:C},e,{content:p.contentRef.value,showBtn:p.showBtn}),null):n(d,i({show:f.value,"onUpdate:show":e=>f.value=e,onFinish:T},e,{data:p.data,configs:p.configs}),null)}var E;function C(){null==m||m()}function T(e){null==h||h(e)}t(n(g,null,{default:o((()=>y()),a)}),v),E=v,document.body.appendChild(E),w.target=E,r((()=>f.value=!0))}hide(){var e;(null==(e=this.target)?void 0:e.parentElement)&&(this.rendered=!1,this.target.parentElement.removeChild(this.target),this.target=null)}}export{a as RecordingModal};
@@ -1 +1 @@
1
- .c-recording-wrapper{align-items:center;background-color:#fff;border-radius:10px;bottom:100px;display:flex;height:350px;justify-content:center;left:calc(50% - 250px);position:fixed;width:500px}@keyframes toScale{0%{transform:translateX(-50%) translateY(-50%) scale(1)}to{transform:translateX(-50%) translateY(-50%) scale(1.5)}}.c-recording-wrapper .content{font-size:18px;position:absolute;text-align:center;top:20px}.c-recording-wrapper .animation{animation:toScale 1s infinite;background-color:#5585f54d;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(1);z-index:-1}.c-recording-wrapper .animation,.c-recording-wrapper .icon-box{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;width:90px}.c-recording-wrapper .icon-box{background-color:#5585f5;cursor:pointer}.c-recording-wrapper .tip{bottom:20px;position:absolute}
1
+ .c-recording-wrapper{align-items:center;background-color:#fff;border-radius:10px;display:flex;flex-flow:column nowrap;height:350px;justify-content:center;padding:20px;width:500px}@keyframes toScale{0%{transform:translateX(-50%) translateY(-50%) scale(1)}to{transform:translateX(-50%) translateY(-50%) scale(1.5)}}.c-recording-wrapper .content{-webkit-box-orient:vertical;-webkit-line-clamp:3;display:-webkit-box;font-size:18px;overflow:hidden;text-align:center}.c-recording-wrapper .icon-box{background-color:#5585f5;cursor:pointer;margin:20px auto;position:relative}.c-recording-wrapper .icon-box,.c-recording-wrapper .icon-box:before{align-items:center;border-radius:50%;display:flex;height:90px;justify-content:center;width:90px}.c-recording-wrapper .icon-box:before{animation:toScale 1s infinite;background-color:#5585f54d;content:"";left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scale(1);transform-origin:center center}.c-recording-wrapper .btns{display:flex;margin-top:10px}.c-recording-wrapper .btns .n-button:first-child{margin-right:30px}.n-dialog.n-modal.c-audio-form{padding:16px;width:auto}.n-dialog.n-modal.c-audio-form .n-form{min-width:500px;padding:0 5px}
@@ -143,29 +143,6 @@ declare function getComponent(type: COMPONENT_TYPE): import("vue").DefineCompone
143
143
  default: () => {};
144
144
  type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
145
145
  };
146
- }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "button-click"[], "button-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
147
- config: {
148
- default: () => {};
149
- type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
150
- };
151
- data: {
152
- default: () => {};
153
- type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
154
- };
155
- }>> & {
156
- "onButton-click"?: ((...args: any[]) => any) | undefined;
157
- }, {
158
- data: import("../../../../shared/types").AnyObject;
159
- config: import("../../../../shared/types").AnyObject;
160
- }> | import("vue").DefineComponent<{
161
- config: {
162
- default: () => {};
163
- type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
164
- };
165
- data: {
166
- default: () => {};
167
- type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
168
- };
169
146
  }, {
170
147
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
171
148
  config: {
@@ -487,6 +464,29 @@ declare function getComponent(type: COMPONENT_TYPE): import("vue").DefineCompone
487
464
  default: () => {};
488
465
  type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
489
466
  };
467
+ }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "button-click"[], "button-click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
468
+ config: {
469
+ default: () => {};
470
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
471
+ };
472
+ data: {
473
+ default: () => {};
474
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
475
+ };
476
+ }>> & {
477
+ "onButton-click"?: ((...args: any[]) => any) | undefined;
478
+ }, {
479
+ data: import("../../../../shared/types").AnyObject;
480
+ config: import("../../../../shared/types").AnyObject;
481
+ }> | import("vue").DefineComponent<{
482
+ config: {
483
+ default: () => {};
484
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
485
+ };
486
+ data: {
487
+ default: () => {};
488
+ type: import("vue").PropType<import("../../../../shared/types").AnyObject>;
489
+ };
490
490
  }, {
491
491
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
492
492
  config: {
@@ -175,6 +175,9 @@ declare const _default: import("vue").DefineComponent<{
175
175
  modelValue: unknown[];
176
176
  componentData: Record<string, any>;
177
177
  } & {
178
+ /**
179
+ * 改变弹窗大小
180
+ */
178
181
  itemKey?: string | Function | undefined;
179
182
  }>, {
180
183
  move: Function;
@@ -1896,6 +1896,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
1896
1896
  extendKey?: string | undefined;
1897
1897
  is_not_fold?: string | undefined;
1898
1898
  remark?: string | undefined;
1899
+ remarkTo?: string | HTMLElement | undefined;
1899
1900
  free_entry?: import("..").FormCommonState | undefined;
1900
1901
  save_free_entry?: import("..").FormCommonState | undefined;
1901
1902
  initialize_high?: number | undefined;
@@ -2148,6 +2149,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
2148
2149
  extendKey?: string | undefined;
2149
2150
  is_not_fold?: string | undefined;
2150
2151
  remark?: string | undefined;
2152
+ remarkTo?: string | HTMLElement | undefined;
2151
2153
  free_entry?: import("..").FormCommonState | undefined;
2152
2154
  save_free_entry?: import("..").FormCommonState | undefined;
2153
2155
  initialize_high?: number | undefined;
@@ -2373,6 +2375,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
2373
2375
  extendKey?: string | undefined;
2374
2376
  is_not_fold?: string | undefined;
2375
2377
  remark?: string | undefined;
2378
+ remarkTo?: string | HTMLElement | undefined;
2376
2379
  free_entry?: import("..").FormCommonState | undefined;
2377
2380
  save_free_entry?: import("..").FormCommonState | undefined;
2378
2381
  initialize_high?: number | undefined;
@@ -2606,6 +2609,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
2606
2609
  extendKey?: string | undefined;
2607
2610
  is_not_fold?: string | undefined;
2608
2611
  remark?: string | undefined;
2612
+ remarkTo?: string | HTMLElement | undefined;
2609
2613
  free_entry?: import("..").FormCommonState | undefined;
2610
2614
  save_free_entry?: import("..").FormCommonState | undefined;
2611
2615
  initialize_high?: number | undefined;
@@ -3988,6 +3992,7 @@ declare const FormConfig: SFCWithInstall<import("vue").DefineComponent<{
3988
3992
  extendKey?: string | undefined;
3989
3993
  is_not_fold?: string | undefined;
3990
3994
  remark?: string | undefined;
3995
+ remarkTo?: string | HTMLElement | undefined;
3991
3996
  free_entry?: import("..").FormCommonState | undefined;
3992
3997
  save_free_entry?: import("..").FormCommonState | undefined;
3993
3998
  initialize_high?: number | undefined;