数据库: - db/schema_phase1.sql 16 张业务表(类目/服务/地址/师傅/订单/流水/取证/报价/评价/券/钱包/提现/结算/消息) - db/seed_phase1.sql 15 类目 + 32 服务项目 + 新人券(幂等) 后端 API (application/api/controller): - Base/Auth/Home/Address/Order/Master/Review - app/common/library/OrderStatus 11 状态机 + 流转矩阵 - application/api/common.php PHP 8.5 兼容垫片(E_DEPRECATED 不再升级为异常) 测试: - tests/e2e_flow.js 用户下单→支付→师傅抢单→履约→验收→结算→评价 全链路 65 项断言 - 含异常用例:越权/重复操作/非法状态流转/2h 未联系自动回流
53 行
2.2 KiB
HTML
可执行文件
53 行
2.2 KiB
HTML
可执行文件
<form id="edit-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="POST" action="">
|
|
|
|
<div class="form-group">
|
|
<label for="title" class="control-label col-xs-12 col-sm-2">{:__('Resource title')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input type="text" class="form-control" id="title" name="row[title]" value="{$row.title|htmlentities}" data-rule="required" />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Event key')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input type='text' class="form-control" id="eventkey" name="row[eventkey]" value="{$row.eventkey|htmlentities}" data-rule="required" readonly />
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="remark" class="control-label col-xs-12 col-sm-2">{:__('Memo')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<textarea class="form-control" id="remark" name="row[remark]">{$row.remark|htmlentities}</textarea>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Type')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
{:build_radios('row[type]', ['text' => __('Text'), 'app' => __('App')], $row['type'])}
|
|
</div>
|
|
</div>
|
|
<div id="expand">
|
|
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-xs-2"></div>
|
|
<div class="col-xs-12 col-sm-8">
|
|
{:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('Hidden')], $row['status'])}
|
|
</div>
|
|
</div>
|
|
<div class="form-group hidden layer-footer">
|
|
<div class="col-xs-2"></div>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
|
|
<button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
|
|
</div>
|
|
</div>
|
|
<select name="applist" disabled="true" class="hidden">
|
|
{foreach $applist as $k => $v}
|
|
<option value="{$k|htmlentities}">{$v.name|htmlentities}</option>
|
|
{/foreach}
|
|
</select>
|
|
</form>
|
|
<script>
|
|
var apps = {:json_encode($applist)};
|
|
var datas = {$row.content};
|
|
</script>
|