Files
links/application/admin/view/split/ticket/form_body.html
T
2026-06-04 14:15:12 +08:00

240 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<style>
.split-ticket-form .panel {
border-color: #e8ecf1;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
margin-bottom: 16px;
}
.split-ticket-form .panel-heading {
background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
border-bottom: 1px solid #e2e8f0;
color: #334155;
font-weight: 600;
font-size: 13px;
padding: 10px 16px;
}
.split-ticket-form .panel-body {
padding: 18px 20px 8px;
}
.split-ticket-form .form-group {
margin-bottom: 16px;
}
.split-ticket-form .control-label {
color: #475569;
font-weight: 500;
font-size: 13px;
margin-bottom: 6px;
padding-top: 0;
text-align: left;
width: 100%;
display: block;
}
.split-ticket-form .control-label .text-danger {
margin-left: 2px;
font-weight: 700;
}
.split-ticket-form .form-control {
border-radius: 4px;
border-color: #cbd5e1;
box-shadow: none;
width: 100%;
}
.split-ticket-form .form-control:focus {
border-color: #3b82f6;
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}
/* 单列整行 */
.split-ticket-form .st-grid-1 {
margin-bottom: 4px;
}
/* 双列:PC 端 column-gap 控制列间距(不依赖 Bootstrap col padding */
.split-ticket-form .st-grid-2 {
display: grid;
grid-template-columns: 1fr;
column-gap: 0;
row-gap: 0;
margin-bottom: 4px;
width: 100%;
}
@media (min-width: 768px) {
.split-ticket-form .st-grid-2 {
grid-template-columns: 1fr 1fr;
column-gap: 36px;
}
}
.split-ticket-form .st-grid-cell {
min-width: 0;
}
@media (max-width: 767px) {
.split-ticket-form .st-grid-2 {
row-gap: 0;
}
.split-ticket-form .st-grid-2 .st-grid-cell + .st-grid-cell .form-group {
margin-top: 0;
}
}
/* 底部按钮区(兼容 layer 弹窗 footer 迁移) */
.split-ticket-form > .layer-footer {
margin: 12px 0 0;
padding: 16px 20px;
border-top: 1px solid #e2e8f0;
background: #f8fafc;
clear: both;
}
.split-ticket-form > .layer-footer > .control-label {
display: none !important;
}
.split-ticket-form > .layer-footer > div[class*="col-"] {
width: 100%;
max-width: 100%;
flex: none;
float: none;
text-align: center;
padding: 0;
}
.split-ticket-form > .layer-footer .btn {
min-width: 100px;
margin: 0 12px;
padding: 8px 24px;
font-size: 14px;
border-radius: 4px;
}
.split-ticket-form > .layer-footer .btn-primary {
background-color: #3b82f6;
border-color: #2563eb;
}
.split-ticket-form > .layer-footer .btn-primary:hover,
.split-ticket-form > .layer-footer .btn-primary:focus {
background-color: #2563eb;
border-color: #1d4ed8;
}
.split-ticket-form > .layer-footer .btn-default {
background-color: #fff;
border-color: #cbd5e1;
color: #475569;
}
.split-ticket-form > .layer-footer .btn-default:hover {
background-color: #f1f5f9;
border-color: #94a3b8;
}
</style>
<div class="panel panel-default">
<div class="panel-heading">{:__('Section basic')}</div>
<div class="panel-body">
<div class="st-grid-2">
<div class="st-grid-cell">
<div class="form-group">
<label for="c-ticket_type" class="control-label">{:__('Ticket_type')}<span class="text-danger">*</span></label>
<select id="c-ticket_type" name="row[ticket_type]" class="form-control selectpicker" data-rule="required" data-none-selected-text="请选择" title="请选择">
<option value="">请选择</option>
{foreach name="ticketTypeList" item="vo" key="key"}
<option value="{$key|htmlentities}" {if isset($row) && $row.ticket_type==$key}selected{/if}>{$vo|htmlentities}</option>
{/foreach}
</select>
</div>
</div>
<div class="st-grid-cell">
<div class="form-group">
<label for="c-ticket_name" class="control-label">{:__('Ticket_name')}<span class="text-danger">*</span></label>
<input id="c-ticket_name" data-rule="required" class="form-control" name="row[ticket_name]" type="text" value="{$row.ticket_name|default=''|htmlentities}" maxlength="100">
</div>
</div>
</div>
<div class="st-grid-1">
<div class="form-group">
<label for="c-ticket_url" class="control-label">{:__('Ticket_url')}<span class="text-danger">*</span></label>
<input id="c-ticket_url" data-rule="required" class="form-control" name="row[ticket_url]" type="text" value="{$row.ticket_url|default=''|htmlentities}" maxlength="1000" placeholder="https://">
</div>
</div>
<div class="st-grid-1">
<div class="form-group">
<label for="c-ticket_total" class="control-label">{:__('Ticket_total')}<span class="text-danger">*</span></label>
<input id="c-ticket_total" data-rule="required" class="form-control" name="row[ticket_total]" type="number" min="0" step="1" value="{$row.ticket_total|default='0'|htmlentities}">
</div>
</div>
<div class="st-grid-2">
<div class="st-grid-cell">
<div class="form-group">
<label for="c-split_link_id" class="control-label">{:__('Split_link_id')}<span class="text-danger">*</span></label>
<select id="c-split_link_id" name="row[split_link_id]" class="form-control selectpicker" data-live-search="true" data-rule="required" data-none-selected-text="请选择" title="请选择">
<option value="">请选择</option>
{foreach name="splitLinkList" item="link"}
<option value="{$link.id|htmlentities}" {if isset($row) && $row.split_link_id==$link.id}selected{/if}>{$link.label|htmlentities}</option>
{/foreach}
</select>
</div>
</div>
<div class="st-grid-cell">
<div class="form-group">
<label for="c-number_type" class="control-label">{:__('Number_type')}<span class="text-danger">*</span></label>
<select id="c-number_type" name="row[number_type]" class="form-control selectpicker" data-rule="required">
{foreach name="numberTypeList" item="vo" key="key"}
<option value="{$key|htmlentities}" {if isset($row) && $row.number_type==$key}selected{elseif !isset($row) && $key=='whatsapp'/}selected{/if}>{$vo|htmlentities}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="st-grid-1 split-number-type-custom {if !isset($row) || $row.number_type!='custom'}hide{/if}">
<div class="form-group">
<label for="c-number_type_custom" class="control-label">{:__('Number_type_custom')}<span class="text-danger split-required-star">*</span></label>
<input id="c-number_type_custom" class="form-control" name="row[number_type_custom]" type="text" value="{$row.number_type_custom|default=''|htmlentities}" maxlength="50">
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">{:__('Section time rule')}</div>
<div class="panel-body">
<div class="st-grid-2">
<div class="st-grid-cell">
<div class="form-group">
<label for="c-start_time" class="control-label">{:__('Start_time')}<span class="text-danger">*</span></label>
<input id="c-start_time" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[start_time]" type="text" value="{$row.start_time|default=''|htmlentities}">
</div>
</div>
<div class="st-grid-cell">
<div class="form-group">
<label for="c-end_time" class="control-label">{:__('End_time')}<span class="text-danger">*</span></label>
<input id="c-end_time" data-rule="required" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[end_time]" type="text" value="{$row.end_time|default=''|htmlentities}">
</div>
</div>
</div>
<div class="st-grid-2">
<div class="st-grid-cell">
<div class="form-group">
<label for="c-order_limit" class="control-label">{:__('Order_limit')}<span class="text-danger">*</span></label>
<input id="c-order_limit" data-rule="required;integer;range(0~)" class="form-control" name="row[order_limit]" type="number" min="0" step="1" value="{$row.order_limit|default='0'|htmlentities}">
</div>
</div>
<div class="st-grid-cell">
<div class="form-group">
<label for="c-assign_ratio" class="control-label">{:__('Assign_ratio')}<span class="text-danger">*</span></label>
<input id="c-assign_ratio" data-rule="required;integer;range(0~)" class="form-control" name="row[assign_ratio]" type="number" min="0" step="1" value="{$row.assign_ratio|default='0'|htmlentities}">
</div>
</div>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">{:__('Section account')}</div>
<div class="panel-body">
<div class="st-grid-2">
<div class="st-grid-cell">
<div class="form-group">
<label for="c-account" class="control-label">{:__('Account')}</label>
<input id="c-account" class="form-control" name="row[account]" type="text" value="{$row.account|default=''|htmlentities}" maxlength="50">
</div>
</div>
<div class="st-grid-cell">
<div class="form-group">
<label for="c-password" class="control-label">{:__('Password')}</label>
<input id="c-password" class="form-control" name="row[password]" type="text" value="{$row.password|default=''|htmlentities}" maxlength="50">
</div>
</div>
</div>
</div>
</div>