From d3e4451e36fbe25da4427bccd4e6b41aefd473c8 Mon Sep 17 00:00:00 2001
From: binxie <137736985@qq.com>
Date: 星期一, 26 六月 2023 14:53:16 +0800
Subject: [PATCH] newclass0626formate
---
force-app/main/default/pages/BatchSelectRepairPage.page | 304 +++++++++++++++++++++++++++++++++++---------------
1 files changed, 212 insertions(+), 92 deletions(-)
diff --git a/force-app/main/default/pages/BatchSelectRepairPage.page b/force-app/main/default/pages/BatchSelectRepairPage.page
index 5cf2d1a..f140b90 100644
--- a/force-app/main/default/pages/BatchSelectRepairPage.page
+++ b/force-app/main/default/pages/BatchSelectRepairPage.page
@@ -1,10 +1,11 @@
-<apex:page id="Page" showHeader="false" sidebar="false" controller="BatchSelectRepairPageController" applyBodyTag="false" applyHtmlTag="false" action="{!init}">
+<apex:page id="Page" showHeader="false" sidebar="false" controller="BatchSelectRepairPageController" applyBodyTag="false" applyHtmlTag="false" action="{!init}" lightningStylesheets="true" >
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
<apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
+<apex:includeScript value="{!URLFOR($Resource.xlsxCoreMinJs)}"/>
<title>鎵归噺閫夋嫨淇悊鍔熻兘</title>
<style type="text/css">
.pure-table {
@@ -37,6 +38,10 @@
text-align: center;
vertical-align: bottom;
}
+
+ .bPageBlock{
+ border-top: 3px solid #3044b5;
+ }
.pure-table td {
background-color: transparent;
@@ -55,94 +60,210 @@
//鍏ㄩ�夊姛鑳�
function checkAll() {
var cnt = j$(escapeVfId('raCnt')).val();
- if (j$(escapeVfId('Page:allForm:allBlock:j_id56:checkAll')).attr('checked') == 'checked') {
+ // alert(jQuery('input[id$=checklist]').length);
+ if (jQuery('input[id$=checkAll]').attr('checked') === 'checked') {
+ // alert(j$('input[id$=checklist]')[0].checked);
for (var i = 0; i < cnt; i++) {
- j$(escapeVfId('Page:allForm:allBlock:j_id56:records:' + i + ':checklist')).attr('checked',true);
+ j$('input[id$=checklist]')[i].checked = true;
}
} else {
for (var i = 0; i < cnt; i++) {
- j$(escapeVfId('Page:allForm:allBlock:j_id56:records:' + i + ':checklist')).attr('checked',false);
+ j$('input[id$=checklist]')[i].checked = false;
}
}
}
- //妫�绱㈠姛鑳�
- // function RetrievalBtnJS() {
- // var RepairName = j$(escapeVfId("Page:Form:Block:RAInfoList:0:RepairName")).value();
- // var SAPRepairNo = j$(escapeVfId("Page:Form:Block:RAInfoList:0:SAPRepairNo")).value();
- // var HospitalName = j$(escapeVfId("Page:Form:Block:RAInfoList:0:HospitalName")).value();
- // blockme();
- // RetrievalBtn();
- // }
- //璺宠浆鎵撳嵃PDF椤甸潰
- // function showPDFJS() {
- // blockme();
- // showPDF();
- // var raIdList = j$(escapeVfId('raIdList')).val();
- // if(raIdList != null && raIdList != ''){
- // var Id = raIdList.split();
- // for(var i = 0; i < Id.size(); i++){
- // window.open('apex/MaintenanceCommissionPDF?id=' + Id[i]);
- // }
- // }
- // }
+
+ //璺宠浆鍒皃df椤甸潰
+ function skipPage() {
+ var pdfURL = j$(escapeVfId('pdfURL')).val();
+ window.open(pdfURL, "缁翠慨濮旀墭涔DF", "");
+ }
+
+ // table杞珽xcel鏂囦欢
+ function exportExcel() {
+ var csv = table2csv(j$(escapeVfId('theTable table'))[0]);
+ // console.log(csv)
+ var sheet = csv2sheet(csv);
+ var blob = sheet2blob(sheet);
+ openDownloadDialog(blob,'淇悊鏄庣粏琛�.xlsx');
+ }
+
+ function table2csv(table) {
+ var csv = [];
+ var trSize = j$(j$(escapeVfId('theTable table'))[0]).find('tr').length;
+ var spanSize = j$(j$(escapeVfId('theTable table'))[0]).find('tr td span').length;
+ var aSize = j$(j$(escapeVfId('theTable table'))[0]).find('tr td span a').length;
+ var fixSize = 0;
+ var g = 0;
+ var nbsp = '&nb' + 'sp;';
+ for(var i = 0; i < trSize; i++){
+ var temp = [];
+ // 鏍囬鍒楃敤td
+ if(i == 0){
+ for(var j = 0; j < 15; j++){
+ temp.push(j$(table).find('tr td')[j].innerHTML);
+ }
+ temp.shift(); // 绉婚櫎绗竴涓叏閫夋寜閽�
+ } else{
+ for(var k = fixSize; k < fixSize + 14; k++){
+ var htmlText = j$(table).find('tr td span')[k].innerHTML;
+ if(htmlText.slice(1,2) == 'a' && htmlText.slice(htmlText.length-2,htmlText.length-1) == 'a'){
+ temp.push(j$(table).find('tr td span a')[g].innerHTML);
+ g++;
+ } else{
+ if(j$(table).find('tr td span')[k].innerHTML == nbsp){
+ temp.push('');
+ }else{
+ temp.push(j$(table).find('tr td span')[k].innerHTML);
+ }
+ }
+ }
+ if(fixSize < spanSize){
+ fixSize += 14;
+ }
+ }
+ csv.push(temp.join(';'));
+ }
+ temp.push('');
+ csv.push(temp.join(';'));
+ // csv.shift();
+ return csv.join('\n');
+ }
+
+ function csv2sheet(csv) {
+ var sheet = {}; // 灏嗚鐢熸垚鐨剆heet
+ csv = csv.split('\n');
+ csv.forEach(function(row, i) {
+ row = row.split(';');
+ if(i == 0) sheet['!ref'] = 'A1:'+String.fromCharCode(65+row.length-1)+(csv.length-1);
+ row.forEach(function(col, j) {
+ sheet[String.fromCharCode(65+j)+(i+1)] = {v: col};
+ });
+ });
+ return sheet;
+ }
+
+ function sheet2blob(sheet, sheetName) {
+ sheetName = sheetName || 'sheet1';
+ var workbook = {
+ SheetNames: [sheetName],
+ Sheets: {}
+ };
+ workbook.Sheets[sheetName] = sheet;
+ // 鐢熸垚excel鐨勯厤缃」
+ var wopts = {
+ bookType: 'xlsx', // 瑕佺敓鎴愮殑鏂囦欢绫诲瀷
+ bookSST: false, // 鏄惁鐢熸垚Shared String Table锛屽畼鏂硅В閲婃槸锛屽鏋滃紑鍚敓鎴愰�熷害浼氫笅闄嶏紝浣嗗湪浣庣増鏈琁OS璁惧涓婃湁鏇村ソ鐨勫吋瀹规��
+ type: 'binary'
+ };
+ var wbout = XLSX.write(workbook, wopts);
+ var blob = new Blob([s2ab(wbout)], {type:"application/octet-stream"});
+ // 瀛楃涓茶浆ArrayBuffer
+ function s2ab(s) {
+ var buf = new ArrayBuffer(s.length*2); // 姣忎釜瀛楃鍗犫饯2涓瓧鑺�
+ var view = new Uint8Array(buf);
+ for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
+ return buf;
+ }
+ return blob;
+ }
+
+ /**
+ * 閫氱敤鐨勬墦寮�涓嬭浇瀵硅瘽妗嗘柟娉曪紝娌℃湁娴嬭瘯杩囧叿浣撳吋瀹规��
+ * @param url 涓嬭浇鍦板潃锛屼篃鍙互鏄竴涓猙lob瀵硅薄锛屽繀閫�
+ * @param saveName 淇濆瓨鏂囦欢鍚嶏紝鍙��
+ */
+ function openDownloadDialog(url, saveName) {
+ if(typeof url == 'object' && url instanceof Blob) {
+ url = URL.createObjectURL(url); // 鍒涘缓blob鍦板潃
+ }
+ var aLink = document.createElement('a');
+ aLink.href = url;
+ aLink.download = saveName || ''; // HTML5鏂板鐨勫睘鎬э紝鎸囧畾淇濆瓨鏂囦欢鍚嶏紝鍙互涓嶈鍚庣紑锛屾敞鎰忥紝file:///妯″紡涓嬩笉浼氱敓鏁�
+ var event;
+ if(window.MouseEvent) event = new MouseEvent('click');
+ else {
+ event = document.createEvent('MouseEvents');
+ event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ }
+ aLink.dispatchEvent(event);
+ }
</script>
<apex:form id="allForm" style="margin: 10px 10px;">
- <apex:actionFunction name="RetrievalBtn" action="{!RetrievalBtn}" rerender="Form, message" onComplete="unblockUI();"/>
- <!-- <apex:actionFunction name="showPDF" action="{!showPDF}" rerender="Form, message" onComplete="unblockUI();" /> -->
+ <!-- <apex:actionFunction name="RetrievalBtn" action="{!RetrievalBtn}" rerender="allForm, message" onComplete="unblockUI();"/> -->
+ <!-- <apex:actionFunction name="showPDF" action="{!showPDF}" rerender="allForm, message" onComplete="skipPage();unblockUI();"/> -->
<!-- 鍚庡彴鎶ラ敊淇℃伅鏄剧ず鐨勫叧閿� -->
<apex:outputPanel id="message">
<apex:pageMessages ></apex:pageMessages>
</apex:outputPanel>
<apex:outputPanel id="allPanel">
+ <input type="hidden" id="pdfURL" value="{!pdfURL}" />
<apex:pageBlock mode="maindetail" Id="allBlock">
<div style="position: relative; width:100%; ">
<apex:pageBlock title="妫�绱㈠垪" id="Editable">
<table>
- <tr><td style="text-align: left;padding-right: 100px;"> </td></tr>
+ <!--<tr><td> </td></tr>-->
<tr>
- <!-- <td style="text-align: left;padding-right: 100px;"> </td> -->
- <td style="text-align: right; width:200px;">
- <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="鐘舵��2"/>
+ <td style="text-align: left; position: relative; top: 7px; padding-left: 50px;">
+ <apex:outputLabel style="font-weight: bold; padding-right: 25px;" value="鐘舵��1"/>
+ <apex:selectList value="{!RevalInfo.Status1}" size="1" style="width: 150px; height: 24px;">
+ <apex:selectOptions value="{!StatusItems1}"/>
+ </apex:selectList><p/>
</td>
- <td style="text-align: left;">
- <apex:inputText id="Status2" value="{!RevalInfo.Status2}"/>
+ <td style="text-align: left; position: relative; top: 7px; padding-left: 50px;">
+ <apex:outputLabel style="font-weight: bold; padding-right: 25px;" value="鐘舵��2"/>
+ <apex:selectList value="{!RevalInfo.Status2}" size="1" style="width: 150px; height: 24px;">
+ <apex:selectOptions value="{!StatusItems}"/>
+ </apex:selectList><p/>
</td>
- <td style="text-align: right; width:200px;">
+ <td style="text-align: left;padding-left: 50px;">
<apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="RS淇悊鍗曞彿"/>
- </td>
- <td style="text-align: left;">
<apex:inputText id="RepairName" value="{!RevalInfo.RepairName}"/>
</td>
- <td style="text-align: right; width:150px;">
- <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="SAP淇悊鍗曞彿"/>
- </td>
- <td style="text-align: left;padding-right: 100px;">
+ <td style="text-align: left;padding-left: 50px;">
+ <apex:outputLabel style="font-weight: bold; padding-right: 6px;" value="SAP淇悊鍗曞彿"/>
<apex:inputText id="SAPRepairNo" value="{!RevalInfo.SAPRepairNo}"/>
- </td>
+ </td>
</tr>
- <tr><td style="text-align: left;padding-right: 100px;"> </td></tr>
+ <!--<tr><td> </td></tr>-->
<tr>
- <!-- <td style="text-align: left;padding-right: 100px;"> </td> -->
- <td style="text-align: right; width:100px;">
+ <td style="text-align: left; padding-left: 50px;">
<apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="鏈鸿韩缂栫爜"/>
- </td>
- <td style="text-align: left;">
<apex:inputText id="SerialNumber" value="{!RevalInfo.SerialNumber}"/>
</td>
- <td style="text-align: right; width:200px;">
- <apex:outputLabel style="font-weight: bold; " value="淇悊濮旀墭鑰�"/>
+ <td style="text-align: left; padding-left: 50px;">
+ <apex:outputLabel style="font-weight: bold; padding-right: 50px;" value="鐪佷唤"/>
+ <apex:inputText id="State_Hospital" value="{!RevalInfo.State_Hospital}"/>
</td>
- <td style="text-align: left;">
- <apex:inputField id="InchargeStaffName" value="{!RevalInfo.repair.Incharge_Staff__c}"/>
+ <td style="text-align: left; padding-left: 50px;">
+ <apex:outputLabel style="font-weight: bold; padding-right: 50px;" value="鍖婚櫌鍚嶇О"/>
+ <apex:inputText id="HP_Name" value="{!RevalInfo.HospitalName}"/>
</td>
- <td style="text-align: right; width:150px;">
- <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="FSE鐢宠鏃�"/>
- </td>
- <td style="text-align: left;padding-right: 80px;">
- <apex:inputField id="FSE_ApplyForRepair_Day" value="{!RevalInfo.repair.Final_complete_day__c}"/>
+ <td style="text-align: left; padding-left: 50px;" >
+ <apex:outputLabel style="font-weight: bold; padding-right: 22px;" value="FSE鐢宠鏃�"/>
+ <apex:inputField id="FSE_ApplyForRepair_Day" value="{!RevalInfo.repair.Aware_date__c}"/>锛�<apex:inputField value="{!RevalInfo.repair.Aware_date2__c}"/>
</td>
</tr>
- <tr><td style="text-align: left;padding-right: 100px;"> </td></tr>
+ <!--<tr><td> </td></tr>-->
+ <tr>
+ <td style="text-align: left; position: relative; top: 7px;padding-left: 50px;">
+ <apex:outputLabel style="font-weight: bold; padding-right: 5px;" value="鏈嶅姟鏂瑰紡"/>
+ <apex:selectList value="{!RevalInfo.onSiteRepair}" size="1" style="width: 150px; height: 24px;">
+ <apex:selectOptions value="{!SiteRepairItems}"/>
+ </apex:selectList><p/>
+ </td>
+ <td style="text-align: left; padding-left: 50px;">
+ <apex:outputLabel style="font-weight: bold; padding-right: 22px;" value="缁翠慨涓績"/>
+ <apex:inputText id="workLocationSelect" value="{!RevalInfo.workLocationSelect}"/>
+ <!-- <apex:selectList value="{!RevalInfo.workLocationSelect}" size="1" style="width: 150px; height: 24px;">
+ <apex:selectOptions value="{!workLocationSelect}"/>
+ </apex:selectList><p/> -->
+ </td>
+ <td style="text-align: left;padding-left: 50px;">
+ <div style="float:left;padding-right: 22px;"><apex:outputLabel style="font-weight: bold; " value="淇悊濮旀墭鑰�"/></div>
+ <div style="float:left"><apex:inputField id="InchargeStaffName" value="{!RevalInfo.repair.Incharge_Staff__c}"/></div>
+ </td>
+ </tr>
<tr>
<td style="text-align: center;" colspan="6">
<apex:commandButton style="width:80px;" value="妫�绱�" action="{!RetrievalBtn}" onclick="blockme();" reRender="allForm,message" onComplete="unblockUI();"/>
@@ -150,76 +271,76 @@
</tr>
</table>
</apex:pageBlock>
- <!-- <div style="font-size:12px;"> -->
<apex:pageBlock title="璇︾粏淇℃伅" >
<input type="hidden" id="raCnt" value="{!RACount}" />
- <apex:commandButton style="width:80px;" value="鎵撳嵃PDF" action="{!showPDF}" onclick="blockme();" reRender="allForm,message" onComplete="unblockUI();"/>
- <div style="width:100%;height:385px;overflow:auto;">
- <table class="pure-table pure-table-horizontal" id="theTable_header" style="width:99%; margin-top:10px;border-collapse: collapse;table-layout:fixed;">
- <tr style="background-color:#f2f3f3;">
- <th style="align:left; width:2%"><apex:inputCheckbox id="checkAll" onclick="checkAll();" style="text-align:left;"/></th>
- <th style="text-align:left; width:6%">鐘舵��1</th>
- <th style="text-align:left; width:6%">鐘舵��2</th>
- <th style="text-align:left; width:7%">RS淇悊鍗曞彿</th>
- <th style="text-align:left; width:8%">SAP淇悊鍗曞彿</th>
- <th style="text-align:left; width:10%">鍨嬪彿</th>
- <th style="text-align:left; width:5%">鏈鸿韩缂栧彿</th>
- <th style="text-align:left; width:9%">鍖婚櫌鍚嶇О</th>
- <th style="text-align:left; width:5%">鐪佷唤</th>
- <th style="text-align:left; width:5%">淇悊濮旀墭鑰�</th>
- <th style="text-align:left; width:8%">FSE鐢宠鏃ユ湡</th>
- <th style="text-align:left; width:6%">缁翠慨涓績</th>
- <th style="text-align:left; width:5%">鏈嶅姟鏂瑰紡</th>
- <th style="text-align:left; width:8%">鏈夋棤缁翠慨鍚堝悓瀵硅薄</th>
- <th style="text-align:left; width:8%">鏃犲伩鍖哄埆鏍囧織</th>
+ <apex:commandButton style="width:80px;" value="鎵撳嵃PDF" action="{!showPDF}" onclick="blockme();" reRender="allForm,message" onComplete="unblockUI();skipPage();"/>
+ <apex:commandButton style="width:80px;" value="瀵煎嚭Excel" onclick="exportExcel();"/>
+ <div id="theTable" style="width:100%;height:385px;overflow:auto;">
+ <!-- <table class="pure-table pure-table-horizontal" id="theTable_header" style="width:99%; margin-top:10px;border-collapse: collapse;table-layout:fixed;font-weight:bold;word-break:break-all;word-break:break-all;">
+ </table> -->
+ <table class="pure-table pure-table-horizontal" id="theTable_header" style="margin-top:10px; width:99%; border-collapse: collapse;table-layout:fixed;">
+ <tr style="background-color:#f2f3f3;font-weight:bold;">
+ <td style="align:left; width:2%"><apex:inputCheckbox id="checkAll" onclick="checkAll();" style="text-align:left;"/></td>
+ <td style="text-align:center; width:6%">鐘舵��1</td>
+ <td style="text-align:center; width:6%">鐘舵��2</td>
+ <td style="text-align:center; width:8%">RS淇悊鍗曞彿</td>
+ <td style="text-align:center; width:9%">SAP淇悊鍗曞彿</td>
+ <td style="text-align:center; width:10%">鍨嬪彿</td>
+ <td style="text-align:center; width:6%">鏈鸿韩缂栧彿</td>
+ <td style="text-align:center; width:8%">鍖婚櫌鍚嶇О</td>
+ <td style="text-align:center; width:5%">鐪佷唤</td>
+ <td style="text-align:center; width:5%">淇悊濮旀墭鑰�</td>
+ <td style="text-align:center; width:7%">FSE鐢宠鏃ユ湡</td>
+ <td style="text-align:center; width:6%">缁翠慨涓績</td>
+ <td style="text-align:center; width:6%">鏈嶅姟鏂瑰紡</td>
+ <td style="text-align:center; width:8%;">鏈夋棤缁翠慨鍚堝悓瀵硅薄</td>
+ <td style="text-align:center; width:6%">鏃犲伩鍖哄埆鏍囧織</td>
</tr>
- </table>
- <table class="pure-table pure-table-horizontal" id="theTable_header" style="width:99%; border-collapse: collapse;table-layout:fixed;">
<apex:repeat value="{!RAInfoList}" var="ra" id="records">
<tr>
- <td align="left" width="2%">
+ <td align="center" width="2%">
<apex:inputCheckbox style="text-align:left;" id="checklist" value="{!ra.IFCheck}" />
</td>
- <td align="left" width="6%">
+ <td align="center" width="6%">
<apex:outputField id="Status1" value="{!ra.repair.Status1__c}"/>
</td>
- <td align="left" width="6%">
+ <td align="center" width="6%">
<apex:outputField id="Status2" value="{!ra.repair.Status2__c}"/>
</td>
- <td align="left" width="7%">
+ <td align="center" width="8%">
<apex:outputField id="OTCode" value="{!ra.repair.Name}"/>
</td>
- <td align="left" width="8%">
+ <td align="center" width="9%">
<apex:outputField id="SAP_Service_Repair_No" value="{!ra.repair.SAP_Service_Repair_No__c}"/>
</td>
- <td align="left" width="10%">
+ <td align="center" width="10%">
<apex:outputField id="Delivered_Product" value="{!ra.repair.Delivered_Product__c}"/>
</td>
- <td align="left" width="5%" style="word-wrap:break-word;word-break:break-all;">
+ <td align="center" width="6%" style="word-wrap:break-word;word-break:break-all;">
<apex:outputField id="SerialNumber" value="{!ra.repair.SerialNumber__c}"/>
</td>
- <td align="left" width="9%">
+ <td align="center" width="8%">
<apex:outputField id="HP_Name" value="{!ra.repair.HP_Name__c}"/>
</td>
- <td align="left" width="5%">
+ <td align="center" width="5%">
<apex:outputField id="State_Hospital" value="{!ra.repair.State_Hospital__c}"/>
</td>
- <td align="left" width="5%">
+ <td align="center" width="5%">
<apex:outputField id="Incharge_Staff" value="{!ra.repair.Incharge_Staff__c}"/>
</td>
- <td align="left" width="8%">
+ <td align="center" width="7%">
<apex:outputField id="FSE_ApplyForRepair_Day" value="{!ra.repair.FSE_ApplyForRepair_Day__c}"/>
</td>
- <td align="left" width="6%">
+ <td align="center" width="6%">
<apex:outputField id="work_location_select" value="{!ra.repair.work_location_select__c}"/>
</td>
- <td align="left" width="5%">
+ <td align="center" width="6%">
<apex:outputField id="On_site_repair" value="{!ra.repair.On_site_repair__c}"/>
</td>
<td align="center" width="8%">
<apex:outputField id="Number_of_EffectiveContract" value="{!ra.repair.Number_of_EffectiveContract__c}"/>
</td>
- <td align="left" width="8%">
+ <td align="center" width="6%">
<apex:outputField id="NewProductGuaranteeObject" value="{!ra.repair.NewProductGuaranteeObject__c}"/>
</td>
</tr>
@@ -227,7 +348,6 @@
</table>
</div>
</apex:pageBlock>
- <!-- </div> -->
</div>
</apex:pageBlock>
</apex:outputPanel>
--
Gitblit v1.9.1