Do agendy Cestovní příkazy byly přidány záložky "Má střediska", "Mé komise" a "Vše", kde se zobrazují vyúčtování služebních ke schválení. V záložkách lze vyúčtování označit jako proplacené. Do e-mailu se generuje odkaz do těchto záložek.
closes #253 closes #250
This commit is contained in:
@@ -244,9 +244,15 @@ TripBillSave=Odeslat ke schválení?
|
||||
TripBillCancelApproval=Zrušit schválení a povolit úpravy
|
||||
TripBillCancelApprovalQuestion=Opravdu zrušít schválení tohoto vyúčtování?
|
||||
TripBillCancelApprovalTitle=Zrušit schválení
|
||||
TripBillPaid=Proplaceno
|
||||
TripBillPaidDate=Datum proplacení
|
||||
TripBillPay=Proplatit
|
||||
|
||||
TripBillSummaryDetail=Detail
|
||||
|
||||
TripBilling=Proplacení vyúčtování
|
||||
BillNotApproved=Vyúčtování není schválené, nelze proplatit.
|
||||
|
||||
TripRequirement=Požadavek na služební cestu
|
||||
ShowTripBill=Zobrazit vyúčtování
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<zk>
|
||||
|
||||
<zscript>
|
||||
String gridZul = "tripBillGrid.zul";
|
||||
String gridZul = "setup.zul";
|
||||
</zscript>
|
||||
|
||||
<include src="/app/template.zhtml"/>
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<?page title="${labels.TravelOrdersFormTitle}" contentType="text/html;charset=UTF-8"?>
|
||||
|
||||
<zk xmlns="http://www.zkoss.org/2005/zul"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
|
||||
<window id="payWin" border="normal" apply="org.zkoss.bind.BindComposer"
|
||||
viewModel="@id('vm') @init('info.bukova.isspst.ui.tripbill.PayDialogVM')" width="320px" closable="true">
|
||||
<caption
|
||||
image="/img/invoicing-032.png"
|
||||
zclass="form-caption"
|
||||
label="${labels.TripBilling}" />
|
||||
|
||||
<vbox hflex="1">
|
||||
<hbox>
|
||||
<label value="${labels.TripBillPaidDate}:"/>
|
||||
<datebox
|
||||
instant="true"
|
||||
value="@bind(vm.payDate)"
|
||||
format="${labels.DateFormat}"/>
|
||||
</hbox>
|
||||
<separator bar="true" hflex="1"/>
|
||||
<hbox>
|
||||
<button image="/img/approve-016.png" label="${labels.Confirm}" onClick="@command('pay', window=payWin)" sclass="nicebutton" disabled="@load(empty vm.payDate)"/>
|
||||
<button image="~./zul/img/misc/drag-disallow.png" label="${labels.ButtonStorno}" onClick="payWin.detach()" sclass="nicebutton"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
|
||||
</window>
|
||||
|
||||
</zk>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?page title="new page title" contentType="text/html;charset=UTF-8"?>
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
<zk>
|
||||
<zscript>
|
||||
String gridMy = "/main/trips/bill/tripBillGridMy.zul";
|
||||
String gridMyCenters = "/main/trips/bill/tripBillGridCenters.zul";
|
||||
String gridMyWorkgroups = "/main/trips/bill/tripBillGridWorkgroups.zul";
|
||||
String gridAll = "/main/trips/bill/tripBillGridAll.zul";
|
||||
</zscript>
|
||||
<window
|
||||
vflex="1"
|
||||
border="normal">
|
||||
<caption
|
||||
src="/img/pickup-032.png"
|
||||
zclass="form-caption"
|
||||
label="${labels.TravelOrders}" />
|
||||
<include
|
||||
vflex="1"
|
||||
src="/main/tabPanels.zul" />
|
||||
</window>
|
||||
</zk>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?page title="${labels.TravelOrders}" contentType="text/html;charset=UTF-8"?>
|
||||
<zk xmlns="http://www.zkoss.org/2005/zul"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
<window
|
||||
vflex="1"
|
||||
border="normal"
|
||||
apply="org.zkoss.bind.BindComposer"
|
||||
viewModel="@id('vm') @init('info.bukova.isspst.ui.tripbill.TripBillListAll')">
|
||||
<include src="../../toolbar.zul" />
|
||||
<include vflex="1" src="tripBillGridInt.zul"/>
|
||||
</window>
|
||||
</zk>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?page title="${labels.TravelOrders}" contentType="text/html;charset=UTF-8"?>
|
||||
<zk xmlns="http://www.zkoss.org/2005/zul"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
<window
|
||||
vflex="1"
|
||||
border="normal"
|
||||
apply="org.zkoss.bind.BindComposer"
|
||||
viewModel="@id('vm') @init('info.bukova.isspst.ui.tripbill.TripBillListCentre')">
|
||||
<include src="../../toolbar.zul" />
|
||||
<include vflex="1" src="tripBillGridInt.zul"/>
|
||||
</window>
|
||||
</zk>
|
||||
@@ -0,0 +1,198 @@
|
||||
<?page title="${labels.TravelOrdersFormTitle}" contentType="text/html;charset=UTF-8"?>
|
||||
|
||||
<zk xmlns="http://www.zkoss.org/2005/zul"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
|
||||
<hbox vflex="1">
|
||||
<listbox
|
||||
vflex="1"
|
||||
hflex="7"
|
||||
model="@load(vm.dataList)"
|
||||
selectedItem="@bind(vm.dataBean)"
|
||||
itemRenderer="@load(vm.itemRenderer)"
|
||||
onAfterRender="@command('afterRender')"
|
||||
selectedIndex="@bind(vm.selIndex)">
|
||||
<listhead menupopup="auto">
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridNumser}"
|
||||
sort="czech(bill.requirement.numser)"
|
||||
onCreate="self.sort(false)"
|
||||
width="30%" />
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridReqDate}"
|
||||
sort="auto(bill.requirement.reqDate)"
|
||||
width="70%" />
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridFrom}"
|
||||
sort="czech(bill.requirement.from)"
|
||||
width="70%" />
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridTo}"
|
||||
sort="czech(bill.requirement.to)"
|
||||
width="70%" />
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridTotal}"
|
||||
sort="auto(bill.total)"
|
||||
align="right"
|
||||
width="70%" />
|
||||
<listheader
|
||||
label="${labels.ownedBy}"
|
||||
width="50%"/>
|
||||
<listheader
|
||||
label="${labels.TripBillPaid}"
|
||||
width="10%"/>
|
||||
<listheader
|
||||
label="${labels.TripBillPaidDate}"
|
||||
width="20%"/>
|
||||
</listhead>
|
||||
<auxhead
|
||||
sclass="category-center"
|
||||
visible="@load(vm.filter)">
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<textbox
|
||||
value="@bind(vm.filterTemplate.numser)"
|
||||
instant="true"
|
||||
onChange="@command('doFilter')"
|
||||
maxlength="@load(vm.lengthText)"
|
||||
sclass="find-grid-textbox" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<datebox
|
||||
value="@bind(vm.filterTemplate.bill.requirement.reqDate)"
|
||||
format="${labels.DateFormat}"
|
||||
instant="true"
|
||||
onChange="@command('doFilter')"
|
||||
sclass="find-grid-textbox"
|
||||
width="100%" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<textbox
|
||||
value="@bind(vm.filterTemplate.bill.requirement.from)"
|
||||
instant="true"
|
||||
onChange="@command('doFilter')"
|
||||
maxlength="@load(vm.lengthDescription)"
|
||||
sclass="find-grid-textbox" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<textbox
|
||||
value="@bind(vm.filterTemplate.bill.requirement.to)"
|
||||
instant="true"
|
||||
onChange="@command('doFilter')"
|
||||
maxlength="@load(vm.lengthDescription)"
|
||||
sclass="find-grid-textbox" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<textbox
|
||||
value="@bind(vm.filterTemplate.bill.total) @converter(vm.bigDecimalConverter)"
|
||||
instant="true"
|
||||
onChange="@command('doFilter')"
|
||||
maxlength="@load(vm.lengthText)"
|
||||
sclass="find-grid-textbox" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
<auxheader>
|
||||
<div zclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<combobox
|
||||
ctrlKeys="${labels.HandleComboKeyFilter}"
|
||||
onCtrlKey="@command('handleComboKeyFilter', ctrl=self, keyEvent=event)"
|
||||
onChange="@command('doFilter')"
|
||||
width="100%"
|
||||
selectedItem="@bind(vm.filterTemplate.bill.ownedBy)"
|
||||
model="@load(vm.allUsers)"
|
||||
readonly="true">
|
||||
<template name="model">
|
||||
<comboitem label="@load(each.fullName)" />
|
||||
</template>
|
||||
</combobox>
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<checkbox
|
||||
checked="@bind(vm.filterTemplate.bill.paid)"
|
||||
onClick="@command('doFilter')" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<datebox
|
||||
value="@bind(vm.filterTemplate.bill.paidDate)"
|
||||
format="${labels.DateFormat}"
|
||||
instant="true"
|
||||
onChange="@command('doFilter')"
|
||||
sclass="find-grid-textbox"
|
||||
width="100%" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
</auxhead>
|
||||
<template name="model">
|
||||
<listitem>
|
||||
<listcell label="@load(each.bill.requirement.numser)" />
|
||||
<listcell label="@load(each.bill.requirement.reqDate) @converter('formatedDate', format=labels.DateFormat)" />
|
||||
<listcell label="@load(each.bill.requirement.from)" />
|
||||
<listcell label="@load(each.bill.requirement.to)" />
|
||||
<listcell label="@load(each.bill.total) @converter(vm.standardBigDecimalConverter)"/>
|
||||
<listcell label="@load(each.bill.ownedBy)"/>
|
||||
<listcell label="@load(each.bill.paid) @converter(vm.standardBoolConverter)"/>
|
||||
<listcell label="@load(each.bill.paidDate) @converter('formatedDate', format=labels.DateFormat)"/>
|
||||
</listitem>
|
||||
</template>
|
||||
</listbox>
|
||||
<vbox hflex="3">
|
||||
<include hflex="1" src="/main/approveStatus.zul"/>
|
||||
<button label="${labels.TripBillPay}" image="/img/invoicing-016.png" onClick="@command('pay')" sclass="nicebutton" disabled="@load(not(vm.dataBean.state eq 'APPROVED'))"/>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
</zk>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?page title="${labels.TravelOrders}" contentType="text/html;charset=UTF-8"?>
|
||||
<zk xmlns="http://www.zkoss.org/2005/zul"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
<window
|
||||
vflex="1"
|
||||
border="normal"
|
||||
apply="org.zkoss.bind.BindComposer"
|
||||
viewModel="@id('vm') @init('info.bukova.isspst.ui.tripbill.TripBillList')">
|
||||
<include src="/app/toolbar.zul" />
|
||||
<listbox
|
||||
vflex="1"
|
||||
model="@load(vm.dataList)"
|
||||
selectedItem="@bind(vm.dataBean)">
|
||||
<listhead menupopup="auto">
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridNumser}"
|
||||
sort="czech(numser)"
|
||||
width="30%" />
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridReqDate}"
|
||||
sort="auto(requirement.reqDate)"
|
||||
width="70%" />
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridFrom}"
|
||||
sort="czech(requirement.from)"
|
||||
width="70%" />
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridTo}"
|
||||
sort="czech(requirement.to)"
|
||||
width="70%" />
|
||||
<listheader
|
||||
label="${labels.TravelOrdersGridTotal}"
|
||||
sort="auto(total)"
|
||||
align="right"
|
||||
width="70%" />
|
||||
</listhead>
|
||||
<!-- <auxhead
|
||||
sclass="category-center"
|
||||
visible="@load(vm.filter)">
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<textbox
|
||||
value="@bind(vm.filterTemplate.name)"
|
||||
instant="true"
|
||||
onChange="@command('doFilter')"
|
||||
maxlength="@load(vm.lengthText)"
|
||||
sclass="find-grid-textbox" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
<auxheader>
|
||||
<div sclass="find-grid-cell">
|
||||
<div sclass="find-grid-divtextbox">
|
||||
<textbox
|
||||
value="@bind(vm.filterTemplate.description)"
|
||||
instant="true"
|
||||
onChange="@command('doFilter')"
|
||||
maxlength="@load(vm.lengthDescription)"
|
||||
sclass="find-grid-textbox" />
|
||||
</div>
|
||||
<div sclass="find-grid-img">
|
||||
<image src="/img/funnel.png" />
|
||||
</div>
|
||||
</div>
|
||||
</auxheader>
|
||||
</auxhead> -->
|
||||
<template name="model">
|
||||
<listitem style="@load((empty each.approval ? '' : (each.approval.state eq 'PARTIALLY') ? 'background-color: #fffb90' : ((each.approval.state eq 'APPROVED') ? 'background-color: #afffb5' : 'background-color: #fdfbca') ))">
|
||||
<listcell label="@load(each.requirement.numser)" />
|
||||
<listcell label="@load(each.requirement.reqDate) @converter('formatedDate', format=labels.DateFormat)" />
|
||||
<listcell label="@load(each.requirement.from)" />
|
||||
<listcell label="@load(each.requirement.to)" />
|
||||
<listcell label="@load(each.total) @converter(vm.standardBigDecimalConverter)"/>
|
||||
</listitem>
|
||||
</template>
|
||||
</listbox>
|
||||
</window>
|
||||
</zk>
|
||||
@@ -0,0 +1,14 @@
|
||||
<?page title="${labels.TravelOrders}" contentType="text/html;charset=UTF-8"?>
|
||||
<zk xmlns="http://www.zkoss.org/2005/zul"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
|
||||
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
|
||||
<window
|
||||
vflex="1"
|
||||
border="normal"
|
||||
apply="org.zkoss.bind.BindComposer"
|
||||
viewModel="@id('vm') @init('info.bukova.isspst.ui.tripbill.TripBillListWorkgroup')">
|
||||
<include src="../../toolbar.zul" />
|
||||
<include vflex="1" src="tripBillGridInt.zul"/>
|
||||
</window>
|
||||
</zk>
|
||||
Reference in New Issue
Block a user