feat: 后台订单录入页面调整
This commit is contained in:
parent
e19188b046
commit
463240df80
|
|
@ -204,11 +204,16 @@ class Order extends Backend
|
|||
|
||||
public function add()
|
||||
{
|
||||
|
||||
if (false === $this->request->isPost()) {
|
||||
return $this->view->fetch();
|
||||
}
|
||||
$params = $this->request->post('row/a');
|
||||
|
||||
$validate = $this->validate($params, \app\admin\validate\Order::class . '.add');
|
||||
if ($validate !== true) {
|
||||
$this->error($validate);
|
||||
}
|
||||
|
||||
$params = array_filter($params, function ($val) {
|
||||
return $val != '';
|
||||
});
|
||||
|
|
|
|||
|
|
@ -10,18 +10,56 @@ class Order extends Validate
|
|||
* 验证规则
|
||||
*/
|
||||
protected $rule = [
|
||||
'source' => 'require',
|
||||
'item_id' => 'require',
|
||||
'customer' => 'require|max:32',
|
||||
'tel' => 'require|number|max:32',
|
||||
'area_id' => 'require',
|
||||
'address' => 'require|max:255',
|
||||
'lng' => 'require',
|
||||
'lat' => 'require',
|
||||
'online_amount|收款金额' => 'require|number|between:0.01,10000000',
|
||||
'plan_time|上门时间' => 'requireIf:set_time,1|date'
|
||||
];
|
||||
/**
|
||||
* 提示消息
|
||||
*/
|
||||
protected $message = [
|
||||
'source.require' => '请选择订单渠道',
|
||||
'item_id.require' => '请选择服务项目',
|
||||
|
||||
'customer.require' => '请输入客户昵称',
|
||||
'customer.max' => '客户昵称不能超过 32 个字符',
|
||||
|
||||
'tel.require' => '请输入客户电话',
|
||||
'area_id.require' => '请选择地区',
|
||||
|
||||
'address.require' => '请选择详细地址',
|
||||
'address.max' => '详细地址不能超过 255 个字符',
|
||||
|
||||
'lng.require' => '请选择详细地址',
|
||||
'lat.require' => '请选择详细地址',
|
||||
|
||||
'online_amount.require' => '请输入收款金额',
|
||||
'online_amount.number' => '收款金额不正确',
|
||||
];
|
||||
/**
|
||||
* 验证场景
|
||||
*/
|
||||
protected $scene = [
|
||||
'add' => [],
|
||||
'add' => [
|
||||
'source',
|
||||
'item_id',
|
||||
'customer',
|
||||
'tel',
|
||||
'area_id',
|
||||
'address',
|
||||
'lng',
|
||||
'lat',
|
||||
'online_amount',
|
||||
'plan_time',
|
||||
],
|
||||
'edit' => [],
|
||||
];
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,283 +1,446 @@
|
|||
|
||||
<div class="full-height">
|
||||
<div class="overlay"></div> <!-- 遮罩层 -->
|
||||
<div class="content">
|
||||
<!-- 表单区域(占2/3) -->
|
||||
<div class="form-area">
|
||||
<div>
|
||||
<div class="card-body">
|
||||
<form id="add-form" class="row" role="form" data-toggle="validator" method="POST" action="">
|
||||
<div class="col-lg-4 col-xs-12 col-md-6">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Customer')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-customer" data-rule="required" class="form-control" name="row[customer]" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Tel')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-tel" data-rule="required" class="form-control" name="row[tel]" type="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Area_id')}:</label>
|
||||
<div class='col-xs-12 col-sm-8'>
|
||||
<input id="c-city" data-rule="required" class="form-control" data-toggle="city-picker" type="text" value="" />
|
||||
<input id="area_id" style="display: none" class="form-control" name="row[area_id]" hidden type="text" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Address')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<div class="myform-group">
|
||||
<input id="c-address" data-rule="required"
|
||||
class="form-control"
|
||||
readonly
|
||||
name="row[address]"
|
||||
type="text">
|
||||
<div class="btn btn-primary" id="area_map"
|
||||
data-input-id="c-address"
|
||||
data-lng-id="lng"
|
||||
data-lat-id="lat">地图查找</div>
|
||||
</div>
|
||||
<input type="text" style="display: none"
|
||||
name="row[lng]" id="lng" >
|
||||
<input type="text" style="display: none"
|
||||
name="row[lat]" id="lat">
|
||||
<input type="text" style="display: none" id="area_name">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Item_title')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input type="text" data-rule="required" id="item_id" class="zd-input__inner">
|
||||
<input type="text" id="item_id_value" style="display: none" name="row[item_id]" class="zd-input__inner">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Detail')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-detail" placeholder="待填" rows="8" style="width: 100%;resize: vertical" class="form-control" name="row[detail]"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">上门时间:
|
||||
</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input name="row[plan_time]" class="form-control datetimepicker">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Images')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<div class="input-group">
|
||||
<input id="c-images" class="form-control" size="50" name="row[images]" type="text">
|
||||
<div class="input-group-addon no-border no-padding">
|
||||
<span><button type="button" id="faupload-images" class="btn btn-danger faupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
|
||||
<span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-input-id="c-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-images"></span>
|
||||
</div>
|
||||
<ul class="row list-inline faupload-preview" id="p-images"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-xs-12 col-md-6">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Source')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="c-source" data-live-search="true" title="请选择" data-rule="required" name="row[source]" class="form-control selectpicker show-tick">
|
||||
{foreach $sources as $item}
|
||||
<option data-subtext="{$item['ptitle']}" value="{$item['id']}">{$item['title']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">来源订单ID:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-source-id" name="row[source_uid]" type="text" class="form-control">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">派单方式:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select data-live-search="true" name="row[dispatch_type]" class="form-control selectpicker show-tick">
|
||||
<option value="1">手动派单</option>
|
||||
<option selected value="2">自动派单</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">收款方式:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select name="row[receive_type]" class="form-control selectpicker">
|
||||
<option selected value="1">已收定金</option>
|
||||
<option value="2">已收全款</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">收款金额:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input data-rule="required" name="row[online_amount]" class="form-control" type="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Coupons')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="c-coupon" data-live-search="true" title="请选择" data-rule="required" name="row[coupon_id]" class="form-control selectpicker show-tick">
|
||||
<option selected value="0">不使用优惠</option>
|
||||
{foreach $coupons as $item}
|
||||
<option data-subtext="{$item['description']}" value="{$item['id']}">{$item['code']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">录单员:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<select id="c-users" data-live-search="true" title="不选择默认当前登陆账号" name="row[admin_id]" class="form-control selectpicker show-tick">
|
||||
<option value="-1">不选择默认当前登陆账号</option>
|
||||
{foreach $users as $item}
|
||||
<option value="{$item['id']}">{$item['nickname']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-lg-4">{:__('Remark')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
||||
<textarea id="c-remark" placeholder="待填" rows="8" style="width: 100%;resize: vertical" class="form-control" name="row[remark]" ></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group col-xs-12 layer-footer text-right">
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<button id="mysubmit" class="btn btn-primary btn-embossed">录入并清空</button>
|
||||
<button id="mybuttom" class="btn btn-primary btn-embossed">录入并保留信息</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-4 col-xs-12 col-md-6">
|
||||
<h5 class=" col-md-12 text-left">快速输入:</h5>
|
||||
<div class="col-md-12">
|
||||
<div class="form-floating">
|
||||
<textarea rows="8" style="width: 100%;resize: vertical" class="form-control" placeholder="复制内容,快速输入" id="smart_text"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 mt-2">
|
||||
<button id="smart" class="btn btn-primary btn-embossed">智能识别</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="full-height flex-c body-hidden">
|
||||
<form id="add-form" class="row" role="form" data-toggle="validator" method="POST" action="">
|
||||
<div class="ctr flex-sb">
|
||||
<div class="left">
|
||||
<input type="hidden" name="row[dispatch_type]" value="2">
|
||||
<div class="line flex-sb">
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c"><span class="required">*</span>订单渠道:</div>
|
||||
<div class="value">
|
||||
<select id="c-source" data-live-search="true" title="请选择订单渠道" name="row[source]" class="form-control selectpicker show-tick">
|
||||
{foreach $sources as $item}
|
||||
<option data-subtext="{$item['ptitle']}" value="{$item['id']}">{$item['title']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c"><span class="required">*</span>服务项目:</div>
|
||||
<div class="value flex-c">
|
||||
<input type="text" placeholder="请选择服务项目" id="item_id" class="zd-input__inner">
|
||||
<input type="text" id="item_id_value" style="display: none" name="row[item_id]" class="zd-input__inner">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line flex-sb">
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c"><span class="required">*</span>客户昵称:</div>
|
||||
<div class="value flex-c">
|
||||
<input id="c-customer" placeholder="请输入客户昵称" class="form-input form-control" name="row[customer]" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c"><span class="required">*</span>客户电话:</div>
|
||||
<div class="value">
|
||||
<input id="c-tel" placeholder="请输入客户电话" class="form-input form-control" name="row[tel]" type="number">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line flex-sb">
|
||||
<div class="title flex-c"><span class="required">*</span>地区:</div>
|
||||
<div class='value col-sm-12 flex-c'>
|
||||
<input id="c-city" class="form-control" data-toggle="city-picker" type="text" value="" />
|
||||
<input id="area_id" style="display: none" class="form-control" name="row[area_id]" hidden type="text" value="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="line multi-line flex-sb bt-40">
|
||||
<div class="select-address">
|
||||
<div class="title flex-c"><span class="required">*</span>详细地址:</div>
|
||||
<div class="select-ctr flex-c">
|
||||
<div class="btn btn-sm btn-primary flex-c" id="area_map"
|
||||
data-input-id="c-address"
|
||||
data-lng-id="lng"
|
||||
data-lat-id="lat">地图查找</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='address'>
|
||||
<textarea id="c-address"
|
||||
class="form-control form-textarea"
|
||||
readonly
|
||||
placeholder="请通过地图查找选择"
|
||||
name="row[address]"
|
||||
type="text"></textarea>
|
||||
<input type="text" style="display: none"
|
||||
name="row[lng]" id="lng" >
|
||||
<input type="text" style="display: none"
|
||||
name="row[lat]" id="lat">
|
||||
<input type="text" style="display: none" id="area_name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="line flex-sb">
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c">收款方式:</div>
|
||||
<div class="value flex-c">
|
||||
<select name="row[receive_type]" class="form-control selectpicker">
|
||||
<option selected value="1">已收定金</option>
|
||||
<option value="2">已收全款</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c"><span class="required">*</span>收款金额:</div>
|
||||
<div class="value flex-c">
|
||||
<input name="row[online_amount]" class="form-control form-input" type="number" placeholder="请输入收款金额">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line flex-sb bt-40">
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c">优惠:</div>
|
||||
<div class="value flex-c">
|
||||
<select id="c-coupon" data-live-search="true" title="请选择优惠信息" name="row[coupon_id]" class="form-control selectpicker show-tick">
|
||||
<option selected value="0">不使用优惠</option>
|
||||
{foreach $coupons as $item}
|
||||
<option data-subtext="{$item['description']}" value="{$item['id']}">{$item['code']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="line flex-sb">
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c">上门时间:</div>
|
||||
<div class="value flex-l">
|
||||
{:build_radios('row[set_time]', ['1'=>'有', '0'=>'无'], 1)}
|
||||
</div>
|
||||
</div>
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c"><span class="required">*</span>设置时间:</div>
|
||||
<div class="value flex-c">
|
||||
<input name="row[plan_time]" placeholder="请选择上门时间" class="form-input form-control datetimepicker">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line multi-line flex-sb">
|
||||
<div class="select-address">
|
||||
<div class="title flex-c">订单备注:</div>
|
||||
</div>
|
||||
<div class='address'>
|
||||
<textarea id="c-remark" placeholder="请输入订单备注" class="form-control form-textarea" name="row[remark]" ></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line flex-sb">
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-c">录单员:</div>
|
||||
<div class="value flex-c">
|
||||
<select id="c-users" data-live-search="true" title="默认当前登录账号" name="row[admin_id]" class="form-control selectpicker show-tick">
|
||||
<option value="-1">默认当前登录账号</option>
|
||||
{foreach $users as $item}
|
||||
<option value="{$item['id']}">{$item['nickname']}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line flex-sb">
|
||||
<div class="title flex-c">图片上传:</div>
|
||||
<div class="value">
|
||||
<div class="input-group">
|
||||
<input id="c-images" name="row[images]" type="hidden">
|
||||
<div class="input-group-addon no-border no-padding">
|
||||
<span><button type="button" id="faupload-images" class="btn btn-primary faupload" data-input-id="c-images" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="true" data-preview-id="p-images"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
|
||||
<span><button type="button" id="fachoose-images" class="btn btn-default fachoose" data-input-id="c-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-images"></span>
|
||||
</div>
|
||||
<ul class="row list-inline faupload-preview" id="p-images"></ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<div class="line flex-sb">
|
||||
<div class="item flex-sb">
|
||||
<div class="title flex-l">快速录入:</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line flex-sb smart-text-line">
|
||||
<div class="item flex-sb smart-text-item">
|
||||
<textarea class="form-control form-textarea smart-text" placeholder="粘贴内容,智能识别内容快速录入信息" id="smart_text"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="line flex-l">
|
||||
<div id="smart" class="smart-btn flex-c custom-btn">
|
||||
<img src="/assets/img/automation.png" class="img" alt="">
|
||||
智能识别
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="submit-ctr flex-sb">
|
||||
<!-- <div class="submit flex-c" id="mysubmit">录入并清空</div>-->
|
||||
<!-- <div class="submit-continue flex-c" id="mybuttom">录入并保留信息</div>-->
|
||||
|
||||
<button id="mysubmit" class="btn btn-default submit">录入并清空</button>
|
||||
<button id="mybuttom" class="btn btn-success submit-continue">录入并保留信息</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<link rel="stylesheet" href="/assets/css/select.css">
|
||||
<style>
|
||||
.full-height {
|
||||
/*height: 100vh;*/
|
||||
width: 100vw;
|
||||
background: #fff;
|
||||
}
|
||||
.myform-group{
|
||||
display: flex;
|
||||
}
|
||||
.overlay {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0, 0, 0, 0.3); /* 背景黑色遮罩 */
|
||||
z-index: -1;
|
||||
}
|
||||
.card {
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.card-body {
|
||||
padding: 2rem;
|
||||
}
|
||||
.content {
|
||||
display: flex;
|
||||
/*height: 100vh;*/
|
||||
}
|
||||
.form-area {
|
||||
flex: 2;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
height: calc(100vh - 70px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
.function-area {
|
||||
flex: 1;
|
||||
padding: 2rem;
|
||||
background-color: #f8f9fa;
|
||||
/*border-left: 1px solid #ddd;*/
|
||||
}
|
||||
.dropdown-menu {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
width: 100%;
|
||||
max-height: 300px;
|
||||
overflow-y: auto;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ccc;
|
||||
border-radius: 4px;
|
||||
box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
|
||||
margin: 6px 12px;
|
||||
}
|
||||
.dropdown-item {
|
||||
padding: 8px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.suggestion-item:hover {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
.control-label{
|
||||
text-align: left;
|
||||
}
|
||||
.col-xs-12{
|
||||
margin: 5px 0;
|
||||
position: relative;
|
||||
}
|
||||
.msg-box{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 30px;
|
||||
}
|
||||
.body-hidden {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.body-shown {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
.flex-c {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flex-r {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flex-l {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.flex-sb {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.full-height {
|
||||
width: 100vw;
|
||||
height: 768px;
|
||||
background: #f1f4f6;
|
||||
}
|
||||
.ctr {
|
||||
width: 1000px;
|
||||
height: 768px;
|
||||
overflow: auto;
|
||||
background: #FFFFFF;
|
||||
border-radius: 8px;
|
||||
position: relative;
|
||||
}
|
||||
.ctr .left {
|
||||
width: 614px;
|
||||
height: 768px;
|
||||
padding: 20px 10px;
|
||||
}
|
||||
.ctr .right {
|
||||
width: 386px;
|
||||
height: 768px;
|
||||
}
|
||||
|
||||
.line {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.line .item {
|
||||
width: 280px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.title {
|
||||
width: 100px;
|
||||
height: 40px;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
color: rgba(0,0,0,0.9);
|
||||
}
|
||||
.title .required {
|
||||
color: #E6521F;
|
||||
}
|
||||
|
||||
.item .value {
|
||||
width: 180px;
|
||||
height: 40px;
|
||||
}
|
||||
.line>.value {
|
||||
width: 494px !important;
|
||||
height: 40px;
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.item .value .form-input {
|
||||
height: 34px !important;
|
||||
color: rgba(0,0,0,0.9) !important;
|
||||
border: 1px solid rgba(0,0,0,0.15) !important;
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
.value>.city-picker-span {
|
||||
height: 34px !important;
|
||||
border: 1px solid rgba(0,0,0,0.15) !important;
|
||||
border-radius: 4px !important;
|
||||
padding: 0 12px !important;
|
||||
}
|
||||
|
||||
.value>.city-picker-span > .title > span {
|
||||
color: rgba(0,0,0,0.9) !important;
|
||||
font-weight: 400 !important;
|
||||
}
|
||||
|
||||
.item .value>.bootstrap-select>.btn {
|
||||
height: 34px !important;
|
||||
border-radius: 4px !important;
|
||||
border: 1px solid rgba(0,0,0,0.15) !important;
|
||||
box-sizing: border-box !important;
|
||||
background-color: #FFFFFF !important;
|
||||
color: rgba(0,0,0,0.9) !important;
|
||||
}
|
||||
.item .value>.bootstrap-select>.btn .filter-option {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.item .value > .zd-input--suffix {
|
||||
height: 40px !important;
|
||||
line-height: 40px !important;
|
||||
}
|
||||
.zd-cascader-wrap>.zd-input>.zd-input__inner {
|
||||
height: 34px !important;
|
||||
color: rgba(0,0,0,0.9) !important;
|
||||
border: 1px solid rgba(0,0,0,0.15) !important;
|
||||
padding: 0 12px !important;
|
||||
}
|
||||
.line .select-address {
|
||||
width: 100px;
|
||||
height: 60px;
|
||||
}
|
||||
.select-address .title {
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
}
|
||||
.select-address .select-ctr {
|
||||
width: 100px;
|
||||
height: 30px;
|
||||
}
|
||||
|
||||
.multi-line {
|
||||
height: 60px;
|
||||
}
|
||||
.form-textarea {
|
||||
width: 494px !important;
|
||||
height: 60px !important;
|
||||
color: rgba(0,0,0,0.9) !important;
|
||||
border: 1px solid rgba(0,0,0,0.15) !important;
|
||||
border-radius: 4px !important;
|
||||
resize: none;
|
||||
}
|
||||
#area_map {
|
||||
width: 64px;
|
||||
height: 26px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.bt-40 {
|
||||
margin-bottom: 40px !important;
|
||||
}
|
||||
|
||||
.radio > label, .checkbox > label {
|
||||
margin-right: 40px;
|
||||
}
|
||||
input[type="radio"] {
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
.radio > label > input, .checkbox > label > input {
|
||||
margin: 4px 0 0;
|
||||
}
|
||||
|
||||
.faupload-preview {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.value .input-group {
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.right {
|
||||
padding: 20px 30px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.smart-text,.smart-text-item,.smart-text-line {
|
||||
width: 326px !important;
|
||||
height: 140px !important;
|
||||
}
|
||||
.smart-btn {
|
||||
width: 94px;
|
||||
height: 38px;
|
||||
background: #444c69;
|
||||
border-radius: 4px;
|
||||
font-weight: 400;
|
||||
font-size: 14px;
|
||||
color: #FFFFFF;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
.smart-btn>.img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
.smart-btn:hover {
|
||||
background: #3d445f;
|
||||
}
|
||||
.smart-btn:active {
|
||||
background: #3a425b;
|
||||
}
|
||||
|
||||
.submit-ctr {
|
||||
width: 270px;
|
||||
height: 80px;
|
||||
position: absolute;
|
||||
right: 30px;
|
||||
bottom: 44px;
|
||||
}
|
||||
.submit-ctr> .submit {
|
||||
width: 108px;
|
||||
height: 46px;
|
||||
box-shadow: 0px 8px 32px 0px rgba(0,0,0,0.16);
|
||||
border-radius: 4px;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.submit-ctr> .submit-continue {
|
||||
width: 140px;
|
||||
height: 46px;
|
||||
box-shadow: 0px 8px 32px 0px rgba(0,0,0,0.16);
|
||||
border-radius: 4px;
|
||||
font-weight: 400;
|
||||
font-size: 16px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script>
|
||||
var items = {:json_encode($items); };
|
||||
</script>
|
||||
var items = {:json_encode($items); };
|
||||
window.addEventListener('DOMContentLoaded', function () {
|
||||
setTimeout(function () {
|
||||
const container = document.querySelector('.body-hidden');
|
||||
if (container) {
|
||||
container.classList.remove('body-hidden');
|
||||
container.classList.add('body-shown');
|
||||
}
|
||||
}, 500);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
BIN
public/assets/img/automation.png
Normal file
BIN
public/assets/img/automation.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
Loading…
Reference in New Issue
Block a user