From 4420517bbbffea48cabe7a7dcdf2e1c4b440fc85 Mon Sep 17 00:00:00 2001
From: GWY <guweiyi@prec-tech.com>
Date: 星期一, 30 五月 2022 16:15:26 +0800
Subject: [PATCH] 两个LS特殊条件在说明的增减
---
force-app/main/default/pages/SendEmail.page | 552 +++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 458 insertions(+), 94 deletions(-)
diff --git a/force-app/main/default/pages/SendEmail.page b/force-app/main/default/pages/SendEmail.page
index c6a373f..8487046 100644
--- a/force-app/main/default/pages/SendEmail.page
+++ b/force-app/main/default/pages/SendEmail.page
@@ -6,6 +6,7 @@
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
<apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
+<apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"/>
<style type="text/css">
@@ -27,6 +28,20 @@
}
</style>
<script>
+ let isBlocking = false;
+ function b(){
+ if (!isBlocking) {
+ isBlocking = true;
+ blockme();
+ }
+ }
+
+ function ub(){
+ if (isBlocking) {
+ isBlocking = false;
+ unblockUI();
+ }
+ }
function formSubmit(){
testFile();
@@ -46,7 +61,9 @@
var memberEmailId = "memberEmail"+lineNum;
j$(escapeVfId(memberNameId)).attr("value",memberName);
j$(escapeVfId(memberEmailId)).attr("value",memberEmail);*/
- addMemberData(lineNum,memberId,memberName,memberEmail);
+ // addMemberData(lineNum,memberId,memberName,memberEmail);
+ j$("#memberBody tr[line-id='"+lineNum+"'] input.emailAddress").val(memberEmail);
+ j$("#memberBody tr[line-id='"+lineNum+"'] input.name").val(memberName);
}
function statusChabge(linenumNum,type){
var toId = "Page:messageForm:lineDataList:"+linenumNum+":"+"to";
@@ -92,6 +109,7 @@
function openFile(){
// alert('111111111');
// uploadFileS();
+ document.getElementById("file_input").value = '';
popupBox.setTitle("璇烽�夋嫨瑕佷笂浼犵殑鍥剧墖锛�");
popupBox.importContentNode(document.getElementById("Page:messageForm:popupBox"));
popupBox.show(document.getElementById("Page:messageForm:popupBox"));
@@ -102,72 +120,399 @@
//dialog 寮圭獥 end
//涓婁紶鍥剧墖
- function saveAttachment(){
- var maxFileSize = 4350000; //Base64 缂栫爜浠ュ悗鏈�澶х殑鏂囦欢瀛楄妭鏁�
- var attachmentBody; //闄勪欢鍐呭
- var attachmentName; //闄勪欢鍚嶇О
- var attachmentType; //闄勪欢鍚嶇О
- var attachmentSize; //闄勪欢澶у皬
- var parentId = j$(escapeVfId("parentId")).value();
- // 鑾峰彇涓婁紶鍥剧墖鐨勬暟閲�
- var size = document.getElementById("file_input").files.length;
- if (size > 0) {
- var nameList = [];
- var typeList = [];
- var bodyList = [];
- for(var i = 0;i < size;i++){
- var fbody = document.getElementById("file_input").files[i];
- attachmentName = fbody.name;
- if(fbody.size <= maxFileSize) {
- attachmentType = fbody.type;
- nameList.push(attachmentName);
- typeList.push(attachmentType);
- var fileReader = new FileReader();
- fileReader.readAsBinaryString(fbody);
- fileReader.onload = function(e) {
- bodyList.push(window.btoa(this.result));
- }
- fileReader.onerror = function(e) {
- alert("涓婁紶澶辫触锛岃閲嶆柊灏濊瘯");
- }
- fileReader.onabort = function(e) {
- alert("涓婁紶澶辫触锛岃閲嶆柊灏濊瘯");
- }
- } else {
- alert("Base64 缂栫爜鏈�澶у厑璁�4.3M鏂囦欢,"+attachmentName + '杩囧ぇ鏃犳硶涓婁紶');
+ function saveAttachment(){
+ var maxFileSize = 4350000; //Base64 缂栫爜浠ュ悗鏈�澶х殑鏂囦欢瀛楄妭鏁�
+ var attachmentBody; //闄勪欢鍐呭
+ var attachmentName; //闄勪欢鍚嶇О
+ var attachmentType; //闄勪欢鍚嶇О
+ var attachmentSize; //闄勪欢澶у皬
+ var parentId = j$(escapeVfId("parentId")).value();
+ // 鑾峰彇涓婁紶鍥剧墖鐨勬暟閲�
+ var size = document.getElementById("file_input").files.length;
+ if (size > 0) {
+ var nameList = [];
+ var typeList = [];
+ var bodyList = [];
+ for(var i = 0;i < size;i++){
+ var fbody = document.getElementById("file_input").files[i];
+ attachmentName = fbody.name;
+ if(fbody.size <= maxFileSize) {
+ attachmentType = fbody.type;
+ nameList.push(attachmentName);
+ typeList.push(attachmentType);
+ var fileReader = new FileReader();
+ fileReader.readAsBinaryString(fbody);
+ fileReader.onload = function(e) {
+ bodyList.push(window.btoa(this.result));
}
+ fileReader.onerror = function(e) {
+ alert("涓婁紶澶辫触锛岃閲嶆柊灏濊瘯");
+ }
+ fileReader.onabort = function(e) {
+ alert("涓婁紶澶辫触锛岃閲嶆柊灏濊瘯");
+ }
+ } else {
+ alert("Base64 缂栫爜鏈�澶у厑璁�4.3M鏂囦欢,"+attachmentName + '杩囧ぇ鏃犳硶涓婁紶');
+ }
- }
- if (nameList.length > 0) {
- //浣跨敤RemoteAction涓婁紶闄勪欢
- Visualforce.remoting.Manager.invokeAction(
- '{!$RemoteAction.SendEmailController.AddAttachment}',
- nameList,
- typeList,
- bodyList,
- parentId,
- function(result,event) {
-
- if(result == '鏂囦欢涓婁紶鎴愬姛'){
- alert(result);
- RefreshPage();
- } else if (result == null){
- result = '鏂囦欢涓婁紶澶辫触,璇烽噸鏂颁笂浼�';
- alert(result);
- RefreshPage();
- } else {
- alert(result);
- }
-
- });
-
- }
+ }
+ if (nameList.length > 0) {
+ //浣跨敤RemoteAction涓婁紶闄勪欢
+ Visualforce.remoting.Manager.invokeAction(
+ '{!$RemoteAction.SendEmailController.AddAttachment}',
+ nameList,
+ typeList,
+ bodyList,
+ parentId,
+ function(result,event) {
+
+ if(result == '鏂囦欢涓婁紶鎴愬姛'){
+ alert(result);
+ RefreshPage();
+ } else if (result == null){
+ result = '鏂囦欢涓婁紶澶辫触,璇烽噸鏂颁笂浼�';
+ alert(result);
+ RefreshPage();
+ } else {
+ alert(result);
+ }
+
+ });
+
+ }
+
+ }
+
+
+ }
+
+ // PI鏀归�� By Bright 20220329
+ AWSService.sfSessionId = '{!GETSESSIONID()}';
+ var staticResourceMail = JSON.parse('{!staticResourceMail}');
+ var staticResourceMailMerge = JSON.parse('{!staticResourceMailMerge}');
+ var staticResourceDocument = JSON.parse('{!staticResourceDocument}');
+ var isQuotesPdf = false;
+
+ function alertErrorMessage(errorMsg) {
+ console.log(errorMsg);
+ }
+
+ function uploadFileToAWS(data, size, fileName, callback) {
+
+ console.log("body=" + JSON.stringify({ 'file': data, "size": size, 'fileName': fileName }));
+ AWSService.post(staticResourceDocument.newUrl, JSON.stringify({
+ 'file': data,
+ "size": size,
+ 'fileName': fileName })
+ , function(result){
+ console.log("result" + JSON.stringify(result));
- }
-
-
+ if (result.success) {
+ let key = result.object;
+ confirmTrans(result.txId,1,function(){
+ if (callback) {
+ callback(key);
+ }
+ })
+ //SendEmail();
+ console.log('key' + key);
+ } else {
+ alertErrorMessage('涓婁紶澶辫触璇风◢鍚庡啀璇曪紒');
+ }
+ }, staticResourceDocument.token);
+
+ }
+
+ function SendEmailCallBack(){
+ console.log('SendEmailCallBack');
+ }
+
+ function confirmTrans(transId, isSuccess,callback) {
+
+ AWSService.post(staticResourceDocument.updateUrl, JSON.stringify({
+ "txId":transId,
+ "sfRecordId":"",
+ "isSuccess":isSuccess
+ }), function(data){
+ console.log("confirmTrans-" + JSON.stringify(data));
+ if (callback) {
+ callback()
+ }
+ }, staticResourceDocument.token);
+
+ }
+
+ function uploadFile() {
+ var maxFileSize = 4350000;
+ let files = document.getElementById("file_input").files
+ // 鑾峰彇涓婁紶鍥剧墖鐨勬暟閲�
+
+ if (files.length == 0) {
+ alert('鑷冲皯閫夋嫨涓�涓檮浠�');
+ return;
}
+
+ let attachList=[];
+ let complete_flags = new Array(files.length + 1).join(0).split('').map(function () { return false });
+ let AllComplete = function(){
+ for (let index = 0; index < complete_flags.length; index++){
+ if(!complete_flags[index]){
+ return;
+ }
+ }
+
+ ub();
+ }
+ for(var i = 0;i < files.length;i++){
+ var fbody = files[i];
+ let j = i;
+ if(fbody.size <= maxFileSize) {
+
+ } else {
+ alert("Base64 缂栫爜鏈�澶у厑璁�4.3M鏂囦欢,"+fbody.name + '杩囧ぇ鏃犳硶涓婁紶');
+ return;
+ }
+ }
+
+ popupBox.hide();
+ b();
+ for(var i = 0;i < files.length;i++){
+ var fbody = files[i];
+ let j = i;
+ var fileReader = new FileReader();
+ fileReader.fbody = fbody;
+ fileReader.readAsDataURL(fbody);
+ fileReader.onload = function(e) {
+ let reader = this;
+ attachList.push({
+ name:reader.fbody.name,
+ type:reader.fbody.type,
+ body:reader.result,
+ size:reader.fbody.size
+ })
+ //
+ console.log('onload '+ j);
+ // ReadComplete();
+ uploadFileToAWS(reader.result, reader.fbody.size, reader.fbody.name,function(key){
+ complete_flags[j] = true;
+ AppendAttachmentHtml(reader.fbody.name,key,reader.fbody.size);
+ AllComplete();
+ });
+
+
+ }
+ fileReader.onerror = function(e) {
+ ub();
+ alert("涓婁紶澶辫触锛岃閲嶆柊灏濊瘯");
+ }
+ fileReader.onabort = function(e) {
+ ub();
+ alert("涓婁紶澶辫触锛岃閲嶆柊灏濊瘯");
+ }
+ }
+
+ console.log('end');
+
+ }
+
+ let AfterCallBack = null;
+ function AddQuotesPdf(callback){
+ if (isQuotesPdf) {
+ alert('宸叉坊鍔犳姤浠峰崟锛屾棤闇�閲嶅娣诲姞');
+ return;
+ }
+ b();
+ AfterCallBack = callback;
+ j$("#pdf").attr("src",'/apex/QuotesPDF?id={!typeid}&addFile=AddQuotesPdfCallBack');
+ }
+
+ function AddQuotesPdfCallBack(uri){
+ let bodys = uri.split(',');
+ let body = bodys[bodys.length-1]
+ let size = window.atob(body).length;
+ let name = '鎶ヤ环鍗�.pdf';
+ uploadFileToAWS(uri, size, name,function(key){
+ ub();
+ AppendAttachmentHtml(name,key,size);
+ isQuotesPdf = true;
+ if (AfterCallBack) {
+ AfterCallBack();
+ }
+ });
+ }
+
+ function SendEmailJs(){
+
+ let tos = jQuery("#memberBody :checked[target='to']");
+ if(tos.length<1){
+ alert("鑷冲皯濉啓涓�涓敹浠朵汉");
+ return;
+ }
+
+ let error_email_e = null;
+ j$("#memberBody .emailAddress").each(function(i,e){
+ if (!/^[\w-]{1,99}@[\da-zA-Z]{1,99}\.[a-zA-Z]+$/.test(e.value)) {
+ error_email_e = e;
+ return false;
+ }
+ return true;
+ })
+
+ if (error_email_e) {
+ if(error_email_e.value){
+ alert('閭鍦板潃鏍煎紡涓嶅:'+error_email_e.value);
+ }else{
+ alert('閭鍦板潃蹇呭~');
+ }
+
+ j$(error_email_e).focus();
+ j$(error_email_e).select();
+ return;
+ }
+
+ let subject = j$(".SUBJECT__c").val();
+ if (!subject) {
+ alert("SUBJECT蹇呭~");
+ return;
+ }
+
+
+ let message = j$(".MESSAGE__c").val();
+ if (!message) {
+ alert("MESSAGE蹇呭~");
+ return;
+ }
+
+ let Foo = function(target){
+ let targets = jQuery("#memberBody :checked[target='"+target+"']");
+ let emails = [];
+ let names = [];
+ targets.each(function(i,e){
+ let v = j$(e).closest("tr").find(".name").val();
+ names.push(v?v:'-');
+ emails.push(j$(e).closest("tr").find(".emailAddress").val());
+ });
+ return {
+ emails:emails,
+ names:names
+ }
+ }
+
+
+ let to = Foo('to');
+ let cc = Foo('cc');
+ let bcc = Foo('bcc');
+
+
+ let payload = {
+ "bcc": bcc.emails.join(';'),
+ "bccName": bcc.names.join(';'),
+ "cc": cc.emails.join(';'),
+ "ccName": cc.names.join(';'),
+ "from": j$(".FROM__c").html(),
+ "fromName": "",
+ "message": message,
+ "recipient": to.emails.join(';'),
+ "recordId": "{!typeid}",
+ "recordType": "{!type}",
+ "subjectCopy": subject+'~{!name}',
+ "toName": to.names.join(';')
+ };
+ b();
+
+
+
+ let Send = function(){
+ let fileMap = {}
+ j$("a.attach_link").each(function(i,e){
+ fileMap[j$(e).attr("data-key")] = j$(e).attr("data-name");
+ });
+ payload.fileMap = fileMap;
+ AWSService.post(staticResourceMail.newUrl,JSON.stringify(payload),function(data){
+ console.log(data);
+ ub();
+ if (data && data.success) {
+ alert('鍙戦�佹垚鍔�')
+ if ('{!typeid}') {
+ window.location.href = '/{!typeid}?type=mail';
+ }else{
+ window.location.href = '/'+data.object;
+ }
+ }else{
+ alert('鍙戦�佸け璐ワ紝鍘熷洜:'+(data && data.message ? data.message :'鏈煡閿欒'));
+ }
+ },staticResourceMail.token);
+ }
+
+ // 濡傛灉娌℃坊鍔犳姤浠峰崟锛岃嚜鍔ㄦ坊鍔�
+ if ('{!type}' == 'Quotes' && !isQuotesPdf) {
+ AddQuotesPdf(Send);
+ }else{
+ Send();
+ }
+
+ }
+
+ function AppendAttachmentHtml(name,key,size){
+ let html = '<tr style="text-align:center; vertical-align: middle;">'
+ + '<td><a class="attach_link" target="_blank" data-key="'+key+'" data-name="'+name+'" href="'+staticResourceDocument.queryUrl+key+'">'+name+'</a></td>'
+ +'<td>'+new Date().toLocaleString()+'</td>'
+ +'<td>'+size+'</td>'
+ +'<td><input type="button" class="btn delete_attachment" value="delete" /></td>'
+ +'</tr>';
+ j$("table.attach_preview").append(html);
+ }
+
+ function AddMemberJs(){
+ let line_id = new Date().getTime()+''+Math.floor(Math.random()*1000);
+ let html = '<tr line-id="'+line_id+'" style="text-align:center;">'
+ +'<td><input id="memberName2" type="hidden" value=""><input class="emailAddress" type="text" value=""/></td>'
+ +'<td><input class="name" type="text" value=""/></td>'
+ +'<td><input line-id="'+line_id+'" target="to" type="checkbox" checked="checked"/></td>'
+ +'<td><input line-id="'+line_id+'" target="cc" type="checkbox"/></td>'
+ +' <td><input line-id="'+line_id+'" target="bcc" type="checkbox"/></td>'
+ +' <td><input line-id="'+line_id+'" class="btn delete" value="delete" type="button"/></td>'
+ +' <td><input type="button" value="Search" onclick="openSearchMemberPage('+line_id +');" class="btn search"/></td>'
+ +' </tr>';
+ j$("#memberBody").append(html);
+ }
+
+ j$(function(){
+ j$("table.attach_preview").on("click",".delete_attachment",function(){
+ j$(this).closest("tr").remove();
+ })
+
+ j$("#memberBody").on("click",":checkbox",function(){
+ let b = j$(this).prop("checked");
+ console.log(b);
+ j$(":checkbox[line-id='"+j$(this).attr("line-id")+"']").prop("checked",false);
+ j$(this).prop("checked",b);
+ })
+
+ j$("#memberBody").on("click","input.delete",function(){
+ j$("tr[line-id='"+j$(this).attr("line-id")+"']").remove();
+ })
+
+ if ('{!AWSDataId}') {
+ b();
+ AWSService.query(staticResourceMailMerge.queryUrl,'{!AWSDataId}',function(data){
+ ub();
+ if (data && data.object) {
+ let allMembers = data.object.allMember.split(';');
+ let allMemberNames = data.object.allMemberName.split(';');
+ j$("#memberBody .emailAddress").each(function(i,e){
+ j$(e).val(allMembers[i]);
+ })
+
+ j$("#memberBody .name").each(function(i,e){
+ j$(e).val(allMemberNames[i]=='-'?'':allMemberNames[i]);
+ })
+ }
+
+ },staticResourceMailMerge.token);
+ }
+ })
</script>
<div style="width : 100%;">
<div style="width : 70%; margin: auto;">
@@ -189,6 +534,10 @@
<!-- <apex:param name="lineNum" assignTo="{!lineNum}" value="" /> -->
</apex:actionFunction>
+ <apex:actionFunction name="SendEmail" action="{!SendEmail}" oncomplete="SendEmailCallBack();" reRender="messageForm" >
+ <apex:param name="handleType" assignTo="{!handleType}" value="send" />
+ </apex:actionFunction>
+
<div style="width: 100%">
<div class="errorMessage" style="margin-left: 39%">
<span id="errorMessage">{!errorMessage}</span>
@@ -202,7 +551,7 @@
</tr>
<tr>
<th style="width: 20%;text-align:center;">FROM:</th>
- <td><apex:outputText value="{!mail.FROM__c}" style="width: 40%"/></td>
+ <td><apex:outputText styleClass="FROM__c" value="{!mail.FROM__c}" style="width: 40%"/></td>
</tr>
</table>
</div>
@@ -221,17 +570,18 @@
</thead>
<tbody id="memberBody">
<apex:repeat id="lineDataList" value="{!memberLineDatas}" var="lineData">
- <tr style="text-align:center;">
+ <tr line-id="{!lineData.lineNum}" style="text-align:center;">
<td>
<input type="hidden" id="memberName{!lineData.lineNum}" value="{!lineData.name}" />
- <apex:inputText value="{!lineData.emailAddress}" /></td>
- <td><apex:inputText value="{!lineData.name}" /></td>
- <td><apex:inputCheckbox onclick="statusChabge({!lineData.lineNum},'to')" id="to" value="{!lineData.to}"/></td>
- <td><apex:inputCheckbox onclick="statusChabge({!lineData.lineNum},'cc')" id="cc" value="{!lineData.cc}"/></td>
- <td><apex:inputCheckbox onclick="statusChabge({!lineData.lineNum},'bcc')" id="bcc" value="{!lineData.bcc}"/></td>
- <td><apex:commandButton onclick="blockme();" action="{!deLine}" reRender="messageForm" value="delete" oncomplete="unblockUI();" disabled="{!isOnClick}">
+ <apex:inputText styleClass="emailAddress" value="{!lineData.emailAddress}" /></td>
+ <td><apex:inputText styleClass="name" value="{!lineData.name}" /></td>
+ <td><apex:inputCheckbox html-line-id="{!lineData.lineNum}" html-target="to" id="to" value="{!lineData.to}"/></td>
+ <td><apex:inputCheckbox html-line-id="{!lineData.lineNum}" html-target="cc" id="cc" value="{!lineData.cc}"/></td>
+ <td><apex:inputCheckbox html-line-id="{!lineData.lineNum}" html-target="bcc" id="bcc" value="{!lineData.bcc}"/></td>
+ <td><input line-id="{!lineData.lineNum}" class="btn delete" value="delete" type="button"/></td>
+ <!-- <td><apex:commandButton onclick="b();" action="{!deLine}" reRender="messageForm" value="delete" oncomplete="ub();" disabled="{!isOnClick}">
<apex:param name="lineNum" assignTo="{!lineNum}" value="{!lineData.lineNum}" />
- </apex:commandButton></td>
+ </apex:commandButton></td> -->
<td>
<apex:commandButton onclick="openSearchMemberPage({!lineData.lineNum});" value="Search" disabled="{!isOnClick}">
@@ -242,7 +592,8 @@
</tbody>
<thead>
<tr style="text-align:center;">
- <td><apex:commandButton id="addLine" onclick="blockme();" action="{!addLine}" reRender="messageForm" value="ADD Member" oncomplete="unblockUI();" disabled="{!isOnClick}"></apex:commandButton></td>
+ <!-- <td><apex:commandButton id="addLine" onclick="b();" action="{!addLine}" reRender="messageForm" value="ADD Member" oncomplete="ub();" disabled="{!isOnClick}"></apex:commandButton></td> -->
+ <td><apex:commandButton id="addLine" onclick="AddMemberJs();" value="ADD Member" oncomplete=""></apex:commandButton></td>
</tr>
</thead>
</table>
@@ -266,11 +617,11 @@
</tr> -->
<tr>
<th style="text-align:center;width: 20%;">SUBJECT:</th>
- <td><apex:inputField value="{!mail.SUBJECT__c}" style="width: 40%"/></td>
+ <td><apex:inputField styleClass="SUBJECT__c" value="{!mail.SUBJECT__c}" style="width: 40%"/></td>
</tr>
<tr>
<th style="text-align:center;width: 20%;">MESSAGE:</th>
- <td><apex:inputField style="height: 200px;width: 60%" value="{!mail.MESSAGE__c}"/></td>
+ <td><apex:inputField styleClass="MESSAGE__c" style="height: 200px;width: 60%" value="{!mail.MESSAGE__c}"/></td>
</tr>
</table>
</div>
@@ -284,57 +635,70 @@
<tr>
<td>
- <apex:commandButton value="Upload Attachment" action="{!uploadFile}" disabled="{!isOnClick}">
- </apex:commandButton>
+ <!-- <apex:commandButton value="Upload Attachment" action="{!uploadFile}" disabled="{!isOnClick}">
+ </apex:commandButton> -->
<apex:panelGroup >
- <apex:commandButton onclick="uploadFileS();return false;" value="鍥剧墖鎵归噺涓婁紶" disabled="{!isOnClick}"/>
+ <apex:commandButton onclick="openFile();return false;" value="鍥剧墖鎵归噺涓婁紶" disabled="{!isOnClick}"/>
</apex:panelGroup>
</td>
</tr>
</table>
</div>
- <div style="margin-left: 5px;">
+ <apex:outputPanel rendered="{!IF(openType == 'View', true, false)}" style="margin-left: 5px;">
<!-- border:1px solid #000000; -->
<table class="tableCss" style="width: 80%">
<tr style="text-align:center;">
<th style="text-align:center;width: 33%;">File Name</th>
<th style="text-align:center;width: 33%;">Upload Time</th>
- <th style="text-align:center;width: 33%;">File Size</th>
+ <!-- <th style="text-align:center;width: 33%;">File Size</th> -->
</tr>
- <apex:repeat id="attachmentList" value="{!attachmentList}" var="attachment">
+ <apex:repeat id="attachmentList" value="{!newAttachmentList}" var="item">
<tr style="text-align:center; vertical-align: middle;">
- <!-- <td><input value="{!attachment.Name}" readonly="readonly" style="border:none;"/></td> -->
- <td><apex:outputLink value="/{!attachment.Id}">{!attachment.Name}</apex:outputLink></td>
- <td><apex:inputField value="{!attachment.CreatedDate}"/></td>
- <td><apex:inputField value="{!attachment.BodyLength}"/></td>
- <td id="{!attachment.Id}">
- <apex:commandButton id="deleteFile" value="delete" action="{!deleteFile}" reRender="messageForm" onclick="blockme();" oncomplete="unblockUI();" disabled="{!isOnClick}">
- <apex:param name="fileId" assignTo="{!fileId}" value="{!attachment.Id}" />
- </apex:commandButton>
+ <!-- <td><input value="{!item.Name}" readonly="readonly" style="border:none;"/></td> -->
+ <td><apex:outputLink value="/{!item.Id}">{!item.FileName__c}</apex:outputLink></td>
+ <td><apex:inputField value="{!item.CreatedDate}"/></td>
+ <!-- <td><apex:inputField value="{item.BodyLength}"/></td> -->
+ <td id="{!item.Id}">
+ <a target="_blank" href="{!item.ViewLink__c}">鏌ョ湅</a>
</td>
</tr>
</apex:repeat>
</table>
- </div>
+ </apex:outputPanel>
+ <!-- 20220222 PI鏀归�� by Bright start -->
+ <apex:outputPanel rendered="{!IF(openType == 'View', false, true)}" style="margin-left: 5px;">
+ <!-- border:1px solid #000000; -->
+ <table class="tableCss attach_preview" style="width: 80%">
+ <tr style="text-align:center;">
+ <th style="text-align:center;width: 33%;">File Name</th>
+ <th style="text-align:center;width: 33%;">Upload Time</th>
+ <th style="text-align:center;width: 33%;">File Size</th>
+ </tr>
+
+ </table>
+ </apex:outputPanel>
+ <!-- 20220222 PI鏀归�� by Bright end -->
<div style="width: 30%;height: 5%;margin-left: 30%;margin-top: middle;">
<apex:outputPanel rendered="{!IF(type == 'Quotes', true, false)}">
- <apex:commandButton id="open" value="鏌ョ湅鎶ヤ环鍗�" onclick="openPDF()" style="width: 49%;height: 5%" />
- <apex:commandButton id="addPDf" value="娣诲姞鎶ヤ环鍗�" action="{!addPDF}" onclick="blockme();" oncomplete="unblockUI();" reRender="messageForm" style="width: 49%;height: 5%" disabled="{!isOnClick}"/>
+ <apex:commandButton id="open" value="鏌ョ湅鎶ヤ环鍗�" onclick="openPDF();return false;" style="width: 49%;height: 5%" />
+ <apex:commandButton id="addPDf" value="娣诲姞鎶ヤ环鍗�" onclick="AddQuotesPdf();return false;" oncomplete="" reRender="messageForm" style="width: 49%;height: 5%" disabled="{!isOnClick}"/>
</apex:outputPanel>
- <apex:commandButton id="test" action="{!SendEmail}" value="Send Mail" onclick="blockme();" oncomplete="unblockUI();" reRender="messageForm" style="width: 99%;height: 5%" disabled="{!isOnClick}">
+ <apex:commandButton id="test" value="Send Mail" onclick="SendEmailJs();return false;" style="width: 99%;height: 5%" disabled="{!isOnClick}"/>
+ <!-- <apex:commandButton id="test" action="{!SendEmail}" value="Send Mail" onclick="b();" oncomplete="ub();" reRender="messageForm" style="width: 99%;height: 5%" disabled="{!isOnClick}">
<apex:param name="handleType" assignTo="{!handleType}" value="send" />
- </apex:commandButton>
+ </apex:commandButton> -->
</div>
<apex:outputPanel id="popupBox" layout="block" style="display:none">
<input type="file" id="file_input" name="attFile" multiple="true"/><br/>
<center>
- <apex:commandButton value="纭" onclick="saveAttachment(); return false;" style="width: 20%; margin: 20px 10px 0px 10px" />
+ <apex:commandButton value="纭" onclick="uploadFile(); 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:form>
+ <iframe src="" id="pdf" style="position: absolute;left: 100%;" />
</div>
</div>
</apex:page>
\ No newline at end of file
--
Gitblit v1.9.1