fix(mobile): 审批弹窗加大字号、补请假天数并缩小意见框

同步请假类型下线外出/回家、新增临时回寝的安全 SQL(历史单不迁移)。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
“wuzhen”andCursor committed 2026-10-22 08:45:27 +08:00
1 parent 15ed3ec9fb
commit b26bf58744
2 files changed
+184 -7

No files matched your search

@@ -0,0 +1,168 @@
-- =============================================================================
-- 请假类型调整:下线「外出请假」「回家请假」,新增「临时回寝」
-- 日期:2026-10-21
--
-- 客户确认策略:
-- - 历史请假单:不改类型(仍显示原「外出请假」「回家请假」)
-- - 新建/编辑可选列表:不再出现外出、回家;可选择「临时回寝」
--
-- 影响表:仅 xg_leave_type_config
-- 1) 旧类型:软删除 deleted=1 + 关闭 is_enabled=0(不物理删)
-- 2) 新增:临时回寝 TEMP_BACK_DORM
--
-- 不碰:xg_student_leave(历史业务数据零修改)
--
-- 执行顺序:
-- ① 只跑「一、执行前核查」
-- ② 确认后跑「二、变更」
-- ③ 「三、验收」通过再 COMMIT,否则 ROLLBACK
-- =============================================================================
-- -----------------------------------------------------------------------------
-- 一、执行前核查(只读)
-- -----------------------------------------------------------------------------
-- 1.1 当前类型配置
SELECT
id,
leave_type_code,
leave_type_name,
is_enabled,
deleted,
sort_order
FROM xg_leave_type_config
ORDER BY sort_order, id;
-- 1.2 将被下线的配置(预期:外出 / 回家)
SELECT id, leave_type_code, leave_type_name, is_enabled, deleted
FROM xg_leave_type_config
WHERE deleted = 0
AND (
leave_type_code IN ('OUT_LEAVE', 'HOME_LEAVE')
OR leave_type_name IN ('外出请假', '回家请假')
);
-- 1.3 历史单仍保留旧类型(本脚本不会改这些行,仅供对照)
SELECT leave_type_code, leave_type_name, COUNT(*) AS cnt
FROM xg_student_leave
WHERE deleted = 0
AND (
leave_type_code IN ('OUT_LEAVE', 'HOME_LEAVE')
OR leave_type_name IN ('外出请假', '回家请假')
)
GROUP BY leave_type_code, leave_type_name;
-- =============================================================================
-- 二、变更(事务)
-- =============================================================================
START TRANSACTION;
-- 2.1 新增「临时回寝」(幂等:已有同编码或同名称则跳过)
INSERT INTO xg_leave_type_config (
id,
tenant_id,
create_dept,
create_by,
create_time,
update_by,
update_time,
deleted,
leave_type_name,
leave_type_code,
leave_type_desc,
sort_order,
need_location_on_apply,
need_photo_on_cancel,
need_location_on_cancel,
need_cancel_for_non_leave,
can_apply_in_advance,
is_enabled,
max_apply_duration,
cancel_overdue_reminder
)
SELECT
2026102111360000001,
'000000',
103,
1,
NOW(),
1,
NOW(),
0,
'临时回寝',
'TEMP_BACK_DORM',
'临时回寝请假(替换原外出请假、回家请假选项;历史单类型不迁移)',
3,
'1',
'1',
'1',
'1',
'1',
'1',
24.00,
2.00
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM xg_leave_type_config t
WHERE t.leave_type_code = 'TEMP_BACK_DORM'
OR t.leave_type_name = '临时回寝'
);
-- 若主键冲突:ROLLBACK 后换未占用 id 再执行
-- SELECT id FROM xg_leave_type_config WHERE id = 2026102111360000001;
-- 2.2 下线旧类型:软删 + 关闭(学生端列表按未删除且启用过滤,即选不到)
UPDATE xg_leave_type_config
SET
deleted = 1,
is_enabled = '0',
update_by = 1,
update_time = NOW(),
leave_type_desc = CONCAT(
IFNULL(leave_type_desc, ''),
'【2026-10-21 已下线,新建请选临时回寝;历史数据保留原类型】'
)
WHERE deleted = 0
AND (
leave_type_code IN ('OUT_LEAVE', 'HOME_LEAVE')
OR leave_type_name IN ('外出请假', '回家请假')
);
-- -----------------------------------------------------------------------------
-- 三、执行后验收(事务内)
-- -----------------------------------------------------------------------------
-- 3.1 临时回寝应存在且启用
SELECT id, leave_type_code, leave_type_name, is_enabled, deleted
FROM xg_leave_type_config
WHERE leave_type_code = 'TEMP_BACK_DORM'
OR leave_type_name = '临时回寝';
-- 3.2 外出/回家应已软删关闭
SELECT id, leave_type_code, leave_type_name, is_enabled, deleted
FROM xg_leave_type_config
WHERE leave_type_code IN ('OUT_LEAVE', 'HOME_LEAVE')
OR leave_type_name IN ('外出请假', '回家请假');
-- 3.3 学生端可选类型(deleted=0 且 is_enabled=1):应有临时回寝,无外出/回家
SELECT leave_type_code, leave_type_name, sort_order, is_enabled, deleted
FROM xg_leave_type_config
WHERE deleted = 0
AND is_enabled = '1'
ORDER BY sort_order, id;
-- 3.4 历史单旧类型条数应与执行前 1.3 一致(证明业务表未被改动)
SELECT leave_type_code, leave_type_name, COUNT(*) AS cnt
FROM xg_student_leave
WHERE deleted = 0
AND (
leave_type_code IN ('OUT_LEAVE', 'HOME_LEAVE')
OR leave_type_name IN ('外出请假', '回家请假')
)
GROUP BY leave_type_code, leave_type_name;
-- ========== 确认后 ==========
-- COMMIT;
-- 或 ROLLBACK;
+16 -7
View File
@@ -33,6 +33,10 @@
<text class="leave-summary-label">结束时间</text>
<text class="leave-summary-value">{{ formatLeaveDateTime(leaveInfo.endTime) }}</text>
</view>
<view class="leave-summary-row">
<text class="leave-summary-label">请假天数</text>
<text class="leave-summary-value">{{ formatLeaveDuration(leaveInfo.leaveDuration) }}</text>
</view>
<view class="leave-summary-row">
<text class="leave-summary-label">是否离校</text>
<text class="leave-summary-value">{{ formatLeaveSchool(leaveInfo.isLeaveSchool) }}</text>
@@ -106,7 +110,7 @@
v-model="form.message"
placeholder="请输入审批意见"
:maxlength="500"
height="120"
height="72"
count
/>
</view>
@@ -587,6 +591,11 @@ export default {
return value || '-';
},
formatLeaveDuration(value) {
if (value === null || value === undefined || value === '') return '-';
return `${value} 天`;
},
// 关闭弹窗
cancel() {
this.visible = false;
@@ -1231,7 +1240,7 @@ export default {
}
.title {
font-size: 32rpx;
font-size: 34rpx;
font-weight: 600;
color: #333;
}
@@ -1243,12 +1252,12 @@ export default {
}
.form-item {
margin-bottom: 40rpx;
margin-bottom: 32rpx;
}
.label {
display: block;
font-size: 28rpx;
font-size: 30rpx;
font-weight: 500;
color: #333;
margin-bottom: 16rpx;
@@ -1273,16 +1282,16 @@ export default {
}
.leave-summary-label {
width: 160rpx;
width: 170rpx;
flex-shrink: 0;
font-size: 26rpx;
font-size: 30rpx;
color: #667085;
line-height: 1.5;
}
.leave-summary-value {
flex: 1;
font-size: 26rpx;
font-size: 30rpx;
color: #1f2937;
line-height: 1.5;
word-break: break-all;