From dfff58b7cd897b824a129edba6b5cdae20bb1e5c Mon Sep 17 00:00:00 2001
From: unknown <sunxia@prec-tech.com>
Date: 星期三, 23 八月 2023 17:40:58 +0800
Subject: [PATCH] 发起再注册分析并同步SAP
---
force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js | 282 +++++--------------------------------------------------
1 files changed, 28 insertions(+), 254 deletions(-)
diff --git a/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js
index d1a1131..6f2d1a3 100644
--- a/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js
+++ b/force-app/main/default/lwc/lexBatchSelectRepairLWC/lexBatchSelectRepairLWC.js
@@ -4,24 +4,14 @@
import { NavigationMixin } from 'lightning/navigation';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
-import NAME_FIELD from '@salesforce/schema/Repair__c.Incharge_Staff__c';
-import MY_CUSTOM_OBJECT from '@salesforce/schema/Repair__c';
-
import search from '@salesforce/apex/lexBatchSelectRepairLWCController.search';
import showPDF from '@salesforce/apex/lexBatchSelectRepairLWCController.showPDF';
-
-/*
-const actions = [
- { label: 'Show details', name: 'show_details' },
- { label: 'Delete', name: 'delete' },
- ];*/
const columns = [
{ label: '鐘舵��1', fieldName: 'Status1__c'},
{ label: '鐘舵��2', fieldName: 'Status2__c' },
{ label: 'RS淇悊鍗曞彿', fieldName: 'Name' },
{ label: 'SAP淇悊鍗曞彿', fieldName: 'SAP_Service_Repair_No__c' },
- // { label: '鍨嬪彿', fieldName: 'deliveredProductName' },
{ label: '鍨嬪彿', fieldName: 'deliveredProductUrl',type:'url',
typeAttributes:{
label:{
@@ -33,7 +23,6 @@
{ label: '鏈鸿韩缂栧彿', fieldName: 'SerialNumber__c' },
{ label: '鍖婚櫌鍚嶇О', fieldName: 'HP_Name__c' },
{ label: '鐪佷唤', fieldName: 'State_Hospital__c' },
- // { label: '淇悊濮旀墭鑰�', fieldName: 'Incharge_Staff_Name' },
{ label: '淇悊濮旀墭鑰�', fieldName: 'inchargeStaffUrl',type:'url',
typeAttributes:{
label:{
@@ -47,19 +36,9 @@
{ label: '鏈嶅姟鏂瑰紡', fieldName: 'On_site_repair__c' },
{ label: '鏈夋棤缁翠慨鍚堝悓瀵硅薄', fieldName: 'Number_of_EffectiveContract__c' },
{ label: '鏃犲伩鍖哄埆鏍囧織', fieldName: 'NewProductGuaranteeObject__c' }
- /* {
- type: 'action',
- typeAttributes: { rowActions: actions },
- },*/
];
-
+// 鎵归噺閫夋嫨淇悊LWC
export default class lexBatchSelectRepairLWC extends LightningElement {
- // Expose a field to make it available in the template
- nameField = NAME_FIELD;
-
- // Flexipage provides recordId and objectApiName
- @api recordId;
- @api objectApiName;
data = [];
columns = columns;
@@ -106,53 +85,29 @@
searchObj = {};
repair = {};
- selectedRepairs;
-
- /* @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;
- }
- }
- }*/
+ selectedRepairs = [];
connectedCallback(){
- // console.log(this.recordId);
}
//鐘舵��1
handleStatus1Change(event){
- /*console.log(event);
- console.log(event.detail);*/
this.searchObj.Status1 = event.detail.value;
- // console.log(JSON.stringify(this.searchObj));
}
//鐘舵��2
handleStatus2Change(event){
this.searchObj.Status2 = event.detail.value;
- // console.log(this.searchObj);
}
//鏈嶅姟鏂瑰紡
handleSiteChange(event){
this.searchObj.onSiteRepair = event.detail.value;
- // console.log(this.searchObj);
}
//RS淇悊鍗曞彿 RepairName
handleRepairNameChange(event){
this.searchObj.RepairName = event.detail.value;
- // console.log(this.searchObj);
}
//SAP淇悊鍗曞彿 SAPRepairNo
handleSAPRepairNoChange(event){
this.searchObj.SAPRepairNo = event.detail.value;
- // console.log(this.searchObj);
}
//缁翠慨涓績 workLocationSelect
handleWorkLocationChange(event){
@@ -173,35 +128,20 @@
//FSE鐢宠鏃� repair.Aware_date__c
handleAwareDateDStart(event){
this.repair.Aware_date__c = event.detail.value;
- console.log(this.repair.Aware_date__c);
}
// repair.Aware_date2__c
handleAwareDateDEnd(event){
this.repair.Aware_date2__c = event.detail.value;
- // console.log(this.repair.Aware_date2__c);
}
// 淇悊濮旀墭鑰� repair.Incharge_Staff__c
handleInchargeStaffChange(event){
- this.repair.Incharge_Staff__c = event.detail.value;
- // console.log(this.repair.Aware_date2__c);
+ this.repair.Incharge_Staff__c = event.detail.value[0];
}
//妫�绱�
searchRepair(event) {
- console.log(this.repair.Aware_date__c);
if (JSON.stringify(this.repair) != "{}") {
- console.log('this.repair');
this.searchObj.repair = this.repair;
- // fse 鏃堕棿鏉′欢
- /*if (!(this.repair.Aware_date__c != null && this.repair.Aware_date2__c != null) || this.repair.Aware_date__c > this.repair.Aware_date2__c) {
- const event = new ShowToastEvent({
- title: 'error',
- message: 'FSE鐢宠鏃ヨ緭鍏ユ湁璇�',
- variant:'error',
- });
- this.dispatchEvent(event);
- return;
- }*/
}
let jsonStr = JSON.stringify(this.searchObj);
if (jsonStr === "{}") {
@@ -212,36 +152,31 @@
});
this.dispatchEvent(event);
}else{
- console.log(jsonStr);
search({
json: jsonStr
}).then(result => {
- console.log(result.repairData);
- console.log('length:'+result.repairData.length);
- if (result.repairData.length == 0 || result.repairData.length == 200) {
+ if (!result.repairData || result.repairData && (result.repairData.length == 0 || result.repairData.length == 200)) {
const event = new ShowToastEvent({
title: 'warning',
message: result.status,
variant:'warning',
});
this.dispatchEvent(event);
+ if (!result.repairData || result.repairData && result.repairData.length == 0) {
+ result.repairData = [];
+ }
}
let returnArr = [];
result.repairData.forEach(function(v){
let objRepair = v.repair;
//娣诲姞淇悊濮旀墭鑰呭拰鍨嬪彿鍚嶇О
- objRepair.deliveredProductName = objRepair.Delivered_Product__r.Name;
+ objRepair.deliveredProductName = objRepair.Delivered_Product__r ? objRepair.Delivered_Product__r.Name : '';
objRepair.deliveredProductUrl = "/"+objRepair.Delivered_Product__c;
- objRepair.inchargeStaffName = objRepair.Incharge_Staff__r.Name;
+ objRepair.inchargeStaffName = objRepair.Incharge_Staff__r ? objRepair.Incharge_Staff__r.Name : '';
objRepair.inchargeStaffUrl = "/"+objRepair.Incharge_Staff__c;
- // console.log(objRepair);
returnArr.push(objRepair);
});
- /*console.log('arr');
- console.log(arr);
- console.log(arr.length);*/
this.data = returnArr;
- // console.log(this.data);
}).catch(error => {
console.log("error");
console.log(error);
@@ -278,7 +213,6 @@
fieldNameArr.push(v.fieldName);
}
});
- console.log(fieldNameArr);
fieldNameArr.forEach(v=>{
console.log(v);
// console.log(this.data[0].v);
@@ -355,10 +289,7 @@
}else{
doc += '<th></th>'
}
- // fieldNameArr.forEach(fieldName =>{
- // doc += '<th>'+record.fieldName+'</th>';
- // });
- doc += '</tr>';
+ doc += '</tr>';
});
doc += '</table>';
var element = 'data:application/vnd.ms-excel,' + encodeURIComponent(doc);
@@ -371,163 +302,9 @@
downloadElement.click();
}
- // this method validates the data and creates the csv file to download this.data鐨勬墍鏈夊瓧娈�
- downloadCSVFile1() {
- console.log("downloadCSVFile1");
- let rowEnd = '\n';
- let csvString = '';
- // this set elminates the duplicates if have any duplicate keys
- let rowData = new Set();
- let columnsData = new Set();
- let columnsLabelData = new Set();
-
- // getting keys from data
- this.data.forEach(function (record) {
- Object.keys(record).forEach(function (key) {
- rowData.add(key);
- });
- });
- console.log(rowData);
-
- // Array.from() method returns an Array object from any object with a length property or an iterable object.
- rowData = Array.from(rowData);
- console.log(rowData);
-
- // splitting using ','
- csvString += rowData.join(',');
- csvString += rowEnd;
- console.log(csvString);
- this.columns.forEach(function(v){
- columnsLabelData.add(v.label);
- if (v['typeAttributes']) {
- columnsData.add(v['typeAttributes'].label.fieldName);
- }else{
- columnsData.add(v.fieldName);
- }
- });
- console.log("columnsData");
- console.log(columnsLabelData);
- console.log(columnsData);
- console.log(rowData[1]);
- console.log(Array.from(columnsData));
- console.log(Array.from(columnsData).hasOwnProperty(rowData[1]));
- console.log(this.data[0].Name);
- console.log(this.data[0][rowData[1]]);
- // main for loop to get the data based on key value
- for(let i=0; i < this.data.length; i++){
- let colValue = 0;
-
- // validating keys in data
- for(let key in rowData) {
- if(rowData.hasOwnProperty(key)) {
- // Key value
- // Ex: Id, Name
- let rowKey = rowData[key];
- // add , after every value except the first.
- if(colValue > 0){
- csvString += ',';
- }
- // If the column is undefined, it as blank in the CSV file.
- let value = this.data[i][rowKey] === undefined ? '' : this.data[i][rowKey];
- csvString += '"'+ value +'"';
- colValue++;
- }
- }
- csvString += rowEnd;
- }
-
- // Creating anchor element to download
- let downloadElement = document.createElement('a');
-
- // This encodeURI encodes special characters, except: , / ? : @ & = + $ # (Use encodeURIComponent() to encode these characters).
- downloadElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvString);
- downloadElement.target = '_self';
- // CSV File Name
- downloadElement.download = 'Account Data.csv';
- // below statement is required if you are using firefox browser
- document.body.appendChild(downloadElement);
- // click() Javascript function to download CSV file
- downloadElement.click();
- }
- //瀵煎嚭涓篍xcel
- downloadCSVFile() {
- console.log("downloadCSVFile");
- let rowEnd = '\n';
- let csvString = '';
- // this set elminates the duplicates if have any duplicate keys
- //琛ㄦ牸鏍囬
- let columnsData = new Set();
- //琛ㄦ牸瀛楁
- let rowData = new Set();
-
- // getting keys from data
- this.columns.forEach(function(v){
- columnsData.add(v.label);
- if (v['typeAttributes']) {
- rowData.add(v['typeAttributes'].label.fieldName);
- }else{
- rowData.add(v.fieldName);
- }
- });
- console.log(columnsData);
- console.log(rowData);
- // Array.from() method returns an Array object from any object with a length property or an iterable object.
- rowData = Array.from(rowData);
- columnsData = Array.from(columnsData);
- // getting keys from data
- /* console.log("rowData");
- rowData.forEach(function(v){
- console.log(v);
- });
- console.log("columnsData");
- columnsData.forEach(function(v){
- console.log(v);
- }); */
-
- // splitting using ','
- csvString += columnsData.join(',');
- csvString += rowEnd;
- // console.log(csvString);
- // main for loop to get the data based on key value
- for(let i=0; i < this.data.length; i++){
- let colValue = 0;
-
- // validating keys in data
- for(let key in rowData) {
- if(rowData.hasOwnProperty(key)) {//del
- // Key value
- // Ex: Id, Name
- let rowKey = rowData[key];
- // add , after every value except the first.
- if(colValue > 0){
- csvString += ',';
- }
- // If the column is undefined, it as blank in the CSV file.
- let value = this.data[i][rowKey] === undefined ? '' : this.data[i][rowKey];
- csvString += '"'+ value +'"';
- colValue++;
- }
- }
- csvString += rowEnd;
- }
-
- // Creating anchor element to download
- let downloadElement = document.createElement('a');
-
- // This encodeURI encodes special characters, except: , / ? : @ & = + $ # (Use encodeURIComponent() to encode these characters).
- downloadElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvString);
- downloadElement.target = '_self';
- // CSV File Name
- downloadElement.download = '淇悊鏄庣粏琛�.csv';
- // below statement is required if you are using firefox browser
- document.body.appendChild(downloadElement);
- // click() Javascript function to download CSV file
- downloadElement.click();
- }
//鑾峰彇閫変腑Repair
getSelectedRows(event) {
const selectedRows = event.detail.selectedRows;
- console.log(selectedRows);
//Repair__c selectedRepairs
// Display that fieldName of the selected rows
let selectedRepairsArr = [];
@@ -539,8 +316,6 @@
//璺宠浆鍒皃df椤甸潰
skipPage() {
- console.log("selectedRows");
- // console.log(jsonStr);
if (this.selectedRepairs.length <= 0 ) {
const event = new ShowToastEvent({
title: 'error',
@@ -553,24 +328,23 @@
let jsonStr = JSON.stringify(this.selectedRepairs);
showPDF({
json: jsonStr
- }).then(result => {
- console.log(result);
- if (result.indexOf("https://ocsm") != -1) {
- window.open(result, "缁翠慨濮旀墭涔DF", "");
- }else{
- const event = new ShowToastEvent({
- title: 'error',
- message: result,
- variant:'error',
- });
- this.dispatchEvent(event);
- }
- }).catch(error => {
- console.log("error");
- console.log(error);
- }).finally(() => {
-
- });
- }
+ }).then(result => {
+ if (result.indexOf("https://ocsm") != -1) {
+ window.open(result, "缁翠慨濮旀墭涔DF", "");
+ }else{
+ const event = new ShowToastEvent({
+ title: 'error',
+ message: result,
+ variant:'error',
+ });
+ this.dispatchEvent(event);
+ }
+ }).catch(error => {
+ console.log("error");
+ console.log(error);
+ }).finally(() => {
+
+ });
+}
}
\ No newline at end of file
--
Gitblit v1.9.1