前端不再写死运营数据: - 首页 Banner/保障条/教程卡 改由 /api/home/index 下发(fa_banner + fa_config), 数据缺失或停用自动回落内置兜底文案 - 订单状态提示改由后端 OrderStatus::tip() 下发 status_tip,前后端一套口径 后台可管(FastAdmin 生成器): - 新增 13 个业务后台模块:运营位/订单/师傅/商家/优惠券/评价/消息/服务/服务类目/申诉/开票/提现/结算单 (controller + model + view + fa_auth_rule 菜单 78 条) 修复: - nginx /admin/* 改为 301 到 /admin.php/*,否则后台菜单点开全部 404 验证:tests/phase5_data_sync.js 新增 16 项联动断言;全量回归 202 项断言 0 失败
170 行
9.7 KiB
HTML
170 行
9.7 KiB
HTML
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
|
|
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('User_id')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-user_id" data-rule="required" min="0" data-source="user/user/index" data-field="nickname" class="form-control selectpage" name="row[user_id]" type="text" value="{$row.user_id|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Realname')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-realname" data-rule="required" class="form-control" name="row[realname]" type="text" value="{$row.realname|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Mobile')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-mobile" data-rule="required" class="form-control" name="row[mobile]" type="text" value="{$row.mobile|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Idcard_no')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-idcard_no" data-rule="required" class="form-control" name="row[idcard_no]" type="text" value="{$row.idcard_no|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Idcard_front')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-idcard_front" data-rule="required" class="form-control" name="row[idcard_front]" type="text" value="{$row.idcard_front|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Idcard_back')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-idcard_back" data-rule="required" class="form-control" name="row[idcard_back]" type="text" value="{$row.idcard_back|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Avatar')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<div class="input-group">
|
|
<input id="c-avatar" data-rule="required" class="form-control" size="50" name="row[avatar]" type="text" value="{$row.avatar|htmlentities}">
|
|
<div class="input-group-addon no-border no-padding">
|
|
<span><button type="button" id="faupload-avatar" class="btn btn-danger faupload" data-input-id="c-avatar" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-avatar"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
|
|
<span><button type="button" id="fachoose-avatar" class="btn btn-primary fachoose" data-input-id="c-avatar" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
|
|
</div>
|
|
<span class="msg-box n-right" for="c-avatar"></span>
|
|
</div>
|
|
<ul class="row list-inline faupload-preview" id="p-avatar"></ul>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Cert_images')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<div class="input-group">
|
|
<input id="c-cert_images" data-rule="required" class="form-control" size="50" name="row[cert_images]" type="text" value="{$row.cert_images|htmlentities}">
|
|
<div class="input-group-addon no-border no-padding">
|
|
<span><button type="button" id="faupload-cert_images" class="btn btn-danger faupload" data-input-id="c-cert_images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-cert_images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
|
|
<span><button type="button" id="fachoose-cert_images" class="btn btn-primary fachoose" data-input-id="c-cert_images" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
|
|
</div>
|
|
<span class="msg-box n-right" for="c-cert_images"></span>
|
|
</div>
|
|
<ul class="row list-inline faupload-preview" id="p-cert_images"></ul>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('City')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<div class='control-relative'><input id="c-city" data-rule="required" class="form-control" data-toggle="city-picker" name="row[city]" type="text" value="{$row.city|htmlentities}"></div>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Lng')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-lng" data-rule="required" class="form-control" name="row[lng]" type="text" value="{$row.lng|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Lat')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-lat" data-rule="required" class="form-control" name="row[lat]" type="text" value="{$row.lat|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Serve_radius')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-serve_radius" data-rule="required" class="form-control" name="row[serve_radius]" type="number" value="{$row.serve_radius|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Level')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-level" data-rule="required" class="form-control" name="row[level]" type="number" value="{$row.level|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Score')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-score" data-rule="required" class="form-control" step="0.01" name="row[score]" type="number" value="{$row.score|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Order_count')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-order_count" data-rule="required" class="form-control" name="row[order_count]" type="number" value="{$row.order_count|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Accept_rate')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-accept_rate" data-rule="required" class="form-control" step="0.01" name="row[accept_rate]" type="number" value="{$row.accept_rate|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Ontime_rate')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-ontime_rate" data-rule="required" class="form-control" step="0.01" name="row[ontime_rate]" type="number" value="{$row.ontime_rate|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Work_status')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
|
|
<div class="radio">
|
|
{foreach name="workStatusList" item="vo"}
|
|
<label for="row[work_status]-{$key}"><input id="row[work_status]-{$key}" name="row[work_status]" type="radio" value="{$key}" {in name="key" value="$row.work_status"}checked{/in} /> {$vo}</label>
|
|
{/foreach}
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Verify_status')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
|
|
<div class="radio">
|
|
{foreach name="verifyStatusList" item="vo"}
|
|
<label for="row[verify_status]-{$key}"><input id="row[verify_status]-{$key}" name="row[verify_status]" type="radio" value="{$key}" {in name="key" value="$row.verify_status"}checked{/in} /> {$vo}</label>
|
|
{/foreach}
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Audit_msg')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-audit_msg" data-rule="required" class="form-control" name="row[audit_msg]" type="text" value="{$row.audit_msg|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Money')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-money" data-rule="required" class="form-control" step="0.01" name="row[money]" type="number" value="{$row.money|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Frozen_money')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-frozen_money" data-rule="required" class="form-control" step="0.01" name="row[frozen_money]" type="number" value="{$row.frozen_money|htmlentities}">
|
|
</div>
|
|
</div>
|
|
<div class="form-group layer-footer">
|
|
<label class="control-label col-xs-12 col-sm-2"></label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
|
|
</div>
|
|
</div>
|
|
</form>
|