cloud-web-corejs 1.0.54-dev.533 → 1.0.54-dev.536

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cloud-web-corejs",
3
3
  "private": false,
4
- "version": "1.0.54-dev.533",
4
+ "version": "1.0.54-dev.536",
5
5
  "scripts": {
6
6
  "dev": "vue-cli-service serve",
7
7
  "lint": "eslint --ext .js,.vue src",
@@ -16,6 +16,12 @@
16
16
  "publishDev": "npm publish --tag dev"
17
17
  },
18
18
  "dependencies": {
19
+ "@univerjs/preset-sheets-core": "^0.15.0",
20
+ "@univerjs/preset-sheets-drawing": "^0.15.0",
21
+ "@univerjs/presets": "^0.15.0",
22
+ "@univerjs/sheets-crosshair-highlight": "^0.15.0",
23
+ "@univerjs/sheets-zen-editor": "^0.15.0",
24
+ "@univerjs/watermark": "^0.15.0",
19
25
  "@codemirror/lang-javascript": "^6.1.9",
20
26
  "@formulajs/formulajs": "^4.3.1",
21
27
  "@vue/preload-webpack-plugin": "^2.0.0",
@@ -152,6 +158,7 @@
152
158
  "src/components/table",
153
159
  "src/components/tempStorage",
154
160
  "src/components/Tinymce",
161
+ "src/components/univer",
155
162
  "src/components/obsUpload",
156
163
  "src/components/VabUpload",
157
164
  "src/components/vb-tabs",
@@ -42,6 +42,7 @@
42
42
  </el-dialog>
43
43
  </template>
44
44
  <script>
45
+ import xeUtils from "xe-utils";
45
46
  export default {
46
47
  name: "exportFieldDialog",
47
48
  props: ["param"],
@@ -75,14 +76,76 @@ export default {
75
76
  Math.random() * 100000 + Math.random() * 20000 + Math.random() * 5000
76
77
  );
77
78
  },
79
+ filterExportVisible(items) {
80
+ if (!Array.isArray(items)) return [];
81
+
82
+ return items
83
+ .filter((item) => item.exportItemVisible === true) // 只保留 exportItemVisible 严格等于 true 的项
84
+ .map((item) => {
85
+ // 如果有 children,递归过滤
86
+ if (Array.isArray(item.children)) {
87
+ return {
88
+ ...item,
89
+ children: this.filterExportVisible(item.children),
90
+ };
91
+ }
92
+ return item;
93
+ });
94
+ },
78
95
  init() {
79
96
  let target = this.getGrid();
80
- let { fullColumn, collectColumn: columns } = target.getTableColumn();
97
+ let { fullColumn, collectColumn: column1s } = target.getTableColumn();
98
+
99
+ let checkMethod = target.$refs.xTable.customOpts?.checkMethod;
100
+ // var checkMethod = $xetable ? $xetable.customOpts.checkMethod : null;
81
101
  // let columns = target.getTableColumn().collectColumn;
102
+ let columns = [];
103
+ let allFields = [];
104
+ if (checkMethod) {
105
+ const handleColumnVisible = (column) => {
106
+ if (!column.title) return false;
107
+ let visible = true;
108
+
109
+ let isColGroup = column.children && column.children.length;
110
+
111
+ if (isColGroup) {
112
+ // 如果是分组字段,则根据子字段的显示状态来处理
113
+ let parentVisible = false;
114
+ column.children.forEach((item) => {
115
+ let itemVisible = handleColumnVisible(item);
116
+ if (itemVisible) {
117
+ parentVisible = true;
118
+ }
119
+ });
120
+ visible = parentVisible;
121
+ /* visible = column.children.some((item) => {
122
+ return handleColumnVisible(item);
123
+ }); */
124
+ } else {
125
+ let isDisabled = !checkMethod({
126
+ column: column,
127
+ });
128
+ if (isDisabled) {
129
+ // 如果字段被禁用勾选,根据显示状态来处理
130
+ visible = column.visible;
131
+ }
132
+ if (column.field && visible) {
133
+ allFields.push(column.field);
134
+ }
135
+ }
136
+ column.exportItemVisible = visible;
137
+ return visible;
138
+ };
139
+ column1s.forEach((column) => {
140
+ return handleColumnVisible(column);
141
+ });
142
+ columns = this.filterExportVisible(column1s);
143
+ } else {
144
+ columns = column1s;
145
+ }
82
146
 
83
147
  let exportItem = this.param.type === "exportItem";
84
148
 
85
- let allFields = [];
86
149
  let defaultCheckedKeys = [];
87
150
  let cols = [];
88
151
 
@@ -113,7 +176,6 @@ export default {
113
176
  } else if (!noFields.includes(column.field) && column.visible) {
114
177
  defaultCheckedKeys.push(column.id);
115
178
  }
116
- allFields.push(column.field);
117
179
  }
118
180
  });
119
181
  columns.forEach((column) => {
@@ -129,13 +191,13 @@ export default {
129
191
 
130
192
  this.loopColumnHandle(oriExportItemColumns, (item) => {
131
193
  item.id = this.generateId();
132
- if (item.field) {
194
+ if (item.field && allFields.includes(item.field)) {
133
195
  if (yesFields.includes(item.field)) {
134
196
  defaultCheckedKeys.push(item.id);
135
197
  } else if (!noFields.includes(item.field)) {
136
198
  defaultCheckedKeys.push(item.id);
137
199
  }
138
- allFields.push(item.field);
200
+ // allFields.push(item.field);
139
201
  }
140
202
  });
141
203
  oriExportItemColumns.forEach((column) => {
@@ -197,9 +259,8 @@ export default {
197
259
  });
198
260
  $grid.exportItemColumns = exportItemColumns;
199
261
  }
200
-
201
- this.$vxeTableUtil.addTableJson(originOption.vue, $grid, originOption.tableName);
202
262
  }
263
+ this.$vxeTableUtil.addTableJson(originOption.vue, $grid, originOption.tableName);
203
264
  },
204
265
  handleBeforeClose(hide) {
205
266
  // this.$emit('cancel');