import { LightningElement,track } from 'lwc'; import SearchData from '@salesforce/apex/MaintenanceContractNotOpenController.SearchData'; import GetJTYY from '@salesforce/apex/MaintenanceContractNotOpenController.GetJTYY'; import GetQX from '@salesforce/apex/MaintenanceContractNotOpenController.GetQX'; import SaveData from '@salesforce/apex/MaintenanceContractNotOpenController.SaveData'; import SubmitData from '@salesforce/apex/MaintenanceContractNotOpenController.SubmitData'; import SearchLostReportData from '@salesforce/apex/MaintenanceContractNotOpenController.SearchLostReportData'; import SearchMaintenance_ContractData from '@salesforce/apex/MaintenanceContractNotOpenController.SearchMaintenance_ContractData'; import SaveUpdateData from '@salesforce/apex/MaintenanceContractNotOpenController.SaveUpdateData'; export default class MaintenanceContract extends LightningElement { iftab=false; tab=""; IsLoading = false; OnLoading(flag){ this.IsLoading = flag; } //提示 Tongzhishow=false; //提示显示的标识 SaveShowText="操作成功"; //提示显示的文本 TongzhiIcon = 'standard:account' //提示显示的标签 IsLeftStyle = "" //提示显示的样式 BgColorStyle = "" Alert(content,error = false,left = false){ this.SaveShowText = content; this.Tongzhishow = true; // setTimeout(()=>{ // this.Tongzhishow = false; // this.SaveShowText = ""; // },3000) if (error) { this.TongzhiIcon = "standard:first_non_empty"; this.BgColorStyle = "background-color:#f88568"; }else{ this.TongzhiIcon = "standard:account"; this.BgColorStyle = "background-color:#69e669"; } if (left) { this.IsLeftStyle = "left: 0.25rem;" }else{ this.IsLeftStyle = "" } } CloseAlert() { if (this.Tongzhishow == true) { this.Tongzhishow = false; } if (this.SaveShowText != "") { this.SaveShowText = ""; } } connectedCallback() { this.getTableData(); debugger var windowsheight=(window.screen.availHeight-255); this.tab="height:"+windowsheight+"px;overflow:scroll;margin-left: 5px;margin-top: 5px;"; this.iftab=true; this.InitPorpsData(); } //初始化方法 InitPorpsData() { GetJTYY().then(response=>{var data = JSON.parse(response);this.JTYYList = data;}) console.log(this.JTYYList); GetQX().then(response=>{var data = JSON.parse(response);this.QXList = data;}) } ///金额格式化 moneyFormat (value) { // 金额 格式化 if (!value && value !== 0) return '-'; var intPart = Number(value) | 0; //获取整数部分 var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分逢三一断 var floatPart = ".00"; //预定义小数部分 var value2Array = value.toString().split("."); //=2表示数据有小数位 if (value2Array.length == 2) { floatPart = value2Array[1].toString(); //拿到小数部分 if (floatPart.length == 1) { //补0,实际上用不着 return intPartFormat + "." + floatPart + '0'; } else { return intPartFormat + "." + floatPart; } } else { return intPartFormat + floatPart; } } //分页用到的属性 fy start @track paginationRange = []; ifagechange=false; ifagenochange=true; notselectdata2copy=[]; //分页用到的属性 fy end getTableData() { debugger; SearchData({ManagementCodeSearch:this.ManagementCodeSearch,NameSearch:this.NameSearch,HospitalSearch:this.HospitalSearch,cmlsearch:this.OCSMglsSearch,zddseach:this.ZddSearch,recordtype:this.RecordTypeSearch}).then(result=>{ debugger; var responseObj = JSON.parse(result); responseObj.forEach(element => { element.show1 = "关闭询价"; element.Management_Code__c == undefined?"": element.Management_Code__c ; if (element.Hospital__r != undefined && element.Hospital__r.Name!=undefined) { element.Hospital__r_Name = element.Hospital__r.Name; } if (element.Department__r != undefined && element.Department__r.Name!=undefined) { element.Department__r_Name = element.Department__r.Name; } if (element.Service_Contract_Staff__r != undefined && element.Service_Contract_Staff__r.Alias!=undefined) { element.Service_Contract_Staff__r_Name = element.Service_Contract_Staff__r.Alias; } if (element.Dealer__r != undefined && element.Dealer__r.Name!=undefined) { element.Dealer__r_Name = element.Dealer__r.Name; } if (element.Last_year_service_contract__r != undefined && element.Last_year_service_contract__r.Management_Code__c != undefined) { element.Last_year_service_contract__r_Management_Code__c = element.Last_year_service_contract__r.Management_Code__c; } if (element. Estimation_Id__r != undefined && element.Estimation_Id__r.Process_Status__c !=undefined) { element.Estimation_Id__r_Process_Status__c = element.Estimation_Id__r.Process_Status__c; } if (element.Estimation_Id__r != undefined && element.Estimation_Id__r.Name !=undefined) { element.Estimation_Id__r_Name = element.Estimation_Id__r.Name; } if (element.Status__c != undefined) { if (element.Status__c == "引合中") { element.Status__c = '询价中' } if (element.Status__c == "契約") { element.Status__c = '合同中' } if (element.Status__c == "未契約") { element.Status__c = '未合同(取消)' } if (element.Status__c == "契約満了") { element.Status__c = '合同结束' } } if (element.Contract_Amount__c != undefined) { element.Contract_Amount__c_show = this.moneyFormat( element.Contract_Amount__c ); } if (element.Three_Years_Repair_Cost__c != undefined) { element.Three_Years_Repair_Cost__c_show = this.moneyFormat( element.Three_Years_Repair_Cost__c ); } }); //分页页面加载时 fy start let i=1; let count=responseObj.length; if(count){ var paginationNumbers = Math.ceil(count / 10); var pagination=[]; for(i;i<=paginationNumbers;i++){ var page={i:'',ifagechange:'',ifagenochange:''}; page.i=i; if(i==1){ page.ifagechange=true; page.ifagenochange=false; pagination.push(page); }else{ page.ifagechange=false; page.ifagenochange=true; pagination.push(page); } } this.paginationRange=pagination; } this.notselectdata2copy = responseObj; // this.notselectdata2 = responseObj; debugger let num=0; var pagedate=[]; if(count>=10){ num=10; }else{ num=count; } for(var j=0;j{ var data = JSON.parse(response); this.QXList = data[0].To_Where__c; }) } getShiDan() { this.TempData =={ Specific_Reasons__c :'', To_Where__c : '', Status__c:"", Other_Reasons__c:"", Other__c:"", Third_Party_Company__c:"", Third_Party_Contract_Price__c:"", Maintenance_Contract__c:"", MC_Code__c:"" }; var TempData = []; this.notselectdata2.forEach(element => { TempData.push(element.Id); }); SearchLostReportData({Ids:TempData}).then(response=>{ this.ShiDanList = JSON.parse(response); }) } //-- @track optionsdata2=[ // { // label:"类型", // props:"Contract_create_reason__c", // Type:"text", // }, { label:"询价号码", props:"Management_Code__c", Type:"url", url:"Id", }, { label:"上期合同号码", props:"Last_year_service_contract__r_Management_Code__c", Type:"url", url:"Last_year_service_contract__c", }, { label:"医院名", props:"Hospital__r_Name", Type:"text", }, // { // label:"科室", // props:"Department__r_Name", // Type:"text", // }, { label:"报价提交对象", props:"Estimate_Target__c", Type:"text", }, { label:"经销商名", props:"Dealer__r_Name", Type:"text", }, { label:"主担当", props:"Service_Contract_Staff__r_Name", Type:"text", }, { label:"医院OCSM等级", props:"HP_OCM__c", Type:"text", }, { label:"询价等级", props:"Opportunity_Level__c", Type:"text", }, // { // label:"累计跟进次数", // props:"Cumulative_Followup__c", // Type:"text", // }, // { // label:"已提交报价号(最新)", // props:"", // Type:"text", // }, { label:"最新(确认)的报价", props:"Estimation_Id__r_Name", Type:"url", url:"Estimation_Id__c", }, { label:"报价状态 ", props:"Estimation_Id__r_Process_Status__c", Type:"text", }, { label:"最新申请价格", props:"Contract_Amount__c_show", Type:"text", }, { label:"过去三年平均维修", props:"Three_Years_Repair_Cost__c_show", Type:"text", }, { label:"合同种类", props:"New_Contract_TypeF__c", Type:"text", }, { label:"申请价格级别", props:"Estimate_Price_rangeF__c", Type:"text", }, { label:"询价进展状态", props:"Opportunity_Stage__c", // Type:"text", Type:"checkBox", CheckOptionData:['意向确认','确定参数(含预算)','商谈/招标','确定价格/中标','报价已决定',] }, { label:" ", props:"show1", Type:"urlNoJump", }, ] @track notselectdata2=[ ] ShiDanList=[]; //失单集合 @track isselectedtable2 = false; //具体原因 JTYYList = []; //去向 QXList = []; //报价 BAOJIAList = []; BJNameList = []; initsearchdata2(event){ var detail = event.detail; return []; } // datachange2(event) // { // console.warn("datachange"); // console.warn(event.detail.Id); // } datachange2(event) { this.SaveDataListPushFn(event.detail.Id); this.UpdateProsToId(event.detail.Id,event.detail.prop,event.detail.CurrentValue); } clickId = '' //选中的Id SaveDataList = [] //保存修改的数据 SaveDataListPushFn(Id) { var flag = true; this.SaveDataList.forEach(item=>{ if(item == Id) { flag =false; } }); if(flag) { this.SaveDataList.push(Id); } } UpdateProsToId(id,prop,value) { var tepItem = null; this.notselectdata2.forEach(item=>{ if (item.Id == id) { item[prop] = value; tepItem = item; console.warn(prop+" value = "+item[prop] +" "+"ClickID="+id); } }); return tepItem } onChange2(){ var data = this.template.querySelector('[data-parent-id="table2"]').getdata(); console.warn(data); // this.notselectdata2 = [ {Name:"Notname1",Id:"17",Age:1,Sex:"男",Dates:"2012-01-01",SB:"123"},]; var tems = this.template.querySelector('[data-parent-id="table2"]').refreshdata([],data.notselectdata); } selectedchange2(event) { console.warn("selectedchange"); console.warn(event.detail); } //搜索条件 ManagementCodeSearch = '';//搜索 NameSearch = ''; // 合同名 Maintenance_ContractName =''; HospitalSearch = '';//医院 OCSMglsSearch = '';//OCSM管理省 Service_man_province_HP__c ZddSearch = '';//主担当 RecordTypeSearch = '';//记录类型 RecordTypeSearchList = [ {label: "维修合同",value: "维修合同"}, {label: "服务合同",value: "服务合同"}, {label: "多年保修合同",value: "多年保修合同"}, ] ManagementCodeSearchChange(event) { debugger; this.ManagementCodeSearch = event.target.value.trim(); } NameSearchChange(event) { this.NameSearch = event.target.value; } HospitalSearchChange(event) { this.HospitalSearch = event.target.value.trim(); } OCSMglsSearchChange(event) { this.OCSMglsSearch = event.target.value.trim(); } ZddSearchChange(event) { this.ZddSearch = event.target.value.trim(); } RecordTypeSearchChange(event) { this.RecordTypeSearch = event.target.value.trim(); } OnSearch(event) { this.getTableData(); } TempData ={ Specific_Reasons__c :'', To_Where__c : '', Status__c:"", Other_Reasons__c:"", Other__c:"", Third_Party_Company__c:"", Third_Party_Contract_Price__c:"", Maintenance_Contract__c:"", MC_Code__c:"" } Other_Reasons__cShow = false; Third_Party_Company__cShow = false; GoWhere = true; Third_Party_Contract_Price__cShow = false; Other__cShow = false; Price_Code = false; Price_Code2 = false; ModelShow = false; ModelIsDistory = false; urlClickFn(event) { var Id = event.detail.Id; var Temp = undefined; this.ShiDanList.forEach(item=>{ if (item.Maintenance_Contract__c == Id) { Temp = {...{},...item}; } }) debugger; if (Temp != undefined) { this.TempData = Temp; if (this.TempData.Status__c == '批准' || this.TempData.Status__c == '审批中') { this.ModelIsDistory = true; } } this.TempData.Maintenance_Contract__c = Id; this.ModelShow = true; setTimeout(()=>{ if ( this.ModelIsDistory == true) { this.OnDisableModelBar(); } },500); } //禁用模态框中的组件 OnDisableModelBar() { var model1 = this.template.querySelectorAll('[data-parent-id="model1"]'); model1.forEach(fileInput=>{ fileInput.disabled = true; }) var model2 = this.template.querySelectorAll('[data-parent-id="model2"]'); model2.forEach(fileInput=>{ fileInput.disabled = true; }) var model3 = this.template.querySelectorAll('[data-parent-id="model3"]'); model3.forEach(fileInput=>{ fileInput.disabled = true; }) var model4 = this.template.querySelectorAll('[data-parent-id="model4"]'); model4.forEach(fileInput=>{ fileInput.disabled = true; }) var model5 = this.template.querySelectorAll('[data-parent-id="model5"]'); model5.forEach(fileInput=>{ fileInput.disabled = true; }) var model6 = this.template.querySelectorAll('[data-parent-id="model6"]'); model6.forEach(fileInput=>{ fileInput.disabled = true; }) var model7 = this.template.querySelectorAll('[data-parent-id="model7"]'); model7.forEach(fileInput=>{ fileInput.disabled = true; }) var model8 = this.template.querySelectorAll('[data-parent-id="model8"]'); model8.forEach(fileInput=>{ fileInput.disabled = true; }) } Specific_Reasons__cFn(event) { var values = event.target.value; // var IndexNum = event.target.name; if (values == '其他(手写)') { this.Other_Reasons__cShow= true; }else{ this.Other_Reasons__cShow= false; } if (values == '重复报价') { this.Price_Code = true; this.GoWhere= false; }else{ this.Price_Code = false; this.GoWhere= true; } if (values == '转第三方或维修托管') { this.TempData.QXList = '医院选择第三方'; this.TempData.To_Where__c = '医院选择第三方'; this.Third_Party_Company__cShow= true; this.Third_Party_Contract_Price__cShow= true; this.template.querySelector('[data-parent-id="model3"]').disabled = true; this.template.querySelector('[data-parent-id="model3"]').refreshdata([],this.QXList ); }else{ this.Third_Party_Company__cShow= false; this.Third_Party_Contract_Price__cShow= false; this.template.querySelector('[data-parent-id="model3"]').disabled = false; } this.TempData.Specific_Reasons__c = values; } Other_Reasons__cFn(event) { var values = event.target.value; this.TempData.Other_Reasons__c = values; } Maintenance_Contract__c1Fn(event) { var values = event.target.value; this.Maintenance_ContractName = values; } // onsearchchange1(event){ // var values = event.detail.value; // this.Maintenance_ContractName = values; // this.TempData.MC_Code__c = this.Maintenance_ContractName ; // this.Maintenance_Contract__cFn(); // } // tempArr = []; option = [{lableOne:"Name",lableTwo:"RecordType_Name__c"}] searchdata=[]; onsearchchange(event){ var searchContentStr = event.detail.searchContent; SearchMaintenance_ContractData({name:searchContentStr}).then(response=>{ var datas = JSON.parse(response); this.searchdata = datas; console.log(this.searchdata+'!'); this.template.querySelector('[data-parent-id="lookup1"]').refreshdata(this.searchdata); }) if (searchContentStr == undefined || searchContentStr == '') { this.YYSelectedId = ''; } } YYSelectedId = ''; selectedFn(event) { console.warn(event.detail.selectdata.Id); this.YYSelectedId = event.detail.selectdata.Id; this.Maintenance_ContractName = this.YYSelectedId ; this.TempData.MC_Code__c = this.Maintenance_ContractName ; } // Maintenance_Contract__cFn(event) // { // SearchMaintenance_ContractData({name:this.Maintenance_ContractName}).then(response=>{ // debugger; // this.BAOJIAList = JSON.parse(response); // this.BAOJIAList.forEach(item=>{ // this.tempArr.push(item.name); // }) // }) // } // MC_Code__cFn(event) // { // var values = event.target.value; // console.log(values); // this.TempData.MC_Code__c = values; // } To_Where__cFn(event) { var values = event.target.value; if (values == '医院选择第三方') { this.Third_Party_Company__cShow= true; this.Third_Party_Contract_Price__cShow= true; }else{ this.Third_Party_Company__cShow= false; this.Third_Party_Contract_Price__cShow= false; } if (values == '其他(手写)') { this.Other__cShow = true; }else { this.Other__cShow = false; } this.TempData.To_Where__c = values; } Third_Party_Company__cFn(event) { var values = event.target.value; this.TempData.Third_Party_Company__c = values; } Third_Party_Contract_Price__cFn(event) { var values = event.target.value; this.TempData.Third_Party_Contract_Price__c = values; } Other__cFn(event) { var values = event.target.value; this.TempData.Other__c = values; } SaveClickFn(event) { // this.OnLoading(true); debugger; SaveData({JsonData:JSON.stringify(this.TempData),Id:this.TempData.Id}).then((response)=>{ debugger; this.ModelCancelFn(); if (response == '成功') { this.getShiDan(); setTimeout(()=>{ this.Alert("保存成功"); },500); }else { setTimeout(()=>{ this.Alert(response,true); },500); } }); } SubmitClickFn(event) { // this.OnLoading(true); debugger; SubmitData({JsonData:JSON.stringify(this.TempData),Id:this.TempData.Id}).then((response)=>{ debugger; if (response == '成功') { this.ModelCancelFn(); this.getShiDan(); setTimeout(()=>{ this.Alert("提交成功"); },500); }else { setTimeout(()=>{ this.Alert(response,true); },500); } }); } ModelCancelFn() { this.ModelShow = false; this.TempData = { Specific_Reasons__c :'', To_Where__c : '', Status__c:"", Other_Reasons__c:"", Other__c:"", Third_Party_Company__c:"", Third_Party_Contract_Price__c:"", Maintenance_Contract__c:"", MC_Code__c:"" }; this.Other__cShow = false; this.Third_Party_Company__cShow= false; this.Third_Party_Contract_Price__cShow= false; this.Other_Reasons__cShow = false; this.Price_Code = false; this.ModelIsDistory = false; } // ENd //保存 OnUpdateDataFn(event) { var SaveDataTemp = []; this.notselectdata2.forEach(item=>{ if (item.Status__c != undefined) { if (item.Status__c == "询价中") { item.Status__c = '引合中' } if (item.Status__c == "合同中") { item.Status__c = '契約' } if (item.Status__c == "未合同(取消)") { item.Status__c = '未契約' } if (item.Status__c == "合同结束") { item.Status__c = '契約満了' } } this.SaveDataList.forEach(svItem=>{ if (item.Id == svItem) { SaveDataTemp.push(item); } }) }); console.warn(SaveDataTemp); debugger; var JsonData = JSON.stringify(SaveDataTemp); SaveUpdateData({JsonData:JsonData}).then((response)=>{ if (response == '成功') { this.getTableData(); setTimeout(()=>{ this.Alert("保存成功"); },500); }else { setTimeout(()=>{ this.Alert(response,true); },500); } }); } //分页 fy start selectOffsetNumber=1; handlePaginationClick(event) { let offsetNumber = event.target.dataset.targetNumber; this.selectOffsetNumber=offsetNumber; this.changePage(offsetNumber); debugger } changePage(offsetNumber){ let i=1; let num=0; var pagedate=[]; let startSubScript=(offsetNumber-1)*10; let count=this.notselectdata2copy.length; if(count-startSubScript>=10){ num=10; }else{ num=count-startSubScript; } let SubScript=startSubScript; for(var j=0;j0){ var paginationNumbers = Math.ceil(count / 10); var pagination=[]; for(i;i<=paginationNumbers;i++){ var page={i:'',ifagechange:'',ifagenochange:''}; page.i=i; if(i==offsetNumber){ page.ifagechange=true; page.ifagenochange=false; pagination.push(page); }else{ page.ifagechange=false; page.ifagenochange=true; pagination.push(page); } } this.paginationRange=pagination; } this.notselectdata2=pagedate; this.template.querySelector('[data-parent-id="table2"]').refreshdata([],this.notselectdata2 ); this.getShiDan(); } lastPage(){ debugger if(this.selectOffsetNumber>1){ this.selectOffsetNumber--; this.changePage(this.selectOffsetNumber); } } nextPage(){ debugger if(this.selectOffsetNumber