From 0f1e5f2dd1b07eaab637261047741b02f2e4b60b Mon Sep 17 00:00:00 2001
From: zhangzhengmei <zhangzhengmei@prec-tech.com>
Date: 星期六, 06 五月 2023 09:46:04 +0800
Subject: [PATCH] 签收单->查看附件 lwc改造

---
 force-app/main/default/pages/eSignFormAttachment.page            |   25 ++++++------
 force-app/main/default/classes/eSignFormAttachmentController.cls |   36 ++++++++++++-----
 2 files changed, 38 insertions(+), 23 deletions(-)

diff --git a/force-app/main/default/classes/eSignFormAttachmentController.cls b/force-app/main/default/classes/eSignFormAttachmentController.cls
index 8d89cc5..0c63ce9 100644
--- a/force-app/main/default/classes/eSignFormAttachmentController.cls
+++ b/force-app/main/default/classes/eSignFormAttachmentController.cls
@@ -24,19 +24,33 @@
     }
 
     public void getAccessory(){
-      String soql = 'SELECT Name,id,parentId,ContentType from Attachment where parentId = :parentId order by createddate desc';
-      List<Attachment> acc = Database.query(soql);
+      // parentId = 'a2K0l000000wyICEAY';
+
+      //lwc鏀归��
+     List<ContentDocumentLink> cdlList = [SELECT ContentDocumentId
+                                                   FROM ContentDocumentLink
+                                                   WHERE LinkedEntityId = :parentId];
+      List<ID> fileIDs = new List<ID>();
+      for (ContentDocumentLink docLink : cdlList) {
+          fileIDs.add(docLink.ContentDocumentId);
+      }
+      List<ContentVersion> acc = [SELECT Id,Title,VersionData, ContentDocumentId,FileType 
+          FROM ContentVersion WHERE ContentDocumentId IN : fileIDs];
+      
+                                          
+      // String soql = 'SELECT Name,id,parentId,ContentType from Attachment where parentId = :parentId order by createddate desc';
+      // List<Attachment> acc = Database.query(soql);
       Map<String,String> identifierMap = new Map<String,String>();
       if(acc != null && acc.size() > 0){
         for(Integer i = 0;i<acc.size();i++){
-          if(acc[i].Name.substring(0,1)=='A'){
-            acc[i].ContentType = '缁忛攢鍟�';
-            identifierMap.put(acc[i].ContentType,acc[i].ContentType);
-          }else if(acc[i].Name.substring(0,1)=='H'){
-            acc[i].ContentType = '鍖婚櫌';
-            identifierMap.put(acc[i].ContentType,acc[i].ContentType);
+          if(acc[i].Title.substring(0,1)=='A'){
+            acc[i].Description = '缁忛攢鍟�';
+            identifierMap.put(acc[i].Description,acc[i].Description);
+          }else if(acc[i].Title.substring(0,1)=='H'){
+            acc[i].Description = '鍖婚櫌';
+            identifierMap.put(acc[i].Description,acc[i].Description);
           }else{
-            acc[i].ContentType = '';
+            acc[i].Description = '';
           }
           acccData.add(new AccessoryData(acc[i]));
         }
@@ -56,7 +70,7 @@
      * 涓轰簡鏂逛究鍓嶇table鑾峰彇鍊�
      */
     class AccessoryData {
-      public Attachment accessory { get; set; }
+      public ContentVersion accessory { get; set; }
       public Boolean canEdit { get; private set; }
       public Boolean hasError { get; private set; }
       public Boolean hasFieldError { get; private set; }
@@ -66,7 +80,7 @@
       //澶嶉�夋id鍊�
       public String chk { get;set; }
       
-      public AccessoryData(Attachment record) {
+      public AccessoryData(ContentVersion record) {
           accessory = record;
           canEdit = true;
           hasError = false;
diff --git a/force-app/main/default/pages/eSignFormAttachment.page b/force-app/main/default/pages/eSignFormAttachment.page
index 016c01a..e358110 100644
--- a/force-app/main/default/pages/eSignFormAttachment.page
+++ b/force-app/main/default/pages/eSignFormAttachment.page
@@ -163,16 +163,16 @@
                                     </tr>
                                     <apex:repeat value="{!acccData}" var="or" id="oppTable">
                                         <apex:variable value="{!1}" var="cnt"/>
-                                        <apex:variable value="trcnt" var="trcnt" rendered="{!IF(or.accessory.ContentType == '缁忛攢鍟�', true, false)}">
-                                        <tr style="cursor:pointer;" onclick="changeColor('{!or.accessory.Id}');onShowImge('{!or.accessory.Id}',this);" class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
+                                        <apex:variable value="trcnt" var="trcnt" rendered="{!IF(or.accessory.Description == '缁忛攢鍟�', true, false)}">
+                                        <tr style="cursor:pointer;" onclick="changeColor('{!or.accessory.ContentDocumentId}');onShowImge('{!or.accessory.ContentDocumentId}',this);" class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
                                             <td align="center" id="" style="border-right-width:thin">
-                                                <a href="#"><apex:outputText value="{!or.accessory.Name}" /></a>
+                                                <a href="#"><apex:outputText value="{!or.accessory.Title}.{!or.accessory.FileType}" /></a>
                                             </td>
                                             <td width="55px" align="center">
-                                                <apex:outputText value="{!or.accessory.ContentType}" />
+                                                <apex:outputText value="{!or.accessory.Description}" />
                                             </td>
                                             <td style="display:none">
-                                                <apex:outputText value="{!or.accessory.Id}"/>
+                                                <apex:outputText value="{!or.accessory.ContentDocumentId}"/>
                                             </td>
                                         </tr>
                                         </apex:variable>
@@ -197,16 +197,16 @@
                                     </apex:variable>
                                     <apex:repeat value="{!acccData}" var="or" id="oppTable2">
                                         <apex:variable value="{!1}" var="cnt"/>
-                                        <apex:variable value="trcnt" var="trcnt" rendered="{!IF(or.accessory.ContentType == '鍖婚櫌', true, false)}">
-                                        <tr style="cursor:pointer;" onclick="changeColor('{!or.accessory.Id}');onShowImge('{!or.accessory.Id}',this);" class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
+                                        <apex:variable value="trcnt" var="trcnt" rendered="{!IF(or.accessory.Description == '鍖婚櫌', true, false)}">
+                                        <tr style="cursor:pointer;" onclick="changeColor('{!or.accessory.ContentDocumentId}');onShowImge('{!or.accessory.ContentDocumentId}',this);" class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
                                             <td align="center" id="" style="border-right-width:thin">
-                                                <a href="#"><apex:outputText value="{!or.accessory.Name}" /></a>
+                                                <a href="#"><apex:outputText value="{!or.accessory.Title}.{!or.accessory.FileType}" /></a>
                                             </td>
                                             <td width="55px" align="center">
-                                                <apex:outputText value="{!or.accessory.ContentType}" />
+                                                <apex:outputText value="{!or.accessory.Description}" />
                                             </td>
                                             <td style="display:none">
-                                                <apex:outputText value="{!or.accessory.Id}"/>
+                                                <apex:outputText value="{!or.accessory.ContentDocumentId}"/>
                                             </td>
                                         </tr>
                                         </apex:variable>
@@ -340,7 +340,7 @@
                 }else{
                     //濡傛灉涓嶆槸鍥剧墖锛岄偅涔堜笅杞芥枃浠�
                     //window.open('https://ocsm--stagefull--c.documentforce.com/servlet/servlet.FileDownload?file='+accId);
-                    window.open('https://ocsm--c.ap0.content.force.com/servlet/servlet.FileDownload?file='+accId);
+                    window.open('/sfc/servlet.shepherd/document/download/'+accId);
                     debugger
                     //鍙宠竟鐨勭敾甯冩樉绀�
                     showPdf();
@@ -478,7 +478,8 @@
             }
             //鍥剧墖鍔犺浇鍜宑anvas 鐢诲浘
             function imgShow(accId,accContentType){
-                var imageUrl = "/servlet/servlet.FileDownload?file="+accId;
+                // var imageUrl = "/servlet/servlet.FileDownload?file="+accId;
+                var imageUrl = "/sfc/servlet.shepherd/document/download/"+accId;
                 //js鍔ㄦ�佽祴鍊�
                 document.getElementById("j_id0:testImg").src = imageUrl;
                 //js鍔ㄦ�佽祴鍊�

--
Gitblit v1.9.1