前端不再写死运营数据: - 首页 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 失败
114 行
5.8 KiB
HTML
114 行
5.8 KiB
HTML
<form id="add-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">{:__('Cat_id')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-cat_id" data-rule="required" min="0" data-source="cat/index" class="form-control selectpage" name="row[cat_id]" type="text" value="">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<div class="input-group">
|
|
<input id="c-image" data-rule="required" class="form-control" size="50" name="row[image]" type="text" value="">
|
|
<div class="input-group-addon no-border no-padding">
|
|
<span><button type="button" id="faupload-image" class="btn btn-danger faupload" data-input-id="c-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
|
|
<span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
|
|
</div>
|
|
<span class="msg-box n-right" for="c-image"></span>
|
|
</div>
|
|
<ul class="row list-inline faupload-preview" id="p-image"></ul>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Price_type')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
|
|
<select id="c-price_type" data-rule="required" class="form-control selectpicker" name="row[price_type]">
|
|
{foreach name="priceTypeList" item="vo"}
|
|
<option value="{$key}" {in name="key" value="fixed"}selected{/in}>{$vo}</option>
|
|
{/foreach}
|
|
</select>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Base_price')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-base_price" data-rule="required" class="form-control" step="0.01" name="row[base_price]" type="number" value="0.00">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Max_price')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-max_price" data-rule="required" class="form-control" step="0.01" name="row[max_price]" type="number" value="0.00">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Unit')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-unit" data-rule="required" class="form-control" name="row[unit]" type="text" value="次">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Floor_fee')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-floor_fee" data-rule="required" class="form-control" step="0.01" name="row[floor_fee]" type="number" value="0.00">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Free_floor')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-free_floor" data-rule="required" class="form-control" name="row[free_floor]" type="number" value="0">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Need_model')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-need_model" data-rule="required" class="form-control" name="row[need_model]" type="number" value="1">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Description')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-description" data-rule="required" class="form-control" name="row[description]" type="text" value="">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Sales')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-sales" data-rule="required" class="form-control" name="row[sales]" type="number" value="0">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
<input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="0">
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="control-label col-xs-12 col-sm-2">{:__('Status')}:</label>
|
|
<div class="col-xs-12 col-sm-8">
|
|
|
|
<div class="radio">
|
|
{foreach name="statusList" item="vo"}
|
|
<label for="row[status]-{$key}"><input id="row[status]-{$key}" name="row[status]" type="radio" value="{$key}" {in name="key" value="normal"}checked{/in} /> {$vo}</label>
|
|
{/foreach}
|
|
</div>
|
|
|
|
</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>
|