<apex:page id="Page" showHeader="false" sidebar="false" Controller="SetProvinceTargetController" action="{!init}">
|
<head>
|
<title>各省目标设定</title>
|
|
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
|
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
|
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
|
<apex:includeScript value="{!URLFOR($Resource.jqueryTableFix)}"/>
|
|
<script type="text/javascript">
|
function checkMoney(val, id) {
|
// changeFlgセット
|
j$(escapeVfId('Page:Form:editBlock:changeFlg')).val(1);
|
var ids = id.split(":");
|
var isChangedid = ids[0] + ":" + ids[1] + ":" + ids[2] + ":" + ids[3] + ":" + ids[4] + ":isChanged";
|
j$(escapeVfId(isChangedid)).val("1");
|
j$(escapeVfId(id))[0].style.background="#FFFF33";
|
if (val != null && val != "") {
|
if (isNaN(parseFloat(val))) {
|
alert("请输入数值");
|
j$(escapeVfId(id)).val("");
|
return;
|
}
|
val = localParseFloat(val);
|
val = Math.round(val * 100) / 100;
|
j$(escapeVfId(id)).val(toNumComma(val));
|
}
|
calc();
|
}
|
|
function calc() {
|
var isorgtbl = j$('div[name=bodyTable]');
|
var tbl = document.getElementById('MainTable');
|
var datarows = tbl.rows.length;
|
// 如果MainTable没有分成4部分
|
if (isorgtbl.length == 0) {
|
datarows -= 2;
|
}
|
var allSum = 0;
|
var cols = [0, 0, 0, 0, 0, 0, 0, 0];
|
// 行
|
for (var i = 0; i < datarows; i++) {
|
var rowSum = 0;
|
// 列
|
for (var j = 0; j < 8; j++) {
|
var amount = 0;
|
|
var raw = j$(escapeVfId('Page:Form:editBlock:dbRepeat:' + i + ':amountRepeat:' + j + ':inAmountValue')).value();
|
raw = (raw + '').replace(/[^0-9+\-Ee.]/g, '');
|
|
var amount = localParseFloat(raw);
|
rowSum = rowSum + amount;
|
cols[j] = cols[j] + amount;
|
allSum = allSum + amount;
|
}
|
j$(escapeVfId('Page:Form:editBlock:dbRepeat:' + i + ':totalrow')).text(toNumComma(rowSum));
|
// j$(escapeVfId('Page:Form:editBlock:dbRepeat:' + i + ':totalrow_L')).text(toNumComma(rowSum));
|
|
}
|
// 列
|
for (var j = 0; j < 8; j++) {
|
j$(escapeVfId('totalcol' + j)).text(toNumComma(cols[j]));
|
}
|
// 総計
|
j$(escapeVfId('totalAll')).text(toNumComma(allSum));
|
}
|
|
function saveJs() {
|
blockme();
|
if (window.confirm('确定要保存吗?')) {
|
save();
|
} else {
|
unblockUI();
|
}
|
}
|
|
function nextJs() {
|
blockme();
|
if (j$(escapeVfId('Page:Form:editBlock:changeFlg')).value() == 1) {
|
if (window.confirm('要保存已做的修改吗?\n点击 [确定] 保存并去下年度\n点击 [取消] 只去下年度,不保存')) {
|
next(true);
|
} else {
|
next(false);
|
}
|
} else {
|
next(false);
|
}
|
}
|
|
function prevJs() {
|
blockme();
|
if (j$(escapeVfId('Page:Form:editBlock:changeFlg')).value() == 1) {
|
if (window.confirm('要保存已做的修改吗?\n点击 [确定] 保存并去上年度\n点击 [取消] 只去上年度,不保存')) {
|
prev(true);
|
} else {
|
prev(false);
|
}
|
} else {
|
prev(false);
|
}
|
}
|
|
function checkOwner(val, id, rownum) {
|
// changeFlgセット
|
j$(escapeVfId('Page:Form:editBlock:changeFlg')).val(1);
|
var ids = id.split(":");
|
var isChangedid = ids[0] + ":" + ids[1] + ":" + ids[2] + ":" + ids[3] + ":" + ids[4] + ":isChanged";
|
j$(escapeVfId(isChangedid)).val("1");
|
j$(escapeVfId(id))[0].style.background="#FFFF33";
|
}
|
|
function searchJs(val) {
|
// if (val != null && val != "") {
|
blockme();
|
if (j$(escapeVfId('Page:Form:editBlock:changeFlg')).value() == 1) {
|
if (window.confirm('要保存已做的修改吗?\n点击 [确定] 保存并继续\n点击 [取消] 不保存')) {
|
search(true, val);
|
} else {
|
search(false, val);
|
}
|
} else {
|
search(false, val);
|
}
|
// }
|
}
|
function hiddeHalf(){
|
var tbl = document.getElementById('MainTable');
|
for(var i = 0; i< tbl.rows.length;i++){
|
//Page:Form:editBlock:dbRepeat:0:owner_mlktp
|
if(document.getElementById("Page:Form:editBlock:dbRepeat:"+i+":owner_mlktp")){
|
document.getElementById("Page:Form:editBlock:dbRepeat:"+i+":owner_mlktp").style.display="none";
|
|
document.getElementById("Page:Form:editBlock:dbRepeat:"+i+":owner").style.width="80%";
|
}
|
//j$("Page:Form:dataBlock:dbRepeat_L:"+i+":owner_mlktp").attr('display','none');
|
//j$("Page:Form:dataBlock:dbRepeat_L:"+i+":owner").css("width","80%");
|
|
}
|
}
|
//CHAN-BDQBLX 20210129 you start
|
var popupBox;
|
popupBox = new SimpleDialog("CSVImportDialogId", false); // 不可拖动
|
popupBox.createDialog();
|
function openPopupCSV() {
|
popupBox.setTitle("导入CSV文件");
|
popupBox.importContentNode(document.getElementById("{!$Component.Form.popupBox}"));
|
popupBox.show(document.getElementById("{!$Component.Form.popupBox}"));
|
}
|
function remoteLocationPost() {
|
blockme();
|
var fbody = document.getElementById("file_input").files[0];
|
if (typeof fbody === "undefined") {
|
alert("请选择CSV文件");
|
return;
|
}
|
else {
|
var reader = new FileReader();
|
reader.readAsText(fbody,"gb2312");//在前台改乱码问题
|
|
reader.onload = function(val) {
|
if(this.result.split("\n").length - 1 > {!detailCountLimit}){
|
alert("文件不可超过" + {!detailCountLimit} + "行");
|
return;
|
}
|
passToController(this.result);
|
popupBox.hide();
|
}
|
|
|
}
|
}
|
function exportJs() {
|
|
if (j$(escapeVfId('Page:Form:editBlock:changeFlg')).value() == 1) {
|
if (window.confirm('要保存已做的修改吗?\n点击 [确定] 保存并继续\n点击 [取消] 不保存')) {
|
return;
|
}
|
}
|
//alert('本部'+repFlg+'省'+province+'职种'+jobCategory);
|
exportcsv();
|
}
|
//CHAN-BDQBLX 20210129 you end
|
//window.onload
|
window.onresize = hiddeHalf();
|
</script>
|
</head>
|
|
<apex:form id="Form">
|
<apex:outputPanel id="MessageP">
|
<apex:pagemessages />
|
</apex:outputPanel>
|
<!--CHAN-BDQBLX 20210129 you start -->
|
<apex:actionFunction name="exportcsv" action="{!exportBycsv}"/>
|
<apex:actionFunction name="passToController" action="{!importCSVFile}" rerender="Form, MessageP" oncomplete="unblockUI();">
|
<apex:param name="csvData" value="" />
|
</apex:actionFunction>
|
<!--CHAN-BDQBLX 20210129 you end -->
|
<apex:actionFunction name="save" action="{!saveBtn}" rerender="MessageP,editBlock" oncomplete="unblockUI();" />
|
<apex:actionFunction name="next" action="{!next}" rerender="Form" oncomplete="unblockUI();">
|
<apex:param name="saveFlg" assignTo="{!saveFlg}" value="" />
|
</apex:actionFunction>
|
<apex:actionFunction name="prev" action="{!previous}" rerender="Form" oncomplete="unblockUI();">
|
<apex:param name="saveFlg" assignTo="{!saveFlg}" value="" />
|
</apex:actionFunction>
|
<apex:actionFunction name="search" action="{!searchByDpt}" rerender="editBlock" oncomplete="unblockUI();">
|
<apex:param name="saveFlg" assignTo="{!saveFlg}" value="" />
|
<apex:param name="salesDpt" assignTo="{!salesDpt}" value="" />
|
</apex:actionFunction>
|
<!--CHAN-BDQBLX 20210129 you start -->
|
<apex:outputPanel style="display:none">
|
<apex:outputPanel id="popupBox" layout="block">
|
<input type="file" id="file_input" name="attFile" accept=".csv" /><br/>
|
<center>
|
<apex:commandButton value="确认" onclick="remoteLocationPost(); return false;" style="width: 20%; margin: 20px 10px 0px 10px" />
|
<apex:commandButton value="取消" onclick="popupBox.hide();" style="width: 20%; margin: 20px 10px 0px 10px" />
|
</center>
|
</apex:outputPanel>
|
</apex:outputPanel>
|
<!--CHAN-BDQBLX 20210129 you end -->
|
<font style="font-size:15px;font-weight:700;">录入省的目标 (注:请输入含税金额,千元)</font>
|
|
<apex:pageBlock id="headBlock" tabStyle="Report">
|
<table id="ButtonTable" border="0" width="100%">
|
<tr>
|
<td width="15%">本部 <apex:selectList value="{!salesDpt}" size="1" style="width:120px" onchange="searchJs(this.value);return false;"><apex:selectOptions value="{!salesDptOpts}"/></apex:selectList></td>
|
|
<!--CHAN-BDQBLX 20210129 you start -->
|
<td align="center" width="10%">
|
<apex:commandbutton onclick="exportJs();return false;" id="export" value="导出数据模板">
|
</apex:commandbutton>
|
<apex:commandButton onclick="openPopupCSV(); return false;" value="导入" rerender="Form"/>
|
</td>
|
|
<!--CHAN-BDQBLX 20210129 you end -->
|
|
</tr>
|
<tr>
|
<td width="15%"></td>
|
<td align="center">
|
<apex:commandButton value="保存" rerender="dummy" onclick="saveJs();return false;" rendered="{!Not(isPast) && loginUser.ProfileId == $Label.ProfileId_SystemAdmin}"/>
|
</td>
|
<td width="15%" align="right"><apex:commandButton action="{!backBtn}" value="返回" rerender="dummy"/></td>
|
</tr>
|
</table>
|
<br/>
|
<table id="HeadTable" border="0" width="100%" cellspacing="0">
|
<tr>
|
<td width="15%" align="left" ><apex:commandLink value="上年度" style="color:blue;" rendered="{!previousRendered}" onclick="prevJs();return false;"/></td>
|
<td align="center"><apex:outputText id="Year" value="{!currentPeriod}" style="color:blue;"/></td>
|
<td width="15%" align="right"><apex:commandLink value="下年度" style="color:blue;" rendered="{!nextRendered}" onclick="nextJs();return false;"/></td>
|
</tr>
|
</table>
|
</apex:pageBlock>
|
|
<apex:pageBlock id="editBlock" tabStyle="Report">
|
<!-- バック側にパラメータを増やしたくないため、1になれないパラメータを入れます -->
|
<!-- ここの値は1かどうかの判断のみで使います -->
|
<apex:inputHidden id="changeFlg" value="{!saveFlg}"/>
|
<table class="list" style="border-bottom-width: 0px;" border="0" cellspacing="0" cellpadding="0" id="MainTable">
|
<thead>
|
<tr class="headerRow">
|
<th width="110px" class="headerRow booleanColumn" id="baseName">销售本部</th>
|
<th width="110px" class="headerRow booleanColumn">省</th>
|
<th width="110px" class="headerRow booleanColumn" id="NameHeader">担当</th>
|
<th width="30" class="headerRow booleanColumn"></th>
|
<apex:repeat value="{!opportunity_category}" var="oc" id="opportunityCategoryRepeat">
|
<th width="85" class="headerRow booleanColumn"><apex:outputText id="categoryValue" value="{!oc}"></apex:outputText></th>
|
</apex:repeat>
|
<th width="85" class="headerRow booleanColumn" style="background-color:#AAAACC;">合计</th>
|
</tr>
|
</thead>
|
<tbody>
|
<apex:variable value="{!1}" var="cnt" />
|
<tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" bgcolor="#AAAACC">
|
<td class="dataCell" ></td>
|
<td class="dataCell" ></td>
|
<td class="dataCell" id="NameHold"></td>
|
<td class="dataCell" style="text-align:center;">合计</td>
|
<td class="dataCell" style="text-align:right;" id="totalcol0"></td>
|
<td class="dataCell" style="text-align:right;" id="totalcol1"></td>
|
<td class="dataCell" style="text-align:right;" id="totalcol2"></td>
|
<td class="dataCell" style="text-align:right;" id="totalcol3"></td>
|
<td class="dataCell" style="text-align:right;" id="totalcol4"></td>
|
<td class="dataCell" style="text-align:right;" id="totalcol5"></td>
|
<td class="dataCell" style="text-align:right;" id="totalcol6"></td>
|
<td class="dataCell" style="text-align:right;" id="totalcol7"></td>
|
<td class="dataCell" style="text-align:right;" id="totalAll"></td>
|
</tr>
|
<apex:repeat value="{!dataBeans}" var="dbs" id="dbRepeat">
|
<tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}">
|
<td class="dataCell">{!dbs.department}</td>
|
<td class="dataCell"><apex:outputField value="{!dbs.opportunity.SAP_Province__c}"></apex:outputField></td>
|
<td class="dataCell" id="opportunity.Owner_System__c"><apex:inputField id="owner" value="{!dbs.opportunity.Owner_System__c}" onchange="checkOwner(this.value, this.id, {!cnt});" style="width:80%;"></apex:inputField></td>
|
<td class="dataCell" id="SumCal" >
|
</td>
|
<apex:variable value="{!1}" var="cnt2" />
|
<apex:repeat value="{!dbs.amount}" var="amount" id="amountRepeat">
|
<td class="dataCell" style="text-align:right;">
|
<apex:inputField id="inAmountValue" value="{!amount.Amount}" style="width:92%; text-align:right;" onchange="checkMoney(this.value, this.id);"></apex:inputField>
|
<script type="text/javascript">
|
var ispast = {!isPast};
|
if (ispast) {
|
j$(escapeVfId('Page:Form:editBlock:dbRepeat:' + {!cnt-1} + ':amountRepeat:' + {!cnt2-1} + ':inAmountValue')).attr("disabled",true);
|
}
|
</script>
|
</td>
|
<apex:variable value="{!cnt2 + 1}" var="cnt2" />
|
</apex:repeat>
|
<td class="dataCell" style="text-align:right; background-color:#AAAACC;">
|
<apex:outputText id="totalrow" style="width:92%;" value="{0,number,#,##0.00}">
|
<apex:param value="" />
|
</apex:outputText>
|
<apex:inputHidden id="isChanged" value="{!dbs.isChanged}"/>
|
</td>
|
</tr>
|
<apex:variable value="{!cnt + 1}" var="cnt" />
|
</apex:repeat>
|
</tbody>
|
</table>
|
<script type="text/javascript">
|
//制作分割栏效果
|
j$(function() {
|
var blockHeight = j$(window).innerHeight() - j$(escapeVfId('Page:Form:headBlock')).height() - 60;
|
j$(escapeVfId('MainTable')).tablefix({height: blockHeight, fixRows: 2, fixCols: 4,id:"LeftTable"});
|
});
|
calc();
|
hiddeHalf();
|
</script>
|
</apex:pageBlock>
|
</apex:form>
|
</apex:page>
|