From 45e4876c811c861adc5744d06b5bba840fae397a Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期四, 29 六月 2023 17:59:09 +0800
Subject: [PATCH] 优化失单画面以及修改按钮
---
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js | 247 +++++++++++++++++++++++--------------------------
1 files changed, 116 insertions(+), 131 deletions(-)
diff --git a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
index 47f681b..e9d4712 100644
--- a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
+++ b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -4,7 +4,7 @@
* @Author: chen jing wu
* @Date: 2023-04-20 15:04:03
* @LastEditors: chen jing wu
- * @LastEditTime: 2023-05-31 11:42:30
+ * @LastEditTime: 2023-06-28 17:29:47
*/
const columns2=[
{ label: '--鏃�--', value: '' },
@@ -31,7 +31,7 @@
];
const columns3 = [
{label : "澶卞崟鍝佺墝",fieldName : "LostBrandName__c"},
- {label : "澶卞崟瀵规墜鍨嬪彿",fieldName : "LostProduct__c"},
+ {label : "澶卞崟瀵规墜鍨嬪彿",fieldName : "productName"},
{label : "澶卞崟鏁伴噺",fieldName : "Quantity__c",type : "number"},
{label : "澶卞崟瀵规墜鍨嬪彿(鎵嬪姩)",fieldName : "LostProductMannual__c"},
{label : "澶卞崟浜у搧绫诲埆",fieldName : "ProductClass__c"},
@@ -47,12 +47,11 @@
import { CurrentPageReference } from "lightning/navigation";
import dataEntry from '@salesforce/apex/lexPCLLostReportLwcController.dataEntry';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
-import setbrand from '@salesforce/apex/lexPCLLostReportLwcController.setBrand';
import init from '@salesforce/apex/lexPCLLostReportLwcController.init';
import multiSelectCombobox from 'c/multiSelectCombobox'
-import lexMultiSelectCombobox from 'c/lexmultiSelectCombobox';
import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands';
import getNewLostBrand from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostBrand';
+import getNewLostProduct from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostProduct';
import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList';
import { NavigationMixin } from 'lightning/navigation';
import submit from '@salesforce/apex/lexPCLLostReportLwcController.submit';
@@ -64,13 +63,16 @@
@api oppId;
@track columns2=columns2;
- @api pageStatus = 'Create';
+ @track status = {
+ pageStatus: 'Create'
+ }
@track LostReport = {
LostBrands: [
],
lostReport: {}
}
@track brandOptions = [];
+ @track isInit = false;
lostType = '澶卞崟';
submitFlag = '';
flag;
@@ -84,11 +86,13 @@
//澶卞崟绫诲瀷
RecordTypeOptions = RecordTypeOptions;
isSubmit = false;
+ deleteBrandIdList = [];
+ deleteProductIdList = [];
connectedCallback(){
init({
oppId1: this.oppId,
lostReportId1: this.reportId,
- pageStatus1: this.pageStatus,
+ pageStatus1: this.status.pageStatus,
lostType1: this.lostType,
submitFlag1: this.submitFlag
}).then(result=>{
@@ -105,6 +109,8 @@
this.LostReport.lostReport.LostTotalAmount__c = 0.0;
this.LostReport.lostReport.InclusionUltrasound__c = '0';
this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0]));
+ console.log(this.LostReport);
+ this.isInit = true;
}
}).catch(error=>{
console.log("error");
@@ -125,6 +131,9 @@
fieldName: 'ProductCategory__c'
}).then(result=>{
this.productOptionsList = JSON.parse(result);
+ }).catch(error=>{
+ console.log('error');
+ console.log(error);
});
}
@@ -157,19 +166,22 @@
updateRecord({fields: { Id: recordId }});
}
- get isInit(){
- if(this.LostReport.LostBrands[0].LostProducts[0].productOptions == undefined){
- return false;
- }else{
- return true;
- }
- }
+ // get isInit(){
+ // if(this.LostReport.LostBrands[0].LostProducts[0].productOptions == undefined){
+ // return false;
+ // }else{
+ // return true;
+ // }
+ // }
get getData(){
- var products = this.LostReport.LostBrands[this.tableflag].LostProducts;
+ var newLostReport = JSON.parse(JSON.stringify(this.LostReport));
+ var products = newLostReport.LostBrands[this.tableflag].LostProducts;
var productList = [];
products.forEach(product=>{
- productList.push(product.LostProductss);
+ var newProduct = product;
+ newProduct.LostProductss.productName = newProduct.productName;
+ productList.push(newProduct.LostProductss);
});
this.tableflag++;
return productList;
@@ -184,21 +196,27 @@
}
get isView(){
- if(this.pageStatus == 'View'){
+ if(this.status.pageStatus == 'View'){
return true;
}
return false;
}
get isCreateOrEdit(){
- if(this.pageStatus == 'Create' || this.pageStatus == 'Edit'){
+ if(this.status.pageStatus == 'Create' || this.status.pageStatus == 'Edit'){
return true;
}
return false;
}
get isEdit(){
- if(this.pageStatus == 'Edit'){
+ if(this.status.pageStatus == 'Edit'){
+ return true;
+ }
+ return false;
+ }
+ get isSubmit(){
+ if(this.submitFlag){
return true;
}
return false;
@@ -211,6 +229,15 @@
this.LostReport.LostBrands.push(result);
});
}
+ addRow(event){
+ var index = event.target.name;
+ getNewLostProduct({
+ lineNo2: this.LostReport.LostBrands[index].LostProducts.length
+ }).then(result=>{
+ result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c;
+ this.LostReport.LostBrands[index].LostProducts.push(result);
+ });
+ }
submitJs() {
console.log('1');
submit({
@@ -220,34 +247,16 @@
if(result.error){
this.showToast(result.error,"error");
}else{
- this.submitFlag = result.submitFlag;
- init({
- oppId1: this.oppId,
- lostReportId1: this.reportId,
- pageStatus1: result.pageStatus,
- lostType1: this.lostType,
- submitFlag1: this.submitFlag
- }).then(result=>{
- var report = result.LostReport;
- if(result.message != null){
- if(result.message == '鎻愪氦鎴愬姛锛�'){
- this.LostReport = report;
- this.isSubmit = true;
- this.pageStatus = 'View';
- console.log(this.LostReport);
- this.showToast(result.message,"success");
- this.updateRecordView(this.reportId);
-
- }else{
- this.showToast(result.message,"error");
- }
- }else{
- this.LostReport = report;
- }
- }).catch(error=>{
- console.log("error");
- console.log(error);
- });
+ console.log(result);
+ console.log(this.LostReport);
+ for(var i=0;i < result.approvalHistorys.length;i++){
+ console.log('123');
+ this.LostReport.approvalHistorys.push(JSON.parse(JSON.stringify(result.approvalHistorys[i])));
+ console.log('321');
+ }
+ this.submitFlag = JSON.parse(JSON.stringify(result.submitFlag));
+ console.log(this.LostReport);
+ this.updateRecordView(this.reportId);
}
}).catch(error=>{
console.log("error");
@@ -258,17 +267,21 @@
deleteBrandJs(event){
var str = event.target.name;
- this.columnsArrIndex = 0;
+ if(this.LostReport.LostBrands[str].lostBrand.Id){
+ this.deleteBrandIdList.push(this.LostReport.LostBrands[str].lostBrand.Id);
+ }
this.LostReport.LostBrands.splice(str,1);
+ console.log(this.LostReport);
+ this.deleteBrandIdList.forEach(brandId=>{
+ console.log(brandId);
+ });
+ this.setLostTotalAmount();
}
// add tcm 20211118 end
setLostTotalAmount() {
- var elements = this.template.querySelectorAll('[data-id="TotalAmount"]');
var tempLostAmount = 0.0;
- elements.forEach(element => {
- if(element.value != 0){
- tempLostAmount = tempLostAmount + parseFloat(element.value);
- }
+ this.LostReport.LostBrands.forEach(brand=>{
+ tempLostAmount = tempLostAmount + parseFloat(brand.lostBrand.LostPrice__c);
});
this.LostReport.lostReport.LostTotalAmount__c = tempLostAmount;
}
@@ -277,6 +290,15 @@
var index = event.target.name;
const payload = event.detail.payload;
const payloadType = event.detail.payloadType;
+ if(this.LostReport.LostBrands[index].lostBrand.Id){
+ this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
+ if(product.LostProductss.Id){
+ var productId = product.LostProductss.Id
+ this.deleteProductIdList.push(productId);
+ }
+ });
+ console.log(this.deleteProductIdList);
+ }
this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c = payload.value;
if(payloadType === 'multi-select'){
this.clearProducts(payload.value,index);
@@ -285,10 +307,6 @@
}
}
setDefaultBrand(value,index){
- console.log('22222');
- // this.LostReport.LostBrands[index].LostProducts.forEach(product => {
- // product.LostProductss.LostBrandName__c = value;
- // });
var newProducts = [];
this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
this.newProduct.LostProductss.LostBrandName__c = value;
@@ -297,7 +315,6 @@
this.LostReport.LostBrands[index].LostProducts = newProducts;
}
clearProducts(value,index){
- console.log('111111');
var newProducts = [];
this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
this.newProduct.LostProductss.LostBrandName__c = value;
@@ -353,61 +370,45 @@
if(!this.flag){
return;
}
- console.log(this.pageStatus);
- if(this.pageStatus == 'Edit'){
- this.pageStatus = 'View';
- }else{
- dataEntry({
- report1 : JSON.stringify(this.LostReport)
- }).then(result=>{
- console.log(result);
- if(result.error){
- this.showToast(result.error,"error");
- }else{
- this.LostReport = JSON.parse(result.LostReport);
- this.reportId = result.reportId;
- console.log(this.LostReport);
- Promise.resolve().then(() => {
- this.pageStatus = 'View';
- this.template.querySelectorAll('lightning-card').forEach(elem => {
- elem.classList.toggle('View');
- });
- });
- }
- }).catch(error=>{
- console.log("error");
- console.log(error);
- });
- }
-
+ console.log(this.LostReport);
+ dataEntry({
+ report1 : JSON.stringify(this.LostReport),
+ deleteBrandIdList: this.deleteBrandIdList,
+ deleteProductIdList: this.deleteProductIdList
+ }).then(result=>{
+ console.log(result);
+ this.deleteBrandIdList.splice(0,this.deleteBrandIdList.length);
+ this.deleteProductIdList.splice(0,this.deleteProductIdList.length);
+ if(result.error){
+ this.showToast(result.error,"error");
+ }else{
+ // var report = JSON.parse(result.LostReport);
+ // var index1 = 0;
+ // this.LostReport.LostBrands.forEach(brand=>{
+ // brand.lostBrand.Id = report.LostBrands[index1].lostBrand.Id;
+ // var index2 = 0;
+ // brand.LostProducts.forEach(product=>{
+ // product.LostProductss.Id = report.LostBrands[index1].LostProducts[index2].LostProductss.Id;
+ // index2++;
+ // });
+ // index1++;
+ // });
+ this.LostReport = JSON.parse(result.LostReport);
+ this.reportId = result.reportId;
+ // this.LostReport.lostReport.Id = result.reportId;
+ // console.log(this.LostReport);
+ this.status.pageStatus = 'View';
+ this.tableflag = 0;
+ this.showToast('淇濆瓨鎴愬姛','success');
+ console.log(this.LostReport);
+ }
+ }).catch(error=>{
+ console.log("error");
+ console.log(error);
+ });
}
- saveBrandToEditJs(event) {
- Promise.resolve().then(() => {
- this.pageStatus = 'View';
- this.template.querySelectorAll('lightning-card').forEach(elem => {
- elem.classList.toggle('View');
- });
- });
- }
-
editJs(){
- Promise.resolve().then(() => {
- this.pageStatus = 'Edit';
- this.template.querySelectorAll('lightning-card').forEach(elem => {
- elem.classList.toggle('Edit');
- });
- });
- // var elements = this.template.querySelectorAll('.Product');
- // console.log(elements.length);
- // elements.forEach(element=>{
- // var name = null;
- // this.productNameList.forEach(product=>{
- // if(product.index1 == element.title && product.index2 == element.name){
- // name = product.name;
- // }
- // });
- // element.editLookup(name);
- // });
+ this.status.pageStatus = 'Edit';
}
dataCheck(){
@@ -495,14 +496,6 @@
isBlank(str) {
return /^\s*$/.test(str);
}
- addRow(event){
- var index = event.target.name;
- var product = JSON.parse(JSON.stringify(this.newProduct));
- if(this.LostReport.LostBrands[index].LostProducts[0].LostProductss.LostBrandName__c != undefined){
- product.LostProductss.LostBrandName__c = JSON.parse(JSON.stringify(this.LostReport.LostBrands[index].LostProducts[0].LostProductss.LostBrandName__c));
- }
- this.LostReport.LostBrands[index].LostProducts.push(product);
- }
removeRow(event){
var index1 = event.target.name;
var index2 = event.target.value;
@@ -510,10 +503,14 @@
if(deleteButtons.length == 1){
return;
}
+ if(this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Id){
+ var productId = this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Id;
+ this.deleteProductIdList.push(productId);
+ }
this.LostReport.LostBrands[index1].LostProducts.splice(index2,1);
+ console.log(this.deleteProductIdList);
}
search(topNum,secondNum){
- console.log("sb");
var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + topNum + '"]');
var elements2 = this.template.querySelectorAll('.ProductCategory[data-id="' + topNum + '"]');
if (this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c==null) {
@@ -526,7 +523,6 @@
elements2[secondNum].readOnly = true;
}else {
- console.log("a");
searchProduct({
lostProduct : this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c
}).then(result=>{
@@ -534,24 +530,19 @@
var prd = JSON.parse(result);
this.LostReport.LostBrands[topNum].LostProducts[secondNum].productOptions = this.productOptionsList[prd.ProductClass__c];
if (prd.ProductCategory__c!=null) {
- console.log("c");
elements1[secondNum].readOnly = false;
elements2[secondNum].readOnly = false;
this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=prd.ProductClass__c;
this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c;
elements1[secondNum].readOnly = true;
elements2[secondNum].readOnly = true;
- console.log("e");
- // this.LostReport.LostBrands[topNum].LostProducts[secondNum].bool=true;
}else {
- console.log("d");
elements1[secondNum].readOnly = false;
elements2[secondNum].readOnly = false;
this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null;
this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null;
elements1[secondNum].readOnly = true;
elements2[secondNum].readOnly = true;
- // this.LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false;
}
}).catch(error=>{
console.log("error");
@@ -561,16 +552,11 @@
}
}
handleSelected(event) {
- console.log('......');
var index1 = event.target.title;
var index2 = event.target.name;
- // var objectname = event.detail.ObjectName;
this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = event.detail.Id;
this.LostReport.LostBrands[index1].LostProducts[index2].productName = event.detail.Name;
this.search(index1,index2);
- console.log(this.LostReport);
- // this.account = {Name : event.detail.Name, Id: event.detail.Id}
-
}
handleLostTypeChange(event){
@@ -644,7 +630,6 @@
this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProductMannual__c = event.target.value;
}
handleProductClassChange(event){
- console.log("qwer");
var index1 = event.target.title;
var index2 = event.target.name;
this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c = event.target.value;
--
Gitblit v1.9.1