Compare commits
No commits in common. "dev_DTD" and "BiFacePro2.0" have entirely different histories.
dev_DTD
...
BiFacePro2
|
@ -3,6 +3,6 @@
|
|||
return [
|
||||
'adminEmail' => 'admin@example.com',
|
||||
"maxLogs" => 100000,
|
||||
"maxPicture" => 9999,
|
||||
"maxPicture" => 5,
|
||||
"version" => "1.0.7"
|
||||
];
|
||||
|
|
|
@ -86,7 +86,7 @@ class ApiController extends Controller {
|
|||
$ip = $server_ip->data;
|
||||
if ($this->is_connected() && $logs) {
|
||||
$device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']);
|
||||
$id_camera = 0;
|
||||
$id_camera = 209;
|
||||
if ($device_id)
|
||||
$id_camera = intval($device_id->data);
|
||||
$logsInfo = CaptureLogs::findOne($logs);
|
||||
|
@ -95,21 +95,18 @@ class ApiController extends Controller {
|
|||
$token = \app\models\SyncUrl::findOne(['key_config' => 'token']);
|
||||
if ($token)
|
||||
$tk = $token->data;
|
||||
$data = [];
|
||||
$data[] = strval($id_camera); //camera_id
|
||||
$data[] = date("Y-m-d H:i:s", $time); //frametime
|
||||
$data[] = $staffInfo ? strval($staffInfo->code) : "0"; //idCard
|
||||
$data[] = $staffInfo ? $staffInfo->staff_id : ""; //idObject
|
||||
$data[] = "123"; //person_id
|
||||
$data[] = "+7"; //timezone
|
||||
$text = implode("|", $data);
|
||||
$res = json_decode(file_get_contents($ip . "/api/box/face_recognition_auth_v2?token=" . $tk, false, stream_context_create([
|
||||
$res = json_decode(file_get_contents($ip . "/api/oem/face_recognition?token=" . $tk, false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode([
|
||||
'image' => base64_encode(file_get_contents("/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName)),
|
||||
'data' => common::rsaEncode($text)
|
||||
'camera_id' => strval($id_camera),
|
||||
'frametime' => date("Y-m-d H:i:s", $time),
|
||||
'idCard' => $staffInfo ? strval($staffInfo->code) : "0",
|
||||
'idObject' => $staffInfo ? $staffInfo->staff_id : "",
|
||||
"person_id" => "123",
|
||||
"timezone" => "+7"
|
||||
])
|
||||
]
|
||||
])), true);
|
||||
|
@ -263,7 +260,7 @@ class ApiController extends Controller {
|
|||
]);
|
||||
$updating = \app\models\SyncUrl::findOne(['key_config' => 'updating']);
|
||||
}
|
||||
$currentCache = json_decode(@file_get_contents("http://localhost:2305/current-cache"), true);
|
||||
$currentCache = json_decode(file_get_contents("http://localhost:2305/current-cache"), true);
|
||||
if ($updating->data === "true") {
|
||||
if ($currentCache['n_128'] == $currentCache['n_512']) {
|
||||
$updating->data = "false";
|
||||
|
@ -298,15 +295,12 @@ class ApiController extends Controller {
|
|||
foreach ($images as $k => $v) {
|
||||
if (!isset($v['features512']) || (isset($v['features512']) && count($v['features512']) == 0)) {
|
||||
$start = $this->getCurrentTime();
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $v['url'], "type" => "raw"]
|
||||
],
|
||||
"type" => "512"
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return ["status" => false];
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
$finish = $this->getCurrentTime();
|
||||
$temp[] = round(($finish - $start), 4);
|
||||
$v['features512'] = $features['results'][0]['feature512'];
|
||||
|
@ -326,7 +320,7 @@ class ApiController extends Controller {
|
|||
}
|
||||
}
|
||||
|
||||
@file_get_contents("http://localhost:2305/update-feature");
|
||||
file_get_contents("http://localhost:2305/update-feature");
|
||||
$updating->data = "false";
|
||||
$updating->save();
|
||||
return ["status" => true];
|
||||
|
@ -340,7 +334,7 @@ class ApiController extends Controller {
|
|||
if ($server_ip)
|
||||
$ip = $server_ip->data;
|
||||
$device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']);
|
||||
$id_camera = 0;
|
||||
$id_camera = 209;
|
||||
if ($device_id)
|
||||
$id_camera = intval($device_id->data);
|
||||
$ls = CaptureLogs::find()->andWhere(['sync_status' => null])->all();
|
||||
|
@ -351,21 +345,18 @@ class ApiController extends Controller {
|
|||
$tk = $token->data;
|
||||
foreach ($ls as $key => $value) {
|
||||
$staffInfo = ListManagement::findOne($value->staff_id);
|
||||
$data = [];
|
||||
$data[] = strval($id_camera); //camera_id
|
||||
$data[] = date("Y-m-d H:i:s", $value->time); //frametime
|
||||
$data[] = $staffInfo ? strval($staffInfo->code) : "0"; //idCard
|
||||
$data[] = $staffInfo ? $staffInfo->staff_id : ""; //idObject
|
||||
$data[] = "123"; //person_id
|
||||
$data[] = "+7"; //timezone
|
||||
$text = implode("|", $data);
|
||||
$res = json_decode(file_get_contents($ip . "/api/box/face_recognition_auth_v2?token=" . $tk, false, stream_context_create([
|
||||
$res = json_decode(file_get_contents($ip . "/api/oem/face_recognition?token=" . $tk, false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode([
|
||||
'image' => base64_encode(file_get_contents("/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $value->image)),
|
||||
'data' => common::rsaEncode($text)
|
||||
'camera_id' => strval($id_camera),
|
||||
'frametime' => date("Y-m-d H:i:s", $value->time),
|
||||
'idCard' => $staffInfo ? strval($staffInfo->code) : "0",
|
||||
'idObject' => $staffInfo ? $staffInfo->staff_id : "",
|
||||
"person_id" => "123",
|
||||
"timezone" => "+7"
|
||||
])
|
||||
]
|
||||
])), true);
|
||||
|
@ -409,7 +400,7 @@ class ApiController extends Controller {
|
|||
}
|
||||
|
||||
public function actionCurrentCache() {
|
||||
return @file_get_contents("http://localhost:2305/current-cache");
|
||||
return file_get_contents("http://localhost:2305/current-cache");
|
||||
}
|
||||
|
||||
public function actionSaveToken() {
|
||||
|
@ -480,26 +471,12 @@ class ApiController extends Controller {
|
|||
}
|
||||
|
||||
public function actionTest() {
|
||||
// $key = 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCXB8c44cboYsGG6IzISqxf8W7q3AN0mGmekDYpBWpz9udif+jwK6h7NuOZvFDeB/32TVrtvaGDmExCeBerpcoOvGh4eUXyke2lSLzrg7pc/wD0KproEGoAAFDB0Pr5bZhg6ELp3Sk++0MPyxH6u1pgtHDxEnMwXV8cxw/rSCM+wIDAQAB';
|
||||
// $rsa = new \phpseclib3\Crypt\RSA;
|
||||
// $rsa->loadKey($key);
|
||||
// $rsa->setPublicKey($key);
|
||||
//
|
||||
// echo $rsa->getPublicKey();
|
||||
// exit();
|
||||
$test = "10|2021-07-27 19:16:25|211155|1|2021-07-27 19:16:25";
|
||||
$encode = common::rsaEncode($test);
|
||||
$res = json_decode(file_get_contents("http://192.168.0.9:6004/api/box/face_recognition_auth_v2", false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode([
|
||||
'image' => 'abc',
|
||||
'data' => $encode
|
||||
])
|
||||
]
|
||||
])), true);
|
||||
return var_dump($res);
|
||||
// $updating = \app\models\SyncUrl::findOne(['key_config' => 'token']);
|
||||
$updating = \app\models\SyncUrl::find()->all();
|
||||
foreach ($updating as $key => $value) {
|
||||
echo $value->key_config . " " . $value->data . "<br>";
|
||||
}
|
||||
exit();
|
||||
}
|
||||
|
||||
public function actionReGenFeature() {
|
||||
|
@ -527,16 +504,14 @@ class ApiController extends Controller {
|
|||
}
|
||||
|
||||
public function actionCheckLogs() {
|
||||
Yii::$app->response->format = "json";
|
||||
$server_ip = \app\models\SyncUrl::findOne(['key_config' => 'server_api']);
|
||||
$ip = "https://dev-dc.beetai.com";
|
||||
if ($server_ip)
|
||||
$ip = $server_ip->data;
|
||||
$device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']);
|
||||
if (!$device_id)
|
||||
return ["data" => "check logs fail"];
|
||||
|
||||
$id_camera = intval($device_id->data);
|
||||
$id_camera = 209;
|
||||
if ($device_id)
|
||||
$id_camera = intval($device_id->data);
|
||||
|
||||
$datas = json_decode(file_get_contents($ip . "/api/model/get_log_model", false, stream_context_create([
|
||||
'http' => [
|
||||
|
@ -587,8 +562,9 @@ class ApiController extends Controller {
|
|||
])
|
||||
]
|
||||
]));
|
||||
@file_get_contents("http://localhost:2305/update-feature?total=" . ListManagement::find()->count());
|
||||
file_get_contents("http://localhost:2305/update-feature?total=" . ListManagement::find()->count());
|
||||
}
|
||||
Yii::$app->response->format = "json";
|
||||
return ["data" => "check logs"];
|
||||
}
|
||||
|
||||
|
@ -621,15 +597,12 @@ class ApiController extends Controller {
|
|||
if (!$this->resizeImg($img, $fileTarget)) {
|
||||
file_put_contents($fileTarget, $img);
|
||||
}
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName, "type" => "raw"]
|
||||
],
|
||||
"type" => "128"
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return false;
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
$ft[] = [
|
||||
"serverKey" => $files_name,
|
||||
"url" => $fileName,
|
||||
|
|
|
@ -15,13 +15,9 @@ use app\models\ListManagement;
|
|||
*/
|
||||
class CaptureLogsController extends Controller {
|
||||
|
||||
public function init() {
|
||||
parent::init();
|
||||
Yii::$app->language = Yii::$app->session->get("language") ? Yii::$app->session->get("language")["name"] : Yii::$app->language;
|
||||
if (Yii::$app->user->isGuest)
|
||||
return $this->redirect(['/site/login']);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function behaviors() {
|
||||
return [
|
||||
'verbs' => [
|
||||
|
@ -41,7 +37,7 @@ class CaptureLogsController extends Controller {
|
|||
$t = date_format(date_create_from_format('H:i d/m/Y', $to), 'U');
|
||||
}
|
||||
|
||||
$this->view->title = Yii::t("app", "LICH_SU_HE_THONG");
|
||||
$this->view->title = "Lịch sử hệ thống";
|
||||
$searchModel = new CaptureLogsSearch();
|
||||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
|
||||
if (!$all)
|
||||
|
@ -67,9 +63,7 @@ class CaptureLogsController extends Controller {
|
|||
'f' => $f,
|
||||
't' => $t,
|
||||
// 'idAuto' => $idAuto,
|
||||
"staffArray" => ListManagement::staffArray(),
|
||||
"typeArray" => ListManagement::typeArray(),
|
||||
"genderArray" => ListManagement::genderArray(),
|
||||
"staffArray" => ListManagement::staffArray()
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -114,7 +108,7 @@ class CaptureLogsController extends Controller {
|
|||
return $model;
|
||||
}
|
||||
|
||||
throw new NotFoundHttpException(Yii::t("app", "KHONG_TIM_THAY_THONG_TIN"));
|
||||
throw new NotFoundHttpException('The requested page does not exist.');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,9 +14,9 @@ class ConfigController extends Controller {
|
|||
|
||||
public function init() {
|
||||
parent::init();
|
||||
Yii::$app->language = Yii::$app->session->get("language") ? Yii::$app->session->get("language")["name"] : Yii::$app->language;
|
||||
if (Yii::$app->user->isGuest)
|
||||
if (Yii::$app->user->isGuest) {
|
||||
return $this->redirect(['/site/login']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -157,8 +157,12 @@ class ConfigController extends Controller {
|
|||
]
|
||||
];
|
||||
|
||||
/**
|
||||
* Lists all Script models.
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionIndex() {
|
||||
$this->view->title = Yii::t("app", "CAU_HINH_MAY_CHU");
|
||||
$this->view->title = "Cấu hình máy chủ";
|
||||
$options = [
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
|
@ -258,7 +262,7 @@ class ConfigController extends Controller {
|
|||
]));
|
||||
return true;
|
||||
} else {
|
||||
$this->view->title = Yii::t("app", "CAU_HINH_NHAN_DIEN");
|
||||
$this->view->title = "Cấu hình nhận diện";
|
||||
$tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
|
@ -296,48 +300,7 @@ class ConfigController extends Controller {
|
|||
}
|
||||
|
||||
public function actionReset() {
|
||||
Yii::$app->response->format = "json";
|
||||
if (Yii::$app->request->post()) {
|
||||
if (Yii::$app->request->post("deleteDB") === "true") {
|
||||
\Yii::$app->db->createCommand()->truncateTable('capture_logs')->execute();
|
||||
\Yii::$app->db->createCommand()->truncateTable('list_management')->execute();
|
||||
array_map('unlink', glob("/var/www/html/BiFace_Server_Lite/web/data/uploads/face/*.*"));
|
||||
try {
|
||||
file_get_contents("http://localhost:2305/update-feature");
|
||||
} catch (\Exception $exc) {
|
||||
|
||||
}
|
||||
$server_ip = \app\models\SyncUrl::findOne(['key_config' => 'server_api']);
|
||||
$ip = "https://dev-dc.beetai.com";
|
||||
if ($server_ip)
|
||||
$ip = $server_ip->data;
|
||||
$device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']);
|
||||
$id_camera = 0;
|
||||
if ($device_id)
|
||||
$id_camera = intval($device_id->data);
|
||||
try {
|
||||
$res = json_decode(file_get_contents($ip . "/api/model/reset_log_model", false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode([
|
||||
"idCamera" => $id_camera,
|
||||
"isCloud" => 0
|
||||
])
|
||||
]
|
||||
])), true);
|
||||
if ($res['status'] != 10000)
|
||||
return [
|
||||
"status" => false,
|
||||
"btnText" => Yii::t("app", "THU_LAI")
|
||||
];
|
||||
} catch (Exception $ex) {
|
||||
return [
|
||||
"status" => false,
|
||||
"btnText" => Yii::t("app", "THU_LAI")
|
||||
];
|
||||
}
|
||||
}
|
||||
if (Yii::$app->request->post("resetDevice") === "true") {
|
||||
$tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
|
||||
'http' => [
|
||||
|
@ -369,14 +332,43 @@ class ConfigController extends Controller {
|
|||
]
|
||||
]));
|
||||
}
|
||||
\app\models\SyncUrl::deleteAll(['IN', 'key_config', ['server_api', 'device_id']]);
|
||||
return [
|
||||
"status" => true,
|
||||
"url" => Url::to(['/config/cau-hinh-thiet-bi'])
|
||||
];
|
||||
if (Yii::$app->request->post("deleteDB") === "true") {
|
||||
\Yii::$app->db->createCommand()->truncateTable('capture_logs')->execute();
|
||||
\Yii::$app->db->createCommand()->truncateTable('list_management')->execute();
|
||||
array_map('unlink', glob("/var/www/html/BiFace_Server_Lite/web/data/uploads/face/*.*"));
|
||||
try {
|
||||
file_get_contents("http://localhost:2305/update-feature");
|
||||
} catch (\Exception $exc) {
|
||||
|
||||
}
|
||||
$server_ip = \app\models\SyncUrl::findOne(['key_config' => 'server_api']);
|
||||
$ip = "https://dev-dc.beetai.com";
|
||||
if ($server_ip)
|
||||
$ip = $server_ip->data;
|
||||
$device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']);
|
||||
$id_camera = 209;
|
||||
if ($device_id)
|
||||
$id_camera = intval($device_id->data);
|
||||
try {
|
||||
file_get_contents($ip . "/api/model/reset_log_model", false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode([
|
||||
"idCamera" => $id_camera,
|
||||
"isCloud" => 0
|
||||
])
|
||||
]
|
||||
]));
|
||||
} catch (Exception $ex) {
|
||||
|
||||
}
|
||||
}
|
||||
return Url::to(['/config']);
|
||||
} else {
|
||||
Yii::$app->response->format = "json";
|
||||
return [
|
||||
"title" => Yii::t("app", "RESET_THIET_BI"),
|
||||
"title" => "Reset thiết bị",
|
||||
"form" => $this->renderPartial("reset")
|
||||
];
|
||||
}
|
||||
|
@ -395,7 +387,7 @@ class ConfigController extends Controller {
|
|||
return ['status' => false, 'text' => 'error'];
|
||||
|
||||
if ($tempConfig['data'] === "")
|
||||
return ['status' => false, 'text' => Yii::t("app", "CAU_HINH_IP_CHUA_DUNG")];
|
||||
return ['status' => false, 'text' => 'Cấu hình ip chưa đúng!'];
|
||||
|
||||
$engineConfig = json_decode($tempConfig['data'], true);
|
||||
if (count($engineConfig['data']['engines']) == 0)
|
||||
|
@ -414,41 +406,13 @@ class ConfigController extends Controller {
|
|||
if (!$checkConfig['status']) {
|
||||
return ['status' => false, 'text' => ''];
|
||||
} else {
|
||||
return ['status' => true, 'url' => Url::to(['cau-hinh-thiet-bi'])];
|
||||
return ['status' => true, 'url' => Url::to(['cau-hinh-nhan-dien'])];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function actionCauHinhThietBi() {
|
||||
$this->view->title = Yii::t("app", "CAU_HINH_THIET_BI");
|
||||
|
||||
$tempConfig = json_decode(file_get_contents("http://localhost:4004/ReadEngineConfig", false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST"
|
||||
]
|
||||
])), true);
|
||||
if (!$tempConfig['status'])
|
||||
return $this->redirect(['/config']);
|
||||
|
||||
$engineConfig = json_decode($tempConfig['data'], true);
|
||||
|
||||
$server_api = \app\models\SyncUrl::findOne(['key_config' => 'server_api']);
|
||||
if (!$server_api) {
|
||||
$model = new \app\models\SyncUrl();
|
||||
$model->create([
|
||||
'key_config' => 'server_api',
|
||||
'data' => $engineConfig['data']['engines'][0]['url']
|
||||
]);
|
||||
}
|
||||
$device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']);
|
||||
if (!$device_id) {
|
||||
$model = new \app\models\SyncUrl();
|
||||
$model->create([
|
||||
'key_config' => 'device_id',
|
||||
'data' => strval($engineConfig['data']['engines'][0]['id'])
|
||||
]);
|
||||
}
|
||||
$this->view->title = "Cấu hình thiết bị";
|
||||
return $this->render('device', [
|
||||
"server_api" => \app\models\SyncUrl::findOne(['key_config' => 'server_api']),
|
||||
"device_id" => \app\models\SyncUrl::findOne(['key_config' => 'device_id'])
|
||||
|
|
|
@ -17,13 +17,9 @@ use app\models\common;
|
|||
*/
|
||||
class ControlLogsController extends Controller {
|
||||
|
||||
public function init() {
|
||||
parent::init();
|
||||
Yii::$app->language = Yii::$app->session->get("language") ? Yii::$app->session->get("language")["name"] : Yii::$app->language;
|
||||
if (Yii::$app->user->isGuest)
|
||||
return $this->redirect(['/site/login']);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function behaviors() {
|
||||
return [
|
||||
'verbs' => [
|
||||
|
@ -43,7 +39,7 @@ class ControlLogsController extends Controller {
|
|||
$t = date_format(date_create_from_format('H:i d/m/Y', $to), 'U');
|
||||
}
|
||||
|
||||
$this->view->title = Yii::t("app", "DANH_SACH_NHAN_DIEN");
|
||||
$this->view->title = "Danh sách nhận diện";
|
||||
$searchModel = new CaptureLogsSearch();
|
||||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
|
||||
$dataProvider->query->andWhere(["<>", "capture_logs.staff_id", 0]);
|
||||
|
@ -60,10 +56,11 @@ class ControlLogsController extends Controller {
|
|||
return $this->render('index', [
|
||||
'searchModel' => $searchModel,
|
||||
'dataProvider' => $dataProvider,
|
||||
'statusArray' => CaptureLogs::$statusArray,
|
||||
'f' => $f,
|
||||
't' => $t,
|
||||
'typeArray' => ListManagement::typeArray(),
|
||||
'genderArray' => ListManagement::genderArray()
|
||||
'typeArray' => ListManagement::$typeArray,
|
||||
'genderArray' => ListManagement::$genderArray
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -72,7 +69,7 @@ class ControlLogsController extends Controller {
|
|||
return $model;
|
||||
}
|
||||
|
||||
throw new NotFoundHttpException(Yii::t("app", "KHONG_TIM_THAY_THONG_TIN"));
|
||||
throw new NotFoundHttpException('The requested page does not exist.');
|
||||
}
|
||||
|
||||
public function actionUseFeature($id) {
|
||||
|
@ -84,7 +81,7 @@ class ControlLogsController extends Controller {
|
|||
$url = $model->image;
|
||||
$images = json_decode($listManagement->image, true);
|
||||
if (count($images) >= \Yii::$app->params['maxPicture'])
|
||||
return ["status" => false, "text" => Yii::t("app", "SO_ANH_MAU_TOI_DA", ["maxPicture" => \Yii::$app->params['maxPicture']])];
|
||||
return ["status" => false, "text" => "Mỗi đối tượng chỉ nhận tối đa " . \Yii::$app->params['maxPicture'] . " hình ảnh mẫu"];
|
||||
$add = true;
|
||||
foreach ($images as $key => $value) {
|
||||
if (isset($value['urlOld']) && $value['urlOld'] === $url)
|
||||
|
@ -100,14 +97,11 @@ class ControlLogsController extends Controller {
|
|||
if (!$this->resizeImg($img, $fileTarget))
|
||||
$fileName = $url;
|
||||
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName, "type" => "raw"]
|
||||
]
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return ["status" => false, "text" => Yii::t("app", "ENGINE_KHONG_HOAT_DONG")];
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
$images[] = [
|
||||
"url" => $fileName,
|
||||
"urlOld" => $url,
|
||||
|
@ -125,9 +119,9 @@ class ControlLogsController extends Controller {
|
|||
]);
|
||||
return ["status" => true];
|
||||
}
|
||||
return ["status" => false, "text" => Yii::t("app", "ANH_MAU_DA_DUOC_CHON")];
|
||||
return ["status" => false, "text" => "Hình ảnh này đã được chọn làm mẫu cho đối tượng này!"];
|
||||
}
|
||||
return ["status" => false, "text" => Yii::t("app", "DOI_TUONG_KHONG_TON_TAI")];
|
||||
return ["status" => false, "text" => "Đối tượng không tồn tại!"];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,13 @@ use yii\helpers\Url;
|
|||
*/
|
||||
class DashboardController extends Controller {
|
||||
|
||||
public function init() {
|
||||
parent::init();
|
||||
if (Yii::$app->user->isGuest) {
|
||||
return $this->redirect(['/site/login']);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
|
@ -140,22 +147,4 @@ class DashboardController extends Controller {
|
|||
return $this->redirect(Yii::$app->request->hostInfo . "/BiFace_Server_Lite/web/du-lieu.xlsx");
|
||||
}
|
||||
|
||||
public function actionChangeLanguage($lang) {
|
||||
if (Yii::$app->request->isAjax) {
|
||||
$language = \app\models\common::allLanguage();
|
||||
foreach ($language as $key => $value) {
|
||||
if ($value['name'] === $lang)
|
||||
return Yii::$app->session->set("language", $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function actionChangeLanguageLogin($lang) {
|
||||
$language = \app\models\common::allLanguage();
|
||||
foreach ($language as $key => $value) {
|
||||
if ($value['name'] === $lang)
|
||||
return $this->redirect(['/site/login', 'lang' => $lang]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -17,13 +17,9 @@ use yii\helpers\FileHelper;
|
|||
*/
|
||||
class ListManagementController extends Controller {
|
||||
|
||||
public function init() {
|
||||
parent::init();
|
||||
Yii::$app->language = Yii::$app->session->get("language") ? Yii::$app->session->get("language")["name"] : Yii::$app->language;
|
||||
if (Yii::$app->user->isGuest)
|
||||
return $this->redirect(['/site/login']);
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function behaviors() {
|
||||
return [
|
||||
'verbs' => [
|
||||
|
@ -38,7 +34,7 @@ class ListManagementController extends Controller {
|
|||
public function actionIndex($from = "", $to = "", $name = "", $type = "all", $gender = "all", $id = "") {
|
||||
$f = date_format(date_create_from_format('H:i d/m/Y', "00:00 " . date("d/m/Y")), 'U');
|
||||
$t = date_format(date_create_from_format('H:i d/m/Y', "23:59 " . date("d/m/Y")), 'U');
|
||||
$this->view->title = Yii::t("app", "QUAN_LY_MAU");
|
||||
$this->view->title = "Quản lý mẫu";
|
||||
$searchModel = new ListManagementSearch();
|
||||
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
|
||||
if ($from !== "" && $to !== "") {
|
||||
|
@ -81,8 +77,8 @@ class ListManagementController extends Controller {
|
|||
'dataProvider' => $dataProvider,
|
||||
'f' => $f,
|
||||
't' => $t,
|
||||
'typeArray' => ListManagement::typeArray(),
|
||||
'genderArray' => ListManagement::genderArray(),
|
||||
'typeArray' => ListManagement::$typeArray,
|
||||
'genderArray' => ListManagement::$genderArray,
|
||||
// 'idAuto' => $idAuto,
|
||||
"staffArray" => ListManagement::staffArray(),
|
||||
"updating" => $updating
|
||||
|
@ -97,14 +93,11 @@ class ListManagementController extends Controller {
|
|||
$check = ListManagement::findOne(['code' => $data['code']]);
|
||||
if ($check)
|
||||
return ["status" => false];
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $data['image'], "type" => "raw"]
|
||||
]
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return ["status" => false];
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
$data['image'] = json_encode([
|
||||
[
|
||||
"url" => $data['image'],
|
||||
|
@ -128,7 +121,7 @@ class ListManagementController extends Controller {
|
|||
if ($listManagement) {
|
||||
$images = json_decode($listManagement->image, true);
|
||||
if (count($images) >= \Yii::$app->params['maxPicture'])
|
||||
return ["status" => false, "text" => Yii::t("app", "SO_ANH_MAU_TOI_DA", ["maxPicture" => \Yii::$app->params['maxPicture']])];
|
||||
return ["status" => false, "text" => "Mỗi đối tượng chỉ nhận tối đa " . \Yii::$app->params['maxPicture'] . " hình ảnh mẫu"];
|
||||
$add = true;
|
||||
foreach ($images as $key => $value) {
|
||||
if (isset($value['urlOld']) && $value['urlOld'] === $url)
|
||||
|
@ -144,14 +137,11 @@ class ListManagementController extends Controller {
|
|||
if (!$this->resizeImg($img, $fileTarget))
|
||||
$fileName = $url;
|
||||
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName, "type" => "raw"]
|
||||
]
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return ["status" => false, "text" => Yii::t("app", "ENGINE_KHONG_HOAT_DONG")];
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
$images[] = [
|
||||
"url" => $fileName,
|
||||
"urlOld" => $url,
|
||||
|
@ -176,7 +166,7 @@ class ListManagementController extends Controller {
|
|||
]);
|
||||
return ["status" => true];
|
||||
}
|
||||
return ["status" => false, "text" => Yii::t("app", "ANH_MAU_DA_DUOC_CHON")];
|
||||
return ["status" => false, "text" => "Hình ảnh này đã được chọn làm mẫu cho đối tượng này!"];
|
||||
} else {
|
||||
$RootFolder = Yii::getAlias('@webroot') . "/data/uploads";
|
||||
$targetPath = $RootFolder . "/face";
|
||||
|
@ -187,14 +177,11 @@ class ListManagementController extends Controller {
|
|||
if (!$this->resizeImg($img, $fileTarget))
|
||||
$fileName = $url;
|
||||
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName, "type" => "raw"]
|
||||
]
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return ["status" => false, "text" => Yii::t("app", "ENGINE_KHONG_HOAT_DONG")];
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
$data['image'] = json_encode([
|
||||
[
|
||||
"url" => $fileName,
|
||||
|
@ -248,14 +235,11 @@ class ListManagementController extends Controller {
|
|||
if (!$this->resizeImg($img, $fileTarget))
|
||||
$fileName = $data['image'];
|
||||
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName, "type" => "raw"]
|
||||
]
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return ["status" => false, "text" => Yii::t("app", "ENGINE_KHONG_HOAT_DONG")];
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
$images = json_decode($model->image, true);
|
||||
$images[] = [
|
||||
"url" => $fileName,
|
||||
|
@ -334,7 +318,7 @@ class ListManagementController extends Controller {
|
|||
return $model;
|
||||
}
|
||||
|
||||
throw new NotFoundHttpException(Yii::t("app", "KHONG_TIM_THAY_THONG_TIN"));
|
||||
throw new NotFoundHttpException('The requested page does not exist.');
|
||||
}
|
||||
|
||||
public function actionBatchDelete() {
|
||||
|
@ -369,14 +353,11 @@ class ListManagementController extends Controller {
|
|||
$model = new common();
|
||||
Yii::$app->response->format = "json";
|
||||
$url = $model->UploadFile("AnhNhanVien", ["PNG", "JPG", "JPEG", "GIF"], "temp");
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/" . $url, "type" => "crop"]
|
||||
]
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return ["status" => false];
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
unlink("/var/www/html/BiFace_Server_Lite/web/" . $url);
|
||||
if ($features['results'][0]['crop'] === "") {
|
||||
return ["status" => false];
|
||||
|
@ -411,7 +392,7 @@ class ListManagementController extends Controller {
|
|||
"title" => $data['ip'],
|
||||
"form" => $this->renderPartial("list", [
|
||||
"results" => $results,
|
||||
"typeArray" => ListManagement::typeArray(),
|
||||
"typeArray" => ListManagement::$typeArray,
|
||||
"filters" => $filters,
|
||||
"ip" => $data['ip']
|
||||
])
|
||||
|
@ -426,7 +407,7 @@ class ListManagementController extends Controller {
|
|||
if ($server_ip)
|
||||
$ip = $server_ip->data;
|
||||
$device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']);
|
||||
$id_camera = 0;
|
||||
$id_camera = 209;
|
||||
if ($device_id)
|
||||
$id_camera = intval($device_id->data);
|
||||
|
||||
|
@ -447,7 +428,7 @@ class ListManagementController extends Controller {
|
|||
}
|
||||
Yii::$app->response->format = "json";
|
||||
return [
|
||||
"title" => "<i class='fa fa-download'></i> " . Yii::t("app", "DONG_BO_TU_MAY_CHU"),
|
||||
"title" => "<i class='fa fa-download'></i> Đồng bộ từ máy chủ",
|
||||
"form" => $this->renderPartial("list-server", [
|
||||
"datas" => $datas['data'],
|
||||
"filters" => $filters,
|
||||
|
@ -498,15 +479,12 @@ class ListManagementController extends Controller {
|
|||
$finish = $this->getCurrentTime();
|
||||
$temp["saveIMG"] = round(($finish - $start), 4);
|
||||
$start = $this->getCurrentTime();
|
||||
$features = common::requestToEngine("/get-feature", [
|
||||
$features = json_decode(common::requestToEngine("/get-feature", [
|
||||
"image_paths" => [
|
||||
["url" => "/var/www/html/BiFace_Server_Lite/web/data/uploads/face/" . $fileName, "type" => "raw"]
|
||||
],
|
||||
"type" => "128"
|
||||
]);
|
||||
if (!$features['status'])
|
||||
return false;
|
||||
$features = json_decode($features['data'], true);
|
||||
]), true);
|
||||
$finish = $this->getCurrentTime();
|
||||
$temp["extract"] = round(($finish - $start), 4);
|
||||
$ft[] = [
|
||||
|
@ -543,8 +521,6 @@ class ListManagementController extends Controller {
|
|||
if ($model) {
|
||||
if (isset($data['images'])) {
|
||||
$extractFeature = $this->extractFeature($data['images'], $data['files_name'], $data['id'], json_decode($model->image, true));
|
||||
if (!$extractFeature)
|
||||
return false;
|
||||
$processTime["extractFeature"] = $extractFeature['time'];
|
||||
$ft = $extractFeature['features'];
|
||||
}
|
||||
|
@ -565,8 +541,6 @@ class ListManagementController extends Controller {
|
|||
} else {
|
||||
if (isset($data['images'])) {
|
||||
$extractFeature = $this->extractFeature($data['images'], $data['files_name'], $data['id']);
|
||||
if (!$extractFeature)
|
||||
return false;
|
||||
$processTime["extractFeature"] = $extractFeature['time'];
|
||||
$ft = $extractFeature['features'];
|
||||
}
|
||||
|
@ -709,7 +683,7 @@ class ListManagementController extends Controller {
|
|||
$filters[$value->staff_id] = $value->code . " - " . $value->name . " - " . $value->address;
|
||||
}
|
||||
return [
|
||||
"title" => "<i class='fa fa-upload'></i> " . Yii::t("app", "DONG_BO_LEN_MAY_CHU"),
|
||||
"title" => "<i class='fa fa-upload'></i> Đồng bộ lên máy chủ",
|
||||
"form" => $this->renderPartial("list-to-server", [
|
||||
"datas" => $datas,
|
||||
"filters" => $filters
|
||||
|
@ -726,7 +700,7 @@ class ListManagementController extends Controller {
|
|||
if ($server_ip)
|
||||
$ip = $server_ip->data;
|
||||
$device_id = \app\models\SyncUrl::findOne(['key_config' => 'device_id']);
|
||||
$id_camera = 0;
|
||||
$id_camera = 209;
|
||||
if ($device_id)
|
||||
$id_camera = intval($device_id->data);
|
||||
|
||||
|
@ -743,7 +717,7 @@ class ListManagementController extends Controller {
|
|||
}
|
||||
}
|
||||
if (count($images) == 0)
|
||||
return ["status" => true, "text" => Yii::t("app", "DU_LIEU_KHONG_DOI")];
|
||||
return ["status" => true, "text" => "Dữ liệu không đổi"];
|
||||
|
||||
$items = [
|
||||
"id" => $StaffInfo->staff_id,
|
||||
|
|
|
@ -66,20 +66,13 @@ class SiteController extends Controller {
|
|||
*
|
||||
* @return Response|string
|
||||
*/
|
||||
public function actionLogin($lang = "vi-VI") {
|
||||
public function actionLogin() {
|
||||
if (!Yii::$app->user->isGuest) {
|
||||
return $this->goHome();
|
||||
}
|
||||
Yii::$app->language = $lang;
|
||||
|
||||
$model = new LoginForm();
|
||||
if ($model->load(Yii::$app->request->post()) && $model->login()) {
|
||||
$lang = Yii::$app->request->post('lang');
|
||||
$language = \app\models\common::allLanguage();
|
||||
foreach ($language as $key => $value) {
|
||||
if ($value['name'] === $lang)
|
||||
Yii::$app->session->set("language", $value);
|
||||
}
|
||||
return $this->redirect(["/config"]);
|
||||
}
|
||||
|
||||
|
@ -95,10 +88,9 @@ class SiteController extends Controller {
|
|||
* @return Response
|
||||
*/
|
||||
public function actionLogout() {
|
||||
$lang = Yii::$app->session->get("language") ? Yii::$app->session->get("language")["name"] : Yii::$app->language;
|
||||
Yii::$app->user->logout();
|
||||
|
||||
return $this->redirect(['/site/login', 'lang' => $lang]); //$this->goHome();
|
||||
return $this->goHome();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -19,12 +19,12 @@ class UserController extends Controller {
|
|||
|
||||
public function init() {
|
||||
parent::init();
|
||||
Yii::$app->language = Yii::$app->session->get("language") ? Yii::$app->session->get("language")["name"] : Yii::$app->language;
|
||||
if (Yii::$app->user->isGuest)
|
||||
if (Yii::$app->user->isGuest) {
|
||||
return $this->redirect(['/site/login']);
|
||||
|
||||
if (!Yii::$app->user->can("administrator"))
|
||||
}
|
||||
if (!Yii::$app->user->can("administrator")) {
|
||||
return $this->redirect(["/dashboard"]);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -86,6 +86,11 @@ class UserController extends Controller {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new User model.
|
||||
* If creation is successful, the browser will be redirected to the 'view' page.
|
||||
* @return mixed
|
||||
*/
|
||||
public function actionCreate() {
|
||||
if (!Yii::$app->user->can("administrator")) {
|
||||
Yii::$app->response->format = "json";
|
||||
|
@ -137,6 +142,13 @@ class UserController extends Controller {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates an existing User model.
|
||||
* If update is successful, the browser will be redirected to the 'view' page.
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
* @throws NotFoundHttpException if the model cannot be found
|
||||
*/
|
||||
public function actionUpdate($id) {
|
||||
if (!Yii::$app->user->can("administrator")) {
|
||||
Yii::$app->response->format = "json";
|
||||
|
@ -184,6 +196,13 @@ class UserController extends Controller {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes an existing User model.
|
||||
* If deletion is successful, the browser will be redirected to the 'index' page.
|
||||
* @param integer $id
|
||||
* @return mixed
|
||||
* @throws NotFoundHttpException if the model cannot be found
|
||||
*/
|
||||
public function actionDelete($id) {
|
||||
if (!Yii::$app->user->can("administrator")) {
|
||||
throw new \yii\web\ForbiddenHttpException(Yii::t("app", "Bạn không có quyền truy cập!"));
|
||||
|
@ -194,12 +213,19 @@ class UserController extends Controller {
|
|||
return $this->redirect(['index']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the User model based on its primary key value.
|
||||
* If the model is not found, a 404 HTTP exception will be thrown.
|
||||
* @param integer $id
|
||||
* @return User the loaded model
|
||||
* @throws NotFoundHttpException if the model cannot be found
|
||||
*/
|
||||
protected function findModel($id) {
|
||||
if (($model = User::findOne($id)) !== null) {
|
||||
return $model;
|
||||
}
|
||||
|
||||
throw new NotFoundHttpException(Yii::t("app", "KHONG_TIM_THAY_THONG_TIN"));
|
||||
throw new NotFoundHttpException('The requested page does not exist.');
|
||||
}
|
||||
|
||||
public function actionProfiles() {
|
||||
|
@ -208,7 +234,7 @@ class UserController extends Controller {
|
|||
}
|
||||
|
||||
$model = $this->findModel(Yii::$app->user->id);
|
||||
$this->view->title = Yii::t("app", "THONG_TIN_CA_NHAN");
|
||||
$this->view->title = Yii::t("app", "Thông tin cá nhân");
|
||||
$this->view->params['breadcrumbs'][] = $this->view->title;
|
||||
|
||||
return $this->render('profiles', [
|
||||
|
@ -238,7 +264,7 @@ class UserController extends Controller {
|
|||
if (Yii::$app->user->isGuest) {
|
||||
return $this->redirect(['/site/login']);
|
||||
}
|
||||
$this->view->title = Yii::t("app", "DOI_MAT_KHAU");
|
||||
$this->view->title = Yii::t("app", "Đổi mật khẩu");
|
||||
$this->view->params['breadcrumbs'][] = $this->view->title;
|
||||
|
||||
return $this->render('password', [
|
||||
|
|
|
@ -97,7 +97,7 @@ class CaptureLogsGrid {
|
|||
public static function rows() {
|
||||
return function($model, $index, $widget, $grid) {
|
||||
$confidence = json_decode($model->confidence, true);
|
||||
$person = isset($confidence['id1']) ? \app\models\ListManagement::findOne($confidence['id1']) : false;
|
||||
$person = \app\models\ListManagement::findOne($confidence['id1']);
|
||||
$images = false;
|
||||
if ($person) {
|
||||
$images = json_decode($person->image, true);
|
||||
|
@ -110,7 +110,7 @@ class CaptureLogsGrid {
|
|||
"img" => "/data/uploads/face/" . $model->image,
|
||||
"confidence" => json_encode([
|
||||
"name" => $person ? $person->name : "",
|
||||
"score" => isset($confidence['percent1']) ? $confidence['percent1'] : "",
|
||||
"score" => $confidence['percent1'],
|
||||
"img" => isset($images[0]) ? "/data/uploads/face/" . $images[0]['url'] : ""
|
||||
])
|
||||
]
|
||||
|
|
|
@ -1,140 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
return [
|
||||
"CAU_HINH" => "Configuration",
|
||||
"CAU_HINH_THIET_BI" => "Device Configuration",
|
||||
"CAU_HINH_MAY_CHU" => "Server Configuration",
|
||||
"CAU_HINH_NHAN_DIEN" => "Recognition Configuration",
|
||||
"DEVICE_CONFIG" => "",
|
||||
"SERVER_CONFIG" => "",
|
||||
"ENGINE_CONFIG" => "",
|
||||
"SERVER_MQTT" => "server_mqtt",
|
||||
"URL" => "url",
|
||||
"LUU_LAI" => "Save",
|
||||
"HAY_NHAP_THONG_TIN" => "Please enter the required information",
|
||||
"BOX_CHUA_DUOC_DANG_KI_TREN_CMS" => "This box is not yet registered on CMS",
|
||||
"DA_LUU_CAU_HINH" => "Configuration saved",
|
||||
"LUU_CAU_HINH_THAT_BAI" => "Unable to save this configuration",
|
||||
"RESET_THIET_BI" => "Reset the device",
|
||||
"XOA_DU_LIEU_LUU_TRU_TRONG_THIET_BI" => "Delete the data stored in the device",
|
||||
"RESET_CAU_HINH_THIET_BI" => "Reset to default configuration",
|
||||
"DONG_Y" => "Confirm",
|
||||
"HUY_BO" => "Cancel",
|
||||
"HAY_LUA_CHON_THAO_TAC" => "Please select an operation",
|
||||
"DELETE_DB_CONFIRM" => "Please confirm to delete all the data stored in the device?",
|
||||
"RESET_DB_CONFIRM" => "Please confirm to reset the to default configuration?",
|
||||
"CAU_HINH_IP_CHUA_DUNG" => "IP Configuration is not correct",
|
||||
"SERVER_API" => "Server API",
|
||||
"DEVICE_ID" => "Device ID",
|
||||
"QUAN_LY_MAU" => "Face Sample Management",
|
||||
"LICH_SU_HE_THONG" => "System history",
|
||||
"DANH_SACH_NHAN_DIEN" => "Recognition log",
|
||||
"ONLINE" => "Online",
|
||||
"THONG_TIN_CA_NHAN" => "Personal Information",
|
||||
"DOI_MAT_KHAU" => "Change Password",
|
||||
"DANG_XUAT" => "Log out",
|
||||
"PHIEN_BAN" => "Version",
|
||||
"ID" => "ID",
|
||||
"LOAI" => "Type",
|
||||
"TEN" => "Name",
|
||||
"HINH_ANH_DANG_KI" => "Sample Images",
|
||||
"GIOI_TINH" => "Sex",
|
||||
"NGAY_SINH" => "DOB",
|
||||
"DIEN_THOAI" => "Phone Nnumber",
|
||||
"DON_VI" => "Departement",
|
||||
"THOI_GIAN_DANG_KI" => "Registration time",
|
||||
"TEN_HIEN_THI" => "Display Name",
|
||||
"WHITE_LIST" => "Whitelist",
|
||||
"BLACK_LIST" => "Blacklist",
|
||||
"MALE" => "Male",
|
||||
"FEMALE" => "Female",
|
||||
"TIM_KIEM_DU_LIEU" => "Search the data",
|
||||
"TAT_CA" => "All",
|
||||
"TIM_KIEM" => "Search",
|
||||
"XOA_NHIEU_DU_LIEU" => "Delete multiple data",
|
||||
"CHON_TOAN_BO_TRANG" => "Select all data",
|
||||
"BO_CHON" => "Unselect",
|
||||
"XAC_NHAN_XOA" => "Deletion Confirm",
|
||||
"DONG_BO_VOI_MAY_CHU" => "Data Synchronization",
|
||||
"DONG_BO_TU_MAY_CHU" => "Synchronize data from server",
|
||||
"DONG_BO_LEN_MAY_CHU" => "Synchronize data to server",
|
||||
"DONG_BO_TU_THIET_BI_KHAC" => "Synchronize data from other device",
|
||||
"NHAP_IP_THIET_BI" => "Insert device's ip",
|
||||
"SO_NGUOI_CO_ANH_TREN_TONG" => "Users with face samples/ Total",
|
||||
"DAC_TRUNG_1" => "Face Feature 1",
|
||||
"DAC_TRUNG_2" => "Face Feature 2",
|
||||
"DANG_CAP_NHAT" => "Loading ...",
|
||||
"THAO_TAC" => "Action",
|
||||
"SUA" => "Edit",
|
||||
"XOA" => "Delete",
|
||||
"DANH_SACH" => "List",
|
||||
"LUU" => "Save",
|
||||
"HUY" => "Cancel",
|
||||
"HAY_CHON_DOI_TUONG" => "Please choose objects",
|
||||
"HAY_NHAP_TEN" => "Please insert name",
|
||||
"HAY_NHAP_TEN_HIEN_THI" => "Please insert display name",
|
||||
"CAP_NHAT_DU_LIEU_THANH_CONG" => "The data is updated successfully",
|
||||
"MA_DOI_TUONG_DA_TON_TAI" => "Object code existed",
|
||||
"DELETE_CONFIRM" => "Dele confirm?",
|
||||
"HAY_CHON_DU_LIEU_DE_XOA" => "Please select data to delete",
|
||||
"DA_XOA_DU_LIEU" => "Data is deleted",
|
||||
"CHON_HINH_ANH" => "Please select an image",
|
||||
"HINH_ANH_KHONG_NHAN_DIEN_DUOC_KHUON_MAT" => "Unable to recognize faces in the image",
|
||||
"HAY_TAI_LEN_HINH_ANH" => "Please upload sample pictures",
|
||||
"HAY_NHAP_DIA_CHI_IP_DONG_BO" => "Please enter the ip address of the device you want to synchronize",
|
||||
"SAI_DINH_DANG_IP" => "IP address is not correct",
|
||||
"TIM_KIEM_THEO_ID_HOAC_TEN" => "Search by ID/Name",
|
||||
"KHONG_CO_KET_NOI_TOI_THIET_BI" => "No connection to the device",
|
||||
"KHONG_CO_DU_LIEU_DONG_BO" => "Sychonozation data is blank",
|
||||
"DONG_BO_DU_LIEU_HOAN_THANH" => "Data synchronization is completed",
|
||||
"SO_ANH_MAU_TOI_DA" => "Each person can take up to {maxPicture} sample images",
|
||||
"ANH_MAU_DA_DUOC_CHON" => "This image is selected as the sample for this person",
|
||||
"KHONG_TIM_THAY_THONG_TIN" => "No information found",
|
||||
"HUY_BO_TIM_KIEM" => "Cancel search",
|
||||
"DA_LUA_CHON_X_DOI_TUONG" => "Selected <b class='text-red' id='totals-choose'>0</b> object.",
|
||||
"DONG_BO_X_Y_DOI_TUONG" => "Synchronize <b id='progress-current' class='text-green'>0</b>/<b id='progress-totals' class='text-red'>0</b> object.",
|
||||
"CHON_TAT_CA" => "Select all",
|
||||
"BO_CHON_TAT_CA" => "Deselect all",
|
||||
"DONG_BO" => "Synchronized",
|
||||
"DONG_LAI" => "Close",
|
||||
"COMPANY_ID" => "Company ID",
|
||||
"CHON_DOI_TUONG_CHUA_TON_TAI" => "Selected object does not exist",
|
||||
"DU_LIEU_KHONG_DOI" => "Data unchanged",
|
||||
"THOI_GIAN" => "Time",
|
||||
"HINH_ANH" => "Image",
|
||||
"TRANG_THAI" => "Status",
|
||||
"REMARK" => "Remark",
|
||||
"DO_TIN_CAY" => "Reliability",
|
||||
"TRANG_THAI_DONG_BO" => "Synchronization status",
|
||||
"FROM" => "From",
|
||||
"TO" => "To",
|
||||
"HIEN_THI_TOAN_BO_DU_LIEU" => "Show all data",
|
||||
"DOI_TUONG_KHONG_TON_TAI" => "Object does not exist",
|
||||
"DA_THEM_HINH_ANH_MAU" => "Added sample images",
|
||||
"XUAT_DU_LIEU" => "Export data",
|
||||
"TEN_DANG_NHAP" => "Username",
|
||||
"HO_TEN" => "Fullname",
|
||||
"EMAIL" => "Email",
|
||||
"LOAI_NGUOI_DUNG" => "User Type",
|
||||
"THONG_TIN_DA_DUOC_LUU_LAI" => "Information saved",
|
||||
"DOI_MAT_KHAU" => "Change Password",
|
||||
"MAT_KHAU_CU" => "Old password",
|
||||
"MAT_KHAU_MOI" => "New password",
|
||||
"NHAC_LAI_MAT_KHAU_MOI" => "Retype new password",
|
||||
"DOI_MAT_KHAU_THANH_CONG" => "Change password successfully",
|
||||
"DANG_XU_LY" => "Loading ...",
|
||||
"THONG_BAO" => "Notify",
|
||||
"CO_LOI_XAY_RA_HAY_THU_LAI" => "An error occurred, check the network connection and try again",
|
||||
"ENGINE_KHONG_HOAT_DONG" => "Engine is not running",
|
||||
"DANG_NHAP" => "Login",
|
||||
"MAT_KHAU" => "Password",
|
||||
"RESET_THIET_BI_LOI" => "Error connecting to the server. Please check your internet connection and try again.",
|
||||
"THU_LAI" => "Try again",
|
||||
"TEN_DANG_NHAP_HOAC_MAT_KHAU_KHONG_DUNG" => "Incorrect username or password."
|
||||
];
|
|
@ -1,140 +0,0 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* To change this license header, choose License Headers in Project Properties.
|
||||
* To change this template file, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
return [
|
||||
"CAU_HINH" => "構成",
|
||||
"CAU_HINH_THIET_BI" => "デバイス構成",
|
||||
"CAU_HINH_MAY_CHU" => " サーバ構成",
|
||||
"CAU_HINH_NHAN_DIEN" => "認識構成",
|
||||
"DEVICE_CONFIG" => "Device config",
|
||||
"SERVER_CONFIG" => "Server config",
|
||||
"ENGINE_CONFIG" => "Engine config",
|
||||
"SERVER_MQTT" => "server_mqtt",
|
||||
"URL" => "url",
|
||||
"LUU_LAI" => "保存する",
|
||||
"HAY_NHAP_THONG_TIN" => "情報を入力してください",
|
||||
"BOX_CHUA_DUOC_DANG_KI_TREN_CMS" => "CMSでBox に登録されていません",
|
||||
"DA_LUU_CAU_HINH" => "構成が保存されました",
|
||||
"LUU_CAU_HINH_THAT_BAI" => "構成の保存に失敗しました",
|
||||
"RESET_THIET_BI" => "デバイスをリセット",
|
||||
"XOA_DU_LIEU_LUU_TRU_TRONG_THIET_BI" => "デバイスに保存されているデータを消去します",
|
||||
"RESET_CAU_HINH_THIET_BI" => "デバイス構成をリセットする",
|
||||
"DONG_Y" => "同意",
|
||||
"HUY_BO" => "キャンセル",
|
||||
"HAY_LUA_CHON_THAO_TAC" => "アクションを選択してください",
|
||||
"DELETE_DB_CONFIRM" => "デバイスに保存されているデータをクリアしてもよろしいですか?",
|
||||
"RESET_DB_CONFIRM" => "デバイス構成をリセットしてもよろしいですか?",
|
||||
"CAU_HINH_IP_CHUA_DUNG" => "IP構成が違います",
|
||||
"SERVER_API" => "Server API",
|
||||
"DEVICE_ID" => "Device ID",
|
||||
"QUAN_LY_MAU" => "テンプレート管理",
|
||||
"LICH_SU_HE_THONG" => "システム履歴",
|
||||
"DANH_SACH_NHAN_DIEN" => "認識リスト",
|
||||
"ONLINE" => "オンライン",
|
||||
"THONG_TIN_CA_NHAN" => "個人情報",
|
||||
"DOI_MAT_KHAU" => "パスワード変更する",
|
||||
"DANG_XUAT" => "ログアウト",
|
||||
"PHIEN_BAN" => "バージョン",
|
||||
"ID" => "ID",
|
||||
"LOAI" => "タイプ",
|
||||
"TEN" => "名前",
|
||||
"HINH_ANH_DANG_KI" => "登録画像",
|
||||
"GIOI_TINH" => "性",
|
||||
"NGAY_SINH" => "生年月日",
|
||||
"DIEN_THOAI" => "電話番号",
|
||||
"DON_VI" => "部署",
|
||||
"THOI_GIAN_DANG_KI" => "登録時間",
|
||||
"TEN_HIEN_THI" => "表示名",
|
||||
"WHITE_LIST" => "Whitelist",
|
||||
"BLACK_LIST" => "Blacklist",
|
||||
"MALE" => "男",
|
||||
"FEMALE" => "女",
|
||||
"TIM_KIEM_DU_LIEU" => "データ検索",
|
||||
"TAT_CA" => "全部",
|
||||
"TIM_KIEM" => "検索",
|
||||
"XOA_NHIEU_DU_LIEU" => "大量のデータを削除する",
|
||||
"CHON_TOAN_BO_TRANG" => "ページ全体を選択",
|
||||
"BO_CHON" => "取り消し",
|
||||
"XAC_NHAN_XOA" => "削除の確認",
|
||||
"DONG_BO_VOI_MAY_CHU" => "サーバーと同期する",
|
||||
"DONG_BO_TU_MAY_CHU" => "サーバーから同期する",
|
||||
"DONG_BO_LEN_MAY_CHU" => "サーバーに同期する",
|
||||
"DONG_BO_TU_THIET_BI_KHAC" => "他のデバイスから同期する",
|
||||
"NHAP_IP_THIET_BI" => "デバイスIPを入力してください",
|
||||
"SO_NGUOI_CO_ANH_TREN_TONG" => "写真を持っている人の数/合計",
|
||||
"DAC_TRUNG_1" => "特徴 1",
|
||||
"DAC_TRUNG_2" => "特徴 2",
|
||||
"DANG_CAP_NHAT" => "更新中 ...",
|
||||
"THAO_TAC" => "取り扱う",
|
||||
"SUA" => "修理する",
|
||||
"XOA" => "消す",
|
||||
"DANH_SACH" => "リスト",
|
||||
"LUU" => "保存する",
|
||||
"HUY" => "キャンセル",
|
||||
"HAY_CHON_DOI_TUONG" => "オブジェクトを選択してください",
|
||||
"HAY_NHAP_TEN" => "名前を入力してください",
|
||||
"HAY_NHAP_TEN_HIEN_THI" => "表示名を入力してください",
|
||||
"CAP_NHAT_DU_LIEU_THANH_CONG" => "データの更新に成功しました",
|
||||
"MA_DOI_TUONG_DA_TON_TAI" => "オブジェクトコードはすでに存在します",
|
||||
"DELETE_CONFIRM" => "消去してもよろしいですか?",
|
||||
"HAY_CHON_DU_LIEU_DE_XOA" => "削除するデータを選択してください",
|
||||
"DA_XOA_DU_LIEU" => "削除されたデータ",
|
||||
"CHON_HINH_ANH" => "画像を選択",
|
||||
"HINH_ANH_KHONG_NHAN_DIEN_DUOC_KHUON_MAT" => "画像が顔を認識しない",
|
||||
"HAY_TAI_LEN_HINH_ANH" => "写真をアップロードしてください",
|
||||
"HAY_NHAP_DIA_CHI_IP_DONG_BO" => "同期するデバイスのIPアドレスを入力してください",
|
||||
"SAI_DINH_DANG_IP" => "間違ったIP形式",
|
||||
"TIM_KIEM_THEO_ID_HOAC_TEN" => "ID と名前で検索",
|
||||
"KHONG_CO_KET_NOI_TOI_THIET_BI" => "デバイスに接続されていません",
|
||||
"KHONG_CO_DU_LIEU_DONG_BO" => "データ同期なし",
|
||||
"DONG_BO_DU_LIEU_HOAN_THANH" => "データ同期が完了しました",
|
||||
"SO_ANH_MAU_TOI_DA" => "各オブジェクトは、最大{maxPicture}のサンプル画像のみを受信できます",
|
||||
"ANH_MAU_DA_DUOC_CHON" => "この画像は、この主題のモデルとして選択されています",
|
||||
"KHONG_TIM_THAY_THONG_TIN" => "情報が見つかりません",
|
||||
"HUY_BO_TIM_KIEM" => "検索をキャンセルする",
|
||||
"DA_LUA_CHON_X_DOI_TUONG" => "選択された<bclass = 'text-red' id = 'totals-choose'> 0 </ b>オブジェクト.",
|
||||
"DONG_BO_X_Y_DOI_TUONG" => "Đ同期<bid = 'progress-current' class = 'text-green'> 0 </ b> / <b id = 'progress-totals' class = 'text-red'> 0 </ b>オブジェクト.",
|
||||
"CHON_TAT_CA" => "すべて選択",
|
||||
"BO_CHON_TAT_CA" => "すべての選択を解除",
|
||||
"DONG_BO" => "同期",
|
||||
"DONG_LAI" => "クローズ",
|
||||
"COMPANY_ID" => "Company ID",
|
||||
"CHON_DOI_TUONG_CHUA_TON_TAI" => "存在しないオブジェクトを選択してください",
|
||||
"DU_LIEU_KHONG_DOI" => "データは変更されていません",
|
||||
"THOI_GIAN" => "時間",
|
||||
"HINH_ANH" => "画像",
|
||||
"TRANG_THAI" => "状態",
|
||||
"REMARK" => "Remark",
|
||||
"DO_TIN_CAY" => "信頼性",
|
||||
"TRANG_THAI_DONG_BO" => "同期ステータス",
|
||||
"FROM" => "フォーム",
|
||||
"TO" => "に",
|
||||
"HIEN_THI_TOAN_BO_DU_LIEU" => "すべてのデータを表示",
|
||||
"DOI_TUONG_KHONG_TON_TAI" => "オブジェクトが存在しません",
|
||||
"DA_THEM_HINH_ANH_MAU" => "サンプル画像を追加",
|
||||
"XUAT_DU_LIEU" => "データのエクスポート",
|
||||
"TEN_DANG_NHAP" => "ユーザー名",
|
||||
"HO_TEN" => "名前",
|
||||
"EMAIL" => "メール",
|
||||
"LOAI_NGUOI_DUNG" => "ユーザータイプ",
|
||||
"THONG_TIN_DA_DUOC_LUU_LAI" => "情報が保存されました",
|
||||
"DOI_MAT_KHAU" => "パスワードを変更する",
|
||||
"MAT_KHAU_CU" => "以前のパスワード",
|
||||
"MAT_KHAU_MOI" => "新しいパスワード",
|
||||
"NHAC_LAI_MAT_KHAU_MOI" => "新しいパスワードを繰り返す",
|
||||
"DOI_MAT_KHAU_THANH_CONG" => "パスワードを正常に変更する",
|
||||
"DANG_XU_LY" => "処理中 ...",
|
||||
"THONG_BAO" => "報告",
|
||||
"CO_LOI_XAY_RA_HAY_THU_LAI" => "おそらくネットワーク接続が原因でエラーが発生しました。再試行してください",
|
||||
"ENGINE_KHONG_HOAT_DONG" => "Engine不活動",
|
||||
"DANG_NHAP" => "ログイン",
|
||||
"MAT_KHAU" => "パスワード",
|
||||
"RESET_THIET_BI_LOI" => "サーバーへの接続中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください",
|
||||
"THU_LAI" => "再試行",
|
||||
"TEN_DANG_NHAP_HOAC_MAT_KHAU_KHONG_DUNG" => "ユーザーネームまたはパスワードが違います"
|
||||
];
|
|
@ -6,135 +6,4 @@
|
|||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
return [
|
||||
"CAU_HINH" => "Cấu hình",
|
||||
"CAU_HINH_THIET_BI" => "Cấu hình thiết bị",
|
||||
"CAU_HINH_MAY_CHU" => "Cấu hình máy chủ",
|
||||
"CAU_HINH_NHAN_DIEN" => "Cấu hình nhận diện",
|
||||
"DEVICE_CONFIG" => "Device config",
|
||||
"SERVER_CONFIG" => "Server config",
|
||||
"ENGINE_CONFIG" => "Engine config",
|
||||
"SERVER_MQTT" => "server_mqtt",
|
||||
"URL" => "url",
|
||||
"LUU_LAI" => "Lưu lại",
|
||||
"HAY_NHAP_THONG_TIN" => "Hãy nhập thông tin",
|
||||
"BOX_CHUA_DUOC_DANG_KI_TREN_CMS" => "Box chưa được đăng kí trên CMS",
|
||||
"DA_LUU_CAU_HINH" => "Đã lưu cấu hình",
|
||||
"LUU_CAU_HINH_THAT_BAI" => "Lưu cấu hình thất bại",
|
||||
"RESET_THIET_BI" => "Reset thiết bị",
|
||||
"XOA_DU_LIEU_LUU_TRU_TRONG_THIET_BI" => "Xóa dữ liệu lưu trữ trong thiết bị",
|
||||
"RESET_CAU_HINH_THIET_BI" => "Reset cấu hình thiết bị",
|
||||
"DONG_Y" => "Đồng ý",
|
||||
"HUY_BO" => "Hủy bỏ",
|
||||
"HAY_LUA_CHON_THAO_TAC" => "Hãy lựa chọn thao tác",
|
||||
"DELETE_DB_CONFIRM" => "Bạn có chắc chắn muốn xóa dữ liệu lưu trữ trong thiết bị không?",
|
||||
"RESET_DB_CONFIRM" => "Bạn có chắc chắn muốn reset cấu hình thiết bị không?",
|
||||
"CAU_HINH_IP_CHUA_DUNG" => "Cấu hình ip chưa đúng",
|
||||
"SERVER_API" => "Server API",
|
||||
"DEVICE_ID" => "Device ID",
|
||||
"QUAN_LY_MAU" => "Quản lý mẫu",
|
||||
"LICH_SU_HE_THONG" => "Lịch sử hệ thống",
|
||||
"DANH_SACH_NHAN_DIEN" => "Danh sách nhận diện",
|
||||
"ONLINE" => "Trực tuyến",
|
||||
"THONG_TIN_CA_NHAN" => "Thông tin cá nhân",
|
||||
"DOI_MAT_KHAU" => "Đổi mật khẩu",
|
||||
"DANG_XUAT" => "Đăng xuất",
|
||||
"PHIEN_BAN" => "Phiên bản",
|
||||
"ID" => "ID",
|
||||
"LOAI" => "Loại",
|
||||
"TEN" => "Tên",
|
||||
"HINH_ANH_DANG_KI" => "Hình ảnh đăng kí",
|
||||
"GIOI_TINH" => "Giới tính",
|
||||
"NGAY_SINH" => "Ngày sinh",
|
||||
"DIEN_THOAI" => "Điện thoại",
|
||||
"DON_VI" => "Đơn vị",
|
||||
"THOI_GIAN_DANG_KI" => "Thời gian đăng kí",
|
||||
"TEN_HIEN_THI" => "Tên hiển thị",
|
||||
"WHITE_LIST" => "Whitelist",
|
||||
"BLACK_LIST" => "Blacklist",
|
||||
"MALE" => "Nam",
|
||||
"FEMALE" => "Nữ",
|
||||
"TIM_KIEM_DU_LIEU" => "Tìm kiếm dữ liệu",
|
||||
"TAT_CA" => "Tất cả",
|
||||
"TIM_KIEM" => "Tìm kiếm",
|
||||
"XOA_NHIEU_DU_LIEU" => "Xóa nhiều dữ liệu",
|
||||
"CHON_TOAN_BO_TRANG" => "Chọn toàn bộ trang",
|
||||
"BO_CHON" => "Bỏ chọn",
|
||||
"XAC_NHAN_XOA" => "Xác nhận xóa",
|
||||
"DONG_BO_VOI_MAY_CHU" => "Đồng bộ với máy chủ",
|
||||
"DONG_BO_TU_MAY_CHU" => "Đồng bộ từ máy chủ",
|
||||
"DONG_BO_LEN_MAY_CHU" => "Đồng bộ lên máy chủ",
|
||||
"DONG_BO_TU_THIET_BI_KHAC" => "Đồng bộ từ thiết bị khác",
|
||||
"NHAP_IP_THIET_BI" => "Nhập ip thiết bị",
|
||||
"SO_NGUOI_CO_ANH_TREN_TONG" => "Số người có ảnh / tổng",
|
||||
"DAC_TRUNG_1" => "Đặc trưng 1",
|
||||
"DAC_TRUNG_2" => "Đặc trưng 2",
|
||||
"DANG_CAP_NHAT" => "Đang cập nhật ...",
|
||||
"THAO_TAC" => "Thao tác",
|
||||
"SUA" => "Sửa",
|
||||
"XOA" => "Xóa",
|
||||
"DANH_SACH" => "Danh sách",
|
||||
"LUU" => "Lưu",
|
||||
"HUY" => "Hủy",
|
||||
"HAY_CHON_DOI_TUONG" => "Hãy chọn đối tượng",
|
||||
"HAY_NHAP_TEN" => "Hãy nhập tên",
|
||||
"HAY_NHAP_TEN_HIEN_THI" => "Hãy nhập tên hiển thị",
|
||||
"CAP_NHAT_DU_LIEU_THANH_CONG" => "Cập nhật dữ liệu thành công",
|
||||
"MA_DOI_TUONG_DA_TON_TAI" => "Mã đối tượng đã tồn tại",
|
||||
"DELETE_CONFIRM" => "Bạn có chắc chắn muốn xóa không",
|
||||
"HAY_CHON_DU_LIEU_DE_XOA" => "Hãy chọn dữ liệu để xóa",
|
||||
"DA_XOA_DU_LIEU" => "Đã xóa dữ liệu",
|
||||
"CHON_HINH_ANH" => "Chọn hình ảnh",
|
||||
"HINH_ANH_KHONG_NHAN_DIEN_DUOC_KHUON_MAT" => "Hình ảnh không nhận diện được khuôn mặt",
|
||||
"HAY_TAI_LEN_HINH_ANH" => "Hãy tải lên hình ảnh",
|
||||
"HAY_NHAP_DIA_CHI_IP_DONG_BO" => "Hãy nhập địa chỉ ip thiết bị muốn đồng bộ",
|
||||
"SAI_DINH_DANG_IP" => "Sai định dạng ip",
|
||||
"TIM_KIEM_THEO_ID_HOAC_TEN" => "Tìm kiếm theo ID hoặc tên",
|
||||
"KHONG_CO_KET_NOI_TOI_THIET_BI" => "Không có kết nối tới thiết bị",
|
||||
"KHONG_CO_DU_LIEU_DONG_BO" => "Không có dữ liệu đồng bộ",
|
||||
"DONG_BO_DU_LIEU_HOAN_THANH" => "Đồng bộ dữ liệu hoàn thành",
|
||||
"SO_ANH_MAU_TOI_DA" => "Mỗi đối tượng chỉ nhận tối đa {maxPicture} hình ảnh mẫu",
|
||||
"ANH_MAU_DA_DUOC_CHON" => "Hình ảnh này đã được chọn làm mẫu cho đối tượng này",
|
||||
"KHONG_TIM_THAY_THONG_TIN" => "Không tìm thấy thông tin",
|
||||
"HUY_BO_TIM_KIEM" => "Hủy bỏ tìm kiếm",
|
||||
"DA_LUA_CHON_X_DOI_TUONG" => "Đã lựa chọn <b class='text-red' id='totals-choose'>0</b> đối tượng.",
|
||||
"DONG_BO_X_Y_DOI_TUONG" => "Đồng bộ <b id='progress-current' class='text-green'>0</b>/<b id='progress-totals' class='text-red'>0</b> đối tượng.",
|
||||
"CHON_TAT_CA" => "Chọn tất cả",
|
||||
"BO_CHON_TAT_CA" => "Bỏ chọn tất cả",
|
||||
"DONG_BO" => "Đồng bộ",
|
||||
"DONG_LAI" => "Đóng lại",
|
||||
"COMPANY_ID" => "Company ID",
|
||||
"CHON_DOI_TUONG_CHUA_TON_TAI" => "Chọn đối tượng chưa tồn tại",
|
||||
"DU_LIEU_KHONG_DOI" => "Dữ liệu không đổi",
|
||||
"THOI_GIAN" => "Thời gian",
|
||||
"HINH_ANH" => "Hình ảnh",
|
||||
"TRANG_THAI" => "Trạng thái",
|
||||
"REMARK" => "Remark",
|
||||
"DO_TIN_CAY" => "Độ tin cậy",
|
||||
"TRANG_THAI_DONG_BO" => "Trạng thái đồng bộ",
|
||||
"FROM" => "Từ",
|
||||
"TO" => "Đến",
|
||||
"HIEN_THI_TOAN_BO_DU_LIEU" => "Hiển thị toàn bộ dữ liệu",
|
||||
"DOI_TUONG_KHONG_TON_TAI" => "Đối tượng không tồn tại",
|
||||
"DA_THEM_HINH_ANH_MAU" => "Đã thêm hình ảnh mẫu",
|
||||
"XUAT_DU_LIEU" => "Xuất dữ liệu",
|
||||
"TEN_DANG_NHAP" => "Tên đăng nhập",
|
||||
"HO_TEN" => "Họ tên",
|
||||
"EMAIL" => "Email",
|
||||
"LOAI_NGUOI_DUNG" => "Loại người dùng",
|
||||
"THONG_TIN_DA_DUOC_LUU_LAI" => "Thông tin đã được lưu lại",
|
||||
"DOI_MAT_KHAU" => "Đổi mật khẩu",
|
||||
"MAT_KHAU_CU" => "Mật khẩu cũ",
|
||||
"MAT_KHAU_MOI" => "Mật khẩu mới",
|
||||
"NHAC_LAI_MAT_KHAU_MOI" => "Nhắc lại mật khẩu mới",
|
||||
"DOI_MAT_KHAU_THANH_CONG" => "Đổi mật khẩu thành công",
|
||||
"DANG_XU_LY" => "Đang xử lý ...",
|
||||
"THONG_BAO" => "Thông báo",
|
||||
"CO_LOI_XAY_RA_HAY_THU_LAI" => "Có lỗi xảy ra, có thể do đường truyền mạng, xin vui lòng thử lại",
|
||||
"ENGINE_KHONG_HOAT_DONG" => "Engine không hoạt động",
|
||||
"DANG_NHAP" => "Đăng nhập",
|
||||
"MAT_KHAU" => "Mật khẩu",
|
||||
"RESET_THIET_BI_LOI" => "Lỗi kết nối đến server. Hãy kiểm tra lại kết nối internet và thử lại.",
|
||||
"THU_LAI" => "Thử lại",
|
||||
"TEN_DANG_NHAP_HOAC_MAT_KHAU_KHONG_DUNG" => "Tên đăng nhập hoặc mật khẩu không đúng."
|
||||
];
|
||||
return [];
|
||||
|
|
|
@ -40,15 +40,15 @@ class CaptureLogs extends \yii\db\ActiveRecord {
|
|||
*/
|
||||
public function attributeLabels() {
|
||||
return [
|
||||
'id' => Yii::t("app", "ID"),
|
||||
'time' => Yii::t("app", "THOI_GIAN"),
|
||||
'image' => Yii::t("app", "HINH_ANH"),
|
||||
'status' => Yii::t("app", "TRANG_THAI"),
|
||||
'remark' => Yii::t("app", "REMARK"),
|
||||
'staff_name' => Yii::t("app", "TEN"),
|
||||
'staff_image' => Yii::t("app", "HINH_ANH_DANG_KI"),
|
||||
'confidence' => Yii::t("app", "DO_TIN_CAY"),
|
||||
'sync_status' => Yii::t("app", "TRANG_THAI_DONG_BO")
|
||||
'id' => 'ID',
|
||||
'time' => 'Thời gian',
|
||||
'image' => 'Hình ảnh',
|
||||
'status' => 'Status',
|
||||
'remark' => 'Remark',
|
||||
'staff_name' => "Name",
|
||||
'staff_image' => "Hình ảnh đăng kí",
|
||||
'confidence' => 'Độ tin cậy',
|
||||
'sync_status' => 'Trạng thái đồng bộ'
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -45,19 +45,19 @@ class ListManagement extends \yii\db\ActiveRecord {
|
|||
*/
|
||||
public function attributeLabels() {
|
||||
return [
|
||||
'id' => Yii::t("app", "ID"),
|
||||
'code' => Yii::t("app", "ID"),
|
||||
'type' => Yii::t("app", "LOAI"),
|
||||
'name' => Yii::t("app", "TEN"),
|
||||
'image' => Yii::t("app", "HINH_ANH_DANG_KI"),
|
||||
'gender' => Yii::t("app", "GIOI_TINH"),
|
||||
'birthday' => Yii::t("app", "NGAY_SINH"),
|
||||
'telephone' => Yii::t("app", "DIEN_THOAI"),
|
||||
'address' => Yii::t("app", "DON_VI"),
|
||||
'time' => Yii::t("app", "THOI_GIAN_DANG_KI"),
|
||||
'id' => 'ID',
|
||||
'code' => 'ID',
|
||||
'type' => 'Loại',
|
||||
'name' => 'Tên',
|
||||
'image' => 'Hình ảnh đăng kí',
|
||||
'gender' => 'Giới tính',
|
||||
'birthday' => 'Ngày sinh',
|
||||
'telephone' => 'Điện thoại',
|
||||
'address' => 'Đơn vị',
|
||||
'time' => 'Thời gian đăng kí',
|
||||
'last_modified' => 'Last Modified',
|
||||
'abbreviated_name' => Yii::t("app", "TEN_HIEN_THI"),
|
||||
'staff_id' => Yii::t("app", "ID"),
|
||||
'abbreviated_name' => 'Tên hiển thị',
|
||||
'staff_id' => 'ID'
|
||||
];
|
||||
}
|
||||
|
||||
|
@ -86,19 +86,14 @@ class ListManagement extends \yii\db\ActiveRecord {
|
|||
}
|
||||
}
|
||||
|
||||
public static function typeArray() {
|
||||
return [
|
||||
"wl" => Yii::t("app", "WHITE_LIST"),
|
||||
"bl" => Yii::t("app", "BLACK_LIST")
|
||||
];
|
||||
}
|
||||
|
||||
public static function genderArray() {
|
||||
return [
|
||||
"Male" => Yii::t("app", "MALE"),
|
||||
"Female" => Yii::t("app", "FEMALE"),
|
||||
];
|
||||
}
|
||||
public static $typeArray = [
|
||||
"wl" => "Whitelist",
|
||||
"bl" => "Blacklist"
|
||||
];
|
||||
public static $genderArray = [
|
||||
"Male" => "Nam",
|
||||
"Female" => "Nữ"
|
||||
];
|
||||
|
||||
public static function nameArray() {
|
||||
$res = [""];
|
||||
|
|
|
@ -43,18 +43,11 @@ class LoginForm extends Model {
|
|||
if (!$this->hasErrors()) {
|
||||
$user = $this->getUser();
|
||||
if (!$user || !$user->validatePassword($this->password)) {
|
||||
$this->addError($attribute, Yii::t("app", "TEN_DANG_NHAP_HOAC_MAT_KHAU_KHONG_DUNG"));
|
||||
$this->addError($attribute, 'Incorrect username or password.');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function attributeLabels() {
|
||||
return [
|
||||
'username' => Yii::t("app", "TEN_DANG_NHAP"),
|
||||
'password' => Yii::t("app", "MAT_KHAU")
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Logs in a user using the provided username and password.
|
||||
* @return bool whether the user is logged in successfully
|
||||
|
|
|
@ -172,25 +172,22 @@ class common extends \yii\db\ActiveRecord {
|
|||
}
|
||||
|
||||
public static function requestToEngine($path, $data) {
|
||||
$content = @file_get_contents("http://localhost:2305" . $path, false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode($data)
|
||||
]
|
||||
return file_get_contents("http://localhost:2305" . $path, false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode($data)
|
||||
]
|
||||
]));
|
||||
if ($content == false)
|
||||
return ["status" => false];
|
||||
return ["status" => true, "data" => $content];
|
||||
}
|
||||
|
||||
public static function updateFeature($datas) {
|
||||
return @file_get_contents("http://localhost:2305/update-person", false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode($datas)
|
||||
]
|
||||
return file_get_contents("http://localhost:2305/update-person", false, stream_context_create([
|
||||
'http' => [
|
||||
'header' => "Content-Type: application/json",
|
||||
'method' => "POST",
|
||||
'content' => json_encode($datas)
|
||||
]
|
||||
]));
|
||||
}
|
||||
|
||||
|
@ -223,19 +220,4 @@ class common extends \yii\db\ActiveRecord {
|
|||
return $str;
|
||||
}
|
||||
|
||||
public static function allLanguage() {
|
||||
return [
|
||||
["icon" => "vi.png", "name" => "vi-VI", "description" => "Tiếng Việt"],
|
||||
["icon" => "en.png", "name" => "en-EN", "description" => "English"],
|
||||
["icon" => "jp.png", "name" => "ja-JA", "description" => "Japanese"]
|
||||
];
|
||||
}
|
||||
|
||||
public static function rsaEncode($text) {
|
||||
$publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCXB8c44cboYsGG6IzISqxf8W7q3AN0mGmekDYpBWpz9udif+jwK6h7NuOZvFDeB/32TVrtvaGDmExCeBerpcoOvGh4eUXyke2lSLzrg7pc/wD0KproEGoAAFDB0Pr5bZhg6ELp3Sk++0MPyxH6u1pgtHDxEnMwXV8cxw/rSCM+wIDAQAB";
|
||||
$publicKey = "-----BEGIN PUBLIC KEY-----\n" . wordwrap($publicKey, 64, "\n", true) . "\n-----END PUBLIC KEY-----";
|
||||
openssl_public_encrypt($text, $encrypted, $publicKey, OPENSSL_PKCS1_PADDING);
|
||||
return base64_encode($encrypted);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ use dmstr\widgets\Alert;
|
|||
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right hidden-xs">
|
||||
<b><?php echo Yii::t("app", "PHIEN_BAN"); ?>: </b>
|
||||
<b>Version: </b>
|
||||
<?php
|
||||
$version = \app\models\SyncUrl::findOne(['key_config' => 'version']);
|
||||
echo $version ? $version->data : Yii::$app->params["version"];
|
||||
|
|
|
@ -38,68 +38,42 @@ use yii\widgets\ActiveForm;
|
|||
<ul class="nav navbar-nav">
|
||||
<li class="<?php if (Yii::$app->controller->id == "config") echo "active"; ?>">
|
||||
<a href="<?php echo yii\helpers\Url::to(['/config/cau-hinh-thiet-bi']); ?>">
|
||||
<i class="fa fa-cogs"></i> <?php echo Yii::t("app", "CAU_HINH"); ?>
|
||||
<i class="fa fa-cogs"></i> Cấu hình
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?php echo yii\helpers\Url::to(['/config/reset']); ?>" onclick="common.resetForm(this);return false;">
|
||||
<i class="fa fa-refresh"></i> <?php echo Yii::t("app", "RESET_THIET_BI"); ?>
|
||||
<i class="fa fa-refresh"></i> Reset thiết bị
|
||||
</a>
|
||||
</li>
|
||||
<li class="<?php if (Yii::$app->controller->id == "list-management") echo "active"; ?>">
|
||||
<a href="<?php echo yii\helpers\Url::to(['/list-management']); ?>">
|
||||
<i class="fa fa-list"></i> <?php echo Yii::t("app", "QUAN_LY_MAU"); ?>
|
||||
<i class="fa fa-list"></i> Quản lý mẫu
|
||||
</a>
|
||||
</li>
|
||||
<li class="<?php if (Yii::$app->controller->id == "capture-logs") echo "active"; ?>">
|
||||
<a href="<?php echo yii\helpers\Url::to(['/capture-logs']); ?>">
|
||||
<i class="fa fa-camera"></i> <?php echo Yii::t("app", "LICH_SU_HE_THONG"); ?>
|
||||
<i class="fa fa-camera"></i> Lịch sử hệ thống
|
||||
</a>
|
||||
</li>
|
||||
<li class="<?php if (Yii::$app->controller->id == "control-logs") echo "active"; ?>">
|
||||
<a href="<?php echo yii\helpers\Url::to(['/control-logs']); ?>">
|
||||
<i class="fa fa-database"></i> <?php echo Yii::t("app", "DANH_SACH_NHAN_DIEN"); ?>
|
||||
<i class="fa fa-database"></i> Danh sách nhận diện
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="navbar-custom-menu">
|
||||
<?php
|
||||
$languages = app\models\common::allLanguage();
|
||||
$currentLanguage = ["icon" => "vi.png", "name" => "vi-VI", "description" => "Tiếng Việt"];
|
||||
if (Yii::$app->session->get("language"))
|
||||
$currentLanguage = Yii::$app->session->get("language");
|
||||
else
|
||||
Yii::$app->session->set("language", $currentLanguage);
|
||||
?>
|
||||
<ul class="nav navbar-nav">
|
||||
<li class="dropdown notifications-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<img src="/images/lang/<?php echo $currentLanguage["icon"]; ?>" width="20px">
|
||||
</a>
|
||||
<ul class="dropdown-menu" style="width: 150px;">
|
||||
<li>
|
||||
<ul class="menu">
|
||||
<?php foreach ($languages as $key => $value) { ?>
|
||||
<li>
|
||||
<a href="<?php echo yii\helpers\Url::to(['/dashboard/change-language', 'lang' => $value['name']]); ?>" onclick="common.changeLanguage(this);return false;">
|
||||
<img src="/images/lang/<?php echo $value['icon']; ?>" width="20px"> <?php echo $value['description']; ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown user user-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<img src="<?php
|
||||
if (Yii::$app->user->isGuest) {
|
||||
echo $directoryAsset . "/img/user2-160x160.jpg";
|
||||
} else {
|
||||
echo Yii::$app->user->identity->user_image == null ? $directoryAsset . "/img/user2-160x160.jpg" : Yii::getAlias("@images_folder") . Yii::$app->user->identity->user_image;
|
||||
}
|
||||
?>" class="user-image user-avatar" alt="User Image"/>
|
||||
if (Yii::$app->user->isGuest) {
|
||||
echo $directoryAsset . "/img/user2-160x160.jpg";
|
||||
} else {
|
||||
echo Yii::$app->user->identity->user_image == null ? $directoryAsset . "/img/user2-160x160.jpg" : Yii::getAlias("@images_folder") . Yii::$app->user->identity->user_image;
|
||||
}
|
||||
?>" class="user-image user-avatar" alt="User Image"/>
|
||||
<span class="hidden-xs user-profiles-name">
|
||||
<?php
|
||||
if (Yii::$app->user->isGuest) {
|
||||
|
@ -116,26 +90,26 @@ use yii\widgets\ActiveForm;
|
|||
<div class="user-panel">
|
||||
<div class="pull-left image">
|
||||
<img src="<?php
|
||||
if (Yii::$app->user->isGuest) {
|
||||
echo $directoryAsset . "/img/user2-160x160.jpg";
|
||||
} else {
|
||||
echo Yii::$app->user->identity->user_image == null ? $directoryAsset . "/img/user2-160x160.jpg" : Yii::getAlias("@images_folder") . Yii::$app->user->identity->user_image;
|
||||
}
|
||||
?>" class="img-circle user-avatar">
|
||||
if (Yii::$app->user->isGuest) {
|
||||
echo $directoryAsset . "/img/user2-160x160.jpg";
|
||||
} else {
|
||||
echo Yii::$app->user->identity->user_image == null ? $directoryAsset . "/img/user2-160x160.jpg" : Yii::getAlias("@images_folder") . Yii::$app->user->identity->user_image;
|
||||
}
|
||||
?>" class="img-circle user-avatar">
|
||||
</div>
|
||||
<div class="pull-left info">
|
||||
<p style="color: #fff;" class="user-profiles-name"><?= Yii::$app->user->isGuest ? "" : \Yii::$app->user->identity->first_name; ?></p>
|
||||
<a href="#" style="color: #fff;"><i class="fa fa-circle text-success"></i> <?php echo Yii::t("app", "ONLINE"); ?></a>
|
||||
<a href="#" style="color: #fff;"><i class="fa fa-circle text-success"></i> <?php echo Yii::t("app", "Online"); ?></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="user-body" style="border:none">
|
||||
<ul style="list-style: none; padding: 0">
|
||||
<li><a class="text-bold" href="<?php echo yii\helpers\Url::to(['/user/profiles']); ?>"><i class="fa fa-user"></i> <?php echo Yii::t("app", "THONG_TIN_CA_NHAN"); ?></a></li>
|
||||
<li><a class="text-bold" href="<?php echo yii\helpers\Url::to(['/user/change-password']); ?>"><i class="fa fa-lock"></i> <?php echo Yii::t("app", "DOI_MAT_KHAU"); ?></a></li>
|
||||
<li><a class="text-bold" onclick="user.formInfo(this);return false;" href="<?php echo yii\helpers\Url::to(['/user/profiles']); ?>"><i class="fa fa-user"></i> <?php echo Yii::t("app", "Thông tin cá nhân"); ?></a></li>
|
||||
<li><a class="text-bold" onclick="user.formChangePassword(this);return false;" href="<?php echo yii\helpers\Url::to(['/user/change-password']); ?>"><i class="fa fa-lock"></i> <?php echo Yii::t("app", "Đổi mật khẩu"); ?></a></li>
|
||||
<li class="separator"><hr style="margin:0;padding:0"></li>
|
||||
<li>
|
||||
<a href="<?php echo yii\helpers\Url::to(["/site/logout"]); ?>" onclick="$(this).parent().find('form').submit();return false;"><i class="fa fa-sign-out"></i> <?php echo Yii::t("app", "DANG_XUAT"); ?></a>
|
||||
<a href="<?php echo yii\helpers\Url::to(["/site/logout"]); ?>" onclick="$(this).parent().find('form').submit();return false;"><i class="fa fa-sign-out"></i> <?php echo Yii::t("app", "Đăng xuất"); ?></a>
|
||||
<?php
|
||||
ActiveForm::begin([
|
||||
'action' => yii\helpers\Url::to(["/site/logout"]),
|
||||
|
@ -144,7 +118,7 @@ use yii\widgets\ActiveForm;
|
|||
]);
|
||||
?>
|
||||
<div class="pull-right">
|
||||
<button name="action" value="logout" class="btn btn-default btn-flat"><?php echo Yii::t("app", "DANG_XUAT"); ?></button>
|
||||
<button name="action" value="logout" class="btn btn-default btn-flat"><?php echo Yii::t("app", "Đăng xuất"); ?></button>
|
||||
</div>
|
||||
<?php ActiveForm::end(); ?>
|
||||
</li>
|
||||
|
|
|
@ -7,7 +7,7 @@ use yii\bootstrap\ActiveForm;
|
|||
/* @var $form yii\bootstrap\ActiveForm */
|
||||
/* @var $model \common\models\LoginForm */
|
||||
|
||||
$this->title = Yii::t("app", "DANG_NHAP");
|
||||
$this->title = 'Sign In';
|
||||
|
||||
$fieldOptions1 = [
|
||||
'options' => ['class' => 'form-group has-feedback'],
|
||||
|
@ -30,7 +30,7 @@ $fieldOptions2 = [
|
|||
</div>
|
||||
<!-- /.login-logo -->
|
||||
<div class="login-box-body">
|
||||
<p class="login-box-msg text-uppercase"><b><?php echo Yii::t("app", "DANG_NHAP"); ?></b></p>
|
||||
<p class="login-box-msg"><b>ĐĂNG NHẬP</b></p>
|
||||
|
||||
<?php $form = ActiveForm::begin(['id' => 'login-form', 'enableClientValidation' => false]); ?>
|
||||
|
||||
|
@ -38,50 +38,32 @@ $fieldOptions2 = [
|
|||
$form
|
||||
->field($model, 'username', $fieldOptions1)
|
||||
->label(false)
|
||||
->textInput(['placeholder' => Yii::t("app", "TEN_DANG_NHAP")])
|
||||
->textInput(['placeholder' => $model->getAttributeLabel('username')])
|
||||
?>
|
||||
|
||||
<?=
|
||||
$form
|
||||
->field($model, 'password', $fieldOptions2)
|
||||
->label(false)
|
||||
->passwordInput(['placeholder' => Yii::t("app", "MAT_KHAU")])
|
||||
->passwordInput(['placeholder' => $model->getAttributeLabel('password')])
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-7">
|
||||
<input type="hidden" value="<?php echo Yii::$app->request->get("lang"); ?>" name="lang">
|
||||
<?php
|
||||
$languages = app\models\common::allLanguage();
|
||||
$currentLanguage = ["icon" => "vi.png", "name" => "vi-VI", "description" => "Tiếng Việt"];
|
||||
foreach ($languages as $key => $value) {
|
||||
if ($value['name'] === Yii::$app->request->get('lang'))
|
||||
$currentLanguage = $value;
|
||||
}
|
||||
?>
|
||||
<div class="btn-group" id="card-picker">
|
||||
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
<img src="/images/lang/<?php echo $currentLanguage["icon"]; ?>" width="20px">
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
<?php foreach ($languages as $key => $value) { ?>
|
||||
<li>
|
||||
<a href="<?php echo yii\helpers\Url::to(['/dashboard/change-language-login', 'lang' => $value['name']]); ?>">
|
||||
<img src="/images/lang/<?php echo $value['icon']; ?>" width="20px"> <?php echo $value['description']; ?>
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?= $form->field($model, 'rememberMe')->checkbox() ?>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
<div class="col-xs-5">
|
||||
<?= Html::submitButton(Yii::t("app", "DANG_NHAP"), ['class' => 'btn btn-primary btn-block', 'name' => 'login-button']) ?>
|
||||
<?= Html::submitButton('Đăng nhập', ['class' => 'btn btn-primary btn-block', 'name' => 'login-button']) ?>
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
</div>
|
||||
|
||||
|
||||
<?php ActiveForm::end(); ?>
|
||||
<?php ActiveForm::end(); ?>
|
||||
|
||||
<a href="#">I forgot my password</a><br>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.login-box-body -->
|
||||
</div><!-- /.login-box -->
|
||||
|
|
|
@ -67,30 +67,30 @@
|
|||
])}
|
||||
</div>
|
||||
<div class="col-md-2" style="padding-right: 30px;">
|
||||
<h4>{Yii::t("app", "TIM_KIEM_DU_LIEU")}</h4>
|
||||
<h4>Tìm kiếm dữ liệu</h4>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "FROM")}</label>
|
||||
<label class="control-label">Từ</label>
|
||||
<input type="text" class="form-control datepicker" value="{$f|date_format:"H:i d/m/Y"}" name="From">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "TO")}</label>
|
||||
<label class="control-label">Đến</label>
|
||||
<input type="text" class="form-control datepicker" value="{$t|date_format:"H:i d/m/Y"}" name="To">
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-info" onclick="_search(this);" data-href="{Url::to(['/capture-logs'])}">
|
||||
<i class="fa fa-search"></i> {Yii::t("app", "TIM_KIEM")}
|
||||
<i class="fa fa-search"></i> Tìm kiếm
|
||||
</button>
|
||||
</div>
|
||||
<hr style="border-top: 1px solid #000;">
|
||||
<div>
|
||||
<input type="checkbox" name="AllData" style="width: inherit;" {if Yii::$app->request->get("all")}checked=""{/if}> {Yii::t("app", "HIEN_THI_TOAN_BO_DU_LIEU")}
|
||||
<input type="checkbox" name="AllData" style="width: inherit;" {if Yii::$app->request->get("all")}checked=""{/if}> Hiển thị toàn bộ dữ liệu
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 500px;position: absolute;right:0;top: 250px;" id='form' class="hidden">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading text-bold">
|
||||
{Yii::t("app", "QUAN_LY_MAU")}
|
||||
Quản lý mẫu
|
||||
<i class="fa fa-remove pull-right" style="cursor: pointer;" onclick="_close();"></i>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
@ -105,15 +105,16 @@
|
|||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "DANH_SACH")}</div>
|
||||
<div class="col-md-4 text-right">Danh sách</div>
|
||||
<div class="col-md-8">
|
||||
<select style="width: 100%;height: 26px;" name="Type">
|
||||
{html_options options=$typeArray}
|
||||
<option value="wl">White list</option>
|
||||
<option value="bl">Black list</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "ID")}</div>
|
||||
<div class="col-md-4 text-right">ID</div>
|
||||
<div class="col-md-8">
|
||||
<select name='Code' id='Code' onchange="chooseStaff(this);" data-href="{Url::to("/list-management/choose-staff")}">
|
||||
<option value=""></option>
|
||||
|
@ -122,39 +123,40 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "TEN")}</div>
|
||||
<div class="col-md-4 text-right">Tên</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="Name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "TEN_HIEN_THI")}</div>
|
||||
<div class="col-md-4 text-right">Tên hiển thị</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="AbbreviatedName">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "GIOI_TINH")}</div>
|
||||
<div class="col-md-4 text-right">Giới tính</div>
|
||||
<div class="col-md-8">
|
||||
<select style="width: 100%;height: 26px;" name="Gender">
|
||||
{html_options options=$genderArray}
|
||||
<option value="Male">Nam</option>
|
||||
<option value="Female">Nữ</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "NGAY_SINH")}</div>
|
||||
<div class="col-md-4 text-right">Ngày sinh</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="Birthday" id="birthday">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "DIEN_THOAI")}</div>
|
||||
<div class="col-md-4 text-right">Điện thoại</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="Telephone">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "DON_VI")}</div>
|
||||
<div class="col-md-4 text-right">Đơn vị</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="Address">
|
||||
</div>
|
||||
|
@ -163,8 +165,8 @@
|
|||
</div>
|
||||
<div class="text-center">
|
||||
<input type="hidden" value="" name="CaptureLogsID">
|
||||
<button onclick="_save(this);" data-href='{Url::to(["/list-management/create"])}'>{Yii::t("app", "LUU")}</button>
|
||||
<button onclick="_close();">{Yii::t("app", "HUY")}</button>
|
||||
<button onclick="_save(this);" data-href='{Url::to(["/list-management/create"])}'>Lưu</button>
|
||||
<button onclick="_close();">Hủy</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -148,23 +148,23 @@
|
|||
<div class="col-md-4 bg-grey mt-step-col">
|
||||
<div class="mt-step-number bg-white font-grey">1</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config/cau-hinh-thiet-bi'])}';">
|
||||
{Yii::t("app", "CAU_HINH_THIET_BI")}
|
||||
Cấu hình thiết bị
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "DEVICE_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Device config</div>
|
||||
</div>
|
||||
<div class="col-md-4 bg-grey mt-step-col">
|
||||
<div class="mt-step-number bg-white font-grey">2</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config'])}';">
|
||||
{Yii::t("app", "CAU_HINH_MAY_CHU")}
|
||||
Cấu hình máy chủ
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "SERVER_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Server config</div>
|
||||
</div>
|
||||
<div class="col-md-4 bg-grey mt-step-col active">
|
||||
<div class="mt-step-number bg-white font-grey">3</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config/cau-hinh-nhan-dien'])}';">
|
||||
{Yii::t("app", "CAU_HINH_NHAN_DIEN")}
|
||||
Cấu hình nhận diện
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "ENGINE_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Engine config</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -175,7 +175,7 @@
|
|||
<div class="col-md-6 col-md-push-1">
|
||||
{$config_json}
|
||||
<button style="position: fixed;left: 0;top: 170px;" class="btn btn-primary" onclick="saveStep2(this);" data-href="{Url::to(['/config/cau-hinh-nhan-dien'])}">
|
||||
<i class="fa fa-floppy-o"></i> {Yii::t("app", "LUU_LAI")}
|
||||
<i class="fa fa-floppy-o"></i> Lưu lại
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -22,23 +22,23 @@
|
|||
<div class="col-md-4 bg-grey mt-step-col active">
|
||||
<div class="mt-step-number bg-white font-grey">1</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config/cau-hinh-thiet-bi'])}';">
|
||||
{Yii::t("app", "CAU_HINH_THIET_BI")}
|
||||
Cấu hình thiết bị
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "DEVICE_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Device config</div>
|
||||
</div>
|
||||
<div class="col-md-4 bg-grey mt-step-col">
|
||||
<div class="mt-step-number bg-white font-grey">2</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config'])}';">
|
||||
{Yii::t("app", "CAU_HINH_MAY_CHU")}
|
||||
Cấu hình máy chủ
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "SERVER_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Server config</div>
|
||||
</div>
|
||||
<div class="col-md-4 bg-grey mt-step-col">
|
||||
<div class="mt-step-number bg-white font-grey">3</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config/cau-hinh-nhan-dien'])}';">
|
||||
{Yii::t("app", "CAU_HINH_NHAN_DIEN")}
|
||||
Cấu hình nhận diện
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "ENGINE_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Engine config</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -49,19 +49,19 @@
|
|||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">{Yii::t("app", "SERVER_API")}</div>
|
||||
<div class="input-group-addon">Server API</div>
|
||||
<input type="input" class="form-control" name="server_api" value="{$server_api->data|default:""}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">{Yii::t("app", "DEVICE_ID")}</div>
|
||||
<div class="input-group-addon">Device ID</div>
|
||||
<input type="input" class="form-control" name="device_id" value="{$device_id->data|default:""}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-primary" onclick="SaveConfigDevice(this);" data-href="{Url::to(['save-config'])}">
|
||||
<i class="fa fa-floppy-o"></i> {Yii::t("app", "LUU_LAI")}
|
||||
<i class="fa fa-floppy-o"></i> Lưu lại
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -22,23 +22,23 @@
|
|||
<div class="col-md-4 bg-grey mt-step-col">
|
||||
<div class="mt-step-number bg-white font-grey">1</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config/cau-hinh-thiet-bi'])}';">
|
||||
{Yii::t("app", "CAU_HINH_THIET_BI")}
|
||||
Cấu hình thiết bị
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "DEVICE_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Device config</div>
|
||||
</div>
|
||||
<div class="col-md-4 bg-grey mt-step-col active">
|
||||
<div class="mt-step-number bg-white font-grey">2</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config'])}';">
|
||||
{Yii::t("app", "CAU_HINH_MAY_CHU")}
|
||||
Cấu hình máy chủ
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "SERVER_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Server config</div>
|
||||
</div>
|
||||
<div class="col-md-4 bg-grey mt-step-col">
|
||||
<div class="mt-step-number bg-white font-grey">3</div>
|
||||
<div class="mt-step-title uppercase font-grey-cascade" style="cursor: pointer;" onclick="window.location = '{Url::to(['/config/cau-hinh-nhan-dien'])}';">
|
||||
{Yii::t("app", "CAU_HINH_NHAN_DIEN")}
|
||||
Cấu hình nhận diện
|
||||
</div>
|
||||
<div class="mt-step-content font-grey-cascade">{Yii::t("app", "ENGINE_CONFIG")}</div>
|
||||
<div class="mt-step-content font-grey-cascade">Engine config</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -49,19 +49,19 @@
|
|||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">{Yii::t("app", "SERVER_MQTT")}</div>
|
||||
<div class="input-group-addon">server_mqtt</div>
|
||||
<input type="input" class="form-control" name="servermqtt" value="{$servermqtt}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">{Yii::t("app", "URL")}</div>
|
||||
<div class="input-group-addon">url</div>
|
||||
<input type="input" class="form-control" name="url" value="{$url}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-primary" onclick="saveStep1(this);" data-href="{Url::to(['/config/cau-hinh-may-chu'])}">
|
||||
<i class="fa fa-floppy-o"></i> {Yii::t("app", "LUU_LAI")}
|
||||
<i class="fa fa-floppy-o"></i> Lưu lại
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
<div class="alert alert-danger hidden" id="reset-error">
|
||||
<i class="fa fa-info-circle"></i> {Yii::t("app", "RESET_THIET_BI_LOI")}
|
||||
</div>
|
||||
<div class="text-left">
|
||||
<input type="checkbox" name="DeleteDatabase" style="width: inherit;"> {Yii::t("app", "XOA_DU_LIEU_LUU_TRU_TRONG_THIET_BI")}
|
||||
<input type="checkbox" name="DeleteDatabase" checked="" style="width: inherit;"> Xóa dữ liệu lưu trữ trong thiết bị
|
||||
<br>
|
||||
<input type="checkbox" name="ResetDevice" style="width: inherit;"> {Yii::t("app", "RESET_CAU_HINH_THIET_BI")}
|
||||
<input type="checkbox" name="ResetDevice" checked="" style="width: inherit;"> Reset cấu hình thiết bị
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-danger" onclick="common.reset(this);" data-href="{yii\helpers\Url::to(['/config/reset'])}" id="reset-accept">
|
||||
{Yii::t("app", "DONG_Y")}
|
||||
<button class="btn btn-danger" onclick="common.reset(this);" data-href="{yii\helpers\Url::to(['/config/reset'])}">
|
||||
Đồng ý
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal" id="reset-close">{Yii::t("app", "HUY_BO")}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Hủy bỏ</button>
|
||||
</div>
|
|
@ -79,40 +79,40 @@
|
|||
])}
|
||||
</div>
|
||||
<div class="col-md-2" style="padding-right: 30px;">
|
||||
<h4>{Yii::t("app", "TIM_KIEM_DU_LIEU")}</h4>
|
||||
<h4>Tìm kiếm dữ liệu</h4>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "FROM")}</label>
|
||||
<label class="control-label">Từ</label>
|
||||
<input type="text" class="form-control datepicker" value="{$f|date_format:"H:i d/m/Y"}" name="From">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "TO")}</label>
|
||||
<label class="control-label">Đến</label>
|
||||
<input type="text" class="form-control datepicker" value="{$t|date_format:"H:i d/m/Y"}" name="To">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "ID")}</label>
|
||||
<label class="control-label">ID</label>
|
||||
<input type="text" class="form-control" value="{Yii::$app->request->get("id")}" name="IDSearch">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "TEN")}</label>
|
||||
<label class="control-label">Tên</label>
|
||||
<input type="text" class="form-control" value="{Yii::$app->request->get("name")}" name="NameSearch">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "LOAI")}</label>
|
||||
<label class="control-label">Loại</label>
|
||||
<select class="form-control" name="TypeSearch">
|
||||
<option value="all">{Yii::t("app", "TAT_CA")}</option>
|
||||
<option value="all">Tất cả</option>
|
||||
{html_options options=$typeArray selected=Yii::$app->request->get("type")}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "GIOI_TINH")}</label>
|
||||
<label class="control-label">Giới tính</label>
|
||||
<select class="form-control" name="GenderSearch">
|
||||
<option value="all">{Yii::t("app", "TAT_CA")}</option>
|
||||
<option value="all">Tất cả</option>
|
||||
{html_options options=$genderArray selected=Yii::$app->request->get("gender")}
|
||||
</select>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-info" onclick="_search(this);" data-href="{Url::to(['/control-logs'])}">
|
||||
<i class="fa fa-search"></i> {Yii::t("app", "TIM_KIEM")}
|
||||
<i class="fa fa-search"></i> Tìm kiếm
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<div style="margin-top: 20px;">
|
||||
<div>
|
||||
<a class="btn btn-success" href='{Url::to(['/dashboard/export'])}'>
|
||||
<i class="fa fa-download"></i> {Yii::t("app", "Xuất dữ liệu")}
|
||||
<i class="fa fa-download"></i> Xuất dữ liệu
|
||||
</a>
|
||||
</div>
|
||||
<br>
|
||||
|
|
|
@ -2,35 +2,6 @@
|
|||
{block name="content"}
|
||||
{/block}
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="HAY_NHAP_THONG_TIN" value="{Yii::t("app", "HAY_NHAP_THONG_TIN")}">
|
||||
<input type="hidden" name="BOX_CHUA_DUOC_DANG_KI_TREN_CMS" value="{Yii::t("app", "BOX_CHUA_DUOC_DANG_KI_TREN_CMS")}">
|
||||
<input type="hidden" name="DA_LUU_CAU_HINH" value="{Yii::t("app", "DA_LUU_CAU_HINH")}">
|
||||
<input type="hidden" name="LUU_CAU_HINH_THAT_BAI" value="{Yii::t("app", "LUU_CAU_HINH_THAT_BAI")}">
|
||||
<input type="hidden" name="HAY_LUA_CHON_THAO_TAC" value="{Yii::t("app", "HAY_LUA_CHON_THAO_TAC")}">
|
||||
<input type="hidden" name="DELETE_DB_CONFIRM" value="{Yii::t("app", "DELETE_DB_CONFIRM")}">
|
||||
<input type="hidden" name="RESET_DB_CONFIRM" value="{Yii::t("app", "RESET_DB_CONFIRM")}">
|
||||
<input type="hidden" name="HAY_CHON_DOI_TUONG" value="{Yii::t("app", "HAY_CHON_DOI_TUONG")}">
|
||||
<input type="hidden" name="HAY_NHAP_TEN" value="{Yii::t("app", "HAY_NHAP_TEN")}">
|
||||
<input type="hidden" name="HAY_NHAP_TEN_HIEN_THI" value="{Yii::t("app", "HAY_NHAP_TEN_HIEN_THI")}">
|
||||
<input type="hidden" name="CAP_NHAT_DU_LIEU_THANH_CONG" value="{Yii::t("app", "CAP_NHAT_DU_LIEU_THANH_CONG")}">
|
||||
<input type="hidden" name="MA_DOI_TUONG_DA_TON_TAI" value="{Yii::t("app", "MA_DOI_TUONG_DA_TON_TAI")}">
|
||||
<input type="hidden" name="DELETE_CONFIRM" value="{Yii::t("app", "DELETE_CONFIRM")}">
|
||||
<input type="hidden" name="HAY_CHON_DU_LIEU_DE_XOA" value="{Yii::t("app", "HAY_CHON_DU_LIEU_DE_XOA")}">
|
||||
<input type="hidden" name="DA_XOA_DU_LIEU" value="{Yii::t("app", "DA_XOA_DU_LIEU")}">
|
||||
<input type="hidden" name="CHON_HINH_ANH" value="{Yii::t("app", "CHON_HINH_ANH")}">
|
||||
<input type="hidden" name="HINH_ANH_KHONG_NHAN_DIEN_DUOC_KHUON_MAT" value="{Yii::t("app", "HINH_ANH_KHONG_NHAN_DIEN_DUOC_KHUON_MAT")}">
|
||||
<input type="hidden" name="HAY_TAI_LEN_HINH_ANH" value="{Yii::t("app", "HAY_TAI_LEN_HINH_ANH")}">
|
||||
<input type="hidden" name="HAY_NHAP_DIA_CHI_IP_DONG_BO" value="{Yii::t("app", "HAY_NHAP_DIA_CHI_IP_DONG_BO")}">
|
||||
<input type="hidden" name="SAI_DINH_DANG_IP" value="{Yii::t("app", "SAI_DINH_DANG_IP")}">
|
||||
<input type="hidden" name="TIM_KIEM_THEO_ID_HOAC_TEN" value="{Yii::t("app", "TIM_KIEM_THEO_ID_HOAC_TEN")}">
|
||||
<input type="hidden" name="KHONG_CO_KET_NOI_TOI_THIET_BI" value="{Yii::t("app", "KHONG_CO_KET_NOI_TOI_THIET_BI")}">
|
||||
<input type="hidden" name="KHONG_CO_DU_LIEU_DONG_BO" value="{Yii::t("app", "KHONG_CO_DU_LIEU_DONG_BO")}">
|
||||
<input type="hidden" name="DONG_BO_DU_LIEU_HOAN_THANH" value="{Yii::t("app", "DONG_BO_DU_LIEU_HOAN_THANH")}">
|
||||
<input type="hidden" name="DA_THEM_HINH_ANH_MAU" value="{Yii::t("app", "DA_THEM_HINH_ANH_MAU")}">
|
||||
<input type="hidden" name="CO_LOI_XAY_RA_HAY_THU_LAI" value="{Yii::t("app", "CO_LOI_XAY_RA_HAY_THU_LAI")}">
|
||||
<input type="hidden" name="ENGINE_KHONG_HOAT_DONG" value="{Yii::t("app", "ENGINE_KHONG_HOAT_DONG")}">
|
||||
|
||||
<div id="blocking" class="fade modal" role="dialog" tabindex="-1">
|
||||
<div class="modal-dialog" style="top: 50%;margin-top: -45px;">
|
||||
<div class="modal-content" style="background-color: transparent;box-shadow: none;">
|
||||
|
@ -38,7 +9,7 @@
|
|||
<div id='modelContent' class="text-center">
|
||||
<i class="fa fa-spinner fa-pulse fa-5x fa-fw" style="color: #fff;"></i>
|
||||
<br>
|
||||
<b style="color: #fff;font-size: 25px;">{Yii::t("app", "DANG_XU_LY")}</b>
|
||||
<b style="color: #fff;font-size: 25px;">Đang xử lý ...</b>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -68,7 +39,7 @@
|
|||
...
|
||||
</div>
|
||||
<div class="modal-footer" id='myModalFooter'>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> {Yii::t("app", "DONG_LAI")}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> Đóng lại</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -96,14 +67,14 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header" id="alertModalHeader" style="background-color: #ffcc66;color: green;">
|
||||
<h4 class="modal-title" id="alertModalLabel" style="color: #fff;">
|
||||
<span class="fa fa-info-circle"></span> <b>{Yii::t("app", "THONG_BAO")}</b>
|
||||
<span class="fa fa-info-circle"></span> <b>Thông báo</b>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body c-red" id="alertModalContent" style="font-weight: bold;">
|
||||
...
|
||||
</div>
|
||||
<div class="modal-footer" id="alertModalFooter">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> {Yii::t("app", "DONG_Y")}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> Đồng ý</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
])}
|
||||
</div>
|
||||
<div class="col-md-2" style="padding-right: 30px;">
|
||||
<h4>{Yii::t("app", "TIM_KIEM_DU_LIEU")}</h4>
|
||||
<h4>Tìm kiếm dữ liệu</h4>
|
||||
{*<div class="form-group">
|
||||
<label class="control-label">Từ</label>
|
||||
<input type="text" class="form-control datepicker" value="{$f|date_format:"H:i d/m/Y"}" name="From">
|
||||
|
@ -120,65 +120,65 @@
|
|||
<input type="text" class="form-control datepicker" value="{$t|date_format:"H:i d/m/Y"}" name="To">
|
||||
</div>*}
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "ID")}</label>
|
||||
<label class="control-label">ID</label>
|
||||
<input type="text" class="form-control" value="{Yii::$app->request->get("id")}" name="IDSearch">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "TEN")}</label>
|
||||
<label class="control-label">Tên</label>
|
||||
<input type="text" class="form-control" value="{Yii::$app->request->get("name")}" name="NameSearch">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "LOAI")}</label>
|
||||
<label class="control-label">Loại</label>
|
||||
<select class="form-control" name="TypeSearch">
|
||||
<option value="all">{Yii::t("app", "TAT_CA")}</option>
|
||||
<option value="all">Tất cả</option>
|
||||
{html_options options=$typeArray selected=Yii::$app->request->get("type")}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">{Yii::t("app", "GIOI_TINH")}</label>
|
||||
<label class="control-label">Giới tính</label>
|
||||
<select class="form-control" name="GenderSearch">
|
||||
<option value="all">{Yii::t("app", "TAT_CA")}</option>
|
||||
<option value="all">Tất cả</option>
|
||||
{html_options options=$genderArray selected=Yii::$app->request->get("gender")}
|
||||
</select>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-info" onclick="_search(this);" data-href="{Url::to(['/list-management'])}">
|
||||
<i class="fa fa-search"></i> {Yii::t("app", "TIM_KIEM")}
|
||||
<i class="fa fa-search"></i> Tìm kiếm
|
||||
</button>
|
||||
</div>
|
||||
<hr style="border-top: 1px solid #000;">
|
||||
<div>
|
||||
<input type="checkbox" name="BatchDelete" style="width: inherit;"> {Yii::t("app", "XOA_NHIEU_DU_LIEU")}
|
||||
<input type="checkbox" name="BatchDelete" style="width: inherit;"> Xóa nhiều dữ liệu
|
||||
<br>
|
||||
<div class="hidden" id="delete-btn-group">
|
||||
<div class="text-center">
|
||||
<button onclick="checkAll(true);">{Yii::t("app", "CHON_TOAN_BO_TRANG")}</button>
|
||||
<button onclick="checkAll(false);">{Yii::t("app", "BO_CHON")}</button>
|
||||
<button onclick="checkAll(true);">Chọn toàn bộ trang</button>
|
||||
<button onclick="checkAll(false);">Bỏ chọn</button>
|
||||
</div>
|
||||
<br>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-danger" onclick="batchDelete(this);" data-href="{Url::to(['/list-management/batch-delete'])}">{Yii::t("app", "XAC_NHAN_XOA")}</button>
|
||||
<button class="btn btn-danger" onclick="batchDelete(this);" data-href="{Url::to(['/list-management/batch-delete'])}">Xác nhận xóa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<hr style="border-top: 1px solid #000;">
|
||||
<h4>{Yii::t("app", "DONG_BO_VOI_MAY_CHU")}</h4>
|
||||
<h4>Đồng bộ với máy chủ</h4>
|
||||
<div class="text-center">
|
||||
{*<button class="btn btn-info" onclick="_form();">
|
||||
<i class="fa fa-plus-circle"></i> Thêm mới
|
||||
</button>*}
|
||||
<button class="btn btn-info btn-block" onclick="_syncFromServerForm(this);" data-href="{Url::to(['/list-management/sync-from-server'])}">
|
||||
<i class="fa fa-download"></i> {Yii::t("app", "DONG_BO_TU_MAY_CHU")}
|
||||
<i class="fa fa-download"></i> Đồng bộ từ máy chủ
|
||||
</button>
|
||||
<button class="btn btn-success btn-block" onclick="_syncToServerForm(this);" data-href="{Url::to(['/list-management/sync-to-server'])}">
|
||||
<i class="fa fa-upload"></i> {Yii::t("app", "DONG_BO_LEN_MAY_CHU")}
|
||||
<i class="fa fa-upload"></i> Đồng bộ lên máy chủ
|
||||
</button>
|
||||
</div>
|
||||
<hr style="border-top: 1px solid #000;">
|
||||
<h4>{Yii::t("app", "DONG_BO_TU_THIET_BI_KHAC")}</h4>
|
||||
<h4>Đồng bộ từ thiết bị khác</h4>
|
||||
<div class="form-group" id="ip">
|
||||
<div class="input-group">
|
||||
<input type="text" value="" class="form-control" name="SyncIP" placeholder="{Yii::t("app", "NHAP_IP_THIET_BI")}">
|
||||
<input type="text" value="" class="form-control" name="SyncIP" placeholder="Nhập ip thiết bị">
|
||||
<div class="input-group-btn">
|
||||
<button class="btn btn-info" onclick="_syncForm(this);" data-href="{Url::to(['form-sync'])}">
|
||||
<i class="fa fa-search"></i>
|
||||
|
@ -190,22 +190,22 @@
|
|||
<hr style="border-top: 1px solid #000;">
|
||||
<table class="table table-bordered" style="background: #fff;">
|
||||
<tr>
|
||||
<td>{Yii::t("app", "SO_NGUOI_CO_ANH_TREN_TONG")}</td>
|
||||
<td>Số người có ảnh / tổng</td>
|
||||
<td class="text-right" id="totalPeople">
|
||||
{*<b class="text-red">{$statistics.totalImg}</b>/<b>{$statistics.total}</b>*}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{Yii::t("app", "DAC_TRUNG_1")}</td>
|
||||
<td>Đặc trưng 1</td>
|
||||
<td class="text-right" id="total128">
|
||||
{* <b class="text-red">{$statistics.128}</b>/<b>{$statistics.img}</b>*}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{Yii::t("app", "DAC_TRUNG_2")}
|
||||
Đặc trưng 2
|
||||
{if $updating->data==="true"}
|
||||
<label class="label label-danger" id="updating-label">{Yii::t("app", "DANG_CAP_NHAT")}</label>
|
||||
<label class="label label-danger" id="updating-label">Đang cập nhật ...</label>
|
||||
{/if}
|
||||
</td>
|
||||
<td class="text-right" id="total512">
|
||||
|
@ -218,19 +218,19 @@
|
|||
<div style="width: 200px;position: absolute;" id="menu" class="hidden">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading text-bold">
|
||||
{Yii::t("app", "THAO_TAC")}
|
||||
Thao tác
|
||||
<i class="fa fa-remove pull-right" style="cursor: pointer;" onclick="_closeMenu();"></i>
|
||||
</div>
|
||||
<div class="panel-body text-center">
|
||||
<button onclick="_formModified(this);" data-href='{Url::to(["/list-management/form-update"])}'>{Yii::t("app", "SUA")}</button>
|
||||
<button onclick="_delete(this);" data-href="{Url::to(["/list-management/delete"])}">{Yii::t("app", "XOA")}</button>
|
||||
<button onclick="_formModified(this);" data-href='{Url::to(["/list-management/form-update"])}'>Sửa</button>
|
||||
<button onclick="_delete(this);" data-href="{Url::to(["/list-management/delete"])}">Xóa</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 500px;position: absolute;right:0;top: 250px;" id='form' class="hidden">
|
||||
<div class="panel panel-info">
|
||||
<div class="panel-heading text-bold">
|
||||
{Yii::t("app", "QUAN_LY_MAU")}
|
||||
Quản lý mẫu
|
||||
<i class="fa fa-remove pull-right" style="cursor: pointer;" onclick="_close();"></i>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
|
@ -245,7 +245,7 @@
|
|||
</div>
|
||||
<div class="col-md-8">
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "DANH_SACH")}</div>
|
||||
<div class="col-md-4 text-right">Danh sách</div>
|
||||
<div class="col-md-8">
|
||||
<select style="width: 100%;height: 26px;" name="Type">
|
||||
{html_options options=$typeArray}
|
||||
|
@ -253,7 +253,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row hidden">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "ID")}</div>
|
||||
<div class="col-md-4 text-right">ID</div>
|
||||
<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")}">
|
||||
<option value=""></option>
|
||||
|
@ -262,19 +262,19 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "TEN")}</div>
|
||||
<div class="col-md-4 text-right">Tên</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="Name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "TEN_HIEN_THI")}</div>
|
||||
<div class="col-md-4 text-right">Tên hiển thị</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="AbbreviatedName">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "GIOI_TINH")}</div>
|
||||
<div class="col-md-4 text-right">Giới tính</div>
|
||||
<div class="col-md-8">
|
||||
<select style="width: 100%;height: 26px;" name="Gender">
|
||||
{html_options options=$genderArray}
|
||||
|
@ -282,19 +282,19 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "NGAY_SINH")}</div>
|
||||
<div class="col-md-4 text-right">Ngày sinh</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="Birthday" id="birthday">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "DIEN_THOAI")}</div>
|
||||
<div class="col-md-4 text-right">Điện thoại</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="Telephone">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 text-right">{Yii::t("app", "DON_VI")}</div>
|
||||
<div class="col-md-4 text-right">Đơn vị</div>
|
||||
<div class="col-md-8">
|
||||
<input type="text" name="Address">
|
||||
</div>
|
||||
|
@ -303,8 +303,8 @@
|
|||
</div>
|
||||
<div class="text-center">
|
||||
<input type="hidden" value="" name="ListManagementID">
|
||||
<button onclick="_update(this);" data-href='{Url::to(["/list-management/update"])}' id="save-btn">{Yii::t("app", "LUU")}</button>
|
||||
<button onclick="_close();">{Yii::t("app", "HUY")}</button>
|
||||
<button onclick="_update(this);" data-href='{Url::to(["/list-management/update"])}' id="save-btn">Lưu</button>
|
||||
<button onclick="_close();">Hủy</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">{Yii::t("app" ,"TIM_KIEM")}</div>
|
||||
<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="{Yii::t("app", "HUY_BO_TIM_KIEM")}" onclick="removeFilters();">
|
||||
<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>
|
||||
|
@ -20,12 +20,12 @@
|
|||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{Yii::t("app", "ID")}</th>
|
||||
<th>{Yii::t("app", "TEN")}</th>
|
||||
<th>{Yii::t("app", "TEN_HIEN_THI")}</th>
|
||||
<th>{Yii::t("app", "DON_VI")}</th>
|
||||
<th>{Yii::t("app", "HINH_ANH_DANG_KI")}</th>
|
||||
<th>{Yii::t("app", "COMPANY_ID")}</th>
|
||||
<th>ID</th>
|
||||
<th>Tên</th>
|
||||
<th>Tên hiển thị</th>
|
||||
<th>Đơn vị</th>
|
||||
<th>Hình ảnh đăng kí</th>
|
||||
<th>Company ID</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="sync-lists">
|
||||
|
@ -59,11 +59,11 @@
|
|||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<i class="fa fa-info-circle"></i> {Yii::t("app", "DA_LUA_CHON_X_DOI_TUONG")}
|
||||
<i class="fa fa-info-circle"></i> Đã lựa chọn <b class="text-red" id="totals-choose">0</b> đối tượng.
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
<div class="hidden" id="progress-form">
|
||||
{Yii::t("app", "DONG_BO_X_Y_DOI_TUONG")}
|
||||
Đồng bộ <b id="progress-current" class="text-green">0</b>/<b id="progress-totals" class="text-red">0</b> đối tượng.
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-primary progress-bar-striped" id='progress' role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
|
||||
0%
|
||||
|
@ -73,17 +73,17 @@
|
|||
</div>
|
||||
<div class="col-md-5 text-right">
|
||||
<button class="btn btn-default btn-select" onclick="checkAllNotInList();">
|
||||
{Yii::t("app", "CHON_DOI_TUONG_CHUA_TON_TAI")}
|
||||
Chọn đối tượng chưa tồn tại
|
||||
</button>
|
||||
<button class="btn btn-default btn-select" onclick="checkAllSync(true);">
|
||||
{Yii::t("app", "CHON_TAT_CA")}
|
||||
Chọn tất cả
|
||||
</button>
|
||||
<button class="btn btn-default btn-select" onclick="checkAllSync(false);">
|
||||
{Yii::t("app", "BO_CHON_TAT_CA")}
|
||||
Bỏ chọn tất cả
|
||||
</button>
|
||||
<button class="btn btn-primary" onclick="_syncFromServer();">
|
||||
<i class="fa fa-refresh"></i> {Yii::t("app", "DONG_BO")}
|
||||
<i class="fa fa-refresh"></i> Đồng bộ
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> {Yii::t("app", "DONG_LAI")}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> Đóng lại</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">{Yii::t("app" ,"TIM_KIEM")}</div>
|
||||
<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="{Yii::t("app", "HUY_BO_TIM_KIEM")}" onclick="removeFilters();">
|
||||
<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>
|
||||
|
@ -20,14 +20,14 @@
|
|||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{Yii::t("app", "ID")}<</th>
|
||||
<th>{Yii::t("app", "TEN")}<</th>
|
||||
<th>{Yii::t("app", "TEN_HIEN_THI")}</th>
|
||||
<th>{Yii::t("app", "GIOI_TINH")}</th>
|
||||
<th>{Yii::t("app", "HINH_ANH_DANG_KI")}</th>
|
||||
<th>{Yii::t("app", "NGAY_SINH")}</th>
|
||||
<th>{Yii::t("app", "DIEN_THOAI")}</th>
|
||||
<th>{Yii::t("app", "DON_VI")}</th>
|
||||
<th>ID</th>
|
||||
<th>Tên</th>
|
||||
<th>Tên hiển thị</th>
|
||||
<th>Giới tính</th>
|
||||
<th>Hình ảnh đăng kí</th>
|
||||
<th>Ngày sinh</th>
|
||||
<th>Điện thoại</th>
|
||||
<th>Đơn vị</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="sync-lists">
|
||||
|
@ -56,11 +56,11 @@
|
|||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<i class="fa fa-info-circle"></i> {Yii::t("app", "DA_LUA_CHON_X_DOI_TUONG")}
|
||||
<i class="fa fa-info-circle"></i> Đã lựa chọn <b class="text-red" id="totals-choose">0</b> đối tượng.
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="hidden" id="progress-form">
|
||||
{Yii::t("app", "DONG_BO_X_Y_DOI_TUONG")}
|
||||
Đồng bộ <b id="progress-current" class="text-green">0</b>/<b id="progress-totals" class="text-red">0</b> đối tượng.
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-primary progress-bar-striped" id='progress' role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
|
||||
0%
|
||||
|
@ -70,14 +70,14 @@
|
|||
</div>
|
||||
<div class="col-md-4 text-right">
|
||||
<button class="btn btn-default btn-select" onclick="checkAllSync(true);">
|
||||
{Yii::t("app", "CHON_TAT_CA")}
|
||||
Chọn tất cả
|
||||
</button>
|
||||
<button class="btn btn-default btn-select" onclick="checkAllSync(false);">
|
||||
{Yii::t("app", "BO_CHON_TAT_CA")}
|
||||
Bỏ chọn tất cả
|
||||
</button>
|
||||
<button class="btn btn-primary" onclick="_syncToServer();">
|
||||
<i class="fa fa-refresh"></i> {Yii::t("app", "DONG_BO")}
|
||||
<i class="fa fa-refresh"></i> Đồng bộ
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> {Yii::t("app", "DONG_LAI")}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> Đóng lại</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
<div class="col-md-4">
|
||||
<div class="form-group">
|
||||
<div class="input-group">
|
||||
<div class="input-group-addon">{Yii::t("app" ,"TIM_KIEM")}</div>
|
||||
<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="{Yii::t("app", "HUY_BO_TIM_KIEM")}" onclick="removeFilters();">
|
||||
<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>
|
||||
|
@ -20,15 +20,15 @@
|
|||
<table class="table table-bordered table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{Yii::t("app", "ID")}</th>
|
||||
<th>{Yii::t("app", "LOAI")}</th>
|
||||
<th>{Yii::t("app", "TEN")}</th>
|
||||
<th>{Yii::t("app", "GIOI_TINH")}</th>
|
||||
<th>{Yii::t("app", "HINH_ANH_DANG_KI")}</th>
|
||||
<th>{Yii::t("app", "THOI_GIAN_DANG_KI")}</th>
|
||||
<th>{Yii::t("app", "NGAY_SINH")}</th>
|
||||
<th>{Yii::t("app", "DIEN_THOAI")}</th>
|
||||
<th>{Yii::t("app", "DON_VI")}</th>
|
||||
<th>ID</th>
|
||||
<th>Loại</th>
|
||||
<th>Tên</th>
|
||||
<th>Giới tính</th>
|
||||
<th>Hình ảnh đăng kí</th>
|
||||
<th>Thời gian đăng kí</th>
|
||||
<th>Ngày sinh</th>
|
||||
<th>Điện thoại</th>
|
||||
<th>Đơn vị</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="sync-lists">
|
||||
|
@ -58,11 +58,11 @@
|
|||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<i class="fa fa-info-circle"></i> {Yii::t("app", "DA_LUA_CHON_X_DOI_TUONG")}
|
||||
<i class="fa fa-info-circle"></i> Đã lựa chọn <b class="text-red" id="totals-choose">0</b> đối tượng.
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="hidden" id="progress-form">
|
||||
{Yii::t("app", "DONG_BO_X_Y_DOI_TUONG")}
|
||||
Đồng bộ <b id="progress-current" class="text-green">0</b>/<b id="progress-totals" class="text-red">0</b> đối tượng.
|
||||
<div class="progress">
|
||||
<div class="progress-bar progress-bar-primary progress-bar-striped" id='progress' role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 0%">
|
||||
0%
|
||||
|
@ -72,14 +72,14 @@
|
|||
</div>
|
||||
<div class="col-md-4 text-right">
|
||||
<button class="btn btn-default btn-select" onclick="checkAllSync(true);">
|
||||
{Yii::t("app", "CHON_TAT_CA")}
|
||||
Chọn tất cả
|
||||
</button>
|
||||
<button class="btn btn-default btn-select" onclick="checkAllSync(false);">
|
||||
{Yii::t("app", "BO_CHON_TAT_CA")}
|
||||
Bỏ chọn tất cả
|
||||
</button>
|
||||
<button class="btn btn-primary" onclick="_sync();">
|
||||
<i class="fa fa-refresh"></i> {Yii::t("app", "DONG_BO")}
|
||||
<i class="fa fa-refresh"></i> Đồng bộ
|
||||
</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> {Yii::t("app", "DONG_LAI")}</button>
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal"><span class="fa fa-remove"></span> Đóng lại</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -10,26 +10,26 @@
|
|||
<input type="hidden" value="{$model->password}" name="password">
|
||||
<div class="well" style="background: #fff;">
|
||||
<div class="form-group" id="old-password">
|
||||
<label class="control-label">{Yii::t("app", "MAT_KHAU_CU")}</label>
|
||||
<label class="control-label">Mật khẩu cũ</label>
|
||||
<input type="password" class="form-control" name="OldPassword">
|
||||
<span class="help-block hidden"></span>
|
||||
</div>
|
||||
<div class="form-group" id="new-password">
|
||||
<label class="control-label">{Yii::t("app", "MAT_KHAU_MOI")}</label>
|
||||
<label class="control-label">Mật khẩu mới</label>
|
||||
<input type="password" class="form-control" name="NewPassword">
|
||||
<span class="help-block hidden"></span>
|
||||
</div>
|
||||
<div class="form-group" id="re-new-password">
|
||||
<label class="control-label">{Yii::t("app", "NHAC_LAI_MAT_KHAU_MOI")}</label>
|
||||
<label class="control-label">Nhắc lại mật khẩu mới</label>
|
||||
<input type="password" class="form-control" name="ReNewPassword">
|
||||
<span class="help-block hidden"></span>
|
||||
</div>
|
||||
<div class="alert alert-success hidden" id='success' style="padding: 5px;">
|
||||
<i class="fa fa-check"></i> {Yii::t("app", "DOI_MAT_KHAU_THANH_CONG")}
|
||||
<i class="fa fa-check"></i> Đổi mật khẩu thành công!
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-primary" onclick="user.changePassword(this);" data-href="{Url::to(['/user/change-password','id'=>$model->id])}">
|
||||
<i class="fa fa-lock"></i> {Yii::t("app", "DOI_MAT_KHAU")}
|
||||
<i class="fa fa-lock"></i> Đổi mật khẩu
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -26,37 +26,37 @@
|
|||
</div>
|
||||
<br>
|
||||
<div class="form-group" id="username">
|
||||
<label class="control-label" for="user-username">{Yii::t("app", "TEN_DANG_NHAP")}</label>
|
||||
<label class="control-label" for="user-username">Tên đăng nhập</label>
|
||||
<input type="text" class="form-control" name="Username" readonly="" value="{$model->username}">
|
||||
<span class="help-block hidden"></span>
|
||||
</div>
|
||||
<div class="form-group" id="name">
|
||||
<label class="control-label" for="user-first-name">{Yii::t("app", "HO_TEN")}</label>
|
||||
<label class="control-label" for="user-first-name">Họ tên</label>
|
||||
<input type="text" class="form-control" name="Name" value="{$model->first_name}">
|
||||
<span class="help-block hidden"></span>
|
||||
</div>
|
||||
<div class="form-group" id="phone">
|
||||
<label class="control-label" for="user-phone-number">{Yii::t("app", "DIEN_THOAI")}</label>
|
||||
<label class="control-label" for="user-phone-number">Điện thoại</label>
|
||||
<input type="text" class="form-control" name="PhoneNumber" value="{$model->phone_number}">
|
||||
<span class="help-block hidden"></span>
|
||||
</div>
|
||||
<div class="form-group" id="email">
|
||||
<label class="control-label" for="user-email">{Yii::t("app", "EMAIL")}</label>
|
||||
<label class="control-label" for="user-email">Email</label>
|
||||
<input type="text" class="form-control" name="Email" value="{$model->email}">
|
||||
<span class="help-block hidden"></span>
|
||||
</div>
|
||||
<div class="form-group" id="roles">
|
||||
<label class="control-label" for="user-role">{Yii::t("app", "LOAI_NGUOI_DUNG")}</label>
|
||||
<label class="control-label" for="user-role">Loại người dùng</label>
|
||||
<br>
|
||||
{$model->roleName}
|
||||
</div>
|
||||
<hr>
|
||||
<div class="alert alert-success hidden" id='success' style="padding: 5px;">
|
||||
<i class="fa fa-check"></i> {Yii::t("app", "THONG_TIN_DA_DUOC_LUU_LAI")}
|
||||
<i class="fa fa-check"></i> Thông tin đã được lưu lại!
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<button class="btn btn-primary" onclick="user.saveInfo(this);" data-href="{Url::to(['/user/info','id'=>$model->id])}">
|
||||
<i class="fa fa-floppy-o"></i> {Yii::t("app", "LUU_LAI")}
|
||||
<i class="fa fa-floppy-o"></i> Lưu lại
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.5 KiB |
Binary file not shown.
Before Width: | Height: | Size: 6.0 KiB |
|
@ -2,7 +2,7 @@
|
|||
|
||||
// comment out the following two lines when deployed to production
|
||||
//defined('YII_DEBUG') or define('YII_DEBUG', true);
|
||||
//defined('YII_ENV') or define('YII_ENV', 'dev');
|
||||
//defined('YII_ENV') or define('YII_ENV', 'dev');
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
|
||||
|
|
|
@ -35,17 +35,17 @@ function _close() {
|
|||
function _save(e) {
|
||||
var code = $("select[name='Code']").val();
|
||||
if (code === "") {
|
||||
alert($("input[name='HAY_CHON_DOI_TUONG']").val());
|
||||
alert("Hãy chọn đối tượng!");
|
||||
return;
|
||||
}
|
||||
var name = $("input[name='Name']").val();
|
||||
if (name === "") {
|
||||
alert($("input[name='HAY_NHAP_TEN']").val());
|
||||
alert("Hãy nhập tên!");
|
||||
return;
|
||||
}
|
||||
var abbreviated_name = $("input[name='AbbreviatedName']").val();
|
||||
if (abbreviated_name === "") {
|
||||
alert($("input[name='HAY_NHAP_TEN_HIEN_THI']").val());
|
||||
alert("Hãy nhập tên hiển thị!");
|
||||
return;
|
||||
}
|
||||
common.modalBlock(true);
|
||||
|
@ -66,7 +66,7 @@ function _save(e) {
|
|||
success: function (data) {
|
||||
common.modalBlock(false);
|
||||
if (data.status) {
|
||||
alert($("input[name='CAP_NHAT_DU_LIEU_THANH_CONG']").val());
|
||||
alert("Đã thêm dữ liệu thành công!");
|
||||
window.location.reload(true);
|
||||
} else {
|
||||
alert(data.text);
|
||||
|
|
|
@ -155,7 +155,7 @@ common.modalAlert = function (text, cls, link) {
|
|||
}
|
||||
};
|
||||
common.ajaxError = function () {
|
||||
common.modalAlert($("input[name='CO_LOI_XAY_RA_HAY_THU_LAI']").val(), "danger", "");
|
||||
common.modalAlert("Có lỗi xảy ra, có thể do đường truyền mạng, xin vui lòng thử lại!", "danger", "");
|
||||
};
|
||||
common.btnUpload = function (mUrl, className, extension, fileSize) {
|
||||
var fData = {
|
||||
|
@ -310,14 +310,14 @@ common.reset = function (e) {
|
|||
if ($("input[name='ResetDevice']").is(':checked'))
|
||||
resetDevice = true;
|
||||
if (!deleteDB && !resetDevice) {
|
||||
alert($("input[name='HAY_LUA_CHON_THAO_TAC']").val());
|
||||
alert("Hãy lựa chọn thao tác!");
|
||||
return;
|
||||
}
|
||||
var confirmText = "";
|
||||
if (deleteDB)
|
||||
confirmText = $("input[name='DELETE_DB_CONFIRM']").val();
|
||||
confirmText = "Bạn có chắc chắn muốn xóa dữ liệu lưu trữ trong thiết bị không?";
|
||||
if (resetDevice)
|
||||
confirmText = $("input[name='RESET_DB_CONFIRM']").val();
|
||||
confirmText = "Bạn có chắc chắn muốn reset cấu hình thiết bị không?";
|
||||
if (confirm(confirmText)) {
|
||||
common.modalBlock(true);
|
||||
$.ajax({
|
||||
|
@ -328,14 +328,7 @@ common.reset = function (e) {
|
|||
resetDevice: resetDevice
|
||||
},
|
||||
success: function (data) {
|
||||
common.modalBlock(false);
|
||||
if (data.status)
|
||||
window.location = data.url;
|
||||
else {
|
||||
$("#reset-error").removeClass("hidden");
|
||||
$("#reset-close").addClass("hidden");
|
||||
$("#reset-accept").html(data.btnText);
|
||||
}
|
||||
window.location = data;
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
common.modalBlock(false);
|
||||
|
@ -349,17 +342,6 @@ common.validateIp = function (Ip) {
|
|||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
common.changeLanguage = function (e) {
|
||||
$.ajax({
|
||||
url: $(e).attr("href"),
|
||||
type: 'POST',
|
||||
success: function (data) {
|
||||
window.location.reload(true);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* =========================
|
||||
|
|
|
@ -4,12 +4,12 @@ $(function () {
|
|||
function saveStep1(e) {
|
||||
var servermqtt = $("input[name='servermqtt']").val();
|
||||
if (servermqtt === "") {
|
||||
alert($("input[name='HAY_NHAP_THONG_TIN']").val());
|
||||
alert("Hãy nhập thông tin!");
|
||||
return;
|
||||
}
|
||||
var url = $("input[name='url']").val();
|
||||
if (url === "") {
|
||||
alert($("input[name='HAY_NHAP_THONG_TIN']").val());
|
||||
alert("Hãy nhập thông tin!");
|
||||
return;
|
||||
}
|
||||
common.modalBlock(true);
|
||||
|
@ -34,7 +34,7 @@ function saveStep1(e) {
|
|||
if (data.text === "error") {
|
||||
c++;
|
||||
if (c == 5) {
|
||||
alert($("input[name='BOX_CHUA_DUOC_DANG_KI_TREN_CMS']").val());
|
||||
alert("Box chưa được đăng kí trên CMS!");
|
||||
window.location.reload(true);
|
||||
}
|
||||
} else {
|
||||
|
@ -75,10 +75,11 @@ function saveStep2(e) {
|
|||
config: cfg
|
||||
},
|
||||
success: function (data) {
|
||||
if (data)
|
||||
notification.success($("input[name='DA_LUU_CAU_HINH']").val(), 2000);
|
||||
else
|
||||
notification.success($("input[name='LUU_CAU_HINH_THAT_BAI']").val(), 2000);
|
||||
if (data) {
|
||||
notification.success("Đã lưu cấu hình!", 2000);
|
||||
} else {
|
||||
notification.success("Lưu cấu hình thất bại!", 2000);
|
||||
}
|
||||
common.modalBlock(false);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
|
@ -92,7 +93,7 @@ function SaveConfigDevice(e) {
|
|||
var server_api = $("input[name='server_api']").val();
|
||||
var device_id = $("input[name='device_id']").val();
|
||||
if (server_api === "" || device_id === "") {
|
||||
alert($("input[name='HAY_NHAP_THONG_TIN']").val());
|
||||
alert("Hãy nhập đủ thông tin");
|
||||
return;
|
||||
}
|
||||
common.modalBlock(true);
|
||||
|
@ -104,10 +105,11 @@ function SaveConfigDevice(e) {
|
|||
device_id: device_id
|
||||
},
|
||||
success: function (data) {
|
||||
if (data)
|
||||
notification.success($("input[name='DA_LUU_CAU_HINH']").val(), 2000);
|
||||
else
|
||||
notification.success($("input[name='LUU_CAU_HINH_THAT_BAI']").val(), 2000);
|
||||
if (data) {
|
||||
notification.success("Đã lưu cấu hình!", 2000);
|
||||
} else {
|
||||
notification.success("Lưu cấu hình thất bại!", 2000);
|
||||
}
|
||||
common.modalBlock(false);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
|
|
|
@ -22,7 +22,7 @@ function _useFeature(e) {
|
|||
success: function (data) {
|
||||
common.modalBlock(false);
|
||||
if (data.status) {
|
||||
alert($("input[name='DA_THEM_HINH_ANH_MAU']").val());
|
||||
alert("Đã thêm hình ảnh mẫu!");
|
||||
} else {
|
||||
alert(data.text);
|
||||
}
|
||||
|
|
|
@ -17,14 +17,7 @@ $(function () {
|
|||
btnImage();
|
||||
$("#Code").select2();
|
||||
getTotalFeature();
|
||||
setInterval(function () {
|
||||
var current = parseInt($("#current-512").html());
|
||||
var total = parseInt($("#total-512").html());
|
||||
if (current < total)
|
||||
getTotalFeature();
|
||||
}, 5000);
|
||||
});
|
||||
|
||||
function _search(e) {
|
||||
var location = $(e).attr("data-href"); // + "?from=" + $("input[name='From']").val() + "&to=" + $("input[name='To']").val();
|
||||
location = location + "?id=" + $("input[name='IDSearch']").val();
|
||||
|
@ -94,17 +87,17 @@ function _formModified(e) {
|
|||
function _update(e) {
|
||||
var code = $("select[name='Code']").val();
|
||||
if (code === "") {
|
||||
alert($("input[name='HAY_CHON_DOI_TUONG']").val());
|
||||
alert("Hãy chọn đối tượng!");
|
||||
return;
|
||||
}
|
||||
var name = $("input[name='Name']").val();
|
||||
if (name === "") {
|
||||
alert($("input[name='HAY_NHAP_TEN']").val());
|
||||
alert("Hãy nhập tên!");
|
||||
return;
|
||||
}
|
||||
var abbreviated_name = $("input[name='AbbreviatedName']").val();
|
||||
if (abbreviated_name === "") {
|
||||
alert($("input[name='HAY_NHAP_TEN_HIEN_THI']").val());
|
||||
alert("Hãy nhập tên hiển thị!");
|
||||
return;
|
||||
}
|
||||
common.modalBlock(true);
|
||||
|
@ -126,10 +119,10 @@ function _update(e) {
|
|||
success: function (data) {
|
||||
common.modalBlock(false);
|
||||
if (data) {
|
||||
alert($("input[name='CAP_NHAT_DU_LIEU_THANH_CONG']").val());
|
||||
alert("Cập nhật dữ liệu thành công!");
|
||||
window.location.reload(true);
|
||||
} else
|
||||
alert($("input[name='MA_DOI_TUONG_DA_TON_TAI']").val());
|
||||
alert("Mã đối tượng đã tồn tại!");
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
common.modalBlock(false);
|
||||
|
@ -139,7 +132,7 @@ function _update(e) {
|
|||
}
|
||||
|
||||
function _delete(e) {
|
||||
if (confirm($("input[name='DELETE_CONFIRM']").val())) {
|
||||
if (confirm("Bạn có chắc chắn muốn xóa không?")) {
|
||||
common.modalBlock(true);
|
||||
$.ajax({
|
||||
url: $(e).attr("data-href"),
|
||||
|
@ -159,7 +152,7 @@ function _delete(e) {
|
|||
}
|
||||
|
||||
function _deleteFeature(e) {
|
||||
if (confirm($("input[name='DELETE_CONFIRM']").val())) {
|
||||
if (confirm("Bạn có chắc chắn muốn xóa ảnh này không?")) {
|
||||
common.modalBlock(true);
|
||||
$.ajax({
|
||||
url: $(e).attr("data-href"),
|
||||
|
@ -190,7 +183,7 @@ function checkAll(status) {
|
|||
function batchDelete(e) {
|
||||
var check = $(".delete-choose");
|
||||
if (check.length == 0) {
|
||||
alert($("input[name='HAY_CHON_DU_LIEU_DE_XOA']").val());
|
||||
alert("Hãy chọn dữ liệu để xóa!");
|
||||
return;
|
||||
}
|
||||
var lists = [];
|
||||
|
@ -198,7 +191,7 @@ function batchDelete(e) {
|
|||
if ($(this).attr("data-id") !== "")
|
||||
lists.push($(this).attr("data-id"));
|
||||
});
|
||||
if (confirm($("input[name='DELETE_CONFIRM']").val())) {
|
||||
if (confirm("Bạn có chắc chắn muốn xóa không?")) {
|
||||
common.modalBlock(true);
|
||||
$.ajax({
|
||||
url: $(e).attr("data-href"),
|
||||
|
@ -207,7 +200,7 @@ function batchDelete(e) {
|
|||
lists: lists
|
||||
},
|
||||
success: function (data) {
|
||||
alert($("input[name='DA_XOA_DU_LIEU']").val());
|
||||
alert("Đã xóa dữ liệu!");
|
||||
window.location.reload(true);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
|
@ -246,7 +239,7 @@ function btnImage() {
|
|||
fileExtension: '.png,.jpg,.jpeg,.gif',
|
||||
fileSizeLimit: 1,
|
||||
classes: 'btn btn-default btn-xs',
|
||||
fakeInputContent: '<span class=\'fa fa-file-image-o\'></span> ' + $("input[name='CHON_HINH_ANH']").val(),
|
||||
fakeInputContent: '<span class=\'fa fa-file-image-o\'></span> Chọn hình ảnh',
|
||||
onUploaded: function (data) {
|
||||
var res = JSON.parse(data);
|
||||
if (res.status) {
|
||||
|
@ -254,7 +247,7 @@ function btnImage() {
|
|||
$("input[name='AnhNhanVienUrl']").val(res.url);
|
||||
common.uploadBlock(false);
|
||||
} else {
|
||||
alert($("input[name='HINH_ANH_KHONG_NHAN_DIEN_DUOC_KHUON_MAT']").val());
|
||||
alert("Hình ảnh không nhận diện được khuôn mặt");
|
||||
}
|
||||
}
|
||||
}).addInstance('AnhNhanVien');
|
||||
|
@ -263,17 +256,17 @@ function btnImage() {
|
|||
function _create(e) {
|
||||
var code = $("select[name='Code']").val();
|
||||
if (code === "") {
|
||||
alert($("input[name='HAY_CHON_DOI_TUONG']").val());
|
||||
alert("Hãy chọn đối tượng!");
|
||||
return;
|
||||
}
|
||||
var name = $("input[name='Name']").val();
|
||||
if (name === "") {
|
||||
alert($("input[name='HAY_NHAP_TEN']").val());
|
||||
alert("Hãy nhập tên!");
|
||||
return;
|
||||
}
|
||||
var image = $("input[name='AnhNhanVienUrl']").val();
|
||||
if (image === "") {
|
||||
alert($("input[name='HAY_TAI_LEN_HINH_ANH']").val());
|
||||
alert("Hãy tải lên hình ảnh");
|
||||
return;
|
||||
}
|
||||
common.modalBlock(true);
|
||||
|
@ -293,10 +286,10 @@ function _create(e) {
|
|||
success: function (data) {
|
||||
common.modalBlock(false);
|
||||
if (data.status) {
|
||||
alert($("input[name='CAP_NHAT_DU_LIEU_THANH_CONG']").val());
|
||||
alert("Cập nhật dữ liệu thành công!");
|
||||
window.location.reload(true);
|
||||
} else
|
||||
alert($("input[name='MA_DOI_TUONG_DA_TON_TAI']").val());
|
||||
alert("Mã đối tượng đã tồn tại!");
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
common.modalBlock(false);
|
||||
|
@ -308,11 +301,11 @@ function _create(e) {
|
|||
function _syncForm(e) {
|
||||
var ip = $("input[name='SyncIP']").val();
|
||||
if (ip === "") {
|
||||
common.error("ip", $("input[name='HAY_NHAP_DIA_CHI_IP_DONG_BO']").val());
|
||||
common.error("ip", "Hãy nhập địa chỉ ip thiết bị muốn đồng bộ");
|
||||
return;
|
||||
}
|
||||
if (!common.validateIp(ip)) {
|
||||
common.error("ip", $("input[name='SAI_DINH_DANG_IP']").val());
|
||||
common.error("ip", "Sai định dạng ip");
|
||||
return;
|
||||
}
|
||||
common.success("ip");
|
||||
|
@ -327,12 +320,12 @@ function _syncForm(e) {
|
|||
common.modalBlock(false);
|
||||
common.modalOpenFullScreen(data.form, data.title);
|
||||
$("#filter-from-server").select2({
|
||||
placeholder: $("input[name='TIM_KIEM_THEO_ID_HOAC_TEN']").val()
|
||||
placeholder: "Tìm kiếm theo ID hoặc tên"
|
||||
});
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
common.modalBlock(false);
|
||||
alert($("input[name='KHONG_CO_KET_NOI_TOI_THIET_BI']").val());
|
||||
alert("Không có kết nối tới thiết bị");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -374,7 +367,7 @@ function _sync() {
|
|||
lists.push($(this).attr("data-id"));
|
||||
});
|
||||
if (lists.length == 0) {
|
||||
alert($("input[name='KHONG_CO_DU_LIEU_DONG_BO']").val());
|
||||
alert("Không có dữ liệu đồng bộ!");
|
||||
return;
|
||||
}
|
||||
common.modalBlock(true);
|
||||
|
@ -415,7 +408,7 @@ function syncFeatureFromDevice(id, fullData) {
|
|||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
common.modalBlock(false);
|
||||
alert($("input[name='KHONG_CO_KET_NOI_TOI_THIET_BI']").val());
|
||||
alert("Mất kết nối tới thiết bị");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -429,7 +422,7 @@ function _syncFromServerForm(e) {
|
|||
common.modalBlock(false);
|
||||
common.modalOpenFullScreen(data.form, data.title);
|
||||
$("#filter-from-server").select2({
|
||||
placeholder: $("input[name='TIM_KIEM_THEO_ID_HOAC_TEN']").val()
|
||||
placeholder: "Tìm kiếm theo ID hoặc tên"
|
||||
});
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
|
@ -446,7 +439,7 @@ function _syncFromServer() {
|
|||
lists.push(JSON.parse($("#full-data-" + id).html()));
|
||||
});
|
||||
if (lists.length == 0) {
|
||||
alert($("input[name='KHONG_CO_DU_LIEU_DONG_BO']").val());
|
||||
alert("Không có dữ liệu đồng bộ!");
|
||||
return;
|
||||
}
|
||||
common.modalBlock(true);
|
||||
|
@ -465,11 +458,6 @@ function syncFeature(id, fullData) {
|
|||
totals: totals
|
||||
},
|
||||
success: function (data) {
|
||||
if (!data) {
|
||||
common.modalBlock(false);
|
||||
common.modalAlert($("input[name='ENGINE_KHONG_HOAT_DONG']").val(), "danger", "");
|
||||
return;
|
||||
}
|
||||
console.log(data, progress);
|
||||
progress++;
|
||||
$("#progress-current").html(parseInt($("#progress-current").html()) + 1);
|
||||
|
@ -538,7 +526,7 @@ function _syncToServerForm(e) {
|
|||
common.modalBlock(false);
|
||||
common.modalOpenFullScreen(data.form, data.title);
|
||||
$("#filter-from-server").select2({
|
||||
placeholder: $("input[name='TIM_KIEM_THEO_ID_HOAC_TEN']").val()
|
||||
placeholder: "Tìm kiếm theo ID hoặc tên"
|
||||
});
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
|
@ -556,7 +544,7 @@ function _syncToServer() {
|
|||
lists.push($(this).attr("data-id"));
|
||||
});
|
||||
if (lists.length == 0) {
|
||||
alert($("input[name='KHONG_CO_DU_LIEU_DONG_BO']").val());
|
||||
alert("Không có dữ liệu đồng bộ!");
|
||||
return;
|
||||
}
|
||||
common.modalBlock(true);
|
||||
|
@ -588,7 +576,7 @@ function syncFeatureToServer(id, fullData) {
|
|||
if (percent >= 100) {
|
||||
common.modalBlock(false);
|
||||
setTimeout(function () {
|
||||
alert($("input[name='DONG_BO_DU_LIEU_HOAN_THANH']").val());
|
||||
alert("Đồng bộ dữ liệu hoàn thành");
|
||||
window.location.reload(true);
|
||||
}, 2000)
|
||||
} else {
|
||||
|
@ -630,7 +618,7 @@ function getTotalFeature() {
|
|||
console.log(data);
|
||||
$("#totalPeople").html(`<b class="text-red">` + data.statistics.totalImg + `</b>/<b>` + data.statistics.total + `</b>`);
|
||||
$("#total128").html(`<b class="text-red">` + data.statistics["128"] + `</b>/<b>` + data.statistics.img + `</b>`);
|
||||
$("#total512").html(`<b class="text-red" id="current-512">` + data.statistics["512"] + `</b>/<b id="total-512">` + data.statistics.img + `</b>`);
|
||||
$("#total512").html(`<b class="text-red">` + data.statistics["512"] + `</b>/<b>` + data.statistics.img + `</b>`);
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user