mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-14 18:49:28 +00:00
backport recent changes of Betriebsmittel component and phrases from feature-30660/FHC4_StudierendenGUI_Prototyp Branch
This commit is contained in:
+32
-72
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
use \DateTime as DateTime;
|
||||
|
||||
class Betriebsmittel extends FHCAPI_Controller
|
||||
class BetriebsmittelP extends FHCAPI_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
@@ -28,30 +28,24 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
|
||||
// Load language phrases
|
||||
$this->loadPhrases([
|
||||
'ui'
|
||||
'ui',
|
||||
'wawi'
|
||||
]);
|
||||
}
|
||||
|
||||
public function getAllBetriebsmittel($uid, $person_id)
|
||||
public function getAllBetriebsmittel($type_id, $id)
|
||||
{
|
||||
//uid
|
||||
//$result = $this->BetriebsmittelpersonModel->getBetriebsmittelData($uid, 'uid');
|
||||
$result = $this->BetriebsmittelpersonModel->getBetriebsmittelData($id, $type_id);
|
||||
|
||||
//person_id
|
||||
$result = $this->BetriebsmittelpersonModel->getBetriebsmittelData($person_id, 'person');
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess((getData($result) ?: []));
|
||||
}
|
||||
|
||||
public function addNewBetriebsmittel()
|
||||
public function addNewBetriebsmittel($person_id)
|
||||
{
|
||||
$_POST = json_decode(utf8_encode($this->input->raw_input_stream), true);
|
||||
|
||||
$this->form_validation->set_rules('kaution', 'Kaution', 'numeric', [
|
||||
'numeric' => $this->p->t('ui', 'error_fieldNotNumeric', ['field' => 'Kaution'])
|
||||
]);
|
||||
@@ -64,9 +58,7 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
'required' => $this->p->t('ui', 'error_fieldRequired', ['field' => 'Ausgegeben am'])
|
||||
]);
|
||||
|
||||
|
||||
if ($this->form_validation->run() == false)
|
||||
{
|
||||
if ($this->form_validation->run() == false) {
|
||||
$this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||
}
|
||||
|
||||
@@ -80,38 +72,31 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
$anmerkung = $this->input->post('anmerkung');
|
||||
$ausgegebenam = $this->input->post('ausgegebenam');
|
||||
$retouram = $this->input->post('retouram');
|
||||
$person_id = $this->input->post('person_id');
|
||||
$uid = $this->input->post('uid');
|
||||
|
||||
if($inventarData)
|
||||
{
|
||||
if ($inventarData) {
|
||||
$betriebsmitteltyp = $inventarData['betriebsmitteltyp'];
|
||||
$betriebsmittel_id = $inventarData['betriebsmittel_id'];
|
||||
}
|
||||
|
||||
if($betriebsmitteltyp == 'Zutrittskarte' && !$nummer)
|
||||
{
|
||||
if ($betriebsmitteltyp == 'Zutrittskarte' && !$nummer) {
|
||||
return $this->terminateWithError($this->p->t('wawi', 'error_zutrittskarteOhneNummer'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
if($retouram && $retouram < $ausgegebenam)
|
||||
{
|
||||
if ($retouram && $retouram < $ausgegebenam) {
|
||||
return $this->terminateWithError($this->p->t('wawi', 'error_retourdatumVorAusgabe'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
if($betriebsmitteltyp == "Inventar" && !($inventarData['inventarnummer']))
|
||||
{
|
||||
if ($betriebsmitteltyp == "Inventar" && !($inventarData['inventarnummer'])) {
|
||||
return $this->terminateWithError($this->p->t('wawi', 'error_inventarWaehlen'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
|
||||
// Start DB transaction
|
||||
$this->db->trans_begin();
|
||||
|
||||
$betriebsmitteltyp = utf8_decode($betriebsmitteltyp);
|
||||
|
||||
if(!$inventarData)
|
||||
{
|
||||
if (!$inventarData) {
|
||||
$result = $this->BetriebsmittelModel->insert(
|
||||
[
|
||||
'betriebsmitteltyp' => $betriebsmitteltyp,
|
||||
@@ -123,8 +108,7 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
'insertamum' => date('c')
|
||||
]
|
||||
);
|
||||
if($this->db->trans_status() === false || isError($result))
|
||||
{
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
@@ -145,8 +129,7 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
]
|
||||
);
|
||||
|
||||
if($this->db->trans_status() === false || isError($result))
|
||||
{
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
@@ -155,14 +138,10 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
return $this->terminateWithSuccess(true);
|
||||
}
|
||||
|
||||
public function updateBetriebsmittel()
|
||||
public function updateBetriebsmittel($betriebsmittelperson_id)
|
||||
{
|
||||
$_POST = json_decode(utf8_encode($this->input->raw_input_stream), true);
|
||||
|
||||
$uid_user = getAuthUID();
|
||||
|
||||
$betriebsmittel_id = $this->input->post('betriebsmittel_id');
|
||||
$betriebsmittelperson_id = $this->input->post('betriebsmittelperson_id');
|
||||
$betriebsmitteltyp = $this->input->post('betriebsmitteltyp');
|
||||
$nummer = $this->input->post('nummer');
|
||||
$nummer2 = $this->input->post('nummer2');
|
||||
@@ -187,18 +166,15 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
]);
|
||||
|
||||
|
||||
if ($this->form_validation->run() == false)
|
||||
{
|
||||
if ($this->form_validation->run() == false) {
|
||||
$this->terminateWithValidationErrors($this->form_validation->error_array());
|
||||
}
|
||||
|
||||
if($betriebsmitteltyp == 'Zutrittskarte' && !$nummer)
|
||||
{
|
||||
if ($betriebsmitteltyp == 'Zutrittskarte' && !$nummer) {
|
||||
return $this->terminateWithError($this->p->t('wawi', 'error_zutrittskarteOhneNummer'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
if($retouram && $retouram < $ausgegebenam)
|
||||
{
|
||||
if ($retouram && $retouram < $ausgegebenam) {
|
||||
return $this->terminateWithError($this->p->t('wawi', 'error_retourdatumVorAusgabe'), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
@@ -223,8 +199,7 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
]
|
||||
);
|
||||
|
||||
if($this->db->trans_status() === false || isError($result))
|
||||
{
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
@@ -243,8 +218,7 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
'updateamum' => date('c')
|
||||
]
|
||||
);
|
||||
if($this->db->trans_status() === false || isError($result))
|
||||
{
|
||||
if ($this->db->trans_status() === false || isError($result)) {
|
||||
$this->db->trans_rollback();
|
||||
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
@@ -253,46 +227,33 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
return $this->terminateWithSuccess(true);
|
||||
}
|
||||
|
||||
public function loadBetriebsmittel()
|
||||
public function loadBetriebsmittel($betriebsmittelperson_id)
|
||||
{
|
||||
$_POST = json_decode(utf8_encode($this->input->raw_input_stream), true);
|
||||
|
||||
$betriebsmittelperson_id = $this->input->post('betriebsmittelperson_id');
|
||||
|
||||
$result = $this->BetriebsmittelpersonModel->getBetriebsmittelData($betriebsmittelperson_id, 'betriebsmittelperson_id');
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
if (!hasData($result))
|
||||
{
|
||||
$this->terminateWithError("no Betriebsmittelperson with ID found: " . $betriebsmittelperson_id, self::ERROR_TYPE_GENERAL);
|
||||
if (!hasData($result)) {
|
||||
$this->terminateWithError($this->p->t('ui', 'error_missingId', ['id' => 'Betriebsmittelperson_id']), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess(current(getData($result)));
|
||||
}
|
||||
|
||||
public function deleteBetriebsmittel()
|
||||
public function deleteBetriebsmittel($betriebsmittelperson_id)
|
||||
{
|
||||
|
||||
$_POST = json_decode(utf8_encode($this->input->raw_input_stream), true);
|
||||
|
||||
$betriebsmittelperson_id = $this->input->post('betriebsmittelperson_id');
|
||||
|
||||
$result = $this->BetriebsmittelpersonModel->delete(
|
||||
array('betriebsmittelperson_id' => $betriebsmittelperson_id,
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
if (isError($result)) {
|
||||
return $this->terminateWithError($result, self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
if (!hasData($result))
|
||||
{
|
||||
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id'=> 'Betriebsmittelperson_id']), self::ERROR_TYPE_GENERAL);
|
||||
if (!hasData($result)) {
|
||||
return $this->terminateWithError($this->p->t('ui', 'error_missingId', ['id' => 'Betriebsmittelperson_id']), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
return $this->outputJsonSuccess(current(getData($result)));
|
||||
}
|
||||
@@ -304,8 +265,7 @@ class Betriebsmittel extends FHCAPI_Controller
|
||||
$this->BetriebsmitteltypModel->addOrder('beschreibung', 'ASC');
|
||||
$result = $this->BetriebsmitteltypModel->load(); // load All
|
||||
|
||||
if (isError($result))
|
||||
{
|
||||
if (isError($result)) {
|
||||
$this->terminateWithError(getError($result), self::ERROR_TYPE_GENERAL);
|
||||
}
|
||||
return $this->terminateWithSuccess(getData($result) ?: []);
|
||||
@@ -17,7 +17,7 @@ class Betriebsmittel_model extends DB_Model
|
||||
*/
|
||||
public function loadInventarliste($filter)
|
||||
{
|
||||
$filter = strtoLower($filter);
|
||||
$filter = urldecode(strtoLower($filter));
|
||||
|
||||
$qry = "
|
||||
SELECT
|
||||
|
||||
@@ -100,7 +100,7 @@ class Betriebsmittelperson_model extends DB_Model
|
||||
public function getBetriebsmittelData($id, $type_id)
|
||||
{
|
||||
switch ($type_id) {
|
||||
case 'person':
|
||||
case 'person_id':
|
||||
$cond = 'bmp.person_id';
|
||||
break;
|
||||
case 'uid':
|
||||
@@ -115,7 +115,7 @@ class Betriebsmittelperson_model extends DB_Model
|
||||
|
||||
$query = "
|
||||
SELECT
|
||||
bm.nummer, bmp.person_id, bm.betriebsmitteltyp, bmp.anmerkung as anmerkung, bmp.retouram, TO_CHAR(bmp.retouram::timestamp, 'DD.MM.YYYY') AS format_retour, bmp.ausgegebenam, TO_CHAR(bmp.ausgegebenam::timestamp, 'DD.MM.YYYY') AS format_ausgabe, bm.beschreibung, bmp.uid, bmp.kaution, bm.betriebsmittel_id, bmp.betriebsmittelperson_id, bm.inventarnummer
|
||||
bm.nummer, bmp.person_id, bm.betriebsmitteltyp, bmp.anmerkung as anmerkung, bmp.retouram, TO_CHAR(bmp.retouram::timestamp, 'DD.MM.YYYY') AS format_retour, bmp.ausgegebenam, TO_CHAR(bmp.ausgegebenam::timestamp, 'DD.MM.YYYY') AS format_ausgabe, bm.beschreibung, bmp.uid, bmp.kaution, bm.betriebsmittel_id, bmp.betriebsmittelperson_id, bm.inventarnummer, bm.nummer2
|
||||
FROM
|
||||
wawi.tbl_betriebsmittelperson bmp
|
||||
JOIN
|
||||
|
||||
@@ -20,11 +20,13 @@ import phrasen from "./phrasen.js";
|
||||
import navigation from "./navigation.js";
|
||||
import filter from "./filter.js";
|
||||
import studstatus from "./studstatus.js";
|
||||
import betriebsmittel from "./betriebsmittel.js";
|
||||
|
||||
export default {
|
||||
search,
|
||||
phrasen,
|
||||
navigation,
|
||||
filter,
|
||||
studstatus
|
||||
studstatus,
|
||||
betriebsmittel
|
||||
};
|
||||
|
||||
@@ -20,26 +20,41 @@ export default {
|
||||
from: 'cisRoot'
|
||||
},
|
||||
},
|
||||
props: [
|
||||
'person_id',
|
||||
'uid'
|
||||
],
|
||||
props: {
|
||||
endpoint: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
typeId: String,
|
||||
id: {
|
||||
type: [Number, String],
|
||||
required: true
|
||||
},
|
||||
uid: {
|
||||
type: [Number, String],
|
||||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tabulatorOptions: {
|
||||
ajaxURL: 'api/frontend/v1/betriebsmittel/Betriebsmittel/getAllBetriebsmittel/' + this.uid + '/' + this.person_id,
|
||||
ajaxRequestFunc: this.$fhcApi.get,
|
||||
ajaxURL: 'dummy',
|
||||
ajaxRequestFunc: this.endpoint.getAllBetriebsmittel,
|
||||
ajaxParams: {
|
||||
type: this.typeId,
|
||||
id: this.id
|
||||
},
|
||||
ajaxResponse: (url, params, response) => response.data,
|
||||
columns: [
|
||||
{title: "Nummer", field: "nummer"},
|
||||
{title: "Nummer", field: "nummer", width: 150},
|
||||
{title: "PersonId", field: "person_id", visible: false},
|
||||
{title: "Typ", field: "betriebsmitteltyp"},
|
||||
{title: "Typ", field: "betriebsmitteltyp", width: 125},
|
||||
{title: "Anmerkung", field: "anmerkung", visible: false},
|
||||
{title: "Retourdatum", field: "format_retour", visible: false},
|
||||
{title: "Retourdatum", field: "format_retour", width: 128},
|
||||
{title: "Beschreibung", field: "beschreibung"},
|
||||
{title: "Uid", field: "uid", visible: false},
|
||||
{title: "Uid", field: "uid", width: 87},
|
||||
{title: "Kaution", field: "kaution", visible: false},
|
||||
{title: "Ausgabedatum", field: "format_ausgabe"},
|
||||
{title: "Ausgabedatum", field: "format_ausgabe", width: 144},
|
||||
{title: "Betriebsmittel_id", field: "betriebsmittel_id", visible: false},
|
||||
{title: "Betriebsmittelperson_id", field: "betriebsmittelperson_id", visible: false},
|
||||
{
|
||||
@@ -96,7 +111,8 @@ export default {
|
||||
layoutColumnsOnNewData: false,
|
||||
height: '550',
|
||||
selectableRangeMode: 'click',
|
||||
selectable: true
|
||||
selectable: true,
|
||||
persistenceID: 'core-betriebsmittel'
|
||||
},
|
||||
tabulatorEvents: [
|
||||
{
|
||||
@@ -139,16 +155,18 @@ export default {
|
||||
},
|
||||
watch: {
|
||||
uid() {
|
||||
this.$refs.table.tabulator.setData('api/frontend/v1/betriebsmittel/Betriebsmittel/getAllBetriebsmittel/' + this.uid + '/' + this.person_id);
|
||||
this.$refs.table.tabulator.setData(this.endpoint.getAllBetriebsmittel + '/' + this.typeId + '/' + this.id);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
actionEditBetriebsmittel(betriebsmittelperson_id) {
|
||||
this.statusNew = false;
|
||||
this.loadBetriebsmittel(betriebsmittelperson_id);
|
||||
this.$refs.betriebsmittelModal.show();
|
||||
},
|
||||
actionNewBetriebsmittel() {
|
||||
this.resetModal();
|
||||
this.$refs.betriebsmittelModal.show();
|
||||
this.statusNew = true;
|
||||
this.formData.ausgegebenam = this.getDefaultDate();
|
||||
this.reload();
|
||||
@@ -159,28 +177,21 @@ export default {
|
||||
});
|
||||
},
|
||||
addNewBetriebsmittel() {
|
||||
this.param = {
|
||||
'uid': this.uid,
|
||||
'person_id': this.person_id,
|
||||
...this.formData
|
||||
};
|
||||
this.$fhcApi.post('api/frontend/v1/betriebsmittel/Betriebsmittel/addNewBetriebsmittel/',
|
||||
this.param
|
||||
).then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.resetModal();
|
||||
}).catch(this.$fhcAlert.handleSystemError)
|
||||
//just append uid to formdata
|
||||
this.formData.uid = this.uid;
|
||||
return this.endpoint.addNewBetriebsmittel(this.id, this.formData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.hideModal('betriebsmittelModal');
|
||||
this.resetModal();
|
||||
}).catch(this.$fhcAlert.handleSystemError)
|
||||
.finally(() => {
|
||||
window.scrollTo(0, 0);
|
||||
this.reload();
|
||||
});
|
||||
},
|
||||
deleteBetriebsmittel(betriebsmittelperson_id) {
|
||||
this.param = {
|
||||
'betriebsmittelperson_id': betriebsmittelperson_id
|
||||
};
|
||||
return this.$fhcApi.post('api/frontend/v1/betriebsmittel/betriebsmittel/deleteBetriebsmittel/',
|
||||
this.param)
|
||||
return this.endpoint.deleteBetriebsmittel(betriebsmittelperson_id)
|
||||
.then(
|
||||
result => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successDelete'));
|
||||
@@ -193,16 +204,12 @@ export default {
|
||||
this.reload();
|
||||
});
|
||||
},
|
||||
updateBetriebsmittel() {
|
||||
this.param = {
|
||||
'uid': this.uid,
|
||||
'person_id': this.person_id,
|
||||
...this.formData
|
||||
};
|
||||
this.$fhcApi.post('api/frontend/v1/betriebsmittel/Betriebsmittel/updateBetriebsmittel/',
|
||||
this.param
|
||||
).then(response => {
|
||||
updateBetriebsmittel(betriebsmittelperson_id) {
|
||||
this.formData.uid = this.uid;
|
||||
return this.endpoint.updateBetriebsmittel(betriebsmittelperson_id, this.formData)
|
||||
.then(response => {
|
||||
this.$fhcAlert.alertSuccess(this.$p.t('ui', 'successSave'));
|
||||
this.hideModal('betriebsmittelModal');
|
||||
this.resetModal();
|
||||
}).catch(this.$fhcAlert.handleSystemError)
|
||||
.finally(() => {
|
||||
@@ -213,11 +220,7 @@ export default {
|
||||
loadBetriebsmittel(betriebsmittelperson_id) {
|
||||
this.resetModal();
|
||||
this.statusNew = false;
|
||||
this.param = {
|
||||
'betriebsmittelperson_id': betriebsmittelperson_id
|
||||
};
|
||||
return this.$fhcApi.post('api/frontend/v1/betriebsmittel/Betriebsmittel/loadBetriebsmittel/',
|
||||
this.param)
|
||||
return this.endpoint.loadBetriebsmittel(betriebsmittelperson_id)
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.formData = result;
|
||||
@@ -225,8 +228,8 @@ export default {
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
searchInventar(event) {
|
||||
return this.$fhcApi
|
||||
.get('api/frontend/v1/betriebsmittel/Betriebsmittel/loadInventarliste/' + event.query)
|
||||
const encodedQuery = encodeURIComponent(event.query);
|
||||
return this.endpoint.loadInventarliste(encodedQuery)
|
||||
.then(result => {
|
||||
this.filteredInventar = result.data.retval;
|
||||
});
|
||||
@@ -256,8 +259,7 @@ export default {
|
||||
}
|
||||
},
|
||||
created(){
|
||||
this.$fhcApi
|
||||
.get('api/frontend/v1/betriebsmittel/Betriebsmittel/getTypenBetriebsmittel')
|
||||
return this.endpoint.getTypenBetriebsmittel()
|
||||
.then(result => result.data)
|
||||
.then(result => {
|
||||
this.listBetriebsmitteltyp = result;
|
||||
@@ -265,57 +267,44 @@ export default {
|
||||
.catch(this.$fhcAlert.handleSystemError);
|
||||
},
|
||||
template: `
|
||||
<div class="core-betriebsmittel">
|
||||
|
||||
|
||||
<div class="core-betriebsmittel h-100 d-flex flex-column">
|
||||
|
||||
<!--Modal: deleteBetriebsmittelModal-->
|
||||
<BsModal ref="deleteBetriebsmittelModal">
|
||||
<template #title>{{$p.t('ui', 'betriebsmittel_delete')}}</template>
|
||||
<template #default>
|
||||
<p>{{$p.t('ui', 'betriebsmittel_confirm_delete')}}</p>
|
||||
</template>
|
||||
<template #default><p>{{$p.t('ui', 'betriebsmittel_confirm_delete')}}</p></template>
|
||||
<template #footer>
|
||||
<!-- <button type="button" class="btn btn-secondary" data-bs-dismiss="modal" @click="resetModal">Abbrechen</button>-->
|
||||
<button ref="Close" type="button" class="btn btn-primary" @click="deleteBetriebsmittel(formData.betriebsmittelperson_id)">OK</button>
|
||||
</template>
|
||||
</BsModal>
|
||||
|
||||
<core-filter-cmpt
|
||||
ref="table"
|
||||
:tabulator-options="tabulatorOptions"
|
||||
:tabulator-events="tabulatorEvents"
|
||||
table-only
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Betriebsmittel"
|
||||
@click:new="actionNewBetriebsmittel"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
|
||||
<div class="row col-12">
|
||||
<div class="col-6">
|
||||
|
||||
<core-filter-cmpt
|
||||
ref="table"
|
||||
:tabulator-options="tabulatorOptions"
|
||||
:tabulator-events="tabulatorEvents"
|
||||
table-only
|
||||
:side-menu="false"
|
||||
reload
|
||||
new-btn-show
|
||||
new-btn-label="Betriebsmittel"
|
||||
@click:new="actionNewBetriebsmittel"
|
||||
>
|
||||
</core-filter-cmpt>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<form-form class="row g-3 col-6" ref="betriebsmittelData">
|
||||
<!--Modal: betriebsmittelModal-->
|
||||
<bs-modal ref="betriebsmittelModal">
|
||||
<template #title>
|
||||
<p v-if="statusNew" class="fw-bold mt-3">{{$p.t('ui', 'add_betriebsmittel')}}</p>
|
||||
<p v-else class="fw-bold mt-3">{{$p.t('ui', 'edit_betriebsmittel')}}</p>
|
||||
</template>
|
||||
|
||||
<form-form class="row g-3" ref="betriebsmittelData">
|
||||
<legend>Details</legend>
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-sm-7">
|
||||
<p v-if="statusNew" class="fw-bold">{{$p.t('ui', 'add_betriebsmittel')}}</p>
|
||||
<p v-else class="fw-bold">{{$p.t('ui', 'edit_betriebsmittel')}}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="typ" class="form-label col-sm-4">{{$p.t('global', 'typ')}}</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
type="select"
|
||||
:label="$p.t('global/typ')"
|
||||
name="typ"
|
||||
v-model="formData.betriebsmitteltyp"
|
||||
:disabled="!statusNew"
|
||||
@@ -329,87 +318,86 @@ export default {
|
||||
</option>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="formData.betriebsmitteltyp == 'Inventar'" class="row mb-3">
|
||||
<label for="inventarnummer" class="form-label col-sm-4">{{$p.t('wawi', 'inventarnummer')}}</label>
|
||||
<div class="col-sm-6">
|
||||
<PvAutoComplete v-model="formData['inventarData']" optionLabel="dropdowntext" :suggestions="filteredInventar" @complete="searchInventar" minLength="3"/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="formData.inventarnummer" class="row mb-3">
|
||||
<label for="inventarnummer" class="form-label col-sm-4">{{$p.t('wawi', 'inventarnummer')}}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="text" class="form-control" id="inventarnummer" v-model="formData.inventarnummer" :disabled="!statusNew">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="formData.betriebsmitteltyp!='Inventar' && !formData.inventarnummer" class="row mb-3">
|
||||
<label for="nummer" class="form-label col-sm-4">{{$p.t('wawi', 'nummer')}}</label>
|
||||
<div class="col-sm-6">
|
||||
<div v-if="formData.betriebsmitteltyp == 'Inventar'" class="row mb-3">
|
||||
<form-input
|
||||
type="autocomplete"
|
||||
:label="$p.t('wawi/inventarnummer')"
|
||||
name="inventarnummer"
|
||||
v-model="formData.inventarData"
|
||||
optionLabel="dropdowntext"
|
||||
:suggestions="filteredInventar"
|
||||
@complete="searchInventar"
|
||||
minLength="3"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
<div v-else-if="formData.inventarnummer" class="row mb-3">
|
||||
<form-input
|
||||
type="text"
|
||||
:label="$p.t('wawi/inventarnummer')"
|
||||
name="inventarnummer"
|
||||
v-model="formData.inventarnummer"
|
||||
:disabled="!statusNew"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
|
||||
<div v-if="formData.betriebsmitteltyp!='Inventar' && !formData.inventarnummer" class="row mb-3">
|
||||
<form-input
|
||||
type="text"
|
||||
:label="$p.t('wawi/nummer')"
|
||||
name="nummer"
|
||||
v-model="formData['nummer']"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="formData.betriebsmitteltyp!='Inventar' && !formData.inventarnummer" class="row mb-3">
|
||||
<label for="nummer2" class="form-label col-sm-4">{{$p.t('wawi', 'nummer')}} 2</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div v-if="formData.betriebsmitteltyp!='Inventar' && !formData.inventarnummer" class="row mb-3">
|
||||
<form-input
|
||||
type="text"
|
||||
:label="$p.t('wawi/nummer') + ' 2'"
|
||||
name="nummer2"
|
||||
v-model="formData['nummer2']"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="formData.betriebsmitteltyp!='Inventar'" class="row mb-3">
|
||||
<label for="beschreibung" class="form-label col-sm-4">{{$p.t('global', 'beschreibung')}}</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div v-if="formData.betriebsmitteltyp!='Inventar'" class="row mb-3">
|
||||
<form-input
|
||||
type="textarea"
|
||||
:label="$p.t('global/beschreibung')"
|
||||
name="beschreibung"
|
||||
v-model="formData['beschreibung']"
|
||||
:disabled="formData.inventarnummer"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="kaution" class="form-label col-sm-4">{{$p.t('infocenter', 'kaution')}}</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
type="text"
|
||||
:label="$p.t('infocenter/kaution')"
|
||||
name="kaution"
|
||||
v-model="formData['kaution']"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="anmerkung" class="form-label col-sm-4">{{$p.t('global', 'anmerkung')}}</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
type="textarea"
|
||||
:label="$p.t('global/anmerkung')"
|
||||
name="anmerkung"
|
||||
v-model="formData['anmerkung']"
|
||||
>
|
||||
</form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="ausgegebenam" class="form-label col-sm-4">{{$p.t('wawi', 'ausgegebenam')}}</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
type="DatePicker"
|
||||
:label="$p.t('wawi/ausgegebenam')"
|
||||
name="datum"
|
||||
v-model="formData['ausgegebenam']"
|
||||
auto-apply
|
||||
@@ -419,13 +407,11 @@ export default {
|
||||
:teleport="true"
|
||||
></form-input>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label for="retouram" class="form-label col-sm-4">{{$p.t('wawi', 'retouram')}}</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="row mb-3">
|
||||
<form-input
|
||||
type="DatePicker"
|
||||
:label="$p.t('wawi/retouram')"
|
||||
name="datum"
|
||||
v-model="formData['retouram']"
|
||||
auto-apply
|
||||
@@ -435,28 +421,16 @@ export default {
|
||||
:teleport="true"
|
||||
></form-input>
|
||||
</div>
|
||||
</div>
|
||||
</form-form>
|
||||
|
||||
<template #footer>
|
||||
<button v-if="statusNew" ref="Close" type="button" class="btn btn-primary" @click="addNewBetriebsmittel()">{{$p.t('ui', 'speichern')}}</button>
|
||||
|
||||
<div class="row mb-3">
|
||||
<label class="form-label col-sm-8"></label>
|
||||
<div v-if="statusNew" class="col-sm-4">
|
||||
<button ref="Close" type="button" class="btn btn-primary" @click="addNewBetriebsmittel()">{{$p.t('ui', 'speichern')}}</button>
|
||||
</div>
|
||||
<div v-else class="col-sm-4">
|
||||
<button ref="Close" type="button" class="btn btn-primary" @click="updateBetriebsmittel()">{{$p.t('ui', 'speichern')}}</button>
|
||||
</div>
|
||||
<button v-else ref="Close" type="button" class="btn btn-primary" @click="updateBetriebsmittel(formData.betriebsmittelperson_id)">{{$p.t('ui', 'speichern')}}</button>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</form-form>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</bs-modal>
|
||||
|
||||
</div>`
|
||||
}
|
||||
|
||||
|
||||
+343
-1
@@ -24698,7 +24698,349 @@ array(
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
)
|
||||
),
|
||||
// Betriebsmittel begin
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'successSave',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Speichern erfolgreich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Successfully saved',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'successDelete',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Löschen erfolgreich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Delete successful',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'successAdvance',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Vorrückung Status erfolgreich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Advance status successful',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'successConfirm',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Bestätigung Status erfolgreich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Confirmation status successful',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'betriebsmittel',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittel',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Resources',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'betriebsmittel_delete',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittel löschen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'delete operating resource',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'betriebsmittel_confirm_delete',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittel wirklich löschen?',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Really delete operating resource?',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'add_betriebsmittel',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittel anlegen',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'create operating resource',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'edit_betriebsmittel',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betriebsmittel bearbeiten',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'edit operating resource',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'wawi',
|
||||
'phrase' => 'nummer',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Nummer',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'number',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'wawi',
|
||||
'phrase' => 'ausgegebenam',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Ausgegeben am',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'issued on',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'wawi',
|
||||
'phrase' => 'retouram',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Retour am',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'returned on',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'wawi',
|
||||
'phrase' => 'retourdatum',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Retourdatum',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'return date',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'wawi',
|
||||
'phrase' => 'ausgabedatum',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Ausgabedatum',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'issue date',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'wawi',
|
||||
'phrase' => 'error_zutrittskarteOhneNummer',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Eine Zutrittskarte muss eine Nummer haben. Um die Zuordnung zu dieser Karte zu löschen entfernen Sie bitte den ganzen Datensatz!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'An access card must have a number. To delete the assignment to this card, please remove the entire data record!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'wawi',
|
||||
'phrase' => 'error_inventarWaehlen',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Bitte wählen Sie das entsprechende Inventar aus dem Drop Down Menü Inventarnummer aus!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Please select the appropriate inventory from the inventory number drop down menu!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'wawi',
|
||||
'phrase' => 'error_retourdatumVorAusgabe',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Retourdatum darf nicht vor Datum der Ausgabe liegen!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The return date must not be before the issue date!',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
// Betriebsmittel end
|
||||
);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user