dbms_init...1

This commit is contained in:
최준흠 2025-06-09 11:46:37 +09:00
parent 1381aef94a
commit 9711cf7f50
18 changed files with 142 additions and 130 deletions

View File

@ -71,11 +71,10 @@ abstract class CustomerController extends AdminController
} }
return $this->_equipmentService[$key]; return $this->_equipmentService[$key];
} }
protected function getFormFieldOption(string $field): array protected function getFormFieldOption(string $field, array $options = []): array
{ {
switch ($field) { switch ($field) {
case 'clientinfo_uid': case 'clientinfo_uid':
$options = [];
foreach ($this->getClientService()->getEntities() as $entity) { foreach ($this->getClientService()->getEntities() as $entity) {
$options[$entity->getPK()] = $entity->getTitle(); $options[$entity->getPK()] = $entity->getTitle();
} }
@ -89,14 +88,12 @@ abstract class CustomerController extends AdminController
case 'DEFENCE': case 'DEFENCE':
case 'SOFTWARE': case 'SOFTWARE':
case 'DOMAIN': case 'DOMAIN':
$options = [];
// throw new \Exception(__FUNCTION__ . "에서 item_type이 지정되지 않았습니다.->{$item_type}");
foreach ($this->getEquipmentService($field)->getEntities() as $entity) { foreach ($this->getEquipmentService($field)->getEntities() as $entity) {
$options[$entity->getPK()] = $entity->getTitle(); $options[$entity->getPK()] = $entity->getTitle();
} }
break; break;
default: default:
$options = parent::getFormFieldOption($field); $options = parent::getFormFieldOption($field, $options);
break; break;
} }
return $options; return $options;

View File

@ -24,6 +24,7 @@ class ServiceItemController extends CustomerController
// $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR; // $this->view_path .= strtolower($this->getService()->getClassName()) . DIRECTORY_SEPARATOR;
} }
public function getService(): ServiceItemService public function getService(): ServiceItemService
{ {
if (!$this->_service) { if (!$this->_service) {
@ -46,30 +47,24 @@ class ServiceItemController extends CustomerController
return $this->_serviceService; return $this->_serviceService;
} }
protected function getFormFieldOption(string $field): array protected function getFormFieldOption(string $field, array $options = []): array
{ {
switch ($field) { switch ($field) {
case 'serviceinfo_uid': case 'serviceinfo_uid':
$temps = [];
foreach ($this->getServiceService()->getEntities() as $entity) { foreach ($this->getServiceService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle(); $options[$entity->getPK()] = $entity->getTitle();
} }
$options[$field] = $temps;
break; break;
case 'item_uid': case 'item_uid':
$temps = [];
$item_type = $this->request->getVar('item_type'); $item_type = $this->request->getVar('item_type');
if (!$item_type) { if (!$item_type) {
throw new \Exception(__FUNCTION__ . "에서 item_type이 지정되지 않았습니다."); throw new \Exception(__FUNCTION__ . "에서 item_type이 지정되지 않았습니다.");
} }
// throw new \Exception(__FUNCTION__ . "에서 item_type이 지정되지 않았습니다.->{$item_type}"); //CustomerController에서 선언된 getFormFieldOption사용 됨
foreach ($this->getEquipmentService($item_type)->getEntities() as $entity) { $options = parent::getFormFieldOption($item_type, $options);
$temps[$entity->getPK()] = $entity->getTitle();
}
$options[$field] = $temps;
break; break;
default: default:
$options = parent::getFormFieldOption($field); $options = parent::getFormFieldOption($field, $options);
break; break;
} }
return $options; return $options;

View File

@ -23,18 +23,16 @@ abstract class EquipmentController extends AdminController
return $this->_clientService; return $this->_clientService;
} }
//Index,FieldForm관련 //Index,FieldForm관련
protected function getFormFieldOption(string $field): array protected function getFormFieldOption(string $field, array $options = []): array
{ {
switch ($field) { switch ($field) {
case 'clientinfo_uid': case 'clientinfo_uid':
$temps = [];
foreach ($this->getClientService()->getEntities() as $entity) { foreach ($this->getClientService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle(); $options[$entity->getPK()] = $entity->getTitle();
} }
$options[$field] = $temps;
break; break;
default: default:
$options = parent::getFormFieldOption($field); $options = parent::getFormFieldOption($field, $options);
break; break;
} }
return $options; return $options;

View File

@ -44,18 +44,16 @@ class IpController extends PartController
} }
return $this->_lineService; return $this->_lineService;
} }
protected function getFormFieldOption(string $field): array protected function getFormFieldOption(string $field, $options = []): array
{ {
switch ($field) { switch ($field) {
case 'lineinfo_uid': case 'lineinfo_uid':
$temps = [];
foreach ($this->getLineService()->getEntities() as $entity) { foreach ($this->getLineService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle(); $options[$entity->getPK()] = $entity->getTitle();
} }
$options[$field] = $temps;
break; break;
default: default:
$options = parent::getFormFieldOption($field); $options = parent::getFormFieldOption($field, $options);
break; break;
} }
return $options; return $options;

View File

@ -14,18 +14,16 @@ abstract class PartController extends EquipmentController
{ {
parent::initController($request, $response, $logger); parent::initController($request, $response, $logger);
} }
protected function getFormFieldOption(string $field): array protected function getFormFieldOption(string $field, array $options = []): array
{ {
switch ($field) { switch ($field) {
case 'clientinfo_uid': case 'clientinfo_uid':
$temps = [];
foreach ($this->getClientService()->getEntities() as $entity) { foreach ($this->getClientService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle(); $options[$entity->getPK()] = $entity->getTitle();
} }
$options[$field] = $temps;
break; break;
default: default:
$options = parent::getFormFieldOption($field); $options = parent::getFormFieldOption($field, $options);
break; break;
} }
return $options; return $options;

View File

@ -46,18 +46,16 @@ class MyLogController extends AdminController
return $this->_userService; return $this->_userService;
} }
//Index,FieldForm관련 //Index,FieldForm관련
protected function getFormFieldOption(string $field): array protected function getFormFieldOption(string $field, array $options = []): array
{ {
switch ($field) { switch ($field) {
case 'user_uid': case 'user_uid':
$temps = [];
foreach ($this->getUserService()->getEntities() as $entity) { foreach ($this->getUserService()->getEntities() as $entity) {
$temps[$entity->getPK()] = $entity->getTitle(); $options[$entity->getPK()] = $entity->getTitle();
} }
$options = $temps;
break; break;
default: default:
$options = parent::getFormFieldOption($field); $options = parent::getFormFieldOption($field . $options);
break; break;
} }
return $options; return $options;

View File

@ -179,7 +179,7 @@ abstract class CommonController extends BaseController
} }
return $rule; return $rule;
} }
protected function getFormFieldOption(string $field): array protected function getFormFieldOption(string $field, array $options = []): array
{ {
switch ($field) { switch ($field) {
default: default:
@ -189,7 +189,6 @@ abstract class CommonController extends BaseController
if (!is_array($options)) { if (!is_array($options)) {
throw new \Exception(__FUNCTION__ . "에서 field의 options 값이 array가 아닙니다.\n" . var_export($options, true)); throw new \Exception(__FUNCTION__ . "에서 field의 options 값이 array가 아닙니다.\n" . var_export($options, true));
} }
// dd($options);
return $options; return $options;
} }
protected function setValidation(Validation $validation, string $field, string $rule): Validation protected function setValidation(Validation $validation, string $field, string $rule): Validation

File diff suppressed because one or more lines are too long

View File

@ -4,9 +4,9 @@
"settings": { "settings": {
"width": 3000, "width": 3000,
"height": 3000, "height": 3000,
"scrollTop": -1225.2786, "scrollTop": -1102.0309,
"scrollLeft": -419.3704, "scrollLeft": -743.6028,
"zoomLevel": 0.76, "zoomLevel": 0.82,
"show": 511, "show": 511,
"database": 4, "database": 4,
"databaseName": "", "databaseName": "",
@ -244,15 +244,15 @@
"AlvBDBVGfLoVcNjd__kFZ" "AlvBDBVGfLoVcNjd__kFZ"
], ],
"ui": { "ui": {
"x": 1698.5505, "x": 1699.7701,
"y": 1429.6758, "y": 1476.0173,
"zIndex": 2, "zIndex": 2,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 60,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1749015086720, "updateAt": 1749435456344,
"createAt": 1745819764137 "createAt": 1745819764137
} }
}, },
@ -283,15 +283,15 @@
"8ZPjmeG3NoO6C0icGibJP" "8ZPjmeG3NoO6C0icGibJP"
], ],
"ui": { "ui": {
"x": 160.0246, "x": 957.9838,
"y": 2080.502, "y": 1802.951,
"zIndex": 2, "zIndex": 2,
"widthName": 68, "widthName": 68,
"widthComment": 89, "widthComment": 89,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1749008110893, "updateAt": 1749435425211,
"createAt": 1745819764138 "createAt": 1745819764138
} }
}, },
@ -586,15 +586,15 @@
"pzEFysMFfI2J8uB8YHXxA" "pzEFysMFfI2J8uB8YHXxA"
], ],
"ui": { "ui": {
"x": 165.71, "x": 1716.7304,
"y": 2405.2704, "y": 1776.6989,
"zIndex": 796, "zIndex": 796,
"widthName": 64, "widthName": 64,
"widthComment": 71, "widthComment": 71,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1749008115517, "updateAt": 1749435428160,
"createAt": 1747374666215 "createAt": 1747374666215
} }
}, },
@ -791,9 +791,11 @@
"columnIds": [ "columnIds": [
"N_yJVoCN4oUEDhYqdzApb", "N_yJVoCN4oUEDhYqdzApb",
"NzxkmndrTbH7xb6fbnGV7", "NzxkmndrTbH7xb6fbnGV7",
"_UFwKNcesG423815BIYBi", "SGWWOOHjCF81V4O5tUiJu",
"Gb6fmS40Q3wvnvD1HMTqR",
"uuDbJDSDQLey7Km1W9hlJ", "uuDbJDSDQLey7Km1W9hlJ",
"Gb6fmS40Q3wvnvD1HMTqR",
"_UFwKNcesG423815BIYBi",
"RpyPtXKwtu3XFr5BM61TA",
"FJtEzmrQUsMMbrWbzr8IR", "FJtEzmrQUsMMbrWbzr8IR",
"hQ5EOPiUpDbVpWQwawtw4", "hQ5EOPiUpDbVpWQwawtw4",
"9o7wfPp7WK2nZoxkDZ9Y1", "9o7wfPp7WK2nZoxkDZ9Y1",
@ -814,9 +816,11 @@
"VEOHJafcl0c6ihDwJXFEN", "VEOHJafcl0c6ihDwJXFEN",
"GLfHynBuy8Bzby9_5oRkq", "GLfHynBuy8Bzby9_5oRkq",
"Fx2k158yi9P2l5An09ae1", "Fx2k158yi9P2l5An09ae1",
"_UFwKNcesG423815BIYBi", "SGWWOOHjCF81V4O5tUiJu",
"Gb6fmS40Q3wvnvD1HMTqR",
"uuDbJDSDQLey7Km1W9hlJ", "uuDbJDSDQLey7Km1W9hlJ",
"Gb6fmS40Q3wvnvD1HMTqR",
"_UFwKNcesG423815BIYBi",
"RpyPtXKwtu3XFr5BM61TA",
"FJtEzmrQUsMMbrWbzr8IR", "FJtEzmrQUsMMbrWbzr8IR",
"hQ5EOPiUpDbVpWQwawtw4", "hQ5EOPiUpDbVpWQwawtw4",
"9o7wfPp7WK2nZoxkDZ9Y1", "9o7wfPp7WK2nZoxkDZ9Y1",
@ -828,14 +832,14 @@
], ],
"ui": { "ui": {
"x": 934.3741, "x": 934.3741,
"y": 1070.1363, "y": 1028.673,
"zIndex": 2395, "zIndex": 2395,
"widthName": 60, "widthName": 60,
"widthComment": 62, "widthComment": 62,
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1749083403230, "updateAt": 1749436036873,
"createAt": 1748485662214 "createAt": 1748485662214
} }
}, },
@ -885,7 +889,6 @@
"columnIds": [ "columnIds": [
"goZoW_pUw3n5ZLMQzWgFd", "goZoW_pUw3n5ZLMQzWgFd",
"TerqekzImISduE6ewW1b5", "TerqekzImISduE6ewW1b5",
"RdC0qfV8xczStXW9cLOe8",
"NfZNTuHX_ZzyIuhI7DTJE", "NfZNTuHX_ZzyIuhI7DTJE",
"Yoi_Exlpp4kDz8xumGHgZ", "Yoi_Exlpp4kDz8xumGHgZ",
"5OcpSdnrgDxZ9eZ7_pQr9", "5OcpSdnrgDxZ9eZ7_pQr9",
@ -922,28 +925,9 @@
"color": "" "color": ""
}, },
"meta": { "meta": {
"updateAt": 1749083388529, "updateAt": 1749435563253,
"createAt": 1748507247933 "createAt": 1748507247933
} }
},
"AGzDxujSx1KebEyWD3U-K": {
"id": "AGzDxujSx1KebEyWD3U-K",
"name": "serverinfo_items",
"comment": "서버",
"columnIds": [],
"seqColumnIds": [],
"ui": {
"x": 1033.8628,
"y": 1881.8377,
"zIndex": 2538,
"widthName": 88,
"widthComment": 60,
"color": ""
},
"meta": {
"updateAt": 1748826312620,
"createAt": 1748826277019
}
} }
}, },
"tableColumnEntities": { "tableColumnEntities": {
@ -6371,7 +6355,7 @@
"id": "Gb6fmS40Q3wvnvD1HMTqR", "id": "Gb6fmS40Q3wvnvD1HMTqR",
"tableId": "B8haiEbPc1lRBWTv1g25G", "tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "location", "name": "location",
"comment": "", "comment": "지역코드",
"dataType": "VARCHAR(20)", "dataType": "VARCHAR(20)",
"default": "", "default": "",
"options": 0, "options": 0,
@ -6383,7 +6367,7 @@
"widthDefault": 60 "widthDefault": 60
}, },
"meta": { "meta": {
"updateAt": 1748831006481, "updateAt": 1749436007741,
"createAt": 1748828139083 "createAt": 1748828139083
} }
}, },
@ -6391,19 +6375,19 @@
"id": "uuDbJDSDQLey7Km1W9hlJ", "id": "uuDbJDSDQLey7Km1W9hlJ",
"tableId": "B8haiEbPc1lRBWTv1g25G", "tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "type", "name": "type",
"comment": "", "comment": "서비스형식",
"dataType": "VARCHAR(20)", "dataType": "VARCHAR(20)",
"default": "", "default": "",
"options": 8, "options": 8,
"ui": { "ui": {
"keys": 0, "keys": 0,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 62,
"widthDataType": 75, "widthDataType": 75,
"widthDefault": 60 "widthDefault": 60
}, },
"meta": { "meta": {
"updateAt": 1748831001856, "updateAt": 1749436035703,
"createAt": 1748828295310 "createAt": 1748828295310
} }
}, },
@ -6431,19 +6415,19 @@
"id": "_UFwKNcesG423815BIYBi", "id": "_UFwKNcesG423815BIYBi",
"tableId": "B8haiEbPc1lRBWTv1g25G", "tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "switch", "name": "switch",
"comment": "", "comment": "스위치코드",
"dataType": "VARCHAR(20)", "dataType": "VARCHAR(20)",
"default": "", "default": "",
"options": 8, "options": 8,
"ui": { "ui": {
"keys": 0, "keys": 0,
"widthName": 60, "widthName": 60,
"widthComment": 60, "widthComment": 62,
"widthDataType": 75, "widthDataType": 75,
"widthDefault": 60 "widthDefault": 60
}, },
"meta": { "meta": {
"updateAt": 1748830922946, "updateAt": 1749435976042,
"createAt": 1748828471024 "createAt": 1748828471024
} }
}, },
@ -6526,6 +6510,46 @@
"updateAt": 1749083398020, "updateAt": 1749083398020,
"createAt": 1749083385992 "createAt": 1749083385992
} }
},
"SGWWOOHjCF81V4O5tUiJu": {
"id": "SGWWOOHjCF81V4O5tUiJu",
"tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "title",
"comment": "서비스명",
"dataType": "VARCHAR(255)",
"default": "",
"options": 8,
"ui": {
"keys": 0,
"widthName": 60,
"widthComment": 60,
"widthDataType": 81,
"widthDefault": 60
},
"meta": {
"updateAt": 1749435003173,
"createAt": 1749434957365
}
},
"RpyPtXKwtu3XFr5BM61TA": {
"id": "RpyPtXKwtu3XFr5BM61TA",
"tableId": "B8haiEbPc1lRBWTv1g25G",
"name": "code",
"comment": "서버코드",
"dataType": "VARCHAR(20)",
"default": "",
"options": 8,
"ui": {
"keys": 0,
"widthName": 60,
"widthComment": 60,
"widthDataType": 75,
"widthDefault": 60
},
"meta": {
"updateAt": 1749435995917,
"createAt": 1749435553877
}
} }
}, },
"relationshipEntities": { "relationshipEntities": {
@ -6800,8 +6824,8 @@
"columnIds": [ "columnIds": [
"NzxkmndrTbH7xb6fbnGV7" "NzxkmndrTbH7xb6fbnGV7"
], ],
"x": 1442.3741, "x": 1450.3741,
"y": 1242.1363, "y": 1224.673,
"direction": 2 "direction": 2
}, },
"meta": { "meta": {
@ -6820,7 +6844,7 @@
"N_yJVoCN4oUEDhYqdzApb" "N_yJVoCN4oUEDhYqdzApb"
], ],
"x": 934.3741, "x": 934.3741,
"y": 1242.1363, "y": 1224.673,
"direction": 1 "direction": 1
}, },
"end": { "end": {
@ -6829,7 +6853,7 @@
"TerqekzImISduE6ewW1b5" "TerqekzImISduE6ewW1b5"
], ],
"x": 662.0137, "x": 662.0137,
"y": 1548.9949, "y": 1536.9949,
"direction": 2 "direction": 2
}, },
"meta": { "meta": {

View File

@ -3,9 +3,11 @@ return [
'title' => "고객서비스정보", 'title' => "고객서비스정보",
'label' => [ 'label' => [
'clientinfo_uid' => "고객명", 'clientinfo_uid' => "고객명",
'title' => "서비스명",
'type' => "서비스형식",
'location' => "위치", 'location' => "위치",
'switch' => "스위치코드", 'switch' => "스위치코드",
'type' => "형식", 'code' => "서버코드",
'raid' => "RAID", 'raid' => "RAID",
'billing_at' => "청구일", 'billing_at' => "청구일",
'start_at' => "개통일", 'start_at' => "개통일",
@ -29,13 +31,28 @@ return [
'type' => "default", 'type' => "default",
'status' => 'default' 'status' => 'default'
], ],
"SWITCH" => [
"R35P10" => "R35P10",
"R45P20" => "R45P20",
],
"LOCATION" => [ "LOCATION" => [
"default" => "치바", "default" => "치바",
"tokyo" => "도쿄", "tokyo" => "도쿄",
], ],
"SWITCH" => [ "CODE" => [
"R35P10" => "R35P10", "JPN130" => "JPN130",
"R45P20" => "R45P20", "JPN140" => "JPN140",
"JPN138" => "JPN138",
"R45P20" => "R45P20",
"X1508C" => "X1508C",
"X1508D" => "X1508D",
"X2001A" => "X2001A",
"X2001B" => "X2001B",
"X2001C" => "X2001C",
"X2001D" => "X2001D",
"X2001E" => "X2001E",
"P2404I510" => "P2404I510",
"P2404I710" => "P2404I710",
], ],
"TYPE" => [ "TYPE" => [
"default" => "일반", "default" => "일반",

View File

@ -3,7 +3,6 @@ return [
'title' => "서비스항목정보", 'title' => "서비스항목정보",
'label' => [ 'label' => [
'serviceinfo_uid' => "서비스명", 'serviceinfo_uid' => "서비스명",
'code' => "서버코드",
'item_type' => "항목형식", 'item_type' => "항목형식",
'item_uid' => "항목", 'item_uid' => "항목",
'billing_cycle' => "청구방식", 'billing_cycle' => "청구방식",
@ -21,21 +20,6 @@ return [
'type' => "default", 'type' => "default",
'status' => 'default' 'status' => 'default'
], ],
"CODE" => [
"JPN130" => "JPN130",
"JPN140" => "JPN140",
"JPN138" => "JPN138",
"R45P20" => "R45P20",
"X1508C" => "X1508C",
"X1508D" => "X1508D",
"X2001A" => "X2001A",
"X2001B" => "X2001B",
"X2001C" => "X2001C",
"X2001D" => "X2001D",
"X2001E" => "X2001E",
"P2404I510" => "P2404I510",
"P2404I710" => "P2404I710",
],
"ITEM_TYPE" => [ "ITEM_TYPE" => [
"LINE" => "라인", "LINE" => "라인",
"IP" => "IP주소", "IP" => "IP주소",

View File

@ -14,7 +14,6 @@ class ServiceItemModel extends CustomerModel
protected $returnType = ServiceItemEntity::class; protected $returnType = ServiceItemEntity::class;
protected $allowedFields = [ protected $allowedFields = [
"serviceinfo_uid", "serviceinfo_uid",
"code",
"item_type", "item_type",
"item_uid", "item_uid",
"billing_cycle", "billing_cycle",

View File

@ -8,15 +8,17 @@ class ServiceModel extends CustomerModel
{ {
const TABLE = "serviceinfo"; const TABLE = "serviceinfo";
const PK = "uid"; const PK = "uid";
const TITLE = "code"; const TITLE = "title";
protected $table = self::TABLE; protected $table = self::TABLE;
protected $primaryKey = self::PK; protected $primaryKey = self::PK;
protected $returnType = ServiceEntity::class; protected $returnType = ServiceEntity::class;
protected $allowedFields = [ protected $allowedFields = [
"clientinfo_uid", "clientinfo_uid",
"switch", "title",
"location",
"type", "type",
"location",
"switch",
"code",
"raid", "raid",
"billing_at", "billing_at",
"start_at", "start_at",
@ -37,8 +39,11 @@ class ServiceModel extends CustomerModel
case "clientinfo_uid": case "clientinfo_uid":
$rule = "required|numeric"; $rule = "required|numeric";
break; break;
case "switch": case "title":
case "type": case "type":
case "location":
case "switch":
case "code":
case "status": case "status":
$rule = "required|trim|string"; $rule = "required|trim|string";
break; break;

View File

@ -26,7 +26,6 @@ class ServiceItemService extends CustomerService
{ {
return [ return [
"serviceinfo_uid", "serviceinfo_uid",
"code",
"item_type", "item_type",
"item_uid", "item_uid",
"billing_cycle", "billing_cycle",
@ -38,7 +37,7 @@ class ServiceItemService extends CustomerService
} }
public function getFilterFields(): array public function getFilterFields(): array
{ {
return ["serviceinfo_uid", 'code', 'item_type', 'item_uid', 'billing_cycle', 'status']; return ["serviceinfo_uid", 'item_type', 'item_uid', 'billing_cycle', 'status'];
} }
public function getBatchJobFields(): array public function getBatchJobFields(): array
{ {
@ -46,6 +45,6 @@ class ServiceItemService extends CustomerService
} }
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['serviceinfo_uid', 'code', 'item_type', 'item_uid', 'billing_cycle', 'price', 'amount', 'start_at', 'status']; return ['serviceinfo_uid', 'item_type', 'item_uid', 'billing_cycle', 'price', 'amount', 'start_at', 'status'];
} }
} }

View File

@ -26,9 +26,11 @@ class ServiceService extends CustomerService
{ {
return [ return [
"clientinfo_uid", "clientinfo_uid",
"switch", "title",
"location",
"type", "type",
"location",
"switch",
"code",
"raid", "raid",
"billing_at", "billing_at",
"start_at", "start_at",
@ -38,7 +40,7 @@ class ServiceService extends CustomerService
} }
public function getFilterFields(): array public function getFilterFields(): array
{ {
return ["clientinfo_uid", 'location', 'switch', 'type', 'raid', 'status']; return ["clientinfo_uid", 'type', 'location', 'switch', 'code', 'raid', 'status'];
} }
public function getBatchJobFields(): array public function getBatchJobFields(): array
{ {
@ -46,6 +48,6 @@ class ServiceService extends CustomerService
} }
public function getIndexFields(): array public function getIndexFields(): array
{ {
return ['clientinfo_uid', 'location', 'switch', 'type', 'raid', 'billing_at', 'start_at', 'status']; return ['clientinfo_uid', 'title', 'type', 'location', 'switch', 'code', 'raid', 'billing_at', 'start_at', 'status'];
} }
} }

View File

@ -44,7 +44,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="11"> <td colspan="<?= count($viewDatas['control']['index_fields']) + 2 ?>">
<table class="table table-bordered table-hover table-striped"> <table class="table table-bordered table-hover table-striped">
<tr> <tr>
<?php foreach ($viewDatas['item_types'] as $field => $label): ?> <?php foreach ($viewDatas['item_types'] as $field => $label): ?>

View File

@ -12,7 +12,7 @@
<h5 class="modal-title" id="iframe_modal_label"> <h5 class="modal-title" id="iframe_modal_label">
&nbsp;&nbsp;<?= ICONS['DESKTOP'] ?>&nbsp;&nbsp; &nbsp;&nbsp;<?= ICONS['DESKTOP'] ?>&nbsp;&nbsp;
</h5> </h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" onClick="window.location.reload()"></button>
</div> </div>
<div class="modal-body" style="max-height: 80vh; overflow-y: auto;"> <div class="modal-body" style="max-height: 80vh; overflow-y: auto;">
<iframe id="form-container" src="about:blank" width="100%" frameborder="0" allowfullscreen></iframe> <iframe id="form-container" src="about:blank" width="100%" frameborder="0" allowfullscreen></iframe>

View File

@ -12,7 +12,7 @@
<h5 class="modal-title" id="iframe_modal_label"> <h5 class="modal-title" id="iframe_modal_label">
&nbsp;&nbsp;<?= ICONS['DESKTOP'] ?> <?= $viewDatas['title'] ?>&nbsp;&nbsp; &nbsp;&nbsp;<?= ICONS['DESKTOP'] ?> <?= $viewDatas['title'] ?>&nbsp;&nbsp;
</h5> </h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" onClick="window.location.reload()"></button>
</div> </div>
<div class="modal-body" style="max-height: 80vh; overflow-y: auto;"> <div class="modal-body" style="max-height: 80vh; overflow-y: auto;">
<iframe id="form-container" src="about:blank" width="100%" frameborder="0" allowfullscreen></iframe> <iframe id="form-container" src="about:blank" width="100%" frameborder="0" allowfullscreen></iframe>