From 0994d62436004bd83059c51a48b7cd430feb9f43 Mon Sep 17 00:00:00 2001
From: twysparks <twysparks@163.com>
Date: 星期六, 06 五月 2023 16:57:21 +0800
Subject: [PATCH] 打印点检报告书

---
 force-app/main/default/classes/buttonAccountCtl.cls                                                  |   40 +++++++++++++
 force-app/main/default/lwc/lexCreateNewServiceContract/__tests__/lexCreateNewServiceContract.test.js |   25 ++++++++
 force-app/main/default/classes/buttonAccountCtl.cls-meta.xml                                         |    5 +
 force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.html              |    5 +
 force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js                |   77 +++++++++++++++++++++++++
 force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js-meta.xml       |   11 +++
 6 files changed, 163 insertions(+), 0 deletions(-)

diff --git a/force-app/main/default/classes/buttonAccountCtl.cls b/force-app/main/default/classes/buttonAccountCtl.cls
new file mode 100644
index 0000000..1093cf6
--- /dev/null
+++ b/force-app/main/default/classes/buttonAccountCtl.cls
@@ -0,0 +1,40 @@
+public with sharing class buttonAccountCtl {
+    public buttonAccountCtl() {
+
+    }
+
+    @AuraEnabled
+    public static InitData init(String recordId){
+        InitData res = new initData();
+        try{
+            Account report =  [SELECT Name,Department_Class_ID_18__c,Department_Class__c,Hospital_ID__c,Hospital__c,Id FROM Account WHERE Id =: recordId LIMIT 1];
+            System.debug(LoggingLevel.INFO, '*** opp: ' + report);
+            res.Id = report.Id;
+            res.HospitalC = report.Hospital__c;
+            res.HospitalIdC = report.Hospital_ID__c;
+            res.DepartmentClassC = report.Department_Class__c;
+            res.DepartmentClassIdC = report.Department_Class_ID_18__c;
+            res.Name = report.Name;
+
+            System.debug(LoggingLevel.INFO, '*** res: ' + res);
+        }catch(Exception e){
+            System.debug(LoggingLevel.INFO, '*** e: ' + e);
+        }
+        return res;
+    }   
+
+    public class InitData{
+        @AuraEnabled
+        public String Id;
+        @AuraEnabled
+        public String HospitalC;
+        @AuraEnabled
+        public String HospitalIdC;
+        @AuraEnabled
+        public String DepartmentClassC;
+        @AuraEnabled
+        public String DepartmentClassIdC;
+        @AuraEnabled
+        public String Name;
+     }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/buttonAccountCtl.cls-meta.xml b/force-app/main/default/classes/buttonAccountCtl.cls-meta.xml
new file mode 100644
index 0000000..9bbf7b4
--- /dev/null
+++ b/force-app/main/default/classes/buttonAccountCtl.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>56.0</apiVersion>
+    <status>Active</status>
+</ApexClass>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNewServiceContract/__tests__/lexCreateNewServiceContract.test.js b/force-app/main/default/lwc/lexCreateNewServiceContract/__tests__/lexCreateNewServiceContract.test.js
new file mode 100644
index 0000000..bdd855f
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNewServiceContract/__tests__/lexCreateNewServiceContract.test.js
@@ -0,0 +1,25 @@
+import { createElement } from 'lwc';
+import LexCreateNewServiceContract from 'c/lexCreateNewServiceContract';
+
+describe('c-lex-create-new-service-contract', () => {
+    afterEach(() => {
+        // The jsdom instance is shared across test cases in a single file so reset the DOM
+        while (document.body.firstChild) {
+            document.body.removeChild(document.body.firstChild);
+        }
+    });
+
+    it('TODO: test case generated by CLI command, please fill in test logic', () => {
+        // Arrange
+        const element = createElement('c-lex-create-new-service-contract', {
+            is: LexCreateNewServiceContract
+        });
+
+        // Act
+        document.body.appendChild(element);
+
+        // Assert
+        // const div = element.shadowRoot.querySelector('div');
+        expect(1).toBe(1);
+    });
+});
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.html b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.html
new file mode 100644
index 0000000..d044dbb
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.html
@@ -0,0 +1,5 @@
+<template>
+    <div class="exampleHolder" if:true={IsLoading}>
+        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
+    </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js
new file mode 100644
index 0000000..40602be
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js
@@ -0,0 +1,77 @@
+import {
+    LightningElement,
+    wire,
+    api
+} from 'lwc';
+import {
+    CurrentPageReference
+} from "lightning/navigation";
+import {
+    CloseActionScreenEvent
+} from 'lightning/actions';
+import init from '@salesforce/apex/buttonAccountCtl.init';
+
+export default class LexCreateNewServiceContract extends LightningElement {
+    @api recordId;
+    str;
+    IsLoading = true;
+    Id;
+    HospitalC;
+    HospitalIdC;
+    DepartmentClassC;
+    DepartmentClassIdC;
+    Name;
+
+    @wire(CurrentPageReference)
+    getStateParameters(currentPageReference) {
+        if (currentPageReference) {
+            const urlValue = currentPageReference.state.recordId;
+            if (urlValue) {
+                let str = `${urlValue}`;
+                this.recordId = str;
+            }
+        }
+    }
+
+    connectedCallback() {
+        init({
+            recordId: this.recordId
+        }).then(result => {
+            console.log(result);
+            if (result != null) {
+                this.IsLoading = false;
+                this.Id = result.Id;
+                this.HospitalC = result.HospitalC;
+                this.HospitalIdC = result.HospitalIdC;
+                this.DepartmentClassC = result.DepartmentClassC;
+                this.DepartmentClassIdC = result.DepartmentClassIdC;
+                this.Name = result.Name;
+
+                this.CreateNewServiceContract();
+                this.dispatchEvent(new CloseActionScreenEvent());
+            }
+        }).catch(error => {
+            console.log(error);
+        })
+    }
+
+    // 鏂板缓鏂版湇鍔″悎鍚�	
+    CreateNewServiceContract() {
+        var Hospital = this.HospitalC;
+        var Hospitalid = this.HospitalIdC;
+        var Department = this.DepartmentClassC;
+        var Departmentid = this.DepartmentClassIdC;
+        var accountname = this.Name;
+        var accountid = this.Id;
+
+
+        var url = 'a0H/e?CF00N10000002Dx56=' + Hospital + '&CF00N10000002Dx56_lkid=' +
+            Hospitalid + '&CF00N10000002Dx4p=' + Department + '&CF00N10000002Dx4p_lkid=' +
+            Departmentid + '&CF00N10000002Dx4q=' + accountname + '&CF00N10000002Dx4q_lkid=' +
+            accountid + '&RecordType=01210000000gTYq';
+
+            console.log(url);
+
+        // window.top.location.href = url;
+    }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js-meta.xml b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js-meta.xml
new file mode 100644
index 0000000..3392981
--- /dev/null
+++ b/force-app/main/default/lwc/lexCreateNewServiceContract/lexCreateNewServiceContract.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>54.0</apiVersion>
+	<isExposed>true</isExposed>
+	<targets>
+		<target>lightning__RecordPage</target>
+		<target>lightning__AppPage</target>
+		<target>lightning__HomePage</target>
+		<target>lightning__RecordAction</target>
+	</targets>
+</LightningComponentBundle>
\ No newline at end of file

--
Gitblit v1.9.1