013 filters added
This commit is contained in:
+1
-1
@@ -99,7 +99,7 @@
|
||||
|
||||
|
||||
<cfset request.RECORDS_PER_PAGE=500/>
|
||||
<cfset request.APP_VERSION="0.00.012"/>
|
||||
<cfset request.APP_VERSION="0.00.013"/>
|
||||
<cfset request.STAND=getStand()/>
|
||||
|
||||
<cflock scope="application" type="readonly" timeout=3>
|
||||
|
||||
@@ -101,6 +101,11 @@
|
||||
<div class="td">#d.__name#</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Версия (index)</div>
|
||||
<div class="td">#d.index#</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Договор</div>
|
||||
<div class="td"><a href="contract.cfm?__id=#d.contract_uid#&#tr.fwx#"><b>#qDecoration.contract#</b> #dateFormat(qDecoration.date_of_aggrement,'DD.MM.YYYY')#
|
||||
@@ -124,12 +129,23 @@
|
||||
<div class="td">
|
||||
<a href="deal.cfm?__id=#d.deal_uid#&#tr.fwx#">#d.deal_uid#</a>
|
||||
<cfquery name="qDeal">
|
||||
with
|
||||
s(status, status_id, probability_pc) as (VALUES
|
||||
('Закрыта неуспешно',7,0),('Закрыта успешно',6,100),('Договор подписан',5,100),('Договор на подписании',15,90),('Договор на согласовании',12,70),
|
||||
('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0)
|
||||
)
|
||||
select d.__id::text
|
||||
, d.__name
|
||||
, d.__status_status
|
||||
, s.status
|
||||
, s.probability_pc
|
||||
from elma.deals d
|
||||
left outer join s on (d.__status_status=s.status_id)
|
||||
where d.__id=<cfqueryparam cfsqltype="cf_sql_other" value=#d.deal_uid#/>
|
||||
</cfquery>
|
||||
#qDeal.__name#
|
||||
(#qDeal.status#:
|
||||
#qDeal.probability_pc#%)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
<cfsilent>
|
||||
<cfimport prefix="m" taglib="lib"/>
|
||||
<cfimport prefix="c" taglib="lib/controls"/>
|
||||
<cfimport prefix="d" taglib="lib/data"/>
|
||||
<cfimport prefix="layout" taglib="layout"/>
|
||||
</cfsilent><m:silent silent="No">
|
||||
|
||||
<m:prepare_filter entity="additional_agreement" accessObject="" lsPage="additional_agreement_ls" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
|
||||
<m:filter_settings target="additional_agreement_ls"><!---*** вводит в заблуждение--->
|
||||
<m:filterparam filter=#filter# param="__name" ftype="string" compare="LIKE%" field="a.__name" default=""/>
|
||||
<m:filterparam filter=#filter# param="index" ftype="numeric" compare="EQ" field="a.index" default=""/>
|
||||
<m:filterparam filter=#filter# param="contract" ftype="string" compare="LIKE%" field="g.__name" default=""/>
|
||||
<m:filterparam filter=#filter# param="agreement_id" ftype="string" compare="LIKE%" field="g.agreement_id" default=""/>
|
||||
<m:filterparam filter=#filter# param="contragent" ftype="string" compare="LIKE%" field="k.__name" default=""/>
|
||||
<m:filterparam filter=#filter# param="wz" ftype="string" compare="LIKE%" field="k.id_klienta" default=""/>
|
||||
|
||||
</m:filter_settings>
|
||||
|
||||
<cfif isDefined("resetAndClose") or isDefined("saveAndClose")>
|
||||
<cflocation url="#tr.backUrl#" addtoken="No"/>
|
||||
</cfif>
|
||||
|
||||
</m:silent><!--- ----------------------------------------------------------------------------
|
||||
---------------------------------------------------------------------------------------------
|
||||
---------------------------------------------------------------------------------------------
|
||||
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||
<layout:attribute name="title"><cfoutput>Дополнительные соглашения - фильтр</cfoutput></layout:attribute>
|
||||
</layout:page>
|
||||
<!---<script type="text/javascript"/>
|
||||
$(document).ready(function() {
|
||||
|
||||
try {
|
||||
$("#customer_id").searchable({maxMultiMatch: 50});
|
||||
$("#service_manager_id").searchable({maxMultiMatch: 50});
|
||||
} catch (e) {alert(e)}
|
||||
});
|
||||
</script>--->
|
||||
<cfoutput>
|
||||
<input type="hidden" name="track" value="#tr.self#"/>
|
||||
|
||||
<div class="detail">
|
||||
|
||||
<div class="tr">
|
||||
<div class="th"></div>
|
||||
<div class="td">
|
||||
<button type="button" name="reset" onClick="document.location.href='#request.thisPage#?reset=yes&track=#tr.self#'">#i18("Очистить","Clear")#</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Номер</div>
|
||||
<div class="td">
|
||||
<input type="text" name="__name" value="#__name#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Версия</div>
|
||||
<div class="td">
|
||||
<input type="text" name="index" value="#index#" size="2"/>
|
||||
<i></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Внут. н-р договора</div>
|
||||
<div class="td">
|
||||
<input type="text" name="agreement_id" value="#agreement_id#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Договор</div>
|
||||
<div class="td">
|
||||
<input type="text" name="contract" value="#contract#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Контрагент</div>
|
||||
<div class="td">
|
||||
<input type="text" name="contragent" value="#contragent#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">WZ</div>
|
||||
<div class="td">
|
||||
<input type="text" name="wz" value="#wz#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!--- detail --->
|
||||
|
||||
</cfoutput>
|
||||
|
||||
<layout:page section="footer" closeForm="Yes"/>
|
||||
<!--- <cfdump var=#filter#> --->
|
||||
@@ -0,0 +1,123 @@
|
||||
<cfsilent>
|
||||
<cfimport prefix="m" taglib="lib"/>
|
||||
<cfimport prefix="c" taglib="lib/controls"/>
|
||||
<cfimport prefix="d" taglib="lib/data"/>
|
||||
<cfimport prefix="layout" taglib="layout"/>
|
||||
</cfsilent><m:silent silent="No">
|
||||
|
||||
<cffunction name="hideNonPositive">
|
||||
<cfargument name="a"/>
|
||||
<cfreturn (a GT 0)? a : ""/>
|
||||
</cffunction>
|
||||
|
||||
<m:prepare_ls entity="additional_agreement" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
|
||||
<!--- <m:filter_settings target="#pageInfo.entity#_ls">
|
||||
<m:filterparam filter=#filter# param="quickfilter" ftype="string" prefix="%" suffix="%" expression="((p.project like ?) OR (p.customer like ?) OR (p.customer_alias like ?) OR (p.contract_class_type like ?) OR (p.division like ?) OR (p.performer_short like ?))" default=""/>
|
||||
</m:filter_settings> --->
|
||||
<!--- <cfset pageInfo.settings.filter=#filter#/> --->
|
||||
|
||||
<cftry>
|
||||
<cfquery name="qRead" datasource="#request.DS#">
|
||||
select
|
||||
<d:field_set titleMapOut="titleMap" lengthOut="fieldCount">
|
||||
<d:field title="ID" cfSqlType="CF_SQL_OTHER">a.__id</d:field>
|
||||
<d:field title="Внут.номер">g.agreement_id</d:field>
|
||||
<d:field title="Доп.соглашение">a.__name</d:field>
|
||||
<d:field title="Версия">a.index</d:field>
|
||||
<d:field title="Сделка">d.__name as deal</d:field>
|
||||
<d:field title="Договор">g.__name as contract</d:field>
|
||||
<d:field title="company_uid">g.company_uid</d:field>
|
||||
<d:field title="Контрагент">k.__name as contragent</d:field>
|
||||
<d:field title="WZ">k.id_klienta as wz</d:field>
|
||||
<d:field title="Дата договора">g.date_of_aggrement</d:field>
|
||||
<d:field title="Дата окончания">g.date_end_aggrement</d:field>
|
||||
<d:field title="Тип договора">g.type_of_agreement</d:field>
|
||||
</d:field_set>
|
||||
from elma.additional_agreements a
|
||||
left outer join elma.additional_agreements b on (b.__id=ANY(a.base_by))
|
||||
left outer join elma.aggrements g on (a.contract_uid=g.__id)
|
||||
left outer join elma.deals d on (a.deal_uid=d.__id)
|
||||
left outer join elma.companies k on (g.company_uid=k.__id)
|
||||
where 1=1 <m:filter_build filter=#pageInfo.settings.filter#/>
|
||||
order by <m:order_build sortArray=#pageInfo.settings.sort.sortArray# fieldCount=#fieldCount#/>
|
||||
</cfquery>
|
||||
|
||||
|
||||
<cfcatch type="database">
|
||||
<m:ls_catch catch=#cfcatch# status=#pageInfo.status#/>
|
||||
</cfcatch>
|
||||
</cftry>
|
||||
|
||||
<cfquery name="qCountTotal" datasource="#request.DS#">
|
||||
select count(*) as cnt from elma.aggrements d where 1=1
|
||||
</cfquery>
|
||||
|
||||
</m:silent><!---
|
||||
-----------------------------------------------------------------------------------------
|
||||
-----------------------------------------------------------------------------------------
|
||||
-----------------------------------------------------------------------------------------
|
||||
---><cfif isDefined("output_xls")>
|
||||
<layout:xml qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.xml"/>
|
||||
<cfabort/>
|
||||
</cfif><cfif isDefined("output_json")>
|
||||
<layout:json qRead=#qRead# titleMap=#titleMap# filename="#pageInfo.entity#.json"/>
|
||||
<cfabort/>
|
||||
</cfif><!---
|
||||
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||
|
||||
<layout:attribute name="title">
|
||||
<cfoutput><b>Дополнительные соглашения</b></cfoutput>
|
||||
</layout:attribute>
|
||||
<!--- <layout:attribute name="controls"></layout:attribute> --->
|
||||
</layout:page>
|
||||
|
||||
<cfif pageInfo.readPermitted() AND !pageInfo.status.errorState>
|
||||
|
||||
<layout:grid_summary
|
||||
recordCount=#qRead.recordCount#
|
||||
totalCount=#qCountTotal.cnt#
|
||||
footerOut="gridFooter"
|
||||
excelLink="Yes"
|
||||
jsonLink="Yes"
|
||||
/>
|
||||
|
||||
|
||||
<!--- так довольно громоздко, но можно обойтись без Dynamic Evaluation --->
|
||||
<cfset queryAddColumn(qRead,'f_link_view_edit')/>
|
||||
<cfset titleMap.f_link_view_edit={ordinal=#StructCount(titleMap)+1#}/><!--- *** Это легко забыть, потому что TitleMap никак не сцеплен с qRead. Напрашивается: упаковать их в одну обертку (но тогда обращение станет длиннее). Еще идея - назвать qRead и TitleMap так, чтобы была видна их связь. --->
|
||||
<!--- <cfdump var=#titleMap#/> --->
|
||||
<cfset queryAddColumn(qRead,'f_link_del')/>
|
||||
<cfset titleMap.f_link_del={ordinal=0}/>
|
||||
<!--- <cfdump var=#titleMap#/> --->
|
||||
<cfoutput query=#qRead# startRow=#pageInfo.nStart# maxRows=#pageInfo.recordsPerPage#>
|
||||
<cfsavecontent variable="qRead.f_link_view_edit">
|
||||
<a href="additional_agreement.cfm?__id=#__id#&#tr.fwx#" name="#__id#" title="просмотр" class="view"></a>
|
||||
</cfsavecontent>
|
||||
|
||||
</cfoutput>
|
||||
|
||||
<c:table query=#qRead# recordsPerPage=#pageInfo.recordsPerPage# nStart=#pageInfo.nStart# titleMap=#titleMap# sortArray=#pageInfo.settings.sort.sortArray# class="worktable wide">
|
||||
<c:column width="1%" sortable="false"><!---*** class="c" не пробрасывается --->
|
||||
|
||||
<c:td field="f_link_view_edit" class="c"/>
|
||||
|
||||
</c:column>
|
||||
<c:column width="10%" field="__id"><c:td class="l"/></c:column>
|
||||
<c:column width="10%" field="__name"/>
|
||||
<c:column width="3%" field="index"/>
|
||||
<c:column width="6%" field="contract"/>
|
||||
<c:column width="6%" field="agreement_id"/>
|
||||
<c:column width="10%" field="deal"/>
|
||||
<c:column width="10%" field="contragent"/>
|
||||
<c:column width="10%" field="wz"/>
|
||||
<c:column width="10%" field="date_of_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
||||
<c:column width="10%" field="date_end_aggrement" formatter=#function(dt){return dateformat(dt,"YYYY-MM-DD");}#/>
|
||||
<c:column width="10%" field="type_of_agreement"><c:td class="l"/></c:column>
|
||||
|
||||
</c:table>
|
||||
|
||||
<cfoutput>#gridFooter#</cfoutput>
|
||||
|
||||
</cfif>
|
||||
<layout:page section="footer"/>
|
||||
+16
-6
@@ -38,7 +38,7 @@
|
||||
<!--- decoration --->
|
||||
<cfquery name="qDecoration" datasource="#request.DS#">
|
||||
select
|
||||
__name as contragent
|
||||
__name as contragent, id_klienta as wz
|
||||
from elma.companies k
|
||||
where k.__id=<cfqueryparam cfsqltype="cf_sql_other" value=#d.company_uid# null=#!isValid('guid',d.company_uid)#/>
|
||||
</cfquery>
|
||||
@@ -85,17 +85,17 @@
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Контрагент</div>
|
||||
<div class="td">#qDecoration.contragent# [#d.company_uid#]</div>
|
||||
<div class="td">#qDecoration.contragent# #qDecoration.wz# [#d.company_uid#] </div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Дата договора</div>
|
||||
<div class="td">#d.date_of_aggrement#</div>
|
||||
<div class="td">#dateFmt(d.date_of_aggrement)#</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Дата окончания договора</div>
|
||||
<div class="td">#d.date_end_aggrement#</div>
|
||||
<div class="td">#dateFmt(d.date_end_aggrement)#</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -107,14 +107,18 @@
|
||||
<cfif len(d.__id)>
|
||||
<cfquery name="qAdditionalAgreement">
|
||||
select
|
||||
__id::text
|
||||
,__name
|
||||
a.__id::text
|
||||
,a.__name
|
||||
,contract_uid::text
|
||||
,is_actual
|
||||
,last_aa
|
||||
,index
|
||||
,deal_uid::text
|
||||
,base_by::text
|
||||
,d.__name as deal
|
||||
,d.__status_status as status_id
|
||||
from elma.additional_agreements a
|
||||
left outer join elma.deals d on (a.deal_uid=d.__id)
|
||||
where a.contract_uid=<cfqueryparam cfsqltype="cf_sql_other" value="#d.__id#"/>
|
||||
order by 1
|
||||
</cfquery>
|
||||
@@ -129,10 +133,13 @@
|
||||
<tr>
|
||||
<th>__id</th>
|
||||
<th>__name</th>
|
||||
<th>index</th>
|
||||
<th>contract_uid</th>
|
||||
<th>is_actual</th>
|
||||
<th>last_aa</th>
|
||||
<th>deal_uid</th>
|
||||
<th>deal</th>
|
||||
<th>status</th>
|
||||
<th>base_by</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -141,10 +148,13 @@
|
||||
|
||||
<td><a href="additional_agreement.cfm?__id=#__id#&#tr.fwx#">#__id#</a></td>
|
||||
<td>#__name#</td>
|
||||
<td>#index#</td>
|
||||
<td>#contract_uid#</td>
|
||||
<td>#is_actual#</td>
|
||||
<td>#last_aa#</td>
|
||||
<td><a href="deal.cfm?__id=#deal_uid#&#tr.fwx#">#deal_uid#</a></td>
|
||||
<td>#deal#</td>
|
||||
<td>#status_id#</td>
|
||||
<td>#base_by#</td>
|
||||
<!--- <td class="c">
|
||||
#dateFormat(dt_contract,'YYYY-MM-DD')#
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
<cfsilent>
|
||||
<cfimport prefix="m" taglib="lib"/>
|
||||
<cfimport prefix="c" taglib="lib/controls"/>
|
||||
<cfimport prefix="d" taglib="lib/data"/>
|
||||
<cfimport prefix="layout" taglib="layout"/>
|
||||
</cfsilent><m:silent silent="No">
|
||||
|
||||
<m:prepare_filter entity="contract" accessObject="" lsPage="contract_ls" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
|
||||
<m:filter_settings target="contract_ls"><!---*** вводит в заблуждение--->
|
||||
<m:filterparam filter=#filter# param="__name" ftype="string" compare="LIKE%" field="d.__name" default=""/>
|
||||
<m:filterparam filter=#filter# param="agreement_id" ftype="string" compare="LIKE%" field="d.agreement_id" default=""/>
|
||||
<m:filterparam filter=#filter# param="contragent" ftype="string" compare="LIKE%" field="k.__name" default=""/>
|
||||
<m:filterparam filter=#filter# param="wz" ftype="string" compare="LIKE%" field="k.id_klienta" default=""/>
|
||||
|
||||
</m:filter_settings>
|
||||
|
||||
<cfif isDefined("resetAndClose") or isDefined("saveAndClose")>
|
||||
<cflocation url="#tr.backUrl#" addtoken="No"/>
|
||||
</cfif>
|
||||
|
||||
</m:silent><!--- ----------------------------------------------------------------------------
|
||||
---------------------------------------------------------------------------------------------
|
||||
---------------------------------------------------------------------------------------------
|
||||
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||
<layout:attribute name="title"><cfoutput>Договоры - фильтр</cfoutput></layout:attribute>
|
||||
</layout:page>
|
||||
<!---<script type="text/javascript"/>
|
||||
$(document).ready(function() {
|
||||
|
||||
try {
|
||||
$("#customer_id").searchable({maxMultiMatch: 50});
|
||||
$("#service_manager_id").searchable({maxMultiMatch: 50});
|
||||
} catch (e) {alert(e)}
|
||||
});
|
||||
</script>--->
|
||||
<cfoutput>
|
||||
<input type="hidden" name="track" value="#tr.self#"/>
|
||||
|
||||
<div class="detail">
|
||||
|
||||
<div class="tr">
|
||||
<div class="th"></div>
|
||||
<div class="td">
|
||||
<button type="button" name="reset" onClick="document.location.href='#request.thisPage#?reset=yes&track=#tr.self#'">#i18("Очистить","Clear")#</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Номер</div>
|
||||
<div class="td">
|
||||
<input type="text" name="__name" value="#__name#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Внутренний номер</div>
|
||||
<div class="td">
|
||||
<input type="text" name="agreement_id" value="#agreement_id#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Контрагент</div>
|
||||
<div class="td">
|
||||
<input type="text" name="contragent" value="#contragent#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">WZ</div>
|
||||
<div class="td">
|
||||
<input type="text" name="wz" value="#wz#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div><!--- detail --->
|
||||
|
||||
</cfoutput>
|
||||
|
||||
<layout:page section="footer" closeForm="Yes"/>
|
||||
<!--- <cfdump var=#filter#> --->
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
<cfreturn (a GT 0)? a : ""/>
|
||||
</cffunction>
|
||||
|
||||
<m:prepare_ls entity="aggrements" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
<m:prepare_ls entity="contract" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
|
||||
<!--- <m:filter_settings target="#pageInfo.entity#_ls">
|
||||
<m:filterparam filter=#filter# param="quickfilter" ftype="string" prefix="%" suffix="%" expression="((p.project like ?) OR (p.customer like ?) OR (p.customer_alias like ?) OR (p.contract_class_type like ?) OR (p.division like ?) OR (p.performer_short like ?))" default=""/>
|
||||
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
<cfsilent>
|
||||
<cfimport prefix="m" taglib="lib"/>
|
||||
<cfimport prefix="c" taglib="lib/controls"/>
|
||||
<cfimport prefix="d" taglib="lib/data"/>
|
||||
<cfimport prefix="layout" taglib="layout"/>
|
||||
</cfsilent><m:silent silent="No">
|
||||
|
||||
<m:prepare_filter entity="deal" accessObject="" lsPage="deal_ls" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
|
||||
<m:filter_settings target="deal_ls"><!---*** вводит в заблуждение--->
|
||||
<m:filterparam filter=#filter# param="__name" ftype="string" compare="LIKE%" field="d.__name" default=""/>
|
||||
<m:filterparam filter=#filter# param="contragent" ftype="string" compare="LIKE%" field="k.__name" default=""/>
|
||||
<m:filterparam filter=#filter# param="wz" ftype="string" compare="LIKE%" field="k.id_klienta" default=""/>
|
||||
<m:filterparam filter=#filter# param="status_id" ftype="numeric" compare="EQ" field="d.__status_status" default=""/>
|
||||
</m:filter_settings>
|
||||
|
||||
<cfif isDefined("resetAndClose") or isDefined("saveAndClose")>
|
||||
<cflocation url="#tr.backUrl#" addtoken="No"/>
|
||||
</cfif>
|
||||
|
||||
</m:silent><!--- ----------------------------------------------------------------------------
|
||||
---------------------------------------------------------------------------------------------
|
||||
---------------------------------------------------------------------------------------------
|
||||
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||
<layout:attribute name="title"><cfoutput>Сделки - фильтр</cfoutput></layout:attribute>
|
||||
</layout:page>
|
||||
<!---<script type="text/javascript"/>
|
||||
$(document).ready(function() {
|
||||
|
||||
try {
|
||||
$("#customer_id").searchable({maxMultiMatch: 50});
|
||||
$("#service_manager_id").searchable({maxMultiMatch: 50});
|
||||
} catch (e) {alert(e)}
|
||||
});
|
||||
</script>--->
|
||||
<cfoutput>
|
||||
<input type="hidden" name="track" value="#tr.self#"/>
|
||||
|
||||
<div class="detail">
|
||||
|
||||
<div class="tr">
|
||||
<div class="th"></div>
|
||||
<div class="td">
|
||||
<button type="button" name="reset" onClick="document.location.href='#request.thisPage#?reset=yes&track=#tr.self#'">#i18("Очистить","Clear")#</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Название</div>
|
||||
<div class="td">
|
||||
<input type="text" name="__name" value="#__name#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Контрагент</div>
|
||||
<div class="td">
|
||||
<input type="text" name="contragent" value="#contragent#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">WZ</div>
|
||||
<div class="td">
|
||||
<input type="text" name="wz" value="#wz#" size="50"/>
|
||||
<i>#i18("по вхождению подстроки","by substring")#</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Статус</div>
|
||||
<div class="td" style="vertical-align:top;">
|
||||
<cfquery name="qStatus" datasource="#request.DS#">
|
||||
with
|
||||
status (status, status_id, probability_pc) as (VALUES
|
||||
('Закрыта неуспешно',7,0),('Закрыта успешно',6,100),('Договор подписан',5,100),('Договор на подписании',15,90),('Договор на согласовании',12,70),
|
||||
('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0)
|
||||
)
|
||||
select status_id, status, probability_pc
|
||||
from status
|
||||
order by status_id
|
||||
</cfquery>
|
||||
|
||||
<c:combo
|
||||
query=#qStatus#
|
||||
combo="status_id"
|
||||
id="status_id"
|
||||
key="status_id"
|
||||
displayf="##status_id## ##status## (##probability_pc##%)"
|
||||
selected=#status_id#
|
||||
empty=""
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div><!--- detail --->
|
||||
|
||||
</cfoutput>
|
||||
|
||||
<layout:page section="footer" closeForm="Yes"/>
|
||||
<!--- <cfdump var=#filter#> --->
|
||||
+1
-1
@@ -10,7 +10,7 @@
|
||||
<cfreturn (a GT 0)? a : ""/>
|
||||
</cffunction>
|
||||
|
||||
<m:prepare_ls entity="deals" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
<m:prepare_ls entity="deal" accessObject="" pageInfoOut="pageInfo" trackOut="tr"/>
|
||||
|
||||
<!--- <m:filter_settings target="#pageInfo.entity#_ls">
|
||||
<m:filterparam filter=#filter# param="quickfilter" ftype="string" prefix="%" suffix="%" expression="((p.project like ?) OR (p.customer like ?) OR (p.customer_alias like ?) OR (p.contract_class_type like ?) OR (p.division like ?) OR (p.performer_short like ?))" default=""/>
|
||||
|
||||
+12
-4
@@ -141,6 +141,11 @@
|
||||
<div class="th">Сделка</div>
|
||||
<div class="td">
|
||||
<cfquery name="qDeal">
|
||||
with
|
||||
s(status, status_id, probability_pc) as (VALUES
|
||||
('Закрыта неуспешно',7,0),('Закрыта успешно',6,100),('Договор подписан',5,100),('Договор на подписании',15,90),('Договор на согласовании',12,70),
|
||||
('Тестирование',8,50),('Отправлено ТКП',10,20),('Внутреннее согласование',37,10),('Проработка решения',4,10),('Сбор потребностей',1,0)
|
||||
)
|
||||
select
|
||||
d.__id::text
|
||||
,d.__name
|
||||
@@ -149,17 +154,20 @@
|
||||
,d.__index
|
||||
,d.__status_status
|
||||
,c.id_klienta as wz
|
||||
, s.status
|
||||
, s.probability_pc
|
||||
from elma.deals_services siv
|
||||
join elma.deals d on (d.__id = ANY(siv.deal))
|
||||
left outer join elma.companies c on (d._companies=c.__id)
|
||||
left outer join s on (d.__status_status=s.status_id)
|
||||
where siv.__id=<cfqueryparam cfsqltype="cf_sql_other" value=#d.__id#/>
|
||||
</cfquery>
|
||||
<!--- <cfdump var=#qDeal#/> --->
|
||||
<a href="deal.cfm?__id=#qDeal.__id#&#tr.fwx#">#qDeal.__id#</a>
|
||||
#qDeal.contragent# #qDeal.wz#
|
||||
#qDeal.__name#
|
||||
_plannedDueDate: <b>#dateFormat(qDeal._plannedDueDate,'DD.MM.YYYY')#</b>
|
||||
status: <b>#qDeal.__status_status#</b>
|
||||
#qDeal.contragent# | #qDeal.wz# |
|
||||
#qDeal.__name# |
|
||||
_plannedDueDate: <cfif len(qDeal._plannedDueDate)><b>#dateFormat(qDeal._plannedDueDate,'DD.MM.YYYY')#</b><cfelse>--</cfif>
|
||||
<b>#qDeal.__status_status#: #qDeal.status# (#qDeal.probability_pc#%)</b>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
+3
-1
@@ -12,8 +12,10 @@
|
||||
|
||||
<li class="menu-title">Реестры</li>
|
||||
|
||||
<c:menu_item acl="" page="contract_ls.cfm" label="Договоры"/>
|
||||
<c:menu_item acl="" page="deal_ls.cfm" label="Сделки"/>
|
||||
<c:menu_item acl="" page="contract_ls.cfm" label="Договоры"/>
|
||||
<c:menu_item acl="" page="additional_agreement_ls.cfm" label="Доп. соглашения"/>
|
||||
|
||||
<!---
|
||||
<c:menu_item acl="" page="specification_ls.cfm" label="Спецификации"/>
|
||||
<c:menu_item acl="" page="agreement_ls.cfm" label="Сделки"/>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<!--- version 2.01---><!---15:25 31.01.2019--->
|
||||
<!--- version 2.02---><!---2025-08-04 15:19:34 postgre specific ilike instead of like--->
|
||||
<!--- build query filter string --->
|
||||
<!--- пустые и некорректные значения параметров вызвыают пропуск параметра --->
|
||||
<cfparam name="ATTRIBUTES.filter" type="struct"/>
|
||||
@@ -20,7 +21,7 @@
|
||||
---><cfif i LT #len#><cfqueryparam cfsqltype="#getCfSqLType(fltr.ftype)#" list="#fltr.list#" value="#fltr.prefix##fltr.val##fltr.suffix#"/></cfif><!---
|
||||
---></cfloop><!---
|
||||
---><cfelse><!---
|
||||
---><cfoutput>#fltr.field#</cfoutput><cfswitch expression=#fltr.compare#><cfcase value="EQ"> = </cfcase><cfcase value="NE,NEQ"> <> </cfcase><cfcase value="LE"> <= </cfcase><cfcase value="LT"> < </cfcase><cfcase value="GE"> >= </cfcase><cfcase value="GT"> > </cfcase><cfcase value="LIKE"> LIKE </cfcase><cfcase value="NOTLIKE"> NOT LIKE </cfcase><cfcase value="LIKE%"> LIKE <cfqueryparam cfsqltype=#getCfSqLType(fltr.ftype)# value="%#fltr.val#%"/><cfcontinue/></cfcase><cfcase value="NOTLIKE%"> NOT LIKE <cfqueryparam cfsqltype=#getCfSqLType(fltr.ftype)# value="%#fltr.val#%"/><cfcontinue/></cfcase><cfcase value="IN"> IN (<cfqueryparam cfsqltype=#getCfSqLType(fltr.ftype)# list="#fltr.list#" value="#fltr.val#"/>)<cfcontinue/></cfcase><cfdefaultcase> = <cfoutput> #fltr.field#</cfoutput><cfcontinue/><!---***криво---></cfdefaultcase></cfswitch><cfqueryparam cfsqltype=#getCfSqLType(fltr.ftype)# value="#fltr.val#"/><cfcontinue/>
|
||||
---><cfoutput>#fltr.field#</cfoutput><cfswitch expression=#fltr.compare#><cfcase value="EQ"> = </cfcase><cfcase value="NE,NEQ"> <> </cfcase><cfcase value="LE"> <= </cfcase><cfcase value="LT"> < </cfcase><cfcase value="GE"> >= </cfcase><cfcase value="GT"> > </cfcase><cfcase value="LIKE"> ILIKE </cfcase><cfcase value="NOTLIKE"> NOT ILIKE </cfcase><cfcase value="LIKE%"> ILIKE <cfqueryparam cfsqltype=#getCfSqLType(fltr.ftype)# value="%#fltr.val#%"/><cfcontinue/></cfcase><cfcase value="NOTLIKE%"> NOT ILIKE <cfqueryparam cfsqltype=#getCfSqLType(fltr.ftype)# value="%#fltr.val#%"/><cfcontinue/></cfcase><cfcase value="IN"> IN (<cfqueryparam cfsqltype=#getCfSqLType(fltr.ftype)# list="#fltr.list#" value="#fltr.val#"/>)<cfcontinue/></cfcase><cfdefaultcase> = <cfoutput> #fltr.field#</cfoutput><cfcontinue/><!---***криво---></cfdefaultcase></cfswitch><cfqueryparam cfsqltype=#getCfSqLType(fltr.ftype)# value="#fltr.val#"/><cfcontinue/>
|
||||
</cfif>
|
||||
</cfloop>
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<cfimport prefix="m" taglib="../lib"/>
|
||||
|
||||
<cfparam name="ATTRIBUTES.entity" type="string"/>
|
||||
<cfparam name="ATTRIBUTES.accessObject" type="string" default=#ATTRIBUTES.entity#/>
|
||||
<cfparam name="ATTRIBUTES.key" type="string" default="#ATTRIBUTES.entity#_id"/>
|
||||
<cfparam name="ATTRIBUTES.pageInfoOut" type="string"/>
|
||||
<cfparam name="ATTRIBUTES.trackOut" type="string"/>
|
||||
@@ -14,7 +15,7 @@
|
||||
<m:settings key="#ATTRIBUTES.lsPage#" output="settings" action="get"/>
|
||||
<cfset pageInfo.settings=#settings#/>
|
||||
|
||||
<m:ac obj="#ATTRIBUTES.entity#" act="#request.PERMISSION_READ#" output="readPermitted"/>
|
||||
<m:ac obj="#ATTRIBUTES.accessObject#" act="#request.PERMISSION_READ#" output="readPermitted"/>
|
||||
<cfset pageInfo.readPermitted=#readPermitted#/>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user