订单复制
This commit is contained in:
parent
a5f08287e6
commit
e6df60292a
|
|
@ -52,6 +52,9 @@ class Order extends Backend
|
|||
}
|
||||
[$where, $sort, $order, $offset, $limit] = $this->buildparams();
|
||||
$list = $this->model
|
||||
->field(['id','order_no','customer','tel','status','area_id','address',
|
||||
'work_tel_id','worker_id','source','source_uid','service_id','service_title',
|
||||
'detail','remark','images','create_time','update_time'])
|
||||
->where($where)
|
||||
->order($sort, $order)
|
||||
->paginate($limit);
|
||||
|
|
@ -86,7 +89,8 @@ class Order extends Backend
|
|||
$params['enter_admin_id'] = $this->auth->id;
|
||||
$params['status'] = 10;
|
||||
$params['order_no'] = $this->generateOrderNumber();
|
||||
|
||||
$params['create_time'] = date('Y-m-d H:i:s');
|
||||
$params['update_time'] = date('Y-m-d H:i:s');
|
||||
|
||||
$result = $this->model->allowField(true)->save($params);
|
||||
Db::commit();
|
||||
|
|
@ -100,6 +104,73 @@ class Order extends Backend
|
|||
$this->success();
|
||||
}
|
||||
|
||||
public function edit($ids = null)
|
||||
{
|
||||
|
||||
if (!$ids) {
|
||||
if (request()->isPost()){
|
||||
$ids = input('id');
|
||||
if (!$ids){
|
||||
$this->error('缺少订单ID');
|
||||
}
|
||||
}else{
|
||||
$this->error('缺少订单ID');
|
||||
}
|
||||
}
|
||||
|
||||
// 获取当前ID对应的订单信息
|
||||
$order = $this->model->get($ids);
|
||||
if (!$order) {
|
||||
$this->error('订单不存在');
|
||||
}
|
||||
|
||||
// 判断是否为POST请求,进行更新操作
|
||||
if (request()->isPost()) {
|
||||
// 获取表单提交的数据
|
||||
$data = input('post.row/a');
|
||||
$data['update_time'] = date('Y-m-d H:i:s');
|
||||
// 更新订单信息
|
||||
$order->save($data);
|
||||
|
||||
// 返回成功信息
|
||||
$this->success('更新成功', 'index');
|
||||
}
|
||||
$area = new \app\admin\model\Area();
|
||||
$area_name = $area->getNameByCode($order->area_id);
|
||||
$order->area_name = $area_name;
|
||||
|
||||
// 将订单数据传递到视图
|
||||
$this->assign('row', $order);
|
||||
|
||||
// 渲染编辑页面
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
|
||||
public function copy($ids = null)
|
||||
{
|
||||
if (!$ids) {
|
||||
$this->error('缺少订单ID');
|
||||
}
|
||||
|
||||
// 获取当前ID对应的订单信息
|
||||
$order = $this->model->get($ids);
|
||||
if (!$order) {
|
||||
$this->error('订单不存在');
|
||||
}
|
||||
|
||||
|
||||
$area = new \app\admin\model\Area();
|
||||
$area_name = $area->getNameByCode($order->area_id);
|
||||
$order->area_name = $area_name;
|
||||
|
||||
// 将订单数据传递到视图
|
||||
$this->assign('row', $order);
|
||||
|
||||
// 渲染编辑页面
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
function generateOrderNumber($prefix = 'ORD') {
|
||||
// 获取当前时间戳(精确到毫秒)
|
||||
$timestamp = microtime(true);
|
||||
|
|
|
|||
|
|
@ -10,6 +10,11 @@ class Area extends Model
|
|||
|
||||
// 表名
|
||||
protected $name = 'areas';
|
||||
|
||||
|
||||
public function getNameByCode($code){
|
||||
return $this->where('area_code',$code)->find()->value('merge_name');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
164
application/admin/view/order/copy.html
Normal file
164
application/admin/view/order/copy.html
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
<div class="full-height">
|
||||
<div class="overlay"></div> <!-- 遮罩层 -->
|
||||
<div class="content">
|
||||
<!-- 表单区域(占2/3) -->
|
||||
<div class="form-area">
|
||||
<div class="w-75">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">复制订单</h5>
|
||||
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="{:url('order/add')}">
|
||||
|
||||
<input type="hidden" name="id" value="{$row.id}"> <!-- 订单ID,用于提交编辑的对象 -->
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Customer')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-customer" class="form-control" name="row[customer]" type="text" value="{$row.customer}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Tel')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-tel" class="form-control" name="row[tel]" type="number" value="{$row.tel}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Area_id')}:</label>
|
||||
<div class='col-xs-12 col-sm-8'>
|
||||
<input id="c-area_id" class="form-control" type="text" value="{$row.area_name}" />
|
||||
<!-- 选项下拉框 -->
|
||||
<ul id="address-list" class="dropdown-menu" style="display: none;"></ul>
|
||||
|
||||
<!-- 存储选择的 area_code -->
|
||||
<input type="hidden" id="selected-area-code" name="row[area_id]" value="{$row.area_id}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-address" class="form-control" name="row[address]" type="text" value="{$row.address}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Source')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-source" class="form-control" name="row[source]" type="number" value="{$row.source}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Service_title')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-service_title" class="form-control" name="row[service_title]" type="text" value="{$row.service_title}">
|
||||
|
||||
<!-- 选项下拉框 -->
|
||||
<ul id="service-list" class="dropdown-menu" style="display: none;"></ul>
|
||||
|
||||
<!-- 存储选择的 service_id -->
|
||||
<input type="hidden" id="selected-service_id" name="row[service_id]" value="{$row.service_id}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Detail')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-detail" rows="4" style="width: 100%;resize: vertical" class="form-control" name="row[detail]">{$row.detail}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-remark" rows="4" style="width: 100%;resize: vertical" class="form-control" name="row[remark]">{$row.remark}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('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" value="{$row.images}">
|
||||
<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 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">保存订单</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 功能区(占1/3) -->
|
||||
<div class="function-area">
|
||||
<h5 class="text-center">快速输入</h5>
|
||||
<div class="form-floating">
|
||||
<textarea rows="8" style="width: 100%;resize: vertical" class="form-control" placeholder="复制内容,快速输入" id="floatingTextarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.full-height {
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
background: #fff;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,245 +1,164 @@
|
|||
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
|
||||
<div class="full-height">
|
||||
<div class="overlay"></div> <!-- 遮罩层 -->
|
||||
<div class="content">
|
||||
<!-- 表单区域(占2/3) -->
|
||||
<div class="form-area">
|
||||
<div class="w-75">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">编辑订单</h5>
|
||||
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="{:url('order/edit')}">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Order_no')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-order_no" data-rule="required" class="form-control" name="row[order_no]" type="text" value="{$row.order_no|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Customer')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-customer" class="form-control" name="row[customer]" type="text" value="{$row.customer|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Tel')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-tel" data-rule="required" class="form-control" name="row[tel]" type="text" value="{$row.tel|htmlentities}">
|
||||
</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="$row.status"}checked{/in} /> {$vo}</label>
|
||||
{/foreach}
|
||||
</div>
|
||||
<input type="hidden" name="id" value="{$row.id}"> <!-- 订单ID,用于提交编辑的对象 -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Area_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-area_id" data-rule="required" data-source="area/index" class="form-control selectpage" name="row[area_id]" type="text" value="{$row.area_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-address" data-rule="required" class="form-control" name="row[address]" type="text" value="{$row.address|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Work_tel_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-work_tel_id" data-rule="required" data-source="work/tel/index" class="form-control selectpage" name="row[work_tel_id]" type="text" value="{$row.work_tel_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Worker_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-worker_id" data-rule="required" data-source="worker/index" class="form-control selectpage" name="row[worker_id]" type="text" value="{$row.worker_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Source')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-source" data-rule="required" class="form-control" name="row[source]" type="number" value="{$row.source|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Source_uid')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-source_uid" class="form-control" name="row[source_uid]" type="text" value="{$row.source_uid|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Service_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-service_id" data-rule="required" data-source="service/index" class="form-control selectpage" name="row[service_id]" type="text" value="{$row.service_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Service_title')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-service_title" data-rule="required" class="form-control" name="row[service_title]" type="text" value="{$row.service_title|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Detail')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-detail" class="form-control" name="row[detail]" type="text" value="{$row.detail|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('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" value="{$row.images|htmlentities}">
|
||||
<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 class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Customer')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-customer" class="form-control" name="row[customer]" type="text" value="{$row.customer}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Tel')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-tel" class="form-control" name="row[tel]" type="number" value="{$row.tel}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Area_id')}:</label>
|
||||
<div class='col-xs-12 col-sm-8'>
|
||||
<input id="c-area_id" class="form-control" type="text" value="{$row.area_name}" />
|
||||
<!-- 选项下拉框 -->
|
||||
<ul id="address-list" class="dropdown-menu" style="display: none;"></ul>
|
||||
|
||||
<!-- 存储选择的 area_code -->
|
||||
<input type="hidden" id="selected-area-code" name="row[area_id]" value="{$row.area_id}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Address')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-address" class="form-control" name="row[address]" type="text" value="{$row.address}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Source')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-source" class="form-control" name="row[source]" type="number" value="{$row.source}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Service_title')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-service_title" class="form-control" name="row[service_title]" type="text" value="{$row.service_title}">
|
||||
|
||||
<!-- 选项下拉框 -->
|
||||
<ul id="service-list" class="dropdown-menu" style="display: none;"></ul>
|
||||
|
||||
<!-- 存储选择的 service_id -->
|
||||
<input type="hidden" id="selected-service_id" name="row[service_id]" value="{$row.service_id}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Detail')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-detail" rows="4" style="width: 100%;resize: vertical" class="form-control" name="row[detail]">{$row.detail}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<textarea id="c-remark" rows="4" style="width: 100%;resize: vertical" class="form-control" name="row[remark]">{$row.remark}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('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" value="{$row.images}">
|
||||
<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 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">更新订单</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</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 class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Collect')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
||||
<select id="c-collect" class="form-control selectpicker" name="row[collect]">
|
||||
{foreach name="collectList" item="vo"}
|
||||
<option value="{$key}" {in name="key" value="$row.collect"}selected{/in}>{$vo}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
|
||||
<!-- 功能区(占1/3) -->
|
||||
<div class="function-area">
|
||||
<h5 class="text-center">快速输入</h5>
|
||||
<div class="form-floating">
|
||||
<textarea rows="8" style="width: 100%;resize: vertical" class="form-control" placeholder="复制内容,快速输入" id="floatingTextarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Collect_remark')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-collect_remark" class="form-control" name="row[collect_remark]" type="text" value="{$row.collect_remark|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Enter_admin_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-enter_admin_id" data-rule="required" data-source="enter/admin/index" class="form-control selectpage" name="row[enter_admin_id]" type="text" value="{$row.enter_admin_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Dispatch_admin_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-dispatch_admin_id" data-rule="required" data-source="dispatch/admin/index" class="form-control selectpage" name="row[dispatch_admin_id]" type="text" value="{$row.dispatch_admin_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Dispatch_type')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
|
||||
<select id="c-dispatch_type" data-rule="required" class="form-control selectpicker" name="row[dispatch_type]">
|
||||
{foreach name="dispatchTypeList" item="vo"}
|
||||
<option value="{$key}" {in name="key" value="$row.dispatch_type"}selected{/in}>{$vo}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Total')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-total" data-rule="required" class="form-control" step="0.01" name="row[total]" type="number" value="{$row.total|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Cost')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-cost" data-rule="required" class="form-control" step="0.01" name="row[cost]" type="number" value="{$row.cost|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Performance')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-performance" data-rule="required" class="form-control" step="0.01" name="row[performance]" type="number" value="{$row.performance|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Sb_amount')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-sb_amount" data-rule="required" class="form-control" step="0.01" name="row[sb_amount]" type="number" value="{$row.sb_amount|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Real_amount')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-real_amount" data-rule="required" class="form-control" step="0.01" name="row[real_amount]" type="number" value="{$row.real_amount|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Cancel_reason_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-cancel_reason_id" data-rule="required" data-source="cancel/reason/index" class="form-control selectpage" name="row[cancel_reason_id]" type="text" value="{$row.cancel_reason_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Cancel_detail')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-cancel_detail" class="form-control" name="row[cancel_detail]" type="text" value="{$row.cancel_detail|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Abolish_reason_id')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-abolish_reason_id" data-rule="required" data-source="abolish/reason/index" class="form-control selectpage" name="row[abolish_reason_id]" type="text" value="{$row.abolish_reason_id|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Abolish_detail')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-abolish_detail" class="form-control" name="row[abolish_detail]" type="text" value="{$row.abolish_detail|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{$row.create_time}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{$row.update_time}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Payment_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-payment_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[payment_time]" type="text" value="{$row.payment_time}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Finishe_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-finishe_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[finishe_time]" type="text" value="{$row.finishe_time}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Dispatch_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-dispatch_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[dispatch_time]" type="text" value="{$row.dispatch_time}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Delete_time')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-delete_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[delete_time]" type="text" value="{$row.delete_time}">
|
||||
</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>
|
||||
<style>
|
||||
.full-height {
|
||||
height: 100vh;
|
||||
width: 100vw;
|
||||
background: #fff;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
</style>
|
||||
|
|
@ -1,15 +1,4 @@
|
|||
<div class="panel panel-default panel-intro">
|
||||
|
||||
<div class="panel-heading">
|
||||
{:build_heading(null,FALSE)}
|
||||
<ul class="nav nav-tabs" data-field="status">
|
||||
<li class="{:$Think.get.status === null ? 'active' : ''}"><a href="#t-all" data-value="" data-toggle="tab">{:__('All')}</a></li>
|
||||
{foreach name="statusList" item="vo"}
|
||||
<li class="{:$Think.get.status === (string)$key ? 'active' : ''}"><a href="#t-{$key}" data-value="{$key}" data-toggle="tab">{$vo}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="panel-body">
|
||||
<div id="myTabContent" class="tab-content">
|
||||
|
|
@ -22,14 +11,14 @@
|
|||
<a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('order/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
|
||||
|
||||
|
||||
<div class="dropdown btn-group {:$auth->check('order/multi')?'':'hide'}">
|
||||
<a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>
|
||||
<ul class="dropdown-menu text-left" role="menu">
|
||||
{foreach name="statusList" item="vo"}
|
||||
<li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:" data-params="status={$key}">{:__('Set status to ' . $key)}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
<!-- <div class="dropdown btn-group {:$auth->check('order/multi')?'':'hide'}">-->
|
||||
<!-- <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>-->
|
||||
<!-- <ul class="dropdown-menu text-left" role="menu">-->
|
||||
<!-- {foreach name="statusList" item="vo"}-->
|
||||
<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:" data-params="status={$key}">{:__('Set status to ' . $key)}</a></li>-->
|
||||
<!-- {/foreach}-->
|
||||
<!-- </ul>-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
del_url: 'order/del',
|
||||
multi_url: 'order/multi',
|
||||
import_url: 'order/import',
|
||||
push_url: 'order/status',
|
||||
table: 'order',
|
||||
}
|
||||
});
|
||||
|
||||
var table = $("#table");
|
||||
|
||||
// 初始化表格
|
||||
table.bootstrapTable({
|
||||
url: $.fn.bootstrapTable.defaults.extend.index_url,
|
||||
|
|
@ -31,41 +31,109 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
{field: 'order_no', title: __('Order_no'), operate: 'LIKE'},
|
||||
{field: 'customer', title: __('Customer'), operate: 'LIKE'},
|
||||
{field: 'tel', title: __('Tel'), operate: 'LIKE'},
|
||||
{field: 'status', title: __('Status'), searchList: {"10":__('Status 10'),"20":__('Status 20'),"30":__('Status 30'),"40":__('Status 40'),"50":__('Status 50'),"-10":__('Status -10'),"-20":__('Status -20'),"-30":__('Status -30')}, formatter: Table.api.formatter.status},
|
||||
{
|
||||
field: 'status',
|
||||
title: __('Status'),
|
||||
searchList: {
|
||||
"10": __('Status 10'),
|
||||
"20": __('Status 20'),
|
||||
"30": __('Status 30'),
|
||||
"40": __('Status 40'),
|
||||
"50": __('Status 50'),
|
||||
"-10": __('Status -10'),
|
||||
"-20": __('Status -20'),
|
||||
"-30": __('Status -30')
|
||||
},
|
||||
formatter: Table.api.formatter.status
|
||||
},
|
||||
{field: 'area_id', title: __('Area_id')},
|
||||
{field: 'address', title: __('Address'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{
|
||||
field: 'address',
|
||||
title: __('Address'),
|
||||
operate: 'LIKE',
|
||||
table: table,
|
||||
class: 'autocontent',
|
||||
formatter: Table.api.formatter.content
|
||||
},
|
||||
{field: 'work_tel_id', title: __('Work_tel_id')},
|
||||
{field: 'worker_id', title: __('Worker_id')},
|
||||
{field: 'source', title: __('Source')},
|
||||
{field: 'source_uid', title: __('Source_uid'), operate: 'LIKE'},
|
||||
{field: 'service_id', title: __('Service_id')},
|
||||
{field: 'service_title', title: __('Service_title'), operate: 'LIKE'},
|
||||
{field: 'detail', title: __('Detail'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'remark', title: __('Remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'images', title: __('Images'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images},
|
||||
{field: 'collect', title: __('Collect'), searchList: {"0":__('Collect 0'),"1":__('Collect 1')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'collect_remark', title: __('Collect_remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'enter_admin_id', title: __('Enter_admin_id')},
|
||||
{field: 'dispatch_admin_id', title: __('Dispatch_admin_id')},
|
||||
{field: 'dispatch_type', title: __('Dispatch_type'), searchList: {"10":__('Dispatch_type 10'),"11":__('Dispatch_type 11'),"20":__('Dispatch_type 20')}, formatter: Table.api.formatter.normal},
|
||||
{field: 'total', title: __('Total'), operate:'BETWEEN'},
|
||||
{field: 'cost', title: __('Cost'), operate:'BETWEEN'},
|
||||
{field: 'performance', title: __('Performance'), operate:'BETWEEN'},
|
||||
{field: 'sb_amount', title: __('Sb_amount'), operate:'BETWEEN'},
|
||||
{field: 'real_amount', title: __('Real_amount'), operate:'BETWEEN'},
|
||||
{field: 'cancel_reason_id', title: __('Cancel_reason_id')},
|
||||
{field: 'cancel_detail', title: __('Cancel_detail'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'abolish_reason_id', title: __('Abolish_reason_id')},
|
||||
{field: 'abolish_detail', title: __('Abolish_detail'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
|
||||
{field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'payment_time', title: __('Payment_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'finishe_time', title: __('Finishe_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'dispatch_time', title: __('Dispatch_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'delete_time', title: __('Delete_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
{
|
||||
field: 'detail',
|
||||
title: __('Detail'),
|
||||
operate: 'LIKE',
|
||||
table: table,
|
||||
class: 'autocontent',
|
||||
formatter: Table.api.formatter.content
|
||||
},
|
||||
{
|
||||
field: 'remark',
|
||||
title: __('Remark'),
|
||||
operate: 'LIKE',
|
||||
table: table,
|
||||
class: 'autocontent',
|
||||
formatter: Table.api.formatter.content
|
||||
},
|
||||
{
|
||||
field: 'images',
|
||||
title: __('Images'),
|
||||
operate: false,
|
||||
events: Table.api.events.image,
|
||||
formatter: Table.api.formatter.images
|
||||
},
|
||||
{
|
||||
field: 'create_time',
|
||||
title: __('Create_time'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
autocomplete: false
|
||||
},
|
||||
{
|
||||
field: 'update_time',
|
||||
title: __('Update_time'),
|
||||
operate: 'RANGE',
|
||||
addclass: 'datetimerange',
|
||||
autocomplete: false
|
||||
},
|
||||
{
|
||||
field: 'operate',
|
||||
title: __('Operate'),
|
||||
table: table,
|
||||
events: Table.api.events.operate,
|
||||
formatter: Table.api.formatter.operate,
|
||||
buttons: [
|
||||
{
|
||||
name: 'edit',
|
||||
icon: 'fa fa-pencil',
|
||||
title: __('Edit'),
|
||||
extend: 'data-toggle="tooltip" data-container="body"',
|
||||
classname: 'btn btn-xs btn-success btn-editone'
|
||||
},
|
||||
{
|
||||
name: 'del',
|
||||
icon: 'fa fa-trash',
|
||||
title: __('Del'),
|
||||
extend: 'data-toggle="tooltip" data-container="body"',
|
||||
classname: 'btn btn-xs btn-danger btn-delone'
|
||||
},
|
||||
{
|
||||
name: 'push',
|
||||
icon: 'fa fa-copy',
|
||||
title: '复制',
|
||||
url: 'order/copy',
|
||||
extend: 'data-toggle="tooltip" data-container="body"',
|
||||
classname: 'btn btn-xs btn-info btn-dialog',
|
||||
callback: function ($data){
|
||||
console.log($data);
|
||||
}
|
||||
},
|
||||
],
|
||||
}
|
||||
]
|
||||
]
|
||||
],
|
||||
});
|
||||
|
||||
// 为表格绑定事件
|
||||
|
|
@ -77,15 +145,20 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
edit: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
push: function () {
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function parseAndFill() {
|
||||
// 获取左侧输入框的内容
|
||||
}
|
||||
|
||||
let $input = $("#c-area_id");
|
||||
let $dropdown = $("#address-list");
|
||||
let $hiddenField = $("#selected-area-code");
|
||||
|
|
@ -105,7 +178,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
$.ajax({
|
||||
url: "/admin/area/search", // 你的 API 地址
|
||||
type: "GET",
|
||||
data: { keyword: keyword },
|
||||
data: {keyword: keyword},
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
renderDropdown(data.data);
|
||||
|
|
@ -116,15 +189,16 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
});
|
||||
}, 200); // 500 毫秒防抖
|
||||
});
|
||||
|
||||
// 渲染城市下拉选项
|
||||
function renderDropdown(data) {
|
||||
$dropdown.empty(); // 清空列表
|
||||
if (data.length === 0){
|
||||
if (data.length === 0) {
|
||||
let $option = $("<li class='dropdown-item'></li>")
|
||||
.text('未搜索到结果')
|
||||
.attr("data-value", 0);
|
||||
$dropdown.append($option);
|
||||
}else{
|
||||
} else {
|
||||
data.forEach(item => {
|
||||
let $option = $("<li class='dropdown-item'></li>")
|
||||
.text(item.merge_name)
|
||||
|
|
@ -144,10 +218,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
}
|
||||
|
||||
|
||||
|
||||
let $inputService = $("#c-service_title");
|
||||
let $dropdownService = $("#service-list");
|
||||
let $hiddenFieldService = $("#c-service_id");
|
||||
let $hiddenFieldService = $("#selected-service_id");
|
||||
let timerService = null; // 定义定时器
|
||||
|
||||
$inputService.on("input", function () {
|
||||
|
|
@ -164,7 +237,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
$.ajax({
|
||||
url: "/admin/area/search", // 你的 API 地址
|
||||
type: "GET",
|
||||
data: { keyword: keyword },
|
||||
data: {keyword: keyword},
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
renderDropdownService(data.data);
|
||||
|
|
@ -179,12 +252,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
// 渲染城市下拉选项
|
||||
function renderDropdownService(data) {
|
||||
$dropdownService.empty(); // 清空列表
|
||||
if (data.length === 0){
|
||||
if (data.length === 0) {
|
||||
let $option = $("<li class='dropdown-item'></li>")
|
||||
.text('未搜索到结果')
|
||||
.attr("data-value", 0);
|
||||
$dropdownService.append($option);
|
||||
}else{
|
||||
} else {
|
||||
data.forEach(item => {
|
||||
let $option = $("<li class='dropdown-item'></li>")
|
||||
.text(item.merge_name)
|
||||
|
|
@ -203,8 +276,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 点击外部隐藏下拉框
|
||||
$(document).on("click", function (e) {
|
||||
if (!$(e.target).closest("#c-address, #address-list").length) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user