{"version":3,"sources":["webpack:///./src/API/checking/SICCOCheckingDetail.ts","webpack:///./src/assets/images/rv/rect.png","webpack:///./src/views/SalesReporting2/SalesPanelOverview/index.vue?5a9b","webpack:///./src/views/SalesReporting2/SalesPanelOverview/PayoutDealer/index.vue?da91","webpack:///./src/views/SalesReporting2/SalesPanelOverview/index.vue?88f7","webpack:///./src/views/SalesReporting2/SalesPanelOverview/RetailValdationOverview/index2.vue?4789","webpack:///./src/views/SalesReporting2/SalesPanelOverview/RetailValdationOverview/index2.vue","webpack:///./src/views/SalesReporting2/SalesPanelOverview/RetailValdationOverview/index2.vue?0537","webpack:///./src/views/SalesReporting2/SalesPanelOverview/SalesIncentiveOverview/index.vue?fb6e","webpack:///./src/views/SalesReporting2/SalesPanelOverview/SalesIncentiveOverview/index.vue","webpack:///./src/views/SalesReporting2/SalesPanelOverview/SalesIncentiveOverview/index.vue?5363","webpack:///./src/views/SalesReporting2/SalesPanelOverview/ClaimCheckingOverview/index.vue?7ff6","webpack:///./src/views/SalesReporting2/SalesPanelOverview/ClaimCheckingOverview/index.vue","webpack:///./src/views/SalesReporting2/SalesPanelOverview/ClaimCheckingOverview/index.vue?476a","webpack:///./src/views/SalesReporting2/SalesPanelOverview/PayoutDealer/index.vue?76ba","webpack:///./src/views/SalesReporting2/SalesPanelOverview/PayoutDealer/index.vue","webpack:///./src/views/SalesReporting2/SalesPanelOverview/PayoutDealer/index.vue?a6e2","webpack:///./src/views/SalesReporting2/SalesPanelOverview/IncentiveClaim/index2.vue?78a8","webpack:///./src/views/SalesReporting2/SalesPanelOverview/IncentiveClaim/index2.vue","webpack:///./src/views/SalesReporting2/SalesPanelOverview/IncentiveClaim/index2.vue?6605","webpack:///./src/views/SalesReporting2/SalesPanelOverview/FailedReason/index.vue?3e0a","webpack:///./src/views/SalesReporting2/SalesPanelOverview/FailedReason/index.vue","webpack:///./src/views/SalesReporting2/SalesPanelOverview/FailedReason/index.vue?c7e6","webpack:///./src/views/SalesReporting2/SalesPanelOverview/index.vue","webpack:///./src/views/SalesReporting2/SalesPanelOverview/index.vue?9dae","webpack:///./src/API/salesReporting.ts","webpack:///./src/API/salesReporting/claimCheckingReport.ts","webpack:///./src/views/SalesReporting2/SalesPanelOverview/ClaimCheckingOverview/index.vue?4508","webpack:///./src/API/claim/delaerClaim/delaer.ts","webpack:///./src/views/SalesReporting2/SalesPanelOverview/SalesIncentiveOverview/index.vue?7b4e","webpack:///./src/views/SalesReporting2/SalesPanelOverview/FailedReason/index.vue?63ac","webpack:///./src/views/SalesReporting2/SalesPanelOverview/RetailValdationOverview/index2.vue?a345","webpack:///./src/utils/claim/downloadFile.ts","webpack:///./src/views/SalesReporting2/SalesPanelOverview/IncentiveClaim/index2.vue?5956"],"names":["getSICCOChecingDetailList","params","getSIPOCheckingDetailList","getSourceData","programCode","offerTypeId","deleteSourceDataApi","sourceDataId","downloadSourceDataApi","uploadSourceData","formData","Promise","resolve","reject","method","data","url","then","res","catch","error","addSourceData","checkingPending","checkingReject","checkingSubmit","checkingApprove","getDetailOperationRecordApi","getDetailRetailApi","getRVFile","id","type","fileName","console","log","pdfViewApi","getFindByGroupCode","exportPageApi","option","exportDemoCarMileage","a","post","responseType","exportPageApiSIPO","upImportCheckingResult","format","file","ImportCheckingResult","rejectSIPO","rejectSIPOConfirm","confirmSIPO","confirmSIPOConfirm","getCheckingState","getGroupNum","getModelYearApi","getRegionApi","param","bu","setDealerCommunicate","checkSignCommunicationConfirmApi","getTagApi","commentsSearch","getDescirptionApi","tag","getInternalCommentsApi","programId","dealerCode","vinNo","getDocumentNotice","downloadDocuments","getDocumentTable","documentReview","findRoundAndBatch","getClaimType","getStatistics","module","exports","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","render","_ctx","_cache","$props","$setup","$data","$options","_component_Breadcrumb","_component_Retail","_component_Sales","_component_ClaimChecking","_component_PayoutDealer","_component_IncentiveClaim","_component_FailedReason","dataSource","ref","n","src","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_component_a_select_option","_component_a_select","_component_a_space","_component_a_date_picker","_component_a_tab_pane","_component_a_tabs","_component_a_table","style","size","direction","default","allowClear","value","$event","placeholder","onChange","getBrand","buList","item","key","nameEn","_","brand","brandList","brandNameEn","mode","valueFormat","year","open","openProgramPeriodYear","onOpenChange","handlerOpenProgramPeriodChange","onPanelChange","handlerPanelProgramPeriodChange","quarter","maxTagCount","onClick","searchAll","args","gotoDetail","changeTabs","activeKey","tab","sortType","sortData","pagination","columns","scroll","x","y","setup","router","myChart","myChartDom","brandArray","searchData","total","yearArray","i","push","subtract","add","grid","left","right","bottom","containLabel","xAxis","axisTick","show","yAxis","min","max","legend","tooltip","trigger","label","position","series","name","zlevel","barWidth","color","barGap","offset","formatter","dataIndex","yAxisIndex","rotate","fontSize","buName","title","width","generateParams","QUARTER_MONTH_MAP","1","2","3","4","monthList","map","qur","flat","buId","month","queryData","length","eligibleRetail","eligibleRetailPassingRate","ineligibleRetail","eligibleRetailNo","ineligible","det","MAX_GAP","offsetEligible","offsetIneligible","Math","abs","retailRate","replace","setOption","message","queryTableByCondition","sort","index","warning","JSON","parse","stringify","first","init","buArray","brandArrayData","filter","parentId","path","query","status","time","__exports__","programNum","bordered","programSummaryDataSource","programSummaryColumns","_record","payoutSummaryDataSource","payoutSummaryColumns","programBudgetVal","record","payoutVal","slots","customRender","brandName","signal","programSummary","sg","programSummaryList","payoutSummaryList","isClear","echarts","myChart2","genMonth","qmList","maps","mthList","qm","mth","undefined","getParams","groupType","payoutRoundYear","payoutRoundMonth","language","data1","data21","data22","xAxisData","excludedGroupName","includes","groupName","totalClaims","firstApproved","toFixed","finalApproved","unwarp","obj","__v_raw","valueOf","arr","join","rich","budget","lineHeight","household","backgroundColor","borderRadius","padding","align","hr","borderColor","borderWidth","height","visibleMin","breadcrumb","levels","itemStyle","gapWidth","colorSaturation","borderColorSaturation","nodeClick","axisLabel","interval","margin","document","getElementById","dispose","changeTab","rowKey","payoutBreakdownTitle","titleMap","newYear","newQuarter","parseInt","lastTitle","currentYear","currentQuarter","currentTitle","toString","programPeriod","finalApprovedStr","overflow","ellipsis","sorter","b","substring","filters","cOption","optionList","tableHeight","children","brandA","yearAndQuarter","table","checkResultMessage","checkResultEn","accepted","communicated","rejected","brandNameCn","groupCode","itemCode","itemNameEn","closedType","mergeIndexProxy","mergeLengthIndexProxy","renderContent","text","props","rowSpan","towColumns","Closed","myChart1","array","mon","Object","keys","Map","rejectedReason","set","rejectedType","rejectedTypeClaims","get","rejectedReasonClaims","dataArray","Array","roam","upperLabel","preRejectedType","mergeIndex","mergeLengthIndex","isMergeNum","components","Retail","Sales","ClaimChecking","PayoutDealer","IncentiveClaim","FailedReason","dom1","dom2","dom3","dom4","dom5","dom6","buIDArray","getBU","buIds","unQualifiedDealerReportList","qualifiedDealerReportList","querySubmission","getPrepaymentUnQualifiedDealer","getPrepaymentQualifiedDealer","getIncentive","getIncentiveAll","findBrandByBu","getRVOverview","getQuarter","getRVTable","getFailedReasonAnalysis","getBrandByBuID","getPayoutFormByModelList","getRetrieveRegionList","getRetrieveSubRegionList","checkingEstimation","queryHistogram","getCheckerManagement","getPenetrationTable","getDealerByGroupId","getDealerByBUID","getTDTA2","getSalesIncentiveOverview","getCheckingOverviewList","getCheckingOverviewReleaseList","getCheckingOverviewReleaseSave","getProgramTrackingDetailList","getProgramTrackingDetailSave","getSSSC","getPDI","getOptionPackage","getAllParentBu","getPenetrationDealerBasedData","getPenetrationProgramBasedData","getModelYear","getCurretParentBu","getRegionLst","getRegion","regionId","getRegionList","buIdList","getRegionDealerGroup","getBuSubregion","getDealerList","getProgramList","getComDealerList","getComProgramList","getDemoDealerList","getDemoProgramList","getCesarAnalyst","getCesarBased","getPayoutBreakdown","getPayoutBreakdown2","getCheckingRoundList","getTypeClass","getDealerGroup","planActualRoundPage","planActualCategory","getPaymentTrackingReportTable","getOfferType","getStatus","getSubmissionOverview","getTabsData","getVINTableData","avaliablePrograms","extendEdit","getExtendInfo","saveInfoExtend","supportReview","supportSaveOrUpdateSingle","saveDealerClaimApp","saveDelayDealerClaimApp","docSample","deleteDocSample","docId","docSampleDealer","docSampleReview","docReview","claimReview","validateReplaceAttributes","extendTitleList","getTablelist","getDocView","getDocEdit","dealerSave","deleteFile","deleteTableItem","uploadBatchInfo","downloadExtendInfoApi","downloadProve","uploadExtendInfoApi","uploadProve","saveClaimDealerProgramInfo","getUser","getDealerMessageApi","dealerID","getManagerApi","getAvaliableDelayProgramsApi","setClaimDocumentMatching","matchingCustomerTypeApi","rematch","getTime","OCROne","OCRS","options","config","blob","Blob","downloadElement","createElement","href","window","URL","createObjectURL","str","headers","lastIndexOf","download","decodeURIComponent","Date","now","body","appendChild","click","removeChild","revokeObjectURL"],"mappings":"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","file":"js/chunk-0eae8e60.a73b3ad1.js","sourcesContent":["import { fetchGet, fetchDelete, fetchPost, fetchGetMess, fetchPostPic } from '../index';\nimport downloadFile from '@/utils/claim/downloadFile';\nimport axios from 'axios';\nimport { downloadFromStream } from '@/utils/payment/downloadFile';\n\n//生成SICCO Checing Deatail的列表\nexport const getSICCOChecingDetailList = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPost('/claimapi/checking/page', params);\n};\n\n//生成SIPO Checing Deatail的列表\nexport const getSIPOCheckingDetailList = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPost('/claimapi/communication/page', params);\n};\n\n//获取checkingSourceData列表\nexport const getSourceData = (params = { programCode: '0', offerTypeId: '0' }): Promise => {\n return fetchGet(`/claimapi/source/data/list/${params.programCode}/${params.offerTypeId}`, { params });\n};\n\n//删除Source data\nexport const deleteSourceDataApi = (params = { sourceDataId: '0' }): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchDelete(`/claimapi/source/data/delete/${params.sourceDataId}`);\n};\n\n//下载shorce data\nexport const downloadSourceDataApi = (params = { sourceDataId: '0' }): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchGet(`/claimapi/source/data/downloadUrl/${params.sourceDataId}`);\n};\n\n// //下载shorce data\n// export const downloadSourceDataApi= (params = {sourceDataId:'0'}): void => {\n// // return fetchGet('/claimapi/dealer/doc/save', {params})\n// console.log(`/claimapi/source/data/downloadUrl/${params.sourceDataId}`)\n// const option = {\n// url: `/claimapi/source/data/downloadUrl/${params.sourceDataId}`,\n// method: 'get'\n// }\n// downloadFile(option, 'application/vnd-excel; char-set=UTF-8')\n// }\n\nexport const downloadDetail = (params = {}): void => {\n const option = {\n url: `/claimapi/checking/plan/export/detail`,\n method: 'get',\n params\n };\n downloadFile(option, 'application/vnd-excel; char-set=UTF-8');\n};\n\n//上传Source Data\nexport const uploadSourceData = (formData: FormData): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: 'post',\n data: formData,\n url: '/claimapi/source/data/upload'\n // params: params,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\n//添加Source Data\nexport const addSourceData = (data: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/source/data/add', data);\n};\n\n//Pending按钮事件\nexport const checkingPending = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/checking/pending', params);\n};\n\n//Reject按钮事件\nexport const checkingReject = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/checking/reject', params);\n};\n\n//Submit按钮事件\nexport const checkingSubmit = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/checking/batchSubmit', params);\n};\n\n//Approve事件\nexport const checkingApprove = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/checking/approve', params);\n};\n\n//获取Detail Documents\nexport const getDetailDocumentsApi = (params = {}): Promise => {\n return fetchGet('/claimapi/checking/record/documents', { params });\n};\n\n//获取Detail Operation Record\nexport const getDetailOperationRecordApi = (params = {}): Promise => {\n return fetchGet('/claimapi/checking/record/list', { params });\n};\n//获取Detail Retail\nexport const getDetailRetailApi = (params = {}): Promise => {\n return fetchGet('/rvapi/basic/webApi/claim/vechileRetail', { params });\n};\n\n//显示RV的图片\n\nexport const getRVFile = (params = { id: '', type: '', fileName: '' }): Promise => {\n console.log(params);\n console.log(`docapi/download/${params.id}/${params.type}/${params.fileName}`);\n return fetchGet(`docapi/download/${params.id}/${params.type}/${params.fileName}`);\n};\n\n//显示RV的pdf\nexport const pdfViewApi = (params = {}): Promise => {\n return fetchGet('/rvapi/basic/webApi/claim/pdfView', { params });\n};\n\n//数据字典,查下拉框信息\nexport const getFindByGroupCode = (params = {}): Promise => {\n return fetchGet('/claimapi/claimDictionary/findByGroupCode', { params });\n};\n\n//导出功能,SPCCO\nexport const exportPageApi = (params = {}): void => {\n const option = {\n url: `/claimapi/checking/export`,\n method: 'post',\n params\n };\n downloadFile(option, 'application/vnd-excel; char-set=UTF-8');\n};\n// 导出 Demo car Mileage\nexport const exportDemoCarMileage = async (params = {}): Promise => {\n const res = await axios.post('/claimapi/demo/car/exportMiles', null, {\n params,\n responseType: 'blob'\n });\n downloadFromStream(res);\n};\n//导出SIPO\nexport const exportPageApiSIPO = (params = {}): void => {\n const option = {\n url: `/claimapi/dealer/communication/export`,\n method: 'post',\n params\n };\n downloadFile(option, 'application/vnd-excel; char-set=UTF-8');\n};\n\n//上传 Import Checking Result\nexport const upImportCheckingResult = (params: any, format: FormData): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n console.log(params.file);\n return new Promise((resolve, reject) => {\n axios({\n method: 'post',\n params: params,\n data: format,\n url: `/claimapi/checking/upload`\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\nexport const ImportCheckingResult = (params: any, format: FormData): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: 'post',\n params: params,\n data: format,\n url: `/claimapi/checking/import`\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\n//Reject Sipo\nexport const rejectSIPO = (data: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/communication/rejectToSICCO', data);\n};\n//Reject Sipo Confirm\nexport const rejectSIPOConfirm = (data: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/communication/rejectToSICCO/confirm', data);\n};\n\n//confirm Sipo\nexport const confirmSIPO = (data: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/communication/SIPOConfirm', data);\n};\n\n//confirm Sipo Confirm\nexport const confirmSIPOConfirm = (data: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/communication/SIPOConfirm/confirm', data);\n};\n\n//获取getcheckingState\nexport const getCheckingState = (type = 'checkingStatus'): Promise => {\n return fetchPost(`/claimapi/common/${type}`);\n};\n\n//获取4977统计数量\nexport const getGroupNum = (params = {}): Promise => {\n return fetchGet('/claimapi/checking/findGroupByProgDesignIdAndOfferTypeIdCount', { params });\n};\n\n//获取4977 ModelYear\nexport const getModelYearApi = (params = {}): Promise => {\n return fetchGet('/claimapi/common/modelYears', { params });\n};\n\n//4977根据program信息获取bu,用bu获取region\nexport const getProgramInfoApi = (param: any): Promise => {\n return fetchPost(\n `/claimapi/common/checking/getProgramInfo?programId=${param.programId}&offerTypeId=${param.offerTypeId}`\n );\n};\n\n//获取4954,4977的Region\nexport const getRegionApi = (param: any): Promise => {\n return fetchPost(`/claimapi/common/regionQuery?bu=${param.bu}`);\n};\n\n//4977 set Dealer Communication 之前的统计数据\nexport const setDealerCommunicate = (data: any): Promise => {\n return fetchPostPic('/claimapi/communication/setDealerCommunicate', data);\n};\n\n//4977 set Dealer Communication\nexport const checkSignCommunicationConfirm = (data: any): Promise => {\n return fetchPostPic('/claimapi/checking/sipo/main/check/sign/set/dealer/communication/confirm', data);\n};\n\n//4977 set Dealer Communication 新接口\nexport const checkSignCommunicationConfirmApi = (data: any): Promise => {\n return fetchPostPic('/claimapi/communication/setDealerCommunicate/confirm', data);\n};\n\n//4954中的Approve,Reject,Pending中的tag的下拉选项模糊查询的返回值\nexport const getTagApi = (params: any): Promise => {\n return fetchPost(`/claimapi/common/checking/firstComments?commentsSearch=${params.commentsSearch}`);\n};\n//4954中的Approve,Reject,Pending中的Descirption的下拉选项模糊查询的返回值\nexport const getDescirptionApi = (params: any): Promise => {\n return fetchPost(\n `/claimapi/common/checking/secondComments?commentsSearch=${params.commentsSearch}&tag=${params.tag}`\n );\n};\n//4954中的Approve,Reject,Pending中的Internal Comment预设值\nexport const getInternalCommentsApi = (params: any): Promise => {\n return fetchPost(\n `/claimapi/checking/getInternalComments?programId=${params.programId}&dealerCode=${params.dealerCode}&vinNo=${params.vinNo}&id=${params.id}`\n );\n};\n\n//4954查询下载文件大小和数量\nexport const getDocumentNotice = (data: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/checking/Supporting/doc/download/documents/notice', data);\n};\n\n//4954文件下载判断\nexport const downloadDocuments = (data: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic('/claimapi/checking/Supporting/doc/download/documents', data);\n};\n\n//新版,4954,4977 Document的列表\nexport const getDocumentTable = (params = {}): Promise => {\n return fetchGet('/claimapi/appeal/file/claim/detail/doc', { params });\n};\n\n//新版,预览4954,4977 Document文件接口\nexport const documentReview = (params = {}): Promise => {\n return fetchGet('/claimapi/appeal/file/support/review', { params });\n};\n\n//获取checkingPlan Round,当4975跳转到4977时,没有带相对应参数时\nexport const findRoundAndBatch = (params = {}): Promise => {\n return fetchGet('/claimapi/checking/findRoundAndBatch', { params });\n};\n\nexport const getClaimType = (): Promise<{ key: string; name: string }[]> => {\n return fetchGet('/claimapi/common/claimType');\n};\n\nexport const getStatistics = (params = {}): Promise => {\n return fetchPost('/claimapi/checking/all/list', params);\n};\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAQCAYAAADTasWKAAAABGdBTUEAALGPC/xhBQAAADhlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAAA6ADAAQAAAABAAAAEAAAAABTVpExAAAARklEQVQIHWNgWPf+GcO6Dx0MV/+zsTD8Z5BkYPhfznDzIwMTAxz8j0NwgCoQHKAK+nMYGZ4jWcq4iIUBKMLAwLiIQZ2/DgAi2RE9IOkxIAAAAABJRU5ErkJggg==\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=1f25db16&lang=scss&scoped=true\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=2393020e&lang=scss&scoped=true\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1f25db16\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"sale-overview-retail\" }\nconst _hoisted_2 = { class: \"sale-overview-retail\" }\nconst _hoisted_3 = { class: \"sale-overview__checking\" }\nconst _hoisted_4 = { class: \"sale-overview__checking--child\" }\nconst _hoisted_5 = { class: \"sale-overview__checking--child\" }\nconst _hoisted_6 = { class: \"sale-overview-retail\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Breadcrumb = _resolveComponent(\"Breadcrumb\")!\n const _component_Retail = _resolveComponent(\"Retail\")!\n const _component_Sales = _resolveComponent(\"Sales\")!\n const _component_ClaimChecking = _resolveComponent(\"ClaimChecking\")!\n const _component_PayoutDealer = _resolveComponent(\"PayoutDealer\")!\n const _component_IncentiveClaim = _resolveComponent(\"IncentiveClaim\")!\n const _component_FailedReason = _resolveComponent(\"FailedReason\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_Breadcrumb, { dataSource: [] }),\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_Retail, { ref: \"dom1\" }, null, 512)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Sales, { ref: \"dom2\" }, null, 512)\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_ClaimChecking, { ref: \"dom3\" }, null, 512)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_PayoutDealer, { ref: \"dom4\" }, null, 512)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_IncentiveClaim, { ref: \"dom5\" }, null, 512)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_FailedReason, { ref: \"dom6\" }, null, 512)\n ])\n ], 64))\n}","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, withModifiers as _withModifiers, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/rv/rect.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3a5125a5\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"retail-overview\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"top-overview\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"rect\"\n }),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Retail Validation Overview\")\n], -1))\nconst _hoisted_3 = { class: \"retail-overview-content\" }\nconst _hoisted_4 = { class: \"retail-overview-condition\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"BU\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Brand\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Year\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Quarter\", -1))\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"Q1\")\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"Q2\")\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"Q3\")\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\"Q4\")\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_15 = { class: \"retail-overview-condition-block\" }\nconst _hoisted_16 = { class: \"retail-overview-content-left\" }\nconst _hoisted_17 = { class: \"left-content\" }\nconst _hoisted_18 = {\n ref: \"myChartDom\",\n class: \"left-content-chart\"\n}\nconst _hoisted_19 = { class: \"retail-overview-content-right\" }\nconst _hoisted_20 = { class: \"right-title\" }\nconst _hoisted_21 = { class: \"sort-title\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, \"Dealer\", -1))\nconst _hoisted_23 = { class: \"right-content\" }\nconst _hoisted_24 = { class: \"table\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_tab_pane = _resolveComponent(\"a-tab-pane\")!\n const _component_a_tabs = _resolveComponent(\"a-tabs\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event)),\n placeholder: \"Please select\",\n onChange: _ctx.getBrand\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.id,\n value: item.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n value: _ctx.brand,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.brand) = $event)),\n placeholder: \"Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.brandNameEn,\n value: item.brandNameEn\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.brandNameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_7,\n _createVNode(_component_a_date_picker, {\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.year) = $event)),\n placeholder: \"Please select\",\n open: _ctx.openProgramPeriodYear,\n onOpenChange: _ctx.handlerOpenProgramPeriodChange,\n onPanelChange: _ctx.handlerPanelProgramPeriodChange\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_8,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n value: _ctx.quarter,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.quarter) = $event)),\n placeholder: \"Please select\",\n mode: \"multiple\",\n maxTagCount: 1\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"2\" }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"3\" }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"4\" }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_13,\n _createElementVNode(\"i\", {\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.searchAll && _ctx.searchAll(...args))),\n class: \"font_family icon-shuaxin retail-icon-button\"\n })\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_14,\n _createElementVNode(\"i\", {\n class: \"font_family icon-Export-icon retail-icon-button\",\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.gotoDetail && _ctx.gotoDetail(...args)))\n })\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, null, 512)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createVNode(_component_a_tabs, {\n style: {\"width\":\"100%\"},\n type: \"card\",\n onChange: _ctx.changeTabs,\n activeKey: _ctx.activeKey,\n \"onUpdate:activeKey\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.activeKey) = $event))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_tab_pane, {\n key: \"1\",\n tab: \"Region\"\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"2\",\n tab: \"Sub Region\"\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"3\",\n tab: \"Dealer Group\"\n }),\n _createVNode(_component_a_tab_pane, { key: \"4\" }, {\n tab: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_21, [\n _hoisted_22,\n (_ctx.sortType === 'ascent' && _ctx.activeKey === '4')\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n id: \"triangle-up\",\n onClick: _cache[6] || (_cache[6] = _withModifiers(($event: any) => (_ctx.sortData('descent')), [\"stop\"]))\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.sortType === 'descent' && _ctx.activeKey === '4')\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n id: \"triangle-down\",\n onClick: _cache[7] || (_cache[7] = _withModifiers(($event: any) => (_ctx.sortData('ascent')), [\"stop\"]))\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"onChange\", \"activeKey\"])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n _createVNode(_component_a_table, {\n class: \"ant-table-striped\",\n dataSource: _ctx.dataSource,\n pagination: false,\n columns: _ctx.columns,\n scroll: { x: 600, y: 250 }\n }, null, 8, [\"dataSource\", \"columns\"])\n ])\n ])\n ])\n ])\n ])\n ]))\n}","\nimport { queryHistogram, getRVTable } from '@/API/salesReporting';\nimport { defineComponent, ref, reactive, toRefs, nextTick } from 'vue';\nimport * as echarts from 'echarts';\nimport moment from 'moment';\nimport { message } from 'ant-design-vue';\nimport { useRouter } from 'vue-router';\nexport default defineComponent({\n setup() {\n const activeKey = ref('1');\n const router = useRouter();\n let myChart: any = null;\n const myChartDom = ref(null);\n const buList = ref([]);\n const brandList = ref([]);\n const brandArray = ref([]);\n const searchData = reactive({\n bu: '',\n brand: '',\n year: '',\n quarter: [`${moment().quarter()}`]\n });\n const total: any[] = [];\n const yearArray: Array = [];\n for (let i = 5; i >= 0; i--) {\n yearArray.push(moment().subtract(i, 'year').format('YYYY'));\n }\n for (let i = 1; i <= 5; i++) {\n yearArray.push(moment().add(i, 'year').format('YYYY'));\n }\n\n const option = ref({\n grid: {\n left: '0%',\n right: '0%',\n bottom: '3%',\n containLabel: true\n },\n xAxis: {\n type: 'category',\n data: ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12'],\n axisTick: {\n show: false\n }\n },\n yAxis: [\n {\n type: 'value',\n show: false\n },\n {\n type: 'value',\n show: false,\n min: 0,\n max: 100\n }\n ],\n legend: {\n x: 'left'\n },\n tooltip: {\n trigger: 'axis'\n },\n label: {\n show: true,\n position: 'top'\n },\n series: [\n {\n name: 'Ineligible Retail No.',\n data: [],\n type: 'bar',\n zlevel: 1,\n barWidth: 20,\n color: '#00ADEF',\n label: {\n color: '#0088C6'\n }\n },\n {\n name: 'Eligible Retail No.',\n data: [],\n type: 'bar',\n barGap: '-100%',\n barWidth: 20,\n color: '#7FD6F7',\n label: {\n offset: [0, -15],\n color: '#7FD6F7',\n formatter: (params: any) => {\n return total[params.dataIndex];\n }\n }\n },\n {\n name: 'Eligible Retail Passing Rate',\n data: [],\n type: 'line',\n yAxisIndex: 1,\n color: '#FFBA3E',\n label: {\n color: '#FFBA3E',\n formatter: '{c}%',\n rotate: 30,\n fontSize: 10\n }\n }\n ]\n });\n\n const dataSource = ref([]);\n\n const buName = ref('');\n\n const columns = ref([\n {\n title: 'Region',\n dataIndex: 'region',\n key: 'region',\n width: '100px'\n },\n {\n title: 'Eligible Retail No.',\n dataIndex: 'eligibleRetailNo',\n key: 'eligibleRetailNo',\n width: '200px'\n },\n {\n title: 'Submitted Retail No.',\n dataIndex: 'submitedRetailNo',\n key: 'submitedRetailNo',\n width: '200px'\n },\n {\n title: 'Actual Retail No.',\n dataIndex: 'actualRetailNo',\n key: 'actualRetailNo',\n width: '200px'\n },\n {\n title: 'Eligible Retail Passing Rate%',\n dataIndex: 'eligibleRetailPassingRate',\n key: 'eligibleRetailPassingRate',\n width: '200px'\n },\n {\n title: 'Retail Submission Rate%',\n dataIndex: 'retailSubmissionRate',\n key: 'retailSubmissionRate',\n width: '200px'\n }\n ]);\n\n const generateParams = () => {\n const QUARTER_MONTH_MAP = {\n 1: ['01', '02', '03'],\n 2: ['04', '05', '06'],\n 3: ['07', '08', '09'],\n 4: ['10', '11', '12']\n };\n const monthList = searchData.quarter\n .map((qur: any) => {\n return QUARTER_MONTH_MAP[qur];\n })\n .flat();\n return {\n bu: buName.value,\n buId: searchData.bu,\n brand: searchData.brand,\n year: searchData.year,\n quarter: searchData.quarter,\n month: monthList\n };\n };\n\n const queryData = () => {\n if (searchData.bu && searchData.year) {\n for (let i = 0; i < buList.value.length; i++) {\n if (buList.value[i].id === searchData.bu) {\n buName.value = buList.value[i].nameEn;\n }\n }\n const params = generateParams();\n total.length = 0;\n queryHistogram(params).then((res) => {\n const eligibleRetail: any[] = [];\n const eligibleRetailPassingRate: any[] = [];\n const ineligibleRetail: any[] = [];\n for (let i = 0; i < res.length; i++) {\n total.push(res[i].total);\n const eligibleRetailNo = res[i].eligibleRetailNo;\n const ineligible = res[i].ineligible;\n const det = eligibleRetailNo - ineligible;\n const MAX_GAP = 50;\n let offsetEligible = [0, 0];\n const offsetIneligible = [0, 0];\n if (Math.abs(det) < MAX_GAP) {\n if (det > 0) {\n offsetEligible = [0, -MAX_GAP * 0.5 + MAX_GAP * (det / MAX_GAP) ** 2];\n } else {\n offsetEligible = [0, -MAX_GAP * 0.5 - MAX_GAP * (det / MAX_GAP) ** 2];\n }\n }\n eligibleRetail.push({\n value: eligibleRetailNo,\n label: { offset: offsetEligible }\n });\n ineligibleRetail.push({\n value: ineligible,\n label: { offset: offsetIneligible }\n });\n eligibleRetailPassingRate.push(res[i].retailRate === 'N/A' ? 'N/A' : res[i].retailRate.replace('%', ''));\n }\n option.value.series[0].data = ineligibleRetail;\n option.value.series[1].data = eligibleRetail;\n option.value.series[2].data = eligibleRetailPassingRate;\n\n nextTick(() => {\n myChart.setOption(option.value);\n });\n });\n } else {\n message.error('Year and bu must be select.');\n }\n };\n\n const queryTableByCondition = () => {\n if (searchData.bu && searchData.year && searchData.quarter.length > 0) {\n let url = '';\n\n const params = generateParams();\n\n switch (activeKey.value) {\n case '1':\n url = '/report/query/submission/byRegion';\n columns.value[0] = {\n title: 'Region',\n dataIndex: 'region',\n key: 'region',\n width: '100px'\n };\n break;\n case '2':\n url = '/report/query/submission/bySubRegion';\n columns.value[0] = {\n title: 'Sub Region',\n dataIndex: 'subRegion',\n key: 'subRegion',\n width: '100px'\n };\n break;\n case '3':\n url = '/report/query/submission/byDealerGroup';\n columns.value[0] = {\n title: 'Dealer Group',\n dataIndex: 'dealerGroup',\n key: 'dealerGroup',\n width: '200px'\n };\n break;\n case '4':\n url = '/report/query/submission/byDealer';\n columns.value[0] = {\n title: 'Dealer',\n dataIndex: 'dealerNameEn',\n key: 'dealerNameEn',\n width: '200px'\n };\n (params as any).sort = -1;\n break;\n }\n\n getRVTable(params, url).then((res) => {\n dataSource.value = res;\n });\n }\n };\n\n const changeTabs = (index: string) => {\n activeKey.value = index;\n queryTableByCondition();\n };\n\n const searchAll = () => {\n if (searchData.quarter.length === 0) {\n message.warning('Please select query criteria');\n return;\n }\n queryData();\n queryTableByCondition();\n };\n\n const getBrand = () => {\n searchData.brand = '';\n for (let i = 0; i < brandArray.value.length; i++) {\n if (searchData.bu === brandArray.value[i].buId) {\n brandList.value = JSON.parse(JSON.stringify(brandArray.value[i].brandList));\n }\n }\n if (brandList.value.length) {\n brandList.value.push({ id: 0, brandNameEn: 'All' });\n searchData.brand = 'All';\n }\n };\n\n let first = true;\n const init = (buArray: Array, brandArrayData: Array) => {\n buList.value = buArray\n .filter((bu: any) => {\n return bu.parentId === null;\n })\n .filter((bu: any) => {\n return bu.nameEn !== 'CPO' && bu.nameEn !== 'Companycar';\n });\n brandArray.value = brandArrayData;\n searchData.bu = (buList.value[0] as any).id;\n for (let i = 0; i < buArray.length; i++) {\n if ((buArray[i] as any).nameEn === 'MB') {\n searchData.bu = (buArray[i] as any).id;\n }\n }\n getBrand();\n\n searchData.year = moment().format('YYYY');\n searchData.quarter = [`${moment().subtract(1, 'quarter').quarter()}`];\n if (first) {\n myChart = echarts.init(myChartDom.value);\n first = false;\n }\n\n searchAll();\n };\n\n const gotoDetail = () => {\n router.push({\n path: '/salesreporting/RVSubmissionOEM',\n query: {\n bu: searchData.bu,\n brand: searchData.brand,\n year: searchData.year,\n quarter: searchData.quarter\n }\n });\n };\n\n //period初始化\n const openProgramPeriodYear = ref(false);\n const handlerOpenProgramPeriodChange = (status: any): void => {\n openProgramPeriodYear.value = status;\n };\n const handlerPanelProgramPeriodChange = (value: string): void => {\n const time = moment(value).format('YYYY');\n searchData.year = time as string;\n openProgramPeriodYear.value = false;\n };\n\n const sortType = ref('descent');\n const sortData = (type: string) => {\n const params = generateParams();\n if (type === 'descent') {\n (params as any).sort = -1;\n } else {\n (params as any).sort = 1;\n }\n const url = '/report/query/submission/byDealer';\n getRVTable(params, url).then((res) => {\n dataSource.value = res;\n sortType.value = type;\n });\n };\n return {\n openProgramPeriodYear,\n handlerOpenProgramPeriodChange,\n handlerPanelProgramPeriodChange,\n myChartDom,\n searchAll,\n gotoDetail,\n activeKey,\n brandArray,\n changeTabs,\n myChart,\n dataSource,\n columns,\n buList,\n brandList,\n yearArray,\n ...toRefs(searchData),\n init,\n sortType,\n sortData,\n getBrand\n };\n }\n});\n","import { render } from \"./index2.vue?vue&type=template&id=3a5125a5&scoped=true&ts=true\"\nimport script from \"./index2.vue?vue&type=script&lang=ts\"\nexport * from \"./index2.vue?vue&type=script&lang=ts\"\n\nimport \"./index2.vue?vue&type=style&index=0&id=3a5125a5&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3a5125a5\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/rv/rect.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9fa78ffe\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"sales-incentive\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"top-overview\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"rect\"\n }),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Sales Incentive Overview\")\n], -1))\nconst _hoisted_3 = { class: \"overview-query\" }\nconst _hoisted_4 = { class: \"overview-condition\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"BU\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Brand\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Year\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_10 = { class: \"overview-condition-block\" }\nconst _hoisted_11 = { class: \"overview-content-block-left\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"title\" }, [\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Program Summary\")\n], -1))\nconst _hoisted_13 = {\n class: \"content table\",\n style: {\"display\":\"flex\",\"flex-direction\":\"row\",\"justify-content\":\"space-around\",\"align-items\":\"center\"}\n}\nconst _hoisted_14 = { style: {\"width\":\"40px\",\"font-weight\":\"blod\",\"font-size\":\"18px\"} }\nconst _hoisted_15 = /*#__PURE__*/_createTextVNode(\" Programs: \")\nconst _hoisted_16 = { style: {\"font-size\":\"30px\",\"font-weight\":\"500\"} }\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, null, -1))\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", null, null, -1))\nconst _hoisted_19 = { class: \"overview-content-block-right\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"title\" }, [\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Payout Summary\")\n], -1))\nconst _hoisted_21 = {\n class: \"content table\",\n style: {\"display\":\"flex\",\"flex-direction\":\"row\",\"justify-content\":\"space-around\",\"align-items\":\"center\"}\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n onChange: _ctx.getBrand,\n style: {\"width\":\"120px\"},\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event)),\n placeholder: \"Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.id,\n value: item.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"onChange\", \"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"120px\"},\n value: _ctx.brand,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.brand) = $event)),\n placeholder: \"Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.brandNameEn,\n value: item.brandNameEn\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.brandNameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_7,\n _createVNode(_component_a_date_picker, {\n style: {\"width\":\"120px\"},\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.year) = $event)),\n placeholder: \"Please select\",\n open: _ctx.openProgramPeriodYear,\n onOpenChange: _ctx.handlerOpenProgramPeriodChange,\n onPanelChange: _ctx.handlerPanelProgramPeriodChange\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_8,\n _createElementVNode(\"i\", {\n onClick: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.queryData && _ctx.queryData(...args))),\n class: \"font_family icon-shuaxin retail-icon-button\"\n })\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_9,\n _createElementVNode(\"i\", {\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.gotoDetail && _ctx.gotoDetail(...args))),\n class: \"font_family icon-Export-icon retail-icon-button\"\n })\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _hoisted_15,\n _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_ctx.programNum), 1)\n ]),\n _hoisted_17,\n _hoisted_18,\n _createVNode(_component_a_table, {\n bordered: \"\",\n class: \"ant-table-striped\",\n style: {\"width\":\"65%\"},\n pagination: false,\n dataSource: _ctx.programSummaryDataSource,\n columns: _ctx.programSummaryColumns,\n \"row-class-name\": (_record, index) => 'table-height'\n }, null, 8, [\"dataSource\", \"columns\", \"row-class-name\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _hoisted_20,\n _createElementVNode(\"div\", _hoisted_21, [\n _createVNode(_component_a_table, {\n bordered: \"\",\n class: \"ant-table-striped\",\n style: {\"width\":\"100%\"},\n pagination: false,\n dataSource: _ctx.payoutSummaryDataSource,\n columns: _ctx.payoutSummaryColumns,\n \"row-class-name\": (_record, index) => 'table-height'\n }, {\n programBudgetVal: _withCtx(({record}) => [\n _createTextVNode(_toDisplayString(record.programBudgetVal === null\n ? '-'\n : record.programBudgetVal), 1)\n ]),\n payoutVal: _withCtx(({ record }) => [\n _createElementVNode(\"strong\", null, _toDisplayString(record.payoutVal), 1)\n ]),\n _: 1\n }, 8, [\"dataSource\", \"columns\", \"row-class-name\"])\n ])\n ])\n ])\n ])\n ]))\n}","\nimport { defineComponent, reactive, toRefs, ref } from 'vue';\nimport { useRouter } from 'vue-router';\nimport { message } from 'ant-design-vue';\nimport moment from 'moment';\nimport { getSalesIncentiveOverview } from '@/API/salesReporting';\n\nexport default defineComponent({\n setup() {\n const router = useRouter();\n const buList = ref([]);\n const brandList = ref([]);\n const brandArray = ref([]);\n const searchData = reactive({\n bu: '',\n brand: '',\n year: '',\n });\n\n const programNum = ref(0);\n const programSummaryDataSource = ref([]);\n const programSummaryColumns = [\n {\n title: '',\n dataIndex: 'signal',\n },\n {\n title: 'New',\n dataIndex: 'newNum',\n key: 'newNum',\n },\n {\n title: 'Checking',\n dataIndex: 'checkingNum',\n key: 'checkingNum',\n },\n {\n title: 'Closed',\n dataIndex: 'closeNum',\n key: 'closeNum',\n },\n ];\n\n const payoutSummaryDataSource = ref([]);\n const payoutSummaryColumns = [\n {\n title: 'Payout',\n // dataIndex: 'payoutVal',\n key: 'payoutVal',\n slots: { customRender: 'payoutVal' },\n },\n {\n title: 'To-be Paid',\n dataIndex: 'toBePaidVal',\n key: 'toBePaidVal',\n },\n {\n title: 'Program Budget',\n // dataIndex: 'programBudgetVal',\n key: 'programBudgetVal',\n slots: { customRender: 'programBudgetVal' },\n },\n ];\n\n const queryData = () => {\n if (!searchData.bu || !searchData.year) {\n message.error('Year and BU must be selected!');\n return;\n }\n const params = {\n buId: searchData.bu,\n brandName: searchData.brand === 'All' ? '' : searchData.brand,\n year: searchData.year,\n };\n getSalesIncentiveOverview(params).then((res: any) => {\n programNum.value = res.programNum;\n const signal = [\n {\n signal: 'Vol.',\n },\n {\n signal: '%',\n },\n ];\n const programSummary = signal.map((sg: any, index: number) => {\n return { ...sg, ...res.programSummaryList[index] };\n });\n programSummaryDataSource.value = programSummary;\n payoutSummaryDataSource.value = res.payoutSummaryList;\n });\n };\n\n const getBrand = () => {\n searchData.brand = '';\n for (let i = 0; i < brandArray.value.length; i++) {\n if (searchData.bu === brandArray.value[i].buId) {\n brandList.value = JSON.parse(\n JSON.stringify(brandArray.value[i].brandList)\n );\n }\n }\n if (brandList.value.length) {\n brandList.value.push({ id: 0, brandNameEn: 'All' });\n searchData.brand = 'All';\n }\n };\n\n const init = (buArray: Array, brandArrayData: Array) => {\n buList.value = buArray;\n brandArray.value = brandArrayData;\n searchData.bu = (buArray[0] as any).id;\n for (let i = 0; i < buArray.length; i++) {\n if ((buArray[i] as any).nameEn === 'MB') {\n searchData.bu = (buArray[i] as any).id;\n }\n }\n\n getBrand();\n searchData.year = moment().format('YYYY');\n\n queryData();\n };\n\n const openProgramPeriodYear = ref(false);\n const handlerOpenProgramPeriodChange = (status: any): void => {\n openProgramPeriodYear.value = status;\n };\n const handlerPanelProgramPeriodChange = (value: string): void => {\n const time = moment(value).format('YYYY');\n searchData.year = time as string;\n openProgramPeriodYear.value = false;\n };\n\n const gotoDetail = () => {\n router.push({\n path: '/salesreporting/claimCheckingReportOEM',\n query: {\n bu: searchData.bu,\n brand: searchData.brand,\n year: searchData.year,\n isClear: 'false',\n },\n });\n };\n\n return {\n init,\n programNum,\n programSummaryColumns,\n programSummaryDataSource,\n payoutSummaryDataSource,\n payoutSummaryColumns,\n ...toRefs(searchData),\n openProgramPeriodYear,\n handlerOpenProgramPeriodChange,\n handlerPanelProgramPeriodChange,\n brandList,\n buList,\n queryData,\n gotoDetail,\n getBrand,\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=9fa78ffe&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=9fa78ffe&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9fa78ffe\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, createStaticVNode as _createStaticVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/rv/rect.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-cd71553a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"sales-incentive\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"top-overview\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"rect\"\n }),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Claim Checking Overview\")\n], -1))\nconst _hoisted_3 = { class: \"overview-query\" }\nconst _hoisted_4 = { class: \"overview-condition\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"BU\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Brand\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Year\", -1))\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Quarter\", -1))\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"Q1\")\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"Q2\")\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"Q3\")\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\"Q4\")\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_15 = /*#__PURE__*/_createStaticVNode(\"
Payout Breakdown by Program Category
\", 1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createVNode(_component_a_select, {\n onChange: _ctx.getBrand,\n allowClear: \"\",\n style: {\"width\":\"120px\"},\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event)),\n placeholder: \"Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.id,\n value: item.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"onChange\", \"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_a_select, {\n style: {\"width\":\"120px\"},\n value: _ctx.brand,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.brand) = $event)),\n placeholder: \"Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.brandNameEn,\n value: item.brandNameEn\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.brandNameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_7,\n _createVNode(_component_a_date_picker, {\n style: {\"width\":\"120px\"},\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.year) = $event)),\n placeholder: \"Please select\",\n open: _ctx.openProgramPeriodYear,\n onOpenChange: _ctx.handlerOpenProgramPeriodChange,\n onPanelChange: _ctx.handlerPanelProgramPeriodChange\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_8,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"120px\"},\n value: _ctx.quarter,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.quarter) = $event)),\n placeholder: \"Please select\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"2\" }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"3\" }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"4\" }, {\n default: _withCtx(() => [\n _hoisted_12\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_13,\n _createElementVNode(\"i\", {\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.queryData && _ctx.queryData(...args))),\n class: \"font_family icon-shuaxin retail-icon-button\"\n })\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_14,\n _createElementVNode(\"i\", {\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.gotoDetail && _ctx.gotoDetail(...args))),\n class: \"font_family icon-Export-icon retail-icon-button\"\n })\n ]),\n _: 1\n })\n ]),\n _hoisted_15\n ])\n ]))\n}","\nimport { defineComponent, inject, ref, onMounted, reactive, toRefs, nextTick, onUnmounted } from 'vue';\nimport { useRouter } from 'vue-router';\nimport moment from 'moment';\nimport { message } from 'ant-design-vue';\nimport { getPayoutBreakdown } from '@/API/salesReporting/claimCheckingReport';\nexport default defineComponent({\n setup() {\n const echarts: any = inject('ec');\n const myChart = ref({});\n const myChart2 = ref({});\n const searchData = reactive({\n bu: '',\n brand: '',\n year: '',\n quarter: '1'\n });\n const yearArray: Array = [];\n for (let i = 5; i >= 0; i--) {\n yearArray.push(moment().subtract(i, 'year').format('YYYY'));\n }\n for (let i = 1; i <= 5; i++) {\n yearArray.push(moment().add(i, 'year').format('YYYY'));\n }\n const buList = ref([]);\n const brandList = ref([]);\n const brandArray = ref([]);\n\n const genMonth = (year: string, param: Array | string | undefined) => {\n let qmList: string[] = [];\n if (typeof param === 'undefined') {\n return undefined;\n } else if (typeof param === 'string') {\n qmList.push(param);\n } else {\n qmList = param;\n }\n const maps = {\n 1: ['01', '02', '03'],\n 2: ['04', '05', '06'],\n 3: ['07', '08', '09'],\n 4: ['10', '11', '12']\n };\n let mthList: string[] = [];\n for (const qm of qmList as string[]) {\n if (qm in maps) {\n mthList = [...mthList, ...maps[qm]];\n } else {\n mthList.push(qm);\n }\n }\n const monthList = mthList.map((mth: any) => {\n return `${year}-${mth}`;\n });\n return monthList.length > 0 ? monthList : undefined;\n };\n\n const getParams = () => {\n let buName = '';\n for (let i = 0; i < buList.value.length; i++) {\n if (searchData.bu === buList.value[i].id) {\n buName = buList.value[i].nameEn;\n }\n }\n\n const params = {\n bu: [buName],\n groupType: 1,\n payoutRoundYear: searchData.year,\n payoutRoundMonth: genMonth(searchData.year, searchData.quarter),\n brand: searchData.brand === 'All' ? '' : searchData.brand,\n language: 'EN'\n };\n return params;\n };\n\n const queryData = () => {\n if (!searchData.bu || !searchData.year) {\n message.error('Year and BU must be selected!');\n return;\n }\n\n const params = getParams();\n getPayoutBreakdown(params).then((res) => {\n const data1 = [];\n const data21 = [];\n const data22 = [];\n const xAxisData = [];\n const excludedGroupName = ['', 'Total', 'Order Protection', 'Pre Sales'];\n for (let i = 0; i < (res.length > 10 ? 10 : res.length); i++) {\n if (excludedGroupName.includes(res[i].groupName)) {\n break;\n }\n data1.push({\n name: res[i].groupName,\n value: res[i].totalClaims\n });\n data21.push((res[i].firstApproved * 100).toFixed(2));\n data22.push((res[i].finalApproved * 100).toFixed(2));\n xAxisData.push(res[i].groupName);\n }\n\n const unwarp = (obj: any) => obj && (obj.__v_raw || obj.valueOf() || obj);\n\n unwarp(myChart.value).setOption({\n tooltip: {\n show: true\n },\n series: [\n {\n type: 'treemap',\n data: data1,\n label: {\n position: 'insideTopLeft',\n fontSize: 18,\n formatter: function (params: any) {\n const arr = [params.name, '', params.value];\n // const arr = [\n // '{name|' + params.name + '}',\n // '{hr| }',\n // '{budget|$' + params.value + '}',\n // ];\n\n return arr.join('\\n');\n }\n },\n rich: {\n budget: {\n fontSize: 22,\n lineHeight: 30,\n color: 'yellow'\n },\n household: {\n fontSize: 14,\n color: '#fff'\n },\n label: {\n fontSize: 9,\n backgroundColor: 'rgba(0,0,0,0.3)',\n color: '#fff',\n borderRadius: 2,\n padding: [2, 4],\n lineHeight: 25,\n align: 'right'\n },\n name: {\n fontSize: 18,\n color: '#fff'\n },\n hr: {\n width: '100%',\n borderColor: 'rgba(255,255,255,0.2)',\n borderWidth: 0.5,\n height: 0,\n lineHeight: 10\n }\n },\n // roam: false,\n visibleMin: 0,\n breadcrumb: {\n show: false\n },\n levels: [\n {\n visibleMin: 0,\n itemStyle: {\n borderWidth: 0,\n gapWidth: 1\n }\n },\n {\n visibleMin: 0,\n itemStyle: {\n gapWidth: 1\n }\n },\n {\n visibleMin: 0,\n colorSaturation: [0.35, 0.5],\n itemStyle: {\n gapWidth: 1,\n borderColorSaturation: 0.6\n }\n }\n ],\n nodeClick: false\n }\n ]\n });\n\n unwarp(myChart2.value).setOption({\n legend: {},\n tooltip: {\n show: true,\n trigger: 'axis'\n },\n xAxis: {\n type: 'category',\n data: xAxisData,\n axisLabel: {\n interval: 0,\n rotate: 15,\n align: 'center',\n margin: 35\n }\n },\n yAxis: {\n type: 'value'\n },\n series: [\n {\n name: 'R1 Approved%',\n data: data21,\n type: 'bar'\n },\n {\n name: 'Final Approved%',\n data: data22,\n type: 'bar'\n }\n ]\n });\n });\n };\n\n const getBrand = () => {\n searchData.brand = '';\n for (let i = 0; i < brandArray.value.length; i++) {\n if (searchData.bu === brandArray.value[i].buId) {\n brandList.value = JSON.parse(JSON.stringify(brandArray.value[i].brandList));\n }\n }\n if (brandList.value.length) {\n brandList.value.push({ id: 0, brandNameEn: 'All' });\n searchData.brand = 'All';\n }\n };\n\n const init = (buArray: Array, brandArrayData: Array) => {\n buList.value = buArray;\n brandArray.value = brandArrayData;\n searchData.bu = (buArray[0] as any).id;\n for (let i = 0; i < buArray.length; i++) {\n if ((buArray[i] as any).nameEn === 'MB') {\n searchData.bu = (buArray[i] as any).id;\n }\n }\n getBrand();\n searchData.year = moment().format('YYYY');\n searchData.quarter = moment().subtract(1, 'quarter').quarter() + '';\n\n queryData();\n };\n\n //period初始化\n const openProgramPeriodYear = ref(false);\n const handlerOpenProgramPeriodChange = (status: any): void => {\n openProgramPeriodYear.value = status;\n };\n const handlerPanelProgramPeriodChange = (value: string): void => {\n const time = moment(value).format('YYYY');\n searchData.year = time as string;\n openProgramPeriodYear.value = false;\n };\n\n const router = useRouter();\n const gotoDetail = () => {\n router.push({\n path: '/salesreporting/payoutBreakdownOEM',\n query: {\n bu: searchData.bu,\n brand: searchData.brand,\n year: searchData.year,\n quarter: searchData.quarter\n }\n });\n };\n\n onMounted(() => {\n myChart.value = echarts.init(document.getElementById('CCO_1') as HTMLElement);\n myChart2.value = echarts.init(document.getElementById('CCO_2') as HTMLElement);\n });\n\n onUnmounted(() => {\n myChart.value.dispose();\n myChart2.value.dispose();\n });\n\n return {\n openProgramPeriodYear,\n handlerOpenProgramPeriodChange,\n handlerPanelProgramPeriodChange,\n ...toRefs(searchData),\n init,\n brandList,\n yearArray,\n buList,\n getBrand,\n queryData,\n gotoDetail\n };\n }\n});\n","import { render } from \"./index.vue?vue&type=template&id=cd71553a&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=cd71553a&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cd71553a\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2393020e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"sales-incentive\" }\nconst _hoisted_2 = { class: \"overview-query\" }\nconst _hoisted_3 = { class: \"overview-condition\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"BU\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Brand\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Year\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Quarter\", -1))\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\"Q1\")\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"Q2\")\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"Q3\")\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"Q4\")\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_14 = { class: \"overview-condition-block\" }\nconst _hoisted_15 = { style: {\"display\":\"flex\",\"flex-direction\":\"row\",\"justify-content\":\"space-between\"} }\nconst _hoisted_16 = { class: \"overview-content-block-left\" }\nconst _hoisted_17 = { class: \"content\" }\nconst _hoisted_18 = { class: \"table\" }\nconst _hoisted_19 = { class: \"overview-content-block-right\" }\nconst _hoisted_20 = { class: \"title\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"content table\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", {\n id: \"patout-dealer-chart2\",\n style: {\"height\":\"100%\",\"width\":\"100%\"}\n })\n], -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_tab_pane = _resolveComponent(\"a-tab-pane\")!\n const _component_a_tabs = _resolveComponent(\"a-tabs\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_4,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"120px\"},\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event)),\n onChange: _ctx.getBrand,\n placeholder: \" Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.id,\n value: item.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createVNode(_component_a_select, {\n style: {\"width\":\"120px\"},\n value: _ctx.brand,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.brand) = $event)),\n placeholder: \" Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.brandNameEn,\n value: item.brandNameEn\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.brandNameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_a_date_picker, {\n style: {\"width\":\"120px\"},\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.year) = $event)),\n placeholder: \"Please select\",\n open: _ctx.openProgramPeriodYear,\n onOpenChange: _ctx.handlerOpenProgramPeriodChange,\n onPanelChange: _ctx.handlerPanelProgramPeriodChange\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_7,\n _createVNode(_component_a_select, {\n style: {\"width\":\"120px\"},\n value: _ctx.quarter,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.quarter) = $event)),\n placeholder: \" Please select\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"2\" }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"3\" }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"4\" }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_12,\n _createElementVNode(\"i\", {\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.queryData && _ctx.queryData(...args))),\n class: \"font_family icon-shuaxin retail-icon-button\"\n })\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_13,\n _createElementVNode(\"i\", {\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.gotoDetail && _ctx.gotoDetail(...args))),\n class: \"font_family icon-Export-icon retail-icon-button\"\n })\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_a_tabs, {\n style: {\"width\":\"100%\"},\n onChange: _ctx.changeTab,\n type: \"card\",\n activeKey: _ctx.activeKey,\n \"onUpdate:activeKey\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.activeKey) = $event))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_tab_pane, {\n key: \"1\",\n tab: \"Region\"\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"2\",\n tab: \"Sub Region\"\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"3\",\n tab: \"Dealer Group\"\n }),\n _createVNode(_component_a_tab_pane, {\n key: \"4\",\n tab: \"Dealer\"\n })\n ]),\n _: 1\n }, 8, [\"onChange\", \"activeKey\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createVNode(_component_a_table, {\n rowKey: (item, index) => item.index,\n class: \"ant-table-striped\",\n scroll: { y: 250 },\n dataSource: _ctx.dataSource,\n pagination: false,\n columns: _ctx.columns,\n onChange: _ctx.onChange\n }, null, 8, [\"rowKey\", \"dataSource\", \"columns\", \"onChange\"])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.payoutBreakdownTitle), 1)\n ]),\n _hoisted_21\n ])\n ])\n ])\n ])\n ]))\n}","\nimport moment from 'moment';\nimport { message } from 'ant-design-vue';\nimport { defineComponent, inject, ref, onMounted, reactive, toRefs, computed, watch, onUnmounted } from 'vue';\nimport { useRouter } from 'vue-router';\nimport { getPayoutBreakdown2 } from '@/API/salesReporting/claimCheckingReport';\nexport default defineComponent({\n setup() {\n const echarts: any = inject('ec');\n const activeKey = ref('1');\n const payoutBreakdownTitle = computed(() => {\n const titleMap = {\n 1: 'Region',\n 2: 'Sub Region',\n 3: 'Dealer Group',\n 4: 'Dealer'\n };\n return `Payout Breakdown by ${titleMap[activeKey.value]}`;\n });\n const searchData = reactive({\n bu: '',\n brand: null,\n year: '',\n quarter: '1'\n });\n const yearArray: Array = [];\n for (let i = 5; i >= 0; i--) {\n yearArray.push(moment().subtract(i, 'year').format('YYYY'));\n }\n for (let i = 1; i <= 5; i++) {\n yearArray.push(moment().add(i, 'year').format('YYYY'));\n }\n const buList = ref([]);\n const brandList = ref([]);\n const brandArray = ref([]);\n\n const myChart2 = ref({});\n\n const dataSource = ref([]);\n\n const columns = ref([\n {\n title: 'Region',\n dataIndex: 'groupName',\n key: 'groupName'\n },\n {\n title: 'ToTal Checked No.',\n dataIndex: 'totalCheckedCount',\n key: 'totalCheckedCount'\n },\n {\n title: 'Final Approved%',\n dataIndex: 'finalApprovedStr',\n key: 'finalApprovedStr'\n },\n {\n title: 'ToTal Checked No.(ex.Financing)',\n dataIndex: 'lastQuarterTotalCheckedCount',\n key: 'lastQuarterTotalCheckedCount'\n },\n {\n title: 'Final Approved%(ex.Financing)',\n dataIndex: 'lastQuarterFinalApprovedStr',\n key: 'lastQuarterFinalApprovedStr'\n // sorter: (a: any, b: any) => a.lastQuarterFinalApprove - b.lastQuarterFinalApprove,\n }\n ]);\n watch([() => searchData.year, () => searchData.quarter], ([newYear, newQuarter]) => {\n console.log(parseInt(newYear as unknown as string) - 1, newQuarter);\n const currentYear = newYear as unknown as string;\n const currentQuarter = newQuarter as unknown as string;\n const currentTitle = `${currentYear} Q${currentQuarter}`;\n let lastTitle: string;\n if (currentQuarter === '1') {\n lastTitle = `${(parseInt(currentYear) - 1).toString()} Q4`;\n } else {\n lastTitle = `${currentYear} Q${parseInt(currentQuarter) - 1}`;\n }\n columns.value[1].title = `${currentTitle} ToTal Checked No.`;\n columns.value[2].title = `${currentTitle} Final Approved%`;\n columns.value[3].title = `${lastTitle} ToTal Checked No.(ex.Financing)`;\n columns.value[4].title = `${lastTitle} Final Approved%(ex.Financing)`;\n });\n const getParams = () => {\n let buName = '';\n for (let i = 0; i < buList.value.length; i++) {\n if (searchData.bu === buList.value[i].id) {\n buName = buList.value[i].nameEn;\n }\n }\n const params = {\n bu: [buName],\n groupType: parseInt(activeKey.value) + 1,\n programPeriod: searchData.year + '-' + searchData.quarter,\n brand: searchData.brand === 'All' ? '' : searchData.brand\n };\n return params;\n };\n\n const queryData = () => {\n if (!searchData.bu || !searchData.year) {\n message.error('Year and BU must be selected!');\n return;\n }\n\n const params = getParams();\n\n getPayoutBreakdown2(params).then((res) => {\n for (let i = 0; i < res.length; i++) {\n if (!res[i].finalApprovedStr) {\n res[i].finalApprovedStr = '0%';\n }\n }\n dataSource.value = res;\n const data21 = [];\n const data22 = [];\n const xAxisData = [];\n for (let i = 0; i < (res.length > 20 ? 20 : res.length); i++) {\n if (res[i].groupName === 'Total') {\n break;\n }\n data21.push((res[i].firstApproved * 100).toFixed(2));\n data22.push((res[i].finalApproved * 100).toFixed(2));\n xAxisData.push(res[i].groupName);\n }\n\n const unwarp = (obj: any) => obj && (obj.__v_raw || obj.valueOf() || obj);\n unwarp(myChart2.value).setOption({\n tooltip: {\n show: true,\n trigger: 'axis'\n },\n legend: {},\n xAxis: {\n type: 'category',\n data: xAxisData,\n axisLabel: {\n align: 'center',\n margin: 35,\n interval: 0,\n rotate: 15,\n width: 100,\n overflow: 'truncate',\n ellipsis: '...'\n }\n },\n yAxis: {\n type: 'value'\n },\n series: [\n {\n name: 'R1 Approved%',\n data: data21,\n type: 'bar'\n },\n {\n name: 'Final Approved%',\n data: data22,\n type: 'bar'\n }\n ]\n });\n });\n };\n\n const getBrand = () => {\n searchData.brand = null;\n for (let i = 0; i < brandArray.value.length; i++) {\n if (searchData.bu === brandArray.value[i].buId) {\n brandList.value = JSON.parse(JSON.stringify(brandArray.value[i].brandList));\n }\n }\n if (brandList.value.length) {\n brandList.value.push({ id: 0, brandNameEn: 'All' });\n searchData.brand = 'All';\n }\n };\n\n const init = (buArray: Array, brandArrayData: Array) => {\n buList.value = buArray;\n brandArray.value = brandArrayData;\n searchData.bu = (buArray[0] as any).id;\n for (let i = 0; i < buArray.length; i++) {\n if ((buArray[i] as any).nameEn === 'MB') {\n searchData.bu = (buArray[i] as any).id;\n }\n }\n getBrand();\n searchData.year = moment().format('YYYY');\n searchData.quarter = moment().subtract(1, 'quarter').quarter() + '';\n\n queryData();\n };\n\n const changeTab = (index: string) => {\n activeKey.value = index;\n switch (parseInt(index)) {\n case 1:\n columns.value[0].title = 'Region';\n columns.value[4].sorter = null;\n break;\n case 2:\n columns.value[0].title = 'Sub Region';\n columns.value[4].sorter = null;\n break;\n case 3:\n columns.value[0].title = 'Dealer Group';\n columns.value[4].sorter = null;\n break;\n case 4:\n columns.value[0].title = 'Dealer';\n columns.value[4].sorter = (a: any, b: any) => {\n return (\n a.finalApprovedStr.substring(0, a.finalApprovedStr.length - 1) -\n b.finalApprovedStr.substring(0, b.finalApprovedStr.length - 1)\n );\n };\n\n break;\n }\n\n queryData();\n };\n\n onMounted(() => {\n myChart2.value = echarts.init(document.getElementById('patout-dealer-chart2') as HTMLElement);\n });\n\n onUnmounted(() => {\n myChart2.value.dispose();\n });\n\n //period初始化\n const openProgramPeriodYear = ref(false);\n const handlerOpenProgramPeriodChange = (status: any): void => {\n openProgramPeriodYear.value = status;\n };\n const handlerPanelProgramPeriodChange = (value: string): void => {\n const time = moment(value).format('YYYY');\n searchData.year = time as string;\n openProgramPeriodYear.value = false;\n };\n\n const router = useRouter();\n const gotoDetail = () => {\n router.push({\n path: '/salesreporting/payoutBreakdownOEM',\n query: {\n bu: searchData.bu,\n brand: searchData.brand,\n year: searchData.year,\n quarter: searchData.quarter\n }\n });\n };\n const onChange = (pagination: any, filters: any[], sorter: any) => {\n console.log('params', pagination, filters, sorter);\n };\n\n return {\n onChange,\n changeTab,\n activeKey,\n openProgramPeriodYear,\n handlerOpenProgramPeriodChange,\n handlerPanelProgramPeriodChange,\n ...toRefs(searchData),\n columns,\n dataSource,\n init,\n brandList,\n yearArray,\n buList,\n getBrand,\n queryData,\n gotoDetail,\n payoutBreakdownTitle\n };\n }\n});\n","import { render } from \"./index.vue?vue&type=template&id=2393020e&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=2393020e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2393020e\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ee3c1364\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"incentive-claim\" }\nconst _hoisted_2 = { class: \"incentive-claim-content\" }\nconst _hoisted_3 = { class: \"incentive-condition\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"BU\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Brand\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Year\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Quarter\", -1))\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\"Q1\")\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"Q2\")\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"Q3\")\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"Q4\")\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Option\", -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_15 = { class: \"incentive-condition-content\" }\nconst _hoisted_16 = { class: \"incentive-claim-content-left\" }\nconst _hoisted_17 = { class: \"left-content\" }\nconst _hoisted_18 = {\n ref: \"myChartDom\",\n class: \"left-content-chart\"\n}\nconst _hoisted_19 = { class: \"incentive-claim-content-right\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"right-title\" }, [\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"KPI Overview\")\n], -1))\nconst _hoisted_21 = { class: \"right-content table\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_4,\n _createVNode(_component_a_select, {\n onChange: _ctx.getBrand,\n allowClear: \"\",\n style: {\"width\":\"140px\"},\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event)),\n placeholder: \"Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.id,\n value: item.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"onChange\", \"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"140px\"},\n value: _ctx.brand,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.brand) = $event)),\n placeholder: \"Please select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.brandList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.brandNameEn,\n value: item.brandNameEn\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.brandNameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_a_date_picker, {\n style: {\"width\":\"140px\"},\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.year) = $event)),\n placeholder: \"Please select\",\n open: _ctx.openProgramPeriodYear,\n onOpenChange: _ctx.handlerOpenProgramPeriodChange,\n onPanelChange: _ctx.handlerPanelProgramPeriodChange\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_7,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"140px\"},\n value: _ctx.quarter,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.quarter) = $event)),\n placeholder: \"Please select\",\n mode: \"multiple\",\n maxTagCount: 1\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"2\" }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"3\" }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"4\" }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_12,\n _createVNode(_component_a_select, {\n style: {\"width\":\"140px\"},\n value: _ctx.cOption,\n \"onUpdate:value\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.cOption) = $event)),\n placeholder: \"Please Select\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.optionList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.key,\n value: item.key\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.value), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_13,\n _createElementVNode(\"i\", {\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.queryData && _ctx.queryData(...args))),\n class: \"font_family icon-shuaxin retail-icon-button\"\n })\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_14,\n _createElementVNode(\"i\", {\n class: \"font_family icon-Export-icon retail-icon-button\",\n onClick: _cache[6] || (_cache[6] = \n//@ts-ignore\n(...args) => (_ctx.gotoDetail && _ctx.gotoDetail(...args)))\n })\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, null, 512)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _hoisted_20,\n _createElementVNode(\"div\", _hoisted_21, [\n _createVNode(_component_a_table, {\n rowKey: (item, index) => item.index,\n bordered: \"\",\n class: \"ant-table-striped\",\n style: {\"width\":\"100%\"},\n scroll: { y: _ctx.tableHeight },\n pagination: false,\n dataSource: _ctx.dataSource,\n columns: _ctx.columns\n }, null, 8, [\"rowKey\", \"scroll\", \"dataSource\", \"columns\"])\n ])\n ])\n ])\n ])\n ]))\n}","\nimport { message } from 'ant-design-vue';\nimport { defineComponent, ref, onMounted, reactive, toRefs } from 'vue';\nimport { getIncentiveAll } from '@/API/salesReporting';\nimport { getFindByGroupCode } from '@/API/checking/SICCOCheckingDetail';\nimport moment from 'moment';\nimport { Moment } from 'moment';\nimport * as echarts from 'echarts';\nimport { useRouter } from 'vue-router';\n\nexport default defineComponent({\n setup() {\n const router = useRouter();\n const myChart = ref();\n const myChartDom = ref(null);\n const buList = ref([]);\n const brandList = ref([]);\n const brandArray = ref([]);\n const searchData = reactive({\n bu: '',\n brand: '',\n year: '',\n quarter: ['1'],\n cOption: ''\n });\n const optionList = ref([]);\n\n const dataSource = ref([]);\n const columns = [\n {\n title: 'Chaim Checking Overview',\n dataIndex: 'checkResultMessage',\n key: 'checkResultMessage',\n align: 'left',\n width: 200\n },\n {\n title: 'Dealer Confirmation Status',\n children: [\n {\n title: 'Dealer Confirmed',\n dataIndex: 'accepted',\n key: 'accepted',\n align: 'center'\n },\n {\n title: 'Dealer Rejected',\n dataIndex: 'rejected',\n key: 'rejected',\n align: 'center'\n },\n {\n title: 'Dealer Un-confirmed',\n dataIndex: 'communicated',\n key: 'communicated',\n align: 'center'\n }\n ]\n }\n ];\n\n const queryData = () => {\n if (!searchData.bu || !searchData.year) {\n message.error('Year and BU must be selected!');\n return;\n }\n const brandA = [];\n if (searchData.brand === 'All') {\n for (let i = 0; i < brandList.value.length; i++) {\n if (brandList.value[i].brandNameEn != 'All') {\n brandA.push(brandList.value[i].brandNameEn);\n }\n }\n } else {\n brandA.push(searchData.brand);\n }\n\n const yearAndQuarter = searchData.quarter.map((quarter: string) => {\n return searchData.year + '-' + quarter;\n });\n\n const unwarp = (obj: any) => obj && (obj.__v_raw || obj.valueOf() || obj);\n\n getIncentiveAll({\n option: searchData.cOption,\n buId: searchData.bu,\n brandName: brandA,\n yearAndQuarter\n }).then((res) => {\n unwarp(myChart.value).setOption({ ...res.option, grid: { left: '15%' } });\n const data = res.table;\n console.log('res', res);\n for (let i = 0; i < data.length; i++) {\n data[i].checkResultMessage = data[i].checkResultEn + ': ' + data[i].total;\n data[i].accepted = data[i].accepted === '' ? '-' : data[i].accepted;\n data[i].communicated = data[i].communicated === '' ? '-' : data[i].communicated;\n data[i].rejected = data[i].rejected === '' ? '-' : data[i].rejected;\n }\n dataSource.value = data;\n });\n };\n const yearArray: Array = [];\n for (let i = 5; i >= 0; i--) {\n yearArray.push(moment().subtract(i, 'year').format('YYYY'));\n }\n for (let i = 1; i <= 5; i++) {\n yearArray.push(moment().add(i, 'year').format('YYYY'));\n }\n\n const getBrand = () => {\n searchData.brand = '';\n brandList.value = [];\n for (let i = 0; i < brandArray.value.length; i++) {\n if (searchData.bu === brandArray.value[i].buId) {\n brandList.value = JSON.parse(JSON.stringify(brandArray.value[i].brandList));\n }\n }\n if (brandList.value.length) {\n brandList.value.push({\n brandNameCn: 'All',\n brandNameEn: 'All',\n id: -1\n });\n searchData.brand = 'All';\n }\n };\n\n const init = (buArray: Array, brandArrayData: Array) => {\n buList.value = buArray;\n brandArray.value = brandArrayData;\n searchData.bu = (buArray[0] as any).id;\n for (let i = 0; i < buArray.length; i++) {\n if ((buArray[i] as any).nameEn === 'MB') {\n searchData.bu = (buArray[i] as any).id;\n }\n }\n\n getBrand();\n\n searchData.year = moment().format('YYYY');\n searchData.quarter = [moment().subtract(1, 'quarter').quarter() + ''];\n myChart.value = echarts.init(myChartDom.value);\n\n getFindByGroupCode({\n groupCode: 'overview_of_Incentive_option'\n }).then((res: any) => {\n for (let i = 0; i < res.length; i++) {\n optionList.value.push({\n key: res[i].itemCode,\n value: res[i].itemNameEn\n });\n }\n searchData.cOption = optionList.value[0].key;\n queryData();\n });\n };\n\n const tableHeight = ref(180);\n\n const gotoDetail = () => {\n let quarter = '';\n for (let i = 0; i < searchData.quarter.length; i++) {\n quarter = quarter + ('Q' + searchData.quarter[i]) + ',';\n }\n router.push({\n path: '/salesreporting/claimCheckingReportOEM',\n query: {\n bu: searchData.bu,\n brand: searchData.brand,\n year: searchData.year,\n quarter: quarter.substring(0, quarter.length - 1),\n isClear: 'true'\n }\n });\n };\n\n //period初始化\n const openProgramPeriodYear = ref(false);\n const handlerOpenProgramPeriodChange = (status: any): void => {\n openProgramPeriodYear.value = status;\n };\n const handlerPanelProgramPeriodChange = (value: string): void => {\n const time = moment(value).format('YYYY');\n searchData.year = time as string;\n openProgramPeriodYear.value = false;\n };\n\n return {\n optionList,\n openProgramPeriodYear,\n handlerOpenProgramPeriodChange,\n handlerPanelProgramPeriodChange,\n init,\n brandList,\n buList,\n yearArray,\n gotoDetail,\n myChartDom,\n getBrand,\n myChart,\n dataSource,\n columns,\n tableHeight,\n ...toRefs(searchData),\n queryData\n };\n }\n});\n","import { render } from \"./index2.vue?vue&type=template&id=ee3c1364&scoped=true&ts=true\"\nimport script from \"./index2.vue?vue&type=script&lang=ts\"\nexport * from \"./index2.vue?vue&type=script&lang=ts\"\n\nimport \"./index2.vue?vue&type=style&index=0&id=ee3c1364&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ee3c1364\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/images/rv/rect.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d4624260\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"sales-incentive\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"top-overview\" }, [\n /*#__PURE__*/_createElementVNode(\"img\", {\n src: _imports_0,\n class: \"rect\"\n }),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Failed Reason\")\n], -1))\nconst _hoisted_3 = { class: \"overview-query\" }\nconst _hoisted_4 = { class: \"overview-condition\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"BU\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Year\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Quarter\", -1))\nconst _hoisted_8 = /*#__PURE__*/_createTextVNode(\"Q1\")\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"Q2\")\nconst _hoisted_10 = /*#__PURE__*/_createTextVNode(\"Q3\")\nconst _hoisted_11 = /*#__PURE__*/_createTextVNode(\"Q4\")\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \"Program Status\", -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { class: \"label\" }, \" \", -1))\nconst _hoisted_15 = { class: \"overview-condition-block\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"overview-content-block-left\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", {\n id: \"failed-chart1\",\n style: {\"height\":\"100%\",\"width\":\"100%\"}\n })\n], -1))\nconst _hoisted_17 = { class: \"overview-content-block-right\" }\nconst _hoisted_18 = { class: \"content table\" }\nconst _hoisted_19 = { style: {\"height\":\"100%\",\"width\":\"100%\"} }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_a_select_option = _resolveComponent(\"a-select-option\")!\n const _component_a_select = _resolveComponent(\"a-select\")!\n const _component_a_space = _resolveComponent(\"a-space\")!\n const _component_a_date_picker = _resolveComponent(\"a-date-picker\")!\n const _component_a_table = _resolveComponent(\"a-table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_5,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"120px\"},\n value: _ctx.bu,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.bu) = $event)),\n onChange: _ctx.getBrand,\n placeholder: \"请选择\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.buList, (item) => {\n return (_openBlock(), _createBlock(_component_a_select_option, {\n key: item.id,\n value: item.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.nameEn), 1)\n ]),\n _: 2\n }, 1032, [\"value\"]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"value\", \"onChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_a_date_picker, {\n style: {\"width\":\"120px\"},\n mode: \"year\",\n valueFormat: \"YYYY\",\n format: \"YYYY\",\n value: _ctx.year,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.year) = $event)),\n placeholder: \"Please select\",\n open: _ctx.openProgramPeriodYear,\n onOpenChange: _ctx.handlerOpenProgramPeriodChange,\n onPanelChange: _ctx.handlerPanelProgramPeriodChange\n }, null, 8, [\"value\", \"open\", \"onOpenChange\", \"onPanelChange\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_7,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"120px\"},\n value: _ctx.quarter,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.quarter) = $event)),\n placeholder: \"请选择\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_a_select_option, { value: \"1\" }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"2\" }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"3\" }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n }),\n _createVNode(_component_a_select_option, { value: \"4\" }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_12,\n _createVNode(_component_a_select, {\n allowClear: \"\",\n style: {\"width\":\"120px\"},\n value: _ctx.closedType,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.closedType) = $event)),\n placeholder: \"请选择\"\n }, {\n default: _withCtx(() => [\n (_openBlock(), _createElementBlock(_Fragment, null, _renderList(['Closed', 'Non-Closed'], (item) => {\n return _createVNode(_component_a_select_option, {\n key: item,\n value: item\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(item), 1)\n ]),\n _: 2\n }, 1032, [\"value\"])\n }), 64))\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_13,\n _createElementVNode(\"i\", {\n onClick: _cache[4] || (_cache[4] = \n//@ts-ignore\n(...args) => (_ctx.queryData && _ctx.queryData(...args))),\n class: \"font_family icon-shuaxin retail-icon-button\"\n })\n ]),\n _: 1\n }),\n _createVNode(_component_a_space, {\n style: {\"margin-right\":\"16px\"},\n size: 1,\n direction: \"vertical\"\n }, {\n default: _withCtx(() => [\n _hoisted_14,\n _createElementVNode(\"i\", {\n onClick: _cache[5] || (_cache[5] = \n//@ts-ignore\n(...args) => (_ctx.gotoDetail && _ctx.gotoDetail(...args))),\n class: \"font_family icon-Export-icon retail-icon-button\"\n })\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _hoisted_16,\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createVNode(_component_a_table, {\n rowKey: (item, index) => item.index,\n scroll: { x: 1350, y: 250 },\n pagination: false,\n columns: _ctx.columns,\n \"data-source\": _ctx.dataSource,\n bordered: \"\"\n }, null, 8, [\"rowKey\", \"columns\", \"data-source\"])\n ])\n ])\n ])\n ])\n ])\n ]))\n}","\ninterface TableDataType {\n rejectedType: string | null;\n rejectedTypeClaims: number | null;\n rejectedTypeProportion: number | null;\n rejectedTypeProportionStr: string | null;\n rejectedReason: string | null;\n rejectedReasonClaims: number | null;\n rejectedReasonProportion: number | null;\n rejectedReasonProportionStr: string | null;\n}\nimport moment from 'moment';\nimport { message } from 'ant-design-vue';\nimport { getFailedReasonAnalysis } from '@/API/salesReporting';\nimport { defineComponent, inject, ref, reactive, toRefs } from 'vue';\nimport { useRouter } from 'vue-router';\nexport default defineComponent({\n setup() {\n const echarts: any = inject('ec');\n const mergeIndexProxy = ref([]);\n const mergeLengthIndexProxy = ref([]);\n\n const renderContent = ({ text, index }: any) => {\n const obj = {\n children: text,\n props: {} as any\n };\n if (mergeIndexProxy.value.length) {\n for (let i = 0; i < mergeIndexProxy.value.length; i++) {\n if (index === mergeIndexProxy.value[i]) {\n obj.props.rowSpan = mergeLengthIndexProxy.value[i] + 1;\n }\n if (index > mergeIndexProxy.value[i] && index <= mergeIndexProxy.value[i] + mergeLengthIndexProxy.value[i]) {\n obj.props.rowSpan = 0;\n }\n }\n\n return obj;\n } else {\n return obj;\n }\n };\n const columns = ref([]);\n const towColumns = {\n Closed: [\n {\n title: 'Rejected Type',\n dataIndex: 'rejectedType',\n customRender: renderContent,\n width: 200\n },\n {\n title: 'Number of Programs',\n dataIndex: 'programNo',\n customRender: renderContent,\n width: 200\n },\n {\n title: 'Final Rejected Claims',\n dataIndex: 'rejectedTypeClaims',\n customRender: renderContent,\n width: 200\n },\n {\n title: 'Proportion%',\n dataIndex: 'rejectedTypeProportionStr',\n customRender: renderContent,\n width: 150\n },\n {\n title: 'Rejected Reason',\n dataIndex: 'rejectedReason'\n },\n {\n title: 'Final Rejected Claims',\n dataIndex: 'rejectedReasonClaims',\n width: 150\n },\n {\n title: 'Proportion%',\n dataIndex: 'rejectedReasonProportionStr',\n width: 150\n }\n ],\n 'Non-Closed': [\n {\n title: 'Rejected Type',\n dataIndex: 'rejectedType',\n customRender: renderContent,\n width: 200\n },\n {\n title: 'Number of Programs',\n dataIndex: 'programNo',\n customRender: renderContent,\n width: 200\n },\n {\n title: 'Rejected Claims',\n dataIndex: 'rejectedTypeClaims',\n customRender: renderContent,\n width: 150\n },\n {\n title: 'Proportion%',\n dataIndex: 'rejectedTypeProportionStr',\n customRender: renderContent,\n width: 150\n },\n {\n title: 'Rejected Reason',\n dataIndex: 'rejectedReason'\n },\n {\n title: 'Rejected Claims',\n dataIndex: 'rejectedReasonClaims',\n width: 150\n },\n {\n title: 'Proportion%',\n dataIndex: 'rejectedReasonProportionStr',\n width: 150\n }\n ]\n };\n const dataSource = ref([]);\n const searchData = reactive({\n bu: '',\n brand: '',\n year: '',\n quarter: '1'\n });\n\n const yearArray: Array = [];\n for (let i = 5; i >= 0; i--) {\n yearArray.push(moment().subtract(i, 'year').format('YYYY'));\n }\n for (let i = 1; i <= 5; i++) {\n yearArray.push(moment().add(i, 'year').format('YYYY'));\n }\n const buList = ref([]);\n const brandList = ref([]);\n const brandArray = ref([]);\n const myChart1 = ref({});\n\n const closedType = ref('Closed');\n\n const genMonth = (year: string, quarter: string) => {\n let array: Array = [];\n switch (quarter) {\n case '1':\n array = ['01', '02', '03'];\n break;\n case '2':\n array = ['04', '05', '06'];\n break;\n case '3':\n array = ['07', '08', '09'];\n break;\n case '4':\n array = ['10', '11', '12'];\n break;\n }\n return array.map((mon: string) => {\n return `${year}-${mon}`;\n });\n };\n\n const getParams = () => {\n let buName = '';\n for (let i = 0; i < buList.value.length; i++) {\n if (searchData.bu === buList.value[i].id) {\n buName = buList.value[i].nameEn;\n }\n }\n const params = {\n bu: [buName],\n groupType: 1,\n payoutRoundYear: searchData.year,\n payoutRoundMonth: genMonth(searchData.year, searchData.quarter),\n // programPeriod: searchData.year + '-' + searchData.quarter,\n language: 'EN'\n };\n return params;\n };\n const queryData = () => {\n if (!searchData.bu || !searchData.year) {\n message.error('Year and BU must be selected!');\n return;\n }\n\n const params = getParams();\n getFailedReasonAnalysis(params).then((res) => {\n if (Object.keys(res).length === 0) return;\n dataSource.value = res[closedType.value];\n const data = res[closedType.value];\n columns.value = towColumns[closedType.value];\n\n const map = new Map();\n for (let i = 0; i < data.length; i++) {\n if (data[i].rejectedReason !== 'Total' && data[i].rejectedReason !== 'Sub Total') {\n map.set(data[i].rejectedType, {\n name: data[i].rejectedType,\n value: data[i].rejectedTypeClaims,\n children: []\n });\n }\n }\n for (let i = 0; i < data.length; i++) {\n if (data[i].rejectedReason !== 'Total' && data[i].rejectedReason !== 'Sub Total') {\n map.get(data[i].rejectedType).children.push({\n name: data[i].rejectedReason,\n value: data[i].rejectedReasonClaims\n });\n }\n }\n const dataArray: Array = new Array();\n for (const [key] of map) {\n if (key !== null) {\n dataArray.push(map.get(key));\n }\n }\n\n const unwarp = (obj: any) => obj && (obj.__v_raw || obj.valueOf() || obj);\n unwarp(myChart1.value).setOption({\n tooltip: {\n show: true\n },\n series: [\n {\n roam: false,\n type: 'treemap',\n data: dataArray,\n breadcrumb: {\n show: false\n },\n label: {\n formatter: '{b}',\n fontSize: 14\n },\n upperLabel: {\n show: true,\n height: 40,\n color: '#fff'\n },\n levels: [\n {\n itemStyle: {\n borderColor: '#777',\n borderWidth: 0,\n gapWidth: 1\n },\n upperLabel: {\n show: false\n }\n },\n\n {\n colorSaturation: [0.35, 0.5],\n itemStyle: {\n borderWidth: 5,\n gapWidth: 1,\n borderColorSaturation: 0.6\n }\n }\n ],\n nodeClick: false\n }\n ]\n });\n\n const mergeIndex: number[] = []; //需要合并的起始角标\n const mergeLengthIndex: number[] = []; //起始角标下多少个\n let preRejectedType: string | undefined\n let isMergeNum = 0; //记录合并了几个\n for (let i = 0; i < data.length; i++) {\n if (data[i].rejectedType !== preRejectedType) {\n mergeIndex.push(i)\n if (preRejectedType) {\n mergeLengthIndex.push(isMergeNum)\n }\n preRejectedType = data[i].rejectedType\n isMergeNum = 0\n } else {\n isMergeNum++\n }\n }\n mergeLengthIndex.push(isMergeNum)\n mergeIndexProxy.value = mergeIndex;\n mergeLengthIndexProxy.value = mergeLengthIndex;\n });\n };\n\n const init = (buArray: Array, brandArrayData: Array) => {\n buList.value = buArray;\n brandArray.value = brandArrayData;\n searchData.bu = (buArray[0] as any).id;\n for (let i = 0; i < buArray.length; i++) {\n if ((buArray[i] as any).nameEn === 'MB') {\n searchData.bu = (buArray[i] as any).id;\n }\n }\n for (let i = 0; i < brandArray.value.length; i++) {\n if (searchData.bu === brandArray.value[i].buId) {\n brandList.value = JSON.parse(JSON.stringify(brandArray.value[i].brandList));\n }\n }\n if (brandList.value.length) {\n searchData.brand = brandList.value[0].brandNameEn;\n }\n searchData.year = moment().format('YYYY');\n searchData.quarter = moment().subtract(1,'quarter').quarter() + '';\n myChart1.value = echarts.init(document.getElementById('failed-chart1') as HTMLElement);\n\n queryData();\n };\n\n const getBrand = () => {\n searchData.brand = '';\n for (let i = 0; i < brandArray.value.length; i++) {\n if (searchData.bu === brandArray.value[i].buId) {\n brandList.value = JSON.parse(JSON.stringify(brandArray.value[i].brandList));\n }\n }\n };\n //period初始化\n const openProgramPeriodYear = ref(false);\n const handlerOpenProgramPeriodChange = (status: any): void => {\n openProgramPeriodYear.value = status;\n };\n const handlerPanelProgramPeriodChange = (value: string): void => {\n const time = moment(value).format('YYYY');\n searchData.year = time as string;\n openProgramPeriodYear.value = false;\n };\n\n const router = useRouter();\n const gotoDetail = () => {\n router.push({\n path: '/salesreporting/failedReasonAnalysis',\n query: {\n bu: searchData.bu,\n year: searchData.year,\n quarter: searchData.quarter\n }\n });\n };\n\n return {\n openProgramPeriodYear,\n handlerOpenProgramPeriodChange,\n handlerPanelProgramPeriodChange,\n ...toRefs(searchData),\n init,\n brandList,\n yearArray,\n buList,\n getBrand,\n queryData,\n columns,\n dataSource,\n closedType,\n gotoDetail\n };\n }\n});\n","import { render } from \"./index.vue?vue&type=template&id=d4624260&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=d4624260&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d4624260\"]])\n\nexport default __exports__","\nimport { getUser } from '@/API/claim/delaerClaim/delaer';\nimport { defineComponent, ref, onMounted, nextTick } from 'vue';\nimport Retail from './RetailValdationOverview/index2.vue';\nimport Sales from './SalesIncentiveOverview/index.vue';\nimport ClaimChecking from './ClaimCheckingOverview/index.vue';\nimport PayoutDealer from './PayoutDealer/index.vue';\nimport IncentiveClaim from './IncentiveClaim/index2.vue';\nimport FailedReason from './FailedReason/index.vue';\nimport { findBrandByBu } from '@/API/salesReporting';\nexport default defineComponent({\n components: {\n Retail,\n Sales,\n ClaimChecking,\n PayoutDealer,\n IncentiveClaim,\n FailedReason,\n },\n setup() {\n //\n\n const dom1 = ref(null);\n const dom2 = ref(null);\n const dom3 = ref(null);\n const dom4 = ref(null);\n const dom5 = ref(null);\n const dom6 = ref(null);\n const buArray = ref([]);\n const buIDArray = ref([]);\n const brandArray = ref([]);\n const getBU = async () => {\n return getUser();\n };\n const getBrand = async () => {\n return findBrandByBu({ buIds: buIDArray.value });\n };\n\n const init = async () => {\n //\n const buList = await getBU();\n buList.buList.filter((item: any) => {\n if (item.parentId === null) {\n buIDArray.value.push(item.id);\n buArray.value.push(item);\n }\n });\n const brandList = await getBrand();\n // const map = new Map();\n // for (let i=0;i {\n dom1.value.init(buArray.value, brandList);\n dom2.value.init(buArray.value, brandList);\n dom3.value.init(buArray.value, brandList);\n dom4.value.init(buArray.value, brandList);\n dom5.value.init(buArray.value, brandList);\n dom6.value.init(buArray.value, brandList);\n });\n };\n\n onMounted(() => {\n init();\n });\n return {\n buIDArray,\n brandArray,\n dom1,\n dom2,\n dom3,\n dom4,\n dom5,\n dom6,\n };\n },\n});\n","import { render } from \"./index.vue?vue&type=template&id=1f25db16&scoped=true&ts=true\"\nimport script from \"./index.vue?vue&type=script&lang=ts\"\nexport * from \"./index.vue?vue&type=script&lang=ts\"\n\nimport \"./index.vue?vue&type=style&index=0&id=1f25db16&lang=scss&scoped=true\"\n\nimport exportComponent from \"/app/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1f25db16\"]])\n\nexport default __exports__","import { fetchGet, fetchPost } from './index';\n\n//#region 8737 10-Prepayment Qualified\nexport const unQualifiedDealerReportList = (params = {}): Promise => {\n return fetchPost('/ptapi/dealer/report/unQualifiedDealerReportList', params);\n};\nexport const qualifiedDealerReportList = (params = {}): Promise => {\n return fetchPost('/ptapi/dealer/report/QualifiedDealerReportList', params);\n};\n//#endregion\n\n//#region 8727 2-RV Submission\nexport const querySubmission = (params = {}): Promise => {\n return fetchGet('/rvapi/report/query/submission', { params });\n};\n//#endregion\n\n//SaleOverview\nexport const getPrepaymentUnQualifiedDealer = (params = {}): Promise => {\n return fetchGet('/ptapi/dealer/report/PrepaymentUnQualifiedDealer', {\n params\n });\n};\nexport const getPrepaymentQualifiedDealer = (params = {}): Promise => {\n return fetchGet('/ptapi/dealer/report/PrepaymentQualifiedDealer', {\n params\n });\n};\nexport const getIncentive = (params = {}): Promise => {\n return fetchPost('/rpapi/sales/panel/overview/of/incentive', params);\n};\nexport const getIncentiveAll = (params = {}): Promise => {\n return fetchPost('/rpapi/sales/panel/overview/of/incentive/all', params);\n};\n//获取车辆Brand\n\nexport const findBrandByBu = (params = {}): Promise => {\n return fetchGet('/vapi/noAuth/findBrandByBu', { params });\n};\n\nexport const getRVOverview = (): Promise => {\n return fetchGet('/rvapi/report/query/overview');\n};\nexport const getQuarter = (params = {}): Promise => {\n return fetchGet('/rvapi/report/query/quarter', { params });\n};\nexport const getRVTable = (params = {}, url: string): Promise => {\n return fetchGet('/rvapi' + url, { params });\n};\nexport const getTDTA = (params = { year: '', quarter: 0, dealerCode: '', bu: '' }): Promise => {\n return fetchPost(\n `/claimapi/systemCalculation/tdta/getTdtaReportData?year=${params.year}&quarter=${params.quarter}&dealerCode=${params.dealerCode}&bu=${params.bu}`\n );\n};\n\n//#SaleOverview\n\n//#failedReasonAnalysisDealer\nexport const getFailedReasonAnalysis = (params = {}): Promise => {\n return fetchPost('/claimapi/failedReasonAnalysis/search', params);\n};\n//#failedReasonAnalysisDealer\n\n//#payoutForm\nexport const getPayoutRoundList = (data = {}, year: string): Promise => {\n return fetchPost(\n // '/ptapi/payoutForm/report/payoutRoundList?year=' + year,\n '/rpapi/payoutForm/report/payoutRoundList?year=' + year,\n data\n );\n};\nexport const getBrandByBuID = (params = {}): Promise => {\n return fetchGet('/vapi/noAuth/findBrandByBu', { params });\n};\nexport const getPayoutFormByModelList = (params = {}): Promise => {\n return fetchPost('/rpapi/payoutForm/report/payoutFormByModelList', params);\n // return fetchPost('/ptapi/payoutForm/report/payoutFormByModelList', params);\n};\n\n//payoutForm\n\n//#通用接口,获取region和subregion\nexport const getRetrieveRegionList = (id: string): Promise => {\n return fetchPost('/claimapi/common/retrieveRegionList?buId=' + id);\n};\nexport const getRetrieveSubRegionList = (id: string): Promise => {\n return fetchPost('/claimapi/common/retrieveSubRegionList?buId=' + id);\n};\n\n// 14443 checking-estimation-controller\nexport const checkingEstimation = (params = {}): Promise => {\n // return fetchPost('/ptapi/checking/estimation/list', params);\n return fetchPost('/rpapi/checking/estimation/list', params);\n};\n\n// RV 柱状图数据获取\nexport const queryHistogram = (params = {}): Promise => {\n return fetchGet('/rvapi/report/query/histogram', { params });\n};\n\n// 报表2-5 Checker Management\nexport const getCheckerManagement = (params = {}): Promise => {\n return fetchPost('/claimapi/checker/management/page', params);\n};\n\n//报表2-2 获取表格数据\nexport const getPenetrationTable = (params = {}): Promise => {\n return fetchPost('/rpapi/penetration/report/page', params);\n};\n\n//根据dealerGroup id获取 dealer数组信息\nexport const getDealerByGroupId = (id: string): Promise => {\n return fetchGet(`/dapi/noAuth/dealer/byDealerGroup/{dealerGroupId}?dealerGroupId=${id}`);\n};\n\n//根据bu获取dealercode信息\n//! sicco sipo只能通过 bu来找到相关的 dealer的信息\nexport const getDealerByBUID = (params = {}): Promise => {\n return fetchGet(`/dapi/noAuth/dealer/dealerData`, { params });\n};\n\nexport const getTDTA2 = (params = {}): Promise => {\n // return fetchPost(\n // `/claimapi/systemCalculation/tdta/getTdtaReportData?year=${(params as any).year}&quarter=${(params as any).quarter}&dealerCode=${(params as any).dealerCode}&bu=${(params as any).bu}`\n // );\n return fetchPost(`/claimapi/systemCalculation/tdta/getTdtaReportData`, params);\n};\n\n// 1-10\nexport const getAllDealerInfos = (): Promise => {\n return fetchGet(`/ptapi/dealer/report/allDealerInfos`);\n};\n\n// 2-1\nexport const getSalesIncentiveOverview = (params: {}): Promise => {\n return fetchGet(`/claimapi/sales/panel/sales/incentive/overview`, {\n params\n });\n};\n\n//* 2-9 报表接口\nexport const getCheckingOverviewList = (params = {}): Promise => {\n return fetchPost(`/rpapi/paymentTrackingFC/trackingOverview/list`, params);\n};\n\nexport const getCheckingOverviewReleaseList = (params = {}): Promise => {\n return fetchPost(`/rpapi/paymentTrackingFC/trackingOverview/release/list`, params);\n};\n\nexport const getCheckingOverviewReleaseSave = (params = {}): Promise => {\n return fetchPost(`/rpapi/paymentTrackingFC/trackingOverview/release/save`, params);\n};\n\nexport const getProgramTrackingDetailList = (params = {}): Promise => {\n return fetchPost(`/rpapi/paymentTrackingFC/programTrackingDetail/list`, params);\n};\n\nexport const getProgramTrackingDetailSave = (params = {}): Promise => {\n return fetchPost(`/rpapi/paymentTrackingFC/programTrackingDetail/save`, params);\n};\n\n//报表2-2 查询下拉选项PDI\nexport const getSSSC = (params = {}): Promise => {\n return fetchGet(`/pgapi/program/data/program/search_sssc_list`, { params });\n};\n//报表2-2 查询下拉选项SSSC\nexport const getPDI = (params = {}): Promise => {\n return fetchGet(`/pgapi/program/data/program/search_pdi_list`, { params });\n};\n\n//报表2-2 查询下拉选项Option Package\nexport const getOptionPackage = (params = {}): Promise => {\n return fetchPost(`/rpapi/penetration/report/option/package/drop`, params);\n};\n//查询下拉选项 所有一级BU\nexport const getAllParentBu = (): Promise => {\n return fetchGet('/usapi/noAuth/bu/parentBu');\n};\n\n// 26334 penetration\nexport const getPenetrationDealerBasedData = (params = {}): Promise => {\n return fetchPost(`/rpapi/penetration/report/dealer/list`, params);\n};\n\n// 26336\nexport const getPenetrationProgramBasedData = (params = {}): Promise => {\n return fetchPost(`/rpapi/penetration/report/program/list`, params);\n};\n","import { fetchPost, fetchGet, fetchPostPic } from \"../index\";\nimport axios from \"axios\";\nimport { TypeClassItem } from \"@/views/Approve/SalesRoleApprove/ProgramHome/types\";\n\n// 查询table数据接口\nexport const getQueryList = (params = {}): Promise => {\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/claimApplicationList\",\n params\n );\n};\n// 获取ModelYear列表数据\nexport const getModelYear = (): Promise => {\n return fetchGet(\"/vapi/noAuth/get_property_lov?property=modelYear\");\n};\n/*// 获取checking round列表数据\nexport const getCheckingRoundList = (): Promise => {\n return fetchGet('/claimapi/checking/plan/checking/round/dropList');\n};*/\n// 获取bu下拉框数据\nexport const getBuList = (): Promise => {\n // return fetchGet('/claimapi/doc/dic/getBuList')\n return fetchGet(\"/mdapi/bu\");\n};\n//获取所有一级BU\nexport const getAllParentBu = (): Promise => {\n return fetchGet(\"/usapi/noAuth/bu/parentBu\");\n};\n//获取正确一级Bu\nexport const getCurretParentBu = () : Promise => {\n return fetchGet(\"/usapi/noAuth/bu/currentParentBu\")\n}\n//生成region列表\nexport const getRegionLst = (params = { bu: \"\" }): Promise => {\n return fetchPost(`/claimapi/common/regionQuery?bu=${params.bu}`, params);\n};\n//生成region,subregion列表\nexport const getRegion = (params: any): Promise => {\n return fetchPost(\n `/claimapi/common/regionRelationQuery?buId=${\n params.buId ? params.buId : \"\"\n }®ionId=${params.regionId ? params.regionId : \"\"}`,\n params\n );\n};\nexport const getRegionList = (\n buIdList: number[],\n regionId?: number\n): Promise => {\n return fetchPost(\n \"/claimapi/common/getRegionRelationByBuIdListAndRegionId\",\n {},\n {\n params: {\n buIdList,\n regionId,\n },\n }\n );\n};\nexport const getRegionDealerGroup = (params: any): Promise => {\n return fetchPost(`/rvapi/basic/webApi/report/regions`, params);\n};\n//通过bu获取subregion列表\nexport const getBuSubregion = (params: any): Promise => {\n return fetchPost(\n `/claimapi/common/retrieveSubRegionList?buId=${\n params.buId ? params.buId : \"\"\n }`,\n params\n );\n};\n// 查询Dealer table数据接口\nexport const getDealerList = (params: any): Promise => {\n return fetchPost(\n `/claimapi/dealer/communication/analysis/claim/checking/report/dealer/based/page`,\n params\n );\n};\n// 查询Program table数据接口\nexport const getProgramList = (params: any): Promise => {\n return fetchPost(\n `/claimapi/dealer/communication/analysis/claim/checking/report/program/based/page`,\n params\n );\n};\nexport const getComDealerList = (params: any): Promise => {\n return fetchPost(\n // `/claimapi/dealer/communication/analysis/dealer/based/page`,\n `/rpapi/dealer/communication/analysis/dealer/based/page`,\n params\n );\n};\n// 查询Program table数据接口\nexport const getComProgramList = (params: any): Promise => {\n return fetchPost(\n // `/claimapi/dealer/communication/analysis/program/based/page`,\n `/rpapi/dealer/communication/analysis/program/based/page`,\n params\n );\n};\nexport const getDemoDealerList = (params: any): Promise => {\n return fetchPost(`/rpapi/demo/car/report/dealer/based/page`, params);\n};\n// 查询Program table数据接口\nexport const getDemoProgramList = (params: any): Promise => {\n return fetchPost(`/rpapi/demo/car/report/program/based/page`, params);\n};\nexport const getCesarAnalyst = (params: any): Promise => {\n return fetchGet(\"/rvapi/report/cesar/query/avgAnaly\", { params });\n};\nexport const getCesarBased = (params: any): Promise => {\n return fetchGet(\"/rvapi/report/cesar/query/weekBase\", { params });\n};\n// 查询payout breakdown\nexport const getPayoutBreakdown = (params: any): Promise => {\n return fetchPost(\"/claimapi/payoutBreakdown/search\", params);\n};\nexport const getPayoutBreakdown2 = (params: any): Promise => {\n return fetchPost(\n \"/claimapi/payoutBreakdown/searchClaimCheckingOverview\",\n params\n );\n};\n//根据bu,查checkinground, 11661\nexport const getCheckingRoundList = (params: any): Promise => {\n return fetchGet(\"/claimapi/checking/program/checkingRoundList\", { params });\n};\n//获取TypeClass\nexport const getTypeClass = (): Promise => {\n return fetchGet(\"/vapi/noAuth/get_property_lov?property=typeClass\");\n};\n//获取DealerGroup\nexport const getDealerGroup = (): Promise => {\n return fetchGet(\"/dapi/noAuth/dealer/dealerGroupList\");\n};\n\n// 获取Checking PL&AC列表Checking Round View维度 size=-1获取所有 正常写获取分页\nexport const planActualRoundPage = (params: any): Promise => {\n return fetchPost(\n \"/claimapi/checking/plan/actual/checking/round/page\",\n params\n );\n};\n\n// 导出数据tabName=\nexport const planActualExport = (params: any): Promise => {\n return fetchPost(\n \"/claimapi/checking/plan/actual/claim/checking/report/export\",\n params\n );\n};\n\n// 获取Checking PL&AC列表Checking Round by Program Cagegory\nexport const planActualCategory = (params: any): Promise => {\n return fetchPost(\n \"/claimapi/checking/plan/actual/program/cagegory/page\",\n params\n );\n};\n\n// 1-6 Payment Tracking Report查询表格\nexport const getPaymentTrackingReportTable = (params = {}): Promise => {\n return fetchPost(\n // '/ptapi/paymentTracking/report/paymentTrackingList',\n \"/rpapi/paymentTracking/report/paymentTrackingList\",\n params\n );\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=cd71553a&lang=scss&scoped=true\"","import { fetchGet, fetchDelete, fetchPost, fetchPostPic } from \"../../index\";\nimport downloadFile from \"@/utils/claim/downloadFile\";\nimport axios from \"axios\";\n// 查询2275上方tabs页数据\n// export const apitest = (): Promise => {\n// \treturn fetchGet('claimapi/parameter/setup/getParameterPeriod?progDesignId=1')\n// }\n\n//过去激励类型和项目类型\nexport const getOfferType = (): Promise => {\n return fetchGet(\"/claimapi/common/getIncentiveOfferType\");\n};\n//获取项目状态\nexport const getStatus = (): Promise => {\n return fetchGet(\"/claimapi/common/programStatus\");\n};\n\n//获取概览总数\nexport const getSubmissionOverview = (\n params = { dealerCode: \"1\" }\n): Promise => {\n return fetchGet(\"/claimapi/dealer/submissionOverview\", { params });\n};\n\n//获取tabs的数据\nexport const getTabsData = (params = {}): Promise => {\n return fetchGet(\"/claimapi/parameter/setup/getParameterPeriod\", { params });\n};\n\n//获取delaer的列表数据\nexport const getVINTableData = (params = {}): Promise => {\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/salesIncentiveClaimList\",\n params\n );\n};\n\n//获取programe的列表数据\n\nexport const avaliablePrograms = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/avaliablePrograms\", { params });\n};\n\n//导出项目明细\n\nexport const exportAvaliablePrograms = (params = {}): Promise => {\n return fetchPost(\"/claimapi/dealer/exportAvaliablePrograms\", params);\n};\n\n//获取扩展信息类型\nexport const extendEdit = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/extend/edit\", { params });\n};\n\n//查看已经填写的扩展信息\nexport const getExtendInfo = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/extend/view\", { params });\n};\n\n//保存单个扩展信息\nexport const saveInfoExtend = (params = {}): Promise => {\n return fetchPostPic(\"/claimapi/dealer/extend/save\", params);\n};\n\n//下载扩展信息文档\nexport const templateDownload = (params = {}): Promise => {\n return fetchPost(\"/claimapi/dealer/extend/templateDownload\", params);\n};\n\n//查询上传文档的查询接口,返回到底有什么需要上传的文档\nexport const supportReview = (params = {}): Promise => {\n return fetchGet(\"/claimapi/salesIncentiveClaim/review\", { params });\n};\n\n//上传单个支持文档\nexport const supportSaveOrUpdateSingle = (params = {}): Promise => {\n return fetchPost(\"/claimapi/salesIncentiveClaim/saveOrUpdate\", params);\n};\n\n//批量上传支持文档\n// export const supportSaveOrUpdateList = (params = {}): Promise => {\n// return fetchPost('/claimapi/salesIncentiveClaim/uploadBatch', params)\n// }\n//批量上传支持文档\nexport const supportSaveOrUpdateList = (\n invoiceConfig = {},\n params = {}\n): Promise => {\n return fetchPostPic(\n \"/claimapi/salesIncentiveClaim/uploadBatch\",\n params,\n invoiceConfig\n );\n};\n\n//提交零售记录\nexport const saveDealerClaimApp = (data = {}): Promise => {\n console.log(data);\n return fetchPost(\"/claimapi/salesIncentiveClaim/saveDealerClaimApp\", data);\n};\n\n//延期保存\nexport const saveDelayDealerClaimApp = (data = {}): Promise => {\n console.log(data);\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/saveDealerDelayClaimApp\",\n data\n );\n};\n\n//查询支持文档样例\nexport const docSample = (params = {}): Promise => {\n return fetchGet(\"/claimapi/salesIncentiveClaim/docSample\", { params });\n};\n//删除文档\nexport const deleteDocSample = (docId: string): Promise => {\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/deleteFile\",\n {},\n { params: { docId } }\n );\n};\n\n//查询支持文档样例2278\nexport const docSampleDealer = (params = {}): Promise => {\n return fetchGet(\"/claimapi/claimDocCollection/docSample\", { params });\n};\n\n//显示支持文档样例\nexport const docSampleReview = (params = {}): Promise => {\n return fetchGet(\"/claimapi/salesIncentiveClaim/docSampleReview\", {\n params,\n });\n};\n\n//显示已经上传的图片 2278\nexport const docReview = (params = {}): Promise => {\n return fetchGet(\"/claimapi/claimDocCollection/review\", { params });\n};\n//显示单个上传图片 2276实际是4954再用\nexport const claimReview = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealerClaimSupportingDoc/review\", { params });\n};\n\n//2275的下一步校验\n\nexport const validateReplaceAttributes = (data = {}): Promise => {\n return fetchPost(\n \"/claimapi/salesIncentiveClaim/validateReplaceAttributes\",\n data\n );\n};\n\n// 2278的接口\n\n//获取表格列信息\nexport const extendTitleList = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/extendTitleList\", { params });\n};\n\n//获取表格数据\nexport const getTablelist = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/list\", { params });\n};\n\n//获取新增的 ,扩展字段类型,弹出抽屉\nexport const getDocView = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/view\", { params });\n};\n\n//获取已填写的 ,扩展字段类型,弹出抽屉\nexport const getDocEdit = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/edit\", { params });\n};\n\n//保存抽屉信息\nexport const dealerSave = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPostPic(\"/claimapi/dealer/doc/save\", params);\n};\n\n//删除单个图片\nexport const deleteFile = (params = { docId: \"\" }): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchPost(\n \"/claimapi/claimDocCollection/deleteFile?docId=\" + params.docId\n );\n};\n\n//删除一条记录\nexport const deleteTableItem = (params = {}): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return fetchDelete(\"/claimapi/dealer/doc/delete\", { params });\n};\n\n//获取批量上传窗口信息\nexport const uploadBatchInfo = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/doc/uploadBatchInfo\", { params });\n};\n\n//下载扩展信息文档\nexport const downloadExtendInfoApi = (params: any): void => {\n downloadFile(params, \"application/vnd-excel; char-set=UTF-8\").then((res) => {\n console.log(res);\n });\n};\n\n//下载证明文件5027\n// export const downloadProve = (params: any): void => {\n// downloadFile(params, \"application/json; char-set=UTF-8\").then(\n// (res) => {\n// console.log(res);\n// }\n// );\n// }\n\nexport const downloadProve = (params = {}): Promise => {\n return fetchGet(`/claimapi/salesIncentiveClaim/downloadFile`, { params });\n};\n\n//批量上传扩展信息2275\nexport const uploadExtendInfoApi = (\n formData: FormData,\n params: any\n): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: \"post\",\n data: formData,\n url: \"/claimapi/dealer/extend/uploadExtendInfo\",\n params: params,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\n//上传文件证明 2277\nexport const uploadProve = (formData: FormData, params: any): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: \"post\",\n data: formData,\n url: \"/claimapi/salesIncentiveClaim/region/upload\",\n params: params,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\n//获取区域证明文件\nexport const getProveApi = (params = {}): Promise => {\n return fetchGet(\"/claimapi/salesIncentiveClaim/region/fileName\", {\n params,\n });\n};\n\n//在2797跳转时,先给后端存储数据\nexport const saveClaimDealerProgramInfo = (data = {}): Promise => {\n return fetchPost(\n \"/claimapi/ClaimDealerProgramInfoController/saveClaimDealerProgramInfo\",\n data\n );\n};\n\n//获取user,获取DealerID\nexport const getUser = (params = {}): Promise => {\n return fetchGet(\"/usapi/users/currentuser\");\n};\n\n//获取所有一级BU\nexport const getAllParentBu = (): Promise => {\n return fetchGet(\"/usapi/noAuth/bu/parentBu\");\n};\n\n//获取Dealer相关信息\nexport const getDealerMessageApi = (dealerID: string): Promise => {\n return fetchGet(\"/dapi/dealerInfo/\" + dealerID);\n};\n//根据dealerCode和programBU获取区域经理\nexport const getManagerApi = (params = {}): Promise => {\n return fetchGet(\"/claimapi/common/regionManagerEnquiry\", { params });\n};\n\n//5027获取延期申报列表\nexport const getAvaliableDelayProgramsApi = (params = {}): Promise => {\n return fetchGet(\"/claimapi/dealer/avaliableDelayPrograms\", { params });\n};\n\n//申报完成后,给后端保存\nexport const setClaimDocumentMatching = (data = {}): Promise => {\n return fetchPost(\"/claimapi/salesIncentiveClaim/claimDocumentMatching\", data);\n};\n\n//2273新增 匹配客户关系,异步\nexport const matchingCustomerTypeApi = (params: any): Promise => {\n return fetchPost(\"/claimapi/dealer/matchingCustomerType\", params);\n};\n\n//2278新增 中途上传文件后重新匹配文档\nexport const rematch = (params: any): Promise => {\n return fetchPost(\"/claimapi/dealer/doc/rematch\", params);\n};\n\nexport const getTime = (): Promise => {\n return fetchGet(\"/claimapi/common/getTime\");\n};\n\n//单个文件OCR验证\nexport const OCROne = (\n formData: FormData,\n params: any,\n url: string\n): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: \"post\",\n data: formData,\n url: \"/claimapi\" + url,\n params: params,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\n//多个文件OCR验证\nexport const OCRS = (\n formData: FormData,\n param: any,\n url: string\n): Promise => {\n // return fetchGet('/claimapi/dealer/doc/save', {params})\n return new Promise((resolve, reject) => {\n axios({\n method: \"post\",\n data: formData,\n url: \"/claimapi\" + url,\n params: param,\n })\n .then((res) => {\n resolve(res.data);\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=9fa78ffe&lang=scss&scoped=true\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index.vue?vue&type=style&index=0&id=d4624260&lang=scss&scoped=true\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index2.vue?vue&type=style&index=0&id=3a5125a5&lang=scss&scoped=true\"","/*\n * @Author: zhengda.lv\n * @Date: 2021-10-30 10:15:26\n * @LastEditTime: 2021-12-17 16:13:15\n * @LastEditors: zhengda.lv\n * @Description:\n */\nimport axios from 'axios';\nimport { AxiosRequestConfig } from '@/API/types';\nexport default (options: AxiosRequestConfig, type: string) => {\n const { url, method = 'get', params, fileName } = options;\n const config: any = {\n url: url,\n method,\n responseType: 'blob',\n };\n if (method === 'get') {\n config['params'] = params;\n } else {\n config['data'] = params;\n }\n return new Promise((resolve, reject) => {\n axios(config)\n .then((res: any) => {\n // 文件格式\n const blob = new Blob([res.data], { type: type }); //指定格式为vnd.ms-excel\n const downloadElement = document.createElement('a');\n const href = window.URL.createObjectURL(blob); //创建下载的链接\n downloadElement.href = href;\n const str = res.headers['content-disposition'];\n const index = str.lastIndexOf('=');\n if (str.substring(index + 1, str.length)) {\n downloadElement.download = decodeURIComponent(\n str.substring(index + 1, str.length)\n );\n } else if (fileName) {\n downloadElement.download = fileName;\n } else {\n downloadElement.download = Date.now().toString();\n }\n document.body.appendChild(downloadElement);\n downloadElement.click(); //点击下载\n document.body.removeChild(downloadElement); //下载完成移除元素\n window.URL.revokeObjectURL(href); //释放掉blob对象\n resolve(res);\n })\n .catch(function(error: string) {\n console.log(error);\n return reject(error);\n });\n });\n};\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./index2.vue?vue&type=style&index=0&id=ee3c1364&lang=scss&scoped=true\""],"sourceRoot":""}