tor-univer-sheet 1.2.3 → 1.2.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/dist/tor-univer-sheet.es.js +212 -199
- package/dist/tor-univer-sheet.umd.js +1 -1
- package/dist/types/index.d.ts +5 -0
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { CellValueType as
|
|
2
|
-
import { CommandType as
|
|
1
|
+
import { CellValueType as A } from "@univerjs/presets";
|
|
2
|
+
import { CommandType as ve, FEventName as Te, FUniver as Se, ICommandService as Ce, IUniverInstanceService as Ne, Inject as Pe, Injector as ke, LocaleType as Oe, Plugin as Ie, Univer as je, UniverInstanceType as He, Workbook as Ue, createUniver as Re, defaultTheme as Be, greenTheme as Ve, merge as Ae, mergeLocales as Ee, touchDependencies as Fe } from "@univerjs/presets";
|
|
3
3
|
import { BaselineOffset as Ze, CommandService as $e } from "@univerjs/core";
|
|
4
|
-
import { SetRangeValuesCommand as
|
|
5
|
-
import { ComponentManager as
|
|
4
|
+
import { SetRangeValuesCommand as qe } from "@univerjs/sheets";
|
|
5
|
+
import { ComponentManager as Je, ContextMenuGroup as ze, ContextMenuPosition as Ke, IMenuManagerService as _e, MenuItemType as Qe, RibbonStartGroup as Xe } from "@univerjs/ui";
|
|
6
6
|
import { UniverVue3AdapterPlugin as tt } from "@univerjs/ui-adapter-vue3";
|
|
7
7
|
import { UniverSheetsAdvancedPreset as ot } from "@univerjs/preset-sheets-advanced";
|
|
8
8
|
import { UniverSheetsConditionalFormattingPreset as st } from "@univerjs/presets/preset-sheets-conditional-formatting";
|
|
@@ -15,12 +15,12 @@ import { UniverSheetsNotePreset as Dt } from "@univerjs/preset-sheets-note";
|
|
|
15
15
|
import { default as bt } from "@univerjs/preset-sheets-core/locales/zh-CN";
|
|
16
16
|
import { default as Mt } from "@univerjs/preset-sheets-advanced/locales/zh-CN";
|
|
17
17
|
import { default as xt } from "@univerjs/presets/preset-sheets-conditional-formatting/locales/zh-CN";
|
|
18
|
-
import { default as
|
|
19
|
-
import { default as
|
|
18
|
+
import { default as Tt } from "@univerjs/presets/preset-sheets-core/locales/zh-CN";
|
|
19
|
+
import { default as Ct } from "@univerjs/presets/preset-sheets-data-validation/locales/zh-CN";
|
|
20
20
|
import { default as Pt } from "@univerjs/preset-sheets-drawing/locales/zh-CN";
|
|
21
21
|
import { default as Ot } from "@univerjs/presets/preset-sheets-drawing/locales/zh-CN";
|
|
22
22
|
import { default as jt } from "@univerjs/presets/preset-sheets-filter/locales/zh-CN";
|
|
23
|
-
import { default as
|
|
23
|
+
import { default as Ut } from "@univerjs/presets/preset-sheets-hyper-link/locales/zh-CN";
|
|
24
24
|
import { default as Bt } from "@univerjs/preset-sheets-note/locales/zh-CN";
|
|
25
25
|
import d from "dayjs";
|
|
26
26
|
import z from "decimal.js";
|
|
@@ -53,7 +53,7 @@ function he(e) {
|
|
|
53
53
|
appVersion: e?.appVersion || "1.0.0"
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
|
-
const X = Object.prototype.toString, K = (e, r) => X.call(e) === `[object ${r}]`, ee = (e) => typeof e < "u", te = (e) => !ee(e), re = (e) => e !== null && K(e, "Object"),
|
|
56
|
+
const X = Object.prototype.toString, K = (e, r) => X.call(e) === `[object ${r}]`, ee = (e) => typeof e < "u", te = (e) => !ee(e), re = (e) => e !== null && K(e, "Object"), E = (e) => e == null || typeof e > "u" ? !0 : q(e) || se(e) ? e.length === 0 : e instanceof Map || e instanceof Set ? e.size === 0 : re(e) ? Object.keys(e).length === 0 : !1, oe = (e) => e === null, ne = (e) => te(e) || oe(e), se = (e) => K(e, "String"), q = (e) => e && Array.isArray(e);
|
|
57
57
|
class ae {
|
|
58
58
|
value;
|
|
59
59
|
constructor(r) {
|
|
@@ -134,7 +134,7 @@ async function ye(e, r) {
|
|
|
134
134
|
if (!r) return Promise.reject("日期不能为空");
|
|
135
135
|
switch (e) {
|
|
136
136
|
case "year":
|
|
137
|
-
if (
|
|
137
|
+
if (q(r))
|
|
138
138
|
return Promise.resolve(r);
|
|
139
139
|
const o = d(r);
|
|
140
140
|
if (!o.isValid())
|
|
@@ -142,29 +142,29 @@ async function ye(e, r) {
|
|
|
142
142
|
const t = o.year(), c = `${t}-01`, n = `${t}-12`;
|
|
143
143
|
return Promise.resolve([c, n]);
|
|
144
144
|
case "month":
|
|
145
|
-
if (
|
|
145
|
+
if (q(r))
|
|
146
146
|
return Promise.resolve(r);
|
|
147
147
|
const h = d(r);
|
|
148
148
|
if (!h.isValid())
|
|
149
149
|
return Promise.reject("无效的日期格式");
|
|
150
|
-
const
|
|
151
|
-
return Promise.resolve([
|
|
150
|
+
const v = h.startOf("month").format("YYYY-MM-DD"), a = h.endOf("month").format("YYYY-MM-DD");
|
|
151
|
+
return Promise.resolve([v, a]);
|
|
152
152
|
case "day":
|
|
153
|
-
if (
|
|
153
|
+
if (q(r))
|
|
154
154
|
return Promise.resolve(r);
|
|
155
155
|
const y = d(r);
|
|
156
156
|
if (!y.isValid())
|
|
157
157
|
return Promise.reject("无效的日期格式");
|
|
158
|
-
const Y = y.startOf("day").format("YYYY-MM-DD HH:mm:ss"),
|
|
159
|
-
return Promise.resolve([Y,
|
|
158
|
+
const Y = y.startOf("day").format("YYYY-MM-DD HH:mm:ss"), l = y.endOf("day").format("YYYY-MM-DD HH:mm:ss");
|
|
159
|
+
return Promise.resolve([Y, l]);
|
|
160
160
|
default:
|
|
161
161
|
return Promise.reject("不支持的周期类型");
|
|
162
162
|
}
|
|
163
163
|
}
|
|
164
|
-
function
|
|
164
|
+
function H(e, r, o) {
|
|
165
165
|
return o ? d(r).diff(d(e), o) : 0;
|
|
166
166
|
}
|
|
167
|
-
function
|
|
167
|
+
function W(e, r, o) {
|
|
168
168
|
if (!o)
|
|
169
169
|
throw new Error("日期类型不能为空");
|
|
170
170
|
const t = {
|
|
@@ -176,15 +176,15 @@ function J(e, r, o) {
|
|
|
176
176
|
return d(e).subtract(r, o).format(t);
|
|
177
177
|
}
|
|
178
178
|
function P(e, r, o, t) {
|
|
179
|
-
const c = "YYYY-MM-DD HH:mm:ss", n =
|
|
179
|
+
const c = "YYYY-MM-DD HH:mm:ss", n = Z(e, r, o, t), h = d(n);
|
|
180
180
|
if (r === "month") {
|
|
181
181
|
const a = h.month();
|
|
182
182
|
return a === 0 ? [h.startOf("month").format(c), h.date(25).endOf("day").format(c)] : a === 11 ? [h.subtract(1, "month").date(26).startOf("day").format(c), h.endOf("month").format(c)] : [h.subtract(1, "month").date(26).startOf("day").format(c), h.date(25).endOf("day").format(c)];
|
|
183
183
|
}
|
|
184
|
-
const
|
|
185
|
-
return [h.startOf(
|
|
184
|
+
const v = { year: "year", day: "day", hour: "hour" };
|
|
185
|
+
return [h.startOf(v[r]).format(c), h.endOf(v[r]).format(c)];
|
|
186
186
|
}
|
|
187
|
-
function
|
|
187
|
+
function Z(e, r, o, t) {
|
|
188
188
|
const c = {
|
|
189
189
|
year: "YYYY",
|
|
190
190
|
month: "YYYY-MM",
|
|
@@ -193,7 +193,7 @@ function E(e, r, o, t) {
|
|
|
193
193
|
}[r];
|
|
194
194
|
return d(e, c).add(o * t, r).format(c);
|
|
195
195
|
}
|
|
196
|
-
function
|
|
196
|
+
function x(e, r, o) {
|
|
197
197
|
return e[r] || (e[r] = {}), e[r][o] || (e[r][o] = {}), e[r][o];
|
|
198
198
|
}
|
|
199
199
|
async function Ye(e) {
|
|
@@ -201,27 +201,27 @@ async function Ye(e) {
|
|
|
201
201
|
throw new Error("cellData is required");
|
|
202
202
|
const r = Object.entries(e).reduce((o, t) => {
|
|
203
203
|
const [c, n] = t;
|
|
204
|
-
for (const [h,
|
|
205
|
-
const { custom: a, v: y, t: Y, s:
|
|
204
|
+
for (const [h, v] of Object.entries(n)) {
|
|
205
|
+
const { custom: a, v: y, t: Y, s: l } = v;
|
|
206
206
|
if (!a) continue;
|
|
207
|
-
const { cellType:
|
|
208
|
-
if (
|
|
209
|
-
const O =
|
|
207
|
+
const { cellType: G } = a, u = !a.hasOwnProperty("writeBack") || E(a?.writeBack) ? !0 : a.writeBack;
|
|
208
|
+
if (G === "indicator") {
|
|
209
|
+
const O = x(o, c, h);
|
|
210
210
|
O.custom = {
|
|
211
211
|
...a,
|
|
212
|
-
required:
|
|
213
|
-
defaultShift:
|
|
214
|
-
forwardPush:
|
|
215
|
-
forwardPushTimes:
|
|
216
|
-
useDefaultEndDate:
|
|
217
|
-
copyType:
|
|
212
|
+
required: E(a?.required) ? !1 : a?.required,
|
|
213
|
+
defaultShift: E(a?.defaultShift) ? !1 : a?.defaultShift,
|
|
214
|
+
forwardPush: E(a?.forwardPush) ? !1 : a?.forwardPush,
|
|
215
|
+
forwardPushTimes: E(a?.useDefaultEndDate) ? 0 : a?.forwardPushTimes,
|
|
216
|
+
useDefaultEndDate: E(a?.useDefaultEndDate) ? !1 : a?.useDefaultEndDate,
|
|
217
|
+
copyType: E(a?.copyType) ? "" : a?.copyType,
|
|
218
218
|
writeBack: u
|
|
219
|
-
}, O.s =
|
|
219
|
+
}, O.s = l, O.t = Y, O.v = y || "";
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
return o;
|
|
223
223
|
}, {});
|
|
224
|
-
return !r ||
|
|
224
|
+
return !r || E(r) ? Promise.reject(new Error("No data found")) : Promise.resolve(r);
|
|
225
225
|
}
|
|
226
226
|
function $(e, r) {
|
|
227
227
|
return e.replace(/\$\{([^}]+)\}/g, (o, t) => {
|
|
@@ -240,131 +240,131 @@ function ue({
|
|
|
240
240
|
initColNum: t,
|
|
241
241
|
cellData: c
|
|
242
242
|
}) {
|
|
243
|
-
const { rangeData: n, currentDay: h, extraArgs:
|
|
244
|
-
let
|
|
243
|
+
const { rangeData: n, currentDay: h, extraArgs: v } = r, a = v?.teamData || {}, { cycleType: y, timeIncrement: Y, forwardPush: l, forwardPushTimes: G, copyType: u, copyInterval: O, defaultShift: g, templateStr: k, useDefaultEndDate: J } = c.custom;
|
|
244
|
+
let M = 0;
|
|
245
245
|
switch (y) {
|
|
246
246
|
case "day": {
|
|
247
247
|
let s = "";
|
|
248
|
-
if (
|
|
248
|
+
if (l && (s = W(
|
|
249
249
|
n[0],
|
|
250
|
-
|
|
250
|
+
G,
|
|
251
251
|
"day"
|
|
252
252
|
/* day */
|
|
253
253
|
)), !u) {
|
|
254
|
-
let
|
|
255
|
-
|
|
256
|
-
const i =
|
|
257
|
-
i.v = k ? $(k, { businessDate:
|
|
254
|
+
let f = "";
|
|
255
|
+
l ? f = s : f = n[0];
|
|
256
|
+
const i = x(e, o, t);
|
|
257
|
+
i.v = k ? $(k, { businessDate: f, dayjs: d }) : d(f).format("YYYY-MM-DD"), i.t = A.STRING, i.s = "tor-time-cell-style";
|
|
258
258
|
break;
|
|
259
259
|
}
|
|
260
|
-
|
|
260
|
+
l ? M = H(
|
|
261
261
|
s,
|
|
262
262
|
n[0],
|
|
263
263
|
"day"
|
|
264
264
|
/* day */
|
|
265
|
-
) : (
|
|
265
|
+
) : (M = H(
|
|
266
266
|
n[0],
|
|
267
267
|
n[1],
|
|
268
268
|
"day"
|
|
269
269
|
/* day */
|
|
270
|
-
), console.log("copyNum",
|
|
271
|
-
for (let
|
|
272
|
-
const i =
|
|
273
|
-
let
|
|
274
|
-
|
|
275
|
-
const
|
|
276
|
-
V.v = k ? $(k, { businessDate:
|
|
270
|
+
), console.log("copyNum", M));
|
|
271
|
+
for (let f = 0; f <= Math.abs(M === 0 ? 1 : M); f++) {
|
|
272
|
+
const i = f * (O + 1);
|
|
273
|
+
let T = "";
|
|
274
|
+
l ? T = Z(s, "day", f, Y) : T = Z(n[0], "day", f, Y);
|
|
275
|
+
const b = u === "right" ? o : o + i, R = u === "right" ? t + i : t, V = x(e, b, R);
|
|
276
|
+
V.v = k ? $(k, { businessDate: T, dayjs: d }) : d(T).format("YYYY-MM-DD"), V.t = A.STRING, V.s = "tor-time-cell-style";
|
|
277
277
|
}
|
|
278
278
|
break;
|
|
279
279
|
}
|
|
280
280
|
case "month": {
|
|
281
281
|
if (!u) {
|
|
282
|
-
const [s,
|
|
283
|
-
i.v = d(
|
|
282
|
+
const [s, f] = P(n[1], "month", 0, 1), i = x(e, o, t);
|
|
283
|
+
i.v = d(f).format("YYYY-MM"), i.t = A.STRING, i.s = "tor-time-cell-style";
|
|
284
284
|
break;
|
|
285
285
|
}
|
|
286
|
-
|
|
286
|
+
M = H(
|
|
287
287
|
n[0],
|
|
288
288
|
n[1],
|
|
289
289
|
"month"
|
|
290
290
|
/* month */
|
|
291
291
|
);
|
|
292
|
-
for (let s = 0; s <= Math.abs(
|
|
293
|
-
const
|
|
294
|
-
|
|
292
|
+
for (let s = 0; s <= Math.abs(M === 0 ? 1 : M); s++) {
|
|
293
|
+
const f = s * (O + 1), i = u === "right" ? o : o + f, T = u === "right" ? t + f : t, b = x(e, i, T);
|
|
294
|
+
b.v = Z(n[0], "month", s, Y), b.t = A.STRING, b.s = "tor-time-cell-style";
|
|
295
295
|
}
|
|
296
296
|
break;
|
|
297
297
|
}
|
|
298
298
|
case "year": {
|
|
299
299
|
let s = "";
|
|
300
|
-
if (
|
|
300
|
+
if (l && (s = W(
|
|
301
301
|
n[0],
|
|
302
|
-
|
|
302
|
+
G || 0,
|
|
303
303
|
"year"
|
|
304
304
|
/* year */
|
|
305
305
|
)), !u) {
|
|
306
|
-
const
|
|
307
|
-
|
|
306
|
+
const f = l ? s : n[0], [i, T] = P(f, "year", 0, 1), b = x(e, o, t), [, R] = P(n[1], "month", 0, 1);
|
|
307
|
+
b.v = k ? $(k, {
|
|
308
308
|
startTime: i,
|
|
309
|
-
endTime:
|
|
309
|
+
endTime: T,
|
|
310
310
|
rangeData: n,
|
|
311
311
|
dayjs: d
|
|
312
|
-
}) :
|
|
312
|
+
}) : f, b.t = A.STRING, b.s = "tor-time-cell-style";
|
|
313
313
|
break;
|
|
314
314
|
}
|
|
315
|
-
|
|
315
|
+
l ? M = H(
|
|
316
316
|
s,
|
|
317
317
|
n[0],
|
|
318
318
|
"year"
|
|
319
319
|
/* year */
|
|
320
|
-
) :
|
|
320
|
+
) : M = H(
|
|
321
321
|
n[0],
|
|
322
322
|
n[1],
|
|
323
323
|
"year"
|
|
324
324
|
/* year */
|
|
325
325
|
);
|
|
326
|
-
for (let
|
|
327
|
-
const i =
|
|
328
|
-
|
|
326
|
+
for (let f = 0; f <= Math.abs(M === 0 ? 1 : M); f++) {
|
|
327
|
+
const i = f * (O + 1), T = u === "right" ? o : o + i, b = u === "right" ? t + i : t, [R, V] = P(n[0], "year", f, Y), S = x(e, T, b), N = Z(n[0], "year", f, Y);
|
|
328
|
+
S.v = k ? $(k, {
|
|
329
329
|
startTime: R,
|
|
330
330
|
endTime: V,
|
|
331
331
|
rangeData: n,
|
|
332
332
|
dayjs: d
|
|
333
|
-
}) :
|
|
333
|
+
}) : N, S.t = A.STRING, S.s = "tor-time-cell-style";
|
|
334
334
|
}
|
|
335
335
|
break;
|
|
336
336
|
}
|
|
337
337
|
case "hour": {
|
|
338
338
|
if (!u) {
|
|
339
|
-
const s =
|
|
340
|
-
if (s.t =
|
|
339
|
+
const s = x(e, o, t);
|
|
340
|
+
if (s.t = A.STRING, s.s = "tor-time-cell-style", g) {
|
|
341
341
|
s.v = d(n[0]).add(1, "hour").format("YYYY-MM-DD HH:mm:ss");
|
|
342
342
|
break;
|
|
343
343
|
}
|
|
344
344
|
s.v = d(h).add(1, "hour").format("YYYY-MM-DD HH:mm:ss");
|
|
345
345
|
break;
|
|
346
346
|
}
|
|
347
|
-
|
|
347
|
+
M = H(
|
|
348
348
|
n[0],
|
|
349
349
|
n[1],
|
|
350
350
|
"hour"
|
|
351
351
|
/* hour */
|
|
352
352
|
);
|
|
353
|
-
for (let s = 0; s <= Math.abs(
|
|
354
|
-
const
|
|
355
|
-
if (
|
|
353
|
+
for (let s = 0; s <= Math.abs(M === 0 ? 1 : M); s++) {
|
|
354
|
+
const f = s * (O + 1), i = u === "right" ? o : o + f, T = u === "right" ? t + f : t, b = x(e, i, T);
|
|
355
|
+
if (b.t = A.STRING, b.s = "tor-time-cell-style", g) {
|
|
356
356
|
const R = d(n[0]).add(1, "hour").format("YYYY-MM-DD HH:mm:ss");
|
|
357
|
-
|
|
357
|
+
b.v = Z(R, "hour", s, Y);
|
|
358
358
|
continue;
|
|
359
359
|
}
|
|
360
|
-
|
|
360
|
+
b.v = Z(d(h).add(1, "hour").format("YYYY-MM-DD HH:mm:ss"), "hour", s, Y);
|
|
361
361
|
}
|
|
362
362
|
break;
|
|
363
363
|
}
|
|
364
364
|
case "shift": {
|
|
365
365
|
if (!u) {
|
|
366
|
-
const s =
|
|
367
|
-
s.t =
|
|
366
|
+
const s = x(e, o, t);
|
|
367
|
+
s.t = A.STRING, s.s = "tor-time-cell-style", s.v = k ? $(k, {
|
|
368
368
|
rangeData: n,
|
|
369
369
|
dayjs: d
|
|
370
370
|
}) : n[0];
|
|
@@ -373,9 +373,9 @@ function ue({
|
|
|
373
373
|
if (!a.length)
|
|
374
374
|
throw new Error("没有获取到当班数据");
|
|
375
375
|
for (let s = 0; s < a.length; s++) {
|
|
376
|
-
const
|
|
377
|
-
|
|
378
|
-
team:
|
|
376
|
+
const f = a[s], { startDatetime: i, endDatetime: T } = f, b = s * (O + 1), R = u === "right" ? o : j(o).add(b).toNumber(), V = u === "right" ? j(t).add(b).toNumber() : t, S = x(e, R, V);
|
|
377
|
+
S.s = "tor-time-cell-style", S.v = k ? $(k, {
|
|
378
|
+
team: f
|
|
379
379
|
}) : i;
|
|
380
380
|
}
|
|
381
381
|
break;
|
|
@@ -388,183 +388,195 @@ async function De(e, r) {
|
|
|
388
388
|
const { extraArgs: o, rangeData: t } = r;
|
|
389
389
|
if (!t.length)
|
|
390
390
|
return Promise.reject("处理时间范围失败, rangeData不能为空");
|
|
391
|
-
const c = o?.teamData || [], { periodicityTime: n } = r, h = r?.currentDay || d().format("YYYY-MM-DD"),
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
391
|
+
const c = o?.teamData || [], { periodicityTime: n } = r, h = r?.currentDay || d().format("YYYY-MM-DD"), v = (y, Y, l) => n ? l !== "MACH_CYCLE" ? [y, Y] : parseInt(n.split(":")[0], 10) < 12 ? [
|
|
392
|
+
d(y).format("YYYY-MM-DD") + " " + n,
|
|
393
|
+
d(Y).add(1, "day").format("YYYY-MM-DD") + " " + n
|
|
394
|
+
] : [
|
|
395
|
+
d(y).subtract(1, "day").format("YYYY-MM-DD") + " " + n,
|
|
396
|
+
d(Y).format("YYYY-MM-DD") + " " + n
|
|
397
|
+
] : [y, Y], a = Object.entries(e).reduce((y, Y) => {
|
|
398
|
+
const [l, G] = Y;
|
|
399
|
+
for (const [u, O] of Object.entries(G)) {
|
|
400
|
+
const { custom: g } = O;
|
|
401
|
+
if (!g) continue;
|
|
396
402
|
const {
|
|
397
403
|
cellType: k,
|
|
398
|
-
cycleType:
|
|
399
|
-
timeIncrement:
|
|
404
|
+
cycleType: J,
|
|
405
|
+
timeIncrement: M,
|
|
400
406
|
forwardPush: s,
|
|
401
|
-
forwardPushTimes:
|
|
407
|
+
forwardPushTimes: f,
|
|
402
408
|
copyType: i,
|
|
403
|
-
copyInterval:
|
|
404
|
-
defaultShift:
|
|
409
|
+
copyInterval: T,
|
|
410
|
+
defaultShift: b,
|
|
405
411
|
useDefaultStartDate: R,
|
|
406
412
|
useDefaultEndDate: V
|
|
407
|
-
} =
|
|
413
|
+
} = g;
|
|
408
414
|
if (k === "time") {
|
|
409
|
-
ue({ acc: y, params: r, initRowNum: Number(
|
|
415
|
+
ue({ acc: y, params: r, initRowNum: Number(l), initColNum: Number(u), cellData: O });
|
|
410
416
|
continue;
|
|
411
417
|
}
|
|
412
|
-
const
|
|
413
|
-
cycleType:
|
|
414
|
-
indicatorName:
|
|
415
|
-
indicatorCode:
|
|
416
|
-
indicatorId:
|
|
417
|
-
indicatorDimensionName:
|
|
418
|
-
indicatorDimensionConfig:
|
|
419
|
-
required: ne(
|
|
420
|
-
cellType:
|
|
421
|
-
defaultShift:
|
|
422
|
-
writeBack:
|
|
423
|
-
dimensionJson:
|
|
424
|
-
unit:
|
|
425
|
-
innerSyncWay:
|
|
426
|
-
outSyncConfigId:
|
|
427
|
-
innerSyncStatus:
|
|
418
|
+
const S = {
|
|
419
|
+
cycleType: J,
|
|
420
|
+
indicatorName: g.indicatorName,
|
|
421
|
+
indicatorCode: g.indicatorCode,
|
|
422
|
+
indicatorId: g.indicatorId,
|
|
423
|
+
indicatorDimensionName: g.indicatorDimensionName,
|
|
424
|
+
indicatorDimensionConfig: g.indicatorDimensionConfig,
|
|
425
|
+
required: ne(g?.required) ?? !1,
|
|
426
|
+
cellType: g.cellType,
|
|
427
|
+
defaultShift: g?.defaultShift || !1,
|
|
428
|
+
writeBack: E(g?.writeBack) ? !0 : g.writeBack,
|
|
429
|
+
dimensionJson: g?.dimensionJson || "",
|
|
430
|
+
unit: g?.unit || "",
|
|
431
|
+
innerSyncWay: g?.innerSyncWay || "",
|
|
432
|
+
outSyncConfigId: g?.outSyncConfigId || "",
|
|
433
|
+
innerSyncStatus: g?.innerSyncStatus || ""
|
|
428
434
|
};
|
|
429
|
-
let
|
|
430
|
-
switch (
|
|
435
|
+
let N = 0;
|
|
436
|
+
switch (J) {
|
|
431
437
|
case "day": {
|
|
432
438
|
let m = "";
|
|
433
|
-
if (s && (m =
|
|
439
|
+
if (s && (m = W(
|
|
434
440
|
t[0],
|
|
435
|
-
|
|
441
|
+
f || 0,
|
|
436
442
|
"day"
|
|
437
443
|
/* day */
|
|
438
444
|
)), !i) {
|
|
439
|
-
const D = s ? m : t[0], [
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
445
|
+
const D = s ? m : t[0], [w, p] = v(
|
|
446
|
+
...P(D, "day", 0, 1),
|
|
447
|
+
g?.innerSyncWay
|
|
448
|
+
), C = x(y, l, u);
|
|
449
|
+
C.s = "tor-indicator-cell-style", C.custom = {
|
|
450
|
+
...S,
|
|
451
|
+
startTime: w,
|
|
452
|
+
endTime: p
|
|
444
453
|
};
|
|
445
454
|
break;
|
|
446
455
|
}
|
|
447
|
-
s ?
|
|
456
|
+
s ? N = H(
|
|
448
457
|
m,
|
|
449
458
|
t[0],
|
|
450
459
|
"day"
|
|
451
460
|
/* day */
|
|
452
|
-
) :
|
|
461
|
+
) : N = H(
|
|
453
462
|
t[0],
|
|
454
463
|
t[1],
|
|
455
464
|
"day"
|
|
456
465
|
/* day */
|
|
457
466
|
);
|
|
458
|
-
for (let D = 0; D <= Math.abs(
|
|
459
|
-
const
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
467
|
+
for (let D = 0; D <= Math.abs(N === 0 ? 1 : N); D++) {
|
|
468
|
+
const w = D * (T + 1), p = s ? m : t[0], [C, U] = v(
|
|
469
|
+
...P(p, "day", D, M),
|
|
470
|
+
g?.innerSyncWay
|
|
471
|
+
), I = i === "right" ? l : j(l).add(w).toNumber(), B = i === "right" ? j(u).add(w).toNumber() : u, F = x(y, I, B);
|
|
472
|
+
F.s = "tor-indicator-cell-style", F.custom = {
|
|
473
|
+
...S,
|
|
474
|
+
startTime: C,
|
|
475
|
+
endTime: U
|
|
464
476
|
};
|
|
465
477
|
}
|
|
466
478
|
break;
|
|
467
479
|
}
|
|
468
480
|
case "month": {
|
|
469
481
|
if (!i) {
|
|
470
|
-
const [m, D] = P(t[1], "month", 0, 1),
|
|
471
|
-
|
|
472
|
-
...
|
|
482
|
+
const [m, D] = P(t[1], "month", 0, 1), w = x(y, l, u);
|
|
483
|
+
w.s = "tor-indicator-cell-style", w.custom = {
|
|
484
|
+
...S,
|
|
473
485
|
startTime: m,
|
|
474
486
|
endTime: D
|
|
475
487
|
};
|
|
476
488
|
break;
|
|
477
489
|
}
|
|
478
|
-
|
|
490
|
+
N = H(
|
|
479
491
|
t[0],
|
|
480
492
|
t[1],
|
|
481
493
|
"month"
|
|
482
494
|
/* month */
|
|
483
495
|
);
|
|
484
|
-
for (let m = 0; m <= Math.abs(
|
|
485
|
-
const D = m * (
|
|
496
|
+
for (let m = 0; m <= Math.abs(N === 0 ? 1 : N); m++) {
|
|
497
|
+
const D = m * (T + 1), w = i === "right" ? l : j(l).add(D).toNumber(), p = i === "right" ? j(u).add(D).toNumber() : u, [C, U] = P(t[0], "month", m, M), I = x(y, w, p);
|
|
486
498
|
I.s = "tor-indicator-cell-style", I.custom = {
|
|
487
|
-
...
|
|
488
|
-
startTime:
|
|
489
|
-
endTime:
|
|
499
|
+
...S,
|
|
500
|
+
startTime: C,
|
|
501
|
+
endTime: U
|
|
490
502
|
};
|
|
491
503
|
}
|
|
492
504
|
break;
|
|
493
505
|
}
|
|
494
506
|
case "year": {
|
|
495
|
-
let m = "", D = "",
|
|
507
|
+
let m = "", D = "", w = "";
|
|
496
508
|
if (s) {
|
|
497
|
-
m =
|
|
509
|
+
m = W(
|
|
498
510
|
t[0],
|
|
499
|
-
|
|
511
|
+
f || 0,
|
|
500
512
|
"year"
|
|
501
513
|
/* year */
|
|
502
514
|
);
|
|
503
|
-
const
|
|
504
|
-
D = d(`${m}-${
|
|
515
|
+
const p = d(t[1]).format("MM");
|
|
516
|
+
D = d(`${m}-${p + 1}`).format("YYYY-MM"), w = d(`${m}-${p + 2}`).format("YYYY-MM");
|
|
505
517
|
}
|
|
506
518
|
if (!i) {
|
|
507
|
-
const
|
|
519
|
+
const p = s ? m : t[0], [C, U] = P(p, "year", 0, 1), I = x(y, l, u);
|
|
508
520
|
I.s = "tor-indicator-cell-style";
|
|
509
|
-
const [, B] = P(D, "month", 0, 1), [
|
|
521
|
+
const [, B] = P(D, "month", 0, 1), [F] = P(w, "month", 0, 1);
|
|
510
522
|
I.custom = {
|
|
511
|
-
...
|
|
512
|
-
startTime: R ?
|
|
513
|
-
endTime: V ? B :
|
|
523
|
+
...S,
|
|
524
|
+
startTime: R ? F : C,
|
|
525
|
+
endTime: V ? B : U
|
|
514
526
|
};
|
|
515
527
|
break;
|
|
516
528
|
}
|
|
517
|
-
s ?
|
|
529
|
+
s ? N = H(
|
|
518
530
|
m,
|
|
519
531
|
t[0],
|
|
520
532
|
"year"
|
|
521
533
|
/* year */
|
|
522
|
-
) :
|
|
534
|
+
) : N = H(
|
|
523
535
|
t[0],
|
|
524
536
|
t[1],
|
|
525
537
|
"year"
|
|
526
538
|
/* year */
|
|
527
539
|
);
|
|
528
|
-
for (let
|
|
529
|
-
const
|
|
530
|
-
|
|
531
|
-
...
|
|
540
|
+
for (let p = 0; p <= Math.abs(N === 0 ? 1 : N); p++) {
|
|
541
|
+
const C = p * (T + 1), U = i === "right" ? l : j(l).add(C).toNumber(), I = i === "right" ? j(u).add(C).toNumber() : u, [B, F] = P(t[0], "year", p, M), L = x(y, U, I);
|
|
542
|
+
L.s = "tor-indicator-cell-style", L.custom = {
|
|
543
|
+
...S,
|
|
532
544
|
startTime: B,
|
|
533
|
-
endTime:
|
|
545
|
+
endTime: F
|
|
534
546
|
};
|
|
535
547
|
}
|
|
536
548
|
break;
|
|
537
549
|
}
|
|
538
550
|
case "hour": {
|
|
539
551
|
if (!i) {
|
|
540
|
-
const m =
|
|
541
|
-
|
|
542
|
-
...
|
|
552
|
+
const m = b ? t[0] : t[0] ?? h, [D, w] = P(m, "hour", 1, 1), p = x(y, l, u);
|
|
553
|
+
p.s = "tor-indicator-cell-style", p.custom = {
|
|
554
|
+
...S,
|
|
543
555
|
startTime: D,
|
|
544
|
-
endTime:
|
|
556
|
+
endTime: w
|
|
545
557
|
};
|
|
546
558
|
break;
|
|
547
559
|
}
|
|
548
|
-
|
|
560
|
+
N = H(
|
|
549
561
|
t[0],
|
|
550
562
|
t[1],
|
|
551
563
|
"hour"
|
|
552
564
|
/* hour */
|
|
553
565
|
);
|
|
554
|
-
for (let m = 0; m <= Math.abs(
|
|
555
|
-
const D = m * (
|
|
556
|
-
if (
|
|
557
|
-
const
|
|
558
|
-
|
|
559
|
-
...
|
|
560
|
-
startTime:
|
|
566
|
+
for (let m = 0; m <= Math.abs(N === 0 ? 1 : N); m++) {
|
|
567
|
+
const D = m * (T + 1), w = i === "right" ? l : j(l).add(D).toNumber(), p = i === "right" ? j(u).add(D).toNumber() : u, C = x(y, w, p);
|
|
568
|
+
if (C.s = "tor-indicator-cell-style", b) {
|
|
569
|
+
const F = d(t[0]).add(1, "hour").format("YYYY-MM-DD HH:mm:ss"), [L, _] = P(F, "hour", m, M);
|
|
570
|
+
C.custom = {
|
|
571
|
+
...S,
|
|
572
|
+
startTime: L,
|
|
561
573
|
endTime: _
|
|
562
574
|
};
|
|
563
575
|
continue;
|
|
564
576
|
}
|
|
565
|
-
const
|
|
566
|
-
|
|
567
|
-
...
|
|
577
|
+
const U = d(h).add(1, "hour").format("YYYY-MM-DD HH:mm:ss"), [I, B] = P(U, "hour", m, M);
|
|
578
|
+
C.custom = {
|
|
579
|
+
...S,
|
|
568
580
|
startTime: I,
|
|
569
581
|
endTime: B
|
|
570
582
|
};
|
|
@@ -573,9 +585,9 @@ async function De(e, r) {
|
|
|
573
585
|
}
|
|
574
586
|
case "shift": {
|
|
575
587
|
if (!i) {
|
|
576
|
-
const [m, D] = t,
|
|
577
|
-
|
|
578
|
-
...
|
|
588
|
+
const [m, D] = t, w = x(y, l, u);
|
|
589
|
+
w.s = "tor-indicator-cell-style", w.custom = {
|
|
590
|
+
...S,
|
|
579
591
|
startTime: m,
|
|
580
592
|
endTime: D
|
|
581
593
|
};
|
|
@@ -584,11 +596,11 @@ async function De(e, r) {
|
|
|
584
596
|
if (!c.length)
|
|
585
597
|
throw new Error("没有获取到当班数据");
|
|
586
598
|
for (let m = 0; m < c.length; m++) {
|
|
587
|
-
const D = c[m], { startDatetime:
|
|
599
|
+
const D = c[m], { startDatetime: w, endDatetime: p } = D, C = m * (T + 1), U = i === "right" ? l : j(l).add(C).toNumber(), I = i === "right" ? j(u).add(C).toNumber() : u, B = x(y, U, I);
|
|
588
600
|
B.s = "tor-indicator-cell-style", B.custom = {
|
|
589
|
-
...
|
|
590
|
-
startTime:
|
|
591
|
-
endTime:
|
|
601
|
+
...S,
|
|
602
|
+
startTime: w,
|
|
603
|
+
endTime: p
|
|
592
604
|
};
|
|
593
605
|
}
|
|
594
606
|
break;
|
|
@@ -610,15 +622,16 @@ function be(e, r) {
|
|
|
610
622
|
for (const [t, c] of Object.entries(r)) {
|
|
611
623
|
o[t] || (o[t] = {});
|
|
612
624
|
for (const [n, h] of Object.entries(c)) {
|
|
613
|
-
const
|
|
625
|
+
const v = h, a = o[t]?.[n];
|
|
614
626
|
a ? o[t][n] = {
|
|
615
627
|
...a,
|
|
616
|
-
...
|
|
628
|
+
...v,
|
|
617
629
|
custom: {
|
|
618
630
|
...a.custom,
|
|
619
|
-
...
|
|
620
|
-
}
|
|
621
|
-
|
|
631
|
+
...v.custom
|
|
632
|
+
},
|
|
633
|
+
v: v.v || ""
|
|
634
|
+
} : o[t][n] = v;
|
|
622
635
|
}
|
|
623
636
|
}
|
|
624
637
|
return o;
|
|
@@ -631,11 +644,11 @@ function pe(e, r) {
|
|
|
631
644
|
for (const n in c) {
|
|
632
645
|
const h = c[n];
|
|
633
646
|
if (h?.custom?.cellType === "indicator") {
|
|
634
|
-
const
|
|
647
|
+
const v = Number(t), a = Number(n);
|
|
635
648
|
if (r.some(
|
|
636
|
-
(Y) =>
|
|
649
|
+
(Y) => v >= Y.startRow && v <= Y.endRow && a >= Y.startColumn && a <= Y.endColumn
|
|
637
650
|
) && !r.some(
|
|
638
|
-
(
|
|
651
|
+
(l) => v === l.startRow && a === l.startColumn
|
|
639
652
|
))
|
|
640
653
|
continue;
|
|
641
654
|
}
|
|
@@ -648,16 +661,16 @@ const Me = "./style.css";
|
|
|
648
661
|
export {
|
|
649
662
|
Ze as BaselineOffset,
|
|
650
663
|
$e as CommandService,
|
|
651
|
-
|
|
652
|
-
|
|
664
|
+
ve as CommandType,
|
|
665
|
+
Je as ComponentManager,
|
|
653
666
|
ze as ContextMenuGroup,
|
|
654
667
|
Ke as ContextMenuPosition,
|
|
655
668
|
ie as CycleTypeEnum,
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
669
|
+
Te as FEventName,
|
|
670
|
+
Se as FUniver,
|
|
671
|
+
Ce as ICommandService,
|
|
659
672
|
_e as IMenuManagerService,
|
|
660
|
-
|
|
673
|
+
Ne as IUniverInstanceService,
|
|
661
674
|
Pe as Inject,
|
|
662
675
|
ke as Injector,
|
|
663
676
|
Oe as LocaleType,
|
|
@@ -665,9 +678,9 @@ export {
|
|
|
665
678
|
ce as ModeEnum,
|
|
666
679
|
Ie as Plugin,
|
|
667
680
|
Xe as RibbonStartGroup,
|
|
668
|
-
|
|
681
|
+
qe as SetRangeValuesCommand,
|
|
669
682
|
je as Univer,
|
|
670
|
-
|
|
683
|
+
He as UniverInstanceType,
|
|
671
684
|
Mt as UniverPresetSheetsAdvancedZhCN,
|
|
672
685
|
Pt as UniverPresetSheetsDrawingZhCN,
|
|
673
686
|
Bt as UniverPresetSheetsNoteZhCN,
|
|
@@ -680,7 +693,7 @@ export {
|
|
|
680
693
|
yt as UniverSheetsHyperLinkPreset,
|
|
681
694
|
Dt as UniverSheetsNotePreset,
|
|
682
695
|
tt as UniverVue3AdapterPlugin,
|
|
683
|
-
|
|
696
|
+
Ue as Workbook,
|
|
684
697
|
Re as createUniver,
|
|
685
698
|
j as decimal,
|
|
686
699
|
Be as defaultTheme,
|
|
@@ -692,17 +705,17 @@ export {
|
|
|
692
705
|
Ve as greenTheme,
|
|
693
706
|
de as handleClearInput,
|
|
694
707
|
ye as initDateRange,
|
|
695
|
-
|
|
708
|
+
Ae as merge,
|
|
696
709
|
be as mergeCellData,
|
|
697
|
-
|
|
710
|
+
Ee as mergeLocales,
|
|
698
711
|
xt as sheetsConditionalFormattingZhCN,
|
|
699
|
-
|
|
700
|
-
|
|
712
|
+
Tt as sheetsCoreZhCN,
|
|
713
|
+
Ct as sheetsDataValidationZhCN,
|
|
701
714
|
Ot as sheetsDrawingZhCN,
|
|
702
715
|
jt as sheetsFilterZhCN,
|
|
703
|
-
|
|
716
|
+
Ut as sheetsHyperLinkZhCN,
|
|
704
717
|
Me as stylePath,
|
|
705
|
-
|
|
718
|
+
Fe as touchDependencies,
|
|
706
719
|
he as useData,
|
|
707
720
|
bt as zhCN
|
|
708
721
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(t,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("@univerjs/presets"),require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/ui"),require("@univerjs/ui-adapter-vue3"),require("@univerjs/preset-sheets-advanced"),require("@univerjs/presets/preset-sheets-conditional-formatting"),require("@univerjs/presets/preset-sheets-core"),require("@univerjs/presets/preset-sheets-data-validation"),require("@univerjs/presets/preset-sheets-drawing"),require("@univerjs/presets/preset-sheets-filter"),require("@univerjs/presets/preset-sheets-hyper-link"),require("@univerjs/preset-sheets-note"),require("@univerjs/preset-sheets-core/locales/zh-CN"),require("@univerjs/preset-sheets-advanced/locales/zh-CN"),require("@univerjs/presets/preset-sheets-conditional-formatting/locales/zh-CN"),require("@univerjs/presets/preset-sheets-core/locales/zh-CN"),require("@univerjs/presets/preset-sheets-data-validation/locales/zh-CN"),require("@univerjs/preset-sheets-drawing/locales/zh-CN"),require("@univerjs/presets/preset-sheets-drawing/locales/zh-CN"),require("@univerjs/presets/preset-sheets-filter/locales/zh-CN"),require("@univerjs/presets/preset-sheets-hyper-link/locales/zh-CN"),require("@univerjs/preset-sheets-note/locales/zh-CN"),require("dayjs"),require("decimal.js")):typeof define=="function"&&define.amd?define(["exports","@univerjs/presets","@univerjs/core","@univerjs/sheets","@univerjs/ui","@univerjs/ui-adapter-vue3","@univerjs/preset-sheets-advanced","@univerjs/presets/preset-sheets-conditional-formatting","@univerjs/presets/preset-sheets-core","@univerjs/presets/preset-sheets-data-validation","@univerjs/presets/preset-sheets-drawing","@univerjs/presets/preset-sheets-filter","@univerjs/presets/preset-sheets-hyper-link","@univerjs/preset-sheets-note","@univerjs/preset-sheets-core/locales/zh-CN","@univerjs/preset-sheets-advanced/locales/zh-CN","@univerjs/presets/preset-sheets-conditional-formatting/locales/zh-CN","@univerjs/presets/preset-sheets-core/locales/zh-CN","@univerjs/presets/preset-sheets-data-validation/locales/zh-CN","@univerjs/preset-sheets-drawing/locales/zh-CN","@univerjs/presets/preset-sheets-drawing/locales/zh-CN","@univerjs/presets/preset-sheets-filter/locales/zh-CN","@univerjs/presets/preset-sheets-hyper-link/locales/zh-CN","@univerjs/preset-sheets-note/locales/zh-CN","dayjs","decimal.js"],h):(t=typeof globalThis<"u"?globalThis:t||self,h(t.TorUniverSheet={},t.presets,t.core,t.sheets,t.ui,t.uiAdapterVue3,t.presetSheetsAdvanced,t.presetSheetsConditionalFormatting,t.presetSheetsCore,t.presetSheetsDataValidation,t.presetSheetsDrawing,t.presetSheetsFilter,t.presetSheetsHyperLink,t.presetSheetsNote,t.zhCN$9,t.zhCN,t.zhCN$3,t.zhCN$4,t.zhCN$5,t.zhCN$1,t.zhCN$6,t.zhCN$7,t.zhCN$8,t.zhCN$2,t.dayjs,t.Decimal))})(this,(function(t,h,X,ne,G,se,oe,ie,ae,ue,ce,le,me,fe,de,he,ye,ge,be,ve,pe,De,Ye,Ce,y,_){"use strict";const Pe=(e,n)=>{for(const s of n)e[s]=null},x=()=>{if(typeof crypto=="object"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"&&typeof Uint8Array=="function"){const s=r=>{const c=Number(r);return(c^crypto.getRandomValues(new Uint8Array(1))[0]&15>>c/4).toString(16)};return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,s)}}let e=new Date().getTime(),n=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let r=Math.random()*16;return e>0?(r=(e+r)%16|0,e=Math.floor(e/16)):(r=(n+r)%16|0,n=Math.floor(n/16)),(s==="x"?r:r&3|8).toString(16)})};function Me(e){return{...e?.workbookData,id:e?.id||x(),name:e?.name||"未命名",appVersion:e?.appVersion||"1.0.0"}}const Ne=Object.prototype.toString,ee=(e,n)=>Ne.call(e)===`[object ${n}]`,je=e=>typeof e<"u",we=e=>!je(e),Se=e=>e!==null&&ee(e,"Object"),F=e=>e==null||typeof e>"u"?!0:J(e)||ke(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:Se(e)?Object.keys(e).length===0:!1,Te=e=>e===null,Oe=e=>we(e)||Te(e),ke=e=>ee(e,"String"),J=e=>e&&Array.isArray(e);class Ie{value;constructor(n){this.value=new _(n)}add(n){return this.value=this.value.add(n||0),this}subtract(n){return this.value=this.value.sub(n||0),this}multiply(n){return this.value=this.value.mul(n||0),this}divide(n){const s=new _(n);if(s.isZero())throw new Error("除数是0");return this.value=this.value.div(s),this}toFixed(n,s){return this.value=new _(this.value.toFixed(n,s)),this}valueOf(){return this.value}toString(){return this.value.toString()}toNumber(){return this.value.toNumber()}}function U(e=0){return new Ie(e)}var te=(e=>(e.无="no",e.年="year",e.月="month",e.周="week",e.天="day",e.班组="shift",e.小时="hour",e.半小时="half_hour",e))(te||{}),re=(e=>(e.view="view",e.edit="edit",e))(re||{});async function Ue(e,n){if(!n)return Promise.reject("日期不能为空");switch(e){case"year":if(J(n))return Promise.resolve(n);const s=y(n);if(!s.isValid())return Promise.reject("无效的日期格式");const r=s.year(),c=`${r}-01`,o=`${r}-12`;return Promise.resolve([c,o]);case"month":if(J(n))return Promise.resolve(n);const g=y(n);if(!g.isValid())return Promise.reject("无效的日期格式");const j=g.startOf("month").format("YYYY-MM-DD"),a=g.endOf("month").format("YYYY-MM-DD");return Promise.resolve([j,a]);case"day":if(J(n))return Promise.resolve(n);const b=y(n);if(!b.isValid())return Promise.reject("无效的日期格式");const v=b.startOf("day").format("YYYY-MM-DD HH:mm:ss"),f=b.endOf("day").format("YYYY-MM-DD HH:mm:ss");return Promise.resolve([v,f]);default:return Promise.reject("不支持的周期类型")}}function H(e,n,s){return s?y(n).diff(y(e),s):0}function W(e,n,s){if(!s)throw new Error("日期类型不能为空");const r={year:"YYYY",month:"YYYY-MM",day:"YYYY-MM-DD",hour:"HH:mm:ss"}[s];return y(e).subtract(n,s).format(r)}function k(e,n,s,r){const c="YYYY-MM-DD HH:mm:ss",o=E(e,n,s,r),g=y(o);if(n==="month"){const a=g.month();return a===0?[g.startOf("month").format(c),g.date(25).endOf("day").format(c)]:a===11?[g.subtract(1,"month").date(26).startOf("day").format(c),g.endOf("month").format(c)]:[g.subtract(1,"month").date(26).startOf("day").format(c),g.date(25).endOf("day").format(c)]}const j={year:"year",day:"day",hour:"hour"};return[g.startOf(j[n]).format(c),g.endOf(j[n]).format(c)]}function E(e,n,s,r){const c={year:"YYYY",month:"YYYY-MM",day:"YYYY-MM-DD",hour:"YYYY-MM-DD HH:mm:ss"}[n];return y(e,c).add(s*r,n).format(c)}function C(e,n,s){return e[n]||(e[n]={}),e[n][s]||(e[n][s]={}),e[n][s]}async function ze(e){if(!e)throw new Error("cellData is required");const n=Object.entries(e).reduce((s,r)=>{const[c,o]=r;for(const[g,j]of Object.entries(o)){const{custom:a,v:b,t:v,s:f}=j;if(!a)continue;const{cellType:Z}=a,l=!a.hasOwnProperty("writeBack")||F(a?.writeBack)?!0:a.writeBack;if(Z==="indicator"){const z=C(s,c,g);z.custom={...a,required:F(a?.required)?!1:a?.required,defaultShift:F(a?.defaultShift)?!1:a?.defaultShift,forwardPush:F(a?.forwardPush)?!1:a?.forwardPush,forwardPushTimes:F(a?.useDefaultEndDate)?0:a?.forwardPushTimes,useDefaultEndDate:F(a?.useDefaultEndDate)?!1:a?.useDefaultEndDate,copyType:F(a?.copyType)?"":a?.copyType,writeBack:l},z.s=f,z.t=v,z.v=b||""}}return s},{});return!n||F(n)?Promise.reject(new Error("No data found")):Promise.resolve(n)}function L(e,n){return e.replace(/\$\{([^}]+)\}/g,(s,r)=>{try{const c=Object.keys(n),o=Object.values(n);return new Function(...c,`return ${r};`)(...o)}catch(c){return console.error(`表达式执行失败: ${r}`,c),s}})}function qe({acc:e,params:n,initRowNum:s,initColNum:r,cellData:c}){const{rangeData:o,currentDay:g,extraArgs:j}=n,a=j?.teamData||{},{cycleType:b,timeIncrement:v,forwardPush:f,forwardPushTimes:Z,copyType:l,copyInterval:z,defaultShift:N,templateStr:I,useDefaultEndDate:Q}=c.custom;let P=0;switch(b){case"day":{let i="";if(f&&(i=W(o[0],Z,"day")),!l){let m="";f?m=i:m=o[0];const u=C(e,s,r);u.v=I?L(I,{businessDate:m,dayjs:y}):y(m).format("YYYY-MM-DD"),u.t=h.CellValueType.STRING,u.s="tor-time-cell-style";break}f?P=H(i,o[0],"day"):(P=H(o[0],o[1],"day"),console.log("copyNum",P));for(let m=0;m<=Math.abs(P===0?1:P);m++){const u=m*(z+1);let w="";f?w=E(i,"day",m,v):w=E(o[0],"day",m,v);const D=l==="right"?s:s+u,R=l==="right"?r+u:r,B=C(e,D,R);B.v=I?L(I,{businessDate:w,dayjs:y}):y(w).format("YYYY-MM-DD"),B.t=h.CellValueType.STRING,B.s="tor-time-cell-style"}break}case"month":{if(!l){const[i,m]=k(o[1],"month",0,1),u=C(e,s,r);u.v=y(m).format("YYYY-MM"),u.t=h.CellValueType.STRING,u.s="tor-time-cell-style";break}P=H(o[0],o[1],"month");for(let i=0;i<=Math.abs(P===0?1:P);i++){const m=i*(z+1),u=l==="right"?s:s+m,w=l==="right"?r+m:r,D=C(e,u,w);D.v=E(o[0],"month",i,v),D.t=h.CellValueType.STRING,D.s="tor-time-cell-style"}break}case"year":{let i="";if(f&&(i=W(o[0],Z||0,"year")),!l){const m=f?i:o[0],[u,w]=k(m,"year",0,1),D=C(e,s,r),[,R]=k(o[1],"month",0,1);D.v=I?L(I,{startTime:u,endTime:w,rangeData:o,dayjs:y}):m,D.t=h.CellValueType.STRING,D.s="tor-time-cell-style";break}f?P=H(i,o[0],"year"):P=H(o[0],o[1],"year");for(let m=0;m<=Math.abs(P===0?1:P);m++){const u=m*(z+1),w=l==="right"?s:s+u,D=l==="right"?r+u:r,[R,B]=k(o[0],"year",m,v),S=C(e,w,D),O=E(o[0],"year",m,v);S.v=I?L(I,{startTime:R,endTime:B,rangeData:o,dayjs:y}):O,S.t=h.CellValueType.STRING,S.s="tor-time-cell-style"}break}case"hour":{if(!l){const i=C(e,s,r);if(i.t=h.CellValueType.STRING,i.s="tor-time-cell-style",N){i.v=y(o[0]).add(1,"hour").format("YYYY-MM-DD HH:mm:ss");break}i.v=y(g).add(1,"hour").format("YYYY-MM-DD HH:mm:ss");break}P=H(o[0],o[1],"hour");for(let i=0;i<=Math.abs(P===0?1:P);i++){const m=i*(z+1),u=l==="right"?s:s+m,w=l==="right"?r+m:r,D=C(e,u,w);if(D.t=h.CellValueType.STRING,D.s="tor-time-cell-style",N){const R=y(o[0]).add(1,"hour").format("YYYY-MM-DD HH:mm:ss");D.v=E(R,"hour",i,v);continue}D.v=E(y(g).add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),"hour",i,v)}break}case"shift":{if(!l){const i=C(e,s,r);i.t=h.CellValueType.STRING,i.s="tor-time-cell-style",i.v=I?L(I,{rangeData:o,dayjs:y}):o[0];break}if(!a.length)throw new Error("没有获取到当班数据");for(let i=0;i<a.length;i++){const m=a[i],{startDatetime:u,endDatetime:w}=m,D=i*(z+1),R=l==="right"?s:U(s).add(D).toNumber(),B=l==="right"?U(r).add(D).toNumber():r,S=C(e,R,B);S.s="tor-time-cell-style",S.v=I?L(I,{team:m}):u}break}}}async function He(e,n){if(!e)return Promise.reject("没有可用的单元格数据");const{extraArgs:s,rangeData:r}=n;if(!r.length)return Promise.reject("处理时间范围失败, rangeData不能为空");const c=s?.teamData||[],{periodicityTime:o}=n,g=n?.currentDay||y().format("YYYY-MM-DD"),j=(b,v)=>o?parseInt(o.split(":")[0],10)<12?[y(b).format("YYYY-MM-DD")+" "+o,y(v).add(1,"day").format("YYYY-MM-DD")+" "+o]:[y(b).subtract(1,"day").format("YYYY-MM-DD")+" "+o,y(v).format("YYYY-MM-DD")+" "+o]:[b,v],a=Object.entries(e).reduce((b,v)=>{const[f,Z]=v;for(const[l,z]of Object.entries(Z)){const{custom:N}=z;if(!N)continue;const{cellType:I,cycleType:Q,timeIncrement:P,forwardPush:i,forwardPushTimes:m,copyType:u,copyInterval:w,defaultShift:D,useDefaultStartDate:R,useDefaultEndDate:B}=N;if(I==="time"){qe({acc:b,params:n,initRowNum:Number(f),initColNum:Number(l),cellData:z});continue}const S={cycleType:Q,indicatorName:N.indicatorName,indicatorCode:N.indicatorCode,indicatorId:N.indicatorId,indicatorDimensionName:N.indicatorDimensionName,indicatorDimensionConfig:N.indicatorDimensionConfig,required:Oe(N?.required)??!1,cellType:N.cellType,defaultShift:N?.defaultShift||!1,writeBack:F(N?.writeBack)?!0:N.writeBack,dimensionJson:N?.dimensionJson||"",unit:N?.unit||"",innerSyncWay:N?.innerSyncWay||"",outSyncConfigId:N?.outSyncConfigId||"",innerSyncStatus:N?.innerSyncStatus||""};let O=0;switch(Q){case"day":{let d="";if(i&&(d=W(r[0],m||0,"day")),!u){const p=i?d:r[0],[M,Y]=j(...k(p,"day",0,1)),T=C(b,f,l);T.s="tor-indicator-cell-style",T.custom={...S,startTime:M,endTime:Y};break}i?O=H(d,r[0],"day"):O=H(r[0],r[1],"day");for(let p=0;p<=Math.abs(O===0?1:O);p++){const M=p*(w+1),Y=i?d:r[0],[T,V]=j(...k(Y,"day",p,P)),q=u==="right"?f:U(f).add(M).toNumber(),$=u==="right"?U(l).add(M).toNumber():l,A=C(b,q,$);A.s="tor-indicator-cell-style",A.custom={...S,startTime:T,endTime:V}}break}case"month":{if(!u){const[d,p]=k(r[1],"month",0,1),M=C(b,f,l);M.s="tor-indicator-cell-style",M.custom={...S,startTime:d,endTime:p};break}O=H(r[0],r[1],"month");for(let d=0;d<=Math.abs(O===0?1:O);d++){const p=d*(w+1),M=u==="right"?f:U(f).add(p).toNumber(),Y=u==="right"?U(l).add(p).toNumber():l,[T,V]=k(r[0],"month",d,P),q=C(b,M,Y);q.s="tor-indicator-cell-style",q.custom={...S,startTime:T,endTime:V}}break}case"year":{let d="",p="",M="";if(i){d=W(r[0],m||0,"year");const Y=y(r[1]).format("MM");p=y(`${d}-${Y+1}`).format("YYYY-MM"),M=y(`${d}-${Y+2}`).format("YYYY-MM")}if(!u){const Y=i?d:r[0],[T,V]=k(Y,"year",0,1),q=C(b,f,l);q.s="tor-indicator-cell-style";const[,$]=k(p,"month",0,1),[A]=k(M,"month",0,1);q.custom={...S,startTime:R?A:T,endTime:B?$:V};break}i?O=H(d,r[0],"year"):O=H(r[0],r[1],"year");for(let Y=0;Y<=Math.abs(O===0?1:O);Y++){const T=Y*(w+1),V=u==="right"?f:U(f).add(T).toNumber(),q=u==="right"?U(l).add(T).toNumber():l,[$,A]=k(r[0],"year",Y,P),K=C(b,V,q);K.s="tor-indicator-cell-style",K.custom={...S,startTime:$,endTime:A}}break}case"hour":{if(!u){const d=D?r[0]:r[0]??g,[p,M]=k(d,"hour",1,1),Y=C(b,f,l);Y.s="tor-indicator-cell-style",Y.custom={...S,startTime:p,endTime:M};break}O=H(r[0],r[1],"hour");for(let d=0;d<=Math.abs(O===0?1:O);d++){const p=d*(w+1),M=u==="right"?f:U(f).add(p).toNumber(),Y=u==="right"?U(l).add(p).toNumber():l,T=C(b,M,Y);if(T.s="tor-indicator-cell-style",D){const A=y(r[0]).add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),[K,Be]=k(A,"hour",d,P);T.custom={...S,startTime:K,endTime:Be};continue}const V=y(g).add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),[q,$]=k(V,"hour",d,P);T.custom={...S,startTime:q,endTime:$}}break}case"shift":{if(!u){const[d,p]=r,M=C(b,f,l);M.s="tor-indicator-cell-style",M.custom={...S,startTime:d,endTime:p};break}if(!c.length)throw new Error("没有获取到当班数据");for(let d=0;d<c.length;d++){const p=c[d],{startDatetime:M,endDatetime:Y}=p,T=d*(w+1),V=u==="right"?f:U(f).add(T).toNumber(),q=u==="right"?U(l).add(T).toNumber():l,$=C(b,V,q);$.s="tor-indicator-cell-style",$.custom={...S,startTime:M,endTime:Y}}break}}}return b},{});return Promise.resolve(a)}function Ve(e){return Object.entries(e).reduce((s,[r,c])=>{const o=Math.max(...Object.keys(c).map(Number));return o>s?s=Number(o):s=Number(s)||0,s},0)}function Re(e,n){const s=JSON.parse(JSON.stringify(e||{}));for(const[r,c]of Object.entries(n)){s[r]||(s[r]={});for(const[o,g]of Object.entries(c)){const j=g,a=s[r]?.[o];a?s[r][o]={...a,...j,custom:{...a.custom,...j.custom}}:s[r][o]=j}}return s}function $e(e,n){if(!n?.length||!e)return e;const s={};for(const r in e){const c=e[r];for(const o in c){const g=c[o];if(g?.custom?.cellType==="indicator"){const j=Number(r),a=Number(o);if(n.some(v=>j>=v.startRow&&j<=v.endRow&&a>=v.startColumn&&a<=v.endColumn)&&!n.some(f=>j===f.startRow&&a===f.startColumn))continue}s[r]||(s[r]={}),s[r][o]=g}}return s}const Fe="./style.css";Object.defineProperty(t,"CommandType",{enumerable:!0,get:()=>h.CommandType}),Object.defineProperty(t,"FEventName",{enumerable:!0,get:()=>h.FEventName}),Object.defineProperty(t,"FUniver",{enumerable:!0,get:()=>h.FUniver}),Object.defineProperty(t,"ICommandService",{enumerable:!0,get:()=>h.ICommandService}),Object.defineProperty(t,"IUniverInstanceService",{enumerable:!0,get:()=>h.IUniverInstanceService}),Object.defineProperty(t,"Inject",{enumerable:!0,get:()=>h.Inject}),Object.defineProperty(t,"Injector",{enumerable:!0,get:()=>h.Injector}),Object.defineProperty(t,"LocaleType",{enumerable:!0,get:()=>h.LocaleType}),Object.defineProperty(t,"Plugin",{enumerable:!0,get:()=>h.Plugin}),Object.defineProperty(t,"Univer",{enumerable:!0,get:()=>h.Univer}),Object.defineProperty(t,"UniverInstanceType",{enumerable:!0,get:()=>h.UniverInstanceType}),Object.defineProperty(t,"Workbook",{enumerable:!0,get:()=>h.Workbook}),Object.defineProperty(t,"createUniver",{enumerable:!0,get:()=>h.createUniver}),Object.defineProperty(t,"defaultTheme",{enumerable:!0,get:()=>h.defaultTheme}),Object.defineProperty(t,"greenTheme",{enumerable:!0,get:()=>h.greenTheme}),Object.defineProperty(t,"merge",{enumerable:!0,get:()=>h.merge}),Object.defineProperty(t,"mergeLocales",{enumerable:!0,get:()=>h.mergeLocales}),Object.defineProperty(t,"touchDependencies",{enumerable:!0,get:()=>h.touchDependencies}),Object.defineProperty(t,"BaselineOffset",{enumerable:!0,get:()=>X.BaselineOffset}),Object.defineProperty(t,"CommandService",{enumerable:!0,get:()=>X.CommandService}),Object.defineProperty(t,"SetRangeValuesCommand",{enumerable:!0,get:()=>ne.SetRangeValuesCommand}),Object.defineProperty(t,"ComponentManager",{enumerable:!0,get:()=>G.ComponentManager}),Object.defineProperty(t,"ContextMenuGroup",{enumerable:!0,get:()=>G.ContextMenuGroup}),Object.defineProperty(t,"ContextMenuPosition",{enumerable:!0,get:()=>G.ContextMenuPosition}),Object.defineProperty(t,"IMenuManagerService",{enumerable:!0,get:()=>G.IMenuManagerService}),Object.defineProperty(t,"MenuItemType",{enumerable:!0,get:()=>G.MenuItemType}),Object.defineProperty(t,"RibbonStartGroup",{enumerable:!0,get:()=>G.RibbonStartGroup}),Object.defineProperty(t,"UniverVue3AdapterPlugin",{enumerable:!0,get:()=>se.UniverVue3AdapterPlugin}),Object.defineProperty(t,"UniverSheetsAdvancedPreset",{enumerable:!0,get:()=>oe.UniverSheetsAdvancedPreset}),Object.defineProperty(t,"UniverSheetsConditionalFormattingPreset",{enumerable:!0,get:()=>ie.UniverSheetsConditionalFormattingPreset}),Object.defineProperty(t,"UniverSheetsCorePreset",{enumerable:!0,get:()=>ae.UniverSheetsCorePreset}),Object.defineProperty(t,"UniverSheetsDataValidationPreset",{enumerable:!0,get:()=>ue.UniverSheetsDataValidationPreset}),Object.defineProperty(t,"UniverSheetsDrawingPreset",{enumerable:!0,get:()=>ce.UniverSheetsDrawingPreset}),Object.defineProperty(t,"UniverSheetsFilterPreset",{enumerable:!0,get:()=>le.UniverSheetsFilterPreset}),Object.defineProperty(t,"UniverSheetsHyperLinkPreset",{enumerable:!0,get:()=>me.UniverSheetsHyperLinkPreset}),Object.defineProperty(t,"UniverSheetsNotePreset",{enumerable:!0,get:()=>fe.UniverSheetsNotePreset}),t.zhCN=de,t.UniverPresetSheetsAdvancedZhCN=he,t.sheetsConditionalFormattingZhCN=ye,t.sheetsCoreZhCN=ge,t.sheetsDataValidationZhCN=be,t.UniverPresetSheetsDrawingZhCN=ve,t.sheetsDrawingZhCN=pe,t.sheetsFilterZhCN=De,t.sheetsHyperLinkZhCN=Ye,t.UniverPresetSheetsNoteZhCN=Ce,t.CycleTypeEnum=te,t.ModeEnum=re,t.decimal=U,t.filterIndicatorsCell=ze,t.filterMergedIndicatorCells=$e,t.generateIndicatorsCells=He,t.generateUUID=x,t.getNumColumns=Ve,t.handleClearInput=Pe,t.initDateRange=Ue,t.mergeCellData=Re,t.stylePath=Fe,t.useData=Me,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|
|
1
|
+
(function(t,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("@univerjs/presets"),require("@univerjs/core"),require("@univerjs/sheets"),require("@univerjs/ui"),require("@univerjs/ui-adapter-vue3"),require("@univerjs/preset-sheets-advanced"),require("@univerjs/presets/preset-sheets-conditional-formatting"),require("@univerjs/presets/preset-sheets-core"),require("@univerjs/presets/preset-sheets-data-validation"),require("@univerjs/presets/preset-sheets-drawing"),require("@univerjs/presets/preset-sheets-filter"),require("@univerjs/presets/preset-sheets-hyper-link"),require("@univerjs/preset-sheets-note"),require("@univerjs/preset-sheets-core/locales/zh-CN"),require("@univerjs/preset-sheets-advanced/locales/zh-CN"),require("@univerjs/presets/preset-sheets-conditional-formatting/locales/zh-CN"),require("@univerjs/presets/preset-sheets-core/locales/zh-CN"),require("@univerjs/presets/preset-sheets-data-validation/locales/zh-CN"),require("@univerjs/preset-sheets-drawing/locales/zh-CN"),require("@univerjs/presets/preset-sheets-drawing/locales/zh-CN"),require("@univerjs/presets/preset-sheets-filter/locales/zh-CN"),require("@univerjs/presets/preset-sheets-hyper-link/locales/zh-CN"),require("@univerjs/preset-sheets-note/locales/zh-CN"),require("dayjs"),require("decimal.js")):typeof define=="function"&&define.amd?define(["exports","@univerjs/presets","@univerjs/core","@univerjs/sheets","@univerjs/ui","@univerjs/ui-adapter-vue3","@univerjs/preset-sheets-advanced","@univerjs/presets/preset-sheets-conditional-formatting","@univerjs/presets/preset-sheets-core","@univerjs/presets/preset-sheets-data-validation","@univerjs/presets/preset-sheets-drawing","@univerjs/presets/preset-sheets-filter","@univerjs/presets/preset-sheets-hyper-link","@univerjs/preset-sheets-note","@univerjs/preset-sheets-core/locales/zh-CN","@univerjs/preset-sheets-advanced/locales/zh-CN","@univerjs/presets/preset-sheets-conditional-formatting/locales/zh-CN","@univerjs/presets/preset-sheets-core/locales/zh-CN","@univerjs/presets/preset-sheets-data-validation/locales/zh-CN","@univerjs/preset-sheets-drawing/locales/zh-CN","@univerjs/presets/preset-sheets-drawing/locales/zh-CN","@univerjs/presets/preset-sheets-filter/locales/zh-CN","@univerjs/presets/preset-sheets-hyper-link/locales/zh-CN","@univerjs/preset-sheets-note/locales/zh-CN","dayjs","decimal.js"],h):(t=typeof globalThis<"u"?globalThis:t||self,h(t.TorUniverSheet={},t.presets,t.core,t.sheets,t.ui,t.uiAdapterVue3,t.presetSheetsAdvanced,t.presetSheetsConditionalFormatting,t.presetSheetsCore,t.presetSheetsDataValidation,t.presetSheetsDrawing,t.presetSheetsFilter,t.presetSheetsHyperLink,t.presetSheetsNote,t.zhCN$9,t.zhCN,t.zhCN$3,t.zhCN$4,t.zhCN$5,t.zhCN$1,t.zhCN$6,t.zhCN$7,t.zhCN$8,t.zhCN$2,t.dayjs,t.Decimal))})(this,(function(t,h,X,ne,L,se,oe,ie,ae,ue,ce,le,fe,me,de,he,ye,ge,ve,be,pe,Ye,De,Ce,y,_){"use strict";const Pe=(e,n)=>{for(const s of n)e[s]=null},x=()=>{if(typeof crypto=="object"){if(typeof crypto.randomUUID=="function")return crypto.randomUUID();if(typeof crypto.getRandomValues=="function"&&typeof Uint8Array=="function"){const s=r=>{const c=Number(r);return(c^crypto.getRandomValues(new Uint8Array(1))[0]&15>>c/4).toString(16)};return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,s)}}let e=new Date().getTime(),n=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,s=>{let r=Math.random()*16;return e>0?(r=(e+r)%16|0,e=Math.floor(e/16)):(r=(n+r)%16|0,n=Math.floor(n/16)),(s==="x"?r:r&3|8).toString(16)})};function Me(e){return{...e?.workbookData,id:e?.id||x(),name:e?.name||"未命名",appVersion:e?.appVersion||"1.0.0"}}const Ne=Object.prototype.toString,ee=(e,n)=>Ne.call(e)===`[object ${n}]`,je=e=>typeof e<"u",we=e=>!je(e),Se=e=>e!==null&&ee(e,"Object"),F=e=>e==null||typeof e>"u"?!0:W(e)||ke(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:Se(e)?Object.keys(e).length===0:!1,Te=e=>e===null,Oe=e=>we(e)||Te(e),ke=e=>ee(e,"String"),W=e=>e&&Array.isArray(e);class Ie{value;constructor(n){this.value=new _(n)}add(n){return this.value=this.value.add(n||0),this}subtract(n){return this.value=this.value.sub(n||0),this}multiply(n){return this.value=this.value.mul(n||0),this}divide(n){const s=new _(n);if(s.isZero())throw new Error("除数是0");return this.value=this.value.div(s),this}toFixed(n,s){return this.value=new _(this.value.toFixed(n,s)),this}valueOf(){return this.value}toString(){return this.value.toString()}toNumber(){return this.value.toNumber()}}function U(e=0){return new Ie(e)}var te=(e=>(e.无="no",e.年="year",e.月="month",e.周="week",e.天="day",e.班组="shift",e.小时="hour",e.半小时="half_hour",e))(te||{}),re=(e=>(e.view="view",e.edit="edit",e))(re||{});async function Ue(e,n){if(!n)return Promise.reject("日期不能为空");switch(e){case"year":if(W(n))return Promise.resolve(n);const s=y(n);if(!s.isValid())return Promise.reject("无效的日期格式");const r=s.year(),c=`${r}-01`,o=`${r}-12`;return Promise.resolve([c,o]);case"month":if(W(n))return Promise.resolve(n);const g=y(n);if(!g.isValid())return Promise.reject("无效的日期格式");const j=g.startOf("month").format("YYYY-MM-DD"),a=g.endOf("month").format("YYYY-MM-DD");return Promise.resolve([j,a]);case"day":if(W(n))return Promise.resolve(n);const v=y(n);if(!v.isValid())return Promise.reject("无效的日期格式");const b=v.startOf("day").format("YYYY-MM-DD HH:mm:ss"),f=v.endOf("day").format("YYYY-MM-DD HH:mm:ss");return Promise.resolve([b,f]);default:return Promise.reject("不支持的周期类型")}}function H(e,n,s){return s?y(n).diff(y(e),s):0}function J(e,n,s){if(!s)throw new Error("日期类型不能为空");const r={year:"YYYY",month:"YYYY-MM",day:"YYYY-MM-DD",hour:"HH:mm:ss"}[s];return y(e).subtract(n,s).format(r)}function k(e,n,s,r){const c="YYYY-MM-DD HH:mm:ss",o=E(e,n,s,r),g=y(o);if(n==="month"){const a=g.month();return a===0?[g.startOf("month").format(c),g.date(25).endOf("day").format(c)]:a===11?[g.subtract(1,"month").date(26).startOf("day").format(c),g.endOf("month").format(c)]:[g.subtract(1,"month").date(26).startOf("day").format(c),g.date(25).endOf("day").format(c)]}const j={year:"year",day:"day",hour:"hour"};return[g.startOf(j[n]).format(c),g.endOf(j[n]).format(c)]}function E(e,n,s,r){const c={year:"YYYY",month:"YYYY-MM",day:"YYYY-MM-DD",hour:"YYYY-MM-DD HH:mm:ss"}[n];return y(e,c).add(s*r,n).format(c)}function P(e,n,s){return e[n]||(e[n]={}),e[n][s]||(e[n][s]={}),e[n][s]}async function ze(e){if(!e)throw new Error("cellData is required");const n=Object.entries(e).reduce((s,r)=>{const[c,o]=r;for(const[g,j]of Object.entries(o)){const{custom:a,v,t:b,s:f}=j;if(!a)continue;const{cellType:G}=a,l=!a.hasOwnProperty("writeBack")||F(a?.writeBack)?!0:a.writeBack;if(G==="indicator"){const z=P(s,c,g);z.custom={...a,required:F(a?.required)?!1:a?.required,defaultShift:F(a?.defaultShift)?!1:a?.defaultShift,forwardPush:F(a?.forwardPush)?!1:a?.forwardPush,forwardPushTimes:F(a?.useDefaultEndDate)?0:a?.forwardPushTimes,useDefaultEndDate:F(a?.useDefaultEndDate)?!1:a?.useDefaultEndDate,copyType:F(a?.copyType)?"":a?.copyType,writeBack:l},z.s=f,z.t=b,z.v=v||""}}return s},{});return!n||F(n)?Promise.reject(new Error("No data found")):Promise.resolve(n)}function Z(e,n){return e.replace(/\$\{([^}]+)\}/g,(s,r)=>{try{const c=Object.keys(n),o=Object.values(n);return new Function(...c,`return ${r};`)(...o)}catch(c){return console.error(`表达式执行失败: ${r}`,c),s}})}function qe({acc:e,params:n,initRowNum:s,initColNum:r,cellData:c}){const{rangeData:o,currentDay:g,extraArgs:j}=n,a=j?.teamData||{},{cycleType:v,timeIncrement:b,forwardPush:f,forwardPushTimes:G,copyType:l,copyInterval:z,defaultShift:Y,templateStr:I,useDefaultEndDate:Q}=c.custom;let M=0;switch(v){case"day":{let i="";if(f&&(i=J(o[0],G,"day")),!l){let m="";f?m=i:m=o[0];const u=P(e,s,r);u.v=I?Z(I,{businessDate:m,dayjs:y}):y(m).format("YYYY-MM-DD"),u.t=h.CellValueType.STRING,u.s="tor-time-cell-style";break}f?M=H(i,o[0],"day"):(M=H(o[0],o[1],"day"),console.log("copyNum",M));for(let m=0;m<=Math.abs(M===0?1:M);m++){const u=m*(z+1);let w="";f?w=E(i,"day",m,b):w=E(o[0],"day",m,b);const D=l==="right"?s:s+u,R=l==="right"?r+u:r,B=P(e,D,R);B.v=I?Z(I,{businessDate:w,dayjs:y}):y(w).format("YYYY-MM-DD"),B.t=h.CellValueType.STRING,B.s="tor-time-cell-style"}break}case"month":{if(!l){const[i,m]=k(o[1],"month",0,1),u=P(e,s,r);u.v=y(m).format("YYYY-MM"),u.t=h.CellValueType.STRING,u.s="tor-time-cell-style";break}M=H(o[0],o[1],"month");for(let i=0;i<=Math.abs(M===0?1:M);i++){const m=i*(z+1),u=l==="right"?s:s+m,w=l==="right"?r+m:r,D=P(e,u,w);D.v=E(o[0],"month",i,b),D.t=h.CellValueType.STRING,D.s="tor-time-cell-style"}break}case"year":{let i="";if(f&&(i=J(o[0],G||0,"year")),!l){const m=f?i:o[0],[u,w]=k(m,"year",0,1),D=P(e,s,r),[,R]=k(o[1],"month",0,1);D.v=I?Z(I,{startTime:u,endTime:w,rangeData:o,dayjs:y}):m,D.t=h.CellValueType.STRING,D.s="tor-time-cell-style";break}f?M=H(i,o[0],"year"):M=H(o[0],o[1],"year");for(let m=0;m<=Math.abs(M===0?1:M);m++){const u=m*(z+1),w=l==="right"?s:s+u,D=l==="right"?r+u:r,[R,B]=k(o[0],"year",m,b),S=P(e,w,D),O=E(o[0],"year",m,b);S.v=I?Z(I,{startTime:R,endTime:B,rangeData:o,dayjs:y}):O,S.t=h.CellValueType.STRING,S.s="tor-time-cell-style"}break}case"hour":{if(!l){const i=P(e,s,r);if(i.t=h.CellValueType.STRING,i.s="tor-time-cell-style",Y){i.v=y(o[0]).add(1,"hour").format("YYYY-MM-DD HH:mm:ss");break}i.v=y(g).add(1,"hour").format("YYYY-MM-DD HH:mm:ss");break}M=H(o[0],o[1],"hour");for(let i=0;i<=Math.abs(M===0?1:M);i++){const m=i*(z+1),u=l==="right"?s:s+m,w=l==="right"?r+m:r,D=P(e,u,w);if(D.t=h.CellValueType.STRING,D.s="tor-time-cell-style",Y){const R=y(o[0]).add(1,"hour").format("YYYY-MM-DD HH:mm:ss");D.v=E(R,"hour",i,b);continue}D.v=E(y(g).add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),"hour",i,b)}break}case"shift":{if(!l){const i=P(e,s,r);i.t=h.CellValueType.STRING,i.s="tor-time-cell-style",i.v=I?Z(I,{rangeData:o,dayjs:y}):o[0];break}if(!a.length)throw new Error("没有获取到当班数据");for(let i=0;i<a.length;i++){const m=a[i],{startDatetime:u,endDatetime:w}=m,D=i*(z+1),R=l==="right"?s:U(s).add(D).toNumber(),B=l==="right"?U(r).add(D).toNumber():r,S=P(e,R,B);S.s="tor-time-cell-style",S.v=I?Z(I,{team:m}):u}break}}}async function He(e,n){if(!e)return Promise.reject("没有可用的单元格数据");const{extraArgs:s,rangeData:r}=n;if(!r.length)return Promise.reject("处理时间范围失败, rangeData不能为空");const c=s?.teamData||[],{periodicityTime:o}=n,g=n?.currentDay||y().format("YYYY-MM-DD"),j=(v,b,f)=>o?f!=="MACH_CYCLE"?[v,b]:parseInt(o.split(":")[0],10)<12?[y(v).format("YYYY-MM-DD")+" "+o,y(b).add(1,"day").format("YYYY-MM-DD")+" "+o]:[y(v).subtract(1,"day").format("YYYY-MM-DD")+" "+o,y(b).format("YYYY-MM-DD")+" "+o]:[v,b],a=Object.entries(e).reduce((v,b)=>{const[f,G]=b;for(const[l,z]of Object.entries(G)){const{custom:Y}=z;if(!Y)continue;const{cellType:I,cycleType:Q,timeIncrement:M,forwardPush:i,forwardPushTimes:m,copyType:u,copyInterval:w,defaultShift:D,useDefaultStartDate:R,useDefaultEndDate:B}=Y;if(I==="time"){qe({acc:v,params:n,initRowNum:Number(f),initColNum:Number(l),cellData:z});continue}const S={cycleType:Q,indicatorName:Y.indicatorName,indicatorCode:Y.indicatorCode,indicatorId:Y.indicatorId,indicatorDimensionName:Y.indicatorDimensionName,indicatorDimensionConfig:Y.indicatorDimensionConfig,required:Oe(Y?.required)??!1,cellType:Y.cellType,defaultShift:Y?.defaultShift||!1,writeBack:F(Y?.writeBack)?!0:Y.writeBack,dimensionJson:Y?.dimensionJson||"",unit:Y?.unit||"",innerSyncWay:Y?.innerSyncWay||"",outSyncConfigId:Y?.outSyncConfigId||"",innerSyncStatus:Y?.innerSyncStatus||""};let O=0;switch(Q){case"day":{let d="";if(i&&(d=J(r[0],m||0,"day")),!u){const p=i?d:r[0],[N,C]=j(...k(p,"day",0,1),Y?.innerSyncWay),T=P(v,f,l);T.s="tor-indicator-cell-style",T.custom={...S,startTime:N,endTime:C};break}i?O=H(d,r[0],"day"):O=H(r[0],r[1],"day");for(let p=0;p<=Math.abs(O===0?1:O);p++){const N=p*(w+1),C=i?d:r[0],[T,V]=j(...k(C,"day",p,M),Y?.innerSyncWay),q=u==="right"?f:U(f).add(N).toNumber(),$=u==="right"?U(l).add(N).toNumber():l,A=P(v,q,$);A.s="tor-indicator-cell-style",A.custom={...S,startTime:T,endTime:V}}break}case"month":{if(!u){const[d,p]=k(r[1],"month",0,1),N=P(v,f,l);N.s="tor-indicator-cell-style",N.custom={...S,startTime:d,endTime:p};break}O=H(r[0],r[1],"month");for(let d=0;d<=Math.abs(O===0?1:O);d++){const p=d*(w+1),N=u==="right"?f:U(f).add(p).toNumber(),C=u==="right"?U(l).add(p).toNumber():l,[T,V]=k(r[0],"month",d,M),q=P(v,N,C);q.s="tor-indicator-cell-style",q.custom={...S,startTime:T,endTime:V}}break}case"year":{let d="",p="",N="";if(i){d=J(r[0],m||0,"year");const C=y(r[1]).format("MM");p=y(`${d}-${C+1}`).format("YYYY-MM"),N=y(`${d}-${C+2}`).format("YYYY-MM")}if(!u){const C=i?d:r[0],[T,V]=k(C,"year",0,1),q=P(v,f,l);q.s="tor-indicator-cell-style";const[,$]=k(p,"month",0,1),[A]=k(N,"month",0,1);q.custom={...S,startTime:R?A:T,endTime:B?$:V};break}i?O=H(d,r[0],"year"):O=H(r[0],r[1],"year");for(let C=0;C<=Math.abs(O===0?1:O);C++){const T=C*(w+1),V=u==="right"?f:U(f).add(T).toNumber(),q=u==="right"?U(l).add(T).toNumber():l,[$,A]=k(r[0],"year",C,M),K=P(v,V,q);K.s="tor-indicator-cell-style",K.custom={...S,startTime:$,endTime:A}}break}case"hour":{if(!u){const d=D?r[0]:r[0]??g,[p,N]=k(d,"hour",1,1),C=P(v,f,l);C.s="tor-indicator-cell-style",C.custom={...S,startTime:p,endTime:N};break}O=H(r[0],r[1],"hour");for(let d=0;d<=Math.abs(O===0?1:O);d++){const p=d*(w+1),N=u==="right"?f:U(f).add(p).toNumber(),C=u==="right"?U(l).add(p).toNumber():l,T=P(v,N,C);if(T.s="tor-indicator-cell-style",D){const A=y(r[0]).add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),[K,Be]=k(A,"hour",d,M);T.custom={...S,startTime:K,endTime:Be};continue}const V=y(g).add(1,"hour").format("YYYY-MM-DD HH:mm:ss"),[q,$]=k(V,"hour",d,M);T.custom={...S,startTime:q,endTime:$}}break}case"shift":{if(!u){const[d,p]=r,N=P(v,f,l);N.s="tor-indicator-cell-style",N.custom={...S,startTime:d,endTime:p};break}if(!c.length)throw new Error("没有获取到当班数据");for(let d=0;d<c.length;d++){const p=c[d],{startDatetime:N,endDatetime:C}=p,T=d*(w+1),V=u==="right"?f:U(f).add(T).toNumber(),q=u==="right"?U(l).add(T).toNumber():l,$=P(v,V,q);$.s="tor-indicator-cell-style",$.custom={...S,startTime:N,endTime:C}}break}}}return v},{});return Promise.resolve(a)}function Ve(e){return Object.entries(e).reduce((s,[r,c])=>{const o=Math.max(...Object.keys(c).map(Number));return o>s?s=Number(o):s=Number(s)||0,s},0)}function Re(e,n){const s=JSON.parse(JSON.stringify(e||{}));for(const[r,c]of Object.entries(n)){s[r]||(s[r]={});for(const[o,g]of Object.entries(c)){const j=g,a=s[r]?.[o];a?s[r][o]={...a,...j,custom:{...a.custom,...j.custom},v:j.v||""}:s[r][o]=j}}return s}function $e(e,n){if(!n?.length||!e)return e;const s={};for(const r in e){const c=e[r];for(const o in c){const g=c[o];if(g?.custom?.cellType==="indicator"){const j=Number(r),a=Number(o);if(n.some(b=>j>=b.startRow&&j<=b.endRow&&a>=b.startColumn&&a<=b.endColumn)&&!n.some(f=>j===f.startRow&&a===f.startColumn))continue}s[r]||(s[r]={}),s[r][o]=g}}return s}const Fe="./style.css";Object.defineProperty(t,"CommandType",{enumerable:!0,get:()=>h.CommandType}),Object.defineProperty(t,"FEventName",{enumerable:!0,get:()=>h.FEventName}),Object.defineProperty(t,"FUniver",{enumerable:!0,get:()=>h.FUniver}),Object.defineProperty(t,"ICommandService",{enumerable:!0,get:()=>h.ICommandService}),Object.defineProperty(t,"IUniverInstanceService",{enumerable:!0,get:()=>h.IUniverInstanceService}),Object.defineProperty(t,"Inject",{enumerable:!0,get:()=>h.Inject}),Object.defineProperty(t,"Injector",{enumerable:!0,get:()=>h.Injector}),Object.defineProperty(t,"LocaleType",{enumerable:!0,get:()=>h.LocaleType}),Object.defineProperty(t,"Plugin",{enumerable:!0,get:()=>h.Plugin}),Object.defineProperty(t,"Univer",{enumerable:!0,get:()=>h.Univer}),Object.defineProperty(t,"UniverInstanceType",{enumerable:!0,get:()=>h.UniverInstanceType}),Object.defineProperty(t,"Workbook",{enumerable:!0,get:()=>h.Workbook}),Object.defineProperty(t,"createUniver",{enumerable:!0,get:()=>h.createUniver}),Object.defineProperty(t,"defaultTheme",{enumerable:!0,get:()=>h.defaultTheme}),Object.defineProperty(t,"greenTheme",{enumerable:!0,get:()=>h.greenTheme}),Object.defineProperty(t,"merge",{enumerable:!0,get:()=>h.merge}),Object.defineProperty(t,"mergeLocales",{enumerable:!0,get:()=>h.mergeLocales}),Object.defineProperty(t,"touchDependencies",{enumerable:!0,get:()=>h.touchDependencies}),Object.defineProperty(t,"BaselineOffset",{enumerable:!0,get:()=>X.BaselineOffset}),Object.defineProperty(t,"CommandService",{enumerable:!0,get:()=>X.CommandService}),Object.defineProperty(t,"SetRangeValuesCommand",{enumerable:!0,get:()=>ne.SetRangeValuesCommand}),Object.defineProperty(t,"ComponentManager",{enumerable:!0,get:()=>L.ComponentManager}),Object.defineProperty(t,"ContextMenuGroup",{enumerable:!0,get:()=>L.ContextMenuGroup}),Object.defineProperty(t,"ContextMenuPosition",{enumerable:!0,get:()=>L.ContextMenuPosition}),Object.defineProperty(t,"IMenuManagerService",{enumerable:!0,get:()=>L.IMenuManagerService}),Object.defineProperty(t,"MenuItemType",{enumerable:!0,get:()=>L.MenuItemType}),Object.defineProperty(t,"RibbonStartGroup",{enumerable:!0,get:()=>L.RibbonStartGroup}),Object.defineProperty(t,"UniverVue3AdapterPlugin",{enumerable:!0,get:()=>se.UniverVue3AdapterPlugin}),Object.defineProperty(t,"UniverSheetsAdvancedPreset",{enumerable:!0,get:()=>oe.UniverSheetsAdvancedPreset}),Object.defineProperty(t,"UniverSheetsConditionalFormattingPreset",{enumerable:!0,get:()=>ie.UniverSheetsConditionalFormattingPreset}),Object.defineProperty(t,"UniverSheetsCorePreset",{enumerable:!0,get:()=>ae.UniverSheetsCorePreset}),Object.defineProperty(t,"UniverSheetsDataValidationPreset",{enumerable:!0,get:()=>ue.UniverSheetsDataValidationPreset}),Object.defineProperty(t,"UniverSheetsDrawingPreset",{enumerable:!0,get:()=>ce.UniverSheetsDrawingPreset}),Object.defineProperty(t,"UniverSheetsFilterPreset",{enumerable:!0,get:()=>le.UniverSheetsFilterPreset}),Object.defineProperty(t,"UniverSheetsHyperLinkPreset",{enumerable:!0,get:()=>fe.UniverSheetsHyperLinkPreset}),Object.defineProperty(t,"UniverSheetsNotePreset",{enumerable:!0,get:()=>me.UniverSheetsNotePreset}),t.zhCN=de,t.UniverPresetSheetsAdvancedZhCN=he,t.sheetsConditionalFormattingZhCN=ye,t.sheetsCoreZhCN=ge,t.sheetsDataValidationZhCN=ve,t.UniverPresetSheetsDrawingZhCN=be,t.sheetsDrawingZhCN=pe,t.sheetsFilterZhCN=Ye,t.sheetsHyperLinkZhCN=De,t.UniverPresetSheetsNoteZhCN=Ce,t.CycleTypeEnum=te,t.ModeEnum=re,t.decimal=U,t.filterIndicatorsCell=ze,t.filterMergedIndicatorCells=$e,t.generateIndicatorsCells=He,t.generateUUID=x,t.getNumColumns=Ve,t.handleClearInput=Pe,t.initDateRange=Ue,t.mergeCellData=Re,t.stylePath=Fe,t.useData=Me,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/types/index.d.ts
CHANGED
|
@@ -298,6 +298,11 @@ export declare interface UniverSheetsProps {
|
|
|
298
298
|
showSyncContextMenuPlugin?: boolean;
|
|
299
299
|
showTimeConfigContextMenuPlugin?: boolean;
|
|
300
300
|
showIndicatorDetailPlugin?: boolean;
|
|
301
|
+
showRemoveConfigPlugin?: boolean;
|
|
302
|
+
showPreserveCustomPlugin?: boolean;
|
|
303
|
+
showClearIndicatorValuePlugin?: boolean;
|
|
304
|
+
recordId?: any;
|
|
305
|
+
templateMenu?: any;
|
|
301
306
|
}
|
|
302
307
|
|
|
303
308
|
export { UniverVue3AdapterPlugin }
|