cnhis-design-vue 3.1.25-beta.3 → 3.1.25-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -123
- package/es/components/big-table/src/BigTable.vue.d.ts +1 -16
- package/es/components/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.js +16 -8
- package/es/components/big-table/src/components/edit-form/edit-input.js +5 -3
- package/es/components/big-table/src/hooks/useEdit.js +1 -3
- package/es/components/big-table/src/hooks/useEvent.js +6 -9
- package/es/components/big-table/src/utils.d.ts +3 -1
- package/es/components/big-table/src/utils.js +15 -5
- package/es/components/field-set/index.d.ts +73 -0
- package/es/components/field-set/src/FieldSet.js +3 -3
- package/es/components/field-set/src/FieldSet.vue.d.ts +73 -0
- package/es/components/form-render/src/FormRender.js +14 -17
- package/es/components/form-render/src/components/renderer/simpleComponent.js +3 -3
- package/es/components/grid/src/hooks.js +1 -0
- package/es/shared/assets/img/failure.js +1 -1
- package/es/shared/assets/img/icon-asc.js +1 -1
- package/es/shared/assets/img/icon-desc.js +1 -1
- package/es/shared/assets/img/no-permission.js +1 -1
- package/es/shared/assets/img/nodata.js +1 -1
- package/es/shared/assets/img/notfound.js +1 -1
- package/es/shared/assets/img/qr.js +1 -1
- package/es/shared/assets/img/success.js +1 -1
- package/es/shared/assets/img/video.js +1 -1
- package/es/shared/assets/img/video_default_cover.js +1 -1
- package/es/shared/assets/img/video_hover.js +1 -1
- package/es/shared/assets/img/video_play_hover.js +1 -1
- package/es/shared/assets/img/xb_big.js +1 -1
- package/es/shared/assets/img/xb_small.js +1 -1
- package/es/shared/utils/index.js +2 -2
- package/package.json +2 -2
- package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
- package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
- package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
- package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
- package/es/components/fabric-chart/src/utils/index.d.ts +0 -6823
- package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
- package/es/shared/utils/tapable/index.d.ts +0 -139
package/README.md
CHANGED
|
@@ -1,123 +1,123 @@
|
|
|
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. 注意
|
|
65
|
-
|
|
66
|
-
由于 vxe-table 目前的引入方式是由组件 install 触发的,所以如果需要使用 c-grid/c-big-table 组件,需要全局注册二者任意一个
|
|
67
|
-
|
|
68
|
-
```typescript
|
|
69
|
-
// main.ts
|
|
70
|
-
import { createApp } from 'vue';
|
|
71
|
-
import App from './App.vue';
|
|
72
|
-
|
|
73
|
-
import { CGrid } from 'cnhis-design-vue';
|
|
74
|
-
// 或者
|
|
75
|
-
import { CBigTable } from 'cnhis-design-vue';
|
|
76
|
-
|
|
77
|
-
const app = createApp(App);
|
|
78
|
-
app.use(CGrid);
|
|
79
|
-
// 或者
|
|
80
|
-
app.use(CBigTable);
|
|
81
|
-
app.mount('#app');
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## 4.FAQ
|
|
85
|
-
|
|
86
|
-
### 4.1 项目打包后样式丢失
|
|
87
|
-
|
|
88
|
-
> 处理方法, 将 cnhis-design-vue 从 vendor 包中移除
|
|
89
|
-
|
|
90
|
-
```typescript
|
|
91
|
-
// vite.config.ts
|
|
92
|
-
import { defineConfig } from 'vite';
|
|
93
|
-
|
|
94
|
-
export default defineConfig({
|
|
95
|
-
rollupOptions: {
|
|
96
|
-
// ..otherOptions
|
|
97
|
-
output: {
|
|
98
|
-
dir: './dist',
|
|
99
|
-
manualChunks(id: string) {
|
|
100
|
-
if (id.includes('node_modules') && !id.includes('cnhis-design-vue')) {
|
|
101
|
-
return 'vendor';
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### 4.2 找不到文件
|
|
110
|
-
|
|
111
|
-
> 由于组件库输出文件类型由 js 修改成了 mjs, 如果配置了 resolve 属性的项目, 需要将 mjs 文件类型添加至 extensions 中
|
|
112
|
-
|
|
113
|
-
```javascript
|
|
114
|
-
// vite.config.ts
|
|
115
|
-
const config = {
|
|
116
|
-
// ...otherOptions
|
|
117
|
-
resolve: {
|
|
118
|
-
// ...otherOptions
|
|
119
|
-
// 如果没有配置, 则不用考虑
|
|
120
|
-
extensions: ['.js', '.ts', '.vue', '.json', '.mjs']
|
|
121
|
-
}
|
|
122
|
-
};
|
|
123
|
-
```
|
|
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. 注意
|
|
65
|
+
|
|
66
|
+
由于 vxe-table 目前的引入方式是由组件 install 触发的,所以如果需要使用 c-grid/c-big-table 组件,需要全局注册二者任意一个
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
// main.ts
|
|
70
|
+
import { createApp } from 'vue';
|
|
71
|
+
import App from './App.vue';
|
|
72
|
+
|
|
73
|
+
import { CGrid } from 'cnhis-design-vue';
|
|
74
|
+
// 或者
|
|
75
|
+
import { CBigTable } from 'cnhis-design-vue';
|
|
76
|
+
|
|
77
|
+
const app = createApp(App);
|
|
78
|
+
app.use(CGrid);
|
|
79
|
+
// 或者
|
|
80
|
+
app.use(CBigTable);
|
|
81
|
+
app.mount('#app');
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## 4.FAQ
|
|
85
|
+
|
|
86
|
+
### 4.1 项目打包后样式丢失
|
|
87
|
+
|
|
88
|
+
> 处理方法, 将 cnhis-design-vue 从 vendor 包中移除
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
// vite.config.ts
|
|
92
|
+
import { defineConfig } from 'vite';
|
|
93
|
+
|
|
94
|
+
export default defineConfig({
|
|
95
|
+
rollupOptions: {
|
|
96
|
+
// ..otherOptions
|
|
97
|
+
output: {
|
|
98
|
+
dir: './dist',
|
|
99
|
+
manualChunks(id: string) {
|
|
100
|
+
if (id.includes('node_modules') && !id.includes('cnhis-design-vue')) {
|
|
101
|
+
return 'vendor';
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 4.2 找不到文件
|
|
110
|
+
|
|
111
|
+
> 由于组件库输出文件类型由 js 修改成了 mjs, 如果配置了 resolve 属性的项目, 需要将 mjs 文件类型添加至 extensions 中
|
|
112
|
+
|
|
113
|
+
```javascript
|
|
114
|
+
// vite.config.ts
|
|
115
|
+
const config = {
|
|
116
|
+
// ...otherOptions
|
|
117
|
+
resolve: {
|
|
118
|
+
// ...otherOptions
|
|
119
|
+
// 如果没有配置, 则不用考虑
|
|
120
|
+
extensions: ['.js', '.ts', '.vue', '.json', '.mjs']
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
```
|
|
@@ -912,22 +912,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
912
912
|
NIcon: any;
|
|
913
913
|
CGrid: import("../../../shared/types").SFCWithInstall<import("vue").DefineComponent<{}, any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>>;
|
|
914
914
|
checkMethod: ({ row }: {
|
|
915
|
-
row: any;
|
|
916
|
-
* 针对 bigTable 的设置列
|
|
917
|
-
* type: 列的类型
|
|
918
|
-
* field: 列字段名(注:属性层级越深,渲染性能将直线下降)
|
|
919
|
-
* title: 列标题(支持开启国际化)
|
|
920
|
-
* width: 列宽度(如果为空则均匀分配剩余宽度,如果全部列固定了,可能会存在宽屏下不会铺满,可以配合 "%" 或者 "min-width" 布局)
|
|
921
|
-
* minWidth: 最小列宽度;会自动将剩余空间按比例分配
|
|
922
|
-
* resizable: 列是否允许拖动列宽调整大小
|
|
923
|
-
* visible: 列是否显示
|
|
924
|
-
* fixed: 将列固定在左侧或者右侧(注意:固定列应该放在左右两侧的位置)
|
|
925
|
-
* align: 列对齐方式
|
|
926
|
-
* headerAlign: 表头列的对齐方式
|
|
927
|
-
* footerAlign: 表尾列的对齐方式
|
|
928
|
-
* formatter: 格式化显示内容 Function({cellValue, row, column})
|
|
929
|
-
* sortable: 是否允许列排序
|
|
930
|
-
*/
|
|
915
|
+
row: any;
|
|
931
916
|
}) => boolean;
|
|
932
917
|
visibleMethod: ({ row }: any) => boolean;
|
|
933
918
|
getRowStyle: ({ row }: any) => string | null;
|
|
@@ -19,7 +19,7 @@ import { useMessage, NIcon, NTooltip, NCheckbox, NCheckboxGroup, NGrid, NGi, NSp
|
|
|
19
19
|
import Grid from '../../grid/index.js';
|
|
20
20
|
import XEUtils from 'xe-utils';
|
|
21
21
|
import 'moment';
|
|
22
|
-
import { handleTableHeight, setTableConfig, handleGroupColums, treeToList, checkMethod, setTreeGroupTitle, handleName, generateEditRender, handlerInitSearchItem, getEvaluate, getMapVal, getCandidateComponents, getageShowType, isLink, showFilter, reScrollFilterWrap, hideFilterWrap, mergeConObjFn, setDefaultFormData, handleImgArr, handleImgSrc, modalDetailImage, handleQrCodeContent, getInlineEditBtn, isCopy, setVisibleCheckAllWrap, handleTableImageSize, visibleMethod, getRowStyle, getFooterGroup, flattenRow, intersectRow, removeCheckedDisabledRows } from './utils.js';
|
|
22
|
+
import { handleTableHeight, setTableConfig, handleGroupColums, treeToList, checkMethod, setTreeGroupTitle, isFilterItem, handleName, generateEditRender, handlerInitSearchItem, getEvaluate, getMapVal, getCandidateComponents, getageShowType, isLink, showFilter, reScrollFilterWrap, hideFilterWrap, mergeConObjFn, setDefaultFormData, handleImgArr, handleImgSrc, modalDetailImage, handleQrCodeContent, getInlineEditBtn, isCopy, setVisibleCheckAllWrap, handleTableImageSize, visibleMethod, getRowStyle, getFooterGroup, flattenRow, intersectRow, removeCheckedDisabledRows } from './utils.js';
|
|
23
23
|
import InputButtonScript from './components/input-button.js';
|
|
24
24
|
import Separate from './components/separate.js';
|
|
25
25
|
import xb_big from '../../../shared/assets/img/xb_big.js';
|
|
@@ -405,22 +405,30 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
405
405
|
};
|
|
406
406
|
}
|
|
407
407
|
const currentColumns = fieldList.map((item, index) => {
|
|
408
|
-
var _a2, _b2, _c2, _d, _e, _f, _g, _h;
|
|
408
|
+
var _a2, _b2, _c2, _d, _e, _f, _g, _h, _i;
|
|
409
409
|
let filterField = false;
|
|
410
|
+
let isOtherFilter = false;
|
|
410
411
|
let filterItems = [];
|
|
411
412
|
try {
|
|
412
413
|
const fieldSetting = JSON.parse(item.fieldSetting || "{}");
|
|
413
414
|
let notParticipatingSearch = (fieldSetting == null ? void 0 : fieldSetting.notParticipatingSearch) || "";
|
|
414
415
|
filterField = notParticipatingSearch != 1 && ((_a2 = fieldSetting == null ? void 0 : fieldSetting.mapping) == null ? void 0 : _a2.type) === "manual" && item.isMerge != 1;
|
|
415
416
|
filterItems = (_c2 = (_b2 = fieldSetting == null ? void 0 : fieldSetting.mapping) == null ? void 0 : _b2.mappingFiled) == null ? void 0 : _c2.map((item2) => item2.value[0]);
|
|
417
|
+
if (isFilterItem(item)) {
|
|
418
|
+
isOtherFilter = filterField = true;
|
|
419
|
+
filterItems = (_d = item.options) == null ? void 0 : _d.map((item2) => ({
|
|
420
|
+
...item2,
|
|
421
|
+
key: item2.label
|
|
422
|
+
}));
|
|
423
|
+
}
|
|
416
424
|
} catch (e) {
|
|
417
425
|
}
|
|
418
|
-
let notParticipatingSort = ((
|
|
426
|
+
let notParticipatingSort = ((_e = item == null ? void 0 : item.fieldSetting) == null ? void 0 : _e.notParticipatingSort) || "";
|
|
419
427
|
let fixed = isAboutNestTable.value ? "" : item.isFixed ? item.isFixed == 1 ? "left" : "right" : "";
|
|
420
428
|
let sortable = props.isNestTable ? false : !filterField && item.isSort == 1 && notParticipatingSort != 1 && item.isMerge != 1;
|
|
421
429
|
let treeNode = props.isNestTable ? false : state.isTree != 0 ? index === 0 : false;
|
|
422
430
|
let type = index === 0 && props.showNestTable ? "expand" : "";
|
|
423
|
-
const isShow = item.isShow == 1 && ((
|
|
431
|
+
const isShow = item.isShow == 1 && ((_f = item == null ? void 0 : item.settingObj) == null ? void 0 : _f.isHide) != 1;
|
|
424
432
|
if (isScanMultiTable2) {
|
|
425
433
|
fixed = "";
|
|
426
434
|
sortable = false;
|
|
@@ -435,8 +443,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
435
443
|
fixed,
|
|
436
444
|
sortable,
|
|
437
445
|
headerClassName: "mycolumn",
|
|
438
|
-
resizable: (
|
|
439
|
-
showOverflow: (
|
|
446
|
+
resizable: (_g = item.resizable) != null ? _g : true,
|
|
447
|
+
showOverflow: (_h = item.showOverflow) != null ? _h : "title",
|
|
440
448
|
treeNode,
|
|
441
449
|
type,
|
|
442
450
|
slots: {
|
|
@@ -465,7 +473,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
465
473
|
filterItems
|
|
466
474
|
});
|
|
467
475
|
let field = state.filterFields[item.columnName];
|
|
468
|
-
handlerInitSearchItem([field]);
|
|
476
|
+
handlerInitSearchItem([field], isOtherFilter);
|
|
469
477
|
col.slots.header = formatterHeader(item);
|
|
470
478
|
} else {
|
|
471
479
|
col.slots.header = toolTipTitle(item);
|
|
@@ -473,7 +481,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
473
481
|
if (!isScanMultiTable2 && !isFunction(attr.footerMethod) && !isFunction(attr["footer-method"])) {
|
|
474
482
|
col.slots.footer = "tooltip_footer";
|
|
475
483
|
}
|
|
476
|
-
if (props.showNestTable && state.isTree == 0 && ((
|
|
484
|
+
if (props.showNestTable && state.isTree == 0 && ((_i = props.curNestColumnConfig) == null ? void 0 : _i.isTree) == 0) {
|
|
477
485
|
col.slots.content = "nest_table_content";
|
|
478
486
|
}
|
|
479
487
|
return col;
|
|
@@ -63,9 +63,11 @@ var EditInput = defineComponent({
|
|
|
63
63
|
};
|
|
64
64
|
function keyup(event) {
|
|
65
65
|
if (event.key == "Enter") {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
66
|
+
emit("formChange", {
|
|
67
|
+
value: __value.value,
|
|
68
|
+
...commData,
|
|
69
|
+
type: "enter"
|
|
70
|
+
});
|
|
69
71
|
}
|
|
70
72
|
}
|
|
71
73
|
watch(() => attrs.value, (value) => {
|
|
@@ -88,13 +88,11 @@ const useEdit = (props, state, emit, xGrid, loadData) => {
|
|
|
88
88
|
if (["separate"].includes(column == null ? void 0 : column.formType)) {
|
|
89
89
|
loadData(props.data);
|
|
90
90
|
}
|
|
91
|
-
const activeRow = xGrid.value.getCurrentRecord();
|
|
92
|
-
const rowIndex = xGrid.value.getRowIndex(activeRow);
|
|
93
91
|
emit("formChange", {
|
|
94
92
|
value,
|
|
95
93
|
row,
|
|
96
94
|
column,
|
|
97
|
-
index
|
|
95
|
+
index,
|
|
98
96
|
oldValue,
|
|
99
97
|
...type ? { type } : {}
|
|
100
98
|
});
|
|
@@ -17,15 +17,12 @@ const useEvent = (props, state, emit, xGrid, anchorEvent) => {
|
|
|
17
17
|
if (!activeRow && !isEdit)
|
|
18
18
|
return;
|
|
19
19
|
if (isEdit) {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
column
|
|
27
|
-
});
|
|
28
|
-
["Tab", "Enter"].includes($event.key) && column && xGridRef.setEditCell(row, column);
|
|
20
|
+
const { row, $rowIndex, rowIndex, column } = xGridRef.getEditRecord() || {};
|
|
21
|
+
emit("keyboard", {
|
|
22
|
+
key: $event.key,
|
|
23
|
+
index: $rowIndex != null ? $rowIndex : rowIndex,
|
|
24
|
+
row,
|
|
25
|
+
column
|
|
29
26
|
});
|
|
30
27
|
return;
|
|
31
28
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AnyObject } from '../../../../es/shared/types';
|
|
1
2
|
/** 评价组件 */
|
|
2
3
|
export declare const getEvaluate: (row: any, item: any) => any;
|
|
3
4
|
export declare const getMapVal: (row: any, item: any) => any;
|
|
@@ -6,7 +7,8 @@ export declare const getageShowType: (row: any, item: any) => any;
|
|
|
6
7
|
export declare const reScrollFilterWrap: () => void;
|
|
7
8
|
export declare const showFilter: (field: any, columnName: any, event: any, props: any, state: any) => false | undefined;
|
|
8
9
|
export declare const handleGroupColums: (columns: any, props: any) => any[];
|
|
9
|
-
export declare const
|
|
10
|
+
export declare const isFilterItem: (item: AnyObject) => any;
|
|
11
|
+
export declare const handlerInitSearchItem: (arr: any, isOtherFilter: boolean) => void;
|
|
10
12
|
export declare const generateEditRender: (fieldItem: any) => {
|
|
11
13
|
name: string;
|
|
12
14
|
enabled: boolean;
|
|
@@ -73,7 +73,7 @@ const getConObj = (arr, state) => {
|
|
|
73
73
|
} else if (!XEUtils.isEmpty(item.QUOTE)) {
|
|
74
74
|
value = item.QUOTE.join("|#|");
|
|
75
75
|
} else if (!XEUtils.isEmpty(item.CONVERT)) {
|
|
76
|
-
value = item.CONVERT.map((item2) => JSON.parse(item2));
|
|
76
|
+
value = item.CONVERT.map((item2) => ["string", "number"].includes(typeof item2) ? item2 : JSON.parse(item2));
|
|
77
77
|
} else if (item.DATE) {
|
|
78
78
|
if (item.DATE.start_val || item.DATE.end_val) {
|
|
79
79
|
item.DATE.con = "IN";
|
|
@@ -144,7 +144,7 @@ const reScrollFilterWrap = () => {
|
|
|
144
144
|
});
|
|
145
145
|
};
|
|
146
146
|
const showFilter = (field, columnName, event, props, state) => {
|
|
147
|
-
var _a, _b, _c;
|
|
147
|
+
var _a, _b, _c, _d, _e, _f;
|
|
148
148
|
if (props.isInlineOperating)
|
|
149
149
|
return false;
|
|
150
150
|
const target = event.target;
|
|
@@ -166,7 +166,7 @@ const showFilter = (field, columnName, event, props, state) => {
|
|
|
166
166
|
field.visible = !field.visible;
|
|
167
167
|
const len = (_a = state.filterFields[columnName]) == null ? void 0 : _a.CONVERT.length;
|
|
168
168
|
field.checkAll = len === ((_c = (_b = state.filterFields[columnName]) == null ? void 0 : _b.filterItems) == null ? void 0 : _c.length);
|
|
169
|
-
field.indeterminate = !!len && len !== field.setting.showSetting.length;
|
|
169
|
+
field.indeterminate = !!len && len !== (((_e = (_d = field.setting) == null ? void 0 : _d.showSetting) == null ? void 0 : _e.length) || ((_f = field.options) == null ? void 0 : _f.length));
|
|
170
170
|
field.searchFilterText = "";
|
|
171
171
|
};
|
|
172
172
|
const handleGroupColums = (columns, props) => {
|
|
@@ -183,11 +183,21 @@ const handleGroupColums = (columns, props) => {
|
|
|
183
183
|
return fieldList.find((field) => (field.columnName || field.type) === fieldName);
|
|
184
184
|
}
|
|
185
185
|
};
|
|
186
|
-
const
|
|
186
|
+
const isFilterItem = (item) => {
|
|
187
|
+
var _a;
|
|
188
|
+
const filterTypes = ["search", "select", "radio", "checkbox"];
|
|
189
|
+
const notParticipatingSearch = item.notParticipatingSearch || "";
|
|
190
|
+
return notParticipatingSearch != 1 && filterTypes.includes(item.formType) && ((_a = item.options) == null ? void 0 : _a.length);
|
|
191
|
+
};
|
|
192
|
+
const handlerInitSearchItem = (arr, isOtherFilter) => {
|
|
187
193
|
if (!Array.isArray(arr))
|
|
188
194
|
return;
|
|
189
195
|
arr.forEach((el) => {
|
|
190
196
|
var _a;
|
|
197
|
+
if (isOtherFilter) {
|
|
198
|
+
el["CONVERT"] = [];
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
191
201
|
if (el.setting) {
|
|
192
202
|
el.setting = typeof el.setting == "string" ? JSON.parse(el.setting) : el.setting;
|
|
193
203
|
if (!XEUtils.isEmpty(el.setting.wordbook)) {
|
|
@@ -605,4 +615,4 @@ const setVisibleCheckAllWrap = (state, props, currentCheckedKeys) => {
|
|
|
605
615
|
state.visibleCheckAllWrapMore = isSpreadSelected || isLargerOrEqualPageSize && !isShowAllTable;
|
|
606
616
|
};
|
|
607
617
|
|
|
608
|
-
export { checkMethod, flattenRow, generateEditRender, getCandidateComponents, getEvaluate, getFooterGroup, getInlineEditBtn, getMapVal, getRowStyle, getageShowType, handleGroupColums, handleImgArr, handleImgSrc, handleName, handleQrCodeContent, handleTableHeight, handleTableImageSize, handlerInitSearchItem, hideFilterWrap, intersectRow, isCopy, isLink, mergeConObjFn, modalDetailImage, reScrollFilterWrap, removeCheckedDisabledRows, setDefaultFormData, setFilterStatus, setTableConfig, setTreeGroupTitle, setVisibleCheckAllWrap, showFilter, treeToList, visibleMethod };
|
|
618
|
+
export { checkMethod, flattenRow, generateEditRender, getCandidateComponents, getEvaluate, getFooterGroup, getInlineEditBtn, getMapVal, getRowStyle, getageShowType, handleGroupColums, handleImgArr, handleImgSrc, handleName, handleQrCodeContent, handleTableHeight, handleTableImageSize, handlerInitSearchItem, hideFilterWrap, intersectRow, isCopy, isFilterItem, isLink, mergeConObjFn, modalDetailImage, reScrollFilterWrap, removeCheckedDisabledRows, setDefaultFormData, setFilterStatus, setTableConfig, setTreeGroupTitle, setVisibleCheckAllWrap, showFilter, treeToList, visibleMethod };
|
|
@@ -140,6 +140,79 @@ declare const FieldSet: SFCWithInstall<import("vue").DefineComponent<{
|
|
|
140
140
|
NSpin: any;
|
|
141
141
|
NTooltip: any;
|
|
142
142
|
NPopconfirm: any;
|
|
143
|
+
draggable: import("vue").DefineComponent<{
|
|
144
|
+
list: {
|
|
145
|
+
type: ArrayConstructor;
|
|
146
|
+
required: boolean;
|
|
147
|
+
default: any;
|
|
148
|
+
};
|
|
149
|
+
modelValue: {
|
|
150
|
+
type: ArrayConstructor;
|
|
151
|
+
required: boolean;
|
|
152
|
+
default: any;
|
|
153
|
+
};
|
|
154
|
+
itemKey: {
|
|
155
|
+
type: (StringConstructor | FunctionConstructor)[];
|
|
156
|
+
required: boolean;
|
|
157
|
+
};
|
|
158
|
+
clone: {
|
|
159
|
+
type: FunctionConstructor;
|
|
160
|
+
default: (original: any) => any;
|
|
161
|
+
};
|
|
162
|
+
tag: {
|
|
163
|
+
type: StringConstructor;
|
|
164
|
+
default: string;
|
|
165
|
+
};
|
|
166
|
+
move: {
|
|
167
|
+
type: FunctionConstructor;
|
|
168
|
+
default: any;
|
|
169
|
+
};
|
|
170
|
+
componentData: {
|
|
171
|
+
type: ObjectConstructor;
|
|
172
|
+
required: boolean;
|
|
173
|
+
default: any;
|
|
174
|
+
};
|
|
175
|
+
}, unknown, {
|
|
176
|
+
error: boolean;
|
|
177
|
+
}, {
|
|
178
|
+
realList(): any;
|
|
179
|
+
getKey(): any;
|
|
180
|
+
}, {
|
|
181
|
+
getUnderlyingVm(domElement: any): any;
|
|
182
|
+
getUnderlyingPotencialDraggableComponent(htmElement: any): any;
|
|
183
|
+
emitChanges(evt: any): void;
|
|
184
|
+
alterList(onList: any): void;
|
|
185
|
+
spliceList(): void;
|
|
186
|
+
updatePosition(oldIndex: any, newIndex: any): void;
|
|
187
|
+
getRelatedContextFromMoveEvent({ to, related }: {
|
|
188
|
+
to: any;
|
|
189
|
+
related: any;
|
|
190
|
+
}): any;
|
|
191
|
+
getVmIndexFromDomIndex(domIndex: any): any;
|
|
192
|
+
onDragStart(evt: any): void;
|
|
193
|
+
onDragAdd(evt: any): void;
|
|
194
|
+
onDragRemove(evt: any): void;
|
|
195
|
+
onDragUpdate(evt: any): void;
|
|
196
|
+
computeFutureIndex(relatedContext: any, evt: any): any;
|
|
197
|
+
onDragMove(evt: any, originalEvent: any): any;
|
|
198
|
+
onDragEnd(): void;
|
|
199
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any[], any, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
200
|
+
move: Function;
|
|
201
|
+
tag: string;
|
|
202
|
+
clone: Function;
|
|
203
|
+
list: unknown[];
|
|
204
|
+
modelValue: unknown[];
|
|
205
|
+
componentData: Record<string, any>;
|
|
206
|
+
} & {
|
|
207
|
+
itemKey?: string | Function | undefined;
|
|
208
|
+
}>, {
|
|
209
|
+
move: Function;
|
|
210
|
+
tag: string;
|
|
211
|
+
clone: Function;
|
|
212
|
+
list: unknown[];
|
|
213
|
+
modelValue: unknown[];
|
|
214
|
+
componentData: Record<string, any>;
|
|
215
|
+
}>;
|
|
143
216
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onSave" | "onClose" | "reset")[], "onSave" | "onClose" | "reset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
144
217
|
fields: {
|
|
145
218
|
type: import("vue").PropType<any[]>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { defineComponent, ref, reactive, watch, onMounted,
|
|
1
|
+
import { defineComponent, ref, reactive, watch, onMounted, openBlock, createElementBlock, normalizeStyle, createVNode, unref, withCtx, createElementVNode, normalizeClass, createCommentVNode, createBlock, createTextVNode, toDisplayString, withDirectives, vShow, renderSlot } from 'vue';
|
|
2
2
|
import { NSpin, NCheckbox, NTooltip, NSelect, NInput, NInputNumber, NPopconfirm, NButton } from 'naive-ui';
|
|
3
|
+
import draggableComponent from '../../../shared/components/VueDraggable/src/vuedraggable.js';
|
|
3
4
|
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
|
|
4
5
|
|
|
5
6
|
const _hoisted_1 = { class: "fields-set-content" };
|
|
@@ -226,7 +227,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
226
227
|
getTableFields
|
|
227
228
|
});
|
|
228
229
|
return (_ctx, _cache) => {
|
|
229
|
-
const _component_draggable = resolveComponent("draggable");
|
|
230
230
|
return openBlock(), createElementBlock("div", {
|
|
231
231
|
ref_key: "settingView",
|
|
232
232
|
ref: settingView,
|
|
@@ -294,7 +294,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
294
294
|
ref: "setShow",
|
|
295
295
|
class: normalizeClass(["set-show", { "set-show-api": !state.isCustomSearch }])
|
|
296
296
|
}, [
|
|
297
|
-
createVNode(
|
|
297
|
+
createVNode(unref(draggableComponent), {
|
|
298
298
|
list: state.fields,
|
|
299
299
|
animation: "150",
|
|
300
300
|
"item-key": "id",
|
|
@@ -94,6 +94,79 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
94
94
|
NSpin: any;
|
|
95
95
|
NTooltip: any;
|
|
96
96
|
NPopconfirm: any;
|
|
97
|
+
draggable: import("vue").DefineComponent<{
|
|
98
|
+
list: {
|
|
99
|
+
type: ArrayConstructor;
|
|
100
|
+
required: boolean;
|
|
101
|
+
default: any;
|
|
102
|
+
};
|
|
103
|
+
modelValue: {
|
|
104
|
+
type: ArrayConstructor;
|
|
105
|
+
required: boolean;
|
|
106
|
+
default: any;
|
|
107
|
+
};
|
|
108
|
+
itemKey: {
|
|
109
|
+
type: (StringConstructor | FunctionConstructor)[];
|
|
110
|
+
required: boolean;
|
|
111
|
+
};
|
|
112
|
+
clone: {
|
|
113
|
+
type: FunctionConstructor;
|
|
114
|
+
default: (original: any) => any;
|
|
115
|
+
};
|
|
116
|
+
tag: {
|
|
117
|
+
type: StringConstructor;
|
|
118
|
+
default: string;
|
|
119
|
+
};
|
|
120
|
+
move: {
|
|
121
|
+
type: FunctionConstructor;
|
|
122
|
+
default: any;
|
|
123
|
+
};
|
|
124
|
+
componentData: {
|
|
125
|
+
type: ObjectConstructor;
|
|
126
|
+
required: boolean;
|
|
127
|
+
default: any;
|
|
128
|
+
};
|
|
129
|
+
}, unknown, {
|
|
130
|
+
error: boolean;
|
|
131
|
+
}, {
|
|
132
|
+
realList(): any;
|
|
133
|
+
getKey(): any;
|
|
134
|
+
}, {
|
|
135
|
+
getUnderlyingVm(domElement: any): any;
|
|
136
|
+
getUnderlyingPotencialDraggableComponent(htmElement: any): any;
|
|
137
|
+
emitChanges(evt: any): void;
|
|
138
|
+
alterList(onList: any): void;
|
|
139
|
+
spliceList(): void;
|
|
140
|
+
updatePosition(oldIndex: any, newIndex: any): void;
|
|
141
|
+
getRelatedContextFromMoveEvent({ to, related }: {
|
|
142
|
+
to: any;
|
|
143
|
+
related: any;
|
|
144
|
+
}): any;
|
|
145
|
+
getVmIndexFromDomIndex(domIndex: any): any;
|
|
146
|
+
onDragStart(evt: any): void;
|
|
147
|
+
onDragAdd(evt: any): void;
|
|
148
|
+
onDragRemove(evt: any): void;
|
|
149
|
+
onDragUpdate(evt: any): void;
|
|
150
|
+
computeFutureIndex(relatedContext: any, evt: any): any;
|
|
151
|
+
onDragMove(evt: any, originalEvent: any): any;
|
|
152
|
+
onDragEnd(): void;
|
|
153
|
+
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any[], any, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
|
|
154
|
+
move: Function;
|
|
155
|
+
tag: string;
|
|
156
|
+
clone: Function;
|
|
157
|
+
list: unknown[];
|
|
158
|
+
modelValue: unknown[];
|
|
159
|
+
componentData: Record<string, any>;
|
|
160
|
+
} & {
|
|
161
|
+
itemKey?: string | Function | undefined;
|
|
162
|
+
}>, {
|
|
163
|
+
move: Function;
|
|
164
|
+
tag: string;
|
|
165
|
+
clone: Function;
|
|
166
|
+
list: unknown[];
|
|
167
|
+
modelValue: unknown[];
|
|
168
|
+
componentData: Record<string, any>;
|
|
169
|
+
}>;
|
|
97
170
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("onSave" | "onClose" | "reset")[], "onSave" | "onClose" | "reset", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
98
171
|
fields: {
|
|
99
172
|
type: PropType<any[]>;
|