From ac0d606acaa5844bc2c6ad2242d5502b60f9be3a Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期五, 30 六月 2023 17:25:39 +0800
Subject: [PATCH] 修改页面和按钮
---
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js | 301 ++++++++++++++++++++++++++++++++++++-------------
1 files changed, 218 insertions(+), 83 deletions(-)
diff --git a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
index 969f72e..16e8c29 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-24 15:48:07
+ * @LastEditTime: 2023-06-30 09:55:38
*/
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,27 +47,32 @@
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';
import {CloseActionScreenEvent} from 'lightning/actions';
+import lexLookupLwc from 'c/lexLookupLwc';
+import searchProduct from '@salesforce/apex/lexPCLLostReportLwcController.searchProduct';
+import { updateRecord } from 'lightning/uiRecordApi';
export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) {
@api oppId;
@track columns2=columns2;
- @track pageStatus = 'Create';
+ @track status = {
+ pageStatus: 'Create'
+ }
@track LostReport = {
LostBrands: [
],
lostReport: {}
}
@track brandOptions = [];
+ @track isInit = false;
lostType = '澶卞崟';
submitFlag = '';
flag;
@@ -80,11 +85,14 @@
columns3 = columns3;
//澶卞崟绫诲瀷
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=>{
@@ -101,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");
@@ -121,6 +131,9 @@
fieldName: 'ProductCategory__c'
}).then(result=>{
this.productOptionsList = JSON.parse(result);
+ }).catch(error=>{
+ console.log('error');
+ console.log(error);
});
}
@@ -149,20 +162,26 @@
});
this.dispatchEvent(event);
}
-
- get isInit(){
- if(this.LostReport.LostBrands[0].LostProducts[0].productOptions == undefined){
- return false;
- }else{
- return true;
- }
+ updateRecordView(recordId) {
+ updateRecord({fields: { Id: recordId }});
}
+
+ // 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;
@@ -177,24 +196,46 @@
}
get isView(){
- if(this.pageStatus == 'View'){
+ if(this.status.pageStatus == 'View'){
+ return true;
+ }
+ return false;
+ }
+
+ get isCreateOrEdit(){
+ if(this.status.pageStatus == 'Create' || this.status.pageStatus == 'Edit'){
return true;
}
return false;
}
get isEdit(){
- if(this.pageStatus == 'Create' || this.pageStatus == 'Edit'){
+ if(this.status.pageStatus == 'Edit'){
return true;
}
return false;
}
-
+ get isSubmit(){
+ if(this.submitFlag){
+ return true;
+ }
+ return false;
+ }
+
addBrandJs() {
getNewLostBrand({
lineNo: this.LostReport.LostBrands.length
}).then(result=>{
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() {
@@ -203,55 +244,55 @@
report1: JSON.stringify(this.LostReport),
reportId: this.reportId
}).then(result=>{
- console.log(result);
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.pageStatus = 'View';
- this.showToast(result.message,"success");
- }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');
+ var date = new Date(result.approvalHistorys[i].CreatedDate);
+ result.approvalHistorys[i].CreatedDate = date.toLocaleString();
+ 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");
console.log(error);
});
}
+ onApproveChange(event){
+ this[NavigationMixin.Navigate]({
+ type: 'standard__recordPage',
+ attributes: {
+ recordId: this.LostReport.approvalHistorys[0].Id,
+ actionName: 'view'
+ }
+ });
+ }
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;
}
@@ -260,16 +301,45 @@
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);
this.setDefaultBrand(payload.value,index);
this.clearBrandMannualName(payload.value,index);
}
}
setDefaultBrand(value,index){
- 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;
+ newProducts.push(JSON.parse(JSON.stringify(this.newProduct)));
});
+ this.LostReport.LostBrands[index].LostProducts = newProducts;
+ }
+ clearProducts(value,index){
+ var newProducts = [];
+ this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
+ this.newProduct.LostProductss.LostBrandName__c = value;
+ newProducts.push(JSON.parse(JSON.stringify(this.newProduct)));
+ });
+ var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + index + '"]');
+ elements1.forEach(element=>{
+ element.readOnly = false;
+ });
+ var elements2 = this.template.querySelectorAll('.Product[data-id="' + index + '"]');
+ elements2.forEach(element=>{
+ element.clearSelection();
+ });
+ this.LostReport.LostBrands[index].LostProducts = newProducts;
}
@@ -279,10 +349,9 @@
var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
elements[index].disabled = false;
elements[index].required = true;
- var elements1 = this.template.querySelectorAll('.LostProduct[data-id="' + index + '"]');
+ var elements1 = this.template.querySelectorAll('.Product[data-id="' + index + '"]');
elements1.forEach(element=>{
- element.value = '';
- element.disabled = true;
+ element.letDisabledTrue();
});
} else {
var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
@@ -290,8 +359,9 @@
elements[index].value = '';
elements[index].disabled = true;
elements[index].required = false;
+ var elements1 = this.template.querySelectorAll('.Product[data-id="' + index + '"]');
elements1.forEach(element=>{
- element.disabled = false;
+ element.letDisabledFalse();
});
}
}
@@ -311,26 +381,47 @@
if(!this.flag){
return;
}
+ console.log(this.LostReport);
dataEntry({
- report1 : JSON.stringify(this.LostReport)
- }).then(result=>{
- if(result.error){
- this.showToast(result.error,"error");
- }else{
- this.reportId = result.reportId;
- console.log(this.LostReport);
- this.pageStatus = 'View';
- }
- }).catch(error=>{
- console.log("error");
- console.log(error);
- });
+ 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);
+ });
}
-
editJs(){
- this.pageStatus = 'Edit';
+ this.status.pageStatus = 'Edit';
}
-
+
dataCheck(){
this.flag = true;
if(this.LostReport.lostReport.LostType__c == undefined || this.isBlank(this.LostReport.lostReport.LostType__c))
@@ -416,14 +507,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;
@@ -431,7 +514,60 @@
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){
+ 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) {
+ 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;
+ this.LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false;
+ elements1[secondNum].readOnly = true;
+ elements2[secondNum].readOnly = true;
+
+ }else {
+ searchProduct({
+ lostProduct : this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c
+ }).then(result=>{
+ console.log(result);
+ var prd = JSON.parse(result);
+ this.LostReport.LostBrands[topNum].LostProducts[secondNum].productOptions = this.productOptionsList[prd.ProductClass__c];
+ if (prd.ProductCategory__c!=null) {
+ 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;
+ }else {
+ 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;
+ }
+ }).catch(error=>{
+ console.log("error");
+ console.log(error);
+ });
+
+ }
+ }
+ handleSelected(event) {
+ var index1 = event.target.title;
+ var index2 = event.target.name;
+ 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);
}
handleLostTypeChange(event){
@@ -456,15 +592,14 @@
var value = event.target.value;
this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = value;
this.setDefaultBrand(value,index);
- var elements = this.template.querySelectorAll('.LostProduct[data-id="' + index + '"]');
+ var elements = this.template.querySelectorAll('.Product[data-id="' + index + '"]');
if(value == '' || value == null){
elements.forEach(element=>{
- element.value = '';
- element.disabled = true;
+ element.letDisabledTrue();
});
}else{
elements.forEach(element=>{
- element.disabled = false;
+ element.letDisabledFalse();
});
}
}
--
Gitblit v1.9.1