From 672fe10f38c59393610a5869ece5a869dd707800 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@prec-tech.com>
Date: 星期五, 02 六月 2023 16:58:06 +0800
Subject: [PATCH] 新建耗材备品申请(QIS)
---
force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.js | 149 +++++++++++++++++++++++++++++
force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.html | 5 +
force-app/main/default/classes/LexConsumApply_FromQISCtl.cls-meta.xml | 5 +
force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.js-meta.xml | 20 ++++
force-app/main/default/classes/LexConsumApply_FromQISCtl.cls | 90 ++++++++++++++++++
5 files changed, 269 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/classes/LexConsumApply_FromQISCtl.cls b/force-app/main/default/classes/LexConsumApply_FromQISCtl.cls
new file mode 100644
index 0000000..a0478b2
--- /dev/null
+++ b/force-app/main/default/classes/LexConsumApply_FromQISCtl.cls
@@ -0,0 +1,90 @@
+public with sharing class LexConsumApply_FromQISCtl {
+ public LexConsumApply_FromQISCtl() {
+
+ }
+ @AuraEnabled
+ public static List<Consum_Apply__c> rentalApp(String recordId){
+ try {
+ List<Consum_Apply__c> rep = [select Id from Consum_Apply__c where QIS_number__c =: recordId and Status__c <> '鍙栨秷' and Status__c <> '鍒犻櫎'];
+ return rep;
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
+ }
+ }
+
+ @AuraEnabled
+ public static List<FieldDefinition> fieldDefineApp(){
+ try {
+ List<FieldDefinition> rep = [Select QualifiedApiName, EntityDefinition.KeyPrefix, DurableId From FieldDefinition WHERE EntityDefinition.QualifiedApiName = 'Consum_Apply__c'];
+ return rep;
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
+ }
+ }
+
+ //鑾峰彇褰撳墠鐧诲綍浜虹殑 id
+ @AuraEnabled
+ public static UserResult UserInfo_Owner() {
+ UserResult result = new UserResult();
+ ID myUserID = UserInfo.getUserId();
+ try {
+ User tempUser =
+ [select Id,isFormal_Stuff__c,FirstName,LastName from user where id = : myUserID ];
+ result.id = tempUser.Id;
+ result.isFormalStuff = tempUser.isFormal_Stuff__c;
+ result.firstName = tempUser.FirstName;
+ result.lastName = tempUser.LastName;
+ } catch (exception e) {
+
+ result.result = e.getMessage();
+ }
+ return result;
+ }
+
+ @AuraEnabled
+ public static InitData init(String recordId){
+ InitData res = new initData();
+ try {
+ QIS_Report__c rep = [select Id,next_action__c,QIS_Status__c,Hospital__c,Department_Class__c,Hospital_Department__c,Name from QIS_Report__c where Id =: recordId];
+ res.nextAction = rep.next_action__c;
+ res.qISStatus = rep.QIS_Status__c;
+ res.hospital = rep.Hospital__c;
+ res.departmentClass = rep.Department_Class__c;
+ res.hospitalDepartment = rep.Hospital_Department__c;
+ res.name = rep.Name;
+ return res;
+ } catch (Exception e) {
+ throw new AuraHandledException(e.getMessage());
+ }
+ }
+ public class InitData{
+ @AuraEnabled
+ public String nextAction;
+ @AuraEnabled
+ public String qISStatus;
+ @AuraEnabled
+ public String hospital;
+ @AuraEnabled
+ public String departmentClass;
+ @AuraEnabled
+ public String hospitalDepartment;
+ @AuraEnabled
+ public String name;
+ }
+
+ public class UserResult {
+ @AuraEnabled
+ public string result;
+ public UserResult( ) {
+ result = 'Success';
+ }
+ @AuraEnabled
+ public string id;
+ @AuraEnabled
+ public Boolean isFormalStuff;
+ @AuraEnabled
+ public string firstName;
+ @AuraEnabled
+ public string lastName;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/LexConsumApply_FromQISCtl.cls-meta.xml b/force-app/main/default/classes/LexConsumApply_FromQISCtl.cls-meta.xml
new file mode 100644
index 0000000..9bbf7b4
--- /dev/null
+++ b/force-app/main/default/classes/LexConsumApply_FromQISCtl.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/lexConsumApply_FromQIS/lexConsumApply_FromQIS.html b/force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.html
new file mode 100644
index 0000000..ae58c6c
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.html
@@ -0,0 +1,5 @@
+<template>
+ <div class="dispatchOCSMQARAHolder" 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/lexConsumApply_FromQIS/lexConsumApply_FromQIS.js b/force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.js
new file mode 100644
index 0000000..237f4b1
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.js
@@ -0,0 +1,149 @@
+import { LightningElement,wire,track,api} from 'lwc';
+import { CurrentPageReference, NavigationMixin} from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import init from '@salesforce/apex/LexConsumApply_FromQISCtl.init';
+import rentalApp from '@salesforce/apex/LexConsumApply_FromQISCtl.rentalApp';
+import fieldDefineApp from '@salesforce/apex/LexConsumApply_FromQISCtl.fieldDefineApp';
+import UserInfo_Owner from '@salesforce/apex/LexConsumApply_FromQISCtl.UserInfo_Owner';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+
+export default class LexConsumApply_FromQIS extends LightningElement {
+
+ @api recordId;
+ IsLoading = true;
+
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ console.log(111);
+ console.log(currentPageReference);
+
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ console.log("str");
+ console.log(str);
+ this.recordId = str;
+ }
+ }
+ }
+
+ connectedCallback(){
+ console.log(this.recordId);
+ rentalApp({
+ recordId: this.recordId
+ }).then(result => {
+ console.log('rentalApp============' + result);
+ if(result.lenth > 0){
+ const evt = new ShowToastEvent({
+ title : 'Error',
+ message : '鍚屼竴涓猀IS璁板綍涓嶈兘閲嶅鐢宠澶囧搧',
+ variant : 'error'
+ });
+ this.dispatchEvent(evt);
+ return;
+ }
+ init({
+ recordId: this.recordId
+ }).then(result => {
+ this.IsLoading = false;
+ if (result != null) {
+ if(result.nextAction=='閫佸洖'){
+ this.showToast('QIS瀵瑰簲鏂规硶涓衡�滈�佸洖鈥濓紝涓嶈兘鐢宠','warning');
+ return;
+ }
+ if(result.qISStatus=='鑽夋涓�'){
+ this.showToast('QIS鐘舵�佷负鑽夋涓紝涓嶈兘鐢宠','warning');
+ return;
+ }
+ if(result.qISStatus=='FSE濉啓瀹屾瘯'){
+ this.showToast('QIS鐘舵�佷负FSE濉啓瀹屾瘯锛屼笉鑳界敵璇�','warning');
+ return;
+ }
+ if(result.qISStatus=='鍙栨秷'){
+ this.showToast('QIS鐘舵�佷负鍙栨秷锛屼笉鑳界敵璇�','warning');
+ return;
+ }
+ // if('{!$User.isFormal_Stuff__c}'=='true'){
+ // alert('璇曠敤鏈熷唴锛屼笉鑳界敵璇�');
+ // }else{
+ // var url = "/a0t/e?retURL=%2F{!URLENCODE(QIS_Report__c.Id)}&CF00N10000003Mp1d={!URLENCODE(QIS_Report__c.Hospital__c)}&CF00N10000003Mp1d_lkid={!URLENCODE(QIS_Report__c.HospitalId__c)}&CF00N10000003O3V6={!URLENCODE(QIS_Report__c.Department_Class__c)}&CF00N10000003O3V6_lkid={!URLENCODE(QIS_Report__c.Department_ClassId__c)}&CF00N10000003Mp2R={!URLENCODE(QIS_Report__c.Hospital_Department__c)}&CF00N10000003Mp2R_lkid={!URLENCODE(QIS_Report__c.Hospital_DepartmentId__c)}&00N10000003Msk0={!URLENCODE('缁翠慨浠g敤')}&00N10000003Msk5={!URLENCODE('绱㈣禂QIS')}&Name={!URLENCODE('*')}&CF00N10000005HzRr={!URLENCODE($User.LastName&' '&$User.FirstName)}&CF00N10000005HzRr_lkid={!URLENCODE($User.Id)}&CF00N10000005HzRz={!URLENCODE($User.LastName&' '&$User.FirstName)}&CF00N10000005HzRz_lkid={!URLENCODE($User.Id)}&00N10000003OJzc={!URLENCODE($User.LastName&' '&$User.FirstName)}&CF00N10000004o2Mg={!URLENCODE(QIS_Report__c.Name)}&CF00N10000004o2Mg_lkid={!URLENCODE(QIS_Report__c.Id)}&CF00N10000008r73m={!URLENCODE( QIS_Report__c.Repair__c)}&CF00N10000008r73m_lkid={!URLENCODE( QIS_Report__c.RepairId__c )}&";
+ // window.top.location.href=url;
+ // }
+ UserInfo_Owner({}).then(res=>{
+ if(res.isFormalStuff == 'true'){
+ this.showToast('璇曠敤鏈熷唴锛屼笉鑳界敵璇�','warning');
+ return;
+ }else{
+ // var query = "Select QualifiedApiName, EntityDefinition.KeyPrefix, DurableId From FieldDefinition WHERE EntityDefinition.QualifiedApiName = 'Consum_Apply__c'";
+ // var records = sforce.connection.query(query).getArray('records');
+ // var prefix = records[0].EntityDefinition.KeyPrefix.toString();
+ // var fieldmap = new Map();
+
+ // for (var i=0; i< records.length; i++) {
+ // var record = records[i];
+ // fieldmap.set(record.QualifiedApiName,record.DurableId.toString().split('.')[1]);
+ // }
+
+ fieldDefineApp({}).then(resp=>{
+ var fieldmap = new Map();
+ for (var i=0; i< resp.length; i++) {
+ var record = resp[i];
+ fieldmap.set(record.QualifiedApiName,record.DurableId.toString().split('.')[1]);
+ }
+
+ })
+ .catch(e=>{console.log(e)})
+
+ const defaultValues = encodeDefaultFieldValues({
+ QIS_Report__c: this.recordId,
+ Hospital: result.hospital,
+ Strategic_dept: result.departmentClass,
+ Account:result.hospitalDepartment,
+ demo_purpose2:'绱㈣禂QIS',
+ Name:'*',
+ Person_In_Charge:res.lastName + res.firstName,
+ applyUser:res.lastName + res.firstName,
+ QIS_number:result.name
+ });
+
+ this[NavigationMixin.Navigate]({
+ type: 'standard__objectPage',
+ attributes: {
+ objectApiName: 'Consum_Apply__c',
+ actionName: 'new'
+ },
+ state:{
+ defaultFieldValues: this.defaultValues
+ }
+ })
+ }
+ })
+ this.dispatchEvent(new CloseActionScreenEvent());
+ // window.location.reload();
+ }
+ }).catch(error => {
+ console.log("error");
+ console.log(error);
+ }).finally(() => {
+
+ });
+ }).catch(error => {
+ console.log("error");
+ console.log(error);
+ }).finally(() => {
+
+ });
+ }
+
+ showToast(message, type) {
+ const evt = new ShowToastEvent({
+ title: '',
+ message: message,
+ variant: type
+ });
+ this.dispatchEvent(evt);
+ }
+
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.js-meta.xml b/force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.js-meta.xml
new file mode 100644
index 0000000..622f243
--- /dev/null
+++ b/force-app/main/default/lwc/lexConsumApply_FromQIS/lexConsumApply_FromQIS.js-meta.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexEquipmentRentalApply_FromSA">
+ <apiVersion>56.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ <!-- 灞忓箷娴侀厤缃� -->
+ <target>lightning__FlowScreen</target>
+ </targets>
+ <!-- 瀹氫箟鍙橀噺 -->
+ <targetConfigs>
+ <targetConfig targets="lightning__FlowScreen">
+ <!-- name js涓娇鐢ㄧ殑鍙橀噺锛屼粠灞忓箷娴佷腑鑾峰彇鍙傛暟 label 鍦ㄥ睆骞曟祦鐨勮LWC鐨勮缃腑鏄剧ず -->
+ <property name="recordId" type="String" label="recordId"/>
+ </targetConfig>
+ </targetConfigs>
+</LightningComponentBundle>
\ No newline at end of file
--
Gitblit v1.9.1