From e6a0a7f9ffb463c5ce78d6770b09eac739f88b15 Mon Sep 17 00:00:00 2001
From: 19626 <1962676589@qq.com>
Date: 星期三, 24 五月 2023 16:57:53 +0800
Subject: [PATCH] 优化确认框以及修改页面
---
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js | 494 +++++++++++++++++++++++++++++++++---------------------
1 files changed, 298 insertions(+), 196 deletions(-)
diff --git a/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js b/force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
index 900eb15..969f72e 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-16 11:43:27
+ * @LastEditTime: 2023-05-24 15:48:07
*/
const columns2=[
{ label: '--鏃�--', value: '' },
@@ -18,6 +18,30 @@
{ label: '鏌愮浜у搧缂哄け', value: '鏌愮浜у搧缂哄け' },
{ label: '閲囪喘骞宠 ', value: '閲囪喘骞宠 ' }
];
+const productClassOptions = [
+ { label: '--鏃�--', value: '' },
+ { label: '涓绘満', value: '涓绘満' },
+ { label: '闀滃瓙', value: '闀滃瓙' },
+ { label: '灏忛暅绉�', value: '灏忛暅绉�' },
+ { label: '鑳介噺', value: '鑳介噺' },
+ { label: '鍏朵粬', value: '鍏朵粬' }
+];
+const productCategoryOptions = [
+ { label: '--鏃�--', value: '' }
+];
+const columns3 = [
+ {label : "澶卞崟鍝佺墝",fieldName : "LostBrandName__c"},
+ {label : "澶卞崟瀵规墜鍨嬪彿",fieldName : "LostProduct__c"},
+ {label : "澶卞崟鏁伴噺",fieldName : "Quantity__c",type : "number"},
+ {label : "澶卞崟瀵规墜鍨嬪彿(鎵嬪姩)",fieldName : "LostProductMannual__c"},
+ {label : "澶卞崟浜у搧绫诲埆",fieldName : "ProductClass__c"},
+ {label : "澶卞崟浜у搧鍖哄垎",fieldName : "ProductCategory__c"}
+];
+const RecordTypeOptions = [
+ { label: '--鏃�--', value: '' },
+ { label: '澶卞崟', value: '澶卞崟' },
+ { label: '閮ㄥ垎澶卞崟', value: '閮ㄥ垎澶卞崟' }
+];
import { api, wire,track,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
@@ -29,44 +53,41 @@
import lexMultiSelectCombobox from 'c/lexmultiSelectCombobox';
import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands';
import getNewLostBrand from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostBrand';
+import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList';
import { NavigationMixin } from 'lightning/navigation';
-import {CloseActionScreenEvent} from 'lightning/actions';
+import submit from '@salesforce/apex/lexPCLLostReportLwcController.submit';
+import {CloseActionScreenEvent} from 'lightning/actions';
export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) {
-
- @track records;
- @api recordJson;
- @track columns2=columns2;
- @api reasonValue;
@api oppId;
- lostReportId = '';
- pageStatus = 'Create';
- lostType = '澶卞崟';
- submitFlag = '';
- flag;
+ @track columns2=columns2;
+ @track pageStatus = 'Create';
@track LostReport = {
LostBrands: [
],
lostReport: {}
- };
+ }
@track brandOptions = [];
- columns=[
- { "label" : "澶卞崟鍝佺墝", "apiName" : "LostBrandName__c" ,"fieldType":"picklist","objectName":"PCLLostProduct__c", "readOnly":true,"value":"--鏃�--","required":false},
- { "label" : "澶卞崟瀵规墜鍨嬪彿", "apiName" : "LostProduct__c" ,"fieldType":"lookup","objectName":"PCLLostProduct__c","disable":"false","searchfield":"'鏃�'","required":false},
- { "label" : "澶卞崟鏁伴噺", "apiName" : "Quantity__c","fieldType":"number","objectName":"PCLLostProduct__c" ,"required":true},
- { "label" : "澶卞崟瀵规墜鍨嬪彿(鎵嬪姩)", "apiName" : "LostProductMannual__c","fieldType":"text","objectName":"PCLLostProduct__c" ,"required":false},
- { "label" : "澶卞崟浜у搧绫诲埆", "apiName" : "ProductClass__c","fieldType":"picklist","objectName":"PCLLostProduct__c" ,"required":true},
- { "label" : "澶卞崟浜у搧鍖哄垎", "apiName" : "ProductCategory__c","fieldType":"picklist","objectName":"PCLLostProduct__c","required":true}
- ];
+ lostType = '澶卞崟';
+ submitFlag = '';
+ flag;
+ tableflag = 0;
+ reportId = '';
+ newProduct;
+ productOptionsList;
+ productClassOptions = productClassOptions;
+ productCategoryOptions = productCategoryOptions;
+ columns3 = columns3;
+ //澶卞崟绫诲瀷
+ RecordTypeOptions = RecordTypeOptions;
connectedCallback(){
init({
oppId1: this.oppId,
- lostReportId1: this.lostReportId,
+ lostReportId1: this.reportId,
pageStatus1: this.pageStatus,
lostType1: this.lostType,
submitFlag1: this.submitFlag
}).then(result=>{
- console.log(result);
if(result.message != null){
if(result.message == '鎻愪氦鎴愬姛锛�'){
this.showToast(result.message,"success");
@@ -75,9 +96,11 @@
this.showToast(result.message,"error");
}
}else{
- this.LostReport = result.LostReport;
+ var report = result.LostReport;
+ this.LostReport = report;
this.LostReport.lostReport.LostTotalAmount__c = 0.0;
- this.LostReport.LostBrands[0].columns = JSON.parse(JSON.stringify(this.columns));
+ this.LostReport.lostReport.InclusionUltrasound__c = '0';
+ this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0]));
}
}).catch(error=>{
console.log("error");
@@ -93,20 +116,15 @@
console.log("error");
console.log(error);
});
+ getPickList({
+ objectName: 'PCLLostProduct__c',
+ fieldName: 'ProductCategory__c'
+ }).then(result=>{
+ this.productOptionsList = JSON.parse(result);
+ });
+
}
- get isInit(){
- if(this.LostReport.LostBrands[0].columns == undefined){
- return false;
- }else{
- return true;
- }
- }
-
- //澶卞崟绫诲瀷
- RecordTypeOptions = [{ label: '--鏃�--', value: '' },
- { label: '澶卞崟', value: '澶卞崟' },
- { label: '閮ㄥ垎澶卞崟', value: '閮ㄥ垎澶卞崟' }];
@wire(CurrentPageReference)
getStateParameters(currentPageReference) {
console.log(111);
@@ -122,41 +140,32 @@
}
}
}
- getBrandLabel(index){
- return "澶卞崟鍝佺墝" + (this.LostReport.LostBrands[index].lineno + 1);
- }
- getParamValue(paramName) {
- // Use the URLSearchParams API to get the value of a query parameter
- const params = new URLSearchParams(window.location.search);
- return params.get(paramName);
- }
- addBrandJs() {
- getNewLostBrand({
- lineNo: this.LostReport.LostBrands.length
- }).then(result=>{
- this.LostReport.LostBrands.push(result);
- this.LostReport.LostBrands[this.LostReport.LostBrands.length - 1].columns = JSON.parse(JSON.stringify(this.columns));
+
+ showToast(msg,type) {
+ const event = new ShowToastEvent({
+ title: '',
+ message: msg,
+ variant: type
});
+ this.dispatchEvent(event);
}
- submitJS() {
- submit().then(result=>{
- if(result.get('error')){
- this.showToast(result.get('error'),"error");
- }else{
- this[NavigationMixin.Navigate]({
- type: 'standard__recordPage',
- attributes: {
- uri: result.get('uri'),
- Id: result.get('Id'),
- pageStatus: result.get('pageStatus'),
- submitFlag: result.get('submitFlag')
- }
- });
- }
+
+ 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 productList = [];
+ products.forEach(product=>{
+ productList.push(product.LostProductss);
});
- }
- get pageStatusIsCreateOrEdit() {
- return this.pageStatus === 'Create' || this.pageStatus === 'Edit';
+ this.tableflag++;
+ return productList;
}
get isBrandCount2(){
@@ -166,6 +175,69 @@
}
return flag;
}
+
+ get isView(){
+ if(this.pageStatus == 'View'){
+ return true;
+ }
+ return false;
+ }
+
+ get isEdit(){
+ if(this.pageStatus == 'Create' || this.pageStatus == 'Edit'){
+ return true;
+ }
+ return false;
+ }
+
+ addBrandJs() {
+ getNewLostBrand({
+ lineNo: this.LostReport.LostBrands.length
+ }).then(result=>{
+ this.LostReport.LostBrands.push(result);
+ });
+ }
+ submitJs() {
+ console.log('1');
+ submit({
+ 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);
+ });
+ }
+ }).catch(error=>{
+ console.log("error");
+ console.log(error);
+ });
+ }
+
deleteBrandJs(event){
var str = event.target.name;
@@ -177,18 +249,13 @@
var elements = this.template.querySelectorAll('[data-id="TotalAmount"]');
var tempLostAmount = 0.0;
elements.forEach(element => {
- console.log(element.value);
if(element.value != 0){
tempLostAmount = tempLostAmount + parseFloat(element.value);
}
});
this.LostReport.lostReport.LostTotalAmount__c = tempLostAmount;
}
- setBrandName(brandNumber) {
- setbrand().then(()=>{
- this.clearBrandMannualName();
- });
- }
+
setBrandMannualName(event) {
var index = event.target.name;
const payload = event.detail.payload;
@@ -200,7 +267,9 @@
}
}
setDefaultBrand(value,index){
- this.LostReport.LostBrands[index].columns[0].value = value;
+ this.LostReport.LostBrands[index].LostProducts.forEach(product => {
+ product.LostProductss.LostBrandName__c = value;
+ });
}
@@ -209,12 +278,21 @@
if (value == '鍏朵粬') {
var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
elements[index].disabled = false;
- this.LostReport.LostBrands[index].columns[1].disable = true;
+ elements[index].required = true;
+ var elements1 = this.template.querySelectorAll('.LostProduct[data-id="' + index + '"]');
+ elements1.forEach(element=>{
+ element.value = '';
+ element.disabled = true;
+ });
} else {
var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]');
+ this.brandFlag = false;
elements[index].value = '';
elements[index].disabled = true;
- this.LostReport.LostBrands[index].columns[1].disable = false;
+ elements[index].required = false;
+ elements1.forEach(element=>{
+ element.disabled = false;
+ });
}
}
cancel() {
@@ -226,134 +304,33 @@
actionName: 'view'
}
});
-
}
- showToast(msg,type) {
- const event = new ShowToastEvent({
- title: '',
- message: msg,
- variant: type
- });
- this.dispatchEvent(event);
- this.dispatchEvent(new CloseActionScreenEvent());
- }
+
saveBrandJs(event) {
- var index = event.target.name;
- var tables = this.template.querySelectorAll("c-lex-dynamic-table");
- if(tables.length > 1){
- if(index == "save"){
- for(let i=0;i < table.length;i++){
- var products = this.LostReport.LostBrands[i].LostProducts;
- var table = tables[i];
- if(table!=undefined){
- var records = table.retrieveRecords();
- for(let j=0;j<records.length - 1;j++){
- products.push(JSON.parse(JSON.stringify(products[0])));
- }
- for(let j=0;j<records.length;j++){
- products[j].LostProductss.LostBrandName__c = records[j].LostBrandName__c;
- products[j].LostProductss.Quantity__c = records[j].Quantity__c;
- products[j].LostProductss.LostProductMannual__c = records[j].LostProductMannual__c;
- products[j].LostProductss.ProductClass__c = records[j].ProductClass__c;
- products[j].LostProductss.ProductCategory__c = records[j].ProductCategory__c;
- products[j].LostProductss.LostProduct__c = records[j].LostProduct__c;
- }
- }
- }
- }else{
- var products = this.LostReport.LostBrands[index].LostProducts;
- var table = tables[index];
- if(table!=undefined){
- var records = table.retrieveRecords();
- for(let i=0;i<records.length - 1;i++){
- products.push(JSON.parse(JSON.stringify(products[0])));
- }
- for(let i=0;i<records.length;i++){
- products[i].LostProductss.LostBrandName__c = records[i].LostBrandName__c;
- products[i].LostProductss.Quantity__c = records[i].Quantity__c;
- products[i].LostProductss.LostProductMannual__c = records[i].LostProductMannual__c;
- products[i].LostProductss.ProductClass__c = records[i].ProductClass__c;
- products[i].LostProductss.ProductCategory__c = records[i].ProductCategory__c;
- products[i].LostProductss.LostProduct__c = records[i].LostProduct__c;
- }
- }
- }
- }else{
- var products = this.LostReport.LostBrands[0].LostProducts;
- var table = tables[0];
- if(table!=undefined){
- var records = table.retrieveRecords();
- console.log(JSON.stringify(records));
- if(records.length > 1){
- for(let i=0;i<records.length - 1;i++){
- products.push(JSON.parse(JSON.stringify(products[0])));
- }
- }
- for(let i=0;i<records.length;i++){
- products[i].LostProductss.LostBrandName__c = records[i].LostBrandName__c;
- products[i].LostProductss.Quantity__c = records[i].Quantity__c;
- products[i].LostProductss.LostProductMannual__c = records[i].LostProductMannual__c;
- products[i].LostProductss.ProductClass__c = records[i].ProductClass__c;
- products[i].LostProductss.ProductCategory__c = records[i].ProductCategory__c;
- products[i].LostProductss.LostProduct__c = records[i].LostProduct__c;
- }
- }
- }
this.dataCheck();
if(!this.flag){
return;
}
dataEntry({
- report1 : JSON.stringify(this.LostReport)
- }).then(result=>{
- if(result){
- this.showToast(result,"error")
- }
- }).catch(error=>{
- console.log("error");
- console.log(error);
- });
-
+ 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);
+ });
}
- handleLostTypeChange(event){
- var value = event.target.value;
- this.LostReport.lostReport.LostType__c = value;
+
+ editJs(){
+ this.pageStatus = 'Edit';
}
- handleLostReasonMainChange(event){
- var index = event.target.name;
- var value = event.target.value;
- this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = value;
- }
-
- handleLostReasonSubChange(event){
- var index = event.target.name;
- var value = event.target.value;
- this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value;
- }
-
- handleLostByCompanyMannualChange(event){
- var index = event.target.name;
- var value = event.target.value;
- this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = value;
- }
-
- handleLostPriceOutChange(event){
- var index = event.target.name;
- var value = event.target.value;
- this.LostReport.LostBrands[index].lostBrand.LostPrice__c = value;
- this.setLostTotalAmount();
- }
- handleAgencyOutChange(event){
- var index = event.target.name;
- var value = event.target.value;
- this.LostReport.LostBrands[index].lostBrand.Agency__c = value;
- }
- handleAgencyMannualOutChange(event){
- var index = event.target.name;
- var value = event.target.value;
- this.LostReport.LostBrands[index].lostBrand.AgencyMannual__c = value;
- }
dataCheck(){
this.flag = true;
if(this.LostReport.lostReport.LostType__c == undefined || this.isBlank(this.LostReport.lostReport.LostType__c))
@@ -439,4 +416,129 @@
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;
+ var deleteButtons = this.template.querySelectorAll('.deleteButton[data-id="' + index1 + '"]');
+ if(deleteButtons.length == 1){
+ return;
+ }
+ this.LostReport.LostBrands[index1].LostProducts.splice(index2,1);
+ }
+
+ handleLostTypeChange(event){
+ var value = event.target.value;
+ this.LostReport.lostReport.LostType__c = value;
+ }
+
+ handleLostReasonMainChange(event){
+ var index = event.target.name;
+ var value = event.target.value;
+ this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = value;
+ }
+
+ handleLostReasonSubChange(event){
+ var index = event.target.name;
+ var value = event.target.value;
+ this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value;
+ }
+
+ handleLostByCompanyMannualChange(event){
+ var index = event.target.name;
+ 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 + '"]');
+ if(value == '' || value == null){
+ elements.forEach(element=>{
+ element.value = '';
+ element.disabled = true;
+ });
+ }else{
+ elements.forEach(element=>{
+ element.disabled = false;
+ });
+ }
+ }
+
+ handleLostPriceOutChange(event){
+ var index = event.target.name;
+ var value = event.target.value;
+ this.LostReport.LostBrands[index].lostBrand.LostPrice__c = value;
+ this.setLostTotalAmount();
+ }
+ handleAgencyOutChange(event){
+ var index = event.target.name;
+ var value = event.target.value;
+ this.LostReport.LostBrands[index].lostBrand.Agency__c = value;
+ }
+ handleAgencyMannualOutChange(event){
+ var index = event.target.name;
+ var value = event.target.value;
+ this.LostReport.LostBrands[index].lostBrand.AgencyMannual__c = value;
+ }
+ handleLostBrandNameChange(event){
+ var index1 = event.target.title;
+ var index2 = event.target.name;
+ this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostBrandName__c = event.target.value;
+ }
+ handleLostProductChange(event){
+ var index1 = event.target.title;
+ var index2 = event.target.name;
+ this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = event.target.value;
+ }
+ handleQuantityChange(event){
+ var index1 = event.target.title;
+ var index2 = event.target.name;
+ this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Quantity__c = event.target.value;
+ }
+ handleLostProductMannualChange(event){
+ var index1 = event.target.title;
+ var index2 = event.target.name;
+ this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProductMannual__c = event.target.value;
+ }
+ handleProductClassChange(event){
+ var index1 = event.target.title;
+ var index2 = event.target.name;
+ this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c = event.target.value;
+ var val = event.target.value;
+ if(val == ''){
+ var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]');
+ temps1[index2].readOnly = true;
+ temps1[index2].value = '';
+ }else{
+ var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]');
+ temps1[index2].readOnly = false;
+ this.LostReport.LostBrands[index1].LostProducts[index2].productOptions = this.productOptionsList[val];
+ }
+
+ }
+
+ handleProductCategoryChange(event){
+ var index1 = event.target.title;
+ var index2 = event.target.name;
+ var val = event.target.value;
+ var categorys = this.template.querySelectorAll('.ProductCategory');
+ var flag = false;
+ categorys.forEach(category=>{
+ if(category.value == '瓒呭0涓绘満'){
+ flag = true;
+ }
+ });
+ if(flag){
+ this.LostReport.lostReport.InclusionUltrasound__c = '1';
+ }else{
+ this.LostReport.lostReport.InclusionUltrasound__c = '0';
+ }
+ this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c = val;
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.1