<apex:page controller="AccountCaseTabController" showChat="false" showHeader="false" sidebar="false" action="{!init}" id="Page">
|
<title>检查数</title>
|
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
|
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
|
<style type="text/css">
|
table {border-collapse: collapse;}
|
|
th.lvl1 {width: 100px;}
|
th.lvl2 {width: 100px;}
|
th.lvl3 {width: 100px;}
|
th.price {width: 100px; text-align: center;}
|
th.num {width: 100px; text-align: center;}
|
th.sum {width: 100px; text-align: center;}
|
th.total {width: 100px; text-align: center;}
|
th.priceSum {width: 100px; text-align: center;}
|
th.priceTotal {width: 100px; text-align: center;}
|
|
td {font-size: 120%;}
|
td.lvl1 {text-align:center; vertical-align:middle;}
|
td.lvl2 {text-align:center; vertical-align:middle;}
|
td.sum {text-align: right;}
|
td.total {text-align: right;}
|
td.priceSum {text-align: right;}
|
td.priceTotal {text-align: right;}
|
|
div.requiredInput {
|
position: relative;
|
height: 100%;
|
}
|
|
div.requiredBlock {
|
background-color: #c00;
|
position: absolute;
|
left: -4px;
|
width: 3px;
|
top: 1px;
|
bottom: 1px;
|
}
|
</style>
|
|
<script type="text/javascript">
|
function setSummary() {
|
var sum = 0;
|
var total = 0;
|
var priceSum = 0;
|
var priceTotal = 0;
|
var tmplvl1;
|
var tmplvl2;
|
|
var tbl = document.getElementById('table');
|
// ここはControllerの整形ロジックと一緒
|
for (var i = 1; i < tbl.rows.length; i++) {
|
var lvl1 = document.getElementById('Page:Form:repeat:' + (i - 1) + ':lvl1Idx').value;
|
var lvl2 = document.getElementById('Page:Form:repeat:' + (i - 1) + ':lvl2Idx').value;
|
|
if (i == 1) {
|
tmplvl1 = lvl1;
|
tmplvl2 = lvl2;
|
}
|
// 大分類変わった時、全数値設定後、全リセット
|
if (i != 1 && tmplvl1 != lvl1) {
|
document.getElementById('total_' + tmplvl1).innerText = total.toLocaleString();
|
document.getElementById('sum_' + tmplvl2).innerText = sum.toLocaleString();
|
document.getElementById('priceTotal_' + tmplvl1).innerText = priceTotal.toLocaleString();
|
document.getElementById('priceSum_' + tmplvl2).innerText = priceSum.toLocaleString();
|
|
//20211119 lt 消化科病例数 start
|
document.getElementById('num1_' + tmplvl2).innerText = total.toLocaleString();
|
//20211119 lt 消化科病例数 end
|
|
tmplvl1 = lvl1;
|
tmplvl2 = lvl2;
|
sum = 0;
|
total = 0;
|
priceSum = 0;
|
priceTotal = 0;
|
}
|
// 中分類変わった時、中の数値設定後、中のみリセット
|
if (i != 1 && tmplvl2 != lvl2) {
|
document.getElementById('sum_' + tmplvl2).innerText = sum.toLocaleString();
|
document.getElementById('priceSum_' + tmplvl2).innerText = priceSum.toLocaleString();
|
|
tmplvl2 = lvl2;
|
sum = 0;
|
priceSum = 0;
|
}
|
|
//var priceObj = document.getElementById('Page:Form:repeat:' + (i - 1) + ':price');
|
//var numObj = document.getElementById('Page:Form:repeat:' + (i - 1) + ':num');
|
var priceObj = j$(escapeVfId('Page:Form:repeat:' + (i - 1) + ':price'));
|
var numObj = j$(escapeVfId('Page:Form:repeat:' + (i - 1) + ':num'));
|
var price;
|
var num;
|
if (priceObj == undefined || priceObj == null || priceObj.value() == undefined || priceObj.value() == "") {
|
price = 0;
|
} else {
|
price = parseInt(priceObj.value().split(',').join('').trim());
|
if (isNaN(price)) {
|
price = 0;
|
}
|
}
|
if (numObj == undefined || numObj == null || numObj.value() == undefined || numObj.value() == "") {
|
num = 0;
|
} else {
|
num = parseInt(numObj.value().split(',').join('').trim());
|
if (isNaN(num)) {
|
num = 0;
|
}
|
}
|
|
sum += num;
|
total += num;
|
priceSum += price * num;
|
priceTotal += price * num;
|
|
|
|
}
|
document.getElementById('num1_' + tmplvl2).innerText = total.toLocaleString(); //20211119 lt
|
document.getElementById('total_' + tmplvl1).innerText = total.toLocaleString();
|
document.getElementById('sum_' + tmplvl2).innerText = sum.toLocaleString();
|
document.getElementById('priceTotal_' + tmplvl1).innerText = priceTotal.toLocaleString();
|
document.getElementById('priceSum_' + tmplvl2).innerText = priceSum.toLocaleString();
|
}
|
|
function checkNum(val, id) {
|
if (val != "" && isNaN(parseInt(val))) {
|
alert("请输入数值");
|
document.getElementById(id).focus();
|
return;
|
}
|
setSummary();
|
}
|
|
</script>
|
|
<apex:form id="Form">
|
<apex:pageMessages />
|
|
<apex:outputPanel layout="none" rendered="{!NOT(ISNULL(history))}">
|
<script type="text/javascript">
|
var refreshAll = '{!refreshAll}';
|
var dupliErr = '{!dupliErr}';
|
if (refreshAll == "true") {
|
// 新規後
|
if (dupliErr == "true") {
|
alert("{!history.rec.OCM_Year__c}的数据已经存在。");
|
// defaultの期のデータを表示
|
parent.location.href='/apex/AccountCaseHospital?id={!URLENCODE(accid)}';
|
} else {
|
// 新規したデータを表示
|
parent.location.href='/apex/AccountCaseHospital?id={!URLENCODE(accid)}&t={!URLENCODE(history.rec.Id)}';
|
}
|
}
|
</script>
|
|
<table id="ocmTbl">
|
<tr>
|
<apex:outputPanel rendered="{!ISBLANK(history.rec.Id)}" layout="none">
|
<td style="text-align: right;"> 年度 </td>
|
<td width="80">
|
<apex:selectList value="{!history.rec.OCM_Year__c}" size="1" style="width:98%"><apex:selectOptions value="{!ocmYearOptions}"/></apex:selectList>
|
</td>
|
</apex:outputPanel>
|
<apex:outputPanel rendered="{!NOT(ISBLANK(history.rec.Id))}" layout="none">
|
<td></td><td></td>
|
</apex:outputPanel>
|
<td width="100"><apex:commandButton value="保存" action="{!save}" rerender="Form" style="width:98%;"/></td>
|
</tr>
|
</table>
|
|
<table border="1" id="table">
|
<tr>
|
<th class="lvl1"> </th>
|
<th class="lvl2"> </th>
|
<th class="lvl2" style="width:200px;"> </th>
|
<th class="num">数量</th>
|
<th class="price">收费标准</th>
|
<th class="sum">检查数合计</th>
|
<th class="total">检查数总合计</th>
|
<th class="priceSum">收费*检查合计</th>
|
<th class="priceTotal">收费*检查总合计</th>
|
</tr>
|
<apex:variable value="{!1}" var="cnt" />
|
<apex:repeat value="{!history.dataList}" var="data" id="repeat">
|
<tr>
|
<apex:outputPanel layout="none" rendered="{!data.lvl1Rowspan <> 0}">
|
<td rowspan="{!data.lvl1Rowspan}" class="lvl1" >{!data.sb.title}</td>
|
</apex:outputPanel>
|
<apex:outputPanel layout="none" rendered="{!data.lvl2Rowspan <> 0}">
|
<td rowspan="{!data.lvl2Rowspan}" class="lvl2" >{!data.fb.parentLabel}</td>
|
</apex:outputPanel>
|
<td>{!data.fb.label}
|
<apex:inputHidden id="lvl1Idx" value="{!data.lvl1Idx}" />
|
<apex:inputHidden id="lvl2Idx" value="{!data.lvl2Idx}" />
|
</td>
|
<td>
|
<!-- 20211118 lt 消化科病例数 start -->
|
<apex:inputField value="{!data.rec[data.fb.apiNum]}" style="width:90%; text-align: right; ime-mode: disabled;" id="num" onblur="checkNum(this.value, this.id);"
|
rendered="{!IF((data.fb.apiNum == 'ESD_AddNumber__c' || data.fb.apiNum == 'EUS_AddNumber__c' || data.fb.apiNum == 'ERCP_AddNumber__c') ,false,true)}"/>
|
|
<!-- 只读 -->
|
<script>
|
var flg = {!data.fb.apiNum == 'ESD_Number__c' || data.fb.apiNum == 'EUS_Number__c' || data.fb.apiNum == 'ERCP_Number__c'};
|
if(flg){
|
j$(escapeVfId('Page:Form:repeat:' + {!cnt-1} + ':num')).attr('readonly', true);
|
}
|
</script>
|
|
<div class="total" id="num1_{!data.lvl2Idx}" style="display:none;width:95%; text-align: right; ime-mode: disabled;">
|
<!-- {!IF(data.fb.apiNum == 'ESD_AddNumber__c' , history.rec.ESD_AddNumber__c, IF(data.fb.apiNum == 'EUS_AddNumber__c' , history.rec.EUS_AddNumber__c, IF(data.fb.apiNum == 'ERCP_AddNumber__c' , history.rec.ERCP_AddNumber__c , null)))} -->
|
</div>
|
|
<script>
|
var flg = {!data.fb.apiNum == 'ESD_AddNumber__c' || data.fb.apiNum == 'EUS_AddNumber__c' || data.fb.apiNum == 'ERCP_AddNumber__c'};
|
if(flg){
|
document.getElementById("num1_{!data.lvl2Idx}").style.display = 'block';
|
}
|
</script>
|
<!-- 20211118 lt 消化科病例数 end -->
|
</td>
|
|
<td>
|
<apex:inputField value="{!data.rec[data.fb.apiPrice]}" style="width:90%; text-align: right; ime-mode: disabled;" id="price" rendered="{!data.fb.apiPrice <> 'false'}" />
|
<script>
|
var flg = {!data.fb.apiPrice == 'OLY_endscopy_room_price__c' || data.fb.apiPrice == 'Competitor_endoscopy_room_price__c'};
|
if (flg) {
|
j$(escapeVfId('Page:Form:repeat:' + {!cnt-1} + ':price')).attr("readonly",true);
|
}
|
</script>
|
</td>
|
<apex:outputPanel layout="none" rendered="{!data.lvl2Rowspan <> 0}">
|
<td rowspan="{!data.lvl2Rowspan}" class="sum" id="sum_{!data.lvl2Idx}"></td>
|
</apex:outputPanel>
|
<apex:outputPanel layout="none" rendered="{!data.lvl1Rowspan <> 0}">
|
<td rowspan="{!data.lvl1Rowspan}" class="total" id="total_{!data.lvl1Idx}"></td>
|
</apex:outputPanel>
|
<apex:outputPanel layout="none" rendered="{!data.lvl2Rowspan <> 0}">
|
<td rowspan="{!data.lvl2Rowspan}" class="priceSum" id="priceSum_{!data.lvl2Idx}"></td>
|
</apex:outputPanel>
|
<apex:outputPanel layout="none" rendered="{!data.lvl1Rowspan <> 0}">
|
<td rowspan="{!data.lvl1Rowspan}" class="priceTotal" id="priceTotal_{!data.lvl1Idx}"></td>
|
</apex:outputPanel>
|
</tr>
|
<apex:variable value="{!cnt + 1}" var="cnt" />
|
</apex:repeat>
|
</table>
|
<br/>
|
<table style="width:920px;">
|
<tr>
|
<td><font style="font-weight: bold;">备注</font><br/>
|
<apex:inputField value="{!history.rec.Additional_comment__c}" style="height:50px; width:99%;" id="comment"/>
|
</td>
|
</tr>
|
</table>
|
<script type="text/javascript">
|
setSummary();
|
//j$(escapeVfId('ocmTbl')).width(j$(escapeVfId('table')).width());
|
//j$(escapeVfId('Page:Form:comment')).width(j$(escapeVfId('table')).width());
|
</script>
|
</apex:outputPanel><!-- history != null -->
|
</apex:form>
|
</apex:page>
|