节点详情:照片灯箱浏览、参与人点击编辑、花销只记总计
1) 照片与附件不再新开窗口看 之前点缩略图直接 target=_blank 打开原始文件,看完还得切回来。 现在统一走当前页灯箱(templates/_lightbox.php,详情页照片墙与 照片管理页共用):左右箭头 / 键盘 ←→ / 手机滑动切上一张下一张, Esc 或点背景关闭,带「第几张 / 共几张」计数并预加载相邻两张。 非图片附件(PDF 等)仍保留直接打开与下载。 2) 参与人可以直接改了 之前加完只能移出重加。现在每个参与人旁有「编辑」,点开预填弹窗 (角色标签 / 心情 / 签到时间),保存仍走 members/store —— Members::save() 本来就是 upsert(同节点同人一条),服务端零改动。 失败回填按 user_id 精确匹配,只回填刚才没保存成的那个人。 3) 花销去掉预算,只记真实花费 明细上移,底部一行「总计(N 笔)¥X」。表单不再有「预算」选项, 查询一律 is_budget=0(历史预算行不再出现在列表与合计里); 活动页统计同步改成「共 N 笔 · 总计」。列保留在库里不删数据。 已验证:本地全链 11 步全绿(php -l / 渲染 286 项 / SQL / PDO / CSS / Mime / amap / 内联 JS×11 / 布局几何 / 表单交互 73 项);远端 e2e 296 项 0 失败(含灯箱、编辑弹窗、历史预算行排除的专项断言); 部署后双 PHP 渲染逐字节一致、60 文件哈希一致,线上 style.css 含新规则。
This commit is contained in:
@@ -162,9 +162,10 @@ $showPhotos = array_slice($photoRows, 0, 12);
|
||||
<?php if (!empty($showPhotos)): ?>
|
||||
<div class="photo-grid photo-grid-sm">
|
||||
<?php foreach ($showPhotos as $attRow): ?>
|
||||
<a class="photo-card" href="<?= e(media_att((int)$attRow['id'])) ?>"
|
||||
target="_blank" rel="noopener" title="<?= e($attRow['file_name']) ?>">
|
||||
<img src="<?= e(media_att((int)$attRow['id'])) ?>" alt="" loading="lazy">
|
||||
<?php /* js-photo:点击在当前页灯箱里看大图,不再新开窗口(见 _lightbox.php) */ ?>
|
||||
<a class="photo-card js-photo" href="<?= e(media_att((int)$attRow['id'])) ?>"
|
||||
data-cap="<?= e($attRow['file_name']) ?>" title="<?= e($attRow['file_name']) ?>">
|
||||
<img src="<?= e(media_att((int)$attRow['id'])) ?>" alt="<?= e($attRow['file_name']) ?>" loading="lazy">
|
||||
</a>
|
||||
<?php endforeach; ?>
|
||||
<?php if (count($photoRows) > count($showPhotos)): ?>
|
||||
@@ -194,3 +195,6 @@ $commentTargetType = Comments::TARGET_NODE;
|
||||
$commentTargetId = (int)$node['id'];
|
||||
require dirname(__DIR__) . '/comments/_block.php';
|
||||
?>
|
||||
|
||||
<?php /* 照片灯箱:当前页弹窗看大图,左右箭头切换 */ ?>
|
||||
<?php require dirname(__DIR__) . '/_lightbox.php'; ?>
|
||||
|
||||
Reference in New Issue
Block a user