城市选择
This commit is contained in:
parent
e00dd9ce0f
commit
46596e3f30
|
|
@ -233,7 +233,7 @@ class Order extends Backend
|
|||
}
|
||||
$area = new \app\admin\model\Area();
|
||||
$area_name = $area->getNameByCode($order->area_id);
|
||||
$order->area_name = $area_name;
|
||||
$order->area_name = str_replace(',','/',$area_name);
|
||||
// dd($area_name);
|
||||
// 将订单数据传递到视图
|
||||
$this->assign('row', $order);
|
||||
|
|
@ -258,7 +258,7 @@ class Order extends Backend
|
|||
|
||||
$area = new \app\admin\model\Area();
|
||||
$area_name = $area->getNameByCode($order->area_id);
|
||||
$order->area_name = $area_name;
|
||||
$order->area_name = str_replace(',','/',$area_name);
|
||||
|
||||
// 将订单数据传递到视图
|
||||
$this->assign('row', $order);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Customer')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-customer" class="form-control" name="row[customer]" type="text">
|
||||
<input id="c-customer" data-rule="required" class="form-control" name="row[customer]" type="text">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
|
@ -24,13 +24,10 @@
|
|||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Area_id')}:</label>
|
||||
<div class='col-xs-12 col-sm-8'>
|
||||
<input id="c-area_id" class="form-control" type="text" value="" />
|
||||
<!-- 选项下拉框 -->
|
||||
<ul id="address-list" class="dropdown-menu" style="display: none;"></ul>
|
||||
|
||||
<!-- 存储选择的 area_code -->
|
||||
<input type="hidden" id="selected-area-code" name="row[area_id]">
|
||||
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-city" data-rule="required" class="form-control" data-toggle="city-picker" name="row[address]" type="text" value="" />
|
||||
<input id="area_id" style="display: none" class="form-control" name="row[area_id]" hidden type="text" value="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
|
@ -116,8 +113,8 @@
|
|||
<div class="form-group layer-footer">
|
||||
<label class="control-label col-xs-12 col-sm-3"></label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<button type="submit" data-id="submit" class="btn btn-primary btn-embossed disabled">录入</button>
|
||||
<button type="submit" data-id="submit_save" class="btn btn-primary btn-embossed disabled">录入并保留基本信息</button>
|
||||
<button type="submit" data-id="submit" class="btn btn-primary btn-embossed disabled">录入并清空</button>
|
||||
<button id="mybuttom" class="btn btn-primary btn-embossed">录入并保留信息</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -22,12 +22,8 @@
|
|||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Area_id')}:</label>
|
||||
<div class='col-xs-12 col-sm-8'>
|
||||
<input id="c-area_id" data-rule="required" 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}">
|
||||
<input id="c-city" data-rule="required" class="form-control" data-toggle="city-picker" value="{$row.area_name}" type="text" name="row[address]" />
|
||||
<input id="area_id" style="display: none" class="form-control" name="row[area_id]" hidden type="text" value="{$row.area_id}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
|
|
|||
|
|
@ -25,12 +25,8 @@
|
|||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-3">{:__('Area_id')}:</label>
|
||||
<div class='col-xs-12 col-sm-8'>
|
||||
<input id="c-area_id" data-rule="required" 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}">
|
||||
<input id="c-city" data-rule="required" class="form-control" data-toggle="city-picker" value="{$row.area_name}" type="text" name="row[address]" />
|
||||
<input id="area_id" style="display: none" class="form-control" name="row[area_id]" hidden type="text" value="{$row.area_id}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
|
||||
|
||||
function clearInfo() {
|
||||
$('[name^="row["]').val('');
|
||||
$("#c-city").citypicker('reset');
|
||||
$(".selectpicker").val('').selectpicker('refresh');
|
||||
}
|
||||
|
||||
var Controller = {
|
||||
index: function () {
|
||||
// 初始化表格参数配置
|
||||
|
|
@ -177,7 +183,15 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
Table.api.bindevent(table);
|
||||
},
|
||||
add: function () {
|
||||
console.log(1);
|
||||
$("#c-city").on("cp:updated", function() {
|
||||
var citypicker = $(this).data("citypicker");
|
||||
var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
|
||||
$("#area_id").val(code);
|
||||
});
|
||||
$("#c-city").on("click", function() {
|
||||
Form.api.submit($("form[role=form]"),);
|
||||
return false;
|
||||
});
|
||||
Controller.api.bindevent();
|
||||
},
|
||||
edit: function () {
|
||||
|
|
@ -189,8 +203,9 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
api: {
|
||||
bindevent: function () {
|
||||
Form.api.bindevent($("form[role=form]"),function (success,ret) {
|
||||
console.log(success);
|
||||
});
|
||||
clearInfo();
|
||||
return false;
|
||||
},);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -199,71 +214,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
// 获取左侧输入框的内容
|
||||
}
|
||||
|
||||
let $input = $("#c-area_id");
|
||||
let $dropdown = $("#address-list");
|
||||
let $hiddenField = $("#selected-area-code");
|
||||
let timer = null; // 定义定时器
|
||||
// 监听输入框
|
||||
$input.on("input", function () {
|
||||
clearTimeout(timer); // 清除上次的定时器
|
||||
let keyword = $(this).val().trim();
|
||||
|
||||
if (keyword.length === 0) {
|
||||
$dropdown.hide();
|
||||
return;
|
||||
}
|
||||
|
||||
// 延迟 500 毫秒后执行 AJAX 查询(防止过快触发)
|
||||
timer = setTimeout(() => {
|
||||
$.ajax({
|
||||
url: "/admin/area/search", // 你的 API 地址
|
||||
type: "GET",
|
||||
data: {keyword: keyword},
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
renderDropdown(data.data);
|
||||
},
|
||||
error: function () {
|
||||
console.error("请求失败");
|
||||
}
|
||||
});
|
||||
}, 200); // 500 毫秒防抖
|
||||
});
|
||||
|
||||
// 渲染城市下拉选项
|
||||
function renderDropdown(data) {
|
||||
$dropdown.empty(); // 清空列表
|
||||
if (data.length === 0) {
|
||||
let $option = $("<li class='dropdown-item'></li>")
|
||||
.text('未搜索到结果')
|
||||
.attr("data-value", 0);
|
||||
$dropdown.append($option);
|
||||
} else {
|
||||
data.forEach(item => {
|
||||
let $option = $("<li class='dropdown-item'></li>")
|
||||
.text(item.merge_name)
|
||||
.attr("data-value", item.area_code) // 绑定 area_code
|
||||
.on("click", function () {
|
||||
$input.val(item.merge_name); // 选中后填充输入框
|
||||
$hiddenField.val($(this).attr("data-value")); // 存储 area_code
|
||||
$dropdown.hide();
|
||||
});
|
||||
|
||||
$dropdown.append($option);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$dropdown.show(); // 显示下拉框
|
||||
}
|
||||
|
||||
|
||||
// 点击外部隐藏下拉框
|
||||
$(document).on("click", function (e) {
|
||||
if (!$(e.target).closest("#c-address, #address-list").length) {
|
||||
$dropdown.hide();
|
||||
}
|
||||
});
|
||||
return Controller;
|
||||
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user