cnhis-design-vue 3.4.0-beta.12 → 3.4.0-beta.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -87
- package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogram.js +19 -9
- package/es/components/fabric-chart/src/hooks/electrocardiogram/useElectrocardiogramChart.js +1 -0
- package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
- package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
- package/es/components/select-person/src/SelectPerson.vue2.js +2 -1
- package/es/components/select-person/src/utils/index.js +11 -9
- package/es/env.d.ts +25 -25
- package/es/shared/package.json.js +1 -1
- package/package.json +2 -2
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
|
+
```
|
@@ -34,6 +34,7 @@ function useElectrocardiogram(canvas, propItems, flag) {
|
|
34
34
|
rowNumber,
|
35
35
|
lineStyle,
|
36
36
|
titleStyle,
|
37
|
+
titleOffset,
|
37
38
|
config,
|
38
39
|
calibrationLineHeight
|
39
40
|
} = propItems;
|
@@ -105,19 +106,28 @@ function useElectrocardiogram(canvas, propItems, flag) {
|
|
105
106
|
if (arguments.length)
|
106
107
|
return;
|
107
108
|
drawCalibrationLine({ x, y }, lineStyle);
|
108
|
-
|
109
|
-
...titleStyle,
|
110
|
-
left: x + (columnNumber === 4 ? xCellWidth : xCellWidth / 2),
|
111
|
-
top: y,
|
112
|
-
originX: "left",
|
113
|
-
originY: "bottom",
|
114
|
-
objectCaching: false
|
115
|
-
});
|
116
|
-
fixedPointsCache.add(title);
|
109
|
+
drawTitle(lineItem, x, y);
|
117
110
|
});
|
118
111
|
const renderObjects = arguments.length ? [...gridPoints] : [...gridPoints, ...fixedPointsCache];
|
119
112
|
canvas.value.add(...renderObjects);
|
120
113
|
}
|
114
|
+
function drawTitle(lineItem, x, y) {
|
115
|
+
var _a, _b;
|
116
|
+
if (!lineItem.title)
|
117
|
+
return;
|
118
|
+
const titleOriginX = x + (columnNumber === 4 ? xCellWidth : xCellWidth / 2);
|
119
|
+
const titleX = titleOriginX + ((_a = titleOffset == null ? void 0 : titleOffset.x) != null ? _a : 0);
|
120
|
+
const titleY = y + ((_b = titleOffset == null ? void 0 : titleOffset.y) != null ? _b : 0);
|
121
|
+
const title = new fabric.Text(String(lineItem.title), {
|
122
|
+
...titleStyle,
|
123
|
+
left: titleX,
|
124
|
+
top: titleY,
|
125
|
+
originX: "left",
|
126
|
+
originY: "bottom",
|
127
|
+
objectCaching: false
|
128
|
+
});
|
129
|
+
fixedPointsCache.add(title);
|
130
|
+
}
|
121
131
|
function bindPointEvent(polyline, options) {
|
122
132
|
useDetailEvent(polyline, options);
|
123
133
|
}
|
@@ -137,6 +137,7 @@ function useElectrocardiogramChart(canvas, props, emits, canvasRef, pointTipProp
|
|
137
137
|
borderStyle: { ...defaultBorderStyle, ...props.data.borderStyle },
|
138
138
|
lineStyle: { ...defaultLineStyle, ...props.data.lineStyle },
|
139
139
|
titleStyle: { ...defaultTextStyle, ...props.data.titleStyle },
|
140
|
+
titleOffset: props.data.titleOffset,
|
140
141
|
measureLineStyle: { ...defaultLineStyle, ...props.data.measureLineStyle },
|
141
142
|
measureTextStyle: { ...defaultTextStyle, ...props.data.measureTextStyle },
|
142
143
|
grid: props.data.grid,
|
@@ -601,7 +601,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
601
601
|
}, {
|
602
602
|
default: withCtx(() => [!unref(isAudioOrVideoMessage)(item.content) ? (openBlock(), createElementBlock(Fragment, {
|
603
603
|
key: 0
|
604
|
-
}, [createCommentVNode(' <n-button\
|
604
|
+
}, [createCommentVNode(' <n-button\n quaternary\n size="tiny"\n @click="(event: MouseEvent) => handleSelectLabel(event, item.id)"\n >\n <template #icon>\n <n-icon size="17" :component="HappyOutline" />\n </template>\n </n-button> '), createVNode(unref(NButton), {
|
605
605
|
quaternary: "",
|
606
606
|
size: "tiny",
|
607
607
|
onClick: () => setReferenceMsg(item)
|
@@ -170,7 +170,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
170
170
|
round: "",
|
171
171
|
size: 100,
|
172
172
|
onClickCapture: _cache[0] || (_cache[0] = ($event) => showLargeAvatar.value = true)
|
173
|
-
}, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\
|
173
|
+
}, null, 8, ["src"]), createCommentVNode(' <n-upload abstract accept="image/*" @change="onChange">\n <n-upload-trigger #="{ handleClick }" abstract>\n <n-button\n circle\n secondary\n class="edit-avatar"\n v-show="userDetail.id === state.userInfo.id"\n @click="handleClick"\n >\n <template #icon>\n <n-icon size="16" color="#666666" :component="Camera" />\n </template>\n </n-button>\n </n-upload-trigger>\n </n-upload> '), createElementVNode("div", _hoisted_4, [createElementVNode("h4", null, [createElementVNode("label", _hoisted_5, toDisplayString(userDetail.name), 1), withDirectives(createElementVNode("label", {
|
174
174
|
class: normalizeClass(["iho-chatRole", unref(isDoctorRole)(userDetail.roleInfo) ? "isDoctor" : ""])
|
175
175
|
}, toDisplayString(unref(getRoleName)(userDetail.roleInfo)), 3), [[vShow, unref(getRoleName)(userDetail.roleInfo)]])]), createElementVNode("p", null, toDisplayString(userDetail.orgName), 1)]), createVNode(unref(NButton), {
|
176
176
|
strong: "",
|
@@ -610,7 +610,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
610
610
|
checkedAll.value = isSearch.value = false;
|
611
611
|
checkedKeys.value = [];
|
612
612
|
expandedKeys.value = [];
|
613
|
-
treeData.value =
|
613
|
+
treeData.value = [];
|
614
|
+
treeAsyncData.value = [];
|
614
615
|
}
|
615
616
|
watch(() => props.data, (value) => {
|
616
617
|
resetParams();
|
@@ -19,8 +19,8 @@ function searchFilterTree(attr, data, keyword, filterKey) {
|
|
19
19
|
return searchBasisTree(data, keyword, filterKey);
|
20
20
|
}
|
21
21
|
function searchBasisTree(data, keyword, filterKey) {
|
22
|
-
transform(data, keyword, filterKey);
|
23
|
-
return filterHandle(
|
22
|
+
const searchItems = transform(data, keyword, filterKey);
|
23
|
+
return filterHandle(searchItems);
|
24
24
|
}
|
25
25
|
function getAllChildren(children, childrenKey) {
|
26
26
|
const cache = /* @__PURE__ */ new WeakMap();
|
@@ -46,20 +46,22 @@ function getAllChildren(children, childrenKey) {
|
|
46
46
|
return Array.from(childrenIterator(children || []));
|
47
47
|
}
|
48
48
|
function transform(data, keyword, filterKey) {
|
49
|
-
data.
|
49
|
+
return data.map((item) => {
|
50
50
|
var _a;
|
51
|
+
const tree = { ...item };
|
51
52
|
const filterValue = item[filterKey] ? item[filterKey].split(",") : [item.title || item.name];
|
52
|
-
|
53
|
+
tree.visible = filterValue.some((item2) => item2.includes(keyword.trim()));
|
53
54
|
if ((_a = item.children) == null ? void 0 : _a.length) {
|
54
|
-
transform(item.children, keyword, filterKey);
|
55
|
-
if (
|
56
|
-
setVisible(
|
55
|
+
tree.children = transform(item.children, keyword, filterKey);
|
56
|
+
if (tree.visible) {
|
57
|
+
setVisible(tree.children);
|
57
58
|
} else {
|
58
|
-
const isVisible =
|
59
|
+
const isVisible = tree.children.some((child) => child.visible);
|
59
60
|
if (isVisible)
|
60
|
-
|
61
|
+
tree.visible = true;
|
61
62
|
}
|
62
63
|
}
|
64
|
+
return tree;
|
63
65
|
});
|
64
66
|
}
|
65
67
|
function getStaffByName(data, keyword, filterKey) {
|
package/es/env.d.ts
CHANGED
@@ -1,25 +1,25 @@
|
|
1
|
-
/// <reference types="vite/client" />
|
2
|
-
|
3
|
-
interface ImportMetaEnv {
|
4
|
-
readonly VITE_APP_TYPE: string;
|
5
|
-
// 更多环境变量...
|
6
|
-
}
|
7
|
-
|
8
|
-
interface ImportMeta {
|
9
|
-
readonly env: ImportMetaEnv;
|
10
|
-
}
|
11
|
-
|
12
|
-
declare module '*.vue' {
|
13
|
-
// @ts-ignore
|
14
|
-
import type { App, defineComponent } from 'vue';
|
15
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
|
16
|
-
// // const component: DefineComponent<{}, {}, any>
|
17
|
-
const component: ReturnType<typeof defineComponent> & {
|
18
|
-
install(app: App): void;
|
19
|
-
};
|
20
|
-
// @ts-ignore
|
21
|
-
export default component;
|
22
|
-
}
|
23
|
-
|
24
|
-
declare module '*.js';
|
25
|
-
|
1
|
+
/// <reference types="vite/client" />
|
2
|
+
|
3
|
+
interface ImportMetaEnv {
|
4
|
+
readonly VITE_APP_TYPE: string;
|
5
|
+
// 更多环境变量...
|
6
|
+
}
|
7
|
+
|
8
|
+
interface ImportMeta {
|
9
|
+
readonly env: ImportMetaEnv;
|
10
|
+
}
|
11
|
+
|
12
|
+
declare module '*.vue' {
|
13
|
+
// @ts-ignore
|
14
|
+
import type { App, defineComponent } from 'vue';
|
15
|
+
// // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
|
16
|
+
// // const component: DefineComponent<{}, {}, any>
|
17
|
+
const component: ReturnType<typeof defineComponent> & {
|
18
|
+
install(app: App): void;
|
19
|
+
};
|
20
|
+
// @ts-ignore
|
21
|
+
export default component;
|
22
|
+
}
|
23
|
+
|
24
|
+
declare module '*.js';
|
25
|
+
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "cnhis-design-vue",
|
3
|
-
"version": "3.4.0-beta.
|
3
|
+
"version": "3.4.0-beta.14",
|
4
4
|
"license": "ISC",
|
5
5
|
"module": "./es/components/index.js",
|
6
6
|
"main": "./es/components/index.js",
|
@@ -73,5 +73,5 @@
|
|
73
73
|
"iOS 7",
|
74
74
|
"last 3 iOS versions"
|
75
75
|
],
|
76
|
-
"gitHead": "
|
76
|
+
"gitHead": "d07e324fa6a4e354c83f3898e8a8f81fbe7dc431"
|
77
77
|
}
|