update autocomplete choose staff
This commit is contained in:
parent
5bb7d519fc
commit
df644d539d
|
@ -159,7 +159,7 @@ class ApiController extends Controller {
|
||||||
}
|
}
|
||||||
|
|
||||||
public function actionResetData() {
|
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('capture_logs')->execute();
|
||||||
\Yii::$app->db->createCommand()->truncateTable('list_management')->execute();
|
\Yii::$app->db->createCommand()->truncateTable('list_management')->execute();
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ use app\models\CaptureLogsSearch;
|
||||||
use yii\web\Controller;
|
use yii\web\Controller;
|
||||||
use yii\web\NotFoundHttpException;
|
use yii\web\NotFoundHttpException;
|
||||||
use yii\filters\VerbFilter;
|
use yii\filters\VerbFilter;
|
||||||
|
use app\models\ListManagement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CaptureLogsController implements the CRUD actions for CaptureLogs model.
|
* 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->andWhere(["BETWEEN", "capture_logs.time", $f, $t]);
|
||||||
$dataProvider->query->orderBy(["time" => SORT_DESC]);
|
$dataProvider->query->orderBy(["time" => SORT_DESC]);
|
||||||
|
|
||||||
$tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
|
// $tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
|
||||||
'http' => [
|
// 'http' => [
|
||||||
'header' => "Content-Type: application/json",
|
// 'header' => "Content-Type: application/json",
|
||||||
'method' => "POST"
|
// 'method' => "POST"
|
||||||
]
|
// ]
|
||||||
])), true);
|
// ])), true);
|
||||||
$data = json_decode($tempConfig['data'], true);
|
// $data = json_decode($tempConfig['data'], true);
|
||||||
$last = \app\models\ListManagement::find()->orderBy(['id' => SORT_DESC])->limit(1)->one();
|
// $last = \app\models\ListManagement::find()->orderBy(['id' => SORT_DESC])->limit(1)->one();
|
||||||
if (!is_object($last))
|
// if (!is_object($last))
|
||||||
$last = (object) ['id' => 0];
|
// $last = (object) ['id' => 0];
|
||||||
$idAuto = $data['data']['box_id'] . "_" . ($last->id + 1);
|
// $idAuto = $data['data']['box_id'] . "_" . ($last->id + 1);
|
||||||
|
|
||||||
return $this->render('index', [
|
return $this->render('index', [
|
||||||
'searchModel' => $searchModel,
|
'searchModel' => $searchModel,
|
||||||
|
@ -61,7 +62,8 @@ class CaptureLogsController extends Controller {
|
||||||
'statusArray' => CaptureLogs::$statusArray,
|
'statusArray' => CaptureLogs::$statusArray,
|
||||||
'f' => $f,
|
'f' => $f,
|
||||||
't' => $t,
|
't' => $t,
|
||||||
'idAuto' => $idAuto
|
// 'idAuto' => $idAuto,
|
||||||
|
"staffArray" => ListManagement::staffArray()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,17 +50,17 @@ class ListManagementController extends Controller {
|
||||||
$dataProvider->query->andWhere(["gender" => $gender]);
|
$dataProvider->query->andWhere(["gender" => $gender]);
|
||||||
$dataProvider->query->orderBy(["time" => SORT_DESC]);
|
$dataProvider->query->orderBy(["time" => SORT_DESC]);
|
||||||
|
|
||||||
$tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
|
// $tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
|
||||||
'http' => [
|
// 'http' => [
|
||||||
'header' => "Content-Type: application/json",
|
// 'header' => "Content-Type: application/json",
|
||||||
'method' => "POST"
|
// 'method' => "POST"
|
||||||
]
|
// ]
|
||||||
])), true);
|
// ])), true);
|
||||||
$data = json_decode($tempConfig['data'], true);
|
// $data = json_decode($tempConfig['data'], true);
|
||||||
$last = \app\models\ListManagement::find()->orderBy(['id' => SORT_DESC])->limit(1)->one();
|
// $last = \app\models\ListManagement::find()->orderBy(['id' => SORT_DESC])->limit(1)->one();
|
||||||
if (!is_object($last))
|
// if (!is_object($last))
|
||||||
$last = (object) ['id' => 0];
|
// $last = (object) ['id' => 0];
|
||||||
$idAuto = $data['data']['box_id'] . "_" . ($last->id + 1);
|
// $idAuto = $data['data']['box_id'] . "_" . ($last->id + 1);
|
||||||
return $this->render('index', [
|
return $this->render('index', [
|
||||||
'searchModel' => $searchModel,
|
'searchModel' => $searchModel,
|
||||||
'dataProvider' => $dataProvider,
|
'dataProvider' => $dataProvider,
|
||||||
|
@ -68,7 +68,8 @@ class ListManagementController extends Controller {
|
||||||
't' => $t,
|
't' => $t,
|
||||||
'typeArray' => ListManagement::$typeArray,
|
'typeArray' => ListManagement::$typeArray,
|
||||||
'genderArray' => ListManagement::$genderArray,
|
'genderArray' => ListManagement::$genderArray,
|
||||||
'idAuto' => $idAuto
|
// 'idAuto' => $idAuto,
|
||||||
|
"staffArray" => ListManagement::staffArray()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -382,7 +383,7 @@ class ListManagementController extends Controller {
|
||||||
'type' => "wl",
|
'type' => "wl",
|
||||||
'name' => $data['name'],
|
'name' => $data['name'],
|
||||||
'image' => json_encode($ft),
|
'image' => json_encode($ft),
|
||||||
'gender' => "",
|
'gender' => "Male",
|
||||||
'birthday' => "",
|
'birthday' => "",
|
||||||
'telephone' => "",
|
'telephone' => "",
|
||||||
'address' => $data['department']
|
'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
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,4 +107,13 @@ class ListManagement extends \yii\db\ActiveRecord {
|
||||||
return $res;
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,12 @@
|
||||||
.table-striped > tbody > tr:nth-of-type(odd){
|
.table-striped > tbody > tr:nth-of-type(odd){
|
||||||
background-color: rgb(210, 210, 210);
|
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>
|
</style>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-10" style="max-height: 850px;overflow-y: auto;">
|
<div class="col-md-10" style="max-height: 850px;overflow-y: auto;">
|
||||||
|
@ -99,7 +105,10 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<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">
|
||||||
<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>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
|
@ -65,7 +65,8 @@
|
||||||
'headerOptions' => ['class' => 'text-center'],
|
'headerOptions' => ['class' => 'text-center'],
|
||||||
'value' => \app\helpers\CaptureLogsGrid::birthday()
|
'value' => \app\helpers\CaptureLogsGrid::birthday()
|
||||||
],
|
],
|
||||||
'listManagement.address'
|
'listManagement.address',
|
||||||
|
'sync_status'
|
||||||
]
|
]
|
||||||
])}
|
])}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -25,8 +25,13 @@
|
||||||
background-color: red;
|
background-color: red;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
.select2-container {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
.select2-container--default .select2-selection--single, .select2-selection .select2-selection--single{
|
||||||
|
border-color: green;
|
||||||
|
}
|
||||||
</style>
|
</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/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">
|
||||||
<input type="hidden" value="{Url::to(["/list-management/sync-feature"])}" name="sync_feature_url">
|
<input type="hidden" value="{Url::to(["/list-management/sync-feature"])}" name="sync_feature_url">
|
||||||
|
@ -144,9 +149,9 @@
|
||||||
</div>
|
</div>
|
||||||
<hr style="border-top: 1px solid #000;">
|
<hr style="border-top: 1px solid #000;">
|
||||||
<div class="text-center">
|
<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
|
<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'])}">
|
<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ủ
|
<i class="fa fa-download"></i> Đồng bộ từ máy chủ
|
||||||
</button>
|
</button>
|
||||||
|
@ -203,10 +208,13 @@
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<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">
|
||||||
<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>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
$(function () {
|
$(function () {
|
||||||
common.dateTimePickerByClass("datepicker", "HH:mm DD/MM/YYYY");
|
common.dateTimePickerByClass("datepicker", "HH:mm DD/MM/YYYY");
|
||||||
common.dateTimePickerDay("birthday");
|
common.dateTimePickerDay("birthday");
|
||||||
|
$("#Code").select2();
|
||||||
});
|
});
|
||||||
|
|
||||||
function _search(e) {
|
function _search(e) {
|
||||||
|
@ -18,9 +19,9 @@ function _close() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function _save(e) {
|
function _save(e) {
|
||||||
var code = $("input[name='Code']").val();
|
var code = $("select[name='Code']").val();
|
||||||
if (code === "") {
|
if (code === "") {
|
||||||
alert("Hãy nhập mã đối tượng!");
|
alert("Hãy chọn đối tượng!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var name = $("input[name='Name']").val();
|
var name = $("input[name='Name']").val();
|
||||||
|
@ -51,4 +52,27 @@ function _save(e) {
|
||||||
common.ajaxError();
|
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();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
|
@ -15,6 +15,7 @@ $(function () {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
btnImage();
|
btnImage();
|
||||||
|
$("#Code").select2();
|
||||||
});
|
});
|
||||||
|
|
||||||
function _search(e) {
|
function _search(e) {
|
||||||
|
@ -60,7 +61,7 @@ function _formModified(e) {
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
common.modalBlock(false);
|
common.modalBlock(false);
|
||||||
$("select[name='Type']").val(data.type);
|
$("select[name='Type']").val(data.type);
|
||||||
$("input[name='Code']").val(data.code);
|
$("select[name='Code']").val(data.code);
|
||||||
$("input[name='Name']").val(data.name);
|
$("input[name='Name']").val(data.name);
|
||||||
$("select[name='Gender']").val(data.gender);
|
$("select[name='Gender']").val(data.gender);
|
||||||
$("input[name='Birthday']").val(data.birthday);
|
$("input[name='Birthday']").val(data.birthday);
|
||||||
|
@ -78,9 +79,9 @@ function _formModified(e) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function _update(e) {
|
function _update(e) {
|
||||||
var code = $("input[name='Code']").val();
|
var code = $("select[name='Code']").val();
|
||||||
if (code === "") {
|
if (code === "") {
|
||||||
alert("Hãy nhập mã đối tượng!");
|
alert("Hãy chọn đối tượng!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var name = $("input[name='Name']").val();
|
var name = $("input[name='Name']").val();
|
||||||
|
@ -241,9 +242,9 @@ function btnImage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function _create(e) {
|
function _create(e) {
|
||||||
var code = $("input[name='Code']").val();
|
var code = $("select[name='Code']").val();
|
||||||
if (code === "") {
|
if (code === "") {
|
||||||
alert("Hãy nhập mã đối tượng!");
|
alert("Hãy chọn đối tượng!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var name = $("input[name='Name']").val();
|
var name = $("input[name='Name']").val();
|
||||||
|
@ -460,4 +461,27 @@ function updateFeature() {
|
||||||
error: function (jqXHR, textStatus, errorThrown) {
|
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();
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user