them filters trong form dong bo
This commit is contained in:
parent
cb6c8fba32
commit
d296533184
|
@ -401,11 +401,16 @@ class ListManagementController extends Controller {
|
||||||
])
|
])
|
||||||
]
|
]
|
||||||
])), true);
|
])), true);
|
||||||
|
$filters = [];
|
||||||
|
foreach ($datas['data'] as $key => $value) {
|
||||||
|
$filters[$value['code']] = $value['code'] . " - " . $value['name'] . " - " . $value['department'];
|
||||||
|
}
|
||||||
Yii::$app->response->format = "json";
|
Yii::$app->response->format = "json";
|
||||||
return [
|
return [
|
||||||
"title" => "<i class='fa fa-download'></i> Đồng bộ từ máy chủ",
|
"title" => "<i class='fa fa-download'></i> Đồng bộ từ máy chủ",
|
||||||
"form" => $this->renderPartial("list-server", [
|
"form" => $this->renderPartial("list-server", [
|
||||||
"datas" => $datas['data'],
|
"datas" => $datas['data'],
|
||||||
|
"filters" => $filters,
|
||||||
"allID" => ListManagement::getAllID()
|
"allID" => ListManagement::getAllID()
|
||||||
])
|
])
|
||||||
];
|
];
|
||||||
|
@ -633,10 +638,16 @@ class ListManagementController extends Controller {
|
||||||
public function actionSyncToServer() {
|
public function actionSyncToServer() {
|
||||||
if (Yii::$app->request->isAjax) {
|
if (Yii::$app->request->isAjax) {
|
||||||
Yii::$app->response->format = "json";
|
Yii::$app->response->format = "json";
|
||||||
|
$datas = ListManagement::find()->orderBy(["code" => SORT_ASC])->all();
|
||||||
|
$filters = [];
|
||||||
|
foreach ($datas as $key => $value) {
|
||||||
|
$filters[$value->code] = $value->code . " - " . $value->name . " - " . $value->address;
|
||||||
|
}
|
||||||
return [
|
return [
|
||||||
"title" => "<i class='fa fa-upload'></i> Đồng bộ lên máy chủ",
|
"title" => "<i class='fa fa-upload'></i> Đồng bộ lên máy chủ",
|
||||||
"form" => $this->renderPartial("list-to-server", [
|
"form" => $this->renderPartial("list-to-server", [
|
||||||
"datas" => ListManagement::find()->orderBy(["code" => SORT_ASC])->all()
|
"datas" => $datas,
|
||||||
|
"filters" => $filters
|
||||||
])
|
])
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,9 +28,12 @@
|
||||||
.select2-container {
|
.select2-container {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
}
|
}
|
||||||
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single{
|
#form-add-staff .select2-container--default .select2-selection--single, .select2-selection .select2-selection--single{
|
||||||
border-color: green;
|
border-color: green;
|
||||||
}
|
}
|
||||||
|
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single{
|
||||||
|
height: 34px !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<input type="hidden" value="{Url::to(["/list-management/add"])}" name="create_url">
|
<input type="hidden" value="{Url::to(["/list-management/add"])}" name="create_url">
|
||||||
<input type="hidden" value="{Url::to(["/list-management/update"])}" name="update_url">
|
<input type="hidden" value="{Url::to(["/list-management/update"])}" name="update_url">
|
||||||
|
@ -227,7 +230,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="row hidden">
|
<div class="row hidden">
|
||||||
<div class="col-md-4 text-right">ID</div>
|
<div class="col-md-4 text-right">ID</div>
|
||||||
<div class="col-md-8">
|
<div class="col-md-8" id="form-add-staff">
|
||||||
<select name='Code' id='Code' onchange="chooseStaff(this);" data-href="{Url::to("/list-management/choose-staff")}">
|
<select name='Code' id='Code' onchange="chooseStaff(this);" data-href="{Url::to("/list-management/choose-staff")}">
|
||||||
<option value=""></option>
|
<option value=""></option>
|
||||||
{html_options options=$staffArray}
|
{html_options options=$staffArray}
|
||||||
|
|
|
@ -1,3 +1,21 @@
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-addon">Tìm kiếm</div>
|
||||||
|
<select class="form-control" id="filter-from-server" onchange="filters(this);">
|
||||||
|
<option value=""></option>
|
||||||
|
{html_options options=$filters}
|
||||||
|
</select>
|
||||||
|
<div class="input-group-btn">
|
||||||
|
<button class="btn btn-default" data-toggle="tooltip" title="Hủy bỏ tìm kiếm" onclick="removeFilters();">
|
||||||
|
<i class="fa fa-remove"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div style="max-height: 750px;overflow-y: auto;">
|
<div style="max-height: 750px;overflow-y: auto;">
|
||||||
<table class="table table-bordered table-striped">
|
<table class="table table-bordered table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
|
@ -12,7 +30,7 @@
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="sync-lists">
|
<tbody id="sync-lists">
|
||||||
{foreach from=$datas item=arr}
|
{foreach from=$datas item=arr}
|
||||||
<tr onclick="choooseToSync(this);" style="cursor: pointer;" class="{if !in_array($arr.idStaff,$allID)}not-in-list{/if}" data-stt="false" data-id="{$arr.idStaff}">
|
<tr id="filters-{$arr.code}" onclick="choooseToSync(this);" style="cursor: pointer;" class="filters {if !in_array($arr.idStaff,$allID)}not-in-list{/if}" data-stt="false" data-id="{$arr.idStaff}">
|
||||||
<td>
|
<td>
|
||||||
<div id="full-data-{$arr.idStaff}" class="hidden">{json_encode($arr)}</div>
|
<div id="full-data-{$arr.idStaff}" class="hidden">{json_encode($arr)}</div>
|
||||||
{$arr.idStaff}
|
{$arr.idStaff}
|
||||||
|
@ -52,13 +70,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-5 text-right">
|
<div class="col-md-5 text-right">
|
||||||
<button class="btn btn-default" onclick="checkAllNotInList();">
|
<button class="btn btn-default btn-select" onclick="checkAllNotInList();">
|
||||||
Chọn đối tượng chưa tồn tại
|
Chọn đối tượng chưa tồn tại
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-default" onclick="checkAllSync(true);">
|
<button class="btn btn-default btn-select" onclick="checkAllSync(true);">
|
||||||
Chọn tất cả
|
Chọn tất cả
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-default" onclick="checkAllSync(false);">
|
<button class="btn btn-default btn-select" onclick="checkAllSync(false);">
|
||||||
Bỏ chọn tất cả
|
Bỏ chọn tất cả
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-primary" onclick="_syncFromServer();">
|
<button class="btn btn-primary" onclick="_syncFromServer();">
|
||||||
|
|
|
@ -1,3 +1,21 @@
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="input-group">
|
||||||
|
<div class="input-group-addon">Tìm kiếm</div>
|
||||||
|
<select class="form-control" id="filter-from-server" onchange="filters(this);">
|
||||||
|
<option value=""></option>
|
||||||
|
{html_options options=$filters}
|
||||||
|
</select>
|
||||||
|
<div class="input-group-btn">
|
||||||
|
<button class="btn btn-default" data-toggle="tooltip" title="Hủy bỏ tìm kiếm" onclick="removeFilters();">
|
||||||
|
<i class="fa fa-remove"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div style="max-height: 750px;overflow-y: auto;">
|
<div style="max-height: 750px;overflow-y: auto;">
|
||||||
<table class="table table-bordered table-striped">
|
<table class="table table-bordered table-striped">
|
||||||
<thead>
|
<thead>
|
||||||
|
@ -13,7 +31,7 @@
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="sync-lists">
|
<tbody id="sync-lists">
|
||||||
{foreach from=$datas item=arr}
|
{foreach from=$datas item=arr}
|
||||||
<tr onclick="choooseToSync(this);" style="cursor: pointer;" data-stt="false" data-id="{$arr->code}">
|
<tr id="filters-{$arr.code}" class="filters" onclick="choooseToSync(this);" style="cursor: pointer;" data-stt="false" data-id="{$arr->code}">
|
||||||
<td>{$arr->code}</td>
|
<td>{$arr->code}</td>
|
||||||
<td>{$arr->name}</td>
|
<td>{$arr->name}</td>
|
||||||
<td>{$arr->gender}</td>
|
<td>{$arr->gender}</td>
|
||||||
|
@ -49,10 +67,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4 text-right">
|
<div class="col-md-4 text-right">
|
||||||
<button class="btn btn-default" onclick="checkAllSync(true);">
|
<button class="btn btn-default btn-select" onclick="checkAllSync(true);">
|
||||||
Chọn tất cả
|
Chọn tất cả
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-default" onclick="checkAllSync(false);">
|
<button class="btn btn-default btn-select" onclick="checkAllSync(false);">
|
||||||
Bỏ chọn tất cả
|
Bỏ chọn tất cả
|
||||||
</button>
|
</button>
|
||||||
<button class="btn btn-primary" onclick="_syncToServer();">
|
<button class="btn btn-primary" onclick="_syncToServer();">
|
||||||
|
|
|
@ -411,6 +411,9 @@ function _syncFromServerForm(e) {
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
common.modalBlock(false);
|
common.modalBlock(false);
|
||||||
common.modalOpenFullScreen(data.form, data.title);
|
common.modalOpenFullScreen(data.form, data.title);
|
||||||
|
$("#filter-from-server").select2({
|
||||||
|
placeholder: "Tìm kiếm theo ID hoặc tên"
|
||||||
|
});
|
||||||
},
|
},
|
||||||
error: function (jqXHR, textStatus, errorThrown) {
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
common.modalBlock(false);
|
common.modalBlock(false);
|
||||||
|
@ -512,6 +515,9 @@ function _syncToServerForm(e) {
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
common.modalBlock(false);
|
common.modalBlock(false);
|
||||||
common.modalOpenFullScreen(data.form, data.title);
|
common.modalOpenFullScreen(data.form, data.title);
|
||||||
|
$("#filter-from-server").select2({
|
||||||
|
placeholder: "Tìm kiếm theo ID hoặc tên"
|
||||||
|
});
|
||||||
},
|
},
|
||||||
error: function (jqXHR, textStatus, errorThrown) {
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
common.modalBlock(false);
|
common.modalBlock(false);
|
||||||
|
@ -569,4 +575,26 @@ function syncFeatureToServer(id, fullData) {
|
||||||
error: function (jqXHR, textStatus, errorThrown) {
|
error: function (jqXHR, textStatus, errorThrown) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function filters(e) {
|
||||||
|
var id = $(e).val();
|
||||||
|
if (id === "") {
|
||||||
|
$(".filters").removeClass("hidden");
|
||||||
|
$(".btn-select").removeClass("hidden");
|
||||||
|
checkAllSync(false);
|
||||||
|
} else {
|
||||||
|
$(".filters").addClass("hidden");
|
||||||
|
$("#filters-" + id).removeClass("hidden");
|
||||||
|
$(".btn-select").addClass("hidden");
|
||||||
|
checkAllSync(false);
|
||||||
|
choooseToSync($("#filters-" + id));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeFilters() {
|
||||||
|
$(".filters").removeClass("hidden");
|
||||||
|
$(".btn-select").removeClass("hidden");
|
||||||
|
$("#filter-from-server").val('').trigger('change');
|
||||||
|
checkAllSync(false);
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user