update autocomplete choose staff

This commit is contained in:
dongpd 2020-12-21 16:57:30 +07:00
parent 5bb7d519fc
commit df644d539d
9 changed files with 133 additions and 40 deletions

View File

@ -159,7 +159,7 @@ class ApiController extends Controller {
}
public function actionResetData() {
return file_get_contents("https://bischool.beetai.com/view/image/5f7c1b22dfe5aaf427a6dfa1");
// return file_get_contents("https://bischool.beetai.com/view/image/5f7c1b22dfe5aaf427a6dfa1");
\Yii::$app->db->createCommand()->truncateTable('capture_logs')->execute();
\Yii::$app->db->createCommand()->truncateTable('list_management')->execute();
}

View File

@ -8,6 +8,7 @@ use app\models\CaptureLogsSearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use app\models\ListManagement;
/**
* CaptureLogsController implements the CRUD actions for CaptureLogs model.
@ -43,17 +44,17 @@ class CaptureLogsController extends Controller {
$dataProvider->query->andWhere(["BETWEEN", "capture_logs.time", $f, $t]);
$dataProvider->query->orderBy(["time" => SORT_DESC]);
$tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
'http' => [
'header' => "Content-Type: application/json",
'method' => "POST"
]
])), true);
$data = json_decode($tempConfig['data'], true);
$last = \app\models\ListManagement::find()->orderBy(['id' => SORT_DESC])->limit(1)->one();
if (!is_object($last))
$last = (object) ['id' => 0];
$idAuto = $data['data']['box_id'] . "_" . ($last->id + 1);
// $tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
// 'http' => [
// 'header' => "Content-Type: application/json",
// 'method' => "POST"
// ]
// ])), true);
// $data = json_decode($tempConfig['data'], true);
// $last = \app\models\ListManagement::find()->orderBy(['id' => SORT_DESC])->limit(1)->one();
// if (!is_object($last))
// $last = (object) ['id' => 0];
// $idAuto = $data['data']['box_id'] . "_" . ($last->id + 1);
return $this->render('index', [
'searchModel' => $searchModel,
@ -61,7 +62,8 @@ class CaptureLogsController extends Controller {
'statusArray' => CaptureLogs::$statusArray,
'f' => $f,
't' => $t,
'idAuto' => $idAuto
// 'idAuto' => $idAuto,
"staffArray" => ListManagement::staffArray()
]);
}

View File

@ -50,17 +50,17 @@ class ListManagementController extends Controller {
$dataProvider->query->andWhere(["gender" => $gender]);
$dataProvider->query->orderBy(["time" => SORT_DESC]);
$tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
'http' => [
'header' => "Content-Type: application/json",
'method' => "POST"
]
])), true);
$data = json_decode($tempConfig['data'], true);
$last = \app\models\ListManagement::find()->orderBy(['id' => SORT_DESC])->limit(1)->one();
if (!is_object($last))
$last = (object) ['id' => 0];
$idAuto = $data['data']['box_id'] . "_" . ($last->id + 1);
// $tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
// 'http' => [
// 'header' => "Content-Type: application/json",
// 'method' => "POST"
// ]
// ])), true);
// $data = json_decode($tempConfig['data'], true);
// $last = \app\models\ListManagement::find()->orderBy(['id' => SORT_DESC])->limit(1)->one();
// if (!is_object($last))
// $last = (object) ['id' => 0];
// $idAuto = $data['data']['box_id'] . "_" . ($last->id + 1);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
@ -68,7 +68,8 @@ class ListManagementController extends Controller {
't' => $t,
'typeArray' => ListManagement::$typeArray,
'genderArray' => ListManagement::$genderArray,
'idAuto' => $idAuto
// 'idAuto' => $idAuto,
"staffArray" => ListManagement::staffArray()
]);
}
@ -382,7 +383,7 @@ class ListManagementController extends Controller {
'type' => "wl",
'name' => $data['name'],
'image' => json_encode($ft),
'gender' => "",
'gender' => "Male",
'birthday' => "",
'telephone' => "",
'address' => $data['department']
@ -451,4 +452,19 @@ class ListManagementController extends Controller {
}
}
public function actionChooseStaff() {
if (Yii::$app->request->post()) {
$post = Yii::$app->request->post();
$staff = ListManagement::findOne(['code' => $post['code']]);
Yii::$app->response->format = "json";
return [
"name" => $staff->name,
"gender" => $staff->gender,
"birthday" => date("d/m/Y", $staff->birthday),
"telephone" => $staff->telephone,
"department" => $staff->address
];
}
}
}

View File

@ -107,4 +107,13 @@ class ListManagement extends \yii\db\ActiveRecord {
return $res;
}
public static function staffArray() {
$res = [];
$ls = self::find()->all();
foreach ($ls as $key => $value) {
$res[$value->code] = $value->code . " - " . $value->name;
}
return $res;
}
}

View File

@ -14,6 +14,12 @@
.table-striped > tbody > tr:nth-of-type(odd){
background-color: rgb(210, 210, 210);
}
.select2-container {
width: 100% !important;
}
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single{
border-color: green;
}
</style>
<div class="row">
<div class="col-md-10" style="max-height: 850px;overflow-y: auto;">
@ -99,7 +105,10 @@
<div class="row">
<div class="col-md-4 text-right">ID</div>
<div class="col-md-8">
<input type="text" name="Code" value="{$idAuto}">
<select name='Code' id='Code' onchange="chooseStaff(this);" data-href="{Url::to("/list-management/choose-staff")}">
<option value=""></option>
{html_options options=$staffArray}
</select>
</div>
</div>
<div class="row">

View File

@ -65,7 +65,8 @@
'headerOptions' => ['class' => 'text-center'],
'value' => \app\helpers\CaptureLogsGrid::birthday()
],
'listManagement.address'
'listManagement.address',
'sync_status'
]
])}
</div>

View File

@ -25,8 +25,13 @@
background-color: red;
color: #fff;
}
.select2-container {
width: 100% !important;
}
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single{
border-color: green;
}
</style>
<input type="hidden" value="{$idAuto}" name="isAuto">
<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/sync-feature"])}" name="sync_feature_url">
@ -144,9 +149,9 @@
</div>
<hr style="border-top: 1px solid #000;">
<div class="text-center">
<button class="btn btn-info" onclick="_form();">
{*<button class="btn btn-info" onclick="_form();">
<i class="fa fa-plus-circle"></i> Thêm mới
</button>
</button>*}
<button class="btn btn-info" onclick="_syncFromServerForm(this);" data-href="{Url::to(['/list-management/sync-from-server'])}">
<i class="fa fa-download"></i> Đồng bộ từ máy chủ
</button>
@ -203,10 +208,13 @@
</select>
</div>
</div>
<div class="row">
<div class="row hidden">
<div class="col-md-4 text-right">ID</div>
<div class="col-md-8">
<input type="text" name="Code">
<select name='Code' id='Code' onchange="chooseStaff(this);" data-href="{Url::to("/list-management/choose-staff")}">
<option value=""></option>
{html_options options=$staffArray}
</select>
</div>
</div>
<div class="row">

View File

@ -1,6 +1,7 @@
$(function () {
common.dateTimePickerByClass("datepicker", "HH:mm DD/MM/YYYY");
common.dateTimePickerDay("birthday");
$("#Code").select2();
});
function _search(e) {
@ -18,9 +19,9 @@ function _close() {
}
function _save(e) {
var code = $("input[name='Code']").val();
var code = $("select[name='Code']").val();
if (code === "") {
alert("Hãy nhập mã đối tượng!");
alert("Hãy chọn đối tượng!");
return;
}
var name = $("input[name='Name']").val();
@ -51,4 +52,27 @@ function _save(e) {
common.ajaxError();
}
});
}
function chooseStaff(e) {
common.modalBlock(true);
$.ajax({
url: $(e).attr("data-href"),
type: 'POST',
data: {
code: $(e).val()
},
success: function (data) {
common.modalBlock(false);
$("input[name='Name']").val(data.name);
$("select[name='Gender']").val(data.gender);
$("input[name='Birthday']").val(data.birthday);
$("input[name='Telephone']").val(data.telephone);
$("input[name='Address']").val(data.department);
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
}

View File

@ -15,6 +15,7 @@ $(function () {
}
});
btnImage();
$("#Code").select2();
});
function _search(e) {
@ -60,7 +61,7 @@ function _formModified(e) {
success: function (data) {
common.modalBlock(false);
$("select[name='Type']").val(data.type);
$("input[name='Code']").val(data.code);
$("select[name='Code']").val(data.code);
$("input[name='Name']").val(data.name);
$("select[name='Gender']").val(data.gender);
$("input[name='Birthday']").val(data.birthday);
@ -78,9 +79,9 @@ function _formModified(e) {
}
function _update(e) {
var code = $("input[name='Code']").val();
var code = $("select[name='Code']").val();
if (code === "") {
alert("Hãy nhập mã đối tượng!");
alert("Hãy chọn đối tượng!");
return;
}
var name = $("input[name='Name']").val();
@ -241,9 +242,9 @@ function btnImage() {
}
function _create(e) {
var code = $("input[name='Code']").val();
var code = $("select[name='Code']").val();
if (code === "") {
alert("Hãy nhập mã đối tượng!");
alert("Hãy chọn đối tượng!");
return;
}
var name = $("input[name='Name']").val();
@ -460,4 +461,27 @@ function updateFeature() {
error: function (jqXHR, textStatus, errorThrown) {
}
});
}
function chooseStaff(e) {
common.modalBlock(true);
$.ajax({
url: $(e).attr("data-href"),
type: 'POST',
data: {
code: $(e).val()
},
success: function (data) {
common.modalBlock(false);
$("input[name='Name']").val(data.name);
$("select[name='Gender']").val(data.gender);
$("input[name='Birthday']").val(data.birthday);
$("input[name='Telephone']").val(data.telephone);
$("input[name='Address']").val(data.department);
},
error: function (jqXHR, textStatus, errorThrown) {
common.modalBlock(false);
common.ajaxError();
}
});
}