initial draft
This commit is contained in:
+378
@@ -0,0 +1,378 @@
|
||||
<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="plain2HtmClean">
|
||||
<cfargument name="s" type="string"/>
|
||||
<cfreturn request.plain2htm(request.cleanHtm(s))/>
|
||||
</cffunction>
|
||||
|
||||
<cffunction name="cleanInput">
|
||||
<cfargument name="s" type="string"/>
|
||||
<cfreturn htmlEditFormat(s)/>
|
||||
</cffunction>
|
||||
|
||||
<m:prepare_detail entity="param_class" key="param_class_id" pageInfoOut="pageInfo"/>
|
||||
|
||||
<d:bean readonly=#!pageInfo.writePermitted()# table="param_class" datasource="#request.DS#" output="d" status="status">
|
||||
<d:param field="param_class_id" type="integer" key autoincrement/>
|
||||
<d:param field="param_class" type="varchar" size="255" preprocessor=#cleanInput#/>
|
||||
<d:param field="param_class_en" type="varchar" size="255" preprocessor=#cleanInput#/>
|
||||
<d:param field="measure_id" type="integer" forNull=""/>
|
||||
<d:param field="precision" type="integer" init="0" forNull=""/>
|
||||
<d:param field="descr" type="varchar" preprocessor=#plain2HtmClean#/>
|
||||
|
||||
<d:param field="creator_id" type="integer" value="#request.usr_id#" skipUpdate/>
|
||||
<d:param field="updater_id" type="integer" value="#request.usr_id#" />
|
||||
<d:param field="dt_created" type="timestamp" value="#Now()#" skipUpdate/>
|
||||
<d:param field="dt_updated" type="timestamp" value="#Now()#"/>
|
||||
</d:bean>
|
||||
|
||||
<m:dispatch_detail
|
||||
usePRG="No"<!---*** --->
|
||||
pageInfo=#pageInfo#
|
||||
id="#d.param_class_id#"
|
||||
status=#pageInfo.status#
|
||||
trackOut="tr"
|
||||
idAttributesOut="id"
|
||||
/>
|
||||
|
||||
<cfquery name="qDecoration" datasource="#request.DS#">
|
||||
select
|
||||
a.login as creator, a.shortname as creator_shortname, m.login as updater, m.shortname as updater_shortname
|
||||
from #pageInfo.entity# e
|
||||
left outer join usr a on (e.creator_id=a.usr_id)
|
||||
left outer join usr m on (e.updater_id=m.usr_id)
|
||||
where e.#pageInfo.key#=<cfqueryparam attributeCollection=#id#/>
|
||||
</cfquery>
|
||||
|
||||
</m:silent><!---
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
------------------------------------------------------------------------------------------------------------------------
|
||||
---><layout:page section="header" pageInfo=#pageInfo#>
|
||||
<layout:attribute name="title">
|
||||
<cfoutput>
|
||||
Компонент
|
||||
<cfif d.param_class_id GT 0>
|
||||
<b>#d.param_class#</b>
|
||||
[#d.param_class_id#]
|
||||
</cfif>
|
||||
</cfoutput>
|
||||
</layout:attribute>
|
||||
</layout:page>
|
||||
|
||||
<cfif status.errorState GT 0>
|
||||
<cfoutput><div class="err">#status.errorMessage#</div></cfoutput>
|
||||
</cfif>
|
||||
|
||||
<cfoutput>
|
||||
<input type="hidden" name="param_class_id" value="#d.param_class_id#"/>
|
||||
<input type="hidden" name="track" value="#tr.self#"/>
|
||||
<input type="hidden" name="pass" value=""/><!--- pass marker to prevent save on submit --->
|
||||
|
||||
<div class="detail">
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Компонент (RUS)</div>
|
||||
<div class="td">
|
||||
<input type="text" name="param_class" value="#d.param_class#" size="70"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Компонент (ENG)</div>
|
||||
<div class="td">
|
||||
<input type="text" name="param_class_en" value="#d.param_class_en#" size="70"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Единица измерения</div>
|
||||
<div class="td">
|
||||
<cfquery name="qMeasure" datasource="#request.DS#">
|
||||
select measure_id, measure_short
|
||||
from measure
|
||||
order by 2
|
||||
</cfquery>
|
||||
<c:combo
|
||||
query=#qMeasure#
|
||||
combo="measure_id"
|
||||
id="measure_id"
|
||||
key="measure_id"
|
||||
selected="#d.measure_id#"
|
||||
displayf="##measure_short##"
|
||||
empty=""
|
||||
class=""
|
||||
<!---onchange="submit();"---> />
|
||||
<i>служит шаблоном для единицы измерения варианта компонента, ***может быть переопределена</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Точность</div>
|
||||
<div class="td">
|
||||
<input type="text" name="precision" value="#d.precision#" size="1" class="r"/>
|
||||
<i>количество знаков после запятой. 0 - целое число</i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Описание</div>
|
||||
<div class="td">
|
||||
<textarea name="descr" rows="10" cols="100">#request.htm2plain(d.descr)#</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tr">
|
||||
<div class="th">Создано</div>
|
||||
<div class="td">
|
||||
#dateFormat(d.dt_created,'DD.MM.YYYY')# #timeFormat(d.dt_created,'HH:MM')#
|
||||
#qDecoration.creator# <cfif len(qDecoration.creator_shortname)>(#qDecoration.creator_shortname#)</cfif>
|
||||
|
||||
Изменено
|
||||
#dateFormat(d.dt_updated,'DD.MM.YYYY')# #timeFormat(d.dt_updated,'HH:MM')#
|
||||
#qDecoration.updater# <cfif len(qDecoration.updater_shortname)>(#qDecoration.updater_shortname#)</cfif>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</cfoutput>
|
||||
|
||||
<layout:page section="extension" closeForm="Yes"/>
|
||||
|
||||
<cfif d.param_class_id GT 0>
|
||||
|
||||
<cfquery name="qParam" datasource="#request.DS#">
|
||||
select
|
||||
p.param_id
|
||||
,p.param
|
||||
,c.param_class
|
||||
,p.code
|
||||
,p.precision
|
||||
,p.sort
|
||||
,m.measure_id
|
||||
,m.measure
|
||||
,m.measure_short
|
||||
,(select count(distinct service_id) from service_param sp where sp.param_id=p.param_id) as svc_cnt
|
||||
from param p
|
||||
join param_class c on (p.param_class_id=c.param_class_id)
|
||||
left outer join measure m on (p.measure_id=m.measure_id)
|
||||
where p.param_class_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.param_class_id#"/>
|
||||
order by p.sort
|
||||
</cfquery>
|
||||
|
||||
<cfoutput>
|
||||
<h4>Варианты компонента (#qParam.recordCount#)
|
||||
<cfif pageInfo.writePermitted()>
|
||||
<cfoutput>
|
||||
<cfset addUrl="param.cfm?param_id=-1¶m_class_id=#d.param_class_id#&#tr.fwx#"/>
|
||||
<button type="button" class="maincontrol" onclick="document.location.href='#addUrl#'">
|
||||
<a href="#addUrl#">Создать</a>
|
||||
</button>
|
||||
</cfoutput>
|
||||
</cfif>
|
||||
</h4>
|
||||
</cfoutput>
|
||||
<table class="worktable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Компонент</th>
|
||||
<th>Вариант компонента</th>
|
||||
<th>Код</th>
|
||||
<th>Единица измерения</th>
|
||||
<th>Точность</th>
|
||||
<th>Сортировка</th>
|
||||
<th>Используется услугами</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<cfoutput query="qParam">
|
||||
<tr>
|
||||
<td>
|
||||
<c:link_view_edit canWrite=#pageInfo.writePermitted()# entity="param" id=#param_id# fwx=#tr.fwx#/>
|
||||
</td>
|
||||
<td>#param_class#</td>
|
||||
<td>
|
||||
<!--- <a href="param.cfm?param_id=#param_id#&#tr.fwx#">#param#</a> --->
|
||||
<a href="param.cfm?param_id=#param_id#&#tr.fwx#" title="Вариант компонента">
|
||||
<cfif param_id GT 0>
|
||||
<cfif len(param) GT 0>
|
||||
#param#
|
||||
<cfelse>
|
||||
(основной вариант)
|
||||
</cfif>
|
||||
<cfelse>
|
||||
(не выбран)
|
||||
</cfif>
|
||||
</a>
|
||||
</td>
|
||||
<td class="c">#code#</td>
|
||||
<td class="c"><cfif measure_id GT 0>#measure# (#measure_short#)<cfelse>(нет)</cfif></td>
|
||||
<td class="r">#precision#</td>
|
||||
<td class="c">#sort#</td>
|
||||
<td class="c">#svc_cnt#</td>
|
||||
<td class="c"><c:link_del canWrite=#pageInfo.writePermitted()# entity="param" id=#param_id# fwx=#tr.fwx#/></td>
|
||||
</tr>
|
||||
</cfoutput>
|
||||
</table>
|
||||
<!--- <i>Цена без НДС, ₽ указана вне контекста услуги</i> --->
|
||||
<br/>
|
||||
|
||||
<!--- -------------------------------------------------------------------- --->
|
||||
<!--- -------------------------------------------------------------------- --->
|
||||
<!--- -------------------------------------------------------------------- --->
|
||||
|
||||
<cfquery name="qAbstractService" datasource="#request.DS#">
|
||||
select distinct
|
||||
ac.abstract_service_id
|
||||
,a.code
|
||||
,a.abstract_service
|
||||
,ac.abstract_service_param_class_id
|
||||
,ac.is_multiple
|
||||
,g.area_code
|
||||
from abstract_service a
|
||||
join area g on (a.area_id=g.area_id)
|
||||
right outer join abstract_service_param_class ac on (a.abstract_service_id=ac.abstract_service_id)
|
||||
where ac.param_class_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.param_class_id#"/>
|
||||
order by a.code, a.abstract_service
|
||||
</cfquery>
|
||||
|
||||
|
||||
<cfoutput>
|
||||
<h4>Используется абстрактными услугами (#qAbstractService.recordCount#)</h4>
|
||||
</cfoutput>
|
||||
|
||||
<table class="worktable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Код</th>
|
||||
<th>Абстрактная услуга</th>
|
||||
<th>Компонент</th>
|
||||
<th>Множественный</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<cfoutput query="qAbstractService">
|
||||
<tr>
|
||||
<td>
|
||||
<c:link_view_edit canWrite=#pageInfo.writePermitted()# entity="abstract_service_param_class" id=#abstract_service_param_class_id# fwx=#tr.fwx#/>
|
||||
</td>
|
||||
<td>
|
||||
<a href="abstract_service.cfm?abstract_service_id=#abstract_service_id#&#tr.fwx#">#request.skuCode(area_code,code)#</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="abstract_service.cfm?abstract_service_id=#abstract_service_id#&#tr.fwx#">#abstract_service#</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="abstract_service_param_class.cfm?abstract_service_param_class_id=#abstract_service_param_class_id#&#tr.fwx#">#d.param_class#</a>
|
||||
</td>
|
||||
<td class="c">
|
||||
<cfif is_multiple GT 0>
|
||||
Да
|
||||
</cfif>
|
||||
</td>
|
||||
<td class="c">
|
||||
<c:link_del canWrite=#pageInfo.writePermitted()# entity="abstract_service_param_class" id=#abstract_service_param_class_id# fwx=#tr.fwx#/>
|
||||
</td>
|
||||
</tr>
|
||||
</cfoutput>
|
||||
</table>
|
||||
|
||||
<!--- -------------------------------------------------------------------- --->
|
||||
<!--- -------------------------------------------------------------------- --->
|
||||
<!--- -------------------------------------------------------------------- --->
|
||||
|
||||
<cfquery name="qService" datasource="#request.DS#">
|
||||
select distinct
|
||||
s.service_id
|
||||
,sp.service_param_id
|
||||
,a.abstract_service_id
|
||||
,a.code
|
||||
,a.abstract_service
|
||||
,g.area_code
|
||||
,m.modifier_id
|
||||
,m.modifier
|
||||
,m.code as modifier_code
|
||||
,p.param_id
|
||||
,p.param
|
||||
,p.code as param_code
|
||||
from service s
|
||||
join service_param sp on (s.service_id=sp.service_id)
|
||||
join abstract_service_param_class ac on (sp.abstract_service_param_class_id=ac.abstract_service_param_class_id)
|
||||
left outer join param p on (sp.param_id=p.param_id)
|
||||
left outer join modifier m on (s.modifier_id=m.modifier_id)
|
||||
left outer join abstract_service a on (s.abstract_service_id=a.abstract_service_id)
|
||||
left join area g on (a.area_id=g.area_id)
|
||||
where ac.param_class_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#d.param_class_id#"/>
|
||||
order by a.code, a.abstract_service
|
||||
</cfquery>
|
||||
|
||||
<cfoutput>
|
||||
<h4>Используется конкретными услугами (#qService.recordCount#)</h4>
|
||||
</cfoutput>
|
||||
|
||||
<table class="worktable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
|
||||
<th>Абстрактная услуга</th>
|
||||
<th>Вариант услуги</th>
|
||||
<th>Код вар. усл. </th>
|
||||
<th>Компонент</th>
|
||||
<th>Вариант компонента</th>
|
||||
<th>Код вар. комп.</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<cfoutput query="qService">
|
||||
<tr>
|
||||
<td>
|
||||
<c:link_view_edit canWrite=#pageInfo.writePermitted()# entity="service_param" id=#service_param_id# fwx=#tr.fwx#/>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<cfif abstract_service_id GT 0><a href="abstract_service.cfm?abstract_service_id=#abstract_service_id#&#tr.fwx#">#abstract_service#</a></cfif>
|
||||
</td>
|
||||
<td class="c">
|
||||
<a href="service.cfm?service_id=#service_id#&#tr.fwx#">#abstract_service# #modifier#</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="service.cfm?service_id=#service_id#&#tr.fwx#">#request.skuCode(area_code,code,modifier_code)#</a>
|
||||
</td>
|
||||
<td>
|
||||
#d.param_class#
|
||||
</td>
|
||||
<td>
|
||||
<a href="service_param.cfm?service_param_id=#service_param_id#&#tr.fwx#" title="Вариант компонента конкретной услуги">
|
||||
<cfif param_id GT 0>
|
||||
<cfif len(param) GT 0>
|
||||
#param#
|
||||
<cfelse>
|
||||
(основной вариант)
|
||||
</cfif>
|
||||
<cfelse>
|
||||
(не выбран)
|
||||
</cfif>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="service_param.cfm?service_param_id=#service_param_id#&#tr.fwx#">#request.skuCode(area_code,code,modifier_code,param_code)#</a>
|
||||
</td>
|
||||
<td class="c">
|
||||
<c:link_del canWrite=#pageInfo.writePermitted()# entity="service" id=#service_id# fwx=#tr.fwx#/>
|
||||
</td>
|
||||
</tr>
|
||||
</cfoutput>
|
||||
</table>
|
||||
|
||||
</cfif>
|
||||
|
||||
<layout:page section="footer"/>
|
||||
Reference in New Issue
Block a user