Files
FamilyBook/templates/trips/vehicles.php
T

130 lines
5.9 KiB
PHP
Raw Normal View History

<?php
/**
* 车辆管理(v24 第 16 批 用户第 8 条)。
*
* 用户原话:「注意,我们在财务中,已经把车辆添加进去了,所以这里不用重复添加
* 那里面的车辆,直接读取就可以,但是可以添加其他的车辆,
* 比如租的车,借别人的车。」
*
* 所以这一页有两块:
* ① **财务里已登记的车**(只读)—— 只列出来,不给改不给删(那是财务的数据);
* ② **出行用的车**(本表)—— 自家 / 租的 / 借的,可增删改。
*
* @param array $ledger Vehicle::fromLedger() 的结果(只读)
* @param array $mine Vehicle::all() 的结果
*/
$canWrite = \App\Auth::canWrite();
$ledger = $ledger ?? [];
$mine = $mine ?? [];
$back = url('trips');
?>
<div class="page-head">
<h1>车辆管理</h1>
<span class="sub">出行时能挑的车:自家的、租的、借别人的</span>
<div class="actions">
<a class="btn btn-ghost" href="<?= e($back) ?>">返回旅程</a>
<?php $trSetCurrent = 'vehicles'; require __DIR__ . '/_settings_menu.php'; ?>
</div>
</div>
<?php /* ---- ① 来自财务的车(只读引用)---- */ ?>
<div class="card card-pad">
<h2 class="cinema-h2">
财务里已登记的车
<span class="hint">只读 —— 要改请到财务模块</span>
</h2>
<?php if (!$ledger): ?>
<p class="empty-hint">
财务里还没有登记车子。到「财务 → 记一笔」里把车子作为一项资产记下来,
这里就会自动出现(<b>不必在这里重复添加</b>)。
</p>
<?php else: ?>
<ul class="veh-list">
<?php foreach ($ledger as $v): ?>
<li class="veh-row veh-ro">
<span class="veh-ico">🚗</span>
<span class="veh-name"><?= e((string)$v['name']) ?></span>
<span class="veh-tag">来自财务</span>
</li>
<?php endforeach; ?>
</ul>
<p class="small muted">
这些是财务里的**资产记录**(有一台车值多少钱),不一定有车牌与车型。
出行要选车时它们也会出现在下拉里,标着「来自财务」。
</p>
<?php endif; ?>
</div>
<?php /* ---- ② 出行用的车(本表)---- */ ?>
<div class="card card-pad">
<h2 class="cinema-h2">
出行用的车
<span class="hint">自家车可以录一台方便选;租的车、借的车录在这里</span>
</h2>
<?php if ($mine): ?>
<ul class="veh-list">
<?php foreach ($mine as $v): ?>
<li class="veh-row">
<span class="veh-ico"><?= ($v['vtype'] ?? 'own') === 'rental' ? '🔑' : (($v['vtype'] ?? 'own') === 'borrowed' ? '🤝' : '🚗') ?></span>
<?php if ($canWrite): ?>
<form class="inline-form veh-form" method="post" action="<?= e(url('trips/vehicles_save')) ?>">
<?= csrf_field() ?>
<input type="hidden" name="id" value="<?= (int)$v['id'] ?>">
<input class="input" name="plate" value="<?= e((string)$v['plate']) ?>"
placeholder="车牌" aria-label="车牌">
<input class="input" name="name" value="<?= e((string)$v['name']) ?>"
placeholder="车型名" required aria-label="车型名">
<select class="select" name="vtype" aria-label="来源">
<?php foreach (\App\Vehicle::TYPES as $vk => $vv): ?>
<option value="<?= e($vk) ?>"<?= (string)$v['vtype'] === $vk ? ' selected' : '' ?>>
<?= e($vv) ?>
</option>
<?php endforeach; ?>
</select>
<input class="input" name="vendor" value="<?= e((string)($v['vendor'] ?? '')) ?>"
placeholder="租车公司 / 车主" aria-label="租车公司或车主">
<label class="veh-def">
<input type="checkbox" name="is_default" value="1"<?= (int)$v['is_default'] === 1 ? ' checked' : '' ?>>
<span>默认</span>
</label>
<button class="btn btn-sm" type="submit">保存</button>
</form>
<form class="inline-form" method="post" action="<?= e(url('trips/vehicles_del')) ?>">
<?= csrf_field() ?>
<input type="hidden" name="id" value="<?= (int)$v['id'] ?>">
<button class="btn btn-ghost btn-sm" type="submit"
onclick="return confirm('删掉这辆车?')">删</button>
</form>
<?php else: ?>
<span class="veh-name"><?= e(\App\Vehicle::label($v)) ?></span>
<span class="veh-tag"><?= e(\App\Vehicle::TYPES[(string)$v['vtype']] ?? '') ?></span>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<p class="empty-hint">还没有。自家车录一台,出行时能直接挑。</p>
<?php endif; ?>
<?php if ($canWrite): ?>
<h3 class="set-sub">加一辆车</h3>
<form class="inline-form veh-form veh-add" method="post" action="<?= e(url('trips/vehicles_save')) ?>">
<?= csrf_field() ?>
<input class="input" name="plate" placeholder="车牌(借的车可不填)" aria-label="车牌">
<input class="input" name="name" placeholder="车型名,如「大众朗逸」" required aria-label="车型名">
<select class="select" name="vtype" aria-label="来源">
<?php foreach (\App\Vehicle::TYPES as $vk => $vv): ?>
<option value="<?= e($vk) ?>"><?= e($vv) ?></option>
<?php endforeach; ?>
</select>
<input class="input" name="vendor" placeholder="租车公司 / 车主" aria-label="租车公司或车主">
<input class="input" name="order_no" placeholder="租车订单号" aria-label="租车订单号">
<label class="veh-def">
<input type="checkbox" name="is_default" value="1">
<span>设为默认</span>
</label>
<button class="btn btn-sm" type="submit">加进车辆库</button>
</form>
<?php endif; ?>
</div>