feat(duty): make duty time range a single-select dict like work plans
Add duty_time_range dictionary with day/night presets, parse typed ranges on ensure, and replace time pickers with allow-create select in the schedule dialog. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
8d9f0b259e
commit
b9ff9c9d67
9 files changed
+319
-70
No files matched your search
@@ -0,0 +1,74 @@
|
||||
-- backend/scripts/migrate_20260820_duty_time_range_dict.sql
|
||||
-- 值班排班:值班时段字典(可单选 + allow-create)
|
||||
-- 可重复执行
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
INSERT INTO `sys_dict_type` (
|
||||
`id`, `dict_name`, `dict_type`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
)
|
||||
SELECT
|
||||
'DUTYDICTTYPE00000000000000000003',
|
||||
'值班时段',
|
||||
'duty_time_range',
|
||||
'shanxia2.0',
|
||||
92,
|
||||
'值班排班时段选项',
|
||||
'',
|
||||
'',
|
||||
NOW(),
|
||||
'',
|
||||
NOW(),
|
||||
0
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `sys_dict_type`
|
||||
WHERE `dict_type` = 'duty_time_range'
|
||||
AND `tenant_no` = 'shanxia2.0'
|
||||
AND `del_flag` = 0
|
||||
);
|
||||
|
||||
INSERT INTO `sys_dict_data` (
|
||||
`id`, `dict_label`, `dict_value`, `tag_type`, `dict_type`, `tenant_no`, `order_num`, `remark`,
|
||||
`create_by`, `create_dept_id`, `create_time`, `update_by`, `update_time`, `del_flag`
|
||||
)
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
'DUTYDICTDATA0000000000000000006' AS id,
|
||||
'08:00–18:00' AS dict_label,
|
||||
'08:00|18:00|0' AS dict_value,
|
||||
'' AS tag_type,
|
||||
'duty_time_range' AS dict_type,
|
||||
'shanxia2.0' AS tenant_no,
|
||||
1 AS order_num,
|
||||
NULL AS remark,
|
||||
'' AS create_by,
|
||||
'' AS create_dept_id,
|
||||
NOW() AS create_time,
|
||||
'' AS update_by,
|
||||
NOW() AS update_time,
|
||||
0 AS del_flag
|
||||
UNION ALL SELECT
|
||||
'DUTYDICTDATA0000000000000000007',
|
||||
'18:00–次日07:00',
|
||||
'18:00|07:00|1',
|
||||
'',
|
||||
'duty_time_range',
|
||||
'shanxia2.0',
|
||||
2,
|
||||
NULL,
|
||||
'',
|
||||
'',
|
||||
NOW(),
|
||||
'',
|
||||
NOW(),
|
||||
0
|
||||
) AS t
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1 FROM `sys_dict_data` d
|
||||
WHERE d.tenant_no = t.tenant_no
|
||||
AND d.dict_type = t.dict_type
|
||||
AND d.dict_value = t.dict_value
|
||||
AND d.del_flag = 0
|
||||
);
|
||||
Reference in new issue
Block a user