From 869e9266c9b92448d0ad0797c56d67e994fd2329 Mon Sep 17 00:00:00 2001
From: 黄千龙 <huangqianlong@prec-tech.com>
Date: 星期三, 26 四月 2023 14:34:46 +0800
Subject: [PATCH] 服务相关页面page修改

---
 force-app/main/default/pages/ServiceMaintenanceTaskPage.page          |  244 ++++++++++++++++++
 force-app/main/default/pages/MoreMaintenanceContract.page-meta.xml    |    7 
 force-app/main/default/pages/MoreMaintenanceContract.page             |  211 ++++++++++++++++
 force-app/main/default/pages/MoreMaintenanceContractPop.page-meta.xml |    7 
 force-app/main/default/pages/ServiceMaintenanceTaskPage.page-meta.xml |    7 
 force-app/main/default/pages/MoreMaintenanceContractPop.page          |   91 +++++++
 force-app/main/default/pages/ChoiceAsset.page-meta.xml                |    7 
 force-app/main/default/pages/ChoiceAsset.page                         |  202 +++++++++++++++
 8 files changed, 776 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/pages/ChoiceAsset.page b/force-app/main/default/pages/ChoiceAsset.page
new file mode 100644
index 0000000..55be2a3
--- /dev/null
+++ b/force-app/main/default/pages/ChoiceAsset.page
@@ -0,0 +1,202 @@
+<apex:page action="{!init}" controller="ChoiceAssetController" id="allPage" showHeader="false" sidebar="false" title="閫夋嫨淇濇湁璁惧" lightningStylesheets="true">
+    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"></apex:stylesheet>
+    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"></apex:includeScript>
+    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"></apex:includeScript>
+    <apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
+    <apex:includeScript value="{!URLFOR($Resource.apex20)}"/>
+    <style type="text/css"></style>
+    <script>
+        function searchProductJs() {
+            searchAsset();
+        }
+
+        function saveJs(){
+            save();
+        }
+        //XLIU-CJM7Z9 銆愬鎵樸�戞柊寤轰慨鐞嗘彁绀轰俊鎭紙鍋滀骇鍙婇潪淇悊瀵硅薄鍝侊級LY 20221012 start
+        function checkPartSupplyFinishDateJs(){
+            var today = new Date();
+            var targetDate = (today.getFullYear()+1) + '/' + (today.getMonth()+1) + '/' + today.getDate();
+            var todayNew = today.toLocaleDateString();
+            var check;
+            var num = 100000;
+            for (var i = 0; i < 100; i++) {
+                check = j$(escapeVfId('allPage:allForm:allBlock:ConsumableorderdetailsSection:ConsumableorderdetailsTable:'+i+':consumablesCountproRowCheckbox')).attr('checked');
+                if (check == 'checked'){
+                    num = i;
+                }
+            }
+            if (num != 100000){
+                var partSupplyFinishDate = new Date(j$(escapeVfId('allPage:allForm:allBlock:ConsumableorderdetailsSection:ConsumableorderdetailsTable:' + num + ':partSupplyFinishDate')).value());
+                if (partSupplyFinishDate != 'Invalid Date'){
+                    var partSupplyFinishDateNew = partSupplyFinishDate.toLocaleDateString();
+                    if (partSupplyFinishDateNew > todayNew && partSupplyFinishDateNew <= targetDate){
+                        alert('棰勮'+ partSupplyFinishDateNew +'闆朵欢鍗冲皢鍋滀骇锛岃閫佷慨鍓嶄笌宸ュ巶鍙奟C鑱旂粶');
+                    }
+                    if (partSupplyFinishDateNew <= todayNew){
+                        alert('璇ュ瀷鍙烽浂浠跺凡缁忓仠浜э紝鏈夌壒娈婇渶姹傦紝璇烽�佷慨鍓嶄笌宸ュ巶RC鑱旂粶');
+                    }
+                }
+            }
+        }
+        //XLIU-CJM7Z9 銆愬鎵樸�戞柊寤轰慨鐞嗘彁绀轰俊鎭紙鍋滀骇鍙婇潪淇悊瀵硅薄鍝侊級LY 20221012 end
+
+        function ClearJs(){
+            blockme();
+            document.getElementById("allPage:allForm:allBlock:searchBlock:FuselageNumber").value = "";
+            document.getElementById("allPage:allForm:allBlock:searchBlock:AssetModel").value = "";
+            document.getElementById("allPage:allForm:allBlock:searchBlock:HospitalName").value = "";
+            searchAsset();
+            
+            // searchConsumableorderdetails();
+        }
+    </script>
+    <apex:form id="allForm">
+    <apex:actionFunction name="searchAsset" action="{!searchAsset}" rerender="ConsumableorderdetailsSection, message" onComplete="unblockUI();CheckStatusAfter();SumCompute()">
+    </apex:actionFunction>
+    <apex:actionFunction name="save" action="{!save}" rerender="ConsumableorderdetailsSection, message" onComplete="unblockUI();CheckStatusAfter();SumCompute()">
+    </apex:actionFunction>
+    
+
+    <apex:outputPanel id="allPanel">
+        <apex:pageBlock id="allBlock">
+            <apex:pageBlock id="searchBlock" >
+                    <table>
+                        <colgroup>
+                            
+                            <col width="5%"/>
+                            <col width="5%"/>
+                            <col width="5%"/>
+                            <col width="15%"/>
+                            <col width="15%"/>
+                            <col width="15%"/>
+                            <col width="15%"/>
+                            <col width="15%"/>
+                            <col width="15%"/>
+                            <col width="15%"/>
+                            <col width="15%"/>
+                            <col width="15%"/>
+                            
+                        </colgroup>
+
+                        <tr>
+                            
+                            <td colspan="2"/>
+                            <td colspan="4">鏈鸿韩缂栫爜锛�
+                                <apex:inputText value="{!FuselageNumber}" id="FuselageNumber"/>
+                            </td>                           
+                             
+                            <td align="right"></td>
+                            <td><apex:commandButton value="淇濇湁璁惧鎼滅储"  onclick="searchProductJs('0');return false;" /></td>
+                            <td><input type="button" value="娓呯┖"  onclick="ClearJs();return false;" class="btn"/><apex:commandButton onclick="saveJs();" value="纭畾" rerender="dummy"  /></td>
+                           <!--  <td>
+                            <apex:commandButton onclick="saveJs();" value="纭畾" rerender="dummy"  />
+                            </td> -->
+                            
+                            
+                        </tr>
+                        <!-- <td>
+                            </td>
+                            <td align="right"></td>
+                            <td><apex:commandButton value="淇濇湁璁惧鎼滅储" style="width: 80px;" onclick="searchProductJs('0');return false;" /></td>
+                            <td><input type="button" value="娓呯┖" style="width: 80px;" onclick="ClearJs();return false;" class="btn"/></td>
+                            <td>
+                            <apex:commandButton onclick="saveJs();"           value="纭畾" style="width:80px" rerender="dummy"  />
+                            </td> -->
+                        <tr>
+                            <td colspan="2"/>
+                            <td colspan="4">璁惧鍨嬪彿锛�
+                                <apex:inputText value="{!AssetModel}" id="AssetModel"/>
+                            </td>
+                            
+                        </tr>
+                        <tr>
+                            <td colspan="2"/>
+                            <td colspan="4">鍖婚櫌鍚嶇О锛�
+                                <apex:inputText value="{!HospitalName}" id="HospitalName"/>
+                            </td>
+                            
+                        </tr>
+                    </table>
+                </apex:pageBlock>
+                <apex:outputPanel id="message">
+                    <apex:pageMessages />
+                 </apex:outputPanel>
+                <apex:pageBlock title="淇濇湁璁惧鏌ユ壘" id="ConsumableorderdetailsSection">
+                    <table class="list" border="0" cellpadding="0" cellspacing="0">
+                        <tr class="headerRow">
+                            <!-- <apex:variable var="v" value="" rendered="{!editAble}"> -->
+                                <!-- <th><input type='checkbox' onClick='checkAll()' id='checker'/>閫夋嫨</th> -->
+                            <!-- </apex:variable> -->
+                            
+                            <th>閫夋嫨</th>
+                            <th>淇濇湁璁惧鍚嶇О</th>
+                            <!-- 20220927 ljh XLIU-CJN62G update start-->
+                            <!-- <th>鐘舵��</th> -->
+                            
+                            <th>鏈鸿韩缂栫爜</th>
+                            <th>鍖婚櫌</th>
+                            <th>鎴樼暐绉戝</th>
+                            <th>绉戝</th>
+                            <th>鍙戣揣鏃�</th>
+                            <th>澶氬勾淇濅慨鏈熻嚦</th>
+                            <th>鏈�杩戜竴鏈熺淮淇悎鍚岀粨鏉熸棩</th>
+                            <!-- <th>闆嗕腑绠$悊搴撳瓨</th> -->
+                            <!-- 20220927 ljh XLIU-CJN62G update end-->
+                        </tr>
+                            <apex:repeat value="{!choiceAssetInfoRecordsview}" var="records" id="ConsumableorderdetailsTable">
+                                <tr class="dataRow">
+                                    <td>
+                                    <apex:inputCheckbox value="{!records.check}" onclick="CheckSize(this);" id="consumablesCountproRowCheckbox" onchange="checkPartSupplyFinishDateJs(); return false;" disabled="{!!records.canSelect}"/>
+                                    </td>
+
+                                    <!-- <apex:variable var="v" value="" rendered="{!editAble}" id="variableinfo">
+                                        <td>
+                                        <apex:inputCheckbox value="{!records.check}" onclick="CheckSize(this);" id="consumablesCountproRowCheckbox" disabled="{!!records.canSelect}"/>
+                                         <apex:inputCheckbox value="{!records.oldCheck}" id="proRowOldCheckbox" style="display:none"/></td>
+                                     </apex:variable> -->
+                                    <td class="dataCell">
+                                        <apex:outputText value="{!records.ast.Name}"/>
+                                    </td>
+                                    <!-- <td class="dataCell">
+                                        <apex:outputText value="{!records.ast.Status}"/>
+                                    </td> -->
+                                    
+                                    <td class="dataCell">
+                                        <apex:outputText value="{!records.ast.SerialNumber}"/>
+                                    </td>
+                                    <td class="dataCell">
+                                        <apex:outputText value="{!records.ast.Hospital__r.Name}"/>
+                                    </td>   
+                                    <td class="dataCell">
+                                        <apex:outputText value="{!records.ast.Department_Class__r.Name}"/>
+                                    </td>   
+                                    <td class="dataCell">
+                                        <apex:outputText value="{!records.ast.Account.Name}"/>
+                                    </td>
+                                    <!-- <td class="dataCell">
+                                        <apex:outputText value="{!records.ast.Product2.Asset_Model_No__c}"/>
+                                    </td> -->
+                                    <td class="dataCell">
+                                        <apex:outputField value="{!records.ast.Posting_Date__c}"/>
+                                    </td>
+                                    <td class="dataCell">
+                                        <apex:outputField value="{!records.ast.Extend_Gurantee_DateTo__c}"/>
+                                    </td>
+                                    <td class="dataCell">
+                                        <apex:outputField value="{!records.ast.CurrentContract_End_Date__c}"/>
+                                    </td>
+                                    <!--XLIU-CJM7Z9 銆愬鎵樸�戞柊寤轰慨鐞嗘彁绀轰俊鎭紙鍋滀骇鍙婇潪淇悊瀵硅薄鍝侊級LY 20221012 start -->
+                                    <td>
+                                        <apex:inputField value="{!records.ast.NoPartRiskDate_F__c}" id="partSupplyFinishDate" style="display: none" showDatePicker="false"/>
+                                    </td>
+                                    <!--XLIU-CJM7Z9 銆愬鎵樸�戞柊寤轰慨鐞嗘彁绀轰俊鎭紙鍋滀骇鍙婇潪淇悊瀵硅薄鍝侊級LY 20221012 end  -->
+                                    
+                                </tr>
+                            </apex:repeat>
+                    </table>
+                </apex:pageBlock>
+        </apex:pageBlock>
+    </apex:outputPanel>
+</apex:form>
+</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/ChoiceAsset.page-meta.xml b/force-app/main/default/pages/ChoiceAsset.page-meta.xml
new file mode 100644
index 0000000..204a968
--- /dev/null
+++ b/force-app/main/default/pages/ChoiceAsset.page-meta.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>41.0</apiVersion>
+    <availableInTouch>false</availableInTouch>
+    <confirmationTokenRequired>false</confirmationTokenRequired>
+    <label>ChoiceAsset</label>
+</ApexPage>
diff --git a/force-app/main/default/pages/MoreMaintenanceContract.page b/force-app/main/default/pages/MoreMaintenanceContract.page
new file mode 100644
index 0000000..f3e20db
--- /dev/null
+++ b/force-app/main/default/pages/MoreMaintenanceContract.page
@@ -0,0 +1,211 @@
+<apex:page controller="MoreMaintenanceContractController"  action="{!init}"  showHeader="false"   sidebar="true" id="allPage"  title="缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸褰曞叆" 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)}"/>
+<style type="text/css">
+    .bPageBlock .pbTitle{
+        width: 50%;
+    }
+    /* 0. 鏄剧ず婊氬姩鏉�2娉ㄩ噴鎺夎繖涓墦寮� */
+    /*.table-head{padding-right:17px;color:#000;}*/
+    /* 1. 缁檛body鐨勮〃鏍煎浐瀹氶珮搴︼紙涔熷彲浠lex:1锛�, 骞舵坊鍔爋verflow-y:scroll */
+    .table-body {max-height: 350px;overflow-y: scroll;}
+    .table-body table tr:nth-child(2n){background-color:#f2f2f2;}
+    /* 2. 闅愯棌婊氬姩鏉� */
+    .table-body::-webkit-scrollbar {display: none}
+    /* 3. 浣夸笂涓嬭〃鏍煎榻愶紙瀹藉害涓�鑷达級 */
+    .table-head tr th:nth-of-type(1),
+    .table-body tr td:nth-of-type(1) {
+        width: 20%;
+    }
+
+    .table-head tr th:nth-of-type(2),
+    .table-body tr td:nth-of-type(2) {
+        width: 10%;
+    }
+
+    .table-head tr th:nth-of-type(3),
+    .table-body tr td:nth-of-type(3) {
+        width: 20%;
+    }
+
+    .table-head tr th:nth-of-type(4),
+    .table-body tr td:nth-of-type(4) {
+        width: 10%;
+    }
+
+    .table-head tr th:nth-of-type(5),
+    .table-body tr td:nth-of-type(5) {
+        width: 10%;
+    }
+    .table-head tr th:nth-of-type(6),
+    .table-body tr td:nth-of-type(6) {
+        width: 10%;
+    }
+    .table-head tr th:nth-of-type(7),
+    .table-body tr td:nth-of-type(7) {
+        width: 20%;
+    }
+</style>
+<script type="text/javascript">
+    function BackMc(){
+        blockme();
+        var id ="{!id}";
+        window.location.href="/"+id;
+    }
+    function RefreshPriceJs(){
+        blockme();
+        RefreshPrice();
+    }
+    function JsHQSum(){
+        blockme();
+        HQSum();
+    }
+    function SaveJs(go){
+        //缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸涓嶄负绌烘墠鍙互淇濆瓨
+        //allPage:allForm:MoreMaintenanceContract:theRepeat:1:hospitalQuotationText
+        var repairLCount = j$(escapeVfId('repairLCount')).value();
+        var IsEmpty = false;
+        for (var i = 0; i < repairLCount; i++) {
+            var tempValue = j$(escapeVfId('allPage:allForm:MoreMaintenanceContract:theRepeat:'+i+':hospitalQuotationText')).value();
+            var tempValued = j$(escapeVfId('allPage:allForm:MoreMaintenanceContract:theRepeat:'+i+':hospitalQuotationTextd')).value();
+            var hospitalQuotationTextValue = tempValue;
+            if(tempValue==null||tempValue==""||tempValue.replace(/(^\s*)|(\s*$)/g, "")==""){
+                hospitalQuotationTextValue = tempValued;
+            }
+            //console.log(tempValue);
+            if(hospitalQuotationTextValue==null||hospitalQuotationTextValue==""||hospitalQuotationTextValue.replace(/(^\s*)|(\s*$)/g, "")==""){
+                IsEmpty = true;
+            }
+        }
+        if(IsEmpty){
+            //alert('缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸涓嶈兘涓虹┖锛屽彲浠ヤ负0');
+            if(confirm('淇悊浠锋牸瀛樺湪绌洪」锛岃纭鏄惁淇濆瓨')){
+                if (confirm("璇风‘璁ゆ墍杈撲俊鎭纭紝淇濆瓨鍚庡皢鏃犳硶鑷鏇存敼銆傘�愮‘瀹氥�戣繘琛屼繚瀛橈紝銆愬彇娑堛�戝彲杩涜纭淇℃伅")) {
+                    blockme();
+                    Save(go);
+                }
+            }
+        }else{
+            if (confirm("璇风‘璁ゆ墍杈撲俊鎭纭紝淇濆瓨鍚庡皢鏃犳硶鑷鏇存敼銆傘�愮‘瀹氥�戣繘琛屼繚瀛橈紝銆愬彇娑堛�戝彲杩涜纭淇℃伅")) {
+                blockme();
+                Save(go);
+            }
+        }  
+    }
+</script>
+
+<apex:form id="allForm">
+
+<apex:actionFunction name="RefreshPrice" action="{!RefreshPrice}" rerender="message,MoreMaintenanceContract"  onComplete="unblockUI();">
+</apex:actionFunction>
+<apex:actionFunction name="HQSum" action="{!HQSum}" rerender="message,MoreMaintenanceContract"  onComplete="unblockUI();">
+</apex:actionFunction>
+<apex:actionFunction name="Save" action="{!Save}" rerender="message" onComplete="unblockUI();" >
+    <apex:param name="firstParam" assignTo="{!GoFlag}" value="" />
+</apex:actionFunction>
+<apex:outputPanel id="message">
+    <apex:pageMessages />
+</apex:outputPanel>
+
+<table style="width:100%;">
+    <colgroup>
+        <col width="1%"/>
+        <col width="9%"/>
+        <col width="1%"/>
+        <col width="10%"/>
+        <col width="9%"/>
+        <col width="10%"/>
+        <col width="15%"/>
+        <col width="10%"/>
+        <col width="10%"/>
+        <col width="10%"/>
+        <col width="5%"/>
+        <col width="5%"/>
+    </colgroup>
+    <tr>
+        <td></td>
+        <td align="left" style="font-weight: 800;"><h2>缁翠慨鍚堝悓淇℃伅</h2></td><td></td>
+        <td align="right" >缁翠慨鍚堝悓鍚嶇О锛�</td>
+        <td align="left" ><apex:outputField id="name"  value="{!mc.Name}"/></td>
+        <td align="right" >鍚堝悓璇环缂栫爜锛�</td>
+        <td align="left" ><apex:outputField id="Management_Code" value="{!mc.Management_Code__c}"/></td>
+        <td align="right" >璁板綍绫诲瀷锛�</td>
+        <td align="left" ><apex:outputField id="RecordType" value="{!mc.RecordType.Name}"/>
+        </td>
+        <td align="right" >鐘� 鎬侊細</td>
+        <td align="left" ><apex:outputField id="Status" value="{!mc.Status__c}"/>
+        </td>
+        <td></td>
+    </tr>
+</table>
+<apex:pageBlock title="缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸褰曞叆锛堜互涓嬩俊鎭皢浣滀负鎶ュ憡涔︿笂浼犻噾棰濅俊鎭樉绀猴級" id="MoreMaintenanceContract" rendered="true">
+    <div>
+        <ul>
+            <li> 
+                <apex:outputText rendered="{!!isVM}"> 缁忛攢鍟嗗鍖婚櫌绛剧害浠锋牸锛�</apex:outputText>
+                <apex:outputText rendered="{!isVM}"> 瀵瑰尰闄㈠悎鍚岄噾棰濓紙鎵嬪~锛夛細</apex:outputText>
+                <apex:outputPanel layout="none" rendered="{!IF(HATextEdit,true , false)}"><apex:InputField value="{!mc.HospitalAmountText__c}"  id="HospitalAmountText"  style="max-width: 120px;"/></apex:outputPanel><apex:outputPanel layout="none" rendered="{!IF(HATextEdit,false , true)}"><apex:outputField value="{!mc.HospitalAmountText__c}"  id="HospitalAmountText1"  style="max-width: 120px;"/></apex:outputPanel> </li>
+            <li>
+                <apex:outputText rendered="{!!isVM}">缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸璋冩暣姣斾緥:</apex:outputText>
+                <apex:outputText rendered="{!isVM}">瀵瑰尰闄慨鐞嗕环鏍艰皟鏁存瘮渚嬶細</apex:outputText>
+                <apex:Inputtext value="{!proportion}"  id="proportion"  style="max-width: 60px;"/>% <apex:commandButton onclick="RefreshPriceJs();return false;" id="RefreshPrice"  value="鍒锋柊浠锋牸" style="margin-left:10px;width:100px" /></li>
+        </ul>
+    </div>
+    <input type="hidden" id="repairLCount" value="{!repairLCount}" />
+    <div class="table-head">
+        <table  class="list" >
+            <thead>
+                <tr class="headerRow" border="0" cellpadding="0" cellspacing="0" >
+                    <th>淇悊鍙椾粯鐣彿</th>
+                    <th>鐘舵��1</th>
+                    <th>璁惧鍨嬪彿</th>
+                    <th>鏈鸿韩鍙风爜</th>
+                    <th>淇悊鍘熶环</th>
+                    <th>鎶ヤ环绛夌骇</th>
+                    <th><apex:outputText rendered="{!!isVM}">缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸</apex:outputText>
+                        <apex:outputText rendered="{!isVM}">瀵瑰尰闄㈢淮淇环鏍�</apex:outputText></th>
+                </tr>
+            </thead>
+        </table>
+    </div>
+    <div class="table-body" id="tableBody">
+        <table class="list" border="0" cellpadding="0" cellspacing="0" >
+            <tbody>
+                <apex:repeat value="{!repairL}" var="rl" id="theRepeat" >
+                    <tr>
+                        <td><apex:outputText value="{!rl.rr.Name}"/></td>
+                        <td><apex:outputText value="{!rl.rr.Status1__c}"/></td>
+                        <td><apex:outputText value="{!rl.rr.Delivered_Product__r.Name}"/></td>
+                        <td><apex:outputText value="{!rl.rr.SerialNumber__c}"/></td>
+                        <td><apex:outputText value="{!rl.rr.Repair_List_Price_formula__c}"/></td>
+                        <td><apex:outputText value="{!rl.rr.Repair_Rank__c}"/></td>
+                        <td>
+                            <!-- <apex:InputField value="{!rl.rr.hospitalQuotationText__c}"  id="hospitalQuotationText"  /> -->
+                            <apex:outputPanel layout="none" rendered="{!IF(rl.edit=false&&rl.rr.hospitalQuotationText__c !=null,true , false)}">
+                                <apex:outputField value="{!rl.rr.hospitalQuotationText__c}"  id="hospitalQuotationTextd"/>
+                            </apex:outputPanel>
+                            <apex:outputPanel layout="none" rendered="{!IF(rl.edit=false&&rl.rr.hospitalQuotationText__c !=null,false , true)}">
+                                <apex:InputField value="{!rl.rr.hospitalQuotationText__c}"  id="hospitalQuotationText" onblur="JsHQSum()"/>
+                            </apex:outputPanel>
+                        </td>
+                    </tr>
+                </apex:repeat>
+            </tbody>
+        </table>
+    </div>
+    <div id="hospitalQuotationTextSum">
+        <ul>
+            <li>鍚堝悓鏈熼棿淇悊閲戦锛堜笂浼狅級: <apex:outputText value="{!mc.hospitalQuotationTextSum__c}"  id="hospitalQuotationTextSum"/> </li> 
+        </ul>
+    </div>
+</apex:pageBlock>
+<apex:commandButton onclick="BackMc();return false;" value="杩�  鍥�
+" style="margin-left:30px;width:180px"  rendered="true" onComplete="unblockUI();" />
+<apex:commandButton onclick="SaveJs(0);return false;" value="淇�  瀛�
+" style="margin-left:30px;width:180px"  rendered="true" />
+<apex:commandButton onclick="SaveJs(1);return false;" value="淇濆瓨骞剁櫥褰昉BI鎶ュ憡涔﹂〉闈�
+" style="margin-left:30px;width:180px"  rendered="true" />
+</apex:form>
+</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/MoreMaintenanceContract.page-meta.xml b/force-app/main/default/pages/MoreMaintenanceContract.page-meta.xml
new file mode 100644
index 0000000..6444888
--- /dev/null
+++ b/force-app/main/default/pages/MoreMaintenanceContract.page-meta.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>41.0</apiVersion>
+    <availableInTouch>false</availableInTouch>
+    <confirmationTokenRequired>false</confirmationTokenRequired>
+    <label>MoreMaintenanceContract</label>
+</ApexPage>
diff --git a/force-app/main/default/pages/MoreMaintenanceContractPop.page b/force-app/main/default/pages/MoreMaintenanceContractPop.page
new file mode 100644
index 0000000..d99a1bf
--- /dev/null
+++ b/force-app/main/default/pages/MoreMaintenanceContractPop.page
@@ -0,0 +1,91 @@
+<apex:page controller="MoreMaintenanceContractPopController"    showHeader="false"   sidebar="true" id="allPage"  title="缁忛攢鍟嗗鍖婚櫌淇悊浠锋牸褰曞叆" lightningStylesheets="true">
+<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
+<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
+<!-- action="{!init}" -->
+<style type="text/css">
+/*----------------------------------------------------
+Default
+-----------------------------------------------------*/
+body,ul,ol,dl,dt,dd,li,p,h1,h2,h3,h4,h5,h6,form,label,fieldset,table,td,img,div,th{
+border:0;margin:0px; padding:0;}
+li,dd,dl,dt {list-style-type:none;}
+table {border-collapse:collapse;} 
+b,em,i,u,strong{font-weight:normal;font-style:normal;text-decoration:none;}
+.clear{ clear:both; line-height:0; font-size:0;  border:none; height:0; }
+.empty { line-height:0; font-size:0;}
+.fr{ float:right;}
+.fl{ float:left;}
+.clearfix{overflow:hidden;zoom:1}
+.br { word-wrap:break-word;	word-break:break-all;}
+.out{white-space: nowrap;  text-overflow:ellipsis;  overflow:hidden;}
+.mb30{margin-bottom: 30px;}
+.mr30{margin-right: 30px;}
+.mr33{margin-right: 33px;}
+/*-----------------------------------------------------
+User-defined
+-----------------------------------------------------*/
+h1,h2,h3,h4,h5,h6 { font-family:Tahoma, Helvetica, Arial, 'Microsoft YaHei', sans-serif; font-size:12px; font-weight:normal;}	
+body {font-size:12px; font-family:Tahoma, Helvetica, Arial, 'Microsoft YaHei', sans-serif; color:#333; background:#fff;}
+input,select,textarea{ margin: 0; padding:0; vertical-align:middle; font-family:Tahoma, Helvetica, Arial, 'Microsoft YaHei', sans-serif; color:#333; outline:none; resize:none;}
+
+a { color: #333; text-decoration: none; }
+a:hover { color:#333; }
+.w_vis_range_wrap{width: 100%;height: 100%;position: fixed;left:0;top:0;background: rgba(0,0,0,0.5);}
+.w_vis_range{width: 440px;height: 388px;background: #fff;position: absolute;top: 0;bottom: 0;left: 0;right: 0;margin: auto;border-radius: 5px}
+.w_vis_ra_head{height:50px;background: #f5faff;border-bottom: 1px solid #cce5ff;line-height: 50px;font-size: 18px;padding: 0 10px}
+.w_vis_ra_head h3{font-size: 18px;text-align: center;}
+
+.w_vis_ra_foot{padding: 20px 0px;font-size: 14px;text-align: center}
+.w_vis_ra_foot span{cursor: pointer;display: inline-block;width: 180px;height: 32px;line-height: 32px;border-radius: 2px;text-align: center;}
+.w_vis_ra_foot .w_sure{color: #fff;background:#0099ff;}
+.w_vis_ra_foot .w_close{color: #999999;background: #f2f2f2;margin-left: 30px}
+.w_del{height: 240px;font-size: 14px;}
+.w_del_txt {text-align: center;padding: 30px 20px 0}
+.w_del_txt p{line-height: 35px;;color: #333;font-size: 16px}
+.w_del_txt a:hover{color: #0099ff}
+.w_col_09f{color: #0099ff}
+.w_inp_wrap{padding: 10px 20px;}
+.w_inp_wrap .w_inp{width: 350px;line-height: 30px;height: 30px;border-radius: 2px;border: 1px solid #ccc;vertical-align: middle}
+.w_inp_wrap span{vertical-align: middle;}
+
+/*.w_close_btn{display: inline-block;width: 15px;height: 15px;background: url(../images/close.png) no-repeat center;margin-top: 17px;vertical-align: middle}*/
+</style>
+<script type="text/javascript">
+	function yesGO(){
+		var Id ="{!id}";
+		var RecordTypeName = "{!RecordTypeName}"
+        window.location.href="/apex/MoreMaintenanceContract?Id=" +Id+'&RecordTypeName='+RecordTypeName;
+	}
+	function noGo(){
+        window.location.href="http://powerbi.olympus.com.cn/Home/Login";
+	}
+</script>
+<div class="w_vis_range_wrap">
+    <div class="w_del w_vis_range">
+        <div class="w_vis_ra_head">
+            <!-- <span class="w_close_btn fr"></span> -->
+            <h3>鎻愮ず</h3>
+        </div>
+        <apex:outputPanel rendered="{!!isVM}">
+            <div class="w_del_txt ">
+                <p>鏈悎鍚岀殑绛捐瀵硅薄涓虹粡閿�鍟嗭紝璇风‘璁ゆ槸鍚﹂渶瑕佽緭鍏ョ粡閿�鍟嗗鍖婚櫌鍚堝悓淇℃伅銆�</p>
+            </div>
+            <div class="w_vis_ra_foot">
+                <span class="w_sure" onclick="yesGO();">鏄紝褰曞叆缁忛攢鍟嗗鍖婚櫌浠锋牸</span>
+                <span class="w_close" onclick="noGo();">鍚︼紝鐩存帴鐧诲綍PBI</span>
+            </div>
+        </apex:outputPanel>
+        <!-- 20201228 zh LJPH-BWJ8PM 鍒朵綔鎶ュ憡涔︽寜閽� start -->
+        <apex:outputPanel rendered="{!isVM}">
+            <div class="w_del_txt ">
+                <p>璇风‘璁ゆ槸鍚︽墜鍔ㄨ皟鏁村悎鍚岄噾棰濅俊鎭��</p>
+            </div>
+            <div class="w_vis_ra_foot">
+                <span class="w_sure" onclick="yesGO();">鏄紝缁存姢瀵瑰尰闄环鏍�</span>
+                <span class="w_close" onclick="noGo();">鍚︼紝鐩存帴鐧诲綍PBI</span>
+            </div>
+        </apex:outputPanel>
+        <!-- 20201228 zh LJPH-BWJ8PM 鍒朵綔鎶ュ憡涔︽寜閽� end -->
+    </div>
+</div>
+</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/MoreMaintenanceContractPop.page-meta.xml b/force-app/main/default/pages/MoreMaintenanceContractPop.page-meta.xml
new file mode 100644
index 0000000..ac3de0d
--- /dev/null
+++ b/force-app/main/default/pages/MoreMaintenanceContractPop.page-meta.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>41.0</apiVersion>
+    <availableInTouch>false</availableInTouch>
+    <confirmationTokenRequired>false</confirmationTokenRequired>
+    <label>MoreMaintenanceContractPop</label>
+</ApexPage>
diff --git a/force-app/main/default/pages/ServiceMaintenanceTaskPage.page b/force-app/main/default/pages/ServiceMaintenanceTaskPage.page
new file mode 100644
index 0000000..a295024
--- /dev/null
+++ b/force-app/main/default/pages/ServiceMaintenanceTaskPage.page
@@ -0,0 +1,244 @@
+<apex:page controller="ServiceMaintenanceTaskController"  showHeader="false" sidebar="true" lightningStylesheets="true" id="allPage"  >
+    <apex:slds />
+    <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.jquerysuggestjs)}"/>
+
+    <apex:outputPanel id="checEventFrame">
+        <script>
+            function selectAll() {
+                var count = {!pagesize};
+                if (j$(escapeVfId('allPage:allForm:mcListview:allCheckbox')).attr('checked') == 'checked') {
+                    for (var i = 0; i < count; i++) {
+                        j$(escapeVfId('allPage:allForm:mcListview:' + i + ':rowCheckbox')).prop('checked',true);
+                    }
+                } else {
+                    for (var i = 0; i < count; i++) {
+                        j$(escapeVfId('allPage:allForm:mcListview:' + i + ':rowCheckbox')).prop('checked',false);
+                    }
+                }
+            }
+            function assignTask(){
+                var count = {!pagesize};
+                var mcIds = '';
+                for (var i = 0; i < count; i++) {
+                    if(j$(escapeVfId('allPage:allForm:mcListview:' + i + ':rowCheckbox')).attr('checked') == 'checked'){
+                        mcIds+=j$(escapeVfId('allPage:allForm:mcListview:' + i + ':mcId')).value() +',';
+                    }
+                }
+                assignTasks(mcIds);
+                
+            }
+            function exportALL(){
+                exportAll();
+            }
+            function exportSelected(){
+                var count = {!pagesize};
+                var mcIds = '';
+                for (var i = 0; i < count; i++) {
+                    if(j$(escapeVfId('allPage:allForm:mcListview:' + i + ':rowCheckbox')).attr('checked') == 'checked'){
+                        mcIds+=j$(escapeVfId('allPage:allForm:mcListview:' + i + ':mcId')).value() +',';
+                    }
+                }
+                exportSelect(mcIds);
+            }
+            function refreshPageSizeJs() {
+                refreshPageSize();
+            }
+        </script>
+    </apex:outputPanel>
+    <apex:outputPanel rendered="{!!isShowDetail}" > 鏃犺闂潈闄� </apex:outputPanel>
+    <apex:form id="allForm" rendered="{!isShowDetail}">
+        <apex:pagemessages ></apex:pagemessages>
+        <apex:actionFunction name="assignTasks" action="{!assignTasks}" rerender="allForm">
+            <apex:param name="firstParam" assignTo="{!mcIdList}" value=""></apex:param>
+        </apex:actionFunction>
+        <apex:actionFunction name="exportAll" action="{!exportAll}" ></apex:actionFunction>
+        <apex:actionFunction name="exportSelect" action="{!exportSelected}" rerender="allPage" oncomplete="toPage()">
+            <apex:param name="exportIds" assignTo="{!exportIdList}" value=""></apex:param>
+        </apex:actionFunction>
+        <apex:actionFunction name="toPage" action="{!ToPage}" ></apex:actionFunction>
+        <apex:actionFunction name="refreshPageSize" action="{!refreshPageSize}" status="fetchStatus" reRender="allForm"/>
+
+        <div style="background-color:#ffffff; padding:0.5rem;">
+            <button class="slds-button slds-button_neutral" onclick="exportALL();return false;" id="export">
+                <svg class="slds-button__icon slds-button__icon_left" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+                    <use xlink:href="/apexpages/slds/latest/assets/icons/utility-sprite/svg/symbols.svg#download"></use>
+                </svg>瀵煎嚭鍏ㄩ儴
+            </button>
+            <button class="slds-button slds-button_neutral" onclick="exportSelected();return false;" id="exportbutt">
+                <svg class="slds-button__icon slds-button__icon_left" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+                    <use xlink:href="/apexpages/slds/latest/assets/icons/utility-sprite/svg/symbols.svg#download"></use>
+                </svg>瀵煎嚭閫変腑
+            </button>
+        </div>
+
+        <div style="width:100%; overflow :scroll; height: 560px;">
+            <apex:dataTable value="{!pageRecords}" var="mcTask" styleClass="slds-table slds-table_cell-buffer slds-table_bordered slds-table_col-bordered" id="mcListview" style="max-height: 580px;">
+                <apex:column >
+                    <apex:facet name="header"><apex:inputCheckbox onClick="selectAll()" id="allCheckbox" /></apex:facet>
+                    <apex:inputCheckbox id="rowCheckbox" />
+                    <apex:inputHidden id="mcId" value="{!mcTask.MC.Id}" />
+                </apex:column>
+
+                <apex:column value="{!mcTask.MC.Management_Code__c}"  >
+                    <apex:facet name="header">鍚堝悓璇环缂栫爜</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.MC.Hospital__c}"  >
+                    <apex:facet name="header">鍖婚櫌</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.MC.Department__c}"  >
+                    <apex:facet name="header">绉戝</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.MC.Service_Contract_Staff__c}"  >
+                    <apex:facet name="header">涓绘媴褰�</apex:facet>
+                </apex:column>
+                <!-- <apex:column value="{!mcTask.MC.Estimate_Target__c}"  >
+                    <apex:facet name="header">鎶ヤ环鎻愪氦瀵硅薄</apex:facet>
+                </apex:column> -->
+                <!-- <apex:column value="{!mcTask.MC.Dealer__c}"  >
+                    <apex:facet name="header">缁忛攢鍟嗗悕</apex:facet>
+                </apex:column> -->
+                <apex:column value="{!mcTask.ContractStartDate}"  >
+                    <apex:facet name="header">鍚堝悓寮�濮嬫棩</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.ContractEndDate}"  >
+                    <apex:facet name="header">鍚堝悓缁撴潫鏃�</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.MC.Contract_Amount__c}"  >
+                    <apex:facet name="header">鏈�缁堢敤鎴峰悎鍚岄噾棰�</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.EstimatePricerangeF}"  >
+                    <apex:facet name="header">浠锋牸鑼冨洿</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.ServiceDiscountRateF}"  >
+                    <apex:facet name="header">鐩稿鏍囧噯浠锋牸鑼冨洿鐨勬姌鎵g巼</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.ContractConsumptionrate}"  >
+                    <apex:facet name="header">娑堣垂鐜�</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.EstimateAssetCnt}"  >
+                    <apex:facet name="header">鎶ヤ环璧勪骇浠舵暟</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.OwnershipMachineNo1}"  >
+                    <apex:facet name="header">鏁呴殰鍨嬪彿1</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.OwnershipMachineNo2}"  >
+                    <apex:facet name="header">鏁呴殰鍨嬪彿2</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.OwnershipMachineNo3}"  >
+                    <apex:facet name="header">鏁呴殰鍨嬪彿3</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.OwnershipMachineNo4}"  >
+                    <apex:facet name="header">鏁呴殰鍨嬪彿4</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.OwnershipMachineNo5}"  >
+                    <apex:facet name="header">鏁呴殰鍨嬪彿5</apex:facet>
+                </apex:column> 
+                <apex:column value="{!mcTask.LocationName1}"  >
+                    <apex:facet name="header">鏁呴殰閮ㄤ綅1</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LocationName2}"  >
+                    <apex:facet name="header">鏁呴殰閮ㄤ綅2</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LocationName3}"  >
+                    <apex:facet name="header">鏁呴殰閮ㄤ綅3</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LocationName4}"  >
+                    <apex:facet name="header">鏁呴殰閮ㄤ綅4</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LocationName5}"  >
+                    <apex:facet name="header">鏁呴殰閮ㄤ綅5</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LastMContract1}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓1</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LastMContract2}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓2</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LastMContract3}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓3</apex:facet>
+                </apex:column>
+                <!-- <apex:column value="{!mcTask.LastMContract4}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓4</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LastMContract5}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓5</apex:facet>
+                </apex:column> -->
+                <apex:column value="{!mcTask.LastMContract1gapTime}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓1绌虹櫧鏈�</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LastMContract2gapTime}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓2绌虹櫧鏈�</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.LastMContract3gapTime}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓3绌虹櫧鏈�</apex:facet>
+                </apex:column>
+                <!-- <apex:column value="{!mcTask.LastMContract4gapTime}"  >
+                    <apex:facet name="header">涓婃湡鍚堝悓4绌虹櫧鏈�</apex:facet>
+                </apex:column> -->
+                <apex:column value="{!mcTask.MCTask.Name}"  >
+                    <apex:facet name="header">缁翠慨鍚堝悓浠诲姟鍚嶇О</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.MCTask.Maintenance_Consumption_rate__c}"  >
+                    <apex:facet name="header">浠诲姟鍙戦�佹椂鐐规秷璐圭巼</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.MCTask.Task__c}"  >
+                    <apex:facet name="header">浠诲姟</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.Task.taskStatus__c}"  >
+                    <apex:facet name="header">浠诲姟鐘舵��</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.taskHandleDate}"  >
+                    <apex:facet name="header">浠诲姟纭鏃�</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.SubmitDate}"  >
+                    <apex:facet name="header">鏃ユ姤鎻愪氦鏃�</apex:facet>
+                </apex:column>
+                <apex:column value="{!mcTask.Task.cancelReason__c}"  >
+                    <apex:facet name="header">鍙栨秷鍘熷洜</apex:facet>
+                </apex:column>
+            </apex:dataTable>
+        </div>
+        <div style="width:100%;">
+            <table style="width: 100%">
+                <tr>
+                    <td><apex:outputText value="{!(currentpage * pagesize)+1-pagesize}-{!IF((currentpage * pagesize)>mcTaskCount, mcTaskCount,(currentpage * pagesize))} 鍏� {!mcTaskCount} 涓�" />  </td>
+                    <td align="center">  
+                        <div class="paginator line1">
+                            <span class="prevNextLinks">
+                                <span class="prevNext">
+                                    <apex:commandLink status="fetchStatus" reRender="allForm" action="{!moveToFirst}" oncomplete="refreshPageSizeJs();" title="棣栭〉" >
+                                        <img src="/s.gif" title="棣栭〉" alt="棣栭〉" class="{!if((hasPrevious),'first','firstoff')}"/>
+                                    </apex:commandLink>
+                                </span>
+                                <span class="prevNext">
+                                    <apex:commandLink status="fetchStatus" reRender="allForm"  action="{!moveToPrevious}" oncomplete="refreshPageSizeJs();"  title="涓婁竴椤�">
+                                        <img src="/s.gif" title="涓婁竴椤�" alt="涓婁竴椤�" class="{!if((hasPrevious),'prev','prevoff')}"/>涓婁竴椤�
+                                    </apex:commandLink>
+                                </span>
+                                <span class="prevNext">
+                                    <apex:commandLink status="fetchStatus" reRender="allForm" action="{!moveToNext}" oncomplete="refreshPageSizeJs();" title="涓嬩竴椤�">涓嬩竴椤�
+                                        <img src="/s.gif" title="涓嬩竴椤�" alt="涓嬩竴椤�" class="{!if((hasNext),'next','nextoff')}"/>
+                                    </apex:commandLink>
+                                </span>
+                                <span class="prevNext">
+                                    <apex:commandLink status="fetchStatus" reRender="allForm" action="{!moveToLast}"  oncomplete="refreshPageSizeJs();" title="灏鹃〉">
+                                        <img src="/s.gif" title="灏鹃〉" alt="灏鹃〉" class="{!if((hasNext),'last','lastoff')}"/>
+                                    </apex:commandLink>
+                                </span>
+                            </span>
+                        </div>
+                    </td> 
+                    <td align="right" width="20%">  </td>  
+                </tr>
+            </table>
+        </div>
+        <div style="background-color:#ffffff; padding:0.5rem;">
+            <button class="slds-button slds-button_outline-brand" onclick="assignTask();return false;" id="assignbut">鍒嗛厤浠诲姟</button>
+        </div>
+    </apex:form>
+</apex:page>
\ No newline at end of file
diff --git a/force-app/main/default/pages/ServiceMaintenanceTaskPage.page-meta.xml b/force-app/main/default/pages/ServiceMaintenanceTaskPage.page-meta.xml
new file mode 100644
index 0000000..e8e4dd8
--- /dev/null
+++ b/force-app/main/default/pages/ServiceMaintenanceTaskPage.page-meta.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>50.0</apiVersion>
+    <availableInTouch>false</availableInTouch>
+    <confirmationTokenRequired>false</confirmationTokenRequired>
+    <label>ServiceMaintenanceTaskPage</label>
+</ApexPage>

--
Gitblit v1.9.1